From 5607794dbb3a727a1ab62cc65421e63fa17767db Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 22 Jul 2023 20:12:16 -0400 Subject: [PATCH 001/106] add support for controlnet & sdxl conversion - not fully working --- .../backend/install/invokeai_configure.py | 8 + .../backend/install/model_install_backend.py | 25 +- .../convert_ckpt_to_diffusers.py | 1818 +++++++++++------ .../backend/model_management/model_manager.py | 3 +- .../backend/model_management/model_probe.py | 3 +- .../model_management/models/controlnet.py | 62 +- .../backend/model_management/models/sdxl.py | 11 +- .../models/stable_diffusion.py | 80 +- .../configs/stable-diffusion/sd_xl_base.yaml | 98 + .../stable-diffusion/sd_xl_refiner.yaml | 91 + 10 files changed, 1519 insertions(+), 680 deletions(-) create mode 100644 invokeai/configs/stable-diffusion/sd_xl_base.yaml create mode 100644 invokeai/configs/stable-diffusion/sd_xl_refiner.yaml diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 1f0e39961b..90df00dd28 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -55,6 +55,7 @@ from invokeai.frontend.install.widgets import ( from invokeai.backend.install.legacy_arg_parsing import legacy_parser from invokeai.backend.install.model_install_backend import ( hf_download_from_pretrained, + hf_download_with_resume, InstallSelections, ModelInstall, ) @@ -204,6 +205,13 @@ def download_conversion_models(): pipeline = CLIPTextModel.from_pretrained(repo_id, subfolder="text_encoder", **kwargs) pipeline.save_pretrained(target_dir / 'stable-diffusion-2-clip' / 'text_encoder', safe_serialization=True) + repo_id = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k" + _, model_name = repo_id.split('/') + tokenizer_2 = CLIPTokenizer.from_pretrained(repo_id, **kwargs) + tokenizer_2.save_pretrained(target_dir / model_name, safe_serialization=True) + # for some reason config.json never downloads + hf_download_with_resume(repo_id, target_dir / model_name, "config.json") + # VAE logger.info('Downloading stable diffusion VAE') vae = AutoencoderKL.from_pretrained('stabilityai/sd-vae-ft-mse', **kwargs) diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index 0537d6069a..1731c2134a 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -58,7 +58,15 @@ LEGACY_CONFIGS = { SchedulerPredictionType.Epsilon: 'v2-inpainting-inference.yaml', SchedulerPredictionType.VPrediction: 'v2-inpainting-inference-v.yaml', } - } + }, + + BaseModelType.StableDiffusionXL: { + ModelVariantType.Normal: 'sd_xl_base.yaml', + }, + + BaseModelType.StableDiffusionXLRefiner: { + ModelVariantType.Normal: 'sd_xl_refiner.yaml', + }, } @dataclass @@ -329,6 +337,7 @@ class ModelInstall(object): description = str(description), model_format = info.format, ) + legacy_conf = None if info.model_type == ModelType.Main: attributes.update(dict(variant = info.variant_type,)) if info.format=="checkpoint": @@ -343,11 +352,17 @@ class ModelInstall(object): except KeyError: legacy_conf = Path(self.config.legacy_conf_dir, 'v1-inference.yaml') # best guess - attributes.update( - dict( - config = str(legacy_conf) - ) + if info.model_type == ModelType.ControlNet and info.format=="checkpoint": + possible_conf = path.with_suffix('.yaml') + if possible_conf.exists(): + legacy_conf = str(self.relative_to_root(possible_conf)) + + if legacy_conf: + attributes.update( + dict( + config = str(legacy_conf) ) + ) return attributes def relative_to_root(self, path: Path)->Path: diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index d9d4262e47..3d071437ae 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright 2022 The HuggingFace Inc. team. +# Copyright 2023 The HuggingFace Inc. team. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,23 +13,60 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Adapted for use as a module by Lincoln Stein -# Original file at: https://github.com/huggingface/diffusers/blob/main/scripts/convert_ldm_original_checkpoint_to_diffusers.py -""" Conversion script for the LDM checkpoints. """ +# Adapted for use in InvokeAI by Lincoln Stein, July 2023 +# +""" Conversion script for the Stable Diffusion checkpoints.""" import re -import warnings +from contextlib import nullcontext +from io import BytesIO +from typing import Optional, Union from pathlib import Path -from typing import Union -from packaging import version +import requests import torch -from safetensors.torch import load_file +from transformers import ( + AutoFeatureExtractor, + BertTokenizerFast, + CLIPImageProcessor, + CLIPTextConfig, + CLIPTextModel, + CLIPTextModelWithProjection, + CLIPTokenizer, + CLIPVisionConfig, + CLIPVisionModelWithProjection, +) -import invokeai.backend.util.logging as logger -from invokeai.app.services.config import InvokeAIAppConfig +from diffusers.models import ( + AutoencoderKL, + ControlNetModel, + PriorTransformer, + UNet2DConditionModel, +) +from diffusers.schedulers import ( + DDIMScheduler, + DDPMScheduler, + DPMSolverMultistepScheduler, + EulerAncestralDiscreteScheduler, + EulerDiscreteScheduler, + HeunDiscreteScheduler, + LMSDiscreteScheduler, + PNDMScheduler, + UnCLIPScheduler, +) +from diffusers.utils import is_accelerate_available, is_omegaconf_available, is_safetensors_available +from diffusers.utils.import_utils import BACKENDS_MAPPING +from diffusers.pipelines.latent_diffusion.pipeline_latent_diffusion import ( + LDMBertConfig, LDMBertModel +) +from diffusers.pipelines.paint_by_example import PaintByExampleImageEncoder +from diffusers.pipelines.pipeline_utils import DiffusionPipeline +from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker +from diffusers.pipelines.stable_diffusion.stable_unclip_image_normalizer import StableUnCLIPImageNormalizer + +from invokeai.backend.util.logging import InvokeAILogger +from invokeai.app.services.config import InvokeAIAppConfig, MODEL_CORE -from .model_manager import ModelManager from picklescan.scanner import scan_file_path from .models import BaseModelType, ModelVariantType @@ -41,43 +78,12 @@ except ImportError: "OmegaConf is required to convert the LDM checkpoints. Please install it with `pip install OmegaConf`." ) -from diffusers import ( - AutoencoderKL, - DDIMScheduler, - DPMSolverMultistepScheduler, - EulerAncestralDiscreteScheduler, - EulerDiscreteScheduler, - HeunDiscreteScheduler, - LDMTextToImagePipeline, - LMSDiscreteScheduler, - PNDMScheduler, - UniPCMultistepScheduler, - StableDiffusionPipeline, - UNet2DConditionModel, -) -from diffusers import logging as dlogging -from diffusers.pipelines.latent_diffusion.pipeline_latent_diffusion import ( - LDMBertConfig, - LDMBertModel, -) -from diffusers.pipelines.stable_diffusion.safety_checker import ( - StableDiffusionSafetyChecker, -) -from diffusers.utils import is_safetensors_available -import transformers -from transformers import ( - AutoFeatureExtractor, - BertTokenizerFast, - CLIPTextModel, - CLIPTokenizer, - CLIPVisionConfig, -) +if is_accelerate_available(): + from accelerate import init_empty_weights + from accelerate.utils import set_module_tensor_to_device -from ..stable_diffusion import StableDiffusionGeneratorPipeline - -# TODO: redo in future -#CONVERT_MODEL_ROOT = InvokeAIAppConfig.get_config().models_path / "core" / "convert" -CONVERT_MODEL_ROOT = InvokeAIAppConfig.get_config().root_path / "models" / "core" / "convert" +logger = InvokeAILogger.getLogger(__name__) +CONVERT_MODEL_ROOT = InvokeAIAppConfig.get_config().root_path / MODEL_CORE / "convert" def shave_segments(path, n_shave_prefix_segments=1): """ @@ -104,9 +110,7 @@ def renew_resnet_paths(old_list, n_shave_prefix_segments=0): new_item = new_item.replace("emb_layers.1", "time_emb_proj") new_item = new_item.replace("skip_connection", "conv_shortcut") - new_item = shave_segments( - new_item, n_shave_prefix_segments=n_shave_prefix_segments - ) + new_item = shave_segments(new_item, n_shave_prefix_segments=n_shave_prefix_segments) mapping.append({"old": old_item, "new": new_item}) @@ -122,9 +126,7 @@ def renew_vae_resnet_paths(old_list, n_shave_prefix_segments=0): new_item = old_item new_item = new_item.replace("nin_shortcut", "conv_shortcut") - new_item = shave_segments( - new_item, n_shave_prefix_segments=n_shave_prefix_segments - ) + new_item = shave_segments(new_item, n_shave_prefix_segments=n_shave_prefix_segments) mapping.append({"old": old_item, "new": new_item}) @@ -175,9 +177,7 @@ def renew_vae_attention_paths(old_list, n_shave_prefix_segments=0): new_item = new_item.replace("proj_out.weight", "to_out.0.weight") new_item = new_item.replace("proj_out.bias", "to_out.0.bias") - new_item = shave_segments( - new_item, n_shave_prefix_segments=n_shave_prefix_segments - ) + new_item = shave_segments(new_item, n_shave_prefix_segments=n_shave_prefix_segments) mapping.append({"old": old_item, "new": new_item}) @@ -185,26 +185,40 @@ def renew_vae_attention_paths(old_list, n_shave_prefix_segments=0): def assign_to_checkpoint( - paths, - checkpoint, - old_checkpoint, - additional_replacements=None, - config=None, + paths, checkpoint, old_checkpoint, attention_paths_to_split=None, additional_replacements=None, config=None ): """ - This does the final conversion step: take locally converted weights and apply a global renaming - to them. It splits attention layers, and takes into account additional replacements - that may arise. + This does the final conversion step: take locally converted weights and apply a global renaming to them. It splits + attention layers, and takes into account additional replacements that may arise. Assigns the weights to the new checkpoint. """ - assert isinstance( - paths, list - ), "Paths should be a list of dicts containing 'old' and 'new' keys." + assert isinstance(paths, list), "Paths should be a list of dicts containing 'old' and 'new' keys." + + # Splits the attention layers into three variables. + if attention_paths_to_split is not None: + for path, path_map in attention_paths_to_split.items(): + old_tensor = old_checkpoint[path] + channels = old_tensor.shape[0] // 3 + + target_shape = (-1, channels) if len(old_tensor.shape) == 3 else (-1) + + num_heads = old_tensor.shape[0] // config["num_head_channels"] // 3 + + old_tensor = old_tensor.reshape((num_heads, 3 * channels // num_heads) + old_tensor.shape[1:]) + query, key, value = old_tensor.split(channels // num_heads, dim=1) + + checkpoint[path_map["query"]] = query.reshape(target_shape) + checkpoint[path_map["key"]] = key.reshape(target_shape) + checkpoint[path_map["value"]] = value.reshape(target_shape) for path in paths: new_path = path["new"] + # These have already been assigned + if attention_paths_to_split is not None and new_path in attention_paths_to_split: + continue + # Global renaming happens here new_path = new_path.replace("middle_block.0", "mid_block.resnets.0") new_path = new_path.replace("middle_block.1", "mid_block.attentions.0") @@ -215,82 +229,124 @@ def assign_to_checkpoint( new_path = new_path.replace(replacement["old"], replacement["new"]) # proj_attn.weight has to be converted from conv 1D to linear - if "proj_attn.weight" in new_path: + is_attn_weight = "proj_attn.weight" in new_path or ("attentions" in new_path and "to_" in new_path) + shape = old_checkpoint[path["old"]].shape + if is_attn_weight and len(shape) == 3: checkpoint[new_path] = old_checkpoint[path["old"]][:, :, 0] + elif is_attn_weight and len(shape) == 4: + checkpoint[new_path] = old_checkpoint[path["old"]][:, :, 0, 0] else: checkpoint[new_path] = old_checkpoint[path["old"]] def conv_attn_to_linear(checkpoint): keys = list(checkpoint.keys()) - attn_keys = ["to_q.weight", "to_k.weight", "to_v.weight"] + attn_keys = ["query.weight", "key.weight", "value.weight"] for key in keys: if ".".join(key.split(".")[-2:]) in attn_keys: if checkpoint[key].ndim > 2: checkpoint[key] = checkpoint[key][:, :, 0, 0] - elif "to_out.0.weight" in key: + elif "proj_attn.weight" in key: if checkpoint[key].ndim > 2: - checkpoint[key] = checkpoint[key][:, :, 0, 0] + checkpoint[key] = checkpoint[key][:, :, 0] -def create_unet_diffusers_config(original_config, image_size: int): +def create_unet_diffusers_config(original_config, image_size: int, controlnet=False): """ Creates a config for the diffusers based on the config of the LDM model. """ - unet_params = original_config.model.params.unet_config.params + if controlnet: + unet_params = original_config.model.params.control_stage_config.params + else: + if "unet_config" in original_config.model.params and original_config.model.params.unet_config is not None: + unet_params = original_config.model.params.unet_config.params + else: + unet_params = original_config.model.params.network_config.params + vae_params = original_config.model.params.first_stage_config.params.ddconfig - block_out_channels = [ - unet_params.model_channels * mult for mult in unet_params.channel_mult - ] + block_out_channels = [unet_params.model_channels * mult for mult in unet_params.channel_mult] down_block_types = [] resolution = 1 for i in range(len(block_out_channels)): - block_type = ( - "CrossAttnDownBlock2D" - if resolution in unet_params.attention_resolutions - else "DownBlock2D" - ) + block_type = "CrossAttnDownBlock2D" if resolution in unet_params.attention_resolutions else "DownBlock2D" down_block_types.append(block_type) if i != len(block_out_channels) - 1: resolution *= 2 up_block_types = [] for i in range(len(block_out_channels)): - block_type = ( - "CrossAttnUpBlock2D" - if resolution in unet_params.attention_resolutions - else "UpBlock2D" - ) + block_type = "CrossAttnUpBlock2D" if resolution in unet_params.attention_resolutions else "UpBlock2D" up_block_types.append(block_type) resolution //= 2 + if unet_params.transformer_depth is not None: + transformer_layers_per_block = ( + unet_params.transformer_depth + if isinstance(unet_params.transformer_depth, int) + else list(unet_params.transformer_depth) + ) + else: + transformer_layers_per_block = 1 + vae_scale_factor = 2 ** (len(vae_params.ch_mult) - 1) head_dim = unet_params.num_heads if "num_heads" in unet_params else None use_linear_projection = ( - unet_params.use_linear_in_transformer - if "use_linear_in_transformer" in unet_params - else False + unet_params.use_linear_in_transformer if "use_linear_in_transformer" in unet_params else False ) if use_linear_projection: # stable diffusion 2-base-512 and 2-768 if head_dim is None: - head_dim = [5, 10, 20, 20] + head_dim_mult = unet_params.model_channels // unet_params.num_head_channels + head_dim = [head_dim_mult * c for c in list(unet_params.channel_mult)] - config = dict( - sample_size=image_size // vae_scale_factor, - in_channels=unet_params.in_channels, - out_channels=unet_params.out_channels, - down_block_types=tuple(down_block_types), - up_block_types=tuple(up_block_types), - block_out_channels=tuple(block_out_channels), - layers_per_block=unet_params.num_res_blocks, - cross_attention_dim=unet_params.context_dim, - attention_head_dim=head_dim, - use_linear_projection=use_linear_projection, - ) + class_embed_type = None + addition_embed_type = None + addition_time_embed_dim = None + projection_class_embeddings_input_dim = None + context_dim = None + + if unet_params.context_dim is not None: + context_dim = ( + unet_params.context_dim if isinstance(unet_params.context_dim, int) else unet_params.context_dim[0] + ) + + if "num_classes" in unet_params: + if unet_params.num_classes == "sequential": + if context_dim in [2048, 1280]: + # SDXL + addition_embed_type = "text_time" + addition_time_embed_dim = 256 + else: + class_embed_type = "projection" + assert "adm_in_channels" in unet_params + projection_class_embeddings_input_dim = unet_params.adm_in_channels + else: + raise NotImplementedError(f"Unknown conditional unet num_classes config: {unet_params.num_classes}") + + config = { + "sample_size": image_size // vae_scale_factor, + "in_channels": unet_params.in_channels, + "down_block_types": tuple(down_block_types), + "block_out_channels": tuple(block_out_channels), + "layers_per_block": unet_params.num_res_blocks, + "cross_attention_dim": context_dim, + "attention_head_dim": head_dim, + "use_linear_projection": use_linear_projection, + "class_embed_type": class_embed_type, + "addition_embed_type": addition_embed_type, + "addition_time_embed_dim": addition_time_embed_dim, + "projection_class_embeddings_input_dim": projection_class_embeddings_input_dim, + "transformer_layers_per_block": transformer_layers_per_block, + } + + if controlnet: + config["conditioning_channels"] = unet_params.hint_channels + else: + config["out_channels"] = unet_params.out_channels + config["up_block_types"] = tuple(up_block_types) return config @@ -306,16 +362,16 @@ def create_vae_diffusers_config(original_config, image_size: int): down_block_types = ["DownEncoderBlock2D"] * len(block_out_channels) up_block_types = ["UpDecoderBlock2D"] * len(block_out_channels) - config = dict( - sample_size=image_size, - in_channels=vae_params.in_channels, - out_channels=vae_params.out_ch, - down_block_types=tuple(down_block_types), - up_block_types=tuple(up_block_types), - block_out_channels=tuple(block_out_channels), - latent_channels=vae_params.z_channels, - layers_per_block=vae_params.num_res_blocks, - ) + config = { + "sample_size": image_size, + "in_channels": vae_params.in_channels, + "out_channels": vae_params.out_ch, + "down_block_types": tuple(down_block_types), + "up_block_types": tuple(up_block_types), + "block_out_channels": tuple(block_out_channels), + "latent_channels": vae_params.z_channels, + "layers_per_block": vae_params.num_res_blocks, + } return config @@ -330,7 +386,7 @@ def create_diffusers_schedular(original_config): def create_ldm_bert_config(original_config): - bert_params = original_config.model.params.cond_stage_config.params + bert_params = original_config.model.parms.cond_stage_config.params config = LDMBertConfig( d_model=bert_params.n_embed, encoder_layers=bert_params.n_layer, @@ -339,103 +395,96 @@ def create_ldm_bert_config(original_config): return config -def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False): +def convert_ldm_unet_checkpoint( + checkpoint, config, path=None, extract_ema=False, controlnet=False, skip_extract_state_dict=False +): """ Takes a state dict and a config, and returns a converted checkpoint. """ - # extract state_dict for UNet - unet_state_dict = {} - keys = list(checkpoint.keys()) + if skip_extract_state_dict: + unet_state_dict = checkpoint + else: + # extract state_dict for UNet + unet_state_dict = {} + keys = list(checkpoint.keys()) - unet_key = "model.diffusion_model." - # at least a 100 parameters have to start with `model_ema` in order for the checkpoint to be EMA - if sum(k.startswith("model_ema") for k in keys) > 100: - logger.debug(f"Checkpoint {path} has both EMA and non-EMA weights.") - if extract_ema: - logger.debug("Extracting EMA weights (usually better for inference)") + if controlnet: + unet_key = "control_model." + else: + unet_key = "model.diffusion_model." + + # at least a 100 parameters have to start with `model_ema` in order for the checkpoint to be EMA + if sum(k.startswith("model_ema") for k in keys) > 100 and extract_ema: + logger.warning(f"Checkpoint {path} has both EMA and non-EMA weights.") + logger.warning( + "In this conversion only the EMA weights are extracted. If you want to instead extract the non-EMA" + " weights (useful to continue fine-tuning), please make sure to remove the `--extract_ema` flag." + ) for key in keys: if key.startswith("model.diffusion_model"): flat_ema_key = "model_ema." + "".join(key.split(".")[1:]) - flat_ema_key_alt = "model_ema." + "".join(key.split(".")[2:]) - if flat_ema_key in checkpoint: - unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop( - flat_ema_key - ) - elif flat_ema_key_alt in checkpoint: - unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop( - flat_ema_key_alt - ) - else: - unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop( - key - ) + unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop(flat_ema_key) else: - logger.debug( - "Extracting only the non-EMA weights (usually better for fine-tuning)" - ) + if sum(k.startswith("model_ema") for k in keys) > 100: + logger.warning( + "In this conversion only the non-EMA weights are extracted. If you want to instead extract the EMA" + " weights (usually better for inference), please make sure to add the `--extract_ema` flag." + ) - for key in keys: - if key.startswith("model.diffusion_model") and key in checkpoint: - unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop(key) + for key in keys: + if key.startswith(unet_key): + unet_state_dict[key.replace(unet_key, "")] = checkpoint.pop(key) new_checkpoint = {} - new_checkpoint["time_embedding.linear_1.weight"] = unet_state_dict[ - "time_embed.0.weight" - ] - new_checkpoint["time_embedding.linear_1.bias"] = unet_state_dict[ - "time_embed.0.bias" - ] - new_checkpoint["time_embedding.linear_2.weight"] = unet_state_dict[ - "time_embed.2.weight" - ] - new_checkpoint["time_embedding.linear_2.bias"] = unet_state_dict[ - "time_embed.2.bias" - ] + new_checkpoint["time_embedding.linear_1.weight"] = unet_state_dict["time_embed.0.weight"] + new_checkpoint["time_embedding.linear_1.bias"] = unet_state_dict["time_embed.0.bias"] + new_checkpoint["time_embedding.linear_2.weight"] = unet_state_dict["time_embed.2.weight"] + new_checkpoint["time_embedding.linear_2.bias"] = unet_state_dict["time_embed.2.bias"] + + if config["class_embed_type"] is None: + # No parameters to port + ... + elif config["class_embed_type"] == "timestep" or config["class_embed_type"] == "projection": + new_checkpoint["class_embedding.linear_1.weight"] = unet_state_dict["label_emb.0.0.weight"] + new_checkpoint["class_embedding.linear_1.bias"] = unet_state_dict["label_emb.0.0.bias"] + new_checkpoint["class_embedding.linear_2.weight"] = unet_state_dict["label_emb.0.2.weight"] + new_checkpoint["class_embedding.linear_2.bias"] = unet_state_dict["label_emb.0.2.bias"] + else: + raise NotImplementedError(f"Not implemented `class_embed_type`: {config['class_embed_type']}") + + if config["addition_embed_type"] == "text_time": + new_checkpoint["add_embedding.linear_1.weight"] = unet_state_dict["label_emb.0.0.weight"] + new_checkpoint["add_embedding.linear_1.bias"] = unet_state_dict["label_emb.0.0.bias"] + new_checkpoint["add_embedding.linear_2.weight"] = unet_state_dict["label_emb.0.2.weight"] + new_checkpoint["add_embedding.linear_2.bias"] = unet_state_dict["label_emb.0.2.bias"] new_checkpoint["conv_in.weight"] = unet_state_dict["input_blocks.0.0.weight"] new_checkpoint["conv_in.bias"] = unet_state_dict["input_blocks.0.0.bias"] - new_checkpoint["conv_norm_out.weight"] = unet_state_dict["out.0.weight"] - new_checkpoint["conv_norm_out.bias"] = unet_state_dict["out.0.bias"] - new_checkpoint["conv_out.weight"] = unet_state_dict["out.2.weight"] - new_checkpoint["conv_out.bias"] = unet_state_dict["out.2.bias"] + if not controlnet: + new_checkpoint["conv_norm_out.weight"] = unet_state_dict["out.0.weight"] + new_checkpoint["conv_norm_out.bias"] = unet_state_dict["out.0.bias"] + new_checkpoint["conv_out.weight"] = unet_state_dict["out.2.weight"] + new_checkpoint["conv_out.bias"] = unet_state_dict["out.2.bias"] # Retrieves the keys for the input blocks only - num_input_blocks = len( - { - ".".join(layer.split(".")[:2]) - for layer in unet_state_dict - if "input_blocks" in layer - } - ) + num_input_blocks = len({".".join(layer.split(".")[:2]) for layer in unet_state_dict if "input_blocks" in layer}) input_blocks = { layer_id: [key for key in unet_state_dict if f"input_blocks.{layer_id}" in key] for layer_id in range(num_input_blocks) } # Retrieves the keys for the middle blocks only - num_middle_blocks = len( - { - ".".join(layer.split(".")[:2]) - for layer in unet_state_dict - if "middle_block" in layer - } - ) + num_middle_blocks = len({".".join(layer.split(".")[:2]) for layer in unet_state_dict if "middle_block" in layer}) middle_blocks = { layer_id: [key for key in unet_state_dict if f"middle_block.{layer_id}" in key] for layer_id in range(num_middle_blocks) } # Retrieves the keys for the output blocks only - num_output_blocks = len( - { - ".".join(layer.split(".")[:2]) - for layer in unet_state_dict - if "output_blocks" in layer - } - ) + num_output_blocks = len({".".join(layer.split(".")[:2]) for layer in unet_state_dict if "output_blocks" in layer}) output_blocks = { layer_id: [key for key in unet_state_dict if f"output_blocks.{layer_id}" in key] for layer_id in range(num_output_blocks) @@ -446,45 +495,29 @@ def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False layer_in_block_id = (i - 1) % (config["layers_per_block"] + 1) resnets = [ - key - for key in input_blocks[i] - if f"input_blocks.{i}.0" in key and f"input_blocks.{i}.0.op" not in key + key for key in input_blocks[i] if f"input_blocks.{i}.0" in key and f"input_blocks.{i}.0.op" not in key ] attentions = [key for key in input_blocks[i] if f"input_blocks.{i}.1" in key] if f"input_blocks.{i}.0.op.weight" in unet_state_dict: - new_checkpoint[ - f"down_blocks.{block_id}.downsamplers.0.conv.weight" - ] = unet_state_dict.pop(f"input_blocks.{i}.0.op.weight") - new_checkpoint[ - f"down_blocks.{block_id}.downsamplers.0.conv.bias" - ] = unet_state_dict.pop(f"input_blocks.{i}.0.op.bias") + new_checkpoint[f"down_blocks.{block_id}.downsamplers.0.conv.weight"] = unet_state_dict.pop( + f"input_blocks.{i}.0.op.weight" + ) + new_checkpoint[f"down_blocks.{block_id}.downsamplers.0.conv.bias"] = unet_state_dict.pop( + f"input_blocks.{i}.0.op.bias" + ) paths = renew_resnet_paths(resnets) - meta_path = { - "old": f"input_blocks.{i}.0", - "new": f"down_blocks.{block_id}.resnets.{layer_in_block_id}", - } + meta_path = {"old": f"input_blocks.{i}.0", "new": f"down_blocks.{block_id}.resnets.{layer_in_block_id}"} assign_to_checkpoint( - paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) if len(attentions): paths = renew_attention_paths(attentions) - meta_path = { - "old": f"input_blocks.{i}.1", - "new": f"down_blocks.{block_id}.attentions.{layer_in_block_id}", - } + meta_path = {"old": f"input_blocks.{i}.1", "new": f"down_blocks.{block_id}.attentions.{layer_in_block_id}"} assign_to_checkpoint( - paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) resnet_0 = middle_blocks[0] @@ -500,11 +533,7 @@ def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False attentions_paths = renew_attention_paths(attentions) meta_path = {"old": "middle_block.1", "new": "mid_block.attentions.0"} assign_to_checkpoint( - attentions_paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + attentions_paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) for i in range(num_output_blocks): @@ -522,36 +551,25 @@ def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False if len(output_block_list) > 1: resnets = [key for key in output_blocks[i] if f"output_blocks.{i}.0" in key] - attentions = [ - key for key in output_blocks[i] if f"output_blocks.{i}.1" in key - ] + attentions = [key for key in output_blocks[i] if f"output_blocks.{i}.1" in key] resnet_0_paths = renew_resnet_paths(resnets) paths = renew_resnet_paths(resnets) - meta_path = { - "old": f"output_blocks.{i}.0", - "new": f"up_blocks.{block_id}.resnets.{layer_in_block_id}", - } + meta_path = {"old": f"output_blocks.{i}.0", "new": f"up_blocks.{block_id}.resnets.{layer_in_block_id}"} assign_to_checkpoint( - paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) output_block_list = {k: sorted(v) for k, v in output_block_list.items()} if ["conv.bias", "conv.weight"] in output_block_list.values(): - index = list(output_block_list.values()).index( - ["conv.bias", "conv.weight"] - ) - new_checkpoint[ - f"up_blocks.{block_id}.upsamplers.0.conv.weight" - ] = unet_state_dict[f"output_blocks.{i}.{index}.conv.weight"] - new_checkpoint[ - f"up_blocks.{block_id}.upsamplers.0.conv.bias" - ] = unet_state_dict[f"output_blocks.{i}.{index}.conv.bias"] + index = list(output_block_list.values()).index(["conv.bias", "conv.weight"]) + new_checkpoint[f"up_blocks.{block_id}.upsamplers.0.conv.weight"] = unet_state_dict[ + f"output_blocks.{i}.{index}.conv.weight" + ] + new_checkpoint[f"up_blocks.{block_id}.upsamplers.0.conv.bias"] = unet_state_dict[ + f"output_blocks.{i}.{index}.conv.bias" + ] # Clear attentions as they have been attributed above. if len(attentions) == 2: @@ -564,82 +582,85 @@ def convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False "new": f"up_blocks.{block_id}.attentions.{layer_in_block_id}", } assign_to_checkpoint( - paths, - new_checkpoint, - unet_state_dict, - additional_replacements=[meta_path], - config=config, + paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config ) else: - resnet_0_paths = renew_resnet_paths( - output_block_layers, n_shave_prefix_segments=1 - ) + resnet_0_paths = renew_resnet_paths(output_block_layers, n_shave_prefix_segments=1) for path in resnet_0_paths: old_path = ".".join(["output_blocks", str(i), path["old"]]) - new_path = ".".join( - [ - "up_blocks", - str(block_id), - "resnets", - str(layer_in_block_id), - path["new"], - ] - ) + new_path = ".".join(["up_blocks", str(block_id), "resnets", str(layer_in_block_id), path["new"]]) new_checkpoint[new_path] = unet_state_dict[old_path] + if controlnet: + # conditioning embedding + + orig_index = 0 + + new_checkpoint["controlnet_cond_embedding.conv_in.weight"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.weight" + ) + new_checkpoint["controlnet_cond_embedding.conv_in.bias"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.bias" + ) + + orig_index += 2 + + diffusers_index = 0 + + while diffusers_index < 6: + new_checkpoint[f"controlnet_cond_embedding.blocks.{diffusers_index}.weight"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.weight" + ) + new_checkpoint[f"controlnet_cond_embedding.blocks.{diffusers_index}.bias"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.bias" + ) + diffusers_index += 1 + orig_index += 2 + + new_checkpoint["controlnet_cond_embedding.conv_out.weight"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.weight" + ) + new_checkpoint["controlnet_cond_embedding.conv_out.bias"] = unet_state_dict.pop( + f"input_hint_block.{orig_index}.bias" + ) + + # down blocks + for i in range(num_input_blocks): + new_checkpoint[f"controlnet_down_blocks.{i}.weight"] = unet_state_dict.pop(f"zero_convs.{i}.0.weight") + new_checkpoint[f"controlnet_down_blocks.{i}.bias"] = unet_state_dict.pop(f"zero_convs.{i}.0.bias") + + # mid block + new_checkpoint["controlnet_mid_block.weight"] = unet_state_dict.pop("middle_block_out.0.weight") + new_checkpoint["controlnet_mid_block.bias"] = unet_state_dict.pop("middle_block_out.0.bias") + return new_checkpoint + def convert_ldm_vae_checkpoint(checkpoint, config): - # Extract state dict for VAE. Works both with burnt-in - # VAEs, and with standalone VAEs. + # extract state dict for VAE + vae_state_dict = {} + keys = list(checkpoint.keys()) + vae_key = "first_stage_model." if any(k.startswith("first_stage_model.") for k in keys) else "" + for key in keys: + if key.startswith(vae_key): + vae_state_dict[key.replace(vae_key, "")] = checkpoint.get(key) - # checkpoint can either be a all-in-one stable diffusion - # model, or an isolated vae .ckpt. This tests for - # a key that will be present in the all-in-one model - # that isn't present in the isolated ckpt. - probe_key = "first_stage_model.encoder.conv_in.weight" - if probe_key in checkpoint: - vae_state_dict = {} - vae_key = "first_stage_model." - keys = list(checkpoint.keys()) - for key in keys: - if key.startswith(vae_key): - vae_state_dict[key.replace(vae_key, "")] = checkpoint.get(key) - else: - vae_state_dict = checkpoint - - new_checkpoint = convert_ldm_vae_state_dict(vae_state_dict, config) - return new_checkpoint - -def convert_ldm_vae_state_dict(vae_state_dict, config): new_checkpoint = {} new_checkpoint["encoder.conv_in.weight"] = vae_state_dict["encoder.conv_in.weight"] new_checkpoint["encoder.conv_in.bias"] = vae_state_dict["encoder.conv_in.bias"] - new_checkpoint["encoder.conv_out.weight"] = vae_state_dict[ - "encoder.conv_out.weight" - ] + new_checkpoint["encoder.conv_out.weight"] = vae_state_dict["encoder.conv_out.weight"] new_checkpoint["encoder.conv_out.bias"] = vae_state_dict["encoder.conv_out.bias"] - new_checkpoint["encoder.conv_norm_out.weight"] = vae_state_dict[ - "encoder.norm_out.weight" - ] - new_checkpoint["encoder.conv_norm_out.bias"] = vae_state_dict[ - "encoder.norm_out.bias" - ] + new_checkpoint["encoder.conv_norm_out.weight"] = vae_state_dict["encoder.norm_out.weight"] + new_checkpoint["encoder.conv_norm_out.bias"] = vae_state_dict["encoder.norm_out.bias"] new_checkpoint["decoder.conv_in.weight"] = vae_state_dict["decoder.conv_in.weight"] new_checkpoint["decoder.conv_in.bias"] = vae_state_dict["decoder.conv_in.bias"] - new_checkpoint["decoder.conv_out.weight"] = vae_state_dict[ - "decoder.conv_out.weight" - ] + new_checkpoint["decoder.conv_out.weight"] = vae_state_dict["decoder.conv_out.weight"] new_checkpoint["decoder.conv_out.bias"] = vae_state_dict["decoder.conv_out.bias"] - new_checkpoint["decoder.conv_norm_out.weight"] = vae_state_dict[ - "decoder.norm_out.weight" - ] - new_checkpoint["decoder.conv_norm_out.bias"] = vae_state_dict[ - "decoder.norm_out.bias" - ] + new_checkpoint["decoder.conv_norm_out.weight"] = vae_state_dict["decoder.norm_out.weight"] + new_checkpoint["decoder.conv_norm_out.bias"] = vae_state_dict["decoder.norm_out.bias"] new_checkpoint["quant_conv.weight"] = vae_state_dict["quant_conv.weight"] new_checkpoint["quant_conv.bias"] = vae_state_dict["quant_conv.bias"] @@ -647,55 +668,31 @@ def convert_ldm_vae_state_dict(vae_state_dict, config): new_checkpoint["post_quant_conv.bias"] = vae_state_dict["post_quant_conv.bias"] # Retrieves the keys for the encoder down blocks only - num_down_blocks = len( - { - ".".join(layer.split(".")[:3]) - for layer in vae_state_dict - if "encoder.down" in layer - } - ) + num_down_blocks = len({".".join(layer.split(".")[:3]) for layer in vae_state_dict if "encoder.down" in layer}) down_blocks = { - layer_id: [key for key in vae_state_dict if f"down.{layer_id}" in key] - for layer_id in range(num_down_blocks) + layer_id: [key for key in vae_state_dict if f"down.{layer_id}" in key] for layer_id in range(num_down_blocks) } # Retrieves the keys for the decoder up blocks only - num_up_blocks = len( - { - ".".join(layer.split(".")[:3]) - for layer in vae_state_dict - if "decoder.up" in layer - } - ) + num_up_blocks = len({".".join(layer.split(".")[:3]) for layer in vae_state_dict if "decoder.up" in layer}) up_blocks = { - layer_id: [key for key in vae_state_dict if f"up.{layer_id}" in key] - for layer_id in range(num_up_blocks) + layer_id: [key for key in vae_state_dict if f"up.{layer_id}" in key] for layer_id in range(num_up_blocks) } for i in range(num_down_blocks): - resnets = [ - key - for key in down_blocks[i] - if f"down.{i}" in key and f"down.{i}.downsample" not in key - ] + resnets = [key for key in down_blocks[i] if f"down.{i}" in key and f"down.{i}.downsample" not in key] if f"encoder.down.{i}.downsample.conv.weight" in vae_state_dict: - new_checkpoint[ - f"encoder.down_blocks.{i}.downsamplers.0.conv.weight" - ] = vae_state_dict.pop(f"encoder.down.{i}.downsample.conv.weight") - new_checkpoint[ - f"encoder.down_blocks.{i}.downsamplers.0.conv.bias" - ] = vae_state_dict.pop(f"encoder.down.{i}.downsample.conv.bias") + new_checkpoint[f"encoder.down_blocks.{i}.downsamplers.0.conv.weight"] = vae_state_dict.pop( + f"encoder.down.{i}.downsample.conv.weight" + ) + new_checkpoint[f"encoder.down_blocks.{i}.downsamplers.0.conv.bias"] = vae_state_dict.pop( + f"encoder.down.{i}.downsample.conv.bias" + ) paths = renew_vae_resnet_paths(resnets) meta_path = {"old": f"down.{i}.block", "new": f"down_blocks.{i}.resnets"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) mid_resnets = [key for key in vae_state_dict if "encoder.mid.block" in key] num_mid_res_blocks = 2 @@ -704,51 +701,31 @@ def convert_ldm_vae_state_dict(vae_state_dict, config): paths = renew_vae_resnet_paths(resnets) meta_path = {"old": f"mid.block_{i}", "new": f"mid_block.resnets.{i - 1}"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) mid_attentions = [key for key in vae_state_dict if "encoder.mid.attn" in key] paths = renew_vae_attention_paths(mid_attentions) meta_path = {"old": "mid.attn_1", "new": "mid_block.attentions.0"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) conv_attn_to_linear(new_checkpoint) for i in range(num_up_blocks): block_id = num_up_blocks - 1 - i resnets = [ - key - for key in up_blocks[block_id] - if f"up.{block_id}" in key and f"up.{block_id}.upsample" not in key + key for key in up_blocks[block_id] if f"up.{block_id}" in key and f"up.{block_id}.upsample" not in key ] if f"decoder.up.{block_id}.upsample.conv.weight" in vae_state_dict: - new_checkpoint[ - f"decoder.up_blocks.{i}.upsamplers.0.conv.weight" - ] = vae_state_dict[f"decoder.up.{block_id}.upsample.conv.weight"] - new_checkpoint[ - f"decoder.up_blocks.{i}.upsamplers.0.conv.bias" - ] = vae_state_dict[f"decoder.up.{block_id}.upsample.conv.bias"] + new_checkpoint[f"decoder.up_blocks.{i}.upsamplers.0.conv.weight"] = vae_state_dict[ + f"decoder.up.{block_id}.upsample.conv.weight" + ] + new_checkpoint[f"decoder.up_blocks.{i}.upsamplers.0.conv.bias"] = vae_state_dict[ + f"decoder.up.{block_id}.upsample.conv.bias" + ] paths = renew_vae_resnet_paths(resnets) meta_path = {"old": f"up.{block_id}.block", "new": f"up_blocks.{i}.resnets"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) mid_resnets = [key for key in vae_state_dict if "decoder.mid.block" in key] num_mid_res_blocks = 2 @@ -757,24 +734,12 @@ def convert_ldm_vae_state_dict(vae_state_dict, config): paths = renew_vae_resnet_paths(resnets) meta_path = {"old": f"mid.block_{i}", "new": f"mid_block.resnets.{i - 1}"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) mid_attentions = [key for key in vae_state_dict if "decoder.mid.attn" in key] paths = renew_vae_attention_paths(mid_attentions) meta_path = {"old": "mid.attn_1", "new": "mid_block.attentions.0"} - assign_to_checkpoint( - paths, - new_checkpoint, - vae_state_dict, - additional_replacements=[meta_path], - config=config, - ) + assign_to_checkpoint(paths, new_checkpoint, vae_state_dict, additional_replacements=[meta_path], config=config) conv_attn_to_linear(new_checkpoint) return new_checkpoint @@ -816,9 +781,7 @@ def convert_ldm_bert_checkpoint(checkpoint, config): # copy embeds hf_model.model.embed_tokens.weight = checkpoint.transformer.token_emb.weight - hf_model.model.embed_positions.weight.data = ( - checkpoint.transformer.pos_emb.emb.weight - ) + hf_model.model.embed_positions.weight.data = checkpoint.transformer.pos_emb.emb.weight # copy layer norm _copy_linear(hf_model.model.layer_norm, checkpoint.transformer.norm) @@ -831,43 +794,40 @@ def convert_ldm_bert_checkpoint(checkpoint, config): return hf_model -def convert_ldm_clip_checkpoint(checkpoint): - text_model = CLIPTextModel.from_pretrained(CONVERT_MODEL_ROOT / 'clip-vit-large-patch14') +def convert_ldm_clip_checkpoint(checkpoint, local_files_only=False, text_encoder=None): + if text_encoder is None: + config = CLIPTextConfig.from_pretrained(CONVERT_MODEL_ROOT / 'clip-vit-large-patch14') + + ctx = init_empty_weights if is_accelerate_available() else nullcontext + with ctx(): + text_model = CLIPTextModel(config) + keys = list(checkpoint.keys()) text_model_dict = {} + remove_prefixes = ["cond_stage_model.transformer", "conditioner.embedders.0.transformer"] + for key in keys: - if key.startswith("cond_stage_model.transformer"): - text_model_dict[key[len("cond_stage_model.transformer.") :]] = checkpoint[ - key - ] + for prefix in remove_prefixes: + if key.startswith(prefix): + text_model_dict[key[len(prefix + ".") :]] = checkpoint[key] - # transformers 4.31.0 and higher - this key no longer in state dict - if version.parse(transformers.__version__) >= version.parse("4.31.0"): - position_ids = text_model_dict.pop("text_model.embeddings.position_ids", None) - text_model.load_state_dict(text_model_dict) - if position_ids is not None: - text_model.text_model.embeddings.position_ids.copy_(position_ids) - - # transformers 4.30.2 and lower - position_ids is part of state_dict + if is_accelerate_available(): + for param_name, param in text_model_dict.items(): + set_module_tensor_to_device(text_model, param_name, "cpu", value=param) else: - text_model.load_state_dict(text_model_dict) + text_model.load_state_dict(text_model_dict) return text_model textenc_conversion_lst = [ - ( - "cond_stage_model.model.positional_embedding", - "text_model.embeddings.position_embedding.weight", - ), - ( - "cond_stage_model.model.token_embedding.weight", - "text_model.embeddings.token_embedding.weight", - ), - ("cond_stage_model.model.ln_final.weight", "text_model.final_layer_norm.weight"), - ("cond_stage_model.model.ln_final.bias", "text_model.final_layer_norm.bias"), + ("positional_embedding", "text_model.embeddings.position_embedding.weight"), + ("token_embedding.weight", "text_model.embeddings.token_embedding.weight"), + ("ln_final.weight", "text_model.final_layer_norm.weight"), + ("ln_final.bias", "text_model.final_layer_norm.bias"), + ("text_projection", "text_projection.weight"), ] textenc_conversion_map = {x[0]: x[1] for x in textenc_conversion_lst} @@ -880,106 +840,848 @@ textenc_transformer_conversion_lst = [ (".c_proj.", ".fc2."), (".attn", ".self_attn"), ("ln_final.", "transformer.text_model.final_layer_norm."), - ( - "token_embedding.weight", - "transformer.text_model.embeddings.token_embedding.weight", - ), - ( - "positional_embedding", - "transformer.text_model.embeddings.position_embedding.weight", - ), + ("token_embedding.weight", "transformer.text_model.embeddings.token_embedding.weight"), + ("positional_embedding", "transformer.text_model.embeddings.position_embedding.weight"), ] protected = {re.escape(x[0]): x[1] for x in textenc_transformer_conversion_lst} textenc_pattern = re.compile("|".join(protected.keys())) -def convert_open_clip_checkpoint(checkpoint): - text_model = CLIPTextModel.from_pretrained( - CONVERT_MODEL_ROOT / 'stable-diffusion-2-clip', - subfolder='text_encoder', - ) +def convert_paint_by_example_checkpoint(checkpoint): + config = CLIPVisionConfig.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + model = PaintByExampleImageEncoder(config) keys = list(checkpoint.keys()) text_model_dict = {} - if "cond_stage_model.model.text_projection" in keys: - d_model = int(checkpoint["cond_stage_model.model.text_projection"].shape[0]) - elif "cond_stage_model.model.ln_final.bias" in keys: - d_model = int(checkpoint["cond_stage_model.model.ln_final.bias"].shape[0]) - else: - raise KeyError( - 'Expected key "cond_stage_model.model.text_projection" not found in model' - ) + for key in keys: + if key.startswith("cond_stage_model.transformer"): + text_model_dict[key[len("cond_stage_model.transformer.") :]] = checkpoint[key] - text_model_dict[ - "text_model.embeddings.position_ids" - ] = text_model.text_model.embeddings.get_buffer("position_ids") + # load clip vision + model.model.load_state_dict(text_model_dict) + + # load mapper + keys_mapper = { + k[len("cond_stage_model.mapper.res") :]: v + for k, v in checkpoint.items() + if k.startswith("cond_stage_model.mapper") + } + + MAPPING = { + "attn.c_qkv": ["attn1.to_q", "attn1.to_k", "attn1.to_v"], + "attn.c_proj": ["attn1.to_out.0"], + "ln_1": ["norm1"], + "ln_2": ["norm3"], + "mlp.c_fc": ["ff.net.0.proj"], + "mlp.c_proj": ["ff.net.2"], + } + + mapped_weights = {} + for key, value in keys_mapper.items(): + prefix = key[: len("blocks.i")] + suffix = key.split(prefix)[-1].split(".")[-1] + name = key.split(prefix)[-1].split(suffix)[0][1:-1] + mapped_names = MAPPING[name] + + num_splits = len(mapped_names) + for i, mapped_name in enumerate(mapped_names): + new_name = ".".join([prefix, mapped_name, suffix]) + shape = value.shape[0] // num_splits + mapped_weights[new_name] = value[i * shape : (i + 1) * shape] + + model.mapper.load_state_dict(mapped_weights) + + # load final layer norm + model.final_layer_norm.load_state_dict( + { + "bias": checkpoint["cond_stage_model.final_ln.bias"], + "weight": checkpoint["cond_stage_model.final_ln.weight"], + } + ) + + # load final proj + model.proj_out.load_state_dict( + { + "bias": checkpoint["proj_out.bias"], + "weight": checkpoint["proj_out.weight"], + } + ) + + # load uncond vector + model.uncond_vector.data = torch.nn.Parameter(checkpoint["learnable_vector"]) + return model + + +def convert_open_clip_checkpoint( + checkpoint, config_name, prefix="cond_stage_model.model.", has_projection=False, **config_kwargs +): + # text_model = CLIPTextModel.from_pretrained("stabilityai/stable-diffusion-2", subfolder="text_encoder") + # text_model = CLIPTextModelWithProjection.from_pretrained( + # "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k", projection_dim=1280 + # ) + config = CLIPTextConfig.from_pretrained(config_name, **config_kwargs) + + ctx = init_empty_weights if is_accelerate_available() else nullcontext + with ctx(): + text_model = CLIPTextModelWithProjection(config) if has_projection else CLIPTextModel(config) + + keys = list(checkpoint.keys()) + + keys_to_ignore = [] + if config_name == "stabilityai/stable-diffusion-2" and config.num_hidden_layers == 23: + # make sure to remove all keys > 22 + keys_to_ignore += [k for k in keys if k.startswith("cond_stage_model.model.transformer.resblocks.23")] + keys_to_ignore += ["cond_stage_model.model.text_projection"] + + text_model_dict = {} + + if prefix + "text_projection" in checkpoint: + d_model = int(checkpoint[prefix + "text_projection"].shape[0]) + else: + d_model = 1024 + + text_model_dict["text_model.embeddings.position_ids"] = text_model.text_model.embeddings.get_buffer("position_ids") for key in keys: - if ( - "resblocks.23" in key - ): # Diffusers drops the final layer and only uses the penultimate layer + if key in keys_to_ignore: continue - if key in textenc_conversion_map: - text_model_dict[textenc_conversion_map[key]] = checkpoint[key] - if key.startswith("cond_stage_model.model.transformer."): - new_key = key[len("cond_stage_model.model.transformer.") :] + if key[len(prefix) :] in textenc_conversion_map: + if key.endswith("text_projection"): + value = checkpoint[key].T.contiguous() + else: + value = checkpoint[key] + + text_model_dict[textenc_conversion_map[key[len(prefix) :]]] = value + + if key.startswith(prefix + "transformer."): + new_key = key[len(prefix + "transformer.") :] if new_key.endswith(".in_proj_weight"): new_key = new_key[: -len(".in_proj_weight")] - new_key = textenc_pattern.sub( - lambda m: protected[re.escape(m.group(0))], new_key - ) - text_model_dict[new_key + ".q_proj.weight"] = checkpoint[key][ - :d_model, : - ] - text_model_dict[new_key + ".k_proj.weight"] = checkpoint[key][ - d_model : d_model * 2, : - ] - text_model_dict[new_key + ".v_proj.weight"] = checkpoint[key][ - d_model * 2 :, : - ] + new_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], new_key) + text_model_dict[new_key + ".q_proj.weight"] = checkpoint[key][:d_model, :] + text_model_dict[new_key + ".k_proj.weight"] = checkpoint[key][d_model : d_model * 2, :] + text_model_dict[new_key + ".v_proj.weight"] = checkpoint[key][d_model * 2 :, :] elif new_key.endswith(".in_proj_bias"): new_key = new_key[: -len(".in_proj_bias")] - new_key = textenc_pattern.sub( - lambda m: protected[re.escape(m.group(0))], new_key - ) + new_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], new_key) text_model_dict[new_key + ".q_proj.bias"] = checkpoint[key][:d_model] - text_model_dict[new_key + ".k_proj.bias"] = checkpoint[key][ - d_model : d_model * 2 - ] - text_model_dict[new_key + ".v_proj.bias"] = checkpoint[key][ - d_model * 2 : - ] + text_model_dict[new_key + ".k_proj.bias"] = checkpoint[key][d_model : d_model * 2] + text_model_dict[new_key + ".v_proj.bias"] = checkpoint[key][d_model * 2 :] else: - new_key = textenc_pattern.sub( - lambda m: protected[re.escape(m.group(0))], new_key - ) + new_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], new_key) text_model_dict[new_key] = checkpoint[key] - # transformers 4.31.0 and higher - this key no longer in state dict - if version.parse(transformers.__version__) >= version.parse("4.31.0"): - position_ids = text_model_dict.pop("text_model.embeddings.position_ids", None) - text_model.load_state_dict(text_model_dict) - if position_ids is not None: - text_model.text_model.embeddings.position_ids.copy_(position_ids) - - # transformers 4.30.2 and lower - position_ids is part of state_dict + if is_accelerate_available(): + for param_name, param in text_model_dict.items(): + set_module_tensor_to_device(text_model, param_name, "cpu", value=param) else: - text_model.load_state_dict(text_model_dict) + text_model.load_state_dict(text_model_dict) return text_model -def replace_checkpoint_vae(checkpoint, vae_path: str): - if vae_path.endswith(".safetensors"): - vae_ckpt = load_file(vae_path) + +def stable_unclip_image_encoder(original_config): + """ + Returns the image processor and clip image encoder for the img2img unclip pipeline. + + We currently know of two types of stable unclip models which separately use the clip and the openclip image + encoders. + """ + + image_embedder_config = original_config.model.params.embedder_config + + sd_clip_image_embedder_class = image_embedder_config.target + sd_clip_image_embedder_class = sd_clip_image_embedder_class.split(".")[-1] + + if sd_clip_image_embedder_class == "ClipImageEmbedder": + clip_model_name = image_embedder_config.params.model + + if clip_model_name == "ViT-L/14": + feature_extractor = CLIPImageProcessor() + image_encoder = CLIPVisionModelWithProjection.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + else: + raise NotImplementedError(f"Unknown CLIP checkpoint name in stable diffusion checkpoint {clip_model_name}") + + elif sd_clip_image_embedder_class == "FrozenOpenCLIPImageEmbedder": + feature_extractor = CLIPImageProcessor() + # InvokeAI doesn't use CLIPVisionModelWithProjection so it isn't in the core - if this code is hit a download will occur + image_encoder = CLIPVisionModelWithProjection.from_pretrained(CONVERT_MODEL_ROOT / "CLIP-ViT-H-14-laion2B-s32B-b79K") else: - vae_ckpt = torch.load(vae_path, map_location="cpu") - state_dict = vae_ckpt['state_dict'] if "state_dict" in vae_ckpt else vae_ckpt - for vae_key in state_dict: - new_key = f'first_stage_model.{vae_key}' - checkpoint[new_key] = state_dict[vae_key] + raise NotImplementedError( + f"Unknown CLIP image embedder class in stable diffusion checkpoint {sd_clip_image_embedder_class}" + ) + + return feature_extractor, image_encoder + + +def stable_unclip_image_noising_components( + original_config, clip_stats_path: Optional[str] = None, device: Optional[str] = None +): + """ + Returns the noising components for the img2img and txt2img unclip pipelines. + + Converts the stability noise augmentor into + 1. a `StableUnCLIPImageNormalizer` for holding the CLIP stats + 2. a `DDPMScheduler` for holding the noise schedule + + If the noise augmentor config specifies a clip stats path, the `clip_stats_path` must be provided. + """ + noise_aug_config = original_config.model.params.noise_aug_config + noise_aug_class = noise_aug_config.target + noise_aug_class = noise_aug_class.split(".")[-1] + + if noise_aug_class == "CLIPEmbeddingNoiseAugmentation": + noise_aug_config = noise_aug_config.params + embedding_dim = noise_aug_config.timestep_dim + max_noise_level = noise_aug_config.noise_schedule_config.timesteps + beta_schedule = noise_aug_config.noise_schedule_config.beta_schedule + + image_normalizer = StableUnCLIPImageNormalizer(embedding_dim=embedding_dim) + image_noising_scheduler = DDPMScheduler(num_train_timesteps=max_noise_level, beta_schedule=beta_schedule) + + if "clip_stats_path" in noise_aug_config: + if clip_stats_path is None: + raise ValueError("This stable unclip config requires a `clip_stats_path`") + + clip_mean, clip_std = torch.load(clip_stats_path, map_location=device) + clip_mean = clip_mean[None, :] + clip_std = clip_std[None, :] + + clip_stats_state_dict = { + "mean": clip_mean, + "std": clip_std, + } + + image_normalizer.load_state_dict(clip_stats_state_dict) + else: + raise NotImplementedError(f"Unknown noise augmentor class: {noise_aug_class}") + + return image_normalizer, image_noising_scheduler + + +def convert_controlnet_checkpoint( + checkpoint, + original_config, + checkpoint_path, + image_size, + upcast_attention, + extract_ema, + use_linear_projection=None, + cross_attention_dim=None, +): + ctrlnet_config = create_unet_diffusers_config(original_config, image_size=image_size, controlnet=True) + ctrlnet_config["upcast_attention"] = upcast_attention + + ctrlnet_config.pop("sample_size") + original_config = ctrlnet_config.copy() + + ctrlnet_config.pop('addition_embed_type') + ctrlnet_config.pop('addition_time_embed_dim') + ctrlnet_config.pop('transformer_layers_per_block') + + if use_linear_projection is not None: + ctrlnet_config["use_linear_projection"] = use_linear_projection + + if cross_attention_dim is not None: + ctrlnet_config["cross_attention_dim"] = cross_attention_dim + + controlnet = ControlNetModel(**ctrlnet_config) + + # Some controlnet ckpt files are distributed independently from the rest of the + # model components i.e. https://huggingface.co/thibaud/controlnet-sd21/ + if "time_embed.0.weight" in checkpoint: + skip_extract_state_dict = True + else: + skip_extract_state_dict = False + + converted_ctrl_checkpoint = convert_ldm_unet_checkpoint( + checkpoint, + original_config, + path=checkpoint_path, + extract_ema=extract_ema, + controlnet=True, + skip_extract_state_dict=skip_extract_state_dict, + ) + + controlnet.load_state_dict(converted_ctrl_checkpoint) + + return controlnet + + +def download_from_original_stable_diffusion_ckpt( + checkpoint_path: str, + model_version: BaseModelType, + model_variant: ModelVariantType, + original_config_file: str = None, + image_size: Optional[int] = None, + prediction_type: str = None, + model_type: str = None, + extract_ema: bool = False, + scheduler_type: str = "pndm", + num_in_channels: Optional[int] = None, + upcast_attention: Optional[bool] = None, + device: str = None, + from_safetensors: bool = False, + stable_unclip: Optional[str] = None, + stable_unclip_prior: Optional[str] = None, + clip_stats_path: Optional[str] = None, + controlnet: Optional[bool] = None, + load_safety_checker: bool = True, + pipeline_class: DiffusionPipeline = None, + local_files_only=False, + vae_path=None, + text_encoder=None, + tokenizer=None, + scan_needed: bool = True, +) -> DiffusionPipeline: + """ + Load a Stable Diffusion pipeline object from a CompVis-style `.ckpt`/`.safetensors` file and (ideally) a `.yaml` + config file. + + Although many of the arguments can be automatically inferred, some of these rely on brittle checks against the + global step count, which will likely fail for models that have undergone further fine-tuning. Therefore, it is + recommended that you override the default values and/or supply an `original_config_file` wherever possible. + + Args: + checkpoint_path (`str`): Path to `.ckpt` file. + original_config_file (`str`): + Path to `.yaml` config file corresponding to the original architecture. If `None`, will be automatically + inferred by looking for a key that only exists in SD2.0 models. + image_size (`int`, *optional*, defaults to 512): + The image size that the model was trained on. Use 512 for Stable Diffusion v1.X and Stable Diffusion v2 + Base. Use 768 for Stable Diffusion v2. + prediction_type (`str`, *optional*): + The prediction type that the model was trained on. Use `'epsilon'` for Stable Diffusion v1.X and Stable + Diffusion v2 Base. Use `'v_prediction'` for Stable Diffusion v2. + num_in_channels (`int`, *optional*, defaults to None): + The number of input channels. If `None`, it will be automatically inferred. + scheduler_type (`str`, *optional*, defaults to 'pndm'): + Type of scheduler to use. Should be one of `["pndm", "lms", "heun", "euler", "euler-ancestral", "dpm", + "ddim"]`. + model_type (`str`, *optional*, defaults to `None`): + The pipeline type. `None` to automatically infer, or one of `["FrozenOpenCLIPEmbedder", + "FrozenCLIPEmbedder", "PaintByExample"]`. + is_img2img (`bool`, *optional*, defaults to `False`): + Whether the model should be loaded as an img2img pipeline. + extract_ema (`bool`, *optional*, defaults to `False`): Only relevant for + checkpoints that have both EMA and non-EMA weights. Whether to extract the EMA weights or not. Defaults to + `False`. Pass `True` to extract the EMA weights. EMA weights usually yield higher quality images for + inference. Non-EMA weights are usually better to continue fine-tuning. + upcast_attention (`bool`, *optional*, defaults to `None`): + Whether the attention computation should always be upcasted. This is necessary when running stable + diffusion 2.1. + device (`str`, *optional*, defaults to `None`): + The device to use. Pass `None` to determine automatically. + from_safetensors (`str`, *optional*, defaults to `False`): + If `checkpoint_path` is in `safetensors` format, load checkpoint with safetensors instead of PyTorch. + load_safety_checker (`bool`, *optional*, defaults to `True`): + Whether to load the safety checker or not. Defaults to `True`. + pipeline_class (`str`, *optional*, defaults to `None`): + The pipeline class to use. Pass `None` to determine automatically. + local_files_only (`bool`, *optional*, defaults to `False`): + Whether or not to only look at local files (i.e., do not try to download the model). + text_encoder (`CLIPTextModel`, *optional*, defaults to `None`): + An instance of [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel) + to use, specifically the [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) + variant. If this parameter is `None`, the function will load a new instance of [CLIP] by itself, if needed. + tokenizer (`CLIPTokenizer`, *optional*, defaults to `None`): + An instance of + [CLIPTokenizer](https://huggingface.co/docs/transformers/v4.21.0/en/model_doc/clip#transformers.CLIPTokenizer) + to use. If this parameter is `None`, the function will load a new instance of [CLIPTokenizer] by itself, if + needed. + return: A StableDiffusionPipeline object representing the passed-in `.ckpt`/`.safetensors` file. + """ + + # import pipelines here to avoid circular import error when using from_single_file method + from diffusers import ( + LDMTextToImagePipeline, + PaintByExamplePipeline, + StableDiffusionControlNetPipeline, + StableDiffusionInpaintPipeline, + StableDiffusionPipeline, + StableDiffusionXLPipeline, + StableDiffusionXLImg2ImgPipeline, + StableUnCLIPImg2ImgPipeline, + StableUnCLIPPipeline, + ) + + if pipeline_class is None: + pipeline_class = StableDiffusionPipeline if not controlnet else StableDiffusionControlNetPipeline + + if prediction_type == "v-prediction": + prediction_type = "v_prediction" + + if not is_omegaconf_available(): + raise ValueError(BACKENDS_MAPPING["omegaconf"][1]) + + if from_safetensors: + if not is_safetensors_available(): + raise ValueError(BACKENDS_MAPPING["safetensors"][1]) + + from safetensors.torch import load_file as safe_load + + checkpoint = safe_load(checkpoint_path, device="cpu") + else: + if scan_needed: + # scan model + scan_result = scan_file_path(checkpoint_path) + if scan_result.infected_files != 0: + raise "The model {checkpoint_path} is potentially infected by malware. Aborting import." + if device is None: + device = "cuda" if torch.cuda.is_available() else "cpu" + checkpoint = torch.load(checkpoint_path, map_location=device) + else: + checkpoint = torch.load(checkpoint_path, map_location=device) + + # Sometimes models don't have the global_step item + if "global_step" in checkpoint: + global_step = checkpoint["global_step"] + else: + logger.debug("global_step key not found in model") + global_step = None + + # NOTE: this while loop isn't great but this controlnet checkpoint has one additional + # "state_dict" key https://huggingface.co/thibaud/controlnet-canny-sd21 + while "state_dict" in checkpoint: + checkpoint = checkpoint["state_dict"] + + print(f'DEBUG: model_type = {model_type}; original_config_file = {original_config_file}') + + if original_config_file is None: + key_name_v2_1 = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" + key_name_sd_xl_base = "conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_proj.bias" + key_name_sd_xl_refiner = "conditioner.embedders.0.model.transformer.resblocks.9.mlp.c_proj.bias" + + # model_type = "v1" + config_url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml" + + if key_name_v2_1 in checkpoint and checkpoint[key_name_v2_1].shape[-1] == 1024: + # model_type = "v2" + config_url = "https://raw.githubusercontent.com/Stability-AI/stablediffusion/main/configs/stable-diffusion/v2-inference-v.yaml" + + if global_step == 110000: + # v2.1 needs to upcast attention + upcast_attention = True + elif key_name_sd_xl_base in checkpoint: + # only base xl has two text embedders + config_url = "https://raw.githubusercontent.com/Stability-AI/generative-models/main/configs/inference/sd_xl_base.yaml" + elif key_name_sd_xl_refiner in checkpoint: + # only refiner xl has embedder and one text embedders + config_url = "https://raw.githubusercontent.com/Stability-AI/generative-models/main/configs/inference/sd_xl_refiner.yaml" + + original_config_file = BytesIO(requests.get(config_url).content) + + original_config = OmegaConf.load(original_config_file) + if model_version == BaseModelType.StableDiffusion2 and original_config["model"]["params"]["parameterization"] == "v": + prediction_type = "v_prediction" + upcast_attention = True + image_size = 768 + else: + prediction_type = "epsilon" + upcast_attention = False + image_size = 512 + + # Convert the text model. + if ( + model_type is None + and "cond_stage_config" in original_config.model.params + and original_config.model.params.cond_stage_config is not None + ): + model_type = original_config.model.params.cond_stage_config.target.split(".")[-1] + logger.debug(f"no `model_type` given, `model_type` inferred as: {model_type}") + elif model_type is None and original_config.model.params.network_config is not None: + if original_config.model.params.network_config.params.context_dim == 2048: + model_type = "SDXL" + else: + model_type = "SDXL-Refiner" + if image_size is None: + image_size = 1024 + + if num_in_channels is None and pipeline_class == StableDiffusionInpaintPipeline: + num_in_channels = 9 + elif num_in_channels is None: + num_in_channels = 4 + + if "unet_config" in original_config.model.params: + original_config["model"]["params"]["unet_config"]["params"]["in_channels"] = num_in_channels + + if ( + "parameterization" in original_config["model"]["params"] + and original_config["model"]["params"]["parameterization"] == "v" + ): + if prediction_type is None: + # NOTE: For stable diffusion 2 base it is recommended to pass `prediction_type=="epsilon"` + # as it relies on a brittle global step parameter here + prediction_type = "epsilon" if global_step == 875000 else "v_prediction" + if image_size is None: + # NOTE: For stable diffusion 2 base one has to pass `image_size==512` + # as it relies on a brittle global step parameter here + image_size = 512 if global_step == 875000 else 768 + else: + if prediction_type is None: + prediction_type = "epsilon" + if image_size is None: + image_size = 512 + + if controlnet is None and "control_stage_config" in original_config.model.params: + controlnet = convert_controlnet_checkpoint( + checkpoint, original_config, checkpoint_path, image_size, upcast_attention, extract_ema + ) + + num_train_timesteps = getattr(original_config.model.params, "timesteps", None) or 1000 + + if model_type in ["SDXL", "SDXL-Refiner"]: + scheduler_dict = { + "beta_schedule": "scaled_linear", + "beta_start": 0.00085, + "beta_end": 0.012, + "interpolation_type": "linear", + "num_train_timesteps": num_train_timesteps, + "prediction_type": "epsilon", + "sample_max_value": 1.0, + "set_alpha_to_one": False, + "skip_prk_steps": True, + "steps_offset": 1, + "timestep_spacing": "leading", + } + scheduler = EulerDiscreteScheduler.from_config(scheduler_dict) + scheduler_type = "euler" + else: + beta_start = getattr(original_config.model.params, "linear_start", None) or 0.02 + beta_end = getattr(original_config.model.params, "linear_end", None) or 0.085 + scheduler = DDIMScheduler( + beta_end=beta_end, + beta_schedule="scaled_linear", + beta_start=beta_start, + num_train_timesteps=num_train_timesteps, + steps_offset=1, + clip_sample=False, + set_alpha_to_one=False, + prediction_type=prediction_type, + ) + # make sure scheduler works correctly with DDIM + scheduler.register_to_config(clip_sample=False) + + if scheduler_type == "pndm": + config = dict(scheduler.config) + config["skip_prk_steps"] = True + scheduler = PNDMScheduler.from_config(config) + elif scheduler_type == "lms": + scheduler = LMSDiscreteScheduler.from_config(scheduler.config) + elif scheduler_type == "heun": + scheduler = HeunDiscreteScheduler.from_config(scheduler.config) + elif scheduler_type == "euler": + scheduler = EulerDiscreteScheduler.from_config(scheduler.config) + elif scheduler_type == "euler-ancestral": + scheduler = EulerAncestralDiscreteScheduler.from_config(scheduler.config) + elif scheduler_type == "dpm": + scheduler = DPMSolverMultistepScheduler.from_config(scheduler.config) + elif scheduler_type == "ddim": + scheduler = scheduler + else: + raise ValueError(f"Scheduler of type {scheduler_type} doesn't exist!") + + # Convert the UNet2DConditionModel model. + unet_config = create_unet_diffusers_config(original_config, image_size=image_size) + unet_config["upcast_attention"] = upcast_attention + converted_unet_checkpoint = convert_ldm_unet_checkpoint( + checkpoint, unet_config, path=checkpoint_path, extract_ema=extract_ema + ) + + ctx = init_empty_weights if is_accelerate_available() else nullcontext + with ctx(): + unet = UNet2DConditionModel(**unet_config) + + # if is_accelerate_available(): + # for param_name, param in converted_unet_checkpoint.items(): + # set_module_tensor_to_device(unet, param_name, "cpu", value=param) + # else: + unet.load_state_dict(converted_unet_checkpoint) + + # Convert the VAE model. + if vae_path is None: + vae_config = create_vae_diffusers_config(original_config, image_size=image_size) + converted_vae_checkpoint = convert_ldm_vae_checkpoint(checkpoint, vae_config) + + if ( + "model" in original_config + and "params" in original_config.model + and "scale_factor" in original_config.model.params + ): + vae_scaling_factor = original_config.model.params.scale_factor + else: + vae_scaling_factor = 0.18215 # default SD scaling factor + + vae_config["scaling_factor"] = vae_scaling_factor + + ctx = init_empty_weights if is_accelerate_available() else nullcontext + with ctx(): + vae = AutoencoderKL(**vae_config) + + if is_accelerate_available(): + for param_name, param in converted_vae_checkpoint.items(): + set_module_tensor_to_device(vae, param_name, "cpu", value=param) + else: + vae.load_state_dict(converted_vae_checkpoint) + else: + vae = AutoencoderKL.from_pretrained(vae_path) + + if model_type == "FrozenOpenCLIPEmbedder": + config_name = "stabilityai/stable-diffusion-2" + config_kwargs = {"subfolder": "text_encoder"} + + text_model = convert_open_clip_checkpoint(checkpoint, config_name, **config_kwargs) + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / 'stable-diffusion-2-clip', subfolder="tokenizer") + + if stable_unclip is None: + if controlnet: + pipe = pipeline_class( + vae=vae, + text_encoder=text_model, + tokenizer=tokenizer, + unet=unet, + scheduler=scheduler, + controlnet=controlnet, + safety_checker=None, + feature_extractor=None, + requires_safety_checker=False, + ) + else: + pipe = pipeline_class( + vae=vae, + text_encoder=text_model, + tokenizer=tokenizer, + unet=unet, + scheduler=scheduler, + safety_checker=None, + feature_extractor=None, + requires_safety_checker=False, + ) + else: + image_normalizer, image_noising_scheduler = stable_unclip_image_noising_components( + original_config, clip_stats_path=clip_stats_path, device=device + ) + + if stable_unclip == "img2img": + feature_extractor, image_encoder = stable_unclip_image_encoder(original_config) + + pipe = StableUnCLIPImg2ImgPipeline( + # image encoding components + feature_extractor=feature_extractor, + image_encoder=image_encoder, + # image noising components + image_normalizer=image_normalizer, + image_noising_scheduler=image_noising_scheduler, + # regular denoising components + tokenizer=tokenizer, + text_encoder=text_model, + unet=unet, + scheduler=scheduler, + # vae + vae=vae, + ) + elif stable_unclip == "txt2img": + if stable_unclip_prior is None or stable_unclip_prior == "karlo": + karlo_model = "kakaobrain/karlo-v1-alpha" + prior = PriorTransformer.from_pretrained(karlo_model, subfolder="prior") + + prior_tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + prior_text_model = CLIPTextModelWithProjection.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + + prior_scheduler = UnCLIPScheduler.from_pretrained(karlo_model, subfolder="prior_scheduler") + prior_scheduler = DDPMScheduler.from_config(prior_scheduler.config) + else: + raise NotImplementedError(f"unknown prior for stable unclip model: {stable_unclip_prior}") + + pipe = StableUnCLIPPipeline( + # prior components + prior_tokenizer=prior_tokenizer, + prior_text_encoder=prior_text_model, + prior=prior, + prior_scheduler=prior_scheduler, + # image noising components + image_normalizer=image_normalizer, + image_noising_scheduler=image_noising_scheduler, + # regular denoising components + tokenizer=tokenizer, + text_encoder=text_model, + unet=unet, + scheduler=scheduler, + # vae + vae=vae, + ) + else: + raise NotImplementedError(f"unknown `stable_unclip` type: {stable_unclip}") + elif model_type == "PaintByExample": + vision_model = convert_paint_by_example_checkpoint(checkpoint) + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + feature_extractor = AutoFeatureExtractor.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker") + pipe = PaintByExamplePipeline( + vae=vae, + image_encoder=vision_model, + unet=unet, + scheduler=scheduler, + safety_checker=None, + feature_extractor=feature_extractor, + ) + elif model_type == "FrozenCLIPEmbedder": + text_model = convert_ldm_clip_checkpoint( + checkpoint, local_files_only=local_files_only, text_encoder=text_encoder + ) + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") if tokenizer is None else tokenizer + + if load_safety_checker: + safety_checker = StableDiffusionSafetyChecker.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker") + feature_extractor = AutoFeatureExtractor.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker") + else: + safety_checker = None + feature_extractor = None + + if controlnet: + pipe = pipeline_class( + vae=vae, + text_encoder=text_model, + tokenizer=tokenizer, + unet=unet, + controlnet=controlnet, + scheduler=scheduler, + safety_checker=safety_checker, + feature_extractor=feature_extractor, + ) + else: + pipe = pipeline_class( + vae=vae, + text_encoder=text_model, + tokenizer=tokenizer, + unet=unet, + scheduler=scheduler, + safety_checker=safety_checker, + feature_extractor=feature_extractor, + ) + elif model_type in ["SDXL", "SDXL-Refiner"]: + if model_type == "SDXL": + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + text_encoder = convert_ldm_clip_checkpoint(checkpoint, local_files_only=local_files_only) + + tokenizer_name = CONVERT_MODEL_ROOT / "CLIP-ViT-bigG-14-laion2B-39B-b160k" + tokenizer_2 = CLIPTokenizer.from_pretrained(tokenizer_name, pad_token="!") + + config_name = tokenizer_name + config_kwargs = {"projection_dim": 1280} + text_encoder_2 = convert_open_clip_checkpoint( + checkpoint, config_name, prefix="conditioner.embedders.1.model.", has_projection=True, **config_kwargs + ) + + pipe = StableDiffusionXLPipeline ( + vae=vae, + text_encoder=text_encoder, + tokenizer=tokenizer, + text_encoder_2=text_encoder_2, + tokenizer_2=tokenizer_2, + unet=unet, + scheduler=scheduler, + force_zeros_for_empty_prompt=True, + ) + else: + tokenizer = None + text_encoder = None + tokenizer_name = CONVERT_MODEL_ROOT / "CLIP-ViT-bigG-14-laion2B-39B-b160k" + tokenizer_2 = CLIPTokenizer.from_pretrained(tokenizer_name, pad_token="!") + + config_name = tokenizer_name + config_kwargs = {"projection_dim": 1280} + text_encoder_2 = convert_open_clip_checkpoint( + checkpoint, config_name, prefix="conditioner.embedders.0.model.", has_projection=True, **config_kwargs + ) + + pipe = StableDiffusionXLImg2ImgPipeline( + vae=vae, + text_encoder=text_encoder, + tokenizer=tokenizer, + text_encoder_2=text_encoder_2, + tokenizer_2=tokenizer_2, + unet=unet, + scheduler=scheduler, + requires_aesthetics_score=True, + force_zeros_for_empty_prompt=False, + ) + else: + text_config = create_ldm_bert_config(original_config) + text_model = convert_ldm_bert_checkpoint(checkpoint, text_config) + tokenizer = BertTokenizerFast.from_pretrained(CONVERT_MODEL_ROOT / "bert-base-uncased") + pipe = LDMTextToImagePipeline(vqvae=vae, bert=text_model, tokenizer=tokenizer, unet=unet, scheduler=scheduler) + + return pipe + + +def download_controlnet_from_original_ckpt( + checkpoint_path: str, + original_config_file: str, + image_size: int = 512, + extract_ema: bool = False, + num_in_channels: Optional[int] = None, + upcast_attention: Optional[bool] = None, + device: str = None, + from_safetensors: bool = False, + use_linear_projection: Optional[bool] = None, + cross_attention_dim: Optional[bool] = None, + scan_needed: bool = False, +) -> DiffusionPipeline: + if not is_omegaconf_available(): + raise ValueError(BACKENDS_MAPPING["omegaconf"][1]) + + from omegaconf import OmegaConf + + if from_safetensors: + if not is_safetensors_available(): + raise ValueError(BACKENDS_MAPPING["safetensors"][1]) + + from safetensors import safe_open + + checkpoint = {} + with safe_open(checkpoint_path, framework="pt", device="cpu") as f: + for key in f.keys(): + checkpoint[key] = f.get_tensor(key) + else: + if scan_needed: + # scan model + scan_result = scan_file_path(checkpoint_path) + if scan_result.infected_files != 0: + raise "The model {checkpoint_path} is potentially infected by malware. Aborting import." + if device is None: + device = "cuda" if torch.cuda.is_available() else "cpu" + checkpoint = torch.load(checkpoint_path, map_location=device) + else: + checkpoint = torch.load(checkpoint_path, map_location=device) + + # NOTE: this while loop isn't great but this controlnet checkpoint has one additional + # "state_dict" key https://huggingface.co/thibaud/controlnet-canny-sd21 + while "state_dict" in checkpoint: + checkpoint = checkpoint["state_dict"] + + original_config = OmegaConf.load(original_config_file) + + if num_in_channels is not None: + original_config["model"]["params"]["unet_config"]["params"]["in_channels"] = num_in_channels + + if "control_stage_config" not in original_config.model.params: + raise ValueError("`control_stage_config` not present in original config") + + controlnet = convert_controlnet_checkpoint( + checkpoint, + original_config, + checkpoint_path, + image_size, + upcast_attention, + extract_ema, + use_linear_projection=use_linear_projection, + cross_attention_dim=cross_attention_dim, + ) + + return controlnet def convert_ldm_vae_to_diffusers(checkpoint, vae_config: DictConfig, image_size: int) -> AutoencoderKL: vae_config = create_vae_diffusers_config( @@ -994,175 +1696,35 @@ def convert_ldm_vae_to_diffusers(checkpoint, vae_config: DictConfig, image_size: vae.load_state_dict(converted_vae_checkpoint) return vae -def load_pipeline_from_original_stable_diffusion_ckpt( - checkpoint_path: str, - model_version: BaseModelType, - model_variant: ModelVariantType, - original_config_file: str, - extract_ema: bool = True, - precision: torch.dtype = torch.float32, - scan_needed: bool = True, -) -> StableDiffusionPipeline: - """ - Load a Stable Diffusion pipeline object from a CompVis-style `.ckpt`/`.safetensors` file and (ideally) a `.yaml` - config file. - - Although many of the arguments can be automatically inferred, some of these rely on brittle checks against the - global step count, which will likely fail for models that have undergone further fine-tuning. Therefore, it is - recommended that you override the default values and/or supply an `original_config_file` wherever possible. - - :param checkpoint_path: Path to `.ckpt` file. - :param original_config_file: Path to `.yaml` config file corresponding to the original architecture. - If `None`, will be automatically inferred by looking for a key that only exists in SD2.0 models. - :param scheduler_type: Type of scheduler to use. Should be one of `["pndm", "lms", "heun", "euler", - "euler-ancestral", "dpm", "ddim"]`. :param model_type: The pipeline type. `None` to automatically infer, or one of - `["FrozenOpenCLIPEmbedder", "FrozenCLIPEmbedder"]`. :param extract_ema: Only relevant for - checkpoints that have both EMA and non-EMA weights. Whether to extract the EMA weights - or not. Defaults to `False`. Pass `True` to extract the EMA weights. EMA weights usually yield higher - quality images for inference. Non-EMA weights are usually better to continue fine-tuning. - :param precision: precision to use - torch.float16, torch.float32 or torch.autocast - """ - if not isinstance(checkpoint_path, Path): - checkpoint_path = Path(checkpoint_path) - - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - verbosity = dlogging.get_verbosity() - dlogging.set_verbosity_error() - - if checkpoint_path.suffix == ".safetensors": - checkpoint = load_file(checkpoint_path) - else: - if scan_needed: - # scan model - scan_result = scan_file_path(checkpoint_path) - if scan_result.infected_files != 0: - raise "The model {checkpoint_path} is potentially infected by malware. Aborting import." - checkpoint = torch.load(checkpoint_path) - - # sometimes there is a state_dict key and sometimes not - if "state_dict" in checkpoint: - checkpoint = checkpoint["state_dict"] - - original_config = OmegaConf.load(original_config_file) - - if model_version == BaseModelType.StableDiffusion2 and original_config["model"]["params"]["parameterization"] == "v": - prediction_type = "v_prediction" - upcast_attention = True - image_size = 768 - else: - prediction_type = "epsilon" - upcast_attention = False - image_size = 512 - - # - # convert scheduler - # - - num_train_timesteps = original_config.model.params.timesteps - beta_start = original_config.model.params.linear_start - beta_end = original_config.model.params.linear_end - - scheduler = PNDMScheduler( - beta_end=beta_end, - beta_schedule="scaled_linear", - beta_start=beta_start, - num_train_timesteps=num_train_timesteps, - steps_offset=1, - set_alpha_to_one=False, - prediction_type=prediction_type, - skip_prk_steps=True - ) - # make sure scheduler works correctly with DDIM - scheduler.register_to_config(clip_sample=False) - - # - # convert unet - # - - unet_config = create_unet_diffusers_config( - original_config, image_size=image_size - ) - unet_config["upcast_attention"] = upcast_attention - unet = UNet2DConditionModel(**unet_config) - - converted_unet_checkpoint = convert_ldm_unet_checkpoint( - checkpoint, unet_config, path=checkpoint_path, extract_ema=extract_ema - ) - - unet.load_state_dict(converted_unet_checkpoint) - - # - # convert vae - # - - vae = convert_ldm_vae_to_diffusers( - checkpoint, - original_config, - image_size, - ) - - # Convert the text model. - model_type = original_config.model.params.cond_stage_config.target.split(".")[-1] - if model_type == "FrozenOpenCLIPEmbedder": - text_model = convert_open_clip_checkpoint(checkpoint) - tokenizer = CLIPTokenizer.from_pretrained( - CONVERT_MODEL_ROOT / 'stable-diffusion-2-clip', - subfolder='tokenizer', - ) - pipe = StableDiffusionPipeline( - vae=vae.to(precision), - text_encoder=text_model.to(precision), - tokenizer=tokenizer, - unet=unet.to(precision), - scheduler=scheduler, - safety_checker=None, - feature_extractor=None, - requires_safety_checker=False, - ) - - elif model_type in ["FrozenCLIPEmbedder", "WeightedFrozenCLIPEmbedder"]: - text_model = convert_ldm_clip_checkpoint(checkpoint) - tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / 'clip-vit-large-patch14') - safety_checker = StableDiffusionSafetyChecker.from_pretrained(CONVERT_MODEL_ROOT / 'stable-diffusion-safety-checker') - feature_extractor = AutoFeatureExtractor.from_pretrained(CONVERT_MODEL_ROOT / 'stable-diffusion-safety-checker') - pipe = StableDiffusionPipeline( - vae=vae.to(precision), - text_encoder=text_model.to(precision), - tokenizer=tokenizer, - unet=unet.to(precision), - scheduler=scheduler, - safety_checker=safety_checker.to(precision), - feature_extractor=feature_extractor, - ) - - else: - text_config = create_ldm_bert_config(original_config) - text_model = convert_ldm_bert_checkpoint(checkpoint, text_config) - tokenizer = BertTokenizerFast.from_pretrained(CONVERT_MODEL_ROOT / "bert-base-uncased") - pipe = LDMTextToImagePipeline( - vqvae=vae, - bert=text_model, - tokenizer=tokenizer, - unet=unet, - scheduler=scheduler, - ) - dlogging.set_verbosity(verbosity) - - return pipe - - def convert_ckpt_to_diffusers( checkpoint_path: Union[str, Path], dump_path: Union[str, Path], + no_safetensors: bool = False, **kwargs, ): """ - Takes all the arguments of load_pipeline_from_original_stable_diffusion_ckpt(), + Takes all the arguments of download_from_original_stable_diffusion_ckpt(), and in addition a path-like object indicating the location of the desired diffusers model to be written. """ - pipe = load_pipeline_from_original_stable_diffusion_ckpt(checkpoint_path, **kwargs) + pipe = download_from_original_stable_diffusion_ckpt(checkpoint_path, **kwargs) + + pipe.save_pretrained( + dump_path, + safe_serialization=is_safetensors_available(), + ) + +def convert_controlnet_to_diffusers( + checkpoint_path: Union[str, Path], + dump_path: Union[str, Path], + **kwargs, +): + """ + Takes all the arguments of download_controlnet_from_original_ckpt(), + and in addition a path-like object indicating the location of the desired diffusers + model to be written. + """ + pipe = download_controlnet_from_original_ckpt(checkpoint_path, **kwargs) pipe.save_pretrained( dump_path, diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index a0b3e6d625..894fca9d74 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -673,6 +673,7 @@ class ModelManager(object): self.models[model_key] = model_config self.commit() + return AddModelResult( name = model_name, model_type = model_type, @@ -840,7 +841,7 @@ class ModelManager(object): Returns the preamble for the config file. """ return textwrap.dedent( - """\ + """ # This file describes the alternative machine learning models # available to InvokeAI script. # diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index 6a65401675..d2f20bdef7 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -253,7 +253,8 @@ class PipelineCheckpointProbe(CheckpointProbeBase): return BaseModelType.StableDiffusion1 if key_name in state_dict and state_dict[key_name].shape[-1] == 1024: return BaseModelType.StableDiffusion2 - # TODO: Verify that this is correct! Need an XL checkpoint file for this. + # TODO: This is just a guess based on N=1 + key_name = 'model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k.weight' if key_name in state_dict and state_dict[key_name].shape[-1] == 2048: return BaseModelType.StableDiffusionXL raise InvalidModelException("Cannot determine base type") diff --git a/invokeai/backend/model_management/models/controlnet.py b/invokeai/backend/model_management/models/controlnet.py index 178fea4d13..41952af5d9 100644 --- a/invokeai/backend/model_management/models/controlnet.py +++ b/invokeai/backend/model_management/models/controlnet.py @@ -1,7 +1,8 @@ import os import torch from enum import Enum -from typing import Optional +from pathlib import Path +from typing import Optional, Literal from .base import ( ModelBase, ModelConfigBase, @@ -15,6 +16,7 @@ from .base import ( InvalidModelException, ModelNotFoundException, ) +from invokeai.app.services.config import InvokeAIAppConfig class ControlNetModelFormat(str, Enum): Checkpoint = "checkpoint" @@ -24,8 +26,12 @@ class ControlNetModel(ModelBase): #model_class: Type #model_size: int - class Config(ModelConfigBase): - model_format: ControlNetModelFormat + class DiffusersConfig(ModelConfigBase): + model_format: Literal[ControlNetModelFormat.Diffusers] + + class CheckpointConfig(ModelConfigBase): + model_format: Literal[ControlNetModelFormat.Checkpoint] + config: str def __init__(self, model_path: str, base_model: BaseModelType, model_type: ModelType): assert model_type == ModelType.ControlNet @@ -99,13 +105,51 @@ class ControlNetModel(ModelBase): @classmethod def convert_if_required( + cls, + model_path: str, + output_path: str, + config: ModelConfigBase, + base_model: BaseModelType, + ) -> str: + if cls.detect_format(model_path) == ControlNetModelFormat.Checkpoint: + return _convert_controlnet_ckpt_and_cache( + model_path = model_path, + model_config = config.config, + output_path = output_path, + base_model = base_model, + ) + else: + return model_path + +@classmethod +def _convert_controlnet_ckpt_and_cache( cls, model_path: str, output_path: str, - config: ModelConfigBase, # empty config or config of parent model base_model: BaseModelType, - ) -> str: - if cls.detect_format(model_path) != ControlNetModelFormat.Diffusers: - raise NotImplementedError("Checkpoint controlnet models currently unsupported") - else: - return model_path + model_config: ControlNetModel.CheckpointConfig, +) -> str: + """ + Convert the controlnet from checkpoint format to diffusers format, + cache it to disk, and return Path to converted + file. If already on disk then just returns Path. + """ + app_config = InvokeAIAppConfig.get_config() + weights = app_config.root_path / model_path + output_path = Path(output_path) + + # return cached version if it exists + if output_path.exists(): + return output_path + + # to avoid circular import errors + from ..convert_ckpt_to_diffusers import convert_controlnet_to_diffusers + convert_controlnet_to_diffusers( + weights, + output_path, + original_config_file = app_config.root_path / model_config, + image_size = 512, + scan_needed = True, + from_safetensors = weights.suffix == ".safetensors" + ) + return output_path diff --git a/invokeai/backend/model_management/models/sdxl.py b/invokeai/backend/model_management/models/sdxl.py index 76cabcdc62..f66aa5a87a 100644 --- a/invokeai/backend/model_management/models/sdxl.py +++ b/invokeai/backend/model_management/models/sdxl.py @@ -48,7 +48,7 @@ class StableDiffusionXLModel(DiffusersModel): if model_format == StableDiffusionXLModelFormat.Checkpoint: if ckpt_config_path: ckpt_config = OmegaConf.load(ckpt_config_path) - ckpt_config["model"]["params"]["unet_config"]["params"]["in_channels"] + in_channels = ckpt_config["model"]["params"]["unet_config"]["params"]["in_channels"] else: checkpoint = read_checkpoint_meta(path) @@ -109,6 +109,13 @@ class StableDiffusionXLModel(DiffusersModel): base_model: BaseModelType, ) -> str: if isinstance(config, cls.CheckpointConfig): - raise NotImplementedError('conversion of SDXL checkpoint models to diffusers format is not yet supported') + from invokeai.backend.model_management.models.stable_diffusion import _convert_ckpt_and_cache + return _convert_ckpt_and_cache( + version=base_model, + model_config=config, + output_path=output_path, + model_type='SDXL', + no_safetensors=True, # giving errors for some reason + ) else: return model_path diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index a90a72ba30..6a8329e911 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -15,6 +15,7 @@ from .base import ( classproperty, InvalidModelException, ) +from .sdxl import StableDiffusionXLModel from invokeai.app.services.config import InvokeAIAppConfig from omegaconf import OmegaConf @@ -235,42 +236,16 @@ class StableDiffusion2Model(DiffusersModel): else: return model_path -def _select_ckpt_config(version: BaseModelType, variant: ModelVariantType): - ckpt_configs = { - BaseModelType.StableDiffusion1: { - ModelVariantType.Normal: "v1-inference.yaml", - ModelVariantType.Inpaint: "v1-inpainting-inference.yaml", - }, - BaseModelType.StableDiffusion2: { - ModelVariantType.Normal: "v2-inference-v.yaml", # best guess, as we can't differentiate with base(512) - ModelVariantType.Inpaint: "v2-inpainting-inference.yaml", - ModelVariantType.Depth: "v2-midas-inference.yaml", - }, - # note that these .yaml files don't yet exist! - BaseModelType.StableDiffusionXL: { - ModelVariantType.Normal: "xl-inference-v.yaml", - ModelVariantType.Inpaint: "xl-inpainting-inference.yaml", - ModelVariantType.Depth: "xl-midas-inference.yaml", - } - } - - app_config = InvokeAIAppConfig.get_config() - try: - config_path = app_config.legacy_conf_path / ckpt_configs[version][variant] - if config_path.is_relative_to(app_config.root_path): - config_path = config_path.relative_to(app_config.root_path) - return str(config_path) - - except: - return None - - # TODO: rework -# Note that convert_ckpt_to_diffuses does not currently support conversion of SDXL models def _convert_ckpt_and_cache( - version: BaseModelType, - model_config: Union[StableDiffusion1Model.CheckpointConfig, StableDiffusion2Model.CheckpointConfig], - output_path: str, + version: BaseModelType, + model_config: Union[StableDiffusion1Model.CheckpointConfig, + StableDiffusion2Model.CheckpointConfig, + StableDiffusionXLModel.CheckpointConfig, + ], + output_path: str, + use_save_model: bool=False, + **kwargs, ) -> str: """ Convert the checkpoint model indicated in mconfig into a @@ -298,5 +273,42 @@ def _convert_ckpt_and_cache( original_config_file=config_file, extract_ema=True, scan_needed=True, + from_safetensors = weights.suffix == ".safetensors", + **kwargs, ) return output_path + +def _select_ckpt_config(version: BaseModelType, variant: ModelVariantType): + ckpt_configs = { + BaseModelType.StableDiffusion1: { + ModelVariantType.Normal: "v1-inference.yaml", + ModelVariantType.Inpaint: "v1-inpainting-inference.yaml", + }, + BaseModelType.StableDiffusion2: { + ModelVariantType.Normal: "v2-inference-v.yaml", # best guess, as we can't differentiate with base(512) + ModelVariantType.Inpaint: "v2-inpainting-inference.yaml", + ModelVariantType.Depth: "v2-midas-inference.yaml", + }, + BaseModelType.StableDiffusionXL: { + ModelVariantType.Normal: "sd_xl_base.yaml", + ModelVariantType.Inpaint: None, + ModelVariantType.Depth: None, + }, + BaseModelType.StableDiffusionXLRefiner: { + ModelVariantType.Normal: "sd_xl_refiner.yaml", + ModelVariantType.Inpaint: None, + ModelVariantType.Depth: None, + }, + } + + app_config = InvokeAIAppConfig.get_config() + try: + config_path = app_config.legacy_conf_path / ckpt_configs[version][variant] + if config_path.is_relative_to(app_config.root_path): + config_path = config_path.relative_to(app_config.root_path) + return str(config_path) + + except: + return None + + diff --git a/invokeai/configs/stable-diffusion/sd_xl_base.yaml b/invokeai/configs/stable-diffusion/sd_xl_base.yaml new file mode 100644 index 0000000000..2022dac950 --- /dev/null +++ b/invokeai/configs/stable-diffusion/sd_xl_base.yaml @@ -0,0 +1,98 @@ +model: + target: sgm.models.diffusion.DiffusionEngine + params: + scale_factor: 0.13025 + disable_first_stage_autocast: True + + denoiser_config: + target: sgm.modules.diffusionmodules.denoiser.DiscreteDenoiser + params: + num_idx: 1000 + + weighting_config: + target: sgm.modules.diffusionmodules.denoiser_weighting.EpsWeighting + scaling_config: + target: sgm.modules.diffusionmodules.denoiser_scaling.EpsScaling + discretization_config: + target: sgm.modules.diffusionmodules.discretizer.LegacyDDPMDiscretization + + network_config: + target: sgm.modules.diffusionmodules.openaimodel.UNetModel + params: + adm_in_channels: 2816 + num_classes: sequential + use_checkpoint: True + in_channels: 4 + out_channels: 4 + model_channels: 320 + attention_resolutions: [4, 2] + num_res_blocks: 2 + channel_mult: [1, 2, 4] + num_head_channels: 64 + use_spatial_transformer: True + use_linear_in_transformer: True + transformer_depth: [1, 2, 10] # note: the first is unused (due to attn_res starting at 2) 32, 16, 8 --> 64, 32, 16 + context_dim: 2048 + spatial_transformer_attn_type: softmax-xformers + legacy: False + + conditioner_config: + target: sgm.modules.GeneralConditioner + params: + emb_models: + # crossattn cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenCLIPEmbedder + params: + layer: hidden + layer_idx: 11 + # crossattn and vector cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenOpenCLIPEmbedder2 + params: + arch: ViT-bigG-14 + version: laion2b_s39b_b160k + freeze: True + layer: penultimate + always_return_pooled: True + legacy: False + # vector cond + - is_trainable: False + input_key: original_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: crop_coords_top_left + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: target_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + + first_stage_config: + target: sgm.models.autoencoder.AutoencoderKLInferenceWrapper + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + attn_type: vanilla-xformers + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: [1, 2, 4, 4] + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity \ No newline at end of file diff --git a/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml b/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml new file mode 100644 index 0000000000..cab5fe283d --- /dev/null +++ b/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml @@ -0,0 +1,91 @@ +model: + target: sgm.models.diffusion.DiffusionEngine + params: + scale_factor: 0.13025 + disable_first_stage_autocast: True + + denoiser_config: + target: sgm.modules.diffusionmodules.denoiser.DiscreteDenoiser + params: + num_idx: 1000 + + weighting_config: + target: sgm.modules.diffusionmodules.denoiser_weighting.EpsWeighting + scaling_config: + target: sgm.modules.diffusionmodules.denoiser_scaling.EpsScaling + discretization_config: + target: sgm.modules.diffusionmodules.discretizer.LegacyDDPMDiscretization + + network_config: + target: sgm.modules.diffusionmodules.openaimodel.UNetModel + params: + adm_in_channels: 2560 + num_classes: sequential + use_checkpoint: True + in_channels: 4 + out_channels: 4 + model_channels: 384 + attention_resolutions: [4, 2] + num_res_blocks: 2 + channel_mult: [1, 2, 4, 4] + num_head_channels: 64 + use_spatial_transformer: True + use_linear_in_transformer: True + transformer_depth: 4 + context_dim: [1280, 1280, 1280, 1280] # 1280 + spatial_transformer_attn_type: softmax-xformers + legacy: False + + conditioner_config: + target: sgm.modules.GeneralConditioner + params: + emb_models: + # crossattn and vector cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenOpenCLIPEmbedder2 + params: + arch: ViT-bigG-14 + version: laion2b_s39b_b160k + legacy: False + freeze: True + layer: penultimate + always_return_pooled: True + # vector cond + - is_trainable: False + input_key: original_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: crop_coords_top_left + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: aesthetic_score + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by one + + first_stage_config: + target: sgm.models.autoencoder.AutoencoderKLInferenceWrapper + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + attn_type: vanilla-xformers + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: [1, 2, 4, 4] + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity From b1d7c9b3064b7c8ed6d7dfdc9b0af1088678ec5e Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 22 Jul 2023 21:33:40 -0400 Subject: [PATCH 002/106] save text_encoder_2 config, not whole model --- invokeai/backend/install/invokeai_configure.py | 13 ++++++++----- .../model_management/convert_ckpt_to_diffusers.py | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 90df00dd28..8d329a9db1 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -32,6 +32,7 @@ from omegaconf import OmegaConf from tqdm import tqdm from transformers import ( CLIPTextModel, + CLIPTextConfig, CLIPTokenizer, AutoFeatureExtractor, BertTokenizerFast, @@ -205,13 +206,15 @@ def download_conversion_models(): pipeline = CLIPTextModel.from_pretrained(repo_id, subfolder="text_encoder", **kwargs) pipeline.save_pretrained(target_dir / 'stable-diffusion-2-clip' / 'text_encoder', safe_serialization=True) + # sd-xl - tokenizer_2 repo_id = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k" _, model_name = repo_id.split('/') - tokenizer_2 = CLIPTokenizer.from_pretrained(repo_id, **kwargs) - tokenizer_2.save_pretrained(target_dir / model_name, safe_serialization=True) - # for some reason config.json never downloads - hf_download_with_resume(repo_id, target_dir / model_name, "config.json") - + pipeline = CLIPTokenizer.from_pretrained(repo_id, **kwargs) + pipeline.save_pretrained(target_dir / model_name, safe_serialization=True) + + pipeline = CLIPTextConfig.from_pretrained(repo_id, **kwargs) + pipeline.save_pretrained(target_dir / model_name, safe_serialization=True) + # VAE logger.info('Downloading stable diffusion VAE') vae = AutoencoderKL.from_pretrained('stabilityai/sd-vae-ft-mse', **kwargs) diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index 3d071437ae..dfd7fd100c 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1711,7 +1711,7 @@ def convert_ckpt_to_diffusers( pipe.save_pretrained( dump_path, - safe_serialization=is_safetensors_available(), + safe_serialization=is_safetensors_available() and not no_safetensors, ) def convert_controlnet_to_diffusers( From 5e59edfaf153e40cbb15fd625001c363ef2dfc33 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 00:00:31 -0400 Subject: [PATCH 003/106] SDXL checkpoint models now convert and load; needs refactor --- .../convert_ckpt_to_diffusers.py | 41 ++++++++++--------- .../models/stable_diffusion.py | 1 + 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index dfd7fd100c..aa4dc0ecbc 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1071,6 +1071,7 @@ def convert_controlnet_checkpoint( extract_ema, use_linear_projection=None, cross_attention_dim=None, + precision: torch.dtype=torch.float32, ): ctrlnet_config = create_unet_diffusers_config(original_config, image_size=image_size, controlnet=True) ctrlnet_config["upcast_attention"] = upcast_attention @@ -1108,9 +1109,9 @@ def convert_controlnet_checkpoint( controlnet.load_state_dict(converted_ctrl_checkpoint) - return controlnet - + return controlnet.to(precision) +# TO DO - PASS PRECISION def download_from_original_stable_diffusion_ckpt( checkpoint_path: str, model_version: BaseModelType, @@ -1120,6 +1121,7 @@ def download_from_original_stable_diffusion_ckpt( prediction_type: str = None, model_type: str = None, extract_ema: bool = False, + precision: torch.dtype = torch.float16, scheduler_type: str = "pndm", num_in_channels: Optional[int] = None, upcast_attention: Optional[bool] = None, @@ -1395,11 +1397,11 @@ def download_from_original_stable_diffusion_ckpt( with ctx(): unet = UNet2DConditionModel(**unet_config) - # if is_accelerate_available(): - # for param_name, param in converted_unet_checkpoint.items(): - # set_module_tensor_to_device(unet, param_name, "cpu", value=param) - # else: - unet.load_state_dict(converted_unet_checkpoint) + if is_accelerate_available(): + for param_name, param in converted_unet_checkpoint.items(): + set_module_tensor_to_device(unet, param_name, "cpu", value=param) + else: + unet.load_state_dict(converted_unet_checkpoint) # Convert the VAE model. if vae_path is None: @@ -1439,10 +1441,10 @@ def download_from_original_stable_diffusion_ckpt( if stable_unclip is None: if controlnet: pipe = pipeline_class( - vae=vae, + vae=vae.to(precision), text_encoder=text_model, tokenizer=tokenizer, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, controlnet=controlnet, safety_checker=None, @@ -1451,10 +1453,10 @@ def download_from_original_stable_diffusion_ckpt( ) else: pipe = pipeline_class( - vae=vae, + vae=vae.to(precision), text_encoder=text_model, tokenizer=tokenizer, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, safety_checker=None, feature_extractor=None, @@ -1542,10 +1544,10 @@ def download_from_original_stable_diffusion_ckpt( if controlnet: pipe = pipeline_class( - vae=vae, + vae=vae.to(precision), text_encoder=text_model, tokenizer=tokenizer, - unet=unet, + unet=unet.to(precision), controlnet=controlnet, scheduler=scheduler, safety_checker=safety_checker, @@ -1553,10 +1555,10 @@ def download_from_original_stable_diffusion_ckpt( ) else: pipe = pipeline_class( - vae=vae, + vae=vae.to(precision), text_encoder=text_model, tokenizer=tokenizer, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, safety_checker=safety_checker, feature_extractor=feature_extractor, @@ -1576,12 +1578,12 @@ def download_from_original_stable_diffusion_ckpt( ) pipe = StableDiffusionXLPipeline ( - vae=vae, + vae=vae.to(precision), text_encoder=text_encoder, tokenizer=tokenizer, text_encoder_2=text_encoder_2, tokenizer_2=tokenizer_2, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, force_zeros_for_empty_prompt=True, ) @@ -1598,12 +1600,12 @@ def download_from_original_stable_diffusion_ckpt( ) pipe = StableDiffusionXLImg2ImgPipeline( - vae=vae, + vae=vae.to(precision), text_encoder=text_encoder, tokenizer=tokenizer, text_encoder_2=text_encoder_2, tokenizer_2=tokenizer_2, - unet=unet, + unet=unet.to(precision), scheduler=scheduler, requires_aesthetics_score=True, force_zeros_for_empty_prompt=False, @@ -1622,6 +1624,7 @@ def download_controlnet_from_original_ckpt( original_config_file: str, image_size: int = 512, extract_ema: bool = False, + precision: torch.dtype = torch.float16, num_in_channels: Optional[int] = None, upcast_attention: Optional[bool] = None, device: str = None, diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index 6a8329e911..cf34686d6f 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -237,6 +237,7 @@ class StableDiffusion2Model(DiffusersModel): return model_path # TODO: rework +# pass precision - currently defaulting to fp16 def _convert_ckpt_and_cache( version: BaseModelType, model_config: Union[StableDiffusion1Model.CheckpointConfig, From f2a6f0cf2185ebe222ad7b60e80ef91a3d9c8006 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 09:31:14 -0400 Subject: [PATCH 004/106] SDXL & SDXL-refiner models convert correctly --- .../model_management/convert_ckpt_to_diffusers.py | 10 +++++----- invokeai/backend/model_management/model_probe.py | 6 ++++-- invokeai/backend/model_management/models/sdxl.py | 11 +++++++++-- .../model_management/models/stable_diffusion.py | 6 ++++++ invokeai/backend/util/logging.py | 2 +- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index aa4dc0ecbc..0124da7f56 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1121,7 +1121,7 @@ def download_from_original_stable_diffusion_ckpt( prediction_type: str = None, model_type: str = None, extract_ema: bool = False, - precision: torch.dtype = torch.float16, + precision: torch.dtype = torch.float32, scheduler_type: str = "pndm", num_in_channels: Optional[int] = None, upcast_attention: Optional[bool] = None, @@ -1250,7 +1250,7 @@ def download_from_original_stable_diffusion_ckpt( while "state_dict" in checkpoint: checkpoint = checkpoint["state_dict"] - print(f'DEBUG: model_type = {model_type}; original_config_file = {original_config_file}') + logger.debug(f'model_type = {model_type}; original_config_file = {original_config_file}') if original_config_file is None: key_name_v2_1 = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" @@ -1624,7 +1624,7 @@ def download_controlnet_from_original_ckpt( original_config_file: str, image_size: int = 512, extract_ema: bool = False, - precision: torch.dtype = torch.float16, + precision: torch.dtype = torch.float32, num_in_channels: Optional[int] = None, upcast_attention: Optional[bool] = None, device: str = None, @@ -1702,7 +1702,7 @@ def convert_ldm_vae_to_diffusers(checkpoint, vae_config: DictConfig, image_size: def convert_ckpt_to_diffusers( checkpoint_path: Union[str, Path], dump_path: Union[str, Path], - no_safetensors: bool = False, + use_safetensors: bool=True, **kwargs, ): """ @@ -1714,7 +1714,7 @@ def convert_ckpt_to_diffusers( pipe.save_pretrained( dump_path, - safe_serialization=is_safetensors_available() and not no_safetensors, + safe_serialization=use_safetensors and is_safetensors_available(), ) def convert_controlnet_to_diffusers( diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index d2f20bdef7..f768417506 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -253,11 +253,13 @@ class PipelineCheckpointProbe(CheckpointProbeBase): return BaseModelType.StableDiffusion1 if key_name in state_dict and state_dict[key_name].shape[-1] == 1024: return BaseModelType.StableDiffusion2 - # TODO: This is just a guess based on N=1 key_name = 'model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k.weight' if key_name in state_dict and state_dict[key_name].shape[-1] == 2048: return BaseModelType.StableDiffusionXL - raise InvalidModelException("Cannot determine base type") + elif key_name in state_dict and state_dict[key_name].shape[-1] == 1280: + return BaseModelType.StableDiffusionXLRefiner + else: + raise InvalidModelException("Cannot determine base type") def get_scheduler_prediction_type(self)->SchedulerPredictionType: type = self.get_base_type() diff --git a/invokeai/backend/model_management/models/sdxl.py b/invokeai/backend/model_management/models/sdxl.py index f66aa5a87a..ef0dd4c720 100644 --- a/invokeai/backend/model_management/models/sdxl.py +++ b/invokeai/backend/model_management/models/sdxl.py @@ -1,5 +1,6 @@ import os import json +import invokeai.backend.util.logging as logger from enum import Enum from pydantic import Field from typing import Literal, Optional @@ -108,14 +109,20 @@ class StableDiffusionXLModel(DiffusersModel): config: ModelConfigBase, base_model: BaseModelType, ) -> str: + # The convert script adapted from the diffusers package uses + # strings for the base model type. To avoid making too many + # source code changes, we simply translate here + model_base_to_model_type = {BaseModelType.StableDiffusionXL: 'SDXL', + BaseModelType.StableDiffusionXLRefiner: 'SDXL-Refiner', + } if isinstance(config, cls.CheckpointConfig): from invokeai.backend.model_management.models.stable_diffusion import _convert_ckpt_and_cache return _convert_ckpt_and_cache( version=base_model, model_config=config, output_path=output_path, - model_type='SDXL', - no_safetensors=True, # giving errors for some reason + model_type=model_base_to_model_type[base_model], + use_safetensors=False, # corrupts sdxl models for some reason ) else: return model_path diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index cf34686d6f..735e2e6bfb 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -16,9 +16,11 @@ from .base import ( InvalidModelException, ) from .sdxl import StableDiffusionXLModel +import invokeai.backend.util.logging as logger from invokeai.app.services.config import InvokeAIAppConfig from omegaconf import OmegaConf + class StableDiffusion1ModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" @@ -265,6 +267,9 @@ def _convert_ckpt_and_cache( # to avoid circular import errors from ..convert_ckpt_to_diffusers import convert_ckpt_to_diffusers + from ...util.devices import choose_torch_device, torch_dtype + + logger.info(f'Converting {weights} to diffusers format') with SilenceWarnings(): convert_ckpt_to_diffusers( weights, @@ -275,6 +280,7 @@ def _convert_ckpt_and_cache( extract_ema=True, scan_needed=True, from_safetensors = weights.suffix == ".safetensors", + precision = torch_dtype(choose_torch_device()), **kwargs, ) return output_path diff --git a/invokeai/backend/util/logging.py b/invokeai/backend/util/logging.py index 09ae600633..d06c036506 100644 --- a/invokeai/backend/util/logging.py +++ b/invokeai/backend/util/logging.py @@ -1,7 +1,7 @@ # Copyright (c) 2023 Lincoln D. Stein and The InvokeAI Development Team """ -invokeai.util.logging +invokeai.backend.util.logging Logging class for InvokeAI that produces console messages From 5c6f417471edaf7f2b5e1a08363836935208cd9f Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 16:24:34 -0400 Subject: [PATCH 005/106] add safetychecker and watermark nodes --- invokeai/app/invocations/image.py | 136 +++++++++++++++++- invokeai/backend/__init__.py | 1 + .../frontend/web/src/services/api/schema.d.ts | 54 +++++-- 3 files changed, 178 insertions(+), 13 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 8405aa6daf..dfb047ef50 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -5,8 +5,12 @@ from typing import Literal, Optional import numpy from PIL import Image, ImageFilter, ImageOps, ImageChops from pydantic import BaseModel, Field +from pathlib import Path from typing import Union +from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker +from transformers import AutoFeatureExtractor + from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import ( BaseInvocation, @@ -14,7 +18,8 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) - +from invokeai.backend.util.devices import choose_torch_device +from invokeai.backend import SilenceWarnings class PILInvocationConfig(BaseModel): """Helper class to provide all PIL invocations with additional config""" @@ -397,7 +402,6 @@ class ImageConvertInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) - class ImageBlurInvocation(BaseInvocation, PILInvocationConfig): """Blurs an image""" @@ -602,7 +606,6 @@ class ImageLerpInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) - class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): """Inverse linear interpolation of all pixels of an image""" @@ -650,3 +653,130 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): width=image_dto.width, height=image_dto.height, ) + +class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): + """Add blur to NSFW-flagged images""" + + # fmt: off + type: Literal["img_nsfw"] = "img_nsfw" + + # Inputs + image: Optional[ImageField] = Field(default=None, description="The image to check") + active: bool = Field(default=True, description="Whether the NSFW checker is active") + # fmt: on + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "title": "Blur NSFW Images", + "tags": ["image", "nsfw", "checker"] + }, + } + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get_pil_image(self.image.image_name) + + if not self.active: + return ImageOutput( + image=ImageField(image_name=self.image.image_name), + width=image.width, + height=image.height, + ) + + config = context.services.configuration + logger = context.services.logger + device = choose_torch_device() + + logger.info("Running NSFW checker") + safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + + features = feature_extractor([image], return_tensors="pt") + features.to(device) + safety_checker.to(device) + + x_image = numpy.array(image).astype(numpy.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) + + logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") + if has_nsfw_concept[0]: + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + + image_dto = context.services.images.create( + image=blurry_image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + else: + return ImageOutput( + image=ImageField(image_name=self.image.image_name), + width=image.width, + height=image.height, + ) + + def _get_caution_img(self)->Image: + import invokeai.assets.web as web_assets + caution = Image.open(Path(web_assets.__path__[0]) / 'caution.png') + return caution.resize((caution.width // 2, caution.height //2)) + +class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): + """ Add an invisible watermark to an image """ + # fmt: off + type: Literal["img_watermark"] = "img_watermark" + + # Inputs + image: Optional[ImageField] = Field(default=None, description="The image to check") + text: str = Field(default='InvokeAI', description="Watermark text") + # fmt: on + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "title": "Add Invisible Watermark", + "tags": ["image", "watermark", "invisible"] + }, + } + + def invoke(self, context: InvocationContext) -> ImageOutput: + import cv2 + from imwatermark import WatermarkEncoder + + image = context.services.images.get_pil_image(self.image.image_name) + bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + wm = self.text + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', wm.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + new_image = Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") + + image_dto = context.services.images.create( + image=new_image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + + + diff --git a/invokeai/backend/__init__.py b/invokeai/backend/__init__.py index ff8b4bc8c5..cb21f1f9ed 100644 --- a/invokeai/backend/__init__.py +++ b/invokeai/backend/__init__.py @@ -13,3 +13,4 @@ from .model_management import ( ModelType, SubModelType, ModelInfo ) from .safety_checker import SafetyChecker +from .model_management.models import SilenceWarnings diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 0fce960703..8cef034e98 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1305,7 +1305,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1348,7 +1348,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -1895,6 +1895,40 @@ export type components = { */ image2?: components["schemas"]["ImageField"]; }; + /** + * ImageNSFWBlur + * @description Add blur to NSFW-flagged images + */ + ImageNSFWBlur: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_nsfw + * @enum {string} + */ + type?: "img_nsfw"; + /** + * Image + * @description The image to pass to the NSFW checker + */ + image?: components["schemas"]["ImageField"]; + /** + * Active + * @description Whether the NSFW checker is active + * @default true + */ + active?: boolean; + }; /** * ImageOutput * @description Base class for invocations that output an image @@ -5355,12 +5389,6 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; - /** - * StableDiffusion2ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. @@ -5373,6 +5401,12 @@ export type components = { * @enum {string} */ StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion2ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5483,7 +5517,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5520,7 +5554,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { From 4754a941026dc74c8cb8c3b360bdeb1a567e5538 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 23:32:08 -0400 Subject: [PATCH 006/106] update linear graphs to perform safety checking and watermarking --- .../controlnet_image_processors.py | 2 +- invokeai/app/invocations/image.py | 161 +++++++----------- invokeai/app/invocations/image_defs.py | 54 ++++++ invokeai/app/invocations/latent.py | 2 +- invokeai/app/invocations/metadata.py | 1 - .../services/board_image_record_storage.py | 2 + invokeai/app/services/config.py | 1 + invokeai/app/services/default_graphs.py | 5 +- invokeai/app/services/images.py | 5 +- .../buildCanvasImageToImageGraph.ts | 36 +++- .../buildCanvasTextToImageGraph.ts | 34 +++- .../buildLinearImageToImageGraph.ts | 35 +++- .../buildLinearTextToImageGraph.ts | 36 +++- .../nodes/util/graphBuilders/constants.ts | 2 + 14 files changed, 263 insertions(+), 113 deletions(-) create mode 100644 invokeai/app/invocations/image_defs.py diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index 911fede8fb..b04c45ae20 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -20,7 +20,7 @@ from ...backend.model_management import BaseModelType, ModelType from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import (BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext) -from .image import ImageOutput, PILInvocationConfig +from .image_defs import ImageOutput, PILInvocationConfig CONTROLNET_DEFAULT_MODELS = [ ########################################### diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index dfb047ef50..cf82148483 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -7,10 +7,9 @@ from PIL import Image, ImageFilter, ImageOps, ImageChops from pydantic import BaseModel, Field from pathlib import Path from typing import Union - +from invokeai.app.invocations.metadata import CoreMetadata from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker from transformers import AutoFeatureExtractor - from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import ( BaseInvocation, @@ -18,53 +17,15 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) +from .image_defs import ( + PILInvocationConfig, + ImageOutput, + MaskOutput, + ) +from ..services.config import InvokeAIAppConfig from invokeai.backend.util.devices import choose_torch_device from invokeai.backend import SilenceWarnings -class PILInvocationConfig(BaseModel): - """Helper class to provide all PIL invocations with additional config""" - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["PIL", "image"], - }, - } - - -class ImageOutput(BaseInvocationOutput): - """Base class for invocations that output an image""" - - # fmt: off - type: Literal["image_output"] = "image_output" - image: ImageField = Field(default=None, description="The output image") - width: int = Field(description="The width of the image in pixels") - height: int = Field(description="The height of the image in pixels") - # fmt: on - - class Config: - schema_extra = {"required": ["type", "image", "width", "height"]} - - -class MaskOutput(BaseInvocationOutput): - """Base class for invocations that output a mask""" - - # fmt: off - type: Literal["mask"] = "mask" - mask: ImageField = Field(default=None, description="The output mask") - width: int = Field(description="The width of the mask in pixels") - height: int = Field(description="The height of the mask in pixels") - # fmt: on - - class Config: - schema_extra = { - "required": [ - "type", - "mask", - ] - } - - class LoadImageInvocation(BaseInvocation): """Load an image and provide it as output.""" @@ -656,13 +617,15 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): """Add blur to NSFW-flagged images""" + DEFAULT_ENABLED = InvokeAIAppConfig.get_config().nsfw_checker # fmt: off type: Literal["img_nsfw"] = "img_nsfw" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") - active: bool = Field(default=True, description="Whether the NSFW checker is active") + enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the NSFW checker is enabled") + metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on class Config(InvocationConfig): @@ -676,55 +639,46 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - if not self.active: - return ImageOutput( - image=ImageField(image_name=self.image.image_name), - width=image.width, - height=image.height, - ) - config = context.services.configuration logger = context.services.logger device = choose_torch_device() - logger.info("Running NSFW checker") - safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - - features = feature_extractor([image], return_tensors="pt") - features.to(device) - safety_checker.to(device) + if self.enabled: + logger.info("Running NSFW checker") + safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - x_image = numpy.array(image).astype(numpy.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - with SilenceWarnings(): - checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) + features = feature_extractor([image], return_tensors="pt") + features.to(device) + safety_checker.to(device) - logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") - if has_nsfw_concept[0]: - blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) - caution = self._get_caution_img() - blurry_image.paste(caution,(0,0),caution) + x_image = numpy.array(image).astype(numpy.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) - image_dto = context.services.images.create( - image=blurry_image, - image_origin=ResourceOrigin.INTERNAL, - image_category=ImageCategory.GENERAL, - node_id=self.id, - session_id=context.graph_execution_state_id, - is_intermediate=self.is_intermediate, - ) - return ImageOutput( - image=ImageField(image_name=image_dto.image_name), - width=image_dto.width, - height=image_dto.height, - ) - else: - return ImageOutput( - image=ImageField(image_name=self.image.image_name), - width=image.width, - height=image.height, - ) + logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") + if has_nsfw_concept[0]: + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + image = blurry_image + + image_dto = context.services.images.create( + image=image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + metadata=self.metadata.dict() if self.metadata else None, + ) + + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) def _get_caution_img(self)->Image: import invokeai.assets.web as web_assets @@ -733,12 +687,18 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): """ Add an invisible watermark to an image """ + + # to avoid circular import + DEFAULT_ENABLED = InvokeAIAppConfig.get_config().invisible_watermark + # fmt: off type: Literal["img_watermark"] = "img_watermark" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") text: str = Field(default='InvokeAI', description="Watermark text") + enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the invisible watermark is enabled") + metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on class Config(InvocationConfig): @@ -753,23 +713,28 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): import cv2 from imwatermark import WatermarkEncoder + logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) - bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) - wm = self.text - encoder = WatermarkEncoder() - encoder.set_watermark('bytes', wm.encode('utf-8')) - bgr_encoded = encoder.encode(bgr, 'dwtDct') - new_image = Image.fromarray( - cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) - ).convert("RGBA") + if self.enabled: + logger.info("Running invisible watermarker") + bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + wm = self.text + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', wm.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + new_image = Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") + image = new_image image_dto = context.services.images.create( - image=new_image, + image=image, image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, session_id=context.graph_execution_state_id, is_intermediate=self.is_intermediate, + metadata=self.metadata.dict() if self.metadata else None, ) return ImageOutput( diff --git a/invokeai/app/invocations/image_defs.py b/invokeai/app/invocations/image_defs.py new file mode 100644 index 0000000000..8bab09debf --- /dev/null +++ b/invokeai/app/invocations/image_defs.py @@ -0,0 +1,54 @@ +# Copyright 2023 Lincoln D. Stein and the InvokeAI Team +""" Common classes used by .image and .controlnet; avoids circular import issues """ + +from pydantic import BaseModel, Field +from typing import Literal +from ..models.image import ImageField +from .baseinvocation import ( + BaseInvocationOutput, + InvocationConfig, +) + +class PILInvocationConfig(BaseModel): + """Helper class to provide all PIL invocations with additional config""" + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "tags": ["PIL", "image"], + }, + } + +class ImageOutput(BaseInvocationOutput): + """Base class for invocations that output an image""" + + # fmt: off + type: Literal["image_output"] = "image_output" + image: ImageField = Field(default=None, description="The output image") + width: int = Field(description="The width of the image in pixels") + height: int = Field(description="The height of the image in pixels") + # fmt: on + + class Config: + schema_extra = {"required": ["type", "image", "width", "height"]} + + +class MaskOutput(BaseInvocationOutput): + """Base class for invocations that output a mask""" + + # fmt: off + type: Literal["mask"] = "mask" + mask: ImageField = Field(default=None, description="The output mask") + width: int = Field(description="The width of the mask in pixels") + height: int = Field(description="The height of the mask in pixels") + # fmt: on + + class Config: + schema_extra = { + "required": [ + "type", + "mask", + ] + } + + diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 6082057bd3..69dffef09f 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -501,7 +501,7 @@ class LatentsToImageInvocation(BaseInvocation): vae: VaeField = Field(default=None, description="Vae submodel") tiled: bool = Field( default=False, - description="Decode latents by overlaping tiles(less memory consumption)") + description="Decode latents by overlapping tiles(less memory consumption)") fp32: bool = Field(DEFAULT_PRECISION=='float32', description="Decode in full precision") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index 836ab7d0af..be9515d5d2 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -9,7 +9,6 @@ from invokeai.app.invocations.controlnet_image_processors import ControlField from invokeai.app.invocations.model import (LoRAModelField, MainModelField, VAEModelField) - class LoRAMetadataField(BaseModel): """LoRA metadata for an image generated in InvokeAI.""" lora: LoRAModelField = Field(description="The LoRA model") diff --git a/invokeai/app/services/board_image_record_storage.py b/invokeai/app/services/board_image_record_storage.py index 491972bd32..693b078589 100644 --- a/invokeai/app/services/board_image_record_storage.py +++ b/invokeai/app/services/board_image_record_storage.py @@ -135,6 +135,7 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): board_id: str, image_name: str, ) -> None: + print(f'DEBUG: board_id={board_id}, image_name={image_name}') try: self._lock.acquire() self._cursor.execute( @@ -146,6 +147,7 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): (board_id, image_name, board_id), ) self._conn.commit() + print('got here') except sqlite3.Error as e: self._conn.rollback() raise e diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index b1e4e7ed5d..f2652ddd6b 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -365,6 +365,7 @@ setting environment variables INVOKEAI_. internet_available : bool = Field(default=True, description="If true, attempt to download models on the fly; otherwise only use local models", category='Features') log_tokenization : bool = Field(default=False, description="Enable logging of parsed prompt tokens.", category='Features') nsfw_checker : bool = Field(default=True, description="Enable/disable the NSFW checker", category='Features') + invisible_watermark : bool = Field(default=True, description="Enable/disable the invisible watermark", category='Features') patchmatch : bool = Field(default=True, description="Enable/disable patchmatch inpaint code", category='Features') restore : bool = Field(default=True, description="Enable/disable face restoration code (DEPRECATED)", category='DEPRECATED') diff --git a/invokeai/app/services/default_graphs.py b/invokeai/app/services/default_graphs.py index 92263751b7..22e35d1d6b 100644 --- a/invokeai/app/services/default_graphs.py +++ b/invokeai/app/services/default_graphs.py @@ -1,4 +1,5 @@ from ..invocations.latent import LatentsToImageInvocation, TextToLatentsInvocation +from ..invocations.image import ImageNSFWBlurInvocation from ..invocations.noise import NoiseInvocation from ..invocations.compel import CompelInvocation from ..invocations.params import ParamIntInvocation @@ -24,6 +25,7 @@ def create_text_to_image() -> LibraryGraph: '5': CompelInvocation(id='5'), '6': TextToLatentsInvocation(id='6'), '7': LatentsToImageInvocation(id='7'), + '8': ImageNSFWBlurInvocation(id='8'), }, edges=[ Edge(source=EdgeConnection(node_id='width', field='a'), destination=EdgeConnection(node_id='3', field='width')), @@ -33,6 +35,7 @@ def create_text_to_image() -> LibraryGraph: Edge(source=EdgeConnection(node_id='6', field='latents'), destination=EdgeConnection(node_id='7', field='latents')), Edge(source=EdgeConnection(node_id='4', field='conditioning'), destination=EdgeConnection(node_id='6', field='positive_conditioning')), Edge(source=EdgeConnection(node_id='5', field='conditioning'), destination=EdgeConnection(node_id='6', field='negative_conditioning')), + Edge(source=EdgeConnection(node_id='7', field='image'), destination=EdgeConnection(node_id='8', field='image')), ] ), exposed_inputs=[ @@ -43,7 +46,7 @@ def create_text_to_image() -> LibraryGraph: ExposedNodeInput(node_path='seed', field='a', alias='seed'), ], exposed_outputs=[ - ExposedNodeOutput(node_path='7', field='image', alias='image') + ExposedNodeOutput(node_path='8', field='image', alias='image') ]) diff --git a/invokeai/app/services/images.py b/invokeai/app/services/images.py index dc1b18babe..007f4021d4 100644 --- a/invokeai/app/services/images.py +++ b/invokeai/app/services/images.py @@ -216,16 +216,13 @@ class ImageService(ImageServiceABC): metadata=metadata, session_id=session_id, ) - if board_id is not None: self._services.board_image_records.add_image_to_board( board_id=board_id, image_name=image_name ) - self._services.image_files.save( image_name=image_name, image=image, metadata=metadata, graph=graph ) - image_dto = self.get_dto(image_name) return image_dto @@ -236,7 +233,7 @@ class ImageService(ImageServiceABC): self._services.logger.error("Failed to save image file") raise except Exception as e: - self._services.logger.error("Problem saving image record and file") + self._services.logger.error(f"Problem saving image record and file: {str(e)}") raise e def update( diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 4ef3ff77d2..7920d2638a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -23,6 +23,8 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -104,9 +106,9 @@ export const buildCanvasImageToImageGraph = ( skipped_layers: clipSkip, }, [LATENTS_TO_IMAGE]: { - is_intermediate: !shouldAutoSave, type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, }, [LATENTS_TO_LATENTS]: { type: 'l2l', @@ -126,6 +128,16 @@ export const buildCanvasImageToImageGraph = ( // image_name: initialImage.image_name, // }, }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + is_intermediate: !shouldAutoSave, + type: 'img_watermark', + id: WATERMARKER, + }, }, edges: [ { @@ -168,6 +180,26 @@ export const buildCanvasImageToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: IMAGE_TO_LATENTS, @@ -316,7 +348,7 @@ export const buildCanvasImageToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index d0eabbc14b..88e2f5e70b 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -16,6 +16,8 @@ import { POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -107,6 +109,16 @@ export const buildCanvasTextToImageGraph = ( [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, + }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + type: 'img_watermark', + id: WATERMARKER, is_intermediate: !shouldAutoSave, }, }, @@ -181,6 +193,26 @@ export const buildCanvasTextToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: NOISE, @@ -221,7 +253,7 @@ export const buildCanvasTextToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index f5f5e670c9..ebe0a51f99 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -22,6 +22,8 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -113,6 +115,7 @@ export const buildLinearImageToImageGraph = ( [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, }, [LATENTS_TO_LATENTS]: { type: 'l2l', @@ -128,7 +131,15 @@ export const buildLinearImageToImageGraph = ( // must be set manually later, bc `fit` parameter may require a resize node inserted // image: { // image_name: initialImage.image_name, - // }, + }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + type: 'img_watermark', + id: WATERMARKER, }, }, edges: [ @@ -182,6 +193,26 @@ export const buildLinearImageToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: IMAGE_TO_LATENTS, @@ -359,7 +390,7 @@ export const buildLinearImageToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index c8529f95d3..03bf4d6cd5 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -16,6 +16,8 @@ import { POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, + NSFW_CHECKER, + WATERMARKER, } from './constants'; export const buildLinearTextToImageGraph = ( @@ -46,7 +48,7 @@ export const buildLinearTextToImageGraph = ( } /** - * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the +v * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node * ids. * @@ -95,6 +97,16 @@ export const buildLinearTextToImageGraph = ( [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, + }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + type: 'img_watermark', + id: WATERMARKER, }, }, edges: [ @@ -178,6 +190,26 @@ export const buildLinearTextToImageGraph = ( field: 'noise', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, ], }; @@ -208,7 +240,7 @@ export const buildLinearTextToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index e01fcf2c70..d33bffb266 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -3,6 +3,8 @@ export const POSITIVE_CONDITIONING = 'positive_conditioning'; export const NEGATIVE_CONDITIONING = 'negative_conditioning'; export const TEXT_TO_LATENTS = 'text_to_latents'; export const LATENTS_TO_IMAGE = 'latents_to_image'; +export const NSFW_CHECKER = 'nsfw_checker'; +export const WATERMARKER = 'invisible_watermark'; export const NOISE = 'noise'; export const RANDOM_INT = 'rand_int'; export const RANGE_OF_SIZE = 'range_of_size'; From 8eab96c441e2b0bdaf180cad0baf8be3c676b3d0 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 23:41:44 -0400 Subject: [PATCH 007/106] update documentation --- docs/features/CONFIGURATION.md | 24 +++++++++++------------- docs/features/NODES.md | 2 ++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/features/CONFIGURATION.md b/docs/features/CONFIGURATION.md index 68c5ced59b..ccb23ae79a 100644 --- a/docs/features/CONFIGURATION.md +++ b/docs/features/CONFIGURATION.md @@ -136,19 +136,16 @@ command-line options by giving the `--help` argument: ``` (.venv) > invokeai-web --help -usage: InvokeAI [-h] [--host HOST] [--port PORT] [--allow_origins [ALLOW_ORIGINS ...]] [--allow_credentials | --no-allow_credentials] - [--allow_methods [ALLOW_METHODS ...]] [--allow_headers [ALLOW_HEADERS ...]] [--esrgan | --no-esrgan] - [--internet_available | --no-internet_available] [--log_tokenization | --no-log_tokenization] - [--nsfw_checker | --no-nsfw_checker] [--patchmatch | --no-patchmatch] [--restore | --no-restore] - [--always_use_cpu | --no-always_use_cpu] [--free_gpu_mem | --no-free_gpu_mem] [--max_cache_size MAX_CACHE_SIZE] - [--max_vram_cache_size MAX_VRAM_CACHE_SIZE] [--precision {auto,float16,float32,autocast}] - [--sequential_guidance | --no-sequential_guidance] [--xformers_enabled | --no-xformers_enabled] - [--tiled_decode | --no-tiled_decode] [--root ROOT] [--autoimport_dir AUTOIMPORT_DIR] [--lora_dir LORA_DIR] - [--embedding_dir EMBEDDING_DIR] [--controlnet_dir CONTROLNET_DIR] [--conf_path CONF_PATH] [--models_dir MODELS_DIR] - [--legacy_conf_dir LEGACY_CONF_DIR] [--db_dir DB_DIR] [--outdir OUTDIR] [--from_file FROM_FILE] - [--use_memory_db | --no-use_memory_db] [--model MODEL] [--log_handlers [LOG_HANDLERS ...]] - [--log_format {plain,color,syslog,legacy}] [--log_level {debug,info,warning,error,critical}] -... +usage: InvokeAI [-h] [--host HOST] [--port PORT] [--allow_origins [ALLOW_ORIGINS ...]] [--allow_credentials | --no-allow_credentials] [--allow_methods [ALLOW_METHODS ...]] + [--allow_headers [ALLOW_HEADERS ...]] [--esrgan | --no-esrgan] [--internet_available | --no-internet_available] [--log_tokenization | --no-log_tokenization] + [--nsfw_checker | --no-nsfw_checker] [--invisible_watermark | --no-invisible_watermark] [--patchmatch | --no-patchmatch] [--restore | --no-restore] + [--always_use_cpu | --no-always_use_cpu] [--free_gpu_mem | --no-free_gpu_mem] [--max_loaded_models MAX_LOADED_MODELS] [--max_cache_size MAX_CACHE_SIZE] + [--max_vram_cache_size MAX_VRAM_CACHE_SIZE] [--gpu_mem_reserved GPU_MEM_RESERVED] [--precision {auto,float16,float32,autocast}] + [--sequential_guidance | --no-sequential_guidance] [--xformers_enabled | --no-xformers_enabled] [--tiled_decode | --no-tiled_decode] [--root ROOT] + [--autoimport_dir AUTOIMPORT_DIR] [--lora_dir LORA_DIR] [--embedding_dir EMBEDDING_DIR] [--controlnet_dir CONTROLNET_DIR] [--conf_path CONF_PATH] + [--models_dir MODELS_DIR] [--legacy_conf_dir LEGACY_CONF_DIR] [--db_dir DB_DIR] [--outdir OUTDIR] [--from_file FROM_FILE] + [--use_memory_db | --no-use_memory_db] [--model MODEL] [--log_handlers [LOG_HANDLERS ...]] [--log_format {plain,color,syslog,legacy}] + [--log_level {debug,info,warning,error,critical}] [--version | --no-version] ``` ## The Configuration Settings @@ -179,6 +176,7 @@ These configuration settings allow you to enable and disable various InvokeAI fe | `internet_available` | `true` | When a resource is not available locally, try to fetch it via the internet | | `log_tokenization` | `false` | Before each text2image generation, print a color-coded representation of the prompt to the console; this can help understand why a prompt is not working as expected | | `nsfw_checker` | `true` | Activate the NSFW checker to blur out risque images | +| `invisible_watermark` | `true` | Write an invisible watermark 'InvokeAI' into generated images for use by AI image detectors | | `patchmatch` | `true` | Activate the "patchmatch" algorithm for improved inpainting | | `restore` | `true` | Activate the facial restoration features (DEPRECATED; restoration features will be removed in 3.0.0) | diff --git a/docs/features/NODES.md b/docs/features/NODES.md index 1f276d2012..5af40678d9 100644 --- a/docs/features/NODES.md +++ b/docs/features/NODES.md @@ -61,11 +61,13 @@ A noise scheduler (eg. DPM++ 2M Karras) schedules the subtraction of noise from | ImageInverseLerp | Inverse linear interpolation of all pixels of an image | | ImageLerp | Linear interpolation of all pixels of an image | | ImageMultiply | Multiplies two images together using `PIL.ImageChops.Multiply()` | +| ImageNSFWBlurInvocation | Detects and blurs images that may contain sexually explicit content | | ImagePaste | Pastes an image into another image | | ImageProcessor | Base class for invocations that reprocess images for ControlNet | | ImageResize | Resizes an image to specific dimensions | | ImageScale | Scales an image by a factor | | ImageToLatents | Scales latents by a given factor | +| ImageWatermarkInvocation | Adds an invisible watermark to images | | InfillColor | Infills transparent areas of an image with a solid color | | InfillPatchMatch | Infills transparent areas of an image using the PatchMatch algorithm | | InfillTile | Infills transparent areas of an image with tiles of the image | From cbb90cbdbbde52f0d932e221ea30357989c871ed Mon Sep 17 00:00:00 2001 From: camenduru <54370274+camenduru@users.noreply.github.com> Date: Mon, 24 Jul 2023 10:59:59 +0300 Subject: [PATCH 008/106] Download all model types. --- invokeai/backend/install/model_install_backend.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index 0537d6069a..e4a24c76b4 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -145,8 +145,7 @@ class ModelInstall(object): models = set() for key, value in self.datasets.items(): name,base,model_type = ModelManager.parse_key(key) - if model_type==ModelType.Main: - models.add(key) + models.add(key) return models def recommended_models(self)->Set[str]: From 7ce5b6504fdca99c4b8ac71394c674a7cab85a79 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 08:25:39 -0400 Subject: [PATCH 009/106] rebuild schema --- .../frontend/web/dist/assets/App-06ea4e5e.js | 169 ---------- .../dist/assets/MantineProvider-b5842fc1.js | 1 - .../assets/ThemeLocaleProvider-a6269375.js | 302 ------------------ .../web/dist/assets/index-e2437518.js | 125 -------- invokeai/frontend/web/dist/index.html | 2 +- invokeai/frontend/web/dist/locales/en.json | 15 +- .../frontend/web/src/services/api/schema.d.ts | 94 +++++- 7 files changed, 88 insertions(+), 620 deletions(-) delete mode 100644 invokeai/frontend/web/dist/assets/App-06ea4e5e.js delete mode 100644 invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js delete mode 100644 invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js delete mode 100644 invokeai/frontend/web/dist/assets/index-e2437518.js diff --git a/invokeai/frontend/web/dist/assets/App-06ea4e5e.js b/invokeai/frontend/web/dist/assets/App-06ea4e5e.js deleted file mode 100644 index a7597f8d24..0000000000 --- a/invokeai/frontend/web/dist/assets/App-06ea4e5e.js +++ /dev/null @@ -1,169 +0,0 @@ -import{t as Gg,r as mE,i as gE,a as yu,b as m4,S as g4,c as v4,d as y4,e as qg,f as b4,g as Kg,h as vE,j as yE,k as bE,l as xE,m as wE,n as SE,o as CE,p as _E,q as kE,s as f,u as rt,v as a,I as io,w as cr,x as Wn,y as He,z as Mt,A as bu,B as gt,C as xu,D as Ko,E as Jr,F as uo,G as wr,H as jE,J as PE,K as Ga,L as Kc,M as Li,N as sn,O as Ca,P as Gp,Q as ov,R as jl,T as sv,U as wu,_ as Xn,V as IE,W as z,X as x4,Y as w4,Z as Yb,$ as S4,a0 as qp,a1 as av,a2 as Zl,a3 as EE,a4 as OE,a5 as ME,a6 as RE,a7 as C4,a8 as _4,a9 as Kp,aa as Cf,ab as DE,ac as AE,ad as Vm,ae as Xb,af as TE,ag as k4,ah as j4,ai as ec,aj as Jb,ak as Zb,al as NE,am as $E,an as zE,ao as LE,ap as BE,aq as Um,ar as sl,as as Gm,at as FE,au as HE,av as WE,aw as iv,ax as Qp,ay as _f,az as VE,aA as P4,aB as I4,aC as UE,aD as Su,aE as lv,aF as GE,aG as qE,aH as KE,aI as QE,aJ as YE,aK as XE,aL as JE,aM as ex,aN as he,aO as ZE,aP as Gt,aQ as $e,aR as L,aS as zs,aT as mt,aU as Ke,aV as $,aW as Sr,aX as tc,aY as ue,aZ as E4,a_ as xo,a$ as O4,b0 as M4,b1 as nc,b2 as xs,b3 as cv,b4 as e8,b5 as t8,b6 as n8,b7 as al,b8 as Cn,b9 as kf,ba as Lc,bb as r8,bc as o8,bd as s8,be as a8,bf as Ve,bg as i8,bh as je,bi as Z,bj as tx,bk as qa,bl as Ka,bm as uv,bn as jf,bo as l8,bp as c8,bq as Yp,br as Xp,bs as dv,bt as Uo,bu as u8,bv as rc,bw as R4,bx as D4,by as d8,bz as f8,bA as p8,bB as h8,bC as fv,bD as Go,bE as ws,bF as gs,bG as Ct,bH as Pf,bI as m8,bJ as oc,bK as g8,bL as v8,bM as Id,bN as Ed,bO as Qc,bP as Yc,bQ as nx,bR as If,bS as rx,bT as Ef,bU as ox,bV as Qg,bW as sx,bX as Yg,bY as ax,bZ as Of,b_ as ix,b$ as zl,c0 as lx,c1 as Ll,c2 as cx,c3 as Mf,c4 as pv,c5 as hv,c6 as A4,c7 as mv,c8 as gv,c9 as y8,ca as b8,cb as Jp,cc as xl,cd as x8,ce as w8,cf as gf,cg as S8,ch as C8,ci as _8,cj as Rf,ck as T4,cl as k8,cm as N4,cn as $4,co as Ws,cp as ux,cq as j8,cr as Xg,cs as Vs,ct as P8,cu as z4,cv as dx,cw as I8,cx as E8,cy as O8,cz as pr,cA as L4,cB as M8,cC as R8,cD as D8,cE as A8,cF as vv,cG as Bn,cH as B4,cI as F4,cJ as T8,cK as fx,cL as N8,cM as $8,cN as z8,cO as L8,cP as B8,cQ as F8,cR as H4,cS as H8,cT as W8,cU as V8,cV as U8,cW as G8,cX as q8,cY as K8,cZ as W4,c_ as Q8,c$ as Y8,d0 as X8,d1 as J8,d2 as Z8,d3 as e7,d4 as t7,d5 as n7,d6 as r7,d7 as o7,d8 as s7,d9 as V4,da as Qo,db as a7,dc as i7,dd as l7,de as Zp,df as c7,dg as yv,dh as U4,di as u7,dj as d7,dk as f7,dl as Yo,dm as p7,dn as px,dp as hx,dq as Pl,dr as h7,ds as m7,dt as g7,du as v7,dv as y7,dw as b7,dx as x7,dy as w7,dz as S7,dA as C7,dB as _7,dC as k7,dD as bv,dE as xv,dF as j7,dG as mx,dH as P7,dI as gx,dJ as I7,dK as E7,dL as vx,dM as yx,dN as O7,dO as bx,dP as M7,dQ as R7,dR as D7,dS as A7,dT as T7,dU as N7,dV as G4,dW as q4,dX as K4,dY as Q4,dZ as Y4,d_ as Cu,d$ as xx,e0 as $7,e1 as z7,e2 as Vn,e3 as Ei,e4 as L7,e5 as X4,e6 as wx,e7 as B7,e8 as cs,e9 as F7,ea as H7,eb as J4,ec as Z4,ed as W7,ee as e3,ef as t3,eg as _u,eh as n3,ei as r3,ej as Sx,ek as V7,el as Cx,em as U7,en as o3,eo as G7,ep as eh,eq as _x,er as s3,es as q7,et as kx,eu as a3,ev as qo,ew as K7,ex as Q7,ey as i3,ez as jx,eA as Y7,eB as X7,eC as J7,eD as Z7,eE as eO,eF as tO,eG as nO,eH as rO,eI as oO,eJ as sO,eK as aO,eL as iO,eM as lO,eN as cO,eO as uO,eP as dO,eQ as fO,eR as pO,eS as hO,eT as mO,eU as gO,eV as Px,eW as vf,eX as vO,eY as Df,eZ as l3,e_ as ou,e$ as yO,f0 as bO,f1 as Hs,f2 as c3,f3 as wv,f4 as ku,f5 as xO,f6 as wO,f7 as SO,f8 as ma,f9 as u3,fa as CO,fb as _O,fc as d3,fd as kO,fe as jO,ff as PO,fg as IO,fh as EO,fi as OO,fj as MO,fk as RO,fl as DO,fm as AO,fn as Ix,fo as TO,fp as NO,fq as $O,fr as zO,fs as LO,ft as BO,fu as qm,fv as Bs,fw as Od,fx as Km,fy as Qm,fz as Md,fA as Ex,fB as Jg,fC as FO,fD as HO,fE as WO,fF as VO,fG as Af,fH as f3,fI as p3,fJ as UO,fK as GO,fL as h3,fM as m3,fN as g3,fO as v3,fP as y3,fQ as b3,fR as x3,fS as w3,fT as Il,fU as El,fV as S3,fW as C3,fX as qO,fY as _3,fZ as k3,f_ as j3,f$ as P3,g0 as I3,g1 as E3,g2 as Sv,g3 as KO,g4 as QO,g5 as Ox,g6 as YO,g7 as XO,g8 as Tf,g9 as Mx,ga as Rx,gb as Dx,gc as Ax,gd as JO,ge as ZO,gf as eM,gg as tM,gh as nM,gi as rM,gj as oM,gk as sM,gl as aM}from"./index-e2437518.js";import{m as Cv,u as O3,a as _a,b as iM,r as ze,f as lM,g as Tx,c as Tt,d as mr}from"./MantineProvider-b5842fc1.js";function cM(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var Nx=1/0,uM=17976931348623157e292;function Ym(e){if(!e)return e===0?e:0;if(e=Gg(e),e===Nx||e===-Nx){var t=e<0?-1:1;return t*uM}return e===e?e:0}var dM=function(){return mE.Date.now()};const Xm=dM;var fM="Expected a function",pM=Math.max,hM=Math.min;function mM(e,t,n){var r,o,s,i,u,d,p=0,h=!1,g=!1,v=!0;if(typeof e!="function")throw new TypeError(fM);t=Gg(t)||0,gE(n)&&(h=!!n.leading,g="maxWait"in n,s=g?pM(Gg(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,D=o;return r=o=void 0,p=O,i=e.apply(D,R),i}function S(O){return p=O,u=setTimeout(_,t),h?b(O):i}function x(O){var R=O-d,D=O-p,T=t-R;return g?hM(T,s-D):T}function C(O){var R=O-d,D=O-p;return d===void 0||R>=t||R<0||g&&D>=s}function _(){var O=Xm();if(C(O))return k(O);u=setTimeout(_,x(O))}function k(O){return u=void 0,v&&r?b(O):(r=o=void 0,i)}function P(){u!==void 0&&clearTimeout(u),p=0,r=d=o=u=void 0}function I(){return u===void 0?i:k(Xm())}function E(){var O=Xm(),R=C(O);if(r=arguments,o=this,d=O,R){if(u===void 0)return S(d);if(g)return clearTimeout(u),u=setTimeout(_,t),b(d)}return u===void 0&&(u=setTimeout(_,t)),i}return E.cancel=P,E.flush=I,E}var gM=200;function vM(e,t,n,r){var o=-1,s=v4,i=!0,u=e.length,d=[],p=t.length;if(!u)return d;n&&(t=yu(t,m4(n))),r?(s=y4,i=!1):t.length>=gM&&(s=qg,i=!1,t=new g4(t));e:for(;++o=120&&h.length>=120)?new g4(i&&h):void 0}h=e[0];var g=-1,v=u[0];e:for(;++ga.jsx(io,{ref:d,viewBox:t,...o,...u,children:s.length?s:a.jsx("path",{fill:"currentColor",d:n})}));return i.displayName=r,i}var AM=Object.defineProperty,TM=(e,t,n)=>t in e?AM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lr=(e,t,n)=>(TM(e,typeof t!="symbol"?t+"":t,n),n);function zx(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var NM=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Lx(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Bx(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var Zg=typeof window<"u"?f.useLayoutEffect:f.useEffect,Nf=e=>e,$M=class{constructor(){lr(this,"descendants",new Map),lr(this,"register",e=>{if(e!=null)return NM(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),lr(this,"unregister",e=>{this.descendants.delete(e);const t=zx(Array.from(this.descendants.keys()));this.assignIndex(t)}),lr(this,"destroy",()=>{this.descendants.clear()}),lr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),lr(this,"count",()=>this.descendants.size),lr(this,"enabledCount",()=>this.enabledValues().length),lr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),lr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),lr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),lr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),lr(this,"first",()=>this.item(0)),lr(this,"firstEnabled",()=>this.enabledItem(0)),lr(this,"last",()=>this.item(this.descendants.size-1)),lr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),lr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),lr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),lr(this,"next",(e,t=!0)=>{const n=Lx(e,this.count(),t);return this.item(n)}),lr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Lx(r,this.enabledCount(),t);return this.enabledItem(o)}),lr(this,"prev",(e,t=!0)=>{const n=Bx(e,this.count()-1,t);return this.item(n)}),lr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Bx(r,this.enabledCount()-1,t);return this.enabledItem(o)}),lr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=zx(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function zM(){const e=f.useRef(new $M);return Zg(()=>()=>e.current.destroy()),e.current}var[LM,M3]=cr({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function BM(e){const t=M3(),[n,r]=f.useState(-1),o=f.useRef(null);Zg(()=>()=>{o.current&&t.unregister(o.current)},[]),Zg(()=>{if(!o.current)return;const i=Number(o.current.dataset.index);n!=i&&!Number.isNaN(i)&&r(i)});const s=Nf(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:Wn(s,o)}}function kv(){return[Nf(LM),()=>Nf(M3()),()=>zM(),o=>BM(o)]}var[FM,th]=cr({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[HM,jv]=cr({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[WM,_se,VM,UM]=kv(),Bc=rt(function(t,n){const{getButtonProps:r}=jv(),o=r(t,n),i={display:"flex",alignItems:"center",width:"100%",outline:0,...th().button};return a.jsx(He.button,{...o,className:Mt("chakra-accordion__button",t.className),__css:i})});Bc.displayName="AccordionButton";function GM(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...i}=e;QM(e),YM(e);const u=VM(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,g]=bu({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:g,htmlProps:i,getAccordionItemProps:b=>{let S=!1;return b!==null&&(S=Array.isArray(h)?h.includes(b):h===b),{isOpen:S,onChange:C=>{if(b!==null)if(o&&Array.isArray(h)){const _=C?h.concat(b):h.filter(k=>k!==b);g(_)}else C?g(b):s&&g(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:u}}var[qM,Pv]=cr({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function KM(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:i}=Pv(),u=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,g=`accordion-panel-${p}`;XM(e);const{register:v,index:b,descendants:S}=UM({disabled:t&&!n}),{isOpen:x,onChange:C}=s(b===-1?null:b);JM({isOpen:x,isDisabled:t});const _=()=>{C==null||C(!0)},k=()=>{C==null||C(!1)},P=f.useCallback(()=>{C==null||C(!x),i(b)},[b,i,x,C]),I=f.useCallback(D=>{const B={ArrowDown:()=>{const W=S.nextEnabled(b);W==null||W.node.focus()},ArrowUp:()=>{const W=S.prevEnabled(b);W==null||W.node.focus()},Home:()=>{const W=S.firstEnabled();W==null||W.node.focus()},End:()=>{const W=S.lastEnabled();W==null||W.node.focus()}}[D.key];B&&(D.preventDefault(),B(D))},[S,b]),E=f.useCallback(()=>{i(b)},[i,b]),O=f.useCallback(function(T={},B=null){return{...T,type:"button",ref:Wn(v,u,B),id:h,disabled:!!t,"aria-expanded":!!x,"aria-controls":g,onClick:gt(T.onClick,P),onFocus:gt(T.onFocus,E),onKeyDown:gt(T.onKeyDown,I)}},[h,t,x,P,E,I,g,v]),R=f.useCallback(function(T={},B=null){return{...T,ref:B,role:"region",id:g,"aria-labelledby":h,hidden:!x}},[h,x,g]);return{isOpen:x,isDisabled:t,isFocusable:n,onOpen:_,onClose:k,getButtonProps:O,getPanelProps:R,htmlProps:o}}function QM(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;xu({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function YM(e){xu({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function XM(e){xu({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. - `})}function JM(e){xu({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Fc(e){const{isOpen:t,isDisabled:n}=jv(),{reduceMotion:r}=Pv(),o=Mt("chakra-accordion__icon",e.className),s=th(),i={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return a.jsx(io,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:i,...e,children:a.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Fc.displayName="AccordionIcon";var Hc=rt(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...i}=KM(t),d={...th().container,overflowAnchor:"none"},p=f.useMemo(()=>i,[i]);return a.jsx(HM,{value:p,children:a.jsx(He.div,{ref:n,...s,className:Mt("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!i.isOpen,isDisabled:!!i.isDisabled}):r})})});Hc.displayName="AccordionItem";var wi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},Oc={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function e0(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return Oc.slideRight;case"left":return Oc.slideLeft;case"bottom":return Oc.slideDown;case"top":return Oc.slideUp;default:return Oc.slideRight}}var Ci={enter:{duration:.2,ease:wi.easeOut},exit:{duration:.1,ease:wi.easeIn}},us={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},ZM=e=>e!=null&&parseInt(e.toString(),10)>0,Fx={exit:{height:{duration:.2,ease:wi.ease},opacity:{duration:.3,ease:wi.ease}},enter:{height:{duration:.3,ease:wi.ease},opacity:{duration:.4,ease:wi.ease}}},eR={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:ZM(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Fx.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:us.enter(Fx.enter,o)}}},nh=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:i="auto",style:u,className:d,transition:p,transitionEnd:h,...g}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const k=setTimeout(()=>{b(!0)});return()=>clearTimeout(k)},[]),xu({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const S=parseFloat(s.toString())>0,x={startingHeight:s,endingHeight:i,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:S?"block":"none"}}},C=r?n:!0,_=n||r?"enter":"exit";return a.jsx(Ko,{initial:!1,custom:x,children:C&&a.jsx(Jr.div,{ref:t,...g,className:Mt("chakra-collapse",d),style:{overflow:"hidden",display:"block",...u},custom:x,variants:eR,initial:r?"exit":!1,animate:_,exit:"exit"})})});nh.displayName="Collapse";var tR={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:us.exit(Ci.exit,n),transitionEnd:t==null?void 0:t.exit}}},R3={initial:"exit",animate:"enter",exit:"exit",variants:tR},nR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:i,transitionEnd:u,delay:d,...p}=t,h=o||r?"enter":"exit",g=r?o&&r:!0,v={transition:i,transitionEnd:u,delay:d};return a.jsx(Ko,{custom:v,children:g&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-fade",s),custom:v,...R3,animate:h,...p})})});nR.displayName="Fade";var rR={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Ci.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:e==null?void 0:e.enter}}},D3={initial:"exit",animate:"enter",exit:"exit",variants:rR},oR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:i=.95,className:u,transition:d,transitionEnd:p,delay:h,...g}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",S={initialScale:i,reverse:s,transition:d,transitionEnd:p,delay:h};return a.jsx(Ko,{custom:S,children:v&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-offset-slide",u),...D3,animate:b,custom:S,...g})})});oR.displayName="ScaleFade";var sR={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Ci.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var i;const u={x:t,y:e};return{opacity:0,transition:(i=n==null?void 0:n.exit)!=null?i:us.exit(Ci.exit,s),...o?{...u,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...u,...r==null?void 0:r.exit}}}}},t0={initial:"initial",animate:"enter",exit:"exit",variants:sR},aR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:i,offsetX:u=0,offsetY:d=8,transition:p,transitionEnd:h,delay:g,...v}=t,b=r?o&&r:!0,S=o||r?"enter":"exit",x={offsetX:u,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:g};return a.jsx(Ko,{custom:x,children:b&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-offset-slide",i),custom:x,...t0,animate:S,...v})})});aR.displayName="SlideFade";var Hx={exit:{duration:.15,ease:wi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},iR={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=e0({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:us.exit(Hx.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=e0({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:us.enter(Hx.enter,r),transitionEnd:t==null?void 0:t.enter}}},A3=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:i,className:u,transition:d,transitionEnd:p,delay:h,motionProps:g,...v}=t,b=e0({direction:r}),S=Object.assign({position:"fixed"},b.position,o),x=s?i&&s:!0,C=i||s?"enter":"exit",_={transitionEnd:p,transition:d,direction:r,delay:h};return a.jsx(Ko,{custom:_,children:x&&a.jsx(Jr.div,{...v,ref:n,initial:"exit",className:Mt("chakra-slide",u),animate:C,exit:"exit",custom:_,variants:iR,style:S,...g})})});A3.displayName="Slide";var Wc=rt(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:i}=Pv(),{getPanelProps:u,isOpen:d}=jv(),p=u(s,n),h=Mt("chakra-accordion__panel",r),g=th();i||delete p.hidden;const v=a.jsx(He.div,{...p,__css:g.panel,className:h});return i?v:a.jsx(nh,{in:d,...o,children:v})});Wc.displayName="AccordionPanel";var T3=rt(function({children:t,reduceMotion:n,...r},o){const s=uo("Accordion",r),i=wr(r),{htmlProps:u,descendants:d,...p}=GM(i),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return a.jsx(WM,{value:d,children:a.jsx(qM,{value:h,children:a.jsx(FM,{value:s,children:a.jsx(He.div,{ref:o,...u,className:Mt("chakra-accordion",r.className),__css:s.root,children:t})})})})});T3.displayName="Accordion";var lR={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},cR={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},Yn=rt(function(t,n){const{size:r,colorScheme:o,variant:s,className:i,spacing:u="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...g}=t,v=Mt("chakra-button__group",i),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let S={display:"inline-flex",...d?lR[h]:cR[h](u)};const x=h==="vertical";return a.jsx(jE,{value:b,children:a.jsx(He.div,{ref:n,role:"group",__css:S,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:x?"column":void 0,...g})})});Yn.displayName="ButtonGroup";var[kse,uR]=cr({name:"CheckboxGroupContext",strict:!1});function dR(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function fR(e){return a.jsx(He.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:a.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function pR(e){return a.jsx(He.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:a.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function hR(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?pR:fR;return n||t?a.jsx(He.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:a.jsx(o,{...r})}):null}var Iv={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},N3=He("span",{baseStyle:Iv});N3.displayName="VisuallyHidden";var mR=He("input",{baseStyle:Iv});mR.displayName="VisuallyHiddenInput";var Wx=!1,Pu=null,Oi=!1,n0=!1,r0=new Set;function Ev(e,t){r0.forEach(n=>n(e,t))}var gR=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function vR(e){return!(e.metaKey||!gR&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Vx(e){Oi=!0,vR(e)&&(Pu="keyboard",Ev("keyboard",e))}function ll(e){if(Pu="pointer",e.type==="mousedown"||e.type==="pointerdown"){Oi=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;Ev("pointer",e)}}function yR(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function bR(e){yR(e)&&(Oi=!0,Pu="virtual")}function xR(e){e.target===window||e.target===document||(!Oi&&!n0&&(Pu="virtual",Ev("virtual",e)),Oi=!1,n0=!1)}function wR(){Oi=!1,n0=!0}function Ux(){return Pu!=="pointer"}function SR(){if(typeof window>"u"||Wx)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){Oi=!0,e.apply(this,n)},document.addEventListener("keydown",Vx,!0),document.addEventListener("keyup",Vx,!0),document.addEventListener("click",bR,!0),window.addEventListener("focus",xR,!0),window.addEventListener("blur",wR,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",ll,!0),document.addEventListener("pointermove",ll,!0),document.addEventListener("pointerup",ll,!0)):(document.addEventListener("mousedown",ll,!0),document.addEventListener("mousemove",ll,!0),document.addEventListener("mouseup",ll,!0)),Wx=!0}function $3(e){SR(),e(Ux());const t=()=>e(Ux());return r0.add(t),()=>{r0.delete(t)}}function CR(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function z3(e={}){const t=PE(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:i,onBlur:u,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:g,isFocusable:v,onChange:b,isIndeterminate:S,name:x,value:C,tabIndex:_=void 0,"aria-label":k,"aria-labelledby":P,"aria-invalid":I,...E}=e,O=CR(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=Ga(b),D=Ga(u),T=Ga(d),[B,W]=f.useState(!1),[J,F]=f.useState(!1),[N,G]=f.useState(!1),[K,M]=f.useState(!1);f.useEffect(()=>$3(W),[]);const U=f.useRef(null),[V,ee]=f.useState(!0),[ie,xe]=f.useState(!!h),me=g!==void 0,ae=me?g:ie,te=f.useCallback(ge=>{if(r||n){ge.preventDefault();return}me||xe(ae?ge.target.checked:S?!0:ge.target.checked),R==null||R(ge)},[r,n,ae,me,S,R]);Kc(()=>{U.current&&(U.current.indeterminate=!!S)},[S]),Li(()=>{n&&F(!1)},[n,F]),Kc(()=>{const ge=U.current;ge!=null&&ge.form&&(ge.form.onreset=()=>{xe(!!h)})},[]);const H=n&&!v,re=f.useCallback(ge=>{ge.key===" "&&M(!0)},[M]),pe=f.useCallback(ge=>{ge.key===" "&&M(!1)},[M]);Kc(()=>{if(!U.current)return;U.current.checked!==ae&&xe(U.current.checked)},[U.current]);const ne=f.useCallback((ge={},_e=null)=>{const We=Le=>{J&&Le.preventDefault(),M(!0)};return{...ge,ref:_e,"data-active":sn(K),"data-hover":sn(N),"data-checked":sn(ae),"data-focus":sn(J),"data-focus-visible":sn(J&&B),"data-indeterminate":sn(S),"data-disabled":sn(n),"data-invalid":sn(s),"data-readonly":sn(r),"aria-hidden":!0,onMouseDown:gt(ge.onMouseDown,We),onMouseUp:gt(ge.onMouseUp,()=>M(!1)),onMouseEnter:gt(ge.onMouseEnter,()=>G(!0)),onMouseLeave:gt(ge.onMouseLeave,()=>G(!1))}},[K,ae,n,J,B,N,S,s,r]),ve=f.useCallback((ge={},_e=null)=>({...O,...ge,ref:Wn(_e,We=>{We&&ee(We.tagName==="LABEL")}),onClick:gt(ge.onClick,()=>{var We;V||((We=U.current)==null||We.click(),requestAnimationFrame(()=>{var Le;(Le=U.current)==null||Le.focus({preventScroll:!0})}))}),"data-disabled":sn(n),"data-checked":sn(ae),"data-invalid":sn(s)}),[O,n,ae,s,V]),de=f.useCallback((ge={},_e=null)=>({...ge,ref:Wn(U,_e),type:"checkbox",name:x,value:C,id:i,tabIndex:_,onChange:gt(ge.onChange,te),onBlur:gt(ge.onBlur,D,()=>F(!1)),onFocus:gt(ge.onFocus,T,()=>F(!0)),onKeyDown:gt(ge.onKeyDown,re),onKeyUp:gt(ge.onKeyUp,pe),required:o,checked:ae,disabled:H,readOnly:r,"aria-label":k,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:Iv}),[x,C,i,te,D,T,re,pe,o,ae,H,r,k,P,I,s,p,n,_]),Ce=f.useCallback((ge={},_e=null)=>({...ge,ref:_e,onMouseDown:gt(ge.onMouseDown,_R),"data-disabled":sn(n),"data-checked":sn(ae),"data-invalid":sn(s)}),[ae,n,s]);return{state:{isInvalid:s,isFocused:J,isChecked:ae,isActive:K,isHovered:N,isIndeterminate:S,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:ve,getCheckboxProps:ne,getInputProps:de,getLabelProps:Ce,htmlProps:O}}function _R(e){e.preventDefault(),e.stopPropagation()}var kR={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},jR={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},PR=Ca({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),IR=Ca({from:{opacity:0},to:{opacity:1}}),ER=Ca({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),L3=rt(function(t,n){const r=uR(),o={...r,...t},s=uo("Checkbox",o),i=wr(t),{spacing:u="0.5rem",className:d,children:p,iconColor:h,iconSize:g,icon:v=a.jsx(hR,{}),isChecked:b,isDisabled:S=r==null?void 0:r.isDisabled,onChange:x,inputProps:C,..._}=i;let k=b;r!=null&&r.value&&i.value&&(k=r.value.includes(i.value));let P=x;r!=null&&r.onChange&&i.value&&(P=Gp(r.onChange,x));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:D}=z3({..._,isDisabled:S,isChecked:k,onChange:P}),T=dR(I.isChecked),B=f.useMemo(()=>({animation:T?I.isIndeterminate?`${IR} 20ms linear, ${ER} 200ms linear`:`${PR} 200ms linear`:void 0,fontSize:g,color:h,...s.icon}),[h,g,T,I.isIndeterminate,s.icon]),W=f.cloneElement(v,{__css:B,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return a.jsxs(He.label,{__css:{...jR,...s.container},className:Mt("chakra-checkbox",d),...D(),children:[a.jsx("input",{className:"chakra-checkbox__input",...E(C,n)}),a.jsx(He.span,{__css:{...kR,...s.control},className:"chakra-checkbox__control",...O(),children:W}),p&&a.jsx(He.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:u,...s.label},children:p})]})});L3.displayName="Checkbox";var[OR,B3]=cr({name:"EditableStylesContext",errorMessage:`useEditableStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[MR,F3]=cr({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),H3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},W3=rt(function(t,n){const{getInputProps:r}=F3(),o=B3(),s=r(t,n),i=Mt("chakra-editable__input",t.className);return a.jsx(He.input,{...s,__css:{outline:0,...H3,...o.input},className:i})});W3.displayName="EditableInput";var V3=rt(function(t,n){const{getPreviewProps:r}=F3(),o=B3(),s=r(t,n),i=Mt("chakra-editable__preview",t.className);return a.jsx(He.span,{...s,__css:{cursor:"text",display:"inline-block",...H3,...o.preview},className:i})});V3.displayName="EditablePreview";function RR(e){return"current"in e}var U3=()=>typeof window<"u";function DR(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var AR=e=>U3()&&e.test(navigator.vendor),TR=e=>U3()&&e.test(DR()),NR=()=>TR(/mac|iphone|ipad|ipod/i),$R=()=>NR()&&AR(/apple/i);function G3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,i;return(i=(s=t.current)==null?void 0:s.ownerDocument)!=null?i:document};ov(o,"pointerdown",s=>{if(!$R()||!r)return;const i=s.target,d=(n??[t]).some(p=>{const h=RR(p)?p.current:p;return(h==null?void 0:h.contains(i))||h===i});o().activeElement!==i&&d&&(s.preventDefault(),i.focus())})}function Gx(e,t){return e?e===t||e.contains(t):!1}function zR(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:i,defaultValue:u,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:g=!0,placeholder:v,onEdit:b,finalFocusRef:S,...x}=e,C=Ga(b),_=!!(d&&!i),[k,P]=f.useState(_),[I,E]=bu({defaultValue:u||"",value:s,onChange:t}),[O,R]=f.useState(I),D=f.useRef(null),T=f.useRef(null),B=f.useRef(null),W=f.useRef(null),J=f.useRef(null);G3({ref:D,enabled:k,elements:[W,J]});const F=!k&&!i;Kc(()=>{var ne,ve;k&&((ne=D.current)==null||ne.focus(),g&&((ve=D.current)==null||ve.select()))},[]),Li(()=>{var ne,ve,de,Ce;if(!k){S?(ne=S.current)==null||ne.focus():(ve=B.current)==null||ve.focus();return}(de=D.current)==null||de.focus(),g&&((Ce=D.current)==null||Ce.select()),C==null||C()},[k,C,g]);const N=f.useCallback(()=>{F&&P(!0)},[F]),G=f.useCallback(()=>{R(I)},[I]),K=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),M=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(k)return;const ne=D.current;(ne==null?void 0:ne.ownerDocument.activeElement)===ne&&(ne==null||ne.blur())},[k]);const U=f.useCallback(ne=>{E(ne.currentTarget.value)},[E]),V=f.useCallback(ne=>{const ve=ne.key,Ce={Escape:K,Enter:Re=>{!Re.shiftKey&&!Re.metaKey&&M()}}[ve];Ce&&(ne.preventDefault(),Ce(ne))},[K,M]),ee=f.useCallback(ne=>{const ve=ne.key,Ce={Escape:K}[ve];Ce&&(ne.preventDefault(),Ce(ne))},[K]),ie=I.length===0,xe=f.useCallback(ne=>{var ve;if(!k)return;const de=ne.currentTarget.ownerDocument,Ce=(ve=ne.relatedTarget)!=null?ve:de.activeElement,Re=Gx(W.current,Ce),ge=Gx(J.current,Ce);!Re&&!ge&&(h?M():K())},[h,M,K,k]),me=f.useCallback((ne={},ve=null)=>{const de=F&&p?0:void 0;return{...ne,ref:Wn(ve,T),children:ie?v:I,hidden:k,"aria-disabled":jl(i),tabIndex:de,onFocus:gt(ne.onFocus,N,G)}},[i,k,F,p,ie,N,G,v,I]),ae=f.useCallback((ne={},ve=null)=>({...ne,hidden:!k,placeholder:v,ref:Wn(ve,D),disabled:i,"aria-disabled":jl(i),value:I,onBlur:gt(ne.onBlur,xe),onChange:gt(ne.onChange,U),onKeyDown:gt(ne.onKeyDown,V),onFocus:gt(ne.onFocus,G)}),[i,k,xe,U,V,G,v,I]),te=f.useCallback((ne={},ve=null)=>({...ne,hidden:!k,placeholder:v,ref:Wn(ve,D),disabled:i,"aria-disabled":jl(i),value:I,onBlur:gt(ne.onBlur,xe),onChange:gt(ne.onChange,U),onKeyDown:gt(ne.onKeyDown,ee),onFocus:gt(ne.onFocus,G)}),[i,k,xe,U,ee,G,v,I]),H=f.useCallback((ne={},ve=null)=>({"aria-label":"Edit",...ne,type:"button",onClick:gt(ne.onClick,N),ref:Wn(ve,B),disabled:i}),[N,i]),re=f.useCallback((ne={},ve=null)=>({...ne,"aria-label":"Submit",ref:Wn(J,ve),type:"button",onClick:gt(ne.onClick,M),disabled:i}),[M,i]),pe=f.useCallback((ne={},ve=null)=>({"aria-label":"Cancel",id:"cancel",...ne,ref:Wn(W,ve),type:"button",onClick:gt(ne.onClick,K),disabled:i}),[K,i]);return{isEditing:k,isDisabled:i,isValueEmpty:ie,value:I,onEdit:N,onCancel:K,onSubmit:M,getPreviewProps:me,getInputProps:ae,getTextareaProps:te,getEditButtonProps:H,getSubmitButtonProps:re,getCancelButtonProps:pe,htmlProps:x}}var q3=rt(function(t,n){const r=uo("Editable",t),o=wr(t),{htmlProps:s,...i}=zR(o),{isEditing:u,onSubmit:d,onCancel:p,onEdit:h}=i,g=Mt("chakra-editable",t.className),v=sv(t.children,{isEditing:u,onSubmit:d,onCancel:p,onEdit:h});return a.jsx(MR,{value:i,children:a.jsx(OR,{value:r,children:a.jsx(He.div,{ref:n,...s,className:g,children:v})})})});q3.displayName="Editable";var K3={exports:{}},LR="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",BR=LR,FR=BR;function Q3(){}function Y3(){}Y3.resetWarningCache=Q3;var HR=function(){function e(r,o,s,i,u,d){if(d!==FR){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Y3,resetWarningCache:Q3};return n.PropTypes=n,n};K3.exports=HR();var WR=K3.exports;const Dn=wu(WR);var o0="data-focus-lock",X3="data-focus-lock-disabled",VR="data-no-focus-lock",UR="data-autofocus-inside",GR="data-no-autofocus";function qR(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function KR(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function J3(e,t){return KR(t||null,function(n){return e.forEach(function(r){return qR(r,n)})})}var Jm={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Ls=function(){return Ls=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function s0(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(l9)},c9=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Dv=c9.join(","),u9="".concat(Dv,", [data-focus-guard]"),g6=function(e,t){return Ks((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?u9:Dv)?[r]:[],g6(r))},[])},d9=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?rh([e.contentDocument.body],t):[e]},rh=function(e,t){return e.reduce(function(n,r){var o,s=g6(r,t),i=(o=[]).concat.apply(o,s.map(function(u){return d9(u,t)}));return n.concat(i,r.parentNode?Ks(r.parentNode.querySelectorAll(Dv)).filter(function(u){return u===r}):[])},[])},f9=function(e){var t=e.querySelectorAll("[".concat(UR,"]"));return Ks(t).map(function(n){return rh([n])}).reduce(function(n,r){return n.concat(r)},[])},Av=function(e,t){return Ks(e).filter(function(n){return u6(t,n)}).filter(function(n){return s9(n)})},Kx=function(e,t){return t===void 0&&(t=new Map),Ks(e).filter(function(n){return d6(t,n)})},i0=function(e,t,n){return m6(Av(rh(e,n),t),!0,n)},Qx=function(e,t){return m6(Av(rh(e),t),!1)},p9=function(e,t){return Av(f9(e),t)},Ol=function(e,t){return e.shadowRoot?Ol(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:Ks(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?Ol(o,t):!1}return Ol(n,t)})},h9=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(i,u){return!t.has(u)})},v6=function(e){return e.parentNode?v6(e.parentNode):e},Tv=function(e){var t=$f(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(o0);return n.push.apply(n,o?h9(Ks(v6(r).querySelectorAll("[".concat(o0,'="').concat(o,'"]:not([').concat(X3,'="disabled"])')))):[r]),n},[])},m9=function(e){try{return e()}catch{return}},su=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?su(t.shadowRoot):t instanceof HTMLIFrameElement&&m9(function(){return t.contentWindow.document})?su(t.contentWindow.document):t}},g9=function(e,t){return e===t},v9=function(e,t){return!!Ks(e.querySelectorAll("iframe")).some(function(n){return g9(n,t)})},y6=function(e,t){return t===void 0&&(t=su(i6(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:Tv(e).some(function(n){return Ol(n,t)||v9(n,t)})},y9=function(e){e===void 0&&(e=document);var t=su(e);return t?Ks(e.querySelectorAll("[".concat(VR,"]"))).some(function(n){return Ol(n,t)}):!1},b9=function(e,t){return t.filter(h6).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},Nv=function(e,t){return h6(e)&&e.name?b9(e,t):e},x9=function(e){var t=new Set;return e.forEach(function(n){return t.add(Nv(n,e))}),e.filter(function(n){return t.has(n)})},Yx=function(e){return e[0]&&e.length>1?Nv(e[0],e):e[0]},Xx=function(e,t){return e.length>1?e.indexOf(Nv(e[t],e)):t},b6="NEW_FOCUS",w9=function(e,t,n,r){var o=e.length,s=e[0],i=e[o-1],u=Rv(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,g=d-p,v=t.indexOf(s),b=t.indexOf(i),S=x9(t),x=n!==void 0?S.indexOf(n):-1,C=x-(r?S.indexOf(r):d),_=Xx(e,0),k=Xx(e,o-1);if(d===-1||h===-1)return b6;if(!g&&h>=0)return h;if(d<=v&&u&&Math.abs(g)>1)return k;if(d>=b&&u&&Math.abs(g)>1)return _;if(g&&Math.abs(C)>1)return h;if(d<=v)return k;if(d>b)return _;if(g)return Math.abs(g)>1?h:(o+h+g)%o}},S9=function(e){return function(t){var n,r=(n=f6(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},C9=function(e,t,n){var r=e.map(function(s){var i=s.node;return i}),o=Kx(r.filter(S9(n)));return o&&o.length?Yx(o):Yx(Kx(t))},l0=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&l0(e.parentNode.host||e.parentNode,t),t},Zm=function(e,t){for(var n=l0(e),r=l0(t),o=0;o=0)return s}return!1},x6=function(e,t,n){var r=$f(e),o=$f(t),s=r[0],i=!1;return o.filter(Boolean).forEach(function(u){i=Zm(i||u,u)||i,n.filter(Boolean).forEach(function(d){var p=Zm(s,d);p&&(!i||Ol(p,i)?i=p:i=Zm(p,i))})}),i},_9=function(e,t){return e.reduce(function(n,r){return n.concat(p9(r,t))},[])},k9=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(i9)},j9=function(e,t){var n=su($f(e).length>0?document:i6(e).ownerDocument),r=Tv(e).filter(zf),o=x6(n||e,e,r),s=new Map,i=Qx(r,s),u=i0(r,s).filter(function(b){var S=b.node;return zf(S)});if(!(!u[0]&&(u=i,!u[0]))){var d=Qx([o],s).map(function(b){var S=b.node;return S}),p=k9(d,u),h=p.map(function(b){var S=b.node;return S}),g=w9(h,d,n,t);if(g===b6){var v=C9(i,h,_9(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return g===void 0?g:p[g]}},P9=function(e){var t=Tv(e).filter(zf),n=x6(e,e,t),r=new Map,o=i0([n],r,!0),s=i0(t,r).filter(function(i){var u=i.node;return zf(u)}).map(function(i){var u=i.node;return u});return o.map(function(i){var u=i.node,d=i.index;return{node:u,index:d,lockItem:s.indexOf(u)>=0,guard:Rv(u)}})},I9=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},eg=0,tg=!1,w6=function(e,t,n){n===void 0&&(n={});var r=j9(e,t);if(!tg&&r){if(eg>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),tg=!0,setTimeout(function(){tg=!1},1);return}eg++,I9(r.node,n.focusOptions),eg--}};function $v(e){setTimeout(e,1)}var E9=function(){return document&&document.activeElement===document.body},O9=function(){return E9()||y9()},Ml=null,wl=null,Rl=null,au=!1,M9=function(){return!0},R9=function(t){return(Ml.whiteList||M9)(t)},D9=function(t,n){Rl={observerNode:t,portaledElement:n}},A9=function(t){return Rl&&Rl.portaledElement===t};function Jx(e,t,n,r){var o=null,s=e;do{var i=r[s];if(i.guard)i.node.dataset.focusAutoGuard&&(o=i);else if(i.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var T9=function(t){return t&&"current"in t?t.current:t},N9=function(t){return t?!!au:au==="meanwhile"},$9=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},z9=function(t,n){return n.some(function(r){return $9(t,r,r)})},Lf=function(){var t=!1;if(Ml){var n=Ml,r=n.observed,o=n.persistentFocus,s=n.autoFocus,i=n.shards,u=n.crossFrame,d=n.focusOptions,p=r||Rl&&Rl.portaledElement,h=document&&document.activeElement;if(p){var g=[p].concat(i.map(T9).filter(Boolean));if((!h||R9(h))&&(o||N9(u)||!O9()||!wl&&s)&&(p&&!(y6(g)||h&&z9(h,g)||A9(h))&&(document&&!wl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=w6(g,wl,{focusOptions:d}),Rl={})),au=!1,wl=document&&document.activeElement),document){var v=document&&document.activeElement,b=P9(g),S=b.map(function(x){var C=x.node;return C}).indexOf(v);S>-1&&(b.filter(function(x){var C=x.guard,_=x.node;return C&&_.dataset.focusAutoGuard}).forEach(function(x){var C=x.node;return C.removeAttribute("tabIndex")}),Jx(S,b.length,1,b),Jx(S,-1,-1,b))}}}return t},S6=function(t){Lf()&&t&&(t.stopPropagation(),t.preventDefault())},zv=function(){return $v(Lf)},L9=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||D9(r,n)},B9=function(){return null},C6=function(){au="just",$v(function(){au="meanwhile"})},F9=function(){document.addEventListener("focusin",S6),document.addEventListener("focusout",zv),window.addEventListener("blur",C6)},H9=function(){document.removeEventListener("focusin",S6),document.removeEventListener("focusout",zv),window.removeEventListener("blur",C6)};function W9(e){return e.filter(function(t){var n=t.disabled;return!n})}function V9(e){var t=e.slice(-1)[0];t&&!Ml&&F9();var n=Ml,r=n&&t&&t.id===n.id;Ml=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(wl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Lf(),$v(Lf)):(H9(),wl=null)}o6.assignSyncMedium(L9);s6.assignMedium(zv);YR.assignMedium(function(e){return e({moveFocusInside:w6,focusInside:y6})});const U9=e9(W9,V9)(B9);var _6=f.forwardRef(function(t,n){return f.createElement(a6,Xn({sideCar:U9,ref:n},t))}),k6=a6.propTypes||{};k6.sideCar;cM(k6,["sideCar"]);_6.propTypes={};const Zx=_6;var j6=e=>e.hasAttribute("tabindex"),G9=e=>j6(e)&&e.tabIndex===-1;function q9(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function P6(e){return e.parentElement&&P6(e.parentElement)?!0:e.hidden}function K9(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function I6(e){if(!x4(e)||P6(e)||q9(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():K9(e)?!0:j6(e)}function Q9(e){return e?x4(e)&&I6(e)&&!G9(e):!1}var Y9=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],X9=Y9.join(),J9=e=>e.offsetWidth>0&&e.offsetHeight>0;function E6(e){const t=Array.from(e.querySelectorAll(X9));return t.unshift(e),t.filter(n=>I6(n)&&J9(n))}var e2,Z9=(e2=Zx.default)!=null?e2:Zx,O6=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:i,autoFocus:u,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&E6(r.current).length===0&&requestAnimationFrame(()=>{var S;(S=r.current)==null||S.focus()})},[t,r]),g=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return a.jsx(Z9,{crossFrame:p,persistentFocus:d,autoFocus:u,disabled:i,onActivation:h,onDeactivation:g,returnFocus:v,children:s})};O6.displayName="FocusLock";function eD(e,t,n,r){const o=w4(t);return f.useEffect(()=>{var s;const i=(s=Yb(n))!=null?s:document;if(t)return i.addEventListener(e,o,r),()=>{i.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=Yb(n))!=null?s:document).removeEventListener(e,o,r)}}function tD(e){const{ref:t,handler:n,enabled:r=!0}=e,o=w4(n),i=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const u=g=>{ng(g,t)&&(i.isPointerDown=!0)},d=g=>{if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&n&&ng(g,t)&&(i.isPointerDown=!1,o(g))},p=g=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&ng(g,t)&&(i.isPointerDown=!1,o(g))},h=S4(t.current);return h.addEventListener("mousedown",u,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",u,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",u,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",u,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,i,r])}function ng(e,t){var n;const r=e.target;return r&&!S4(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[nD,rD]=cr({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),M6=rt(function(t,n){const r=uo("Input",t),{children:o,className:s,...i}=wr(t),u=Mt("chakra-input__group",s),d={},p=qp(o),h=r.field;p.forEach(v=>{var b,S;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(S=h.height)!=null?S:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const g=p.map(v=>{var b,S;const x=_v({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((S=v.props)==null?void 0:S.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,x):f.cloneElement(v,Object.assign(x,d,v.props))});return a.jsx(He.div,{className:u,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate"},"data-group":!0,...i,children:a.jsx(nD,{value:r,children:g})})});M6.displayName="InputGroup";var oD=He("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),oh=rt(function(t,n){var r,o;const{placement:s="left",...i}=t,u=rD(),d=u.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...u.element};return a.jsx(oD,{ref:n,__css:h,...i})});oh.id="InputElement";oh.displayName="InputElement";var R6=rt(function(t,n){const{className:r,...o}=t,s=Mt("chakra-input__left-element",r);return a.jsx(oh,{ref:n,placement:"left",className:s,...o})});R6.id="InputLeftElement";R6.displayName="InputLeftElement";var Lv=rt(function(t,n){const{className:r,...o}=t,s=Mt("chakra-input__right-element",r);return a.jsx(oh,{ref:n,placement:"right",className:s,...o})});Lv.id="InputRightElement";Lv.displayName="InputRightElement";var Iu=rt(function(t,n){const{htmlSize:r,...o}=t,s=uo("Input",o),i=wr(o),u=av(i),d=Mt("chakra-input",t.className);return a.jsx(He.input,{size:r,...u,__css:s.field,ref:n,className:d})});Iu.displayName="Input";Iu.id="Input";var Qa=rt(function(t,n){const r=Zl("Link",t),{className:o,isExternal:s,...i}=wr(t);return a.jsx(He.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Mt("chakra-link",o),...i,__css:r})});Qa.displayName="Link";var[sD,D6]=cr({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Bv=rt(function(t,n){const r=uo("List",t),{children:o,styleType:s="none",stylePosition:i,spacing:u,...d}=wr(t),p=qp(o),g=u?{["& > *:not(style) ~ *:not(style)"]:{mt:u}}:{};return a.jsx(sD,{value:r,children:a.jsx(He.ul,{ref:n,listStyleType:s,listStylePosition:i,role:"list",__css:{...r.container,...g},...d,children:p})})});Bv.displayName="List";var aD=rt((e,t)=>{const{as:n,...r}=e;return a.jsx(Bv,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});aD.displayName="OrderedList";var Fv=rt(function(t,n){const{as:r,...o}=t;return a.jsx(Bv,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Fv.displayName="UnorderedList";var la=rt(function(t,n){const r=D6();return a.jsx(He.li,{ref:n,...t,__css:r.item})});la.displayName="ListItem";var iD=rt(function(t,n){const r=D6();return a.jsx(io,{ref:n,role:"presentation",...t,__css:r.icon})});iD.displayName="ListIcon";var Mi=rt(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:i,column:u,row:d,autoFlow:p,autoRows:h,templateRows:g,autoColumns:v,templateColumns:b,...S}=t,x={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:i,gridAutoColumns:v,gridColumn:u,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:g,gridTemplateColumns:b};return a.jsx(He.div,{ref:n,__css:x,...S})});Mi.displayName="Grid";var Bi=He("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});Bi.displayName="Spacer";var qe=rt(function(t,n){const r=Zl("Text",t),{className:o,align:s,decoration:i,casing:u,...d}=wr(t),p=_v({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return a.jsx(He.p,{ref:n,className:Mt("chakra-text",t.className),...p,...d,__css:r})});qe.displayName="Text";var A6=rt((e,t)=>a.jsx(EE,{align:"center",...e,direction:"column",ref:t}));A6.displayName="VStack";function t2(e){return OE(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var c0=rt(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:i,rowEnd:u,rowSpan:d,rowStart:p,...h}=t,g=_v({gridArea:r,gridColumn:t2(o),gridRow:t2(d),gridColumnStart:s,gridColumnEnd:i,gridRowStart:p,gridRowEnd:u});return a.jsx(He.div,{ref:n,__css:g,...h})});c0.displayName="GridItem";var Za=rt(function(t,n){const r=Zl("Badge",t),{className:o,...s}=wr(t);return a.jsx(He.span,{ref:n,className:Mt("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});Za.displayName="Badge";var Fi=rt(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:i,borderWidth:u,borderStyle:d,borderColor:p,...h}=Zl("Divider",t),{className:g,orientation:v="horizontal",__css:b,...S}=wr(t),x={vertical:{borderLeftWidth:r||i||u||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||u||"1px",width:"100%"}};return a.jsx(He.hr,{ref:n,"aria-orientation":v,...S,__css:{...h,border:"0",borderColor:p,borderStyle:d,...x[v],...b},className:Mt("chakra-divider",g)})});Fi.displayName="Divider";function lD(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function cD(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),i=()=>{s.current&&(clearTimeout(s.current),s.current=null)},u=()=>{i(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>i,[]);function d(p){return h=>{if(h.key==="Backspace"){const g=[...r];g.pop(),o(g);return}if(lD(h)){const g=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(g),p(g.join("")),u()}}}return d}function uD(e,t,n,r){if(t==null)return r;if(!r)return e.find(i=>n(i).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function dD(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,i,u)=>{e.current.set(i,{type:s,el:o,options:u}),o.addEventListener(s,i,u)},[]),r=f.useCallback((o,s,i,u)=>{o.removeEventListener(s,i,u),e.current.delete(i)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function rg(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function T6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:i,onMouseUp:u,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:g,onMouseOver:v,onMouseLeave:b,...S}=e,[x,C]=f.useState(!0),[_,k]=f.useState(!1),P=dD(),I=M=>{M&&M.tagName!=="BUTTON"&&C(!1)},E=x?g:g||0,O=n&&!r,R=f.useCallback(M=>{if(n){M.stopPropagation(),M.preventDefault();return}M.currentTarget.focus(),d==null||d(M)},[n,d]),D=f.useCallback(M=>{_&&rg(M)&&(M.preventDefault(),M.stopPropagation(),k(!1),P.remove(document,"keyup",D,!1))},[_,P]),T=f.useCallback(M=>{if(p==null||p(M),n||M.defaultPrevented||M.metaKey||!rg(M.nativeEvent)||x)return;const U=o&&M.key==="Enter";s&&M.key===" "&&(M.preventDefault(),k(!0)),U&&(M.preventDefault(),M.currentTarget.click()),P.add(document,"keyup",D,!1)},[n,x,p,o,s,P,D]),B=f.useCallback(M=>{if(h==null||h(M),n||M.defaultPrevented||M.metaKey||!rg(M.nativeEvent)||x)return;s&&M.key===" "&&(M.preventDefault(),k(!1),M.currentTarget.click())},[s,x,n,h]),W=f.useCallback(M=>{M.button===0&&(k(!1),P.remove(document,"mouseup",W,!1))},[P]),J=f.useCallback(M=>{if(M.button!==0)return;if(n){M.stopPropagation(),M.preventDefault();return}x||k(!0),M.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",W,!1),i==null||i(M)},[n,x,i,P,W]),F=f.useCallback(M=>{M.button===0&&(x||k(!1),u==null||u(M))},[u,x]),N=f.useCallback(M=>{if(n){M.preventDefault();return}v==null||v(M)},[n,v]),G=f.useCallback(M=>{_&&(M.preventDefault(),k(!1)),b==null||b(M)},[_,b]),K=Wn(t,I);return x?{...S,ref:K,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:i,onMouseUp:u,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...S,ref:K,role:"button","data-active":sn(_),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:J,onMouseUp:F,onKeyUp:B,onKeyDown:T,onMouseOver:N,onMouseLeave:G}}function fD(e){const t=e.current;if(!t)return!1;const n=ME(t);return!n||t.contains(n)?!1:!!Q9(n)}function N6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Li(()=>{if(!s||fD(e))return;const i=(o==null?void 0:o.current)||e.current;let u;if(i)return u=requestAnimationFrame(()=>{i.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(u)}},[s,e,o])}var pD={preventScroll:!0,shouldFocus:!1};function hD(e,t=pD){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,i=mD(e)?e.current:e,u=o&&s,d=f.useRef(u),p=f.useRef(s);Kc(()=>{!p.current&&s&&(d.current=u),p.current=s},[s,u]);const h=f.useCallback(()=>{if(!(!s||!i||!d.current)&&(d.current=!1,!i.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var g;(g=n.current)==null||g.focus({preventScroll:r})});else{const g=E6(i);g.length>0&&requestAnimationFrame(()=>{g[0].focus({preventScroll:r})})}},[s,r,i,n]);Li(()=>{h()},[h]),ov(i,"transitionend",h)}function mD(e){return"current"in e}function gD(e){const{ref:t,handler:n,enabled:r=!0}=e,o=Ga(n),i=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const u=g=>{og(g,t)&&(i.isPointerDown=!0)},d=g=>{if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&n&&og(g,t)&&(i.isPointerDown=!1,o(g))},p=g=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&og(g,t)&&(i.isPointerDown=!1,o(g))},h=$6(t.current);return h.addEventListener("mousedown",u,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",u,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",u,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",u,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,i,r])}function og(e,t){var n;const r=e.target;return r&&!$6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function $6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function z6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,i]=f.useState(!1);return f.useEffect(()=>{s||(o(t),i(!0))},[t,s,r]),ov(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=RE(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Hv(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[vD,yD,bD,xD]=kv(),[wD,Eu]=cr({strict:!1,name:"MenuContext"});function SD(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function L6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function n2(e){return L6(e).activeElement===e}function CD(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:i,isOpen:u,defaultIsOpen:d,onClose:p,onOpen:h,placement:g="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:S=!1,...x}=e,C=f.useRef(null),_=f.useRef(null),k=bD(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var me;(me=C.current)==null||me.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const me=setTimeout(()=>{var ae;if(o)(ae=o.current)==null||ae.focus();else{const te=k.firstEnabled();te&&F(te.index)}});U.current.add(me)},[k,o]),E=f.useCallback(()=>{const me=setTimeout(()=>{const ae=k.lastEnabled();ae&&F(ae.index)});U.current.add(me)},[k]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:D,onClose:T,onToggle:B}=C4({isOpen:u,defaultIsOpen:d,onClose:p,onOpen:O});gD({enabled:R&&r,ref:C,handler:me=>{var ae;(ae=_.current)!=null&&ae.contains(me.target)||T()}});const W=_4({...x,enabled:R||S,placement:g,direction:b}),[J,F]=f.useState(-1);Li(()=>{R||F(-1)},[R]),N6(C,{focusRef:_,visible:R,shouldFocus:!0});const N=z6({isOpen:R,ref:C}),[G,K]=SD(t,"menu-button","menu-list"),M=f.useCallback(()=>{D(),P()},[D,P]),U=f.useRef(new Set([]));MD(()=>{U.current.forEach(me=>clearTimeout(me)),U.current.clear()});const V=f.useCallback(()=>{D(),I()},[I,D]),ee=f.useCallback(()=>{D(),E()},[D,E]),ie=f.useCallback(()=>{var me,ae;const te=L6(C.current),H=(me=C.current)==null?void 0:me.contains(te.activeElement);if(!(R&&!H))return;const pe=(ae=k.item(J))==null?void 0:ae.node;pe==null||pe.focus()},[R,J,k]),xe=f.useRef(null);return{openAndFocusMenu:M,openAndFocusFirstItem:V,openAndFocusLastItem:ee,onTransitionEnd:ie,unstable__animationState:N,descendants:k,popper:W,buttonId:G,menuId:K,forceUpdate:W.forceUpdate,orientation:"vertical",isOpen:R,onToggle:B,onOpen:D,onClose:T,menuRef:C,buttonRef:_,focusedIndex:J,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:i,lazyBehavior:v,initialFocusRef:o,rafId:xe}}function _D(e={},t=null){const n=Eu(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:i}=n,u=f.useCallback(d=>{const p=d.key,g={Enter:s,ArrowDown:s,ArrowUp:i}[p];g&&(d.preventDefault(),d.stopPropagation(),g(d))},[s,i]);return{...e,ref:Wn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":sn(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:gt(e.onClick,r),onKeyDown:gt(e.onKeyDown,u)}}function u0(e){var t;return ED(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function kD(e={},t=null){const n=Eu();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:i,onClose:u,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:g}=n,v=yD(),b=cD({preventDefault:_=>_.key!==" "&&u0(_.target)}),S=f.useCallback(_=>{if(!_.currentTarget.contains(_.target))return;const k=_.key,I={Tab:O=>O.preventDefault(),Escape:u,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[k];if(I){_.preventDefault(),I(_);return}const E=b(O=>{const R=uD(v.values(),O,D=>{var T,B;return(B=(T=D==null?void 0:D.node)==null?void 0:T.textContent)!=null?B:""},v.item(r));if(R){const D=v.indexOf(R.node);o(D)}});u0(_.target)&&E(_)},[v,r,b,u,o]),x=f.useRef(!1);i&&(x.current=!0);const C=Hv({wasSelected:x.current,enabled:p,mode:h,isSelected:g.present});return{...e,ref:Wn(s,t),children:C?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:gt(e.onKeyDown,S)}}function jD(e={}){const{popper:t,isOpen:n}=Eu();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function B6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:i,isDisabled:u,isFocusable:d,closeOnSelect:p,type:h,...g}=e,v=Eu(),{setFocusedIndex:b,focusedIndex:S,closeOnSelect:x,onClose:C,menuRef:_,isOpen:k,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:D}=xD({disabled:u&&!d}),T=f.useCallback(M=>{n==null||n(M),!u&&b(R)},[b,R,u,n]),B=f.useCallback(M=>{r==null||r(M),E.current&&!n2(E.current)&&T(M)},[T,r]),W=f.useCallback(M=>{o==null||o(M),!u&&b(-1)},[b,u,o]),J=f.useCallback(M=>{s==null||s(M),u0(M.currentTarget)&&(p??x)&&C()},[C,s,x,p]),F=f.useCallback(M=>{i==null||i(M),b(R)},[b,i,R]),N=R===S,G=u&&!d;Li(()=>{k&&(N&&!G&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var M;(M=E.current)==null||M.focus(),I.current=null})):_.current&&!n2(_.current)&&_.current.focus({preventScroll:!0}))},[N,G,_,k]);const K=T6({onClick:J,onFocus:F,onMouseEnter:T,onMouseMove:B,onMouseLeave:W,ref:Wn(D,E,t),isDisabled:u,isFocusable:d});return{...g,...K,type:h??K.type,id:O,role:"menuitem",tabIndex:N?0:-1}}function PD(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...B6(o,t),role:`menuitem${n}`,"aria-checked":r}}function ID(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...i}=e,d=n==="radio"?"":[],[p,h]=bu({defaultValue:o??d,value:r,onChange:s}),g=f.useCallback(S=>{if(n==="radio"&&typeof p=="string"&&h(S),n==="checkbox"&&Array.isArray(p)){const x=p.includes(S)?p.filter(C=>C!==S):p.concat(S);h(x)}},[p,h,n]),b=qp(t).map(S=>{if(S.type.id!=="MenuItemOption")return S;const x=_=>{var k,P;g(S.props.value),(P=(k=S.props).onClick)==null||P.call(k,_)},C=n==="radio"?S.props.value===p:p.includes(S.props.value);return f.cloneElement(S,{type:n,onClick:x,isChecked:C})});return{...i,children:b}}function ED(e){var t;if(!OD(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function OD(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function MD(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[RD,Ou]=cr({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Mu=e=>{const{children:t}=e,n=uo("Menu",e),r=wr(e),{direction:o}=Kp(),{descendants:s,...i}=CD({...r,direction:o}),u=f.useMemo(()=>i,[i]),{isOpen:d,onClose:p,forceUpdate:h}=u;return a.jsx(vD,{value:s,children:a.jsx(wD,{value:u,children:a.jsx(RD,{value:n,children:sv(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Mu.displayName="Menu";var F6=rt((e,t)=>{const n=Ou();return a.jsx(He.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});F6.displayName="MenuCommand";var H6=rt((e,t)=>{const{type:n,...r}=e,o=Ou(),s=r.as||n?n??void 0:"button",i=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return a.jsx(He.button,{ref:t,type:s,...r,__css:i})}),Wv=e=>{const{className:t,children:n,...r}=e,o=f.Children.only(n),s=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:Mt("chakra-menu__icon",o.props.className)}):null,i=Mt("chakra-menu__icon-wrapper",t);return a.jsx(He.span,{className:i,...r,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s})};Wv.displayName="MenuIcon";var ao=rt((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:i,...u}=e,d=B6(u,t),h=n||o?a.jsx("span",{style:{pointerEvents:"none",flex:1},children:i}):i;return a.jsxs(H6,{...d,className:Mt("chakra-menu__menuitem",d.className),children:[n&&a.jsx(Wv,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&a.jsx(F6,{marginStart:s,children:o})]})});ao.displayName="MenuItem";var DD={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},AD=He(Jr.div),ic=rt(function(t,n){var r,o;const{rootProps:s,motionProps:i,...u}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Eu(),g=kD(u,n),v=jD(s),b=Ou();return a.jsx(He.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:a.jsx(AD,{variants:DD,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...i,className:Mt("chakra-menu__menu-list",g.className),...g,onUpdate:p,onAnimationComplete:Gp(h.onComplete,g.onAnimationComplete)})})});ic.displayName="MenuList";var Vv=rt((e,t)=>{const{title:n,children:r,className:o,...s}=e,i=Mt("chakra-menu__group__title",o),u=Ou();return a.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&a.jsx(He.p,{className:i,...s,__css:u.groupTitle,children:n}),r]})});Vv.displayName="MenuGroup";var Uv=e=>{const{className:t,title:n,...r}=e,o=ID(r);return a.jsx(Vv,{title:n,className:Mt("chakra-menu__option-group",t),...o})};Uv.displayName="MenuOptionGroup";var TD=rt((e,t)=>{const n=Ou();return a.jsx(He.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Ru=rt((e,t)=>{const{children:n,as:r,...o}=e,s=_D(o,t),i=r||TD;return a.jsx(i,{...s,className:Mt("chakra-menu__menu-button",e.className),children:a.jsx(He.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Ru.displayName="MenuButton";var ND=e=>a.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:a.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),iu=rt((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=PD(o,t);return a.jsxs(H6,{...s,className:Mt("chakra-menu__menuitem-option",o.className),children:[n!==null&&a.jsx(Wv,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||a.jsx(ND,{})}),a.jsx("span",{style:{flex:1},children:s.children})]})});iu.id="MenuItemOption";iu.displayName="MenuItemOption";var $D={slideInBottom:{...t0,custom:{offsetY:16,reverse:!0}},slideInRight:{...t0,custom:{offsetX:16,reverse:!0}},scale:{...D3,custom:{initialScale:.95,reverse:!0}},none:{}},zD=He(Jr.section),LD=e=>$D[e||"none"],W6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=LD(n),...o}=e;return a.jsx(zD,{ref:t,...r,...o})});W6.displayName="ModalTransition";var BD=Object.defineProperty,FD=(e,t,n)=>t in e?BD(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HD=(e,t,n)=>(FD(e,typeof t!="symbol"?t+"":t,n),n),WD=class{constructor(){HD(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},d0=new WD;function V6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=d0.add(o);r(s)}return()=>{d0.remove(o),r(0)}}},[t,e]),n}var VD=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},cl=new WeakMap,Rd=new WeakMap,Dd={},sg=0,U6=function(e){return e&&(e.host||U6(e.parentNode))},UD=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=U6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},GD=function(e,t,n,r){var o=UD(t,Array.isArray(e)?e:[e]);Dd[n]||(Dd[n]=new WeakMap);var s=Dd[n],i=[],u=new Set,d=new Set(o),p=function(g){!g||u.has(g)||(u.add(g),p(g.parentNode))};o.forEach(p);var h=function(g){!g||d.has(g)||Array.prototype.forEach.call(g.children,function(v){if(u.has(v))h(v);else{var b=v.getAttribute(r),S=b!==null&&b!=="false",x=(cl.get(v)||0)+1,C=(s.get(v)||0)+1;cl.set(v,x),s.set(v,C),i.push(v),x===1&&S&&Rd.set(v,!0),C===1&&v.setAttribute(n,"true"),S||v.setAttribute(r,"true")}})};return h(t),u.clear(),sg++,function(){i.forEach(function(g){var v=cl.get(g)-1,b=s.get(g)-1;cl.set(g,v),s.set(g,b),v||(Rd.has(g)||g.removeAttribute(r),Rd.delete(g)),b||g.removeAttribute(n)}),sg--,sg||(cl=new WeakMap,cl=new WeakMap,Rd=new WeakMap,Dd={})}},qD=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||VD(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),GD(r,o,n,"aria-hidden")):function(){return null}};function KD(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:i=!0,onOverlayClick:u,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[g,v,b]=YD(r,"chakra-modal","chakra-modal--header","chakra-modal--body");QD(p,t&&i);const S=V6(p,t),x=f.useRef(null),C=f.useCallback(T=>{x.current=T.target},[]),_=f.useCallback(T=>{T.key==="Escape"&&(T.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[k,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((T={},B=null)=>({role:"dialog",...T,ref:Wn(B,p),id:g,tabIndex:-1,"aria-modal":!0,"aria-labelledby":k?v:void 0,"aria-describedby":I?b:void 0,onClick:gt(T.onClick,W=>W.stopPropagation())}),[b,I,g,v,k]),R=f.useCallback(T=>{T.stopPropagation(),x.current===T.target&&d0.isTopModal(p.current)&&(o&&(n==null||n()),u==null||u())},[n,o,u]),D=f.useCallback((T={},B=null)=>({...T,ref:Wn(B,h),onClick:gt(T.onClick,R),onKeyDown:gt(T.onKeyDown,_),onMouseDown:gt(T.onMouseDown,C)}),[_,C,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:D,index:S}}function QD(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return qD(e.current)},[t,e,n])}function YD(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[XD,lc]=cr({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JD,Ri]=cr({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),lu=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:i,finalFocusRef:u,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:g,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:S}=t,x=uo("Modal",t),_={...KD(t),autoFocus:o,trapFocus:s,initialFocusRef:i,finalFocusRef:u,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:g,motionPreset:v,lockFocusAcrossFrames:b};return a.jsx(JD,{value:_,children:a.jsx(XD,{value:x,children:a.jsx(Ko,{onExitComplete:S,children:_.isOpen&&a.jsx(Cf,{...n,children:r})})})})};lu.displayName="Modal";var yf="right-scroll-bar-position",bf="width-before-scroll-bar",ZD="with-scroll-bars-hidden",eA="--removed-body-scroll-bar-size",G6=n6(),ag=function(){},sh=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:ag,onWheelCapture:ag,onTouchMoveCapture:ag}),o=r[0],s=r[1],i=e.forwardProps,u=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,g=e.shards,v=e.sideCar,b=e.noIsolation,S=e.inert,x=e.allowPinchZoom,C=e.as,_=C===void 0?"div":C,k=e.gapMode,P=Z3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=J3([n,t]),O=Ls(Ls({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:G6,removeScrollBar:p,shards:g,noIsolation:b,inert:S,setCallbacks:s,allowPinchZoom:!!x,lockRef:n,gapMode:k}),i?f.cloneElement(f.Children.only(u),Ls(Ls({},O),{ref:E})):f.createElement(_,Ls({},O,{className:d,ref:E}),u))});sh.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};sh.classNames={fullWidth:bf,zeroRight:yf};var r2,tA=function(){if(r2)return r2;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function nA(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=tA();return t&&e.setAttribute("nonce",t),e}function rA(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function oA(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var sA=function(){var e=0,t=null;return{add:function(n){e==0&&(t=nA())&&(rA(t,n),oA(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},aA=function(){var e=sA();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},q6=function(){var e=aA(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},iA={left:0,top:0,right:0,gap:0},ig=function(e){return parseInt(e||"",10)||0},lA=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ig(n),ig(r),ig(o)]},cA=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return iA;var t=lA(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},uA=q6(),dA=function(e,t,n,r){var o=e.left,s=e.top,i=e.right,u=e.gap;return n===void 0&&(n="margin"),` - .`.concat(ZD,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(u,"px ").concat(r,`; - } - body { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(o,`px; - padding-top: `).concat(s,`px; - padding-right: `).concat(i,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(u,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(u,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(yf,` { - right: `).concat(u,"px ").concat(r,`; - } - - .`).concat(bf,` { - margin-right: `).concat(u,"px ").concat(r,`; - } - - .`).concat(yf," .").concat(yf,` { - right: 0 `).concat(r,`; - } - - .`).concat(bf," .").concat(bf,` { - margin-right: 0 `).concat(r,`; - } - - body { - `).concat(eA,": ").concat(u,`px; - } -`)},fA=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return cA(o)},[o]);return f.createElement(uA,{styles:dA(s,!t,o,n?"":"!important")})},f0=!1;if(typeof window<"u")try{var Ad=Object.defineProperty({},"passive",{get:function(){return f0=!0,!0}});window.addEventListener("test",Ad,Ad),window.removeEventListener("test",Ad,Ad)}catch{f0=!1}var ul=f0?{passive:!1}:!1,pA=function(e){return e.tagName==="TEXTAREA"},K6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!pA(e)&&n[t]==="visible")},hA=function(e){return K6(e,"overflowY")},mA=function(e){return K6(e,"overflowX")},o2=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Q6(e,r);if(o){var s=Y6(e,r),i=s[1],u=s[2];if(i>u)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},gA=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},vA=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Q6=function(e,t){return e==="v"?hA(t):mA(t)},Y6=function(e,t){return e==="v"?gA(t):vA(t)},yA=function(e,t){return e==="h"&&t==="rtl"?-1:1},bA=function(e,t,n,r,o){var s=yA(e,window.getComputedStyle(t).direction),i=s*r,u=n.target,d=t.contains(u),p=!1,h=i>0,g=0,v=0;do{var b=Y6(e,u),S=b[0],x=b[1],C=b[2],_=x-C-s*S;(S||_)&&Q6(e,u)&&(g+=_,v+=S),u=u.parentNode}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(h&&(o&&g===0||!o&&i>g)||!h&&(o&&v===0||!o&&-i>v))&&(p=!0),p},Td=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},s2=function(e){return[e.deltaX,e.deltaY]},a2=function(e){return e&&"current"in e?e.current:e},xA=function(e,t){return e[0]===t[0]&&e[1]===t[1]},wA=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},SA=0,dl=[];function CA(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(SA++)[0],s=f.useState(q6)[0],i=f.useRef(e);f.useEffect(function(){i.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var x=s0([e.lockRef.current],(e.shards||[]).map(a2),!0).filter(Boolean);return x.forEach(function(C){return C.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),x.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var u=f.useCallback(function(x,C){if("touches"in x&&x.touches.length===2)return!i.current.allowPinchZoom;var _=Td(x),k=n.current,P="deltaX"in x?x.deltaX:k[0]-_[0],I="deltaY"in x?x.deltaY:k[1]-_[1],E,O=x.target,R=Math.abs(P)>Math.abs(I)?"h":"v";if("touches"in x&&R==="h"&&O.type==="range")return!1;var D=o2(R,O);if(!D)return!0;if(D?E=R:(E=R==="v"?"h":"v",D=o2(R,O)),!D)return!1;if(!r.current&&"changedTouches"in x&&(P||I)&&(r.current=E),!E)return!0;var T=r.current||E;return bA(T,C,x,T==="h"?P:I,!0)},[]),d=f.useCallback(function(x){var C=x;if(!(!dl.length||dl[dl.length-1]!==s)){var _="deltaY"in C?s2(C):Td(C),k=t.current.filter(function(E){return E.name===C.type&&E.target===C.target&&xA(E.delta,_)})[0];if(k&&k.should){C.cancelable&&C.preventDefault();return}if(!k){var P=(i.current.shards||[]).map(a2).filter(Boolean).filter(function(E){return E.contains(C.target)}),I=P.length>0?u(C,P[0]):!i.current.noIsolation;I&&C.cancelable&&C.preventDefault()}}},[]),p=f.useCallback(function(x,C,_,k){var P={name:x,delta:C,target:_,should:k};t.current.push(P),setTimeout(function(){t.current=t.current.filter(function(I){return I!==P})},1)},[]),h=f.useCallback(function(x){n.current=Td(x),r.current=void 0},[]),g=f.useCallback(function(x){p(x.type,s2(x),x.target,u(x,e.lockRef.current))},[]),v=f.useCallback(function(x){p(x.type,Td(x),x.target,u(x,e.lockRef.current))},[]);f.useEffect(function(){return dl.push(s),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:v}),document.addEventListener("wheel",d,ul),document.addEventListener("touchmove",d,ul),document.addEventListener("touchstart",h,ul),function(){dl=dl.filter(function(x){return x!==s}),document.removeEventListener("wheel",d,ul),document.removeEventListener("touchmove",d,ul),document.removeEventListener("touchstart",h,ul)}},[]);var b=e.removeScrollBar,S=e.inert;return f.createElement(f.Fragment,null,S?f.createElement(s,{styles:wA(o)}):null,b?f.createElement(fA,{gapMode:e.gapMode}):null)}const _A=QR(G6,CA);var X6=f.forwardRef(function(e,t){return f.createElement(sh,Ls({},e,{ref:t,sideCar:_A}))});X6.classNames=sh.classNames;const kA=X6;function jA(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:i,finalFocusRef:u,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:g}=Ri(),[v,b]=DE();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const S=V6(r,g);return a.jsx(O6,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:u,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:a.jsx(kA,{removeScrollBar:!p,allowPinchZoom:i,enabled:S===1&&s,forwardProps:!0,children:e.children})})}var cu=rt((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...i}=e,{getDialogProps:u,getDialogContainerProps:d}=Ri(),p=u(i,t),h=d(o),g=Mt("chakra-modal__content",n),v=lc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},S={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:x}=Ri();return a.jsx(jA,{children:a.jsx(He.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:S,children:a.jsx(W6,{preset:x,motionProps:s,className:g,...p,__css:b,children:r})})})});cu.displayName="ModalContent";function Du(e){const{leastDestructiveRef:t,...n}=e;return a.jsx(lu,{...n,initialFocusRef:t})}var Au=rt((e,t)=>a.jsx(cu,{ref:t,role:"alertdialog",...e})),ga=rt((e,t)=>{const{className:n,...r}=e,o=Mt("chakra-modal__footer",n),i={display:"flex",alignItems:"center",justifyContent:"flex-end",...lc().footer};return a.jsx(He.footer,{ref:t,...r,__css:i,className:o})});ga.displayName="ModalFooter";var va=rt((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=Ri();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const i=Mt("chakra-modal__header",n),d={flex:0,...lc().header};return a.jsx(He.header,{ref:t,className:i,id:o,...r,__css:d})});va.displayName="ModalHeader";var PA=He(Jr.div),ya=rt((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,i=Mt("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...lc().overlay},{motionPreset:p}=Ri(),g=o||(p==="none"?{}:R3);return a.jsx(PA,{...g,__css:d,ref:t,className:i,...s})});ya.displayName="ModalOverlay";var ba=rt((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=Ri();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const i=Mt("chakra-modal__body",n),u=lc();return a.jsx(He.div,{ref:t,className:i,id:o,...r,__css:u.body})});ba.displayName="ModalBody";var Gv=rt((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=Ri(),i=Mt("chakra-modal__close-btn",r),u=lc();return a.jsx(AE,{ref:t,__css:u.closeButton,className:i,onClick:gt(n,d=>{d.stopPropagation(),s()}),...o})});Gv.displayName="ModalCloseButton";var[IA,Tu]=cr({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[EA,qv]=cr({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Kv(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Tu();return f.cloneElement(t,n(t.props,t.ref))}Kv.displayName="PopoverTrigger";var fl={click:"click",hover:"hover"};function OA(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:i=!0,arrowSize:u,arrowShadowColor:d,trigger:p=fl.click,openDelay:h=200,closeDelay:g=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:S,...x}=e,{isOpen:C,onClose:_,onOpen:k,onToggle:P}=C4(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),D=f.useRef(!1);C&&(D.current=!0);const[T,B]=f.useState(!1),[W,J]=f.useState(!1),F=f.useId(),N=o??F,[G,K,M,U]=["popover-trigger","popover-content","popover-header","popover-body"].map(_e=>`${_e}-${N}`),{referenceRef:V,getArrowProps:ee,getPopperProps:ie,getArrowInnerProps:xe,forceUpdate:me}=_4({...x,enabled:C||!!S}),ae=z6({isOpen:C,ref:O});G3({enabled:C,ref:E}),N6(O,{focusRef:E,visible:C,shouldFocus:s&&p===fl.click}),hD(O,{focusRef:r,visible:C,shouldFocus:i&&p===fl.click});const te=Hv({wasSelected:D.current,enabled:v,mode:b,isSelected:ae.present}),H=f.useCallback((_e={},We=null)=>{const Le={..._e,style:{..._e.style,transformOrigin:Vm.transformOrigin.varRef,[Vm.arrowSize.var]:u?`${u}px`:void 0,[Vm.arrowShadowColor.var]:d},ref:Wn(O,We),children:te?_e.children:null,id:K,tabIndex:-1,role:"dialog",onKeyDown:gt(_e.onKeyDown,Ue=>{n&&Ue.key==="Escape"&&_()}),onBlur:gt(_e.onBlur,Ue=>{const jt=i2(Ue),vt=lg(O.current,jt),jn=lg(E.current,jt);C&&t&&(!vt&&!jn)&&_()}),"aria-labelledby":T?M:void 0,"aria-describedby":W?U:void 0};return p===fl.hover&&(Le.role="tooltip",Le.onMouseEnter=gt(_e.onMouseEnter,()=>{R.current=!0}),Le.onMouseLeave=gt(_e.onMouseLeave,Ue=>{Ue.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>_(),g))})),Le},[te,K,T,M,W,U,p,n,_,C,t,g,d,u]),re=f.useCallback((_e={},We=null)=>ie({..._e,style:{visibility:C?"visible":"hidden",..._e.style}},We),[C,ie]),pe=f.useCallback((_e,We=null)=>({..._e,ref:Wn(We,I,V)}),[I,V]),ne=f.useRef(),ve=f.useRef(),de=f.useCallback(_e=>{I.current==null&&V(_e)},[V]),Ce=f.useCallback((_e={},We=null)=>{const Le={..._e,ref:Wn(E,We,de),id:G,"aria-haspopup":"dialog","aria-expanded":C,"aria-controls":K};return p===fl.click&&(Le.onClick=gt(_e.onClick,P)),p===fl.hover&&(Le.onFocus=gt(_e.onFocus,()=>{ne.current===void 0&&k()}),Le.onBlur=gt(_e.onBlur,Ue=>{const jt=i2(Ue),vt=!lg(O.current,jt);C&&t&&vt&&_()}),Le.onKeyDown=gt(_e.onKeyDown,Ue=>{Ue.key==="Escape"&&_()}),Le.onMouseEnter=gt(_e.onMouseEnter,()=>{R.current=!0,ne.current=window.setTimeout(()=>k(),h)}),Le.onMouseLeave=gt(_e.onMouseLeave,()=>{R.current=!1,ne.current&&(clearTimeout(ne.current),ne.current=void 0),ve.current=window.setTimeout(()=>{R.current===!1&&_()},g)})),Le},[G,C,K,p,de,P,k,t,_,h,g]);f.useEffect(()=>()=>{ne.current&&clearTimeout(ne.current),ve.current&&clearTimeout(ve.current)},[]);const Re=f.useCallback((_e={},We=null)=>({..._e,id:M,ref:Wn(We,Le=>{B(!!Le)})}),[M]),ge=f.useCallback((_e={},We=null)=>({..._e,id:U,ref:Wn(We,Le=>{J(!!Le)})}),[U]);return{forceUpdate:me,isOpen:C,onAnimationComplete:ae.onComplete,onClose:_,getAnchorProps:pe,getArrowProps:ee,getArrowInnerProps:xe,getPopoverPositionerProps:re,getPopoverProps:H,getTriggerProps:Ce,getHeaderProps:Re,getBodyProps:ge}}function lg(e,t){return e===t||(e==null?void 0:e.contains(t))}function i2(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Qv(e){const t=uo("Popover",e),{children:n,...r}=wr(e),o=Kp(),s=OA({...r,direction:o.direction});return a.jsx(IA,{value:s,children:a.jsx(EA,{value:t,children:sv(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Qv.displayName="Popover";var cg=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function J6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:i,shadowColor:u}=e,{getArrowProps:d,getArrowInnerProps:p}=Tu(),h=qv(),g=(t=n??r)!=null?t:o,v=s??i;return a.jsx(He.div,{...d(),className:"chakra-popover__arrow-positioner",children:a.jsx(He.div,{className:Mt("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":cg("colors",u),"--popper-arrow-bg":cg("colors",g),"--popper-arrow-shadow":cg("shadows",v),...h.arrow}})})}J6.displayName="PopoverArrow";var Z6=rt(function(t,n){const{getBodyProps:r}=Tu(),o=qv();return a.jsx(He.div,{...r(t,n),className:Mt("chakra-popover__body",t.className),__css:o.body})});Z6.displayName="PopoverBody";function MA(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var RA={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},DA=He(Jr.section),e5=rt(function(t,n){const{variants:r=RA,...o}=t,{isOpen:s}=Tu();return a.jsx(DA,{ref:n,variants:MA(r),initial:!1,animate:s?"enter":"exit",...o})});e5.displayName="PopoverTransition";var Yv=rt(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:i,getPopoverPositionerProps:u,onAnimationComplete:d}=Tu(),p=qv(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return a.jsx(He.div,{...u(r),__css:p.popper,className:"chakra-popover__popper",children:a.jsx(e5,{...o,...i(s,n),onAnimationComplete:Gp(d,s.onAnimationComplete),className:Mt("chakra-popover__content",t.className),__css:h})})});Yv.displayName="PopoverContent";function AA(e,t,n){return(e-t)*100/(n-t)}Ca({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});Ca({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var TA=Ca({"0%":{left:"-40%"},"100%":{left:"100%"}}),NA=Ca({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function $A(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:i,role:u="progressbar"}=e,d=AA(t,n,r);return{bind:{"data-indeterminate":i?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":i?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:u},percent:d,value:t}}var[zA,LA]=cr({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),BA=rt((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:i,...u}=e,d=$A({value:o,min:n,max:r,isIndeterminate:s,role:i}),h={height:"100%",...LA().filledTrack};return a.jsx(He.div,{ref:t,style:{width:`${d.percent}%`,...u.style},...d.bind,...u,__css:h})}),t5=rt((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:i,isAnimated:u,children:d,borderRadius:p,isIndeterminate:h,"aria-label":g,"aria-labelledby":v,"aria-valuetext":b,title:S,role:x,...C}=wr(e),_=uo("Progress",e),k=p??((n=_.track)==null?void 0:n.borderRadius),P={animation:`${NA} 1s linear infinite`},O={...!h&&i&&u&&P,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${TA} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",..._.track};return a.jsx(He.div,{ref:t,borderRadius:k,__css:R,...C,children:a.jsxs(zA,{value:_,children:[a.jsx(BA,{"aria-label":g,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:k,title:S,role:x}),d]})})});t5.displayName="Progress";function FA(e){return e&&Xb(e)&&Xb(e.target)}function HA(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:i,isNative:u,...d}=e,[p,h]=f.useState(r||""),g=typeof n<"u",v=g?n:p,b=f.useRef(null),S=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const D=E.querySelector(O);D==null||D.focus()},[]),C=`radio-${f.useId()}`,_=o||C,k=f.useCallback(E=>{const O=FA(E)?E.target.value:E;g||h(O),t==null||t(String(O))},[t,g]),P=f.useCallback((E={},O=null)=>({...E,ref:Wn(O,b),role:"radiogroup"}),[]),I=f.useCallback((E={},O=null)=>({...E,ref:O,name:_,[u?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(D){k(D)},"data-radiogroup":!0}),[u,_,k,v]);return{getRootProps:P,getRadioProps:I,name:_,ref:b,focus:S,setValue:h,value:v,onChange:k,isDisabled:s,isFocusable:i,htmlProps:d}}var[WA,n5]=cr({name:"RadioGroupContext",strict:!1}),Bf=rt((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:i,isDisabled:u,isFocusable:d,...p}=e,{value:h,onChange:g,getRootProps:v,name:b,htmlProps:S}=HA(p),x=f.useMemo(()=>({name:b,size:r,onChange:g,colorScheme:n,value:h,variant:o,isDisabled:u,isFocusable:d}),[b,r,g,n,h,o,u,d]);return a.jsx(WA,{value:x,children:a.jsx(He.div,{...v(S,t),className:Mt("chakra-radio-group",i),children:s})})});Bf.displayName="RadioGroup";var VA={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function UA(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:i,onChange:u,isInvalid:d,name:p,value:h,id:g,"data-radiogroup":v,"aria-describedby":b,...S}=e,x=`radio-${f.useId()}`,C=TE(),k=!!n5()||!!v;let I=!!C&&!k?C.id:x;I=g??I;const E=o??(C==null?void 0:C.isDisabled),O=s??(C==null?void 0:C.isReadOnly),R=i??(C==null?void 0:C.isRequired),D=d??(C==null?void 0:C.isInvalid),[T,B]=f.useState(!1),[W,J]=f.useState(!1),[F,N]=f.useState(!1),[G,K]=f.useState(!1),[M,U]=f.useState(!!t),V=typeof n<"u",ee=V?n:M;f.useEffect(()=>$3(B),[]);const ie=f.useCallback(de=>{if(O||E){de.preventDefault();return}V||U(de.target.checked),u==null||u(de)},[V,E,O,u]),xe=f.useCallback(de=>{de.key===" "&&K(!0)},[K]),me=f.useCallback(de=>{de.key===" "&&K(!1)},[K]),ae=f.useCallback((de={},Ce=null)=>({...de,ref:Ce,"data-active":sn(G),"data-hover":sn(F),"data-disabled":sn(E),"data-invalid":sn(D),"data-checked":sn(ee),"data-focus":sn(W),"data-focus-visible":sn(W&&T),"data-readonly":sn(O),"aria-hidden":!0,onMouseDown:gt(de.onMouseDown,()=>K(!0)),onMouseUp:gt(de.onMouseUp,()=>K(!1)),onMouseEnter:gt(de.onMouseEnter,()=>N(!0)),onMouseLeave:gt(de.onMouseLeave,()=>N(!1))}),[G,F,E,D,ee,W,O,T]),{onFocus:te,onBlur:H}=C??{},re=f.useCallback((de={},Ce=null)=>{const Re=E&&!r;return{...de,id:I,ref:Ce,type:"radio",name:p,value:h,onChange:gt(de.onChange,ie),onBlur:gt(H,de.onBlur,()=>J(!1)),onFocus:gt(te,de.onFocus,()=>J(!0)),onKeyDown:gt(de.onKeyDown,xe),onKeyUp:gt(de.onKeyUp,me),checked:ee,disabled:Re,readOnly:O,required:R,"aria-invalid":jl(D),"aria-disabled":jl(Re),"aria-required":jl(R),"data-readonly":sn(O),"aria-describedby":b,style:VA}},[E,r,I,p,h,ie,H,te,xe,me,ee,O,R,D,b]);return{state:{isInvalid:D,isFocused:W,isChecked:ee,isActive:G,isHovered:F,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:ae,getRadioProps:ae,getInputProps:re,getLabelProps:(de={},Ce=null)=>({...de,ref:Ce,onMouseDown:gt(de.onMouseDown,GA),"data-disabled":sn(E),"data-checked":sn(ee),"data-invalid":sn(D)}),getRootProps:(de,Ce=null)=>({...de,ref:Ce,"data-disabled":sn(E),"data-checked":sn(ee),"data-invalid":sn(D)}),htmlProps:S}}function GA(e){e.preventDefault(),e.stopPropagation()}function qA(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var aa=rt((e,t)=>{var n;const r=n5(),{onChange:o,value:s}=e,i=uo("Radio",{...r,...e}),u=wr(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:g=r==null?void 0:r.isFocusable,inputProps:v,...b}=u;let S=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(S=r.value===s);let x=o;r!=null&&r.onChange&&s!=null&&(x=Gp(r.onChange,o));const C=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:_,getCheckboxProps:k,getLabelProps:P,getRootProps:I,htmlProps:E}=UA({...b,isChecked:S,isFocusable:g,isDisabled:h,onChange:x,name:C}),[O,R]=qA(E,k4),D=k(R),T=_(v,t),B=P(),W=Object.assign({},O,I()),J={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...i.container},F={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...i.control},N={userSelect:"none",marginStart:d,...i.label};return a.jsxs(He.label,{className:"chakra-radio",...W,__css:J,children:[a.jsx("input",{className:"chakra-radio__input",...T}),a.jsx(He.span,{className:"chakra-radio__control",...D,__css:F}),p&&a.jsx(He.span,{className:"chakra-radio__label",...B,__css:N,children:p})]})});aa.displayName="Radio";var r5=rt(function(t,n){const{children:r,placeholder:o,className:s,...i}=t;return a.jsxs(He.select,{...i,ref:n,className:Mt("chakra-select",s),children:[o&&a.jsx("option",{value:"",children:o}),r]})});r5.displayName="SelectField";function KA(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var o5=rt((e,t)=>{var n;const r=uo("Select",e),{rootProps:o,placeholder:s,icon:i,color:u,height:d,h:p,minH:h,minHeight:g,iconColor:v,iconSize:b,...S}=wr(e),[x,C]=KA(S,k4),_=av(C),k={width:"100%",height:"fit-content",position:"relative",color:u},P={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return a.jsxs(He.div,{className:"chakra-select__wrapper",__css:k,...x,...o,children:[a.jsx(r5,{ref:t,height:p??d,minH:h??g,placeholder:s,..._,__css:P,children:e.children}),a.jsx(s5,{"data-disabled":sn(_.disabled),...(v||u)&&{color:v||u},__css:r.icon,...b&&{fontSize:b},children:i})]})});o5.displayName="Select";var QA=e=>a.jsx("svg",{viewBox:"0 0 24 24",...e,children:a.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),YA=He("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),s5=e=>{const{children:t=a.jsx(QA,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return a.jsx(YA,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};s5.displayName="SelectIcon";function XA(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function JA(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var ZA=He("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),p0=j4("skeleton-start-color"),h0=j4("skeleton-end-color"),eT=Ca({from:{opacity:0},to:{opacity:1}}),tT=Ca({from:{borderColor:p0.reference,background:p0.reference},to:{borderColor:h0.reference,background:h0.reference}}),ah=rt((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=Zl("Skeleton",n),o=XA(),{startColor:s="",endColor:i="",isLoaded:u,fadeDuration:d,speed:p,className:h,fitContent:g,...v}=wr(n),[b,S]=ec("colors",[s,i]),x=JA(u),C=Mt("chakra-skeleton",h),_={...b&&{[p0.variable]:b},...S&&{[h0.variable]:S}};if(u){const k=o||x?"none":`${eT} ${d}s`;return a.jsx(He.div,{ref:t,className:C,__css:{animation:k},...v})}return a.jsx(ZA,{ref:t,className:C,...v,__css:{width:g?"fit-content":void 0,...r,..._,_dark:{...r._dark,..._},animation:`${p}s linear infinite alternate ${tT}`}})});ah.displayName="Skeleton";function nT(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:i,direction:u="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:g,onChangeStart:v,onChangeEnd:b,step:S=1,getAriaValueText:x,"aria-valuetext":C,"aria-label":_,"aria-labelledby":k,name:P,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=Ga(v),D=Ga(b),T=Ga(x),B=HE({isReversed:i,direction:u,orientation:d}),[W,J]=bu({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray(W))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof W}\``);const[F,N]=f.useState(!1),[G,K]=f.useState(!1),[M,U]=f.useState(-1),V=!(h||g),ee=f.useRef(W),ie=W.map(Ie=>Jb(Ie,t,n)),xe=E*S,me=rT(ie,t,n,xe),ae=f.useRef({eventSource:null,value:[],valueBounds:[]});ae.current.value=ie,ae.current.valueBounds=me;const te=ie.map(Ie=>n-Ie+t),re=(B?te:ie).map(Ie=>Zb(Ie,t,n)),pe=d==="vertical",ne=f.useRef(null),ve=f.useRef(null),de=NE({getNodes(){const Ie=ve.current,it=Ie==null?void 0:Ie.querySelectorAll("[role=slider]");return it?Array.from(it):[]}}),Ce=f.useId(),ge=WE(p??Ce),_e=f.useCallback(Ie=>{var it,Xe;if(!ne.current)return;ae.current.eventSource="pointer";const ot=ne.current.getBoundingClientRect(),{clientX:Nt,clientY:ur}=(Xe=(it=Ie.touches)==null?void 0:it[0])!=null?Xe:Ie,yn=pe?ot.bottom-ur:Nt-ot.left,bn=pe?ot.height:ot.width;let $r=yn/bn;return B&&($r=1-$r),$E($r,t,n)},[pe,B,n,t]),We=(n-t)/10,Le=S||(n-t)/100,Ue=f.useMemo(()=>({setValueAtIndex(Ie,it){if(!V)return;const Xe=ae.current.valueBounds[Ie];it=parseFloat(zE(it,Xe.min,Le)),it=Jb(it,Xe.min,Xe.max);const ot=[...ae.current.value];ot[Ie]=it,J(ot)},setActiveIndex:U,stepUp(Ie,it=Le){const Xe=ae.current.value[Ie],ot=B?Xe-it:Xe+it;Ue.setValueAtIndex(Ie,ot)},stepDown(Ie,it=Le){const Xe=ae.current.value[Ie],ot=B?Xe+it:Xe-it;Ue.setValueAtIndex(Ie,ot)},reset(){J(ee.current)}}),[Le,B,J,V]),jt=f.useCallback(Ie=>{const it=Ie.key,ot={ArrowRight:()=>Ue.stepUp(M),ArrowUp:()=>Ue.stepUp(M),ArrowLeft:()=>Ue.stepDown(M),ArrowDown:()=>Ue.stepDown(M),PageUp:()=>Ue.stepUp(M,We),PageDown:()=>Ue.stepDown(M,We),Home:()=>{const{min:Nt}=me[M];Ue.setValueAtIndex(M,Nt)},End:()=>{const{max:Nt}=me[M];Ue.setValueAtIndex(M,Nt)}}[it];ot&&(Ie.preventDefault(),Ie.stopPropagation(),ot(Ie),ae.current.eventSource="keyboard")},[Ue,M,We,me]),{getThumbStyle:vt,rootStyle:jn,trackStyle:Pt,innerTrackStyle:bt}=f.useMemo(()=>LE({isReversed:B,orientation:d,thumbRects:de,thumbPercents:re}),[B,d,re,de]),be=f.useCallback(Ie=>{var it;const Xe=Ie??M;if(Xe!==-1&&I){const ot=ge.getThumb(Xe),Nt=(it=ve.current)==null?void 0:it.ownerDocument.getElementById(ot);Nt&&setTimeout(()=>Nt.focus())}},[I,M,ge]);Li(()=>{ae.current.eventSource==="keyboard"&&(D==null||D(ae.current.value))},[ie,D]);const Ae=Ie=>{const it=_e(Ie)||0,Xe=ae.current.value.map(bn=>Math.abs(bn-it)),ot=Math.min(...Xe);let Nt=Xe.indexOf(ot);const ur=Xe.filter(bn=>bn===ot);ur.length>1&&it>ae.current.value[Nt]&&(Nt=Nt+ur.length-1),U(Nt),Ue.setValueAtIndex(Nt,it),be(Nt)},Et=Ie=>{if(M==-1)return;const it=_e(Ie)||0;U(M),Ue.setValueAtIndex(M,it),be(M)};BE(ve,{onPanSessionStart(Ie){V&&(N(!0),Ae(Ie),R==null||R(ae.current.value))},onPanSessionEnd(){V&&(N(!1),D==null||D(ae.current.value))},onPan(Ie){V&&Et(Ie)}});const Ft=f.useCallback((Ie={},it=null)=>({...Ie,...O,id:ge.root,ref:Wn(it,ve),tabIndex:-1,"aria-disabled":Um(h),"data-focused":sl(G),style:{...Ie.style,...jn}}),[O,h,G,jn,ge]),Wt=f.useCallback((Ie={},it=null)=>({...Ie,ref:Wn(it,ne),id:ge.track,"data-disabled":sl(h),style:{...Ie.style,...Pt}}),[h,Pt,ge]),_n=f.useCallback((Ie={},it=null)=>({...Ie,ref:it,id:ge.innerTrack,style:{...Ie.style,...bt}}),[bt,ge]),In=f.useCallback((Ie,it=null)=>{var Xe;const{index:ot,...Nt}=Ie,ur=ie[ot];if(ur==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${ot}\`. The \`value\` or \`defaultValue\` length is : ${ie.length}`);const yn=me[ot];return{...Nt,ref:it,role:"slider",tabIndex:V?0:void 0,id:ge.getThumb(ot),"data-active":sl(F&&M===ot),"aria-valuetext":(Xe=T==null?void 0:T(ur))!=null?Xe:C==null?void 0:C[ot],"aria-valuemin":yn.min,"aria-valuemax":yn.max,"aria-valuenow":ur,"aria-orientation":d,"aria-disabled":Um(h),"aria-readonly":Um(g),"aria-label":_==null?void 0:_[ot],"aria-labelledby":_!=null&&_[ot]||k==null?void 0:k[ot],style:{...Ie.style,...vt(ot)},onKeyDown:Gm(Ie.onKeyDown,jt),onFocus:Gm(Ie.onFocus,()=>{K(!0),U(ot)}),onBlur:Gm(Ie.onBlur,()=>{K(!1),U(-1)})}},[ge,ie,me,V,F,M,T,C,d,h,g,_,k,vt,jt,K]),ln=f.useCallback((Ie={},it=null)=>({...Ie,ref:it,id:ge.output,htmlFor:ie.map((Xe,ot)=>ge.getThumb(ot)).join(" "),"aria-live":"off"}),[ge,ie]),Cr=f.useCallback((Ie,it=null)=>{const{value:Xe,...ot}=Ie,Nt=!(Xen),ur=Xe>=ie[0]&&Xe<=ie[ie.length-1];let yn=Zb(Xe,t,n);yn=B?100-yn:yn;const bn={position:"absolute",pointerEvents:"none",...FE({orientation:d,vertical:{bottom:`${yn}%`},horizontal:{left:`${yn}%`}})};return{...ot,ref:it,id:ge.getMarker(Ie.value),role:"presentation","aria-hidden":!0,"data-disabled":sl(h),"data-invalid":sl(!Nt),"data-highlighted":sl(ur),style:{...Ie.style,...bn}}},[h,B,n,t,d,ie,ge]),vn=f.useCallback((Ie,it=null)=>{const{index:Xe,...ot}=Ie;return{...ot,ref:it,id:ge.getInput(Xe),type:"hidden",value:ie[Xe],name:Array.isArray(P)?P[Xe]:`${P}-${Xe}`}},[P,ie,ge]);return{state:{value:ie,isFocused:G,isDragging:F,getThumbPercent:Ie=>re[Ie],getThumbMinValue:Ie=>me[Ie].min,getThumbMaxValue:Ie=>me[Ie].max},actions:Ue,getRootProps:Ft,getTrackProps:Wt,getInnerTrackProps:_n,getThumbProps:In,getMarkerProps:Cr,getInputProps:vn,getOutputProps:ln}}function rT(e,t,n,r){return e.map((o,s)=>{const i=s===0?t:e[s-1]+r,u=s===e.length-1?n:e[s+1]-r;return{min:i,max:u}})}var[oT,ih]=cr({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[sT,lh]=cr({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),a5=rt(function(t,n){const r={orientation:"horizontal",...t},o=uo("Slider",r),s=wr(r),{direction:i}=Kp();s.direction=i;const{getRootProps:u,...d}=nT(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return a.jsx(oT,{value:p,children:a.jsx(sT,{value:o,children:a.jsx(He.div,{...u({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});a5.displayName="RangeSlider";var m0=rt(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=ih(),i=lh(),u=r(t,n);return a.jsxs(He.div,{...u,className:iv("chakra-slider__thumb",t.className),__css:i.thumb,children:[u.children,s&&a.jsx("input",{...o({index:t.index})})]})});m0.displayName="RangeSliderThumb";var i5=rt(function(t,n){const{getTrackProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:iv("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});i5.displayName="RangeSliderTrack";var l5=rt(function(t,n){const{getInnerTrackProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});l5.displayName="RangeSliderFilledTrack";var xf=rt(function(t,n){const{getMarkerProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:iv("chakra-slider__marker",t.className),__css:o.mark})});xf.displayName="RangeSliderMark";var Xv=rt(function(t,n){const r=uo("Switch",t),{spacing:o="0.5rem",children:s,...i}=wr(t),{state:u,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:g}=z3(i),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),S=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return a.jsxs(He.label,{...h(),className:Mt("chakra-switch",t.className),__css:v,children:[a.jsx("input",{className:"chakra-switch__input",...d({},n)}),a.jsx(He.span,{...p(),className:"chakra-switch__track",__css:b,children:a.jsx(He.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":sn(u.isChecked),"data-hover":sn(u.isHovered)})}),s&&a.jsx(He.span,{className:"chakra-switch__label",...g(),__css:S,children:s})]})});Xv.displayName="Switch";var[aT,iT,lT,cT]=kv();function uT(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:i,lazyBehavior:u="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[g,v]=f.useState(n??0),[b,S]=bu({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const x=lT(),C=f.useId();return{id:`tabs-${(t=e.id)!=null?t:C}`,selectedIndex:b,focusedIndex:g,setSelectedIndex:S,setFocusedIndex:v,isManual:s,isLazy:i,lazyBehavior:u,orientation:d,descendants:x,direction:p,htmlProps:h}}var[dT,ch]=cr({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function fT(e){const{focusedIndex:t,orientation:n,direction:r}=ch(),o=iT(),s=f.useCallback(i=>{const u=()=>{var k;const P=o.nextEnabled(t);P&&((k=P.node)==null||k.focus())},d=()=>{var k;const P=o.prevEnabled(t);P&&((k=P.node)==null||k.focus())},p=()=>{var k;const P=o.firstEnabled();P&&((k=P.node)==null||k.focus())},h=()=>{var k;const P=o.lastEnabled();P&&((k=P.node)==null||k.focus())},g=n==="horizontal",v=n==="vertical",b=i.key,S=r==="ltr"?"ArrowLeft":"ArrowRight",x=r==="ltr"?"ArrowRight":"ArrowLeft",_={[S]:()=>g&&d(),[x]:()=>g&&u(),ArrowDown:()=>v&&u(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];_&&(i.preventDefault(),_(i))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:gt(e.onKeyDown,s)}}function pT(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:o,isManual:s,id:i,setFocusedIndex:u,selectedIndex:d}=ch(),{index:p,register:h}=cT({disabled:t&&!n}),g=p===d,v=()=>{o(p)},b=()=>{u(p),!s&&!(t&&n)&&o(p)},S=T6({...r,ref:Wn(h,e.ref),isDisabled:t,isFocusable:n,onClick:gt(e.onClick,v)}),x="button";return{...S,id:c5(i,p),role:"tab",tabIndex:g?0:-1,type:x,"aria-selected":g,"aria-controls":u5(i,p),onFocus:t?void 0:gt(e.onFocus,b)}}var[hT,mT]=cr({});function gT(e){const t=ch(),{id:n,selectedIndex:r}=t,s=qp(e.children).map((i,u)=>f.createElement(hT,{key:u,value:{isSelected:u===r,id:u5(n,u),tabId:c5(n,u),selectedIndex:r}},i));return{...e,children:s}}function vT(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=ch(),{isSelected:s,id:i,tabId:u}=mT(),d=f.useRef(!1);s&&(d.current=!0);const p=Hv({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":u,hidden:!s,id:i}}function c5(e,t){return`${e}--tab-${t}`}function u5(e,t){return`${e}--tabpanel-${t}`}var[yT,uh]=cr({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Nu=rt(function(t,n){const r=uo("Tabs",t),{children:o,className:s,...i}=wr(t),{htmlProps:u,descendants:d,...p}=uT(i),h=f.useMemo(()=>p,[p]),{isFitted:g,...v}=u;return a.jsx(aT,{value:d,children:a.jsx(dT,{value:h,children:a.jsx(yT,{value:r,children:a.jsx(He.div,{className:Mt("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Nu.displayName="Tabs";var $u=rt(function(t,n){const r=fT({...t,ref:n}),s={display:"flex",...uh().tablist};return a.jsx(He.div,{...r,className:Mt("chakra-tabs__tablist",t.className),__css:s})});$u.displayName="TabList";var dh=rt(function(t,n){const r=vT({...t,ref:n}),o=uh();return a.jsx(He.div,{outline:"0",...r,className:Mt("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});dh.displayName="TabPanel";var fh=rt(function(t,n){const r=gT(t),o=uh();return a.jsx(He.div,{...r,width:"100%",ref:n,className:Mt("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});fh.displayName="TabPanels";var Bl=rt(function(t,n){const r=uh(),o=pT({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return a.jsx(He.button,{...o,className:Mt("chakra-tabs__tab",t.className),__css:s})});Bl.displayName="Tab";function bT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var xT=["h","minH","height","minHeight"],d5=rt((e,t)=>{const n=Zl("Textarea",e),{className:r,rows:o,...s}=wr(e),i=av(s),u=o?bT(n,xT):n;return a.jsx(He.textarea,{ref:t,rows:o,...i,className:Mt("chakra-textarea",r),__css:u})});d5.displayName="Textarea";const f5=({id:e,x:t,y:n,width:r,height:o,style:s,color:i,strokeColor:u,strokeWidth:d,className:p,borderRadius:h,shapeRendering:g,onClick:v})=>{const{background:b,backgroundColor:S}=s||{},x=i||b||S;return a.jsx("rect",{className:Qp(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:x,stroke:u,strokeWidth:d,shapeRendering:g,onClick:v?C=>v(C,e):void 0})};f5.displayName="MiniMapNode";var wT=f.memo(f5);const ST=e=>e.nodeOrigin,CT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),ug=e=>e instanceof Function?e:()=>e;function _T({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=wT,onClick:i}){const u=_f(CT,lv),d=_f(ST),p=ug(t),h=ug(e),g=ug(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:u.map(b=>{const{x:S,y:x}=VE(b,d).positionAbsolute;return a.jsx(s,{x:S,y:x,width:b.width,height:b.height,style:b.style,className:g(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:i,id:b.id},b.id)})})}var kT=f.memo(_T);const jT=200,PT=150,IT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?KE(QE(t,e.nodeOrigin),n):n,rfId:e.rfId}},ET="react-flow__minimap-desc";function p5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:i=2,nodeComponent:u,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:g="bottom-right",onClick:v,onNodeClick:b,pannable:S=!1,zoomable:x=!1,ariaLabel:C="React Flow mini map",inversePan:_=!1,zoomStep:k=10}){const P=P4(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=_f(IT,lv),D=(e==null?void 0:e.width)??jT,T=(e==null?void 0:e.height)??PT,B=E.width/D,W=E.height/T,J=Math.max(B,W),F=J*D,N=J*T,G=5*J,K=E.x-(F-E.width)/2-G,M=E.y-(N-E.height)/2-G,U=F+G*2,V=N+G*2,ee=`${ET}-${R}`,ie=f.useRef(0);ie.current=J,f.useEffect(()=>{if(I.current){const ae=I4(I.current),te=pe=>{const{transform:ne,d3Selection:ve,d3Zoom:de}=P.getState();if(pe.sourceEvent.type!=="wheel"||!ve||!de)return;const Ce=-pe.sourceEvent.deltaY*(pe.sourceEvent.deltaMode===1?.05:pe.sourceEvent.deltaMode?1:.002)*k,Re=ne[2]*Math.pow(2,Ce);de.scaleTo(ve,Re)},H=pe=>{const{transform:ne,d3Selection:ve,d3Zoom:de,translateExtent:Ce,width:Re,height:ge}=P.getState();if(pe.sourceEvent.type!=="mousemove"||!ve||!de)return;const _e=ie.current*Math.max(1,ne[2])*(_?-1:1),We={x:ne[0]-pe.sourceEvent.movementX*_e,y:ne[1]-pe.sourceEvent.movementY*_e},Le=[[0,0],[Re,ge]],Ue=GE.translate(We.x,We.y).scale(ne[2]),jt=de.constrain()(Ue,Le,Ce);de.transform(ve,jt)},re=UE().on("zoom",S?H:null).on("zoom.wheel",x?te:null);return ae.call(re),()=>{ae.on("zoom",null)}}},[S,x,_,k]);const xe=v?ae=>{const te=qE(ae);v(ae,{x:te[0],y:te[1]})}:void 0,me=b?(ae,te)=>{const H=P.getState().nodeInternals.get(te);b(ae,H)}:void 0;return a.jsx(Su,{position:g,style:e,className:Qp(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:D,height:T,viewBox:`${K} ${M} ${U} ${V}`,role:"img","aria-labelledby":ee,ref:I,onClick:xe,children:[C&&a.jsx("title",{id:ee,children:C}),a.jsx(kT,{onClick:me,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:i,nodeComponent:u}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${K-G},${M-G}h${U+G*2}v${V+G*2}h${-U-G*2}z - M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}p5.displayName="MiniMap";var OT=f.memo(p5),ds;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ds||(ds={}));function MT({color:e,dimensions:t,lineWidth:n}){return a.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function RT({color:e,radius:t}){return a.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const DT={[ds.Dots]:"#91919a",[ds.Lines]:"#eee",[ds.Cross]:"#e2e2e2"},AT={[ds.Dots]:1,[ds.Lines]:1,[ds.Cross]:6},TT=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function h5({id:e,variant:t=ds.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:i,style:u,className:d}){const p=f.useRef(null),{transform:h,patternId:g}=_f(TT,lv),v=i||DT[t],b=r||AT[t],S=t===ds.Dots,x=t===ds.Cross,C=Array.isArray(n)?n:[n,n],_=[C[0]*h[2]||1,C[1]*h[2]||1],k=b*h[2],P=x?[k,k]:_,I=S?[k/s,k/s]:[P[0]/s,P[1]/s];return a.jsxs("svg",{className:Qp(["react-flow__background",d]),style:{...u,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[a.jsx("pattern",{id:g+e,x:h[0]%_[0],y:h[1]%_[1],width:_[0],height:_[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:S?a.jsx(RT,{color:v,radius:k/s}):a.jsx(MT,{dimensions:P,color:v,lineWidth:o})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${g+e})`})]})}h5.displayName="Background";var NT=f.memo(h5),Xc;(function(e){e.Line="line",e.Handle="handle"})(Xc||(Xc={}));function $T({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const i=e-t,u=n-r,d=[i>0?1:i<0?-1:0,u>0?1:u<0?-1:0];return i&&o&&(d[0]=d[0]*-1),u&&s&&(d[1]=d[1]*-1),d}const m5={width:0,height:0,x:0,y:0},zT={...m5,pointerX:0,pointerY:0,aspectRatio:1};function LT({nodeId:e,position:t,variant:n=Xc.Handle,className:r,style:o={},children:s,color:i,minWidth:u=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:g=!1,shouldResize:v,onResizeStart:b,onResize:S,onResizeEnd:x}){const C=YE(),_=typeof e=="string"?e:C,k=P4(),P=f.useRef(null),I=f.useRef(zT),E=f.useRef(m5),O=XE(),R=n===Xc.Line?"right":"bottom-right",D=t??R;f.useEffect(()=>{if(!P.current||!_)return;const J=I4(P.current),F=D.includes("right")||D.includes("left"),N=D.includes("bottom")||D.includes("top"),G=D.includes("left"),K=D.includes("top"),M=JE().on("start",U=>{const V=k.getState().nodeInternals.get(_),{xSnapped:ee,ySnapped:ie}=O(U);E.current={width:(V==null?void 0:V.width)??0,height:(V==null?void 0:V.height)??0,x:(V==null?void 0:V.position.x)??0,y:(V==null?void 0:V.position.y)??0},I.current={...E.current,pointerX:ee,pointerY:ie,aspectRatio:E.current.width/E.current.height},b==null||b(U,{...E.current})}).on("drag",U=>{const{nodeInternals:V,triggerNodeChanges:ee}=k.getState(),{xSnapped:ie,ySnapped:xe}=O(U),me=V.get(_);if(me){const ae=[],{pointerX:te,pointerY:H,width:re,height:pe,x:ne,y:ve,aspectRatio:de}=I.current,{x:Ce,y:Re,width:ge,height:_e}=E.current,We=Math.floor(F?ie-te:0),Le=Math.floor(N?xe-H:0);let Ue=ex(re+(G?-We:We),u,p),jt=ex(pe+(K?-Le:Le),d,h);if(g){const Ae=Ue/jt,Et=F&&N,Ft=F&&!N,Wt=N&&!F;Ue=Ae<=de&&Et||Wt?jt*de:Ue,jt=Ae>de&&Et||Ft?Ue/de:jt,Ue>=p?(Ue=p,jt=p/de):Ue<=u&&(Ue=u,jt=u/de),jt>=h?(jt=h,Ue=h*de):jt<=d&&(jt=d,Ue=d*de)}const vt=Ue!==ge,jn=jt!==_e;if(G||K){const Ae=G?ne-(Ue-re):ne,Et=K?ve-(jt-pe):ve,Ft=Ae!==Ce&&vt,Wt=Et!==Re&&jn;if(Ft||Wt){const _n={id:me.id,type:"position",position:{x:Ft?Ae:Ce,y:Wt?Et:Re}};ae.push(_n),E.current.x=_n.position.x,E.current.y=_n.position.y}}if(vt||jn){const Ae={id:_,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:Ue,height:jt}};ae.push(Ae),E.current.width=Ue,E.current.height=jt}if(ae.length===0)return;const Pt=$T({width:E.current.width,prevWidth:ge,height:E.current.height,prevHeight:_e,invertX:G,invertY:K}),bt={...E.current,direction:Pt};if((v==null?void 0:v(U,bt))===!1)return;S==null||S(U,bt),ee(ae)}}).on("end",U=>{const V={id:_,type:"dimensions",resizing:!1};x==null||x(U,{...E.current}),k.getState().triggerNodeChanges([V])});return J.call(M),()=>{J.on(".drag",null)}},[_,D,u,d,p,h,g,O,b,S,x]);const T=D.split("-"),B=n===Xc.Line?"borderColor":"backgroundColor",W=i?{...o,[B]:i}:o;return a.jsx("div",{className:Qp(["react-flow__resize-control","nodrag",...T,n,r]),ref:P,style:W,children:s})}var BT=f.memo(LT);const or=he(e=>e.ui,e=>ZE[e.activeTab],{memoizeOptions:{equalityCheck:Gt}}),FT=he(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:Gt}}),Zr=he(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:Gt}});var HT=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function zu(e,t){var n=WT(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function WT(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=HT.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var VT=[".DS_Store","Thumbs.db"];function UT(e){return sc(this,void 0,void 0,function(){return ac(this,function(t){return Ff(e)&>(e.dataTransfer)?[2,YT(e.dataTransfer,e.type)]:qT(e)?[2,KT(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,QT(e)]:[2,[]]})})}function GT(e){return Ff(e)}function qT(e){return Ff(e)&&Ff(e.target)}function Ff(e){return typeof e=="object"&&e!==null}function KT(e){return g0(e.target.files).map(function(t){return zu(t)})}function QT(e){return sc(this,void 0,void 0,function(){var t;return ac(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return zu(r)})]}})})}function YT(e,t){return sc(this,void 0,void 0,function(){var n,r;return ac(this,function(o){switch(o.label){case 0:return e.items?(n=g0(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(XT))]):[3,2];case 1:return r=o.sent(),[2,l2(g5(r))];case 2:return[2,l2(g0(e.files).map(function(s){return zu(s)}))]}})})}function l2(e){return e.filter(function(t){return VT.indexOf(t.name)===-1})}function g0(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,p2(n)];if(e.sizen)return[!1,p2(n)]}return[!0,null]}function bi(e){return e!=null}function pN(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,i=e.maxFiles,u=e.validator;return!s&&t.length>1||s&&i>=1&&t.length>i?!1:t.every(function(d){var p=x5(d,n),h=uu(p,1),g=h[0],v=w5(d,r,o),b=uu(v,1),S=b[0],x=u?u(d):null;return g&&S&&!x})}function Hf(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Nd(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function m2(e){e.preventDefault()}function hN(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function mN(e){return e.indexOf("Edge/")!==-1}function gN(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return hN(e)||mN(e)}function As(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),i=1;ie.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function DN(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var Jv=f.forwardRef(function(e,t){var n=e.children,r=Wf(e,SN),o=Zv(r),s=o.open,i=Wf(o,CN);return f.useImperativeHandle(t,function(){return{open:s}},[s]),z.createElement(f.Fragment,null,n(tr(tr({},i),{},{open:s})))});Jv.displayName="Dropzone";var k5={disabled:!1,getFilesFromEvent:UT,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};Jv.defaultProps=k5;Jv.propTypes={children:Dn.func,accept:Dn.objectOf(Dn.arrayOf(Dn.string)),multiple:Dn.bool,preventDropOnDocument:Dn.bool,noClick:Dn.bool,noKeyboard:Dn.bool,noDrag:Dn.bool,noDragEventsBubbling:Dn.bool,minSize:Dn.number,maxSize:Dn.number,maxFiles:Dn.number,disabled:Dn.bool,getFilesFromEvent:Dn.func,onFileDialogCancel:Dn.func,onFileDialogOpen:Dn.func,useFsAccessApi:Dn.bool,autoFocus:Dn.bool,onDragEnter:Dn.func,onDragLeave:Dn.func,onDragOver:Dn.func,onDrop:Dn.func,onDropAccepted:Dn.func,onDropRejected:Dn.func,onError:Dn.func,validator:Dn.func};var x0={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Zv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=tr(tr({},k5),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,i=t.minSize,u=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,g=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,S=t.onDropRejected,x=t.onFileDialogCancel,C=t.onFileDialogOpen,_=t.useFsAccessApi,k=t.autoFocus,P=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,D=t.onError,T=t.validator,B=f.useMemo(function(){return bN(n)},[n]),W=f.useMemo(function(){return yN(n)},[n]),J=f.useMemo(function(){return typeof C=="function"?C:v2},[C]),F=f.useMemo(function(){return typeof x=="function"?x:v2},[x]),N=f.useRef(null),G=f.useRef(null),K=f.useReducer(AN,x0),M=dg(K,2),U=M[0],V=M[1],ee=U.isFocused,ie=U.isFileDialogActive,xe=f.useRef(typeof window<"u"&&window.isSecureContext&&_&&vN()),me=function(){!xe.current&&ie&&setTimeout(function(){if(G.current){var Ae=G.current.files;Ae.length||(V({type:"closeDialog"}),F())}},300)};f.useEffect(function(){return window.addEventListener("focus",me,!1),function(){window.removeEventListener("focus",me,!1)}},[G,ie,F,xe]);var ae=f.useRef([]),te=function(Ae){N.current&&N.current.contains(Ae.target)||(Ae.preventDefault(),ae.current=[])};f.useEffect(function(){return P&&(document.addEventListener("dragover",m2,!1),document.addEventListener("drop",te,!1)),function(){P&&(document.removeEventListener("dragover",m2),document.removeEventListener("drop",te))}},[N,P]),f.useEffect(function(){return!r&&k&&N.current&&N.current.focus(),function(){}},[N,k,r]);var H=f.useCallback(function(be){D?D(be):console.error(be)},[D]),re=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be),ae.current=[].concat(jN(ae.current),[be.target]),Nd(be)&&Promise.resolve(o(be)).then(function(Ae){if(!(Hf(be)&&!R)){var Et=Ae.length,Ft=Et>0&&pN({files:Ae,accept:B,minSize:i,maxSize:s,multiple:u,maxFiles:d,validator:T}),Wt=Et>0&&!Ft;V({isDragAccept:Ft,isDragReject:Wt,isDragActive:!0,type:"setDraggedFiles"}),p&&p(be)}}).catch(function(Ae){return H(Ae)})},[o,p,H,R,B,i,s,u,d,T]),pe=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be);var Ae=Nd(be);if(Ae&&be.dataTransfer)try{be.dataTransfer.dropEffect="copy"}catch{}return Ae&&g&&g(be),!1},[g,R]),ne=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be);var Ae=ae.current.filter(function(Ft){return N.current&&N.current.contains(Ft)}),Et=Ae.indexOf(be.target);Et!==-1&&Ae.splice(Et,1),ae.current=Ae,!(Ae.length>0)&&(V({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Nd(be)&&h&&h(be))},[N,h,R]),ve=f.useCallback(function(be,Ae){var Et=[],Ft=[];be.forEach(function(Wt){var _n=x5(Wt,B),In=dg(_n,2),ln=In[0],Cr=In[1],vn=w5(Wt,i,s),sr=dg(vn,2),Ie=sr[0],it=sr[1],Xe=T?T(Wt):null;if(ln&&Ie&&!Xe)Et.push(Wt);else{var ot=[Cr,it];Xe&&(ot=ot.concat(Xe)),Ft.push({file:Wt,errors:ot.filter(function(Nt){return Nt})})}}),(!u&&Et.length>1||u&&d>=1&&Et.length>d)&&(Et.forEach(function(Wt){Ft.push({file:Wt,errors:[fN]})}),Et.splice(0)),V({acceptedFiles:Et,fileRejections:Ft,type:"setFiles"}),v&&v(Et,Ft,Ae),Ft.length>0&&S&&S(Ft,Ae),Et.length>0&&b&&b(Et,Ae)},[V,u,B,i,s,d,v,b,S,T]),de=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be),ae.current=[],Nd(be)&&Promise.resolve(o(be)).then(function(Ae){Hf(be)&&!R||ve(Ae,be)}).catch(function(Ae){return H(Ae)}),V({type:"reset"})},[o,ve,H,R]),Ce=f.useCallback(function(){if(xe.current){V({type:"openDialog"}),J();var be={multiple:u,types:W};window.showOpenFilePicker(be).then(function(Ae){return o(Ae)}).then(function(Ae){ve(Ae,null),V({type:"closeDialog"})}).catch(function(Ae){xN(Ae)?(F(Ae),V({type:"closeDialog"})):wN(Ae)?(xe.current=!1,G.current?(G.current.value=null,G.current.click()):H(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):H(Ae)});return}G.current&&(V({type:"openDialog"}),J(),G.current.value=null,G.current.click())},[V,J,F,_,ve,H,W,u]),Re=f.useCallback(function(be){!N.current||!N.current.isEqualNode(be.target)||(be.key===" "||be.key==="Enter"||be.keyCode===32||be.keyCode===13)&&(be.preventDefault(),Ce())},[N,Ce]),ge=f.useCallback(function(){V({type:"focus"})},[]),_e=f.useCallback(function(){V({type:"blur"})},[]),We=f.useCallback(function(){I||(gN()?setTimeout(Ce,0):Ce())},[I,Ce]),Le=function(Ae){return r?null:Ae},Ue=function(Ae){return E?null:Le(Ae)},jt=function(Ae){return O?null:Le(Ae)},vt=function(Ae){R&&Ae.stopPropagation()},jn=f.useMemo(function(){return function(){var be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ae=be.refKey,Et=Ae===void 0?"ref":Ae,Ft=be.role,Wt=be.onKeyDown,_n=be.onFocus,In=be.onBlur,ln=be.onClick,Cr=be.onDragEnter,vn=be.onDragOver,sr=be.onDragLeave,Ie=be.onDrop,it=Wf(be,_N);return tr(tr(b0({onKeyDown:Ue(As(Wt,Re)),onFocus:Ue(As(_n,ge)),onBlur:Ue(As(In,_e)),onClick:Le(As(ln,We)),onDragEnter:jt(As(Cr,re)),onDragOver:jt(As(vn,pe)),onDragLeave:jt(As(sr,ne)),onDrop:jt(As(Ie,de)),role:typeof Ft=="string"&&Ft!==""?Ft:"presentation"},Et,N),!r&&!E?{tabIndex:0}:{}),it)}},[N,Re,ge,_e,We,re,pe,ne,de,E,O,r]),Pt=f.useCallback(function(be){be.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ae=be.refKey,Et=Ae===void 0?"ref":Ae,Ft=be.onChange,Wt=be.onClick,_n=Wf(be,kN),In=b0({accept:B,multiple:u,type:"file",style:{display:"none"},onChange:Le(As(Ft,de)),onClick:Le(As(Wt,Pt)),tabIndex:-1},Et,G);return tr(tr({},In),_n)}},[G,n,u,de,r]);return tr(tr({},U),{},{isFocused:ee&&!r,getRootProps:jn,getInputProps:bt,rootRef:N,inputRef:G,open:Le(Ce)})}function AN(e,t){switch(t.type){case"focus":return tr(tr({},e),{},{isFocused:!0});case"blur":return tr(tr({},e),{},{isFocused:!1});case"openDialog":return tr(tr({},x0),{},{isFileDialogActive:!0});case"closeDialog":return tr(tr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return tr(tr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return tr(tr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return tr({},x0);default:return e}}function v2(){}function w0(){return w0=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var FN=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,i=n.mod,u=n.shift,d=n.ctrl,p=n.keys,h=t.key,g=t.code,v=t.ctrlKey,b=t.metaKey,S=t.shiftKey,x=t.altKey,C=Wa(g),_=h.toLowerCase();if(!r){if(o===!x&&_!=="alt"||u===!S&&_!=="shift")return!1;if(i){if(!b&&!v)return!1}else if(s===!b&&_!=="meta"&&_!=="os"||d===!v&&_!=="ctrl"&&_!=="control")return!1}return p&&p.length===1&&(p.includes(_)||p.includes(C))?!0:p?P5(p):!p},HN=f.createContext(void 0),WN=function(){return f.useContext(HN)};function M5(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&M5(e[r],t[r])},!0):e===t}var VN=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),UN=function(){return f.useContext(VN)};function GN(e){var t=f.useRef(void 0);return M5(t.current,e)||(t.current=e),t.current}var y2=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},qN=typeof window<"u"?f.useLayoutEffect:f.useEffect;function Ye(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),i=n instanceof Array?r instanceof Array?void 0:r:n,u=e instanceof Array?e.join(i==null?void 0:i.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var g=GN(i),v=UN(),b=v.enabledScopes,S=WN();return qN(function(){if(!((g==null?void 0:g.enabled)===!1||!BN(b,g==null?void 0:g.scopes))){var x=function(I,E){var O;if(E===void 0&&(E=!1),!(LN(I)&&!O5(I,g==null?void 0:g.enableOnFormTags))&&!(g!=null&&g.ignoreEventWhen!=null&&g.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){y2(I);return}(O=I.target)!=null&&O.isContentEditable&&!(g!=null&&g.enableOnContentEditable)||fg(u,g==null?void 0:g.splitKey).forEach(function(R){var D,T=pg(R,g==null?void 0:g.combinationKey);if(FN(I,T,g==null?void 0:g.ignoreModifiers)||(D=T.keys)!=null&&D.includes("*")){if(E&&s.current)return;if($N(I,T,g==null?void 0:g.preventDefault),!zN(I,T,g==null?void 0:g.enabled)){y2(I);return}h.current(I,T),E||(s.current=!0)}})}},C=function(I){I.key!==void 0&&(I5(Wa(I.code)),((g==null?void 0:g.keydown)===void 0&&(g==null?void 0:g.keyup)!==!0||g!=null&&g.keydown)&&x(I))},_=function(I){I.key!==void 0&&(E5(Wa(I.code)),s.current=!1,g!=null&&g.keyup&&x(I,!0))},k=o.current||(i==null?void 0:i.document)||document;return k.addEventListener("keyup",_),k.addEventListener("keydown",C),S&&fg(u,g==null?void 0:g.splitKey).forEach(function(P){return S.addHotkey(pg(P,g==null?void 0:g.combinationKey,g==null?void 0:g.description))}),function(){k.removeEventListener("keyup",_),k.removeEventListener("keydown",C),S&&fg(u,g==null?void 0:g.splitKey).forEach(function(P){return S.removeHotkey(pg(P,g==null?void 0:g.combinationKey,g==null?void 0:g.description))})}}},[u,g,b]),o}const KN=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return Ye("esc",()=>{r(!1)}),a.jsxs($e,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:a.jsx(L,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?a.jsx(zs,{size:"lg",children:"Drop to Upload"}):a.jsxs(a.Fragment,{children:[a.jsx(zs,{size:"lg",children:"Invalid Upload"}),a.jsx(zs,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},QN=he([mt,or],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Ke),YN=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=$(QN),o=$(Sr),s=tc(),{t:i}=ue(),[u,d]=f.useState(!1),[p]=E4(),h=f.useCallback(P=>{d(!0),s({title:i("toast.uploadFailed"),description:P.errors.map(I=>I.message).join(` -`),status:"error"})},[i,s]),g=f.useCallback(async P=>{p({file:P,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n})},[n,r,p]),v=f.useCallback((P,I)=>{if(I.length>1){s({title:i("toast.uploadFailed"),description:i("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}I.forEach(E=>{h(E)}),P.forEach(E=>{g(E)})},[i,s,g,h]),{getRootProps:b,getInputProps:S,isDragAccept:x,isDragReject:C,isDragActive:_,inputRef:k}=Zv({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const P=async I=>{var E,O;k.current&&(E=I.clipboardData)!=null&&E.files&&(k.current.files=I.clipboardData.files,(O=k.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",P),()=>{document.removeEventListener("paste",P)}},[k]),a.jsxs($e,{...b({style:{}}),onKeyDown:P=>{P.key},children:[a.jsx("input",{...S()}),t,a.jsx(Ko,{children:_&&u&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsx(KN,{isDragAccept:x,isDragReject:C,setIsHandlingUpload:d})},"image-upload-overlay")})]})},XN=f.memo(YN),en=e=>e.canvas,Jn=he([en,or,xo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),JN=e=>e.canvas.layerState.objects.find(O4),ZN=mM(e=>{e(M4(!0))},300),yo=()=>(e,t)=>{or(t())==="unifiedCanvas"&&ZN(e)};var e$=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),vr=globalThis&&globalThis.__assign||function(){return vr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof i>"u"?void 0:Number(i)}},i$=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],C2="__resizable_base__",l$=function(e){r$(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(C2):s.className+=C2,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||o$},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,i=this.resizable.style.position;i!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=i}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(u){if(typeof n.state[u]>"u"||n.state[u]==="auto")return"auto";if(n.propsSize&&n.propsSize[u]&&n.propsSize[u].toString().endsWith("%")){if(n.state[u].toString().endsWith("%"))return n.state[u].toString();var d=n.getParentSize(),p=Number(n.state[u].toString().replace("px","")),h=p/d[u]*100;return h+"%"}return hg(n.state[u])},s=r&&typeof r.width<"u"&&!this.state.isResizing?hg(r.width):o("width"),i=r&&typeof r.height<"u"&&!this.state.isResizing?hg(r.height):o("height");return{width:s,height:i}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,i=o&&pl("left",s),u=o&&pl("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=i?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=u?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=i?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=u?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=i?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=u?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,g=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,S=d||0,x=p||0;if(u){var C=(v-S)*this.ratio+x,_=(b-S)*this.ratio+x,k=(h-x)/this.ratio+S,P=(g-x)/this.ratio+S,I=Math.max(h,C),E=Math.min(g,_),O=Math.max(v,k),R=Math.min(b,P);n=zd(n,I,E),r=zd(r,O,R)}else n=zd(n,h,g),r=zd(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),i=s.left,u=s.top,d=s.right,p=s.bottom;this.resizableLeft=i,this.resizableRight=d,this.resizableTop=u,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&s$(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&Ld(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var i=this.props.onResizeStart(n,r,this.resizable);if(i===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var u,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",u=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var g={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:Ts(Ts({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:u};this.setState(g)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Ld(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,i=o.maxHeight,u=o.minWidth,d=o.minHeight,p=Ld(n)?n.touches[0].clientX:n.clientX,h=Ld(n)?n.touches[0].clientY:n.clientY,g=this.state,v=g.direction,b=g.original,S=g.width,x=g.height,C=this.getParentSize(),_=a$(C,this.window.innerWidth,this.window.innerHeight,s,i,u,d);s=_.maxWidth,i=_.maxHeight,u=_.minWidth,d=_.minHeight;var k=this.calculateNewSizeFromDirection(p,h),P=k.newHeight,I=k.newWidth,E=this.calculateNewMaxFromBoundary(s,i);this.props.snap&&this.props.snap.x&&(I=S2(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(P=S2(P,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,P,{width:E.maxWidth,height:E.maxHeight},{width:u,height:d});if(I=O.newWidth,P=O.newHeight,this.props.grid){var R=w2(I,this.props.grid[0]),D=w2(P,this.props.grid[1]),T=this.props.snapGap||0;I=T===0||Math.abs(R-I)<=T?R:I,P=T===0||Math.abs(D-P)<=T?D:P}var B={width:I-b.width,height:P-b.height};if(S&&typeof S=="string"){if(S.endsWith("%")){var W=I/C.width*100;I=W+"%"}else if(S.endsWith("vw")){var J=I/this.window.innerWidth*100;I=J+"vw"}else if(S.endsWith("vh")){var F=I/this.window.innerHeight*100;I=F+"vh"}}if(x&&typeof x=="string"){if(x.endsWith("%")){var W=P/C.height*100;P=W+"%"}else if(x.endsWith("vw")){var J=P/this.window.innerWidth*100;P=J+"vw"}else if(x.endsWith("vh")){var F=P/this.window.innerHeight*100;P=F+"vh"}}var N={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(P,"height")};this.flexDir==="row"?N.flexBasis=N.width:this.flexDir==="column"&&(N.flexBasis=N.height),nc.flushSync(function(){r.setState(N)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,B)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,i=r.original;if(!(!o||!this.resizable)){var u={width:this.size.width-i.width,height:this.size.height-i.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,u),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:Ts(Ts({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,i=r.handleClasses,u=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(g){return o[g]!==!1?f.createElement(n$,{key:g,direction:g,onResizeStart:n.onResizeStart,replaceStyles:s&&s[g],className:i&&i[g]},p&&p[g]?p[g]:null):null});return f.createElement("div",{className:d,style:u},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(i,u){return i$.indexOf(u)!==-1||(i[u]=n.props[u]),i},{}),o=Ts(Ts(Ts({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,Ts({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const c$=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),u$=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),i=n??(["left","right"].includes(e)?"95vw":void 0),u=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...i?{maxWidth:i}:{},...u?{minHeight:u}:{},...d?{maxHeight:d}:{}}},oa="0.75rem",Fd="1rem",Mc="5px",d$=({isResizable:e,direction:t})=>{const n=`calc((2 * ${oa} + ${Mc}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:Mc,paddingBottom:Fd},handleStyles:e?{top:{paddingTop:oa,paddingBottom:oa,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:Mc,paddingInlineEnd:Fd},handleStyles:e?{right:{paddingInlineStart:oa,paddingInlineEnd:oa,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:Mc,paddingTop:Fd},handleStyles:e?{bottom:{paddingTop:oa,paddingBottom:oa,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:Mc,paddingInlineStart:Fd},handleStyles:e?{left:{paddingInlineStart:oa,paddingInlineEnd:oa,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},f$=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",Me=(e,t)=>n=>n==="light"?e:t,p$=He(l$,{shouldForwardProp:e=>!["sx"].includes(e)}),R5=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:i,maxWidth:u,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:g,onResizeStop:v,onResize:b,sx:S={}})=>{const x=Kp().direction,{colorMode:C}=xs(),_=f.useRef(null),k=f.useMemo(()=>s??i??(["left","right"].includes(e)?"auto":"100%"),[s,i,e]),P=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[I,E]=f.useState(k),[O,R]=f.useState(P);tD({ref:_,handler:()=>{r()},enabled:n});const D=f.useMemo(()=>t?c$({direction:e,langDirection:x}):{},[t,x,e]),T=f.useMemo(()=>u$({direction:e,minWidth:i,maxWidth:u,minHeight:p,maxHeight:h}),[i,u,p,h,e]),{containerStyles:B,handleStyles:W}=f.useMemo(()=>d$({isResizable:t,direction:e}),[t,e]),J=f.useMemo(()=>f$(e,x),[e,x]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),a.jsx(A3,{direction:J,in:n,motionProps:{initial:!1},style:{width:"full"},children:a.jsx($e,{ref:_,sx:{width:"full",height:"full"},children:a.jsx(p$,{size:{width:t?I:k,height:t?O:P},enable:D,handleStyles:W,...T,sx:{borderColor:Me("base.200","base.800")(C),p:4,bg:Me("base.50","base.900")(C),height:"full",shadow:n?"dark-lg":void 0,...B,...S},onResizeStart:(F,N,G)=>{g&&g(F,N,G)},onResize:(F,N,G,K)=>{b&&b(F,N,G,K)},onResizeStop:(F,N,G,K)=>{["left","right"].includes(N)&&E(Number(I)+K.width),["top","bottom"].includes(N)&&R(Number(O)+K.height),v&&v(F,N,G,K)},children:o})})})};/*! - * OverlayScrollbars - * Version: 2.2.1 - * - * Copyright (c) Rene Haas | KingSora. - * https://github.com/KingSora - * - * Released under the MIT license. - */function gn(e,t){if(hh(e))for(let n=0;nt(e[n],n,e));return e}function Yr(e,t){const n=oi(t);if(ys(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?P2(e,s,t):t.reduce((i,u)=>(i[u]=P2(e,s,u),i),o)}return o}e&&gn(Mo(t),o=>E$(e,o,t[o]))}const is=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,i;const u=(h,g)=>{const v=s,b=h,S=g||(r?!r(v,b):v!==b);return(S||o)&&(s=b,i=v),[s,S,i]};return[t?h=>u(t(s,i),h):u,h=>[s,!!h,i]]},Lu=()=>typeof window<"u",D5=Lu()&&Node.ELEMENT_NODE,{toString:h$,hasOwnProperty:mg}=Object.prototype,ka=e=>e===void 0,ph=e=>e===null,m$=e=>ka(e)||ph(e)?`${e}`:h$.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),Ya=e=>typeof e=="number",oi=e=>typeof e=="string",e1=e=>typeof e=="boolean",vs=e=>typeof e=="function",ys=e=>Array.isArray(e),du=e=>typeof e=="object"&&!ys(e)&&!ph(e),hh=e=>{const t=!!e&&e.length,n=Ya(t)&&t>-1&&t%1==0;return ys(e)||!vs(e)&&n?t>0&&du(e)?t-1 in e:!0:!1},S0=e=>{if(!e||!du(e)||m$(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=mg.call(e,n),i=o&&mg.call(o,"isPrototypeOf");if(r&&!s&&!i)return!1;for(t in e);return ka(t)||mg.call(e,t)},Vf=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===D5:!1},mh=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===D5:!1},t1=(e,t,n)=>e.indexOf(t,n),Pn=(e,t,n)=>(!n&&!oi(t)&&hh(t)?Array.prototype.push.apply(e,t):e.push(t),e),Di=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{Pn(n,r)}):gn(e,r=>{Pn(n,r)}),n)},n1=e=>!!e&&e.length===0,Qs=(e,t,n)=>{gn(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},gh=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Mo=e=>e?Object.keys(e):[],rr=(e,t,n,r,o,s,i)=>{const u=[t,n,r,o,s,i];return(typeof e!="object"||ph(e))&&!vs(e)&&(e={}),gn(u,d=>{gn(Mo(d),p=>{const h=d[p];if(e===h)return!0;const g=ys(h);if(h&&(S0(h)||g)){const v=e[p];let b=v;g&&!ys(v)?b=[]:!g&&!S0(v)&&(b={}),e[p]=rr(b,h)}else e[p]=h})}),e},r1=e=>{for(const t in e)return!1;return!0},A5=(e,t,n,r)=>{if(ka(r))return n?n[e]:t;n&&(oi(r)||Ya(r))&&(n[e]=r)},Qr=(e,t,n)=>{if(ka(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},go=(e,t)=>{e&&e.removeAttribute(t)},_i=(e,t,n,r)=>{if(n){const o=Qr(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const i=Di(s).join(" ").trim();Qr(e,t,i)}},g$=(e,t,n)=>{const r=Qr(e,t)||"";return new Set(r.split(" ")).has(n)},fs=(e,t)=>A5("scrollLeft",0,e,t),ua=(e,t)=>A5("scrollTop",0,e,t),C0=Lu()&&Element.prototype,T5=(e,t)=>{const n=[],r=t?mh(t)?t:null:document;return r?Pn(n,r.querySelectorAll(e)):n},v$=(e,t)=>{const n=t?mh(t)?t:null:document;return n?n.querySelector(e):null},Uf=(e,t)=>mh(e)?(C0.matches||C0.msMatchesSelector).call(e,t):!1,o1=e=>e?Di(e.childNodes):[],xa=e=>e?e.parentElement:null,Sl=(e,t)=>{if(mh(e)){const n=C0.closest;if(n)return n.call(e,t);do{if(Uf(e,t))return e;e=xa(e)}while(e)}return null},y$=(e,t,n)=>{const r=e&&Sl(e,t),o=e&&v$(n,r),s=Sl(o,t)===r;return r&&o?r===e||o===e||s&&Sl(Sl(e,n),t)!==r:!1},s1=(e,t,n)=>{if(n&&e){let r=t,o;hh(n)?(o=document.createDocumentFragment(),gn(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},Vo=(e,t)=>{s1(e,null,t)},b$=(e,t)=>{s1(xa(e),e,t)},_2=(e,t)=>{s1(xa(e),e&&e.nextSibling,t)},Us=e=>{if(hh(e))gn(Di(e),t=>Us(t));else if(e){const t=xa(e);t&&t.removeChild(e)}},ki=e=>{const t=document.createElement("div");return e&&Qr(t,"class",e),t},N5=e=>{const t=ki();return t.innerHTML=e.trim(),gn(o1(t),n=>Us(n))},_0=e=>e.charAt(0).toUpperCase()+e.slice(1),x$=()=>ki().style,w$=["-webkit-","-moz-","-o-","-ms-"],S$=["WebKit","Moz","O","MS","webkit","moz","o","ms"],gg={},vg={},C$=e=>{let t=vg[e];if(gh(vg,e))return t;const n=_0(e),r=x$();return gn(w$,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,_0(s)+n].find(u=>r[u]!==void 0))}),vg[e]=t||""},Bu=e=>{if(Lu()){let t=gg[e]||window[e];return gh(gg,e)||(gn(S$,n=>(t=t||window[n+_0(e)],!t)),gg[e]=t),t}},_$=Bu("MutationObserver"),k2=Bu("IntersectionObserver"),Cl=Bu("ResizeObserver"),$5=Bu("cancelAnimationFrame"),z5=Bu("requestAnimationFrame"),Gf=Lu()&&window.setTimeout,k0=Lu()&&window.clearTimeout,k$=/[^\x20\t\r\n\f]+/g,L5=(e,t,n)=>{const r=e&&e.classList;let o,s=0,i=!1;if(r&&t&&oi(t)){const u=t.match(k$)||[];for(i=u.length>0;o=u[s++];)i=!!n(r,o)&&i}return i},a1=(e,t)=>{L5(e,t,(n,r)=>n.remove(r))},da=(e,t)=>(L5(e,t,(n,r)=>n.add(r)),a1.bind(0,e,t)),vh=(e,t,n,r)=>{if(e&&t){let o=!0;return gn(n,s=>{const i=r?r(e[s]):e[s],u=r?r(t[s]):t[s];i!==u&&(o=!1)}),o}return!1},B5=(e,t)=>vh(e,t,["w","h"]),F5=(e,t)=>vh(e,t,["x","y"]),j$=(e,t)=>vh(e,t,["t","r","b","l"]),j2=(e,t,n)=>vh(e,t,["width","height"],n&&(r=>Math.round(r))),Wo=()=>{},yl=e=>{let t;const n=e?Gf:z5,r=e?k0:$5;return[o=>{r(t),t=n(o,vs(e)?e():e)},()=>r(t)]},i1=(e,t)=>{let n,r,o,s=Wo;const{v:i,g:u,p:d}=t||{},p=function(S){s(),k0(n),n=r=void 0,s=Wo,e.apply(this,S)},h=b=>d&&r?d(r,b):b,g=()=>{s!==Wo&&p(h(o)||o)},v=function(){const S=Di(arguments),x=vs(i)?i():i;if(Ya(x)&&x>=0){const _=vs(u)?u():u,k=Ya(_)&&_>=0,P=x>0?Gf:z5,I=x>0?k0:$5,O=h(S)||S,R=p.bind(0,O);s();const D=P(R,x);s=()=>I(D),k&&!n&&(n=Gf(g,_)),r=o=O}else p(S)};return v.m=g,v},P$={opacity:1,zindex:1},Hd=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},I$=(e,t)=>!P$[e.toLowerCase()]&&Ya(t)?`${t}px`:t,P2=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],E$=(e,t,n)=>{try{const{style:r}=e;ka(r[t])?r.setProperty(t,n):r[t]=I$(t,n)}catch{}},fu=e=>Yr(e,"direction")==="rtl",I2=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,i=`${r}right${o}`,u=`${r}bottom${o}`,d=`${r}left${o}`,p=Yr(e,[s,i,u,d]);return{t:Hd(p[s],!0),r:Hd(p[i],!0),b:Hd(p[u],!0),l:Hd(p[d],!0)}},{round:E2}=Math,l1={w:0,h:0},pu=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:l1,wf=e=>e?{w:e.clientWidth,h:e.clientHeight}:l1,qf=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:l1,Kf=e=>{const t=parseFloat(Yr(e,"height"))||0,n=parseFloat(Yr(e,"width"))||0;return{w:n-E2(n),h:t-E2(t)}},Fs=e=>e.getBoundingClientRect();let Wd;const O$=()=>{if(ka(Wd)){Wd=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Wd=!0}}))}catch{}}return Wd},H5=e=>e.split(" "),M$=(e,t,n,r)=>{gn(H5(t),o=>{e.removeEventListener(o,n,r)})},Er=(e,t,n,r)=>{var o;const s=O$(),i=(o=s&&r&&r.S)!=null?o:s,u=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:i,capture:u}:u;return gn(H5(t),g=>{const v=d?b=>{e.removeEventListener(g,v,u),n&&n(b)}:n;Pn(p,M$.bind(null,e,g,v,u)),e.addEventListener(g,v,h)}),Qs.bind(0,p)},W5=e=>e.stopPropagation(),V5=e=>e.preventDefault(),R$={x:0,y:0},yg=e=>{const t=e?Fs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:R$},O2=(e,t)=>{gn(ys(t)?t:[t],e)},c1=e=>{const t=new Map,n=(s,i)=>{if(s){const u=t.get(s);O2(d=>{u&&u[d?"delete":"clear"](d)},i)}else t.forEach(u=>{u.clear()}),t.clear()},r=(s,i)=>{if(oi(s)){const p=t.get(s)||new Set;return t.set(s,p),O2(h=>{vs(h)&&p.add(h)},i),n.bind(0,s,i)}e1(i)&&i&&n();const u=Mo(s),d=[];return gn(u,p=>{const h=s[p];h&&Pn(d,r(p,h))}),Qs.bind(0,d)},o=(s,i)=>{const u=t.get(s);gn(Di(u),d=>{i&&!n1(i)?d.apply(0,i):d()})};return r(e||{}),[r,n,o]},M2=e=>JSON.stringify(e,(t,n)=>{if(vs(n))throw new Error;return n}),D$={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},U5=(e,t)=>{const n={},r=Mo(t).concat(Mo(e));return gn(r,o=>{const s=e[o],i=t[o];if(du(s)&&du(i))rr(n[o]={},U5(s,i)),r1(n[o])&&delete n[o];else if(gh(t,o)&&i!==s){let u=!0;if(ys(s)||ys(i))try{M2(s)===M2(i)&&(u=!1)}catch{}u&&(n[o]=i)}}),n},G5="os-environment",q5=`${G5}-flexbox-glue`,A$=`${q5}-max`,K5="os-scrollbar-hidden",bg="data-overlayscrollbars-initialize",ls="data-overlayscrollbars",Q5=`${ls}-overflow-x`,Y5=`${ls}-overflow-y`,Dl="overflowVisible",T$="scrollbarHidden",R2="scrollbarPressed",Qf="updating",Ba="data-overlayscrollbars-viewport",xg="arrange",X5="scrollbarHidden",Al=Dl,j0="data-overlayscrollbars-padding",N$=Al,D2="data-overlayscrollbars-content",u1="os-size-observer",$$=`${u1}-appear`,z$=`${u1}-listener`,L$="os-trinsic-observer",B$="os-no-css-vars",F$="os-theme-none",wo="os-scrollbar",H$=`${wo}-rtl`,W$=`${wo}-horizontal`,V$=`${wo}-vertical`,J5=`${wo}-track`,d1=`${wo}-handle`,U$=`${wo}-visible`,G$=`${wo}-cornerless`,A2=`${wo}-transitionless`,T2=`${wo}-interaction`,N2=`${wo}-unusable`,$2=`${wo}-auto-hidden`,z2=`${wo}-wheel`,q$=`${J5}-interactive`,K$=`${d1}-interactive`,Z5={},Ai=()=>Z5,Q$=e=>{const t=[];return gn(ys(e)?e:[e],n=>{const r=Mo(n);gn(r,o=>{Pn(t,Z5[o]=n[o])})}),t},Y$="__osOptionsValidationPlugin",X$="__osSizeObserverPlugin",f1="__osScrollbarsHidingPlugin",J$="__osClickScrollPlugin";let wg;const L2=(e,t,n,r)=>{Vo(e,t);const o=wf(t),s=pu(t),i=Kf(n);return r&&Us(t),{x:s.h-o.h+i.h,y:s.w-o.w+i.w}},Z$=e=>{let t=!1;const n=da(e,K5);try{t=Yr(e,C$("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},ez=(e,t)=>{const n="hidden";Yr(e,{overflowX:n,overflowY:n,direction:"rtl"}),fs(e,0);const r=yg(e),o=yg(t);fs(e,-999);const s=yg(t);return{i:r.x===o.x,n:o.x!==s.x}},tz=(e,t)=>{const n=da(e,q5),r=Fs(e),o=Fs(t),s=j2(o,r,!0),i=da(e,A$),u=Fs(e),d=Fs(t),p=j2(d,u,!0);return n(),i(),s&&p},nz=()=>{const{body:e}=document,n=N5(`
`)[0],r=n.firstChild,[o,,s]=c1(),[i,u]=is({o:L2(e,n,r),u:F5},L2.bind(0,e,n,r,!0)),[d]=u(),p=Z$(n),h={x:d.x===0,y:d.y===0},g={elements:{host:null,padding:!p,viewport:k=>p&&k===k.ownerDocument.body&&k,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=rr({},D$),b=rr.bind(0,{},v),S=rr.bind(0,{},g),x={k:d,A:h,I:p,L:Yr(n,"zIndex")==="-1",B:ez(n,r),V:tz(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:S,q:k=>rr(g,k)&&S(),F:b,G:k=>rr(v,k)&&b(),X:rr({},g),U:rr({},v)},C=window.addEventListener,_=i1(k=>s(k?"z":"r"),{v:33,g:99});if(go(n,"style"),Us(n),C("resize",_.bind(0,!1)),!p&&(!h.x||!h.y)){let k;C("resize",()=>{const P=Ai()[f1];k=k||P&&P.R(),k&&k(x,i,_.bind(0,!0))})}return x},So=()=>(wg||(wg=nz()),wg),p1=(e,t)=>vs(t)?t.apply(0,e):t,rz=(e,t,n,r)=>{const o=ka(r)?n:r;return p1(e,o)||t.apply(0,e)},e_=(e,t,n,r)=>{const o=ka(r)?n:r,s=p1(e,o);return!!s&&(Vf(s)?s:t.apply(0,e))},oz=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:i}=So(),{nativeScrollbarsOverlaid:u,body:d}=t,p=r??u,h=ka(o)?d:o,g=(s.x||s.y)&&p,v=e&&(ph(h)?!i:h);return!!g||!!v},h1=new WeakMap,sz=(e,t)=>{h1.set(e,t)},az=e=>{h1.delete(e)},t_=e=>h1.get(e),B2=(e,t)=>e?t.split(".").reduce((n,r)=>n&&gh(n,r)?n[r]:void 0,e):void 0,P0=(e,t,n)=>r=>[B2(e,r),n||B2(t,r)!==void 0],n_=e=>{let t=e;return[()=>t,n=>{t=rr({},t,n)}]},Vd="tabindex",Ud=ki.bind(0,""),Sg=e=>{Vo(xa(e),o1(e)),Us(e)},iz=e=>{const t=So(),{N:n,I:r}=t,o=Ai()[f1],s=o&&o.T,{elements:i}=n(),{host:u,padding:d,viewport:p,content:h}=i,g=Vf(e),v=g?{}:e,{elements:b}=v,{host:S,padding:x,viewport:C,content:_}=b||{},k=g?e:v.target,P=Uf(k,"textarea"),I=k.ownerDocument,E=I.documentElement,O=k===I.body,R=I.defaultView,D=rz.bind(0,[k]),T=e_.bind(0,[k]),B=p1.bind(0,[k]),W=D.bind(0,Ud,p),J=T.bind(0,Ud,h),F=W(C),N=F===k,G=N&&O,K=!N&&J(_),M=!N&&Vf(F)&&F===K,U=M&&!!B(h),V=U?W():F,ee=U?K:J(),xe=G?E:M?V:F,me=P?D(Ud,u,S):k,ae=G?xe:me,te=M?ee:K,H=I.activeElement,re=!N&&R.top===R&&H===k,pe={W:k,Z:ae,J:xe,K:!N&&T(Ud,d,x),tt:te,nt:!N&&!r&&s&&s(t),ot:G?E:xe,st:G?I:xe,et:R,ct:I,rt:P,it:O,lt:g,ut:N,dt:M,ft:(Pt,bt)=>g$(xe,N?ls:Ba,N?bt:Pt),_t:(Pt,bt,be)=>_i(xe,N?ls:Ba,N?bt:Pt,be)},ne=Mo(pe).reduce((Pt,bt)=>{const be=pe[bt];return Pn(Pt,be&&!xa(be)?be:!1)},[]),ve=Pt=>Pt?t1(ne,Pt)>-1:null,{W:de,Z:Ce,K:Re,J:ge,tt:_e,nt:We}=pe,Le=[()=>{go(Ce,ls),go(Ce,bg),go(de,bg),O&&(go(E,ls),go(E,bg))}],Ue=P&&ve(Ce);let jt=P?de:o1([_e,ge,Re,Ce,de].find(Pt=>ve(Pt)===!1));const vt=G?de:_e||ge;return[pe,()=>{Qr(Ce,ls,N?"viewport":"host"),Qr(Re,j0,""),Qr(_e,D2,""),N||Qr(ge,Ba,"");const Pt=O&&!N?da(xa(k),K5):Wo;if(Ue&&(_2(de,Ce),Pn(Le,()=>{_2(Ce,de),Us(Ce)})),Vo(vt,jt),Vo(Ce,Re),Vo(Re||Ce,!N&&ge),Vo(ge,_e),Pn(Le,()=>{Pt(),go(Re,j0),go(_e,D2),go(ge,Q5),go(ge,Y5),go(ge,Ba),ve(_e)&&Sg(_e),ve(ge)&&Sg(ge),ve(Re)&&Sg(Re)}),r&&!N&&(_i(ge,Ba,X5,!0),Pn(Le,go.bind(0,ge,Ba))),We&&(b$(ge,We),Pn(Le,Us.bind(0,We))),re){const bt=Qr(ge,Vd);Qr(ge,Vd,"-1"),ge.focus();const be=()=>bt?Qr(ge,Vd,bt):go(ge,Vd),Ae=Er(I,"pointerdown keydown",()=>{be(),Ae()});Pn(Le,[be,Ae])}else H&&H.focus&&H.focus();jt=0},Qs.bind(0,Le)]},lz=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=So(),{ht:i}=r(),{vt:u}=o,d=(n||!s)&&u;return d&&Yr(n,{height:i?"":"100%"}),{gt:d,wt:d}}},cz=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:i,ut:u}=e,[d,p]=is({u:j$,o:I2()},I2.bind(0,o,"padding",""));return(h,g,v)=>{let[b,S]=p(v);const{I:x,V:C}=So(),{bt:_}=n(),{gt:k,wt:P,yt:I}=h,[E,O]=g("paddingAbsolute");(k||S||!C&&P)&&([b,S]=d(v));const D=!u&&(O||I||S);if(D){const T=!E||!s&&!x,B=b.r+b.l,W=b.t+b.b,J={marginRight:T&&!_?-B:0,marginBottom:T?-W:0,marginLeft:T&&_?-B:0,top:T?-b.t:0,right:T?_?-b.r:"auto":0,left:T?_?"auto":-b.l:0,width:T?`calc(100% + ${B}px)`:""},F={paddingTop:T?b.t:0,paddingRight:T?b.r:0,paddingBottom:T?b.b:0,paddingLeft:T?b.l:0};Yr(s||i,J),Yr(i,F),r({K:b,St:!T,P:s?F:rr({},J,F)})}return{xt:D}}},{max:I0}=Math,Fa=I0.bind(0,0),r_="visible",F2="hidden",uz=42,Gd={u:B5,o:{w:0,h:0}},dz={u:F5,o:{x:F2,y:F2}},fz=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:Fa(e.w-t.w),h:Fa(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},qd=e=>e.indexOf(r_)===0,pz=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:i,nt:u,ut:d,_t:p,it:h,et:g}=e,{k:v,V:b,I:S,A:x}=So(),C=Ai()[f1],_=!d&&!S&&(x.x||x.y),k=h&&d,[P,I]=is(Gd,Kf.bind(0,i)),[E,O]=is(Gd,qf.bind(0,i)),[R,D]=is(Gd),[T,B]=is(Gd),[W]=is(dz),J=(U,V)=>{if(Yr(i,{height:""}),V){const{St:ee,K:ie}=n(),{$t:xe,D:me}=U,ae=Kf(o),te=wf(o),H=Yr(i,"boxSizing")==="content-box",re=ee||H?ie.b+ie.t:0,pe=!(x.x&&H);Yr(i,{height:te.h+ae.h+(xe.x&&pe?me.x:0)-re})}},F=(U,V)=>{const ee=!S&&!U?uz:0,ie=(ve,de,Ce)=>{const Re=Yr(i,ve),_e=(V?V[ve]:Re)==="scroll";return[Re,_e,_e&&!S?de?ee:Ce:0,de&&!!ee]},[xe,me,ae,te]=ie("overflowX",x.x,v.x),[H,re,pe,ne]=ie("overflowY",x.y,v.y);return{Ct:{x:xe,y:H},$t:{x:me,y:re},D:{x:ae,y:pe},M:{x:te,y:ne}}},N=(U,V,ee,ie)=>{const xe=(re,pe)=>{const ne=qd(re),ve=pe&&ne&&re.replace(`${r_}-`,"")||"";return[pe&&!ne?re:"",qd(ve)?"hidden":ve]},[me,ae]=xe(ee.x,V.x),[te,H]=xe(ee.y,V.y);return ie.overflowX=ae&&te?ae:me,ie.overflowY=H&&me?H:te,F(U,ie)},G=(U,V,ee,ie)=>{const{D:xe,M:me}=U,{x:ae,y:te}=me,{x:H,y:re}=xe,{P:pe}=n(),ne=V?"marginLeft":"marginRight",ve=V?"paddingLeft":"paddingRight",de=pe[ne],Ce=pe.marginBottom,Re=pe[ve],ge=pe.paddingBottom;ie.width=`calc(100% + ${re+-1*de}px)`,ie[ne]=-re+de,ie.marginBottom=-H+Ce,ee&&(ie[ve]=Re+(te?re:0),ie.paddingBottom=ge+(ae?H:0))},[K,M]=C?C.H(_,b,i,u,n,F,G):[()=>_,()=>[Wo]];return(U,V,ee)=>{const{gt:ie,Ot:xe,wt:me,xt:ae,vt:te,yt:H}=U,{ht:re,bt:pe}=n(),[ne,ve]=V("showNativeOverlaidScrollbars"),[de,Ce]=V("overflow"),Re=ne&&x.x&&x.y,ge=!d&&!b&&(ie||me||xe||ve||te),_e=qd(de.x),We=qd(de.y),Le=_e||We;let Ue=I(ee),jt=O(ee),vt=D(ee),jn=B(ee),Pt;if(ve&&S&&p(X5,T$,!Re),ge&&(Pt=F(Re),J(Pt,re)),ie||ae||me||H||ve){Le&&p(Al,Dl,!1);const[Ie,it]=M(Re,pe,Pt),[Xe,ot]=Ue=P(ee),[Nt,ur]=jt=E(ee),yn=wf(i);let bn=Nt,$r=yn;Ie(),(ur||ot||ve)&&it&&!Re&&K(it,Nt,Xe,pe)&&($r=wf(i),bn=qf(i));const dr={w:Fa(I0(Nt.w,bn.w)+Xe.w),h:Fa(I0(Nt.h,bn.h)+Xe.h)},An={w:Fa((k?g.innerWidth:$r.w+Fa(yn.w-Nt.w))+Xe.w),h:Fa((k?g.innerHeight+Xe.h:$r.h+Fa(yn.h-Nt.h))+Xe.h)};jn=T(An),vt=R(fz(dr,An),ee)}const[bt,be]=jn,[Ae,Et]=vt,[Ft,Wt]=jt,[_n,In]=Ue,ln={x:Ae.w>0,y:Ae.h>0},Cr=_e&&We&&(ln.x||ln.y)||_e&&ln.x&&!ln.y||We&&ln.y&&!ln.x;if(ae||H||In||Wt||be||Et||Ce||ve||ge){const Ie={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},it=N(Re,ln,de,Ie),Xe=K(it,Ft,_n,pe);d||G(it,pe,Xe,Ie),ge&&J(it,re),d?(Qr(o,Q5,Ie.overflowX),Qr(o,Y5,Ie.overflowY)):Yr(i,Ie)}_i(o,ls,Dl,Cr),_i(s,j0,N$,Cr),d||_i(i,Ba,Al,Le);const[vn,sr]=W(F(Re).Ct);return r({Ct:vn,zt:{x:bt.w,y:bt.h},Tt:{x:Ae.w,y:Ae.h},Et:ln}),{It:sr,At:be,Lt:Et}}},H2=(e,t,n)=>{const r={},o=t||{},s=Mo(e).concat(Mo(o));return gn(s,i=>{const u=e[i],d=o[i];r[i]=!!(n||u||d)}),r},hz=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:i,A:u,V:d}=So(),p=!i&&(u.x||u.y),h=[lz(e,t),cz(e,t),pz(e,t)];return(g,v,b)=>{const S=H2(rr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),x=p||!d,C=x&&fs(r),_=x&&ua(r);o("",Qf,!0);let k=S;return gn(h,P=>{k=H2(k,P(k,g,!!b)||{},b)}),fs(r,C),ua(r,_),o("",Qf),s||(fs(n,0),ua(n,0)),k}},mz=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},i=u=>{if(n){const d=n.reduce((p,h)=>{if(h){const[g,v]=h,b=v&&g&&(u?u(g):T5(g,e));b&&b.length&&v&&oi(v)&&Pn(p,[b,v.trim()],!0)}return p},[]);gn(d,p=>gn(p[0],h=>{const g=p[1],v=r.get(h)||[];if(e.contains(h)){const S=Er(h,g,x=>{o?(S(),r.delete(h)):t(x)});r.set(h,Pn(v,S))}else Qs(v),r.delete(h)}))}};return n&&(r=new WeakMap,i()),[s,i]},W2=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:i,Dt:u,Mt:d,Rt:p,kt:h}=r||{},g=i1(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=mz(e,g,u),S=s||[],x=i||[],C=S.concat(x),_=(P,I)=>{const E=p||Wo,O=h||Wo,R=new Set,D=new Set;let T=!1,B=!1;if(gn(P,W=>{const{attributeName:J,target:F,type:N,oldValue:G,addedNodes:K,removedNodes:M}=W,U=N==="attributes",V=N==="childList",ee=e===F,ie=U&&oi(J)?Qr(F,J):0,xe=ie!==0&&G!==ie,me=t1(x,J)>-1&&xe;if(t&&(V||!ee)){const ae=!U,te=U&&xe,H=te&&d&&Uf(F,d),pe=(H?!E(F,J,G,ie):ae||te)&&!O(W,!!H,e,r);gn(K,ne=>R.add(ne)),gn(M,ne=>R.add(ne)),B=B||pe}!t&&ee&&xe&&!E(F,J,G,ie)&&(D.add(J),T=T||me)}),R.size>0&&b(W=>Di(R).reduce((J,F)=>(Pn(J,T5(W,F)),Uf(F,W)?Pn(J,F):J),[])),t)return!I&&B&&n(!1),[!1];if(D.size>0||T){const W=[Di(D),T];return!I&&n.apply(0,W),W}},k=new _$(P=>_(P));return k.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:C,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),k.disconnect(),o=!1)},()=>{if(o){g.m();const P=k.takeRecords();return!n1(P)&&_(P,!0)}}]},Kd=3333333,Qd=e=>e&&(e.height||e.width),o_=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=Ai()[X$],{B:i}=So(),d=N5(`
`)[0],p=d.firstChild,h=fu.bind(0,e),[g]=is({o:void 0,_:!0,u:(x,C)=>!(!x||!Qd(x)&&Qd(C))}),v=x=>{const C=ys(x)&&x.length>0&&du(x[0]),_=!C&&e1(x[0]);let k=!1,P=!1,I=!0;if(C){const[E,,O]=g(x.pop().contentRect),R=Qd(E),D=Qd(O);k=!O||!R,P=!D&&R,I=!k}else _?[,I]=x:P=x===!0;if(r&&I){const E=_?x[0]:fu(d);fs(d,E?i.n?-Kd:i.i?0:Kd:Kd),ua(d,Kd)}k||t({gt:!_,Yt:_?x:void 0,Vt:!!P})},b=[];let S=o?v:!1;return[()=>{Qs(b),Us(d)},()=>{if(Cl){const x=new Cl(v);x.observe(p),Pn(b,()=>{x.disconnect()})}else if(s){const[x,C]=s.O(p,v,o);S=x,Pn(b,C)}if(r){const[x]=is({o:void 0},h);Pn(b,Er(d,"scroll",C=>{const _=x(),[k,P,I]=_;P&&(a1(p,"ltr rtl"),k?da(p,"rtl"):da(p,"ltr"),v([!!k,P,I])),W5(C)}))}S&&(da(d,$$),Pn(b,Er(d,"animationstart",S,{C:!!Cl}))),(Cl||s)&&Vo(e,d)}]},gz=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,vz=(e,t)=>{let n;const r=ki(L$),o=[],[s]=is({o:!1}),i=(d,p)=>{if(d){const h=s(gz(d)),[,g]=h;if(g)return!p&&t(h),[h]}},u=(d,p)=>{if(d&&d.length>0)return i(d.pop(),p)};return[()=>{Qs(o),Us(r)},()=>{if(k2)n=new k2(d=>u(d),{root:e}),n.observe(r),Pn(o,()=>{n.disconnect()});else{const d=()=>{const g=pu(r);i(g)},[p,h]=o_(r,d);Pn(o,p),h(),d()}Vo(e,r)},()=>{if(n)return u(n.takeRecords(),!0)}]},V2=`[${ls}]`,yz=`[${Ba}]`,Cg=["tabindex"],U2=["wrap","cols","rows"],_g=["id","class","style","open"],bz=(e,t,n)=>{let r,o,s;const{Z:i,J:u,tt:d,rt:p,ut:h,ft:g,_t:v}=e,{V:b}=So(),[S]=is({u:B5,o:{w:0,h:0}},()=>{const N=g(Al,Dl),G=g(xg,""),K=G&&fs(u),M=G&&ua(u);v(Al,Dl),v(xg,""),v("",Qf,!0);const U=qf(d),V=qf(u),ee=Kf(u);return v(Al,Dl,N),v(xg,"",G),v("",Qf),fs(u,K),ua(u,M),{w:V.w+U.w+ee.w,h:V.h+U.h+ee.h}}),x=p?U2:_g.concat(U2),C=i1(n,{v:()=>r,g:()=>o,p(N,G){const[K]=N,[M]=G;return[Mo(K).concat(Mo(M)).reduce((U,V)=>(U[V]=K[V]||M[V],U),{})]}}),_=N=>{gn(N||Cg,G=>{if(t1(Cg,G)>-1){const K=Qr(i,G);oi(K)?Qr(u,G,K):go(u,G)}})},k=(N,G)=>{const[K,M]=N,U={vt:M};return t({ht:K}),!G&&n(U),U},P=({gt:N,Yt:G,Vt:K})=>{const M=!N||K?n:C;let U=!1;if(G){const[V,ee]=G;U=ee,t({bt:V})}M({gt:N,yt:U})},I=(N,G)=>{const[,K]=S(),M={wt:K};return K&&!G&&(N?n:C)(M),M},E=(N,G,K)=>{const M={Ot:G};return G?!K&&C(M):h||_(N),M},[O,R,D]=d||!b?vz(i,k):[Wo,Wo,Wo],[T,B]=h?[Wo,Wo]:o_(i,P,{Vt:!0,Bt:!0}),[W,J]=W2(i,!1,E,{Pt:_g,Ht:_g.concat(Cg)}),F=h&&Cl&&new Cl(P.bind(0,{gt:!0}));return F&&F.observe(i),_(),[()=>{O(),T(),s&&s[0](),F&&F.disconnect(),W()},()=>{B(),R()},()=>{const N={},G=J(),K=D(),M=s&&s[1]();return G&&rr(N,E.apply(0,Pn(G,!0))),K&&rr(N,k.apply(0,Pn(K,!0))),M&&rr(N,I.apply(0,Pn(M,!0))),N},N=>{const[G]=N("update.ignoreMutation"),[K,M]=N("update.attributes"),[U,V]=N("update.elementEvents"),[ee,ie]=N("update.debounce"),xe=V||M,me=ae=>vs(G)&&G(ae);if(xe&&(s&&(s[1](),s[0]()),s=W2(d||u,!0,I,{Ht:x.concat(K||[]),Dt:U,Mt:V2,kt:(ae,te)=>{const{target:H,attributeName:re}=ae;return(!te&&re&&!h?y$(H,V2,yz):!1)||!!Sl(H,`.${wo}`)||!!me(ae)}})),ie)if(C.m(),ys(ee)){const ae=ee[0],te=ee[1];r=Ya(ae)&&ae,o=Ya(te)&&te}else Ya(ee)?(r=ee,o=!1):(r=!1,o=!1)}]},G2={x:0,y:0},xz=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:G2,Tt:G2,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:fu(e.Z)}),wz=(e,t)=>{const n=P0(t,{}),[r,o,s]=c1(),[i,u,d]=iz(e),p=n_(xz(i)),[h,g]=p,v=hz(i,p),b=(P,I,E)=>{const R=Mo(P).some(D=>P[D])||!r1(I)||E;return R&&s("u",[P,I,E]),R},[S,x,C,_]=bz(i,g,P=>b(v(n,P),{},!1)),k=h.bind(0);return k.jt=P=>r("u",P),k.Nt=()=>{const{W:P,J:I}=i,E=fs(P),O=ua(P);x(),u(),fs(I,E),ua(I,O)},k.qt=i,[(P,I)=>{const E=P0(t,P,I);return _(E),b(v(E,C(),I),P,!!I)},k,()=>{o(),S(),d()}]},{round:q2}=Math,Sz=e=>{const{width:t,height:n}=Fs(e),{w:r,h:o}=pu(e);return{x:q2(t)/r||1,y:q2(n)/o||1}},Cz=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:i}=e,{pointers:u}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(u||[]).includes(i)},_z=(e,t)=>Er(e,"mousedown",Er.bind(0,t,"click",W5,{C:!0,$:!0}),{$:!0}),K2="pointerup pointerleave pointercancel lostpointercapture",kz=(e,t,n,r,o,s,i)=>{const{B:u}=So(),{Ft:d,Gt:p,Xt:h}=r,g=`scroll${i?"Left":"Top"}`,v=`client${i?"X":"Y"}`,b=i?"width":"height",S=i?"left":"top",x=i?"w":"h",C=i?"x":"y",_=(k,P)=>I=>{const{Tt:E}=s(),O=pu(p)[x]-pu(d)[x],D=P*I/O*E[C],B=fu(h)&&i?u.n||u.i?1:-1:1;o[g]=k+D*B};return Er(p,"pointerdown",k=>{const P=Sl(k.target,`.${d1}`)===d,I=P?d:p;if(_i(t,ls,R2,!0),Cz(k,e,P)){const E=!P&&k.shiftKey,O=()=>Fs(d),R=()=>Fs(p),D=(V,ee)=>(V||O())[S]-(ee||R())[S],T=_(o[g]||0,1/Sz(o)[C]),B=k[v],W=O(),J=R(),F=W[b],N=D(W,J)+F/2,G=B-J[S],K=P?0:G-N,M=V=>{Qs(U),I.releasePointerCapture(V.pointerId)},U=[_i.bind(0,t,ls,R2),Er(n,K2,M),Er(n,"selectstart",V=>V5(V),{S:!1}),Er(p,K2,M),Er(p,"pointermove",V=>{const ee=V[v]-B;(P||E)&&T(K+ee)})];if(E)T(K);else if(!P){const V=Ai()[J$];V&&Pn(U,V.O(T,D,K,F,G))}I.setPointerCapture(k.pointerId)}})},jz=(e,t)=>(n,r,o,s,i,u)=>{const{Xt:d}=n,[p,h]=yl(333),g=!!i.scrollBy;let v=!0;return Qs.bind(0,[Er(d,"pointerenter",()=>{r(T2,!0)}),Er(d,"pointerleave pointercancel",()=>{r(T2)}),Er(d,"wheel",b=>{const{deltaX:S,deltaY:x,deltaMode:C}=b;g&&v&&C===0&&xa(d)===s&&i.scrollBy({left:S,top:x,behavior:"smooth"}),v=!1,r(z2,!0),p(()=>{v=!0,r(z2)}),V5(b)},{S:!1,$:!0}),_z(d,o),kz(e,s,o,n,i,t,u),h])},{min:E0,max:Q2,abs:Pz,round:Iz}=Math,s_=(e,t,n,r)=>{if(r){const u=n?"x":"y",{Tt:d,zt:p}=r,h=p[u],g=d[u];return Q2(0,E0(1,h/(h+g)))}const o=n?"width":"height",s=Fs(e)[o],i=Fs(t)[o];return Q2(0,E0(1,s/i))},Ez=(e,t,n,r,o,s)=>{const{B:i}=So(),u=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=Iz(p[u]),g=Pz(n[`scroll${d}`]),v=s&&o,b=i.i?g:h-g,x=E0(1,(v?b:g)/h),C=s_(e,t,s);return 1/C*(1-C)*x},Oz=(e,t,n)=>{const{N:r,L:o}=So(),{scrollbars:s}=r(),{slot:i}=s,{ct:u,W:d,Z:p,J:h,lt:g,ot:v,it:b,ut:S}=t,{scrollbars:x}=g?{}:e,{slot:C}=x||{},_=e_([d,p,h],()=>S&&b?d:p,i,C),k=(K,M,U)=>{const V=U?da:a1;gn(K,ee=>{V(ee.Xt,M)})},P=(K,M)=>{gn(K,U=>{const[V,ee]=M(U);Yr(V,ee)})},I=(K,M,U)=>{P(K,V=>{const{Ft:ee,Gt:ie}=V;return[ee,{[U?"width":"height"]:`${(100*s_(ee,ie,U,M)).toFixed(3)}%`}]})},E=(K,M,U)=>{const V=U?"X":"Y";P(K,ee=>{const{Ft:ie,Gt:xe,Xt:me}=ee,ae=Ez(ie,xe,v,M,fu(me),U);return[ie,{transform:ae===ae?`translate${V}(${(100*ae).toFixed(3)}%)`:""}]})},O=[],R=[],D=[],T=(K,M,U)=>{const V=e1(U),ee=V?U:!0,ie=V?!U:!0;ee&&k(R,K,M),ie&&k(D,K,M)},B=K=>{I(R,K,!0),I(D,K)},W=K=>{E(R,K,!0),E(D,K)},J=K=>{const M=K?W$:V$,U=K?R:D,V=n1(U)?A2:"",ee=ki(`${wo} ${M} ${V}`),ie=ki(J5),xe=ki(d1),me={Xt:ee,Gt:ie,Ft:xe};return o||da(ee,B$),Vo(ee,ie),Vo(ie,xe),Pn(U,me),Pn(O,[Us.bind(0,ee),n(me,T,u,p,v,K)]),me},F=J.bind(0,!0),N=J.bind(0,!1),G=()=>{Vo(_,R[0].Xt),Vo(_,D[0].Xt),Gf(()=>{T(A2)},300)};return F(),N(),[{Ut:B,Wt:W,Zt:T,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:D,Qt:N,tn:P.bind(0,D)}},G,Qs.bind(0,O)]},Mz=(e,t,n,r)=>{let o,s,i,u,d,p=0;const h=n_({}),[g]=h,[v,b]=yl(),[S,x]=yl(),[C,_]=yl(100),[k,P]=yl(100),[I,E]=yl(()=>p),[O,R,D]=Oz(e,n.qt,jz(t,n)),{Z:T,J:B,ot:W,st:J,ut:F,it:N}=n.qt,{Jt:G,nn:K,Zt:M,Ut:U,Wt:V}=O,{tn:ee}=G,{tn:ie}=K,xe=re=>{const{Xt:pe}=re,ne=F&&!N&&xa(pe)===B&&pe;return[ne,{transform:ne?`translate(${fs(W)}px, ${ua(W)}px)`:""}]},me=(re,pe)=>{if(E(),re)M($2);else{const ne=()=>M($2,!0);p>0&&!pe?I(ne):ne()}},ae=()=>{u=s,u&&me(!0)},te=[_,E,P,x,b,D,Er(T,"pointerover",ae,{C:!0}),Er(T,"pointerenter",ae),Er(T,"pointerleave",()=>{u=!1,s&&me(!1)}),Er(T,"pointermove",()=>{o&&v(()=>{_(),me(!0),k(()=>{o&&me(!1)})})}),Er(J,"scroll",re=>{S(()=>{V(n()),i&&me(!0),C(()=>{i&&!u&&me(!1)})}),r(re),F&&ee(xe),F&&ie(xe)})],H=g.bind(0);return H.qt=O,H.Nt=R,[(re,pe,ne)=>{const{At:ve,Lt:de,It:Ce,yt:Re}=ne,{A:ge}=So(),_e=P0(t,re,pe),We=n(),{Tt:Le,Ct:Ue,bt:jt}=We,[vt,jn]=_e("showNativeOverlaidScrollbars"),[Pt,bt]=_e("scrollbars.theme"),[be,Ae]=_e("scrollbars.visibility"),[Et,Ft]=_e("scrollbars.autoHide"),[Wt]=_e("scrollbars.autoHideDelay"),[_n,In]=_e("scrollbars.dragScroll"),[ln,Cr]=_e("scrollbars.clickScroll"),vn=ve||de||Re,sr=Ce||Ae,Ie=vt&&ge.x&&ge.y,it=(Xe,ot)=>{const Nt=be==="visible"||be==="auto"&&Xe==="scroll";return M(U$,Nt,ot),Nt};if(p=Wt,jn&&M(F$,Ie),bt&&(M(d),M(Pt,!0),d=Pt),Ft&&(o=Et==="move",s=Et==="leave",i=Et!=="never",me(!i,!0)),In&&M(K$,_n),Cr&&M(q$,ln),sr){const Xe=it(Ue.x,!0),ot=it(Ue.y,!1);M(G$,!(Xe&&ot))}vn&&(U(We),V(We),M(N2,!Le.x,!0),M(N2,!Le.y,!1),M(H$,jt&&!N))},H,Qs.bind(0,te)]},a_=(e,t,n)=>{vs(e)&&e(t||void 0,n||void 0)},Ua=(e,t,n)=>{const{F:r,N:o,Y:s,j:i}=So(),u=Ai(),d=Vf(e),p=d?e:e.target,h=t_(p);if(t&&!h){let g=!1;const v=F=>{const N=Ai()[Y$],G=N&&N.O;return G?G(F,!0):F},b=rr({},r(),v(t)),[S,x,C]=c1(n),[_,k,P]=wz(e,b),[I,E,O]=Mz(e,b,k,F=>C("scroll",[J,F])),R=(F,N)=>_(F,!!N),D=R.bind(0,{},!0),T=s(D),B=i(D),W=F=>{az(p),T(),B(),O(),P(),g=!0,C("destroyed",[J,!!F]),x()},J={options(F,N){if(F){const G=N?r():{},K=U5(b,rr(G,v(F)));r1(K)||(rr(b,K),R(K))}return rr({},b)},on:S,off:(F,N)=>{F&&N&&x(F,N)},state(){const{zt:F,Tt:N,Ct:G,Et:K,K:M,St:U,bt:V}=k();return rr({},{overflowEdge:F,overflowAmount:N,overflowStyle:G,hasOverflow:K,padding:M,paddingAbsolute:U,directionRTL:V,destroyed:g})},elements(){const{W:F,Z:N,K:G,J:K,tt:M,ot:U,st:V}=k.qt,{Jt:ee,nn:ie}=E.qt,xe=ae=>{const{Ft:te,Gt:H,Xt:re}=ae;return{scrollbar:re,track:H,handle:te}},me=ae=>{const{Kt:te,Qt:H}=ae,re=xe(te[0]);return rr({},re,{clone:()=>{const pe=xe(H());return I({},!0,{}),pe}})};return rr({},{target:F,host:N,padding:G||K,viewport:K,content:M||K,scrollOffsetElement:U,scrollEventElement:V,scrollbarHorizontal:me(ee),scrollbarVertical:me(ie)})},update:F=>R({},F),destroy:W.bind(0)};return k.jt((F,N,G)=>{I(N,G,F)}),sz(p,J),gn(Mo(u),F=>a_(u[F],0,J)),oz(k.qt.it,o().cancel,!d&&e.cancel)?(W(!0),J):(k.Nt(),E.Nt(),C("initialized",[J]),k.jt((F,N,G)=>{const{gt:K,yt:M,vt:U,At:V,Lt:ee,It:ie,wt:xe,Ot:me}=F;C("updated",[J,{updateHints:{sizeChanged:K,directionChanged:M,heightIntrinsicChanged:U,overflowEdgeChanged:V,overflowAmountChanged:ee,overflowStyleChanged:ie,contentMutation:xe,hostMutation:me},changedOptions:N,force:G}])}),J.update(!0),J)}return h};Ua.plugin=e=>{gn(Q$(e),t=>a_(t,Ua))};Ua.valid=e=>{const t=e&&e.elements,n=vs(t)&&t();return S0(n)&&!!t_(n.target)};Ua.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:i,U:u,N:d,q:p,F:h,G:g}=So();return rr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:i,staticDefaultOptions:u,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:g})};const Rz=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,i=r?n.requestIdleCallback:o,u=r?n.cancelIdleCallback:s,d=()=>{u(e),s(t)};return[(p,h)=>{d(),e=i(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},m1=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(Rz,[]),i=f.useRef(null),u=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{u.current=r},[r]),f.useEffect(()=>{const{current:h}=i;d.current=t,Ua.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=i;p.current=n,Ua.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=i.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const g=i.current;if(Ua.valid(g))return;const v=u.current,b=d.current||{},S=p.current||{},x=()=>i.current=Ua(h,b,S);v?o(x,v):x()},()=>i.current],[])},Dz=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:i,...u}=e,d=n,p=f.useRef(null),h=f.useRef(null),[g,v]=m1({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:S}=h;return b&&S&&g({target:b,elements:{viewport:S,content:S}}),()=>{var x;return(x=v())==null?void 0:x.destroy()}},[g,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),z.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...u},z.createElement("div",{ref:h},i))},i_=f.forwardRef(Dz),yr=e=>{const t=$(i=>i.config.disabledTabs),n=$(i=>i.config.disabledFeatures),r=$(i=>i.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}};var l_={exports:{}},c_={};const Eo=cv(e8),Rc=cv(t8),Az=cv(n8);(function(e){var t,n,r=al&&al.__generator||function(q,Y){var le,we,ce,nt,Je={label:0,sent:function(){if(1&ce[0])throw ce[1];return ce[1]},trys:[],ops:[]};return nt={next:Dt(0),throw:Dt(1),return:Dt(2)},typeof Symbol=="function"&&(nt[Symbol.iterator]=function(){return this}),nt;function Dt(st){return function(dt){return function(De){if(le)throw new TypeError("Generator is already executing.");for(;Je;)try{if(le=1,we&&(ce=2&De[0]?we.return:De[0]?we.throw||((ce=we.return)&&ce.call(we),0):we.next)&&!(ce=ce.call(we,De[1])).done)return ce;switch(we=0,ce&&(De=[2&De[0],ce.value]),De[0]){case 0:case 1:ce=De;break;case 4:return Je.label++,{value:De[1],done:!1};case 5:Je.label++,we=De[1],De=[0];continue;case 7:De=Je.ops.pop(),Je.trys.pop();continue;default:if(!((ce=(ce=Je.trys).length>0&&ce[ce.length-1])||De[0]!==6&&De[0]!==2)){Je=0;continue}if(De[0]===3&&(!ce||De[1]>ce[0]&&De[1]=200&&q.status<=299},J=function(q){return/ion\/(vnd\.api\+)?json/.test(q.get("content-type")||"")};function F(q){if(!(0,T.isPlainObject)(q))return q;for(var Y=C({},q),le=0,we=Object.entries(Y);le"u"&&Je===B&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(qt,$t){return E(Y,null,function(){var Oe,ut,_t,At,xn,zt,tn,Jt,_r,Un,yt,wn,kn,Gn,ar,En,On,nn,pn,Sn,cn,un,Be,wt,pt,Ze,ft,Rt,lt,Qe,ke,Se,Pe,Te,Ge,kt;return r(this,function(St){switch(St.label){case 0:return Oe=$t.signal,ut=$t.getState,_t=$t.extra,At=$t.endpoint,xn=$t.forced,zt=$t.type,_r=(Jt=typeof qt=="string"?{url:qt}:qt).url,yt=(Un=Jt.headers)===void 0?new Headers(Lt.headers):Un,kn=(wn=Jt.params)===void 0?void 0:wn,ar=(Gn=Jt.responseHandler)===void 0?xt??"json":Gn,On=(En=Jt.validateStatus)===void 0?Ot??W:En,pn=(nn=Jt.timeout)===void 0?ht:nn,Sn=P(Jt,["url","headers","params","responseHandler","validateStatus","timeout"]),cn=C(_(C({},Lt),{signal:Oe}),Sn),yt=new Headers(F(yt)),un=cn,[4,ce(yt,{getState:ut,extra:_t,endpoint:At,forced:xn,type:zt})];case 1:un.headers=St.sent()||yt,Be=function(Ne){return typeof Ne=="object"&&((0,T.isPlainObject)(Ne)||Array.isArray(Ne)||typeof Ne.toJSON=="function")},!cn.headers.has("content-type")&&Be(cn.body)&&cn.headers.set("content-type",ye),Be(cn.body)&&dt(cn.headers)&&(cn.body=JSON.stringify(cn.body,Fe)),kn&&(wt=~_r.indexOf("?")?"&":"?",pt=Dt?Dt(kn):new URLSearchParams(F(kn)),_r+=wt+pt),_r=function(Ne,Qt){if(!Ne)return Qt;if(!Qt)return Ne;if(function(on){return new RegExp("(^|:)//").test(on)}(Qt))return Qt;var dn=Ne.endsWith("/")||!Qt.startsWith("?")?"/":"";return Ne=function(on){return on.replace(/\/$/,"")}(Ne),""+Ne+dn+function(on){return on.replace(/^\//,"")}(Qt)}(le,_r),Ze=new Request(_r,cn),ft=Ze.clone(),tn={request:ft},lt=!1,Qe=pn&&setTimeout(function(){lt=!0,$t.abort()},pn),St.label=2;case 2:return St.trys.push([2,4,5,6]),[4,Je(Ze)];case 3:return Rt=St.sent(),[3,6];case 4:return ke=St.sent(),[2,{error:{status:lt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(ke)},meta:tn}];case 5:return Qe&&clearTimeout(Qe),[7];case 6:Se=Rt.clone(),tn.response=Se,Te="",St.label=7;case 7:return St.trys.push([7,9,,10]),[4,Promise.all([Kt(Rt,ar).then(function(Ne){return Pe=Ne},function(Ne){return Ge=Ne}),Se.text().then(function(Ne){return Te=Ne},function(){})])];case 8:if(St.sent(),Ge)throw Ge;return[3,10];case 9:return kt=St.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Rt.status,data:Te,error:String(kt)},meta:tn}];case 10:return[2,On(Rt,Pe)?{data:Pe,meta:tn}:{error:{status:Rt.status,data:Pe},meta:tn}]}})})};function Kt(qt,$t){return E(this,null,function(){var Oe;return r(this,function(ut){switch(ut.label){case 0:return typeof $t=="function"?[2,$t(qt)]:($t==="content-type"&&($t=dt(qt.headers)?"json":"text"),$t!=="json"?[3,2]:[4,qt.text()]);case 1:return[2,(Oe=ut.sent()).length?JSON.parse(Oe):null];case 2:return[2,qt.text()]}})})}}var G=function(q,Y){Y===void 0&&(Y=void 0),this.value=q,this.meta=Y};function K(q,Y){return q===void 0&&(q=0),Y===void 0&&(Y=5),E(this,null,function(){var le,we;return r(this,function(ce){switch(ce.label){case 0:return le=Math.min(q,Y),we=~~((Math.random()+.4)*(300<=Se)}var Sn=(0,Ue.createAsyncThunk)(kn+"/executeQuery",nn,{getPendingMeta:function(){var Be;return(Be={startedTimeStamp:Date.now()})[Ue.SHOULD_AUTOBATCH]=!0,Be},condition:function(Be,wt){var pt,Ze,ft,Rt=(0,wt.getState)(),lt=(Ze=(pt=Rt[kn])==null?void 0:pt.queries)==null?void 0:Ze[Be.queryCacheKey],Qe=lt==null?void 0:lt.fulfilledTimeStamp,ke=Be.originalArgs,Se=lt==null?void 0:lt.originalArgs,Pe=ar[Be.endpointName];return!(!_e(Be)&&((lt==null?void 0:lt.status)==="pending"||!pn(Be,Rt)&&(!ne(Pe)||!((ft=Pe==null?void 0:Pe.forceRefetch)!=null&&ft.call(Pe,{currentArg:ke,previousArg:Se,endpointState:lt,state:Rt})))&&Qe))},dispatchConditionRejection:!0}),cn=(0,Ue.createAsyncThunk)(kn+"/executeMutation",nn,{getPendingMeta:function(){var Be;return(Be={startedTimeStamp:Date.now()})[Ue.SHOULD_AUTOBATCH]=!0,Be}});function un(Be){return function(wt){var pt,Ze;return((Ze=(pt=wt==null?void 0:wt.meta)==null?void 0:pt.arg)==null?void 0:Ze.endpointName)===Be}}return{queryThunk:Sn,mutationThunk:cn,prefetch:function(Be,wt,pt){return function(Ze,ft){var Rt=function(Pe){return"force"in Pe}(pt)&&pt.force,lt=function(Pe){return"ifOlderThan"in Pe}(pt)&&pt.ifOlderThan,Qe=function(Pe){return Pe===void 0&&(Pe=!0),On.endpoints[Be].initiate(wt,{forceRefetch:Pe})},ke=On.endpoints[Be].select(wt)(ft());if(Rt)Ze(Qe());else if(lt){var Se=ke==null?void 0:ke.fulfilledTimeStamp;if(!Se)return void Ze(Qe());(Number(new Date)-Number(new Date(Se)))/1e3>=lt&&Ze(Qe())}else Ze(Qe(!1))}},updateQueryData:function(Be,wt,pt){return function(Ze,ft){var Rt,lt,Qe=On.endpoints[Be].select(wt)(ft()),ke={patches:[],inversePatches:[],undo:function(){return Ze(On.util.patchQueryData(Be,wt,ke.inversePatches))}};if(Qe.status===t.uninitialized)return ke;if("data"in Qe)if((0,Le.isDraftable)(Qe.data)){var Se=(0,Le.produceWithPatches)(Qe.data,pt),Pe=Se[2];(Rt=ke.patches).push.apply(Rt,Se[1]),(lt=ke.inversePatches).push.apply(lt,Pe)}else{var Te=pt(Qe.data);ke.patches.push({op:"replace",path:[],value:Te}),ke.inversePatches.push({op:"replace",path:[],value:Qe.data})}return Ze(On.util.patchQueryData(Be,wt,ke.patches)),ke}},upsertQueryData:function(Be,wt,pt){return function(Ze){var ft;return Ze(On.endpoints[Be].initiate(wt,((ft={subscribe:!1,forceRefetch:!0})[ge]=function(){return{data:pt}},ft)))}},patchQueryData:function(Be,wt,pt){return function(Ze){Ze(On.internalActions.queryResultPatched({queryCacheKey:En({queryArgs:wt,endpointDefinition:ar[Be],endpointName:Be}),patches:pt}))}},buildMatchThunkActions:function(Be,wt){return{matchPending:(0,We.isAllOf)((0,We.isPending)(Be),un(wt)),matchFulfilled:(0,We.isAllOf)((0,We.isFulfilled)(Be),un(wt)),matchRejected:(0,We.isAllOf)((0,We.isRejected)(Be),un(wt))}}}}({baseQuery:we,reducerPath:ce,context:le,api:q,serializeQueryArgs:nt}),Fe=ye.queryThunk,ht=ye.mutationThunk,xt=ye.patchQueryData,Ot=ye.updateQueryData,Lt=ye.upsertQueryData,Kt=ye.prefetch,qt=ye.buildMatchThunkActions,$t=function(yt){var wn=yt.reducerPath,kn=yt.queryThunk,Gn=yt.mutationThunk,ar=yt.context,En=ar.endpointDefinitions,On=ar.apiUid,nn=ar.extractRehydrationInfo,pn=ar.hasRehydrationInfo,Sn=yt.assertTagType,cn=yt.config,un=(0,Ce.createAction)(wn+"/resetApiState"),Be=(0,Ce.createSlice)({name:wn+"/queries",initialState:Et,reducers:{removeQueryResult:{reducer:function(Qe,ke){delete Qe[ke.payload.queryCacheKey]},prepare:(0,Ce.prepareAutoBatched)()},queryResultPatched:function(Qe,ke){var Se=ke.payload,Pe=Se.patches;bt(Qe,Se.queryCacheKey,function(Te){Te.data=(0,Pt.applyPatches)(Te.data,Pe.concat())})}},extraReducers:function(Qe){Qe.addCase(kn.pending,function(ke,Se){var Pe,Te=Se.meta,Ge=Se.meta.arg,kt=_e(Ge);(Ge.subscribe||kt)&&(ke[Pe=Ge.queryCacheKey]!=null||(ke[Pe]={status:t.uninitialized,endpointName:Ge.endpointName})),bt(ke,Ge.queryCacheKey,function(St){St.status=t.pending,St.requestId=kt&&St.requestId?St.requestId:Te.requestId,Ge.originalArgs!==void 0&&(St.originalArgs=Ge.originalArgs),St.startedTimeStamp=Te.startedTimeStamp})}).addCase(kn.fulfilled,function(ke,Se){var Pe=Se.meta,Te=Se.payload;bt(ke,Pe.arg.queryCacheKey,function(Ge){var kt;if(Ge.requestId===Pe.requestId||_e(Pe.arg)){var St=En[Pe.arg.endpointName].merge;if(Ge.status=t.fulfilled,St)if(Ge.data!==void 0){var Ne=Pe.fulfilledTimeStamp,Qt=Pe.arg,dn=Pe.baseQueryMeta,on=Pe.requestId,ir=(0,Ce.createNextState)(Ge.data,function(Fn){return St(Fn,Te,{arg:Qt.originalArgs,baseQueryMeta:dn,fulfilledTimeStamp:Ne,requestId:on})});Ge.data=ir}else Ge.data=Te;else Ge.data=(kt=En[Pe.arg.endpointName].structuralSharing)==null||kt?D((0,jn.isDraft)(Ge.data)?(0,Pt.original)(Ge.data):Ge.data,Te):Te;delete Ge.error,Ge.fulfilledTimeStamp=Pe.fulfilledTimeStamp}})}).addCase(kn.rejected,function(ke,Se){var Pe=Se.meta,Te=Pe.condition,Ge=Pe.requestId,kt=Se.error,St=Se.payload;bt(ke,Pe.arg.queryCacheKey,function(Ne){if(!Te){if(Ne.requestId!==Ge)return;Ne.status=t.rejected,Ne.error=St??kt}})}).addMatcher(pn,function(ke,Se){for(var Pe=nn(Se).queries,Te=0,Ge=Object.entries(Pe);Te"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},cn),reducers:{middlewareRegistered:function(Qe,ke){Qe.middlewareRegistered=Qe.middlewareRegistered!=="conflict"&&On===ke.payload||"conflict"}},extraReducers:function(Qe){Qe.addCase(xe,function(ke){ke.online=!0}).addCase(me,function(ke){ke.online=!1}).addCase(ee,function(ke){ke.focused=!0}).addCase(ie,function(ke){ke.focused=!1}).addMatcher(pn,function(ke){return C({},ke)})}}),lt=(0,Ce.combineReducers)({queries:Be.reducer,mutations:wt.reducer,provided:pt.reducer,subscriptions:ft.reducer,config:Rt.reducer});return{reducer:function(Qe,ke){return lt(un.match(ke)?void 0:Qe,ke)},actions:_(C(C(C(C(C({},Rt.actions),Be.actions),Ze.actions),ft.actions),wt.actions),{unsubscribeMutationResult:wt.actions.removeMutationResult,resetApiState:un})}}({context:le,queryThunk:Fe,mutationThunk:ht,reducerPath:ce,assertTagType:De,config:{refetchOnFocus:st,refetchOnReconnect:dt,refetchOnMountOrArgChange:Dt,keepUnusedDataFor:Je,reducerPath:ce}}),Oe=$t.reducer,ut=$t.actions;Dr(q.util,{patchQueryData:xt,updateQueryData:Ot,upsertQueryData:Lt,prefetch:Kt,resetApiState:ut.resetApiState}),Dr(q.internalActions,ut);var _t=function(yt){var wn=yt.reducerPath,kn=yt.queryThunk,Gn=yt.api,ar=yt.context,En=ar.apiUid,On={invalidateTags:(0,ur.createAction)(wn+"/invalidateTags")},nn=[zr,yn,$r,dr,Nn,_o];return{middleware:function(Sn){var cn=!1,un=_(C({},yt),{internalState:{currentSubscriptions:{}},refetchQuery:pn}),Be=nn.map(function(Ze){return Ze(un)}),wt=function(Ze){var ft=Ze.api,Rt=Ze.queryThunk,lt=Ze.internalState,Qe=ft.reducerPath+"/subscriptions",ke=null,Se=!1,Pe=ft.internalActions,Te=Pe.updateSubscriptionOptions,Ge=Pe.unsubscribeQueryResult;return function(kt,St){var Ne,Qt;if(ke||(ke=JSON.parse(JSON.stringify(lt.currentSubscriptions))),ft.util.resetApiState.match(kt))return ke=lt.currentSubscriptions={},[!0,!1];if(ft.internalActions.internal_probeSubscription.match(kt)){var dn=kt.payload;return[!1,!!((Ne=lt.currentSubscriptions[dn.queryCacheKey])!=null&&Ne[dn.requestId])]}var on=function(an,$n){var to,rn,Mn,Br,kr,Pa,Uu,ko,Js;if(Te.match($n)){var Ps=$n.payload,Zs=Ps.queryCacheKey,no=Ps.requestId;return(to=an==null?void 0:an[Zs])!=null&&to[no]&&(an[Zs][no]=Ps.options),!0}if(Ge.match($n)){var ro=$n.payload;return no=ro.requestId,an[Zs=ro.queryCacheKey]&&delete an[Zs][no],!0}if(ft.internalActions.removeQueryResult.match($n))return delete an[$n.payload.queryCacheKey],!0;if(Rt.pending.match($n)){var oo=$n.meta;if(no=oo.requestId,(Vr=oo.arg).subscribe)return(Do=(Mn=an[rn=Vr.queryCacheKey])!=null?Mn:an[rn]={})[no]=(kr=(Br=Vr.subscriptionOptions)!=null?Br:Do[no])!=null?kr:{},!0}if(Rt.rejected.match($n)){var Do,jo=$n.meta,Vr=jo.arg;if(no=jo.requestId,jo.condition&&Vr.subscribe)return(Do=(Uu=an[Pa=Vr.queryCacheKey])!=null?Uu:an[Pa]={})[no]=(Js=(ko=Vr.subscriptionOptions)!=null?ko:Do[no])!=null?Js:{},!0}return!1}(lt.currentSubscriptions,kt);if(on){Se||(es(function(){var an=JSON.parse(JSON.stringify(lt.currentSubscriptions)),$n=(0,Lr.produceWithPatches)(ke,function(){return an});St.next(ft.internalActions.subscriptionsUpdated($n[1])),ke=an,Se=!1}),Se=!0);var ir=!!((Qt=kt.type)!=null&&Qt.startsWith(Qe)),Fn=Rt.rejected.match(kt)&&kt.meta.condition&&!!kt.meta.arg.subscribe;return[!ir&&!Fn,!1]}return[!0,!1]}}(un),pt=function(Ze){var ft=Ze.reducerPath,Rt=Ze.context,lt=Ze.refetchQuery,Qe=Ze.internalState,ke=Ze.api.internalActions.removeQueryResult;function Se(Pe,Te){var Ge=Pe.getState()[ft],kt=Ge.queries,St=Qe.currentSubscriptions;Rt.batch(function(){for(var Ne=0,Qt=Object.keys(St);Ne{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...i}={},isChecked:u,...d}=e;return a.jsx(Cn,{label:r,placement:o,hasArrow:s,...i,children:a.jsx(kf,{ref:t,colorScheme:u?"accent":"base",...d,children:n})})}),Xt=f.memo(Tz),Nz=e=>{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!Lc(t)?null:a.jsxs(a.Fragment,{children:[a.jsx(qe,{children:n}),a.jsxs(Fv,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&a.jsx(la,{children:"Image to Image"}),t.isCanvasImage&&a.jsx(la,{children:"Unified Canvas"}),t.isControlNetImage&&a.jsx(la,{children:"ControlNet"}),t.isNodesImage&&a.jsx(la,{children:"Node Editor"})]}),a.jsx(qe,{children:r})]})},u_=f.memo(Nz),$z=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ue(),o=$(k=>k.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:i}=r8((t==null?void 0:t.board_id)??Xr.skipToken),u=f.useMemo(()=>he([mt],k=>{const P=(s??[]).map(E=>o8(k,E));return{imageUsageSummary:{isInitialImage:Lc(P,E=>E.isInitialImage),isCanvasImage:Lc(P,E=>E.isCanvasImage),isNodesImage:Lc(P,E=>E.isNodesImage),isControlNetImage:Lc(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=s8(),[h,{isLoading:g}]=a8(),{imageUsageSummary:v}=$(u),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),S=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),x=f.useCallback(()=>{n(void 0)},[n]),C=f.useRef(null),_=f.useMemo(()=>g||p||i,[g,p,i]);return t?a.jsx(Du,{isOpen:!!t,onClose:x,leastDestructiveRef:C,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsxs(va,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),a.jsx(ba,{children:a.jsxs(L,{direction:"column",gap:3,children:[i?a.jsx(ah,{children:a.jsx(L,{sx:{w:"full",h:32}})}):a.jsx(u_,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),a.jsx(qe,{children:"Deleted boards cannot be restored."}),a.jsx(qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),a.jsx(ga,{children:a.jsxs(L,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[a.jsx(Xt,{ref:C,onClick:x,children:"Cancel"}),a.jsx(Xt,{colorScheme:"warning",isLoading:_,onClick:b,children:"Delete Board Only"}),a.jsx(Xt,{colorScheme:"error",isLoading:_,onClick:S,children:"Delete Board and Images"})]})})]})})}):null},zz=f.memo($z);function Lz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"}}]})(e)}function Bz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(e)}function Fz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"}}]})(e)}function Hz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"}}]})(e)}function Wz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"}}]})(e)}function Vz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"}}]})(e)}function Uz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"}}]})(e)}function Gz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"}}]})(e)}function d_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"}}]})(e)}function f_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"}}]})(e)}function qz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"}}]})(e)}function Kz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"}}]})(e)}function Qz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"}}]})(e)}function g1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"}}]})(e)}function cc(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"}}]})(e)}function p_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"}}]})(e)}function Yz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"}}]})(e)}function v1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function h_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"}}]})(e)}function m_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"}}]})(e)}function Xz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 192 512"},child:[{tag:"path",attr:{d:"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"}}]})(e)}function Jz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}}]})(e)}function Zz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}}]})(e)}function eL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"}}]})(e)}function g_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"}}]})(e)}function tL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"}}]})(e)}function nL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"}}]})(e)}function v_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"}}]})(e)}function kg(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"}}]})(e)}function rL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z"}}]})(e)}function oL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z"}}]})(e)}function Ti(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"}}]})(e)}function sL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z"}}]})(e)}function aL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"}}]})(e)}function iL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 192 512"},child:[{tag:"path",attr:{d:"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"}}]})(e)}function lL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"}}]})(e)}function y_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"}}]})(e)}function cL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"}}]})(e)}function uL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"}}]})(e)}function dL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"}}]})(e)}function fL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function pL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"}}]})(e)}function b_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"}}]})(e)}function x_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"}}]})(e)}function Hi(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function w_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(e)}function hL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"}}]})(e)}function mL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"}}]})(e)}function yh(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"}}]})(e)}function gL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"}}]})(e)}function S_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"}}]})(e)}function vL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"}}]})(e)}function yL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"}}]})(e)}function Y2(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"}}]})(e)}function y1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}}]})(e)}function bL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"}}]})(e)}function xL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"}}]})(e)}function C_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z"}}]})(e)}function wL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"}}]})(e)}function Xo(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"}}]})(e)}function b1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"}}]})(e)}function Fu(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function SL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"}}]})(e)}function x1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"}}]})(e)}const CL="My Board",_L=()=>{const[e,{isLoading:t}]=i8(),n=f.useCallback(()=>{e(CL)},[e]);return a.jsx(je,{icon:a.jsx(Hi,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var __=ju({displayName:"ExternalLinkIcon",path:a.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[a.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),a.jsx("path",{d:"M15 3h6v6"}),a.jsx("path",{d:"M10 14L21 3"})]})}),w1=ju({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),kL=ju({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),jL=ju({displayName:"DeleteIcon",path:a.jsx("g",{fill:"currentColor",children:a.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),PL=ju({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const IL=he([mt],({boards:e})=>{const{searchText:t}=e;return{searchText:t}},Ke),EL=()=>{const e=Z(),{searchText:t}=$(IL),n=f.useRef(null),r=f.useCallback(u=>{e(tx(u))},[e]),o=f.useCallback(()=>{e(tx(""))},[e]),s=f.useCallback(u=>{u.key==="Escape"&&o()},[o]),i=f.useCallback(u=>{r(u.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),a.jsxs(M6,{children:[a.jsx(Iu,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:i}),t&&t.length&&a.jsx(Lv,{children:a.jsx(qa,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:a.jsx(kL,{boxSize:2})})})]})},OL=f.memo(EL),ML=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(Ka()),{colorMode:o}=xs();return a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsxs(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Me("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),a.jsx(L,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Me("base.50","base.50")(o):Me("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:a.jsx(qe,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Me("base.50","base.50")(o):Me("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Yf=f.memo(ML),RL=e=>{const{dropLabel:t,data:n,disabled:r,hoverRef:o}=e,s=f.useRef(Ka()),{isOver:i,setNodeRef:u,active:d}=uv({id:s.current,disabled:r,data:n});return a.jsx($e,{ref:u,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:a.jsx(Ko,{children:jf(n,d)&&a.jsx(Yf,{isOver:i,label:t})})})},S1=f.memo(RL),C1=e=>{const t=$(s=>s.gallery.galleryView),{data:n}=l8(e),{data:r}=c8(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},k_=()=>a.jsx(L,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:a.jsx(Za,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Jc=globalThis&&globalThis.__assign||function(){return Jc=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const n=Z(),r=f.useMemo(()=>he(mt,({gallery:i})=>({isSelectedForAutoAdd:e.board_id===i.autoAddBoardId}),Ke),[e.board_id]),{isSelectedForAutoAdd:o}=$(r),s=f.useCallback(()=>{t&&t(e)},[e,t]);return f.useCallback(()=>{n(Yp(o?void 0:e.board_id))},[e.board_id,n,o]),a.jsxs(a.Fragment,{children:[e.image_count>0&&a.jsx(a.Fragment,{}),a.jsx(ao,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Xo,{}),onClick:s,children:"Delete Board"})]})},AL=f.memo(DL),TL=()=>{const e=Z();return $(t=>t.gallery.autoAddBoardId),f.useCallback(()=>{e(Yp(void 0))},[e]),a.jsx(a.Fragment,{})},NL=f.memo(TL),bh=e=>{const{boardName:t}=Xp(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},_1=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=Z(),s=f.useMemo(()=>he(mt,({gallery:g})=>{const v=g.selectedBoardId===t,b=g.autoAddBoardId===t;return{isSelected:v,isAutoAdd:b}}),[t]),{isSelected:i,isAutoAdd:u}=$(s),d=bh(t);f.useCallback(()=>{o(dv(t))},[t,o]);const p=f.useCallback(()=>{o(Yp(t))},[t,o]),h=f.useCallback(g=>{g.preventDefault()},[]);return a.jsx(j_,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>a.jsx(ic,{sx:{visibility:"visible !important"},motionProps:Cv,onContextMenu:h,children:a.jsxs(Vv,{title:d,children:[a.jsx(ao,{icon:a.jsx(Hi,{}),isDisabled:u,onClick:p,children:"Auto-add to this Board"}),!e&&a.jsx(NL,{}),e&&a.jsx(AL,{board:e,setBoardToDelete:n})]})}),children:r})});_1.displayName="HoverableBoard";const k1=({isSelected:e,isHovered:t})=>a.jsx($e,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),P_=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=Z(),o=f.useMemo(()=>he(mt,({gallery:E})=>({isSelectedForAutoAdd:e.board_id===E.autoAddBoardId}),Ke),[e.board_id]),{isSelectedForAutoAdd:s}=$(o),[i,u]=f.useState(!1),d=f.useCallback(()=>{u(!0)},[]),p=f.useCallback(()=>{u(!1)},[]),{currentData:h}=Uo(e.cover_image_name??Xr.skipToken);C1(e.board_id);const{board_name:g,board_id:v}=e,[b,S]=f.useState(g),x=f.useCallback(()=>{r(dv(v))},[v,r]),[C,{isLoading:_}]=u8(),k=f.useMemo(()=>({id:v,actionType:"MOVE_BOARD",context:{boardId:v}}),[v]),P=f.useCallback(async E=>{if(!E.trim()){S(g);return}if(E!==g)try{const{board_name:O}=await C({board_id:v,changes:{board_name:E}}).unwrap();S(O)}catch{S(g)}},[v,g,C]),I=f.useCallback(E=>{S(E)},[]);return a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:a.jsx(L,{onMouseOver:d,onMouseOut:p,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:a.jsx(_1,{board:e,board_id:v,setBoardToDelete:n,children:E=>a.jsxs(L,{ref:E,onClick:x,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[h!=null&&h.thumbnail_url?a.jsx(rc,{src:h==null?void 0:h.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:a.jsx(io,{boxSize:12,as:SL,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&a.jsx(k_,{}),a.jsx(k1,{isSelected:t,isHovered:i}),a.jsx(L,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:a.jsxs(q3,{value:b,isDisabled:_,submitOnBlur:!0,onChange:I,onSubmit:P,sx:{w:"full"},children:[a.jsx(V3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),a.jsx(W3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),a.jsx(S1,{data:k,dropLabel:a.jsx(qe,{fontSize:"md",children:"Move"})})]})})})})});P_.displayName="HoverableBoard";const $L=he(mt,({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ke),I_=f.memo(({isSelected:e})=>{const t=Z();C1(void 0);const{autoAddBoardId:n}=$($L),r=bh(void 0),o=f.useCallback(()=>{t(dv(void 0))},[t]),[s,i]=f.useState(!1),u=f.useCallback(()=>{i(!0)},[]),d=f.useCallback(()=>{i(!1)},[]),p=f.useMemo(()=>({id:"no_board",actionType:"MOVE_BOARD",context:{boardId:void 0}}),[]);return a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:a.jsx(L,{onMouseOver:u,onMouseOut:d,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:a.jsx(_1,{children:h=>a.jsxs(L,{ref:h,onClick:o,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:a.jsx(rc,{src:R4,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),!n&&a.jsx(k_,{}),a.jsx(L,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:r}),a.jsx(k1,{isSelected:e,isHovered:s}),a.jsx(S1,{data:p,dropLabel:a.jsx(qe,{fontSize:"md",children:"Move"})})]})})})})});I_.displayName="HoverableBoard";const zL=he([mt],({boards:e,gallery:t})=>{const{searchText:n}=e,{selectedBoardId:r}=t;return{selectedBoardId:r,searchText:n}},Ke),LL=e=>{const{isOpen:t}=e,{selectedBoardId:n,searchText:r}=$(zL),{data:o}=Xp();yr("batches").isFeatureEnabled;const s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[i,u]=f.useState();return a.jsxs(a.Fragment,{children:[a.jsx(nh,{in:t,animateOpacity:!0,children:a.jsxs(L,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(OL,{}),a.jsx(_L,{})]}),a.jsx(i_,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:a.jsxs(Mi,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[a.jsx(c0,{sx:{p:1.5},children:a.jsx(I_,{isSelected:n===void 0})}),s&&s.map(d=>a.jsx(c0,{sx:{p:1.5},children:a.jsx(P_,{board:d,isSelected:n===d.board_id,setBoardToDelete:u})},d.board_id))]})})]})}),a.jsx(zz,{boardToDelete:i,setBoardToDelete:u})]})},BL=f.memo(LL),FL=he([mt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ke),HL=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=$(FL),o=bh(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return a.jsxs(L,{as:kf,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[a.jsx(qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),a.jsx(w1,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},WL=f.memo(HL);function E_(e){return Ve({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function O_(e){return Ve({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const VL=he([mt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ke),UL=()=>{const e=Z(),{t}=ue(),{shouldPinGallery:n}=$(VL),r=()=>{e(D4()),e(yo())};return a.jsx(je,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?a.jsx(E_,{}):a.jsx(O_,{})})},GL=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return a.jsxs(Qv,{isLazy:o,...s,children:[a.jsx(Kv,{children:t}),a.jsxs(Yv,{shadow:"dark-lg",children:[r&&a.jsx(J6,{}),n]})]})},Wi=f.memo(GL),qL=e=>{const{label:t,...n}=e,{colorMode:r}=xs();return a.jsx(L3,{colorScheme:"accent",...n,children:a.jsx(qe,{sx:{fontSize:"sm",color:Me("base.800","base.200")(r)},children:t})})},Ln=f.memo(qL);function KL(e){const t=f.createContext(null);return[({children:o,value:s})=>z.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function M_(e){return Array.isArray(e)?e:[e]}const QL=()=>{};function YL(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||QL:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function R_({data:e}){const t=[],n=[],r=e.reduce((o,s,i)=>(s.group?o[s.group]?o[s.group].push(i):o[s.group]=[i]:n.push(i),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function D_(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==z.Fragment:!1}function A_(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const ZL=d8({key:"mantine",prepend:!0});function eB(){return O3()||ZL}var tB=Object.defineProperty,X2=Object.getOwnPropertySymbols,nB=Object.prototype.hasOwnProperty,rB=Object.prototype.propertyIsEnumerable,J2=(e,t,n)=>t in e?tB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oB=(e,t)=>{for(var n in t||(t={}))nB.call(t,n)&&J2(e,n,t[n]);if(X2)for(var n of X2(t))rB.call(t,n)&&J2(e,n,t[n]);return e};const jg="ref";function sB(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(jg in n))return{args:e,ref:t};t=n[jg];const r=oB({},n);return delete r[jg],{args:[r],ref:t}}const{cssFactory:aB}=(()=>{function e(n,r,o){const s=[],i=h8(n,s,o);return s.length<2?o:i+r(s)}function t(n){const{cache:r}=n,o=(...i)=>{const{ref:u,args:d}=sB(i),p=f8(d,r.registered);return p8(r,p,!1),`${r.key}-${p.name}${u===void 0?"":` ${u}`}`};return{css:o,cx:(...i)=>e(r.registered,o,T_(i))}}return{cssFactory:t}})();function N_(){const e=eB();return JL(()=>aB({cache:e}),[e])}function iB({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const i=n.reduce((u,d)=>(Object.keys(d.classNames).forEach(p=>{typeof u[p]!="string"?u[p]=`${d.classNames[p]}`:u[p]=`${u[p]} ${d.classNames[p]}`}),u),{});return Object.keys(t).reduce((u,d)=>(u[d]=e(t[d],i[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),u),{})}var lB=Object.defineProperty,Z2=Object.getOwnPropertySymbols,cB=Object.prototype.hasOwnProperty,uB=Object.prototype.propertyIsEnumerable,ew=(e,t,n)=>t in e?lB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pg=(e,t)=>{for(var n in t||(t={}))cB.call(t,n)&&ew(e,n,t[n]);if(Z2)for(var n of Z2(t))uB.call(t,n)&&ew(e,n,t[n]);return e};function O0(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=Pg(Pg({},e[n]),t[n]):e[n]=Pg({},t[n])}),e}function tw(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,i)=>O0(s,i),{}):o(e)}function dB({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,i)=>(i.variants&&r in i.variants&&O0(s,i.variants[r](t,n,{variant:r,size:o})),i.sizes&&o in i.sizes&&O0(s,i.sizes[o](t,n,{variant:r,size:o})),s),{})}function eo(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=_a(),i=iM(o==null?void 0:o.name),u=O3(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=N_(),g=t(s,r,d),v=tw(o==null?void 0:o.styles,s,r,d),b=tw(i,s,r,d),S=dB({ctx:i,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),x=Object.fromEntries(Object.keys(g).map(C=>{const _=h({[p(g[C])]:!(o!=null&&o.unstyled)},p(S[C]),p(b[C]),p(v[C]));return[C,_]}));return{classes:iB({cx:h,classes:x,context:i,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:u}),cx:h,theme:s}}return n}function nw(e){return`___ref-${e||""}`}var fB=Object.defineProperty,pB=Object.defineProperties,hB=Object.getOwnPropertyDescriptors,rw=Object.getOwnPropertySymbols,mB=Object.prototype.hasOwnProperty,gB=Object.prototype.propertyIsEnumerable,ow=(e,t,n)=>t in e?fB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Dc=(e,t)=>{for(var n in t||(t={}))mB.call(t,n)&&ow(e,n,t[n]);if(rw)for(var n of rw(t))gB.call(t,n)&&ow(e,n,t[n]);return e},Ac=(e,t)=>pB(e,hB(t));const Tc={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${ze(10)})`},transitionProperty:"transform, opacity"},Yd={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${ze(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:Ac(Dc({},Tc),{common:{transformOrigin:"center center"}}),"pop-bottom-left":Ac(Dc({},Tc),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":Ac(Dc({},Tc),{common:{transformOrigin:"bottom right"}}),"pop-top-left":Ac(Dc({},Tc),{common:{transformOrigin:"top left"}}),"pop-top-right":Ac(Dc({},Tc),{common:{transformOrigin:"top right"}})},sw=["mousedown","touchstart"];function vB(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:i}=s??{};if(Array.isArray(n)){const u=(i==null?void 0:i.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(i)&&i.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!u&&e()}else r.current&&!r.current.contains(i)&&e()};return(t||sw).forEach(s=>document.addEventListener(s,o)),()=>{(t||sw).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function yB(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function bB(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function xB(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:bB(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),yB(s.current,i=>o(i.matches))},[e]),r}const $_=typeof document<"u"?f.useLayoutEffect:f.useEffect;function ps(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function wB({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return ps(()=>{let o=-1;const s=i=>{i.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const SB=/input|select|textarea|button|object/,z_="a, input, select, textarea, button, object, [tabindex]";function CB(e){return e.style.display==="none"}function _B(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(CB(n))return!1;n=n.parentNode}return!0}function L_(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function M0(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(L_(e));return(SB.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&_B(e)}function B_(e){const t=L_(e);return(Number.isNaN(t)||t>=0)&&M0(e)}function kB(e){return Array.from(e.querySelectorAll(z_)).filter(B_)}function jB(e,t){const n=kB(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const i=n[t.shiftKey?n.length-1:0];i&&i.focus()}function P1(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function PB(e,t="body > :not(script)"){const n=P1(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const i=o.getAttribute("aria-hidden"),u=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),i===null||i==="false"?o.setAttribute("aria-hidden","true"):!u&&!d&&o.setAttribute("data-hidden",i),{node:o,ariaHidden:u||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function IB(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let i=s.querySelector("[data-autofocus]");if(!i){const u=Array.from(s.querySelectorAll(z_));i=u.find(B_)||u.find(M0)||null,!i&&M0(s)&&(i=s)}i&&i.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=PB(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=i=>{i.key==="Tab"&&t.current&&jB(t.current,i)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const EB=z["useId".toString()]||(()=>{});function OB(){const e=EB();return e?`mantine-${e.replace(/:/g,"")}`:""}function I1(e){const t=OB(),[n,r]=f.useState(t);return $_(()=>{r(P1())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function aw(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function F_(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function MB(...e){return t=>{e.forEach(n=>F_(n,t))}}function Hu(...e){return f.useCallback(MB(...e),e)}function hu({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),i=u=>{s(u),r==null||r(u)};return e!==void 0?[e,r,!0]:[o,i,!1]}function H_(e,t){return xB("(prefers-reduced-motion: reduce)",e,t)}const RB=e=>e<.5?2*e*e:-1+(4-2*e)*e,DB=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const i=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=g=>p[g]-d[g];if(e==="y"){const g=h("top");if(g===0)return 0;if(r==="start"){const b=g-o;return b<=p.height*(s?0:1)||!s?b:0}const v=i?d.height:window.innerHeight;if(r==="end"){const b=g+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?g-v/2+p.height/2:0}if(e==="x"){const g=h("left");if(g===0)return 0;if(r==="start"){const b=g-o;return b<=p.width||!s?b:0}const v=i?d.width:window.innerWidth;if(r==="end"){const b=g+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?g-v/2+p.width/2:0}return 0},AB=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},TB=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function W_({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=RB,offset:o=0,cancelable:s=!0,isList:i=!1}={}){const u=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),g=f.useRef(null),v=H_(),b=()=>{u.current&&cancelAnimationFrame(u.current)},S=f.useCallback(({alignment:C="start"}={})=>{var _;p.current=!1,u.current&&b();const k=(_=AB({parent:h.current,axis:t}))!=null?_:0,P=DB({parent:h.current,target:g.current,axis:t,alignment:C,offset:o,isList:i})-(h.current?0:k);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,D=k+P*r(R);TB({parent:h.current,axis:t,distance:D}),!p.current&&R<1?u.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,u.current=0,b())}I()},[t,e,r,i,o,n,v]),x=()=>{s&&(p.current=!0)};return aw("wheel",x,{passive:!0}),aw("touchmove",x,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:g,scrollIntoView:S,cancel:b}}var iw=Object.getOwnPropertySymbols,NB=Object.prototype.hasOwnProperty,$B=Object.prototype.propertyIsEnumerable,zB=(e,t)=>{var n={};for(var r in e)NB.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&iw)for(var r of iw(e))t.indexOf(r)<0&&$B.call(e,r)&&(n[r]=e[r]);return n};function xh(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:i,ml:u,mr:d,p,px:h,py:g,pt:v,pb:b,pl:S,pr:x,bg:C,c:_,opacity:k,ff:P,fz:I,fw:E,lts:O,ta:R,lh:D,fs:T,tt:B,td:W,w:J,miw:F,maw:N,h:G,mih:K,mah:M,bgsz:U,bgp:V,bgr:ee,bga:ie,pos:xe,top:me,left:ae,bottom:te,right:H,inset:re,display:pe}=t,ne=zB(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:lM({m:n,mx:r,my:o,mt:s,mb:i,ml:u,mr:d,p,px:h,py:g,pt:v,pb:b,pl:S,pr:x,bg:C,c:_,opacity:k,ff:P,fz:I,fw:E,lts:O,ta:R,lh:D,fs:T,tt:B,td:W,w:J,miw:F,maw:N,h:G,mih:K,mah:M,bgsz:U,bgp:V,bgr:ee,bga:ie,pos:xe,top:me,left:ae,bottom:te,right:H,inset:re,display:pe}),rest:ne}}function LB(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>Tx(Tt({size:r,sizes:t.breakpoints}))-Tx(Tt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function BB({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return LB(e,t).reduce((i,u)=>{if(u==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{i[h]=p}),i):(i[r]=p,i)}const d=n(e[u],t);return Array.isArray(r)?(i[t.fn.largerThan(u)]={},r.forEach(p=>{i[t.fn.largerThan(u)][p]=d}),i):(i[t.fn.largerThan(u)]={[r]:d},i)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,i)=>(s[i]=o,s),{}):{[r]:o}}function FB(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function HB(e){return ze(e)}function WB(e){return e}function VB(e,t){return Tt({size:e,sizes:t.fontSizes})}const UB=["-xs","-sm","-md","-lg","-xl"];function GB(e,t){return UB.includes(e)?`calc(${Tt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Tt({size:e,sizes:t.spacing})}const qB={identity:WB,color:FB,size:HB,fontSize:VB,spacing:GB},KB={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var QB=Object.defineProperty,lw=Object.getOwnPropertySymbols,YB=Object.prototype.hasOwnProperty,XB=Object.prototype.propertyIsEnumerable,cw=(e,t,n)=>t in e?QB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uw=(e,t)=>{for(var n in t||(t={}))YB.call(t,n)&&cw(e,n,t[n]);if(lw)for(var n of lw(t))XB.call(t,n)&&cw(e,n,t[n]);return e};function dw(e,t,n=KB){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(BB({value:e[s],getValue:qB[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(i=>{typeof s[i]=="object"&&s[i]!==null&&i in o?o[i]=uw(uw({},o[i]),s[i]):o[i]=s[i]}),o),{})}function fw(e,t){return typeof e=="function"?e(t):e}function JB(e,t,n){const r=_a(),{css:o,cx:s}=N_();return Array.isArray(e)?s(n,o(dw(t,r)),e.map(i=>o(fw(i,r)))):s(n,o(fw(e,r)),o(dw(t,r)))}var ZB=Object.defineProperty,Xf=Object.getOwnPropertySymbols,V_=Object.prototype.hasOwnProperty,U_=Object.prototype.propertyIsEnumerable,pw=(e,t,n)=>t in e?ZB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eF=(e,t)=>{for(var n in t||(t={}))V_.call(t,n)&&pw(e,n,t[n]);if(Xf)for(var n of Xf(t))U_.call(t,n)&&pw(e,n,t[n]);return e},tF=(e,t)=>{var n={};for(var r in e)V_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Xf)for(var r of Xf(e))t.indexOf(r)<0&&U_.call(e,r)&&(n[r]=e[r]);return n};const G_=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:i}=n,u=tF(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=xh(u),h=o||"div";return z.createElement(h,eF({ref:t,className:JB(i,d,r),style:s},p))});G_.displayName="@mantine/core/Box";const bo=G_;var nF=Object.defineProperty,rF=Object.defineProperties,oF=Object.getOwnPropertyDescriptors,hw=Object.getOwnPropertySymbols,sF=Object.prototype.hasOwnProperty,aF=Object.prototype.propertyIsEnumerable,mw=(e,t,n)=>t in e?nF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gw=(e,t)=>{for(var n in t||(t={}))sF.call(t,n)&&mw(e,n,t[n]);if(hw)for(var n of hw(t))aF.call(t,n)&&mw(e,n,t[n]);return e},iF=(e,t)=>rF(e,oF(t)),lF=eo(e=>({root:iF(gw(gw({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const cF=lF;var uF=Object.defineProperty,Jf=Object.getOwnPropertySymbols,q_=Object.prototype.hasOwnProperty,K_=Object.prototype.propertyIsEnumerable,vw=(e,t,n)=>t in e?uF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dF=(e,t)=>{for(var n in t||(t={}))q_.call(t,n)&&vw(e,n,t[n]);if(Jf)for(var n of Jf(t))K_.call(t,n)&&vw(e,n,t[n]);return e},fF=(e,t)=>{var n={};for(var r in e)q_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Jf)for(var r of Jf(e))t.indexOf(r)<0&&K_.call(e,r)&&(n[r]=e[r]);return n};const Q_=f.forwardRef((e,t)=>{const n=mr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:i}=n,u=fF(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=cF(null,{name:"UnstyledButton",unstyled:s,variant:i});return z.createElement(bo,dF({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},u))});Q_.displayName="@mantine/core/UnstyledButton";const pF=Q_;var hF=Object.defineProperty,mF=Object.defineProperties,gF=Object.getOwnPropertyDescriptors,yw=Object.getOwnPropertySymbols,vF=Object.prototype.hasOwnProperty,yF=Object.prototype.propertyIsEnumerable,bw=(e,t,n)=>t in e?hF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,R0=(e,t)=>{for(var n in t||(t={}))vF.call(t,n)&&bw(e,n,t[n]);if(yw)for(var n of yw(t))yF.call(t,n)&&bw(e,n,t[n]);return e},xw=(e,t)=>mF(e,gF(t));const bF=["subtle","filled","outline","light","default","transparent","gradient"],Xd={xs:ze(18),sm:ze(22),md:ze(28),lg:ze(34),xl:ze(44)};function xF({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:bF.includes(e)?R0({border:`${ze(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var wF=eo((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:xw(R0({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Tt({size:s,sizes:Xd}),minHeight:Tt({size:s,sizes:Xd}),width:Tt({size:s,sizes:Xd}),minWidth:Tt({size:s,sizes:Xd})},xF({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":xw(R0({content:'""'},e.fn.cover(ze(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const SF=wF;var CF=Object.defineProperty,Zf=Object.getOwnPropertySymbols,Y_=Object.prototype.hasOwnProperty,X_=Object.prototype.propertyIsEnumerable,ww=(e,t,n)=>t in e?CF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sw=(e,t)=>{for(var n in t||(t={}))Y_.call(t,n)&&ww(e,n,t[n]);if(Zf)for(var n of Zf(t))X_.call(t,n)&&ww(e,n,t[n]);return e},Cw=(e,t)=>{var n={};for(var r in e)Y_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Zf)for(var r of Zf(e))t.indexOf(r)<0&&X_.call(e,r)&&(n[r]=e[r]);return n};function _F(e){var t=e,{size:n,color:r}=t,o=Cw(t,["size","color"]);const s=o,{style:i}=s,u=Cw(s,["style"]);return z.createElement("svg",Sw({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:Sw({width:n},i)},u),z.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var kF=Object.defineProperty,ep=Object.getOwnPropertySymbols,J_=Object.prototype.hasOwnProperty,Z_=Object.prototype.propertyIsEnumerable,_w=(e,t,n)=>t in e?kF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kw=(e,t)=>{for(var n in t||(t={}))J_.call(t,n)&&_w(e,n,t[n]);if(ep)for(var n of ep(t))Z_.call(t,n)&&_w(e,n,t[n]);return e},jw=(e,t)=>{var n={};for(var r in e)J_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ep)for(var r of ep(e))t.indexOf(r)<0&&Z_.call(e,r)&&(n[r]=e[r]);return n};function jF(e){var t=e,{size:n,color:r}=t,o=jw(t,["size","color"]);const s=o,{style:i}=s,u=jw(s,["style"]);return z.createElement("svg",kw({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:kw({width:n,height:n},i)},u),z.createElement("g",{fill:"none",fillRule:"evenodd"},z.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},z.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),z.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},z.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var PF=Object.defineProperty,tp=Object.getOwnPropertySymbols,ek=Object.prototype.hasOwnProperty,tk=Object.prototype.propertyIsEnumerable,Pw=(e,t,n)=>t in e?PF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Iw=(e,t)=>{for(var n in t||(t={}))ek.call(t,n)&&Pw(e,n,t[n]);if(tp)for(var n of tp(t))tk.call(t,n)&&Pw(e,n,t[n]);return e},Ew=(e,t)=>{var n={};for(var r in e)ek.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&tp)for(var r of tp(e))t.indexOf(r)<0&&tk.call(e,r)&&(n[r]=e[r]);return n};function IF(e){var t=e,{size:n,color:r}=t,o=Ew(t,["size","color"]);const s=o,{style:i}=s,u=Ew(s,["style"]);return z.createElement("svg",Iw({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:Iw({width:n},i)},u),z.createElement("circle",{cx:"15",cy:"15",r:"15"},z.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},z.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("circle",{cx:"105",cy:"15",r:"15"},z.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var EF=Object.defineProperty,np=Object.getOwnPropertySymbols,nk=Object.prototype.hasOwnProperty,rk=Object.prototype.propertyIsEnumerable,Ow=(e,t,n)=>t in e?EF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OF=(e,t)=>{for(var n in t||(t={}))nk.call(t,n)&&Ow(e,n,t[n]);if(np)for(var n of np(t))rk.call(t,n)&&Ow(e,n,t[n]);return e},MF=(e,t)=>{var n={};for(var r in e)nk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&np)for(var r of np(e))t.indexOf(r)<0&&rk.call(e,r)&&(n[r]=e[r]);return n};const Ig={bars:_F,oval:jF,dots:IF},RF={xs:ze(18),sm:ze(22),md:ze(36),lg:ze(44),xl:ze(58)},DF={size:"md"};function ok(e){const t=mr("Loader",DF,e),{size:n,color:r,variant:o}=t,s=MF(t,["size","color","variant"]),i=_a(),u=o in Ig?o:i.loader;return z.createElement(bo,OF({role:"presentation",component:Ig[u]||Ig.bars,size:Tt({size:n,sizes:RF}),color:i.fn.variant({variant:"filled",primaryFallback:!1,color:r||i.primaryColor}).background},s))}ok.displayName="@mantine/core/Loader";var AF=Object.defineProperty,rp=Object.getOwnPropertySymbols,sk=Object.prototype.hasOwnProperty,ak=Object.prototype.propertyIsEnumerable,Mw=(e,t,n)=>t in e?AF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rw=(e,t)=>{for(var n in t||(t={}))sk.call(t,n)&&Mw(e,n,t[n]);if(rp)for(var n of rp(t))ak.call(t,n)&&Mw(e,n,t[n]);return e},TF=(e,t)=>{var n={};for(var r in e)sk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&rp)for(var r of rp(e))t.indexOf(r)<0&&ak.call(e,r)&&(n[r]=e[r]);return n};const NF={color:"gray",size:"md",variant:"subtle"},ik=f.forwardRef((e,t)=>{const n=mr("ActionIcon",NF,e),{className:r,color:o,children:s,radius:i,size:u,variant:d,gradient:p,disabled:h,loaderProps:g,loading:v,unstyled:b,__staticSelector:S}=n,x=TF(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:C,cx:_,theme:k}=SF({radius:i,color:o,gradient:p},{name:["ActionIcon",S],unstyled:b,size:u,variant:d}),P=z.createElement(ok,Rw({color:k.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},g));return z.createElement(pF,Rw({className:_(C.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},x),v?P:s)});ik.displayName="@mantine/core/ActionIcon";const $F=ik;var zF=Object.defineProperty,LF=Object.defineProperties,BF=Object.getOwnPropertyDescriptors,op=Object.getOwnPropertySymbols,lk=Object.prototype.hasOwnProperty,ck=Object.prototype.propertyIsEnumerable,Dw=(e,t,n)=>t in e?zF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FF=(e,t)=>{for(var n in t||(t={}))lk.call(t,n)&&Dw(e,n,t[n]);if(op)for(var n of op(t))ck.call(t,n)&&Dw(e,n,t[n]);return e},HF=(e,t)=>LF(e,BF(t)),WF=(e,t)=>{var n={};for(var r in e)lk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&op)for(var r of op(e))t.indexOf(r)<0&&ck.call(e,r)&&(n[r]=e[r]);return n};function uk(e){const t=mr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,i=WF(t,["children","target","className","innerRef"]),u=_a(),[d,p]=f.useState(!1),h=f.useRef();return $_(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?nc.createPortal(z.createElement("div",HF(FF({className:o,dir:u.dir},i),{ref:s}),n),h.current):null}uk.displayName="@mantine/core/Portal";var VF=Object.defineProperty,sp=Object.getOwnPropertySymbols,dk=Object.prototype.hasOwnProperty,fk=Object.prototype.propertyIsEnumerable,Aw=(e,t,n)=>t in e?VF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UF=(e,t)=>{for(var n in t||(t={}))dk.call(t,n)&&Aw(e,n,t[n]);if(sp)for(var n of sp(t))fk.call(t,n)&&Aw(e,n,t[n]);return e},GF=(e,t)=>{var n={};for(var r in e)dk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&sp)for(var r of sp(e))t.indexOf(r)<0&&fk.call(e,r)&&(n[r]=e[r]);return n};function pk(e){var t=e,{withinPortal:n=!0,children:r}=t,o=GF(t,["withinPortal","children"]);return n?z.createElement(uk,UF({},o),r):z.createElement(z.Fragment,null,r)}pk.displayName="@mantine/core/OptionalPortal";var qF=Object.defineProperty,ap=Object.getOwnPropertySymbols,hk=Object.prototype.hasOwnProperty,mk=Object.prototype.propertyIsEnumerable,Tw=(e,t,n)=>t in e?qF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nw=(e,t)=>{for(var n in t||(t={}))hk.call(t,n)&&Tw(e,n,t[n]);if(ap)for(var n of ap(t))mk.call(t,n)&&Tw(e,n,t[n]);return e},KF=(e,t)=>{var n={};for(var r in e)hk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ap)for(var r of ap(e))t.indexOf(r)<0&&mk.call(e,r)&&(n[r]=e[r]);return n};function gk(e){const t=e,{width:n,height:r,style:o}=t,s=KF(t,["width","height","style"]);return z.createElement("svg",Nw({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:Nw({width:n,height:r},o)},s),z.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}gk.displayName="@mantine/core/CloseIcon";var QF=Object.defineProperty,ip=Object.getOwnPropertySymbols,vk=Object.prototype.hasOwnProperty,yk=Object.prototype.propertyIsEnumerable,$w=(e,t,n)=>t in e?QF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,YF=(e,t)=>{for(var n in t||(t={}))vk.call(t,n)&&$w(e,n,t[n]);if(ip)for(var n of ip(t))yk.call(t,n)&&$w(e,n,t[n]);return e},XF=(e,t)=>{var n={};for(var r in e)vk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ip)for(var r of ip(e))t.indexOf(r)<0&&yk.call(e,r)&&(n[r]=e[r]);return n};const JF={xs:ze(12),sm:ze(16),md:ze(20),lg:ze(28),xl:ze(34)},ZF={size:"sm"},bk=f.forwardRef((e,t)=>{const n=mr("CloseButton",ZF,e),{iconSize:r,size:o,children:s}=n,i=XF(n,["iconSize","size","children"]),u=ze(r||JF[o]);return z.createElement($F,YF({ref:t,__staticSelector:"CloseButton",size:o},i),s||z.createElement(gk,{width:u,height:u}))});bk.displayName="@mantine/core/CloseButton";const xk=bk;var eH=Object.defineProperty,tH=Object.defineProperties,nH=Object.getOwnPropertyDescriptors,zw=Object.getOwnPropertySymbols,rH=Object.prototype.hasOwnProperty,oH=Object.prototype.propertyIsEnumerable,Lw=(e,t,n)=>t in e?eH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Jd=(e,t)=>{for(var n in t||(t={}))rH.call(t,n)&&Lw(e,n,t[n]);if(zw)for(var n of zw(t))oH.call(t,n)&&Lw(e,n,t[n]);return e},sH=(e,t)=>tH(e,nH(t));function aH({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function iH({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function lH(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function cH({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var uH=eo((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:i,gradient:u,weight:d,transform:p,align:h,strikethrough:g,italic:v},{size:b})=>{const S=e.fn.variant({variant:"gradient",gradient:u});return{root:sH(Jd(Jd(Jd(Jd({},e.fn.fontStyles()),e.fn.focusStyles()),lH(n)),cH({theme:e,truncate:r})),{color:iH({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Tt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:aH({underline:i,strikethrough:g}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:S.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const dH=uH;var fH=Object.defineProperty,lp=Object.getOwnPropertySymbols,wk=Object.prototype.hasOwnProperty,Sk=Object.prototype.propertyIsEnumerable,Bw=(e,t,n)=>t in e?fH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pH=(e,t)=>{for(var n in t||(t={}))wk.call(t,n)&&Bw(e,n,t[n]);if(lp)for(var n of lp(t))Sk.call(t,n)&&Bw(e,n,t[n]);return e},hH=(e,t)=>{var n={};for(var r in e)wk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lp)for(var r of lp(e))t.indexOf(r)<0&&Sk.call(e,r)&&(n[r]=e[r]);return n};const mH={variant:"text"},Ck=f.forwardRef((e,t)=>{const n=mr("Text",mH,e),{className:r,size:o,weight:s,transform:i,color:u,align:d,variant:p,lineClamp:h,truncate:g,gradient:v,inline:b,inherit:S,underline:x,strikethrough:C,italic:_,classNames:k,styles:P,unstyled:I,span:E,__staticSelector:O}=n,R=hH(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:D,cx:T}=dH({color:u,lineClamp:h,truncate:g,inline:b,inherit:S,underline:x,strikethrough:C,italic:_,weight:s,transform:i,align:d,gradient:v},{unstyled:I,name:O||"Text",variant:p,size:o});return z.createElement(bo,pH({ref:t,className:T(D.root,{[D.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});Ck.displayName="@mantine/core/Text";const Fl=Ck,Zd={xs:ze(1),sm:ze(2),md:ze(3),lg:ze(4),xl:ze(5)};function ef(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var gH=eo((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:ze(1),borderTop:`${Tt({size:n,sizes:Zd})} ${r} ${ef(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Tt({size:n,sizes:Zd})} ${r} ${ef(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:ze(Tt({size:n,sizes:Zd})),borderTopColor:ef(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:ze(Tt({size:n,sizes:Zd})),borderLeftColor:ef(e,t),borderLeftStyle:r}}));const vH=gH;var yH=Object.defineProperty,bH=Object.defineProperties,xH=Object.getOwnPropertyDescriptors,cp=Object.getOwnPropertySymbols,_k=Object.prototype.hasOwnProperty,kk=Object.prototype.propertyIsEnumerable,Fw=(e,t,n)=>t in e?yH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hw=(e,t)=>{for(var n in t||(t={}))_k.call(t,n)&&Fw(e,n,t[n]);if(cp)for(var n of cp(t))kk.call(t,n)&&Fw(e,n,t[n]);return e},wH=(e,t)=>bH(e,xH(t)),SH=(e,t)=>{var n={};for(var r in e)_k.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&cp)for(var r of cp(e))t.indexOf(r)<0&&kk.call(e,r)&&(n[r]=e[r]);return n};const CH={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},D0=f.forwardRef((e,t)=>{const n=mr("Divider",CH,e),{className:r,color:o,orientation:s,size:i,label:u,labelPosition:d,labelProps:p,variant:h,styles:g,classNames:v,unstyled:b}=n,S=SH(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:x,cx:C}=vH({color:o},{classNames:v,styles:g,unstyled:b,name:"Divider",variant:h,size:i}),_=s==="vertical",k=s==="horizontal",P=!!u&&k,I=!(p!=null&&p.color);return z.createElement(bo,Hw({ref:t,className:C(x.root,{[x.vertical]:_,[x.horizontal]:k,[x.withLabel]:P},r),role:"separator"},S),P&&z.createElement(Fl,wH(Hw({},p),{size:(p==null?void 0:p.size)||"xs",mt:ze(2),className:C(x.label,x[d],{[x.labelDefaultStyles]:I})}),u))});D0.displayName="@mantine/core/Divider";var _H=Object.defineProperty,kH=Object.defineProperties,jH=Object.getOwnPropertyDescriptors,Ww=Object.getOwnPropertySymbols,PH=Object.prototype.hasOwnProperty,IH=Object.prototype.propertyIsEnumerable,Vw=(e,t,n)=>t in e?_H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Uw=(e,t)=>{for(var n in t||(t={}))PH.call(t,n)&&Vw(e,n,t[n]);if(Ww)for(var n of Ww(t))IH.call(t,n)&&Vw(e,n,t[n]);return e},EH=(e,t)=>kH(e,jH(t)),OH=eo((e,t,{size:n})=>({item:EH(Uw({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Tt({size:n,sizes:e.spacing})} / 1.5) ${Tt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Tt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":Uw({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Tt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Tt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Tt({size:n,sizes:e.spacing})} / 1.5) ${Tt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const MH=OH;var RH=Object.defineProperty,Gw=Object.getOwnPropertySymbols,DH=Object.prototype.hasOwnProperty,AH=Object.prototype.propertyIsEnumerable,qw=(e,t,n)=>t in e?RH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TH=(e,t)=>{for(var n in t||(t={}))DH.call(t,n)&&qw(e,n,t[n]);if(Gw)for(var n of Gw(t))AH.call(t,n)&&qw(e,n,t[n]);return e};function E1({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:i,onItemHover:u,onItemSelect:d,itemsRefs:p,itemComponent:h,size:g,nothingFound:v,creatable:b,createLabel:S,unstyled:x,variant:C}){const{classes:_}=MH(null,{classNames:n,styles:r,unstyled:x,name:i,variant:C,size:g}),k=[],P=[];let I=null;const E=(R,D)=>{const T=typeof o=="function"?o(R.value):!1;return z.createElement(h,TH({key:R.value,className:_.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===D||void 0,"data-selected":!R.disabled&&T||void 0,selected:T,onMouseEnter:()=>u(D),id:`${s}-${D}`,role:"option",tabIndex:-1,"aria-selected":t===D,ref:B=>{p&&p.current&&(p.current[R.value]=B)},onMouseDown:R.disabled?null:B=>{B.preventDefault(),d(R)},disabled:R.disabled,variant:C},R))};let O=null;if(e.forEach((R,D)=>{R.creatable?I=D:R.group?(O!==R.group&&(O=R.group,P.push(z.createElement("div",{className:_.separator,key:`__mantine-divider-${D}`},z.createElement(D0,{classNames:{label:_.separatorLabel},label:R.group})))),P.push(E(R,D))):k.push(E(R,D))}),b){const R=e[I];k.push(z.createElement("div",{key:P1(),className:_.item,"data-hovered":t===I||void 0,onMouseEnter:()=>u(I),onMouseDown:D=>{D.preventDefault(),d(R)},tabIndex:-1,ref:D=>{p&&p.current&&(p.current[R.value]=D)}},S))}return P.length>0&&k.length>0&&k.unshift(z.createElement("div",{className:_.separator,key:"empty-group-separator"},z.createElement(D0,null))),P.length>0||k.length>0?z.createElement(z.Fragment,null,P,k):z.createElement(Fl,{size:g,unstyled:x,className:_.nothingFound},v)}E1.displayName="@mantine/core/SelectItems";var NH=Object.defineProperty,up=Object.getOwnPropertySymbols,jk=Object.prototype.hasOwnProperty,Pk=Object.prototype.propertyIsEnumerable,Kw=(e,t,n)=>t in e?NH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$H=(e,t)=>{for(var n in t||(t={}))jk.call(t,n)&&Kw(e,n,t[n]);if(up)for(var n of up(t))Pk.call(t,n)&&Kw(e,n,t[n]);return e},zH=(e,t)=>{var n={};for(var r in e)jk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&up)for(var r of up(e))t.indexOf(r)<0&&Pk.call(e,r)&&(n[r]=e[r]);return n};const O1=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=zH(n,["label","value"]);return z.createElement("div",$H({ref:t},s),r||o)});O1.displayName="@mantine/core/DefaultItem";function LH(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Ik(...e){return t=>e.forEach(n=>LH(n,t))}function Vi(...e){return f.useCallback(Ik(...e),e)}const Ek=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(FH);if(s){const i=s.props.children,u=o.map(d=>d===s?f.Children.count(i)>1?f.Children.only(null):f.isValidElement(i)?i.props.children:null:d);return f.createElement(A0,Xn({},r,{ref:t}),f.isValidElement(i)?f.cloneElement(i,void 0,u):null)}return f.createElement(A0,Xn({},r,{ref:t}),n)});Ek.displayName="Slot";const A0=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...HH(r,n.props),ref:Ik(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});A0.displayName="SlotClone";const BH=({children:e})=>f.createElement(f.Fragment,null,e);function FH(e){return f.isValidElement(e)&&e.type===BH}function HH(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...u)=>{s(...u),o(...u)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const WH=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Wu=WH.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...i}=r,u=s?Ek:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(u,Xn({},i,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),T0=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function VH(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Vu=e=>{const{present:t,children:n}=e,r=UH(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=Vi(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};Vu.displayName="Presence";function UH(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),i=e?"mounted":"unmounted",[u,d]=VH(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=tf(r.current);s.current=u==="mounted"?p:"none"},[u]),T0(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=tf(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),T0(()=>{if(t){const p=g=>{const b=tf(r.current).includes(g.animationName);g.target===t&&b&&nc.flushSync(()=>d("ANIMATION_END"))},h=g=>{g.target===t&&(s.current=tf(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function tf(e){return(e==null?void 0:e.animationName)||"none"}function GH(e,t=[]){let n=[];function r(s,i){const u=f.createContext(i),d=n.length;n=[...n,i];function p(g){const{scope:v,children:b,...S}=g,x=(v==null?void 0:v[e][d])||u,C=f.useMemo(()=>S,Object.values(S));return f.createElement(x.Provider,{value:C},b)}function h(g,v){const b=(v==null?void 0:v[e][d])||u,S=f.useContext(b);if(S)return S;if(i!==void 0)return i;throw new Error(`\`${g}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(i=>f.createContext(i));return function(u){const d=(u==null?void 0:u[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return o.scopeName=e,[r,qH(o,...t)]}function qH(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const i=r.reduce((u,{useScope:d,scopeName:p})=>{const g=d(s)[`__scope${p}`];return{...u,...g}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function xi(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const KH=f.createContext(void 0);function QH(e){const t=f.useContext(KH);return e||t||"ltr"}function YH(e,[t,n]){return Math.min(n,Math.max(t,e))}function ji(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function XH(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Ok="ScrollArea",[Mk,jse]=GH(Ok),[JH,Jo]=Mk(Ok),ZH=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...i}=e,[u,d]=f.useState(null),[p,h]=f.useState(null),[g,v]=f.useState(null),[b,S]=f.useState(null),[x,C]=f.useState(null),[_,k]=f.useState(0),[P,I]=f.useState(0),[E,O]=f.useState(!1),[R,D]=f.useState(!1),T=Vi(t,W=>d(W)),B=QH(o);return f.createElement(JH,{scope:n,type:r,dir:B,scrollHideDelay:s,scrollArea:u,viewport:p,onViewportChange:h,content:g,onContentChange:v,scrollbarX:b,onScrollbarXChange:S,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:x,onScrollbarYChange:C,scrollbarYEnabled:R,onScrollbarYEnabledChange:D,onCornerWidthChange:k,onCornerHeightChange:I},f.createElement(Wu.div,Xn({dir:B},i,{ref:T,style:{position:"relative","--radix-scroll-area-corner-width":_+"px","--radix-scroll-area-corner-height":P+"px",...e.style}})))}),eW="ScrollAreaViewport",tW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=Jo(eW,n),i=f.useRef(null),u=Vi(t,i,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Wu.div,Xn({"data-radix-scroll-area-viewport":""},o,{ref:u,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),ja="ScrollAreaScrollbar",nW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:i}=o,u=e.orientation==="horizontal";return f.useEffect(()=>(u?s(!0):i(!0),()=>{u?s(!1):i(!1)}),[u,s,i]),o.type==="hover"?f.createElement(rW,Xn({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(oW,Xn({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(Rk,Xn({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(M1,Xn({},r,{ref:t})):null}),rW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),[s,i]=f.useState(!1);return f.useEffect(()=>{const u=o.scrollArea;let d=0;if(u){const p=()=>{window.clearTimeout(d),i(!0)},h=()=>{d=window.setTimeout(()=>i(!1),o.scrollHideDelay)};return u.addEventListener("pointerenter",p),u.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),u.removeEventListener("pointerenter",p),u.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement(Vu,{present:n||s},f.createElement(Rk,Xn({"data-state":s?"visible":"hidden"},r,{ref:t})))}),oW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),s=e.orientation==="horizontal",i=Sh(()=>d("SCROLL_END"),100),[u,d]=XH("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(u==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[u,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let g=p[h];const v=()=>{const b=p[h];g!==b&&(d("SCROLL"),i()),g=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,i]),f.createElement(Vu,{present:n||u!=="hidden"},f.createElement(M1,Xn({"data-state":u==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:ji(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:ji(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),Rk=f.forwardRef((e,t)=>{const n=Jo(ja,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,i]=f.useState(!1),u=e.orientation==="horizontal",d=Sh(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=Jo(ja,e.__scopeScrollArea),s=f.useRef(null),i=f.useRef(0),[u,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=Nk(u.viewport,u.content),h={...r,sizes:u,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:v=>i.current=v};function g(v,b){return fW(v,i.current,u,b)}return n==="horizontal"?f.createElement(sW,Xn({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=Qw(v,u,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=g(v,o.dir))}})):n==="vertical"?f.createElement(aW,Xn({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=Qw(v,u);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=g(v))}})):null}),sW=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=Jo(ja,e.__scopeScrollArea),[i,u]=f.useState(),d=f.useRef(null),p=Vi(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),f.createElement(Ak,Xn({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":wh(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,g)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),zk(v,g)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:dp(i.paddingLeft),paddingEnd:dp(i.paddingRight)}})}}))}),aW=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=Jo(ja,e.__scopeScrollArea),[i,u]=f.useState(),d=f.useRef(null),p=Vi(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),f.createElement(Ak,Xn({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":wh(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,g)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),zk(v,g)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:dp(i.paddingTop),paddingEnd:dp(i.paddingBottom)}})}}))}),[iW,Dk]=Mk(ja),Ak=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:i,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:g,...v}=e,b=Jo(ja,n),[S,x]=f.useState(null),C=Vi(t,T=>x(T)),_=f.useRef(null),k=f.useRef(""),P=b.viewport,I=r.content-r.viewport,E=xi(h),O=xi(d),R=Sh(g,10);function D(T){if(_.current){const B=T.clientX-_.current.left,W=T.clientY-_.current.top;p({x:B,y:W})}}return f.useEffect(()=>{const T=B=>{const W=B.target;(S==null?void 0:S.contains(W))&&E(B,I)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[P,S,I,E]),f.useEffect(O,[r,O]),Hl(S,R),Hl(b.content,R),f.createElement(iW,{scope:n,scrollbar:S,hasThumb:o,onThumbChange:xi(s),onThumbPointerUp:xi(i),onThumbPositionChange:O,onThumbPointerDown:xi(u)},f.createElement(Wu.div,Xn({},v,{ref:C,style:{position:"absolute",...v.style},onPointerDown:ji(e.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),_.current=S.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",D(T))}),onPointerMove:ji(e.onPointerMove,D),onPointerUp:ji(e.onPointerUp,T=>{const B=T.target;B.hasPointerCapture(T.pointerId)&&B.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=k.current,_.current=null})})))}),N0="ScrollAreaThumb",lW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Dk(N0,e.__scopeScrollArea);return f.createElement(Vu,{present:n||o.hasThumb},f.createElement(cW,Xn({ref:t},r)))}),cW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=Jo(N0,n),i=Dk(N0,n),{onThumbPositionChange:u}=i,d=Vi(t,g=>i.onThumbChange(g)),p=f.useRef(),h=Sh(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const g=s.viewport;if(g){const v=()=>{if(h(),!p.current){const b=pW(g,u);p.current=b,u()}};return u(),g.addEventListener("scroll",v),()=>g.removeEventListener("scroll",v)}},[s.viewport,h,u]),f.createElement(Wu.div,Xn({"data-state":i.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:ji(e.onPointerDownCapture,g=>{const b=g.target.getBoundingClientRect(),S=g.clientX-b.left,x=g.clientY-b.top;i.onThumbPointerDown({x:S,y:x})}),onPointerUp:ji(e.onPointerUp,i.onThumbPointerUp)}))}),Tk="ScrollAreaCorner",uW=f.forwardRef((e,t)=>{const n=Jo(Tk,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(dW,Xn({},e,{ref:t})):null}),dW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=Jo(Tk,n),[s,i]=f.useState(0),[u,d]=f.useState(0),p=!!(s&&u);return Hl(o.scrollbarX,()=>{var h;const g=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(g),d(g)}),Hl(o.scrollbarY,()=>{var h;const g=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(g),i(g)}),p?f.createElement(Wu.div,Xn({},r,{ref:t,style:{width:s,height:u,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function dp(e){return e?parseInt(e,10):0}function Nk(e,t){const n=e/t;return isNaN(n)?0:n}function wh(e){const t=Nk(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function fW(e,t,n,r="ltr"){const o=wh(n),s=o/2,i=t||s,u=o-i,d=n.scrollbar.paddingStart+i,p=n.scrollbar.size-n.scrollbar.paddingEnd-u,h=n.content-n.viewport,g=r==="ltr"?[0,h]:[h*-1,0];return $k([d,p],g)(e)}function Qw(e,t,n="ltr"){const r=wh(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,i=t.content-t.viewport,u=s-r,d=n==="ltr"?[0,i]:[i*-1,0],p=YH(e,d);return $k([0,i],[0,u])(p)}function $k(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function zk(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},i=n.left!==s.left,u=n.top!==s.top;(i||u)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Sh(e,t){const n=xi(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Hl(e,t){const n=xi(t);T0(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const hW=ZH,mW=tW,Yw=nW,Xw=lW,gW=uW;var vW=eo((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?ze(t):void 0,paddingBottom:n?ze(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${ze(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${nw("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:ze(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:ze(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:nw("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:ze(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:ze(44),minHeight:ze(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const yW=vW;var bW=Object.defineProperty,xW=Object.defineProperties,wW=Object.getOwnPropertyDescriptors,fp=Object.getOwnPropertySymbols,Lk=Object.prototype.hasOwnProperty,Bk=Object.prototype.propertyIsEnumerable,Jw=(e,t,n)=>t in e?bW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$0=(e,t)=>{for(var n in t||(t={}))Lk.call(t,n)&&Jw(e,n,t[n]);if(fp)for(var n of fp(t))Bk.call(t,n)&&Jw(e,n,t[n]);return e},Fk=(e,t)=>xW(e,wW(t)),Hk=(e,t)=>{var n={};for(var r in e)Lk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fp)for(var r of fp(e))t.indexOf(r)<0&&Bk.call(e,r)&&(n[r]=e[r]);return n};const Wk={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Ch=f.forwardRef((e,t)=>{const n=mr("ScrollArea",Wk,e),{children:r,className:o,classNames:s,styles:i,scrollbarSize:u,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:g,viewportRef:v,onScrollPositionChange:b,unstyled:S,variant:x,viewportProps:C}=n,_=Hk(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[k,P]=f.useState(!1),I=_a(),{classes:E,cx:O}=yW({scrollbarSize:u,offsetScrollbars:g,scrollbarHovered:k,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:i,unstyled:S,variant:x});return z.createElement(hW,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},z.createElement(bo,$0({className:O(E.root,o)},_),z.createElement(mW,Fk($0({},C),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),z.createElement(Yw,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},z.createElement(Xw,{className:E.thumb})),z.createElement(Yw,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},z.createElement(Xw,{className:E.thumb})),z.createElement(gW,{className:E.corner})))}),Vk=f.forwardRef((e,t)=>{const n=mr("ScrollAreaAutosize",Wk,e),{children:r,classNames:o,styles:s,scrollbarSize:i,scrollHideDelay:u,type:d,dir:p,offsetScrollbars:h,viewportRef:g,onScrollPositionChange:v,unstyled:b,sx:S,variant:x,viewportProps:C}=n,_=Hk(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return z.createElement(bo,Fk($0({},_),{ref:t,sx:[{display:"flex"},...M_(S)]}),z.createElement(bo,{sx:{display:"flex",flexDirection:"column",flex:1}},z.createElement(Ch,{classNames:o,styles:s,scrollHideDelay:u,scrollbarSize:i,type:d,dir:p,offsetScrollbars:h,viewportRef:g,onScrollPositionChange:v,unstyled:b,variant:x,viewportProps:C},r)))});Vk.displayName="@mantine/core/ScrollAreaAutosize";Ch.displayName="@mantine/core/ScrollArea";Ch.Autosize=Vk;const Uk=Ch;var SW=Object.defineProperty,CW=Object.defineProperties,_W=Object.getOwnPropertyDescriptors,pp=Object.getOwnPropertySymbols,Gk=Object.prototype.hasOwnProperty,qk=Object.prototype.propertyIsEnumerable,Zw=(e,t,n)=>t in e?SW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eS=(e,t)=>{for(var n in t||(t={}))Gk.call(t,n)&&Zw(e,n,t[n]);if(pp)for(var n of pp(t))qk.call(t,n)&&Zw(e,n,t[n]);return e},kW=(e,t)=>CW(e,_W(t)),jW=(e,t)=>{var n={};for(var r in e)Gk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&pp)for(var r of pp(e))t.indexOf(r)<0&&qk.call(e,r)&&(n[r]=e[r]);return n};const _h=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=jW(n,["style"]);return z.createElement(Uk,kW(eS({},o),{style:eS({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});_h.displayName="@mantine/core/SelectScrollArea";var PW=eo(()=>({dropdown:{},itemsWrapper:{padding:ze(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const IW=PW;function uc(e){return e.split("-")[1]}function R1(e){return e==="y"?"height":"width"}function hs(e){return e.split("-")[0]}function si(e){return["top","bottom"].includes(hs(e))?"x":"y"}function tS(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,i=r.y+r.height/2-o.height/2,u=si(t),d=R1(u),p=r[d]/2-o[d]/2,h=u==="x";let g;switch(hs(t)){case"top":g={x:s,y:r.y-o.height};break;case"bottom":g={x:s,y:r.y+r.height};break;case"right":g={x:r.x+r.width,y:i};break;case"left":g={x:r.x-o.width,y:i};break;default:g={x:r.x,y:r.y}}switch(uc(t)){case"start":g[u]-=p*(n&&h?-1:1);break;case"end":g[u]+=p*(n&&h?-1:1)}return g}const EW=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:i}=n,u=s.filter(Boolean),d=await(i.isRTL==null?void 0:i.isRTL(t));let p=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:g}=tS(p,r,d),v=r,b={},S=0;for(let x=0;x({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:i,elements:u}=t,{element:d,padding:p=0}=wa(e,t)||{};if(d==null)return{};const h=D1(p),g={x:n,y:r},v=si(o),b=R1(v),S=await i.getDimensions(d),x=v==="y",C=x?"top":"left",_=x?"bottom":"right",k=x?"clientHeight":"clientWidth",P=s.reference[b]+s.reference[v]-g[v]-s.floating[b],I=g[v]-s.reference[v],E=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let O=E?E[k]:0;O&&await(i.isElement==null?void 0:i.isElement(E))||(O=u.floating[k]||s.floating[b]);const R=P/2-I/2,D=O/2-S[b]/2-1,T=ei(h[C],D),B=ei(h[_],D),W=T,J=O-S[b]-B,F=O/2-S[b]/2+R,N=z0(W,F,J),G=uc(o)!=null&&F!=N&&s.reference[b]/2-(Fe.concat(t,t+"-start",t+"-end"),[]);const MW={left:"right",right:"left",bottom:"top",top:"bottom"};function hp(e){return e.replace(/left|right|bottom|top/g,t=>MW[t])}function RW(e,t,n){n===void 0&&(n=!1);const r=uc(e),o=si(e),s=R1(o);let i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=hp(i)),{main:i,cross:hp(i)}}const DW={start:"end",end:"start"};function Eg(e){return e.replace(/start|end/g,t=>DW[t])}const AW=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:i,platform:u,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:g,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:S=!0,...x}=wa(e,t),C=hs(r),_=hs(i)===i,k=await(u.isRTL==null?void 0:u.isRTL(d.floating)),P=g||(_||!S?[hp(i)]:function(W){const J=hp(W);return[Eg(W),J,Eg(J)]}(i));g||b==="none"||P.push(...function(W,J,F,N){const G=uc(W);let K=function(M,U,V){const ee=["left","right"],ie=["right","left"],xe=["top","bottom"],me=["bottom","top"];switch(M){case"top":case"bottom":return V?U?ie:ee:U?ee:ie;case"left":case"right":return U?xe:me;default:return[]}}(hs(W),F==="start",N);return G&&(K=K.map(M=>M+"-"+G),J&&(K=K.concat(K.map(Eg)))),K}(i,S,b,k));const I=[i,...P],E=await A1(t,x),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[C]),h){const{main:W,cross:J}=RW(r,s,k);O.push(E[W],E[J])}if(R=[...R,{placement:r,overflows:O}],!O.every(W=>W<=0)){var D,T;const W=(((D=o.flip)==null?void 0:D.index)||0)+1,J=I[W];if(J)return{data:{index:W,overflows:R},reset:{placement:J}};let F=(T=R.filter(N=>N.overflows[0]<=0).sort((N,G)=>N.overflows[1]-G.overflows[1])[0])==null?void 0:T.placement;if(!F)switch(v){case"bestFit":{var B;const N=(B=R.map(G=>[G.placement,G.overflows.filter(K=>K>0).reduce((K,M)=>K+M,0)]).sort((G,K)=>G[1]-K[1])[0])==null?void 0:B[0];N&&(F=N);break}case"initialPlacement":F=i}if(r!==F)return{reset:{placement:F}}}return{}}}};function rS(e){const t=ei(...e.map(r=>r.left)),n=ei(...e.map(r=>r.top));return{x:t,y:n,width:Ns(...e.map(r=>r.right))-t,height:Ns(...e.map(r=>r.bottom))-n}}const TW=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:i}=t,{padding:u=2,x:d,y:p}=wa(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),g=function(x){const C=x.slice().sort((P,I)=>P.y-I.y),_=[];let k=null;for(let P=0;Pk.height/2?_.push([I]):_[_.length-1].push(I),k=I}return _.map(P=>Wl(rS(P)))}(h),v=Wl(rS(h)),b=D1(u),S=await s.getElementRects({reference:{getBoundingClientRect:function(){if(g.length===2&&g[0].left>g[1].right&&d!=null&&p!=null)return g.find(x=>d>x.left-b.left&&dx.top-b.top&&p=2){if(si(n)==="x"){const E=g[0],O=g[g.length-1],R=hs(n)==="top",D=E.top,T=O.bottom,B=R?E.left:O.left,W=R?E.right:O.right;return{top:D,bottom:T,left:B,right:W,width:W-B,height:T-D,x:B,y:D}}const x=hs(n)==="left",C=Ns(...g.map(E=>E.right)),_=ei(...g.map(E=>E.left)),k=g.filter(E=>x?E.left===_:E.right===C),P=k[0].top,I=k[k.length-1].bottom;return{top:P,bottom:I,left:_,right:C,width:C-_,height:I-P,x:_,y:P}}return v}},floating:r.floating,strategy:i});return o.reference.x!==S.reference.x||o.reference.y!==S.reference.y||o.reference.width!==S.reference.width||o.reference.height!==S.reference.height?{reset:{rects:S}}:{}}}},NW=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,i){const{placement:u,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),g=hs(u),v=uc(u),b=si(u)==="x",S=["left","top"].includes(g)?-1:1,x=h&&b?-1:1,C=wa(i,s);let{mainAxis:_,crossAxis:k,alignmentAxis:P}=typeof C=="number"?{mainAxis:C,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...C};return v&&typeof P=="number"&&(k=v==="end"?-1*P:P),b?{x:k*x,y:_*S}:{x:_*S,y:k*x}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function Kk(e){return e==="x"?"y":"x"}const $W=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:i=!1,limiter:u={fn:C=>{let{x:_,y:k}=C;return{x:_,y:k}}},...d}=wa(e,t),p={x:n,y:r},h=await A1(t,d),g=si(hs(o)),v=Kk(g);let b=p[g],S=p[v];if(s){const C=g==="y"?"bottom":"right";b=z0(b+h[g==="y"?"top":"left"],b,b-h[C])}if(i){const C=v==="y"?"bottom":"right";S=z0(S+h[v==="y"?"top":"left"],S,S-h[C])}const x=u.fn({...t,[g]:b,[v]:S});return{...x,data:{x:x.x-n,y:x.y-r}}}}},zW=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:i}=t,{offset:u=0,mainAxis:d=!0,crossAxis:p=!0}=wa(e,t),h={x:n,y:r},g=si(o),v=Kk(g);let b=h[g],S=h[v];const x=wa(u,t),C=typeof x=="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(d){const P=g==="y"?"height":"width",I=s.reference[g]-s.floating[P]+C.mainAxis,E=s.reference[g]+s.reference[P]-C.mainAxis;bE&&(b=E)}if(p){var _,k;const P=g==="y"?"width":"height",I=["top","left"].includes(hs(o)),E=s.reference[v]-s.floating[P]+(I&&((_=i.offset)==null?void 0:_[v])||0)+(I?0:C.crossAxis),O=s.reference[v]+s.reference[P]+(I?0:((k=i.offset)==null?void 0:k[v])||0)-(I?C.crossAxis:0);SO&&(S=O)}return{[g]:b,[v]:S}}}},LW=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:i=()=>{},...u}=wa(e,t),d=await A1(t,u),p=hs(n),h=uc(n),g=si(n)==="x",{width:v,height:b}=r.floating;let S,x;p==="top"||p==="bottom"?(S=p,x=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(x=p,S=h==="end"?"top":"bottom");const C=b-d[S],_=v-d[x],k=!t.middlewareData.shift;let P=C,I=_;if(g){const O=v-d.left-d.right;I=h||k?ei(_,O):O}else{const O=b-d.top-d.bottom;P=h||k?ei(C,O):O}if(k&&!h){const O=Ns(d.left,0),R=Ns(d.right,0),D=Ns(d.top,0),T=Ns(d.bottom,0);g?I=v-2*(O!==0||R!==0?O+R:Ns(d.left,d.right)):P=b-2*(D!==0||T!==0?D+T:Ns(d.top,d.bottom))}await i({...t,availableWidth:I,availableHeight:P});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function Oo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Gs(e){return Oo(e).getComputedStyle(e)}function Qk(e){return e instanceof Oo(e).Node}function ti(e){return Qk(e)?(e.nodeName||"").toLowerCase():"#document"}function bs(e){return e instanceof HTMLElement||e instanceof Oo(e).HTMLElement}function oS(e){return typeof ShadowRoot<"u"&&(e instanceof Oo(e).ShadowRoot||e instanceof ShadowRoot)}function mu(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Gs(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function BW(e){return["table","td","th"].includes(ti(e))}function L0(e){const t=T1(),n=Gs(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function T1(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function kh(e){return["html","body","#document"].includes(ti(e))}const B0=Math.min,Tl=Math.max,mp=Math.round,nf=Math.floor,ni=e=>({x:e,y:e});function Yk(e){const t=Gs(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=bs(e),s=o?e.offsetWidth:n,i=o?e.offsetHeight:r,u=mp(n)!==s||mp(r)!==i;return u&&(n=s,r=i),{width:n,height:r,$:u}}function fa(e){return e instanceof Element||e instanceof Oo(e).Element}function N1(e){return fa(e)?e:e.contextElement}function Nl(e){const t=N1(e);if(!bs(t))return ni(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=Yk(t);let i=(s?mp(n.width):n.width)/r,u=(s?mp(n.height):n.height)/o;return i&&Number.isFinite(i)||(i=1),u&&Number.isFinite(u)||(u=1),{x:i,y:u}}const FW=ni(0);function Xk(e){const t=Oo(e);return T1()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:FW}function Ni(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=N1(e);let i=ni(1);t&&(r?fa(r)&&(i=Nl(r)):i=Nl(e));const u=function(v,b,S){return b===void 0&&(b=!1),!(!S||b&&S!==Oo(v))&&b}(s,n,r)?Xk(s):ni(0);let d=(o.left+u.x)/i.x,p=(o.top+u.y)/i.y,h=o.width/i.x,g=o.height/i.y;if(s){const v=Oo(s),b=r&&fa(r)?Oo(r):r;let S=v.frameElement;for(;S&&r&&b!==v;){const x=Nl(S),C=S.getBoundingClientRect(),_=getComputedStyle(S),k=C.left+(S.clientLeft+parseFloat(_.paddingLeft))*x.x,P=C.top+(S.clientTop+parseFloat(_.paddingTop))*x.y;d*=x.x,p*=x.y,h*=x.x,g*=x.y,d+=k,p+=P,S=Oo(S).frameElement}}return Wl({width:h,height:g,x:d,y:p})}function jh(e){return fa(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function pa(e){var t;return(t=(Qk(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Jk(e){return Ni(pa(e)).left+jh(e).scrollLeft}function Vl(e){if(ti(e)==="html")return e;const t=e.assignedSlot||e.parentNode||oS(e)&&e.host||pa(e);return oS(t)?t.host:t}function Zk(e){const t=Vl(e);return kh(t)?e.ownerDocument?e.ownerDocument.body:e.body:bs(t)&&mu(t)?t:Zk(t)}function gp(e,t){var n;t===void 0&&(t=[]);const r=Zk(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Oo(r);return o?t.concat(s,s.visualViewport||[],mu(r)?r:[]):t.concat(r,gp(r))}function sS(e,t,n){let r;if(t==="viewport")r=function(o,s){const i=Oo(o),u=pa(o),d=i.visualViewport;let p=u.clientWidth,h=u.clientHeight,g=0,v=0;if(d){p=d.width,h=d.height;const b=T1();(!b||b&&s==="fixed")&&(g=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:g,y:v}}(e,n);else if(t==="document")r=function(o){const s=pa(o),i=jh(o),u=o.ownerDocument.body,d=Tl(s.scrollWidth,s.clientWidth,u.scrollWidth,u.clientWidth),p=Tl(s.scrollHeight,s.clientHeight,u.scrollHeight,u.clientHeight);let h=-i.scrollLeft+Jk(o);const g=-i.scrollTop;return Gs(u).direction==="rtl"&&(h+=Tl(s.clientWidth,u.clientWidth)-d),{width:d,height:p,x:h,y:g}}(pa(e));else if(fa(t))r=function(o,s){const i=Ni(o,!0,s==="fixed"),u=i.top+o.clientTop,d=i.left+o.clientLeft,p=bs(o)?Nl(o):ni(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:u*p.y}}(t,n);else{const o=Xk(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return Wl(r)}function ej(e,t){const n=Vl(e);return!(n===t||!fa(n)||kh(n))&&(Gs(n).position==="fixed"||ej(n,t))}function HW(e,t,n){const r=bs(t),o=pa(t),s=n==="fixed",i=Ni(e,!0,s,t);let u={scrollLeft:0,scrollTop:0};const d=ni(0);if(r||!r&&!s)if((ti(t)!=="body"||mu(o))&&(u=jh(t)),bs(t)){const p=Ni(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=Jk(o));return{x:i.left+u.scrollLeft-d.x,y:i.top+u.scrollTop-d.y,width:i.width,height:i.height}}function aS(e,t){return bs(e)&&Gs(e).position!=="fixed"?t?t(e):e.offsetParent:null}function iS(e,t){const n=Oo(e);if(!bs(e))return n;let r=aS(e,t);for(;r&&BW(r)&&Gs(r).position==="static";)r=aS(r,t);return r&&(ti(r)==="html"||ti(r)==="body"&&Gs(r).position==="static"&&!L0(r))?n:r||function(o){let s=Vl(o);for(;bs(s)&&!kh(s);){if(L0(s))return s;s=Vl(s)}return null}(e)||n}const WW={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=bs(n),s=pa(n);if(n===s)return t;let i={scrollLeft:0,scrollTop:0},u=ni(1);const d=ni(0);if((o||!o&&r!=="fixed")&&((ti(n)!=="body"||mu(s))&&(i=jh(n)),bs(n))){const p=Ni(n);u=Nl(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*u.x,height:t.height*u.y,x:t.x*u.x-i.scrollLeft*u.x+d.x,y:t.y*u.y-i.scrollTop*u.y+d.y}},getDocumentElement:pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let g=gp(d).filter(x=>fa(x)&&ti(x)!=="body"),v=null;const b=Gs(d).position==="fixed";let S=b?Vl(d):d;for(;fa(S)&&!kh(S);){const x=Gs(S),C=L0(S);C||x.position!=="fixed"||(v=null),(b?!C&&!v:!C&&x.position==="static"&&v&&["absolute","fixed"].includes(v.position)||mu(S)&&!C&&ej(d,S))?g=g.filter(_=>_!==S):v=x,S=Vl(S)}return p.set(d,g),g}(t,this._c):[].concat(n),r],i=s[0],u=s.reduce((d,p)=>{const h=sS(t,p,o);return d.top=Tl(h.top,d.top),d.right=B0(h.right,d.right),d.bottom=B0(h.bottom,d.bottom),d.left=Tl(h.left,d.left),d},sS(t,i,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:iS,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||iS,s=this.getDimensions;return{reference:HW(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return Yk(e)},getScale:Nl,isElement:fa,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function VW(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=N1(e),h=o||s?[...p?gp(p):[],...gp(t)]:[];h.forEach(C=>{o&&C.addEventListener("scroll",n,{passive:!0}),s&&C.addEventListener("resize",n)});const g=p&&u?function(C,_){let k,P=null;const I=pa(C);function E(){clearTimeout(k),P&&P.disconnect(),P=null}return function O(R,D){R===void 0&&(R=!1),D===void 0&&(D=1),E();const{left:T,top:B,width:W,height:J}=C.getBoundingClientRect();if(R||_(),!W||!J)return;const F={rootMargin:-nf(B)+"px "+-nf(I.clientWidth-(T+W))+"px "+-nf(I.clientHeight-(B+J))+"px "+-nf(T)+"px",threshold:Tl(0,B0(1,D))||1};let N=!0;function G(K){const M=K[0].intersectionRatio;if(M!==D){if(!N)return O();M?O(!1,M):k=setTimeout(()=>{O(!1,1e-7)},100)}N=!1}try{P=new IntersectionObserver(G,{...F,root:I.ownerDocument})}catch{P=new IntersectionObserver(G,F)}P.observe(C)}(!0),E}(p,n):null;let v,b=-1,S=null;i&&(S=new ResizeObserver(C=>{let[_]=C;_&&_.target===p&&S&&(S.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{S&&S.observe(t)})),n()}),p&&!d&&S.observe(p),S.observe(t));let x=d?Ni(e):null;return d&&function C(){const _=Ni(e);!x||_.x===x.x&&_.y===x.y&&_.width===x.width&&_.height===x.height||n(),x=_,v=requestAnimationFrame(C)}(),n(),()=>{h.forEach(C=>{o&&C.removeEventListener("scroll",n),s&&C.removeEventListener("resize",n)}),g&&g(),S&&S.disconnect(),S=null,d&&cancelAnimationFrame(v)}}const UW=(e,t,n)=>{const r=new Map,o={platform:WW,...n},s={...o.platform,_c:r};return EW(e,t,{...o,platform:s})},GW=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?nS({element:t.current,padding:n}).fn(o):{}:t?nS({element:t,padding:n}).fn(o):{}}}};var Sf=typeof document<"u"?f.useLayoutEffect:f.useEffect;function vp(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!vp(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!vp(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function lS(e){const t=f.useRef(e);return Sf(()=>{t.current=e}),t}function qW(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:i}=e,[u,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);vp(p,r)||h(r);const g=f.useRef(null),v=f.useRef(null),b=f.useRef(u),S=lS(s),x=lS(o),[C,_]=f.useState(null),[k,P]=f.useState(null),I=f.useCallback(B=>{g.current!==B&&(g.current=B,_(B))},[]),E=f.useCallback(B=>{v.current!==B&&(v.current=B,P(B))},[]),O=f.useCallback(()=>{if(!g.current||!v.current)return;const B={placement:t,strategy:n,middleware:p};x.current&&(B.platform=x.current),UW(g.current,v.current,B).then(W=>{const J={...W,isPositioned:!0};R.current&&!vp(b.current,J)&&(b.current=J,nc.flushSync(()=>{d(J)}))})},[p,t,n,x]);Sf(()=>{i===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(B=>({...B,isPositioned:!1})))},[i]);const R=f.useRef(!1);Sf(()=>(R.current=!0,()=>{R.current=!1}),[]),Sf(()=>{if(C&&k){if(S.current)return S.current(C,k,O);O()}},[C,k,O,S]);const D=f.useMemo(()=>({reference:g,floating:v,setReference:I,setFloating:E}),[I,E]),T=f.useMemo(()=>({reference:C,floating:k}),[C,k]);return f.useMemo(()=>({...u,update:O,refs:D,elements:T,reference:I,floating:E}),[u,O,D,T,I,E])}var KW=typeof document<"u"?f.useLayoutEffect:f.useEffect;function QW(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const YW=f.createContext(null),XW=()=>f.useContext(YW);function JW(e){return(e==null?void 0:e.ownerDocument)||document}function ZW(e){return JW(e).defaultView||window}function rf(e){return e?e instanceof ZW(e).Element:!1}const eV=fv["useInsertionEffect".toString()],tV=eV||(e=>e());function nV(e){const t=f.useRef(()=>{});return tV(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oQW())[0],[p,h]=f.useState(null),g=f.useCallback(_=>{const k=rf(_)?{getBoundingClientRect:()=>_.getBoundingClientRect(),contextElement:_}:_;o.refs.setReference(k)},[o.refs]),v=f.useCallback(_=>{(rf(_)||_===null)&&(i.current=_,h(_)),(rf(o.refs.reference.current)||o.refs.reference.current===null||_!==null&&!rf(_))&&o.refs.setReference(_)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:g,domReference:i}),[o.refs,v,g]),S=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),x=nV(n),C=f.useMemo(()=>({...o,refs:b,elements:S,dataRef:u,nodeId:r,events:d,open:t,onOpenChange:x}),[o,r,d,t,x,b,S]);return KW(()=>{const _=s==null?void 0:s.nodesRef.current.find(k=>k.id===r);_&&(_.context=C)}),f.useMemo(()=>({...o,context:C,refs:b,reference:v,positionReference:g}),[o,b,C,v,g])}function oV({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return VW(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),ps(()=>{t.update()},r),ps(()=>{s(i=>i+1)},[e])}function sV(e){const t=[NW(e.offset)];return e.middlewares.shift&&t.push($W({limiter:zW()})),e.middlewares.flip&&t.push(AW()),e.middlewares.inline&&t.push(TW()),t.push(GW({element:e.arrowRef,padding:e.arrowOffset})),t}function aV(e){const[t,n]=hu({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var i;(i=e.onClose)==null||i.call(e),n(!1)},o=()=>{var i,u;t?((i=e.onClose)==null||i.call(e),n(!1)):((u=e.onOpen)==null||u.call(e),n(!0))},s=rV({placement:e.position,middleware:[...sV(e),...e.width==="target"?[LW({apply({rects:i}){var u,d;Object.assign((d=(u=s.refs.floating.current)==null?void 0:u.style)!=null?d:{},{width:`${i.reference.width}px`})}})]:[]]});return oV({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),ps(()=>{var i;(i=e.onPositionChange)==null||i.call(e,s.placement)},[s.placement]),ps(()=>{var i,u;e.opened?(u=e.onOpen)==null||u.call(e):(i=e.onClose)==null||i.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const tj={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[iV,nj]=KL(tj.context);var lV=Object.defineProperty,cV=Object.defineProperties,uV=Object.getOwnPropertyDescriptors,yp=Object.getOwnPropertySymbols,rj=Object.prototype.hasOwnProperty,oj=Object.prototype.propertyIsEnumerable,cS=(e,t,n)=>t in e?lV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,of=(e,t)=>{for(var n in t||(t={}))rj.call(t,n)&&cS(e,n,t[n]);if(yp)for(var n of yp(t))oj.call(t,n)&&cS(e,n,t[n]);return e},dV=(e,t)=>cV(e,uV(t)),fV=(e,t)=>{var n={};for(var r in e)rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yp)for(var r of yp(e))t.indexOf(r)<0&&oj.call(e,r)&&(n[r]=e[r]);return n};const pV={refProp:"ref",popupType:"dialog"},sj=f.forwardRef((e,t)=>{const n=mr("PopoverTarget",pV,e),{children:r,refProp:o,popupType:s}=n,i=fV(n,["children","refProp","popupType"]);if(!D_(r))throw new Error(tj.children);const u=i,d=nj(),p=Hu(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,of(dV(of(of(of({},u),h),d.targetProps),{className:T_(d.targetProps.className,u.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});sj.displayName="@mantine/core/PopoverTarget";var hV=eo((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const mV=hV;var gV=Object.defineProperty,uS=Object.getOwnPropertySymbols,vV=Object.prototype.hasOwnProperty,yV=Object.prototype.propertyIsEnumerable,dS=(e,t,n)=>t in e?gV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hl=(e,t)=>{for(var n in t||(t={}))vV.call(t,n)&&dS(e,n,t[n]);if(uS)for(var n of uS(t))yV.call(t,n)&&dS(e,n,t[n]);return e};const fS={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function bV({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Yd?hl(hl(hl({transitionProperty:Yd[e].transitionProperty},o),Yd[e].common),Yd[e][fS[t]]):null:hl(hl(hl({transitionProperty:e.transitionProperty},o),e.common),e[fS[t]])}function xV({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:i,onExited:u}){const d=_a(),p=H_(),h=d.respectReducedMotion?p:!1,[g,v]=f.useState(h?0:e),[b,S]=f.useState(r?"entered":"exited"),x=f.useRef(-1),C=_=>{const k=_?o:s,P=_?i:u;S(_?"pre-entering":"pre-exiting"),window.clearTimeout(x.current);const I=h?0:_?e:t;if(v(I),I===0)typeof k=="function"&&k(),typeof P=="function"&&P(),S(_?"entered":"exited");else{const E=window.setTimeout(()=>{typeof k=="function"&&k(),S(_?"entering":"exiting")},10);x.current=window.setTimeout(()=>{window.clearTimeout(E),typeof P=="function"&&P(),S(_?"entered":"exited")},I)}};return ps(()=>{C(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(x.current),[]),{transitionDuration:g,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function aj({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:i,onExit:u,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:g,transitionStatus:v,transitionTimingFunction:b}=xV({mounted:o,exitDuration:r,duration:n,timingFunction:i,onExit:u,onEntered:d,onEnter:p,onExited:h});return g===0?o?z.createElement(z.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:z.createElement(z.Fragment,null,s(bV({transition:t,duration:g,state:v,timingFunction:b})))}aj.displayName="@mantine/core/Transition";function ij({children:e,active:t=!0,refProp:n="ref"}){const r=IB(t),o=Hu(r,e==null?void 0:e.ref);return D_(e)?f.cloneElement(e,{[n]:o}):e}ij.displayName="@mantine/core/FocusTrap";var wV=Object.defineProperty,SV=Object.defineProperties,CV=Object.getOwnPropertyDescriptors,pS=Object.getOwnPropertySymbols,_V=Object.prototype.hasOwnProperty,kV=Object.prototype.propertyIsEnumerable,hS=(e,t,n)=>t in e?wV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Na=(e,t)=>{for(var n in t||(t={}))_V.call(t,n)&&hS(e,n,t[n]);if(pS)for(var n of pS(t))kV.call(t,n)&&hS(e,n,t[n]);return e},sf=(e,t)=>SV(e,CV(t));function mS(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function gS(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const jV={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function PV({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:i,dir:u}){const[d,p="center"]=e.split("-"),h={width:ze(t),height:ze(t),transform:"rotate(45deg)",position:"absolute",[jV[d]]:ze(r)},g=ze(-t/2);return d==="left"?sf(Na(Na({},h),mS(p,i,n,o)),{right:g,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?sf(Na(Na({},h),mS(p,i,n,o)),{left:g,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?sf(Na(Na({},h),gS(p,s,n,o,u)),{bottom:g,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?sf(Na(Na({},h),gS(p,s,n,o,u)),{top:g,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var IV=Object.defineProperty,EV=Object.defineProperties,OV=Object.getOwnPropertyDescriptors,bp=Object.getOwnPropertySymbols,lj=Object.prototype.hasOwnProperty,cj=Object.prototype.propertyIsEnumerable,vS=(e,t,n)=>t in e?IV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MV=(e,t)=>{for(var n in t||(t={}))lj.call(t,n)&&vS(e,n,t[n]);if(bp)for(var n of bp(t))cj.call(t,n)&&vS(e,n,t[n]);return e},RV=(e,t)=>EV(e,OV(t)),DV=(e,t)=>{var n={};for(var r in e)lj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bp)for(var r of bp(e))t.indexOf(r)<0&&cj.call(e,r)&&(n[r]=e[r]);return n};const uj=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:i,arrowPosition:u,visible:d,arrowX:p,arrowY:h}=n,g=DV(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=_a();return d?z.createElement("div",RV(MV({},g),{ref:t,style:PV({position:r,arrowSize:o,arrowOffset:s,arrowRadius:i,arrowPosition:u,dir:v.dir,arrowX:p,arrowY:h})})):null});uj.displayName="@mantine/core/FloatingArrow";var AV=Object.defineProperty,TV=Object.defineProperties,NV=Object.getOwnPropertyDescriptors,xp=Object.getOwnPropertySymbols,dj=Object.prototype.hasOwnProperty,fj=Object.prototype.propertyIsEnumerable,yS=(e,t,n)=>t in e?AV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ml=(e,t)=>{for(var n in t||(t={}))dj.call(t,n)&&yS(e,n,t[n]);if(xp)for(var n of xp(t))fj.call(t,n)&&yS(e,n,t[n]);return e},af=(e,t)=>TV(e,NV(t)),$V=(e,t)=>{var n={};for(var r in e)dj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xp)for(var r of xp(e))t.indexOf(r)<0&&fj.call(e,r)&&(n[r]=e[r]);return n};const zV={};function pj(e){var t;const n=mr("PopoverDropdown",zV,e),{style:r,className:o,children:s,onKeyDownCapture:i}=n,u=$V(n,["style","className","children","onKeyDownCapture"]),d=nj(),{classes:p,cx:h}=mV({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),g=wB({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:z.createElement(pk,af(ml({},d.portalProps),{withinPortal:d.withinPortal}),z.createElement(aj,af(ml({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var S,x;return z.createElement(ij,{active:d.trapFocus},z.createElement(bo,ml(af(ml({},v),{tabIndex:-1,ref:d.floating,style:af(ml(ml({},r),b),{zIndex:d.zIndex,top:(S=d.y)!=null?S:0,left:(x=d.x)!=null?x:0,width:d.width==="target"?void 0:ze(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:YL(d.onClose,{active:d.closeOnEscape,onTrigger:g,onKeyDown:i}),"data-position":d.placement}),u),s,z.createElement(uj,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}pj.displayName="@mantine/core/PopoverDropdown";function LV(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var bS=Object.getOwnPropertySymbols,BV=Object.prototype.hasOwnProperty,FV=Object.prototype.propertyIsEnumerable,HV=(e,t)=>{var n={};for(var r in e)BV.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bS)for(var r of bS(e))t.indexOf(r)<0&&FV.call(e,r)&&(n[r]=e[r]);return n};const WV={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:j1("popover"),__staticSelector:"Popover",width:"max-content"};function dc(e){var t,n,r,o,s,i;const u=f.useRef(null),d=mr("Popover",WV,e),{children:p,position:h,offset:g,onPositionChange:v,positionDependencies:b,opened:S,transitionProps:x,width:C,middlewares:_,withArrow:k,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:D,styles:T,closeOnClickOutside:B,withinPortal:W,portalProps:J,closeOnEscape:F,clickOutsideEvents:N,trapFocus:G,onClose:K,onOpen:M,onChange:U,zIndex:V,radius:ee,shadow:ie,id:xe,defaultOpened:me,__staticSelector:ae,withRoles:te,disabled:H,returnFocus:re,variant:pe,keepMounted:ne}=d,ve=HV(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[de,Ce]=f.useState(null),[Re,ge]=f.useState(null),_e=I1(xe),We=_a(),Le=aV({middlewares:_,width:C,position:LV(We.dir,h),offset:typeof g=="number"?g+(k?P/2:0):g,arrowRef:u,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:S,defaultOpened:me,onChange:U,onOpen:M,onClose:K});vB(()=>Le.opened&&B&&Le.onClose(),N,[de,Re]);const Ue=f.useCallback(vt=>{Ce(vt),Le.floating.reference(vt)},[Le.floating.reference]),jt=f.useCallback(vt=>{ge(vt),Le.floating.floating(vt)},[Le.floating.floating]);return z.createElement(iV,{value:{returnFocus:re,disabled:H,controlled:Le.controlled,reference:Ue,floating:jt,x:Le.floating.x,y:Le.floating.y,arrowX:(r=(n=(t=Le.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(i=(s=(o=Le.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:i.y,opened:Le.opened,arrowRef:u,transitionProps:x,width:C,withArrow:k,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Le.floating.placement,trapFocus:G,withinPortal:W,portalProps:J,zIndex:V,radius:ee,shadow:ie,closeOnEscape:F,onClose:Le.onClose,onToggle:Le.onToggle,getTargetId:()=>`${_e}-target`,getDropdownId:()=>`${_e}-dropdown`,withRoles:te,targetProps:ve,__staticSelector:ae,classNames:D,styles:T,unstyled:R,variant:pe,keepMounted:ne}},p)}dc.Target=sj;dc.Dropdown=pj;dc.displayName="@mantine/core/Popover";var VV=Object.defineProperty,wp=Object.getOwnPropertySymbols,hj=Object.prototype.hasOwnProperty,mj=Object.prototype.propertyIsEnumerable,xS=(e,t,n)=>t in e?VV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UV=(e,t)=>{for(var n in t||(t={}))hj.call(t,n)&&xS(e,n,t[n]);if(wp)for(var n of wp(t))mj.call(t,n)&&xS(e,n,t[n]);return e},GV=(e,t)=>{var n={};for(var r in e)hj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&wp)for(var r of wp(e))t.indexOf(r)<0&&mj.call(e,r)&&(n[r]=e[r]);return n};function qV(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:i,innerRef:u,__staticSelector:d,styles:p,classNames:h,unstyled:g}=t,v=GV(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=IW(null,{name:d,styles:p,classNames:h,unstyled:g});return z.createElement(dc.Dropdown,UV({p:0,onMouseDown:S=>S.preventDefault()},v),z.createElement("div",{style:{maxHeight:ze(o),display:"flex"}},z.createElement(bo,{component:r||"div",id:`${i}-items`,"aria-labelledby":`${i}-label`,role:"listbox",onMouseDown:S=>S.preventDefault(),style:{flex:1,overflowY:r!==_h?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:u},z.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function Xa({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:i,onDirectionChange:u,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:g=[],classNames:v,styles:b,unstyled:S,readOnly:x,variant:C}){return z.createElement(dc,{unstyled:S,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:g,zIndex:p,__staticSelector:i,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:x,onPositionChange:_=>d&&(u==null?void 0:u(_==="top"?"column-reverse":"column")),variant:C},s)}Xa.Target=dc.Target;Xa.Dropdown=qV;var KV=Object.defineProperty,QV=Object.defineProperties,YV=Object.getOwnPropertyDescriptors,Sp=Object.getOwnPropertySymbols,gj=Object.prototype.hasOwnProperty,vj=Object.prototype.propertyIsEnumerable,wS=(e,t,n)=>t in e?KV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lf=(e,t)=>{for(var n in t||(t={}))gj.call(t,n)&&wS(e,n,t[n]);if(Sp)for(var n of Sp(t))vj.call(t,n)&&wS(e,n,t[n]);return e},XV=(e,t)=>QV(e,YV(t)),JV=(e,t)=>{var n={};for(var r in e)gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Sp)for(var r of Sp(e))t.indexOf(r)<0&&vj.call(e,r)&&(n[r]=e[r]);return n};function yj(e,t,n){const r=mr(e,t,n),{label:o,description:s,error:i,required:u,classNames:d,styles:p,className:h,unstyled:g,__staticSelector:v,sx:b,errorProps:S,labelProps:x,descriptionProps:C,wrapperProps:_,id:k,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:D}=r,T=JV(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),B=I1(k),{systemStyles:W,rest:J}=xh(T),F=lf({label:o,description:s,error:i,required:u,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:S,labelProps:x,descriptionProps:C,unstyled:g,styles:p,id:B,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:D},_);return XV(lf({},J),{classNames:d,styles:p,unstyled:g,wrapperProps:lf(lf({},F),W),inputProps:{required:u,classNames:d,styles:p,unstyled:g,id:B,size:P,__staticSelector:v,error:i,variant:D}})}var ZV=eo((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Tt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const eU=ZV;var tU=Object.defineProperty,Cp=Object.getOwnPropertySymbols,bj=Object.prototype.hasOwnProperty,xj=Object.prototype.propertyIsEnumerable,SS=(e,t,n)=>t in e?tU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nU=(e,t)=>{for(var n in t||(t={}))bj.call(t,n)&&SS(e,n,t[n]);if(Cp)for(var n of Cp(t))xj.call(t,n)&&SS(e,n,t[n]);return e},rU=(e,t)=>{var n={};for(var r in e)bj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Cp)for(var r of Cp(e))t.indexOf(r)<0&&xj.call(e,r)&&(n[r]=e[r]);return n};const oU={labelElement:"label",size:"sm"},$1=f.forwardRef((e,t)=>{const n=mr("InputLabel",oU,e),{labelElement:r,children:o,required:s,size:i,classNames:u,styles:d,unstyled:p,className:h,htmlFor:g,__staticSelector:v,variant:b,onMouseDown:S}=n,x=rU(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:C,cx:_}=eU(null,{name:["InputWrapper",v],classNames:u,styles:d,unstyled:p,variant:b,size:i});return z.createElement(bo,nU({component:r,ref:t,className:_(C.label,h),htmlFor:r==="label"?g:void 0,onMouseDown:k=>{S==null||S(k),!k.defaultPrevented&&k.detail>1&&k.preventDefault()}},x),o,s&&z.createElement("span",{className:C.required,"aria-hidden":!0}," *"))});$1.displayName="@mantine/core/InputLabel";var sU=eo((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Tt({size:n,sizes:e.fontSizes})} - ${ze(2)})`,lineHeight:1.2,display:"block"}}));const aU=sU;var iU=Object.defineProperty,_p=Object.getOwnPropertySymbols,wj=Object.prototype.hasOwnProperty,Sj=Object.prototype.propertyIsEnumerable,CS=(e,t,n)=>t in e?iU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lU=(e,t)=>{for(var n in t||(t={}))wj.call(t,n)&&CS(e,n,t[n]);if(_p)for(var n of _p(t))Sj.call(t,n)&&CS(e,n,t[n]);return e},cU=(e,t)=>{var n={};for(var r in e)wj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_p)for(var r of _p(e))t.indexOf(r)<0&&Sj.call(e,r)&&(n[r]=e[r]);return n};const uU={size:"sm"},z1=f.forwardRef((e,t)=>{const n=mr("InputError",uU,e),{children:r,className:o,classNames:s,styles:i,unstyled:u,size:d,__staticSelector:p,variant:h}=n,g=cU(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=aU(null,{name:["InputWrapper",p],classNames:s,styles:i,unstyled:u,variant:h,size:d});return z.createElement(Fl,lU({className:b(v.error,o),ref:t},g),r)});z1.displayName="@mantine/core/InputError";var dU=eo((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Tt({size:n,sizes:e.fontSizes})} - ${ze(2)})`,lineHeight:1.2,display:"block"}}));const fU=dU;var pU=Object.defineProperty,kp=Object.getOwnPropertySymbols,Cj=Object.prototype.hasOwnProperty,_j=Object.prototype.propertyIsEnumerable,_S=(e,t,n)=>t in e?pU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hU=(e,t)=>{for(var n in t||(t={}))Cj.call(t,n)&&_S(e,n,t[n]);if(kp)for(var n of kp(t))_j.call(t,n)&&_S(e,n,t[n]);return e},mU=(e,t)=>{var n={};for(var r in e)Cj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&kp)for(var r of kp(e))t.indexOf(r)<0&&_j.call(e,r)&&(n[r]=e[r]);return n};const gU={size:"sm"},L1=f.forwardRef((e,t)=>{const n=mr("InputDescription",gU,e),{children:r,className:o,classNames:s,styles:i,unstyled:u,size:d,__staticSelector:p,variant:h}=n,g=mU(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=fU(null,{name:["InputWrapper",p],classNames:s,styles:i,unstyled:u,variant:h,size:d});return z.createElement(Fl,hU({color:"dimmed",className:b(v.description,o),ref:t,unstyled:u},g),r)});L1.displayName="@mantine/core/InputDescription";const kj=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),vU=kj.Provider,yU=()=>f.useContext(kj);function bU(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var xU=Object.defineProperty,wU=Object.defineProperties,SU=Object.getOwnPropertyDescriptors,kS=Object.getOwnPropertySymbols,CU=Object.prototype.hasOwnProperty,_U=Object.prototype.propertyIsEnumerable,jS=(e,t,n)=>t in e?xU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kU=(e,t)=>{for(var n in t||(t={}))CU.call(t,n)&&jS(e,n,t[n]);if(kS)for(var n of kS(t))_U.call(t,n)&&jS(e,n,t[n]);return e},jU=(e,t)=>wU(e,SU(t)),PU=eo(e=>({root:jU(kU({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const IU=PU;var EU=Object.defineProperty,OU=Object.defineProperties,MU=Object.getOwnPropertyDescriptors,jp=Object.getOwnPropertySymbols,jj=Object.prototype.hasOwnProperty,Pj=Object.prototype.propertyIsEnumerable,PS=(e,t,n)=>t in e?EU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$a=(e,t)=>{for(var n in t||(t={}))jj.call(t,n)&&PS(e,n,t[n]);if(jp)for(var n of jp(t))Pj.call(t,n)&&PS(e,n,t[n]);return e},IS=(e,t)=>OU(e,MU(t)),RU=(e,t)=>{var n={};for(var r in e)jj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&jp)for(var r of jp(e))t.indexOf(r)<0&&Pj.call(e,r)&&(n[r]=e[r]);return n};const DU={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},Ij=f.forwardRef((e,t)=>{const n=mr("InputWrapper",DU,e),{className:r,label:o,children:s,required:i,id:u,error:d,description:p,labelElement:h,labelProps:g,descriptionProps:v,errorProps:b,classNames:S,styles:x,size:C,inputContainer:_,__staticSelector:k,unstyled:P,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=RU(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:D,cx:T}=IU(null,{classNames:S,styles:x,name:["InputWrapper",k],unstyled:P,variant:O,size:C}),B={classNames:S,styles:x,unstyled:P,size:C,variant:O,__staticSelector:k},W=typeof E=="boolean"?E:i,J=u?`${u}-error`:b==null?void 0:b.id,F=u?`${u}-description`:v==null?void 0:v.id,G=`${!!d&&typeof d!="boolean"?J:""} ${p?F:""}`,K=G.trim().length>0?G.trim():void 0,M=o&&z.createElement($1,$a($a({key:"label",labelElement:h,id:u?`${u}-label`:void 0,htmlFor:u,required:W},B),g),o),U=p&&z.createElement(L1,IS($a($a({key:"description"},v),B),{size:(v==null?void 0:v.size)||B.size,id:(v==null?void 0:v.id)||F}),p),V=z.createElement(f.Fragment,{key:"input"},_(s)),ee=typeof d!="boolean"&&d&&z.createElement(z1,IS($a($a({},b),B),{size:(b==null?void 0:b.size)||B.size,key:"error",id:(b==null?void 0:b.id)||J}),d),ie=I.map(xe=>{switch(xe){case"label":return M;case"input":return V;case"description":return U;case"error":return ee;default:return null}});return z.createElement(vU,{value:$a({describedBy:K},bU(I,{hasDescription:!!U,hasError:!!ee}))},z.createElement(bo,$a({className:T(D.root,r),ref:t},R),ie))});Ij.displayName="@mantine/core/InputWrapper";var AU=Object.defineProperty,Pp=Object.getOwnPropertySymbols,Ej=Object.prototype.hasOwnProperty,Oj=Object.prototype.propertyIsEnumerable,ES=(e,t,n)=>t in e?AU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TU=(e,t)=>{for(var n in t||(t={}))Ej.call(t,n)&&ES(e,n,t[n]);if(Pp)for(var n of Pp(t))Oj.call(t,n)&&ES(e,n,t[n]);return e},NU=(e,t)=>{var n={};for(var r in e)Ej.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Pp)for(var r of Pp(e))t.indexOf(r)<0&&Oj.call(e,r)&&(n[r]=e[r]);return n};const $U={},Mj=f.forwardRef((e,t)=>{const n=mr("InputPlaceholder",$U,e),{sx:r}=n,o=NU(n,["sx"]);return z.createElement(bo,TU({component:"span",sx:[s=>s.fn.placeholderStyles(),...M_(r)],ref:t},o))});Mj.displayName="@mantine/core/InputPlaceholder";var zU=Object.defineProperty,LU=Object.defineProperties,BU=Object.getOwnPropertyDescriptors,OS=Object.getOwnPropertySymbols,FU=Object.prototype.hasOwnProperty,HU=Object.prototype.propertyIsEnumerable,MS=(e,t,n)=>t in e?zU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cf=(e,t)=>{for(var n in t||(t={}))FU.call(t,n)&&MS(e,n,t[n]);if(OS)for(var n of OS(t))HU.call(t,n)&&MS(e,n,t[n]);return e},Og=(e,t)=>LU(e,BU(t));const Bo={xs:ze(30),sm:ze(36),md:ze(42),lg:ze(50),xl:ze(60)},WU=["default","filled","unstyled"];function VU({theme:e,variant:t}){return WU.includes(t)?t==="default"?{border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${ze(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:ze(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var UU=eo((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:i,offsetBottom:u,offsetTop:d,pointer:p},{variant:h,size:g})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Tt({size:g,sizes:Bo}),paddingLeft:`calc(${Tt({size:g,sizes:Bo})} / 3)`,paddingRight:s?o||Tt({size:g,sizes:Bo}):`calc(${Tt({size:g,sizes:Bo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Tt({size:g,sizes:Bo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:u?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:Og(cf(cf(Og(cf({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Tt({size:g,sizes:Bo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Tt({size:g,sizes:Bo})} - ${ze(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Tt({size:g,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),VU({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof i=="number"?ze(i):Tt({size:g,sizes:Bo})},"&::placeholder":Og(cf({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:i?ze(i):Tt({size:g,sizes:Bo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Tt({size:g,sizes:Bo})}}});const GU=UU;var qU=Object.defineProperty,KU=Object.defineProperties,QU=Object.getOwnPropertyDescriptors,Ip=Object.getOwnPropertySymbols,Rj=Object.prototype.hasOwnProperty,Dj=Object.prototype.propertyIsEnumerable,RS=(e,t,n)=>t in e?qU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uf=(e,t)=>{for(var n in t||(t={}))Rj.call(t,n)&&RS(e,n,t[n]);if(Ip)for(var n of Ip(t))Dj.call(t,n)&&RS(e,n,t[n]);return e},DS=(e,t)=>KU(e,QU(t)),YU=(e,t)=>{var n={};for(var r in e)Rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ip)for(var r of Ip(e))t.indexOf(r)<0&&Dj.call(e,r)&&(n[r]=e[r]);return n};const XU={size:"sm",variant:"default"},Ui=f.forwardRef((e,t)=>{const n=mr("Input",XU,e),{className:r,error:o,required:s,disabled:i,variant:u,icon:d,style:p,rightSectionWidth:h,iconWidth:g,rightSection:v,rightSectionProps:b,radius:S,size:x,wrapperProps:C,classNames:_,styles:k,__staticSelector:P,multiline:I,sx:E,unstyled:O,pointer:R}=n,D=YU(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:T,offsetTop:B,describedBy:W}=yU(),{classes:J,cx:F}=GU({radius:S,multiline:I,invalid:!!o,rightSectionWidth:h?ze(h):void 0,iconWidth:g,withRightSection:!!v,offsetBottom:T,offsetTop:B,pointer:R},{classNames:_,styles:k,name:["Input",P],unstyled:O,variant:u,size:x}),{systemStyles:N,rest:G}=xh(D);return z.createElement(bo,uf(uf({className:F(J.wrapper,r),sx:E,style:p},N),C),d&&z.createElement("div",{className:J.icon},d),z.createElement(bo,DS(uf({component:"input"},G),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":W,disabled:i,"data-disabled":i||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:J.input})),v&&z.createElement("div",DS(uf({},b),{className:J.rightSection}),v))});Ui.displayName="@mantine/core/Input";Ui.Wrapper=Ij;Ui.Label=$1;Ui.Description=L1;Ui.Error=z1;Ui.Placeholder=Mj;const Ul=Ui;var JU=Object.defineProperty,Ep=Object.getOwnPropertySymbols,Aj=Object.prototype.hasOwnProperty,Tj=Object.prototype.propertyIsEnumerable,AS=(e,t,n)=>t in e?JU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TS=(e,t)=>{for(var n in t||(t={}))Aj.call(t,n)&&AS(e,n,t[n]);if(Ep)for(var n of Ep(t))Tj.call(t,n)&&AS(e,n,t[n]);return e},ZU=(e,t)=>{var n={};for(var r in e)Aj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ep)for(var r of Ep(e))t.indexOf(r)<0&&Tj.call(e,r)&&(n[r]=e[r]);return n};const eG={multiple:!1},Nj=f.forwardRef((e,t)=>{const n=mr("FileButton",eG,e),{onChange:r,children:o,multiple:s,accept:i,name:u,form:d,resetRef:p,disabled:h,capture:g,inputProps:v}=n,b=ZU(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),S=f.useRef(),x=()=>{!h&&S.current.click()},C=k=>{r(s?Array.from(k.currentTarget.files):k.currentTarget.files[0]||null)};return F_(p,()=>{S.current.value=""}),z.createElement(z.Fragment,null,o(TS({onClick:x},b)),z.createElement("input",TS({style:{display:"none"},type:"file",accept:i,multiple:s,onChange:C,ref:Hu(t,S),name:u,form:d,capture:g},v)))});Nj.displayName="@mantine/core/FileButton";const $j={xs:ze(16),sm:ze(22),md:ze(26),lg:ze(30),xl:ze(36)},tG={xs:ze(10),sm:ze(12),md:ze(14),lg:ze(16),xl:ze(18)};var nG=eo((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Tt({size:o,sizes:$j}),paddingLeft:`calc(${Tt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Tt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Tt({size:o,sizes:tG}),borderRadius:Tt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${ze(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Tt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const rG=nG;var oG=Object.defineProperty,Op=Object.getOwnPropertySymbols,zj=Object.prototype.hasOwnProperty,Lj=Object.prototype.propertyIsEnumerable,NS=(e,t,n)=>t in e?oG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sG=(e,t)=>{for(var n in t||(t={}))zj.call(t,n)&&NS(e,n,t[n]);if(Op)for(var n of Op(t))Lj.call(t,n)&&NS(e,n,t[n]);return e},aG=(e,t)=>{var n={};for(var r in e)zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Op)for(var r of Op(e))t.indexOf(r)<0&&Lj.call(e,r)&&(n[r]=e[r]);return n};const iG={xs:16,sm:22,md:24,lg:26,xl:30};function Bj(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:i,disabled:u,readOnly:d,size:p,radius:h="sm",variant:g,unstyled:v}=t,b=aG(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:S,cx:x}=rG({disabled:u,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:g});return z.createElement("div",sG({className:x(S.defaultValue,s)},b),z.createElement("span",{className:S.defaultValueLabel},n),!u&&!d&&z.createElement(xk,{"aria-hidden":!0,onMouseDown:i,size:iG[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:S.defaultValueRemove,tabIndex:-1,unstyled:v}))}Bj.displayName="@mantine/core/MultiSelect/DefaultValue";function lG({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:i}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const u=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&u.push(e[d]),!(u.length>=n));d+=1);return u}var cG=Object.defineProperty,Mp=Object.getOwnPropertySymbols,Fj=Object.prototype.hasOwnProperty,Hj=Object.prototype.propertyIsEnumerable,$S=(e,t,n)=>t in e?cG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zS=(e,t)=>{for(var n in t||(t={}))Fj.call(t,n)&&$S(e,n,t[n]);if(Mp)for(var n of Mp(t))Hj.call(t,n)&&$S(e,n,t[n]);return e},uG=(e,t)=>{var n={};for(var r in e)Fj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mp)for(var r of Mp(e))t.indexOf(r)<0&&Hj.call(e,r)&&(n[r]=e[r]);return n};const dG={xs:ze(14),sm:ze(18),md:ze(20),lg:ze(24),xl:ze(28)};function fG(e){var t=e,{size:n,error:r,style:o}=t,s=uG(t,["size","error","style"]);const i=_a(),u=Tt({size:n,sizes:dG});return z.createElement("svg",zS({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:zS({color:r?i.colors.red[6]:i.colors.gray[6],width:u,height:u},o),"data-chevron":!0},s),z.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var pG=Object.defineProperty,hG=Object.defineProperties,mG=Object.getOwnPropertyDescriptors,LS=Object.getOwnPropertySymbols,gG=Object.prototype.hasOwnProperty,vG=Object.prototype.propertyIsEnumerable,BS=(e,t,n)=>t in e?pG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yG=(e,t)=>{for(var n in t||(t={}))gG.call(t,n)&&BS(e,n,t[n]);if(LS)for(var n of LS(t))vG.call(t,n)&&BS(e,n,t[n]);return e},bG=(e,t)=>hG(e,mG(t));function Wj({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?z.createElement(xk,bG(yG({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):z.createElement(fG,{error:o,size:r})}Wj.displayName="@mantine/core/SelectRightSection";var xG=Object.defineProperty,wG=Object.defineProperties,SG=Object.getOwnPropertyDescriptors,Rp=Object.getOwnPropertySymbols,Vj=Object.prototype.hasOwnProperty,Uj=Object.prototype.propertyIsEnumerable,FS=(e,t,n)=>t in e?xG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mg=(e,t)=>{for(var n in t||(t={}))Vj.call(t,n)&&FS(e,n,t[n]);if(Rp)for(var n of Rp(t))Uj.call(t,n)&&FS(e,n,t[n]);return e},HS=(e,t)=>wG(e,SG(t)),CG=(e,t)=>{var n={};for(var r in e)Vj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rp)for(var r of Rp(e))t.indexOf(r)<0&&Uj.call(e,r)&&(n[r]=e[r]);return n};function Gj(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,i=CG(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const u=typeof n=="function"?n(s):n;return{rightSection:!i.readOnly&&!(i.disabled&&i.shouldClear)&&z.createElement(Wj,Mg({},i)),styles:HS(Mg({},u),{rightSection:HS(Mg({},u==null?void 0:u.rightSection),{pointerEvents:i.shouldClear?void 0:"none"})})}}var _G=Object.defineProperty,kG=Object.defineProperties,jG=Object.getOwnPropertyDescriptors,WS=Object.getOwnPropertySymbols,PG=Object.prototype.hasOwnProperty,IG=Object.prototype.propertyIsEnumerable,VS=(e,t,n)=>t in e?_G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,EG=(e,t)=>{for(var n in t||(t={}))PG.call(t,n)&&VS(e,n,t[n]);if(WS)for(var n of WS(t))IG.call(t,n)&&VS(e,n,t[n]);return e},OG=(e,t)=>kG(e,jG(t)),MG=eo((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Tt({size:n,sizes:Bo})} - ${ze(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Tt({size:n,sizes:Bo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${ze(2)}) calc(${e.spacing.xs} / 2)`},searchInput:OG(EG({},e.fn.fontStyles()),{flex:1,minWidth:ze(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Tt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Tt({size:n,sizes:$j}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const RG=MG;var DG=Object.defineProperty,AG=Object.defineProperties,TG=Object.getOwnPropertyDescriptors,Dp=Object.getOwnPropertySymbols,qj=Object.prototype.hasOwnProperty,Kj=Object.prototype.propertyIsEnumerable,US=(e,t,n)=>t in e?DG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gl=(e,t)=>{for(var n in t||(t={}))qj.call(t,n)&&US(e,n,t[n]);if(Dp)for(var n of Dp(t))Kj.call(t,n)&&US(e,n,t[n]);return e},GS=(e,t)=>AG(e,TG(t)),NG=(e,t)=>{var n={};for(var r in e)qj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dp)for(var r of Dp(e))t.indexOf(r)<0&&Kj.call(e,r)&&(n[r]=e[r]);return n};function $G(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function zG(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function qS(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const LG={size:"sm",valueComponent:Bj,itemComponent:O1,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:$G,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:zG,switchDirectionOnFlip:!1,zIndex:j1("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},Qj=f.forwardRef((e,t)=>{const n=mr("MultiSelect",LG,e),{className:r,style:o,required:s,label:i,description:u,size:d,error:p,classNames:h,styles:g,wrapperProps:v,value:b,defaultValue:S,data:x,onChange:C,valueComponent:_,itemComponent:k,id:P,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:D,onBlur:T,searchable:B,placeholder:W,filter:J,limit:F,clearSearchOnChange:N,clearable:G,clearSearchOnBlur:K,variant:M,onSearchChange:U,searchValue:V,disabled:ee,initiallyOpened:ie,radius:xe,icon:me,rightSection:ae,rightSectionWidth:te,creatable:H,getCreateLabel:re,shouldCreate:pe,onCreate:ne,sx:ve,dropdownComponent:de,onDropdownClose:Ce,onDropdownOpen:Re,maxSelectedValues:ge,withinPortal:_e,portalProps:We,switchDirectionOnFlip:Le,zIndex:Ue,selectOnBlur:jt,name:vt,dropdownPosition:jn,errorProps:Pt,labelProps:bt,descriptionProps:be,form:Ae,positionDependencies:Et,onKeyDown:Ft,unstyled:Wt,inputContainer:_n,inputWrapperOrder:In,readOnly:ln,withAsterisk:Cr,clearButtonProps:vn,hoverOnSearchChange:sr,disableSelectedItemFiltering:Ie}=n,it=NG(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Xe,cx:ot,theme:Nt}=RG({invalid:!!p},{name:"MultiSelect",classNames:h,styles:g,unstyled:Wt,size:d,variant:M}),{systemStyles:ur,rest:yn}=xh(it),bn=f.useRef(),$r=f.useRef({}),dr=I1(P),[An,Tn]=f.useState(ie),[Nn,Rr]=f.useState(-1),[_o,zr]=f.useState("column"),[Lr,es]=hu({value:V,defaultValue:"",finalValue:void 0,onChange:U}),[Dr,ks]=f.useState(!1),{scrollIntoView:ts,targetRef:Xs,scrollableRef:js}=W_({duration:0,offset:5,cancelable:!1,isList:!0}),q=H&&typeof re=="function";let Y=null;const le=x.map(Oe=>typeof Oe=="string"?{label:Oe,value:Oe}:Oe),we=R_({data:le}),[ce,nt]=hu({value:qS(b,x),defaultValue:qS(S,x),finalValue:[],onChange:C}),Je=f.useRef(!!ge&&ge{if(!ln){const ut=ce.filter(_t=>_t!==Oe);nt(ut),ge&&ut.length{es(Oe.currentTarget.value),!ee&&!Je.current&&B&&Tn(!0)},dt=Oe=>{typeof D=="function"&&D(Oe),!ee&&!Je.current&&B&&Tn(!0)},De=lG({data:we,searchable:B,searchValue:Lr,limit:F,filter:J,value:ce,disableSelectedItemFiltering:Ie});q&&pe(Lr,we)&&(Y=re(Lr),De.push({label:Lr,value:Lr,creatable:!0}));const ye=Math.min(Nn,De.length-1),Fe=(Oe,ut,_t)=>{let At=Oe;for(;_t(At);)if(At=ut(At),!De[At].disabled)return At;return Oe};ps(()=>{Rr(sr&&Lr?0:-1)},[Lr,sr]),ps(()=>{!ee&&ce.length>x.length&&Tn(!1),ge&&ce.length=ge&&(Je.current=!0,Tn(!1))},[ce]);const ht=Oe=>{if(!ln)if(N&&es(""),ce.includes(Oe.value))Dt(Oe.value);else{if(Oe.creatable&&typeof ne=="function"){const ut=ne(Oe.value);typeof ut<"u"&&ut!==null&&nt(typeof ut=="string"?[...ce,ut]:[...ce,ut.value])}else nt([...ce,Oe.value]);ce.length===ge-1&&(Je.current=!0,Tn(!1)),De.length===1&&Tn(!1)}},xt=Oe=>{typeof T=="function"&&T(Oe),jt&&De[ye]&&An&&ht(De[ye]),K&&es(""),Tn(!1)},Ot=Oe=>{if(Dr||(Ft==null||Ft(Oe),ln)||Oe.key!=="Backspace"&&ge&&Je.current)return;const ut=_o==="column",_t=()=>{Rr(xn=>{var zt;const tn=Fe(xn,Jt=>Jt+1,Jt=>Jt{Rr(xn=>{var zt;const tn=Fe(xn,Jt=>Jt-1,Jt=>Jt>0);return An&&(Xs.current=$r.current[(zt=De[tn])==null?void 0:zt.value],ts({alignment:ut?"start":"end"})),tn})};switch(Oe.key){case"ArrowUp":{Oe.preventDefault(),Tn(!0),ut?At():_t();break}case"ArrowDown":{Oe.preventDefault(),Tn(!0),ut?_t():At();break}case"Enter":{Oe.preventDefault(),De[ye]&&An?ht(De[ye]):Tn(!0);break}case" ":{B||(Oe.preventDefault(),De[ye]&&An?ht(De[ye]):Tn(!0));break}case"Backspace":{ce.length>0&&Lr.length===0&&(nt(ce.slice(0,-1)),Tn(!0),ge&&(Je.current=!1));break}case"Home":{if(!B){Oe.preventDefault(),An||Tn(!0);const xn=De.findIndex(zt=>!zt.disabled);Rr(xn),ts({alignment:ut?"end":"start"})}break}case"End":{if(!B){Oe.preventDefault(),An||Tn(!0);const xn=De.map(zt=>!!zt.disabled).lastIndexOf(!1);Rr(xn),ts({alignment:ut?"end":"start"})}break}case"Escape":Tn(!1)}},Lt=ce.map(Oe=>{let ut=we.find(_t=>_t.value===Oe&&!_t.disabled);return!ut&&q&&(ut={value:Oe,label:Oe}),ut}).filter(Oe=>!!Oe).map((Oe,ut)=>z.createElement(_,GS(gl({},Oe),{variant:M,disabled:ee,className:Xe.value,readOnly:ln,onRemove:_t=>{_t.preventDefault(),_t.stopPropagation(),Dt(Oe.value)},key:Oe.value,size:d,styles:g,classNames:h,radius:xe,index:ut}))),Kt=Oe=>ce.includes(Oe),qt=()=>{var Oe;es(""),nt([]),(Oe=bn.current)==null||Oe.focus(),ge&&(Je.current=!1)},$t=!ln&&(De.length>0?An:An&&!!R);return ps(()=>{const Oe=$t?Re:Ce;typeof Oe=="function"&&Oe()},[$t]),z.createElement(Ul.Wrapper,gl(gl({required:s,id:dr,label:i,error:p,description:u,size:d,className:r,style:o,classNames:h,styles:g,__staticSelector:"MultiSelect",sx:ve,errorProps:Pt,descriptionProps:be,labelProps:bt,inputContainer:_n,inputWrapperOrder:In,unstyled:Wt,withAsterisk:Cr,variant:M},ur),v),z.createElement(Xa,{opened:$t,transitionProps:I,shadow:"sm",withinPortal:_e,portalProps:We,__staticSelector:"MultiSelect",onDirectionChange:zr,switchDirectionOnFlip:Le,zIndex:Ue,dropdownPosition:jn,positionDependencies:[...Et,Lr],classNames:h,styles:g,unstyled:Wt,variant:M},z.createElement(Xa.Target,null,z.createElement("div",{className:Xe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":An&&$t?`${dr}-items`:null,"aria-controls":dr,"aria-expanded":An,onMouseLeave:()=>Rr(-1),tabIndex:-1},z.createElement("input",{type:"hidden",name:vt,value:ce.join(","),form:Ae,disabled:ee}),z.createElement(Ul,gl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:M,disabled:ee,error:p,required:s,radius:xe,icon:me,unstyled:Wt,onMouseDown:Oe=>{var ut;Oe.preventDefault(),!ee&&!Je.current&&Tn(!An),(ut=bn.current)==null||ut.focus()},classNames:GS(gl({},h),{input:ot({[Xe.input]:!B},h==null?void 0:h.input)})},Gj({theme:Nt,rightSection:ae,rightSectionWidth:te,styles:g,size:d,shouldClear:G&&ce.length>0,onClear:qt,error:p,disabled:ee,clearButtonProps:vn,readOnly:ln})),z.createElement("div",{className:Xe.values,"data-clearable":G||void 0},Lt,z.createElement("input",gl({ref:Hu(t,bn),type:"search",id:dr,className:ot(Xe.searchInput,{[Xe.searchInputPointer]:!B,[Xe.searchInputInputHidden]:!An&&ce.length>0||!B&&ce.length>0,[Xe.searchInputEmpty]:ce.length===0}),onKeyDown:Ot,value:Lr,onChange:st,onFocus:dt,onBlur:xt,readOnly:!B||Je.current||ln,placeholder:ce.length===0?W:void 0,disabled:ee,"data-mantine-stop-propagation":An,autoComplete:"off",onCompositionStart:()=>ks(!0),onCompositionEnd:()=>ks(!1)},yn)))))),z.createElement(Xa.Dropdown,{component:de||_h,maxHeight:E,direction:_o,id:dr,innerRef:js,__staticSelector:"MultiSelect",classNames:h,styles:g},z.createElement(E1,{data:De,hovered:ye,classNames:h,styles:g,uuid:dr,__staticSelector:"MultiSelect",onItemHover:Rr,onItemSelect:ht,itemsRefs:$r,itemComponent:k,size:d,nothingFound:R,isItemSelected:Kt,creatable:H&&!!Y,createLabel:Y,unstyled:Wt,variant:M}))))});Qj.displayName="@mantine/core/MultiSelect";var BG=Object.defineProperty,FG=Object.defineProperties,HG=Object.getOwnPropertyDescriptors,Ap=Object.getOwnPropertySymbols,Yj=Object.prototype.hasOwnProperty,Xj=Object.prototype.propertyIsEnumerable,KS=(e,t,n)=>t in e?BG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rg=(e,t)=>{for(var n in t||(t={}))Yj.call(t,n)&&KS(e,n,t[n]);if(Ap)for(var n of Ap(t))Xj.call(t,n)&&KS(e,n,t[n]);return e},WG=(e,t)=>FG(e,HG(t)),VG=(e,t)=>{var n={};for(var r in e)Yj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ap)for(var r of Ap(e))t.indexOf(r)<0&&Xj.call(e,r)&&(n[r]=e[r]);return n};const UG={type:"text",size:"sm",__staticSelector:"TextInput"},Jj=f.forwardRef((e,t)=>{const n=yj("TextInput",UG,e),{inputProps:r,wrapperProps:o}=n,s=VG(n,["inputProps","wrapperProps"]);return z.createElement(Ul.Wrapper,Rg({},o),z.createElement(Ul,WG(Rg(Rg({},r),s),{ref:t})))});Jj.displayName="@mantine/core/TextInput";function GG({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:i}){if(!t)return e;const u=s!=null&&e.find(p=>p.value===s)||null;if(u&&!i&&(u==null?void 0:u.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(u),h=p+n,g=h-e.length;return g>0?e.slice(p-g):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var qG=eo(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const KG=qG;var QG=Object.defineProperty,YG=Object.defineProperties,XG=Object.getOwnPropertyDescriptors,Tp=Object.getOwnPropertySymbols,Zj=Object.prototype.hasOwnProperty,eP=Object.prototype.propertyIsEnumerable,QS=(e,t,n)=>t in e?QG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nc=(e,t)=>{for(var n in t||(t={}))Zj.call(t,n)&&QS(e,n,t[n]);if(Tp)for(var n of Tp(t))eP.call(t,n)&&QS(e,n,t[n]);return e},Dg=(e,t)=>YG(e,XG(t)),JG=(e,t)=>{var n={};for(var r in e)Zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Tp)for(var r of Tp(e))t.indexOf(r)<0&&eP.call(e,r)&&(n[r]=e[r]);return n};function ZG(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function eq(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const tq={required:!1,size:"sm",shadow:"sm",itemComponent:O1,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:ZG,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:eq,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:j1("popover"),positionDependencies:[],dropdownPosition:"flip"},B1=f.forwardRef((e,t)=>{const n=yj("Select",tq,e),{inputProps:r,wrapperProps:o,shadow:s,data:i,value:u,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:g,onBlur:v,onFocus:b,transitionProps:S,initiallyOpened:x,unstyled:C,classNames:_,styles:k,filter:P,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:D,disabled:T,onSearchChange:B,searchValue:W,rightSection:J,rightSectionWidth:F,creatable:N,getCreateLabel:G,shouldCreate:K,selectOnBlur:M,onCreate:U,dropdownComponent:V,onDropdownClose:ee,onDropdownOpen:ie,withinPortal:xe,portalProps:me,switchDirectionOnFlip:ae,zIndex:te,name:H,dropdownPosition:re,allowDeselect:pe,placeholder:ne,filterDataOnExactSearchMatch:ve,form:de,positionDependencies:Ce,readOnly:Re,clearButtonProps:ge,hoverOnSearchChange:_e}=n,We=JG(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Le,cx:Ue,theme:jt}=KG(),[vt,jn]=f.useState(x),[Pt,bt]=f.useState(-1),be=f.useRef(),Ae=f.useRef({}),[Et,Ft]=f.useState("column"),Wt=Et==="column",{scrollIntoView:_n,targetRef:In,scrollableRef:ln}=W_({duration:0,offset:5,cancelable:!1,isList:!0}),Cr=pe===void 0?O:pe,vn=Y=>{if(vt!==Y){jn(Y);const le=Y?ie:ee;typeof le=="function"&&le()}},sr=N&&typeof G=="function";let Ie=null;const it=i.map(Y=>typeof Y=="string"?{label:Y,value:Y}:Y),Xe=R_({data:it}),[ot,Nt,ur]=hu({value:u,defaultValue:d,finalValue:null,onChange:p}),yn=Xe.find(Y=>Y.value===ot),[bn,$r]=hu({value:W,defaultValue:(yn==null?void 0:yn.label)||"",finalValue:void 0,onChange:B}),dr=Y=>{$r(Y),E&&typeof B=="function"&&B(Y)},An=()=>{var Y;Re||(Nt(null),ur||dr(""),(Y=be.current)==null||Y.focus())};f.useEffect(()=>{const Y=Xe.find(le=>le.value===ot);Y?dr(Y.label):(!sr||!ot)&&dr("")},[ot]),f.useEffect(()=>{yn&&(!E||!vt)&&dr(yn.label)},[yn==null?void 0:yn.label]);const Tn=Y=>{if(!Re)if(Cr&&(yn==null?void 0:yn.value)===Y.value)Nt(null),vn(!1);else{if(Y.creatable&&typeof U=="function"){const le=U(Y.value);typeof le<"u"&&le!==null&&Nt(typeof le=="string"?le:le.value)}else Nt(Y.value);ur||dr(Y.label),bt(-1),vn(!1),be.current.focus()}},Nn=GG({data:Xe,searchable:E,limit:D,searchValue:bn,filter:P,filterDataOnExactSearchMatch:ve,value:ot});sr&&K(bn,Nn)&&(Ie=G(bn),Nn.push({label:bn,value:bn,creatable:!0}));const Rr=(Y,le,we)=>{let ce=Y;for(;we(ce);)if(ce=le(ce),!Nn[ce].disabled)return ce;return Y};ps(()=>{bt(_e&&bn?0:-1)},[bn,_e]);const _o=ot?Nn.findIndex(Y=>Y.value===ot):0,zr=!Re&&(Nn.length>0?vt:vt&&!!R),Lr=()=>{bt(Y=>{var le;const we=Rr(Y,ce=>ce-1,ce=>ce>0);return In.current=Ae.current[(le=Nn[we])==null?void 0:le.value],zr&&_n({alignment:Wt?"start":"end"}),we})},es=()=>{bt(Y=>{var le;const we=Rr(Y,ce=>ce+1,ce=>cewindow.setTimeout(()=>{var Y;In.current=Ae.current[(Y=Nn[_o])==null?void 0:Y.value],_n({alignment:Wt?"end":"start"})},50);ps(()=>{zr&&Dr()},[zr]);const ks=Y=>{switch(typeof g=="function"&&g(Y),Y.key){case"ArrowUp":{Y.preventDefault(),vt?Wt?Lr():es():(bt(_o),vn(!0),Dr());break}case"ArrowDown":{Y.preventDefault(),vt?Wt?es():Lr():(bt(_o),vn(!0),Dr());break}case"Home":{if(!E){Y.preventDefault(),vt||vn(!0);const le=Nn.findIndex(we=>!we.disabled);bt(le),zr&&_n({alignment:Wt?"end":"start"})}break}case"End":{if(!E){Y.preventDefault(),vt||vn(!0);const le=Nn.map(we=>!!we.disabled).lastIndexOf(!1);bt(le),zr&&_n({alignment:Wt?"end":"start"})}break}case"Escape":{Y.preventDefault(),vn(!1),bt(-1);break}case" ":{E||(Y.preventDefault(),Nn[Pt]&&vt?Tn(Nn[Pt]):(vn(!0),bt(_o),Dr()));break}case"Enter":E||Y.preventDefault(),Nn[Pt]&&vt&&(Y.preventDefault(),Tn(Nn[Pt]))}},ts=Y=>{typeof v=="function"&&v(Y);const le=Xe.find(we=>we.value===ot);M&&Nn[Pt]&&vt&&Tn(Nn[Pt]),dr((le==null?void 0:le.label)||""),vn(!1)},Xs=Y=>{typeof b=="function"&&b(Y),E&&vn(!0)},js=Y=>{Re||(dr(Y.currentTarget.value),O&&Y.currentTarget.value===""&&Nt(null),bt(-1),vn(!0))},q=()=>{Re||(vn(!vt),ot&&!vt&&bt(_o))};return z.createElement(Ul.Wrapper,Dg(Nc({},o),{__staticSelector:"Select"}),z.createElement(Xa,{opened:zr,transitionProps:S,shadow:s,withinPortal:xe,portalProps:me,__staticSelector:"Select",onDirectionChange:Ft,switchDirectionOnFlip:ae,zIndex:te,dropdownPosition:re,positionDependencies:[...Ce,bn],classNames:_,styles:k,unstyled:C,variant:r.variant},z.createElement(Xa.Target,null,z.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":zr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":zr,onMouseLeave:()=>bt(-1),tabIndex:-1},z.createElement("input",{type:"hidden",name:H,value:ot||"",form:de,disabled:T}),z.createElement(Ul,Nc(Dg(Nc(Nc({autoComplete:"off",type:"search"},r),We),{ref:Hu(t,be),onKeyDown:ks,__staticSelector:"Select",value:bn,placeholder:ne,onChange:js,"aria-autocomplete":"list","aria-controls":zr?`${r.id}-items`:null,"aria-activedescendant":Pt>=0?`${r.id}-${Pt}`:null,onMouseDown:q,onBlur:ts,onFocus:Xs,readOnly:!E||Re,disabled:T,"data-mantine-stop-propagation":zr,name:null,classNames:Dg(Nc({},_),{input:Ue({[Le.input]:!E},_==null?void 0:_.input)})}),Gj({theme:jt,rightSection:J,rightSectionWidth:F,styles:k,size:r.size,shouldClear:O&&!!yn,onClear:An,error:o.error,clearButtonProps:ge,disabled:T,readOnly:Re}))))),z.createElement(Xa.Dropdown,{component:V||_h,maxHeight:I,direction:Et,id:r.id,innerRef:ln,__staticSelector:"Select",classNames:_,styles:k},z.createElement(E1,{data:Nn,hovered:Pt,classNames:_,styles:k,isItemSelected:Y=>Y===ot,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Tn,itemsRefs:Ae,itemComponent:h,size:r.size,nothingFound:R,creatable:sr&&!!Ie,createLabel:Ie,"aria-label":o.label,unstyled:C,variant:r.variant}))))});B1.displayName="@mantine/core/Select";const F1=()=>{const[e,t,n,r,o,s,i,u,d,p,h,g,v,b,S,x,C,_,k,P,I,E,O,R,D,T,B,W,J,F,N,G,K,M,U,V,ee,ie]=ec("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:i,base400:u,base450:d,base500:p,base550:h,base600:g,base650:v,base700:b,base750:S,base800:x,base850:C,base900:_,base950:k,accent50:P,accent100:I,accent150:E,accent200:O,accent250:R,accent300:D,accent350:T,accent400:B,accent450:W,accent500:J,accent550:F,accent600:N,accent650:G,accent700:K,accent750:M,accent800:U,accent850:V,accent900:ee,accent950:ie}},tP=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:i,base700:u,base800:d,base900:p,accent200:h,accent300:g,accent400:v,accent500:b,accent600:S}=F1(),{colorMode:x}=xs(),[C]=ec("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Me(u,r)(x)},separatorLabel:{color:Me(s,s)(x),"::after":{borderTopColor:Me(r,u)(x)}},input:{backgroundColor:Me(e,p)(x),borderWidth:"2px",borderColor:Me(n,d)(x),color:Me(p,t)(x),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Me(r,i)(x)},"&:focus":{borderColor:Me(g,S)(x)},"&:is(:focus, :hover)":{borderColor:Me(o,s)(x)},"&:focus-within":{borderColor:Me(h,S)(x)},"&[data-disabled]":{backgroundColor:Me(r,u)(x),color:Me(i,o)(x),cursor:"not-allowed"}},value:{backgroundColor:Me(t,p)(x),color:Me(p,t)(x),button:{color:Me(p,t)(x)},"&:hover":{backgroundColor:Me(r,u)(x),cursor:"pointer"}},dropdown:{backgroundColor:Me(n,d)(x),borderColor:Me(n,d)(x),boxShadow:C},item:{backgroundColor:Me(n,d)(x),color:Me(d,n)(x),padding:6,"&[data-hovered]":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)},"&[data-active]":{backgroundColor:Me(r,u)(x),"&:hover":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)}},"&[data-selected]":{backgroundColor:Me(v,S)(x),color:Me(e,t)(x),fontWeight:600,"&:hover":{backgroundColor:Me(b,b)(x),color:Me("white",e)(x)}},"&[data-disabled]":{color:Me(s,i)(x),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Me(p,t)(x)}}}),[h,g,v,b,S,t,n,r,o,e,s,i,u,d,p,C,x])},nq=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:i,...u}=e,d=Z(),[p,h]=f.useState(""),g=f.useCallback(x=>{x.shiftKey&&d(Go(!0))},[d]),v=f.useCallback(x=>{x.shiftKey||d(Go(!1))},[d]),b=f.useCallback(x=>{h(""),o&&o(x)},[o]),S=tP();return a.jsx(Cn,{label:n,placement:"top",hasArrow:!0,children:a.jsx(B1,{ref:r,label:s?a.jsx(ws,{isDisabled:i,children:a.jsx(gs,{children:s})}):void 0,disabled:i,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:g,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:S,...u})})},br=f.memo(nq),nP=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>a.jsx(Cn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:a.jsx($e,{ref:s,...o,children:a.jsxs($e,{children:[a.jsx(Fl,{children:e}),n&&a.jsx(Fl,{size:"xs",color:"base.600",children:n})]})})}));nP.displayName="IAIMantineSelectItemWithTooltip";const ai=f.memo(nP),rq=he([mt],({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ke),oq=()=>{const e=Z(),{autoAddBoardId:t}=$(rq),n=f.useRef(null),{boards:r,hasBoards:o}=Xp(void 0,{selectFromResult:({data:i})=>{const u=[{label:"None",value:"none"}];return i==null||i.forEach(({board_id:d,board_name:p})=>{u.push({label:p,value:d})}),{boards:u,hasBoards:u.length>1}}}),s=f.useCallback(i=>{i&&e(Yp(i==="none"?void 0:i))},[e]);return a.jsx(br,{label:"Auto-Add Board",inputRef:n,autoFocus:!0,placeholder:"Select a Board",value:t,data:r,nothingFound:"No matching Boards",itemComponent:ai,disabled:!o,filter:(i,u)=>{var d;return((d=u.label)==null?void 0:d.toLowerCase().includes(i.toLowerCase().trim()))||u.value.toLowerCase().includes(i.toLowerCase().trim())},onChange:s})},sq=he([mt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n}},Ke),aq=()=>{const e=Z(),{t}=ue(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r}=$(sq),o=s=>{e(Pf(s))};return a.jsx(Wi,{triggerComponent:a.jsx(je,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:4,children:[a.jsx(Ct,{value:n,onChange:o,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:()=>e(Pf(64))}),a.jsx(Ln,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:s=>e(m8(s.target.checked))}),a.jsx(oq,{})]})})},iq=e=>e.image?a.jsx(ah,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):a.jsx(L,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:a.jsx(oc,{size:"xl"})}),Ja=e=>{const{icon:t=Ti,boxSize:n=16}=e;return a.jsxs(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[a.jsx(io,{as:t,boxSize:n,opacity:.7}),e.label&&a.jsx(qe,{textAlign:"center",children:e.label})]})},Ph=0,ii=1,fc=2,rP=4;function lq(e,t){return n=>e(t(n))}function cq(e,t){return t(e)}function oP(e,t){return n=>e(t,n)}function YS(e,t){return()=>e(t)}function H1(e,t){return t(e),e}function Gi(...e){return e}function uq(e){e()}function XS(e){return()=>e}function dq(...e){return()=>{e.map(uq)}}function Ih(){}function co(e,t){return e(ii,t)}function Ir(e,t){e(Ph,t)}function W1(e){e(fc)}function Eh(e){return e(rP)}function zn(e,t){return co(e,oP(t,Ph))}function JS(e,t){const n=e(ii,r=>{n(),t(r)});return n}function hr(){const e=[];return(t,n)=>{switch(t){case fc:e.splice(0,e.length);return;case ii:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Ph:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Bt(e){let t=e;const n=hr();return(r,o)=>{switch(r){case ii:o(t);break;case Ph:t=o;break;case rP:return t}return n(r,o)}}function fq(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case ii:return s?n===s?void 0:(r(),n=s,t=co(e,s),t):(r(),Ih);case fc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Zc(e){return H1(hr(),t=>zn(e,t))}function $l(e,t){return H1(Bt(t),n=>zn(e,n))}function pq(...e){return t=>e.reduceRight(cq,t)}function Ht(e,...t){const n=pq(...t);return(r,o)=>{switch(r){case ii:return co(e,n(o));case fc:W1(e);return}}}function sP(e,t){return e===t}function vo(e=sP){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Wr(e){return t=>n=>{e(n)&&t(n)}}function Qn(e){return t=>lq(t,e)}function Ha(e){return t=>()=>t(e)}function df(e,t){return n=>r=>n(t=e(t,r))}function F0(e){return t=>n=>{e>0?e--:t(n)}}function Vc(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function ZS(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function $s(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const u=Math.pow(2,i);co(s,d=>{const p=n;n=n|u,t[i]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>i=>{const u=()=>s([i].concat(t));n===o?u():r=u}}function eC(...e){return function(t,n){switch(t){case ii:return dq(...e.map(r=>co(r,n)));case fc:return;default:throw new Error(`unrecognized action ${t}`)}}}function fn(e,t=sP){return Ht(e,vo(t))}function ca(...e){const t=hr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const u=Math.pow(2,i);co(s,d=>{n[i]=d,r=r|u,r===o&&Ir(t,n)})}),function(s,i){switch(s){case ii:return r===o&&i(n),co(t,i);case fc:return W1(t);default:throw new Error(`unrecognized action ${s}`)}}}function Ys(e,t=[],{singleton:n}={singleton:!0}){return{id:hq(),constructor:e,dependencies:t,singleton:n}}const hq=()=>Symbol();function mq(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:i})=>{if(i&&t.has(r))return t.get(r);const u=o(s.map(d=>n(d)));return i&&t.set(r,u),u};return n(e)}function gq(e,t){const n={},r={};let o=0;const s=e.length;for(;o(C[_]=k=>{const P=x[t.methods[_]];Ir(P,k)},C),{})}function h(x){return i.reduce((C,_)=>(C[_]=fq(x[t.events[_]]),C),{})}return{Component:z.forwardRef((x,C)=>{const{children:_,...k}=x,[P]=z.useState(()=>H1(mq(e),E=>d(E,k))),[I]=z.useState(YS(h,P));return ff(()=>{for(const E of i)E in k&&co(I[E],k[E]);return()=>{Object.values(I).map(W1)}},[k,I,P]),ff(()=>{d(P,k)}),z.useImperativeHandle(C,XS(p(P))),z.createElement(u.Provider,{value:P},n?z.createElement(n,gq([...r,...o,...i],k),_):_)}),usePublisher:x=>z.useCallback(oP(Ir,z.useContext(u)[x]),[x]),useEmitterValue:x=>{const _=z.useContext(u)[x],[k,P]=z.useState(YS(Eh,_));return ff(()=>co(_,I=>{I!==k&&P(XS(I))}),[_,k]),k},useEmitter:(x,C)=>{const k=z.useContext(u)[x];ff(()=>co(k,C),[C,k])}}}const yq=typeof document<"u"?z.useLayoutEffect:z.useEffect,bq=yq;var V1=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(V1||{});const xq={0:"debug",1:"log",2:"warn",3:"error"},wq=()=>typeof globalThis>"u"?window:globalThis,aP=Ys(()=>{const e=Bt(3);return{log:Bt((n,r,o=1)=>{var s;const i=(s=wq().VIRTUOSO_LOG_LEVEL)!=null?s:Eh(e);o>=i&&console[xq[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function iP(e,t=!0){const n=z.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=z.useMemo(()=>new ResizeObserver(s=>{const i=s[0].target;i.offsetParent!==null&&e(i)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function Oh(e,t=!0){return iP(e,t).callbackRef}function Np(e,t){return Math.round(e.getBoundingClientRect()[t])}function lP(e,t){return Math.abs(e-t)<1.01}function cP(e,t,n,r=Ih,o){const s=z.useRef(null),i=z.useRef(null),u=z.useRef(null),d=z.useCallback(g=>{const v=g.target,b=v===window||v===document,S=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,x=b?document.documentElement.scrollHeight:v.scrollHeight,C=b?window.innerHeight:v.offsetHeight,_=()=>{e({scrollTop:Math.max(S,0),scrollHeight:x,viewportHeight:C})};g.suppressFlushSync?_():g8.flushSync(_),i.current!==null&&(S===i.current||S<=0||S===x-C)&&(i.current=null,t(!0),u.current&&(clearTimeout(u.current),u.current=null))},[e,t]);z.useEffect(()=>{const g=o||s.current;return r(o||s.current),d({target:g,suppressFlushSync:!0}),g.addEventListener("scroll",d,{passive:!0}),()=>{r(null),g.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(g){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=g.behavior==="smooth";let S,x,C;v===window?(x=Math.max(Np(document.documentElement,"height"),document.documentElement.scrollHeight),S=window.innerHeight,C=document.documentElement.scrollTop):(x=v.scrollHeight,S=Np(v,"height"),C=v.scrollTop);const _=x-S;if(g.top=Math.ceil(Math.max(Math.min(_,g.top),0)),lP(S,x)||g.top===C){e({scrollTop:C,scrollHeight:x,viewportHeight:S}),b&&t(!0);return}b?(i.current=g.top,u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null,i.current=null,t(!0)},1e3)):i.current=null,v.scrollTo(g)}function h(g){s.current.scrollBy(g)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const Mh=Ys(()=>{const e=hr(),t=hr(),n=Bt(0),r=hr(),o=Bt(0),s=hr(),i=hr(),u=Bt(0),d=Bt(0),p=Bt(0),h=Bt(0),g=hr(),v=hr(),b=Bt(!1);return zn(Ht(e,Qn(({scrollTop:S})=>S)),t),zn(Ht(e,Qn(({scrollHeight:S})=>S)),i),zn(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:u,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:i,smoothScrollTargetReached:r,scrollTo:g,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),Sq=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function Cq(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!Sq)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const $p="up",eu="down",_q="none",kq={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},jq=0,uP=Ys(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const i=Bt(!1),u=Bt(!0),d=hr(),p=hr(),h=Bt(4),g=Bt(jq),v=$l(Ht(eC(Ht(fn(t),F0(1),Ha(!0)),Ht(fn(t),F0(1),Ha(!1),ZS(100))),vo()),!1),b=$l(Ht(eC(Ht(s,Ha(!0)),Ht(s,Ha(!1),ZS(200))),vo()),!1);zn(Ht(ca(fn(t),fn(g)),Qn(([k,P])=>k<=P),vo()),u),zn(Ht(u,Vc(50)),p);const S=Zc(Ht(ca(e,fn(n),fn(r),fn(o),fn(h)),df((k,[{scrollTop:P,scrollHeight:I},E,O,R,D])=>{const T=P+E-I>-D,B={viewportHeight:E,scrollTop:P,scrollHeight:I};if(T){let J,F;return P>k.state.scrollTop?(J="SCROLLED_DOWN",F=k.state.scrollTop-P):(J="SIZE_DECREASED",F=k.state.scrollTop-P||k.scrollTopDelta),{atBottom:!0,state:B,atBottomBecause:J,scrollTopDelta:F}}let W;return B.scrollHeight>k.state.scrollHeight?W="SIZE_INCREASED":Ek&&k.atBottom===P.atBottom))),x=$l(Ht(e,df((k,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(lP(k.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return k.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:k.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Wr(k=>k.changed),Qn(k=>k.jump)),0);zn(Ht(S,Qn(k=>k.atBottom)),i),zn(Ht(i,Vc(50)),d);const C=Bt(eu);zn(Ht(e,Qn(({scrollTop:k})=>k),vo(),df((k,P)=>Eh(b)?{direction:k.direction,prevScrollTop:P}:{direction:Pk.direction)),C),zn(Ht(e,Vc(50),Ha(_q)),C);const _=Bt(0);return zn(Ht(v,Wr(k=>!k),Ha(0)),_),zn(Ht(t,Vc(100),$s(v),Wr(([k,P])=>!!P),df(([k,P],[I])=>[P,I],[0,0]),Qn(([k,P])=>P-k)),_),{isScrolling:v,isAtTop:u,isAtBottom:i,atBottomState:S,atTopStateChange:p,atBottomStateChange:d,scrollDirection:C,atBottomThreshold:h,atTopThreshold:g,scrollVelocity:_,lastJumpDueToItemResize:x}},Gi(Mh)),Pq=Ys(([{log:e}])=>{const t=Bt(!1),n=Zc(Ht(t,Wr(r=>r),vo()));return co(t,r=>{r&&Eh(e)("props updated",{},V1.DEBUG)}),{propsReady:t,didMount:n}},Gi(aP),{singleton:!0});function dP(e,t){e==0?t():requestAnimationFrame(()=>dP(e-1,t))}function Iq(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function H0(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function Eq(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const zp="top",Lp="bottom",tC="none";function nC(e,t,n){return typeof e=="number"?n===$p&&t===zp||n===eu&&t===Lp?e:0:n===$p?t===zp?e.main:e.reverse:t===Lp?e.main:e.reverse}function rC(e,t){return typeof e=="number"?e:e[t]||0}const Oq=Ys(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=hr(),i=Bt(0),u=Bt(0),d=Bt(0),p=$l(Ht(ca(fn(e),fn(t),fn(r),fn(s,H0),fn(d),fn(i),fn(o),fn(n),fn(u)),Qn(([h,g,v,[b,S],x,C,_,k,P])=>{const I=h-k,E=C+_,O=Math.max(v-I,0);let R=tC;const D=rC(P,zp),T=rC(P,Lp);return b-=k,b+=v+_,S+=v+_,S-=k,b>h+E-D&&(R=$p),Sh!=null),vo(H0)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:i,increaseViewportBy:u,visibleRange:p}},Gi(Mh),{singleton:!0}),Mq=Ys(([{scrollVelocity:e}])=>{const t=Bt(!1),n=hr(),r=Bt(!1);return zn(Ht(e,$s(r,t,n),Wr(([o,s])=>!!s),Qn(([o,s,i,u])=>{const{exit:d,enter:p}=s;if(i){if(d(o,u))return!1}else if(p(o,u))return!0;return i}),vo()),t),co(Ht(ca(t,e,n),$s(r)),([[o,s,i],u])=>o&&u&&u.change&&u.change(s,i)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},Gi(uP),{singleton:!0});function Rq(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const Dq=Ys(([{scrollTo:e,scrollContainerState:t}])=>{const n=hr(),r=hr(),o=hr(),s=Bt(!1),i=Bt(void 0);return zn(Ht(ca(n,r),Qn(([{viewportHeight:u,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:u}))),t),zn(Ht(e,$s(r),Qn(([u,{offsetTop:d}])=>({...u,top:u.top+d}))),o),{useWindowScroll:s,customScrollParent:i,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},Gi(Mh)),Ag="-webkit-sticky",oC="sticky",fP=Rq(()=>{if(typeof document>"u")return oC;const e=document.createElement("div");return e.style.position=Ag,e.style.position===Ag?Ag:oC});function Aq(e,t){const n=z.useRef(null),r=z.useCallback(u=>{if(u===null||!u.offsetParent)return;const d=u.getBoundingClientRect(),p=d.width;let h,g;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),g=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),g=d.top+window.pageYOffset;n.current={offsetTop:g,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=iP(r),i=z.useCallback(()=>{r(s.current)},[r,s]);return z.useEffect(()=>{if(t){t.addEventListener("scroll",i);const u=new ResizeObserver(i);return u.observe(t),()=>{t.removeEventListener("scroll",i),u.unobserve(t)}}else return window.addEventListener("scroll",i),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}},[i,t]),o}z.createContext(void 0);const pP=z.createContext(void 0);function Tq(e){return e}fP();const Nq={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},hP={width:"100%",height:"100%",position:"absolute",top:0};fP();function Pi(e,t){if(typeof e!="string")return{context:t}}function $q({usePublisher:e,useEmitter:t,useEmitterValue:n}){return z.memo(function({style:s,children:i,...u}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),g=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:S,scrollToCallback:x}=cP(d,h,p,g);return t("scrollTo",x),t("scrollBy",S),z.createElement(p,{ref:b,style:{...Nq,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...u,...Pi(p,v)},i)})}function zq({usePublisher:e,useEmitter:t,useEmitterValue:n}){return z.memo(function({style:s,children:i,...u}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),g=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),S=n("context"),{scrollerRef:x,scrollByCallback:C,scrollToCallback:_}=cP(d,h,p,Ih,b);return bq(()=>(x.current=b||window,()=>{x.current=null}),[x,b]),t("windowScrollTo",_),t("scrollBy",C),z.createElement(p,{style:{position:"relative",...s,...g!==0?{height:g+v}:{}},"data-virtuoso-scroller":!0,...u,...Pi(p,S)},i)})}const sC={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Lq={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:aC,ceil:iC,floor:Bp,min:Tg,max:tu}=Math;function Bq(e){return{...Lq,items:e}}function lC(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function Fq(e,t){return e&&e.column===t.column&&e.row===t.row}function pf(e,t){return e&&e.width===t.width&&e.height===t.height}const Hq=Ys(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:i,smoothScrollTargetReached:u,scrollContainerState:d,footerHeight:p,headerHeight:h},g,v,{propsReady:b,didMount:S},{windowViewportRect:x,useWindowScroll:C,customScrollParent:_,windowScrollContainerState:k,windowScrollTo:P},I])=>{const E=Bt(0),O=Bt(0),R=Bt(sC),D=Bt({height:0,width:0}),T=Bt({height:0,width:0}),B=hr(),W=hr(),J=Bt(0),F=Bt(null),N=Bt({row:0,column:0}),G=hr(),K=hr(),M=Bt(!1),U=Bt(0),V=Bt(!0),ee=Bt(!1);co(Ht(S,$s(U),Wr(([H,re])=>!!re)),()=>{Ir(V,!1),Ir(O,0)}),co(Ht(ca(S,V,T,D,U,ee),Wr(([H,re,pe,ne,,ve])=>H&&!re&&pe.height!==0&&ne.height!==0&&!ve)),([,,,,H])=>{Ir(ee,!0),dP(1,()=>{Ir(B,H)}),JS(Ht(r),()=>{Ir(n,[0,0]),Ir(V,!0)})}),zn(Ht(K,Wr(H=>H!=null&&H.scrollTop>0),Ha(0)),O),co(Ht(S,$s(K),Wr(([,H])=>H!=null)),([,H])=>{H&&(Ir(D,H.viewport),Ir(T,H==null?void 0:H.item),Ir(N,H.gap),H.scrollTop>0&&(Ir(M,!0),JS(Ht(r,F0(1)),re=>{Ir(M,!1)}),Ir(i,{top:H.scrollTop})))}),zn(Ht(D,Qn(({height:H})=>H)),o),zn(Ht(ca(fn(D,pf),fn(T,pf),fn(N,(H,re)=>H&&H.column===re.column&&H.row===re.row),fn(r)),Qn(([H,re,pe,ne])=>({viewport:H,item:re,gap:pe,scrollTop:ne}))),G),zn(Ht(ca(fn(E),t,fn(N,Fq),fn(T,pf),fn(D,pf),fn(F),fn(O),fn(M),fn(V),fn(U)),Wr(([,,,,,,,H])=>!H),Qn(([H,[re,pe],ne,ve,de,Ce,Re,,ge,_e])=>{const{row:We,column:Le}=ne,{height:Ue,width:jt}=ve,{width:vt}=de;if(Re===0&&(H===0||vt===0))return sC;if(jt===0){const In=Iq(_e,H),ln=In===0?Math.max(Re-1,0):In;return Bq(lC(In,ln,Ce))}const jn=mP(vt,jt,Le);let Pt,bt;ge?re===0&&pe===0&&Re>0?(Pt=0,bt=Re-1):(Pt=jn*Bp((re+We)/(Ue+We)),bt=jn*iC((pe+We)/(Ue+We))-1,bt=Tg(H-1,tu(bt,jn-1)),Pt=Tg(bt,tu(0,Pt))):(Pt=0,bt=-1);const be=lC(Pt,bt,Ce),{top:Ae,bottom:Et}=cC(de,ne,ve,be),Ft=iC(H/jn),_n=Ft*Ue+(Ft-1)*We-Et;return{items:be,offsetTop:Ae,offsetBottom:_n,top:Ae,bottom:Et,itemHeight:Ue,itemWidth:jt}})),R),zn(Ht(F,Wr(H=>H!==null),Qn(H=>H.length)),E),zn(Ht(ca(D,T,R,N),Wr(([H,re,{items:pe}])=>pe.length>0&&re.height!==0&&H.height!==0),Qn(([H,re,{items:pe},ne])=>{const{top:ve,bottom:de}=cC(H,ne,re,pe);return[ve,de]}),vo(H0)),n);const ie=Bt(!1);zn(Ht(r,$s(ie),Qn(([H,re])=>re||H!==0)),ie);const xe=Zc(Ht(fn(R),Wr(({items:H})=>H.length>0),$s(E,ie),Wr(([{items:H},re,pe])=>pe&&H[H.length-1].index===re-1),Qn(([,H])=>H-1),vo())),me=Zc(Ht(fn(R),Wr(({items:H})=>H.length>0&&H[0].index===0),Ha(0),vo())),ae=Zc(Ht(fn(R),$s(M),Wr(([{items:H},re])=>H.length>0&&!re),Qn(([{items:H}])=>({startIndex:H[0].index,endIndex:H[H.length-1].index})),vo(Eq),Vc(0)));zn(ae,v.scrollSeekRangeChanged),zn(Ht(B,$s(D,T,E,N),Qn(([H,re,pe,ne,ve])=>{const de=Cq(H),{align:Ce,behavior:Re,offset:ge}=de;let _e=de.index;_e==="LAST"&&(_e=ne-1),_e=tu(0,_e,Tg(ne-1,_e));let We=W0(re,ve,pe,_e);return Ce==="end"?We=aC(We-re.height+pe.height):Ce==="center"&&(We=aC(We-re.height/2+pe.height/2)),ge&&(We+=ge),{top:We,behavior:Re}})),i);const te=$l(Ht(R,Qn(H=>H.offsetBottom+H.bottom)),0);return zn(Ht(x,Qn(H=>({width:H.visibleWidth,height:H.visibleHeight}))),D),{data:F,totalCount:E,viewportDimensions:D,itemDimensions:T,scrollTop:r,scrollHeight:W,overscan:e,scrollBy:s,scrollTo:i,scrollToIndex:B,smoothScrollTargetReached:u,windowViewportRect:x,windowScrollTo:P,useWindowScroll:C,customScrollParent:_,windowScrollContainerState:k,deviation:J,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:N,restoreStateFrom:K,...v,initialTopMostItemIndex:U,gridState:R,totalListHeight:te,...g,startReached:me,endReached:xe,rangeChanged:ae,stateChanged:G,propsReady:b,stateRestoreInProgress:M,...I}},Gi(Oq,Mh,uP,Mq,Pq,Dq,aP));function cC(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=W0(e,t,n,r[0].index),i=W0(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:i}}function W0(e,t,n,r){const o=mP(e.width,n.width,t.column),s=Bp(r/o),i=s*n.height+tu(0,s-1)*t.row;return i>0?i+t.row:i}function mP(e,t,n){return tu(1,Bp((e+n)/(Bp(t)+n)))}const Wq=Ys(()=>{const e=Bt(p=>`Item ${p}`),t=Bt({}),n=Bt(null),r=Bt("virtuoso-grid-item"),o=Bt("virtuoso-grid-list"),s=Bt(Tq),i=Bt("div"),u=Bt(Ih),d=(p,h=null)=>$l(Ht(t,Qn(g=>g[p]),vo()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:i,scrollerRef:u,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),Vq=Ys(([e,t])=>({...e,...t}),Gi(Hq,Wq)),Uq=z.memo(function(){const t=nr("gridState"),n=nr("listClassName"),r=nr("itemClassName"),o=nr("itemContent"),s=nr("computeItemKey"),i=nr("isSeeking"),u=ms("scrollHeight"),d=nr("ItemComponent"),p=nr("ListComponent"),h=nr("ScrollSeekPlaceholder"),g=nr("context"),v=ms("itemDimensions"),b=ms("gap"),S=nr("log"),x=nr("stateRestoreInProgress"),C=Oh(_=>{const k=_.parentElement.parentElement.scrollHeight;u(k);const P=_.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:uC("row-gap",getComputedStyle(_).rowGap,S),column:uC("column-gap",getComputedStyle(_).columnGap,S)})});return x?null:z.createElement(p,{ref:C,className:n,...Pi(p,g),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(_=>{const k=s(_.index,_.data,g);return i?z.createElement(h,{key:k,...Pi(h,g),index:_.index,height:t.itemHeight,width:t.itemWidth}):z.createElement(d,{...Pi(d,g),className:r,"data-index":_.index,key:k},o(_.index,_.data,g))}))}),Gq=z.memo(function(){const t=nr("HeaderComponent"),n=ms("headerHeight"),r=nr("headerFooterTag"),o=Oh(i=>n(Np(i,"height"))),s=nr("context");return t?z.createElement(r,{ref:o},z.createElement(t,Pi(t,s))):null}),qq=z.memo(function(){const t=nr("FooterComponent"),n=ms("footerHeight"),r=nr("headerFooterTag"),o=Oh(i=>n(Np(i,"height"))),s=nr("context");return t?z.createElement(r,{ref:o},z.createElement(t,Pi(t,s))):null}),Kq=({children:e})=>{const t=z.useContext(pP),n=ms("itemDimensions"),r=ms("viewportDimensions"),o=Oh(s=>{r(s.getBoundingClientRect())});return z.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),z.createElement("div",{style:hP,ref:o},e)},Qq=({children:e})=>{const t=z.useContext(pP),n=ms("windowViewportRect"),r=ms("itemDimensions"),o=nr("customScrollParent"),s=Aq(n,o);return z.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),z.createElement("div",{ref:s,style:hP},e)},Yq=z.memo(function({...t}){const n=nr("useWindowScroll"),r=nr("customScrollParent"),o=r||n?Zq:Jq,s=r||n?Qq:Kq;return z.createElement(o,{...t},z.createElement(s,null,z.createElement(Gq,null),z.createElement(Uq,null),z.createElement(qq,null)))}),{Component:Xq,usePublisher:ms,useEmitterValue:nr,useEmitter:gP}=vq(Vq,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},Yq),Jq=$q({usePublisher:ms,useEmitterValue:nr,useEmitter:gP}),Zq=zq({usePublisher:ms,useEmitterValue:nr,useEmitter:gP});function uC(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,V1.WARN),t==="normal"?0:parseInt(t??"0",10)}const vP=Xq,eK=({image:e})=>{const t=f.useMemo(()=>{var n,r;if(v8((n=e.metadata)==null?void 0:n.model))return(r=e.metadata)==null?void 0:r.model},[e.metadata]);return a.jsxs(L,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:[a.jsxs(Za,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]}),t&&a.jsx(Za,{variant:"solid",colorScheme:"base",children:t})]})},Rh=({postUploadAction:e,isDisabled:t})=>{const n=$(d=>d.gallery.autoAddBoardId),[r]=E4(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n})},[n,e,r]),{getRootProps:s,getInputProps:i,open:u}=Zv({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:i,openUploader:u}},U1=()=>{const e=Z(),t=tc(),{t:n}=ue(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),i=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),u=f.useCallback((I,E)=>{if(Id(I)||Ed(E)){Id(I)&&e(Qc(I)),Ed(E)&&e(Yc(E)),r();return}o()},[e,r,o]),d=f.useCallback(I=>{if(!Id(I)){o();return}e(Qc(I)),r()},[e,r,o]),p=f.useCallback(I=>{if(!Ed(I)){o();return}e(Yc(I)),r()},[e,r,o]),h=f.useCallback(I=>{if(!nx(I)){o();return}e(If(I)),r()},[e,r,o]),g=f.useCallback(I=>{if(!rx(I)){o();return}e(Ef(I)),r()},[e,r,o]),v=f.useCallback(I=>{if(!ox(I)){o();return}e(Qg(I)),r()},[e,r,o]),b=f.useCallback(I=>{if(!sx(I)){o();return}e(Yg(I)),r()},[e,r,o]),S=f.useCallback(I=>{if(!ax(I)){o();return}e(Of(I)),r()},[e,r,o]),x=f.useCallback(I=>{if(!ix(I)){o();return}e(zl(I)),r()},[e,r,o]),C=f.useCallback(I=>{if(!lx(I)){o();return}e(Ll(I)),r()},[e,r,o]),_=f.useCallback(I=>{if(!cx(I)){o();return}e(Mf(I)),r()},[e,r,o]),k=f.useCallback(I=>{e(pv(I))},[e]),P=f.useCallback(I=>{if(!I){i();return}const{cfg_scale:E,height:O,model:R,positive_prompt:D,negative_prompt:T,scheduler:B,seed:W,steps:J,width:F,strength:N}=I;rx(E)&&e(Ef(E)),ox(R)&&e(Qg(R)),Id(D)&&e(Qc(D)),Ed(T)&&e(Yc(T)),sx(B)&&e(Yg(B)),nx(W)&&e(If(W)),ax(J)&&e(Of(J)),ix(F)&&e(zl(F)),lx(O)&&e(Ll(O)),cx(N)&&e(Mf(N)),s()},[i,s,e]);return{recallBothPrompts:u,recallPositivePrompt:d,recallNegativePrompt:p,recallSeed:h,recallCfgScale:g,recallModel:v,recallScheduler:b,recallSteps:S,recallWidth:x,recallHeight:C,recallStrength:_,recallAllParameters:P,sendToImageToImage:k}},G1=()=>{const e=tc(),{t}=ue(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const i=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[i.type]:i})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};hv("gallery/requestedBoardImagesDeletion");const tK=hv("gallery/sentImageToCanvas"),yP=hv("gallery/sentImageToImg2Img");function nK(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),i=f.useRef(null),u=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),g=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,S=!("trailing"in n)||!!n.trailing,x="maxWait"in n,C=x?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return g.current=!0,function(){g.current=!1}},[]);var _=f.useMemo(function(){var k=function(D){var T=u.current,B=d.current;return u.current=d.current=null,s.current=D,p.current=h.current.apply(B,T)},P=function(D,T){v&&cancelAnimationFrame(i.current),i.current=v?requestAnimationFrame(D):setTimeout(D,T)},I=function(D){if(!g.current)return!1;var T=D-o.current;return!o.current||T>=t||T<0||x&&D-s.current>=C},E=function(D){return i.current=null,S&&u.current?k(D):(u.current=d.current=null,p.current)},O=function D(){var T=Date.now();if(I(T))return E(T);if(g.current){var B=t-(T-o.current),W=x?Math.min(B,C-(T-s.current)):B;P(D,W)}},R=function(){var D=Date.now(),T=I(D);if(u.current=[].slice.call(arguments),d.current=r,o.current=D,T){if(!i.current&&g.current)return s.current=o.current,P(O,t),b?k(o.current):p.current;if(x)return P(O,t),k(o.current)}return i.current||P(O,t),p.current};return R.cancel=function(){i.current&&(v?cancelAnimationFrame(i.current):clearTimeout(i.current)),s.current=0,u.current=o.current=d.current=i.current=null},R.isPending=function(){return!!i.current},R.flush=function(){return i.current?E(Date.now()):p.current},R},[b,x,t,C,S,v]);return _}function rK(e,t){return e===t}function dC(e){return typeof e=="function"?function(){return e}:e}function q1(e,t,n){var r,o,s=n&&n.equalityFn||rK,i=(r=f.useState(dC(e)),o=r[1],[r[0],f.useCallback(function(g){return o(dC(g))},[])]),u=i[0],d=i[1],p=nK(f.useCallback(function(g){return d(g)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[u,p]}const oK=e=>{const{imageDTO:t}=e,n=f.useMemo(()=>he([mt],({gallery:N})=>({isInBatch:N.batchImageNames.includes(t.image_name)}),Ke),[t.image_name]),{isInBatch:r}=$(n),o=Z(),{t:s}=ue(),i=tc(),u=yr("unifiedCanvas").isFeatureEnabled,d=yr("batches").isFeatureEnabled,{onClickAddToBoard:p}=f.useContext(A4),[h,g]=q1(t.image_name,500),{currentData:v}=mv(g.isPending()?Xr.skipToken:h??Xr.skipToken),{isClipboardAPIAvailable:b,copyImageToClipboard:S}=G1(),x=v==null?void 0:v.metadata,C=f.useCallback(()=>{t&&o(gv(t))},[o,t]),{recallBothPrompts:_,recallSeed:k,recallAllParameters:P}=U1(),[I]=y8(),E=f.useCallback(()=>{_(x==null?void 0:x.positive_prompt,x==null?void 0:x.negative_prompt)},[x==null?void 0:x.negative_prompt,x==null?void 0:x.positive_prompt,_]),O=f.useCallback(()=>{k(x==null?void 0:x.seed)},[x==null?void 0:x.seed,k]),R=f.useCallback(()=>{o(yP()),o(pv(t))},[o,t]),D=f.useCallback(()=>{o(tK()),o(b8(t)),o(Jp()),o(xl("unifiedCanvas")),i({title:s("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[o,t,s,i]),T=f.useCallback(()=>{console.log(x),P(x)},[x,P]),B=f.useCallback(()=>{p(t)},[t,p]),W=f.useCallback(()=>{t.board_id&&I({imageDTO:t})},[t,I]),J=f.useCallback(()=>{o(x8([t.image_name]))},[o,t.image_name]),F=f.useCallback(()=>{S(t.image_url)},[S,t.image_url]);return a.jsxs(a.Fragment,{children:[a.jsx(Qa,{href:t.image_url,target:"_blank",children:a.jsx(ao,{icon:a.jsx(eL,{}),children:s("common.openInNewTab")})}),b&&a.jsx(ao,{icon:a.jsx(cc,{}),onClickCapture:F,children:s("parameters.copyImage")}),a.jsx(Qa,{download:!0,href:t.image_url,target:"_blank",children:a.jsx(ao,{icon:a.jsx(v1,{}),w:"100%",children:s("parameters.downloadImage")})}),a.jsx(ao,{icon:a.jsx(w_,{}),onClickCapture:E,isDisabled:(x==null?void 0:x.positive_prompt)===void 0&&(x==null?void 0:x.negative_prompt)===void 0,children:s("parameters.usePrompt")}),a.jsx(ao,{icon:a.jsx(S_,{}),onClickCapture:O,isDisabled:(x==null?void 0:x.seed)===void 0,children:s("parameters.useSeed")}),a.jsx(ao,{icon:a.jsx(f_,{}),onClickCapture:T,isDisabled:!x,children:s("parameters.useAll")}),a.jsx(ao,{icon:a.jsx(Y2,{}),onClickCapture:R,id:"send-to-img2img",children:s("parameters.sendToImg2Img")}),u&&a.jsx(ao,{icon:a.jsx(Y2,{}),onClickCapture:D,id:"send-to-canvas",children:s("parameters.sendToUnifiedCanvas")}),d&&a.jsx(ao,{icon:a.jsx(kg,{}),isDisabled:r,onClickCapture:J,children:"Add to Batch"}),a.jsx(ao,{icon:a.jsx(kg,{}),onClickCapture:B,children:t.board_id?"Change Board":"Add to Board"}),t.board_id&&a.jsx(ao,{icon:a.jsx(kg,{}),onClickCapture:W,children:"Remove from Board"}),a.jsx(ao,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Xo,{}),onClickCapture:C,children:s("gallery.deleteImage")})]})},bP=f.memo(oK),sK=({imageDTO:e,children:t})=>{const n=f.useCallback(r=>{r.preventDefault()},[]);return a.jsx(j_,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?a.jsx(ic,{sx:{visibility:"visible !important"},motionProps:Cv,onContextMenu:n,children:a.jsx(bP,{imageDTO:e})}):null,children:t})},xP=f.memo(sK),aK=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(Ka()),{attributes:s,listeners:i,setNodeRef:u}=w8({id:o.current,disabled:n,data:t});return a.jsx($e,{onClick:r,ref:u,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...i})},iK=f.memo(aK),lK=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:i=!1,isDropDisabled:u=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:g,imageSx:v,fitContainer:b=!1,droppableData:S,draggableData:x,dropLabel:C,isSelected:_=!1,thumbnail:k=!1,resetTooltip:P="Reset",resetIcon:I=a.jsx(b1,{}),noContentFallback:E=a.jsx(Ja,{icon:Ti}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:D}=xs(),[T,B]=f.useState(!1),W=f.useCallback(()=>{B(!0)},[]),J=f.useCallback(()=>{B(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:N}=Rh({postUploadAction:g,isDisabled:p}),G=gf("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),K=p?{}:{cursor:"pointer",bg:Me("base.200","base.800")(D),_hover:{bg:Me("base.300","base.650")(D),color:Me("base.500","base.300")(D)}};return a.jsx(xP,{imageDTO:t,children:M=>a.jsxs(L,{ref:M,onMouseOver:W,onMouseOut:J,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&a.jsxs(L,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[a.jsx(rc,{src:k?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:a.jsx(iq,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),i&&a.jsx(eK,{image:t}),a.jsx(k1,{isSelected:_,isHovered:R?T:!1})]}),!t&&!p&&a.jsx(a.Fragment,{children:a.jsxs(L,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Me("base.500","base.500")(D),...K},...F(),children:[a.jsx("input",{...N()}),a.jsx(io,{as:Fu,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&a.jsx(iK,{data:x,disabled:d||!t,onClick:o}),!u&&a.jsx(S1,{data:S,disabled:u,dropLabel:C}),n&&s&&t&&a.jsx(je,{onClick:n,"aria-label":P,tooltip:P,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:G}}})]})})},ri=f.memo(lK),cK=()=>a.jsx($e,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.100",color:"base.500",_dark:{color:"base.700",bg:"base.850"}},children:a.jsx(io,{as:Xz,boxSize:16,opacity:.7})})}),wP=()=>a.jsx(ah,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:a.jsx($e,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),uK=e=>he([mt],t=>({selectionCount:t.gallery.selection.length,selection:t.gallery.selection,isSelected:t.gallery.selection.includes(e)}),Ke),dK=e=>{const t=Z(),{imageName:n}=e,{currentData:r,isLoading:o,isError:s,isSuccess:i}=Uo(n),u=f.useMemo(()=>uK(n),[n]),{isSelected:d,selectionCount:p,selection:h}=$(u),g=f.useCallback(()=>{t(S8([n]))},[t,n]),v=f.useCallback(S=>{S.shiftKey?t(C8(n)):S.ctrlKey||S.metaKey?t(_8(n)):t(Rf(n))},[t,n]),b=f.useMemo(()=>{if(p>1)return{id:"batch",payloadType:"IMAGE_NAMES",payload:{image_names:h}};if(r)return{id:"batch",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,h,p]);return o?a.jsx(wP,{}):s||!r?a.jsx(cK,{}):a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none"},children:a.jsx(xP,{imageDTO:r,children:S=>a.jsx($e,{position:"relative",userSelect:"none",ref:S,sx:{display:"flex",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:a.jsx(ri,{onClick:v,imageDTO:r,draggableData:b,isSelected:d,minSize:0,onClickReset:g,isDropDisabled:!0,imageSx:{w:"full",h:"full"},isUploadDisabled:!0,resetTooltip:"Remove from batch",withResetIcon:!0,thumbnail:!0})},n)})})},fK=f.memo(dK),SP=rt((e,t)=>a.jsx($e,{className:"item-container",ref:t,p:1.5,children:e.children})),CP=rt((e,t)=>{const n=$(r=>r.gallery.galleryImageMinimumWidth);return a.jsx(Mi,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),pK=he([mt],e=>({imageNames:e.gallery.batchImageNames}),Ke),hK=()=>{const{t:e}=ue(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=m1({defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}}),{imageNames:i}=$(pK);return f.useEffect(()=>{const{current:u}=t;return n&&u&&o({target:u,elements:{viewport:n}}),()=>{var d;return(d=s())==null?void 0:d.destroy()}},[n,o,s]),i.length?a.jsx($e,{ref:t,"data-overlayscrollbars":"",h:"100%",children:a.jsx(vP,{style:{height:"100%"},data:i,components:{Item:SP,List:CP},scrollerRef:r,itemContent:(u,d)=>a.jsx(fK,{imageName:d},d)})}):a.jsx(Ja,{label:e("gallery.noImagesInGallery"),icon:Ti})},mK=f.memo(hK),gK=e=>he([mt],({gallery:t})=>({isSelected:t.selection.includes(e),selectionCount:t.selection.length,selection:t.selection}),Ke),vK=e=>{const t=Z(),{imageName:n}=e,{currentData:r}=Uo(n),o=f.useMemo(()=>gK(n),[n]),{isSelected:s,selectionCount:i,selection:u}=$(o),d=f.useCallback(g=>{t(Rf(n))},[t,n]),p=f.useCallback(g=>{g.stopPropagation(),r&&t(gv(r))},[t,r]),h=f.useMemo(()=>{if(i>1)return{id:"gallery-image",payloadType:"IMAGE_NAMES",payload:{image_names:u}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,u,i]);return r?a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none"},children:a.jsx(L,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:a.jsx(ri,{onClick:d,imageDTO:r,draggableData:h,isSelected:s,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0})})}):a.jsx(wP,{})},yK=f.memo(vK),bK={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},xK=()=>{const{t:e}=ue(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=m1(bK),i=$(C=>C.gallery.selectedBoardId),{currentViewTotal:u}=C1(i),d=$(T4),{currentData:p,isFetching:h,isSuccess:g,isError:v}=k8(d),[b]=N4(),S=f.useMemo(()=>!p||!u?!1:p.ids.length{S&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:$4})},[S,b,d,p==null?void 0:p.ids.length]);if(f.useEffect(()=>{const{current:C}=t;return n&&C&&o({target:C,elements:{viewport:n}}),()=>{var _;return(_=s())==null?void 0:_.destroy()}},[n,o,s]),!p)return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(Ja,{label:"Loading...",icon:Ti})});if(g&&(p==null?void 0:p.ids.length)===0)return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(Ja,{label:e("gallery.noImagesInGallery"),icon:Ti})});if(g&&p)return a.jsxs(a.Fragment,{children:[a.jsx($e,{ref:t,"data-overlayscrollbars":"",h:"100%",children:a.jsx(vP,{style:{height:"100%"},data:p.ids,endReached:x,components:{Item:SP,List:CP},scrollerRef:r,itemContent:(C,_)=>a.jsx(yK,{imageName:_},_)})}),a.jsx(Xt,{onClick:x,isDisabled:!S,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${u})`})]});if(v)return a.jsx($e,{sx:{w:"full",h:"full"},children:a.jsx(Ja,{label:"Unable to load Gallery",icon:m_})})},wK=f.memo(xK),SK=he([mt],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{selectedBoardId:t,galleryView:n}},Ke),CK=()=>{const e=f.useRef(null),t=f.useRef(null),{selectedBoardId:n,galleryView:r}=$(SK),o=Z(),{isOpen:s,onToggle:i}=Ws(),u=f.useCallback(()=>{o(ux("images"))},[o]),d=f.useCallback(()=>{o(ux("assets"))},[o]);return a.jsxs(A6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[a.jsxs($e,{sx:{w:"full"},children:[a.jsxs(L,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[a.jsx(WL,{isOpen:s,onToggle:i}),a.jsx(aq,{}),a.jsx(UL,{})]}),a.jsx($e,{children:a.jsx(BL,{isOpen:s})})]}),a.jsxs(L,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[a.jsx(L,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:a.jsx(Nu,{index:r==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:a.jsx($u,{children:a.jsxs(Yn,{isAttached:!0,sx:{w:"full"},children:[a.jsx(Bl,{as:Xt,size:"sm",isChecked:r==="images",onClick:u,sx:{w:"full"},leftIcon:a.jsx(sL,{}),children:"Images"}),a.jsx(Bl,{as:Xt,size:"sm",isChecked:r==="assets",onClick:d,sx:{w:"full"},leftIcon:a.jsx(vL,{}),children:"Assets"})]})})})}),n==="batch"?a.jsx(mK,{}):a.jsx(wK,{})]})]})},_P=f.memo(CK),_K=he([or,Zr,j8,Jn],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:i}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:i,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Gt}}),kK=()=>{const e=Z(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=$(_K),o=()=>{e(Xg(!1)),t&&e(yo())};Ye("esc",()=>{e(Xg(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return Ye("shift+up",()=>{if(r<256){const i=Vs(r+s,32,256);e(Pf(i))}},[r]),Ye("shift+down",()=>{if(r>32){const i=Vs(r-s,32,256);e(Pf(i))}},[r]),t?null:a.jsx(R5,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:a.jsx(_P,{})})},jK=f.memo(kK),PK=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:i,...u}=e;return a.jsx(Cn,{label:i,hasArrow:!0,placement:"top",isDisabled:!i,children:a.jsxs(ws,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&a.jsx(gs,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),a.jsx(Xv,{...u})]})})},xr=f.memo(PK),IK=he([mt,P8],({system:e,config:t,imageDeletion:n},r)=>{const{shouldConfirmOnDelete:o}=e,{canRestoreDeletedImagesFromBin:s}=t,{imageToDelete:i,isModalOpen:u}=n;return{shouldConfirmOnDelete:o,canRestoreDeletedImagesFromBin:s,imageToDelete:i,imageUsage:r,isModalOpen:u}},Ke),EK=()=>{const e=Z(),{t}=ue(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imageToDelete:o,imageUsage:s,isModalOpen:i}=$(IK),u=f.useCallback(g=>e(z4(!g.target.checked)),[e]),d=f.useCallback(()=>{e(dx()),e(I8(!1))},[e]),p=f.useCallback(()=>{!o||!s||(e(dx()),e(E8({imageDTO:o,imageUsage:s})))},[e,o,s]),h=f.useRef(null);return a.jsx(Du,{isOpen:i,onClose:d,leastDestructiveRef:h,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),a.jsx(ba,{children:a.jsxs(L,{direction:"column",gap:3,children:[a.jsx(u_,{imageUsage:s}),a.jsx(Fi,{}),a.jsx(qe,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),a.jsx(qe,{children:t("common.areYouSure")}),a.jsx(xr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:u})]})}),a.jsxs(ga,{children:[a.jsx(Xt,{ref:h,onClick:d,children:"Cancel"}),a.jsx(Xt,{colorScheme:"error",onClick:p,ml:3,children:"Delete"})]})]})})})},OK=f.memo(EK);function fC(e){for(var t=[],n=1;n{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:i}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:i}},Ke),hC={ok:"green.400",working:"yellow.400",error:"red.400"},mC={ok:"green.600",working:"yellow.500",error:"red.500"},NK=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=$(TK),{t:s}=ue(),i=f.useRef(null),u=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=kP(i);return a.jsxs(L,{ref:i,h:"full",px:2,alignItems:"center",gap:5,children:[a.jsx(Ko,{children:p&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:a.jsxs(qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:mC[u],_dark:{color:hC[u]}},children:[s(o),d]})},"statusText")}),a.jsx(io,{as:Qz,sx:{boxSize:"0.5rem",color:mC[u],_dark:{color:hC[u]}}})]})};function $K(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function zK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 00.12-.61l-1.92-3.32a.488.488 0 00-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 00-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 00-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"}}]})(e)}function LK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function BK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function FK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function HK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function jP(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const WK=()=>{const{colorMode:e,toggleColorMode:t}=xs(),{t:n}=ue();return a.jsx(je,{"aria-label":n(e==="dark"?"common.lightMode":"common.darkMode"),tooltip:n(e==="dark"?"common.lightMode":"common.darkMode"),size:"sm",icon:e==="dark"?a.jsx(bL,{fontSize:19}):a.jsx(pL,{fontSize:18}),onClick:t,variant:"link"})};function VK(e){const{title:t,hotkey:n,description:r}=e;return a.jsxs(Mi,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[a.jsxs(Mi,{children:[a.jsx(qe,{fontWeight:600,children:t}),r&&a.jsx(qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),a.jsx($e,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function UK({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Ws(),{t:o}=ue(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],i=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],u=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>a.jsx(L,{flexDir:"column",gap:4,children:h.map((g,v)=>a.jsxs(L,{flexDir:"column",px:2,gap:4,children:[a.jsx(VK,{title:g.title,description:g.desc,hotkey:g.hotkey}),v{const{data:t}=O8(),n=f.useRef(null),r=kP(n);return a.jsxs(L,{alignItems:"center",gap:3,ps:1,ref:n,children:[a.jsx(rc,{src:R4,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),a.jsxs(L,{sx:{gap:3,alignItems:"center"},children:[a.jsxs(qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",a.jsx("strong",{children:"ai"})]}),a.jsx(Ko,{children:e&&r&&t&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:a.jsx(qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})};function GK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}function qK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M478.33 433.6l-90-218a22 22 0 00-40.67 0l-90 218a22 22 0 1040.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 00458 464a22 22 0 0020.32-30.4zM334.83 362L368 281.65 401.17 362zm-66.99-19.08a22 22 0 00-4.89-30.7c-.2-.15-15-11.13-36.49-34.73 39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 000-44H214V70a22 22 0 00-44 0v20H54a22 22 0 000 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 00-40.58 17c.58 1.38 14.55 34.23 52.86 83.93.92 1.19 1.83 2.35 2.74 3.51-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1021.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59 22.52 24.08 38 35.44 38.93 36.1a22 22 0 0030.75-4.9z"}}]})(e)}const KK={ar:pr.t("common.langArabic",{lng:"ar"}),nl:pr.t("common.langDutch",{lng:"nl"}),en:pr.t("common.langEnglish",{lng:"en"}),fr:pr.t("common.langFrench",{lng:"fr"}),de:pr.t("common.langGerman",{lng:"de"}),he:pr.t("common.langHebrew",{lng:"he"}),it:pr.t("common.langItalian",{lng:"it"}),ja:pr.t("common.langJapanese",{lng:"ja"}),ko:pr.t("common.langKorean",{lng:"ko"}),pl:pr.t("common.langPolish",{lng:"pl"}),pt_BR:pr.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:pr.t("common.langPortuguese",{lng:"pt"}),ru:pr.t("common.langRussian",{lng:"ru"}),zh_CN:pr.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:pr.t("common.langSpanish",{lng:"es"}),uk:pr.t("common.langUkranian",{lng:"ua"})};function QK(){const{t:e}=ue(),t=Z(),n=$(L4);return a.jsxs(Mu,{closeOnSelect:!1,children:[a.jsx(Cn,{label:e("common.languagePickerLabel"),hasArrow:!0,children:a.jsx(Ru,{as:qa,icon:a.jsx(qK,{}),variant:"link","aria-label":e("common.languagePickerLabel"),fontSize:22,minWidth:8})}),a.jsx(ic,{children:a.jsx(Uv,{value:n,children:Ss(KK,(r,o)=>a.jsx(iu,{value:o,onClick:()=>t(M8(o)),children:r},o))})})]})}const YK=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...i}=e,u=tP();return a.jsx(Cn,{label:t,placement:"top",hasArrow:!0,children:a.jsx(B1,{label:r?a.jsx(ws,{isRequired:s,isDisabled:o,children:a.jsx(gs,{children:r})}):void 0,disabled:o,ref:n,styles:u,...i})})},Co=f.memo(YK);function sa(e){const{t}=ue(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:i,...u}=e;return a.jsxs(L,{justifyContent:"space-between",py:1,children:[a.jsxs(L,{gap:2,alignItems:"center",children:[a.jsx(qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&a.jsx(Za,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...i,children:s})]}),a.jsx(xr,{...u})]})}function XK(){const e=Z(),{data:t,refetch:n}=R8(),[r,{isLoading:o}]=D8(),s=f.useCallback(()=>{r().unwrap().then(u=>{e(A8()),e(vv()),e(Bn({title:`Cleared ${u} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const i=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:"Clear Intermediates"}),a.jsx(Xt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:i}),a.jsx(qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),a.jsx(qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),a.jsx(qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const JK=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:i,base700:u,base800:d,base900:p,accent200:h,accent300:g,accent400:v,accent500:b,accent600:S}=F1(),{colorMode:x}=xs(),[C]=ec("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Me(u,r)(x)},separatorLabel:{color:Me(s,s)(x),"::after":{borderTopColor:Me(r,u)(x)}},searchInput:{":placeholder":{color:Me(r,u)(x)}},input:{backgroundColor:Me(e,p)(x),borderWidth:"2px",borderColor:Me(n,d)(x),color:Me(p,t)(x),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Me(r,i)(x)},"&:focus":{borderColor:Me(g,S)(x)},"&:is(:focus, :hover)":{borderColor:Me(o,s)(x)},"&:focus-within":{borderColor:Me(h,S)(x)},"&[data-disabled]":{backgroundColor:Me(r,u)(x),color:Me(i,o)(x),cursor:"not-allowed"}},value:{backgroundColor:Me(n,d)(x),color:Me(p,t)(x),button:{color:Me(p,t)(x)},"&:hover":{backgroundColor:Me(r,u)(x),cursor:"pointer"}},dropdown:{backgroundColor:Me(n,d)(x),borderColor:Me(n,d)(x),boxShadow:C},item:{backgroundColor:Me(n,d)(x),color:Me(d,n)(x),padding:6,"&[data-hovered]":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)},"&[data-active]":{backgroundColor:Me(r,u)(x),"&:hover":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)}},"&[data-selected]":{backgroundColor:Me(v,S)(x),color:Me(e,t)(x),fontWeight:600,"&:hover":{backgroundColor:Me(b,b)(x),color:Me("white",e)(x)}},"&[data-disabled]":{color:Me(s,i)(x),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Me(p,t)(x)}}}),[h,g,v,b,S,t,n,r,o,e,s,i,u,d,p,C,x])},ZK=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...i}=e,u=Z(),d=f.useCallback(g=>{g.shiftKey&&u(Go(!0))},[u]),p=f.useCallback(g=>{g.shiftKey||u(Go(!1))},[u]),h=JK();return a.jsx(Cn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:a.jsx(Qj,{label:o?a.jsx(ws,{isDisabled:s,children:a.jsx(gs,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...i})})},eQ=f.memo(ZK),tQ=Ss(B4,e=>({value:e,label:F4[e]})).sort((e,t)=>e.label.localeCompare(t.label));function nQ(){const e=Z(),{t}=ue(),n=$(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(T8(o))},[e]);return a.jsx(eQ,{label:t("settings.favoriteSchedulers"),value:n,data:tQ,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const rQ=he([xo,Zr],(e,t)=>{const{shouldConfirmOnDelete:n,enableImageDebugging:r,consoleLogLevel:o,shouldLogToConsole:s,shouldAntialiasProgressImage:i,isNodesEnabled:u}=e,{shouldUseCanvasBetaLayout:d,shouldUseSliders:p,shouldShowProgressInViewer:h,shouldShowAdvancedOptions:g}=t;return{shouldConfirmOnDelete:n,enableImageDebugging:r,shouldUseCanvasBetaLayout:d,shouldUseSliders:p,shouldShowProgressInViewer:h,consoleLogLevel:o,shouldLogToConsole:s,shouldAntialiasProgressImage:i,shouldShowAdvancedOptions:g,isNodesEnabled:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),oQ=({children:e,config:t})=>{const n=Z(),{t:r}=ue(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,i=(t==null?void 0:t.shouldShowResetWebUiText)??!0,u=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0;f.useEffect(()=>{s||n(fx(!1))},[s,n]);const{isOpen:h,onOpen:g,onClose:v}=Ws(),{isOpen:b,onOpen:S,onClose:x}=Ws(),{shouldConfirmOnDelete:C,enableImageDebugging:_,shouldUseCanvasBetaLayout:k,shouldUseSliders:P,shouldShowProgressInViewer:I,consoleLogLevel:E,shouldLogToConsole:O,shouldAntialiasProgressImage:R,shouldShowAdvancedOptions:D,isNodesEnabled:T}=$(rQ),B=f.useCallback(()=>{Object.keys(window.localStorage).forEach(N=>{(N8.includes(N)||N.startsWith($8))&&localStorage.removeItem(N)}),v(),S()},[v,S]),W=f.useCallback(N=>{n(z8(N))},[n]),J=f.useCallback(N=>{n(fx(N.target.checked))},[n]),F=f.useCallback(N=>{n(L8(N.target.checked))},[n]);return a.jsxs(a.Fragment,{children:[f.cloneElement(e,{onClick:g}),a.jsxs(lu,{isOpen:h,onClose:v,size:"2xl",isCentered:!0,children:[a.jsx(ya,{}),a.jsxs(cu,{children:[a.jsx(va,{bg:"none",children:r("common.settingsLabel")}),a.jsx(Gv,{}),a.jsx(ba,{children:a.jsxs(L,{sx:{gap:4,flexDirection:"column"},children:[a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.general")}),a.jsx(sa,{label:r("settings.confirmOnDelete"),isChecked:C,onChange:N=>n(z4(N.target.checked))}),u&&a.jsx(sa,{label:r("settings.showAdvancedOptions"),isChecked:D,onChange:N=>n(B8(N.target.checked))})]}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.generation")}),a.jsx(nQ,{})]}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.ui")}),a.jsx(sa,{label:r("settings.useSlidersForAll"),isChecked:P,onChange:N=>n(F8(N.target.checked))}),a.jsx(sa,{label:r("settings.showProgressInViewer"),isChecked:I,onChange:N=>n(H4(N.target.checked))}),a.jsx(sa,{label:r("settings.antialiasProgressImages"),isChecked:R,onChange:N=>n(H8(N.target.checked))}),o&&a.jsx(sa,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:k,onChange:N=>n(W8(N.target.checked))}),p&&a.jsx(sa,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:T,onChange:F})]}),s&&a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.developer")}),a.jsx(sa,{label:r("settings.shouldLogToConsole"),isChecked:O,onChange:J}),a.jsx(Co,{disabled:!O,label:r("settings.consoleLogLevel"),onChange:W,value:E,data:V8.concat()}),a.jsx(sa,{label:r("settings.enableImageDebugging"),isChecked:_,onChange:N=>n(U8(N.target.checked))})]}),d&&a.jsx(XK,{}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.resetWebUI")}),a.jsx(Xt,{colorScheme:"error",onClick:B,children:r("settings.resetWebUI")}),i&&a.jsxs(a.Fragment,{children:[a.jsx(qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),a.jsx(qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),a.jsx(ga,{children:a.jsx(Xt,{onClick:v,children:r("common.close")})})]})]}),a.jsxs(lu,{closeOnOverlayClick:!1,isOpen:b,onClose:x,isCentered:!0,children:[a.jsx(ya,{backdropFilter:"blur(40px)"}),a.jsxs(cu,{children:[a.jsx(va,{}),a.jsx(ba,{children:a.jsx(L,{justifyContent:"center",children:a.jsx(qe,{fontSize:"lg",children:a.jsx(qe,{children:r("settings.resetComplete")})})})}),a.jsx(ga,{})]})]})]})},bl=e=>a.jsx(L,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children}),sQ=()=>{const{t:e}=ue(),t=yr("localization").isFeatureEnabled,n=yr("bugLink").isFeatureEnabled,r=yr("discordLink").isFeatureEnabled,o=yr("githubLink").isFeatureEnabled;return a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(PP,{}),a.jsx(Bi,{}),a.jsx(NK,{}),a.jsx(UK,{children:a.jsx(je,{"aria-label":e("common.hotkeysLabel"),tooltip:e("common.hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:a.jsx(lL,{})})}),t&&a.jsx(QK,{}),n&&a.jsx(Qa,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.reportBugLabel"),tooltip:e("common.reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(qz,{})})}),o&&a.jsx(Qa,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.githubLabel"),tooltip:e("common.githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(Bz,{})})}),r&&a.jsx(Qa,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.discordLabel"),tooltip:e("common.discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(Lz,{})})}),a.jsx(WK,{}),a.jsx(oQ,{children:a.jsx(je,{"aria-label":e("common.settingsLabel"),tooltip:e("common.settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:a.jsx(zK,{})})})]})},aQ=f.memo(sQ),iQ=he(xo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),lQ=()=>{const{shouldShow:e,tooltip:t}=$(iQ);return e?a.jsx(L,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:a.jsx(Cn,{label:t,placement:"right",hasArrow:!0,children:a.jsx(oc,{})})}):null},cQ=f.memo(lQ),qi=e=>e.config,{createElement:Gl,createContext:uQ,forwardRef:IP,useCallback:La,useContext:EP,useEffect:ha,useImperativeHandle:OP,useLayoutEffect:dQ,useMemo:fQ,useRef:Ho,useState:nu}=fv,gC=fv["useId".toString()],pQ=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Fp=pQ?dQ:()=>{},hQ=typeof gC=="function"?gC:()=>null;let mQ=0;function K1(e=null){const t=hQ(),n=Ho(e||t||null);return n.current===null&&(n.current=""+mQ++),n.current}const Dh=uQ(null);Dh.displayName="PanelGroupContext";function MP({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:i=null,maxSize:u=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:g=null,style:v={},tagName:b="div"}){const S=EP(Dh);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const x=K1(i),{collapsePanel:C,expandPanel:_,getPanelStyle:k,registerPanel:P,resizePanel:I,unregisterPanel:E}=S,O=Ho({onCollapse:p,onResize:h});if(ha(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(u<0||u>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${u}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=k(x,o),D=Ho({size:vC(R)}),T=Ho({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:x,maxSize:u,minSize:d,order:g});return Fp(()=>{D.current.size=vC(R),T.current.callbacksRef=O,T.current.collapsedSize=n,T.current.collapsible=r,T.current.defaultSize=o,T.current.id=x,T.current.maxSize=u,T.current.minSize=d,T.current.order=g}),Fp(()=>(P(x,T),()=>{E(x)}),[g,x,P,E]),OP(s,()=>({collapse:()=>C(x),expand:()=>_(x),getCollapsed(){return D.current.size===0},getSize(){return D.current.size},resize:B=>I(x,B)}),[C,_,x,I]),Gl(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":x,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${x}`,style:{...R,...v}})}const gu=IP((e,t)=>Gl(MP,{...e,forwardedRef:t}));MP.displayName="Panel";gu.displayName="forwardRef(Panel)";function vC(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const $i=10;function Uc(e,t,n,r,o,s,i,u){const{sizes:d}=u||{},p=d||s;if(o===0)return p;const h=Fo(t),g=p.concat();let v=0;{const x=o<0?r:n,C=h.findIndex(I=>I.current.id===x),_=h[C],k=p[C],P=yC(_,Math.abs(o),k,e);if(k===P)return p;P===0&&k>0&&i.set(x,k),o=o<0?k-P:P-k}let b=o<0?n:r,S=h.findIndex(x=>x.current.id===b);for(;;){const x=h[S],C=p[S],_=Math.abs(o)-Math.abs(v),k=yC(x,0-_,C,e);if(C!==k&&(k===0&&C>0&&i.set(x.current.id,C),v+=C-k,g[S]=k,v.toPrecision($i).localeCompare(Math.abs(o).toPrecision($i),void 0,{numeric:!0})>=0))break;if(o<0){if(--S<0)break}else if(++S>=h.length)break}return v===0?p:(b=o<0?r:n,S=h.findIndex(x=>x.current.id===b),g[S]=p[S]+v,g)}function vl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:i,collapsible:u,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:g}=s.current;g&&g(r,p),u&&h&&((p==null||p===i)&&r!==i?h(!1):p!==i&&r===i&&h(!0))}})}function Ng(e,t){if(t.length<2)return[null,null];const n=t.findIndex(i=>i.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function RP(e,t,n){if(e.size===1)return"100";const o=Fo(e).findIndex(i=>i.current.id===t),s=n[o];return s==null?"0":s.toPrecision($i)}function gQ(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Q1(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function Ah(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function vQ(e){return DP().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function DP(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function AP(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Y1(e,t,n){var d,p,h,g;const r=Ah(t),o=AP(e),s=r?o.indexOf(r):-1,i=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,u=((g=(h=n[s+1])==null?void 0:h.current)==null?void 0:g.id)??null;return[i,u]}function Fo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function yC(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:i,maxSize:u,minSize:d}=e.current;if(i){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:i,panels:u}=e.current,d=Q1(t),{height:p,width:h}=d.getBoundingClientRect(),v=AP(t).map(b=>{const S=b.getAttribute("data-panel-resize-handle-id"),x=Fo(u),[C,_]=Y1(t,S,x);if(C==null||_==null)return()=>{};let k=0,P=100,I=0,E=0;x.forEach(W=>{W.current.id===C?(P=W.current.maxSize,k=W.current.minSize):(I+=W.current.minSize,E+=W.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(k,(x.length-1)*100-E),D=RP(u,C,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(D)));const T=W=>{if(!W.defaultPrevented)switch(W.key){case"Enter":{W.preventDefault();const J=x.findIndex(F=>F.current.id===C);if(J>=0){const F=x[J],N=o[J];if(N!=null){let G=0;N.toPrecision($i)<=F.current.minSize.toPrecision($i)?G=i==="horizontal"?h:p:G=-(i==="horizontal"?h:p);const K=Uc(W,u,C,_,G,o,s.current,null);o!==K&&r(K)}}break}}};b.addEventListener("keydown",T);const B=gQ(C);return B!=null&&b.setAttribute("aria-controls",B.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",T),B!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function bQ({disabled:e,handleId:t,resizeHandler:n}){ha(()=>{if(e||n==null)return;const r=Ah(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const i=DP(),u=vQ(t);TP(u!==null);const d=s.shiftKey?u>0?u-1:i.length-1:u+1{r.removeEventListener("keydown",o)}},[e,t,n])}function xQ(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision($i)===O.current.minSize.toPrecision($i))&&(_=_<0?-O.current.minSize*S:O.current.minSize*S)}return _}else return NP(e,n,o,u,d)}function SQ(e){return e.type==="keydown"}function V0(e){return e.type.startsWith("mouse")}function U0(e){return e.type.startsWith("touch")}let G0=null,Si=null;function $P(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function CQ(){Si!==null&&(document.head.removeChild(Si),G0=null,Si=null)}function $g(e){if(G0===e)return;G0=e;const t=$P(e);Si===null&&(Si=document.createElement("style"),document.head.appendChild(Si)),Si.innerHTML=`*{cursor: ${t}!important;}`}function _Q(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function zP(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function LP(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function kQ(e,t,n){const r=LP(e,n);if(r){const o=zP(t);return r[o]??null}return null}function jQ(e,t,n,r){const o=zP(t),s=LP(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(i){console.error(i)}}const zg={};function bC(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Gc={getItem:e=>(bC(Gc),Gc.getItem(e)),setItem:(e,t)=>{bC(Gc),Gc.setItem(e,t)}};function BP({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:i=null,onLayout:u,storage:d=Gc,style:p={},tagName:h="div"}){const g=K1(i),[v,b]=nu(null),[S,x]=nu(new Map),C=Ho(null),_=Ho({onLayout:u});ha(()=>{_.current.onLayout=u});const k=Ho({}),[P,I]=nu([]),E=Ho(new Map),O=Ho(0),R=Ho({direction:r,panels:S,sizes:P});OP(s,()=>({getLayout:()=>{const{sizes:M}=R.current;return M},setLayout:M=>{const U=M.reduce((xe,me)=>xe+me,0);TP(U===100,"Panel sizes must add up to 100%");const{panels:V}=R.current,ee=k.current,ie=Fo(V);I(M),vl(ie,M,ee)}}),[]),Fp(()=>{R.current.direction=r,R.current.panels=S,R.current.sizes=P}),yQ({committedValuesRef:R,groupId:g,panels:S,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),ha(()=>{const{onLayout:M}=_.current,{panels:U,sizes:V}=R.current;if(V.length>0){M&&M(V);const ee=k.current,ie=Fo(U);vl(ie,V,ee)}},[P]),Fp(()=>{if(R.current.sizes.length===S.size)return;let U=null;if(e){const V=Fo(S);U=kQ(e,V,d)}if(U!=null)I(U);else{const V=Fo(S);let ee=0,ie=0,xe=0;if(V.forEach(me=>{xe+=me.current.minSize,me.current.defaultSize===null?ee++:ie+=me.current.defaultSize}),ie>100)throw new Error("Default panel sizes cannot exceed 100%");if(V.length>1&&ee===0&&ie!==100)throw new Error("Invalid default sizes specified for panels");if(xe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I(V.map(me=>me.current.defaultSize===null?(100-ie)/ee:me.current.defaultSize))}},[e,S,d]),ha(()=>{if(e){if(P.length===0||P.length!==S.size)return;const M=Fo(S);zg[e]||(zg[e]=_Q(jQ,100)),zg[e](e,M,P,d)}},[e,S,P,d]);const D=La((M,U)=>{const{panels:V}=R.current;return V.size===0?{flexBasis:0,flexGrow:U??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:RP(V,M,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),T=La((M,U)=>{x(V=>{if(V.has(M))return V;const ee=new Map(V);return ee.set(M,U),ee})},[]),B=La(M=>V=>{V.preventDefault();const{direction:ee,panels:ie,sizes:xe}=R.current,me=Fo(ie),[ae,te]=Y1(g,M,me);if(ae==null||te==null)return;let H=wQ(V,g,M,me,ee,xe,C.current);if(H===0)return;const pe=Q1(g).getBoundingClientRect(),ne=ee==="horizontal";document.dir==="rtl"&&ne&&(H=-H);const ve=ne?pe.width:pe.height,de=H/ve*100,Ce=Uc(V,ie,ae,te,de,xe,E.current,C.current),Re=!xQ(xe,Ce);if((V0(V)||U0(V))&&O.current!=de&&$g(Re?ne?"horizontal":"vertical":ne?H<0?"horizontal-min":"horizontal-max":H<0?"vertical-min":"vertical-max"),Re){const ge=k.current;I(Ce),vl(me,Ce,ge)}O.current=de},[g]),W=La(M=>{x(U=>{if(!U.has(M))return U;const V=new Map(U);return V.delete(M),V})},[]),J=La(M=>{const{panels:U,sizes:V}=R.current,ee=U.get(M);if(ee==null)return;const{collapsedSize:ie,collapsible:xe}=ee.current;if(!xe)return;const me=Fo(U),ae=me.indexOf(ee);if(ae<0)return;const te=V[ae];if(te===ie)return;E.current.set(M,te);const[H,re]=Ng(M,me);if(H==null||re==null)return;const ne=ae===me.length-1?te:ie-te,ve=Uc(null,U,H,re,ne,V,E.current,null);if(V!==ve){const de=k.current;I(ve),vl(me,ve,de)}},[]),F=La(M=>{const{panels:U,sizes:V}=R.current,ee=U.get(M);if(ee==null)return;const{collapsedSize:ie,minSize:xe}=ee.current,me=E.current.get(M)||xe;if(!me)return;const ae=Fo(U),te=ae.indexOf(ee);if(te<0||V[te]!==ie)return;const[re,pe]=Ng(M,ae);if(re==null||pe==null)return;const ve=te===ae.length-1?ie-me:me,de=Uc(null,U,re,pe,ve,V,E.current,null);if(V!==de){const Ce=k.current;I(de),vl(ae,de,Ce)}},[]),N=La((M,U)=>{const{panels:V,sizes:ee}=R.current,ie=V.get(M);if(ie==null)return;const{collapsedSize:xe,collapsible:me,maxSize:ae,minSize:te}=ie.current,H=Fo(V),re=H.indexOf(ie);if(re<0)return;const pe=ee[re];if(pe===U)return;me&&U===xe||(U=Math.min(ae,Math.max(te,U)));const[ne,ve]=Ng(M,H);if(ne==null||ve==null)return;const Ce=re===H.length-1?pe-U:U-pe,Re=Uc(null,V,ne,ve,Ce,ee,E.current,null);if(ee!==Re){const ge=k.current;I(Re),vl(H,Re,ge)}},[]),G=fQ(()=>({activeHandleId:v,collapsePanel:J,direction:r,expandPanel:F,getPanelStyle:D,groupId:g,registerPanel:T,registerResizeHandle:B,resizePanel:N,startDragging:(M,U)=>{if(b(M),V0(U)||U0(U)){const V=Ah(M);C.current={dragHandleRect:V.getBoundingClientRect(),dragOffset:NP(U,M,r),sizes:R.current.sizes}}},stopDragging:()=>{CQ(),b(null),C.current=null},unregisterPanel:W}),[v,J,r,F,D,g,T,B,N,W]),K={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Gl(Dh.Provider,{children:Gl(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":g,style:{...K,...p}}),value:G})}const X1=IP((e,t)=>Gl(BP,{...e,forwardedRef:t}));BP.displayName="PanelGroup";X1.displayName="forwardRef(PanelGroup)";function q0({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:i="div"}){const u=Ho(null),d=Ho({onDragging:o});ha(()=>{d.current.onDragging=o});const p=EP(Dh);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:g,groupId:v,registerResizeHandle:b,startDragging:S,stopDragging:x}=p,C=K1(r),_=h===C,[k,P]=nu(!1),[I,E]=nu(null),O=La(()=>{u.current.blur(),x();const{onDragging:T}=d.current;T&&T(!1)},[x]);ha(()=>{if(n)E(null);else{const D=b(C);E(()=>D)}},[n,C,b]),ha(()=>{if(n||I==null||!_)return;const D=J=>{I(J)},T=J=>{I(J)},W=u.current.ownerDocument;return W.body.addEventListener("contextmenu",O),W.body.addEventListener("mousemove",D),W.body.addEventListener("touchmove",D),W.body.addEventListener("mouseleave",T),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{W.body.removeEventListener("contextmenu",O),W.body.removeEventListener("mousemove",D),W.body.removeEventListener("touchmove",D),W.body.removeEventListener("mouseleave",T),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[g,n,_,I,O]),bQ({disabled:n,handleId:C,resizeHandler:I});const R={cursor:$P(g),touchAction:"none",userSelect:"none"};return Gl(i,{children:e,className:t,"data-resize-handle-active":_?"pointer":k?"keyboard":void 0,"data-panel-group-direction":g,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":C,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:D=>{S(C,D.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:D=>{S(C,D.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},ref:u,role:"separator",style:{...R,...s},tabIndex:0})}q0.displayName="PanelResizeHandle";const PQ=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,i]=f.useState(t),u=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let g=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{g-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),i(e/g*100)});return h.observe(d),p.forEach(g=>{h.observe(g)}),window.addEventListener("resize",u),()=>{h.disconnect(),window.removeEventListener("resize",u)}},[n,u,s,e,r]),{ref:o,minSizePct:s}},IQ=he([mt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ke),EQ=()=>{const{initialImage:e}=$(IQ),{currentData:t,isLoading:n,isError:r,isSuccess:o}=Uo((e==null?void 0:e.imageName)??Xr.skipToken),s=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),i=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return a.jsx(ri,{imageDTO:t,droppableData:i,draggableData:s,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:a.jsx(Ja,{label:"No initial image selected"})})},OQ=he([mt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ke),MQ={type:"SET_INITIAL_IMAGE"},RQ=()=>{const{isResetButtonDisabled:e}=$(OQ),t=Z(),{getUploadButtonProps:n,getUploadInputProps:r}=Rh({postUploadAction:MQ}),o=f.useCallback(()=>{t(G8())},[t]);return a.jsxs(L,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[a.jsxs(L,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[a.jsx(qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),a.jsx(Bi,{}),a.jsx(je,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:a.jsx(Fu,{}),...n()}),a.jsx(je,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:a.jsx(b1,{}),onClick:o,isDisabled:e})]}),a.jsx(EQ,{}),a.jsx("input",{...r()})]})},J1="28rem",FP=e=>{const{sx:t}=e,n=Z(),r=$(i=>i.ui.shouldPinParametersPanel),{t:o}=ue(),s=()=>{n(q8(!r)),n(yo())};return a.jsx(je,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?a.jsx(E_,{}):a.jsx(O_,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},DQ=he(Zr,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),AQ=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=$(DQ);return t&&n?a.jsxs($e,{sx:{position:"relative",h:"full",w:J1,flexShrink:0},children:[a.jsx(L,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),a.jsx(FP,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},Z1=f.memo(AQ),TQ=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=xs();return t==="horizontal"?a.jsx(q0,{children:a.jsx(L,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:a.jsx($e,{sx:{w:.5,h:"calc(100% - 4px)",bg:Me("base.100","base.850")(r)}})})}):a.jsx(q0,{children:a.jsx(L,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:a.jsx($e,{sx:{w:"calc(100% - 4px)",h:.5,bg:Me("base.100","base.850")(r)}})})})},HP=f.memo(TQ),NQ=he([mt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),$Q=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ue(),o=$(NQ);return a.jsx(je,{onClick:t,icon:a.jsx(Xo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},zQ=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function LQ(){const e=$(r=>r.postprocessing.esrganModelName),t=Z(),n=r=>t(K8(r));return a.jsx(Co,{label:"ESRGAN Model",value:e,itemComponent:ai,onChange:n,data:zQ})}const BQ=e=>{const{imageDTO:t}=e,n=Z(),r=$(Sr),{t:o}=ue(),{isOpen:s,onOpen:i,onClose:u}=Ws(),d=f.useCallback(()=>{u(),t&&n(W4({image_name:t.image_name}))},[n,t,u]);return a.jsx(Wi,{isOpen:s,onClose:u,triggerComponent:a.jsx(je,{onClick:i,icon:a.jsx(Jz,{}),"aria-label":o("parameters.upscale")}),children:a.jsxs(L,{sx:{flexDirection:"column",gap:4},children:[a.jsx(LQ,{}),a.jsx(Xt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},FQ=he([mt,or],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:i,progressImage:u}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,g=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:i,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!u||!g,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:g}},{memoizeOptions:{resultEqualityCheck:Gt}}),HQ=e=>{const t=Z(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:i,shouldShowProgressInViewer:u}=$(FQ),d=yr("upscaling").isFeatureEnabled,p=tc(),{t:h}=ue(),{recallBothPrompts:g,recallSeed:v,recallAllParameters:b}=U1(),[S,x]=q1(i,500),{currentData:C,isFetching:_}=Uo(i??Xr.skipToken),{currentData:k}=mv(x.isPending()?Xr.skipToken:S??Xr.skipToken),P=k==null?void 0:k.metadata,I=f.useCallback(()=>{b(P)},[P,b]);Ye("a",()=>{},[P,b]);const E=f.useCallback(()=>{v(P==null?void 0:P.seed)},[P==null?void 0:P.seed,v]);Ye("s",E,[C]);const O=f.useCallback(()=>{g(P==null?void 0:P.positive_prompt,P==null?void 0:P.negative_prompt)},[P==null?void 0:P.negative_prompt,P==null?void 0:P.positive_prompt,g]);Ye("p",O,[C]);const R=f.useCallback(()=>{t(yP()),t(pv(C))},[t,C]);Ye("shift+i",R,[C]);const D=f.useCallback(()=>{C&&t(W4({image_name:C.image_name}))},[t,C]),T=f.useCallback(()=>{C&&t(gv(C))},[t,C]);Ye("Shift+U",()=>{D()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,C,o,r,n]);const B=f.useCallback(()=>t(Q8(!s)),[t,s]);Ye("i",()=>{C?B():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[C,s,p]);const W=f.useCallback(()=>{t(H4(!u))},[t,u]);return a.jsx(a.Fragment,{children:a.jsxs(L,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[a.jsx(Yn,{isAttached:!0,isDisabled:o,children:a.jsxs(Mu,{children:[a.jsx(Ru,{as:je,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!C,icon:a.jsx(yL,{})}),a.jsx(ic,{motionProps:Cv,children:C&&a.jsx(bP,{imageDTO:C})})]})}),a.jsxs(Yn,{isAttached:!0,isDisabled:o,children:[a.jsx(je,{icon:a.jsx(w_,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(P!=null&&P.positive_prompt),onClick:O}),a.jsx(je,{icon:a.jsx(S_,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(P!=null&&P.seed),onClick:E}),a.jsx(je,{icon:a.jsx(f_,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!P,onClick:I})]}),d&&a.jsx(Yn,{isAttached:!0,isDisabled:o,children:d&&a.jsx(BQ,{imageDTO:C})}),a.jsx(Yn,{isAttached:!0,isDisabled:o,children:a.jsx(je,{icon:a.jsx(g1,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:B})}),a.jsx(Yn,{isAttached:!0,children:a.jsx(je,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:a.jsx(oL,{}),isChecked:u,onClick:W})}),a.jsx(Yn,{isAttached:!0,children:a.jsx($Q,{onClick:T,isDisabled:o})})]})})},WQ=he([mt,T4],(e,t)=>{var _,k;const{data:n,status:r}=Y8.endpoints.listImages.select(t)(e),o=e.gallery.selection[e.gallery.selection.length-1],s=r==="pending";if(!n||!o||n.total===0)return{isFetching:s,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const i={...t,offset:n.ids.length,limit:$4},u=X8.getSelectors(),d=u.selectAll(n),p=d.findIndex(P=>P.image_name===o),h=Vs(p+1,0,d.length-1),g=Vs(p-1,0,d.length-1),v=(_=d[h])==null?void 0:_.image_name,b=(k=d[g])==null?void 0:k.image_name,S=u.selectById(n,v),x=u.selectById(n,b),C=d.length;return{isOnFirstImage:p===0,isOnLastImage:!isNaN(p)&&p===C-1,areMoreImagesAvailable:((n==null?void 0:n.total)??0)>C,isFetching:r==="pending",nextImage:S,prevImage:x,nextImageId:v,prevImageId:b,queryArgs:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),WP=()=>{const e=Z(),{isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,isFetching:i,queryArgs:u}=$(WQ),d=f.useCallback(()=>{o&&e(Rf(o))},[e,o]),p=f.useCallback(()=>{r&&e(Rf(r))},[e,r]),[h]=N4(),g=f.useCallback(()=>{h(u)},[h,u]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,handleLoadMoreImages:g,isFetching:i}},as=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:i}=ue();return t?a.jsxs(L,{gap:2,children:[n&&a.jsx(Cn,{label:`Recall ${e}`,children:a.jsx(qa,{"aria-label":i("accessibility.useThisParameter"),icon:a.jsx(GK,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&a.jsx(Cn,{label:`Copy ${e}`,children:a.jsx(qa,{"aria-label":`Copy ${e}`,icon:a.jsx(cc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),a.jsxs(L,{direction:o?"column":"row",children:[a.jsxs(qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?a.jsxs(Qa,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",a.jsx(__,{mx:"2px"})]}):a.jsx(qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},VQ=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:i,recallScheduler:u,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:g}=U1(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),S=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),x=f.useCallback(()=>{i(t==null?void 0:t.model)},[t==null?void 0:t.model,i]),C=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),_=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),k=f.useCallback(()=>{u(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,u]),P=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{g(t==null?void 0:t.strength)},[t==null?void 0:t.strength,g]);return!t||Object.keys(t).length===0?null:a.jsxs(a.Fragment,{children:[t.generation_mode&&a.jsx(as,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&a.jsx(as,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&a.jsx(as,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&a.jsx(as,{label:"Seed",value:t.seed,onClick:S}),t.model!==void 0&&a.jsx(as,{label:"Model",value:t.model.model_name,onClick:x}),t.width&&a.jsx(as,{label:"Width",value:t.width,onClick:C}),t.height&&a.jsx(as,{label:"Height",value:t.height,onClick:_}),t.scheduler&&a.jsx(as,{label:"Scheduler",value:t.scheduler,onClick:k}),t.steps&&a.jsx(as,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&a.jsx(as,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&a.jsx(as,{label:"Image to image strength",value:t.strength,onClick:E})]})},UQ=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return a.jsxs(L,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[a.jsx($e,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:a.jsx(i_,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:a.jsx("pre",{children:r})})}),a.jsx(L,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:a.jsx(Cn,{label:t,children:a.jsx(qa,{"aria-label":t,icon:a.jsx(cc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},GQ=({image:e})=>{const[t,n]=q1(e.image_name,500),{currentData:r}=mv(n.isPending()?Xr.skipToken:t??Xr.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,i=f.useMemo(()=>{const u=[];return o&&u.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&u.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&u.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),u},[o,s,e]);return a.jsxs(L,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[a.jsxs(L,{gap:2,children:[a.jsx(qe,{fontWeight:"semibold",children:"File:"}),a.jsxs(Qa,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,a.jsx(__,{mx:"2px"})]})]}),a.jsx(VQ,{metadata:o}),a.jsxs(Nu,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[a.jsx($u,{children:i.map(u=>a.jsx(Bl,{sx:{borderTopRadius:"base"},children:a.jsx(qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:u.label})},u.label))}),a.jsx(fh,{sx:{w:"full",h:"full"},children:i.map(u=>a.jsx(dh,{sx:{w:"full",h:"full",p:0,pt:4},children:a.jsx(UQ,{jsonObject:u.data,copyTooltip:u.copyTooltip})},u.label))})]})]})},qQ=f.memo(GQ),Lg={color:"base.100",pointerEvents:"auto"},KQ=()=>{const{t:e}=ue(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:i,isFetching:u}=WP();return a.jsxs($e,{sx:{position:"relative",height:"100%",width:"100%"},children:[a.jsx($e,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&a.jsx(qa,{"aria-label":e("accessibility.previousImage"),icon:a.jsx(Wz,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:Lg})}),a.jsxs($e,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&a.jsx(qa,{"aria-label":e("accessibility.nextImage"),icon:a.jsx(Vz,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:Lg}),o&&i&&!u&&a.jsx(qa,{"aria-label":e("accessibility.loadMore"),icon:a.jsx(Hz,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:Lg}),o&&i&&u&&a.jsx(L,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:a.jsx(oc,{opacity:.5,size:"xl"})})]})]})},QQ=f.memo(KQ),YQ=he([mt,J8],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:i,shouldAntialiasProgressImage:u}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n,progressImage:i,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),XQ=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=$(YQ),{handlePrevImage:s,handleNextImage:i,prevImageId:u,nextImageId:d,isOnLastImage:p,handleLoadMoreImages:h,areMoreImagesAvailable:g,isFetching:v}=WP();Ye("left",()=>{s()},[u]),Ye("right",()=>{if(p&&g&&!v){h();return}p||i()},[d,p,g,h,v]);const{currentData:b,isLoading:S,isError:x,isSuccess:C}=Uo(t??Xr.skipToken),_=f.useMemo(()=>{if(b)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:b}}},[b]),k=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[P,I]=f.useState(!1),E=f.useRef(0),O=f.useCallback(()=>{I(!0),window.clearTimeout(E.current)},[]),R=f.useCallback(()=>{E.current=window.setTimeout(()=>{I(!1)},500)},[]);return a.jsxs(L,{onMouseOver:O,onMouseOut:R,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?a.jsx(rc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):a.jsx(ri,{imageDTO:b,droppableData:k,draggableData:_,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:a.jsx(Ja,{icon:Ti,label:"No image selected"})}),e&&b&&a.jsx($e,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:a.jsx(qQ,{image:b})}),a.jsx(Ko,{children:!e&&b&&P&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:a.jsx(QQ,{})},"nextPrevButtons")})]})},JQ=f.memo(XQ),ZQ=()=>a.jsxs(L,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[a.jsx(HQ,{}),a.jsx(JQ,{})]}),VP=()=>a.jsx($e,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:a.jsx(L,{sx:{width:"100%",height:"100%"},children:a.jsx(ZQ,{})})}),eY=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:i}=Ws({defaultIsOpen:o}),{colorMode:u}=xs();return a.jsxs($e,{children:[a.jsxs(L,{onClick:i,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Me("base.200","base.750")(u):Me("base.150","base.800")(u),color:Me("base.900","base.100")(u),_hover:{bg:s?Me("base.250","base.700")(u):Me("base.200","base.750")(u)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,a.jsx(Ko,{children:n&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsx(qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),a.jsx(Bi,{}),a.jsx(w1,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),a.jsx(nh,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:a.jsx($e,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Ro=f.memo(eY),tY=he(mt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ke),nY=()=>{const{combinatorial:e,isDisabled:t}=$(tY),n=Z(),r=f.useCallback(()=>{n(Z8())},[n]);return a.jsx(xr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},rY=he(mt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ke),oY=()=>{const e=Z(),{isEnabled:t}=$(rY),n=f.useCallback(()=>{e(e7())},[e]);return a.jsx(xr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},sY=he(mt,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:i}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:i,isDisabled:!r||!n}},Ke),aY=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=$(sY),s=Z(),i=f.useCallback(d=>{s(t7(d))},[s]),u=f.useCallback(()=>{s(n7())},[s]);return a.jsx(Ct,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:i,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:u})},iY=he(mt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ke),ey=()=>{const{activeLabel:e}=$(iY);return yr("dynamicPrompting").isFeatureEnabled?a.jsx(Ro,{label:"Dynamic Prompts",activeLabel:e,children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(oY,{}),a.jsx(nY,{}),a.jsx(aY,{})]})}):null},lY=e=>{const t=Z(),{lora:n}=e,r=f.useCallback(i=>{t(r7({id:n.id,weight:i}))},[t,n.id]),o=f.useCallback(()=>{t(o7(n.id))},[t,n.id]),s=f.useCallback(()=>{t(s7(n.id))},[t,n.id]);return a.jsxs(L,{sx:{gap:2.5,alignItems:"flex-end"},children:[a.jsx(Ct,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2]}),a.jsx(je,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:a.jsx(Xo,{}),colorScheme:"error"})]})},cY=f.memo(lY),uY=he(mt,({lora:e})=>{const{loras:t}=e;return{loras:t}},Ke),dY=()=>{const{loras:e}=$(uY);return Ss(e,t=>a.jsx(cY,{lora:t},t.model_name))},Mr={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},fY=he(mt,({lora:e})=>({loras:e.loras}),Ke),pY=()=>{const e=Z(),{loras:t}=$(fY),{data:n}=V4(),r=$(i=>i.generation.model),o=f.useMemo(()=>{if(!n)return[];const i=[];return Qo(n.entities,(u,d)=>{if(!u||d in t)return;const p=(r==null?void 0:r.base_model)!==u.base_model;i.push({value:d,label:u.model_name,disabled:p,group:Mr[u.base_model],tooltip:p?`Incompatible base model: ${u.base_model}`:void 0})}),i.sort((u,d)=>u.disabled&&!d.disabled?1:-1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(i=>{if(!i)return;const u=n==null?void 0:n.entities[i];u&&e(a7(u))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?a.jsx(L,{sx:{justifyContent:"center",p:2},children:a.jsx(qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):a.jsx(br,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:ai,disabled:o.length===0,filter:(i,u)=>{var d;return((d=u.label)==null?void 0:d.toLowerCase().includes(i.toLowerCase().trim()))||u.value.toLowerCase().includes(i.toLowerCase().trim())},onChange:s})},hY=he(mt,e=>{const t=i7(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ke),mY=()=>{const{activeLabel:e}=$(hY);return yr("lora").isFeatureEnabled?a.jsx(Ro,{label:"LoRA",activeLabel:e,children:a.jsxs(L,{sx:{flexDir:"column",gap:2},children:[a.jsx(pY,{}),a.jsx(dY,{})]})}):null},ty=f.memo(mY),gY=he(mt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ke);function ny(){const{activeLabel:e}=$(gY);return $(n=>n.ui.shouldShowAdvancedOptions)&&a.jsx(Ro,{label:"Advanced",activeLabel:e,children:a.jsx(L,{sx:{flexDir:"column",gap:2},children:a.jsx(l7,{})})})}const vY=Zp.child({module:"models"}),UP=e=>{const[t,n,r]=e.split("/"),o=c7.safeParse({base_model:t,model_name:r});if(!o.success){vY.error({controlNetModelId:e,errors:o.error.format()},"Failed to parse ControlNet model id");return}return o.data},yY=e=>{const{controlNetId:t}=e,n=Z(),r=$(Sr),o=f.useMemo(()=>he(mt,({generation:v,controlNet:b})=>{var _,k;const{model:S}=v,x=(_=b.controlNets[t])==null?void 0:_.model,C=(k=b.controlNets[t])==null?void 0:k.isEnabled;return{mainModel:S,controlNetModel:x,isEnabled:C}},Ke),[t]),{mainModel:s,controlNetModel:i,isEnabled:u}=$(o),{data:d}=yv(),p=f.useMemo(()=>{if(!d)return[];const v=[];return Qo(d.entities,(b,S)=>{if(!b)return;const x=(b==null?void 0:b.base_model)!==(s==null?void 0:s.base_model);v.push({value:S,label:b.model_name,group:Mr[b.base_model],disabled:x,tooltip:x?`Incompatible base model: ${b.base_model}`:void 0})}),v},[d,s==null?void 0:s.base_model]),h=f.useMemo(()=>(d==null?void 0:d.entities[`${i==null?void 0:i.base_model}/controlnet/${i==null?void 0:i.model_name}`])??null,[i==null?void 0:i.base_model,i==null?void 0:i.model_name,d==null?void 0:d.entities]),g=f.useCallback(v=>{if(!v)return;const b=UP(v);b&&n(U4({controlNetId:t,model:b}))},[t,n]);return a.jsx(br,{itemComponent:ai,data:p,error:!h||(s==null?void 0:s.base_model)!==h.base_model,placeholder:"Select a model",value:(h==null?void 0:h.id)??null,onChange:g,disabled:r||!u,tooltip:h==null?void 0:h.description})},bY=f.memo(yY),xY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{weight:d,isEnabled:p}=u.controlNets[t];return{weight:d,isEnabled:p}},Ke),[t]),{weight:o,isEnabled:s}=$(r),i=f.useCallback(u=>{n(u7({controlNetId:t,weight:u}))},[t,n]);return a.jsx(Ct,{isDisabled:!s,label:"Weight",value:o,onChange:i,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},wY=f.memo(xY),SY=e=>{const{height:t,controlNetId:n}=e,r=Z(),o=f.useMemo(()=>he(mt,({controlNet:W})=>{const{pendingControlImages:J}=W,{controlImage:F,processedControlImage:N,processorType:G,isEnabled:K}=W.controlNets[n];return{controlImageName:F,processedControlImageName:N,processorType:G,isEnabled:K,pendingControlImages:J}},Ke),[n]),{controlImageName:s,processedControlImageName:i,processorType:u,pendingControlImages:d,isEnabled:p}=$(o),[h,g]=f.useState(!1),{currentData:v,isLoading:b,isError:S,isSuccess:x}=Uo(s??Xr.skipToken),{currentData:C,isLoading:_,isError:k,isSuccess:P}=Uo(i??Xr.skipToken),I=f.useCallback(()=>{r(d7({controlNetId:n,controlImage:null}))},[n,r]),E=f.useCallback(()=>{g(!0)},[]),O=f.useCallback(()=>{g(!1)},[]),R=f.useMemo(()=>{if(v)return{id:n,payloadType:"IMAGE_DTO",payload:{imageDTO:v}}},[v,n]),D=f.useMemo(()=>({id:n,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:n}}),[n]),T=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:n}),[n]),B=v&&C&&!h&&!d.includes(n)&&u!=="none";return a.jsxs(L,{onMouseEnter:E,onMouseLeave:O,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:p?"auto":"none",opacity:p?1:.5},children:[a.jsx(ri,{draggableData:R,droppableData:D,imageDTO:v,isDropDisabled:B||!p,onClickReset:I,postUploadAction:T,resetTooltip:"Reset Control Image",withResetIcon:!!v}),a.jsx($e,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:B?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:a.jsx(ri,{draggableData:R,droppableData:D,imageDTO:C,isUploadDisabled:!0,isDropDisabled:!p,onClickReset:I,resetTooltip:"Reset Control Image",withResetIcon:!!v})}),d.includes(n)&&a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:a.jsx(oc,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},xC=f.memo(SY),Cs=()=>{const e=Z();return f.useCallback((n,r)=>{e(f7({controlNetId:n,changes:r}))},[e])};function _s(e){return a.jsx(L,{sx:{flexDirection:"column",gap:2},children:e.children})}const wC=Yo.canny_image_processor.default,CY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,i=$(Sr),u=Cs(),d=f.useCallback(v=>{u(t,{low_threshold:v})},[t,u]),p=f.useCallback(()=>{u(t,{low_threshold:wC.low_threshold})},[t,u]),h=f.useCallback(v=>{u(t,{high_threshold:v})},[t,u]),g=f.useCallback(()=>{u(t,{high_threshold:wC.high_threshold})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{isDisabled:i||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),a.jsx(Ct,{isDisabled:i||!r,label:"High Threshold",value:s,onChange:h,handleReset:g,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},_Y=f.memo(CY),$c=Yo.content_shuffle_image_processor.default,kY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:i,h:u,f:d}=n,p=Cs(),h=$(Sr),g=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:$c.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),S=f.useCallback(()=>{p(t,{image_resolution:$c.image_resolution})},[t,p]),x=f.useCallback(E=>{p(t,{w:E})},[t,p]),C=f.useCallback(()=>{p(t,{w:$c.w})},[t,p]),_=f.useCallback(E=>{p(t,{h:E})},[t,p]),k=f.useCallback(()=>{p(t,{h:$c.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:$c.f})},[t,p]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:g,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:b,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"W",value:i,onChange:x,handleReset:C,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"H",value:u,onChange:_,handleReset:k,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},jY=f.memo(kY),SC=Yo.hed_image_processor.default,PY=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,i=$(Sr),u=Cs(),d=f.useCallback(b=>{u(t,{detect_resolution:b})},[t,u]),p=f.useCallback(b=>{u(t,{image_resolution:b})},[t,u]),h=f.useCallback(b=>{u(t,{scribble:b.target.checked})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:SC.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:SC.image_resolution})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:n,onChange:d,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:i||!s}),a.jsx(Ct,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:i||!s}),a.jsx(xr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:i||!s})]})},IY=f.memo(PY),CC=Yo.lineart_anime_image_processor.default,EY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{detect_resolution:v})},[t,i]),p=f.useCallback(v=>{i(t,{image_resolution:v})},[t,i]),h=f.useCallback(()=>{i(t,{detect_resolution:CC.detect_resolution})},[t,i]),g=f.useCallback(()=>{i(t,{image_resolution:CC.image_resolution})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},OY=f.memo(EY),_C=Yo.lineart_image_processor.default,MY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:i}=n,u=Cs(),d=$(Sr),p=f.useCallback(S=>{u(t,{detect_resolution:S})},[t,u]),h=f.useCallback(S=>{u(t,{image_resolution:S})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:_C.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:_C.image_resolution})},[t,u]),b=f.useCallback(S=>{u(t,{coarse:S.target.checked})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(xr,{label:"Coarse",isChecked:i,onChange:b,isDisabled:d||!r})]})},RY=f.memo(MY),kC=Yo.mediapipe_face_processor.default,DY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{max_faces:v})},[t,i]),p=f.useCallback(v=>{i(t,{min_confidence:v})},[t,i]),h=f.useCallback(()=>{i(t,{max_faces:kC.max_faces})},[t,i]),g=f.useCallback(()=>{i(t,{min_confidence:kC.min_confidence})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Min Confidence",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},AY=f.memo(DY),jC=Yo.midas_depth_image_processor.default,TY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{a_mult:v})},[t,i]),p=f.useCallback(v=>{i(t,{bg_th:v})},[t,i]),h=f.useCallback(()=>{i(t,{a_mult:jC.a_mult})},[t,i]),g=f.useCallback(()=>{i(t,{bg_th:jC.bg_th})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"bg_th",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},NY=f.memo(TY),hf=Yo.mlsd_image_processor.default,$Y=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:i,thr_v:u}=n,d=Cs(),p=$(Sr),h=f.useCallback(k=>{d(t,{detect_resolution:k})},[t,d]),g=f.useCallback(k=>{d(t,{image_resolution:k})},[t,d]),v=f.useCallback(k=>{d(t,{thr_d:k})},[t,d]),b=f.useCallback(k=>{d(t,{thr_v:k})},[t,d]),S=f.useCallback(()=>{d(t,{detect_resolution:hf.detect_resolution})},[t,d]),x=f.useCallback(()=>{d(t,{image_resolution:hf.image_resolution})},[t,d]),C=f.useCallback(()=>{d(t,{thr_d:hf.thr_d})},[t,d]),_=f.useCallback(()=>{d(t,{thr_v:hf.thr_v})},[t,d]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:h,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:g,handleReset:x,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"W",value:i,onChange:v,handleReset:C,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"H",value:u,onChange:b,handleReset:_,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},zY=f.memo($Y),PC=Yo.normalbae_image_processor.default,LY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{detect_resolution:v})},[t,i]),p=f.useCallback(v=>{i(t,{image_resolution:v})},[t,i]),h=f.useCallback(()=>{i(t,{detect_resolution:PC.detect_resolution})},[t,i]),g=f.useCallback(()=>{i(t,{image_resolution:PC.image_resolution})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},BY=f.memo(LY),IC=Yo.openpose_image_processor.default,FY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:i}=n,u=Cs(),d=$(Sr),p=f.useCallback(S=>{u(t,{detect_resolution:S})},[t,u]),h=f.useCallback(S=>{u(t,{image_resolution:S})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:IC.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:IC.image_resolution})},[t,u]),b=f.useCallback(S=>{u(t,{hand_and_face:S.target.checked})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(xr,{label:"Hand and Face",isChecked:i,onChange:b,isDisabled:d||!r})]})},HY=f.memo(FY),EC=Yo.pidi_image_processor.default,WY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:i,safe:u}=n,d=Cs(),p=$(Sr),h=f.useCallback(C=>{d(t,{detect_resolution:C})},[t,d]),g=f.useCallback(C=>{d(t,{image_resolution:C})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:EC.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:EC.image_resolution})},[t,d]),S=f.useCallback(C=>{d(t,{scribble:C.target.checked})},[t,d]),x=f.useCallback(C=>{d(t,{safe:C.target.checked})},[t,d]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:g,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(xr,{label:"Scribble",isChecked:i,onChange:S}),a.jsx(xr,{label:"Safe",isChecked:u,onChange:x,isDisabled:p||!r})]})},VY=f.memo(WY),UY=e=>null,GY=f.memo(UY),qY=e=>{const{controlNetId:t}=e,n=f.useMemo(()=>he(mt,({controlNet:s})=>{const{isEnabled:i,processorNode:u}=s.controlNets[t];return{isEnabled:i,processorNode:u}},Ke),[t]),{isEnabled:r,processorNode:o}=$(n);return o.type==="canny_image_processor"?a.jsx(_Y,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="hed_image_processor"?a.jsx(IY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_image_processor"?a.jsx(RY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="content_shuffle_image_processor"?a.jsx(jY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_anime_image_processor"?a.jsx(OY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mediapipe_face_processor"?a.jsx(AY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="midas_depth_image_processor"?a.jsx(NY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mlsd_image_processor"?a.jsx(zY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="normalbae_image_processor"?a.jsx(BY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="openpose_image_processor"?a.jsx(HY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="pidi_image_processor"?a.jsx(VY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="zoe_depth_image_processor"?a.jsx(GY,{controlNetId:t,processorNode:o,isEnabled:r}):null},KY=f.memo(qY),QY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:d})=>{const{isEnabled:p,shouldAutoConfig:h}=d.controlNets[t];return{isEnabled:p,shouldAutoConfig:h}},Ke),[t]),{isEnabled:o,shouldAutoConfig:s}=$(r),i=$(Sr),u=f.useCallback(()=>{n(p7({controlNetId:t}))},[t,n]);return a.jsx(xr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:s,onChange:u,isDisabled:i||!o})},YY=f.memo(QY),OC=e=>`${Math.round(e*100)}%`,XY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:d})=>{const{beginStepPct:p,endStepPct:h,isEnabled:g}=d.controlNets[t];return{beginStepPct:p,endStepPct:h,isEnabled:g}},Ke),[t]),{beginStepPct:o,endStepPct:s,isEnabled:i}=$(r),u=f.useCallback(d=>{n(px({controlNetId:t,beginStepPct:d[0]})),n(hx({controlNetId:t,endStepPct:d[1]}))},[t,n]);return f.useCallback(()=>{n(px({controlNetId:t,beginStepPct:0})),n(hx({controlNetId:t,endStepPct:1}))},[t,n]),a.jsxs(ws,{isDisabled:!i,children:[a.jsx(gs,{children:"Begin / End Step Percentage"}),a.jsx(Pl,{w:"100%",gap:2,alignItems:"center",children:a.jsxs(a5,{"aria-label":["Begin Step %","End Step %"],value:[o,s],onChange:u,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!i,children:[a.jsx(i5,{children:a.jsx(l5,{})}),a.jsx(Cn,{label:OC(o),placement:"top",hasArrow:!0,children:a.jsx(m0,{index:0})}),a.jsx(Cn,{label:OC(s),placement:"top",hasArrow:!0,children:a.jsx(m0,{index:1})}),a.jsx(xf,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),a.jsx(xf,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),a.jsx(xf,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},JY=f.memo(XY),ZY=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function eX(e){const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{controlMode:d,isEnabled:p}=u.controlNets[t];return{controlMode:d,isEnabled:p}},Ke),[t]),{controlMode:o,isEnabled:s}=$(r);ue();const i=f.useCallback(u=>{n(h7({controlNetId:t,controlMode:u}))},[t,n]);return a.jsx(Co,{disabled:!s,label:"Control Mode",data:ZY,value:String(o),onChange:i})}const tX=he(qi,e=>Ss(Yo,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Ke),nX=e=>{const t=Z(),{controlNetId:n}=e,r=f.useMemo(()=>he(mt,({controlNet:p})=>{const{isEnabled:h,processorNode:g}=p.controlNets[n];return{isEnabled:h,processorNode:g}},Ke),[n]),o=$(Sr),s=$(tX),{isEnabled:i,processorNode:u}=$(r),d=f.useCallback(p=>{t(m7({controlNetId:n,processorType:p}))},[n,t]);return a.jsx(br,{label:"Processor",value:u.type??"canny_image_processor",data:s,onChange:d,disabled:o||!i})},rX=f.memo(nX),oX=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function sX(e){const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{resizeMode:d,isEnabled:p}=u.controlNets[t];return{resizeMode:d,isEnabled:p}},Ke),[t]),{resizeMode:o,isEnabled:s}=$(r);ue();const i=f.useCallback(u=>{n(g7({controlNetId:t,resizeMode:u}))},[t,n]);return a.jsx(Co,{disabled:!s,label:"Resize Mode",data:oX,value:String(o),onChange:i})}const aX=e=>{const{controlNetId:t}=e,n=Z(),r=he(mt,({controlNet:g})=>{const{isEnabled:v,shouldAutoConfig:b}=g.controlNets[t];return{isEnabled:v,shouldAutoConfig:b}},Ke),{isEnabled:o,shouldAutoConfig:s}=$(r),[i,u]=DK(!1),d=f.useCallback(()=>{n(v7({controlNetId:t}))},[t,n]),p=f.useCallback(()=>{n(y7({sourceControlNetId:t,newControlNetId:Ka()}))},[t,n]),h=f.useCallback(()=>{n(b7({controlNetId:t}))},[t,n]);return a.jsxs(L,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(xr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:o,onChange:h}),a.jsx($e,{sx:{w:"full",minW:0,opacity:o?1:.5,pointerEvents:o?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:a.jsx(bY,{controlNetId:t})}),a.jsx(je,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:p,icon:a.jsx(cc,{})}),a.jsx(je,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:d,icon:a.jsx(Xo,{})}),a.jsx(je,{size:"sm",tooltip:i?"Hide Advanced":"Show Advanced","aria-label":i?"Hide Advanced":"Show Advanced",onClick:u,variant:"ghost",sx:{_hover:{bg:"none"}},icon:a.jsx(w1,{sx:{boxSize:4,color:"base.700",transform:i?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!s&&a.jsx($e,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),a.jsxs(L,{sx:{w:"full",flexDirection:"column",gap:3},children:[a.jsxs(L,{sx:{gap:4,w:"full",alignItems:"center"},children:[a.jsxs(L,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:i?1:0,pb:2,justifyContent:"space-between"},children:[a.jsx(wY,{controlNetId:t}),a.jsx(JY,{controlNetId:t})]}),!i&&a.jsx(L,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:a.jsx(xC,{controlNetId:t,height:28})})]}),a.jsxs(L,{sx:{gap:2},children:[a.jsx(eX,{controlNetId:t}),a.jsx(sX,{controlNetId:t})]}),a.jsx(rX,{controlNetId:t})]}),i&&a.jsxs(a.Fragment,{children:[a.jsx(xC,{controlNetId:t,height:"392px"}),a.jsx(YY,{controlNetId:t}),a.jsx(KY,{controlNetId:t})]})]})},iX=f.memo(aX),lX=he(mt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ke),cX=()=>{const{isEnabled:e}=$(lX),t=Z(),n=f.useCallback(()=>{t(x7())},[t]);return a.jsx(xr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},uX=he(w7,e=>{const{controlNets:t,isEnabled:n}=e,r=S7(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:Ss(t),activeLabel:o}},Ke),dX=()=>{ue();const{controlNetsArray:e,activeLabel:t}=$(uX),n=yr("controlNet").isFeatureDisabled,r=Z(),{firstModel:o}=yv(void 0,{selectFromResult:i=>{var d,p;return{firstModel:(p=i.data)==null?void 0:p.entities[(d=i.data)==null?void 0:d.ids[0]]}}}),s=f.useCallback(()=>{if(!o)return;const i=Ka();r(C7({controlNetId:i})),r(U4({controlNetId:i,model:o}))},[r,o]);return n?null:a.jsx(Ro,{label:"ControlNet",activeLabel:t,children:a.jsxs(L,{sx:{flexDir:"column",gap:3},children:[a.jsxs(L,{gap:2,alignItems:"center",children:[a.jsx(L,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:a.jsx(cX,{})}),a.jsx(je,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:a.jsx(Hi,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((i,u)=>a.jsxs(f.Fragment,{children:[u>0&&a.jsx(Fi,{}),a.jsx(iX,{controlNetId:i.controlNetId})]},i.controlNetId))]})})},ry=f.memo(dX),oy=e=>{e.stopPropagation()},fX=rt((e,t)=>{const n=Z(),r=f.useCallback(s=>{s.shiftKey&&n(Go(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(Go(!1))},[n]);return a.jsx(d5,{ref:t,onPaste:oy,onKeyDown:r,onKeyUp:o,...e})}),GP=f.memo(fX),pX=e=>{const{onClick:t}=e;return a.jsx(je,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:a.jsx(g1,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},qP=f.memo(pX),KP=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=_7(),i=f.useRef(null),u=$(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return Qo(s.entities,(g,v)=>{if(!g)return;const b=(u==null?void 0:u.base_model)!==g.base_model;h.push({value:g.model_name,label:g.model_name,group:Mr[g.base_model],disabled:b,tooltip:b?`Incompatible base model: ${g.base_model}`:void 0})}),h.sort((g,v)=>g.disabled&&!v.disabled?1:-1)},[s,u==null?void 0:u.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return a.jsxs(Qv,{initialFocusRef:i,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[a.jsx(Kv,{children:o}),a.jsx(Yv,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:a.jsx(Z6,{sx:{p:0,w:`calc(${J1} - 2rem )`},children:d.length===0?a.jsx(L,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:a.jsx(qe,{children:"No Embeddings Loaded"})}):a.jsx(br,{inputRef:i,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:ai,disabled:d.length===0,onDropdownClose:r,filter:(h,g)=>{var v;return((v=g.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||g.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},sy=()=>{const e=$(g=>g.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=Ws(),s=Z(),{t:i}=ue(),u=f.useCallback(g=>{s(Yc(g.target.value))},[s]),d=f.useCallback(g=>{g.key==="<"&&o()},[o]),p=f.useCallback(g=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${g}>`;const S=b.length;b+=e.slice(v),nc.flushSync(()=>{s(Yc(b))}),t.current.selectionEnd=S,r()},[s,r,e]),h=yr("embedding").isFeatureEnabled;return a.jsxs(ws,{children:[a.jsx(KP,{isOpen:n,onClose:r,onSelect:p,children:a.jsx(GP,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:i("parameters.negativePromptPlaceholder"),onChange:u,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&a.jsx($e,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:a.jsx(qP,{onClick:o})})]})},hX=e=>{const r=e.split(",").map(o=>o.split(":")).map(o=>({seed:Number(o[0]),weight:Number(o[1])}));return ay(r)?r:!1},ay=e=>typeof e=="string"?!!hX(e):!!(e.length&&!e.some(t=>{const{seed:n,weight:r}=t,o=!isNaN(parseInt(n.toString(),10)),s=!isNaN(parseInt(r.toString(),10))&&r>=0&&r<=1;return!(o&&s)})),mX=he([mt,or],(e,t)=>{const{generation:n,system:r}=e,{shouldGenerateVariations:o,seedWeights:s,initialImage:i,seed:u}=n,{isProcessing:d,isConnected:p}=r;let h=!0;const g=[];t==="img2img"&&!i&&(h=!1,g.push("No initial image selected"));const{isSuccess:v}=k7.endpoints.getMainModels.select()(e);return v||(h=!1,g.push("Models are not loaded")),d&&(h=!1,g.push("System Busy")),p||(h=!1,g.push("System Disconnected")),o&&(!(ay(s)||s==="")||u===-1)&&(h=!1,g.push("Seed-Weights badly formatted.")),Qo(e.controlNet.controlNets,(b,S)=>{b.model||(h=!1,g.push("ControlNet ${id} has no model selected."))}),{isReady:h,reasonsWhyNotReady:g}},Ke),iy=()=>{const{isReady:e}=$(mX);return e},gX=he([mt,or],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Gt}}),ly=()=>{const e=Z(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=$(gX),o=iy(),s=f.useRef(null),{isOpen:i,onClose:u,onOpen:d}=Ws(),{t:p}=ue(),h=f.useCallback(S=>{e(Qc(S.target.value))},[e]);Ye("alt+a",()=>{var S;(S=s.current)==null||S.focus()},[]);const g=f.useCallback(S=>{if(!s.current)return;const x=s.current.selectionStart;if(x===void 0)return;let C=t.slice(0,x);C[C.length-1]!=="<"&&(C+="<"),C+=`${S}>`;const _=C.length;C+=t.slice(x),nc.flushSync(()=>{e(Qc(C))}),s.current.selectionStart=_,s.current.selectionEnd=_,u()},[e,u,t]),v=yr("embedding").isFeatureEnabled,b=f.useCallback(S=>{S.key==="Enter"&&S.shiftKey===!1&&o&&(S.preventDefault(),e(bv()),e(xv(r))),v&&S.key==="<"&&d()},[o,e,r,d,v]);return a.jsxs($e,{position:"relative",children:[a.jsx(ws,{children:a.jsx(KP,{isOpen:i,onClose:u,onSelect:g,children:a.jsx(GP,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!i&&v&&a.jsx($e,{sx:{position:"absolute",top:n?6:0,insetInlineEnd:0},children:a.jsx(qP,{onClick:d})})]})},vX=he(mt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ke),yX=()=>{const e=Z(),{isDisabled:t,shouldUseCpuNoise:n}=$(vX);ue();const r=o=>e(j7(o.target.checked));return a.jsx(xr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},bX=he(mt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ke);function xX(){const e=Z(),{threshold:t,isDisabled:n}=$(bX),{t:r}=ue();return a.jsx(Ct,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(mx(o)),handleReset:()=>e(mx(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const wX=()=>{const e=Z(),t=$(r=>r.generation.shouldUseNoiseSettings);ue();const n=r=>e(P7(r.target.checked));return a.jsx(xr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},SX=he(mt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ke);function CX(){const e=Z(),{perlin:t,isDisabled:n}=$(SX),{t:r}=ue();return a.jsx(Ct,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(gx(o)),handleReset:()=>e(gx(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const _X=he(mt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ke),kX=()=>{const{t:e}=ue(),t=yr("noise").isFeatureEnabled,n=yr("perlinNoise").isFeatureEnabled,r=yr("noiseThreshold").isFeatureEnabled,{activeLabel:o}=$(_X);return t?a.jsx(Ro,{label:e("parameters.noiseSettings"),activeLabel:o,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(wX,{}),a.jsx(yX,{}),n&&a.jsx(CX,{}),r&&a.jsx(xX,{})]})}):null},QP=f.memo(kX),Zo=e=>e.generation,jX=he(Zo,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ke),PX=()=>{const{t:e}=ue(),{seamlessXAxis:t}=$(jX),n=Z(),r=f.useCallback(o=>{n(I7(o.target.checked))},[n]);return a.jsx(xr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},IX=f.memo(PX),EX=he(Zo,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ke),OX=()=>{const{t:e}=ue(),{seamlessYAxis:t}=$(EX),n=Z(),r=f.useCallback(o=>{n(E7(o.target.checked))},[n]);return a.jsx(xr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},MX=f.memo(OX),RX=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},DX=he(Zo,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:RX(t,n)}},Ke),AX=()=>{const{t:e}=ue(),{activeLabel:t}=$(DX);return yr("seamless").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.seamlessTiling"),activeLabel:t,children:a.jsxs(L,{sx:{gap:5},children:[a.jsx($e,{flexGrow:1,children:a.jsx(IX,{})}),a.jsx($e,{flexGrow:1,children:a.jsx(MX,{})})]})}):null},YP=f.memo(AX);function TX(){const e=$(o=>o.generation.horizontalSymmetrySteps),t=$(o=>o.generation.steps),n=Z(),{t:r}=ue();return a.jsx(Ct,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(vx(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(vx(0))})}function NX(){const e=$(o=>o.generation.verticalSymmetrySteps),t=$(o=>o.generation.steps),n=Z(),{t:r}=ue();return a.jsx(Ct,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(yx(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(yx(0))})}function $X(){const e=$(n=>n.generation.shouldUseSymmetry),t=Z();return a.jsx(xr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(O7(n.target.checked))})}const zX=he(mt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ke),LX=()=>{const{t:e}=ue(),{activeLabel:t}=$(zX);return yr("symmetry").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.symmetry"),activeLabel:t,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx($X,{}),a.jsx(TX,{}),a.jsx(NX,{})]})}):null},cy=f.memo(LX);function BX(){const e=$(o=>o.generation.variationAmount),t=$(o=>o.generation.shouldGenerateVariations),{t:n}=ue(),r=Z();return a.jsx(Ct,{label:n("parameters.variationAmount"),value:e,step:.01,min:0,max:1,isDisabled:!t,onChange:o=>r(bx(o)),handleReset:()=>r(bx(.1)),withInput:!0,withReset:!0,withSliderMarks:!0})}const FX=()=>{const e=Z(),t=$(r=>r.generation.shouldGenerateVariations);ue();const n=r=>e(M7(r.target.checked));return a.jsx(xr,{label:"Enable Variations",isChecked:t,onChange:n})},HX={display:"flex",flexDirection:"row",alignItems:"center",gap:10},WX=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...i}=e,u=Z(),d=f.useCallback(h=>{h.shiftKey&&u(Go(!0))},[u]),p=f.useCallback(h=>{h.shiftKey||u(Go(!1))},[u]);return a.jsxs(ws,{isInvalid:o,isDisabled:r,...s,style:n==="side"?HX:void 0,children:[t!==""&&a.jsx(gs,{children:t}),a.jsx(Iu,{...i,onPaste:oy,onKeyDown:d,onKeyUp:p})]})},zi=f.memo(WX);function VX(){const e=$(s=>s.generation.seedWeights),t=$(s=>s.generation.shouldGenerateVariations),{t:n}=ue(),r=Z(),o=s=>r(R7(s.target.value));return a.jsx(zi,{label:n("parameters.seedWeights"),value:e,isInvalid:t&&!(ay(e)||e===""),isDisabled:!t,onChange:o})}const UX=he(mt,e=>({activeLabel:e.generation.shouldGenerateVariations?"Enabled":void 0}),Ke),GX=()=>{const{t:e}=ue(),{activeLabel:t}=$(UX);return yr("variation").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.variations"),activeLabel:t,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(FX,{}),a.jsx(BX,{}),a.jsx(VX,{})]})}):null},uy=f.memo(GX),qX=he(xo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Gt}}),KX=e=>{const t=Z(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:i,cancelType:u,isCancelScheduled:d,sessionId:p}=$(qX),h=f.useCallback(()=>{if(p){if(u==="scheduled"){t(D7());return}t(A7({session_id:p}))}},[t,p,u]),{t:g}=ue(),v=f.useCallback(x=>{const C=Array.isArray(x)?x[0]:x;t(T7(C))},[t]);Ye("shift+x",()=>{(s||o)&&i&&h()},[s,o,i]);const b=f.useMemo(()=>g(d?"parameters.cancel.isScheduled":u==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[g,u,d]),S=f.useMemo(()=>d?a.jsx(N7,{}):u==="immediate"?a.jsx(HK,{}):a.jsx($K,{}),[u,d]);return a.jsxs(Yn,{isAttached:!0,width:n,children:[a.jsx(je,{icon:S,tooltip:b,"aria-label":b,isDisabled:!s||!o||!i,onClick:h,colorScheme:"error",id:"cancel-button",...r}),a.jsxs(Mu,{closeOnSelect:!1,children:[a.jsx(Ru,{as:je,tooltip:g("parameters.cancel.setType"),"aria-label":g("parameters.cancel.setType"),icon:a.jsx(PL,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),a.jsx(ic,{minWidth:"240px",children:a.jsxs(Uv,{value:u,title:"Cancel Type",type:"radio",onChange:v,children:[a.jsx(iu,{value:"immediate",children:g("parameters.cancel.immediate")}),a.jsx(iu,{value:"scheduled",children:g("parameters.cancel.schedule")})]})})]})]})},Th=f.memo(KX),QX=he(xo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Gt}}),YX=()=>{const{t:e}=ue(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=$(QX),s=n?Math.round(n*100/r):0;return a.jsx(t5,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},XP=f.memo(YX),MC={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},XX=he([mt,or,Sr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ke);function dy(e){const{iconButton:t=!1,...n}=e,r=Z(),o=iy(),{isBusy:s,autoAddBoardId:i,activeTabName:u}=$(XX),d=bh(i),p=f.useCallback(()=>{r(bv()),r(xv(u))},[r,u]),{t:h}=ue();return Ye(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,u]),a.jsx($e,{style:{flexGrow:4},position:"relative",children:a.jsxs($e,{style:{position:"relative"},children:[!o&&a.jsx($e,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:a.jsx(XP,{})}),a.jsx(Cn,{placement:"top",hasArrow:!0,openDelay:500,label:i?`Auto-Adding to ${d}`:void 0,children:t?a.jsx(je,{"aria-label":h("parameters.invoke"),type:"submit",icon:a.jsx(x_,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?MC:{}}}):a.jsx(Xt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?MC:{}},children:"Invoke"})})]})})}const fy=()=>a.jsxs(L,{gap:2,children:[a.jsx(dy,{}),a.jsx(Th,{})]}),Hp=/^-?(0\.)?\.?$/,JX=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:i,min:u,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:g,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:S,...x}=e,C=Z(),[_,k]=f.useState(String(s));f.useEffect(()=>{!_.match(Hp)&&s!==Number(_)&&k(String(s))},[s,_]);const P=R=>{k(R),R.match(Hp)||i(p?Math.floor(Number(R)):Number(R))},I=R=>{const D=Vs(p?Math.floor(Number(R.target.value)):Number(R.target.value),u,d);k(String(D)),i(D)},E=f.useCallback(R=>{R.shiftKey&&C(Go(!0))},[C]),O=f.useCallback(R=>{R.shiftKey||C(Go(!1))},[C]);return a.jsx(Cn,{...S,children:a.jsxs(ws,{isDisabled:n,isInvalid:o,...h,children:[t&&a.jsx(gs,{...g,children:t}),a.jsxs(G4,{value:_,min:u,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...x,onPaste:oy,children:[a.jsx(q4,{...v,onKeyDown:E,onKeyUp:O}),r&&a.jsxs(K4,{children:[a.jsx(Q4,{...b}),a.jsx(Y4,{...b})]})]})]})})},Nh=f.memo(JX),ZX=he([Zo,qi,Zr,Cu],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:i,inputMax:u,shouldUseSliders:p,shift:h}},Ke),eJ=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:i}=$(ZX),u=Z(),{t:d}=ue(),p=f.useCallback(g=>u(Ef(g)),[u]),h=f.useCallback(()=>u(Ef(t)),[u,t]);return s?a.jsx(Ct,{label:d("parameters.cfgScale"),step:i?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):a.jsx(Nh,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},ql=f.memo(eJ),tJ=he([mt],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:i}=e.config.sd.iterations,{iterations:u}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:i;return{iterations:u,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ke),nJ=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:i,isDisabled:u}=$(tJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{d(xx(v))},[d]),g=f.useCallback(()=>{d(xx(t))},[d,t]);return i?a.jsx(Ct,{isDisabled:u,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:g,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):a.jsx(Nh,{isDisabled:u,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},Kl=f.memo(nJ),rJ=Zp.child({module:"models"}),JP=e=>{const[t,n,r]=e.split("/"),o=$7.safeParse({base_model:t,model_name:r});if(!o.success){rJ.error({mainModelId:e,errors:o.error.format()},"Failed to parse main model id");return}return o.data};function py(e){const{iconMode:t=!1}=e,n=Z(),{t:r}=ue(),[o,{isLoading:s}]=z7(),i=()=>{o().unwrap().then(u=>{n(Bn(Vn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(u=>{u&&n(Bn(Vn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?a.jsx(je,{icon:a.jsx(C_,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:i,size:"sm"}):a.jsx(Xt,{isLoading:s,onClick:i,minW:"max-content",children:"Sync Models"})}const oJ=he(mt,e=>({model:e.generation.model}),Ke),sJ=()=>{const e=Z(),{t}=ue(),{model:n}=$(oJ),{data:r,isLoading:o}=Ei(),s=f.useMemo(()=>{if(!r)return[];const d=[];return Qo(r.entities,(p,h)=>{!p||["sdxl","sdxl-refiner"].includes(p.base_model)||d.push({value:h,label:p.model_name,group:Mr[p.base_model]})}),d},[r]),i=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),u=f.useCallback(d=>{if(!d)return;const p=JP(d);p&&e(Qg(p))},[e]);return o?a.jsx(br,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(L,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(br,{tooltip:i==null?void 0:i.description,label:t("modelManager.model"),value:i==null?void 0:i.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:u,w:"100%"}),a.jsx($e,{mt:7,children:a.jsx(py,{iconMode:!0})})]})},aJ=f.memo(sJ),iJ=Zp.child({module:"models"}),ZP=e=>{const[t,n,r]=e.split("/"),o=L7.safeParse({base_model:t,model_name:r});if(!o.success){iJ.error({vaeModelId:e,errors:o.error.format()},"Failed to parse VAE model id");return}return o.data},lJ=he(mt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ke),cJ=()=>{const e=Z(),{t}=ue(),{model:n,vae:r}=$(lJ),{data:o}=X4(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return Qo(o.entities,(p,h)=>{if(!p)return;const g=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Mr[p.base_model],disabled:g,tooltip:g?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),i=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),u=f.useCallback(d=>{if(!d||d==="default"){e(wx(null));return}const p=ZP(d);p&&e(wx(p))},[e]);return a.jsx(br,{itemComponent:ai,tooltip:i==null?void 0:i.description,label:t("modelManager.vae"),value:(i==null?void 0:i.id)??"default",placeholder:"Default",data:s,onChange:u,disabled:s.length===0,clearable:!0})},uJ=f.memo(cJ),dJ=he([Zr,Zo],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=B4.map(s=>({value:s,label:F4[s],group:r.includes(s)?"Favorites":void 0})).sort((s,i)=>s.label.localeCompare(i.label));return{scheduler:n,data:o}},Ke),fJ=()=>{const e=Z(),{t}=ue(),{scheduler:n,data:r}=$(dJ),o=f.useCallback(s=>{s&&e(Yg(s))},[e]);return a.jsx(br,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},pJ=f.memo(fJ),hJ=()=>{const e=yr("vae").isFeatureEnabled;return a.jsxs(L,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[a.jsx($e,{w:"full",children:a.jsx(aJ,{})}),a.jsxs(L,{gap:3,w:"full",children:[e&&a.jsx($e,{w:"full",children:a.jsx(uJ,{})}),a.jsx($e,{w:"full",children:a.jsx(pJ,{})})]})]})},Ql=f.memo(hJ),mJ=[{name:"Free",value:null},{name:"Portrait",value:.67/1},{name:"Wide",value:16/9},{name:"Square",value:1/1}];function eI(){const e=$(o=>o.ui.aspectRatio),t=Z(),n=$(o=>o.generation.shouldFitToWidthHeight),r=$(or);return a.jsx(L,{gap:2,flexGrow:1,children:a.jsx(Yn,{isAttached:!0,children:mJ.map(o=>a.jsx(Xt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(B7(o.value)),children:o.name},o.name))})})}const gJ=he([Zo,Cu,qi,Zr],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=n.sd.height,{height:h}=e,{aspectRatio:g}=r,v=t.shift?d:p;return{height:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,aspectRatio:g}},Ke),vJ=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:i,aspectRatio:u}=$(gJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{if(d(Ll(v)),u){const b=cs(v*u,8);d(zl(b))}},[d,u]),g=f.useCallback(()=>{if(d(Ll(n)),u){const v=cs(n*u,8);d(zl(v))}},[d,n,u]);return a.jsx(Ct,{label:p("parameters.height"),value:t,min:r,step:i,max:o,onChange:h,handleReset:g,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},yJ=f.memo(vJ),bJ=he([Zo,Cu,qi,Zr],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=n.sd.width,{width:h}=e,{aspectRatio:g}=r,v=t.shift?d:p;return{width:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,aspectRatio:g}},Ke),xJ=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:i,aspectRatio:u}=$(bJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{if(d(zl(v)),u){const b=cs(v/u,8);d(Ll(b))}},[d,u]),g=f.useCallback(()=>{if(d(zl(n)),u){const v=cs(n/u,8);d(Ll(v))}},[d,n,u]);return a.jsx(Ct,{label:p("parameters.width"),value:t,min:r,step:i,max:o,onChange:h,handleReset:g,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},wJ=f.memo(xJ);function Wp(){const{t:e}=ue(),t=Z(),n=$(o=>o.generation.shouldFitToWidthHeight),r=$(or);return a.jsxs(L,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[a.jsxs(L,{alignItems:"center",gap:2,children:[a.jsx(qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),a.jsx(Bi,{}),a.jsx(eI,{}),a.jsx(je,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:a.jsx(jP,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(F7())})]}),a.jsx(L,{gap:2,alignItems:"center",children:a.jsxs(L,{gap:2,flexDirection:"column",width:"full",children:[a.jsx(wJ,{isDisabled:r==="img2img"?!n:!1}),a.jsx(yJ,{isDisabled:r==="img2img"?!n:!1})]})})]})}const SJ=he([Zo,qi,Zr,Cu],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:g}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,shouldUseSliders:g}},Ke),CJ=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:i}=$(SJ),u=Z(),{t:d}=ue(),p=f.useCallback(v=>{u(Of(v))},[u]),h=f.useCallback(()=>{u(Of(t))},[u,t]),g=f.useCallback(()=>{u(bv())},[u]);return i?a.jsx(Ct,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):a.jsx(Nh,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:g})},Yl=f.memo(CJ);function _J(){const e=Z(),t=$(o=>o.generation.shouldFitToWidthHeight),n=o=>e(H7(o.target.checked)),{t:r}=ue();return a.jsx(xr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}const kJ=he([Zo,Cu,qi],(e,t,n)=>{const{initial:r,min:o,sliderMax:s,inputMax:i,fineStep:u,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?u:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:i,step:h}},Ke),jJ=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=$(kJ),i=Z(),{t:u}=ue(),d=f.useCallback(h=>i(Mf(h)),[i]),p=f.useCallback(()=>{i(Mf(t))},[i,t]);return a.jsx(Ct,{label:`${u("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},tI=f.memo(jJ);function PJ(){const e=$(i=>i.generation.seed),t=$(i=>i.generation.shouldRandomizeSeed),n=$(i=>i.generation.shouldGenerateVariations),{t:r}=ue(),o=Z(),s=i=>o(If(i));return a.jsx(Nh,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:J4,max:Z4,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e,formControlProps:{display:"flex",alignItems:"center",gap:3}})}const IJ=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function EJ(){const e=Z(),t=$(o=>o.generation.shouldRandomizeSeed),{t:n}=ue(),r=()=>e(If(IJ(J4,Z4)));return a.jsx(je,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:a.jsx(hL,{})})}const OJ=()=>{const e=Z(),{t}=ue(),n=$(o=>o.generation.shouldRandomizeSeed),r=o=>e(W7(o.target.checked));return a.jsx(xr,{label:t("common.random"),isChecked:n,onChange:r})},MJ=f.memo(OJ),RJ=()=>a.jsxs(L,{sx:{gap:4,alignItems:"center"},children:[a.jsx(PJ,{}),a.jsx(EJ,{}),a.jsx(MJ,{})]}),Xl=f.memo(RJ),DJ=he([Zr,Zo],(e,t)=>{const{shouldUseSliders:n}=e,{shouldFitToWidthHeight:r,shouldRandomizeSeed:o}=t;return{shouldUseSliders:n,shouldFitToWidthHeight:r,activeLabel:o?void 0:"Manual Seed"}},Ke),AJ=()=>{const{shouldUseSliders:e,shouldFitToWidthHeight:t,activeLabel:n}=$(DJ);return a.jsx(Ro,{label:"General",activeLabel:n,defaultIsOpen:!0,children:a.jsxs(L,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}),a.jsx(tI,{}),a.jsx(_J,{})]})})},TJ=f.memo(AJ),NJ=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(TJ,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(QP,{}),a.jsx(cy,{}),a.jsx(YP,{}),a.jsx(ny,{})]}),nI=f.memo(NJ),$J=()=>{const e=Z(),t=f.useRef(null),n=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(nI,{})}),a.jsx($e,{sx:{w:"full",h:"full"},children:a.jsxs(X1,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[a.jsx(gu,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:a.jsx(RQ,{})}),a.jsx(HP,{onDoubleClick:n}),a.jsx(gu,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(yo())},children:a.jsx(VP,{})})]})})]})},zJ=f.memo($J);var LJ=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var i=s[o];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n};const RC=wu(LJ);function K0(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var BJ=Object.defineProperty,DC=Object.getOwnPropertySymbols,FJ=Object.prototype.hasOwnProperty,HJ=Object.prototype.propertyIsEnumerable,AC=(e,t,n)=>t in e?BJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WJ=(e,t)=>{for(var n in t||(t={}))FJ.call(t,n)&&AC(e,n,t[n]);if(DC)for(var n of DC(t))HJ.call(t,n)&&AC(e,n,t[n]);return e};function rI(e,t){if(t===null||typeof t!="object")return{};const n=WJ({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const VJ="__MANTINE_FORM_INDEX__";function TC(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${VJ}`)):!1:!1}function NC(e,t,n){typeof n.value=="object"&&(n.value=_l(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function _l(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(i){o.add(_l(i))})):s==="[object Map]"?(o=new Map,e.forEach(function(i,u){o.set(_l(u),_l(i))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(_l(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function Q0(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const i=e[s],u=`${n===""?"":`${n}.`}${s}`,d=ia(u,t);let p=!1;return typeof i=="function"&&(o[u]=i(d,t,u)),typeof i=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,g)=>Q0(i,t,`${u}.${g}`,o))),typeof i=="object"&&typeof d=="object"&&d!==null&&(p||Q0(i,t,u,o)),o},r)}function Y0(e,t){return $C(typeof e=="function"?e(t):Q0(e,t))}function mf(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=Y0(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((i,u)=>i===s.split(".")[u]));return{hasError:!!o,error:o?r.errors[o]:null}}function UJ(e,{from:t,to:n},r){const o=ia(e,r);if(!Array.isArray(o))return r;const s=[...o],i=o[t];return s.splice(t,1),s.splice(n,0,i),$h(e,s,r)}var GJ=Object.defineProperty,zC=Object.getOwnPropertySymbols,qJ=Object.prototype.hasOwnProperty,KJ=Object.prototype.propertyIsEnumerable,LC=(e,t,n)=>t in e?GJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QJ=(e,t)=>{for(var n in t||(t={}))qJ.call(t,n)&&LC(e,n,t[n]);if(zC)for(var n of zC(t))KJ.call(t,n)&&LC(e,n,t[n]);return e};function YJ(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,i=QJ({},r);return Object.keys(r).every(u=>{let d,p;if(u.startsWith(o)&&(d=u,p=u.replace(o,s)),u.startsWith(s)&&(d=u.replace(s,o),p=u),d&&p){const h=i[d],g=i[p];return g===void 0?delete i[d]:i[d]=g,h===void 0?delete i[p]:i[p]=h,!1}return!0}),i}function XJ(e,t,n){const r=ia(e,n);return Array.isArray(r)?$h(e,r.filter((o,s)=>s!==t),n):n}var JJ=Object.defineProperty,BC=Object.getOwnPropertySymbols,ZJ=Object.prototype.hasOwnProperty,eZ=Object.prototype.propertyIsEnumerable,FC=(e,t,n)=>t in e?JJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tZ=(e,t)=>{for(var n in t||(t={}))ZJ.call(t,n)&&FC(e,n,t[n]);if(BC)for(var n of BC(t))eZ.call(t,n)&&FC(e,n,t[n]);return e};function HC(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function WC(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=rI(`${o}.${t}`,s));const i=tZ({},s),u=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=HC(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=HC(d,o),g=d.replace(`${o}.${h}`,`${o}.${h+r}`);i[g]=p,u.add(g),u.has(d)||delete i[d]}),i}function nZ(e,t,n,r){const o=ia(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),$h(e,s,r)}function VC(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function rZ(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var oZ=Object.defineProperty,sZ=Object.defineProperties,aZ=Object.getOwnPropertyDescriptors,UC=Object.getOwnPropertySymbols,iZ=Object.prototype.hasOwnProperty,lZ=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?oZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,za=(e,t)=>{for(var n in t||(t={}))iZ.call(t,n)&&GC(e,n,t[n]);if(UC)for(var n of UC(t))lZ.call(t,n)&&GC(e,n,t[n]);return e},Bg=(e,t)=>sZ(e,aZ(t));function pc({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:i=!1,transformValues:u=p=>p,validate:d}={}){const[p,h]=f.useState(r),[g,v]=f.useState(n),[b,S]=f.useState(e),[x,C]=f.useState(K0(t)),_=f.useRef(e),k=te=>{_.current=te},P=f.useCallback(()=>h({}),[]),I=te=>{const H=te?za(za({},b),te):b;k(H),v({})},E=f.useCallback(te=>C(H=>K0(typeof te=="function"?te(H):te)),[]),O=f.useCallback(()=>C({}),[]),R=f.useCallback(()=>{S(e),O(),k(e),v({}),P()},[]),D=f.useCallback((te,H)=>E(re=>Bg(za({},re),{[te]:H})),[]),T=f.useCallback(te=>E(H=>{if(typeof te!="string")return H;const re=za({},H);return delete re[te],re}),[]),B=f.useCallback(te=>v(H=>{if(typeof te!="string")return H;const re=rI(te,H);return delete re[te],re}),[]),W=f.useCallback((te,H)=>{const re=TC(te,s);B(te),h(pe=>Bg(za({},pe),{[te]:!0})),S(pe=>{const ne=$h(te,H,pe);if(re){const ve=mf(te,d,ne);ve.hasError?D(te,ve.error):T(te)}return ne}),!re&&o&&D(te,null)},[]),J=f.useCallback(te=>{S(H=>{const re=typeof te=="function"?te(H):te;return za(za({},H),re)}),o&&O()},[]),F=f.useCallback((te,H)=>{B(te),S(re=>UJ(te,H,re)),C(re=>YJ(te,H,re))},[]),N=f.useCallback((te,H)=>{B(te),S(re=>XJ(te,H,re)),C(re=>WC(te,H,re,-1))},[]),G=f.useCallback((te,H,re)=>{B(te),S(pe=>nZ(te,H,re,pe)),C(pe=>WC(te,re,pe,1))},[]),K=f.useCallback(()=>{const te=Y0(d,b);return C(te.errors),te},[b,d]),M=f.useCallback(te=>{const H=mf(te,d,b);return H.hasError?D(te,H.error):T(te),H},[b,d]),U=(te,{type:H="input",withError:re=!0,withFocus:pe=!0}={})=>{const ve={onChange:rZ(de=>W(te,de))};return re&&(ve.error=x[te]),H==="checkbox"?ve.checked=ia(te,b):ve.value=ia(te,b),pe&&(ve.onFocus=()=>h(de=>Bg(za({},de),{[te]:!0})),ve.onBlur=()=>{if(TC(te,i)){const de=mf(te,d,b);de.hasError?D(te,de.error):T(te)}}),ve},V=(te,H)=>re=>{re==null||re.preventDefault();const pe=K();pe.hasErrors?H==null||H(pe.errors,b,re):te==null||te(u(b),re)},ee=te=>u(te||b),ie=f.useCallback(te=>{te.preventDefault(),R()},[]),xe=te=>{if(te){const re=ia(te,g);if(typeof re=="boolean")return re;const pe=ia(te,b),ne=ia(te,_.current);return!RC(pe,ne)}return Object.keys(g).length>0?VC(g):!RC(b,_.current)},me=f.useCallback(te=>VC(p,te),[p]),ae=f.useCallback(te=>te?!mf(te,d,b).hasError:!Y0(d,b).hasErrors,[b,d]);return{values:b,errors:x,setValues:J,setErrors:E,setFieldValue:W,setFieldError:D,clearFieldError:T,clearErrors:O,reset:R,validate:K,validateField:M,reorderListItem:F,removeListItem:N,insertListItem:G,getInputProps:U,onSubmit:V,onReset:ie,isDirty:xe,isTouched:me,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:ae,getTransformedValues:ee}}function Or(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:i,base700:u,base900:d,accent500:p,accent300:h}=F1(),{colorMode:g}=xs();return a.jsx(Jj,{styles:()=>({input:{color:Me(d,r)(g),backgroundColor:Me(n,d)(g),borderColor:Me(o,i)(g),borderWidth:2,outline:"none",":focus":{borderColor:Me(h,p)(g)}},label:{color:Me(u,s)(g),fontWeight:"normal",marginBottom:4}}),...t})}const cZ=[{value:"sd-1",label:Mr["sd-1"]},{value:"sd-2",label:Mr["sd-2"]},{value:"sdxl",label:Mr.sdxl},{value:"sdxl-refiner",label:Mr["sdxl-refiner"]}];function zh(e){const{...t}=e,{t:n}=ue();return a.jsx(Co,{label:n("modelManager.baseModel"),data:cZ,...t})}function sI(e){const{data:t}=e3(),{...n}=e;return a.jsx(Co,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const uZ=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function Lh(e){const{...t}=e,{t:n}=ue();return a.jsx(Co,{label:n("modelManager.variant"),data:uZ,...t})}function aI(e){const{t}=ue(),n=Z(),{model_path:r}=e,o=pc({initialValues:{model_name:r?r.split("\\").splice(-1)[0].split(".")[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=t3(),[i,u]=f.useState(!1),d=p=>{s({body:p}).unwrap().then(h=>{n(Bn(Vn({title:`Model Added: ${p.model_name}`,status:"success"}))),o.reset(),r&&n(_u(null))}).catch(h=>{h&&n(Bn(Vn({title:"Model Add Failed",status:"error"})))})};return a.jsx("form",{onSubmit:o.onSubmit(p=>d(p)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(Or,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),a.jsx(zh,{...o.getInputProps("base_model")}),a.jsx(Or,{label:"Model Location",required:!0,...o.getInputProps("path")}),a.jsx(Or,{label:"Description",...o.getInputProps("description")}),a.jsx(Or,{label:"VAE Location",...o.getInputProps("vae")}),a.jsx(Lh,{...o.getInputProps("variant")}),a.jsxs(L,{flexDirection:"column",width:"100%",gap:2,children:[i?a.jsx(Or,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):a.jsx(sI,{required:!0,width:"100%",...o.getInputProps("config")}),a.jsx(Ln,{isChecked:i,onChange:()=>u(!i),label:"Use Custom Config"}),a.jsx(Xt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function iI(e){const{t}=ue(),n=Z(),{model_path:r}=e,[o]=t3(),s=pc({initialValues:{model_name:r?r.split("\\").splice(-1)[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),i=u=>{o({body:u}).unwrap().then(d=>{n(Bn(Vn({title:`Model Added: ${u.model_name}`,status:"success"}))),s.reset(),r&&n(_u(null))}).catch(d=>{d&&n(Bn(Vn({title:"Model Add Failed",status:"error"})))})};return a.jsx("form",{onSubmit:s.onSubmit(u=>i(u)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(Or,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),a.jsx(zh,{...s.getInputProps("base_model")}),a.jsx(Or,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),a.jsx(Or,{label:"Description",...s.getInputProps("description")}),a.jsx(Or,{label:"VAE Location",...s.getInputProps("vae")}),a.jsx(Lh,{...s.getInputProps("variant")}),a.jsx(Xt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const lI=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function dZ(){const[e,t]=f.useState("diffusers");return a.jsxs(L,{flexDirection:"column",gap:4,width:"100%",children:[a.jsx(Co,{label:"Model Type",value:e,data:lI,onChange:n=>{n&&t(n)}}),a.jsxs(L,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&a.jsx(iI,{}),e==="checkpoint"&&a.jsx(aI,{})]})]})}const fZ=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function pZ(){const e=Z(),{t}=ue(),n=$(u=>u.system.isProcessing),[r,{isLoading:o}]=n3(),s=pc({initialValues:{location:"",prediction_type:void 0}}),i=u=>{const d={location:u.location,prediction_type:u.prediction_type==="none"?void 0:u.prediction_type};r({body:d}).unwrap().then(p=>{e(Bn(Vn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(Bn(Vn({title:`${p.data.detail} `,status:"error"}))))})};return a.jsx("form",{onSubmit:s.onSubmit(u=>i(u)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",width:"100%",gap:4,children:[a.jsx(Or,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),a.jsx(Co,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:fZ,defaultValue:"none",...s.getInputProps("prediction_type")}),a.jsx(Xt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function hZ(){const[e,t]=f.useState("simple");return a.jsxs(L,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),a.jsx(Xt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),a.jsxs(L,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&a.jsx(pZ,{}),e==="advanced"&&a.jsx(dZ,{})]})]})}function mZ(e){const{...t}=e;return a.jsx(Uk,{w:"100%",...t,children:e.children})}function gZ(){const e=$(x=>x.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=Ei(),{foundModels:o,alreadyInstalled:s,filteredModels:i}=r3({search_path:e||""},{selectFromResult:({data:x})=>{const C=SM(r==null?void 0:r.entities),_=Ss(C,"path"),k=bM(x,_),P=PM(x,_);return{foundModels:x,alreadyInstalled:qC(P,t),filteredModels:qC(k,t)}}}),[u,{isLoading:d}]=n3(),p=Z(),{t:h}=ue(),g=f.useCallback(x=>{const C=x.currentTarget.id.split("\\").splice(-1)[0];u({body:{location:x.currentTarget.id}}).unwrap().then(_=>{p(Bn(Vn({title:`Added Model: ${C}`,status:"success"})))}).catch(_=>{_&&p(Bn(Vn({title:"Failed To Add Model",status:"error"})))})},[p,u]),v=f.useCallback(x=>{n(x.target.value)},[]),b=({models:x,showActions:C=!0})=>x.map(_=>a.jsxs(L,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[a.jsx(qe,{sx:{fontWeight:600},children:_.split("\\").slice(-1)[0]}),a.jsx(qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:_})]}),C?a.jsxs(L,{gap:2,children:[a.jsx(Xt,{id:_,onClick:g,isLoading:d,children:"Quick Add"}),a.jsx(Xt,{onClick:()=>p(_u(_)),isLoading:d,children:"Advanced"})]}):a.jsx(qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},_));return(()=>{if(e)return!o||o.length===0?a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:a.jsx(qe,{variant:"subtext",children:"No Models Found"})}):a.jsxs(L,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[a.jsx(zi,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),a.jsxs(L,{p:2,gap:2,children:[a.jsxs(qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),a.jsxs(qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",i.length]})]}),a.jsx(mZ,{offsetScrollbars:!0,children:a.jsxs(L,{gap:2,flexDirection:"column",children:[b({models:i}),b({models:s,showActions:!1})]})})]})})()}const qC=(e,t)=>{const n=[];return Qo(e,r=>{r&&r.includes(t)&&n.push(r)}),n};function vZ(){const e=$(i=>i.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(i=>e.endsWith(i))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=Z();return e&&a.jsxs($e,{as:Jr.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{justifyContent:"space-between",alignItems:"center",children:[a.jsx(qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),a.jsx(je,{icon:a.jsx(wL,{}),"aria-label":"Close Advanced",onClick:()=>s(_u(null)),size:"sm"})]}),a.jsx(Co,{label:"Model Type",value:t,data:lI,onChange:i=>{i&&(n(i),o(i==="checkpoint"))}}),r?a.jsx(aI,{model_path:e},e):a.jsx(iI,{model_path:e},e)]})}function yZ(){const e=Z(),{t}=ue(),n=$(u=>u.modelmanager.searchFolder),{refetch:r}=r3({search_path:n||""}),o=pc({initialValues:{folder:""}}),s=f.useCallback(u=>{e(Sx(u.folder))},[e]),i=()=>{r()};return a.jsx("form",{onSubmit:o.onSubmit(u=>s(u)),style:{width:"100%"},children:a.jsxs(L,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[a.jsxs(L,{w:"100%",alignItems:"center",gap:4,minH:12,children:[a.jsx(qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?a.jsx(L,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):a.jsx(zi,{w:"100%",size:"md",...o.getInputProps("folder")})]}),a.jsxs(L,{gap:2,children:[n?a.jsx(je,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:a.jsx(C_,{}),onClick:i,fontSize:18,size:"sm"}):a.jsx(je,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:a.jsx(gL,{}),fontSize:18,size:"sm",type:"submit"}),a.jsx(je,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:a.jsx(Xo,{}),size:"sm",onClick:()=>{e(Sx(null)),e(_u(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const bZ=f.memo(yZ);function xZ(){return a.jsxs(L,{flexDirection:"column",w:"100%",gap:4,children:[a.jsx(bZ,{}),a.jsxs(L,{gap:4,children:[a.jsx(L,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:a.jsx(gZ,{})}),a.jsx(vZ,{})]})]})}function wZ(){const[e,t]=f.useState("add"),{t:n}=ue();return a.jsxs(L,{flexDirection:"column",gap:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),a.jsx(Xt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&a.jsx(hZ,{}),e=="scan"&&a.jsx(xZ,{})]})}const SZ=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function CZ(){const{t:e}=ue(),t=Z(),{data:n}=Ei(),[r,{isLoading:o}]=V7(),[s,i]=f.useState("sd-1"),u=Cx(n==null?void 0:n.entities,(M,U)=>(M==null?void 0:M.model_format)==="diffusers"&&(M==null?void 0:M.base_model)==="sd-1"),d=Cx(n==null?void 0:n.entities,(M,U)=>(M==null?void 0:M.model_format)==="diffusers"&&(M==null?void 0:M.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":u,"sd-2":d}),[u,d]),[h,g]=f.useState(Object.keys(p[s])[0]),[v,b]=f.useState(Object.keys(p[s])[1]),[S,x]=f.useState(null),[C,_]=f.useState(""),[k,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[D,T]=f.useState(""),[B,W]=f.useState(!1),J=Object.keys(p[s]).filter(M=>M!==v&&M!==S),F=Object.keys(p[s]).filter(M=>M!==h&&M!==S),N=Object.keys(p[s]).filter(M=>M!==h&&M!==v),G=M=>{i(M),g(null),b(null)},K=()=>{const M=[];let U=[h,v,S];U=U.filter(ee=>ee!==null),U.forEach(ee=>{ee&&M.push(ee==null?void 0:ee.split("/")[2])});const V={model_names:M,merged_model_name:C!==""?C:M.join("-"),alpha:k,interp:I,force:B,merge_dest_directory:O==="root"?void 0:D};r({base_model:s,body:V}).unwrap().then(ee=>{t(Bn(Vn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(ee=>{ee&&t(Bn(Vn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return a.jsxs(L,{flexDirection:"column",rowGap:4,children:[a.jsxs(L,{sx:{flexDirection:"column",rowGap:1},children:[a.jsx(qe,{children:e("modelManager.modelMergeHeaderHelp1")}),a.jsx(qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),a.jsxs(L,{columnGap:4,children:[a.jsx(Co,{label:"Model Type",w:"100%",data:SZ,value:s,onChange:G}),a.jsx(br,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:J,onChange:M=>g(M)}),a.jsx(br,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:M=>b(M)}),a.jsx(br,{label:e("modelManager.modelThree"),data:N,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:M=>{M?(x(M),E("weighted_sum")):(x(null),E("add_difference"))}})]}),a.jsx(zi,{label:e("modelManager.mergedModelName"),value:C,onChange:M=>_(M.target.value)}),a.jsxs(L,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(Ct,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:k,onChange:M=>P(M),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),a.jsx(qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),a.jsxs(L,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),a.jsx(Bf,{value:I,onChange:M=>E(M),children:a.jsx(L,{columnGap:4,children:S===null?a.jsxs(a.Fragment,{children:[a.jsx(aa,{value:"weighted_sum",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),a.jsx(aa,{value:"sigmoid",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),a.jsx(aa,{value:"inv_sigmoid",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):a.jsx(aa,{value:"add_difference",children:a.jsx(Cn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),a.jsxs(L,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[a.jsxs(L,{columnGap:4,children:[a.jsx(qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),a.jsx(Bf,{value:O,onChange:M=>R(M),children:a.jsxs(L,{columnGap:4,children:[a.jsx(aa,{value:"root",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),a.jsx(aa,{value:"custom",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&a.jsx(zi,{label:e("modelManager.mergedModelCustomSaveLocation"),value:D,onChange:M=>T(M.target.value)})]}),a.jsx(Ln,{label:e("modelManager.ignoreMismatch"),isChecked:B,onChange:M=>W(M.target.checked),fontWeight:"500"}),a.jsx(Xt,{onClick:K,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const _Z=rt((e,t)=>{const{t:n}=ue(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:i,children:u,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:g,onClose:v}=Ws(),b=f.useRef(null),S=()=>{o(),v()},x=()=>{i&&i(),v()};return a.jsxs(a.Fragment,{children:[f.cloneElement(p,{onClick:g,ref:t}),a.jsx(Du,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:d}),a.jsx(ba,{children:u}),a.jsxs(ga,{children:[a.jsx(Xt,{ref:b,onClick:x,children:s}),a.jsx(Xt,{colorScheme:"error",onClick:S,ml:3,children:r})]})]})})})]})}),hy=f.memo(_Z);function kZ(e){const{model:t}=e,n=Z(),{t:r}=ue(),[o,{isLoading:s}]=U7(),[i,u]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{u("InvokeAIRoot")},[t]);const h=()=>{u("InvokeAIRoot")},g=()=>{const v={base_model:t.base_model,model_name:t.model_name,params:{convert_dest_directory:i==="Custom"?d:void 0}};if(i==="Custom"&&d===""){n(Bn(Vn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(Bn(Vn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"success"}))),o(v).unwrap().then(b=>{n(Bn(Vn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(b=>{n(Bn(Vn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return a.jsxs(hy,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:g,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:a.jsxs(Xt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[a.jsxs(L,{flexDirection:"column",rowGap:4,children:[a.jsx(qe,{children:r("modelManager.convertToDiffusersHelpText1")}),a.jsxs(Fv,{children:[a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText2")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText3")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText4")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText5")})]}),a.jsx(qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),a.jsxs(L,{flexDir:"column",gap:2,children:[a.jsxs(L,{marginTop:4,flexDir:"column",gap:2,children:[a.jsx(qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),a.jsx(Bf,{value:i,onChange:v=>u(v),children:a.jsxs(L,{gap:4,children:[a.jsx(aa,{value:"InvokeAIRoot",children:a.jsx(Cn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),a.jsx(aa,{value:"Custom",children:a.jsx(Cn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),i==="Custom"&&a.jsxs(L,{flexDirection:"column",rowGap:2,children:[a.jsx(qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),a.jsx(zi,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function jZ(e){const t=$(Sr),{model:n}=e,[r,{isLoading:o}]=o3(),{data:s}=e3(),[i,u]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||u(!0)},[s,n.config]);const d=Z(),{t:p}=ue(),h=pc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),g=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(S=>{h.setValues(S),d(Bn(Vn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(S=>{h.reset(),d(Bn(Vn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return a.jsxs(L,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(L,{justifyContent:"space-between",alignItems:"center",children:[a.jsxs(L,{flexDirection:"column",children:[a.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Mr[n.base_model]," Model"]})]}),["sdxl","sdxl-refiner"].includes(n.base_model)?a.jsx(Za,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):a.jsx(kZ,{model:n})]}),a.jsx(Fi,{}),a.jsx(L,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:a.jsx("form",{onSubmit:h.onSubmit(v=>g(v)),children:a.jsxs(L,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(Or,{label:p("modelManager.name"),...h.getInputProps("model_name")}),a.jsx(Or,{label:p("modelManager.description"),...h.getInputProps("description")}),a.jsx(zh,{required:!0,...h.getInputProps("base_model")}),a.jsx(Lh,{required:!0,...h.getInputProps("variant")}),a.jsx(Or,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),a.jsx(Or,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),a.jsxs(L,{flexDirection:"column",gap:2,children:[i?a.jsx(Or,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):a.jsx(sI,{required:!0,...h.getInputProps("config")}),a.jsx(Ln,{isChecked:i,onChange:()=>u(!i),label:"Use Custom Config"})]}),a.jsx(Xt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function PZ(e){const t=$(Sr),{model:n}=e,[r,{isLoading:o}]=o3(),s=Z(),{t:i}=ue(),u=pc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(g=>{u.setValues(g),s(Bn(Vn({title:i("modelManager.modelUpdated"),status:"success"})))}).catch(g=>{u.reset(),s(Bn(Vn({title:i("modelManager.modelUpdateFailed"),status:"error"})))})},[u,s,n.base_model,n.model_name,i,r]);return a.jsxs(L,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(L,{flexDirection:"column",children:[a.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Mr[n.base_model]," Model"]})]}),a.jsx(Fi,{}),a.jsx("form",{onSubmit:u.onSubmit(p=>d(p)),children:a.jsxs(L,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(Or,{label:i("modelManager.name"),...u.getInputProps("model_name")}),a.jsx(Or,{label:i("modelManager.description"),...u.getInputProps("description")}),a.jsx(zh,{required:!0,...u.getInputProps("base_model")}),a.jsx(Lh,{required:!0,...u.getInputProps("variant")}),a.jsx(Or,{required:!0,label:i("modelManager.modelLocation"),...u.getInputProps("path")}),a.jsx(Or,{label:i("modelManager.vaeLocation"),...u.getInputProps("vae")}),a.jsx(Xt,{type:"submit",isDisabled:t||o,isLoading:o,children:i("modelManager.updateModel")})]})})]})}const IZ={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"};function KC(e){const t=$(Sr),{t:n}=ue(),r=Z(),[o]=G7(),{model:s,isSelected:i,setSelectedModelId:u}=e,d=f.useCallback(()=>{u(s.id)},[s.id,u]),p=f.useCallback(()=>{o(s).unwrap().then(h=>{r(Bn(Vn({title:`${n("modelManager.modelDeleted")}: ${s.model_name}`,status:"success"})))}).catch(h=>{h&&r(Bn(Vn({title:`${n("modelManager.modelDeleteFailed")}: ${s.model_name}`,status:"success"})))}),u(void 0)},[o,s,u,r,n]);return a.jsxs(L,{sx:{gap:2,alignItems:"center",w:"full"},children:[a.jsx(L,{as:Xt,isChecked:i,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:i?"accent.400":"base.100",color:i?"base.50":"base.800",_hover:{bg:i?"accent.500":"base.300",color:i?"base.50":"base.800"},_dark:{color:i?"base.50":"base.100",bg:i?"accent.600":"base.850",_hover:{color:i?"base.50":"base.100",bg:i?"accent.550":"base.700"}}},onClick:d,children:a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(Za,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:IZ[s.base_model]}),a.jsx(Cn,{label:s.description,hasArrow:!0,placement:"bottom",children:a.jsx(qe,{sx:{fontWeight:500},children:s.model_name})})]})}),a.jsx(hy,{title:n("modelManager.deleteModel"),acceptCallback:p,acceptButtonText:n("modelManager.delete"),triggerComponent:a.jsx(je,{icon:a.jsx(jL,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:a.jsxs(L,{rowGap:4,flexDirection:"column",children:[a.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),a.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const EZ=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ue(),[o,s]=f.useState(""),[i,u]=f.useState("images"),{filteredDiffusersModels:d}=Ei(void 0,{selectFromResult:({data:g})=>({filteredDiffusersModels:QC(g,"diffusers",o)})}),{filteredCheckpointModels:p}=Ei(void 0,{selectFromResult:({data:g})=>({filteredCheckpointModels:QC(g,"checkpoint",o)})}),h=f.useCallback(g=>{s(g.target.value)},[]);return a.jsx(L,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:a.jsxs(L,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{onClick:()=>u("images"),isChecked:i==="images",size:"sm",children:r("modelManager.allModels")}),a.jsx(Xt,{size:"sm",onClick:()=>u("diffusers"),isChecked:i==="diffusers",children:r("modelManager.diffusersModels")}),a.jsx(Xt,{size:"sm",onClick:()=>u("checkpoint"),isChecked:i==="checkpoint",children:r("modelManager.checkpointModels")})]}),a.jsx(zi,{onChange:h,label:r("modelManager.search"),labelPos:"side"}),a.jsxs(L,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[["images","diffusers"].includes(i)&&d.length>0&&a.jsx(YC,{children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Diffusers"}),d.map(g=>a.jsx(KC,{model:g,isSelected:t===g.id,setSelectedModelId:n},g.id))]})}),["images","checkpoint"].includes(i)&&p.length>0&&a.jsx(YC,{children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Checkpoints"}),p.map(g=>a.jsx(KC,{model:g,isSelected:t===g.id,setSelectedModelId:n},g.id))]})})]})]})})},QC=(e,t,n)=>{const r=[];return Qo(e==null?void 0:e.entities,o=>{if(!o)return;const s=o.model_name.toLowerCase().includes(n.toLowerCase()),i=o.model_format===t;s&&i&&r.push(o)}),r},YC=e=>a.jsx(L,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function OZ(){const[e,t]=f.useState(),{model:n}=Ei(void 0,{selectFromResult:({data:r})=>({model:e?r==null?void 0:r.entities[e]:void 0})});return a.jsxs(L,{sx:{gap:8,w:"full",h:"full"},children:[a.jsx(EZ,{selectedModelId:e,setSelectedModelId:t}),a.jsx(MZ,{model:n})]})}const MZ=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?a.jsx(jZ,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?a.jsx(PZ,{model:t},t.id):a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:a.jsx(qe,{variant:"subtext",children:"No Model Selected"})})};function RZ(){const{t:e}=ue();return a.jsxs(L,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{sx:{flexDirection:"column",gap:2},children:[a.jsx(qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),a.jsx(qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),a.jsx(py,{})]})}function DZ(){return a.jsx(L,{children:a.jsx(RZ,{})})}const XC=[{id:"modelManager",label:pr.t("modelManager.modelManager"),content:a.jsx(OZ,{})},{id:"importModels",label:pr.t("modelManager.importModels"),content:a.jsx(wZ,{})},{id:"mergeModels",label:pr.t("modelManager.mergeModels"),content:a.jsx(CZ,{})},{id:"settings",label:pr.t("modelManager.settings"),content:a.jsx(DZ,{})}],AZ=()=>a.jsxs(Nu,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[a.jsx($u,{children:XC.map(e=>a.jsx(Bl,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),a.jsx(fh,{sx:{w:"full",h:"full"},children:XC.map(e=>a.jsx(dh,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),TZ=f.memo(AZ);const NZ=e=>he([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),$Z=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},zZ=he([e=>e.nodes],e=>e.invocationTemplates),my="node-drag-handle",JC={dragHandle:`.${my}`},LZ=()=>{const e=$(zZ),t=eh();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:g}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...JC,id:"progress_image",type:"progress_image",position:{x:h,y:g},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=Ka(),s=_x(r.inputs,(h,g,v)=>{const b=Ka(),S=$Z(b,g);return h[v]=S,h},{}),i=_x(r.outputs,(h,g,v)=>{const S={id:Ka(),name:v,type:g.type};return h[v]=S,h},{}),{x:u,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...JC,id:o,type:"invocation",position:{x:u,y:d},data:{id:o,type:n,inputs:s,outputs:i}}},[e,t])},BZ=e=>{const{nodeId:t,title:n,description:r}=e;return a.jsxs(L,{className:my,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[a.jsx(Cn,{label:t,children:a.jsx(zs,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),a.jsx(Cn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:a.jsx(io,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:aL})})]})},cI=f.memo(BZ),uI=()=>{const e=eh();return f.useCallback(({source:n,sourceHandle:r,target:o,targetHandle:s})=>(e.getEdges(),e.getNodes(),!0),[e])},FZ={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},HZ={left:"-1rem"},WZ={right:"-0.5rem"},VZ=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:i}=t;return a.jsx(Cn,{label:i,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:s3,children:a.jsx(q7,{type:r,id:s,isValidConnection:n,position:r==="target"?kx.Left:kx.Right,style:{backgroundColor:a3[i].colorCssVar,...o,...FZ,...r==="target"?HZ:WZ}})})},dI=f.memo(VZ),UZ=e=>a.jsx(cL,{}),GZ=f.memo(UZ),qZ=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s.target.checked}))};return a.jsx(Xv,{onChange:o,isChecked:n.value})},KZ=f.memo(qZ),QZ=e=>null,YZ=f.memo(QZ);function Bh(){return(Bh=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function X0(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Jl=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:C.buttons>0)&&o.current?s(ZC(o.current,C,u.current)):x(!1)},S=function(){return x(!1)};function x(C){var _=d.current,k=J0(o.current),P=C?k.addEventListener:k.removeEventListener;P(_?"touchmove":"mousemove",b),P(_?"touchend":"mouseup",S)}return[function(C){var _=C.nativeEvent,k=o.current;if(k&&(e4(_),!function(I,E){return E&&!ru(I)}(_,d.current)&&k)){if(ru(_)){d.current=!0;var P=_.changedTouches||[];P.length&&(u.current=P[0].identifier)}k.focus(),s(ZC(k,_,u.current)),x(!0)}},function(C){var _=C.which||C.keyCode;_<37||_>40||(C.preventDefault(),i({left:_===39?.05:_===37?-.05:0,top:_===40?.05:_===38?-.05:0}))},x]},[i,s]),h=p[0],g=p[1],v=p[2];return f.useEffect(function(){return v},[v]),z.createElement("div",Bh({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:g,tabIndex:0,role:"slider"}))}),Fh=function(e){return e.filter(Boolean).join(" ")},vy=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=Fh(["react-colorful__pointer",e.className]);return z.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},z.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},lo=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},pI=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:lo(e.h),s:lo(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:lo(o/2),a:lo(r,2)}},Z0=function(e){var t=pI(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},Fg=function(e){var t=pI(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},XZ=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),i=r*(1-n),u=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:lo(255*[r,u,i,i,d,r][p]),g:lo(255*[d,r,r,u,i,i][p]),b:lo(255*[i,i,d,r,r,u][p]),a:lo(o,2)}},JZ=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),i=s-Math.min(t,n,r),u=i?s===t?(n-r)/i:s===n?2+(r-t)/i:4+(t-n)/i:0;return{h:lo(60*(u<0?u+6:u)),s:lo(s?i/s*100:0),v:lo(s/255*100),a:o}},ZZ=z.memo(function(e){var t=e.hue,n=e.onChange,r=Fh(["react-colorful__hue",e.className]);return z.createElement("div",{className:r},z.createElement(gy,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Jl(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":lo(t),"aria-valuemax":"360","aria-valuemin":"0"},z.createElement(vy,{className:"react-colorful__hue-pointer",left:t/360,color:Z0({h:t,s:100,v:100,a:1})})))}),eee=z.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:Z0({h:t.h,s:100,v:100,a:1})};return z.createElement("div",{className:"react-colorful__saturation",style:r},z.createElement(gy,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Jl(t.s+100*o.left,0,100),v:Jl(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+lo(t.s)+"%, Brightness "+lo(t.v)+"%"},z.createElement(vy,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:Z0(t)})))}),hI=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function tee(e,t,n){var r=X0(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],i=o[1],u=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,u.current.color)){var p=e.toHsva(t);u.current={hsva:p,color:t},i(p)}},[t,e]),f.useEffect(function(){var p;hI(s,u.current.hsva)||e.equal(p=e.fromHsva(s),u.current.color)||(u.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){i(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var nee=typeof window<"u"?f.useLayoutEffect:f.useEffect,ree=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},t4=new Map,oee=function(e){nee(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!t4.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,t4.set(t,n);var r=ree();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},see=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+Fg(Object.assign({},n,{a:0}))+", "+Fg(Object.assign({},n,{a:1}))+")"},s=Fh(["react-colorful__alpha",t]),i=lo(100*n.a);return z.createElement("div",{className:s},z.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),z.createElement(gy,{onMove:function(u){r({a:u.left})},onKey:function(u){r({a:Jl(n.a+u.left)})},"aria-label":"Alpha","aria-valuetext":i+"%","aria-valuenow":i,"aria-valuemin":"0","aria-valuemax":"100"},z.createElement(vy,{className:"react-colorful__alpha-pointer",left:n.a,color:Fg(n)})))},aee=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,i=fI(e,["className","colorModel","color","onChange"]),u=f.useRef(null);oee(u);var d=tee(n,o,s),p=d[0],h=d[1],g=Fh(["react-colorful",t]);return z.createElement("div",Bh({},i,{ref:u,className:g}),z.createElement(eee,{hsva:p,onChange:h}),z.createElement(ZZ,{hue:p.h,onChange:h}),z.createElement(see,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},iee={defaultColor:{r:0,g:0,b:0,a:1},toHsva:JZ,fromHsva:XZ,equal:hI},mI=function(e){return z.createElement(aee,Bh({},e,{colorModel:iee}))};const lee=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s}))};return a.jsx(mI,{className:"nodrag",color:n.value,onChange:o})},cee=f.memo(lee),uee=e=>null,dee=f.memo(uee),fee=e=>null,pee=f.memo(fee),hee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z();ue();const{data:s}=yv(),i=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),u=f.useMemo(()=>{if(!s)return[];const p=[];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=UP(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return a.jsx(Co,{tooltip:i==null?void 0:i.description,label:(i==null?void 0:i.base_model)&&Mr[i==null?void 0:i.base_model],value:(i==null?void 0:i.id)??null,placeholder:"Pick one",error:!i,data:u,onChange:d})},mee=f.memo(hee),gee=e=>{const{nodeId:t,field:n,template:r}=e,o=Z(),s=i=>{o(qo({nodeId:t,fieldName:n.name,value:i.target.value}))};return a.jsx(o5,{onChange:s,value:n.value,children:r.options.map(i=>a.jsx("option",{children:i},i))})},vee=f.memo(gee),yee=e=>{var p;const{nodeId:t,field:n}=e,r=Z();f.useCallback(({image_name:h})=>{r(qo({nodeId:t,fieldName:n.name,value:K7([...n.value??[],{image_name:h}],"image_name")}))},[r,n.name,n.value,t]);const o={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:s,setNodeRef:i,active:u,over:d}=uv({id:`node_${t}`,data:o});return f.useCallback(()=>{r(qo({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a.jsxs(L,{ref:i,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(p=n.value)==null?void 0:p.map(({image_name:h})=>a.jsx(xee,{imageName:h},h)),jf(o,u)&&a.jsx(Yf,{isOver:s})]})},bee=f.memo(yee),xee=e=>{const{currentData:t}=Uo(e.imageName);return a.jsx(ri,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},wee=e=>{var v;const{nodeId:t,field:n}=e,r=Z(),{currentData:o,isLoading:s,isError:i,isSuccess:u}=Uo(((v=n.value)==null?void 0:v.image_name)??Xr.skipToken),d=f.useCallback(()=>{r(qo({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),p=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),h=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),g=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(ri,{imageDTO:o,droppableData:h,draggableData:p,onClickReset:d,postUploadAction:g})})},See=f.memo(wee),Cee=e=>a.jsx(Fz,{}),n4=f.memo(Cee),_ee=e=>null,kee=f.memo(_ee),jee=Zp.child({module:"models"}),Pee=e=>{const[t,n,r]=e.split("/"),o=Q7.safeParse({base_model:t,model_name:r});if(!o.success){jee.error({loraModelId:e,errors:o.error.format()},"Failed to parse LoRA model id");return}return o.data},Iee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z(),{data:s}=V4(),i=f.useMemo(()=>{if(!s)return[];const p=[];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p.sort((h,g)=>h.disabled&&!g.disabled?1:-1)},[s]),u=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Pee(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?a.jsx(L,{sx:{justifyContent:"center",p:2},children:a.jsx(qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):a.jsx(br,{value:(u==null?void 0:u.id)??null,label:(u==null?void 0:u.base_model)&&Mr[u==null?void 0:u.base_model],placeholder:i.length>0?"Select a LoRA":"No LoRAs available",data:i,nothingFound:"No matching LoRAs",itemComponent:ai,disabled:i.length===0,filter:(p,h)=>{var g;return((g=h.label)==null?void 0:g.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Eee=f.memo(Iee),Oee=e=>{var h,g;const{nodeId:t,field:n}=e,r=Z(),{t:o}=ue(),{data:s,isLoading:i}=Ei(),u=f.useMemo(()=>{if(!s)return[];const v=[];return Qo(s.entities,(b,S)=>{b&&v.push({value:S,label:b.model_name,group:Mr[b.base_model]})}),v},[s]),d=f.useMemo(()=>{var v,b;return(s==null?void 0:s.entities[`${(v=n.value)==null?void 0:v.base_model}/main/${(b=n.value)==null?void 0:b.model_name}`])??null},[(h=n.value)==null?void 0:h.base_model,(g=n.value)==null?void 0:g.model_name,s==null?void 0:s.entities]),p=f.useCallback(v=>{if(!v)return;const b=JP(v);b&&r(qo({nodeId:t,fieldName:n.name,value:b}))},[r,n.name,t]);return i?a.jsx(br,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(L,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(br,{tooltip:d==null?void 0:d.description,label:(d==null?void 0:d.base_model)&&Mr[d==null?void 0:d.base_model],value:d==null?void 0:d.id,placeholder:u.length>0?"Select a model":"No models available",data:u,error:u.length===0,disabled:u.length===0,onChange:p}),a.jsx($e,{mt:7,children:a.jsx(py,{iconMode:!0})})]})},Mee=f.memo(Oee),Ree=e=>{const{nodeId:t,field:n}=e,r=Z(),[o,s]=f.useState(String(n.value)),i=u=>{s(u),u.match(Hp)||r(qo({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(u)):Number(u)}))};return f.useEffect(()=>{!o.match(Hp)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),a.jsxs(G4,{onChange:i,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[a.jsx(q4,{}),a.jsxs(K4,{children:[a.jsx(Q4,{}),a.jsx(Y4,{})]})]})},Dee=f.memo(Ree),Aee=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s.target.value}))};return a.jsx(Iu,{onChange:o,value:n.value})},Tee=f.memo(Aee),Nee=e=>null,$ee=f.memo(Nee),zee=e=>null,Lee=f.memo(zee),Bee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z();ue();const{data:s}=X4(),i=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p.sort((h,g)=>h.disabled&&!g.disabled?1:-1)},[s]),u=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=ZP(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return a.jsx(br,{itemComponent:ai,tooltip:u==null?void 0:u.description,label:(u==null?void 0:u.base_model)&&Mr[u==null?void 0:u.base_model],value:(u==null?void 0:u.id)??"default",placeholder:"Default",data:i,onChange:d,disabled:i.length===0,clearable:!0})},Fee=f.memo(Bee),Hee=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?a.jsx(Tee,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?a.jsx(KZ,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?a.jsx(Dee,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?a.jsx(vee,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?a.jsx(See,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?a.jsx(kee,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?a.jsx(dee,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?a.jsx($ee,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?a.jsx(YZ,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?a.jsx(Lee,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?a.jsx(pee,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?a.jsx(Mee,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?a.jsx(Fee,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?a.jsx(Eee,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?a.jsx(mee,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?a.jsx(GZ,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?a.jsx(n4,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?a.jsx(cee,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?a.jsx(n4,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?a.jsx(bee,{nodeId:t,field:n,template:r}):a.jsxs($e,{p:2,children:["Unknown field type: ",o]})},Wee=f.memo(Hee);function Vee(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=uI();return a.jsx($e,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:a.jsx(ws,{isDisabled:r?o:!0,pl:2,children:r?a.jsxs(a.Fragment,{children:[a.jsxs(Pl,{justifyContent:"space-between",alignItems:"center",children:[a.jsx(Pl,{children:a.jsx(Cn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:s3,children:a.jsx(gs,{children:r==null?void 0:r.title})})}),a.jsx(Wee,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&a.jsx(dI,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):a.jsx(Pl,{justifyContent:"space-between",alignItems:"center",children:a.jsxs(gs,{children:["Unknown input: ",n.name]})})})})}const Uee=e=>{const{nodeId:t,template:n,inputs:r}=e,o=$(i=>i.nodes.edges);return f.useCallback(()=>{const i=[],u=Ss(r);return u.forEach((d,p)=>{const h=n.inputs[d.name],g=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=$(i=>i.nodes.edges);return f.useCallback(()=>{const i=[];return Ss(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(g=>g.source===t&&g.sourceHandle===d.name).length;i.push(a.jsx(qee,{nodeId:t,output:d,template:p,connected:h},d.id))}),a.jsx(L,{flexDir:"column",children:i})},[o,t,r,n.outputs])()},Qee=f.memo(Kee),Yee=e=>{const{...t}=e;return a.jsx(BT,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:i3,...t})},ev=f.memo(Yee),tv=e=>{const[t,n]=ec("shadows",["nodeSelectedOutline","dark-lg"]),r=$(o=>o.hotkeys.shift);return a.jsx($e,{className:r?my:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:i3,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},gI=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:i}=n,u=f.useMemo(()=>NZ(o),[o]),d=$(u);return d?a.jsxs(tv,{selected:r,children:[a.jsx(cI,{nodeId:t,title:d.title,description:d.description}),a.jsxs(L,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[a.jsx(Qee,{nodeId:t,outputs:i,template:d}),a.jsx(Gee,{nodeId:t,inputs:s,template:d})]}),a.jsx(ev,{})]}):a.jsx(tv,{selected:r,children:a.jsxs(L,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[a.jsx(io,{as:m_,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),a.jsx(ev,{})]})})});gI.displayName="InvocationComponent";const Xee=e=>{const t=jx(i=>i.system.progressImage),n=jx(i=>i.nodes.progressNodeSize),r=Y7(),{selected:o}=e,s=(i,u)=>{r(X7(u))};return a.jsxs(tv,{selected:o,children:[a.jsx(cI,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),a.jsx(L,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?a.jsx(rc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):a.jsx(L,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:a.jsx(Ja,{})})}),a.jsx(ev,{onResize:s})]})},Jee=f.memo(Xee),Zee=()=>{const{t:e}=ue(),{zoomIn:t,zoomOut:n,fitView:r}=eh(),o=Z(),s=$(S=>S.nodes.shouldShowGraphOverlay),i=$(S=>S.nodes.shouldShowFieldTypeLegend),u=$(S=>S.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),g=f.useCallback(()=>{o(J7(!s))},[s,o]),v=f.useCallback(()=>{o(Z7(!i))},[i,o]),b=f.useCallback(()=>{o(eO(!u))},[u,o]);return a.jsxs(Yn,{isAttached:!0,orientation:"vertical",children:[a.jsx(Cn,{label:e("nodes.zoomInNodes"),children:a.jsx(je,{onClick:d,icon:a.jsx(Hi,{})})}),a.jsx(Cn,{label:e("nodes.zoomOutNodes"),children:a.jsx(je,{onClick:p,icon:a.jsx(fL,{})})}),a.jsx(Cn,{label:e("nodes.fitViewportNodes"),children:a.jsx(je,{onClick:h,icon:a.jsx(Zz,{})})}),a.jsx(Cn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:a.jsx(je,{isChecked:s,onClick:g,icon:a.jsx(g1,{})})}),a.jsx(Cn,{label:e(i?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:a.jsx(je,{isChecked:i,onClick:v,icon:a.jsx(iL,{})})}),a.jsx(Cn,{label:e(u?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:a.jsx(je,{isChecked:u,onClick:b,icon:a.jsx(uL,{})})})]})},ete=f.memo(Zee),tte=()=>a.jsx(Su,{position:"bottom-left",children:a.jsx(ete,{})}),nte=f.memo(tte),rte=()=>{const e=gf({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=$(o=>o.nodes.shouldShowMinimapPanel),n=gf("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=gf("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return a.jsx(a.Fragment,{children:t&&a.jsx(OT,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},ote=f.memo(rte),ste=()=>{const{t:e}=ue(),t=Z(),{fitView:n}=eh(),r=f.useRef(null),o=f.useCallback(s=>{var u;if(!s)return;const i=new FileReader;i.onload=async()=>{const d=i.result,p=await JSON.parse(String(d));p||t(Bn(Vn({title:e("toast.nodesLoadedFailed"),status:"error"}))),p&&(t(tO(p.nodes)),t(nO(p.edges)),n(),t(Bn(Vn({title:e("toast.nodesLoaded"),status:"success"})))),i.abort()},i.readAsText(s),(u=r.current)==null||u.call(r)},[n,t,e]);return a.jsx(Nj,{resetRef:r,accept:"application/json",onChange:o,children:s=>a.jsx(je,{icon:a.jsx(Fu,{}),tooltip:e("nodes.loadNodes"),"aria-label":e("nodes.loadNodes"),...s})})},ate=f.memo(ste);function ite(e){const{iconButton:t=!1,...n}=e,r=Z(),o=$(or),s=iy(),i=f.useCallback(()=>{r(xv("nodes"))},[r]),{t:u}=ue();return Ye(["ctrl+enter","meta+enter"],i,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),a.jsx($e,{style:{flexGrow:4},position:"relative",children:a.jsxs($e,{style:{position:"relative"},children:[!s&&a.jsx($e,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:a.jsx(XP,{})}),t?a.jsx(je,{"aria-label":u("parameters.invoke"),type:"submit",icon:a.jsx(x_,{}),isDisabled:!s,onClick:i,flexGrow:1,w:"100%",tooltip:u("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):a.jsx(Xt,{"aria-label":u("parameters.invoke"),type:"submit",isDisabled:!s,onClick:i,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function lte(){const{t:e}=ue(),t=Z(),n=f.useCallback(()=>{t(rO())},[t]);return a.jsx(je,{icon:a.jsx(xL,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const cte=()=>{const{t:e}=ue(),t=$(o=>o.nodes.editorInstance),n=$(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=Ss(o.edges,u=>oO(u,["style"]));const s=new Blob([JSON.stringify(o)]),i=document.createElement("a");i.href=URL.createObjectURL(s),i.download="MyNodes.json",document.body.appendChild(i),i.click(),i.remove()}},[t]);return a.jsx(je,{icon:a.jsx(yh,{}),fontSize:18,tooltip:e("nodes.saveNodes"),"aria-label":e("nodes.saveNodes"),onClick:r,isDisabled:n.length===0})},ute=f.memo(cte),dte=()=>{const{t:e}=ue(),t=Z(),{isOpen:n,onOpen:r,onClose:o}=Ws(),s=f.useRef(null),i=$(d=>d.nodes.nodes),u=f.useCallback(()=>{t(sO()),t(Bn(Vn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return a.jsxs(a.Fragment,{children:[a.jsx(je,{icon:a.jsx(Xo,{}),tooltip:e("nodes.clearNodes"),"aria-label":e("nodes.clearNodes"),onClick:r,isDisabled:i.length===0}),a.jsxs(Du,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[a.jsx(ya,{}),a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearNodes")}),a.jsx(ba,{children:a.jsx(qe,{children:e("common.clearNodes")})}),a.jsxs(ga,{children:[a.jsx(kf,{ref:s,onClick:o,children:e("common.cancel")}),a.jsx(kf,{colorScheme:"red",ml:3,onClick:u,children:e("common.accept")})]})]})]})]})},fte=f.memo(dte),pte=()=>a.jsx(Su,{position:"top-center",children:a.jsxs(Pl,{children:[a.jsx(ite,{}),a.jsx(Th,{}),a.jsx(lte,{}),a.jsx(ute,{}),a.jsx(ate,{}),a.jsx(fte,{})]})}),hte=f.memo(pte),mte=he(aO,e=>{const t=Ss(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Ke),gte=()=>{const e=Z(),{data:t}=$(mte),n=LZ(),r=tc(),o=f.useCallback(i=>{const u=n(i);if(!u){r({status:"error",title:`Unknown Invocation type ${i}`});return}e(iO(u))},[e,n,r]),s=f.useCallback(i=>{i&&o(i)},[o]);return a.jsx(L,{sx:{gap:2,alignItems:"center"},children:a.jsx(br,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:vI,filter:(i,u)=>u.label.toLowerCase().includes(i.toLowerCase().trim())||u.value.toLowerCase().includes(i.toLowerCase().trim())||u.description.toLowerCase().includes(i.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},vI=f.forwardRef(({label:e,description:t,...n},r)=>a.jsx("div",{ref:r,...n,children:a.jsxs("div",{children:[a.jsx(qe,{fontWeight:600,children:e}),a.jsx(qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));vI.displayName="SelectItem";const vte=()=>a.jsx(Su,{position:"top-left",children:a.jsx(gte,{})}),yte=f.memo(vte),bte=()=>a.jsx(L,{sx:{gap:2,flexDir:"column"},children:Ss(a3,({title:e,description:t,color:n},r)=>a.jsx(Cn,{label:t,children:a.jsx(Za,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),xte=f.memo(bte),wte=()=>{const e=$(n=>n),t=lO(e);return a.jsx($e,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Ste=f.memo(wte),Cte=()=>{const e=$(n=>n.nodes.shouldShowGraphOverlay),t=$(n=>n.nodes.shouldShowFieldTypeLegend);return a.jsxs(Su,{position:"top-right",children:[t&&a.jsx(xte,{}),e&&a.jsx(Ste,{})]})},_te=f.memo(Cte),kte={invocation:gI,progress_image:Jee},jte=()=>{const e=Z(),t=$(p=>p.nodes.nodes),n=$(p=>p.nodes.edges),r=f.useCallback(p=>{e(cO(p))},[e]),o=f.useCallback(p=>{e(uO(p))},[e]),s=f.useCallback((p,h)=>{e(dO(h))},[e]),i=f.useCallback(p=>{e(fO(p))},[e]),u=f.useCallback(()=>{e(pO())},[e]),d=f.useCallback(p=>{e(hO(p)),p&&p.fitView()},[e]);return a.jsxs(mO,{nodeTypes:kte,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:i,onConnectEnd:u,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[a.jsx(yte,{}),a.jsx(hte,{}),a.jsx(_te,{}),a.jsx(nte,{}),a.jsx(NT,{}),a.jsx(ote,{})]})},Pte=()=>a.jsx($e,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:a.jsx(gO,{children:a.jsx(jte,{})})}),Ite=f.memo(Pte),Ete=()=>a.jsx(Ite,{}),Ote=f.memo(Ete),Mte=he(mt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),Rte=()=>{const{shouldUseSliders:e,activeLabel:t}=$(Mte);return a.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsx(L,{sx:{flexDirection:"column",gap:3},children:e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]})})})},Dte=f.memo(Rte),Ate=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(Dte,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(QP,{}),a.jsx(cy,{}),a.jsx(YP,{}),a.jsx(ny,{})]}),yI=f.memo(Ate),Tte=()=>a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(yI,{})}),a.jsx(VP,{})]}),Nte=f.memo(Tte);var nv={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=Px;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=Px;e.exports=r.Konva})(nv,nv.exports);var $te=nv.exports;const vu=wu($te);var bI={exports:{}};/** - * @license React - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var zte=function(t){var n={},r=f,o=vf,s=Object.assign;function i(l){for(var c="https://reactjs.org/docs/error-decoder.html?invariant="+l,m=1;mQ||w[A]!==j[Q]){var se=` -`+w[A].replace(" at new "," at ");return l.displayName&&se.includes("")&&(se=se.replace("",l.displayName)),se}while(1<=A&&0<=Q);break}}}finally{Lt=!1,Error.prepareStackTrace=m}return(l=l?l.displayName||l.name:"")?Ot(l):""}var qt=Object.prototype.hasOwnProperty,$t=[],Oe=-1;function ut(l){return{current:l}}function _t(l){0>Oe||(l.current=$t[Oe],$t[Oe]=null,Oe--)}function At(l,c){Oe++,$t[Oe]=l.current,l.current=c}var xn={},zt=ut(xn),tn=ut(!1),Jt=xn;function _r(l,c){var m=l.type.contextTypes;if(!m)return xn;var y=l.stateNode;if(y&&y.__reactInternalMemoizedUnmaskedChildContext===c)return y.__reactInternalMemoizedMaskedChildContext;var w={},j;for(j in m)w[j]=c[j];return y&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=c,l.__reactInternalMemoizedMaskedChildContext=w),w}function Un(l){return l=l.childContextTypes,l!=null}function yt(){_t(tn),_t(zt)}function wn(l,c,m){if(zt.current!==xn)throw Error(i(168));At(zt,c),At(tn,m)}function kn(l,c,m){var y=l.stateNode;if(c=c.childContextTypes,typeof y.getChildContext!="function")return m;y=y.getChildContext();for(var w in y)if(!(w in c))throw Error(i(108,D(l)||"Unknown",w));return s({},m,y)}function Gn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||xn,Jt=zt.current,At(zt,l),At(tn,tn.current),!0}function ar(l,c,m){var y=l.stateNode;if(!y)throw Error(i(169));m?(l=kn(l,c,Jt),y.__reactInternalMemoizedMergedChildContext=l,_t(tn),_t(zt),At(zt,l)):_t(tn),At(tn,m)}var En=Math.clz32?Math.clz32:pn,On=Math.log,nn=Math.LN2;function pn(l){return l>>>=0,l===0?32:31-(On(l)/nn|0)|0}var Sn=64,cn=4194304;function un(l){switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function Be(l,c){var m=l.pendingLanes;if(m===0)return 0;var y=0,w=l.suspendedLanes,j=l.pingedLanes,A=m&268435455;if(A!==0){var Q=A&~w;Q!==0?y=un(Q):(j&=A,j!==0&&(y=un(j)))}else A=m&~w,A!==0?y=un(A):j!==0&&(y=un(j));if(y===0)return 0;if(c!==0&&c!==y&&!(c&w)&&(w=y&-y,j=c&-c,w>=j||w===16&&(j&4194240)!==0))return c;if(y&4&&(y|=m&16),c=l.entangledLanes,c!==0)for(l=l.entanglements,c&=y;0m;m++)c.push(l);return c}function lt(l,c,m){l.pendingLanes|=c,c!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,c=31-En(c),l[c]=m}function Qe(l,c){var m=l.pendingLanes&~c;l.pendingLanes=c,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=c,l.mutableReadLanes&=c,l.entangledLanes&=c,c=l.entanglements;var y=l.eventTimes;for(l=l.expirationTimes;0>=A,w-=A,jo=1<<32-En(c)+w|m<hn?(Nr=Ut,Ut=null):Nr=Ut.sibling;var mn=et(oe,Ut,fe[hn],tt);if(mn===null){Ut===null&&(Ut=Nr);break}l&&Ut&&mn.alternate===null&&c(oe,Ut),X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn,Ut=Nr}if(hn===fe.length)return m(oe,Ut),qn&&ci(oe,hn),It;if(Ut===null){for(;hnhn?(Nr=Ut,Ut=null):Nr=Ut.sibling;var Ta=et(oe,Ut,mn.value,tt);if(Ta===null){Ut===null&&(Ut=Nr);break}l&&Ut&&Ta.alternate===null&&c(oe,Ut),X=j(Ta,X,hn),Yt===null?It=Ta:Yt.sibling=Ta,Yt=Ta,Ut=Nr}if(mn.done)return m(oe,Ut),qn&&ci(oe,hn),It;if(Ut===null){for(;!mn.done;hn++,mn=fe.next())mn=Vt(oe,mn.value,tt),mn!==null&&(X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn);return qn&&ci(oe,hn),It}for(Ut=y(oe,Ut);!mn.done;hn++,mn=fe.next())mn=Hn(Ut,oe,hn,mn.value,tt),mn!==null&&(l&&mn.alternate!==null&&Ut.delete(mn.key===null?hn:mn.key),X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn);return l&&Ut.forEach(function(hE){return c(oe,hE)}),qn&&ci(oe,hn),It}function ra(oe,X,fe,tt){if(typeof fe=="object"&&fe!==null&&fe.type===h&&fe.key===null&&(fe=fe.props.children),typeof fe=="object"&&fe!==null){switch(fe.$$typeof){case d:e:{for(var It=fe.key,Yt=X;Yt!==null;){if(Yt.key===It){if(It=fe.type,It===h){if(Yt.tag===7){m(oe,Yt.sibling),X=w(Yt,fe.props.children),X.return=oe,oe=X;break e}}else if(Yt.elementType===It||typeof It=="object"&&It!==null&&It.$$typeof===P&&Ty(It)===Yt.type){m(oe,Yt.sibling),X=w(Yt,fe.props),X.ref=mc(oe,Yt,fe),X.return=oe,oe=X;break e}m(oe,Yt);break}else c(oe,Yt);Yt=Yt.sibling}fe.type===h?(X=gi(fe.props.children,oe.mode,tt,fe.key),X.return=oe,oe=X):(tt=kd(fe.type,fe.key,fe.props,null,oe.mode,tt),tt.ref=mc(oe,X,fe),tt.return=oe,oe=tt)}return A(oe);case p:e:{for(Yt=fe.key;X!==null;){if(X.key===Yt)if(X.tag===4&&X.stateNode.containerInfo===fe.containerInfo&&X.stateNode.implementation===fe.implementation){m(oe,X.sibling),X=w(X,fe.children||[]),X.return=oe,oe=X;break e}else{m(oe,X);break}else c(oe,X);X=X.sibling}X=Wm(fe,oe.mode,tt),X.return=oe,oe=X}return A(oe);case P:return Yt=fe._init,ra(oe,X,Yt(fe._payload),tt)}if(G(fe))return Rn(oe,X,fe,tt);if(O(fe))return mo(oe,X,fe,tt);Zu(oe,fe)}return typeof fe=="string"&&fe!==""||typeof fe=="number"?(fe=""+fe,X!==null&&X.tag===6?(m(oe,X.sibling),X=w(X,fe),X.return=oe,oe=X):(m(oe,X),X=Hm(fe,oe.mode,tt),X.return=oe,oe=X),A(oe)):m(oe,X)}return ra}var Ji=Ny(!0),$y=Ny(!1),gc={},No=ut(gc),vc=ut(gc),Zi=ut(gc);function Es(l){if(l===gc)throw Error(i(174));return l}function nm(l,c){At(Zi,c),At(vc,l),At(No,gc),l=M(c),_t(No),At(No,l)}function el(){_t(No),_t(vc),_t(Zi)}function zy(l){var c=Es(Zi.current),m=Es(No.current);c=U(m,l.type,c),m!==c&&(At(vc,l),At(No,c))}function rm(l){vc.current===l&&(_t(No),_t(vc))}var Zn=ut(0);function ed(l){for(var c=l;c!==null;){if(c.tag===13){var m=c.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||Dr(m)||ks(m)))return c}else if(c.tag===19&&c.memoizedProps.revealOrder!==void 0){if(c.flags&128)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===l)break;for(;c.sibling===null;){if(c.return===null||c.return===l)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var om=[];function sm(){for(var l=0;lm?m:4,l(!0);var y=am.transition;am.transition={};try{l(!1),c()}finally{Se=m,am.transition=y}}function nb(){return $o().memoizedState}function FI(l,c,m){var y=Ra(l);if(m={lane:y,action:m,hasEagerState:!1,eagerState:null,next:null},rb(l))ob(c,m);else if(m=Py(l,c,m,y),m!==null){var w=Kr();zo(m,l,y,w),sb(m,c,y)}}function HI(l,c,m){var y=Ra(l),w={lane:y,action:m,hasEagerState:!1,eagerState:null,next:null};if(rb(l))ob(c,w);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=c.lastRenderedReducer,j!==null))try{var A=c.lastRenderedState,Q=j(A,m);if(w.hasEagerState=!0,w.eagerState=Q,rn(Q,A)){var se=c.interleaved;se===null?(w.next=w,Jh(c)):(w.next=se.next,se.next=w),c.interleaved=w;return}}catch{}finally{}m=Py(l,c,w,y),m!==null&&(w=Kr(),zo(m,l,y,w),sb(m,c,y))}}function rb(l){var c=l.alternate;return l===er||c!==null&&c===er}function ob(l,c){yc=nd=!0;var m=l.pending;m===null?c.next=c:(c.next=m.next,m.next=c),l.pending=c}function sb(l,c,m){if(m&4194240){var y=c.lanes;y&=l.pendingLanes,m|=y,c.lanes=m,ke(l,m)}}var sd={readContext:To,useCallback:Ur,useContext:Ur,useEffect:Ur,useImperativeHandle:Ur,useInsertionEffect:Ur,useLayoutEffect:Ur,useMemo:Ur,useReducer:Ur,useRef:Ur,useState:Ur,useDebugValue:Ur,useDeferredValue:Ur,useTransition:Ur,useMutableSource:Ur,useSyncExternalStore:Ur,useId:Ur,unstable_isNewReconciler:!1},WI={readContext:To,useCallback:function(l,c){return Os().memoizedState=[l,c===void 0?null:c],l},useContext:To,useEffect:Ky,useImperativeHandle:function(l,c,m){return m=m!=null?m.concat([l]):null,rd(4194308,4,Xy.bind(null,c,l),m)},useLayoutEffect:function(l,c){return rd(4194308,4,l,c)},useInsertionEffect:function(l,c){return rd(4,2,l,c)},useMemo:function(l,c){var m=Os();return c=c===void 0?null:c,l=l(),m.memoizedState=[l,c],l},useReducer:function(l,c,m){var y=Os();return c=m!==void 0?m(c):c,y.memoizedState=y.baseState=c,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:c},y.queue=l,l=l.dispatch=FI.bind(null,er,l),[y.memoizedState,l]},useRef:function(l){var c=Os();return l={current:l},c.memoizedState=l},useState:Gy,useDebugValue:pm,useDeferredValue:function(l){return Os().memoizedState=l},useTransition:function(){var l=Gy(!1),c=l[0];return l=BI.bind(null,l[1]),Os().memoizedState=l,[c,l]},useMutableSource:function(){},useSyncExternalStore:function(l,c,m){var y=er,w=Os();if(qn){if(m===void 0)throw Error(i(407));m=m()}else{if(m=c(),Tr===null)throw Error(i(349));di&30||Fy(y,c,m)}w.memoizedState=m;var j={value:m,getSnapshot:c};return w.queue=j,Ky(Wy.bind(null,y,j,l),[l]),y.flags|=2048,wc(9,Hy.bind(null,y,j,m,c),void 0,null),m},useId:function(){var l=Os(),c=Tr.identifierPrefix;if(qn){var m=Vr,y=jo;m=(y&~(1<<32-En(y)-1)).toString(32)+m,c=":"+c+"R"+m,m=bc++,0Am&&(c.flags|=128,y=!0,_c(w,!1),c.lanes=4194304)}else{if(!y)if(l=ed(j),l!==null){if(c.flags|=128,y=!0,l=l.updateQueue,l!==null&&(c.updateQueue=l,c.flags|=4),_c(w,!0),w.tail===null&&w.tailMode==="hidden"&&!j.alternate&&!qn)return Gr(c),null}else 2*Ne()-w.renderingStartTime>Am&&m!==1073741824&&(c.flags|=128,y=!0,_c(w,!1),c.lanes=4194304);w.isBackwards?(j.sibling=c.child,c.child=j):(l=w.last,l!==null?l.sibling=j:c.child=j,w.last=j)}return w.tail!==null?(c=w.tail,w.rendering=c,w.tail=c.sibling,w.renderingStartTime=Ne(),c.sibling=null,l=Zn.current,At(Zn,y?l&1|2:l&1),c):(Gr(c),null);case 22:case 23:return Lm(),m=c.memoizedState!==null,l!==null&&l.memoizedState!==null!==m&&(c.flags|=8192),m&&c.mode&1?Io&1073741824&&(Gr(c),de&&c.subtreeFlags&6&&(c.flags|=8192)):Gr(c),null;case 24:return null;case 25:return null}throw Error(i(156,c.tag))}function XI(l,c){switch(Vh(c),c.tag){case 1:return Un(c.type)&&yt(),l=c.flags,l&65536?(c.flags=l&-65537|128,c):null;case 3:return el(),_t(tn),_t(zt),sm(),l=c.flags,l&65536&&!(l&128)?(c.flags=l&-65537|128,c):null;case 5:return rm(c),null;case 13:if(_t(Zn),l=c.memoizedState,l!==null&&l.dehydrated!==null){if(c.alternate===null)throw Error(i(340));Qi()}return l=c.flags,l&65536?(c.flags=l&-65537|128,c):null;case 19:return _t(Zn),null;case 4:return el(),null;case 10:return Yh(c.type._context),null;case 22:case 23:return Lm(),null;case 24:return null;default:return null}}var ud=!1,qr=!1,JI=typeof WeakSet=="function"?WeakSet:Set,at=null;function nl(l,c){var m=l.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(y){Kn(l,c,y)}else m.current=null}function Sm(l,c,m){try{m()}catch(y){Kn(l,c,y)}}var _b=!1;function ZI(l,c){for(V(l.containerInfo),at=c;at!==null;)if(l=at,c=l.child,(l.subtreeFlags&1028)!==0&&c!==null)c.return=l,at=c;else for(;at!==null;){l=at;try{var m=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,w=m.memoizedState,j=l.stateNode,A=j.getSnapshotBeforeUpdate(l.elementType===l.type?y:rs(l.type,y),w);j.__reactInternalSnapshotBeforeUpdate=A}break;case 3:de&&bn(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(Q){Kn(l,l.return,Q)}if(c=l.sibling,c!==null){c.return=l.return,at=c;break}at=l.return}return m=_b,_b=!1,m}function kc(l,c,m){var y=c.updateQueue;if(y=y!==null?y.lastEffect:null,y!==null){var w=y=y.next;do{if((w.tag&l)===l){var j=w.destroy;w.destroy=void 0,j!==void 0&&Sm(c,m,j)}w=w.next}while(w!==y)}}function dd(l,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var m=c=c.next;do{if((m.tag&l)===l){var y=m.create;m.destroy=y()}m=m.next}while(m!==c)}}function Cm(l){var c=l.ref;if(c!==null){var m=l.stateNode;switch(l.tag){case 5:l=K(m);break;default:l=m}typeof c=="function"?c(l):c.current=l}}function kb(l){var c=l.alternate;c!==null&&(l.alternate=null,kb(c)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(c=l.stateNode,c!==null&&Le(c)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function jb(l){return l.tag===5||l.tag===3||l.tag===4}function Pb(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||jb(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function _m(l,c,m){var y=l.tag;if(y===5||y===6)l=l.stateNode,c?sr(m,l,c):_n(m,l);else if(y!==4&&(l=l.child,l!==null))for(_m(l,c,m),l=l.sibling;l!==null;)_m(l,c,m),l=l.sibling}function km(l,c,m){var y=l.tag;if(y===5||y===6)l=l.stateNode,c?vn(m,l,c):Wt(m,l);else if(y!==4&&(l=l.child,l!==null))for(km(l,c,m),l=l.sibling;l!==null;)km(l,c,m),l=l.sibling}var Fr=null,os=!1;function Rs(l,c,m){for(m=m.child;m!==null;)jm(l,c,m),m=m.sibling}function jm(l,c,m){if(an&&typeof an.onCommitFiberUnmount=="function")try{an.onCommitFiberUnmount(Fn,m)}catch{}switch(m.tag){case 5:qr||nl(m,c);case 6:if(de){var y=Fr,w=os;Fr=null,Rs(l,c,m),Fr=y,os=w,Fr!==null&&(os?it(Fr,m.stateNode):Ie(Fr,m.stateNode))}else Rs(l,c,m);break;case 18:de&&Fr!==null&&(os?De(Fr,m.stateNode):dt(Fr,m.stateNode));break;case 4:de?(y=Fr,w=os,Fr=m.stateNode.containerInfo,os=!0,Rs(l,c,m),Fr=y,os=w):(Ce&&(y=m.stateNode.containerInfo,w=dr(y),Nn(y,w)),Rs(l,c,m));break;case 0:case 11:case 14:case 15:if(!qr&&(y=m.updateQueue,y!==null&&(y=y.lastEffect,y!==null))){w=y=y.next;do{var j=w,A=j.destroy;j=j.tag,A!==void 0&&(j&2||j&4)&&Sm(m,c,A),w=w.next}while(w!==y)}Rs(l,c,m);break;case 1:if(!qr&&(nl(m,c),y=m.stateNode,typeof y.componentWillUnmount=="function"))try{y.props=m.memoizedProps,y.state=m.memoizedState,y.componentWillUnmount()}catch(Q){Kn(m,c,Q)}Rs(l,c,m);break;case 21:Rs(l,c,m);break;case 22:m.mode&1?(qr=(y=qr)||m.memoizedState!==null,Rs(l,c,m),qr=y):Rs(l,c,m);break;default:Rs(l,c,m)}}function Ib(l){var c=l.updateQueue;if(c!==null){l.updateQueue=null;var m=l.stateNode;m===null&&(m=l.stateNode=new JI),c.forEach(function(y){var w=lE.bind(null,l,y);m.has(y)||(m.add(y),y.then(w,w))})}}function ss(l,c){var m=c.deletions;if(m!==null)for(var y=0;y";case pd:return":has("+(Em(l)||"")+")";case hd:return'[role="'+l.value+'"]';case gd:return'"'+l.value+'"';case md:return'[data-testname="'+l.value+'"]';default:throw Error(i(365))}}function Ab(l,c){var m=[];l=[l,0];for(var y=0;yw&&(w=A),y&=~j}if(y=w,y=Ne()-y,y=(120>y?120:480>y?480:1080>y?1080:1920>y?1920:3e3>y?3e3:4320>y?4320:1960*tE(y/1960))-y,10l?16:l,Ma===null)var y=!1;else{if(l=Ma,Ma=null,wd=0,Zt&6)throw Error(i(331));var w=Zt;for(Zt|=4,at=l.current;at!==null;){var j=at,A=j.child;if(at.flags&16){var Q=j.deletions;if(Q!==null){for(var se=0;seNe()-Dm?pi(l,0):Rm|=m),ho(l,c)}function Wb(l,c){c===0&&(l.mode&1?(c=cn,cn<<=1,!(cn&130023424)&&(cn=4194304)):c=1);var m=Kr();l=Is(l,c),l!==null&&(lt(l,c,m),ho(l,m))}function iE(l){var c=l.memoizedState,m=0;c!==null&&(m=c.retryLane),Wb(l,m)}function lE(l,c){var m=0;switch(l.tag){case 13:var y=l.stateNode,w=l.memoizedState;w!==null&&(m=w.retryLane);break;case 19:y=l.stateNode;break;default:throw Error(i(314))}y!==null&&y.delete(c),Wb(l,m)}var Vb;Vb=function(l,c,m){if(l!==null)if(l.memoizedProps!==c.pendingProps||tn.current)fo=!0;else{if(!(l.lanes&m)&&!(c.flags&128))return fo=!1,QI(l,c,m);fo=!!(l.flags&131072)}else fo=!1,qn&&c.flags&1048576&&wy(c,no,c.index);switch(c.lanes=0,c.tag){case 2:var y=c.type;id(l,c),l=c.pendingProps;var w=_r(c,zt.current);Xi(c,m),w=lm(null,c,y,l,w,m);var j=cm();return c.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,Un(y)?(j=!0,Gn(c)):j=!1,c.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,Zh(c),w.updater=Ju,c.stateNode=w,w._reactInternals=c,tm(c,y,l,m),c=vm(null,c,y,!0,j,m)):(c.tag=0,qn&&j&&Wh(c),so(null,c,w,m),c=c.child),c;case 16:y=c.elementType;e:{switch(id(l,c),l=c.pendingProps,w=y._init,y=w(y._payload),c.type=y,w=c.tag=uE(y),l=rs(y,l),w){case 0:c=gm(null,c,y,l,m);break e;case 1:c=gb(null,c,y,l,m);break e;case 11:c=db(null,c,y,l,m);break e;case 14:c=fb(null,c,y,rs(y.type,l),m);break e}throw Error(i(306,y,""))}return c;case 0:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),gm(l,c,y,w,m);case 1:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),gb(l,c,y,w,m);case 3:e:{if(vb(c),l===null)throw Error(i(387));y=c.pendingProps,j=c.memoizedState,w=j.element,Iy(l,c),Xu(c,y,null,m);var A=c.memoizedState;if(y=A.element,Re&&j.isDehydrated)if(j={element:y,isDehydrated:!1,cache:A.cache,pendingSuspenseBoundaries:A.pendingSuspenseBoundaries,transitions:A.transitions},c.updateQueue.baseState=j,c.memoizedState=j,c.flags&256){w=tl(Error(i(423)),c),c=yb(l,c,y,m,w);break e}else if(y!==w){w=tl(Error(i(424)),c),c=yb(l,c,y,m,w);break e}else for(Re&&(Ao=Y(c.stateNode.containerInfo),Po=c,qn=!0,ns=null,hc=!1),m=$y(c,null,y,m),c.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(Qi(),y===w){c=ta(l,c,m);break e}so(l,c,y,m)}c=c.child}return c;case 5:return zy(c),l===null&&Gh(c),y=c.type,w=c.pendingProps,j=l!==null?l.memoizedProps:null,A=w.children,te(y,w)?A=null:j!==null&&te(y,j)&&(c.flags|=32),mb(l,c),so(l,c,A,m),c.child;case 6:return l===null&&Gh(c),null;case 13:return bb(l,c,m);case 4:return nm(c,c.stateNode.containerInfo),y=c.pendingProps,l===null?c.child=Ji(c,null,y,m):so(l,c,y,m),c.child;case 11:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),db(l,c,y,w,m);case 7:return so(l,c,c.pendingProps,m),c.child;case 8:return so(l,c,c.pendingProps.children,m),c.child;case 12:return so(l,c,c.pendingProps.children,m),c.child;case 10:e:{if(y=c.type._context,w=c.pendingProps,j=c.memoizedProps,A=w.value,jy(c,y,A),j!==null)if(rn(j.value,A)){if(j.children===w.children&&!tn.current){c=ta(l,c,m);break e}}else for(j=c.child,j!==null&&(j.return=c);j!==null;){var Q=j.dependencies;if(Q!==null){A=j.child;for(var se=Q.firstContext;se!==null;){if(se.context===y){if(j.tag===1){se=ea(-1,m&-m),se.tag=2;var Ee=j.updateQueue;if(Ee!==null){Ee=Ee.shared;var ct=Ee.pending;ct===null?se.next=se:(se.next=ct.next,ct.next=se),Ee.pending=se}}j.lanes|=m,se=j.alternate,se!==null&&(se.lanes|=m),Xh(j.return,m,c),Q.lanes|=m;break}se=se.next}}else if(j.tag===10)A=j.type===c.type?null:j.child;else if(j.tag===18){if(A=j.return,A===null)throw Error(i(341));A.lanes|=m,Q=A.alternate,Q!==null&&(Q.lanes|=m),Xh(A,m,c),A=j.sibling}else A=j.child;if(A!==null)A.return=j;else for(A=j;A!==null;){if(A===c){A=null;break}if(j=A.sibling,j!==null){j.return=A.return,A=j;break}A=A.return}j=A}so(l,c,w.children,m),c=c.child}return c;case 9:return w=c.type,y=c.pendingProps.children,Xi(c,m),w=To(w),y=y(w),c.flags|=1,so(l,c,y,m),c.child;case 14:return y=c.type,w=rs(y,c.pendingProps),w=rs(y.type,w),fb(l,c,y,w,m);case 15:return pb(l,c,c.type,c.pendingProps,m);case 17:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),id(l,c),c.tag=1,Un(y)?(l=!0,Gn(c)):l=!1,Xi(c,m),Dy(c,y,w),tm(c,y,w,m),vm(null,c,y,!0,l,m);case 19:return wb(l,c,m);case 22:return hb(l,c,m)}throw Error(i(156,c.tag))};function Ub(l,c){return Te(l,c)}function cE(l,c,m,y){this.tag=l,this.key=m,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=c,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=y,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lo(l,c,m,y){return new cE(l,c,m,y)}function Fm(l){return l=l.prototype,!(!l||!l.isReactComponent)}function uE(l){if(typeof l=="function")return Fm(l)?1:0;if(l!=null){if(l=l.$$typeof,l===x)return 11;if(l===k)return 14}return 2}function Aa(l,c){var m=l.alternate;return m===null?(m=Lo(l.tag,c,l.key,l.mode),m.elementType=l.elementType,m.type=l.type,m.stateNode=l.stateNode,m.alternate=l,l.alternate=m):(m.pendingProps=c,m.type=l.type,m.flags=0,m.subtreeFlags=0,m.deletions=null),m.flags=l.flags&14680064,m.childLanes=l.childLanes,m.lanes=l.lanes,m.child=l.child,m.memoizedProps=l.memoizedProps,m.memoizedState=l.memoizedState,m.updateQueue=l.updateQueue,c=l.dependencies,m.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},m.sibling=l.sibling,m.index=l.index,m.ref=l.ref,m}function kd(l,c,m,y,w,j){var A=2;if(y=l,typeof l=="function")Fm(l)&&(A=1);else if(typeof l=="string")A=5;else e:switch(l){case h:return gi(m.children,w,j,c);case g:A=8,w|=8;break;case v:return l=Lo(12,m,c,w|2),l.elementType=v,l.lanes=j,l;case C:return l=Lo(13,m,c,w),l.elementType=C,l.lanes=j,l;case _:return l=Lo(19,m,c,w),l.elementType=_,l.lanes=j,l;case I:return jd(m,w,j,c);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:A=10;break e;case S:A=9;break e;case x:A=11;break e;case k:A=14;break e;case P:A=16,y=null;break e}throw Error(i(130,l==null?l:typeof l,""))}return c=Lo(A,m,c,w),c.elementType=l,c.type=y,c.lanes=j,c}function gi(l,c,m,y){return l=Lo(7,l,y,c),l.lanes=m,l}function jd(l,c,m,y){return l=Lo(22,l,y,c),l.elementType=I,l.lanes=m,l.stateNode={isHidden:!1},l}function Hm(l,c,m){return l=Lo(6,l,null,c),l.lanes=m,l}function Wm(l,c,m){return c=Lo(4,l.children!==null?l.children:[],l.key,c),c.lanes=m,c.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},c}function dE(l,c,m,y,w){this.tag=c,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ne,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rt(0),this.expirationTimes=Rt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rt(0),this.identifierPrefix=y,this.onRecoverableError=w,Re&&(this.mutableSourceEagerHydrationData=null)}function Gb(l,c,m,y,w,j,A,Q,se){return l=new dE(l,c,m,Q,se),c===1?(c=1,j===!0&&(c|=8)):c=0,j=Lo(3,null,null,c),l.current=j,j.stateNode=l,j.memoizedState={element:y,isDehydrated:m,cache:null,transitions:null,pendingSuspenseBoundaries:null},Zh(j),l}function qb(l){if(!l)return xn;l=l._reactInternals;e:{if(T(l)!==l||l.tag!==1)throw Error(i(170));var c=l;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(Un(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(i(171))}if(l.tag===1){var m=l.type;if(Un(m))return kn(l,m,c)}return c}function Kb(l){var c=l._reactInternals;if(c===void 0)throw typeof l.render=="function"?Error(i(188)):(l=Object.keys(l).join(","),Error(i(268,l)));return l=J(c),l===null?null:l.stateNode}function Qb(l,c){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var m=l.retryLane;l.retryLane=m!==0&&m=Ee&&j>=Vt&&w<=ct&&A<=et){l.splice(c,1);break}else if(y!==Ee||m.width!==se.width||etA){if(!(j!==Vt||m.height!==se.height||ctw)){Ee>y&&(se.width+=Ee-y,se.x=y),ctj&&(se.height+=Vt-j,se.y=j),etm&&(m=A)),A ")+` - -No matching component was found for: - `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return K(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:fE,findFiberByHostInstance:l.findFiberByHostInstance||pE,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled||!c.supportsFiber)l=!0;else{try{Fn=c.inject(l),an=c}catch{}l=!!c.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,c,m,y){if(!vt)throw Error(i(363));l=Om(l,c);var w=Ft(l,m,y).disconnect;return{disconnect:function(){w()}}},n.registerMutableSourceForHydration=function(l,c){var m=c._getVersion;m=m(c._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[c,m]:l.mutableSourceEagerHydrationData.push(c,m)},n.runWithPriority=function(l,c){var m=Se;try{return Se=l,c()}finally{Se=m}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,c,m,y){var w=c.current,j=Kr(),A=Ra(w);return m=qb(m),c.context===null?c.context=m:c.pendingContext=m,c=ea(j,A),c.payload={element:l},y=y===void 0?null:y,y!==null&&(c.callback=y),l=Ea(w,c,A),l!==null&&(zo(l,w,A,j),Yu(l,w,A)),A},n};bI.exports=zte;var Lte=bI.exports;const Bte=wu(Lte);var xI={exports:{}},Ki={};/** - * @license React - * react-reconciler-constants.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */Ki.ConcurrentRoot=1;Ki.ContinuousEventPriority=4;Ki.DefaultEventPriority=16;Ki.DiscreteEventPriority=1;Ki.IdleEventPriority=536870912;Ki.LegacyRoot=0;xI.exports=Ki;var wI=xI.exports;const r4={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let o4=!1,s4=!1;const yy=".react-konva-event",Fte=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. -Position of a node will be changed during drag&drop, so you should update state of the react app as well. -Consider to add onDragMove or onDragEnd events. -For more info see: https://github.com/konvajs/react-konva/issues/256 -`,Hte=`ReactKonva: You are using "zIndex" attribute for a Konva node. -react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. -For more info see: https://github.com/konvajs/react-konva/issues/194 -`,Wte={};function Hh(e,t,n=Wte){if(!o4&&"zIndex"in t&&(console.warn(Hte),o4=!0),!s4&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(Fte),s4=!0)}for(var s in n)if(!r4[s]){var i=s.slice(0,2)==="on",u=n[s]!==t[s];if(i&&u){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,g={},v=!1;const b={};for(var s in t)if(!r4[s]){var i=s.slice(0,2)==="on",S=n[s]!==t[s];if(i&&S){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!i&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,g[s]=t[s])}v&&(e.setAttrs(g),li(e));for(var d in b)e.on(d+yy,b[d])}function li(e){if(!vO.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const SI={},Vte={};vu.Node.prototype._applyProps=Hh;function Ute(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),li(e)}function Gte(e,t,n){let r=vu[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=vu.Group);const o={},s={};for(var i in t){var u=i.slice(0,2)==="on";u?s[i]=t[i]:o[i]=t[i]}const d=new r(o);return Hh(d,s),d}function qte(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function Kte(e,t,n){return!1}function Qte(e){return e}function Yte(){return null}function Xte(){return null}function Jte(e,t,n,r){return Vte}function Zte(){}function ene(e){}function tne(e,t){return!1}function nne(){return SI}function rne(){return SI}const one=setTimeout,sne=clearTimeout,ane=-1;function ine(e,t){return!1}const lne=!1,cne=!0,une=!0;function dne(e,t){t.parent===e?t.moveToTop():e.add(t),li(e)}function fne(e,t){t.parent===e?t.moveToTop():e.add(t),li(e)}function CI(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),li(e)}function pne(e,t,n){CI(e,t,n)}function hne(e,t){t.destroy(),t.off(yy),li(e)}function mne(e,t){t.destroy(),t.off(yy),li(e)}function gne(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function vne(e,t,n){}function yne(e,t,n,r,o){Hh(e,o,r)}function bne(e){e.hide(),li(e)}function xne(e){}function wne(e,t){(t.visible==null||t.visible)&&e.show()}function Sne(e,t){}function Cne(e){}function _ne(){}const kne=()=>wI.DefaultEventPriority,jne=Object.freeze(Object.defineProperty({__proto__:null,appendChild:dne,appendChildToContainer:fne,appendInitialChild:Ute,cancelTimeout:sne,clearContainer:Cne,commitMount:vne,commitTextUpdate:gne,commitUpdate:yne,createInstance:Gte,createTextInstance:qte,detachDeletedInstance:_ne,finalizeInitialChildren:Kte,getChildHostContext:rne,getCurrentEventPriority:kne,getPublicInstance:Qte,getRootHostContext:nne,hideInstance:bne,hideTextInstance:xne,idlePriority:vf.unstable_IdlePriority,insertBefore:CI,insertInContainerBefore:pne,isPrimaryRenderer:lne,noTimeout:ane,now:vf.unstable_now,prepareForCommit:Yte,preparePortalMount:Xte,prepareUpdate:Jte,removeChild:hne,removeChildFromContainer:mne,resetAfterCommit:Zte,resetTextContent:ene,run:vf.unstable_runWithPriority,scheduleTimeout:one,shouldDeprioritizeSubtree:tne,shouldSetTextContent:ine,supportsMutation:une,unhideInstance:wne,unhideTextInstance:Sne,warnsIfNotActing:cne},Symbol.toStringTag,{value:"Module"}));var Pne=Object.defineProperty,Ine=Object.defineProperties,Ene=Object.getOwnPropertyDescriptors,a4=Object.getOwnPropertySymbols,One=Object.prototype.hasOwnProperty,Mne=Object.prototype.propertyIsEnumerable,i4=(e,t,n)=>t in e?Pne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,l4=(e,t)=>{for(var n in t||(t={}))One.call(t,n)&&i4(e,n,t[n]);if(a4)for(var n of a4(t))Mne.call(t,n)&&i4(e,n,t[n]);return e},Rne=(e,t)=>Ine(e,Ene(t));function _I(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=_I(r,t,n);if(o)return o;r=t?null:r.sibling}}function kI(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const by=kI(f.createContext(null));class jI extends f.Component{render(){return f.createElement(by.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:c4,ReactCurrentDispatcher:u4}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Dne(){const e=f.useContext(by);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[c4==null?void 0:c4.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=_I(r,!1,s=>{let i=s.memoizedState;for(;i;){if(i.memoizedState===t)return!0;i=i.next}});if(o)return o}},[e,t])}function Ane(){var e,t;const n=Dne(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==by&&!r.has(s)&&r.set(s,(t=u4==null?void 0:u4.current)==null?void 0:t.readContext(kI(s))),o=o.return}return r}function Tne(){const e=Ane();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,Rne(l4({},r),{value:e.get(n)}))),t=>f.createElement(jI,l4({},t))),[e])}function Nne(e){const t=z.useRef({});return z.useLayoutEffect(()=>{t.current=e}),z.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const $ne=e=>{const t=z.useRef(),n=z.useRef(),r=z.useRef(),o=Nne(e),s=Tne(),i=u=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(u):d.current=u)};return z.useLayoutEffect(()=>(n.current=new vu.Stage({width:e.width,height:e.height,container:t.current}),i(n.current),r.current=qc.createContainer(n.current,wI.LegacyRoot,!1,null),qc.updateContainer(z.createElement(s,{},e.children),r.current),()=>{vu.isBrowser&&(i(null),qc.updateContainer(null,r.current,null),n.current.destroy())}),[]),z.useLayoutEffect(()=>{i(n.current),Hh(n.current,e,o),qc.updateContainer(z.createElement(s,{},e.children),r.current,null)}),z.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},zc="Layer",Sa="Group",qs="Rect",vi="Circle",Vp="Line",PI="Image",zne="Transformer",qc=Bte(jne);qc.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:z.version,rendererPackageName:"react-konva"});const Lne=z.forwardRef((e,t)=>z.createElement(jI,{},z.createElement($ne,{...e,forwardedRef:t}))),Bne=he([en,Jn],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),Fne=()=>{const e=Z(),{tool:t,isStaging:n,isMovingBoundingBox:r}=$(Bne);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Df(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(l3(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Df(!1))},[e,r,n,t])}},Hne=he([en,or,Jn],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:i,isMaskEnabled:u,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:i,isStaging:n,isMaskEnabled:u,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Gt}}),Wne=()=>{const e=Z(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:i}=$(Hne),u=f.useRef(null),d=c3(),p=()=>e(wv());Ye(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(ku(!s));Ye(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),Ye(["n"],()=>{e(ou(!i))},{enabled:!0,preventDefault:!0},[i]),Ye("esc",()=>{e(yO())},{enabled:()=>!0,preventDefault:!0}),Ye("shift+h",()=>{e(bO(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),Ye(["space"],g=>{g.repeat||(d==null||d.container().focus(),r!=="move"&&(u.current=r,e(Hs("move"))),r==="move"&&u.current&&u.current!=="move"&&(e(Hs(u.current)),u.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,u])},xy=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},II=()=>{const e=Z(),t=ma(),n=c3();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=xO.pixelRatio,[s,i,u,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;e(wO({r:s,g:i,b:u,a:d}))},commitColorUnderCursor:()=>{e(SO())}}},Vne=he([or,en,Jn],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Une=e=>{const t=Z(),{tool:n,isStaging:r}=$(Vne),{commitColorUnderCursor:o}=II();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Df(!0));return}if(n==="colorPicker"){o();return}const i=xy(e.current);i&&(s.evt.preventDefault(),t(u3(!0)),t(CO([i.x,i.y])))},[e,n,r,t,o])},Gne=he([or,en,Jn],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),qne=(e,t,n)=>{const r=Z(),{isDrawing:o,tool:s,isStaging:i}=$(Gne),{updateColorUnderCursor:u}=II();return f.useCallback(()=>{if(!e.current)return;const d=xy(e.current);if(d){if(r(_O(d)),n.current=d,s==="colorPicker"){u();return}!o||s==="move"||i||(t.current=!0,r(d3([d.x,d.y])))}},[t,r,o,i,n,e,s,u])},Kne=()=>{const e=Z();return f.useCallback(()=>{e(kO())},[e])},Qne=he([or,en,Jn],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Yne=(e,t)=>{const n=Z(),{tool:r,isDrawing:o,isStaging:s}=$(Qne);return f.useCallback(()=>{if(r==="move"||s){n(Df(!1));return}if(!t.current&&o&&e.current){const i=xy(e.current);if(!i)return;n(d3([i.x,i.y]))}else t.current=!1;n(u3(!1))},[t,n,o,s,e,r])},Xne=he([en],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Jne=e=>{const t=Z(),{isMoveStageKeyHeld:n,stageScale:r}=$(Xne);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const i={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let u=o.evt.deltaY;o.evt.ctrlKey&&(u=-u);const d=Vs(r*IO**u,PO,jO),p={x:s.x-i.x*d,y:s.y-i.y*d};t(EO(d)),t(l3(p))},[e,n,r,t])},Zne=he(en,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:i}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:i,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Gt}}),ere=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=$(Zne);return a.jsxs(Sa,{children:[a.jsx(qs,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),a.jsx(qs,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},tre=he([en],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),nre=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=$(tre),{colorMode:r}=xs(),[o,s]=f.useState([]),[i,u]=ec("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:g,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(g),y:d(v)}},S={x:Math.ceil(d(g)/64)*64,y:Math.ceil(d(v)/64)*64},x={x1:-S.x,y1:-S.y,x2:d(p)-S.x+64,y2:d(h)-S.y+64},_={x1:Math.min(b.x1,x.x1),y1:Math.min(b.y1,x.y1),x2:Math.max(b.x2,x.x2),y2:Math.max(b.y2,x.y2)},k=_.x2-_.x1,P=_.y2-_.y1,I=Math.round(k/64)+1,E=Math.round(P/64)+1,O=$x(0,I).map(D=>a.jsx(Vp,{x:_.x1+D*64,y:_.y1,points:[0,0,0,P],stroke:r==="dark"?i:u,strokeWidth:1},`x_${D}`)),R=$x(0,E).map(D=>a.jsx(Vp,{x:_.x1,y:_.y1+D*64,points:[0,0,k,0],stroke:r==="dark"?i:u,strokeWidth:1},`y_${D}`));s(O.concat(R))},[e,t,n,d,r,i,u]),a.jsx(Sa,{children:o})},rre=he([xo,en],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Gt}}),ore=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=$(rre),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const i=new Image;i.onload=()=>{s(i)},i.src=n.dataURL},[n]),n&&r&&o?a.jsx(PI,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},Ii=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},sre=he(en,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:Ii(t)}}),d4=e=>`data:image/svg+xml;utf8, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`.replaceAll("black",e),are=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=$(sre),[i,u]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),g=f.useCallback(()=>{p(d+1),setTimeout(g,500)},[d]);return f.useEffect(()=>{if(i)return;const v=new Image;v.onload=()=>{u(v)},v.src=d4(n)},[i,n]),f.useEffect(()=>{i&&(i.src=d4(n))},[i,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!i||!il(r.x)||!il(r.y)||!il(s)||!il(o.width)||!il(o.height)?null:a.jsx(qs,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:i,fillPatternOffsetY:il(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},ire=he([en],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Gt}}),lre=e=>{const{...t}=e,{objects:n}=$(ire);return a.jsx(Sa,{listening:!1,...t,children:n.filter(OO).map((r,o)=>a.jsx(Vp,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var yi=f,cre=function(t,n,r){const o=yi.useRef("loading"),s=yi.useRef(),[i,u]=yi.useState(0),d=yi.useRef(),p=yi.useRef(),h=yi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),yi.useLayoutEffect(function(){if(!t)return;var g=document.createElement("img");function v(){o.current="loaded",s.current=g,u(Math.random())}function b(){o.current="failed",s.current=void 0,u(Math.random())}return g.addEventListener("load",v),g.addEventListener("error",b),n&&(g.crossOrigin=n),r&&(g.referrerPolicy=r),g.src=t,function(){g.removeEventListener("load",v),g.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const ure=wu(cre),EI=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:i,isError:u}=Uo(s??Xr.skipToken),[d]=ure((i==null?void 0:i.image_url)??"",MO.get()?"use-credentials":"anonymous");return u?a.jsx(qs,{x:r,y:o,width:t,height:n,fill:"red"}):a.jsx(PI,{x:r,y:o,image:d,listening:!1})},dre=he([en],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Gt}}),fre=()=>{const{objects:e}=$(dre);return e?a.jsx(Sa,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(O4(t))return a.jsx(EI,{canvasImage:t},n);if(RO(t)){const r=a.jsx(Vp,{points:t.points,stroke:t.color?Ii(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?a.jsx(Sa,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(DO(t))return a.jsx(qs,{x:t.x,y:t.y,width:t.width,height:t.height,fill:Ii(t.color)},n);if(AO(t))return a.jsx(qs,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},pre=he([en],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:i,height:u}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:i,height:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),hre=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:i,width:u,height:d}=$(pre);return a.jsxs(Sa,{...t,children:[r&&n&&a.jsx(EI,{canvasImage:n}),o&&a.jsxs(Sa,{children:[a.jsx(qs,{x:s,y:i,width:u,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),a.jsx(qs,{x:s,y:i,width:u,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},mre=he([en],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),gre=()=>{const e=Z(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=$(mre),{t:i}=ue(),u=f.useCallback(()=>{e(Ix(!0))},[e]),d=f.useCallback(()=>{e(Ix(!1))},[e]);Ye(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),Ye(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),Ye(["enter"],()=>{g()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(TO()),[e]),h=f.useCallback(()=>e(NO()),[e]),g=f.useCallback(()=>e($O(s)),[e,s]),{data:v}=Uo((r==null?void 0:r.imageName)??Xr.skipToken);return r?a.jsx(L,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:u,onMouseOut:d,children:a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{tooltip:`${i("unifiedCanvas.previous")} (Left)`,"aria-label":`${i("unifiedCanvas.previous")} (Left)`,icon:a.jsx(Uz,{}),onClick:p,colorScheme:"accent",isDisabled:t}),a.jsx(je,{tooltip:`${i("unifiedCanvas.next")} (Right)`,"aria-label":`${i("unifiedCanvas.next")} (Right)`,icon:a.jsx(Gz,{}),onClick:h,colorScheme:"accent",isDisabled:n}),a.jsx(je,{tooltip:`${i("unifiedCanvas.accept")} (Enter)`,"aria-label":`${i("unifiedCanvas.accept")} (Enter)`,icon:a.jsx(Kz,{}),onClick:g,colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.showHide"),"aria-label":i("unifiedCanvas.showHide"),"data-alert":!o,icon:o?a.jsx(nL,{}):a.jsx(tL,{}),onClick:()=>e(zO(!o)),colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.saveToGallery"),"aria-label":i("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:a.jsx(yh,{}),onClick:()=>{v&&e(LO({imageDTO:v}))},colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.discardAll"),"aria-label":i("unifiedCanvas.discardAll"),icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(BO()),colorScheme:"error",fontSize:20})]})}):null},kl=e=>Math.round(e*100)/100,vre=he([en],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${kl(n)}, ${kl(r)})`}},{memoizeOptions:{resultEqualityCheck:Gt}});function yre(){const{cursorCoordinatesString:e}=$(vre),{t}=ue();return a.jsx($e,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const rv="var(--invokeai-colors-warning-500)",bre=he([en],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:i},scaledBoundingBoxDimensions:{width:u,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:g,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:S,shouldPreserveMaskedArea:x}=e;let C="inherit";return(S==="none"&&(s<512||i<512)||S==="manual"&&u*d<512*512)&&(C=rv),{activeLayerColor:b==="mask"?rv:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:C,boundingBoxCoordinatesString:`(${kl(p)}, ${kl(h)})`,boundingBoxDimensionsString:`${s}×${i}`,scaledBoundingBoxDimensionsString:`${u}×${d}`,canvasCoordinatesString:`${kl(r)}×${kl(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(g*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:S!=="auto",shouldShowScaledBoundingBox:S!=="none",shouldPreserveMaskedArea:x}},{memoizeOptions:{resultEqualityCheck:Gt}}),xre=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:i,canvasCoordinatesString:u,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:g,shouldPreserveMaskedArea:v}=$(bre),{t:b}=ue();return a.jsxs(L,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx($e,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&a.jsx($e,{style:{color:rv},children:"Preserve Masked Area: On"}),g&&a.jsx($e,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),i&&a.jsx($e,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&a.jsxs(a.Fragment,{children:[a.jsx($e,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasPosition")}: ${u}`}),a.jsx(yre,{})]})]})},wre=he([en,Zr],(e,t)=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:i,isMovingBoundingBox:u,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:u,isTransformingBoundingBox:i,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Gt}}),Sre=e=>{const{...t}=e,n=Z(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:i,isTransformingBoundingBox:u,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:g,aspectRatio:v}=$(wre),b=f.useRef(null),S=f.useRef(null),[x,C]=f.useState(!1);f.useEffect(()=>{var F;!b.current||!S.current||(b.current.nodes([S.current]),(F=b.current.getLayer())==null||F.batchDraw())},[]);const _=64*d;Ye("N",()=>{n(ou(!p))});const k=f.useCallback(F=>{if(!p){n(qm({x:Math.floor(F.target.x()),y:Math.floor(F.target.y())}));return}const N=F.target.x(),G=F.target.y(),K=cs(N,64),M=cs(G,64);F.target.x(K),F.target.y(M),n(qm({x:K,y:M}))},[n,p]),P=f.useCallback(()=>{if(!S.current)return;const F=S.current,N=F.scaleX(),G=F.scaleY(),K=Math.round(F.width()*N),M=Math.round(F.height()*G),U=Math.round(F.x()),V=Math.round(F.y());if(v){const ee=cs(K/v,64);n(Bs({width:K,height:ee}))}else n(Bs({width:K,height:M}));n(qm({x:p?Od(U,64):U,y:p?Od(V,64):V})),F.scaleX(1),F.scaleY(1)},[n,p,v]),I=f.useCallback((F,N,G)=>{const K=F.x%_,M=F.y%_;return{x:Od(N.x,_)+K,y:Od(N.y,_)+M}},[_]),E=()=>{n(Km(!0))},O=()=>{n(Km(!1)),n(Qm(!1)),n(Md(!1)),C(!1)},R=()=>{n(Qm(!0))},D=()=>{n(Km(!1)),n(Qm(!1)),n(Md(!1)),C(!1)},T=()=>{C(!0)},B=()=>{!u&&!i&&C(!1)},W=()=>{n(Md(!0))},J=()=>{n(Md(!1))};return a.jsxs(Sa,{...t,children:[a.jsx(qs,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:W,onMouseOver:W,onMouseLeave:J,onMouseOut:J}),a.jsx(qs,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:g,listening:!s&&h==="move",onDragStart:R,onDragEnd:D,onDragMove:k,onMouseDown:R,onMouseOut:B,onMouseOver:T,onMouseEnter:T,onMouseUp:D,onTransform:P,onTransformEnd:O,ref:S,stroke:x?"rgba(255,255,255,0.7)":"white",strokeWidth:(x?8:1)/d,width:o.width,x:r.x,y:r.y}),a.jsx(zne,{anchorCornerRadius:3,anchorDragBoundFunc:I,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:D,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Cre=he(en,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:i,layer:u,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:g,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:S,shouldRestrictStrokesToBox:x}=e,C=x?{clipX:b.x,clipY:b.y,clipWidth:S.width,clipHeight:S.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:Ex/g,colorPickerInnerRadius:(Ex-Jg+1)/g,maskColorString:Ii({...o,a:.5}),brushColorString:Ii(s),colorPickerColorString:Ii(r),tool:i,layer:u,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/g,dotRadius:1.5/g,clip:C}},{memoizeOptions:{resultEqualityCheck:Gt}}),_re=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:i,layer:u,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:g,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:S,clip:x}=$(Cre);return d?a.jsxs(Sa,{listening:!1,...x,...t,children:[i==="colorPicker"?a.jsxs(a.Fragment,{children:[a.jsx(vi,{x:n,y:r,radius:S,stroke:g,strokeWidth:Jg,strokeScaleEnabled:!1}),a.jsx(vi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Jg,strokeScaleEnabled:!1})]}):a.jsxs(a.Fragment,{children:[a.jsx(vi,{x:n,y:r,radius:o,fill:u==="mask"?s:g,globalCompositeOperation:i==="eraser"?"destination-out":"source-out"}),a.jsx(vi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),a.jsx(vi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),a.jsx(vi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),a.jsx(vi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},kre=he([en,Jn],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:i,isMovingBoundingBox:u,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:g,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:S,shouldAntialias:x}=e;let C="none";return h==="move"||t?g?C="grabbing":C="grab":s?C=void 0:S&&!i&&(C="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||u,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:C,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:x}},Ke),jre=He(Lne,{shouldForwardProp:e=>!["sx"].includes(e)}),f4=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:i,stageScale:u,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:g}=$(kre);Wne();const v=f.useRef(null),b=f.useRef(null),S=f.useCallback(B=>{HO(B),v.current=B},[]),x=f.useCallback(B=>{FO(B),b.current=B},[]),C=f.useRef({x:0,y:0}),_=f.useRef(!1),k=Jne(v),P=Une(v),I=Yne(v,_),E=qne(v,_,C),O=Kne(),{handleDragStart:R,handleDragMove:D,handleDragEnd:T}=Fne();return a.jsx(L,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:a.jsxs($e,{sx:{position:"relative"},children:[a.jsxs(jre,{tabIndex:-1,ref:S,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:i.width,height:i.height,scale:{x:u,y:u},onTouchStart:P,onTouchMove:E,onTouchEnd:I,onMouseDown:P,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:D,onDragEnd:T,onContextMenu:B=>B.evt.preventDefault(),onWheel:k,draggable:(d==="move"||p)&&!t,children:[a.jsx(zc,{id:"grid",visible:r,children:a.jsx(nre,{})}),a.jsx(zc,{id:"base",ref:x,listening:!1,imageSmoothingEnabled:g,children:a.jsx(fre,{})}),a.jsxs(zc,{id:"mask",visible:e,listening:!1,children:[a.jsx(lre,{visible:!0,listening:!1}),a.jsx(are,{listening:!1})]}),a.jsx(zc,{children:a.jsx(ere,{})}),a.jsxs(zc,{id:"preview",imageSmoothingEnabled:g,children:[!p&&a.jsx(_re,{visible:d!=="move",listening:!1}),a.jsx(hre,{visible:p}),h&&a.jsx(ore,{}),a.jsx(Sre,{visible:n&&!p})]})]}),a.jsx(xre,{}),a.jsx(gre,{})]})})},Pre=he(en,JN,or,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),p4=()=>{const e=Z(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=$(Pre),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:i,clientHeight:u}=s.current;e(WO({width:i,height:u})),e(o?VO():Jp()),e(M4(!1))},0)},[e,r,t,n,o]),a.jsx(L,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:a.jsx(oc,{thickness:"2px",size:"xl"})})};function OI(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const Ire=He(mI,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),Hg={width:6,height:6,borderColor:"base.100"},Ere=e=>{const{styleClass:t="",...n}=e;return a.jsx(Ire,{sx:{".react-colorful__hue-pointer":Hg,".react-colorful__saturation-pointer":Hg,".react-colorful__alpha-pointer":Hg},className:t,...n})},Up=f.memo(Ere),Ore=he([en,Jn],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:Ii(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}}),Mre=()=>{const e=Z(),{t}=ue(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:i}=$(Ore);Ye(["q"],()=>{u()},{enabled:()=>!i,preventDefault:!0},[n]),Ye(["shift+c"],()=>{d()},{enabled:()=>!i,preventDefault:!0},[]),Ye(["h"],()=>{p()},{enabled:()=>!i,preventDefault:!0},[o]);const u=()=>{e(Af(n==="mask"?"base":"mask"))},d=()=>e(wv()),p=()=>e(ku(!o));return a.jsx(Wi,{triggerComponent:a.jsx(Yn,{children:a.jsx(je,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:a.jsx(dL,{}),isChecked:n==="mask",isDisabled:i})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),a.jsx(Ln,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(f3(h.target.checked))}),a.jsx(Up,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(p3(h))}),a.jsxs(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},Rre=he([en,or,xo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function MI(){const e=Z(),{canRedo:t,activeTabName:n}=$(Rre),{t:r}=ue(),o=()=>{e(UO())};return Ye(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),a.jsx(je,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:a.jsx(mL,{}),onClick:o,isDisabled:!t})}const RI=()=>{const e=$(Jn),t=Z(),{t:n}=ue();return a.jsxs(hy,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(GO()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:a.jsx(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[a.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),a.jsx("br",{}),a.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},Dre=he([en],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:i,shouldSnapToGrid:u,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:i,shouldSnapToGrid:u,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Gt}}),Are=()=>{const e=Z(),{t}=ue(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:i,shouldShowIntermediates:u,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=$(Dre);Ye(["n"],()=>{e(ou(!d))},{enabled:!0,preventDefault:!0},[d]);const g=v=>e(ou(v.target.checked));return a.jsx(Wi,{isLazy:!1,triggerComponent:a.jsx(je,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:t("unifiedCanvas.showIntermediates"),isChecked:u,onChange:v=>e(h3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showGrid"),isChecked:i,onChange:v=>e(m3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:g}),a.jsx(Ln,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(g3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(v3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(y3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(b3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(x3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(w3(v.target.checked))}),a.jsx(RI,{})]})})},Tre=he([en,Jn,xo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:i}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),Nre=()=>{const e=Z(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=$(Tre),{t:s}=ue();Ye(["b"],()=>{i()},{enabled:()=>!o,preventDefault:!0},[]),Ye(["e"],()=>{u()},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),Ye(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),Ye(["BracketLeft"],()=>{e(Il(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),Ye(["BracketRight"],()=>{e(Il(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),Ye(["Shift+BracketLeft"],()=>{e(El({...n,a:Vs(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),Ye(["Shift+BracketRight"],()=>{e(El({...n,a:Vs(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const i=()=>e(Hs("brush")),u=()=>e(Hs("eraser")),d=()=>e(Hs("colorPicker")),p=()=>e(S3()),h=()=>e(C3());return a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:a.jsx(b_,{}),isChecked:t==="brush"&&!o,onClick:i,isDisabled:o}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:a.jsx(h_,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:u}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:a.jsx(v_,{}),isDisabled:o,onClick:p}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:a.jsx(g_,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),a.jsx(Wi,{triggerComponent:a.jsx(je,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:a.jsx(y1,{})}),children:a.jsxs(L,{minWidth:60,direction:"column",gap:4,width:"100%",children:[a.jsx(L,{gap:4,justifyContent:"space-between",children:a.jsx(Ct,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:g=>e(Il(g)),sliderNumberInputProps:{max:500}})}),a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:g=>e(El(g))})]})})]})},$re=he([en,or,xo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function DI(){const e=Z(),{t}=ue(),{canUndo:n,activeTabName:r}=$($re),o=()=>{e(qO())};return Ye(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),a.jsx(je,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:a.jsx(b1,{}),onClick:o,isDisabled:!n})}const zre=he([xo,en,Jn],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:i,isMaskEnabled:u}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:u,tool:o,layer:i,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Gt}}),Lre=()=>{const e=Z(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=$(zre),i=ma(),{t:u}=ue(),{isClipboardAPIAvailable:d}=G1(),{getUploadButtonProps:p,getUploadInputProps:h}=Rh({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});Ye(["v"],()=>{g()},{enabled:()=>!n,preventDefault:!0},[]),Ye(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[i]),Ye(["shift+m"],()=>{x()},{enabled:()=>!n,preventDefault:!0},[i,t]),Ye(["shift+s"],()=>{C()},{enabled:()=>!n,preventDefault:!0},[i,t]),Ye(["meta+c","ctrl+c"],()=>{_()},{enabled:()=>!n&&d,preventDefault:!0},[i,t,d]),Ye(["shift+d"],()=>{k()},{enabled:()=>!n,preventDefault:!0},[i,t]);const g=()=>e(Hs("move")),v=OI(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=ma();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(_3({contentRect:O,shouldScaleTo1:I}))},S=()=>{e(vv()),e(Jp())},x=()=>{e(k3())},C=()=>{e(j3())},_=()=>{d&&e(P3())},k=()=>{e(I3())},P=I=>{const E=I;e(Af(E)),E==="mask"&&!r&&e(ku(!0))};return a.jsxs(L,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[a.jsx($e,{w:24,children:a.jsx(br,{tooltip:`${u("unifiedCanvas.layer")} (Q)`,value:o,data:E3,onChange:P,disabled:n})}),a.jsx(Mre,{}),a.jsx(Nre,{}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("unifiedCanvas.move")} (V)`,tooltip:`${u("unifiedCanvas.move")} (V)`,icon:a.jsx(d_,{}),isChecked:s==="move"||n,onClick:g}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.resetView")} (R)`,tooltip:`${u("unifiedCanvas.resetView")} (R)`,icon:a.jsx(p_,{}),onClick:v})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${u("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:a.jsx(y_,{}),onClick:x,isDisabled:n}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${u("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:a.jsx(yh,{}),onClick:C,isDisabled:n}),d&&a.jsx(je,{"aria-label":`${u("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${u("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:a.jsx(cc,{}),onClick:_,isDisabled:n}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${u("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:a.jsx(v1,{}),onClick:k,isDisabled:n})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(DI,{}),a.jsx(MI,{})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("common.upload")}`,tooltip:`${u("common.upload")}`,icon:a.jsx(Fu,{}),isDisabled:n,...p()}),a.jsx("input",{...h()}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.clearCanvas")}`,tooltip:`${u("unifiedCanvas.clearCanvas")}`,icon:a.jsx(Xo,{}),onClick:S,colorScheme:"error",isDisabled:n})]}),a.jsx(Yn,{isAttached:!0,children:a.jsx(Are,{})})]})};function Bre(){const e=Z(),t=$(o=>o.canvas.brushSize),{t:n}=ue(),r=$(Jn);return Ye(["BracketLeft"],()=>{e(Il(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),Ye(["BracketRight"],()=>{e(Il(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),a.jsx(Ct,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(Il(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Fre=he([en,Jn],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function Hre(){const e=Z(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=$(Fre),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return Ye(["shift+BracketLeft"],()=>{e(El({...t,a:Vs(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["shift+BracketRight"],()=>{e(El({...t,a:Vs(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),a.jsx(Wi,{triggerComponent:a.jsx($e,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:a.jsxs(L,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:i=>e(El(i))}),r==="mask"&&a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:i=>e(p3(i))})]})})}function AI(){return a.jsxs(L,{columnGap:4,alignItems:"center",children:[a.jsx(Bre,{}),a.jsx(Hre,{})]})}function Wre(){const e=Z(),t=$(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(b3(r.target.checked))})}function Vre(){return a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(AI,{}),a.jsx(Wre,{})]})}function Ure(){const e=Z(),{t}=ue(),n=()=>e(wv());return a.jsx(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function Gre(){const e=$(o=>o.canvas.isMaskEnabled),t=Z(),{t:n}=ue(),r=()=>t(ku(!e));return a.jsx(Ln,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function qre(){const e=Z(),{t}=ue(),n=$(r=>r.canvas.shouldPreserveMaskedArea);return a.jsx(Ln,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(f3(r.target.checked))})}function Kre(){return a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(AI,{}),a.jsx(Gre,{}),a.jsx(qre,{}),a.jsx(Ure,{})]})}function Qre(){const e=$(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=Z(),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(g3(r.target.checked))})}function Yre(){const e=$(r=>r.canvas.shouldShowGrid),t=Z(),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(m3(r.target.checked))})}function Xre(){const e=$(o=>o.canvas.shouldSnapToGrid),t=Z(),{t:n}=ue(),r=o=>t(ou(o.target.checked));return a.jsx(Ln,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Jre(){return a.jsxs(L,{alignItems:"center",gap:4,children:[a.jsx(Yre,{}),a.jsx(Xre,{}),a.jsx(Qre,{})]})}const Zre=he([en],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Gt}});function eoe(){const{tool:e,layer:t}=$(Zre);return a.jsxs(L,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&a.jsx(Vre,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&a.jsx(Kre,{}),e=="move"&&a.jsx(Jre,{})]})}const toe=he([en],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Gt}}),noe=()=>{const e=Z(),{t}=ue(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:i}=$(toe);return a.jsx(Wi,{isLazy:!1,triggerComponent:a.jsx(je,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:u=>e(h3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:u=>e(v3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:u=>e(y3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:u=>e(x3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.antialiasing"),isChecked:i,onChange:u=>e(w3(u.target.checked))}),a.jsx(RI,{})]})})};function roe(){const e=$(Jn),t=ma(),{isClipboardAPIAvailable:n}=G1(),r=$(u=>u.system.isProcessing),o=Z(),{t:s}=ue();Ye(["meta+c","ctrl+c"],()=>{i()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const i=f.useCallback(()=>{n&&o(P3())},[o,n]);return n?a.jsx(je,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:a.jsx(cc,{}),onClick:i,isDisabled:e}):null}function ooe(){const e=Z(),{t}=ue(),n=ma(),r=$(Jn);Ye(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(I3())};return a.jsx(je,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:a.jsx(v1,{}),onClick:o,isDisabled:r})}function soe(){const e=$(Jn),{getUploadButtonProps:t,getUploadInputProps:n}=Rh({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ue();return a.jsxs(a.Fragment,{children:[a.jsx(je,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:a.jsx(Fu,{}),isDisabled:e,...t()}),a.jsx("input",{...n()})]})}const aoe=he([en,Jn],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function ioe(){const e=Z(),{t}=ue(),{layer:n,isMaskEnabled:r,isStaging:o}=$(aoe),s=()=>{e(Af(n==="mask"?"base":"mask"))};Ye(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const i=u=>{const d=u;e(Af(d)),d==="mask"&&!r&&e(ku(!0))};return a.jsx(Co,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:E3,onChange:i,disabled:o,w:"full"})}function loe(){const e=Z(),{t}=ue(),n=ma(),r=$(Jn),o=$(i=>i.system.isProcessing);Ye(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(k3())};return a.jsx(je,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:a.jsx(y_,{}),onClick:s,isDisabled:r})}function coe(){const e=$(s=>s.canvas.tool),t=$(Jn),n=Z(),{t:r}=ue();Ye(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(Hs("move"));return a.jsx(je,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:a.jsx(d_,{}),isChecked:e==="move"||t,onClick:o})}function uoe(){const e=$(s=>s.ui.shouldPinParametersPanel),t=$(s=>s.ui.shouldShowParametersPanel),n=Z(),{t:r}=ue(),o=()=>{n(Sv(!0)),e&&n(yo())};return!e||!t?a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(je,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:a.jsx(y1,{})}),a.jsx(L,{children:a.jsx(dy,{iconButton:!0})}),a.jsx(L,{children:a.jsx(Th,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function doe(){const e=Z(),{t}=ue(),n=$(Jn),r=()=>{e(vv()),e(Jp())};return a.jsx(je,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:a.jsx(Xo,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function foe(){const e=ma(),t=Z(),{t:n}=ue();Ye(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=OI(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const i=ma();if(!i)return;const u=i.getClientRect({skipTransform:!0});t(_3({contentRect:u,shouldScaleTo1:s}))};return a.jsx(je,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:a.jsx(p_,{}),onClick:r})}function poe(){const e=$(Jn),t=ma(),n=$(i=>i.system.isProcessing),r=Z(),{t:o}=ue();Ye(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(j3())};return a.jsx(je,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:a.jsx(yh,{}),onClick:s,isDisabled:e})}const hoe=he([en,Jn,xo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),moe=()=>{const e=Z(),{t}=ue(),{tool:n,isStaging:r}=$(hoe);Ye(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),Ye(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),Ye(["c"],()=>{i()},{enabled:()=>!r,preventDefault:!0},[n]),Ye(["shift+f"],()=>{u()},{enabled:()=>!r,preventDefault:!0}),Ye(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(Hs("brush")),s=()=>e(Hs("eraser")),i=()=>e(Hs("colorPicker")),u=()=>e(S3()),d=()=>e(C3());return a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsxs(Yn,{children:[a.jsx(je,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:a.jsx(b_,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:a.jsx(h_,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),a.jsxs(Yn,{children:[a.jsx(je,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:a.jsx(v_,{}),isDisabled:r,onClick:u}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:a.jsx(g_,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:i,width:"max-content"})]})},goe=()=>a.jsxs(L,{flexDirection:"column",rowGap:2,width:"min-content",children:[a.jsx(ioe,{}),a.jsx(moe,{}),a.jsxs(L,{gap:2,children:[a.jsx(coe,{}),a.jsx(foe,{})]}),a.jsxs(L,{columnGap:2,children:[a.jsx(loe,{}),a.jsx(poe,{})]}),a.jsxs(L,{columnGap:2,children:[a.jsx(roe,{}),a.jsx(ooe,{})]}),a.jsxs(L,{gap:2,children:[a.jsx(DI,{}),a.jsx(MI,{})]}),a.jsxs(L,{gap:2,children:[a.jsx(soe,{}),a.jsx(doe,{})]}),a.jsx(noe,{}),a.jsx(uoe,{})]}),voe=he([en,Zr],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ke),Wg={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},yoe=()=>{const e=Z(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=$(voe),{isOver:r,setNodeRef:o,active:s}=uv({id:"unifiedCanvas",data:Wg});return f.useLayoutEffect(()=>{const i=()=>{e(yo())};return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[e]),n?a.jsx($e,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:a.jsxs(L,{sx:{w:"full",h:"full",gap:4},children:[a.jsx(goe,{}),a.jsxs(L,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[a.jsx(eoe,{}),a.jsxs($e,{sx:{w:"full",h:"full",position:"relative"},children:[t?a.jsx(p4,{}):a.jsx(f4,{}),jf(Wg,s)&&a.jsx(Yf,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):a.jsx($e,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:a.jsxs(L,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[a.jsx(Lre,{}),a.jsx(L,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:a.jsxs($e,{sx:{w:"full",h:"full",position:"relative"},children:[t?a.jsx(p4,{}):a.jsx(f4,{}),jf(Wg,s)&&a.jsx(Yf,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},boe=f.memo(yoe),xoe=he([mt],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ke),woe=()=>{const e=Z(),{infillMethod:t}=$(xoe),{data:n,isLoading:r}=KO(),o=n==null?void 0:n.infill_methods,{t:s}=ue(),i=f.useCallback(u=>{e(QO(u))},[e]);return a.jsx(Co,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:i})},Soe=f.memo(woe),Coe=he([Zo],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ke),_oe=()=>{const e=Z(),{tileSize:t,infillMethod:n}=$(Coe),{t:r}=ue(),o=f.useCallback(i=>{e(Ox(i))},[e]),s=f.useCallback(()=>{e(Ox(32))},[e]);return a.jsx(Ct,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},koe=f.memo(_oe),joe=he([en],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ke),Poe=()=>{const e=Z(),{boundingBoxScale:t}=$(joe),{t:n}=ue(),r=o=>{e(XO(o))};return a.jsx(br,{label:n("parameters.scaleBeforeProcessing"),data:YO,value:t,onChange:r})},Ioe=f.memo(Poe),Eoe=he([Zo,xo,en],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ke),Ooe=()=>{const e=Z(),{isManual:t,scaledBoundingBoxDimensions:n}=$(Eoe),{t:r}=ue(),o=i=>{e(Tf({...n,height:Math.floor(i)}))},s=()=>{e(Tf({...n,height:Math.floor(512)}))};return a.jsx(Ct,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Moe=f.memo(Ooe),Roe=he([en],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ke),Doe=()=>{const e=Z(),{isManual:t,scaledBoundingBoxDimensions:n}=$(Roe),{t:r}=ue(),o=i=>{e(Tf({...n,width:Math.floor(i)}))},s=()=>{e(Tf({...n,width:Math.floor(512)}))};return a.jsx(Ct,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Aoe=f.memo(Doe),Toe=()=>{const{t:e}=ue();return a.jsx(Ro,{label:e("parameters.infillScalingHeader"),children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(Soe,{}),a.jsx(koe,{}),a.jsx(Ioe,{}),a.jsx(Aoe,{}),a.jsx(Moe,{})]})})},Noe=f.memo(Toe);function $oe(){const e=Z(),t=$(r=>r.generation.seamBlur),{t:n}=ue();return a.jsx(Ct,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(Mx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Mx(16))}})}function zoe(){const e=Z(),{t}=ue(),n=$(r=>r.generation.seamSize);return a.jsx(Ct,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(Rx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(Rx(96))})}function Loe(){const{t:e}=ue(),t=$(r=>r.generation.seamSteps),n=Z();return a.jsx(Ct,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(Dx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(Dx(30))}})}function Boe(){const e=Z(),{t}=ue(),n=$(r=>r.generation.seamStrength);return a.jsx(Ct,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(Ax(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Ax(.7))}})}const Foe=()=>{const{t:e}=ue();return a.jsxs(Ro,{label:e("parameters.seamCorrectionHeader"),children:[a.jsx(zoe,{}),a.jsx($oe,{}),a.jsx(Boe,{}),a.jsx(Loe,{})]})},Hoe=f.memo(Foe),Woe=he([en,Jn,Zr],(e,t,n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=n;return{boundingBoxDimensions:r,isStaging:t,aspectRatio:o}},Ke),Voe=()=>{const e=Z(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=$(Woe),{t:o}=ue(),s=u=>{if(e(Bs({...t,height:Math.floor(u)})),r){const d=cs(u*r,64);e(Bs({width:d,height:Math.floor(u)}))}},i=()=>{if(e(Bs({...t,height:Math.floor(512)})),r){const u=cs(512*r,64);e(Bs({width:u,height:Math.floor(512)}))}};return a.jsx(Ct,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:i})},Uoe=f.memo(Voe),Goe=he([en,Jn,Zr],(e,t,n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=n;return{boundingBoxDimensions:r,isStaging:t,aspectRatio:o}},Ke),qoe=()=>{const e=Z(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=$(Goe),{t:o}=ue(),s=u=>{if(e(Bs({...t,width:Math.floor(u)})),r){const d=cs(u/r,64);e(Bs({width:Math.floor(u),height:d}))}},i=()=>{if(e(Bs({...t,width:Math.floor(512)})),r){const u=cs(512/r,64);e(Bs({width:Math.floor(512),height:u}))}};return a.jsx(Ct,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:i})},Koe=f.memo(qoe);function h4(){const e=Z(),{t}=ue();return a.jsxs(L,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[a.jsxs(L,{alignItems:"center",gap:2,children:[a.jsx(qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),a.jsx(Bi,{}),a.jsx(eI,{}),a.jsx(je,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:a.jsx(jP,{}),fontSize:20,onClick:()=>e(JO())})]}),a.jsx(Koe,{}),a.jsx(Uoe,{})]})}const Qoe=he(mt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),Yoe=()=>{const{shouldUseSliders:e,activeLabel:t}=$(Qoe);return a.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsxs(L,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(h4,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(h4,{})]}),a.jsx(tI,{})]})})},Xoe=f.memo(Yoe),Joe=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(Xoe,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(cy,{}),a.jsx(Hoe,{}),a.jsx(Noe,{}),a.jsx(ny,{})]}),TI=f.memo(Joe),Zoe=()=>a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(TI,{})}),a.jsx(boe,{})]}),ese=f.memo(Zoe),tse=[{id:"txt2img",translationKey:"common.txt2img",icon:a.jsx(io,{as:rL,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(Nte,{})},{id:"img2img",translationKey:"common.img2img",icon:a.jsx(io,{as:Ti,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(zJ,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:a.jsx(io,{as:BK,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(ese,{})},{id:"nodes",translationKey:"common.nodes",icon:a.jsx(io,{as:LK,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(Ote,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:a.jsx(io,{as:Yz,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(TZ,{})}],nse=he([qi,xo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return tse.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Gt}}),rse=350,Vg=20,NI=["modelManager"],ose=()=>{const e=$(FT),t=$(or),n=$(nse),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=$(S=>S.ui),{t:i}=ue(),u=Z();Ye("f",()=>{u(ZO()),(r||o)&&u(yo())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&u(yo())},[u,t]),p=f.useCallback(S=>{S.target instanceof HTMLElement&&S.target.blur()},[]),h=f.useMemo(()=>n.map(S=>a.jsx(Cn,{hasArrow:!0,label:String(i(S.translationKey)),placement:"end",children:a.jsxs(Bl,{onClick:p,children:[a.jsx(N3,{children:String(i(S.translationKey))}),S.icon]})},S.id)),[n,i,p]),g=f.useMemo(()=>n.map(S=>a.jsx(dh,{children:S.content},S.id)),[n]),{ref:v,minSizePct:b}=PQ(rse,Vg,"app");return a.jsxs(Nu,{defaultIndex:e,index:e,onChange:S=>{u(xl(S))},sx:{flexGrow:1,gap:4},isLazy:!0,children:[a.jsxs($u,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,a.jsx(Bi,{}),a.jsx(cQ,{})]}),a.jsxs(X1,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[a.jsx(gu,{id:"main",children:a.jsx(fh,{style:{height:"100%",width:"100%"},children:g})}),r&&s&&!NI.includes(t)&&a.jsxs(a.Fragment,{children:[a.jsx(HP,{}),a.jsx(gu,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>Vg?b:Vg,minSize:b,maxSize:50,children:a.jsx(_P,{})})]})]})]})},sse=f.memo(ose),ase=he([or,Zr],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:NI.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Gt}}),ise=()=>{const{t:e}=ue(),{shouldPinGallery:t,shouldShowGalleryButton:n}=$(ase),r=Z(),o=()=>{r(Xg(!0)),t&&r(yo())};return n?a.jsx(je,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:a.jsx(FK,{})}):null},lse=f.memo(ise),Ug={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},cse=he([Zr,or],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",i=!s&&(!n||!o),u=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:u,shouldShowProcessButtons:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),use=()=>{const e=Z(),{t}=ue(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=$(cse),s=()=>{e(Sv(!0)),o&&e(yo())};return r?a.jsxs(L,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[a.jsx(je,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:Ug,children:a.jsx(y1,{})}),n&&a.jsxs(a.Fragment,{children:[a.jsx(dy,{iconButton:!0,sx:Ug}),a.jsx(Th,{sx:Ug})]})]}):null},dse=f.memo(use),fse=he([Zr,or],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ke),pse=()=>{const e=Z(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=$(fse),o=()=>{e(Sv(!1))},s=f.useMemo(()=>r==="txt2img"?a.jsx(yI,{}):r==="img2img"?a.jsx(nI,{}):r==="unifiedCanvas"?a.jsx(TI,{}):null,[r]);return t?null:a.jsx(R5,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:a.jsxs(L,{sx:{flexDir:"column",h:"full",w:J1,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[a.jsxs(L,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[a.jsx(PP,{}),a.jsx(FP,{})]}),a.jsx(L,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:s})]})})},hse=f.memo(pse),mse=()=>{const{data:e,isFetching:t}=Xp(),{isOpen:n,onClose:r,handleAddToBoard:o,image:s}=f.useContext(A4),[i,u]=f.useState(),d=f.useRef(null),p=e==null?void 0:e.find(h=>h.board_id===(s==null?void 0:s.board_id));return a.jsx(Du,{isOpen:n,leastDestructiveRef:d,onClose:r,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:p?"Move Image to Board":"Add Image to Board"}),a.jsx(ba,{children:a.jsx($e,{children:a.jsxs(L,{direction:"column",gap:3,children:[p&&a.jsxs(qe,{children:["Moving this image from"," ",a.jsx("strong",{children:p.board_name})," to"]}),t?a.jsx(oc,{}):a.jsx(br,{placeholder:"Select Board",onChange:h=>u(h),value:i,data:(e??[]).map(h=>({label:h.board_name,value:h.board_id}))})]})})}),a.jsxs(ga,{children:[a.jsx(Xt,{onClick:r,children:"Cancel"}),a.jsx(Xt,{isDisabled:!i,colorScheme:"accent",onClick:()=>{i&&o(i)},ml:3,children:p?"Move":"Add"})]})]})})})},gse=f.memo(mse),vse=he([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),yse=()=>{const e=Z(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=$(vse),o=$(or);return Ye("*",()=>{P5("shift")?!t&&e(Go(!0)):t&&e(Go(!1))},{keyup:!0,keydown:!0},[t]),Ye("o",()=>{e(eM()),o==="unifiedCanvas"&&n&&e(yo())}),Ye(["shift+o"],()=>{e(tM()),o==="unifiedCanvas"&&e(yo())}),Ye("g",()=>{e(nM()),o==="unifiedCanvas"&&r&&e(yo())}),Ye(["shift+g"],()=>{e(D4()),o==="unifiedCanvas"&&e(yo())}),Ye("1",()=>{e(xl("txt2img"))}),Ye("2",()=>{e(xl("img2img"))}),Ye("3",()=>{e(xl("unifiedCanvas"))}),Ye("4",()=>{e(xl("nodes"))}),null},bse=f.memo(yse),xse={},wse=({config:e=xse,headerComponent:t})=>{const n=$(L4),r=rM(),o=Z();return f.useEffect(()=>{pr.changeLanguage(n)},[n]),f.useEffect(()=>{r.info({namespace:"App",data:e},"Received config"),o(oM(e))},[o,e,r]),f.useEffect(()=>{o(sM())},[o]),a.jsxs(a.Fragment,{children:[a.jsxs(Mi,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[a.jsx(XN,{children:a.jsxs(Mi,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||a.jsx(aQ,{}),a.jsx(L,{sx:{gap:4,w:"full",h:"full"},children:a.jsx(sse,{})})]})}),a.jsx(jK,{}),a.jsx(hse,{}),a.jsx(Cf,{children:a.jsx(dse,{})}),a.jsx(Cf,{children:a.jsx(lse,{})})]}),a.jsx(OK,{}),a.jsx(gse,{}),a.jsx(aM,{}),a.jsx(bse,{})]})},Pse=f.memo(wse);export{Pse as default}; diff --git a/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js b/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js deleted file mode 100644 index d479487e00..0000000000 --- a/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js +++ /dev/null @@ -1 +0,0 @@ -import{go as J,W as g,gm as P,s as x,gv as K}from"./index-e2437518.js";function b(r,e){return t=>t.colorMode==="dark"?e:r}function oe(r){const{orientation:e,vertical:t,horizontal:n}=r;return e?e==="vertical"?t:n:{}}function s(r,e={}){let t=!1;function n(){if(!t){t=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...d){n();for(const u of d)e[u]=c(u);return s(r,e)}function o(...d){for(const u of d)u in e||(e[u]=c(u));return s(r,e)}function i(){return Object.fromEntries(Object.entries(e).map(([u,k])=>[u,k.selector]))}function l(){return Object.fromEntries(Object.entries(e).map(([u,k])=>[u,k.className]))}function c(d){const A=`chakra-${(["container","root"].includes(d??"")?[r]:[r,d]).filter(Boolean).join("__")}`;return{className:A,selector:`.${A}`,toString:()=>d}}return{parts:a,toPart:c,extend:o,selectors:i,classnames:l,get keys(){return Object.keys(e)},__type:{}}}var ae=s("accordion").parts("root","container","button","panel").extend("icon");s("alert").parts("title","description","container").extend("icon","spinner");s("avatar").parts("label","badge","container").extend("excessLabel","group");s("breadcrumb").parts("link","item","container").extend("separator");s("button").parts();var ie=s("checkbox").parts("control","icon","container").extend("label");s("progress").parts("track","filledTrack").extend("label");s("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var se=s("editable").parts("preview","input","textarea");s("form").parts("container","requiredIndicator","helperText");s("formError").parts("text","icon");var le=s("input").parts("addon","field","element");s("list").parts("container","item","icon");var Q=s("menu").parts("button","list","item").extend("groupTitle","command","divider"),ce=s("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),fe=s("numberinput").parts("root","field","stepperGroup","stepper");s("pininput").parts("field");var de=s("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),ue=s("progress").parts("label","filledTrack","track");s("radio").parts("container","control","label");var pe=s("select").parts("field","icon"),be=s("slider").parts("container","track","thumb","filledTrack","mark");s("stat").parts("container","label","helpText","number","icon");var ge=s("switch").parts("container","track","thumb");s("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var me=s("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");s("tag").parts("container","label","closeButton");s("card").parts("container","header","body","footer");const{definePartsStyle:Z,defineMultiStyleConfig:rr}=J(Q.keys),er=Z(r=>({button:{fontWeight:500,bg:b("base.300","base.500")(r),color:b("base.900","base.100")(r),_hover:{bg:b("base.400","base.600")(r),color:b("base.900","base.50")(r),fontWeight:600}},list:{zIndex:9999,color:b("base.900","base.150")(r),bg:b("base.200","base.800")(r),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:b("base.200","base.800")(r),_hover:{bg:b("base.300","base.700")(r)},_focus:{bg:b("base.400","base.600")(r)},svg:{opacity:.5}}})),ye=rr({variants:{invokeAI:er},defaultProps:{variant:"invokeAI"}}),ve={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},tr={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function nr(r){return()=>({fontFamily:r.fontFamily||"sans-serif"})}var or=Object.defineProperty,M=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,ir=Object.prototype.propertyIsEnumerable,I=(r,e,t)=>e in r?or(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,R=(r,e)=>{for(var t in e||(e={}))ar.call(e,t)&&I(r,t,e[t]);if(M)for(var t of M(e))ir.call(e,t)&&I(r,t,e[t]);return r};function sr(r){return e=>({WebkitTapHighlightColor:"transparent",[e||"&:focus"]:R({},r.focusRing==="always"||r.focusRing==="auto"?r.focusRingStyles.styles(r):r.focusRingStyles.resetStyles(r)),[e?e.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:R({},r.focusRing==="auto"||r.focusRing==="never"?r.focusRingStyles.resetStyles(r):null)})}function _(r){return e=>typeof r.primaryShade=="number"?r.primaryShade:r.primaryShade[e||r.colorScheme]}function E(r){const e=_(r);return(t,n,a=!0,o=!0)=>{if(typeof t=="string"&&t.includes(".")){const[l,c]=t.split("."),y=parseInt(c,10);if(l in r.colors&&y>=0&&y<10)return r.colors[l][typeof n=="number"&&!o?n:y]}const i=typeof n=="number"?n:e();return t in r.colors?r.colors[t][i]:a?r.colors[r.primaryColor][i]:t}}function V(r){let e="";for(let t=1;t{const a={from:(n==null?void 0:n.from)||r.defaultGradient.from,to:(n==null?void 0:n.to)||r.defaultGradient.to,deg:(n==null?void 0:n.deg)||r.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${e(a.from,t(),!1)} 0%, ${e(a.to,t(),!1)} 100%)`}}function X(r){return e=>{if(typeof e=="number")return`${e/16}${r}`;if(typeof e=="string"){const t=e.replace("px","");if(!Number.isNaN(Number(t)))return`${Number(t)/16}${r}`}return e}}const m=X("rem"),O=X("em");function q({size:r,sizes:e,units:t}){return r in e?e[r]:typeof r=="number"?t==="em"?O(r):m(r):r||e.md}function $(r){return typeof r=="number"?r:typeof r=="string"&&r.includes("rem")?Number(r.replace("rem",""))*16:typeof r=="string"&&r.includes("em")?Number(r.replace("em",""))*16:Number(r)}function fr(r){return e=>`@media (min-width: ${O($(q({size:e,sizes:r.breakpoints})))})`}function dr(r){return e=>`@media (max-width: ${O($(q({size:e,sizes:r.breakpoints}))-1)})`}function ur(r){return/^#?([0-9A-F]{3}){1,2}$/i.test(r)}function pr(r){let e=r.replace("#","");if(e.length===3){const i=e.split("");e=[i[0],i[0],i[1],i[1],i[2],i[2]].join("")}const t=parseInt(e,16),n=t>>16&255,a=t>>8&255,o=t&255;return{r:n,g:a,b:o,a:1}}function br(r){const[e,t,n,a]=r.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:e,g:t,b:n,a:a||1}}function j(r){return ur(r)?pr(r):r.startsWith("rgb")?br(r):{r:0,g:0,b:0,a:1}}function v(r,e){if(typeof r!="string"||e>1||e<0)return"rgba(0, 0, 0, 1)";if(r.startsWith("var(--"))return r;const{r:t,g:n,b:a}=j(r);return`rgba(${t}, ${n}, ${a}, ${e})`}function gr(r=0){return{position:"absolute",top:m(r),right:m(r),left:m(r),bottom:m(r)}}function mr(r,e){if(typeof r=="string"&&r.startsWith("var(--"))return r;const{r:t,g:n,b:a,a:o}=j(r),i=1-e,l=c=>Math.round(c*i);return`rgba(${l(t)}, ${l(n)}, ${l(a)}, ${o})`}function yr(r,e){if(typeof r=="string"&&r.startsWith("var(--"))return r;const{r:t,g:n,b:a,a:o}=j(r),i=l=>Math.round(l+(255-l)*e);return`rgba(${i(t)}, ${i(n)}, ${i(a)}, ${o})`}function vr(r){return e=>{if(typeof e=="number")return m(e);const t=typeof r.defaultRadius=="number"?r.defaultRadius:r.radius[r.defaultRadius]||r.defaultRadius;return r.radius[e]||e||t}}function Sr(r,e){if(typeof r=="string"&&r.includes(".")){const[t,n]=r.split("."),a=parseInt(n,10);if(t in e.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:t,shade:a}}return{isSplittedColor:!1}}function hr(r){const e=E(r),t=_(r),n=U(r);return({variant:a,color:o,gradient:i,primaryFallback:l})=>{const c=Sr(o,r);switch(a){case"light":return{border:"transparent",background:v(e(o,r.colorScheme==="dark"?8:0,l,!1),r.colorScheme==="dark"?.2:1),color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),hover:v(e(o,r.colorScheme==="dark"?7:1,l,!1),r.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),hover:v(e(o,r.colorScheme==="dark"?8:0,l,!1),r.colorScheme==="dark"?.2:1)};case"outline":return{border:e(o,r.colorScheme==="dark"?5:t("light")),background:"transparent",color:e(o,r.colorScheme==="dark"?5:t("light")),hover:r.colorScheme==="dark"?v(e(o,5,l,!1),.05):v(e(o,0,l,!1),.35)};case"default":return{border:r.colorScheme==="dark"?r.colors.dark[4]:r.colors.gray[4],background:r.colorScheme==="dark"?r.colors.dark[6]:r.white,color:r.colorScheme==="dark"?r.white:r.black,hover:r.colorScheme==="dark"?r.colors.dark[5]:r.colors.gray[0]};case"white":return{border:"transparent",background:r.white,color:e(o,t()),hover:null};case"transparent":return{border:"transparent",color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),background:"transparent",hover:null};case"gradient":return{background:n(i),color:r.white,border:"transparent",hover:null};default:{const y=t(),d=c.isSplittedColor?c.shade:y,u=c.isSplittedColor?c.key:o;return{border:"transparent",background:e(u,d,l),color:r.white,hover:e(u,d===9?8:d+1)}}}}}function _r(r){return e=>{const t=_(r)(e);return r.colors[r.primaryColor][t]}}function kr(r){return{"@media (hover: hover)":{"&:hover":r},"@media (hover: none)":{"&:active":r}}}function $r(r){return()=>({userSelect:"none",color:r.colorScheme==="dark"?r.colors.dark[3]:r.colors.gray[5]})}function wr(r){return()=>r.colorScheme==="dark"?r.colors.dark[2]:r.colors.gray[6]}const f={fontStyles:nr,themeColor:E,focusStyles:sr,linearGradient:lr,radialGradient:cr,smallerThan:dr,largerThan:fr,rgba:v,cover:gr,darken:mr,lighten:yr,radius:vr,variant:hr,primaryShade:_,hover:kr,gradient:U,primaryColor:_r,placeholderStyles:$r,dimmed:wr};var Pr=Object.defineProperty,xr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,Cr=Object.prototype.hasOwnProperty,Er=Object.prototype.propertyIsEnumerable,F=(r,e,t)=>e in r?Pr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,jr=(r,e)=>{for(var t in e||(e={}))Cr.call(e,t)&&F(r,t,e[t]);if(T)for(var t of T(e))Er.call(e,t)&&F(r,t,e[t]);return r},zr=(r,e)=>xr(r,Or(e));function B(r){return zr(jr({},r),{fn:{fontStyles:f.fontStyles(r),themeColor:f.themeColor(r),focusStyles:f.focusStyles(r),largerThan:f.largerThan(r),smallerThan:f.smallerThan(r),radialGradient:f.radialGradient,linearGradient:f.linearGradient,gradient:f.gradient(r),rgba:f.rgba,cover:f.cover,lighten:f.lighten,darken:f.darken,primaryShade:f.primaryShade(r),radius:f.radius(r),variant:f.variant(r),hover:f.hover,primaryColor:f.primaryColor(r),placeholderStyles:f.placeholderStyles(r),dimmed:f.dimmed(r)}})}const Ar={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:tr,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:r=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${r.colors[r.primaryColor][r.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:r=>({outline:"none",borderColor:r.colors[r.primaryColor][typeof r.primaryShade=="object"?r.primaryShade[r.colorScheme]:r.primaryShade]})}},z=B(Ar);var Mr=Object.defineProperty,Ir=Object.defineProperties,Rr=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,Tr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,W=(r,e,t)=>e in r?Mr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Hr=(r,e)=>{for(var t in e||(e={}))Tr.call(e,t)&&W(r,t,e[t]);if(H)for(var t of H(e))Fr.call(e,t)&&W(r,t,e[t]);return r},Wr=(r,e)=>Ir(r,Rr(e));function Nr({theme:r}){return g.createElement(P,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:r.colorScheme==="dark"?"dark":"light"},body:Wr(Hr({},r.fn.fontStyles()),{backgroundColor:r.colorScheme==="dark"?r.colors.dark[7]:r.white,color:r.colorScheme==="dark"?r.colors.dark[0]:r.black,lineHeight:r.lineHeight,fontSize:r.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function S(r,e,t,n=m){Object.keys(e).forEach(a=>{r[`--mantine-${t}-${a}`]=n(e[a])})}function Gr({theme:r}){const e={"--mantine-color-white":r.white,"--mantine-color-black":r.black,"--mantine-transition-timing-function":r.transitionTimingFunction,"--mantine-line-height":`${r.lineHeight}`,"--mantine-font-family":r.fontFamily,"--mantine-font-family-monospace":r.fontFamilyMonospace,"--mantine-font-family-headings":r.headings.fontFamily,"--mantine-heading-font-weight":`${r.headings.fontWeight}`};S(e,r.shadows,"shadow"),S(e,r.fontSizes,"font-size"),S(e,r.radius,"radius"),S(e,r.spacing,"spacing"),S(e,r.breakpoints,"breakpoints",O),Object.keys(r.colors).forEach(n=>{r.colors[n].forEach((a,o)=>{e[`--mantine-color-${n}-${o}`]=a})});const t=r.headings.sizes;return Object.keys(t).forEach(n=>{e[`--mantine-${n}-font-size`]=t[n].fontSize,e[`--mantine-${n}-line-height`]=`${t[n].lineHeight}`}),g.createElement(P,{styles:{":root":e}})}var Dr=Object.defineProperty,Lr=Object.defineProperties,Vr=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,Xr=Object.prototype.propertyIsEnumerable,G=(r,e,t)=>e in r?Dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e)=>{for(var t in e||(e={}))Ur.call(e,t)&&G(r,t,e[t]);if(N)for(var t of N(e))Xr.call(e,t)&&G(r,t,e[t]);return r},C=(r,e)=>Lr(r,Vr(e));function qr(r,e){var t;if(!e)return r;const n=Object.keys(r).reduce((a,o)=>{if(o==="headings"&&e.headings){const i=e.headings.sizes?Object.keys(r.headings.sizes).reduce((l,c)=>(l[c]=p(p({},r.headings.sizes[c]),e.headings.sizes[c]),l),{}):r.headings.sizes;return C(p({},a),{headings:C(p(p({},r.headings),e.headings),{sizes:i})})}if(o==="breakpoints"&&e.breakpoints){const i=p(p({},r.breakpoints),e.breakpoints);return C(p({},a),{breakpoints:Object.fromEntries(Object.entries(i).sort((l,c)=>$(l[1])-$(c[1])))})}return a[o]=typeof e[o]=="object"?p(p({},r[o]),e[o]):typeof e[o]=="number"||typeof e[o]=="boolean"||typeof e[o]=="function"?e[o]:e[o]||r[o],a},{});if(e!=null&&e.fontFamily&&!((t=e==null?void 0:e.headings)!=null&&t.fontFamily)&&(n.headings.fontFamily=e.fontFamily),!(n.primaryColor in n.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return n}function Br(r,e){return B(qr(r,e))}function Yr(r){return Object.keys(r).reduce((e,t)=>(r[t]!==void 0&&(e[t]=r[t]),e),{})}const Jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${m(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Kr(){return g.createElement(P,{styles:Jr})}var Qr=Object.defineProperty,D=Object.getOwnPropertySymbols,Zr=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,L=(r,e,t)=>e in r?Qr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,h=(r,e)=>{for(var t in e||(e={}))Zr.call(e,t)&&L(r,t,e[t]);if(D)for(var t of D(e))re.call(e,t)&&L(r,t,e[t]);return r};const w=x.createContext({theme:z});function Y(){var r;return((r=x.useContext(w))==null?void 0:r.theme)||z}function Se(r){const e=Y(),t=n=>{var a,o,i,l;return{styles:((a=e.components[n])==null?void 0:a.styles)||{},classNames:((o=e.components[n])==null?void 0:o.classNames)||{},variants:(i=e.components[n])==null?void 0:i.variants,sizes:(l=e.components[n])==null?void 0:l.sizes}};return Array.isArray(r)?r.map(t):[t(r)]}function he(){var r;return(r=x.useContext(w))==null?void 0:r.emotionCache}function _e(r,e,t){var n;const a=Y(),o=(n=a.components[r])==null?void 0:n.defaultProps,i=typeof o=="function"?o(a):o;return h(h(h({},e),i),Yr(t))}function ee({theme:r,emotionCache:e,withNormalizeCSS:t=!1,withGlobalStyles:n=!1,withCSSVariables:a=!1,inherit:o=!1,children:i}){const l=x.useContext(w),c=Br(z,o?h(h({},l.theme),r):r);return g.createElement(K,{theme:c},g.createElement(w.Provider,{value:{theme:c,emotionCache:e}},t&&g.createElement(Kr,null),n&&g.createElement(Nr,{theme:c}),a&&g.createElement(Gr,{theme:c}),typeof c.globalStyles=="function"&&g.createElement(P,{styles:c.globalStyles(c)}),i))}ee.displayName="@mantine/core/MantineProvider";export{ee as M,Y as a,Se as b,q as c,_e as d,b as e,Yr as f,$ as g,ae as h,ie as i,se as j,le as k,ce as l,ve as m,fe as n,oe as o,de as p,ue as q,m as r,pe as s,be as t,he as u,ge as v,me as w,ye as x}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js deleted file mode 100644 index b1b3abea4e..0000000000 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js +++ /dev/null @@ -1,302 +0,0 @@ -import{v as g,gm as Ke,s as x,L as Ba,gn as Ea,ae as ca,ah as c,go as b,gp as Da,gq as t,gr as Ra,gs as h,gt as ba,gu as ja,gv as Ha,b2 as Wa,gw as Va,Z as La,gx as qa,gy as Oa,gz as Na,gA as Ga,aY as Ua}from"./index-e2437518.js";import{e as n,o as Sr,h as Ya,i as Ka,j as Xa,k as Za,l as Ja,n as Qa,p as et,q as rt,s as at,t as tt,v as ot,w as nt,x as it,M as lt}from"./MantineProvider-b5842fc1.js";var va=String.raw,ua=va` - :root, - :host { - --chakra-vh: 100vh; - } - - @supports (height: -webkit-fill-available) { - :root, - :host { - --chakra-vh: -webkit-fill-available; - } - } - - @supports (height: -moz-fill-available) { - :root, - :host { - --chakra-vh: -moz-fill-available; - } - } - - @supports (height: 100dvh) { - :root, - :host { - --chakra-vh: 100dvh; - } - } -`,st=()=>g.jsx(Ke,{styles:ua}),dt=({scope:e=""})=>g.jsx(Ke,{styles:va` - html { - line-height: 1.5; - -webkit-text-size-adjust: 100%; - font-family: system-ui, sans-serif; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - -moz-osx-font-smoothing: grayscale; - touch-action: manipulation; - } - - body { - position: relative; - min-height: 100%; - margin: 0; - font-feature-settings: "kern"; - } - - ${e} :where(*, *::before, *::after) { - border-width: 0; - border-style: solid; - box-sizing: border-box; - word-wrap: break-word; - } - - main { - display: block; - } - - ${e} hr { - border-top-width: 1px; - box-sizing: content-box; - height: 0; - overflow: visible; - } - - ${e} :where(pre, code, kbd,samp) { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; - font-size: 1em; - } - - ${e} a { - background-color: transparent; - color: inherit; - text-decoration: inherit; - } - - ${e} abbr[title] { - border-bottom: none; - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - } - - ${e} :where(b, strong) { - font-weight: bold; - } - - ${e} small { - font-size: 80%; - } - - ${e} :where(sub,sup) { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; - } - - ${e} sub { - bottom: -0.25em; - } - - ${e} sup { - top: -0.5em; - } - - ${e} img { - border-style: none; - } - - ${e} :where(button, input, optgroup, select, textarea) { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; - } - - ${e} :where(button, input) { - overflow: visible; - } - - ${e} :where(button, select) { - text-transform: none; - } - - ${e} :where( - button::-moz-focus-inner, - [type="button"]::-moz-focus-inner, - [type="reset"]::-moz-focus-inner, - [type="submit"]::-moz-focus-inner - ) { - border-style: none; - padding: 0; - } - - ${e} fieldset { - padding: 0.35em 0.75em 0.625em; - } - - ${e} legend { - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; - } - - ${e} progress { - vertical-align: baseline; - } - - ${e} textarea { - overflow: auto; - } - - ${e} :where([type="checkbox"], [type="radio"]) { - box-sizing: border-box; - padding: 0; - } - - ${e} input[type="number"]::-webkit-inner-spin-button, - ${e} input[type="number"]::-webkit-outer-spin-button { - -webkit-appearance: none !important; - } - - ${e} input[type="number"] { - -moz-appearance: textfield; - } - - ${e} input[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; - } - - ${e} input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none !important; - } - - ${e} ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; - } - - ${e} details { - display: block; - } - - ${e} summary { - display: list-item; - } - - template { - display: none; - } - - [hidden] { - display: none !important; - } - - ${e} :where( - blockquote, - dl, - dd, - h1, - h2, - h3, - h4, - h5, - h6, - hr, - figure, - p, - pre - ) { - margin: 0; - } - - ${e} button { - background: transparent; - padding: 0; - } - - ${e} fieldset { - margin: 0; - padding: 0; - } - - ${e} :where(ol, ul) { - margin: 0; - padding: 0; - } - - ${e} textarea { - resize: vertical; - } - - ${e} :where(button, [role="button"]) { - cursor: pointer; - } - - ${e} button::-moz-focus-inner { - border: 0 !important; - } - - ${e} table { - border-collapse: collapse; - } - - ${e} :where(h1, h2, h3, h4, h5, h6) { - font-size: inherit; - font-weight: inherit; - } - - ${e} :where(button, input, optgroup, select, textarea) { - padding: 0; - line-height: inherit; - color: inherit; - } - - ${e} :where(img, svg, video, canvas, audio, iframe, embed, object) { - display: block; - } - - ${e} :where(img, video) { - max-width: 100%; - height: auto; - } - - [data-js-focus-visible] - :focus:not([data-focus-visible-added]):not( - [data-focus-visible-disabled] - ) { - outline: none; - box-shadow: none; - } - - ${e} select::-ms-expand { - display: none; - } - - ${ua} - `}),_e={light:"chakra-ui-light",dark:"chakra-ui-dark"};function ct(e={}){const{preventTransition:r=!0}=e,a={setDataset:o=>{const i=r?a.preventTransition():void 0;document.documentElement.dataset.theme=o,document.documentElement.style.colorScheme=o,i==null||i()},setClassName(o){document.body.classList.add(o?_e.dark:_e.light),document.body.classList.remove(o?_e.light:_e.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(o){var i;return((i=a.query().matches)!=null?i:o==="dark")?"dark":"light"},addListener(o){const i=a.query(),l=s=>{o(s.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(l):i.addEventListener("change",l),()=>{typeof i.removeListener=="function"?i.removeListener(l):i.removeEventListener("change",l)}},preventTransition(){const o=document.createElement("style");return o.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(o),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(o)})})}}};return a}var bt="chakra-ui-color-mode";function fa(e){return{ssr:!1,type:"localStorage",get(r){if(!(globalThis!=null&&globalThis.document))return r;let a;try{a=localStorage.getItem(e)||r}catch{}return a||r},set(r){try{localStorage.setItem(e,r)}catch{}}}}var vt=fa(bt),Cr=()=>{};function Ar(e,r){return e.type==="cookie"&&e.ssr?e.get(r):r}function ma(e){const{value:r,children:a,options:{useSystemColorMode:o,initialColorMode:i,disableTransitionOnChange:l}={},colorModeManager:s=vt}=e,d=i==="dark"?"dark":"light",[v,$]=x.useState(()=>Ar(s,d)),[p,S]=x.useState(()=>Ar(s)),{getSystemTheme:T,setClassName:L,setDataset:Qe,addListener:wr}=x.useMemo(()=>ct({preventTransition:l}),[l]),$e=i==="system"&&!v?p:v,F=x.useCallback(te=>{const ke=te==="system"?T():te;$(ke),L(ke==="dark"),Qe(ke),s.set(ke)},[s,T,L,Qe]);Ba(()=>{i==="system"&&S(T())},[]),x.useEffect(()=>{const te=s.get();if(te){F(te);return}if(i==="system"){F("system");return}F(d)},[s,d,i,F]);const zr=x.useCallback(()=>{F($e==="dark"?"light":"dark")},[$e,F]);x.useEffect(()=>{if(o)return wr(F)},[o,wr,F]);const Ma=x.useMemo(()=>({colorMode:r??$e,toggleColorMode:r?Cr:zr,setColorMode:r?Cr:F,forced:r!==void 0}),[$e,zr,F,r]);return g.jsx(Ea.Provider,{value:Ma,children:a})}ma.displayName="ColorModeProvider";var ut=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function ft(e){return ca(e)?ut.every(r=>Object.prototype.hasOwnProperty.call(e,r)):!1}var mt={common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},ht={"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},gt={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},yt={property:mt,easing:ht,duration:gt},pt=yt,St={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},xt=St,$t={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},kt=$t,_t={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},wt=_t,zt={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},Ct=zt,At={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},Pt=At,Tt={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},Ft=Tt,It={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},Mt=It,Bt={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},ha=Bt,ga={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Et={max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch"},Dt={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},Rt={...ga,...Et,container:Dt},ya=Rt,jt={breakpoints:wt,zIndices:xt,radii:Pt,blur:Mt,colors:Ct,...ha,sizes:ya,shadows:Ft,space:ga,borders:kt,transition:pt},{defineMultiStyleConfig:Ht,definePartsStyle:le}=b(["stepper","step","title","description","indicator","separator","icon","number"]),B=c("stepper-indicator-size"),K=c("stepper-icon-size"),X=c("stepper-title-font-size"),se=c("stepper-description-font-size"),oe=c("stepper-accent-color"),Wt=le(({colorScheme:e})=>({stepper:{display:"flex",justifyContent:"space-between",gap:"4","&[data-orientation=vertical]":{flexDirection:"column",alignItems:"flex-start"},"&[data-orientation=horizontal]":{flexDirection:"row",alignItems:"center"},[oe.variable]:`colors.${e}.500`,_dark:{[oe.variable]:`colors.${e}.200`}},title:{fontSize:X.reference,fontWeight:"medium"},description:{fontSize:se.reference,color:"chakra-subtle-text"},number:{fontSize:X.reference},step:{flexShrink:0,position:"relative",display:"flex",gap:"2","&[data-orientation=horizontal]":{alignItems:"center"},flex:"1","&:last-of-type:not([data-stretch])":{flex:"initial"}},icon:{flexShrink:0,width:K.reference,height:K.reference},indicator:{flexShrink:0,borderRadius:"full",width:B.reference,height:B.reference,display:"flex",justifyContent:"center",alignItems:"center","&[data-status=active]":{borderWidth:"2px",borderColor:oe.reference},"&[data-status=complete]":{bg:oe.reference,color:"chakra-inverse-text"},"&[data-status=incomplete]":{borderWidth:"2px"}},separator:{bg:"chakra-border-color",flex:"1","&[data-status=complete]":{bg:oe.reference},"&[data-orientation=horizontal]":{width:"100%",height:"2px",marginStart:"2"},"&[data-orientation=vertical]":{width:"2px",position:"absolute",height:"100%",maxHeight:`calc(100% - ${B.reference} - 8px)`,top:`calc(${B.reference} + 4px)`,insetStart:`calc(${B.reference} / 2 - 1px)`}}})),Vt=Ht({baseStyle:Wt,sizes:{xs:le({stepper:{[B.variable]:"sizes.4",[K.variable]:"sizes.3",[X.variable]:"fontSizes.xs",[se.variable]:"fontSizes.xs"}}),sm:le({stepper:{[B.variable]:"sizes.6",[K.variable]:"sizes.4",[X.variable]:"fontSizes.sm",[se.variable]:"fontSizes.xs"}}),md:le({stepper:{[B.variable]:"sizes.8",[K.variable]:"sizes.5",[X.variable]:"fontSizes.md",[se.variable]:"fontSizes.sm"}}),lg:le({stepper:{[B.variable]:"sizes.10",[K.variable]:"sizes.6",[X.variable]:"fontSizes.lg",[se.variable]:"fontSizes.md"}})},defaultProps:{size:"md",colorScheme:"blue"}});function f(e,r={}){let a=!1;function o(){if(!a){a=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...p){o();for(const S of p)r[S]=v(S);return f(e,r)}function l(...p){for(const S of p)S in r||(r[S]=v(S));return f(e,r)}function s(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.selector]))}function d(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.className]))}function v(p){const L=`chakra-${(["container","root"].includes(p??"")?[e]:[e,p]).filter(Boolean).join("__")}`;return{className:L,selector:`.${L}`,toString:()=>p}}return{parts:i,toPart:v,extend:l,selectors:s,classnames:d,get keys(){return Object.keys(r)},__type:{}}}var Lt=f("accordion").parts("root","container","button","panel").extend("icon"),qt=f("alert").parts("title","description","container").extend("icon","spinner"),Ot=f("avatar").parts("label","badge","container").extend("excessLabel","group"),Nt=f("breadcrumb").parts("link","item","container").extend("separator");f("button").parts();var Gt=f("checkbox").parts("control","icon","container").extend("label");f("progress").parts("track","filledTrack").extend("label");var Ut=f("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Yt=f("editable").parts("preview","input","textarea"),Kt=f("form").parts("container","requiredIndicator","helperText"),Xt=f("formError").parts("text","icon"),Zt=f("input").parts("addon","field","element"),Jt=f("list").parts("container","item","icon"),Qt=f("menu").parts("button","list","item").extend("groupTitle","command","divider"),eo=f("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),ro=f("numberinput").parts("root","field","stepperGroup","stepper");f("pininput").parts("field");var ao=f("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),to=f("progress").parts("label","filledTrack","track"),oo=f("radio").parts("container","control","label"),no=f("select").parts("field","icon"),io=f("slider").parts("container","track","thumb","filledTrack","mark"),lo=f("stat").parts("container","label","helpText","number","icon"),so=f("switch").parts("container","track","thumb"),co=f("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),bo=f("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),vo=f("tag").parts("container","label","closeButton"),uo=f("card").parts("container","header","body","footer");function O(e,r,a){return Math.min(Math.max(e,a),r)}class fo extends Error{constructor(r){super(`Failed to parse color: "${r}"`)}}var de=fo;function xr(e){if(typeof e!="string")throw new de(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let r=e.trim();r=$o.test(e)?go(e):e;const a=yo.exec(r);if(a){const s=Array.from(a).slice(1);return[...s.slice(0,3).map(d=>parseInt(ge(d,2),16)),parseInt(ge(s[3]||"f",2),16)/255]}const o=po.exec(r);if(o){const s=Array.from(o).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,16)),parseInt(s[3]||"ff",16)/255]}const i=So.exec(r);if(i){const s=Array.from(i).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,10)),parseFloat(s[3]||"1")]}const l=xo.exec(r);if(l){const[s,d,v,$]=Array.from(l).slice(1).map(parseFloat);if(O(0,100,d)!==d)throw new de(e);if(O(0,100,v)!==v)throw new de(e);return[...ko(s,d,v),Number.isNaN($)?1:$]}throw new de(e)}function mo(e){let r=5381,a=e.length;for(;a;)r=r*33^e.charCodeAt(--a);return(r>>>0)%2341}const Pr=e=>parseInt(e.replace(/_/g,""),36),ho="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e,r)=>{const a=Pr(r.substring(0,3)),o=Pr(r.substring(3)).toString(16);let i="";for(let l=0;l<6-o.length;l++)i+="0";return e[a]=`${i}${o}`,e},{});function go(e){const r=e.toLowerCase().trim(),a=ho[mo(r)];if(!a)throw new de(e);return`#${a}`}const ge=(e,r)=>Array.from(Array(r)).map(()=>e).join(""),yo=new RegExp(`^#${ge("([a-f0-9])",3)}([a-f0-9])?$`,"i"),po=new RegExp(`^#${ge("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),So=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${ge(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),xo=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,$o=/^[a-z]+$/i,Tr=e=>Math.round(e*255),ko=(e,r,a)=>{let o=a/100;if(r===0)return[o,o,o].map(Tr);const i=(e%360+360)%360/60,l=(1-Math.abs(2*o-1))*(r/100),s=l*(1-Math.abs(i%2-1));let d=0,v=0,$=0;i>=0&&i<1?(d=l,v=s):i>=1&&i<2?(d=s,v=l):i>=2&&i<3?(v=l,$=s):i>=3&&i<4?(v=s,$=l):i>=4&&i<5?(d=s,$=l):i>=5&&i<6&&(d=l,$=s);const p=o-l/2,S=d+p,T=v+p,L=$+p;return[S,T,L].map(Tr)};function _o(e,r,a,o){return`rgba(${O(0,255,e).toFixed()}, ${O(0,255,r).toFixed()}, ${O(0,255,a).toFixed()}, ${parseFloat(O(0,1,o).toFixed(3))})`}function wo(e,r){const[a,o,i,l]=xr(e);return _o(a,o,i,l-r)}function zo(e){const[r,a,o,i]=xr(e);let l=s=>{const d=O(0,255,s).toString(16);return d.length===1?`0${d}`:d};return`#${l(r)}${l(a)}${l(o)}${i<1?l(Math.round(i*255)):""}`}function Co(e,r,a,o,i){for(r=r.split?r.split("."):r,o=0;oObject.keys(e).length===0,Ne=(e,r,a)=>{const o=Co(e,`colors.${r}`,r);try{return zo(o),o}catch{return a??"#000000"}},P=(e,r,a)=>{var o;return(o=Da(e,"colors",r))!=null?o:a},Po=e=>{const[r,a,o]=xr(e);return(r*299+a*587+o*114)/1e3},To=e=>r=>{const a=Ne(r,e);return Po(a)<128?"dark":"light"},Fo=e=>r=>To(e)(r)==="dark",re=(e,r)=>a=>{const o=Ne(a,e);return wo(o,1-r)};function Fr(e="1rem",r="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( - 45deg, - ${r} 25%, - transparent 25%, - transparent 50%, - ${r} 50%, - ${r} 75%, - transparent 75%, - transparent - )`,backgroundSize:`${e} ${e}`}}var Io=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function Mo(e){const r=Io();return!e||Ao(e)?r:e.string&&e.colors?Eo(e.string,e.colors):e.string&&!e.colors?Bo(e.string):e.colors&&!e.string?Do(e.colors):r}function Bo(e){let r=0;if(e.length===0)return r.toString();for(let o=0;o>o*8&255;a+=`00${i.toString(16)}`.substr(-2)}return a}function Eo(e,r){let a=0;if(e.length===0)return r[0];for(let o=0;or.map(pa).join(` ${e} `).replace(/calc/g,""),Ir=(...e)=>`calc(${Xe("+",...e)})`,Mr=(...e)=>`calc(${Xe("-",...e)})`,hr=(...e)=>`calc(${Xe("*",...e)})`,Br=(...e)=>`calc(${Xe("/",...e)})`,Er=e=>{const r=pa(e);return r!=null&&!Number.isNaN(parseFloat(r))?String(r).startsWith("-")?String(r).slice(1):`-${r}`:hr(r,-1)},E=Object.assign(e=>({add:(...r)=>E(Ir(e,...r)),subtract:(...r)=>E(Mr(e,...r)),multiply:(...r)=>E(hr(e,...r)),divide:(...r)=>E(Br(e,...r)),negate:()=>E(Er(e)),toString:()=>e.toString()}),{add:Ir,subtract:Mr,multiply:hr,divide:Br,negate:Er});function Ro(e){return!Number.isInteger(parseFloat(e.toString()))}function jo(e,r="-"){return e.replace(/\s+/g,r)}function Sa(e){const r=jo(e.toString());return r.includes("\\.")?e:Ro(e)?r.replace(".","\\."):e}function Ho(e,r=""){return[r,Sa(e)].filter(Boolean).join("-")}function Wo(e,r){return`var(${Sa(e)}${r?`, ${r}`:""})`}function Vo(e,r=""){return`--${Ho(e,r)}`}function m(e,r){const a=Vo(e,r==null?void 0:r.prefix);return{variable:a,reference:Wo(a,Lo(r==null?void 0:r.fallback))}}function Lo(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:qo,definePartsStyle:Re}=b(so.keys),ve=m("switch-track-width"),N=m("switch-track-height"),er=m("switch-track-diff"),Oo=E.subtract(ve,N),gr=m("switch-thumb-x"),ne=m("switch-bg"),No=t(e=>{const{colorScheme:r}=e;return{borderRadius:"full",p:"0.5",width:[ve.reference],height:[N.reference],transitionProperty:"common",transitionDuration:"fast",[ne.variable]:"colors.gray.300",_dark:{[ne.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[ne.variable]:`colors.${r}.500`,_dark:{[ne.variable]:`colors.${r}.200`}},bg:ne.reference}}),Go=t({bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[N.reference],height:[N.reference],_checked:{transform:`translateX(${gr.reference})`}}),Uo=Re(e=>({container:{[er.variable]:Oo,[gr.variable]:er.reference,_rtl:{[gr.variable]:E(er).negate().toString()}},track:No(e),thumb:Go})),Yo={sm:Re({container:{[ve.variable]:"1.375rem",[N.variable]:"sizes.3"}}),md:Re({container:{[ve.variable]:"1.875rem",[N.variable]:"sizes.4"}}),lg:Re({container:{[ve.variable]:"2.875rem",[N.variable]:"sizes.6"}})},Ko=qo({baseStyle:Uo,sizes:Yo,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Xo,definePartsStyle:Z}=b(co.keys),Zo=Z({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),Ge=t({"&[data-is-numeric=true]":{textAlign:"end"}}),Jo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Qo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e)},td:{background:n(`${r}.100`,`${r}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),en={simple:Jo,striped:Qo,unstyled:t({})},rn={sm:Z({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:Z({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:Z({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},an=Xo({baseStyle:Zo,variants:en,sizes:rn,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),_=c("tabs-color"),A=c("tabs-bg"),we=c("tabs-border-color"),{defineMultiStyleConfig:tn,definePartsStyle:M}=b(bo.keys),on=t(e=>{const{orientation:r}=e;return{display:r==="vertical"?"flex":"block"}}),nn=t(e=>{const{isFitted:r}=e;return{flex:r?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}}),ln=t(e=>{const{align:r="start",orientation:a}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[r],flexDirection:a==="vertical"?"column":"row"}}),sn=t({p:4}),dn=M(e=>({root:on(e),tab:nn(e),tablist:ln(e),tabpanel:sn})),cn={sm:M({tab:{py:1,px:4,fontSize:"sm"}}),md:M({tab:{fontSize:"md",py:2,px:4}}),lg:M({tab:{fontSize:"lg",py:3,px:4}})},bn=M(e=>{const{colorScheme:r,orientation:a}=e,o=a==="vertical",i=o?"borderStart":"borderBottom",l=o?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[l]:"-2px",_selected:{[_.variable]:`colors.${r}.600`,_dark:{[_.variable]:`colors.${r}.300`},borderColor:"currentColor"},_active:{[A.variable]:"colors.gray.200",_dark:{[A.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:_.reference,bg:A.reference}}}),vn=M(e=>{const{colorScheme:r}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[we.variable]:"transparent",_selected:{[_.variable]:`colors.${r}.600`,[we.variable]:"colors.white",_dark:{[_.variable]:`colors.${r}.300`,[we.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:we.reference},color:_.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),un=M(e=>{const{colorScheme:r}=e;return{tab:{border:"1px solid",borderColor:"inherit",[A.variable]:"colors.gray.50",_dark:{[A.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[A.variable]:"colors.white",[_.variable]:`colors.${r}.600`,_dark:{[A.variable]:"colors.gray.800",[_.variable]:`colors.${r}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:_.reference,bg:A.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),fn=M(e=>{const{colorScheme:r,theme:a}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Ne(a,`${r}.700`),bg:Ne(a,`${r}.100`)}}}}),mn=M(e=>{const{colorScheme:r}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[_.variable]:"colors.gray.600",_dark:{[_.variable]:"inherit"},_selected:{[_.variable]:"colors.white",[A.variable]:`colors.${r}.600`,_dark:{[_.variable]:"colors.gray.800",[A.variable]:`colors.${r}.300`}},color:_.reference,bg:A.reference}}}),hn=M({}),gn={line:bn,enclosed:vn,"enclosed-colored":un,"soft-rounded":fn,"solid-rounded":mn,unstyled:hn},yn=tn({baseStyle:dn,sizes:cn,variants:gn,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),y=Ra("badge",["bg","color","shadow"]),pn=t({px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Sn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.500`,.6)(a);return{[y.bg.variable]:`colors.${r}.500`,[y.color.variable]:"colors.white",_dark:{[y.bg.variable]:o,[y.color.variable]:"colors.whiteAlpha.800"}}}),xn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.16)(a);return{[y.bg.variable]:`colors.${r}.100`,[y.color.variable]:`colors.${r}.800`,_dark:{[y.bg.variable]:o,[y.color.variable]:`colors.${r}.200`}}}),$n=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.8)(a);return{[y.color.variable]:`colors.${r}.500`,_dark:{[y.color.variable]:o},[y.shadow.variable]:`inset 0 0 0px 1px ${y.color.reference}`}}),kn={solid:Sn,subtle:xn,outline:$n},ue=h({baseStyle:pn,variants:kn,defaultProps:{variant:"subtle",colorScheme:"gray"}}),{defineMultiStyleConfig:_n,definePartsStyle:G}=b(vo.keys),Dr=c("tag-bg"),Rr=c("tag-color"),rr=c("tag-shadow"),je=c("tag-min-height"),He=c("tag-min-width"),We=c("tag-font-size"),Ve=c("tag-padding-inline"),wn=t({fontWeight:"medium",lineHeight:1.2,outline:0,[Rr.variable]:y.color.reference,[Dr.variable]:y.bg.reference,[rr.variable]:y.shadow.reference,color:Rr.reference,bg:Dr.reference,boxShadow:rr.reference,borderRadius:"md",minH:je.reference,minW:He.reference,fontSize:We.reference,px:Ve.reference,_focusVisible:{[rr.variable]:"shadows.outline"}}),zn=t({lineHeight:1.2,overflow:"visible"}),Cn=t({fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}}),An=G({container:wn,label:zn,closeButton:Cn}),Pn={sm:G({container:{[je.variable]:"sizes.5",[He.variable]:"sizes.5",[We.variable]:"fontSizes.xs",[Ve.variable]:"space.2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:G({container:{[je.variable]:"sizes.6",[He.variable]:"sizes.6",[We.variable]:"fontSizes.sm",[Ve.variable]:"space.2"}}),lg:G({container:{[je.variable]:"sizes.8",[He.variable]:"sizes.8",[We.variable]:"fontSizes.md",[Ve.variable]:"space.3"}})},Tn={subtle:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.subtle(e)}}),solid:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.solid(e)}}),outline:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.outline(e)}})},Fn=_n({variants:Tn,baseStyle:An,sizes:Pn,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:D,defineMultiStyleConfig:In}=b(Zt.keys),Mn=D({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),H={lg:t({fontSize:"lg",px:"4",h:"12",borderRadius:"md"}),md:t({fontSize:"md",px:"4",h:"10",borderRadius:"md"}),sm:t({fontSize:"sm",px:"3",h:"8",borderRadius:"sm"}),xs:t({fontSize:"xs",px:"2",h:"6",borderRadius:"sm"})},Bn={lg:D({field:H.lg,addon:H.lg}),md:D({field:H.md,addon:H.md}),sm:D({field:H.sm,addon:H.sm}),xs:D({field:H.xs,addon:H.xs})};function $r(e){const{focusBorderColor:r,errorBorderColor:a}=e;return{focusBorderColor:r||n("blue.500","blue.300")(e),errorBorderColor:a||n("red.500","red.300")(e)}}var En=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:n("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0 0 0 1px ${P(r,o)}`},_focusVisible:{zIndex:1,borderColor:P(r,a),boxShadow:`0 0 0 1px ${P(r,a)}`}},addon:{border:"1px solid",borderColor:n("inherit","whiteAlpha.50")(e),bg:n("gray.100","whiteAlpha.300")(e)}}}),Dn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e),_hover:{bg:n("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o)},_focusVisible:{bg:"transparent",borderColor:P(r,a)}},addon:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e)}}}),Rn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0px 1px 0px 0px ${P(r,o)}`},_focusVisible:{borderColor:P(r,a),boxShadow:`0px 1px 0px 0px ${P(r,a)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),jn=D({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),Hn={outline:En,filled:Dn,flushed:Rn,unstyled:jn},u=In({baseStyle:Mn,sizes:Bn,variants:Hn,defaultProps:{size:"md",variant:"outline"}}),jr,Wn=t({...(jr=u.baseStyle)==null?void 0:jr.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"}),Hr,Wr,Vn={outline:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.outline(e).field)!=null?a:{}}),flushed:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.flushed(e).field)!=null?a:{}}),filled:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.filled(e).field)!=null?a:{}}),unstyled:(Wr=(Hr=u.variants)==null?void 0:Hr.unstyled.field)!=null?Wr:{}},Vr,Lr,qr,Or,Nr,Gr,Ur,Yr,Ln={xs:(Lr=(Vr=u.sizes)==null?void 0:Vr.xs.field)!=null?Lr:{},sm:(Or=(qr=u.sizes)==null?void 0:qr.sm.field)!=null?Or:{},md:(Gr=(Nr=u.sizes)==null?void 0:Nr.md.field)!=null?Gr:{},lg:(Yr=(Ur=u.sizes)==null?void 0:Ur.lg.field)!=null?Yr:{}},qn=h({baseStyle:Wn,sizes:Ln,variants:Vn,defaultProps:{size:"md",variant:"outline"}}),ze=m("tooltip-bg"),ar=m("tooltip-fg"),On=m("popper-arrow-bg"),Nn=t({bg:ze.reference,color:ar.reference,[ze.variable]:"colors.gray.700",[ar.variable]:"colors.whiteAlpha.900",_dark:{[ze.variable]:"colors.gray.300",[ar.variable]:"colors.gray.900"},[On.variable]:ze.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"}),Gn=h({baseStyle:Nn}),{defineMultiStyleConfig:Un,definePartsStyle:ce}=b(to.keys),Yn=t(e=>{const{colorScheme:r,theme:a,isIndeterminate:o,hasStripe:i}=e,l=n(Fr(),Fr("1rem","rgba(0,0,0,0.1)"))(e),s=n(`${r}.500`,`${r}.200`)(e),d=`linear-gradient( - to right, - transparent 0%, - ${P(a,s)} 50%, - transparent 100% - )`;return{...!o&&i&&l,...o?{bgImage:d}:{bgColor:s}}}),Kn=t({lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"}),Xn=t(e=>({bg:n("gray.100","whiteAlpha.300")(e)})),Zn=t(e=>({transitionProperty:"common",transitionDuration:"slow",...Yn(e)})),Jn=ce(e=>({label:Kn,filledTrack:Zn(e),track:Xn(e)})),Qn={xs:ce({track:{h:"1"}}),sm:ce({track:{h:"2"}}),md:ce({track:{h:"3"}}),lg:ce({track:{h:"4"}})},ei=Un({sizes:Qn,baseStyle:Jn,defaultProps:{size:"md",colorScheme:"blue"}}),ri=e=>typeof e=="function";function k(e,...r){return ri(e)?e(...r):e}var{definePartsStyle:Le,defineMultiStyleConfig:ai}=b(Gt.keys),fe=c("checkbox-size"),ti=t(e=>{const{colorScheme:r}=e;return{w:fe.reference,h:fe.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e),_hover:{bg:n(`${r}.600`,`${r}.300`)(e),borderColor:n(`${r}.600`,`${r}.300`)(e)},_disabled:{borderColor:n("gray.200","transparent")(e),bg:n("gray.200","whiteAlpha.300")(e),color:n("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e)},_disabled:{bg:n("gray.100","whiteAlpha.100")(e),borderColor:n("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("red.500","red.300")(e)}}}),oi=t({_disabled:{cursor:"not-allowed"}}),ni=t({userSelect:"none",_disabled:{opacity:.4}}),ii=t({transitionProperty:"transform",transitionDuration:"normal"}),li=Le(e=>({icon:ii,container:oi,control:k(ti,e),label:ni})),si={sm:Le({control:{[fe.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Le({control:{[fe.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Le({control:{[fe.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},Ue=ai({baseStyle:li,sizes:si,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:di,definePartsStyle:qe}=b(oo.keys),ci=t(e=>{var r;const a=(r=k(Ue.baseStyle,e))==null?void 0:r.control;return{...a,borderRadius:"full",_checked:{...a==null?void 0:a._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}}),bi=qe(e=>{var r,a,o,i;return{label:(a=(r=Ue).baseStyle)==null?void 0:a.call(r,e).label,container:(i=(o=Ue).baseStyle)==null?void 0:i.call(o,e).container,control:ci(e)}}),vi={md:qe({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qe({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qe({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},ui=di({baseStyle:bi,sizes:vi,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:fi,definePartsStyle:mi}=b(no.keys),Ce=c("select-bg"),Kr,hi=t({...(Kr=u.baseStyle)==null?void 0:Kr.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Ce.reference,[Ce.variable]:"colors.white",_dark:{[Ce.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Ce.reference}}),gi=t({width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}}),yi=mi({field:hi,icon:gi}),Ae=t({paddingInlineEnd:"8"}),Xr,Zr,Jr,Qr,ea,ra,aa,ta,pi={lg:{...(Xr=u.sizes)==null?void 0:Xr.lg,field:{...(Zr=u.sizes)==null?void 0:Zr.lg.field,...Ae}},md:{...(Jr=u.sizes)==null?void 0:Jr.md,field:{...(Qr=u.sizes)==null?void 0:Qr.md.field,...Ae}},sm:{...(ea=u.sizes)==null?void 0:ea.sm,field:{...(ra=u.sizes)==null?void 0:ra.sm.field,...Ae}},xs:{...(aa=u.sizes)==null?void 0:aa.xs,field:{...(ta=u.sizes)==null?void 0:ta.xs.field,...Ae},icon:{insetEnd:"1"}}},Si=fi({baseStyle:yi,sizes:pi,variants:u.variants,defaultProps:u.defaultProps}),tr=c("skeleton-start-color"),or=c("skeleton-end-color"),xi=t({[tr.variable]:"colors.gray.100",[or.variable]:"colors.gray.400",_dark:{[tr.variable]:"colors.gray.800",[or.variable]:"colors.gray.600"},background:tr.reference,borderColor:or.reference,opacity:.7,borderRadius:"sm"}),$i=h({baseStyle:xi}),nr=c("skip-link-bg"),ki=t({borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[nr.variable]:"colors.white",_dark:{[nr.variable]:"colors.gray.700"},bg:nr.reference}}),_i=h({baseStyle:ki}),{defineMultiStyleConfig:wi,definePartsStyle:Ze}=b(io.keys),ye=c("slider-thumb-size"),pe=c("slider-track-size"),V=c("slider-bg"),zi=t(e=>{const{orientation:r}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...Sr({orientation:r,vertical:{h:"100%"},horizontal:{w:"100%"}})}}),Ci=t(e=>({...Sr({orientation:e.orientation,horizontal:{h:pe.reference},vertical:{w:pe.reference}}),overflow:"hidden",borderRadius:"sm",[V.variable]:"colors.gray.200",_dark:{[V.variable]:"colors.whiteAlpha.200"},_disabled:{[V.variable]:"colors.gray.300",_dark:{[V.variable]:"colors.whiteAlpha.300"}},bg:V.reference})),Ai=t(e=>{const{orientation:r}=e;return{...Sr({orientation:r,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:ye.reference,h:ye.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}}),Pi=t(e=>{const{colorScheme:r}=e;return{width:"inherit",height:"inherit",[V.variable]:`colors.${r}.500`,_dark:{[V.variable]:`colors.${r}.200`},bg:V.reference}}),Ti=Ze(e=>({container:zi(e),track:Ci(e),thumb:Ai(e),filledTrack:Pi(e)})),Fi=Ze({container:{[ye.variable]:"sizes.4",[pe.variable]:"sizes.1"}}),Ii=Ze({container:{[ye.variable]:"sizes.3.5",[pe.variable]:"sizes.1"}}),Mi=Ze({container:{[ye.variable]:"sizes.2.5",[pe.variable]:"sizes.0.5"}}),Bi={lg:Fi,md:Ii,sm:Mi},Ei=wi({baseStyle:Ti,sizes:Bi,defaultProps:{size:"md",colorScheme:"blue"}}),q=m("spinner-size"),Di=t({width:[q.reference],height:[q.reference]}),Ri={xs:t({[q.variable]:"sizes.3"}),sm:t({[q.variable]:"sizes.4"}),md:t({[q.variable]:"sizes.6"}),lg:t({[q.variable]:"sizes.8"}),xl:t({[q.variable]:"sizes.12"})},ji=h({baseStyle:Di,sizes:Ri,defaultProps:{size:"md"}}),{defineMultiStyleConfig:Hi,definePartsStyle:xa}=b(lo.keys),Wi=t({fontWeight:"medium"}),Vi=t({opacity:.8,marginBottom:"2"}),Li=t({verticalAlign:"baseline",fontWeight:"semibold"}),qi=t({marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"}),Oi=xa({container:{},label:Wi,helpText:Vi,number:Li,icon:qi}),Ni={md:xa({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Gi=Hi({baseStyle:Oi,sizes:Ni,defaultProps:{size:"md"}}),ir=c("kbd-bg"),Ui=t({[ir.variable]:"colors.gray.100",_dark:{[ir.variable]:"colors.whiteAlpha.100"},bg:ir.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}),Yi=h({baseStyle:Ui}),Ki=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}}),Xi=h({baseStyle:Ki}),{defineMultiStyleConfig:Zi,definePartsStyle:Ji}=b(Jt.keys),Qi=t({marginEnd:"2",display:"inline",verticalAlign:"text-bottom"}),el=Ji({icon:Qi}),rl=Zi({baseStyle:el}),{defineMultiStyleConfig:al,definePartsStyle:tl}=b(Qt.keys),I=c("menu-bg"),lr=c("menu-shadow"),ol=t({[I.variable]:"#fff",[lr.variable]:"shadows.sm",_dark:{[I.variable]:"colors.gray.700",[lr.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:I.reference,boxShadow:lr.reference}),nl=t({py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_active:{[I.variable]:"colors.gray.200",_dark:{[I.variable]:"colors.whiteAlpha.200"}},_expanded:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:I.reference}),il=t({mx:4,my:2,fontWeight:"semibold",fontSize:"sm"}),ll=t({opacity:.6}),sl=t({border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6}),dl=t({transitionProperty:"common",transitionDuration:"normal"}),cl=tl({button:dl,list:ol,item:nl,groupTitle:il,command:ll,divider:sl}),bl=al({baseStyle:cl}),{defineMultiStyleConfig:vl,definePartsStyle:yr}=b(eo.keys),sr=c("modal-bg"),dr=c("modal-shadow"),ul=t({bg:"blackAlpha.600",zIndex:"modal"}),fl=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:r?"center":"flex-start",overflow:a==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}}),ml=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{borderRadius:"md",color:"inherit",my:r?"auto":"16",mx:r?"auto":void 0,zIndex:"modal",maxH:a==="inside"?"calc(100% - 7.5rem)":void 0,[sr.variable]:"colors.white",[dr.variable]:"shadows.lg",_dark:{[sr.variable]:"colors.gray.700",[dr.variable]:"shadows.dark-lg"},bg:sr.reference,boxShadow:dr.reference}}),hl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),gl=t({position:"absolute",top:"2",insetEnd:"3"}),yl=t(e=>{const{scrollBehavior:r}=e;return{px:"6",py:"2",flex:"1",overflow:r==="inside"?"auto":void 0}}),pl=t({px:"6",py:"4"}),Sl=yr(e=>({overlay:ul,dialogContainer:k(fl,e),dialog:k(ml,e),header:hl,closeButton:gl,body:k(yl,e),footer:pl}));function C(e){return yr(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var xl={xs:C("xs"),sm:C("sm"),md:C("md"),lg:C("lg"),xl:C("xl"),"2xl":C("2xl"),"3xl":C("3xl"),"4xl":C("4xl"),"5xl":C("5xl"),"6xl":C("6xl"),full:C("full")},$l=vl({baseStyle:Sl,sizes:xl,defaultProps:{size:"md"}}),{defineMultiStyleConfig:kl,definePartsStyle:$a}=b(ro.keys),kr=m("number-input-stepper-width"),ka=m("number-input-input-padding"),_l=E(kr).add("0.5rem").toString(),cr=m("number-input-bg"),br=m("number-input-color"),vr=m("number-input-border-color"),wl=t({[kr.variable]:"sizes.6",[ka.variable]:_l}),zl=t(e=>{var r,a;return(a=(r=k(u.baseStyle,e))==null?void 0:r.field)!=null?a:{}}),Cl=t({width:kr.reference}),Al=t({borderStart:"1px solid",borderStartColor:vr.reference,color:br.reference,bg:cr.reference,[br.variable]:"colors.chakra-body-text",[vr.variable]:"colors.chakra-border-color",_dark:{[br.variable]:"colors.whiteAlpha.800",[vr.variable]:"colors.whiteAlpha.300"},_active:{[cr.variable]:"colors.gray.200",_dark:{[cr.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}}),Pl=$a(e=>{var r;return{root:wl,field:(r=k(zl,e))!=null?r:{},stepperGroup:Cl,stepper:Al}});function Pe(e){var r,a,o;const i=(r=u.sizes)==null?void 0:r[e],l={lg:"md",md:"md",sm:"sm",xs:"sm"},s=(o=(a=i.field)==null?void 0:a.fontSize)!=null?o:"md",d=ha.fontSizes[s];return $a({field:{...i.field,paddingInlineEnd:ka.reference,verticalAlign:"top"},stepper:{fontSize:E(d).multiply(.75).toString(),_first:{borderTopEndRadius:l[e]},_last:{borderBottomEndRadius:l[e],mt:"-1px",borderTopWidth:1}}})}var Tl={xs:Pe("xs"),sm:Pe("sm"),md:Pe("md"),lg:Pe("lg")},Fl=kl({baseStyle:Pl,sizes:Tl,variants:u.variants,defaultProps:u.defaultProps}),oa,Il=t({...(oa=u.baseStyle)==null?void 0:oa.field,textAlign:"center"}),Ml={lg:t({fontSize:"lg",w:12,h:12,borderRadius:"md"}),md:t({fontSize:"md",w:10,h:10,borderRadius:"md"}),sm:t({fontSize:"sm",w:8,h:8,borderRadius:"sm"}),xs:t({fontSize:"xs",w:6,h:6,borderRadius:"sm"})},na,ia,Bl={outline:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.outline,e))==null?void 0:a.field)!=null?o:{}}),flushed:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.flushed,e))==null?void 0:a.field)!=null?o:{}}),filled:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.filled,e))==null?void 0:a.field)!=null?o:{}}),unstyled:(ia=(na=u.variants)==null?void 0:na.unstyled.field)!=null?ia:{}},El=h({baseStyle:Il,sizes:Ml,variants:Bl,defaultProps:u.defaultProps}),{defineMultiStyleConfig:Dl,definePartsStyle:Rl}=b(ao.keys),Te=m("popper-bg"),jl=m("popper-arrow-bg"),la=m("popper-arrow-shadow-color"),Hl=t({zIndex:10}),Wl=t({[Te.variable]:"colors.white",bg:Te.reference,[jl.variable]:Te.reference,[la.variable]:"colors.gray.200",_dark:{[Te.variable]:"colors.gray.700",[la.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}}),Vl=t({px:3,py:2,borderBottomWidth:"1px"}),Ll=t({px:3,py:2}),ql=t({px:3,py:2,borderTopWidth:"1px"}),Ol=t({position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2}),Nl=Rl({popper:Hl,content:Wl,header:Vl,body:Ll,footer:ql,closeButton:Ol}),Gl=Dl({baseStyle:Nl}),{definePartsStyle:pr,defineMultiStyleConfig:Ul}=b(Ut.keys),ur=c("drawer-bg"),fr=c("drawer-box-shadow");function Y(e){return pr(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var Yl=t({bg:"blackAlpha.600",zIndex:"overlay"}),Kl=t({display:"flex",zIndex:"modal",justifyContent:"center"}),Xl=t(e=>{const{isFullHeight:r}=e;return{...r&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[ur.variable]:"colors.white",[fr.variable]:"shadows.lg",_dark:{[ur.variable]:"colors.gray.700",[fr.variable]:"shadows.dark-lg"},bg:ur.reference,boxShadow:fr.reference}}),Zl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),Jl=t({position:"absolute",top:"2",insetEnd:"3"}),Ql=t({px:"6",py:"2",flex:"1",overflow:"auto"}),es=t({px:"6",py:"4"}),rs=pr(e=>({overlay:Yl,dialogContainer:Kl,dialog:k(Xl,e),header:Zl,closeButton:Jl,body:Ql,footer:es})),as={xs:Y("xs"),sm:Y("md"),md:Y("lg"),lg:Y("2xl"),xl:Y("4xl"),full:Y("full")},ts=Ul({baseStyle:rs,sizes:as,defaultProps:{size:"xs"}}),{definePartsStyle:os,defineMultiStyleConfig:ns}=b(Yt.keys),is=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ls=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ss=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ds=os({preview:is,input:ls,textarea:ss}),cs=ns({baseStyle:ds}),{definePartsStyle:bs,defineMultiStyleConfig:vs}=b(Kt.keys),J=c("form-control-color"),us=t({marginStart:"1",[J.variable]:"colors.red.500",_dark:{[J.variable]:"colors.red.300"},color:J.reference}),fs=t({mt:"2",[J.variable]:"colors.gray.600",_dark:{[J.variable]:"colors.whiteAlpha.600"},color:J.reference,lineHeight:"normal",fontSize:"sm"}),ms=bs({container:{width:"100%",position:"relative"},requiredIndicator:us,helperText:fs}),hs=vs({baseStyle:ms}),{definePartsStyle:gs,defineMultiStyleConfig:ys}=b(Xt.keys),Q=c("form-error-color"),ps=t({[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference,mt:"2",fontSize:"sm",lineHeight:"normal"}),Ss=t({marginEnd:"0.5em",[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference}),xs=gs({text:ps,icon:Ss}),$s=ys({baseStyle:xs}),ks=t({fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}}),_s=h({baseStyle:ks}),ws=t({fontFamily:"heading",fontWeight:"bold"}),zs={"4xl":t({fontSize:["6xl",null,"7xl"],lineHeight:1}),"3xl":t({fontSize:["5xl",null,"6xl"],lineHeight:1}),"2xl":t({fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]}),xl:t({fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]}),lg:t({fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]}),md:t({fontSize:"xl",lineHeight:1.2}),sm:t({fontSize:"md",lineHeight:1.2}),xs:t({fontSize:"sm",lineHeight:1.2})},Cs=h({baseStyle:ws,sizes:zs,defaultProps:{size:"xl"}}),{defineMultiStyleConfig:As,definePartsStyle:Ps}=b(Nt.keys),mr=c("breadcrumb-link-decor"),Ts=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",outline:"none",color:"inherit",textDecoration:mr.reference,[mr.variable]:"none","&:not([aria-current=page])":{cursor:"pointer",_hover:{[mr.variable]:"underline"},_focusVisible:{boxShadow:"outline"}}}),Fs=Ps({link:Ts}),Is=As({baseStyle:Fs}),Ms=t({lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}}),_a=t(e=>{const{colorScheme:r,theme:a}=e;if(r==="gray")return{color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.100","whiteAlpha.200")(e)},_active:{bg:n("gray.200","whiteAlpha.300")(e)}};const o=re(`${r}.200`,.12)(a),i=re(`${r}.200`,.24)(a);return{color:n(`${r}.600`,`${r}.200`)(e),bg:"transparent",_hover:{bg:n(`${r}.50`,o)(e)},_active:{bg:n(`${r}.100`,i)(e)}}}),Bs=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...k(_a,e)}}),Es={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},Ds=t(e=>{var r;const{colorScheme:a}=e;if(a==="gray"){const v=n("gray.100","whiteAlpha.200")(e);return{bg:v,color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.200","whiteAlpha.300")(e),_disabled:{bg:v}},_active:{bg:n("gray.300","whiteAlpha.400")(e)}}}const{bg:o=`${a}.500`,color:i="white",hoverBg:l=`${a}.600`,activeBg:s=`${a}.700`}=(r=Es[a])!=null?r:{},d=n(o,`${a}.200`)(e);return{bg:d,color:n(i,"gray.800")(e),_hover:{bg:n(l,`${a}.300`)(e),_disabled:{bg:d}},_active:{bg:n(s,`${a}.400`)(e)}}}),Rs=t(e=>{const{colorScheme:r}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:n(`${r}.500`,`${r}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:n(`${r}.700`,`${r}.500`)(e)}}}),js=t({bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"}),Hs={ghost:_a,outline:Bs,solid:Ds,link:Rs,unstyled:js},Ws={lg:t({h:"12",minW:"12",fontSize:"lg",px:"6"}),md:t({h:"10",minW:"10",fontSize:"md",px:"4"}),sm:t({h:"8",minW:"8",fontSize:"sm",px:"3"}),xs:t({h:"6",minW:"6",fontSize:"xs",px:"2"})},Vs=h({baseStyle:Ms,variants:Hs,sizes:Ws,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}}),{definePartsStyle:U,defineMultiStyleConfig:Ls}=b(uo.keys),Ye=c("card-bg"),R=c("card-padding"),wa=c("card-shadow"),Oe=c("card-radius"),za=c("card-border-width","0"),Ca=c("card-border-color"),qs=U({container:{[Ye.variable]:"colors.chakra-body-bg",backgroundColor:Ye.reference,boxShadow:wa.reference,borderRadius:Oe.reference,color:"chakra-body-text",borderWidth:za.reference,borderColor:Ca.reference},body:{padding:R.reference,flex:"1 1 0%"},header:{padding:R.reference},footer:{padding:R.reference}}),Os={sm:U({container:{[Oe.variable]:"radii.base",[R.variable]:"space.3"}}),md:U({container:{[Oe.variable]:"radii.md",[R.variable]:"space.5"}}),lg:U({container:{[Oe.variable]:"radii.xl",[R.variable]:"space.7"}})},Ns={elevated:U({container:{[wa.variable]:"shadows.base",_dark:{[Ye.variable]:"colors.gray.700"}}}),outline:U({container:{[za.variable]:"1px",[Ca.variable]:"colors.chakra-border-color"}}),filled:U({container:{[Ye.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[R.variable]:0},header:{[R.variable]:0},footer:{[R.variable]:0}}},Gs=Ls({baseStyle:qs,variants:Ns,sizes:Os,defaultProps:{variant:"elevated",size:"md"}}),me=m("close-button-size"),ie=m("close-button-bg"),Us=t({w:[me.reference],h:[me.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[ie.variable]:"colors.blackAlpha.100",_dark:{[ie.variable]:"colors.whiteAlpha.100"}},_active:{[ie.variable]:"colors.blackAlpha.200",_dark:{[ie.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:ie.reference}),Ys={lg:t({[me.variable]:"sizes.10",fontSize:"md"}),md:t({[me.variable]:"sizes.8",fontSize:"xs"}),sm:t({[me.variable]:"sizes.6",fontSize:"2xs"})},Ks=h({baseStyle:Us,sizes:Ys,defaultProps:{size:"md"}}),{variants:Xs,defaultProps:Zs}=ue,Js=t({fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Qs=h({baseStyle:Js,variants:Xs,defaultProps:Zs}),e0=t({w:"100%",mx:"auto",maxW:"prose",px:"4"}),r0=h({baseStyle:e0}),a0=t({opacity:.6,borderColor:"inherit"}),t0=t({borderStyle:"solid"}),o0=t({borderStyle:"dashed"}),n0={solid:t0,dashed:o0},i0=h({baseStyle:a0,variants:n0,defaultProps:{variant:"solid"}}),{definePartsStyle:l0,defineMultiStyleConfig:s0}=b(Lt.keys),d0=t({borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}}),c0=t({transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"}),b0=t({pt:"2",px:"4",pb:"5"}),v0=t({fontSize:"1.25em"}),u0=l0({container:d0,button:c0,panel:b0,icon:v0}),f0=s0({baseStyle:u0}),{definePartsStyle:xe,defineMultiStyleConfig:m0}=b(qt.keys),w=c("alert-fg"),j=c("alert-bg"),h0=xe({container:{bg:j.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function _r(e){const{theme:r,colorScheme:a}=e,o=re(`${a}.200`,.16)(r);return{light:`colors.${a}.100`,dark:o}}var g0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark}}}}),y0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:w.reference}}}),p0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},pt:"2",borderTopWidth:"4px",borderTopColor:w.reference}}}),S0=xe(e=>{const{colorScheme:r}=e;return{container:{[w.variable]:"colors.white",[j.variable]:`colors.${r}.500`,_dark:{[w.variable]:"colors.gray.900",[j.variable]:`colors.${r}.200`},color:w.reference}}}),x0={subtle:g0,"left-accent":y0,"top-accent":p0,solid:S0},$0=m0({baseStyle:h0,variants:x0,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:Aa,defineMultiStyleConfig:k0}=b(Ot.keys),ee=c("avatar-border-color"),he=c("avatar-bg"),Se=c("avatar-font-size"),ae=c("avatar-size"),_0=t({borderRadius:"full",border:"0.2em solid",borderColor:ee.reference,[ee.variable]:"white",_dark:{[ee.variable]:"colors.gray.800"}}),w0=t({bg:he.reference,fontSize:Se.reference,width:ae.reference,height:ae.reference,lineHeight:"1",[he.variable]:"colors.gray.200",_dark:{[he.variable]:"colors.whiteAlpha.400"}}),z0=t(e=>{const{name:r,theme:a}=e,o=r?Mo({string:r}):"colors.gray.400",i=Fo(o)(a);let l="white";return i||(l="gray.800"),{bg:he.reference,fontSize:Se.reference,color:l,borderColor:ee.reference,verticalAlign:"top",width:ae.reference,height:ae.reference,"&:not([data-loaded])":{[he.variable]:o},[ee.variable]:"colors.white",_dark:{[ee.variable]:"colors.gray.800"}}}),C0=t({fontSize:Se.reference,lineHeight:"1"}),A0=Aa(e=>({badge:k(_0,e),excessLabel:k(w0,e),container:k(z0,e),label:C0}));function W(e){const r=e!=="100%"?ya[e]:void 0;return Aa({container:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`},excessLabel:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`}})}var P0={"2xs":W(4),xs:W(6),sm:W(8),md:W(12),lg:W(16),xl:W(24),"2xl":W(32),full:W("100%")},T0=k0({baseStyle:A0,sizes:P0,defaultProps:{size:"md"}}),F0={Accordion:f0,Alert:$0,Avatar:T0,Badge:ue,Breadcrumb:Is,Button:Vs,Checkbox:Ue,CloseButton:Ks,Code:Qs,Container:r0,Divider:i0,Drawer:ts,Editable:cs,Form:hs,FormError:$s,FormLabel:_s,Heading:Cs,Input:u,Kbd:Yi,Link:Xi,List:rl,Menu:bl,Modal:$l,NumberInput:Fl,PinInput:El,Popover:Gl,Progress:ei,Radio:ui,Select:Si,Skeleton:$i,SkipLink:_i,Slider:Ei,Spinner:ji,Stat:Gi,Switch:Ko,Table:an,Tabs:yn,Tag:Fn,Textarea:qn,Tooltip:Gn,Card:Gs,Stepper:Vt},I0={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-inverse-text":{_light:"white",_dark:"gray.800"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-subtle-text":{_light:"gray.600",_dark:"gray.400"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},M0={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color"}}},B0="ltr",E0={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},Pa={semanticTokens:I0,direction:B0,...jt,components:F0,styles:M0,config:E0};function be(e){return typeof e=="function"}function D0(...e){return r=>e.reduce((a,o)=>o(a),r)}var R0=e=>function(...a){let o=[...a],i=a[a.length-1];return ft(i)&&o.length>1?o=o.slice(0,o.length-1):i=e,D0(...o.map(l=>s=>be(l)?l(s):H0(s,l)))(i)},j0=R0(Pa);function H0(...e){return ba({},...e,Ta)}function Ta(e,r,a,o){if((be(e)||be(r))&&Object.prototype.hasOwnProperty.call(o,a))return(...i)=>{const l=be(e)?e(...i):e,s=be(r)?r(...i):r;return ba({},l,s,Ta)}}function W0(e={}){const{strict:r=!0,errorMessage:a="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:o}=e,i=x.createContext(void 0);i.displayName=o;function l(){var s;const d=x.useContext(i);if(!d&&r){const v=new Error(a);throw v.name="ContextError",(s=Error.captureStackTrace)==null||s.call(Error,v,l),v}return d}return[i.Provider,l,i]}function V0(e){const{cssVarsRoot:r,theme:a,children:o}=e,i=x.useMemo(()=>ja(a),[a]);return g.jsxs(Ha,{theme:i,children:[g.jsx(L0,{root:r}),o]})}function L0({root:e=":host, :root"}){const r=[e,"[data-theme]"].join(",");return g.jsx(Ke,{styles:a=>({[r]:a.__cssVars})})}W0({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function q0(){const{colorMode:e}=Wa();return g.jsx(Ke,{styles:r=>{const a=Va(r,"styles.global"),o=La(a,{theme:r,colorMode:e});return o?qa(o)(r):void 0}})}var Fa=x.createContext({getDocument(){return document},getWindow(){return window}});Fa.displayName="EnvironmentContext";function Ia(e){const{children:r,environment:a,disabled:o}=e,i=x.useRef(null),l=x.useMemo(()=>a||{getDocument:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument)!=null?v:document},getWindow:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument.defaultView)!=null?v:window}},[a]),s=!o||!a;return g.jsxs(Fa.Provider,{value:l,children:[r,s&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}Ia.displayName="EnvironmentProvider";var O0=e=>{const{children:r,colorModeManager:a,portalZIndex:o,resetScope:i,resetCSS:l=!0,theme:s={},environment:d,cssVarsRoot:v,disableEnvironment:$,disableGlobalStyle:p}=e,S=g.jsx(Ia,{environment:d,disabled:$,children:r});return g.jsx(V0,{theme:s,cssVarsRoot:v,children:g.jsxs(ma,{colorModeManager:a,options:s.config,children:[l?g.jsx(dt,{scope:i}):g.jsx(st,{}),!p&&g.jsx(q0,{}),o?g.jsx(Oa,{zIndex:o,children:S}):S]})})},N0=e=>function({children:a,theme:o=e,toastOptions:i,...l}){return g.jsxs(O0,{theme:o,...l,children:[g.jsx(Na,{value:i==null?void 0:i.defaultOptions,children:a}),g.jsx(Ga,{...i})]})},G0=N0(Pa);function z(e,r,a=!1){e=String(e),r=String(r);const o=Array.from({length:21},(s,d)=>d*50),i=[0,5,10,15,20,25,30,35,40,45,50,55,59,64,68,73,77,82,86,95,100];return o.reduce((s,d,v)=>{const $=a?i[v]/100:1,p=a?50:i[o.length-1-v];return s[d]=`hsl(${e} ${r}% ${p}% / ${$})`,s},{})}const Fe={H:220,S:16},Ie={H:250,S:42},Me={H:47,S:42},Be={H:28,S:42},Ee={H:113,S:42},De={H:0,S:42},U0={base:z(Fe.H,Fe.S),baseAlpha:z(Fe.H,Fe.S,!0),accent:z(Ie.H,Ie.S),accentAlpha:z(Ie.H,Ie.S,!0),working:z(Me.H,Me.S),workingAlpha:z(Me.H,Me.S,!0),warning:z(Be.H,Be.S),warningAlpha:z(Be.H,Be.S,!0),ok:z(Ee.H,Ee.S),okAlpha:z(Ee.H,Ee.S,!0),error:z(De.H,De.S),errorAlpha:z(De.H,De.S,!0)},{definePartsStyle:Y0,defineMultiStyleConfig:K0}=b(Ya.keys),X0=t({border:"none"}),Z0=t(e=>{const{colorScheme:r}=e;return{fontWeight:"600",fontSize:"sm",border:"none",borderRadius:"base",bg:n(`${r}.200`,`${r}.700`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.250`,`${r}.650`)(e)},_expanded:{bg:n(`${r}.250`,`${r}.650`)(e),borderBottomRadius:"none",_hover:{bg:n(`${r}.300`,`${r}.600`)(e)}}}}),J0=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.100`,`${r}.800`)(e),borderRadius:"base",borderTopRadius:"none"}}),Q0=t({}),ed=Y0(e=>({container:X0,button:Z0(e),panel:J0(e),icon:Q0})),rd=K0({variants:{invokeAI:ed},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),ad=t(e=>{const{colorScheme:r}=e;if(r==="base"){const o={bg:n("base.150","base.700")(e),color:n("base.500","base.500")(e),svg:{fill:n("base.500","base.500")(e)},opacity:1};return{bg:n("base.250","base.600")(e),color:n("base.850","base.100")(e),borderRadius:"base",svg:{fill:n("base.850","base.100")(e)},_hover:{bg:n("base.300","base.500")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.900","base.50")(e)},_disabled:o},_disabled:o}}const a={bg:n(`${r}.250`,`${r}.700`)(e),color:n(`${r}.50`,`${r}.500`)(e),svg:{fill:n(`${r}.50`,`${r}.500`)(e),filter:"unset"},opacity:1,filter:n(void 0,"saturate(65%)")(e)};return{bg:n(`${r}.400`,`${r}.600`)(e),color:n("base.50","base.100")(e),borderRadius:"base",svg:{fill:n("base.50","base.100")(e)},_disabled:a,_hover:{bg:n(`${r}.500`,`${r}.500`)(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)},_disabled:a}}}),td=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"}}}),od=h({variants:{invokeAI:ad,invokeAIOutline:td},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),{definePartsStyle:nd,defineMultiStyleConfig:id}=b(Ka.keys),ld=t(e=>{const{colorScheme:r}=e;return{bg:n("base.200","base.700")(e),borderColor:n("base.200","base.700")(e),color:n("base.900","base.100")(e),_checked:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.400`,`${r}.500`)(e),borderColor:n(`${r}.400`,`${r}.500`)(e)},_disabled:{borderColor:"transparent",bg:"whiteAlpha.300",color:"whiteAlpha.500"}},_indeterminate:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e)},_disabled:{bg:"whiteAlpha.100",borderColor:"transparent"},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("error.600","error.300")(e)}}}),sd=nd(e=>({control:ld(e)})),dd=id({variants:{invokeAI:sd},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{definePartsStyle:cd,defineMultiStyleConfig:bd}=b(Xa.keys),vd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ud=t(e=>({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6},"::selection":{color:n("accent.900","accent.50")(e),bg:n("accent.200","accent.400")(e)}})),fd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),md=cd(e=>({preview:vd,input:ud(e),textarea:fd})),hd=bd({variants:{invokeAI:md},defaultProps:{size:"sm",variant:"invokeAI"}}),gd=t(e=>({fontSize:"sm",marginEnd:0,mb:1,fontWeight:"400",transitionProperty:"common",transitionDuration:"normal",whiteSpace:"nowrap",_disabled:{opacity:.4},color:n("base.700","base.300")(e)})),yd=h({variants:{invokeAI:gd},defaultProps:{variant:"invokeAI"}}),Je=e=>({outline:"none",borderWidth:2,borderStyle:"solid",borderColor:n("base.200","base.800")(e),bg:n("base.50","base.900")(e),borderRadius:"base",color:n("base.900","base.100")(e),boxShadow:"none",_hover:{borderColor:n("base.300","base.600")(e)},_focus:{borderColor:n("accent.200","accent.600")(e),boxShadow:"none",_hover:{borderColor:n("accent.300","accent.500")(e)}},_invalid:{borderColor:n("error.300","error.600")(e),boxShadow:"none",_hover:{borderColor:n("error.400","error.500")(e)}},_disabled:{borderColor:n("base.300","base.700")(e),bg:n("base.300","base.700")(e),color:n("base.600","base.400")(e),_hover:{borderColor:n("base.300","base.700")(e)}},_placeholder:{color:n("base.700","base.400")(e)},"::selection":{bg:n("accent.200","accent.400")(e)}}),{definePartsStyle:pd,defineMultiStyleConfig:Sd}=b(Za.keys),xd=pd(e=>({field:Je(e)})),$d=Sd({variants:{invokeAI:xd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:kd,definePartsStyle:_d}=b(Ja.keys),wd=t(e=>({bg:n("blackAlpha.700","blackAlpha.700")(e)})),zd=t({}),Cd=t(e=>({layerStyle:"first",maxH:"80vh"})),Ad=t(e=>({fontWeight:"600",fontSize:"lg",layerStyle:"first",borderTopRadius:"base",borderInlineEndRadius:"base"})),Pd=t({}),Td=t({overflowY:"scroll"}),Fd=t({}),Id=_d(e=>({overlay:wd(e),dialogContainer:zd,dialog:Cd(e),header:Ad(e),closeButton:Pd,body:Td,footer:Fd})),Md=kd({variants:{invokeAI:Id},defaultProps:{variant:"invokeAI",size:"lg"}}),{defineMultiStyleConfig:Bd,definePartsStyle:Ed}=b(Qa.keys),Dd=t(e=>({height:8})),Rd=t(e=>({border:"none",fontWeight:"600",height:"auto",py:1,ps:2,pe:6,...Je(e)})),jd=t(e=>({display:"flex"})),Hd=t(e=>({border:"none",px:2,py:0,mx:-2,my:0,svg:{color:n("base.700","base.300")(e),width:2.5,height:2.5,_hover:{color:n("base.900","base.100")(e)}}})),Wd=Ed(e=>({root:Dd(e),field:Rd(e),stepperGroup:jd(e),stepper:Hd(e)})),Vd=Bd({variants:{invokeAI:Wd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:Ld,definePartsStyle:qd}=b(et.keys),Od=m("popper-bg"),Nd=m("popper-arrow-bg"),Gd=m("popper-arrow-shadow-color"),Ud=t(e=>({[Nd.variable]:n("colors.base.100","colors.base.800")(e),[Od.variable]:n("colors.base.100","colors.base.800")(e),[Gd.variable]:n("colors.base.400","colors.base.600")(e),minW:"unset",width:"unset",p:4,bg:n("base.100","base.800")(e),border:"none",shadow:"dark-lg"})),Yd=qd(e=>({content:Ud(e)})),Kd=Ld({variants:{invokeAI:Yd},defaultProps:{variant:"invokeAI"}}),{defineMultiStyleConfig:Xd,definePartsStyle:Zd}=b(rt.keys),Jd=t(e=>({bg:"accentAlpha.500"})),Qd=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.200`,`${r}.700`)(e)}}),ec=Zd(e=>({filledTrack:Jd(e),track:Qd(e)})),rc=Xd({variants:{invokeAI:ec},defaultProps:{variant:"invokeAI"}}),ac={"::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"},{definePartsStyle:tc,defineMultiStyleConfig:oc}=b(at.keys),nc=t(e=>({color:n("base.200","base.300")(e)})),ic=t(e=>({fontWeight:"600",...Je(e)})),lc=tc(e=>({field:ic(e),icon:nc(e)})),sc=oc({variants:{invokeAI:lc},defaultProps:{size:"sm",variant:"invokeAI"}}),sa=c("skeleton-start-color"),da=c("skeleton-end-color"),dc=t({borderRadius:"base",maxW:"full",maxH:"full",_light:{[sa.variable]:"colors.base.250",[da.variable]:"colors.base.450"},_dark:{[sa.variable]:"colors.base.700",[da.variable]:"colors.base.500"}}),cc=h({variants:{invokeAI:dc},defaultProps:{variant:"invokeAI"}}),{definePartsStyle:bc,defineMultiStyleConfig:vc}=b(tt.keys),uc=t(e=>({bg:n("base.400","base.600")(e),h:1.5})),fc=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.400`,`${r}.600`)(e),h:1.5}}),mc=t(e=>({w:2,h:4,bg:n("base.50","base.100")(e)})),hc=t(e=>({fontSize:"2xs",fontWeight:"500",color:n("base.700","base.400")(e),mt:2,insetInlineStart:"unset"})),gc=bc(e=>({container:{_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"}},track:uc(e),filledTrack:fc(e),thumb:mc(e),mark:hc(e)})),yc=vc({variants:{invokeAI:gc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:pc,definePartsStyle:Sc}=b(ot.keys),xc=t(e=>{const{colorScheme:r}=e;return{bg:n("base.300","base.600")(e),_focusVisible:{boxShadow:"none"},_checked:{bg:n(`${r}.400`,`${r}.500`)(e)}}}),$c=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.50`,`${r}.50`)(e)}}),kc=Sc(e=>({container:{},track:xc(e),thumb:$c(e)})),_c=pc({variants:{invokeAI:kc},defaultProps:{size:"md",variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:wc,definePartsStyle:zc}=b(nt.keys),Cc=t(e=>({display:"flex",columnGap:4})),Ac=t(e=>({})),Pc=t(e=>{const{colorScheme:r}=e;return{display:"flex",flexDirection:"column",gap:1,color:n("base.700","base.400")(e),button:{fontSize:"sm",padding:2,borderRadius:"base",textShadow:n("0 0 0.3rem var(--invokeai-colors-accent-100)","0 0 0.3rem var(--invokeai-colors-accent-900)")(e),svg:{fill:n("base.700","base.300")(e)},_selected:{bg:n("accent.400","accent.600")(e),color:n("base.50","base.100")(e),svg:{fill:n("base.50","base.100")(e),filter:n(`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-600))`,`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-800))`)(e)},_hover:{bg:n("accent.500","accent.500")(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)}}},_hover:{bg:n("base.100","base.800")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.800","base.100")(e)}}}}}),Tc=t(e=>({padding:0,height:"100%"})),Fc=zc(e=>({root:Cc(e),tab:Ac(e),tablist:Pc(e),tabpanel:Tc(e)})),Ic=wc({variants:{invokeAI:Fc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),Mc=t(e=>({color:n("base.500","base.400")(e)})),Bc=h({variants:{subtext:Mc}}),Ec=t(e=>({...Je(e),"::-webkit-scrollbar":{display:"initial"},"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, - var(--invokeai-colors-base-50) 0%, - var(--invokeai-colors-base-50) 70%, - var(--invokeai-colors-base-200) 70%, - var(--invokeai-colors-base-200) 100%)`},_dark:{"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, - var(--invokeai-colors-base-900) 0%, - var(--invokeai-colors-base-900) 70%, - var(--invokeai-colors-base-800) 70%, - var(--invokeai-colors-base-800) 100%)`}}})),Dc=h({variants:{invokeAI:Ec},defaultProps:{size:"md",variant:"invokeAI"}}),Rc=m("popper-arrow-bg"),jc=t(e=>({borderRadius:"base",shadow:"dark-lg",bg:n("base.700","base.200")(e),[Rc.variable]:n("colors.base.700","colors.base.200")(e),pb:1.5})),Hc=h({baseStyle:jc}),Wc={config:{cssVarPrefix:"invokeai",initialColorMode:"dark",useSystemColorMode:!1},layerStyles:{body:{bg:"base.50",color:"base.900",".chakra-ui-dark &":{bg:"base.900",color:"base.50"}},first:{bg:"base.100",color:"base.900",".chakra-ui-dark &":{bg:"base.850",color:"base.100"}},second:{bg:"base.200",color:"base.900",".chakra-ui-dark &":{bg:"base.800",color:"base.100"}}},styles:{global:()=>({layerStyle:"body","*":{...ac}})},direction:"ltr",fonts:{body:"'Inter Variable', sans-serif"},shadows:{light:{accent:"0 0 10px 0 var(--invokeai-colors-accent-300)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-400)",ok:"0 0 7px var(--invokeai-colors-ok-600)",working:"0 0 7px var(--invokeai-colors-working-600)",error:"0 0 7px var(--invokeai-colors-error-600)"},dark:{accent:"0 0 10px 0 var(--invokeai-colors-accent-600)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-500)",ok:"0 0 7px var(--invokeai-colors-ok-400)",working:"0 0 7px var(--invokeai-colors-working-400)",error:"0 0 7px var(--invokeai-colors-error-400)"},selected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-400)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-500)"},hoverSelected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-400)"},hoverUnselected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 3px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 3px var(--invokeai-colors-accent-400)"},nodeSelectedOutline:"0 0 0 2px var(--invokeai-colors-accent-450)"},colors:U0,components:{Button:od,Input:$d,Editable:hd,Textarea:Dc,Tabs:Ic,Progress:rc,Accordion:rd,FormLabel:yd,Switch:_c,NumberInput:Vd,Select:sc,Skeleton:cc,Slider:yc,Popover:Kd,Modal:Md,Checkbox:dd,Menu:it,Text:Bc,Tooltip:Hc}};const Vc=()=>x.useMemo(()=>({colorScheme:"dark",fontFamily:"'Inter Variable', sans-serif",components:{ScrollArea:{defaultProps:{scrollbarSize:10},styles:{scrollbar:{"&:hover":{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}},thumb:{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}}}}}),[]),Lc=fa("@@invokeai-color-mode");function Nc({children:e}){const{i18n:r}=Ua(),a=r.dir(),o=x.useMemo(()=>j0({...Wc,direction:a}),[a]);x.useEffect(()=>{document.body.dir=a},[a]);const i=Vc();return g.jsx(lt,{theme:i,children:g.jsx(G0,{theme:o,colorModeManager:Lc,children:e})})}export{Nc as default}; diff --git a/invokeai/frontend/web/dist/assets/index-e2437518.js b/invokeai/frontend/web/dist/assets/index-e2437518.js deleted file mode 100644 index cf22438196..0000000000 --- a/invokeai/frontend/web/dist/assets/index-e2437518.js +++ /dev/null @@ -1,125 +0,0 @@ -function qA(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var De=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Hj(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var WA={exports:{}},v0={},KA={exports:{}},Ue={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var $h=Symbol.for("react.element"),qj=Symbol.for("react.portal"),Wj=Symbol.for("react.fragment"),Kj=Symbol.for("react.strict_mode"),Yj=Symbol.for("react.profiler"),Xj=Symbol.for("react.provider"),Qj=Symbol.for("react.context"),Zj=Symbol.for("react.forward_ref"),Jj=Symbol.for("react.suspense"),eV=Symbol.for("react.memo"),tV=Symbol.for("react.lazy"),m4=Symbol.iterator;function nV(e){return e===null||typeof e!="object"?null:(e=m4&&e[m4]||e["@@iterator"],typeof e=="function"?e:null)}var YA={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},XA=Object.assign,QA={};function Fc(e,t,n){this.props=e,this.context=t,this.refs=QA,this.updater=n||YA}Fc.prototype.isReactComponent={};Fc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Fc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ZA(){}ZA.prototype=Fc.prototype;function Ax(e,t,n){this.props=e,this.context=t,this.refs=QA,this.updater=n||YA}var Ox=Ax.prototype=new ZA;Ox.constructor=Ax;XA(Ox,Fc.prototype);Ox.isPureReactComponent=!0;var y4=Array.isArray,JA=Object.prototype.hasOwnProperty,Rx={current:null},e9={key:!0,ref:!0,__self:!0,__source:!0};function t9(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)JA.call(t,r)&&!e9.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,z=R[V];if(0>>1;Vi(W,L))Xi(F,W)?(R[V]=F,R[X]=L,V=X):(R[V]=W,R[K]=L,V=K);else if(Xi(F,L))R[V]=F,R[X]=L,V=X;else break e}}return D}function i(R,D){var L=R.sortIndex-D.sortIndex;return L!==0?L:R.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,f=3,h=!1,p=!1,m=!1,S=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(R){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=R)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function b(R){if(m=!1,g(R),!p)if(n(l)!==null)p=!0,I(_);else{var D=n(u);D!==null&&M(b,D.startTime-R)}}function _(R,D){p=!1,m&&(m=!1,v(C),C=-1),h=!0;var L=f;try{for(g(D),d=n(l);d!==null&&(!(d.expirationTime>D)||R&&!A());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var z=V(d.expirationTime<=D);D=e.unstable_now(),typeof z=="function"?d.callback=z:d===n(l)&&r(l),g(D)}else r(l);d=n(l)}if(d!==null)var U=!0;else{var K=n(u);K!==null&&M(b,K.startTime-D),U=!1}return U}finally{d=null,f=L,h=!1}}var w=!1,x=null,C=-1,k=5,P=-1;function A(){return!(e.unstable_now()-PR||125V?(R.sortIndex=L,t(u,R),n(l)===null&&R===n(u)&&(m?(v(C),C=-1):m=!0,M(b,L-V))):(R.sortIndex=z,t(l,R),p||h||(p=!0,I(_))),R},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(R){var D=f;return function(){var L=f;f=D;try{return R.apply(this,arguments)}finally{f=L}}}})(o9);i9.exports=o9;var hV=i9.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var s9=E,Ur=hV;function te(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),B_=Object.prototype.hasOwnProperty,pV=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,S4={},_4={};function gV(e){return B_.call(_4,e)?!0:B_.call(S4,e)?!1:pV.test(e)?_4[e]=!0:(S4[e]=!0,!1)}function mV(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function yV(e,t,n,r){if(t===null||typeof t>"u"||mV(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function mr(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var zn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){zn[e]=new mr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];zn[t]=new mr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){zn[e]=new mr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){zn[e]=new mr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){zn[e]=new mr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){zn[e]=new mr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){zn[e]=new mr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){zn[e]=new mr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){zn[e]=new mr(e,5,!1,e.toLowerCase(),null,!1,!1)});var Mx=/[\-:]([a-z])/g;function Nx(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){zn[e]=new mr(e,1,!1,e.toLowerCase(),null,!1,!1)});zn.xlinkHref=new mr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){zn[e]=new mr(e,1,!1,e.toLowerCase(),null,!0,!0)});function Dx(e,t,n,r){var i=zn.hasOwnProperty(t)?zn[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{zb=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?$d(e):""}function vV(e){switch(e.tag){case 5:return $d(e.type);case 16:return $d("Lazy");case 13:return $d("Suspense");case 19:return $d("SuspenseList");case 0:case 2:case 15:return e=Ub(e.type,!1),e;case 11:return e=Ub(e.type.render,!1),e;case 1:return e=Ub(e.type,!0),e;default:return""}}function U_(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vu:return"Fragment";case yu:return"Portal";case j_:return"Profiler";case Lx:return"StrictMode";case V_:return"Suspense";case z_:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case u9:return(e.displayName||"Context")+".Consumer";case l9:return(e._context.displayName||"Context")+".Provider";case $x:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Fx:return t=e.displayName||null,t!==null?t:U_(e.type)||"Memo";case Is:t=e._payload,e=e._init;try{return U_(e(t))}catch{}}return null}function bV(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U_(t);case 8:return t===Lx?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function aa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function d9(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SV(e){var t=d9(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Bp(e){e._valueTracker||(e._valueTracker=SV(e))}function f9(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=d9(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function km(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function G_(e,t){var n=t.checked;return Ft({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function x4(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=aa(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function h9(e,t){t=t.checked,t!=null&&Dx(e,"checked",t,!1)}function H_(e,t){h9(e,t);var n=aa(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?q_(e,t.type,n):t.hasOwnProperty("defaultValue")&&q_(e,t.type,aa(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function C4(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function q_(e,t,n){(t!=="number"||km(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Fd=Array.isArray;function Lu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=jp.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Sf(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},_V=["Webkit","ms","Moz","O"];Object.keys(Yd).forEach(function(e){_V.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Yd[t]=Yd[e]})});function y9(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Yd.hasOwnProperty(e)&&Yd[e]?(""+t).trim():t+"px"}function v9(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=y9(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var wV=Ft({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Y_(e,t){if(t){if(wV[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(te(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(te(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(te(61))}if(t.style!=null&&typeof t.style!="object")throw Error(te(62))}}function X_(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Q_=null;function Bx(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Z_=null,$u=null,Fu=null;function P4(e){if(e=jh(e)){if(typeof Z_!="function")throw Error(te(280));var t=e.stateNode;t&&(t=x0(t),Z_(e.stateNode,e.type,t))}}function b9(e){$u?Fu?Fu.push(e):Fu=[e]:$u=e}function S9(){if($u){var e=$u,t=Fu;if(Fu=$u=null,P4(e),t)for(e=0;e>>=0,e===0?32:31-(MV(e)/NV|0)|0}var Vp=64,zp=4194304;function Bd(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Im(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=Bd(a):(o&=s,o!==0&&(r=Bd(o)))}else s=n&~i,s!==0?r=Bd(s):o!==0&&(r=Bd(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Fh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ni(t),e[t]=n}function FV(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Qd),L4=String.fromCharCode(32),$4=!1;function j9(e,t){switch(e){case"keyup":return fz.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function V9(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var bu=!1;function pz(e,t){switch(e){case"compositionend":return V9(t);case"keypress":return t.which!==32?null:($4=!0,L4);case"textInput":return e=t.data,e===L4&&$4?null:e;default:return null}}function gz(e,t){if(bu)return e==="compositionend"||!Wx&&j9(e,t)?(e=F9(),zg=Gx=zs=null,bu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=V4(n)}}function H9(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?H9(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function q9(){for(var e=window,t=km();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=km(e.document)}return t}function Kx(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Cz(e){var t=q9(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&H9(n.ownerDocument.documentElement,n)){if(r!==null&&Kx(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=z4(n,o);var s=z4(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Su=null,i2=null,Jd=null,o2=!1;function U4(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;o2||Su==null||Su!==km(r)||(r=Su,"selectionStart"in r&&Kx(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Jd&&Ef(Jd,r)||(Jd=r,r=Dm(i2,"onSelect"),0xu||(e.current=d2[xu],d2[xu]=null,xu--)}function mt(e,t){xu++,d2[xu]=e.current,e.current=t}var la={},Zn=_a(la),Pr=_a(!1),ul=la;function ac(e,t){var n=e.type.contextTypes;if(!n)return la;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function kr(e){return e=e.childContextTypes,e!=null}function $m(){_t(Pr),_t(Zn)}function X4(e,t,n){if(Zn.current!==la)throw Error(te(168));mt(Zn,t),mt(Pr,n)}function tO(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(te(108,bV(e)||"Unknown",i));return Ft({},n,r)}function Fm(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||la,ul=Zn.current,mt(Zn,e),mt(Pr,Pr.current),!0}function Q4(e,t,n){var r=e.stateNode;if(!r)throw Error(te(169));n?(e=tO(e,t,ul),r.__reactInternalMemoizedMergedChildContext=e,_t(Pr),_t(Zn),mt(Zn,e)):_t(Pr),mt(Pr,n)}var Ho=null,C0=!1,rS=!1;function nO(e){Ho===null?Ho=[e]:Ho.push(e)}function Lz(e){C0=!0,nO(e)}function wa(){if(!rS&&Ho!==null){rS=!0;var e=0,t=it;try{var n=Ho;for(it=1;e>=s,i-=s,Ko=1<<32-Ni(t)+i|n<C?(k=x,x=null):k=x.sibling;var P=f(v,x,g[C],b);if(P===null){x===null&&(x=k);break}e&&x&&P.alternate===null&&t(v,x),y=o(P,y,C),w===null?_=P:w.sibling=P,w=P,x=k}if(C===g.length)return n(v,x),Pt&&Va(v,C),_;if(x===null){for(;CC?(k=x,x=null):k=x.sibling;var A=f(v,x,P.value,b);if(A===null){x===null&&(x=k);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,C),w===null?_=A:w.sibling=A,w=A,x=k}if(P.done)return n(v,x),Pt&&Va(v,C),_;if(x===null){for(;!P.done;C++,P=g.next())P=d(v,P.value,b),P!==null&&(y=o(P,y,C),w===null?_=P:w.sibling=P,w=P);return Pt&&Va(v,C),_}for(x=r(v,x);!P.done;C++,P=g.next())P=h(x,v,C,P.value,b),P!==null&&(e&&P.alternate!==null&&x.delete(P.key===null?C:P.key),y=o(P,y,C),w===null?_=P:w.sibling=P,w=P);return e&&x.forEach(function($){return t(v,$)}),Pt&&Va(v,C),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===vu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Fp:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===vu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Is&&iT(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=hd(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===vu?(y=nl(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=Xg(g.type,g.key,g.props,null,v.mode,b),b.ref=hd(v,y,g),b.return=v,v=b)}return s(v);case yu:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=dS(g,v.mode,b),y.return=v,v=y}return s(v);case Is:return w=g._init,S(v,y,w(g._payload),b)}if(Fd(g))return p(v,y,g,b);if(ld(g))return m(v,y,g,b);Yp(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=cS(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var uc=cO(!0),dO=cO(!1),Vh={},go=_a(Vh),Of=_a(Vh),Rf=_a(Vh);function Xa(e){if(e===Vh)throw Error(te(174));return e}function rC(e,t){switch(mt(Rf,t),mt(Of,e),mt(go,Vh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:K_(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=K_(t,e)}_t(go),mt(go,t)}function cc(){_t(go),_t(Of),_t(Rf)}function fO(e){Xa(Rf.current);var t=Xa(go.current),n=K_(t,e.type);t!==n&&(mt(Of,e),mt(go,n))}function iC(e){Of.current===e&&(_t(go),_t(Of))}var Mt=_a(0);function Gm(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var iS=[];function oC(){for(var e=0;en?n:4,e(!0);var r=oS.transition;oS.transition={};try{e(!1),t()}finally{it=n,oS.transition=r}}function kO(){return gi().memoizedState}function jz(e,t,n){var r=Qs(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},AO(e))OO(t,n);else if(n=sO(e,t,n,r),n!==null){var i=fr();Di(n,e,r,i),RO(n,t,r)}}function Vz(e,t,n){var r=Qs(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(AO(e))OO(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,ji(a,s)){var l=t.interleaved;l===null?(i.next=i,tC(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=sO(e,t,i,r),n!==null&&(i=fr(),Di(n,e,r,i),RO(n,t,r))}}function AO(e){var t=e.alternate;return e===$t||t!==null&&t===$t}function OO(e,t){ef=Hm=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function RO(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vx(e,n)}}var qm={readContext:pi,useCallback:qn,useContext:qn,useEffect:qn,useImperativeHandle:qn,useInsertionEffect:qn,useLayoutEffect:qn,useMemo:qn,useReducer:qn,useRef:qn,useState:qn,useDebugValue:qn,useDeferredValue:qn,useTransition:qn,useMutableSource:qn,useSyncExternalStore:qn,useId:qn,unstable_isNewReconciler:!1},zz={readContext:pi,useCallback:function(e,t){return Qi().memoizedState=[e,t===void 0?null:t],e},useContext:pi,useEffect:sT,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,qg(4194308,4,xO.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qg(4194308,4,e,t)},useInsertionEffect:function(e,t){return qg(4,2,e,t)},useMemo:function(e,t){var n=Qi();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Qi();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=jz.bind(null,$t,e),[r.memoizedState,e]},useRef:function(e){var t=Qi();return e={current:e},t.memoizedState=e},useState:oT,useDebugValue:cC,useDeferredValue:function(e){return Qi().memoizedState=e},useTransition:function(){var e=oT(!1),t=e[0];return e=Bz.bind(null,e[1]),Qi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=$t,i=Qi();if(Pt){if(n===void 0)throw Error(te(407));n=n()}else{if(n=t(),Tn===null)throw Error(te(349));dl&30||gO(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,sT(yO.bind(null,r,o,e),[e]),r.flags|=2048,Nf(9,mO.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Qi(),t=Tn.identifierPrefix;if(Pt){var n=Yo,r=Ko;n=(r&~(1<<32-Ni(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=If++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[ro]=t,e[Af]=r,jO(e,t,!1,!1),t.stateNode=e;e:{switch(s=X_(n,r),n){case"dialog":vt("cancel",e),vt("close",e),i=r;break;case"iframe":case"object":case"embed":vt("load",e),i=r;break;case"video":case"audio":for(i=0;ifc&&(t.flags|=128,r=!0,pd(o,!1),t.lanes=4194304)}else{if(!r)if(e=Gm(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),pd(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!Pt)return Wn(t),null}else 2*qt()-o.renderingStartTime>fc&&n!==1073741824&&(t.flags|=128,r=!0,pd(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=qt(),t.sibling=null,n=Mt.current,mt(Mt,r?n&1|2:n&1),t):(Wn(t),null);case 22:case 23:return mC(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Fr&1073741824&&(Wn(t),t.subtreeFlags&6&&(t.flags|=8192)):Wn(t),null;case 24:return null;case 25:return null}throw Error(te(156,t.tag))}function Xz(e,t){switch(Xx(t),t.tag){case 1:return kr(t.type)&&$m(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return cc(),_t(Pr),_t(Zn),oC(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return iC(t),null;case 13:if(_t(Mt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(te(340));lc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return _t(Mt),null;case 4:return cc(),null;case 10:return eC(t.type._context),null;case 22:case 23:return mC(),null;case 24:return null;default:return null}}var Qp=!1,Qn=!1,Qz=typeof WeakSet=="function"?WeakSet:Set,de=null;function Pu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){jt(e,t,r)}else n.current=null}function x2(e,t,n){try{n()}catch(r){jt(e,t,r)}}var gT=!1;function Zz(e,t){if(s2=Mm,e=q9(),Kx(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(a2={focusedElem:e,selectionRange:n},Mm=!1,de=t;de!==null;)if(t=de,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,de=e;else for(;de!==null;){t=de;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:Ti(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(te(163))}}catch(b){jt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,de=e;break}de=t.return}return p=gT,gT=!1,p}function tf(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&x2(t,n,o)}i=i.next}while(i!==r)}}function P0(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function C2(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function UO(e){var t=e.alternate;t!==null&&(e.alternate=null,UO(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ro],delete t[Af],delete t[c2],delete t[Nz],delete t[Dz])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function GO(e){return e.tag===5||e.tag===3||e.tag===4}function mT(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||GO(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function T2(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Lm));else if(r!==4&&(e=e.child,e!==null))for(T2(e,t,n),e=e.sibling;e!==null;)T2(e,t,n),e=e.sibling}function E2(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(E2(e,t,n),e=e.sibling;e!==null;)E2(e,t,n),e=e.sibling}var Mn=null,Ei=!1;function Cs(e,t,n){for(n=n.child;n!==null;)HO(e,t,n),n=n.sibling}function HO(e,t,n){if(po&&typeof po.onCommitFiberUnmount=="function")try{po.onCommitFiberUnmount(b0,n)}catch{}switch(n.tag){case 5:Qn||Pu(n,t);case 6:var r=Mn,i=Ei;Mn=null,Cs(e,t,n),Mn=r,Ei=i,Mn!==null&&(Ei?(e=Mn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Mn.removeChild(n.stateNode));break;case 18:Mn!==null&&(Ei?(e=Mn,n=n.stateNode,e.nodeType===8?nS(e.parentNode,n):e.nodeType===1&&nS(e,n),Cf(e)):nS(Mn,n.stateNode));break;case 4:r=Mn,i=Ei,Mn=n.stateNode.containerInfo,Ei=!0,Cs(e,t,n),Mn=r,Ei=i;break;case 0:case 11:case 14:case 15:if(!Qn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&x2(n,t,s),i=i.next}while(i!==r)}Cs(e,t,n);break;case 1:if(!Qn&&(Pu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){jt(n,t,a)}Cs(e,t,n);break;case 21:Cs(e,t,n);break;case 22:n.mode&1?(Qn=(r=Qn)||n.memoizedState!==null,Cs(e,t,n),Qn=r):Cs(e,t,n);break;default:Cs(e,t,n)}}function yT(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Qz),t.forEach(function(r){var i=aU.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function wi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=qt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*eU(r/1960))-r,10e?16:e,Us===null)var r=!1;else{if(e=Us,Us=null,Ym=0,Ye&6)throw Error(te(331));var i=Ye;for(Ye|=4,de=e.current;de!==null;){var o=de,s=o.child;if(de.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lqt()-pC?tl(e,0):hC|=n),Ar(e,t)}function JO(e,t){t===0&&(e.mode&1?(t=zp,zp<<=1,!(zp&130023424)&&(zp=4194304)):t=1);var n=fr();e=as(e,t),e!==null&&(Fh(e,t,n),Ar(e,n))}function sU(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),JO(e,n)}function aU(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(te(314))}r!==null&&r.delete(t),JO(e,n)}var eR;eR=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Pr.current)Cr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Cr=!1,Kz(e,t,n);Cr=!!(e.flags&131072)}else Cr=!1,Pt&&t.flags&1048576&&rO(t,jm,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Wg(e,t),e=t.pendingProps;var i=ac(t,Zn.current);ju(t,n),i=aC(null,t,r,e,i,n);var o=lC();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,kr(r)?(o=!0,Fm(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,nC(t),i.updater=T0,t.stateNode=i,i._reactInternals=t,m2(t,r,e,n),t=b2(null,t,r,!0,o,n)):(t.tag=0,Pt&&o&&Yx(t),cr(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Wg(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=uU(r),e=Ti(r,e),i){case 0:t=v2(null,t,r,e,n);break e;case 1:t=fT(null,t,r,e,n);break e;case 11:t=cT(null,t,r,e,n);break e;case 14:t=dT(null,t,r,Ti(r.type,e),n);break e}throw Error(te(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),v2(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),fT(e,t,r,i,n);case 3:e:{if($O(t),e===null)throw Error(te(387));r=t.pendingProps,o=t.memoizedState,i=o.element,aO(e,t),Um(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=dc(Error(te(423)),t),t=hT(e,t,r,n,i);break e}else if(r!==i){i=dc(Error(te(424)),t),t=hT(e,t,r,n,i);break e}else for(jr=Ks(t.stateNode.containerInfo.firstChild),Vr=t,Pt=!0,ki=null,n=dO(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(lc(),r===i){t=ls(e,t,n);break e}cr(e,t,r,n)}t=t.child}return t;case 5:return fO(t),e===null&&h2(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,l2(r,i)?s=null:o!==null&&l2(r,o)&&(t.flags|=32),LO(e,t),cr(e,t,s,n),t.child;case 6:return e===null&&h2(t),null;case 13:return FO(e,t,n);case 4:return rC(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=uc(t,null,r,n):cr(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),cT(e,t,r,i,n);case 7:return cr(e,t,t.pendingProps,n),t.child;case 8:return cr(e,t,t.pendingProps.children,n),t.child;case 12:return cr(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,mt(Vm,r._currentValue),r._currentValue=s,o!==null)if(ji(o.value,s)){if(o.children===i.children&&!Pr.current){t=ls(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Jo(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),p2(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(te(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),p2(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}cr(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,ju(t,n),i=pi(i),r=r(i),t.flags|=1,cr(e,t,r,n),t.child;case 14:return r=t.type,i=Ti(r,t.pendingProps),i=Ti(r.type,i),dT(e,t,r,i,n);case 15:return NO(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),Wg(e,t),t.tag=1,kr(r)?(e=!0,Fm(t)):e=!1,ju(t,n),uO(t,r,i),m2(t,r,i,n),b2(null,t,r,!0,e,n);case 19:return BO(e,t,n);case 22:return DO(e,t,n)}throw Error(te(156,t.tag))};function tR(e,t){return P9(e,t)}function lU(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ui(e,t,n,r){return new lU(e,t,n,r)}function vC(e){return e=e.prototype,!(!e||!e.isReactComponent)}function uU(e){if(typeof e=="function")return vC(e)?1:0;if(e!=null){if(e=e.$$typeof,e===$x)return 11;if(e===Fx)return 14}return 2}function Zs(e,t){var n=e.alternate;return n===null?(n=ui(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Xg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")vC(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case vu:return nl(n.children,i,o,t);case Lx:s=8,i|=8;break;case j_:return e=ui(12,n,t,i|2),e.elementType=j_,e.lanes=o,e;case V_:return e=ui(13,n,t,i),e.elementType=V_,e.lanes=o,e;case z_:return e=ui(19,n,t,i),e.elementType=z_,e.lanes=o,e;case c9:return A0(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case l9:s=10;break e;case u9:s=9;break e;case $x:s=11;break e;case Fx:s=14;break e;case Is:s=16,r=null;break e}throw Error(te(130,e==null?e:typeof e,""))}return t=ui(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function nl(e,t,n,r){return e=ui(7,e,r,t),e.lanes=n,e}function A0(e,t,n,r){return e=ui(22,e,r,t),e.elementType=c9,e.lanes=n,e.stateNode={isHidden:!1},e}function cS(e,t,n){return e=ui(6,e,null,t),e.lanes=n,e}function dS(e,t,n){return t=ui(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function cU(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Hb(0),this.expirationTimes=Hb(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Hb(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function bC(e,t,n,r,i,o,s,a,l){return e=new cU(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=ui(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},nC(o),e}function dU(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(oR)}catch(e){console.error(e)}}oR(),r9.exports=Kr;var li=r9.exports;const W4e=Cl(li);var TT=li;F_.createRoot=TT.createRoot,F_.hydrateRoot=TT.hydrateRoot;const mU="modulepreload",yU=function(e,t){return new URL(e,t).href},ET={},sR=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=yU(o,r),o in ET)return;ET[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":mU,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var aR={exports:{}},lR={};/** - * @license React - * use-sync-external-store-shim.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var hc=E;function vU(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bU=typeof Object.is=="function"?Object.is:vU,SU=hc.useState,_U=hc.useEffect,wU=hc.useLayoutEffect,xU=hc.useDebugValue;function CU(e,t){var n=t(),r=SU({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return wU(function(){i.value=n,i.getSnapshot=t,fS(i)&&o({inst:i})},[e,n,t]),_U(function(){return fS(i)&&o({inst:i}),e(function(){fS(i)&&o({inst:i})})},[e]),xU(n),n}function fS(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!bU(e,n)}catch{return!0}}function TU(e,t){return t()}var EU=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?TU:CU;lR.useSyncExternalStore=hc.useSyncExternalStore!==void 0?hc.useSyncExternalStore:EU;aR.exports=lR;var PU=aR.exports,uR={exports:{}},cR={};/** - * @license React - * use-sync-external-store-shim/with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var N0=E,kU=PU;function AU(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var OU=typeof Object.is=="function"?Object.is:AU,RU=kU.useSyncExternalStore,IU=N0.useRef,MU=N0.useEffect,NU=N0.useMemo,DU=N0.useDebugValue;cR.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=IU(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=NU(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return d=p}return d=h}if(p=d,OU(c,h))return p;var m=r(h);return i!==void 0&&i(p,m)?p:(c=h,d=m)}var u=!1,c,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var a=RU(e,o[0],o[1]);return MU(function(){s.hasValue=!0,s.value=a},[a]),DU(a),a};uR.exports=cR;var dR=uR.exports;const LU=Cl(dR);function $U(e){e()}let fR=$U;const FU=e=>fR=e,BU=()=>fR,PT=Symbol.for(`react-redux-context-${E.version}`),kT=globalThis;function jU(){let e=kT[PT];return e||(e=E.createContext(null),kT[PT]=e),e}const ua=new Proxy({},new Proxy({},{get(e,t){const n=jU();return(r,...i)=>Reflect[t](n,...i)}}));function xC(e=ua){return function(){return E.useContext(e)}}const hR=xC(),VU=()=>{throw new Error("uSES not initialized!")};let pR=VU;const zU=e=>{pR=e},UU=(e,t)=>e===t;function GU(e=ua){const t=e===ua?hR:xC(e);return function(r,i={}){const{equalityFn:o=UU,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:c,stabilityCheck:d,noopCheck:f}=t();E.useRef(!0);const h=E.useCallback({[r.name](m){return r(m)}}[r.name],[r,d,s]),p=pR(u.addNestedSub,l.getState,c||l.getState,h,o);return E.useDebugValue(p),p}}const gR=GU();function Zm(){return Zm=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const AT={notify(){},get:()=>[]};function nG(e,t){let n,r=AT;function i(d){return l(),r.subscribe(d)}function o(){r.notify()}function s(){c.onStateChange&&c.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=tG())}function u(){n&&(n(),n=void 0,r.clear(),r=AT)}const c={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return c}const rG=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",iG=rG?E.useLayoutEffect:E.useEffect;function OT(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Jm(e,t){if(OT(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=nG(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=E.useMemo(()=>e.getState(),[e]);iG(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||ua;return ze.createElement(l.Provider,{value:s},n)}function _R(e=ua){const t=e===ua?hR:xC(e);return function(){const{store:r}=t();return r}}const wR=_R();function sG(e=ua){const t=e===ua?wR:_R(e);return function(){return t().dispatch}}const xR=sG();zU(dR.useSyncExternalStoreWithSelector);FU(li.unstable_batchedUpdates);function Cn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:tv(e)?2:nv(e)?3:0}function Js(e,t){return ca(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Qg(e,t){return ca(e)===2?e.get(t):e[t]}function CR(e,t,n){var r=ca(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function TR(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function tv(e){return fG&&e instanceof Map}function nv(e){return hG&&e instanceof Set}function bn(e){return e.o||e.t}function OC(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=PR(e);delete t[ke];for(var n=Uu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=aG),Object.freeze(e),t&&us(e,function(n,r){return zh(r,!0)},!0)),e}function aG(){Cn(2)}function RC(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function mo(e){var t=I2[e];return t||Cn(18,e),t}function IC(e,t){I2[e]||(I2[e]=t)}function Lf(){return Ff}function hS(e,t){t&&(mo("Patches"),e.u=[],e.s=[],e.v=t)}function ey(e){R2(e),e.p.forEach(lG),e.p=null}function R2(e){e===Ff&&(Ff=e.l)}function RT(e){return Ff={p:[],l:Ff,h:e,m:!0,_:0}}function lG(e){var t=e[ke];t.i===0||t.i===1?t.j():t.g=!0}function pS(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||mo("ES5").S(t,e,r),r?(n[ke].P&&(ey(t),Cn(4)),Ir(e)&&(e=ty(t,e),t.l||ny(t,e)),t.u&&mo("Patches").M(n[ke].t,e,t.u,t.s)):e=ty(t,n,[]),ey(t),t.u&&t.v(t.u,t.s),e!==iv?e:void 0}function ty(e,t,n){if(RC(t))return t;var r=t[ke];if(!r)return us(t,function(a,l){return IT(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return ny(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=OC(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),us(o,function(a,l){return IT(e,r,i,a,l,n,s)}),ny(e,i,!1),n&&e.u&&mo("Patches").N(r,n,e.u,e.s)}return r.o}function IT(e,t,n,r,i,o,s){if(hr(i)){var a=ty(e,i,o&&t&&t.i!==3&&!Js(t.R,r)?o.concat(r):void 0);if(CR(n,r,a),!hr(a))return;e.m=!1}else s&&n.add(i);if(Ir(i)&&!RC(i)){if(!e.h.D&&e._<1)return;ty(e,i),t&&t.A.l||ny(e,i)}}function ny(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&zh(t,n)}function gS(e,t){var n=e[ke];return(n?bn(n):e)[t]}function MT(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function xr(e){e.P||(e.P=!0,e.l&&xr(e.l))}function mS(e){e.o||(e.o=OC(e.t))}function $f(e,t,n){var r=tv(t)?mo("MapSet").F(t,n):nv(t)?mo("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:Lf(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=Bf;s&&(l=[a],u=Vd);var c=Proxy.revocable(l,u),d=c.revoke,f=c.proxy;return a.k=f,a.j=d,f}(t,n):mo("ES5").J(t,n);return(n?n.A:Lf()).p.push(r),r}function rv(e){return hr(e)||Cn(22,e),function t(n){if(!Ir(n))return n;var r,i=n[ke],o=ca(n);if(i){if(!i.P&&(i.i<4||!mo("ES5").K(i)))return i.t;i.I=!0,r=NT(n,o),i.I=!1}else r=NT(n,o);return us(r,function(s,a){i&&Qg(i.t,s)===a||CR(r,s,t(a))}),o===3?new Set(r):r}(e)}function NT(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return OC(e)}function MC(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[ke];return Bf.get(l,o)},set:function(l){var u=this[ke];Bf.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][ke];if(!a.P)switch(a.i){case 5:r(a)&&xr(a);break;case 4:n(a)&&xr(a)}}}function n(o){for(var s=o.t,a=o.k,l=Uu(a),u=l.length-1;u>=0;u--){var c=l[u];if(c!==ke){var d=s[c];if(d===void 0&&!Js(s,c))return!0;var f=a[c],h=f&&f[ke];if(h?h.t!==d:!TR(f,d))return!0}}var p=!!s[ke];return l.length!==Uu(s).length+(p?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?v-1:0),g=1;g1?c-1:0),f=1;f=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=mo("Patches").$;return hr(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Gr=new kR,AR=Gr.produce,LC=Gr.produceWithPatches.bind(Gr),gG=Gr.setAutoFreeze.bind(Gr),mG=Gr.setUseProxies.bind(Gr),M2=Gr.applyPatches.bind(Gr),yG=Gr.createDraft.bind(Gr),vG=Gr.finishDraft.bind(Gr);const xa=AR,K4e=Object.freeze(Object.defineProperty({__proto__:null,Immer:kR,applyPatches:M2,castDraft:cG,castImmutable:dG,createDraft:yG,current:rv,default:xa,enableAllPlugins:uG,enableES5:MC,enableMapSet:ER,enablePatches:NC,finishDraft:vG,freeze:zh,immerable:zu,isDraft:hr,isDraftable:Ir,nothing:iv,original:AC,produce:AR,produceWithPatches:LC,setAutoFreeze:gG,setUseProxies:mG},Symbol.toStringTag,{value:"Module"}));function jf(e){"@babel/helpers - typeof";return jf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jf(e)}function bG(e,t){if(jf(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(jf(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function SG(e){var t=bG(e,"string");return jf(t)==="symbol"?t:String(t)}function _G(e,t,n){return t=SG(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function FT(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Nn(1));return n(Uh)(e,t)}if(typeof e!="function")throw new Error(Nn(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function c(){if(l)throw new Error(Nn(3));return o}function d(m){if(typeof m!="function")throw new Error(Nn(4));if(l)throw new Error(Nn(5));var S=!0;return u(),a.push(m),function(){if(S){if(l)throw new Error(Nn(6));S=!1,u();var y=a.indexOf(m);a.splice(y,1),s=null}}}function f(m){if(!wG(m))throw new Error(Nn(7));if(typeof m.type>"u")throw new Error(Nn(8));if(l)throw new Error(Nn(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var S=s=a,v=0;v"u")throw new Error(Nn(12));if(typeof n(void 0,{type:pc.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Nn(13))})}function Vc(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Nn(14));d[h]=S,c=c||S!==m}return c=c||o.length!==Object.keys(l).length,c?d:l}}function jT(e,t){return function(){return t(e.apply(this,arguments))}}function RR(e,t){if(typeof e=="function")return jT(e,t);if(typeof e!="object"||e===null)throw new Error(Nn(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=jT(i,t))}return n}function gc(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return ry}function i(a,l){r(a)===ry&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var IR=function(t,n){return t===n};function PG(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(S,v){var y=t?t+"."+S:S;if(l){var g=i.some(function(b){return b instanceof RegExp?b.test(y):y===b});if(g)return"continue"}if(!n(v))return{value:{keyPath:y,value:v}};if(typeof v=="object"&&(s=jR(v,y,n,r,i,o),s))return{value:s}},c=0,d=a;c-1}function UG(e){return""+e}function HR(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function GG(e){return typeof e=="function"}function qR(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?HR(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(GG(e))l=function(){return N2(e())};else{var u=N2(e);l=function(){return u}}function c(d,f){d===void 0&&(d=l());var h=da([o[f.type]],s.filter(function(p){var m=p.matcher;return m(f)}).map(function(p){var m=p.reducer;return m}));return h.filter(function(p){return!!p}).length===0&&(h=[a]),h.reduce(function(p,m){if(m)if(hr(p)){var S=p,v=m(S,f);return v===void 0?p:v}else{if(Ir(p))return xa(p,function(y){return m(y,f)});var v=m(p,f);if(v===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}return p},d)}return c.getInitialState=l,c}function HG(e,t){return e+"/"+t}function zt(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:N2(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(c){var d=r[c],f=HG(t,c),h,p;"reducer"in d?(h=d.reducer,p=d.prepare):h=d,o[c]=h,s[f]=h,a[c]=p?me(f,p):me(f)});function l(){var c=typeof e.extraReducers=="function"?HR(e.extraReducers):[e.extraReducers],d=c[0],f=d===void 0?{}:d,h=c[1],p=h===void 0?[]:h,m=c[2],S=m===void 0?void 0:m,v=Tr(Tr({},f),s);return qR(n,function(y){for(var g in v)y.addCase(g,v[g]);for(var b=0,_=p;b<_.length;b++){var w=_[b];y.addMatcher(w.matcher,w.reducer)}S&&y.addDefaultCase(S)})}var u;return{name:t,reducer:function(c,d){return u||(u=l()),u(c,d)},actions:a,caseReducers:o,getInitialState:function(){return u||(u=l()),u.getInitialState()}}}function qG(){return{ids:[],entities:{}}}function WG(){function e(t){return t===void 0&&(t={}),Object.assign(qG(),t)}return{getInitialState:e}}function KG(){function e(t){var n=function(u){return u.ids},r=function(u){return u.entities},i=Vo(n,r,function(u,c){return u.map(function(d){return c[d]})}),o=function(u,c){return c},s=function(u,c){return u[c]},a=Vo(n,function(u){return u.length});if(!t)return{selectIds:n,selectEntities:r,selectAll:i,selectTotal:a,selectById:Vo(r,o,s)};var l=Vo(t,r);return{selectIds:Vo(t,n),selectEntities:l,selectAll:Vo(t,i),selectTotal:Vo(t,a),selectById:Vo(l,o,s)}}return{getSelectors:e}}function YG(e){var t=Gt(function(n,r){return e(r)});return function(r){return t(r,void 0)}}function Gt(e){return function(n,r){function i(s){return GR(s)}var o=function(s){i(r)?e(r.payload,s):e(r,s)};return hr(n)?(o(n),n):xa(n,o)}}function of(e,t){var n=t(e);return n}function rl(e){return Array.isArray(e)||(e=Object.values(e)),e}function WR(e,t,n){e=rl(e);for(var r=[],i=[],o=0,s=e;o0;if(y){var g=p.filter(function(b){return u(S,b,m)}).length>0;g&&(m.ids=Object.keys(m.entities))}}function f(p,m){return h([p],m)}function h(p,m){var S=WR(p,e,m),v=S[0],y=S[1];d(y,m),n(v,m)}return{removeAll:YG(l),addOne:Gt(t),addMany:Gt(n),setOne:Gt(r),setMany:Gt(i),setAll:Gt(o),updateOne:Gt(c),updateMany:Gt(d),upsertOne:Gt(f),upsertMany:Gt(h),removeOne:Gt(s),removeMany:Gt(a)}}function XG(e,t){var n=KR(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(y,g){return a([y],g)}function a(y,g){y=rl(y);var b=y.filter(function(_){return!(of(_,e)in g.entities)});b.length!==0&&S(b,g)}function l(y,g){return u([y],g)}function u(y,g){y=rl(y),y.length!==0&&S(y,g)}function c(y,g){y=rl(y),g.entities={},g.ids=[],a(y,g)}function d(y,g){return f([y],g)}function f(y,g){for(var b=!1,_=0,w=y;_-1;return n&&r}function qh(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function av(){for(var e=[],t=0;t0)for(var g=h.getState(),b=Array.from(n.values()),_=0,w=b;_=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function pI(e,t){if(e){if(typeof e=="string")return YT(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return YT(e,t)}}function YT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?OH:RH;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function JT(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function eE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){JT(o,r,i,s,a,"next",l)}function a(l){JT(o,r,i,s,a,"throw",l)}s(void 0)})}}var MH=function(){var e=eE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield TH(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=eE(function*(){var p=hI(t.getState(),n);yield IH(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),zC(p,d)||t.dispatch({type:SH,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(wH(f,u)):t.subscribe(_H(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const NH=MH;function zf(e){"@babel/helpers - typeof";return zf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zf(e)}function tE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function wS(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=wS({},r));var o=typeof t=="function"?t:Vc(t);switch(i.type){case F2:return n.state=o(wS(wS({},n.state),i.payload||{}),{type:F2}),n.state;default:return o(r,i)}}},BH=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return NH(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const zd=(e,t)=>Math.floor(e/t)*t,io=(e,t)=>Math.round(e/t)*t;var jH=typeof global=="object"&&global&&global.Object===Object&&global;const mI=jH;var VH=typeof self=="object"&&self&&self.Object===Object&&self,zH=mI||VH||Function("return this")();const ko=zH;var UH=ko.Symbol;const mi=UH;var yI=Object.prototype,GH=yI.hasOwnProperty,HH=yI.toString,md=mi?mi.toStringTag:void 0;function qH(e){var t=GH.call(e,md),n=e[md];try{e[md]=void 0;var r=!0}catch{}var i=HH.call(e);return r&&(t?e[md]=n:delete e[md]),i}var WH=Object.prototype,KH=WH.toString;function YH(e){return KH.call(e)}var XH="[object Null]",QH="[object Undefined]",nE=mi?mi.toStringTag:void 0;function Ta(e){return e==null?e===void 0?QH:XH:nE&&nE in Object(e)?qH(e):YH(e)}function zi(e){return e!=null&&typeof e=="object"}var ZH="[object Symbol]";function uv(e){return typeof e=="symbol"||zi(e)&&Ta(e)==ZH}function UC(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=Oq)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Nq(e){return function(){return e}}var Dq=function(){try{var e=Al(Object,"defineProperty");return e({},"",{}),e}catch{}}();const ly=Dq;var Lq=ly?function(e,t){return ly(e,"toString",{configurable:!0,enumerable:!1,value:Nq(t),writable:!0})}:cv;const $q=Lq;var Fq=Mq($q);const _I=Fq;function wI(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Gq=9007199254740991,Hq=/^(?:0|[1-9]\d*)$/;function dv(e,t){var n=typeof e;return t=t??Gq,!!t&&(n=="number"||n!="symbol"&&Hq.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Kq}function Uc(e){return e!=null&&WC(e.length)&&!GC(e)}function TI(e,t,n){if(!Jn(n))return!1;var r=typeof t;return(r=="number"?Uc(n)&&dv(t,n.length):r=="string"&&t in n)?Xh(n[t],e):!1}function EI(e){return CI(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&TI(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function uK(e,t){var n=this.__data__,r=fv(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function gs(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?MI(a,t-1,n,r,i):JC(i,a):r||(i[i.length]=a)}return i}function kK(e){var t=e==null?0:e.length;return t?MI(e,1):[]}function AK(e){return _I(xI(e,void 0,kK),e+"")}var OK=RI(Object.getPrototypeOf,Object);const e5=OK;var RK="[object Object]",IK=Function.prototype,MK=Object.prototype,NI=IK.toString,NK=MK.hasOwnProperty,DK=NI.call(Object);function DI(e){if(!zi(e)||Ta(e)!=RK)return!1;var t=e5(e);if(t===null)return!0;var n=NK.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&NI.call(n)==DK}function LK(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=t?e:t)),e}function Xo(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=xS(n),n=n===n?n:0),t!==void 0&&(t=xS(t),t=t===t?t:0),WK(xS(e),t,n)}function KK(){this.__data__=new gs,this.size=0}function YK(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function XK(e){return this.__data__.get(e)}function QK(e){return this.__data__.has(e)}var ZK=200;function JK(e,t){var n=this.__data__;if(n instanceof gs){var r=n.__data__;if(!qf||r.lengtha))return!1;var u=o.get(e),c=o.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=n&MX?new Wf:void 0;for(o.set(e,t),o.set(t,e);++d1),o}),zc(e,n5(e),n),r&&(n=af(n,$Q|FQ|BQ,LQ));for(var i=t.length;i--;)r7(n,t[i]);return n});const o5=jQ;function VQ(e,t,n,r){if(!Jn(e))return e;t=Gc(t,e);for(var i=-1,o=t.length,s=o-1,a=e;a!=null&&++i=fZ){var u=t?null:dZ(e);if(u)return i5(u);s=!1,i=KI,l=new Wf}else l=t?[]:a;e:for(;++r{DQ(e,t.payload)}}}),{configChanged:vZ}=p7.actions,bZ=p7.reducer,qc=()=>xR(),cy=gR;function SZ(e){if(e.sheet)return e.sheet;for(var t=0;t0?Ln(Wc,--Mr):0,Sc--,nn===10&&(Sc=1,Sv--),nn}function zr(){return nn=Mr2||Yf(nn)>3?"":" "}function MZ(e,t){for(;--t&&zr()&&!(nn<48||nn>102||nn>57&&nn<65||nn>70&&nn<97););return ep(e,Jg()+(t<6&&yo()==32&&zr()==32))}function Y2(e){for(;zr();)switch(nn){case e:return Mr;case 34:case 39:e!==34&&e!==39&&Y2(nn);break;case 40:e===41&&Y2(e);break;case 92:zr();break}return Mr}function NZ(e,t){for(;zr()&&e+nn!==47+10;)if(e+nn===42+42&&yo()===47)break;return"/*"+ep(t,Mr-1)+"*"+bv(e===47?e:zr())}function DZ(e){for(;!Yf(yo());)zr();return ep(e,Mr)}function LZ(e){return S7(tm("",null,null,null,[""],e=b7(e),0,[0],e))}function tm(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=zr()){case 40:if(p!=108&&Ln(x,d-1)==58){K2(x+=nt(em(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=em(y);break;case 9:case 10:case 13:case 32:x+=IZ(p);break;case 92:x+=MZ(Jg()-1,7);continue;case 47:switch(yo()){case 42:case 47:ng($Z(NZ(zr(),Jg()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=to(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=nt(x,/\f/g,"")),h>0&&to(x)-d&&ng(h>32?ME(x+";",r,n,d-1):ME(nt(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(ng(w=IE(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)tm(x,t,w,w,b,o,d,a,_);else switch(f===99&&Ln(x,3)===110?100:f){case 100:case 108:case 109:case 115:tm(e,w,w,r&&ng(IE(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:tm(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+to(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&RZ()==125)continue}switch(x+=bv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(to(x)-1)*v,v=1;break;case 64:yo()===45&&(x+=em(zr())),f=yo(),c=d=to(g=x+=DZ(Jg())),y++;break;case 45:p===45&&to(x)==2&&(m=0)}}return o}function IE(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=l5(f),p=0,m=0,S=0;p0?f[v]+" "+y:nt(y,/&\f/g,f[v])))&&(l[S++]=g);return _v(e,t,n,i===0?s5:a,l,u,c)}function $Z(e,t,n){return _v(e,t,n,g7,bv(OZ()),Kf(e,2,-2),0)}function ME(e,t,n,r){return _v(e,t,n,a5,Kf(e,0,r),Kf(e,r+1,-1),r)}function Ku(e,t){for(var n="",r=l5(e),i=0;i6)switch(Ln(e,t+1)){case 109:if(Ln(e,t+4)!==45)break;case 102:return nt(e,/(.+:)(.+)-([^]+)/,"$1"+tt+"$2-$3$1"+dy+(Ln(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~K2(e,"stretch")?w7(nt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Ln(e,t+1)!==115)break;case 6444:switch(Ln(e,to(e)-3-(~K2(e,"!important")&&10))){case 107:return nt(e,":",":"+tt)+e;case 101:return nt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+tt+(Ln(e,14)===45?"inline-":"")+"box$3$1"+tt+"$2$3$1"+Kn+"$2box$3")+e}break;case 5936:switch(Ln(e,t+11)){case 114:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return tt+e+Kn+e+e}return e}var qZ=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case a5:t.return=w7(t.value,t.length);break;case m7:return Ku([yd(t,{value:nt(t.value,"@","@"+tt)})],i);case s5:if(t.length)return AZ(t.props,function(o){switch(kZ(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Ku([yd(t,{props:[nt(o,/:(read-\w+)/,":"+dy+"$1")]})],i);case"::placeholder":return Ku([yd(t,{props:[nt(o,/:(plac\w+)/,":"+tt+"input-$1")]}),yd(t,{props:[nt(o,/:(plac\w+)/,":"+dy+"$1")]}),yd(t,{props:[nt(o,/:(plac\w+)/,Kn+"input-$1")]})],i)}return""})}},WZ=[qZ],KZ=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||WZ,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var ZZ={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},JZ=/[A-Z]|^ms/g,eJ=/_EMO_([^_]+?)_([^]*?)_EMO_/g,T7=function(t){return t.charCodeAt(1)===45},LE=function(t){return t!=null&&typeof t!="boolean"},PS=_7(function(e){return T7(e)?e:e.replace(JZ,"-$&").toLowerCase()}),$E=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(eJ,function(r,i,o){return no={name:i,styles:o,next:no},i})}return ZZ[t]!==1&&!T7(t)&&typeof n=="number"&&n!==0?n+"px":n};function Xf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return no={name:n.name,styles:n.styles,next:no},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)no={name:r.name,styles:r.styles,next:no},r=r.next;var i=n.styles+";";return i}return tJ(e,t,n)}case"function":{if(e!==void 0){var o=no,s=n(e);return no=o,Xf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function tJ(e,t,n){var r="";if(Array.isArray(n))for(var i=0;ij.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),gJ=e=>{const{appendToParentPortal:t,children:n}=e,[r,i]=E.useState(null),o=E.useRef(null),[,s]=E.useState({});E.useEffect(()=>s({}),[]);const a=fJ(),l=cJ();Zf(()=>{if(!r)return;const c=r.ownerDocument,d=t?a??c.body:c.body;if(!d)return;o.current=c.createElement("div"),o.current.className=c5,d.appendChild(o.current),s({});const f=o.current;return()=>{d.contains(f)&&d.removeChild(f)}},[r]);const u=l!=null&&l.zIndex?j.jsx(pJ,{zIndex:l==null?void 0:l.zIndex,children:n}):n;return o.current?li.createPortal(j.jsx(A7,{value:o.current,children:u}),o.current):j.jsx("span",{ref:c=>{c&&i(c)}})},mJ=e=>{const{children:t,containerRef:n,appendToParentPortal:r}=e,i=n.current,o=i??(typeof window<"u"?document.body:void 0),s=E.useMemo(()=>{const l=i==null?void 0:i.ownerDocument.createElement("div");return l&&(l.className=c5),l},[i]),[,a]=E.useState({});return Zf(()=>a({}),[]),Zf(()=>{if(!(!s||!o))return o.appendChild(s),()=>{o.removeChild(s)}},[s,o]),o&&s?li.createPortal(j.jsx(A7,{value:r?s:null,children:t}),s):null};function tp(e){const t={appendToParentPortal:!0,...e},{containerRef:n,...r}=t;return n?j.jsx(mJ,{containerRef:n,...r}):j.jsx(gJ,{...r})}tp.className=c5;tp.selector=hJ;tp.displayName="Portal";function wv(){const e=E.useContext(Qf);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}var O7=E.createContext({});O7.displayName="ColorModeContext";function d5(){const e=E.useContext(O7);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function rTe(e,t){const{colorMode:n}=d5();return n==="dark"?t:e}function R7(){const e=d5(),t=wv();return{...e,theme:t}}function yJ(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function vJ(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function iTe(e,t,n){const r=wv();return bJ(e,t,n)(r)}function bJ(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return yJ(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return vJ(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var Gn=(...e)=>e.filter(Boolean).join(" ");function SJ(){return!1}function vo(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var oTe=e=>{const{condition:t,message:n}=e;t&&SJ()&&console.warn(n)};function uo(e,...t){return _J(e)?e(...t):e}var _J=e=>typeof e=="function",Ou=e=>e?"":void 0,Yu=e=>e?!0:void 0;function Dn(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function sTe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var fy={exports:{}};fy.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",C="[object WeakMap]",k="[object ArrayBuffer]",P="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",N="[object Int8Array]",T="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",M="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,V=/^\[object .+?Constructor\]$/,z=/^(?:0|[1-9]\d*)$/,U={};U[A]=U[$]=U[N]=U[T]=U[O]=U[I]=U[M]=U[R]=U[D]=!0,U[a]=U[l]=U[k]=U[c]=U[P]=U[d]=U[f]=U[h]=U[m]=U[S]=U[y]=U[b]=U[_]=U[w]=U[C]=!1;var K=typeof De=="object"&&De&&De.Object===Object&&De,W=typeof self=="object"&&self&&self.Object===Object&&self,X=K||W||Function("return this")(),F=t&&!t.nodeType&&t,q=F&&!0&&e&&!e.nodeType&&e,Q=q&&q.exports===F,J=Q&&K.process,ne=function(){try{var B=q&&q.require&&q.require("util").types;return B||J&&J.binding&&J.binding("util")}catch{}}(),Z=ne&&ne.isTypedArray;function ge(B,G,Y){switch(Y.length){case 0:return B.call(G);case 1:return B.call(G,Y[0]);case 2:return B.call(G,Y[0],Y[1]);case 3:return B.call(G,Y[0],Y[1],Y[2])}return B.apply(G,Y)}function ae(B,G){for(var Y=-1,ue=Array(B);++Y-1}function Lo(B,G){var Y=this.__data__,ue=ql(Y,B);return ue<0?(++this.size,Y.push([B,G])):Y[ue][1]=G,this}On.prototype.clear=Do,On.prototype.delete=_s,On.prototype.get=ws,On.prototype.has=Hl,On.prototype.set=Lo;function sr(B){var G=-1,Y=B==null?0:B.length;for(this.clear();++G1?Y[qe-1]:void 0,Ct=qe>2?Y[2]:void 0;for(dt=B.length>3&&typeof dt=="function"?(qe--,dt):void 0,Ct&&Oj(Y[0],Y[1],Ct)&&(dt=qe<3?void 0:dt,qe=1),G=Object(G);++ue-1&&B%1==0&&B0){if(++G>=i)return arguments[0]}else G=0;return B.apply(void 0,arguments)}}function Fj(B){if(B!=null){try{return Me.call(B)}catch{}try{return B+""}catch{}}return""}function Lp(B,G){return B===G||B!==B&&G!==G}var Nb=Np(function(){return arguments}())?Np:function(B){return sd(B)&&rt.call(B,"callee")&&!Qt.call(B,"callee")},Db=Array.isArray;function Lb(B){return B!=null&&d4(B.length)&&!$b(B)}function Bj(B){return sd(B)&&Lb(B)}var c4=Mo||Gj;function $b(B){if(!Da(B))return!1;var G=Kl(B);return G==h||G==p||G==u||G==g}function d4(B){return typeof B=="number"&&B>-1&&B%1==0&&B<=s}function Da(B){var G=typeof B;return B!=null&&(G=="object"||G=="function")}function sd(B){return B!=null&&typeof B=="object"}function jj(B){if(!sd(B)||Kl(B)!=y)return!1;var G=ie(B);if(G===null)return!0;var Y=rt.call(G,"constructor")&&G.constructor;return typeof Y=="function"&&Y instanceof Y&&Me.call(Y)==an}var f4=Z?oe(Z):od;function Vj(B){return Tj(B,h4(B))}function h4(B){return Lb(B)?kb(B,!0):yj(B)}var zj=Ej(function(B,G,Y,ue){a4(B,G,Y,ue)});function Uj(B){return function(){return B}}function p4(B){return B}function Gj(){return!1}e.exports=zj})(fy,fy.exports);var wJ=fy.exports;const co=Cl(wJ);var xJ=e=>/!(important)?$/.test(e),jE=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,CJ=(e,t)=>n=>{const r=String(t),i=xJ(r),o=jE(r),s=e?`${e}.${o}`:o;let a=vo(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=jE(a),i?`${a} !important`:a};function f5(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=CJ(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var rg=(...e)=>t=>e.reduce((n,r)=>r(n),t);function Jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=f5({scale:e,transform:t}),r}}var TJ=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function EJ(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:TJ(t),transform:n?f5({scale:n,compose:r}):r}}var I7=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function PJ(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...I7].join(" ")}function kJ(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...I7].join(" ")}var AJ={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},OJ={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function RJ(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var IJ={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},X2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},MJ=new Set(Object.values(X2)),Q2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),NJ=e=>e.trim();function DJ(e,t){if(e==null||Q2.has(e))return e;if(!(Z2(e)||Q2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(NJ).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in X2?X2[l]:l;u.unshift(c);const d=u.map(f=>{if(MJ.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=Z2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var Z2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),LJ=(e,t)=>DJ(e,t??{});function $J(e){return/^var\(--.+\)$/.test(e)}var FJ=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Xi=e=>t=>`${e}(${t})`,Xe={filter(e){return e!=="auto"?e:AJ},backdropFilter(e){return e!=="auto"?e:OJ},ring(e){return RJ(Xe.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?PJ():e==="auto-gpu"?kJ():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=FJ(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if($J(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:LJ,blur:Xi("blur"),opacity:Xi("opacity"),brightness:Xi("brightness"),contrast:Xi("contrast"),dropShadow:Xi("drop-shadow"),grayscale:Xi("grayscale"),hueRotate:Xi("hue-rotate"),invert:Xi("invert"),saturate:Xi("saturate"),sepia:Xi("sepia"),bgImage(e){return e==null||Z2(e)||Q2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=IJ[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},H={borderWidths:Jr("borderWidths"),borderStyles:Jr("borderStyles"),colors:Jr("colors"),borders:Jr("borders"),gradients:Jr("gradients",Xe.gradient),radii:Jr("radii",Xe.px),space:Jr("space",rg(Xe.vh,Xe.px)),spaceT:Jr("space",rg(Xe.vh,Xe.px)),degreeT(e){return{property:e,transform:Xe.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:f5({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:Jr("sizes",rg(Xe.vh,Xe.px)),sizesT:Jr("sizes",rg(Xe.vh,Xe.fraction)),shadows:Jr("shadows"),logical:EJ,blur:Jr("blur",Xe.blur)},nm={background:H.colors("background"),backgroundColor:H.colors("backgroundColor"),backgroundImage:H.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:Xe.bgClip},bgSize:H.prop("backgroundSize"),bgPosition:H.prop("backgroundPosition"),bg:H.colors("background"),bgColor:H.colors("backgroundColor"),bgPos:H.prop("backgroundPosition"),bgRepeat:H.prop("backgroundRepeat"),bgAttachment:H.prop("backgroundAttachment"),bgGradient:H.gradients("backgroundImage"),bgClip:{transform:Xe.bgClip}};Object.assign(nm,{bgImage:nm.backgroundImage,bgImg:nm.backgroundImage});var et={border:H.borders("border"),borderWidth:H.borderWidths("borderWidth"),borderStyle:H.borderStyles("borderStyle"),borderColor:H.colors("borderColor"),borderRadius:H.radii("borderRadius"),borderTop:H.borders("borderTop"),borderBlockStart:H.borders("borderBlockStart"),borderTopLeftRadius:H.radii("borderTopLeftRadius"),borderStartStartRadius:H.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:H.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:H.radii("borderTopRightRadius"),borderStartEndRadius:H.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:H.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:H.borders("borderRight"),borderInlineEnd:H.borders("borderInlineEnd"),borderBottom:H.borders("borderBottom"),borderBlockEnd:H.borders("borderBlockEnd"),borderBottomLeftRadius:H.radii("borderBottomLeftRadius"),borderBottomRightRadius:H.radii("borderBottomRightRadius"),borderLeft:H.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:H.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:H.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:H.borders(["borderLeft","borderRight"]),borderInline:H.borders("borderInline"),borderY:H.borders(["borderTop","borderBottom"]),borderBlock:H.borders("borderBlock"),borderTopWidth:H.borderWidths("borderTopWidth"),borderBlockStartWidth:H.borderWidths("borderBlockStartWidth"),borderTopColor:H.colors("borderTopColor"),borderBlockStartColor:H.colors("borderBlockStartColor"),borderTopStyle:H.borderStyles("borderTopStyle"),borderBlockStartStyle:H.borderStyles("borderBlockStartStyle"),borderBottomWidth:H.borderWidths("borderBottomWidth"),borderBlockEndWidth:H.borderWidths("borderBlockEndWidth"),borderBottomColor:H.colors("borderBottomColor"),borderBlockEndColor:H.colors("borderBlockEndColor"),borderBottomStyle:H.borderStyles("borderBottomStyle"),borderBlockEndStyle:H.borderStyles("borderBlockEndStyle"),borderLeftWidth:H.borderWidths("borderLeftWidth"),borderInlineStartWidth:H.borderWidths("borderInlineStartWidth"),borderLeftColor:H.colors("borderLeftColor"),borderInlineStartColor:H.colors("borderInlineStartColor"),borderLeftStyle:H.borderStyles("borderLeftStyle"),borderInlineStartStyle:H.borderStyles("borderInlineStartStyle"),borderRightWidth:H.borderWidths("borderRightWidth"),borderInlineEndWidth:H.borderWidths("borderInlineEndWidth"),borderRightColor:H.colors("borderRightColor"),borderInlineEndColor:H.colors("borderInlineEndColor"),borderRightStyle:H.borderStyles("borderRightStyle"),borderInlineEndStyle:H.borderStyles("borderInlineEndStyle"),borderTopRadius:H.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:H.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:H.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:H.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(et,{rounded:et.borderRadius,roundedTop:et.borderTopRadius,roundedTopLeft:et.borderTopLeftRadius,roundedTopRight:et.borderTopRightRadius,roundedTopStart:et.borderStartStartRadius,roundedTopEnd:et.borderStartEndRadius,roundedBottom:et.borderBottomRadius,roundedBottomLeft:et.borderBottomLeftRadius,roundedBottomRight:et.borderBottomRightRadius,roundedBottomStart:et.borderEndStartRadius,roundedBottomEnd:et.borderEndEndRadius,roundedLeft:et.borderLeftRadius,roundedRight:et.borderRightRadius,roundedStart:et.borderInlineStartRadius,roundedEnd:et.borderInlineEndRadius,borderStart:et.borderInlineStart,borderEnd:et.borderInlineEnd,borderTopStartRadius:et.borderStartStartRadius,borderTopEndRadius:et.borderStartEndRadius,borderBottomStartRadius:et.borderEndStartRadius,borderBottomEndRadius:et.borderEndEndRadius,borderStartRadius:et.borderInlineStartRadius,borderEndRadius:et.borderInlineEndRadius,borderStartWidth:et.borderInlineStartWidth,borderEndWidth:et.borderInlineEndWidth,borderStartColor:et.borderInlineStartColor,borderEndColor:et.borderInlineEndColor,borderStartStyle:et.borderInlineStartStyle,borderEndStyle:et.borderInlineEndStyle});var BJ={color:H.colors("color"),textColor:H.colors("color"),fill:H.colors("fill"),stroke:H.colors("stroke")},J2={boxShadow:H.shadows("boxShadow"),mixBlendMode:!0,blendMode:H.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:H.prop("backgroundBlendMode"),opacity:!0};Object.assign(J2,{shadow:J2.boxShadow});var jJ={filter:{transform:Xe.filter},blur:H.blur("--chakra-blur"),brightness:H.propT("--chakra-brightness",Xe.brightness),contrast:H.propT("--chakra-contrast",Xe.contrast),hueRotate:H.degreeT("--chakra-hue-rotate"),invert:H.propT("--chakra-invert",Xe.invert),saturate:H.propT("--chakra-saturate",Xe.saturate),dropShadow:H.propT("--chakra-drop-shadow",Xe.dropShadow),backdropFilter:{transform:Xe.backdropFilter},backdropBlur:H.blur("--chakra-backdrop-blur"),backdropBrightness:H.propT("--chakra-backdrop-brightness",Xe.brightness),backdropContrast:H.propT("--chakra-backdrop-contrast",Xe.contrast),backdropHueRotate:H.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:H.propT("--chakra-backdrop-invert",Xe.invert),backdropSaturate:H.propT("--chakra-backdrop-saturate",Xe.saturate)},hy={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:Xe.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:H.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:H.space("gap"),rowGap:H.space("rowGap"),columnGap:H.space("columnGap")};Object.assign(hy,{flexDir:hy.flexDirection});var M7={gridGap:H.space("gridGap"),gridColumnGap:H.space("gridColumnGap"),gridRowGap:H.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},VJ={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:Xe.outline},outlineOffset:!0,outlineColor:H.colors("outlineColor")},ni={width:H.sizesT("width"),inlineSize:H.sizesT("inlineSize"),height:H.sizes("height"),blockSize:H.sizes("blockSize"),boxSize:H.sizes(["width","height"]),minWidth:H.sizes("minWidth"),minInlineSize:H.sizes("minInlineSize"),minHeight:H.sizes("minHeight"),minBlockSize:H.sizes("minBlockSize"),maxWidth:H.sizes("maxWidth"),maxInlineSize:H.sizes("maxInlineSize"),maxHeight:H.sizes("maxHeight"),maxBlockSize:H.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:H.propT("float",Xe.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ni,{w:ni.width,h:ni.height,minW:ni.minWidth,maxW:ni.maxWidth,minH:ni.minHeight,maxH:ni.maxHeight,overscroll:ni.overscrollBehavior,overscrollX:ni.overscrollBehaviorX,overscrollY:ni.overscrollBehaviorY});var zJ={listStyleType:!0,listStylePosition:!0,listStylePos:H.prop("listStylePosition"),listStyleImage:!0,listStyleImg:H.prop("listStyleImage")};function UJ(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},HJ=GJ(UJ),qJ={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},WJ={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},kS=(e,t,n)=>{const r={},i=HJ(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},KJ={srOnly:{transform(e){return e===!0?qJ:e==="focusable"?WJ:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>kS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>kS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>kS(t,e,n)}},lf={position:!0,pos:H.prop("position"),zIndex:H.prop("zIndex","zIndices"),inset:H.spaceT("inset"),insetX:H.spaceT(["left","right"]),insetInline:H.spaceT("insetInline"),insetY:H.spaceT(["top","bottom"]),insetBlock:H.spaceT("insetBlock"),top:H.spaceT("top"),insetBlockStart:H.spaceT("insetBlockStart"),bottom:H.spaceT("bottom"),insetBlockEnd:H.spaceT("insetBlockEnd"),left:H.spaceT("left"),insetInlineStart:H.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:H.spaceT("right"),insetInlineEnd:H.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(lf,{insetStart:lf.insetInlineStart,insetEnd:lf.insetInlineEnd});var YJ={ring:{transform:Xe.ring},ringColor:H.colors("--chakra-ring-color"),ringOffset:H.prop("--chakra-ring-offset-width"),ringOffsetColor:H.colors("--chakra-ring-offset-color"),ringInset:H.prop("--chakra-ring-inset")},bt={margin:H.spaceT("margin"),marginTop:H.spaceT("marginTop"),marginBlockStart:H.spaceT("marginBlockStart"),marginRight:H.spaceT("marginRight"),marginInlineEnd:H.spaceT("marginInlineEnd"),marginBottom:H.spaceT("marginBottom"),marginBlockEnd:H.spaceT("marginBlockEnd"),marginLeft:H.spaceT("marginLeft"),marginInlineStart:H.spaceT("marginInlineStart"),marginX:H.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:H.spaceT("marginInline"),marginY:H.spaceT(["marginTop","marginBottom"]),marginBlock:H.spaceT("marginBlock"),padding:H.space("padding"),paddingTop:H.space("paddingTop"),paddingBlockStart:H.space("paddingBlockStart"),paddingRight:H.space("paddingRight"),paddingBottom:H.space("paddingBottom"),paddingBlockEnd:H.space("paddingBlockEnd"),paddingLeft:H.space("paddingLeft"),paddingInlineStart:H.space("paddingInlineStart"),paddingInlineEnd:H.space("paddingInlineEnd"),paddingX:H.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:H.space("paddingInline"),paddingY:H.space(["paddingTop","paddingBottom"]),paddingBlock:H.space("paddingBlock")};Object.assign(bt,{m:bt.margin,mt:bt.marginTop,mr:bt.marginRight,me:bt.marginInlineEnd,marginEnd:bt.marginInlineEnd,mb:bt.marginBottom,ml:bt.marginLeft,ms:bt.marginInlineStart,marginStart:bt.marginInlineStart,mx:bt.marginX,my:bt.marginY,p:bt.padding,pt:bt.paddingTop,py:bt.paddingY,px:bt.paddingX,pb:bt.paddingBottom,pl:bt.paddingLeft,ps:bt.paddingInlineStart,paddingStart:bt.paddingInlineStart,pr:bt.paddingRight,pe:bt.paddingInlineEnd,paddingEnd:bt.paddingInlineEnd});var XJ={textDecorationColor:H.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:H.shadows("textShadow")},QJ={clipPath:!0,transform:H.propT("transform",Xe.transform),transformOrigin:!0,translateX:H.spaceT("--chakra-translate-x"),translateY:H.spaceT("--chakra-translate-y"),skewX:H.degreeT("--chakra-skew-x"),skewY:H.degreeT("--chakra-skew-y"),scaleX:H.prop("--chakra-scale-x"),scaleY:H.prop("--chakra-scale-y"),scale:H.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:H.degreeT("--chakra-rotate")},ZJ={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:H.prop("transitionDuration","transition.duration"),transitionProperty:H.prop("transitionProperty","transition.property"),transitionTimingFunction:H.prop("transitionTimingFunction","transition.easing")},JJ={fontFamily:H.prop("fontFamily","fonts"),fontSize:H.prop("fontSize","fontSizes",Xe.px),fontWeight:H.prop("fontWeight","fontWeights"),lineHeight:H.prop("lineHeight","lineHeights"),letterSpacing:H.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},eee={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:H.spaceT("scrollMargin"),scrollMarginTop:H.spaceT("scrollMarginTop"),scrollMarginBottom:H.spaceT("scrollMarginBottom"),scrollMarginLeft:H.spaceT("scrollMarginLeft"),scrollMarginRight:H.spaceT("scrollMarginRight"),scrollMarginX:H.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:H.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:H.spaceT("scrollPadding"),scrollPaddingTop:H.spaceT("scrollPaddingTop"),scrollPaddingBottom:H.spaceT("scrollPaddingBottom"),scrollPaddingLeft:H.spaceT("scrollPaddingLeft"),scrollPaddingRight:H.spaceT("scrollPaddingRight"),scrollPaddingX:H.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:H.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function N7(e){return vo(e)&&e.reference?e.reference:String(e)}var xv=(e,...t)=>t.map(N7).join(` ${e} `).replace(/calc/g,""),VE=(...e)=>`calc(${xv("+",...e)})`,zE=(...e)=>`calc(${xv("-",...e)})`,ew=(...e)=>`calc(${xv("*",...e)})`,UE=(...e)=>`calc(${xv("/",...e)})`,GE=e=>{const t=N7(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:ew(t,-1)},Wa=Object.assign(e=>({add:(...t)=>Wa(VE(e,...t)),subtract:(...t)=>Wa(zE(e,...t)),multiply:(...t)=>Wa(ew(e,...t)),divide:(...t)=>Wa(UE(e,...t)),negate:()=>Wa(GE(e)),toString:()=>e.toString()}),{add:VE,subtract:zE,multiply:ew,divide:UE,negate:GE});function tee(e,t="-"){return e.replace(/\s+/g,t)}function nee(e){const t=tee(e.toString());return iee(ree(t))}function ree(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function iee(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function oee(e,t=""){return[t,e].filter(Boolean).join("-")}function see(e,t){return`var(${e}${t?`, ${t}`:""})`}function aee(e,t=""){return nee(`--${oee(e,t)}`)}function tw(e,t,n){const r=aee(e,n);return{variable:r,reference:see(r,t)}}function aTe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=tw(`${e}-${i}`,o);continue}n[r]=tw(`${e}-${r}`)}return n}function lee(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function uee(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function nw(e){if(e==null)return e;const{unitless:t}=uee(e);return t||typeof e=="number"?`${e}px`:e}var D7=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,h5=e=>Object.fromEntries(Object.entries(e).sort(D7));function HE(e){const t=h5(e);return Object.assign(Object.values(t),t)}function cee(e){const t=Object.keys(h5(e));return new Set(t)}function qE(e){var t;if(!e)return e;e=(t=nw(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function Ud(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${nw(e)})`),t&&n.push("and",`(max-width: ${nw(t)})`),n.join(" ")}function dee(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=HE(e),r=Object.entries(e).sort(D7).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?qE(d):void 0,{_minW:qE(a),breakpoint:s,minW:a,maxW:d,maxWQuery:Ud(null,d),minWQuery:Ud(a),minMaxQuery:Ud(a,d)}}),i=cee(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:h5(e),asArray:HE(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>Ud(s)).slice(1)],toArrayValue(s){if(!vo(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;lee(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var Rn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},Ts=e=>L7(t=>e(t,"&"),"[role=group]","[data-group]",".group"),$o=e=>L7(t=>e(t,"~ &"),"[data-peer]",".peer"),L7=(e,...t)=>t.map(e).join(", "),Cv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:Ts(Rn.hover),_peerHover:$o(Rn.hover),_groupFocus:Ts(Rn.focus),_peerFocus:$o(Rn.focus),_groupFocusVisible:Ts(Rn.focusVisible),_peerFocusVisible:$o(Rn.focusVisible),_groupActive:Ts(Rn.active),_peerActive:$o(Rn.active),_groupDisabled:Ts(Rn.disabled),_peerDisabled:$o(Rn.disabled),_groupInvalid:Ts(Rn.invalid),_peerInvalid:$o(Rn.invalid),_groupChecked:Ts(Rn.checked),_peerChecked:$o(Rn.checked),_groupFocusWithin:Ts(Rn.focusWithin),_peerFocusWithin:$o(Rn.focusWithin),_peerPlaceholderShown:$o(Rn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},$7=Object.keys(Cv);function WE(e,t){return tw(String(e).replace(/\./g,"-"),void 0,t)}function fee(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=WE(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Wa.negate(a),v=Wa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=WE(p,t==null?void 0:t.cssVarPrefix);return S},d=vo(a)?a:{default:a};n=co(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Cv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function hee(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function pee(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function gee(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function KE(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(gee(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var mee=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function yee(e){return pee(e,mee)}function vee(e){return e.semanticTokens}function bee(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var See=e=>$7.includes(e)||e==="default";function _ee({tokens:e,semanticTokens:t}){const n={};return KE(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),KE(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(See)}),n}function lTe(e){var t;const n=bee(e),r=yee(n),i=vee(n),o=_ee({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=fee(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:dee(n.breakpoints)}),n}var p5=co({},nm,et,BJ,hy,ni,jJ,YJ,VJ,M7,KJ,lf,J2,bt,eee,JJ,XJ,QJ,zJ,ZJ),wee=Object.assign({},bt,ni,hy,M7,lf),uTe=Object.keys(wee),xee=[...Object.keys(p5),...$7],Cee={...p5,...Cv},Tee=e=>e in Cee,Eee=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=uo(e[s],t);if(a==null)continue;if(a=vo(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!kee(t),Oee=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Pee(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Ree(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=uo(o,r),d=Eee(c)(r);let f={};for(let h in d){const p=d[h];let m=uo(p,r);h in n&&(h=n[h]),Aee(h,m)&&(m=Oee(r,m));let S=t[h];if(S===!0&&(S={property:h}),vo(m)){f[h]=(a=f[h])!=null?a:{},f[h]=co({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=uo(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=uo(S.static,r);f=co({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&vo(v)?f=co({},f,v):f[y]=v;continue}if(vo(v)){f=co({},f,v);continue}f[h]=v}return f};return i}var Iee=e=>t=>Ree({theme:t,pseudos:Cv,configs:p5})(e);function cTe(e){return e}function dTe(e){return e}function fTe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Mee(e,t){if(Array.isArray(e))return e;if(vo(e))return t(e);if(e!=null)return[e]}function Nee(e,t){for(let n=t+1;n{co(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?co(u,y):u[v]=y;continue}u[v]=y}}return u}}function Lee(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Dee(o);return co({},uo((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function $ee(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function Ao(e){return hee(e,["styleConfig","size","variant","colorScheme"])}function Fee(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function hTe(e){var t;return Fee(e)&&(t=e.ownerDocument)!=null?t:document}function Bee(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var jee=Bee();function Vee(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function zee(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},Gee=Uee(zee);function F7(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var B7=e=>F7(e,t=>t!=null);function Hee(e){return typeof e=="function"}function qee(e,...t){return Hee(e)?e(...t):e}function Wee(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}const j7=1/60*1e3,Kee=typeof performance<"u"?()=>performance.now():()=>Date.now(),V7=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(Kee()),j7);function Yee(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(e[t]=Yee(()=>Jf=!0),e),{}),Qee=np.reduce((e,t)=>{const n=Tv[t];return e[t]=(r,i=!1,o=!1)=>(Jf||ete(),n.schedule(r,i,o)),e},{}),Zee=np.reduce((e,t)=>(e[t]=Tv[t].cancel,e),{});np.reduce((e,t)=>(e[t]=()=>Tv[t].process(Xu),e),{});const Jee=e=>Tv[e].process(Xu),z7=e=>{Jf=!1,Xu.delta=rw?j7:Math.max(Math.min(e-Xu.timestamp,Xee),1),Xu.timestamp=e,iw=!0,np.forEach(Jee),iw=!1,Jf&&(rw=!1,V7(z7))},ete=()=>{Jf=!0,rw=!0,iw||V7(z7)},YE=()=>Xu;var tte=typeof Element<"u",nte=typeof Map=="function",rte=typeof Set=="function",ite=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function rm(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!rm(e[r],t[r]))return!1;return!0}var o;if(nte&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!rm(r.value[1],t.get(r.value[0])))return!1;return!0}if(rte&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(ite&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(tte&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!rm(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var ote=function(t,n){try{return rm(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const ste=Cl(ote);function U7(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=R7(),a=e?Gee(o,`components.${e}`):void 0,l=r||a,u=co({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},B7(Vee(i,["children"]))),c=E.useRef({});if(l){const f=Lee(l)(u);ste(c.current,f)||(c.current=f)}return c.current}function Ol(e,t={}){return U7(e,t)}function Ev(e,t={}){return U7(e,t)}var ate=new Set([...xee,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),lte=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function ute(e){return lte.has(e)||!ate.has(e)}function cte(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var dte=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,fte=_7(function(e){return dte.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),hte=fte,pte=function(t){return t!=="theme"},XE=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?hte:pte},QE=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},gte=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return x7(n,r,i),rJ(function(){return C7(n,r,i)}),null},mte=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=QE(t,n,r),l=a||XE(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=F7(s,(d,f)=>Tee(f)),l=qee(e,t),u=cte({},i,l,B7(a),o),c=Iee(u)(t.theme);return r?[c,r]:c};function AS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=ute);const i=bte({baseStyle:n}),o=vte(e,r)(i);return ze.forwardRef(function(l,u){const{colorMode:c,forced:d}=d5();return ze.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Ste(){const e=new Map;return new Proxy(AS,{apply(t,n,r){return AS(...r)},get(t,n){return e.has(n)||e.set(n,AS(n)),e.get(n)}})}var Ae=Ste();function Ze(e){return E.forwardRef(e)}var _te=(e,t)=>e.find(n=>n.id===t);function JE(e,t){const n=G7(e,t),r=n?e[n].findIndex(i=>i.id===t):-1;return{position:n,index:r}}function G7(e,t){for(const[n,r]of Object.entries(e))if(_te(r,t))return n}function wte(e){const t=e.includes("right"),n=e.includes("left");let r="center";return t&&(r="flex-end"),n&&(r="flex-start"),{display:"flex",flexDirection:"column",alignItems:r}}function xte(e){const n=e==="top"||e==="bottom"?"0 auto":void 0,r=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,i=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,o=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:n,top:r,bottom:i,right:o,left:s}}function Fn(e,t=[]){const n=E.useRef(e);return E.useEffect(()=>{n.current=e}),E.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Cte(e,t){const n=Fn(e);E.useEffect(()=>{if(t==null)return;let r=null;return r=window.setTimeout(()=>{n()},t),()=>{r&&window.clearTimeout(r)}},[t,n])}function gy(e,t){const n=E.useRef(!1),r=E.useRef(!1);E.useEffect(()=>{if(n.current&&r.current)return e();r.current=!0},t),E.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[])}const H7=E.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),Pv=E.createContext({}),rp=E.createContext(null),kv=typeof document<"u",my=kv?E.useLayoutEffect:E.useEffect,q7=E.createContext({strict:!1});function Tte(e,t,n,r){const{visualElement:i}=E.useContext(Pv),o=E.useContext(q7),s=E.useContext(rp),a=E.useContext(H7).reducedMotion,l=E.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return E.useInsertionEffect(()=>{u&&u.update(n,s)}),my(()=>{u&&u.render()}),E.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?my:E.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function Ru(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Ete(e,t,n){return E.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Ru(n)&&(n.current=r))},[t])}function eh(e){return typeof e=="string"||Array.isArray(e)}function Av(e){return typeof e=="object"&&typeof e.start=="function"}const g5=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],m5=["initial",...g5];function Ov(e){return Av(e.animate)||m5.some(t=>eh(e[t]))}function W7(e){return!!(Ov(e)||e.variants)}function Pte(e,t){if(Ov(e)){const{initial:n,animate:r}=e;return{initial:n===!1||eh(n)?n:void 0,animate:eh(r)?r:void 0}}return e.inherit!==!1?t:{}}function kte(e){const{initial:t,animate:n}=Pte(e,E.useContext(Pv));return E.useMemo(()=>({initial:t,animate:n}),[eP(t),eP(n)])}function eP(e){return Array.isArray(e)?e.join(" "):e}const tP={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},th={};for(const e in tP)th[e]={isEnabled:t=>tP[e].some(n=>!!t[n])};function Ate(e){for(const t in e)th[t]={...th[t],...e[t]}}const y5=E.createContext({}),K7=E.createContext({}),Ote=Symbol.for("motionComponentSymbol");function Rte({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Ate(e);function o(a,l){let u;const c={...E.useContext(H7),...a,layoutId:Ite(a)},{isStatic:d}=c,f=kte(a),h=r(a,d);if(!d&&kv){f.visualElement=Tte(i,h,c,t);const p=E.useContext(K7),m=E.useContext(q7).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return E.createElement(Pv.Provider,{value:f},u&&f.visualElement?E.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Ete(h,f.visualElement,l),h,d,f.visualElement))}const s=E.forwardRef(o);return s[Ote]=i,s}function Ite({layoutId:e}){const t=E.useContext(y5).id;return t&&e!==void 0?t+"-"+e:e}function Mte(e){function t(r,i={}){return Rte(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const Nte=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function v5(e){return typeof e!="string"||e.includes("-")?!1:!!(Nte.indexOf(e)>-1||/[A-Z]/.test(e))}const yy={};function Dte(e){Object.assign(yy,e)}const ip=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rl=new Set(ip);function Y7(e,{layout:t,layoutId:n}){return Rl.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!yy[e]||e==="opacity")}const Nr=e=>!!(e&&e.getVelocity),Lte={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},$te=ip.length;function Fte(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;s<$te;s++){const a=ip[s];if(e[a]!==void 0){const l=Lte[a]||a;o+=`${l}(${e[a]}) `}}return t&&!e.z&&(o+="translateZ(0)"),o=o.trim(),i?o=i(e,r?"":o):n&&r&&(o="none"),o}const X7=e=>t=>typeof t=="string"&&t.startsWith(e),Q7=X7("--"),ow=X7("var(--"),Bte=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,jte=(e,t)=>t&&typeof e=="number"?t.transform(e):e,fa=(e,t,n)=>Math.min(Math.max(n,e),t),Il={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},uf={...Il,transform:e=>fa(0,1,e)},ig={...Il,default:1},cf=e=>Math.round(e*1e5)/1e5,Rv=/(-)?([\d]*\.?[\d])+/g,Z7=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Vte=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function op(e){return typeof e=="string"}const sp=e=>({test:t=>op(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),ks=sp("deg"),bo=sp("%"),we=sp("px"),zte=sp("vh"),Ute=sp("vw"),nP={...bo,parse:e=>bo.parse(e)/100,transform:e=>bo.transform(e*100)},rP={...Il,transform:Math.round},J7={borderWidth:we,borderTopWidth:we,borderRightWidth:we,borderBottomWidth:we,borderLeftWidth:we,borderRadius:we,radius:we,borderTopLeftRadius:we,borderTopRightRadius:we,borderBottomRightRadius:we,borderBottomLeftRadius:we,width:we,maxWidth:we,height:we,maxHeight:we,size:we,top:we,right:we,bottom:we,left:we,padding:we,paddingTop:we,paddingRight:we,paddingBottom:we,paddingLeft:we,margin:we,marginTop:we,marginRight:we,marginBottom:we,marginLeft:we,rotate:ks,rotateX:ks,rotateY:ks,rotateZ:ks,scale:ig,scaleX:ig,scaleY:ig,scaleZ:ig,skew:ks,skewX:ks,skewY:ks,distance:we,translateX:we,translateY:we,translateZ:we,x:we,y:we,z:we,perspective:we,transformPerspective:we,opacity:uf,originX:nP,originY:nP,originZ:we,zIndex:rP,fillOpacity:uf,strokeOpacity:uf,numOctaves:rP};function b5(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(Q7(d)){o[d]=f;continue}const h=J7[d],p=jte(f,h);if(Rl.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Fte(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const S5=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function eM(e,t,n){for(const r in t)!Nr(t[r])&&!Y7(r,n)&&(e[r]=t[r])}function Gte({transformTemplate:e},t,n){return E.useMemo(()=>{const r=S5();return b5(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Hte(e,t,n){const r=e.style||{},i={};return eM(i,r,e),Object.assign(i,Gte(e,t,n)),e.transformValues?e.transformValues(i):i}function qte(e,t,n){const r={},i=Hte(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Wte=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function vy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Wte.has(e)}let tM=e=>!vy(e);function Kte(e){e&&(tM=t=>t.startsWith("on")?!vy(t):e(t))}try{Kte(require("@emotion/is-prop-valid").default)}catch{}function Yte(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(tM(i)||n===!0&&vy(i)||!t&&!vy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iP(e,t,n){return typeof e=="string"?e:we.transform(t+n*e)}function Xte(e,t,n){const r=iP(t,e.x,e.width),i=iP(n,e.y,e.height);return`${r} ${i}`}const Qte={offset:"stroke-dashoffset",array:"stroke-dasharray"},Zte={offset:"strokeDashoffset",array:"strokeDasharray"};function Jte(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?Qte:Zte;e[o.offset]=we.transform(-r);const s=we.transform(t),a=we.transform(n);e[o.array]=`${s} ${a}`}function _5(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(b5(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=Xte(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&Jte(h,s,a,l,!1)}const nM=()=>({...S5(),attrs:{}}),w5=e=>typeof e=="string"&&e.toLowerCase()==="svg";function ene(e,t,n,r){const i=E.useMemo(()=>{const o=nM();return _5(o,t,{enableHardwareAcceleration:!1},w5(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};eM(o,e.style,e),i.style={...o,...i.style}}return i}function tne(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(v5(n)?ene:qte)(r,o,s,n),c={...Yte(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=E.useMemo(()=>Nr(d)?d.get():d,[d]);return E.createElement(n,{...c,children:f})}}const x5=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function rM(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const iM=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function oM(e,t,n,r){rM(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(iM.has(i)?i:x5(i),t.attrs[i])}function C5(e,t){const{style:n}=e,r={};for(const i in n)(Nr(n[i])||t.style&&Nr(t.style[i])||Y7(i,e))&&(r[i]=n[i]);return r}function sM(e,t){const n=C5(e,t);for(const r in e)if(Nr(e[r])||Nr(t[r])){const i=ip.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function T5(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function aM(e){const t=E.useRef(null);return t.current===null&&(t.current=e()),t.current}const by=e=>Array.isArray(e),nne=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),rne=e=>by(e)?e[e.length-1]||0:e;function im(e){const t=Nr(e)?e.get():e;return nne(t)?t.toValue():t}function ine({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:one(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const lM=e=>(t,n)=>{const r=E.useContext(Pv),i=E.useContext(rp),o=()=>ine(e,t,r,i);return n?o():aM(o)};function one(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=im(o[f]);let{initial:s,animate:a}=e;const l=Ov(e),u=W7(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!Av(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=T5(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const sne={useVisualState:lM({scrapeMotionValuesFromProps:sM,createRenderState:nM,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}_5(n,r,{enableHardwareAcceleration:!1},w5(t.tagName),e.transformTemplate),oM(t,n)}})},ane={useVisualState:lM({scrapeMotionValuesFromProps:C5,createRenderState:S5})};function lne(e,{forwardMotionProps:t=!1},n,r){return{...v5(e)?sne:ane,preloadedFeatures:n,useRender:tne(t),createVisualElement:r,Component:e}}function Qo(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const uM=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function Iv(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const une=e=>t=>uM(t)&&e(t,Iv(t));function es(e,t,n,r){return Qo(e,t,une(n),r)}const cne=(e,t)=>n=>t(e(n)),ea=(...e)=>e.reduce(cne);function cM(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oP=cM("dragHorizontal"),sP=cM("dragVertical");function dM(e){let t=!1;if(e==="y")t=sP();else if(e==="x")t=oP();else{const n=oP(),r=sP();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function fM(){const e=dM(!0);return e?(e(),!1):!0}class Ea{constructor(t){this.isMounted=!1,this.node=t}update(){}}const on=e=>e;function dne(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=dne(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,fne),1),i.timestamp=d,i.isProcessing=!0,og.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:og.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>og.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:kt,cancel:cs,state:Xn,steps:OS}=hne(typeof requestAnimationFrame<"u"?requestAnimationFrame:on,!0);function aP(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||fM())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&kt.update(()=>a[r](o,s))};return es(e.current,n,i,{passive:!e.getProps()[r]})}class pne extends Ea{mount(){this.unmount=ea(aP(this.node,!0),aP(this.node,!1))}unmount(){}}class gne extends Ea{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=ea(Qo(this.node.current,"focus",()=>this.onFocus()),Qo(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const hM=(e,t)=>t?e===t?!0:hM(e,t.parentElement):!1;function RS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,Iv(n))}class mne extends Ea{constructor(){super(...arguments),this.removeStartListeners=on,this.removeEndListeners=on,this.removeAccessibleListeners=on,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=es(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();kt.update(()=>{hM(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=es(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=ea(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||RS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&kt.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Qo(this.node.current,"keyup",s),RS("down",(a,l)=>{this.startPress(a,l)})},n=Qo(this.node.current,"keydown",t),r=()=>{this.isPressing&&RS("cancel",(o,s)=>this.cancelPress(o,s))},i=Qo(this.node.current,"blur",r);this.removeAccessibleListeners=ea(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&kt.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!fM()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&kt.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=es(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Qo(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=ea(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const sw=new WeakMap,IS=new WeakMap,yne=e=>{const t=sw.get(e.target);t&&t(e)},vne=e=>{e.forEach(yne)};function bne({root:e,...t}){const n=e||document;IS.has(n)||IS.set(n,{});const r=IS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(vne,{root:e,...t})),r[i]}function Sne(e,t,n){const r=bne(t);return sw.set(e,n),r.observe(e),()=>{sw.delete(e),r.unobserve(e)}}const _ne={some:0,all:1};class wne extends Ea{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:_ne[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return Sne(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(xne(t,n))&&this.startObserver()}unmount(){}}function xne({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Cne={inView:{Feature:wne},tap:{Feature:mne},focus:{Feature:gne},hover:{Feature:pne}};function pM(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function Ene(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function Mv(e,t,n){const r=e.getProps();return T5(r,t,n!==void 0?n:r.custom,Tne(e),Ene(e))}const Pne="framerAppearId",kne="data-"+x5(Pne);let Ane=on,E5=on;const ta=e=>e*1e3,ts=e=>e/1e3,One={current:!1},gM=e=>Array.isArray(e)&&typeof e[0]=="number";function mM(e){return!!(!e||typeof e=="string"&&yM[e]||gM(e)||Array.isArray(e)&&e.every(mM))}const Gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,yM={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Gd([0,.65,.55,1]),circOut:Gd([.55,0,1,.45]),backIn:Gd([.31,.01,.66,-.59]),backOut:Gd([.33,1.53,.69,.99])};function vM(e){if(e)return gM(e)?Gd(e):Array.isArray(e)?e.map(vM):yM[e]}function Rne(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=vM(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lP={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},MS={},bM={};for(const e in lP)bM[e]=()=>(MS[e]===void 0&&(MS[e]=lP[e]()),MS[e]);function Ine(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const SM=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Mne=1e-7,Nne=12;function Dne(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=SM(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>Mne&&++aDne(o,0,1,e,n);return o=>o===0||o===1?o:SM(i(o),t,r)}const Lne=ap(.42,0,1,1),$ne=ap(0,0,.58,1),_M=ap(.42,0,.58,1),Fne=e=>Array.isArray(e)&&typeof e[0]!="number",wM=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,xM=e=>t=>1-e(1-t),CM=e=>1-Math.sin(Math.acos(e)),P5=xM(CM),Bne=wM(P5),TM=ap(.33,1.53,.69,.99),k5=xM(TM),jne=wM(k5),Vne=e=>(e*=2)<1?.5*k5(e):.5*(2-Math.pow(2,-10*(e-1))),zne={linear:on,easeIn:Lne,easeInOut:_M,easeOut:$ne,circIn:CM,circInOut:Bne,circOut:P5,backIn:k5,backInOut:jne,backOut:TM,anticipate:Vne},uP=e=>{if(Array.isArray(e)){E5(e.length===4);const[t,n,r,i]=e;return ap(t,n,r,i)}else if(typeof e=="string")return zne[e];return e},A5=(e,t)=>n=>!!(op(n)&&Vte.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),EM=(e,t,n)=>r=>{if(!op(r))return r;const[i,o,s,a]=r.match(Rv);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},Une=e=>fa(0,255,e),NS={...Il,transform:e=>Math.round(Une(e))},Za={test:A5("rgb","red"),parse:EM("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+NS.transform(e)+", "+NS.transform(t)+", "+NS.transform(n)+", "+cf(uf.transform(r))+")"};function Gne(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const aw={test:A5("#"),parse:Gne,transform:Za.transform},Iu={test:A5("hsl","hue"),parse:EM("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+bo.transform(cf(t))+", "+bo.transform(cf(n))+", "+cf(uf.transform(r))+")"},ur={test:e=>Za.test(e)||aw.test(e)||Iu.test(e),parse:e=>Za.test(e)?Za.parse(e):Iu.test(e)?Iu.parse(e):aw.parse(e),transform:e=>op(e)?e:e.hasOwnProperty("red")?Za.transform(e):Iu.transform(e)},Dt=(e,t,n)=>-n*e+n*t+e;function DS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Hne({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=DS(l,a,e+1/3),o=DS(l,a,e),s=DS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const LS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},qne=[aw,Za,Iu],Wne=e=>qne.find(t=>t.test(e));function cP(e){const t=Wne(e);let n=t.parse(e);return t===Iu&&(n=Hne(n)),n}const PM=(e,t)=>{const n=cP(e),r=cP(t),i={...n};return o=>(i.red=LS(n.red,r.red,o),i.green=LS(n.green,r.green,o),i.blue=LS(n.blue,r.blue,o),i.alpha=Dt(n.alpha,r.alpha,o),Za.transform(i))};function Kne(e){var t,n;return isNaN(e)&&op(e)&&(((t=e.match(Rv))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(Z7))===null||n===void 0?void 0:n.length)||0)>0}const kM={regex:Bte,countKey:"Vars",token:"${v}",parse:on},AM={regex:Z7,countKey:"Colors",token:"${c}",parse:ur.parse},OM={regex:Rv,countKey:"Numbers",token:"${n}",parse:Il.parse};function $S(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function Sy(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&$S(n,kM),$S(n,AM),$S(n,OM),n}function RM(e){return Sy(e).values}function IM(e){const{values:t,numColors:n,numVars:r,tokenised:i}=Sy(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function Xne(e){const t=RM(e);return IM(e)(t.map(Yne))}const ha={test:Kne,parse:RM,createTransformer:IM,getAnimatableNone:Xne},MM=(e,t)=>n=>`${n>0?t:e}`;function NM(e,t){return typeof e=="number"?n=>Dt(e,t,n):ur.test(e)?PM(e,t):e.startsWith("var(")?MM(e,t):LM(e,t)}const DM=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>NM(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=NM(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},LM=(e,t)=>{const n=ha.createTransformer(t),r=Sy(e),i=Sy(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?ea(DM(r.values,i.values),n):MM(e,t)},nh=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dP=(e,t)=>n=>Dt(e,t,n);function Zne(e){return typeof e=="number"?dP:typeof e=="string"?ur.test(e)?PM:LM:Array.isArray(e)?DM:typeof e=="object"?Qne:dP}function Jne(e,t,n){const r=[],i=n||Zne(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=Jne(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(fa(e[0],e[o-1],u)):l}function ere(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=nh(0,t,r);e.push(Dt(n,1,i))}}function tre(e){const t=[0];return ere(t,e.length-1),t}function nre(e,t){return e.map(n=>n*t)}function rre(e,t){return e.map(()=>t||_M).splice(0,e.length-1)}function _y({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=Fne(r)?r.map(uP):uP(r),o={done:!1,value:t[0]},s=nre(n&&n.length===t.length?n:tre(t),e),a=$M(s,t,{ease:Array.isArray(i)?i:rre(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function FM(e,t){return t?e*(1e3/t):0}const ire=5;function BM(e,t,n){const r=Math.max(t-ire,0);return FM(n-e(r),t-r)}const FS=.001,ore=.01,fP=10,sre=.05,are=1;function lre({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;Ane(e<=ta(fP));let s=1-t;s=fa(sre,are,s),e=fa(ore,fP,ts(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=lw(u,s),p=Math.exp(-d);return FS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=lw(Math.pow(u,2),s);return(-i(u)+FS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-FS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=cre(i,o,a);if(e=ta(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const ure=12;function cre(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function hre(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hP(e,fre)&&hP(e,dre)){const n=lre(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function jM({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=hre(r),h=c?-ts(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=ts(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=lw(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=BM(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function pP({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=C=>a!==void 0&&Cl,p=C=>a===void 0?l:l===void 0||Math.abs(a-C)-m*Math.exp(-C/r),g=C=>v+y(C),b=C=>{const k=y(C),P=g(C);f.done=Math.abs(k)<=u,f.value=f.done?v:P};let _,w;const x=C=>{h(f.value)&&(_=C,w=jM({keyframes:[f.value,p(f.value)],velocity:BM(g,C,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:C=>{let k=!1;return!w&&_===void 0&&(k=!0,b(C),x(C)),_!==void 0&&C>_?w.next(C-_):(!k&&b(C),f)}}}const pre=e=>{const t=({timestamp:n})=>e(n);return{start:()=>kt.update(t,!0),stop:()=>cs(t),now:()=>Xn.isProcessing?Xn.timestamp:performance.now()}},gP=2e4;function mP(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gP?1/0:t}const gre={decay:pP,inertia:pP,tween:_y,keyframes:_y,spring:jM};function wy({autoplay:e=!0,delay:t=0,driver:n=pre,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(V=>{m=V})};v();let y;const g=gre[i]||_y;let b;g!==_y&&typeof r[0]!="number"&&(b=$M([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",C=null,k=null,P=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=mP(_));const{calculatedDuration:A}=_;let $=1/0,N=1/0;A!==null&&($=A+s,N=$*(o+1)-s);let T=0;const O=V=>{if(k===null)return;h>0&&(k=Math.min(k,V)),h<0&&(k=Math.min(V-N/h,k)),C!==null?T=C:T=Math.round(V-k)*h;const z=T-t*(h>=0?1:-1),U=h>=0?z<0:z>N;T=Math.max(z,0),x==="finished"&&C===null&&(T=N);let K=T,W=_;if(o){const Q=T/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const Z=!!(J%2);Z&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(W=w));let ge=fa(0,1,ne);T>N&&(ge=a==="reverse"&&Z?1:0),K=ge*$}const X=U?{done:!1,value:r[0]}:W.next(K);b&&(X.value=b(X.value));let{done:F}=X;!U&&A!==null&&(F=h>=0?T>=N:T<=0);const q=C===null&&(x==="finished"||x==="running"&&F);return d&&d(X.value),q&&R(),X},I=()=>{y&&y.stop(),y=void 0},M=()=>{x="idle",I(),m(),v(),k=P=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const V=y.now();l&&l(),C!==null?k=V-C:(!k||x==="finished")&&(k=V),x==="finished"&&v(),P=k,C=null,x="running",y.start()};e&&D();const L={then(V,z){return S.then(V,z)},get time(){return ts(T)},set time(V){V=ta(V),T=V,C!==null||!y||h===0?C=V:k=y.now()-V/h},get duration(){const V=_.calculatedDuration===null?mP(_):_.calculatedDuration;return ts(V)},get speed(){return h},set speed(V){V===h||!y||(h=V,L.time=ts(T))},get state(){return x},play:D,pause:()=>{x="paused",C=T},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),M())},cancel:()=>{P!==null&&O(P),M()},complete:()=>{x="finished"},sample:V=>(k=0,O(V))};return L}const mre=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),sg=10,yre=2e4,vre=(e,t)=>t.type==="spring"||e==="backgroundColor"||!mM(t.ease);function bre(e,t,{onUpdate:n,onComplete:r,...i}){if(!(bM.waapi()&&mre.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(vre(t,i)){const v=wy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{kt.update(m),a(),u()};return p.onfinish=()=>{e.set(Ine(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return ts(p.currentTime||0)},set time(v){p.currentTime=ta(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return ts(d)},play:()=>{s||(p.play(),cs(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=wy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-sg).value,y.sample(v).value,sg)}S()},complete:()=>p.finish(),cancel:S}}function Sre({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:on,pause:on,stop:on,then:o=>(o(),Promise.resolve()),cancel:on,complete:on});return t?wy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const _re={type:"spring",stiffness:500,damping:25,restSpeed:10},wre=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),xre={type:"keyframes",duration:.8},Cre={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Tre=(e,{keyframes:t})=>t.length>2?xre:Rl.has(e)?e.startsWith("scale")?wre(t[1]):_re:Cre,uw=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(ha.test(t)||t==="0")&&!t.startsWith("url(")),Ere=new Set(["brightness","contrast","saturate","opacity"]);function Pre(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Rv)||[];if(!r)return e;const i=n.replace(r,"");let o=Ere.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const kre=/([a-z-]*)\(.*?\)/g,cw={...ha,getAnimatableNone:e=>{const t=e.match(kre);return t?t.map(Pre).join(" "):e}},Are={...J7,color:ur,backgroundColor:ur,outlineColor:ur,fill:ur,stroke:ur,borderColor:ur,borderTopColor:ur,borderRightColor:ur,borderBottomColor:ur,borderLeftColor:ur,filter:cw,WebkitFilter:cw},O5=e=>Are[e];function VM(e,t){let n=O5(e);return n!==cw&&(n=ha),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const zM=e=>/^0[^.\s]+$/.test(e);function Ore(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||zM(e)}function Rre(e,t,n,r){const i=uw(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=UM(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-ta(s);const l=Rre(t,e,n,o),u=l[0],c=l[l.length-1],d=uw(e,u),f=uw(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Ire(o)||(h={...h,...Tre(e,h)}),h.duration&&(h.duration=ta(h.duration)),h.repeatDelay&&(h.repeatDelay=ta(h.repeatDelay)),!d||!f||One.current||o.type===!1)return Sre(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=bre(t,e,h);if(p)return p}return wy(h)};function xy(e){return!!(Nr(e)&&e.add)}const Mre=e=>/^\-?\d*\.?\d+$/.test(e);function I5(e,t){e.indexOf(t)===-1&&e.push(t)}function M5(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class N5{constructor(){this.subscriptions=[]}add(t){return I5(this.subscriptions,t),()=>M5(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Dre{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=Xn;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,kt.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>kt.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=Nre(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new N5);const r=this.events[t].add(n);return t==="change"?()=>{r(),kt.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?FM(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function _c(e,t){return new Dre(e,t)}const GM=e=>t=>t.test(e),Lre={test:e=>e==="auto",parse:e=>e},HM=[Il,we,bo,ks,Ute,zte,Lre],vd=e=>HM.find(GM(e)),$re=[...HM,ur,ha],Fre=e=>$re.find(GM(e));function Bre(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,_c(n))}function jre(e,t){const n=Mv(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=rne(o[s]);Bre(e,s,a)}}function Vre(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&jre(e,s)}),u}function dw(e,t,n={}){const r=Mv(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(qM(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Hre(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Hre(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(qre).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(dw(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function qre(e,t){return e.sortNodePosition(t)}function Wre(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>dw(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=dw(e,t,n);else{const i=typeof t=="function"?Mv(e,t,n.custom):t;r=Promise.all(qM(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const Kre=[...g5].reverse(),Yre=g5.length;function Xre(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Wre(e,n,r)))}function Qre(e){let t=Xre(e);const n=Jre();let r=!0;const i=(l,u)=>{const c=Mv(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const P=Array.isArray(b)?b:[b];let A=P.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,N={...$,...A},T=O=>{k=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in N){const I=A[O],M=$[O];p.hasOwnProperty(O)||(I!==M?by(I)&&by(M)?!pM(I,M)||C?T(O):g.protectedKeys[O]=!0:I!==void 0?T(O):h.add(O):I!==void 0&&h.has(O)?T(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(k=!1),k&&!x&&f.push(...P.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function Zre(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!pM(t,e):!1}function La(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Jre(){return{animate:La(!0),whileInView:La(),whileHover:La(),whileTap:La(),whileDrag:La(),whileFocus:La(),exit:La()}}class eie extends Ea{constructor(t){super(t),t.animationState||(t.animationState=Qre(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),Av(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let tie=0;class nie extends Ea{constructor(){super(...arguments),this.id=tie++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const rie={animation:{Feature:eie},exit:{Feature:nie}},yP=(e,t)=>Math.abs(e-t);function iie(e,t){const n=yP(e.x,t.x),r=yP(e.y,t.y);return Math.sqrt(n**2+r**2)}class WM{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=jS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=iie(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=Xn;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=BS(c,this.transformPagePoint),kt.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=jS(u.type==="pointercancel"?this.lastMoveEventInfo:BS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!uM(t))return;this.handlers=n,this.transformPagePoint=r;const i=Iv(t),o=BS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=Xn;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,jS(o,this.history)),this.removeListeners=ea(es(window,"pointermove",this.handlePointerMove),es(window,"pointerup",this.handlePointerUp),es(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),cs(this.updatePoint)}}function BS(e,t){return t?{point:t(e.point)}:e}function vP(e,t){return{x:e.x-t.x,y:e.y-t.y}}function jS({point:e},t){return{point:e,delta:vP(e,KM(t)),offset:vP(e,oie(t)),velocity:sie(t,.1)}}function oie(e){return e[0]}function KM(e){return e[e.length-1]}function sie(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=KM(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>ta(t)));)n--;if(!r)return{x:0,y:0};const o=ts(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Hr(e){return e.max-e.min}function fw(e,t=0,n=.01){return Math.abs(e-t)<=n}function bP(e,t,n,r=.5){e.origin=r,e.originPoint=Dt(t.min,t.max,e.origin),e.scale=Hr(n)/Hr(t),(fw(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Dt(n.min,n.max,e.origin)-e.originPoint,(fw(e.translate)||isNaN(e.translate))&&(e.translate=0)}function df(e,t,n,r){bP(e.x,t.x,n.x,r?r.originX:void 0),bP(e.y,t.y,n.y,r?r.originY:void 0)}function SP(e,t,n){e.min=n.min+t.min,e.max=e.min+Hr(t)}function aie(e,t,n){SP(e.x,t.x,n.x),SP(e.y,t.y,n.y)}function _P(e,t,n){e.min=t.min-n.min,e.max=e.min+Hr(t)}function ff(e,t,n){_P(e.x,t.x,n.x),_P(e.y,t.y,n.y)}function lie(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?Dt(n,e,r.max):Math.min(e,n)),e}function wP(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function uie(e,{top:t,left:n,bottom:r,right:i}){return{x:wP(e.x,n,i),y:wP(e.y,t,r)}}function xP(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=nh(t.min,t.max-r,e.min):r>i&&(n=nh(e.min,e.max-i,t.min)),fa(0,1,n)}function fie(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const hw=.35;function hie(e=hw){return e===!1?e=0:e===!0&&(e=hw),{x:CP(e,"left","right"),y:CP(e,"top","bottom")}}function CP(e,t,n){return{min:TP(e,t),max:TP(e,n)}}function TP(e,t){return typeof e=="number"?e:e[t]||0}const EP=()=>({translate:0,scale:1,origin:0,originPoint:0}),Mu=()=>({x:EP(),y:EP()}),PP=()=>({min:0,max:0}),en=()=>({x:PP(),y:PP()});function Zi(e){return[e("x"),e("y")]}function YM({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function pie({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function gie(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function VS(e){return e===void 0||e===1}function pw({scale:e,scaleX:t,scaleY:n}){return!VS(e)||!VS(t)||!VS(n)}function Ga(e){return pw(e)||XM(e)||e.z||e.rotate||e.rotateX||e.rotateY}function XM(e){return kP(e.x)||kP(e.y)}function kP(e){return e&&e!=="0%"}function Cy(e,t,n){const r=e-n,i=t*r;return n+i}function AP(e,t,n,r,i){return i!==void 0&&(e=Cy(e,i,r)),Cy(e,n,r)+t}function gw(e,t=0,n=1,r,i){e.min=AP(e.min,t,n,r,i),e.max=AP(e.max,t,n,r,i)}function QM(e,{x:t,y:n}){gw(e.x,t.translate,t.scale,t.originPoint),gw(e.y,n.translate,n.scale,n.originPoint)}function mie(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function Ns(e,t){e.min=e.min+t,e.max=e.max+t}function RP(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=Dt(e.min,e.max,o);gw(e,t[n],t[r],s,t.scale)}const yie=["x","scaleX","originX"],vie=["y","scaleY","originY"];function Nu(e,t){RP(e.x,t,yie),RP(e.y,t,vie)}function ZM(e,t){return YM(gie(e.getBoundingClientRect(),t))}function bie(e,t,n){const r=ZM(e,n),{scroll:i}=t;return i&&(Ns(r.x,i.offset.x),Ns(r.y,i.offset.y)),r}const Sie=new WeakMap;class _ie{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=en(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(Iv(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=dM(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Zi(p=>{let m=this.getAxisMotionValue(p).get()||0;if(bo.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Hr(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&kt.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=wie(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new WM(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&kt.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!ag(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=lie(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&Ru(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=uie(r.layoutBox,t):this.constraints=!1,this.elastic=hie(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Zi(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=fie(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Ru(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=bie(r,i.root,this.visualElement.getTransformPagePoint());let s=cie(i.layout.layoutBox,o);if(n){const a=n(pie(s));this.hasMutatedConstraints=!!a,a&&(s=YM(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Zi(c=>{if(!ag(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(R5(t,r,0,n))}stopAnimation(){Zi(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Zi(n=>{const{drag:r}=this.getProps();if(!ag(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-Dt(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Ru(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Zi(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=die({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Zi(s=>{if(!ag(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(Dt(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;Sie.set(this.visualElement,this);const t=this.visualElement.current,n=es(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();Ru(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Qo(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Zi(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=hw,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function ag(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function wie(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class xie extends Ea{constructor(t){super(t),this.removeGroupControls=on,this.removeListeners=on,this.controls=new _ie(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||on}unmount(){this.removeGroupControls(),this.removeListeners()}}const IP=e=>(t,n)=>{e&&kt.update(()=>e(t,n))};class Cie extends Ea{constructor(){super(...arguments),this.removePointerDownListener=on}onPointerDown(t){this.session=new WM(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:IP(t),onStart:IP(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&kt.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=es(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function Tie(){const e=E.useContext(rp);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=E.useId();return E.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function Eie(){return Pie(E.useContext(rp))}function Pie(e){return e===null?!0:e.isPresent}const om={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MP(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const bd={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(we.test(e))e=parseFloat(e);else return e;const n=MP(e,t.target.x),r=MP(e,t.target.y);return`${n}% ${r}%`}},kie={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=ha.parse(e);if(i.length>5)return r;const o=ha.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=Dt(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class Aie extends ze.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Dte(Oie),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),om.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||kt.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function JM(e){const[t,n]=Tie(),r=E.useContext(y5);return ze.createElement(Aie,{...e,layoutGroup:r,switchLayoutGroup:E.useContext(K7),isPresent:t,safeToRemove:n})}const Oie={borderRadius:{...bd,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:bd,borderTopRightRadius:bd,borderBottomLeftRadius:bd,borderBottomRightRadius:bd,boxShadow:kie},eN=["TopLeft","TopRight","BottomLeft","BottomRight"],Rie=eN.length,NP=e=>typeof e=="string"?parseFloat(e):e,DP=e=>typeof e=="number"||we.test(e);function Iie(e,t,n,r,i,o){i?(e.opacity=Dt(0,n.opacity!==void 0?n.opacity:1,Mie(r)),e.opacityExit=Dt(t.opacity!==void 0?t.opacity:1,0,Nie(r))):o&&(e.opacity=Dt(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(nh(e,t,r))}function $P(e,t){e.min=t.min,e.max=t.max}function ei(e,t){$P(e.x,t.x),$P(e.y,t.y)}function FP(e,t,n,r,i){return e-=t,e=Cy(e,1/n,r),i!==void 0&&(e=Cy(e,1/i,r)),e}function Die(e,t=0,n=1,r=.5,i,o=e,s=e){if(bo.test(t)&&(t=parseFloat(t),t=Dt(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=Dt(o.min,o.max,r);e===o&&(a-=t),e.min=FP(e.min,t,n,a,i),e.max=FP(e.max,t,n,a,i)}function BP(e,t,[n,r,i],o,s){Die(e,t[n],t[r],t[i],t.scale,o,s)}const Lie=["x","scaleX","originX"],$ie=["y","scaleY","originY"];function jP(e,t,n,r){BP(e.x,t,Lie,n?n.x:void 0,r?r.x:void 0),BP(e.y,t,$ie,n?n.y:void 0,r?r.y:void 0)}function VP(e){return e.translate===0&&e.scale===1}function nN(e){return VP(e.x)&&VP(e.y)}function mw(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function zP(e){return Hr(e.x)/Hr(e.y)}class Fie{constructor(){this.members=[]}add(t){I5(this.members,t),t.scheduleRender()}remove(t){if(M5(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function UP(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const Bie=(e,t)=>e.depth-t.depth;class jie{constructor(){this.children=[],this.isDirty=!1}add(t){I5(this.children,t),this.isDirty=!0}remove(t){M5(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Bie),this.isDirty=!1,this.children.forEach(t)}}function Vie(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(cs(r),e(o-t))};return kt.read(r,!0),()=>cs(r)}function zie(e){window.MotionDebug&&window.MotionDebug.record(e)}function Uie(e){return e instanceof SVGElement&&e.tagName!=="svg"}function Gie(e,t,n){const r=Nr(e)?e:_c(e);return r.start(R5("",r,t,n)),r.animation}const GP=["","X","Y","Z"],HP=1e3;let Hie=0;const Ha={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function rN({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Hie++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ha.totalNodes=Ha.resolvedTargetDeltas=Ha.recalculatedProjection=0,this.nodes.forEach(Kie),this.nodes.forEach(Jie),this.nodes.forEach(eoe),this.nodes.forEach(Yie),zie(Ha)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=Vie(f,250),om.hasAnimatedSinceResize&&(om.hasAnimatedSinceResize=!1,this.nodes.forEach(WP))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||ooe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!mw(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...UM(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||WP(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,cs(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(toe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(Xie),this.sharedNodes.forEach(noe)}scheduleUpdateProjection(){kt.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){kt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;KP(d.x,s.x,_),KP(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(ff(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),roe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&mw(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=en()),ei(g,this.relativeTarget)),m&&(this.animationValues=c,Iie(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(cs(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=kt.update(()=>{om.hasAnimatedSinceResize=!0,this.currentAnimation=Gie(0,HP,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HP),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&iN(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||en();const d=Hr(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Hr(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}ei(a,l),Nu(a,c),df(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new Fie),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(qP),this.root.sharedNodes.clear()}}}function qie(e){e.updateLayout()}function Wie(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Zi(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Hr(f);f.min=r[d].min,f.max=f.min+h}):iN(o,n.layoutBox,r)&&Zi(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Hr(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=Mu();df(a,r,n.layoutBox);const l=Mu();s?df(l,e.applyTransform(i,!0),n.measuredBox):df(l,r,n.layoutBox);const u=!nN(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=en();ff(p,n.layoutBox,f.layoutBox);const m=en();ff(m,r,h.layoutBox),mw(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Kie(e){Ha.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Yie(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Xie(e){e.clearSnapshot()}function qP(e){e.clearMeasurements()}function Qie(e){e.isLayoutDirty=!1}function Zie(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function WP(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Jie(e){e.resolveTargetDelta()}function eoe(e){e.calcProjection()}function toe(e){e.resetRotation()}function noe(e){e.removeLeadSnapshot()}function KP(e,t,n){e.translate=Dt(t.translate,0,n),e.scale=Dt(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function YP(e,t,n,r){e.min=Dt(t.min,n.min,r),e.max=Dt(t.max,n.max,r)}function roe(e,t,n,r){YP(e.x,t.x,n.x,r),YP(e.y,t.y,n.y,r)}function ioe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const ooe={duration:.45,ease:[.4,0,.1,1]};function XP(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function soe(e){XP(e.x),XP(e.y)}function iN(e,t,n){return e==="position"||e==="preserve-aspect"&&!fw(zP(t),zP(n),.2)}const aoe=rN({attachResizeListener:(e,t)=>Qo(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),zS={current:void 0},oN=rN({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!zS.current){const e=new aoe({});e.mount(window),e.setOptions({layoutScroll:!0}),zS.current=e}return zS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),loe={pan:{Feature:Cie},drag:{Feature:xie,ProjectionNode:oN,MeasureLayout:JM}},uoe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function coe(e){const t=uoe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function yw(e,t,n=1){const[r,i]=coe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():ow(i)?yw(i,t,n+1):i}function doe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!ow(o))return;const s=yw(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!ow(o))continue;const s=yw(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const foe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),sN=e=>foe.has(e),hoe=e=>Object.keys(e).some(sN),QP=e=>e===Il||e===we,ZP=(e,t)=>parseFloat(e.split(", ")[t]),JP=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZP(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZP(o[1],e):0}},poe=new Set(["x","y","z"]),goe=ip.filter(e=>!poe.has(e));function moe(e){const t=[];return goe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const wc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JP(4,13),y:JP(5,14)};wc.translateX=wc.x;wc.translateY=wc.y;const yoe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=wc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=wc[u](l,o)}),e},voe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(sN);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=vd(c);const f=t[l];let h;if(by(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=vd(c);for(let S=m;S=0?window.pageYOffset:null,u=yoe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),kv&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function boe(e,t,n,r){return hoe(t)?voe(e,t,n,r):{target:t,transitionEnd:r}}const Soe=(e,t,n,r)=>{const i=doe(e,t,r);return t=i.target,r=i.transitionEnd,boe(e,t,n,r)},vw={current:null},aN={current:!1};function _oe(){if(aN.current=!0,!!kv)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>vw.current=e.matches;e.addListener(t),t()}else vw.current=!1}function woe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(Nr(o))e.addValue(i,o),xy(r)&&r.add(i);else if(Nr(s))e.addValue(i,_c(o,{owner:e})),xy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,_c(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e6=new WeakMap,lN=Object.keys(th),xoe=lN.length,t6=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Coe=m5.length;class Toe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>kt.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=Ov(n),this.isVariantNode=W7(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&Nr(f)&&(f.set(a[d],!1),xy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e6.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),aN.current||_oe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:vw.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e6.delete(this.current),this.projection&&this.projection.unmount(),cs(this.notifyUpdate),cs(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rl.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&kt.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):en()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=_c(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=T5(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!Nr(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new N5),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class uN extends Toe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Ure(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Vre(this,r,s);const a=Soe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Eoe(e){return window.getComputedStyle(e)}class Poe extends uN{readValueFromInstance(t,n){if(Rl.has(n)){const r=O5(n);return r&&r.default||0}else{const r=Eoe(t),i=(Q7(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return ZM(t,n)}build(t,n,r,i){b5(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return C5(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Nr(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){rM(t,n,r,i)}}class koe extends uN{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rl.has(n)){const r=O5(n);return r&&r.default||0}return n=iM.has(n)?n:x5(n),t.getAttribute(n)}measureInstanceViewportBox(){return en()}scrapeMotionValuesFromProps(t,n){return sM(t,n)}build(t,n,r,i){_5(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){oM(t,n,r,i)}mount(t){this.isSVGTag=w5(t.tagName),super.mount(t)}}const Aoe=(e,t)=>v5(e)?new koe(t,{enableHardwareAcceleration:!1}):new Poe(t,{enableHardwareAcceleration:!0}),Ooe={layout:{ProjectionNode:oN,MeasureLayout:JM}},Roe={...rie,...Cne,...loe,...Ooe},D5=Mte((e,t)=>lne(e,t,Roe,Aoe));function cN(){const e=E.useRef(!1);return my(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Ioe(){const e=cN(),[t,n]=E.useState(0),r=E.useCallback(()=>{e.current&&n(t+1)},[t]);return[E.useCallback(()=>kt.postRender(r),[r]),t]}class Moe extends E.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Noe({children:e,isPresent:t}){const n=E.useId(),r=E.useRef(null),i=E.useRef({width:0,height:0,top:0,left:0});return E.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` - [data-motion-pop-id="${n}"] { - position: absolute !important; - width: ${o}px !important; - height: ${s}px !important; - top: ${a}px !important; - left: ${l}px !important; - } - `),()=>{document.head.removeChild(u)}},[t]),E.createElement(Moe,{isPresent:t,childRef:r,sizeRef:i},E.cloneElement(e,{ref:r}))}const US=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=aM(Doe),l=E.useId(),u=E.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return E.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),E.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=E.createElement(Noe,{isPresent:n},e)),E.createElement(rp.Provider,{value:u},e)};function Doe(){return new Map}function Loe(e){return E.useEffect(()=>()=>e(),[])}const cu=e=>e.key||"";function $oe(e,t){e.forEach(n=>{const r=cu(n);t.set(r,n)})}function Foe(e){const t=[];return E.Children.forEach(e,n=>{E.isValidElement(n)&&t.push(n)}),t}const L5=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=E.useContext(y5).forceRender||Ioe()[0],l=cN(),u=Foe(e);let c=u;const d=E.useRef(new Map).current,f=E.useRef(c),h=E.useRef(new Map).current,p=E.useRef(!0);if(my(()=>{p.current=!1,$oe(u,h),f.current=c}),Loe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return E.createElement(E.Fragment,null,c.map(y=>E.createElement(US,{key:cu(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(cu),S=u.map(cu),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const C=f.current.findIndex(k=>k.key===g);if(f.current.splice(C,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=E.createElement(US,{key:cu(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:E.createElement(US,{key:cu(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),E.createElement(E.Fragment,null,d.size?c:c.map(y=>E.cloneElement(y)))};var Boe={initial:e=>{const{position:t}=e,n=["top","bottom"].includes(t)?"y":"x";let r=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(r=1),{opacity:0,[n]:r*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},dN=E.memo(e=>{const{id:t,message:n,onCloseComplete:r,onRequestRemove:i,requestClose:o=!1,position:s="bottom",duration:a=5e3,containerStyle:l,motionVariants:u=Boe,toastSpacing:c="0.5rem"}=e,[d,f]=E.useState(a),h=Eie();gy(()=>{h||r==null||r()},[h]),gy(()=>{f(a)},[a]);const p=()=>f(null),m=()=>f(a),S=()=>{h&&i()};E.useEffect(()=>{h&&o&&i()},[h,o,i]),Cte(S,d);const v=E.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:c,...l}),[l,c]),y=E.useMemo(()=>wte(s),[s]);return j.jsx(D5.div,{layout:!0,className:"chakra-toast",variants:u,initial:"initial",animate:"animate",exit:"exit",onHoverStart:p,onHoverEnd:m,custom:{position:s},style:y,children:j.jsx(Ae.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:v,children:uo(n,{id:t,onClose:S})})})});dN.displayName="ToastComponent";function joe(e,t){var n;const r=e??"bottom",o={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[r];return(n=o==null?void 0:o[t])!=null?n:r}var n6={path:j.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[j.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),j.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),j.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},Ml=Ze((e,t)=>{const{as:n,viewBox:r,color:i="currentColor",focusable:o=!1,children:s,className:a,__css:l,...u}=e,c=Gn("chakra-icon",a),d=Ol("Icon",e),f={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...l,...d},h={ref:t,focusable:o,className:c,__css:f},p=r??n6.viewBox;if(n&&typeof n!="string")return j.jsx(Ae.svg,{as:n,...h,...u});const m=s??n6.path;return j.jsx(Ae.svg,{verticalAlign:"middle",viewBox:p,...h,...u,children:m})});Ml.displayName="Icon";function Voe(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function zoe(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function r6(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var Uoe=aJ({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Nv=Ze((e,t)=>{const n=Ol("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=Ao(e),u=Gn("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${Uoe} ${o} linear infinite`,...n};return j.jsx(Ae.div,{ref:t,__css:c,className:u,...l,children:r&&j.jsx(Ae.span,{srOnly:!0,children:r})})});Nv.displayName="Spinner";var[Goe,$5]=Si({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[Hoe,F5]=Si({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),fN={info:{icon:zoe,colorScheme:"blue"},warning:{icon:r6,colorScheme:"orange"},success:{icon:Voe,colorScheme:"green"},error:{icon:r6,colorScheme:"red"},loading:{icon:Nv,colorScheme:"blue"}};function qoe(e){return fN[e].colorScheme}function Woe(e){return fN[e].icon}var hN=Ze(function(t,n){const r=F5(),{status:i}=$5(),o={display:"inline",...r.description};return j.jsx(Ae.div,{ref:n,"data-status":i,...t,className:Gn("chakra-alert__desc",t.className),__css:o})});hN.displayName="AlertDescription";function pN(e){const{status:t}=$5(),n=Woe(t),r=F5(),i=t==="loading"?r.spinner:r.icon;return j.jsx(Ae.span,{display:"inherit","data-status":t,...e,className:Gn("chakra-alert__icon",e.className),__css:i,children:e.children||j.jsx(n,{h:"100%",w:"100%"})})}pN.displayName="AlertIcon";var gN=Ze(function(t,n){const r=F5(),{status:i}=$5();return j.jsx(Ae.div,{ref:n,"data-status":i,...t,className:Gn("chakra-alert__title",t.className),__css:r.title})});gN.displayName="AlertTitle";var mN=Ze(function(t,n){var r;const{status:i="info",addRole:o=!0,...s}=Ao(t),a=(r=t.colorScheme)!=null?r:qoe(i),l=Ev("Alert",{...t,colorScheme:a}),u={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return j.jsx(Goe,{value:{status:i},children:j.jsx(Hoe,{value:l,children:j.jsx(Ae.div,{"data-status":i,role:o?"alert":void 0,ref:n,...s,className:Gn("chakra-alert",t.className),__css:u})})})});mN.displayName="Alert";function Koe(e){return j.jsx(Ml,{focusable:"false","aria-hidden":!0,...e,children:j.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var yN=Ze(function(t,n){const r=Ol("CloseButton",t),{children:i,isDisabled:o,__css:s,...a}=Ao(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return j.jsx(Ae.button,{type:"button","aria-label":"Close",ref:n,disabled:o,__css:{...l,...r,...s},...a,children:i||j.jsx(Koe,{width:"1em",height:"1em"})})});yN.displayName="CloseButton";var Yoe={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},oo=Xoe(Yoe);function Xoe(e){let t=e;const n=new Set,r=i=>{t=i(t),n.forEach(o=>o())};return{getState:()=>t,subscribe:i=>(n.add(i),()=>{r(()=>e),n.delete(i)}),removeToast:(i,o)=>{r(s=>({...s,[o]:s[o].filter(a=>a.id!=i)}))},notify:(i,o)=>{const s=Qoe(i,o),{position:a,id:l}=s;return r(u=>{var c,d;const h=a.includes("top")?[s,...(c=u[a])!=null?c:[]]:[...(d=u[a])!=null?d:[],s];return{...u,[a]:h}}),l},update:(i,o)=>{i&&r(s=>{const a={...s},{position:l,index:u}=JE(a,i);return l&&u!==-1&&(a[l][u]={...a[l][u],...o,message:vN(o)}),a})},closeAll:({positions:i}={})=>{r(o=>(i??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,u)=>(l[u]=o[u].map(c=>({...c,requestClose:!0})),l),{...o}))},close:i=>{r(o=>{const s=G7(o,i);return s?{...o,[s]:o[s].map(a=>a.id==i?{...a,requestClose:!0}:a)}:o})},isActive:i=>!!JE(oo.getState(),i).position}}var i6=0;function Qoe(e,t={}){var n,r;i6+=1;const i=(n=t.id)!=null?n:i6,o=(r=t.position)!=null?r:"bottom";return{id:i,message:e,position:o,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>oo.removeToast(String(i),o),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Zoe=e=>{const{status:t,variant:n="solid",id:r,title:i,isClosable:o,onClose:s,description:a,colorScheme:l,icon:u}=e,c=r?{root:`toast-${r}`,title:`toast-${r}-title`,description:`toast-${r}-description`}:void 0;return j.jsxs(mN,{addRole:!1,status:t,variant:n,id:c==null?void 0:c.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[j.jsx(pN,{children:u}),j.jsxs(Ae.div,{flex:"1",maxWidth:"100%",children:[i&&j.jsx(gN,{id:c==null?void 0:c.title,children:i}),a&&j.jsx(hN,{id:c==null?void 0:c.description,display:"block",children:a})]}),o&&j.jsx(yN,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function vN(e={}){const{render:t,toastComponent:n=Zoe}=e;return i=>typeof t=="function"?t({...i,...e}):j.jsx(n,{...i,...e})}function Joe(e,t){const n=i=>{var o;return{...t,...i,position:joe((o=i==null?void 0:i.position)!=null?o:t==null?void 0:t.position,e)}},r=i=>{const o=n(i),s=vN(o);return oo.notify(s,o)};return r.update=(i,o)=>{oo.update(i,n(o))},r.promise=(i,o)=>{const s=r({...o.loading,status:"loading",duration:null});i.then(a=>r.update(s,{status:"success",duration:5e3,...uo(o.success,a)})).catch(a=>r.update(s,{status:"error",duration:5e3,...uo(o.error,a)}))},r.closeAll=oo.closeAll,r.close=oo.close,r.isActive=oo.isActive,r}var[gTe,ese]=Si({name:"ToastOptionsContext",strict:!1}),mTe=e=>{const t=E.useSyncExternalStore(oo.subscribe,oo.getState,oo.getState),{motionVariants:n,component:r=dN,portalProps:i}=e,s=Object.keys(t).map(a=>{const l=t[a];return j.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${a}`,style:xte(a),children:j.jsx(L5,{initial:!1,children:l.map(u=>j.jsx(r,{motionVariants:n,...u},u.id))})},a)});return j.jsx(tp,{...i,children:s})};function tse(e){const{theme:t}=R7(),n=ese();return E.useMemo(()=>Joe(t.direction,{...n,...e}),[e,t.direction,n])}function nse(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function fi(...e){return t=>{e.forEach(n=>{nse(n,t)})}}function rse(...e){return E.useMemo(()=>fi(...e),e)}function ise(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:i=(f,h)=>f!==h}=e,o=Fn(r),s=Fn(i),[a,l]=E.useState(n),u=t!==void 0,c=u?t:a,d=Fn(f=>{const p=typeof f=="function"?f(c):f;s(c,p)&&(u||l(p),o(p))},[u,o,c,s]);return[c,d]}var bw=Ze(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return j.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});bw.displayName="NativeImage";function ose(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=E.useState("pending");E.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=E.useRef(),f=E.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Zf(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var sse=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function ase(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var B5=Ze(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=ose({...t,crossOrigin:d,ignoreFallback:S}),y=sse(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:ase(p,["onError","onLoad"])};return y?i||j.jsx(Ae.img,{as:bw,className:"chakra-image__placeholder",src:r,...g}):j.jsx(Ae.img,{as:bw,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});B5.displayName="Image";function lse(e){return E.Children.toArray(e).filter(t=>E.isValidElement(t))}var[yTe,use]=Si({strict:!1,name:"ButtonGroupContext"});function cse(e){const[t,n]=E.useState(!e);return{ref:E.useCallback(o=>{o&&n(o.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Sw(e){const{children:t,className:n,...r}=e,i=E.isValidElement(t)?E.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=Gn("chakra-button__icon",n);return j.jsx(Ae.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:o,children:i})}Sw.displayName="ButtonIcon";function _w(e){const{label:t,placement:n,spacing:r="0.5rem",children:i=j.jsx(Nv,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:s,...a}=e,l=Gn("chakra-button__spinner",o),u=n==="start"?"marginEnd":"marginStart",c=E.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[u]:t?r:0,fontSize:"1em",lineHeight:"normal",...s}),[s,t,u,r]);return j.jsx(Ae.div,{className:l,...a,__css:c,children:i})}_w.displayName="ButtonSpinner";var bN=Ze((e,t)=>{const n=use(),r=Ol("Button",{...n,...e}),{isDisabled:i=n==null?void 0:n.isDisabled,isLoading:o,isActive:s,children:a,leftIcon:l,rightIcon:u,loadingText:c,iconSpacing:d="0.5rem",type:f,spinner:h,spinnerPlacement:p="start",className:m,as:S,...v}=Ao(e),y=E.useMemo(()=>{const w={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:w}}},[r,n]),{ref:g,type:b}=cse(S),_={rightIcon:u,leftIcon:l,iconSpacing:d,children:a};return j.jsxs(Ae.button,{ref:rse(t,g),as:S,type:f??b,"data-active":Ou(s),"data-loading":Ou(o),__css:y,className:Gn("chakra-button",m),...v,disabled:i||o,children:[o&&p==="start"&&j.jsx(_w,{className:"chakra-button__spinner--start",label:c,placement:"start",spacing:d,children:h}),o?c||j.jsx(Ae.span,{opacity:0,children:j.jsx(o6,{..._})}):j.jsx(o6,{..._}),o&&p==="end"&&j.jsx(_w,{className:"chakra-button__spinner--end",label:c,placement:"end",spacing:d,children:h})]})});bN.displayName="Button";function o6(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:i}=e;return j.jsxs(j.Fragment,{children:[t&&j.jsx(Sw,{marginEnd:i,children:t}),r,n&&j.jsx(Sw,{marginStart:i,children:n})]})}var SN=Ze((e,t)=>{const{icon:n,children:r,isRound:i,"aria-label":o,...s}=e,a=n||r,l=E.isValidElement(a)?E.cloneElement(a,{"aria-hidden":!0,focusable:!1}):null;return j.jsx(bN,{padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":o,...s,children:l})});SN.displayName="IconButton";var[dse,_N]=Si({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[fse,Dv]=Si({strict:!1,name:"FormControlContext"});function hse(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:i,isReadOnly:o,...s}=e,a=E.useId(),l=t||`field-${a}`,u=`${l}-label`,c=`${l}-feedback`,d=`${l}-helptext`,[f,h]=E.useState(!1),[p,m]=E.useState(!1),[S,v]=E.useState(!1),y=E.useCallback((x={},C=null)=>({id:d,...x,ref:fi(C,k=>{k&&m(!0)})}),[d]),g=E.useCallback((x={},C=null)=>({...x,ref:C,"data-focus":Ou(S),"data-disabled":Ou(i),"data-invalid":Ou(r),"data-readonly":Ou(o),id:x.id!==void 0?x.id:u,htmlFor:x.htmlFor!==void 0?x.htmlFor:l}),[l,i,S,r,o,u]),b=E.useCallback((x={},C=null)=>({id:c,...x,ref:fi(C,k=>{k&&h(!0)}),"aria-live":"polite"}),[c]),_=E.useCallback((x={},C=null)=>({...x,...s,ref:C,role:"group"}),[s]),w=E.useCallback((x={},C=null)=>({...x,ref:C,role:"presentation","aria-hidden":!0,children:x.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!o,isDisabled:!!i,isFocused:!!S,onFocus:()=>v(!0),onBlur:()=>v(!1),hasFeedbackText:f,setHasFeedbackText:h,hasHelpText:p,setHasHelpText:m,id:l,labelId:u,feedbackId:c,helpTextId:d,htmlProps:s,getHelpTextProps:y,getErrorMessageProps:b,getRootProps:_,getLabelProps:g,getRequiredIndicatorProps:w}}var wN=Ze(function(t,n){const r=Ev("Form",t),i=Ao(t),{getRootProps:o,htmlProps:s,...a}=hse(i),l=Gn("chakra-form-control",t.className);return j.jsx(fse,{value:a,children:j.jsx(dse,{value:r,children:j.jsx(Ae.div,{...o({},n),className:l,__css:r.container})})})});wN.displayName="FormControl";var pse=Ze(function(t,n){const r=Dv(),i=_N(),o=Gn("chakra-form__helper-text",t.className);return j.jsx(Ae.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:i.helperText,className:o})});pse.displayName="FormHelperText";var xN=Ze(function(t,n){var r;const i=Ol("FormLabel",t),o=Ao(t),{className:s,children:a,requiredIndicator:l=j.jsx(CN,{}),optionalIndicator:u=null,...c}=o,d=Dv(),f=(r=d==null?void 0:d.getLabelProps(c,n))!=null?r:{ref:n,...c};return j.jsxs(Ae.label,{...f,className:Gn("chakra-form__label",o.className),__css:{display:"block",textAlign:"start",...i},children:[a,d!=null&&d.isRequired?l:u]})});xN.displayName="FormLabel";var CN=Ze(function(t,n){const r=Dv(),i=_N();if(!(r!=null&&r.isRequired))return null;const o=Gn("chakra-form__required-indicator",t.className);return j.jsx(Ae.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:i.requiredIndicator,className:o})});CN.displayName="RequiredIndicator";function vTe(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:i,...o}=TN(e);return{...o,disabled:t,readOnly:r,required:i,"aria-invalid":Yu(n),"aria-required":Yu(i),"aria-readonly":Yu(r)}}function TN(e){var t,n,r;const i=Dv(),{id:o,disabled:s,readOnly:a,required:l,isRequired:u,isInvalid:c,isReadOnly:d,isDisabled:f,onFocus:h,onBlur:p,...m}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return i!=null&&i.hasFeedbackText&&(i!=null&&i.isInvalid)&&S.push(i.feedbackId),i!=null&&i.hasHelpText&&S.push(i.helpTextId),{...m,"aria-describedby":S.join(" ")||void 0,id:o??(i==null?void 0:i.id),isDisabled:(t=s??f)!=null?t:i==null?void 0:i.isDisabled,isReadOnly:(n=a??d)!=null?n:i==null?void 0:i.isReadOnly,isRequired:(r=l??u)!=null?r:i==null?void 0:i.isRequired,isInvalid:c??(i==null?void 0:i.isInvalid),onFocus:Dn(i==null?void 0:i.onFocus,h),onBlur:Dn(i==null?void 0:i.onBlur,p)}}function gse(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function j5(e,t){let n=gse(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function ww(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function s6(e,t,n){return(e-t)*100/(n-t)}function mse(e,t,n){return(n-t)*e+t}function a6(e,t,n){const r=Math.round((e-t)/n)*n+t,i=ww(n);return j5(r,i)}function sm(e,t,n){return e==null?e:(n{var P;return r==null?"":(P=GS(r,o,n))!=null?P:""}),f=typeof i<"u",h=f?i:c,p=EN(As(h),o),m=n??p,S=E.useCallback(P=>{P!==h&&(f||d(P.toString()),u==null||u(P.toString(),As(P)))},[u,f,h]),v=E.useCallback(P=>{let A=P;return l&&(A=sm(A,s,a)),j5(A,m)},[m,l,a,s]),y=E.useCallback((P=o)=>{let A;h===""?A=As(P):A=As(h)+P,A=v(A),S(A)},[v,o,S,h]),g=E.useCallback((P=o)=>{let A;h===""?A=As(-P):A=As(h)-P,A=v(A),S(A)},[v,o,S,h]),b=E.useCallback(()=>{var P;let A;r==null?A="":A=(P=GS(r,o,n))!=null?P:s,S(A)},[r,n,o,S,s]),_=E.useCallback(P=>{var A;const $=(A=GS(P,o,m))!=null?A:s;S($)},[m,o,S,s]),w=As(h);return{isOutOfRange:w>a||w{const o=typeof e=="function"?e():e??document;if(!(!n||!o))return o.addEventListener(t,i,r),()=>{o.removeEventListener(t,i,r)}},[t,e,r,i,n]),()=>{const o=typeof e=="function"?e():e??document;o==null||o.removeEventListener(t,i,r)}}function PN(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function vse(e){var t;if(!PN(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function bTe(e){var t,n;return(n=(t=kN(e))==null?void 0:t.defaultView)!=null?n:window}function kN(e){return PN(e)?e.ownerDocument:document}function STe(e){return kN(e).activeElement}function bse(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:i}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+i+r)}function Sse(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function AN(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:vse(e)&&bse(e)?e:AN(Sse(e))}var _se=jee?E.useLayoutEffect:E.useEffect;function l6(e,t=[]){const n=E.useRef(e);return _se(()=>{n.current=e}),E.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function wse(e,t){const n=E.useId();return E.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function xse(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Cse(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=l6(n),s=l6(t),[a,l]=E.useState(e.defaultIsOpen||!1),[u,c]=xse(r,a),d=wse(i,"disclosure"),f=E.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=E.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=E.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:Wee(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}function Tse(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):vo(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ON=e=>j.jsx(Ae.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});ON.displayName="StackItem";function Ese(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":Tse(n,i=>r[i])}}var RN=Ze((e,t)=>{const{isInline:n,direction:r,align:i,justify:o,spacing:s="0.5rem",wrap:a,children:l,divider:u,className:c,shouldWrapChildren:d,...f}=e,h=n?"row":r??"column",p=E.useMemo(()=>Ese({spacing:s,direction:h}),[s,h]),m=!!u,S=!d&&!m,v=E.useMemo(()=>{const g=lse(l);return S?g:g.map((b,_)=>{const w=typeof b.key<"u"?b.key:_,x=_+1===g.length,k=d?j.jsx(ON,{children:b},w):b;if(!m)return k;const P=E.cloneElement(u,{__css:p}),A=x?null:P;return j.jsxs(E.Fragment,{children:[k,A]},w)})},[u,p,m,S,d,l]),y=Gn("chakra-stack",c);return j.jsx(Ae.div,{ref:t,display:"flex",alignItems:i,justifyContent:o,flexDirection:h,flexWrap:a,gap:m?void 0:s,className:y,...f,children:v})});RN.displayName="Stack";var IN=Ze((e,t)=>j.jsx(RN,{align:"center",...e,direction:"row",ref:t}));IN.displayName="HStack";var xw=Ze(function(t,n){const r=Ol("Heading",t),{className:i,...o}=Ao(t);return j.jsx(Ae.h2,{ref:n,className:Gn("chakra-heading",t.className),...o,__css:r})});xw.displayName="Heading";var V5=Ae("div");V5.displayName="Box";var MN=Ze(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return j.jsx(V5,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});MN.displayName="Square";var Pse=Ze(function(t,n){const{size:r,...i}=t;return j.jsx(MN,{size:r,ref:n,borderRadius:"9999px",...i})});Pse.displayName="Circle";var z5=Ze(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return j.jsx(Ae.div,{ref:n,__css:d,...c})});z5.displayName="Flex";var Xl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),$n={arrowShadowColor:Xl("--popper-arrow-shadow-color"),arrowSize:Xl("--popper-arrow-size","8px"),arrowSizeHalf:Xl("--popper-arrow-size-half"),arrowBg:Xl("--popper-arrow-bg"),transformOrigin:Xl("--popper-transform-origin"),arrowOffset:Xl("--popper-arrow-offset")};function kse(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var Ase={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},Ose=e=>Ase[e],u6={scroll:!0,resize:!0};function Rse(e){let t;return typeof e=="object"?t={enabled:!0,options:{...u6,...e}}:t={enabled:e,options:u6},t}var Ise={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},Mse={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{c6(e)},effect:({state:e})=>()=>{c6(e)}},c6=e=>{e.elements.popper.style.setProperty($n.transformOrigin.var,Ose(e.placement))},Nse={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Dse(e)}},Dse=e=>{var t;if(!e.placement)return;const n=Lse(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:$n.arrowSize.varRef,height:$n.arrowSize.varRef,zIndex:-1});const r={[$n.arrowSizeHalf.var]:`calc(${$n.arrowSize.varRef} / 2 - 1px)`,[$n.arrowOffset.var]:`calc(${$n.arrowSizeHalf.varRef} * -1)`};for(const i in r)e.elements.arrow.style.setProperty(i,r[i])}},Lse=e=>{if(e.startsWith("top"))return{property:"bottom",value:$n.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:$n.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:$n.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:$n.arrowOffset.varRef}},$se={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{d6(e)},effect:({state:e})=>()=>{d6(e)}},d6=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=kse(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:$n.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},Fse={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},Bse={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function jse(e,t="ltr"){var n,r;const i=((n=Fse[e])==null?void 0:n[t])||e;return t==="ltr"?i:(r=Bse[e])!=null?r:i}var Or="top",yi="bottom",vi="right",Rr="left",U5="auto",lp=[Or,yi,vi,Rr],xc="start",rh="end",Vse="clippingParents",NN="viewport",Sd="popper",zse="reference",f6=lp.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+rh])},[]),DN=[].concat(lp,[U5]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+rh])},[]),Use="beforeRead",Gse="read",Hse="afterRead",qse="beforeMain",Wse="main",Kse="afterMain",Yse="beforeWrite",Xse="write",Qse="afterWrite",Zse=[Use,Gse,Hse,qse,Wse,Kse,Yse,Xse,Qse];function wo(e){return e?(e.nodeName||"").toLowerCase():null}function qr(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function gl(e){var t=qr(e).Element;return e instanceof t||e instanceof Element}function hi(e){var t=qr(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function G5(e){if(typeof ShadowRoot>"u")return!1;var t=qr(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Jse(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!hi(o)||!wo(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(s){var a=i[s];a===!1?o.removeAttribute(s):o.setAttribute(s,a===!0?"":a)}))})}function eae(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],o=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),a=s.reduce(function(l,u){return l[u]="",l},{});!hi(i)||!wo(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const tae={name:"applyStyles",enabled:!0,phase:"write",fn:Jse,effect:eae,requires:["computeStyles"]};function So(e){return e.split("-")[0]}var il=Math.max,Ty=Math.min,Cc=Math.round;function Cw(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function LN(){return!/^((?!chrome|android).)*safari/i.test(Cw())}function Tc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&hi(e)&&(i=e.offsetWidth>0&&Cc(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Cc(r.height)/e.offsetHeight||1);var s=gl(e)?qr(e):window,a=s.visualViewport,l=!LN()&&n,u=(r.left+(l&&a?a.offsetLeft:0))/i,c=(r.top+(l&&a?a.offsetTop:0))/o,d=r.width/i,f=r.height/o;return{width:d,height:f,top:c,right:u+d,bottom:c+f,left:u,x:u,y:c}}function H5(e){var t=Tc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function $N(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&G5(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ds(e){return qr(e).getComputedStyle(e)}function nae(e){return["table","td","th"].indexOf(wo(e))>=0}function Pa(e){return((gl(e)?e.ownerDocument:e.document)||window.document).documentElement}function Lv(e){return wo(e)==="html"?e:e.assignedSlot||e.parentNode||(G5(e)?e.host:null)||Pa(e)}function h6(e){return!hi(e)||ds(e).position==="fixed"?null:e.offsetParent}function rae(e){var t=/firefox/i.test(Cw()),n=/Trident/i.test(Cw());if(n&&hi(e)){var r=ds(e);if(r.position==="fixed")return null}var i=Lv(e);for(G5(i)&&(i=i.host);hi(i)&&["html","body"].indexOf(wo(i))<0;){var o=ds(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function up(e){for(var t=qr(e),n=h6(e);n&&nae(n)&&ds(n).position==="static";)n=h6(n);return n&&(wo(n)==="html"||wo(n)==="body"&&ds(n).position==="static")?t:n||rae(e)||t}function q5(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function hf(e,t,n){return il(e,Ty(t,n))}function iae(e,t,n){var r=hf(e,t,n);return r>n?n:r}function FN(){return{top:0,right:0,bottom:0,left:0}}function BN(e){return Object.assign({},FN(),e)}function jN(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var oae=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,BN(typeof t!="number"?t:jN(t,lp))};function sae(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,a=So(n.placement),l=q5(a),u=[Rr,vi].indexOf(a)>=0,c=u?"height":"width";if(!(!o||!s)){var d=oae(i.padding,n),f=H5(o),h=l==="y"?Or:Rr,p=l==="y"?yi:vi,m=n.rects.reference[c]+n.rects.reference[l]-s[l]-n.rects.popper[c],S=s[l]-n.rects.reference[l],v=up(o),y=v?l==="y"?v.clientHeight||0:v.clientWidth||0:0,g=m/2-S/2,b=d[h],_=y-f[c]-d[p],w=y/2-f[c]/2+g,x=hf(b,w,_),C=l;n.modifiersData[r]=(t={},t[C]=x,t.centerOffset=x-w,t)}}function aae(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||$N(t.elements.popper,i)&&(t.elements.arrow=i))}const lae={name:"arrow",enabled:!0,phase:"main",fn:sae,effect:aae,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ec(e){return e.split("-")[1]}var uae={top:"auto",right:"auto",bottom:"auto",left:"auto"};function cae(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:Cc(n*i)/i||0,y:Cc(r*i)/i||0}}function p6(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,s=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,d=e.isFixed,f=s.x,h=f===void 0?0:f,p=s.y,m=p===void 0?0:p,S=typeof c=="function"?c({x:h,y:m}):{x:h,y:m};h=S.x,m=S.y;var v=s.hasOwnProperty("x"),y=s.hasOwnProperty("y"),g=Rr,b=Or,_=window;if(u){var w=up(n),x="clientHeight",C="clientWidth";if(w===qr(n)&&(w=Pa(n),ds(w).position!=="static"&&a==="absolute"&&(x="scrollHeight",C="scrollWidth")),w=w,i===Or||(i===Rr||i===vi)&&o===rh){b=yi;var k=d&&w===_&&_.visualViewport?_.visualViewport.height:w[x];m-=k-r.height,m*=l?1:-1}if(i===Rr||(i===Or||i===yi)&&o===rh){g=vi;var P=d&&w===_&&_.visualViewport?_.visualViewport.width:w[C];h-=P-r.width,h*=l?1:-1}}var A=Object.assign({position:a},u&&uae),$=c===!0?cae({x:h,y:m},qr(n)):{x:h,y:m};if(h=$.x,m=$.y,l){var N;return Object.assign({},A,(N={},N[b]=y?"0":"",N[g]=v?"0":"",N.transform=(_.devicePixelRatio||1)<=1?"translate("+h+"px, "+m+"px)":"translate3d("+h+"px, "+m+"px, 0)",N))}return Object.assign({},A,(t={},t[b]=y?m+"px":"",t[g]=v?h+"px":"",t.transform="",t))}function dae(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,s=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,u={placement:So(t.placement),variation:Ec(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,p6(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,p6(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const fae={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:dae,data:{}};var lg={passive:!0};function hae(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,s=r.resize,a=s===void 0?!0:s,l=qr(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(c){c.addEventListener("scroll",n.update,lg)}),a&&l.addEventListener("resize",n.update,lg),function(){o&&u.forEach(function(c){c.removeEventListener("scroll",n.update,lg)}),a&&l.removeEventListener("resize",n.update,lg)}}const pae={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:hae,data:{}};var gae={left:"right",right:"left",bottom:"top",top:"bottom"};function lm(e){return e.replace(/left|right|bottom|top/g,function(t){return gae[t]})}var mae={start:"end",end:"start"};function g6(e){return e.replace(/start|end/g,function(t){return mae[t]})}function W5(e){var t=qr(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function K5(e){return Tc(Pa(e)).left+W5(e).scrollLeft}function yae(e,t){var n=qr(e),r=Pa(e),i=n.visualViewport,o=r.clientWidth,s=r.clientHeight,a=0,l=0;if(i){o=i.width,s=i.height;var u=LN();(u||!u&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:s,x:a+K5(e),y:l}}function vae(e){var t,n=Pa(e),r=W5(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=il(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),s=il(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-r.scrollLeft+K5(e),l=-r.scrollTop;return ds(i||n).direction==="rtl"&&(a+=il(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}function Y5(e){var t=ds(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function VN(e){return["html","body","#document"].indexOf(wo(e))>=0?e.ownerDocument.body:hi(e)&&Y5(e)?e:VN(Lv(e))}function pf(e,t){var n;t===void 0&&(t=[]);var r=VN(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=qr(r),s=i?[o].concat(o.visualViewport||[],Y5(r)?r:[]):r,a=t.concat(s);return i?a:a.concat(pf(Lv(s)))}function Tw(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function bae(e,t){var n=Tc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function m6(e,t,n){return t===NN?Tw(yae(e,n)):gl(t)?bae(t,n):Tw(vae(Pa(e)))}function Sae(e){var t=pf(Lv(e)),n=["absolute","fixed"].indexOf(ds(e).position)>=0,r=n&&hi(e)?up(e):e;return gl(r)?t.filter(function(i){return gl(i)&&$N(i,r)&&wo(i)!=="body"}):[]}function _ae(e,t,n,r){var i=t==="clippingParents"?Sae(e):[].concat(t),o=[].concat(i,[n]),s=o[0],a=o.reduce(function(l,u){var c=m6(e,u,r);return l.top=il(c.top,l.top),l.right=Ty(c.right,l.right),l.bottom=Ty(c.bottom,l.bottom),l.left=il(c.left,l.left),l},m6(e,s,r));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function zN(e){var t=e.reference,n=e.element,r=e.placement,i=r?So(r):null,o=r?Ec(r):null,s=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(i){case Or:l={x:s,y:t.y-n.height};break;case yi:l={x:s,y:t.y+t.height};break;case vi:l={x:t.x+t.width,y:a};break;case Rr:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var u=i?q5(i):null;if(u!=null){var c=u==="y"?"height":"width";switch(o){case xc:l[u]=l[u]-(t[c]/2-n[c]/2);break;case rh:l[u]=l[u]+(t[c]/2-n[c]/2);break}}return l}function ih(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.strategy,s=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?Vse:a,u=n.rootBoundary,c=u===void 0?NN:u,d=n.elementContext,f=d===void 0?Sd:d,h=n.altBoundary,p=h===void 0?!1:h,m=n.padding,S=m===void 0?0:m,v=BN(typeof S!="number"?S:jN(S,lp)),y=f===Sd?zse:Sd,g=e.rects.popper,b=e.elements[p?y:f],_=_ae(gl(b)?b:b.contextElement||Pa(e.elements.popper),l,c,s),w=Tc(e.elements.reference),x=zN({reference:w,element:g,strategy:"absolute",placement:i}),C=Tw(Object.assign({},g,x)),k=f===Sd?C:w,P={top:_.top-k.top+v.top,bottom:k.bottom-_.bottom+v.bottom,left:_.left-k.left+v.left,right:k.right-_.right+v.right},A=e.modifiersData.offset;if(f===Sd&&A){var $=A[i];Object.keys(P).forEach(function(N){var T=[vi,yi].indexOf(N)>=0?1:-1,O=[Or,yi].indexOf(N)>=0?"y":"x";P[N]+=$[O]*T})}return P}function wae(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?DN:l,c=Ec(r),d=c?a?f6:f6.filter(function(p){return Ec(p)===c}):lp,f=d.filter(function(p){return u.indexOf(p)>=0});f.length===0&&(f=d);var h=f.reduce(function(p,m){return p[m]=ih(e,{placement:m,boundary:i,rootBoundary:o,padding:s})[So(m)],p},{});return Object.keys(h).sort(function(p,m){return h[p]-h[m]})}function xae(e){if(So(e)===U5)return[];var t=lm(e);return[g6(e),t,g6(t)]}function Cae(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,s=n.altAxis,a=s===void 0?!0:s,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,p=h===void 0?!0:h,m=n.allowedAutoPlacements,S=t.options.placement,v=So(S),y=v===S,g=l||(y||!p?[lm(S)]:xae(S)),b=[S].concat(g).reduce(function(K,W){return K.concat(So(W)===U5?wae(t,{placement:W,boundary:c,rootBoundary:d,padding:u,flipVariations:p,allowedAutoPlacements:m}):W)},[]),_=t.rects.reference,w=t.rects.popper,x=new Map,C=!0,k=b[0],P=0;P=0,O=T?"width":"height",I=ih(t,{placement:A,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),M=T?N?vi:Rr:N?yi:Or;_[O]>w[O]&&(M=lm(M));var R=lm(M),D=[];if(o&&D.push(I[$]<=0),a&&D.push(I[M]<=0,I[R]<=0),D.every(function(K){return K})){k=A,C=!1;break}x.set(A,D)}if(C)for(var L=p?3:1,V=function(W){var X=b.find(function(F){var q=x.get(F);if(q)return q.slice(0,W).every(function(Q){return Q})});if(X)return k=X,"break"},z=L;z>0;z--){var U=V(z);if(U==="break")break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}}const Tae={name:"flip",enabled:!0,phase:"main",fn:Cae,requiresIfExists:["offset"],data:{_skip:!1}};function y6(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function v6(e){return[Or,vi,yi,Rr].some(function(t){return e[t]>=0})}function Eae(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,s=ih(t,{elementContext:"reference"}),a=ih(t,{altBoundary:!0}),l=y6(s,r),u=y6(a,i,o),c=v6(l),d=v6(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}const Pae={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Eae};function kae(e,t,n){var r=So(e),i=[Rr,Or].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],a=o[1];return s=s||0,a=(a||0)*i,[Rr,vi].indexOf(r)>=0?{x:a,y:s}:{x:s,y:a}}function Aae(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,s=DN.reduce(function(c,d){return c[d]=kae(d,t.rects,o),c},{}),a=s[t.placement],l=a.x,u=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=s}const Oae={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Aae};function Rae(e){var t=e.state,n=e.name;t.modifiersData[n]=zN({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Iae={name:"popperOffsets",enabled:!0,phase:"read",fn:Rae,data:{}};function Mae(e){return e==="x"?"y":"x"}function Nae(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,s=n.altAxis,a=s===void 0?!1:s,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,f=n.tether,h=f===void 0?!0:f,p=n.tetherOffset,m=p===void 0?0:p,S=ih(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),v=So(t.placement),y=Ec(t.placement),g=!y,b=q5(v),_=Mae(b),w=t.modifiersData.popperOffsets,x=t.rects.reference,C=t.rects.popper,k=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,P=typeof k=="number"?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),A=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,$={x:0,y:0};if(w){if(o){var N,T=b==="y"?Or:Rr,O=b==="y"?yi:vi,I=b==="y"?"height":"width",M=w[b],R=M+S[T],D=M-S[O],L=h?-C[I]/2:0,V=y===xc?x[I]:C[I],z=y===xc?-C[I]:-x[I],U=t.elements.arrow,K=h&&U?H5(U):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:FN(),X=W[T],F=W[O],q=hf(0,x[I],K[I]),Q=g?x[I]/2-L-q-X-P.mainAxis:V-q-X-P.mainAxis,J=g?-x[I]/2+L+q+F+P.mainAxis:z+q+F+P.mainAxis,ne=t.elements.arrow&&up(t.elements.arrow),Z=ne?b==="y"?ne.clientTop||0:ne.clientLeft||0:0,ge=(N=A==null?void 0:A[b])!=null?N:0,ae=M+Q-ge-Z,oe=M+J-ge,Te=hf(h?Ty(R,ae):R,M,h?il(D,oe):D);w[b]=Te,$[b]=Te-M}if(a){var se,We=b==="x"?Or:Rr,yt=b==="x"?yi:vi,Fe=w[_],Be=_==="y"?"height":"width",Me=Fe+S[We],rt=Fe-S[yt],xt=[Or,Rr].indexOf(v)!==-1,mn=(se=A==null?void 0:A[_])!=null?se:0,an=xt?Me:Fe-x[Be]-C[Be]-mn+P.altAxis,Ot=xt?Fe+x[Be]+C[Be]-mn-P.altAxis:rt,ee=h&&xt?iae(an,Fe,Ot):hf(h?an:Me,Fe,h?Ot:rt);w[_]=ee,$[_]=ee-Fe}t.modifiersData[r]=$}}const Dae={name:"preventOverflow",enabled:!0,phase:"main",fn:Nae,requiresIfExists:["offset"]};function Lae(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function $ae(e){return e===qr(e)||!hi(e)?W5(e):Lae(e)}function Fae(e){var t=e.getBoundingClientRect(),n=Cc(t.width)/e.offsetWidth||1,r=Cc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Bae(e,t,n){n===void 0&&(n=!1);var r=hi(t),i=hi(t)&&Fae(t),o=Pa(t),s=Tc(e,i,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((wo(t)!=="body"||Y5(o))&&(a=$ae(t)),hi(t)?(l=Tc(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=K5(o))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function jae(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&i(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function Vae(e){var t=jae(e);return Zse.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function zae(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Uae(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var b6={placement:"bottom",modifiers:[],strategy:"absolute"};function S6(){for(var e=arguments.length,t=new Array(e),n=0;n{}),g=E.useCallback(()=>{var P;!t||!p.current||!m.current||((P=y.current)==null||P.call(y),S.current=qae(p.current,m.current,{placement:v,modifiers:[$se,Nse,Mse,{...Ise,enabled:!!f},{name:"eventListeners",...Rse(s)},{name:"arrow",options:{padding:o}},{name:"offset",options:{offset:a??[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!d,options:{boundary:c}},...n??[]],strategy:i}),S.current.forceUpdate(),y.current=S.current.destroy)},[v,t,n,f,s,o,a,l,u,d,c,i]);E.useEffect(()=>()=>{var P;!p.current&&!m.current&&((P=S.current)==null||P.destroy(),S.current=null)},[]);const b=E.useCallback(P=>{p.current=P,g()},[g]),_=E.useCallback((P={},A=null)=>({...P,ref:fi(b,A)}),[b]),w=E.useCallback(P=>{m.current=P,g()},[g]),x=E.useCallback((P={},A=null)=>({...P,ref:fi(w,A),style:{...P.style,position:i,minWidth:f?void 0:"max-content",inset:"0 auto auto 0"}}),[i,w,f]),C=E.useCallback((P={},A=null)=>{const{size:$,shadowColor:N,bg:T,style:O,...I}=P;return{...I,ref:A,"data-popper-arrow":"",style:Kae(P)}},[]),k=E.useCallback((P={},A=null)=>({...P,ref:A,"data-popper-arrow-inner":""}),[]);return{update(){var P;(P=S.current)==null||P.update()},forceUpdate(){var P;(P=S.current)==null||P.forceUpdate()},transformOrigin:$n.transformOrigin.varRef,referenceRef:b,popperRef:w,getPopperProps:x,getArrowProps:C,getArrowInnerProps:k,getReferenceProps:_}}function Kae(e){const{size:t,shadowColor:n,bg:r,style:i}=e,o={...i,position:"absolute"};return t&&(o["--popper-arrow-size"]=t),n&&(o["--popper-arrow-shadow-color"]=n),r&&(o["--popper-arrow-bg"]=r),o}function Yae(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=Fn(n),s=Fn(t),[a,l]=E.useState(e.defaultIsOpen||!1),u=r!==void 0?r:a,c=r!==void 0,d=E.useId(),f=i??`disclosure-${d}`,h=E.useCallback(()=>{c||l(!1),s==null||s()},[c,s]),p=E.useCallback(()=>{c||l(!0),o==null||o()},[c,o]),m=E.useCallback(()=>{u?h():p()},[u,p,h]);function S(y={}){return{...y,"aria-expanded":u,"aria-controls":f,onClick(g){var b;(b=y.onClick)==null||b.call(y,g),m()}}}function v(y={}){return{...y,hidden:!u,id:f}}return{isOpen:u,onOpen:p,onClose:h,onToggle:m,isControlled:c,getButtonProps:S,getDisclosureProps:v}}var Xae=e=>j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),Qae=e=>j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function _6(e,t,n,r){E.useEffect(()=>{var i;if(!e.current||!r)return;const o=(i=e.current.ownerDocument.defaultView)!=null?i:window,s=Array.isArray(t)?t:[t],a=new o.MutationObserver(l=>{for(const u of l)u.type==="attributes"&&u.attributeName&&s.includes(u.attributeName)&&n(u)});return a.observe(e.current,{attributes:!0,attributeFilter:s}),()=>a.disconnect()})}function Zae(e,t){const n=Fn(e);E.useEffect(()=>{let r=null;const i=()=>n();return t!==null&&(r=window.setInterval(i,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var Jae=50,w6=300;function ele(e,t){const[n,r]=E.useState(!1),[i,o]=E.useState(null),[s,a]=E.useState(!0),l=E.useRef(null),u=()=>clearTimeout(l.current);Zae(()=>{i==="increment"&&e(),i==="decrement"&&t()},n?Jae:null);const c=E.useCallback(()=>{s&&e(),l.current=setTimeout(()=>{a(!1),r(!0),o("increment")},w6)},[e,s]),d=E.useCallback(()=>{s&&t(),l.current=setTimeout(()=>{a(!1),r(!0),o("decrement")},w6)},[t,s]),f=E.useCallback(()=>{a(!0),r(!1),u()},[]);return E.useEffect(()=>()=>u(),[]),{up:c,down:d,stop:f,isSpinning:n}}var tle=/^[Ee0-9+\-.]$/;function nle(e){return tle.test(e)}function rle(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function ile(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:i=Number.MIN_SAFE_INTEGER,max:o=Number.MAX_SAFE_INTEGER,step:s=1,isReadOnly:a,isDisabled:l,isRequired:u,isInvalid:c,pattern:d="[0-9]*(.[0-9]+)?",inputMode:f="decimal",allowMouseWheel:h,id:p,onChange:m,precision:S,name:v,"aria-describedby":y,"aria-label":g,"aria-labelledby":b,onFocus:_,onBlur:w,onInvalid:x,getAriaValueText:C,isValidCharacter:k,format:P,parse:A,...$}=e,N=Fn(_),T=Fn(w),O=Fn(x),I=Fn(k??nle),M=Fn(C),R=yse(e),{update:D,increment:L,decrement:V}=R,[z,U]=E.useState(!1),K=!(a||l),W=E.useRef(null),X=E.useRef(null),F=E.useRef(null),q=E.useRef(null),Q=E.useCallback(ee=>ee.split("").filter(I).join(""),[I]),J=E.useCallback(ee=>{var _e;return(_e=A==null?void 0:A(ee))!=null?_e:ee},[A]),ne=E.useCallback(ee=>{var _e;return((_e=P==null?void 0:P(ee))!=null?_e:ee).toString()},[P]);gy(()=>{(R.valueAsNumber>o||R.valueAsNumber{if(!W.current)return;if(W.current.value!=R.value){const _e=J(W.current.value);R.setValue(Q(_e))}},[J,Q]);const Z=E.useCallback((ee=s)=>{K&&L(ee)},[L,K,s]),ge=E.useCallback((ee=s)=>{K&&V(ee)},[V,K,s]),ae=ele(Z,ge);_6(F,"disabled",ae.stop,ae.isSpinning),_6(q,"disabled",ae.stop,ae.isSpinning);const oe=E.useCallback(ee=>{if(ee.nativeEvent.isComposing)return;const Ee=J(ee.currentTarget.value);D(Q(Ee)),X.current={start:ee.currentTarget.selectionStart,end:ee.currentTarget.selectionEnd}},[D,Q,J]),Te=E.useCallback(ee=>{var _e,Ee,Ne;N==null||N(ee),X.current&&(ee.target.selectionStart=(Ee=X.current.start)!=null?Ee:(_e=ee.currentTarget.value)==null?void 0:_e.length,ee.currentTarget.selectionEnd=(Ne=X.current.end)!=null?Ne:ee.currentTarget.selectionStart)},[N]),se=E.useCallback(ee=>{if(ee.nativeEvent.isComposing)return;rle(ee,I)||ee.preventDefault();const _e=We(ee)*s,Ee=ee.key,ie={ArrowUp:()=>Z(_e),ArrowDown:()=>ge(_e),Home:()=>D(i),End:()=>D(o)}[Ee];ie&&(ee.preventDefault(),ie(ee))},[I,s,Z,ge,D,i,o]),We=ee=>{let _e=1;return(ee.metaKey||ee.ctrlKey)&&(_e=.1),ee.shiftKey&&(_e=10),_e},yt=E.useMemo(()=>{const ee=M==null?void 0:M(R.value);if(ee!=null)return ee;const _e=R.value.toString();return _e||void 0},[R.value,M]),Fe=E.useCallback(()=>{let ee=R.value;if(R.value==="")return;/^[eE]/.test(R.value.toString())?R.setValue(""):(R.valueAsNumbero&&(ee=o),R.cast(ee))},[R,o,i]),Be=E.useCallback(()=>{U(!1),n&&Fe()},[n,U,Fe]),Me=E.useCallback(()=>{t&&requestAnimationFrame(()=>{var ee;(ee=W.current)==null||ee.focus()})},[t]),rt=E.useCallback(ee=>{ee.preventDefault(),ae.up(),Me()},[Me,ae]),xt=E.useCallback(ee=>{ee.preventDefault(),ae.down(),Me()},[Me,ae]);am(()=>W.current,"wheel",ee=>{var _e,Ee;const ie=((Ee=(_e=W.current)==null?void 0:_e.ownerDocument)!=null?Ee:document).activeElement===W.current;if(!h||!ie)return;ee.preventDefault();const he=We(ee)*s,Qt=Math.sign(ee.deltaY);Qt===-1?Z(he):Qt===1&&ge(he)},{passive:!1});const mn=E.useCallback((ee={},_e=null)=>{const Ee=l||r&&R.isAtMax;return{...ee,ref:fi(_e,F),role:"button",tabIndex:-1,onPointerDown:Dn(ee.onPointerDown,Ne=>{Ne.button!==0||Ee||rt(Ne)}),onPointerLeave:Dn(ee.onPointerLeave,ae.stop),onPointerUp:Dn(ee.onPointerUp,ae.stop),disabled:Ee,"aria-disabled":Yu(Ee)}},[R.isAtMax,r,rt,ae.stop,l]),an=E.useCallback((ee={},_e=null)=>{const Ee=l||r&&R.isAtMin;return{...ee,ref:fi(_e,q),role:"button",tabIndex:-1,onPointerDown:Dn(ee.onPointerDown,Ne=>{Ne.button!==0||Ee||xt(Ne)}),onPointerLeave:Dn(ee.onPointerLeave,ae.stop),onPointerUp:Dn(ee.onPointerUp,ae.stop),disabled:Ee,"aria-disabled":Yu(Ee)}},[R.isAtMin,r,xt,ae.stop,l]),Ot=E.useCallback((ee={},_e=null)=>{var Ee,Ne,ie,he;return{name:v,inputMode:f,type:"text",pattern:d,"aria-labelledby":b,"aria-label":g,"aria-describedby":y,id:p,disabled:l,...ee,readOnly:(Ee=ee.readOnly)!=null?Ee:a,"aria-readonly":(Ne=ee.readOnly)!=null?Ne:a,"aria-required":(ie=ee.required)!=null?ie:u,required:(he=ee.required)!=null?he:u,ref:fi(W,_e),value:ne(R.value),role:"spinbutton","aria-valuemin":i,"aria-valuemax":o,"aria-valuenow":Number.isNaN(R.valueAsNumber)?void 0:R.valueAsNumber,"aria-invalid":Yu(c??R.isOutOfRange),"aria-valuetext":yt,autoComplete:"off",autoCorrect:"off",onChange:Dn(ee.onChange,oe),onKeyDown:Dn(ee.onKeyDown,se),onFocus:Dn(ee.onFocus,Te,()=>U(!0)),onBlur:Dn(ee.onBlur,T,Be)}},[v,f,d,b,g,ne,y,p,l,u,a,c,R.value,R.valueAsNumber,R.isOutOfRange,i,o,yt,oe,se,Te,T,Be]);return{value:ne(R.value),valueAsNumber:R.valueAsNumber,isFocused:z,isDisabled:l,isReadOnly:a,getIncrementButtonProps:mn,getDecrementButtonProps:an,getInputProps:Ot,htmlProps:$}}var[ole,$v]=Si({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[sle,X5]=Si({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),UN=Ze(function(t,n){const r=Ev("NumberInput",t),i=Ao(t),o=TN(i),{htmlProps:s,...a}=ile(o),l=E.useMemo(()=>a,[a]);return j.jsx(sle,{value:l,children:j.jsx(ole,{value:r,children:j.jsx(Ae.div,{...s,ref:n,className:Gn("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});UN.displayName="NumberInput";var GN=Ze(function(t,n){const r=$v();return j.jsx(Ae.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});GN.displayName="NumberInputStepper";var HN=Ze(function(t,n){const{getInputProps:r}=X5(),i=r(t,n),o=$v();return j.jsx(Ae.input,{...i,className:Gn("chakra-numberinput__field",t.className),__css:{width:"100%",...o.field}})});HN.displayName="NumberInputField";var qN=Ae("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),WN=Ze(function(t,n){var r;const i=$v(),{getDecrementButtonProps:o}=X5(),s=o(t,n);return j.jsx(qN,{...s,__css:i.stepper,children:(r=t.children)!=null?r:j.jsx(Xae,{})})});WN.displayName="NumberDecrementStepper";var KN=Ze(function(t,n){var r;const{getIncrementButtonProps:i}=X5(),o=i(t,n),s=$v();return j.jsx(qN,{...o,__css:s.stepper,children:(r=t.children)!=null?r:j.jsx(Qae,{})})});KN.displayName="NumberIncrementStepper";var Ql=e=>e?"":void 0,HS=e=>e?!0:void 0,cp=(...e)=>e.filter(Boolean).join(" ");function qS(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function _Te(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function ug(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var um={width:0,height:0},cg=e=>e||um;function ale(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:i}=e,o=m=>{var S;const v=(S=r[m])!=null?S:um;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...ug({orientation:t,vertical:{bottom:`calc(${n[m]}% - ${v.height/2}px)`},horizontal:{left:`calc(${n[m]}% - ${v.width/2}px)`}})}},s=t==="vertical"?r.reduce((m,S)=>cg(m).height>cg(S).height?m:S,um):r.reduce((m,S)=>cg(m).width>cg(S).width?m:S,um),a={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...ug({orientation:t,vertical:s?{paddingLeft:s.width/2,paddingRight:s.width/2}:{},horizontal:s?{paddingTop:s.height/2,paddingBottom:s.height/2}:{}})},l={position:"absolute",...ug({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},u=n.length===1,c=[0,i?100-n[0]:n[0]],d=u?c:n;let f=d[0];!u&&i&&(f=100-f);const h=Math.abs(d[d.length-1]-d[0]),p={...l,...ug({orientation:t,vertical:i?{height:`${h}%`,top:`${f}%`}:{height:`${h}%`,bottom:`${f}%`},horizontal:i?{width:`${h}%`,right:`${f}%`}:{width:`${h}%`,left:`${f}%`}})};return{trackStyle:l,innerTrackStyle:p,rootStyle:a,getThumbStyle:o}}function lle(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function ule(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function cle(e){const t=fle(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function YN(e){return!!e.touches}function dle(e){return YN(e)&&e.touches.length>1}function fle(e){var t;return(t=e.view)!=null?t:window}function hle(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function ple(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function XN(e,t="page"){return YN(e)?hle(e,t):ple(e,t)}function gle(e){return t=>{const n=cle(t);(!n||n&&t.button===0)&&e(t)}}function mle(e,t=!1){function n(i){e(i,{point:XN(i)})}return t?gle(n):n}function cm(e,t,n,r){return ule(e,t,mle(n,t==="pointerdown"),r)}var yle=Object.defineProperty,vle=(e,t,n)=>t in e?yle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xi=(e,t,n)=>(vle(e,typeof t!="symbol"?t+"":t,n),n),ble=class{constructor(e,t,n){xi(this,"history",[]),xi(this,"startEvent",null),xi(this,"lastEvent",null),xi(this,"lastEventInfo",null),xi(this,"handlers",{}),xi(this,"removeListeners",()=>{}),xi(this,"threshold",3),xi(this,"win"),xi(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const a=WS(this.lastEventInfo,this.history),l=this.startEvent!==null,u=xle(a.offset,{x:0,y:0})>=this.threshold;if(!l&&!u)return;const{timestamp:c}=YE();this.history.push({...a.point,timestamp:c});const{onStart:d,onMove:f}=this.handlers;l||(d==null||d(this.lastEvent,a),this.startEvent=this.lastEvent),f==null||f(this.lastEvent,a)}),xi(this,"onPointerMove",(a,l)=>{this.lastEvent=a,this.lastEventInfo=l,Qee.update(this.updatePoint,!0)}),xi(this,"onPointerUp",(a,l)=>{const u=WS(l,this.history),{onEnd:c,onSessionEnd:d}=this.handlers;d==null||d(a,u),this.end(),!(!c||!this.startEvent)&&(c==null||c(a,u))});var r;if(this.win=(r=e.view)!=null?r:window,dle(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const i={point:XN(e)},{timestamp:o}=YE();this.history=[{...i.point,timestamp:o}];const{onSessionStart:s}=t;s==null||s(e,WS(i,this.history)),this.removeListeners=wle(cm(this.win,"pointermove",this.onPointerMove),cm(this.win,"pointerup",this.onPointerUp),cm(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),Zee.update(this.updatePoint)}};function x6(e,t){return{x:e.x-t.x,y:e.y-t.y}}function WS(e,t){return{point:e.point,delta:x6(e.point,t[t.length-1]),offset:x6(e.point,t[0]),velocity:_le(t,.1)}}var Sle=e=>e*1e3;function _le(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=e[e.length-1];for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Sle(t)));)n--;if(!r)return{x:0,y:0};const o=(i.timestamp-r.timestamp)/1e3;if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function wle(...e){return t=>e.reduce((n,r)=>r(n),t)}function KS(e,t){return Math.abs(e-t)}function C6(e){return"x"in e&&"y"in e}function xle(e,t){if(typeof e=="number"&&typeof t=="number")return KS(e,t);if(C6(e)&&C6(t)){const n=KS(e.x,t.x),r=KS(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function QN(e){const t=E.useRef(null);return t.current=e,t}function Cle(e,t){const{onPan:n,onPanStart:r,onPanEnd:i,onPanSessionStart:o,onPanSessionEnd:s,threshold:a}=t,l=!!(n||r||i||o||s),u=E.useRef(null),c=QN({onSessionStart:o,onSessionEnd:s,onStart:r,onMove:n,onEnd(d,f){u.current=null,i==null||i(d,f)}});E.useEffect(()=>{var d;(d=u.current)==null||d.updateHandlers(c.current)}),E.useEffect(()=>{const d=e.current;if(!d||!l)return;function f(h){u.current=new ble(h,c.current,a)}return cm(d,"pointerdown",f)},[e,l,c,a]),E.useEffect(()=>()=>{var d;(d=u.current)==null||d.end(),u.current=null},[])}function Tle(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const[o]=i;let s,a;if("borderBoxSize"in o){const l=o.borderBoxSize,u=Array.isArray(l)?l[0]:l;s=u.inlineSize,a=u.blockSize}else s=e.offsetWidth,a=e.offsetHeight;t({width:s,height:a})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var Ele=globalThis!=null&&globalThis.document?E.useLayoutEffect:E.useEffect;function Ple(e,t){var n,r;if(!e||!e.parentElement)return;const i=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,o=new i.MutationObserver(()=>{t()});return o.observe(e.parentElement,{childList:!0}),()=>{o.disconnect()}}function kle({getNodes:e,observeMutation:t=!0}){const[n,r]=E.useState([]),[i,o]=E.useState(0);return Ele(()=>{const s=e(),a=s.map((l,u)=>Tle(l,c=>{r(d=>[...d.slice(0,u),c,...d.slice(u+1)])}));if(t){const l=s[0];a.push(Ple(l,()=>{o(u=>u+1)}))}return()=>{a.forEach(l=>{l==null||l()})}},[i]),n}function Ale(e){return typeof e=="object"&&e!==null&&"current"in e}function Ole(e){const[t]=kle({observeMutation:!1,getNodes(){return[Ale(e)?e.current:e]}});return t}function Rle(e){var t;const{min:n=0,max:r=100,onChange:i,value:o,defaultValue:s,isReversed:a,direction:l="ltr",orientation:u="horizontal",id:c,isDisabled:d,isReadOnly:f,onChangeStart:h,onChangeEnd:p,step:m=1,getAriaValueText:S,"aria-valuetext":v,"aria-label":y,"aria-labelledby":g,name:b,focusThumbOnChange:_=!0,...w}=e,x=Fn(h),C=Fn(p),k=Fn(S),P=lle({isReversed:a,direction:l,orientation:u}),[A,$]=ise({value:o,defaultValue:s??Mle(n,r),onChange:i}),[N,T]=E.useState(!1),[O,I]=E.useState(!1),M=!(d||f),R=(r-n)/10,D=m||(r-n)/100,L=sm(A,n,r),V=r-L+n,U=s6(P?V:L,n,r),K=u==="vertical",W=QN({min:n,max:r,step:m,isDisabled:d,value:L,isInteractive:M,isReversed:P,isVertical:K,eventSource:null,focusThumbOnChange:_,orientation:u}),X=E.useRef(null),F=E.useRef(null),q=E.useRef(null),Q=E.useId(),J=c??Q,[ne,Z]=[`slider-thumb-${J}`,`slider-track-${J}`],ge=E.useCallback(ie=>{var he,Qt;if(!X.current)return;const Rt=W.current;Rt.eventSource="pointer";const ut=X.current.getBoundingClientRect(),{clientX:rr,clientY:Mo}=(Qt=(he=ie.touches)==null?void 0:he[0])!=null?Qt:ie,Qr=K?ut.bottom-Mo:rr-ut.left,No=K?ut.height:ut.width;let ct=Qr/No;P&&(ct=1-ct);let Ke=mse(ct,Rt.min,Rt.max);return Rt.step&&(Ke=parseFloat(a6(Ke,Rt.min,Rt.step))),Ke=sm(Ke,Rt.min,Rt.max),Ke},[K,P,W]),ae=E.useCallback(ie=>{const he=W.current;he.isInteractive&&(ie=parseFloat(a6(ie,he.min,D)),ie=sm(ie,he.min,he.max),$(ie))},[D,$,W]),oe=E.useMemo(()=>({stepUp(ie=D){const he=P?L-ie:L+ie;ae(he)},stepDown(ie=D){const he=P?L+ie:L-ie;ae(he)},reset(){ae(s||0)},stepTo(ie){ae(ie)}}),[ae,P,L,D,s]),Te=E.useCallback(ie=>{const he=W.current,Rt={ArrowRight:()=>oe.stepUp(),ArrowUp:()=>oe.stepUp(),ArrowLeft:()=>oe.stepDown(),ArrowDown:()=>oe.stepDown(),PageUp:()=>oe.stepUp(R),PageDown:()=>oe.stepDown(R),Home:()=>ae(he.min),End:()=>ae(he.max)}[ie.key];Rt&&(ie.preventDefault(),ie.stopPropagation(),Rt(ie),he.eventSource="keyboard")},[oe,ae,R,W]),se=(t=k==null?void 0:k(L))!=null?t:v,We=Ole(F),{getThumbStyle:yt,rootStyle:Fe,trackStyle:Be,innerTrackStyle:Me}=E.useMemo(()=>{const ie=W.current,he=We??{width:0,height:0};return ale({isReversed:P,orientation:ie.orientation,thumbRects:[he],thumbPercents:[U]})},[P,We,U,W]),rt=E.useCallback(()=>{W.current.focusThumbOnChange&&setTimeout(()=>{var he;return(he=F.current)==null?void 0:he.focus()})},[W]);gy(()=>{const ie=W.current;rt(),ie.eventSource==="keyboard"&&(C==null||C(ie.value))},[L,C]);function xt(ie){const he=ge(ie);he!=null&&he!==W.current.value&&$(he)}Cle(q,{onPanSessionStart(ie){const he=W.current;he.isInteractive&&(T(!0),rt(),xt(ie),x==null||x(he.value))},onPanSessionEnd(){const ie=W.current;ie.isInteractive&&(T(!1),C==null||C(ie.value))},onPan(ie){W.current.isInteractive&&xt(ie)}});const mn=E.useCallback((ie={},he=null)=>({...ie,...w,ref:fi(he,q),tabIndex:-1,"aria-disabled":HS(d),"data-focused":Ql(O),style:{...ie.style,...Fe}}),[w,d,O,Fe]),an=E.useCallback((ie={},he=null)=>({...ie,ref:fi(he,X),id:Z,"data-disabled":Ql(d),style:{...ie.style,...Be}}),[d,Z,Be]),Ot=E.useCallback((ie={},he=null)=>({...ie,ref:he,style:{...ie.style,...Me}}),[Me]),ee=E.useCallback((ie={},he=null)=>({...ie,ref:fi(he,F),role:"slider",tabIndex:M?0:void 0,id:ne,"data-active":Ql(N),"aria-valuetext":se,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":L,"aria-orientation":u,"aria-disabled":HS(d),"aria-readonly":HS(f),"aria-label":y,"aria-labelledby":y?void 0:g,style:{...ie.style,...yt(0)},onKeyDown:qS(ie.onKeyDown,Te),onFocus:qS(ie.onFocus,()=>I(!0)),onBlur:qS(ie.onBlur,()=>I(!1))}),[M,ne,N,se,n,r,L,u,d,f,y,g,yt,Te]),_e=E.useCallback((ie,he=null)=>{const Qt=!(ie.valuer),Rt=L>=ie.value,ut=s6(ie.value,n,r),rr={position:"absolute",pointerEvents:"none",...Ile({orientation:u,vertical:{bottom:P?`${100-ut}%`:`${ut}%`},horizontal:{left:P?`${100-ut}%`:`${ut}%`}})};return{...ie,ref:he,role:"presentation","aria-hidden":!0,"data-disabled":Ql(d),"data-invalid":Ql(!Qt),"data-highlighted":Ql(Rt),style:{...ie.style,...rr}}},[d,P,r,n,u,L]),Ee=E.useCallback((ie={},he=null)=>({...ie,ref:he,type:"hidden",value:L,name:b}),[b,L]);return{state:{value:L,isFocused:O,isDragging:N},actions:oe,getRootProps:mn,getTrackProps:an,getInnerTrackProps:Ot,getThumbProps:ee,getMarkerProps:_e,getInputProps:Ee}}function Ile(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function Mle(e,t){return t"}),[Dle,Bv]=Si({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),ZN=Ze((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},i=Ev("Slider",r),o=Ao(r),{direction:s}=wv();o.direction=s;const{getInputProps:a,getRootProps:l,...u}=Rle(o),c=l(),d=a({},t);return j.jsx(Nle,{value:u,children:j.jsx(Dle,{value:i,children:j.jsxs(Ae.div,{...c,className:cp("chakra-slider",r.className),__css:i.container,children:[r.children,j.jsx("input",{...d})]})})})});ZN.displayName="Slider";var JN=Ze((e,t)=>{const{getThumbProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__thumb",e.className),__css:r.thumb})});JN.displayName="SliderThumb";var eD=Ze((e,t)=>{const{getTrackProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__track",e.className),__css:r.track})});eD.displayName="SliderTrack";var tD=Ze((e,t)=>{const{getInnerTrackProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__filled-track",e.className),__css:r.filledTrack})});tD.displayName="SliderFilledTrack";var du=Ze((e,t)=>{const{getMarkerProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__marker",e.className),__css:r.mark})});du.displayName="SliderMark";var Lle={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},Ew=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},dm=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function $le(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:i,closeOnScroll:o,closeOnPointerDown:s=i,closeOnEsc:a=!0,onOpen:l,onClose:u,placement:c,id:d,isOpen:f,defaultIsOpen:h,arrowSize:p=10,arrowShadowColor:m,arrowPadding:S,modifiers:v,isDisabled:y,gutter:g,offset:b,direction:_,...w}=e,{isOpen:x,onOpen:C,onClose:k}=Yae({isOpen:f,defaultIsOpen:h,onOpen:l,onClose:u}),{referenceRef:P,getPopperProps:A,getArrowInnerProps:$,getArrowProps:N}=Wae({enabled:x,placement:c,arrowPadding:S,modifiers:v,gutter:g,offset:b,direction:_}),T=E.useId(),I=`tooltip-${d??T}`,M=E.useRef(null),R=E.useRef(),D=E.useCallback(()=>{R.current&&(clearTimeout(R.current),R.current=void 0)},[]),L=E.useRef(),V=E.useCallback(()=>{L.current&&(clearTimeout(L.current),L.current=void 0)},[]),z=E.useCallback(()=>{V(),k()},[k,V]),U=Fle(M,z),K=E.useCallback(()=>{if(!y&&!R.current){U();const Z=dm(M);R.current=Z.setTimeout(C,t)}},[U,y,C,t]),W=E.useCallback(()=>{D();const Z=dm(M);L.current=Z.setTimeout(z,n)},[n,z,D]),X=E.useCallback(()=>{x&&r&&W()},[r,W,x]),F=E.useCallback(()=>{x&&s&&W()},[s,W,x]),q=E.useCallback(Z=>{x&&Z.key==="Escape"&&W()},[x,W]);am(()=>Ew(M),"keydown",a?q:void 0),am(()=>{const Z=M.current;if(!Z)return null;const ge=AN(Z);return ge.localName==="body"?dm(M):ge},"scroll",()=>{x&&o&&z()},{passive:!0,capture:!0}),E.useEffect(()=>{y&&(D(),x&&k())},[y,x,k,D]),E.useEffect(()=>()=>{D(),V()},[D,V]),am(()=>M.current,"pointerleave",W);const Q=E.useCallback((Z={},ge=null)=>({...Z,ref:fi(M,ge,P),onPointerEnter:Dn(Z.onPointerEnter,oe=>{oe.pointerType!=="touch"&&K()}),onClick:Dn(Z.onClick,X),onPointerDown:Dn(Z.onPointerDown,F),onFocus:Dn(Z.onFocus,K),onBlur:Dn(Z.onBlur,W),"aria-describedby":x?I:void 0}),[K,W,F,x,I,X,P]),J=E.useCallback((Z={},ge=null)=>A({...Z,style:{...Z.style,[$n.arrowSize.var]:p?`${p}px`:void 0,[$n.arrowShadowColor.var]:m}},ge),[A,p,m]),ne=E.useCallback((Z={},ge=null)=>{const ae={...Z.style,position:"relative",transformOrigin:$n.transformOrigin.varRef};return{ref:ge,...w,...Z,id:I,role:"tooltip",style:ae}},[w,I]);return{isOpen:x,show:K,hide:W,getTriggerProps:Q,getTooltipProps:ne,getTooltipPositionerProps:J,getArrowProps:N,getArrowInnerProps:$}}var YS="chakra-ui:close-tooltip";function Fle(e,t){return E.useEffect(()=>{const n=Ew(e);return n.addEventListener(YS,t),()=>n.removeEventListener(YS,t)},[t,e]),()=>{const n=Ew(e),r=dm(e);n.dispatchEvent(new r.CustomEvent(YS))}}function Ble(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function jle(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Vle=Ae(D5.div),Q5=Ze((e,t)=>{var n,r;const i=Ol("Tooltip",e),o=Ao(e),s=wv(),{children:a,label:l,shouldWrapChildren:u,"aria-label":c,hasArrow:d,bg:f,portalProps:h,background:p,backgroundColor:m,bgColor:S,motionProps:v,...y}=o,g=(r=(n=p??m)!=null?n:f)!=null?r:S;if(g){i.bg=g;const A=$ee(s,"colors",g);i[$n.arrowBg.var]=A}const b=$le({...y,direction:s.direction}),_=typeof a=="string"||u;let w;if(_)w=j.jsx(Ae.span,{display:"inline-block",tabIndex:0,...b.getTriggerProps(),children:a});else{const A=E.Children.only(a);w=E.cloneElement(A,b.getTriggerProps(A.props,A.ref))}const x=!!c,C=b.getTooltipProps({},t),k=x?Ble(C,["role","id"]):C,P=jle(C,["role","id"]);return l?j.jsxs(j.Fragment,{children:[w,j.jsx(L5,{children:b.isOpen&&j.jsx(tp,{...h,children:j.jsx(Ae.div,{...b.getTooltipPositionerProps(),__css:{zIndex:i.zIndex,pointerEvents:"none"},children:j.jsxs(Vle,{variants:Lle,initial:"exit",animate:"enter",exit:"exit",...v,...k,__css:i,children:[l,x&&j.jsx(Ae.span,{srOnly:!0,...P,children:c}),d&&j.jsx(Ae.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:j.jsx(Ae.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:i.bg}})})]})})})})]}):j.jsx(j.Fragment,{children:a})});Q5.displayName="Tooltip";const nD={shift:!1},rD=zt({name:"hotkeys",initialState:nD,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:T6}=rD.actions,zle=rD.reducer,wTe=e=>e.hotkeys;function Ule(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}};function P6(e,t,n){e.loadNamespaces(t,iD(e,n))}function k6(e,t,n,r){typeof n=="string"&&(n=[n]),n.forEach(i=>{e.options.ns.indexOf(i)<0&&e.options.ns.push(i)}),e.loadLanguages(t,iD(e,r))}function Gle(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=t.languages[0],i=t.options?t.options.fallbackLng:!1,o=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=t.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(r,e)&&(!i||s(o,e)))}function Hle(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(Pw("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(i,o)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!o(i.isLanguageChangingTo,e))return!1}}):Gle(e,t,n)}const qle=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Wle={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Kle=e=>Wle[e],Yle=e=>e.replace(qle,Kle);let kw={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Yle};function Xle(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};kw={...kw,...e}}function Qle(){return kw}let oD;function Zle(e){oD=e}function Jle(){return oD}const eue={type:"3rdParty",init(e){Xle(e.options.react),Zle(e)}},tue=E.createContext();class nue{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const rue=(e,t)=>{const n=E.useRef();return E.useEffect(()=>{n.current=t?n.current:e},[e,t]),n.current};function sD(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=t,{i18n:r,defaultNS:i}=E.useContext(tue)||{},o=n||r||Jle();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new nue),!o){Pw("You will need to pass in an i18next instance by using initReactI18next");const g=(_,w)=>typeof w=="string"?w:w&&typeof w=="object"&&typeof w.defaultValue=="string"?w.defaultValue:Array.isArray(_)?_[_.length-1]:_,b=[g,{},!1];return b.t=g,b.i18n={},b.ready=!1,b}o.options.react&&o.options.react.wait!==void 0&&Pw("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Qle(),...o.options.react,...t},{useSuspense:a,keyPrefix:l}=s;let u=e||i||o.options&&o.options.defaultNS;u=typeof u=="string"?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const c=(o.isInitialized||o.initializedStoreOnce)&&u.every(g=>Hle(g,o,s));function d(){return o.getFixedT(t.lng||null,s.nsMode==="fallback"?u:u[0],l)}const[f,h]=E.useState(d);let p=u.join();t.lng&&(p=`${t.lng}${p}`);const m=rue(p),S=E.useRef(!0);E.useEffect(()=>{const{bindI18n:g,bindI18nStore:b}=s;S.current=!0,!c&&!a&&(t.lng?k6(o,t.lng,u,()=>{S.current&&h(d)}):P6(o,u,()=>{S.current&&h(d)})),c&&m&&m!==p&&S.current&&h(d);function _(){S.current&&h(d)}return g&&o&&o.on(g,_),b&&o&&o.store.on(b,_),()=>{S.current=!1,g&&o&&g.split(" ").forEach(w=>o.off(w,_)),b&&o&&b.split(" ").forEach(w=>o.store.off(w,_))}},[o,p]);const v=E.useRef(!0);E.useEffect(()=>{S.current&&!v.current&&h(d),v.current=!1},[o,l]);const y=[f,o,c];if(y.t=f,y.i18n=o,y.ready=c,c||!c&&!a)return y;throw new Promise(g=>{t.lng?k6(o,t.lng,u,()=>g()):P6(o,u,()=>g())})}var aD={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A6=ze.createContext&&ze.createContext(aD),na=globalThis&&globalThis.__assign||function(){return na=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{role:n,tooltip:r="",tooltipProps:i,isChecked:o,...s}=e;return j.jsx(Q5,{label:r,hasArrow:!0,...i,...i!=null&&i.placement?{placement:i.placement}:{placement:"top"},children:j.jsx(SN,{ref:t,role:n,colorScheme:o?"accent":"base",...s})})});uD.displayName="IAIIconButton";const lue=E.memo(uD),uue=e=>{const[t,n]=E.useState(!1),{label:r,value:i,min:o=1,max:s=100,step:a=1,onChange:l,tooltipSuffix:u="",withSliderMarks:c=!1,withInput:d=!1,isInteger:f=!1,inputWidth:h=16,withReset:p=!1,hideTooltip:m=!1,isCompact:S=!1,isDisabled:v=!1,sliderMarks:y,handleReset:g,sliderFormControlProps:b,sliderFormLabelProps:_,sliderMarkProps:w,sliderTrackProps:x,sliderThumbProps:C,sliderNumberInputProps:k,sliderNumberInputFieldProps:P,sliderNumberInputStepperProps:A,sliderTooltipProps:$,sliderIAIIconButtonProps:N,...T}=e,O=qc(),{t:I}=sD(),[M,R]=E.useState(String(i));E.useEffect(()=>{R(i)},[i]);const D=E.useMemo(()=>k!=null&&k.max?k.max:s,[s,k==null?void 0:k.max]),L=E.useCallback(F=>{l(F)},[l]),V=E.useCallback(F=>{F.target.value===""&&(F.target.value=String(o));const q=Xo(f?Math.floor(Number(F.target.value)):Number(M),o,D),Q=zd(q,a);l(Q),R(Q)},[f,M,o,D,l,a]),z=E.useCallback(F=>{console.log("input"),R(F)},[]),U=E.useCallback(()=>{g&&g()},[g]),K=E.useCallback(F=>{F.target instanceof HTMLDivElement&&F.target.focus()},[]),W=E.useCallback(F=>{F.shiftKey&&O(T6(!0))},[O]),X=E.useCallback(F=>{F.shiftKey||O(T6(!1))},[O]);return j.jsxs(wN,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:v,...b,children:[r&&j.jsx(xN,{sx:d?{mb:-1.5}:{},..._,children:r}),j.jsxs(IN,{w:"100%",gap:2,alignItems:"center",children:[j.jsxs(ZN,{"aria-label":r,value:i,min:o,max:s,step:a,onChange:L,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:v,...T,children:[c&&!y&&j.jsxs(j.Fragment,{children:[j.jsx(du,{value:o,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...w,children:o}),j.jsx(du,{value:s,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...w,children:s})]}),c&&y&&j.jsx(j.Fragment,{children:y.map((F,q)=>q===0?j.jsx(du,{value:F,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...w,children:F},F):q===y.length-1?j.jsx(du,{value:F,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...w,children:F},F):j.jsx(du,{value:F,sx:{transform:"translateX(-50%)"},...w,children:F},F))}),j.jsx(eD,{...x,children:j.jsx(tD,{})}),j.jsx(Q5,{hasArrow:!0,placement:"top",isOpen:t,label:`${i}${u}`,hidden:m,...$,children:j.jsx(JN,{...C,zIndex:0})})]}),d&&j.jsxs(UN,{min:o,max:D,step:a,value:M,onChange:z,onBlur:V,focusInputOnChange:!1,...k,children:[j.jsx(HN,{onKeyDown:W,onKeyUp:X,minWidth:h,...P}),j.jsxs(GN,{...A,children:[j.jsx(KN,{onClick:()=>l(Number(M))}),j.jsx(WN,{onClick:()=>l(Number(M))})]})]}),p&&j.jsx(lue,{size:"sm","aria-label":I("accessibility.reset"),tooltip:I("accessibility.reset"),icon:j.jsx(aue,{}),isDisabled:v,onClick:U,...N})]})]})},cue=E.memo(uue),Hd={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}};function xTe(){const e=cy(l=>l.generation.clipSkip),{model:t}=cy(l=>l.generation),n=qc(),{t:r}=sD(),i=E.useCallback(l=>{n(I6(l))},[n]),o=E.useCallback(()=>{n(I6(0))},[n]),s=E.useMemo(()=>t?Hd[t.base_model].maxClip:Hd["sd-1"].maxClip,[t]),a=E.useMemo(()=>t?Hd[t.base_model].markers:Hd["sd-1"].markers,[t]);return j.jsx(cue,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:s,step:1,value:e,onChange:i,withSliderMarks:!0,sliderMarks:a,withInput:!0,withReset:!0,handleReset:o})}var Qe;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(Qe||(Qe={}));var Aw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Aw||(Aw={}));const le=Qe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),js=e=>{switch(typeof e){case"undefined":return le.undefined;case"string":return le.string;case"number":return isNaN(e)?le.nan:le.number;case"boolean":return le.boolean;case"function":return le.function;case"bigint":return le.bigint;case"symbol":return le.symbol;case"object":return Array.isArray(e)?le.array:e===null?le.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?le.promise:typeof Map<"u"&&e instanceof Map?le.map:typeof Set<"u"&&e instanceof Set?le.set:typeof Date<"u"&&e instanceof Date?le.date:le.object;default:return le.unknown}},re=Qe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),due=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class $i extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}$i.create=e=>new $i(e);const oh=(e,t)=>{let n;switch(e.code){case re.invalid_type:e.received===le.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case re.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Qe.jsonStringifyReplacer)}`;break;case re.unrecognized_keys:n=`Unrecognized key(s) in object: ${Qe.joinValues(e.keys,", ")}`;break;case re.invalid_union:n="Invalid input";break;case re.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Qe.joinValues(e.options)}`;break;case re.invalid_enum_value:n=`Invalid enum value. Expected ${Qe.joinValues(e.options)}, received '${e.received}'`;break;case re.invalid_arguments:n="Invalid function arguments";break;case re.invalid_return_type:n="Invalid function return type";break;case re.invalid_date:n="Invalid date";break;case re.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Qe.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case re.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case re.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case re.custom:n="Invalid input";break;case re.invalid_intersection_types:n="Intersection results could not be merged";break;case re.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case re.not_finite:n="Number must be finite";break;default:n=t.defaultError,Qe.assertNever(e)}return{message:n}};let cD=oh;function fue(e){cD=e}function Ey(){return cD}const Py=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},hue=[];function ce(e,t){const n=Py({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,Ey(),oh].filter(r=>!!r)});e.common.issues.push(n)}class er{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return Ce;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return er.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return Ce;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const Ce=Object.freeze({status:"aborted"}),dD=e=>({status:"dirty",value:e}),pr=e=>({status:"valid",value:e}),Ow=e=>e.status==="aborted",Rw=e=>e.status==="dirty",ky=e=>e.status==="valid",Ay=e=>typeof Promise<"u"&&e instanceof Promise;var be;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(be||(be={}));class xo{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const O6=(e,t)=>{if(ky(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new $i(e.common.issues);return this._error=n,this._error}}};function Oe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class Re{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return js(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:js(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new er,ctx:{common:t.parent.common,data:t.data,parsedType:js(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Ay(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:js(t)},o=this._parseSync({data:t,path:i.path,parent:i});return O6(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:js(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(Ay(i)?i:Promise.resolve(i));return O6(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:re.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ui({schema:this,typeName:xe.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return ns.create(this,this._def)}nullable(){return vl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Fi.create(this,this._def)}promise(){return kc.create(this,this._def)}or(t){return uh.create([this,t],this._def)}and(t){return ch.create(this,t,this._def)}transform(t){return new Ui({...Oe(this._def),schema:this,typeName:xe.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new gh({...Oe(this._def),innerType:this,defaultValue:n,typeName:xe.ZodDefault})}brand(){return new hD({typeName:xe.ZodBranded,type:this,...Oe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new My({...Oe(this._def),innerType:this,catchValue:n,typeName:xe.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return dp.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const pue=/^c[^\s-]{8,}$/i,gue=/^[a-z][a-z0-9]*$/,mue=/[0-9A-HJKMNP-TV-Z]{26}/,yue=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,vue=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,bue=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,Sue=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_ue=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,wue=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function xue(e,t){return!!((t==="v4"||!t)&&Sue.test(e)||(t==="v6"||!t)&&_ue.test(e))}class Ii extends Re{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:re.invalid_string,...be.errToObj(r)}),this.nonempty=t=>this.min(1,be.errToObj(t)),this.trim=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==le.string){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.string,received:o.parsedType}),Ce}const r=new er;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),ce(i,{code:re.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...be.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...be.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...be.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...be.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...be.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...be.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...be.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...be.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Ii({checks:[],typeName:xe.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Oe(e)})};function Cue(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class pa extends Re{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==le.number){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.number,received:o.parsedType}),Ce}let r;const i=new er;for(const o of this._def.checks)o.kind==="int"?Qe.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),ce(r,{code:re.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?Cue(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_finite,message:o.message}),i.dirty()):Qe.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,be.toString(n))}gt(t,n){return this.setLimit("min",t,!1,be.toString(n))}lte(t,n){return this.setLimit("max",t,!0,be.toString(n))}lt(t,n){return this.setLimit("max",t,!1,be.toString(n))}setLimit(t,n,r,i){return new pa({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:be.toString(i)}]})}_addCheck(t){return new pa({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:be.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:be.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:be.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:be.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:be.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:be.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:be.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:be.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:be.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&Qe.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew pa({checks:[],typeName:xe.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Oe(e)});class ga extends Re{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==le.bigint){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.bigint,received:o.parsedType}),Ce}let r;const i=new er;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):Qe.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,be.toString(n))}gt(t,n){return this.setLimit("min",t,!1,be.toString(n))}lte(t,n){return this.setLimit("max",t,!0,be.toString(n))}lt(t,n){return this.setLimit("max",t,!1,be.toString(n))}setLimit(t,n,r,i){return new ga({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:be.toString(i)}]})}_addCheck(t){return new ga({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:be.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:be.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:be.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:be.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:be.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new ga({checks:[],typeName:xe.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Oe(e)})};class sh extends Re{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==le.boolean){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.boolean,received:r.parsedType}),Ce}return pr(t.data)}}sh.create=e=>new sh({typeName:xe.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Oe(e)});class ml extends Re{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==le.date){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.date,received:o.parsedType}),Ce}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_date}),Ce}const r=new er;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),ce(i,{code:re.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):Qe.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new ml({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:be.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:be.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew ml({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:xe.ZodDate,...Oe(e)});class Oy extends Re{_parse(t){if(this._getType(t)!==le.symbol){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.symbol,received:r.parsedType}),Ce}return pr(t.data)}}Oy.create=e=>new Oy({typeName:xe.ZodSymbol,...Oe(e)});class ah extends Re{_parse(t){if(this._getType(t)!==le.undefined){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.undefined,received:r.parsedType}),Ce}return pr(t.data)}}ah.create=e=>new ah({typeName:xe.ZodUndefined,...Oe(e)});class lh extends Re{_parse(t){if(this._getType(t)!==le.null){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.null,received:r.parsedType}),Ce}return pr(t.data)}}lh.create=e=>new lh({typeName:xe.ZodNull,...Oe(e)});class Pc extends Re{constructor(){super(...arguments),this._any=!0}_parse(t){return pr(t.data)}}Pc.create=e=>new Pc({typeName:xe.ZodAny,...Oe(e)});class ol extends Re{constructor(){super(...arguments),this._unknown=!0}_parse(t){return pr(t.data)}}ol.create=e=>new ol({typeName:xe.ZodUnknown,...Oe(e)});class fs extends Re{_parse(t){const n=this._getOrReturnCtx(t);return ce(n,{code:re.invalid_type,expected:le.never,received:n.parsedType}),Ce}}fs.create=e=>new fs({typeName:xe.ZodNever,...Oe(e)});class Ry extends Re{_parse(t){if(this._getType(t)!==le.undefined){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.void,received:r.parsedType}),Ce}return pr(t.data)}}Ry.create=e=>new Ry({typeName:xe.ZodVoid,...Oe(e)});class Fi extends Re{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==le.array)return ce(n,{code:re.invalid_type,expected:le.array,received:n.parsedType}),Ce;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(ce(n,{code:re.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new xo(n,s,n.path,a)))).then(s=>er.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new xo(n,s,n.path,a)));return er.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Fi({...this._def,minLength:{value:t,message:be.toString(n)}})}max(t,n){return new Fi({...this._def,maxLength:{value:t,message:be.toString(n)}})}length(t,n){return new Fi({...this._def,exactLength:{value:t,message:be.toString(n)}})}nonempty(t){return this.min(1,t)}}Fi.create=(e,t)=>new Fi({type:e,minLength:null,maxLength:null,exactLength:null,typeName:xe.ZodArray,...Oe(t)});function fu(e){if(e instanceof It){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=ns.create(fu(r))}return new It({...e._def,shape:()=>t})}else return e instanceof Fi?new Fi({...e._def,type:fu(e.element)}):e instanceof ns?ns.create(fu(e.unwrap())):e instanceof vl?vl.create(fu(e.unwrap())):e instanceof Co?Co.create(e.items.map(t=>fu(t))):e}class It extends Re{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Qe.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==le.object){const u=this._getOrReturnCtx(t);return ce(u,{code:re.invalid_type,expected:le.object,received:u.parsedType}),Ce}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof fs&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const c=o[u],d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new xo(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof fs){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(u==="strict")a.length>0&&(ce(i,{code:re.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new xo(i,d,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of l){const d=await c.key;u.push({key:d,value:await c.value,alwaysSet:c.alwaysSet})}return u}).then(u=>er.mergeObjectSync(r,u)):er.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return be.errToObj,new It({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=be.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new It({...this._def,unknownKeys:"strip"})}passthrough(){return new It({...this._def,unknownKeys:"passthrough"})}extend(t){return new It({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new It({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:xe.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new It({...this._def,catchall:t})}pick(t){const n={};return Qe.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new It({...this._def,shape:()=>n})}omit(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new It({...this._def,shape:()=>n})}deepPartial(){return fu(this)}partial(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new It({...this._def,shape:()=>n})}required(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ns;)o=o._def.innerType;n[r]=o}}),new It({...this._def,shape:()=>n})}keyof(){return fD(Qe.objectKeys(this.shape))}}It.create=(e,t)=>new It({shape:()=>e,unknownKeys:"strip",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});It.strictCreate=(e,t)=>new It({shape:()=>e,unknownKeys:"strict",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});It.lazycreate=(e,t)=>new It({shape:e,unknownKeys:"strip",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});class uh extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new $i(a.ctx.common.issues));return ce(n,{code:re.invalid_union,unionErrors:s}),Ce}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new $i(l));return ce(n,{code:re.invalid_union,unionErrors:a}),Ce}}get options(){return this._def.options}}uh.create=(e,t)=>new uh({options:e,typeName:xe.ZodUnion,...Oe(t)});const fm=e=>e instanceof fh?fm(e.schema):e instanceof Ui?fm(e.innerType()):e instanceof hh?[e.value]:e instanceof ma?e.options:e instanceof ph?Object.keys(e.enum):e instanceof gh?fm(e._def.innerType):e instanceof ah?[void 0]:e instanceof lh?[null]:null;class jv extends Re{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.object)return ce(n,{code:re.invalid_type,expected:le.object,received:n.parsedType}),Ce;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(ce(n,{code:re.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Ce)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=fm(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new jv({typeName:xe.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Oe(r)})}}function Iw(e,t){const n=js(e),r=js(t);if(e===t)return{valid:!0,data:e};if(n===le.object&&r===le.object){const i=Qe.objectKeys(t),o=Qe.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=Iw(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===le.array&&r===le.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(Ow(o)||Ow(s))return Ce;const a=Iw(o.value,s.value);return a.valid?((Rw(o)||Rw(s))&&n.dirty(),{status:n.value,value:a.data}):(ce(r,{code:re.invalid_intersection_types}),Ce)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ch.create=(e,t,n)=>new ch({left:e,right:t,typeName:xe.ZodIntersection,...Oe(n)});class Co extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.array)return ce(r,{code:re.invalid_type,expected:le.array,received:r.parsedType}),Ce;if(r.data.lengththis._def.items.length&&(ce(r,{code:re.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new xo(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>er.mergeArray(n,s)):er.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Co({...this._def,rest:t})}}Co.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Co({items:e,typeName:xe.ZodTuple,rest:null,...Oe(t)})};class dh extends Re{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.object)return ce(r,{code:re.invalid_type,expected:le.object,received:r.parsedType}),Ce;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new xo(r,a,r.path,a)),value:s._parse(new xo(r,r.data[a],r.path,a))});return r.common.async?er.mergeObjectAsync(n,i):er.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Re?new dh({keyType:t,valueType:n,typeName:xe.ZodRecord,...Oe(r)}):new dh({keyType:Ii.create(),valueType:t,typeName:xe.ZodRecord,...Oe(n)})}}class Iy extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.map)return ce(r,{code:re.invalid_type,expected:le.map,received:r.parsedType}),Ce;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new xo(r,a,r.path,[u,"key"])),value:o._parse(new xo(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return Ce;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return Ce;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}}Iy.create=(e,t,n)=>new Iy({valueType:t,keyType:e,typeName:xe.ZodMap,...Oe(n)});class yl extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.set)return ce(r,{code:re.invalid_type,expected:le.set,received:r.parsedType}),Ce;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(ce(r,{code:re.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const c of l){if(c.status==="aborted")return Ce;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new xo(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new yl({...this._def,minSize:{value:t,message:be.toString(n)}})}max(t,n){return new yl({...this._def,maxSize:{value:t,message:be.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}yl.create=(e,t)=>new yl({valueType:e,minSize:null,maxSize:null,typeName:xe.ZodSet,...Oe(t)});class Qu extends Re{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.function)return ce(n,{code:re.invalid_type,expected:le.function,received:n.parsedType}),Ce;function r(a,l){return Py({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ey(),oh].filter(u=>!!u),issueData:{code:re.invalid_arguments,argumentsError:l}})}function i(a,l){return Py({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ey(),oh].filter(u=>!!u),issueData:{code:re.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof kc?pr(async(...a)=>{const l=new $i([]),u=await this._def.args.parseAsync(a,o).catch(f=>{throw l.addIssue(r(a,f)),l}),c=await s(...u);return await this._def.returns._def.type.parseAsync(c,o).catch(f=>{throw l.addIssue(i(c,f)),l})}):pr((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new $i([r(a,l.error)]);const u=s(...l.data),c=this._def.returns.safeParse(u,o);if(!c.success)throw new $i([i(u,c.error)]);return c.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Qu({...this._def,args:Co.create(t).rest(ol.create())})}returns(t){return new Qu({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Qu({args:t||Co.create([]).rest(ol.create()),returns:n||ol.create(),typeName:xe.ZodFunction,...Oe(r)})}}class fh extends Re{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}fh.create=(e,t)=>new fh({getter:e,typeName:xe.ZodLazy,...Oe(t)});class hh extends Re{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return ce(n,{received:n.data,code:re.invalid_literal,expected:this._def.value}),Ce}return{status:"valid",value:t.data}}get value(){return this._def.value}}hh.create=(e,t)=>new hh({value:e,typeName:xe.ZodLiteral,...Oe(t)});function fD(e,t){return new ma({values:e,typeName:xe.ZodEnum,...Oe(t)})}class ma extends Re{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return ce(n,{expected:Qe.joinValues(r),received:n.parsedType,code:re.invalid_type}),Ce}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return ce(n,{received:n.data,code:re.invalid_enum_value,options:r}),Ce}return pr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return ma.create(t)}exclude(t){return ma.create(this.options.filter(n=>!t.includes(n)))}}ma.create=fD;class ph extends Re{_parse(t){const n=Qe.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==le.string&&r.parsedType!==le.number){const i=Qe.objectValues(n);return ce(r,{expected:Qe.joinValues(i),received:r.parsedType,code:re.invalid_type}),Ce}if(n.indexOf(t.data)===-1){const i=Qe.objectValues(n);return ce(r,{received:r.data,code:re.invalid_enum_value,options:i}),Ce}return pr(t.data)}get enum(){return this._def.values}}ph.create=(e,t)=>new ph({values:e,typeName:xe.ZodNativeEnum,...Oe(t)});class kc extends Re{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.promise&&n.common.async===!1)return ce(n,{code:re.invalid_type,expected:le.promise,received:n.parsedType}),Ce;const r=n.parsedType===le.promise?n.data:Promise.resolve(n.data);return pr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}kc.create=(e,t)=>new kc({type:e,typeName:xe.ZodPromise,...Oe(t)});class Ui extends Re{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===xe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{ce(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?Ce:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?Ce:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ky(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>ky(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);Qe.assertNever(i)}}Ui.create=(e,t,n)=>new Ui({schema:e,typeName:xe.ZodEffects,effect:t,...Oe(n)});Ui.createWithPreprocess=(e,t,n)=>new Ui({schema:t,effect:{type:"preprocess",transform:e},typeName:xe.ZodEffects,...Oe(n)});class ns extends Re{_parse(t){return this._getType(t)===le.undefined?pr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ns.create=(e,t)=>new ns({innerType:e,typeName:xe.ZodOptional,...Oe(t)});class vl extends Re{_parse(t){return this._getType(t)===le.null?pr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}vl.create=(e,t)=>new vl({innerType:e,typeName:xe.ZodNullable,...Oe(t)});class gh extends Re{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===le.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}gh.create=(e,t)=>new gh({innerType:e,typeName:xe.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Oe(t)});class My extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Ay(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new $i(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new $i(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}My.create=(e,t)=>new My({innerType:e,typeName:xe.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Oe(t)});class Ny extends Re{_parse(t){if(this._getType(t)!==le.nan){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.nan,received:r.parsedType}),Ce}return{status:"valid",value:t.data}}}Ny.create=e=>new Ny({typeName:xe.ZodNaN,...Oe(e)});const Tue=Symbol("zod_brand");class hD extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class dp extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?Ce:o.status==="dirty"?(n.dirty(),dD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Ce:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new dp({in:t,out:n,typeName:xe.ZodPipeline})}}const pD=(e,t={},n)=>e?Pc.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Pc.create(),Eue={object:It.lazycreate};var xe;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(xe||(xe={}));const Pue=(e,t={message:`Input not instance of ${e.name}`})=>pD(n=>n instanceof e,t),gD=Ii.create,mD=pa.create,kue=Ny.create,Aue=ga.create,yD=sh.create,Oue=ml.create,Rue=Oy.create,Iue=ah.create,Mue=lh.create,Nue=Pc.create,Due=ol.create,Lue=fs.create,$ue=Ry.create,Fue=Fi.create,Bue=It.create,jue=It.strictCreate,Vue=uh.create,zue=jv.create,Uue=ch.create,Gue=Co.create,Hue=dh.create,que=Iy.create,Wue=yl.create,Kue=Qu.create,Yue=fh.create,Xue=hh.create,Que=ma.create,Zue=ph.create,Jue=kc.create,R6=Ui.create,ece=ns.create,tce=vl.create,nce=Ui.createWithPreprocess,rce=dp.create,ice=()=>gD().optional(),oce=()=>mD().optional(),sce=()=>yD().optional(),ace={string:e=>Ii.create({...e,coerce:!0}),number:e=>pa.create({...e,coerce:!0}),boolean:e=>sh.create({...e,coerce:!0}),bigint:e=>ga.create({...e,coerce:!0}),date:e=>ml.create({...e,coerce:!0})},lce=Ce;var Pn=Object.freeze({__proto__:null,defaultErrorMap:oh,setErrorMap:fue,getErrorMap:Ey,makeIssue:Py,EMPTY_PATH:hue,addIssueToContext:ce,ParseStatus:er,INVALID:Ce,DIRTY:dD,OK:pr,isAborted:Ow,isDirty:Rw,isValid:ky,isAsync:Ay,get util(){return Qe},get objectUtil(){return Aw},ZodParsedType:le,getParsedType:js,ZodType:Re,ZodString:Ii,ZodNumber:pa,ZodBigInt:ga,ZodBoolean:sh,ZodDate:ml,ZodSymbol:Oy,ZodUndefined:ah,ZodNull:lh,ZodAny:Pc,ZodUnknown:ol,ZodNever:fs,ZodVoid:Ry,ZodArray:Fi,ZodObject:It,ZodUnion:uh,ZodDiscriminatedUnion:jv,ZodIntersection:ch,ZodTuple:Co,ZodRecord:dh,ZodMap:Iy,ZodSet:yl,ZodFunction:Qu,ZodLazy:fh,ZodLiteral:hh,ZodEnum:ma,ZodNativeEnum:ph,ZodPromise:kc,ZodEffects:Ui,ZodTransformer:Ui,ZodOptional:ns,ZodNullable:vl,ZodDefault:gh,ZodCatch:My,ZodNaN:Ny,BRAND:Tue,ZodBranded:hD,ZodPipeline:dp,custom:pD,Schema:Re,ZodSchema:Re,late:Eue,get ZodFirstPartyTypeKind(){return xe},coerce:ace,any:Nue,array:Fue,bigint:Aue,boolean:yD,date:Oue,discriminatedUnion:zue,effect:R6,enum:Que,function:Kue,instanceof:Pue,intersection:Uue,lazy:Yue,literal:Xue,map:que,nan:kue,nativeEnum:Zue,never:Lue,null:Mue,nullable:tce,number:mD,object:Bue,oboolean:sce,onumber:oce,optional:ece,ostring:ice,pipeline:rce,preprocess:nce,promise:Jue,record:Hue,set:Wue,strictObject:jue,string:gD,symbol:Rue,transformer:R6,tuple:Gue,undefined:Iue,union:Vue,unknown:Due,void:$ue,NEVER:lce,ZodIssueCode:re,quotelessJson:due,ZodError:$i});const uce=Pn.string(),CTe=e=>uce.safeParse(e).success,cce=Pn.string(),TTe=e=>cce.safeParse(e).success,dce=Pn.number().int().min(1),ETe=e=>dce.safeParse(e).success,fce=Pn.number().min(1),PTe=e=>fce.safeParse(e).success,hce=Pn.enum(f7),kTe=e=>hce.safeParse(e).success,pce=Pn.number().int().min(0).max(yZ),ATe=e=>pce.safeParse(e).success,gce=Pn.number().multipleOf(8).min(64),OTe=e=>gce.safeParse(e).success,mce=Pn.number().multipleOf(8).min(64),RTe=e=>mce.safeParse(e).success,Vv=Pn.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),zv=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),ITe=e=>zv.safeParse(e).success,yce=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),MTe=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),NTe=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),vce=Pn.number().min(0).max(1),DTe=e=>vce.safeParse(e).success,Nl={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:mZ,seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0},bce=Nl,vD=zt({name:"generation",initialState:bce,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Xo(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Xo(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Nl}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=Hd[e.model.base_model];e.clipSkip=Xo(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload}},extraReducers:e=>{e.addCase(vZ,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=zv.safeParse({model_name:a,base_model:o});l.success&&(t.model=l.data)}}),e.addCase(Tce,(t,n)=>{n.payload||(t.clipSkip=0)}),e.addCase(xD,(t,n)=>{const r=n.payload;r&&(t.height=io(t.width/r,8))})}}),{clampSymmetrySteps:LTe,clearInitialImage:bD,resetParametersState:$Te,resetSeed:FTe,setCfgScale:BTe,setWidth:jTe,setHeight:VTe,toggleSize:zTe,setImg2imgStrength:UTe,setInfillMethod:Sce,setIterations:GTe,setPerlin:HTe,setPositivePrompt:qTe,setNegativePrompt:WTe,setScheduler:KTe,setSeamBlur:YTe,setSeamSize:XTe,setSeamSteps:QTe,setSeamStrength:ZTe,setSeed:JTe,setSeedWeights:eEe,setShouldFitToWidthHeight:tEe,setShouldGenerateVariations:nEe,setShouldRandomizeSeed:rEe,setSteps:iEe,setThreshold:oEe,setTileSize:sEe,setVariationAmount:aEe,setShouldUseSymmetry:lEe,setHorizontalSymmetrySteps:uEe,setVerticalSymmetrySteps:cEe,initialImageChanged:Uv,modelChanged:hm,vaeSelected:SD,setShouldUseNoiseSettings:dEe,setSeamlessXAxis:fEe,setSeamlessYAxis:hEe,setClipSkip:I6,shouldUseCpuNoiseChanged:pEe}=vD.actions,_ce=vD.reducer,wce=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],M6=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=wce.indexOf(t)},_D={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,addNewModelUIOption:null,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,shouldShowAdvancedOptions:!1,aspectRatio:null,favoriteSchedulers:[]},wD=zt({name:"ui",initialState:_D,reducers:{setActiveTab:(e,t)=>{M6(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setAddNewModelUIOption:(e,t)=>{e.addNewModelUIOption=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload},setAspectRatio:(e,t)=>{e.aspectRatio=t.payload}},extraReducers(e){e.addCase(Uv,t=>{M6(t,"img2img")})}}),{setActiveTab:xce,setShouldPinParametersPanel:gEe,setShouldShowParametersPanel:mEe,setShouldShowImageDetails:yEe,setShouldUseCanvasBetaLayout:Cce,setShouldShowExistingModelsInSearch:vEe,setShouldUseSliders:bEe,setAddNewModelUIOption:SEe,setShouldHidePreview:_Ee,setShouldShowGallery:wEe,togglePanels:xEe,togglePinGalleryPanel:CEe,togglePinParametersPanel:TEe,toggleParametersPanel:EEe,toggleGalleryPanel:PEe,setShouldShowProgressInViewer:kEe,favoriteSchedulersChanged:AEe,toggleEmbeddingPicker:OEe,setShouldShowAdvancedOptions:Tce,setAspectRatio:xD}=wD.actions,Ece=wD.reducer,Gv=Vf.withTypes(),Kc={memoizeOptions:{resultEqualityCheck:n7}},Hv=e=>e.system,Pce=e=>e.system.toastQueue;Vn(Hv,e=>{const{model_list:t}=e,n=vv(t,(r,i,o)=>(i.status==="active"&&(r=o),r),"");return{...t[n],name:n}},Kc);Vn(Hv,e=>{const{model_list:t}=e;return UQ(t,(r,i)=>{if(r.format==="diffusers")return{name:i,...r}})},Kc);const REe=Vn(Hv,e=>e.language,Kc),IEe=Vn(e=>e,e=>e.system.isProcessing||!e.system.isConnected);var Ac={},CD={},bl={};Object.defineProperty(bl,"__esModule",{value:!0});bl.ROARR_LOG_FORMAT_VERSION=bl.ROARR_VERSION=void 0;bl.ROARR_VERSION="5.0.0";bl.ROARR_LOG_FORMAT_VERSION="2.0.0";var fp={};Object.defineProperty(fp,"__esModule",{value:!0});fp.logLevels=void 0;fp.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var TD={},qv={};Object.defineProperty(qv,"__esModule",{value:!0});qv.hasOwnProperty=void 0;const kce=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);qv.hasOwnProperty=kce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=qv;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(TD);var ED={},Wv={},Z5={},Kv={};Object.defineProperty(Kv,"__esModule",{value:!0});Kv.boolean=void 0;const Ace=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Kv.boolean=Ace;var Yv={};Object.defineProperty(Yv,"__esModule",{value:!0});Yv.isBooleanable=void 0;const Oce=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};Yv.isBooleanable=Oce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Kv;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=Yv;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(Z5);var Xv={};Object.defineProperty(Xv,"__esModule",{value:!0});Xv.tokenize=void 0;const Rce=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,Ice=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Rce.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Xv.tokenize=Ice;Object.defineProperty(Wv,"__esModule",{value:!0});Wv.createPrintf=void 0;const N6=Z5,Mce=Xv,Nce=(e,t)=>t.placeholder,Dce=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Nce,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Mce.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let c=s[u.position];if(c===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=N6.boolean(c)?"true":"false";else if(u.conversion==="B")l+=N6.boolean(c)?"TRUE":"FALSE";else if(u.conversion==="c")l+=c;else if(u.conversion==="C")l+=String(c).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")c=String(Math.trunc(c)),u.width!==null&&(c=n(c,u.width,u.flag)),l+=c;else if(u.conversion==="e")l+=Number(c).toExponential();else if(u.conversion==="E")l+=Number(c).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(c=Number(c).toFixed(u.precision)),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="o")l+=(Number.parseInt(String(c),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="S")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=String(c).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(c),10)>>>0;else if(u.conversion==="x")c=(Number.parseInt(String(c),10)>>>0).toString(16),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else throw new Error("Unknown format specifier.")}return l}};Wv.createPrintf=Dce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Wv;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(ED);var D6=Object.prototype.toString,PD=function(t){var n=D6.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&D6.call(t.callee)==="[object Function]"),r},XS,L6;function Lce(){if(L6)return XS;L6=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=PD,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(f){var h=f.constructor;return h&&h.prototype===f},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},c=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!u["$"+f]&&t.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{l(window[f])}catch{return!0}}catch{return!0}return!1}(),d=function(f){if(typeof window>"u"||!c)return l(f);try{return l(f)}catch{return!1}};e=function(h){var p=h!==null&&typeof h=="object",m=n.call(h)==="[object Function]",S=r(h),v=p&&n.call(h)==="[object String]",y=[];if(!p&&!m&&!S)throw new TypeError("Object.keys called on a non-object");var g=s&&m;if(v&&h.length>0&&!t.call(h,0))for(var b=0;b0)for(var _=0;_"u"||!Sn?Ve:Sn(Uint8Array),al={"%AggregateError%":typeof AggregateError>"u"?Ve:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Ve:ArrayBuffer,"%ArrayIteratorPrototype%":Zl&&Sn?Sn([][Symbol.iterator]()):Ve,"%AsyncFromSyncIteratorPrototype%":Ve,"%AsyncFunction%":hu,"%AsyncGenerator%":hu,"%AsyncGeneratorFunction%":hu,"%AsyncIteratorPrototype%":hu,"%Atomics%":typeof Atomics>"u"?Ve:Atomics,"%BigInt%":typeof BigInt>"u"?Ve:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Ve:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Ve:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Ve:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Ve:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Ve:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Ve:FinalizationRegistry,"%Function%":AD,"%GeneratorFunction%":hu,"%Int8Array%":typeof Int8Array>"u"?Ve:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Ve:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Ve:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Zl&&Sn?Sn(Sn([][Symbol.iterator]())):Ve,"%JSON%":typeof JSON=="object"?JSON:Ve,"%Map%":typeof Map>"u"?Ve:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Zl||!Sn?Ve:Sn(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Ve:Promise,"%Proxy%":typeof Proxy>"u"?Ve:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Ve:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Ve:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Zl||!Sn?Ve:Sn(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Ve:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Zl&&Sn?Sn(""[Symbol.iterator]()):Ve,"%Symbol%":Zl?Symbol:Ve,"%SyntaxError%":Oc,"%ThrowTypeError%":Zce,"%TypedArray%":ede,"%TypeError%":Zu,"%Uint8Array%":typeof Uint8Array>"u"?Ve:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Ve:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Ve:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Ve:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Ve:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Ve:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Ve:WeakSet};if(Sn)try{null.error}catch(e){var tde=Sn(Sn(e));al["%Error.prototype%"]=tde}var nde=function e(t){var n;if(t==="%AsyncFunction%")n=ZS("async function () {}");else if(t==="%GeneratorFunction%")n=ZS("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=ZS("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&Sn&&(n=Sn(i.prototype))}return al[t]=n,n},V6={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},hp=kD,Dy=Qce,rde=hp.call(Function.call,Array.prototype.concat),ide=hp.call(Function.apply,Array.prototype.splice),z6=hp.call(Function.call,String.prototype.replace),Ly=hp.call(Function.call,String.prototype.slice),ode=hp.call(Function.call,RegExp.prototype.exec),sde=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,ade=/\\(\\)?/g,lde=function(t){var n=Ly(t,0,1),r=Ly(t,-1);if(n==="%"&&r!=="%")throw new Oc("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Oc("invalid intrinsic syntax, expected opening `%`");var i=[];return z6(t,sde,function(o,s,a,l){i[i.length]=a?z6(l,ade,"$1"):s||o}),i},ude=function(t,n){var r=t,i;if(Dy(V6,r)&&(i=V6[r],r="%"+i[0]+"%"),Dy(al,r)){var o=al[r];if(o===hu&&(o=nde(r)),typeof o>"u"&&!n)throw new Zu("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Oc("intrinsic "+t+" does not exist!")},cde=function(t,n){if(typeof t!="string"||t.length===0)throw new Zu("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Zu('"allowMissing" argument must be a boolean');if(ode(/^%?[^%]*%?$/,t)===null)throw new Oc("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=lde(t),i=r.length>0?r[0]:"",o=ude("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],ide(r,rde([0,1],u)));for(var c=1,d=!0;c=r.length){var m=sl(a,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?a=m.get:a=a[f]}else d=Dy(a,f),a=a[f];d&&!l&&(al[s]=a)}}return a},dde=cde,Mw=dde("%Object.defineProperty%",!0),Nw=function(){if(Mw)try{return Mw({},"a",{value:1}),!0}catch{return!1}return!1};Nw.hasArrayLengthDefineBug=function(){if(!Nw())return null;try{return Mw([],"length",{value:1}).length!==1}catch{return!0}};var fde=Nw,hde=Bce,pde=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",gde=Object.prototype.toString,mde=Array.prototype.concat,OD=Object.defineProperty,yde=function(e){return typeof e=="function"&&gde.call(e)==="[object Function]"},vde=fde(),RD=OD&&vde,bde=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!yde(r)||!r())return}RD?OD(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},ID=function(e,t){var n=arguments.length>2?arguments[2]:{},r=hde(t);pde&&(r=mde.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i200)return v.sort();for(let y=1;yg;)v[b]=v[b-1],b--;v[b]=g}return v}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(v){return a.call(v)!==void 0&&v.length!==0}function u(v,y,g){v.length= 1`)}return g===void 0?1/0:g}function h(v){return v===1?"1 item":`${v} items`}function p(v){const y=new Set;for(const g of v)(typeof g=="string"||typeof g=="number")&&y.add(String(g));return y}function m(v){if(n.call(v,"strict")){const y=v.strict;if(typeof y!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(y)return g=>{let b=`Object can not safely be stringified. Received type ${typeof g}`;throw typeof g!="function"&&(b+=` (${g.toString()})`),new Error(b)}}}function S(v){v={...v};const y=m(v);y&&(v.bigint===void 0&&(v.bigint=!1),"circularValue"in v||(v.circularValue=Error));const g=c(v),b=d(v,"bigint"),_=d(v,"deterministic"),w=f(v,"maximumDepth"),x=f(v,"maximumBreadth");function C(N,T,O,I,M,R){let D=T[N];switch(typeof D=="object"&&D!==null&&typeof D.toJSON=="function"&&(D=D.toJSON(N)),D=I.call(T,N,D),typeof D){case"string":return o(D);case"object":{if(D===null)return"null";if(O.indexOf(D)!==-1)return g;let L="",V=",";const z=R;if(Array.isArray(D)){if(D.length===0)return"[]";if(wx){const ne=D.length-x-1;L+=`${V}"... ${h(ne)} not stringified"`}return M!==""&&(L+=` -${z}`),O.pop(),`[${L}]`}let U=Object.keys(D);const K=U.length;if(K===0)return"{}";if(wx){const q=K-x;L+=`${X}"...":${W}"${h(q)} not stringified"`,X=V}return M!==""&&X.length>1&&(L=` -${R}${L} -${z}`),O.pop(),`{${L}}`}case"number":return isFinite(D)?String(D):y?y(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(D);default:return y?y(D):void 0}}function k(N,T,O,I,M,R){switch(typeof T=="object"&&T!==null&&typeof T.toJSON=="function"&&(T=T.toJSON(N)),typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(O.indexOf(T)!==-1)return g;const D=R;let L="",V=",";if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const F=T.length-x-1;L+=`${V}"... ${h(F)} not stringified"`}return M!==""&&(L+=` -${D}`),O.pop(),`[${L}]`}O.push(T);let z="";M!==""&&(R+=M,V=`, -${R}`,z=" ");let U="";for(const K of I){const W=k(K,T[K],O,I,M,R);W!==void 0&&(L+=`${U}${o(K)}:${z}${W}`,U=V)}return M!==""&&U.length>1&&(L=` -${R}${L} -${D}`),O.pop(),`{${L}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function P(N,T,O,I,M){switch(typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(typeof T.toJSON=="function"){if(T=T.toJSON(N),typeof T!="object")return P(N,T,O,I,M);if(T===null)return"null"}if(O.indexOf(T)!==-1)return g;const R=M;if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const J=T.length-x-1;W+=`${X}"... ${h(J)} not stringified"`}return W+=` -${R}`,O.pop(),`[${W}]`}let D=Object.keys(T);const L=D.length;if(L===0)return"{}";if(wx){const W=L-x;z+=`${U}"...": "${h(W)} not stringified"`,U=V}return U!==""&&(z=` -${M}${z} -${R}`),O.pop(),`{${z}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function A(N,T,O){switch(typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(typeof T.toJSON=="function"){if(T=T.toJSON(N),typeof T!="object")return A(N,T,O);if(T===null)return"null"}if(O.indexOf(T)!==-1)return g;let I="";if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const K=T.length-x-1;I+=`,"... ${h(K)} not stringified"`}return O.pop(),`[${I}]`}let M=Object.keys(T);const R=M.length;if(R===0)return"{}";if(wx){const V=R-x;I+=`${D}"...":"${h(V)} not stringified"`}return O.pop(),`{${I}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function $(N,T,O){if(arguments.length>1){let I="";if(typeof O=="number"?I=" ".repeat(Math.min(O,10)):typeof O=="string"&&(I=O.slice(0,10)),T!=null){if(typeof T=="function")return C("",{"":N},[],T,I,"");if(Array.isArray(T))return k("",N,[],p(T),I,"")}if(I.length!==0)return P("",N,[],I,"")}return A("",N,[])}return $}})(Dw,Dw.exports);var kde=Dw.exports;(function(e){var t=De&&De.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=bl,r=fp,i=TD,o=ED,s=t(J5),a=t(kde);let l=!1;const u=(0,s.default)(),c=()=>u.ROARR,d=()=>({messageContext:{},transforms:[]}),f=()=>{const g=c().asyncLocalStorage;if(!g)throw new Error("AsyncLocalContext is unavailable.");const b=g.getStore();return b||d()},h=()=>!!c().asyncLocalStorage,p=()=>{if(h()){const g=f();return(0,i.hasOwnProperty)(g,"sequenceRoot")&&(0,i.hasOwnProperty)(g,"sequence")&&typeof g.sequence=="number"?String(g.sequenceRoot)+"."+String(g.sequence++):String(c().sequence++)}return String(c().sequence++)},m=(g,b)=>(_,w,x,C,k,P,A,$,N,T)=>{g.child({logLevel:b})(_,w,x,C,k,P,A,$,N,T)},S=1e3,v=(g,b)=>(_,w,x,C,k,P,A,$,N,T)=>{const O=(0,a.default)({a:_,b:w,c:x,d:C,e:k,f:P,g:A,h:$,i:N,j:T,logLevel:b});if(!O)throw new Error("Expected key to be a string");const I=c().onceLog;I.has(O)||(I.add(O),I.size>S&&I.clear(),g.child({logLevel:b})(_,w,x,C,k,P,A,$,N,T))},y=(g,b={},_=[])=>{const w=(x,C,k,P,A,$,N,T,O,I)=>{const M=Date.now(),R=p();let D;h()?D=f():D=d();let L,V;if(typeof x=="string"?L={...D.messageContext,...b}:L={...D.messageContext,...b,...x},typeof x=="string"&&C===void 0)V=x;else if(typeof x=="string"){if(!x.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");V=(0,o.printf)(x,C,k,P,A,$,N,T,O,I)}else{let U=C;if(typeof C!="string")if(C===void 0)U="";else throw new TypeError("Message must be a string. Received "+typeof C+".");V=(0,o.printf)(U,k,P,A,$,N,T,O,I)}let z={context:L,message:V,sequence:R,time:M,version:n.ROARR_LOG_FORMAT_VERSION};for(const U of[...D.transforms,..._])if(z=U(z),typeof z!="object"||z===null)throw new Error("Message transform function must return a message object.");g(z)};return w.child=x=>{let C;return h()?C=f():C=d(),typeof x=="function"?(0,e.createLogger)(g,{...C.messageContext,...b,...x},[x,..._]):(0,e.createLogger)(g,{...C.messageContext,...b,...x},_)},w.getContext=()=>{let x;return h()?x=f():x=d(),{...x.messageContext,...b}},w.adopt=async(x,C)=>{if(!h())return l===!1&&(l=!0,g({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:p(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),x();const k=f();let P;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?P=k.sequenceRoot+"."+String(k.sequence++):P=String(c().sequence++);let A={...k.messageContext};const $=[...k.transforms];typeof C=="function"?$.push(C):A={...A,...C};const N=c().asyncLocalStorage;if(!N)throw new Error("Async local context unavailable.");return N.run({messageContext:A,sequence:0,sequenceRoot:P,transforms:$},()=>x())},w.debug=m(w,r.logLevels.debug),w.debugOnce=v(w,r.logLevels.debug),w.error=m(w,r.logLevels.error),w.errorOnce=v(w,r.logLevels.error),w.fatal=m(w,r.logLevels.fatal),w.fatalOnce=v(w,r.logLevels.fatal),w.info=m(w,r.logLevels.info),w.infoOnce=v(w,r.logLevels.info),w.trace=m(w,r.logLevels.trace),w.traceOnce=v(w,r.logLevels.trace),w.warn=m(w,r.logLevels.warn),w.warnOnce=v(w,r.logLevels.warn),w};e.createLogger=y})(CD);var Qv={},Ade=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Ode=De&&De.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qv,"__esModule",{value:!0});Qv.createRoarrInitialGlobalStateBrowser=void 0;const U6=bl,G6=Ode(Ade),Rde=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(G6.default),t.includes(U6.ROARR_VERSION)||t.push(U6.ROARR_VERSION),t.sort(G6.default),{sequence:0,...e,versions:t}};Qv.createRoarrInitialGlobalStateBrowser=Rde;var Zv={};Object.defineProperty(Zv,"__esModule",{value:!0});Zv.getLogLevelName=void 0;const Ide=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zv.getLogLevelName=Ide;(function(e){var t=De&&De.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=CD,r=Qv,o=(0,t(J5).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=d=>JSON.stringify(d),l=(0,n.createLogger)(d=>{var f;s.write&&s.write(((f=s.serializeMessage)!==null&&f!==void 0?f:a)(d))});e.Roarr=l;var u=fp;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var c=Zv;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return c.getLogLevelName}})})(Ac);var e3={},Jv={},e1={};Object.defineProperty(e1,"__esModule",{value:!0});e1.createLogMethods=void 0;var Mde=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};e1.createLogMethods=Mde;var FD={},pp={},t3={},t1={},n1={};Object.defineProperty(n1,"__esModule",{value:!0});n1.convertWildcardToRegex=void 0;var Nde=/\*+/g,Dde=function(e){return new RegExp(e.replace(Nde,"(.+?)"))};n1.convertWildcardToRegex=Dde;var gp={};Object.defineProperty(gp,"__esModule",{value:!0});gp.escapeRegexString=void 0;var Lde=/[$()*+.?[\\\]^{|}]/g,$de=/-/g,Fde=function(e){return e.replace(Lde,"\\$&").replace($de,"\\x2d")};gp.escapeRegexString=Fde;var r1={};Object.defineProperty(r1,"__esModule",{value:!0});r1.parseRegex=void 0;var Bde=/(\/?)(.+)\1([a-z]*)/,jde=/^(?!.*?(.).*?\1)[AJUXgimsux]+$/,Vde=function(e){var t=Bde.exec(e);if(!t)throw new Error("Invalid RegExp.");return t[3]&&!jde.test(t[3])?new RegExp(e):new RegExp(t[2],t[3])};r1.parseRegex=Vde;Object.defineProperty(t1,"__esModule",{value:!0});t1.createStringTest=void 0;var zde=n1,Ude=gp,Gde=r1,e_=function(e,t){var n;return e[t]?n=e[t]:n=e[t]=(0,Gde.parseRegex)(t),function(r){var i,o;return(o=(i=r.match(n))===null||i===void 0?void 0:i[0])!==null&&o!==void 0?o:!1}},Hde=function(e,t){if(t.type!=="Tag")throw new Error("Expected a tag expression.");var n=t.expression;if(n.type==="RangeExpression")throw new Error("Unexpected range expression.");if(n.type==="RegexExpression")return e_(e,n.value);if(n.type!=="LiteralExpression")throw new Error("Expected a literal expression.");var r=String(n.value);return r.includes("*")&&n.quoted===!1?e_(e,String((0,zde.convertWildcardToRegex)(r))+(n.quoted?"u":"ui")):e_(e,"/("+(0,Ude.escapeRegexString)(r)+")/"+(n.quoted?"u":"ui"))};t1.createStringTest=Hde;var i1={};Object.defineProperty(i1,"__esModule",{value:!0});i1.testComparisonRange=void 0;var qde=function(e,t,n){switch(n){case":=":return t===e;case":>":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};i1.testComparisonRange=qde;var o1={};Object.defineProperty(o1,"__esModule",{value:!0});o1.testRange=void 0;var Wde=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};o1.testRange=Wde;(function(e){var t=De&&De.__assign||function(){return t=Object.assign||function(c){for(var d,f=1,h=arguments.length;f0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,Xde.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};s1.highlight=Zde;var a1={},BD={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(De,function(){function t(u,c,d){return this.id=++t.highestId,this.name=u,this.symbols=c,this.postprocess=d,this}t.highestId=0,t.prototype.toString=function(u){var c=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+c};function n(u,c,d,f){this.rule=u,this.dot=c,this.reference=d,this.data=[],this.wantedBy=f,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var c=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return c.left=this,c.right=u,c.isComplete&&(c.data=c.build(),c.right=void 0),c},n.prototype.build=function(){var u=[],c=this;do u.push(c.right.data),c=c.left;while(c.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,c){this.grammar=u,this.index=c,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var c=this.states,d=this.wants,f=this.completed,h=0;h0&&c.push(" ^ "+f+" more lines identical to this"),f=0,c.push(" "+m)),d=m}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,c){if(c.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var d=u.wantedBy[0],f=[u].concat(c),h=this.buildFirstStateStack(d,f);return h===null?null:[u].concat(h)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var c=u.index;this.current=c,this.table[c]=u,this.table.splice(c+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],c=this.grammar.start,d=this.table[this.table.length-1];return d.states.forEach(function(f){f.rule.name===c&&f.dot===f.rule.symbols.length&&f.reference===0&&f.data!==s.fail&&u.push(f)}),u.map(function(f){return f.data})};function a(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(BD);var Jde=BD.exports,Sl={},jD={},ka={};ka.__esModule=void 0;ka.__esModule=!0;var efe=typeof Object.setPrototypeOf=="function",tfe=typeof Object.getPrototypeOf=="function",nfe=typeof Object.defineProperty=="function",rfe=typeof Object.create=="function",ife=typeof Object.prototype.hasOwnProperty=="function",ofe=function(t,n){efe?Object.setPrototypeOf(t,n):t.__proto__=n};ka.setPrototypeOf=ofe;var sfe=function(t){return tfe?Object.getPrototypeOf(t):t.__proto__||t.prototype};ka.getPrototypeOf=sfe;var H6=!1,afe=function e(t,n,r){if(nfe&&!H6)try{Object.defineProperty(t,n,r)}catch{H6=!0,e(t,n,r)}else t[n]=r.value};ka.defineProperty=afe;var VD=function(t,n){return ife?t.hasOwnProperty(t,n):t[n]===void 0};ka.hasOwnProperty=VD;var lfe=function(t,n){if(rfe)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)VD(n,o)&&(i[o]=n[o].value);return i};ka.objectCreate=lfe;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ka,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var c=this.constructor,d=c.name||function(){var S=c.toString().match(/^function\s*([^\s(]+)/);return S===null?a||"Error":S[1]}(),f=d==="Error",h=f?a:d,p=Error.apply(this,arguments);if(n(p,r(this)),!(p instanceof c)||!(p instanceof l)){var p=this;Error.apply(this,arguments),i(p,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(p,"name",{configurable:!0,enumerable:!1,value:h,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(p,f?l:c),p.stack===void 0){var m=new Error(u);m.name=p.name,p.stack=m.stack}return s&&i(p,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),p}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(jD);var zD=De&&De.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Sl,"__esModule",{value:!0});Sl.SyntaxError=Sl.LiqeError=void 0;var ufe=jD,UD=function(e){zD(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ufe.ExtendableError);Sl.LiqeError=UD;var cfe=function(e){zD(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(UD);Sl.SyntaxError=cfe;var n3={},$y=De&&De.__assign||function(){return $y=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:Fo},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};n3.default=dfe;var GD={},l1={},mp={};Object.defineProperty(mp,"__esModule",{value:!0});mp.isSafePath=void 0;var ffe=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,hfe=function(e){return ffe.test(e)};mp.isSafePath=hfe;Object.defineProperty(l1,"__esModule",{value:!0});l1.createGetValueFunctionBody=void 0;var pfe=mp,gfe=function(e){if(!(0,pfe.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};l1.createGetValueFunctionBody=gfe;(function(e){var t=De&&De.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,_fe=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new qD.default.Parser(bfe),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(Sfe);throw r?new mfe.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,vfe.hydrateAst)(n[0]);return i};a1.parse=_fe;var u1={};Object.defineProperty(u1,"__esModule",{value:!0});u1.test=void 0;var wfe=pp,xfe=function(e,t){return(0,wfe.filter)(e,[t]).length===1};u1.test=xfe;var WD={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,c=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(c?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,c=" ".repeat(a.location.start-l.location.end);return u+l.operator+c+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(WD);var c1={};Object.defineProperty(c1,"__esModule",{value:!0});c1.isSafeUnquotedExpression=void 0;var Cfe=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};c1.isSafeUnquotedExpression=Cfe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=pp;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=s1;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=a1;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=u1;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=Sl;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=WD;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=c1;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(FD);var Tfe=De&&De.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,v,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,v)}}};Jv.createLogWriter=Nfe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Jv;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(e3);const YD={package:"@invoke-ai/invoke-ai-ui"};Ac.ROARR.write=e3.createLogWriter();let Se=Ac.Roarr.child(YD);const Dfe={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},MEe=["trace","debug","info","warn","error","fatal"],Lfe=Vn(Hv,e=>{const{app_version:t,consoleLogLevel:n,shouldLogToConsole:r}=e;return{version:t,consoleLogLevel:n,shouldLogToConsole:r}},{memoizeOptions:{resultEqualityCheck:n7}}),NEe=()=>{const{version:e,consoleLogLevel:t,shouldLogToConsole:n}=cy(Lfe);return E.useEffect(()=>{n?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${Dfe[t]}`)):localStorage.setItem("ROARR_LOG","false"),Ac.ROARR.write=e3.createLogWriter()},[t,n]),E.useEffect(()=>{const r={...YD};e&&(r.version=e),Se=Ac.Roarr.child(r)},[e]),Se};let ar=[],r3=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ar.length;for(let s=0;s(e.events=e.events||{},e.events[n+fg]||(e.events[n+fg]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+fg](),delete e.events[n+fg])}),Bfe=1e3,jfe=(e,t)=>Ffe(e,r=>{let i=t(r);i&&e.events[dg].push(i)},$fe,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[dg]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[dg])s();e.events[dg]=[]}},Bfe)},()=>{e.listen=i,e.off=o}}),Vfe=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=r3(void 0,Math.max(...e.map(o=>o.l))+1);return jfe(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const zfe={"Content-Type":"application/json"},Ufe=/\/*$/;function Gfe(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function Hfe(e){return JSON.stringify(e)}function qfe(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Ufe,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Wfe(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...zfe,...i.headers??{}});async function s(a,l){const{headers:u,body:c,params:d={},parseAs:f="json",querySerializer:h=n??Gfe,bodySerializer:p=r??Hfe,...m}=l||{},S=qfe(a,{baseUrl:i.baseUrl,params:d,querySerializer:h}),v=new Headers(o),y=new Headers(u);for(const[w,x]of y.entries())x==null?v.delete(w):v.set(w,x);const g={redirect:"follow",...i,...m,headers:v};c&&(g.body=p(c)),g.body instanceof FormData&&v.delete("Content-Type");const b=await t(S,g);if(b.status===204||b.headers.get("Content-Length")==="0")return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok){let w=b.body;if(f!=="stream"){const x=b.clone();w=typeof x[f]=="function"?await x[f]():await x.text()}return{data:w,response:b}}let _={};try{_=await b.clone().json()}catch{_=await b.clone().text()}return{error:_,response:b}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const mh=r3(),yh=r3(),d1=Vfe([mh,yh],(e,t)=>Wfe({headers:e?{Authorization:`Bearer ${e}`}:{},baseUrl:`${t??""}`}));Se.child({namespace:"session"});const Un=Gv("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,error:o}):i}),Kfe=e=>Jn(e)&&"status"in e,yp=Gv("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return Kfe(o)&&o.status===403?t({arg:e,error:o.body.detail}):t({arg:e,error:o})}),Dl=Gv("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Gv("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const XD=Hi(Un.rejected,yp.rejected),Jl=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},eu=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},DEe=.999,LEe=.1,$Ee=20,_d=.95,FEe=30,BEe=10,W6=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),$a=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=io(a/o,64)):o<1&&(r.height=a,r.width=io(a*o,64)),s=r.width*r.height;return r},Yfe=e=>({width:io(e.width,64),height:io(e.height,64)}),jEe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],VEe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],QD=e=>e.kind==="line"&&e.layer==="mask",zEe=e=>e.kind==="line"&&e.layer==="base",K6=e=>e.kind==="image"&&e.layer==="base",UEe=e=>e.kind==="fillRect"&&e.layer==="base",GEe=e=>e.kind==="eraseRect"&&e.layer==="base",Xfe=e=>e.kind==="line",pu={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},ZD={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:pu,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},JD=zt({name:"canvas",initialState:ZD,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!QD(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:zd(Xo(r,64,512),64),height:zd(Xo(i,64,512),64)},a={x:io(r/2-s.width/2,64),y:io(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const c=$a(s);e.scaledBoundingBoxDimensions=c}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Yn(e.layerState)),e.layerState={...pu,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=eu(o.width,o.height,r,i,_d),u=Jl(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=Yfe(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=$a(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=W6(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...pu.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Xfe);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Yn(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.layerState=pu,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(K6),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const c=eu(i.width,i.height,512,512,_d),d=Jl(i.width,i.height,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=$a(f);e.scaledBoundingBoxDimensions=h}return}const{width:o,height:s}=r,l=eu(t,n,o,s,.95),u=Jl(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=W6(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(K6)){const i=eu(r.width,r.height,512,512,_d),o=Jl(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=$a(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const c=r?1:eu(i,o,l,u,_d),d=Jl(i,o,s,a,l,u,c);e.stageScale=c,e.stageCoordinates=d}else{const c=eu(i,o,512,512,_d),d=Jl(i,o,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=$a(f);e.scaledBoundingBoxDimensions=h}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...n[r]}),e.layerState.stagingArea={...pu.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:zd(Xo(o,64,512),64),height:zd(Xo(s,64,512),64)},l={x:io(o/2-a.width/2,64),y:io(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=$a(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=$a(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Yn(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(Dl.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=pu.stagingArea)}),e.addCase(Cce,(t,n)=>{t.doesCanvasNeedScaling=!0}),e.addCase(xce,(t,n)=>{t.doesCanvasNeedScaling=!0}),e.addCase(xD,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=io(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:HEe,addFillRect:qEe,addImageToStagingArea:Qfe,addLine:WEe,addPointToCurrentLine:KEe,clearCanvasHistory:YEe,clearMask:XEe,commitColorPickerColor:QEe,commitStagingAreaImage:Zfe,discardStagedImages:ZEe,fitBoundingBoxToStage:JEe,mouseLeftCanvas:ePe,nextStagingAreaImage:tPe,prevStagingAreaImage:nPe,redo:rPe,resetCanvas:eL,resetCanvasInteractionState:iPe,resetCanvasView:oPe,resizeAndScaleCanvas:sPe,resizeCanvas:aPe,setBoundingBoxCoordinates:lPe,setBoundingBoxDimensions:uPe,setBoundingBoxPreviewFill:cPe,setBoundingBoxScaleMethod:dPe,flipBoundingBoxAxes:fPe,setBrushColor:hPe,setBrushSize:pPe,setCanvasContainerDimensions:gPe,setColorPickerColor:mPe,setCursorPosition:yPe,setDoesCanvasNeedScaling:vPe,setInitialCanvasImage:tL,setIsDrawing:bPe,setIsMaskEnabled:SPe,setIsMouseOverBoundingBox:_Pe,setIsMoveBoundingBoxKeyHeld:wPe,setIsMoveStageKeyHeld:xPe,setIsMovingBoundingBox:CPe,setIsMovingStage:TPe,setIsTransformingBoundingBox:EPe,setLayer:PPe,setMaskColor:kPe,setMergedCanvas:Jfe,setShouldAutoSave:APe,setShouldCropToBoundingBoxOnSave:OPe,setShouldDarkenOutsideBoundingBox:RPe,setShouldLockBoundingBox:IPe,setShouldPreserveMaskedArea:MPe,setShouldShowBoundingBox:NPe,setShouldShowBrush:DPe,setShouldShowBrushPreview:LPe,setShouldShowCanvasDebugInfo:$Pe,setShouldShowCheckboardTransparency:FPe,setShouldShowGrid:BPe,setShouldShowIntermediates:jPe,setShouldShowStagingImage:VPe,setShouldShowStagingOutline:zPe,setShouldSnapToGrid:UPe,setStageCoordinates:GPe,setStageScale:HPe,setTool:qPe,toggleShouldLockBoundingBox:WPe,toggleTool:KPe,undo:YPe,setScaledBoundingBoxDimensions:XPe,setShouldRestrictStrokesToBox:QPe,stagingAreaInitialized:ehe,canvasSessionIdChanged:the,setShouldAntialias:ZPe}=JD.actions,nhe=JD.reducer,rhe=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:n0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function hhe(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var Z6=Vi;function iL(e,t){if(e===t||!(Z6(e)&&Z6(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},ghe=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function e8(e){if(!Vi(e))return e;for(var t=Ht({},e),n=0,r=Object.entries(t);n"u"&&a===J6&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(g,b){return Vy(t,null,function(){var _,w,x,C,k,P,A,$,N,T,O,I,M,R,D,L,V,z,U,K,W,X,F,q,Q,J,ne,Z,ge,ae,oe,Te,se,We,yt,Fe;return Fy(this,function(Be){switch(Be.label){case 0:return _=b.signal,w=b.getState,x=b.extra,C=b.endpoint,k=b.forced,P=b.type,$=typeof g=="string"?{url:g}:g,N=$.url,T=$.headers,O=T===void 0?new Headers(v.headers):T,I=$.params,M=I===void 0?void 0:I,R=$.responseHandler,D=R===void 0?m??"json":R,L=$.validateStatus,V=L===void 0?S??phe:L,z=$.timeout,U=z===void 0?p:z,K=X6($,["url","headers","params","responseHandler","validateStatus","timeout"]),W=Ht(fo(Ht({},v),{signal:_}),K),O=new Headers(e8(O)),X=W,[4,o(O,{getState:w,extra:x,endpoint:C,forced:k,type:P})];case 1:X.headers=Be.sent()||O,F=function(Me){return typeof Me=="object"&&(Vi(Me)||Array.isArray(Me)||typeof Me.toJSON=="function")},!W.headers.has("content-type")&&F(W.body)&&W.headers.set("content-type",f),F(W.body)&&c(W.headers)&&(W.body=JSON.stringify(W.body,h)),M&&(q=~N.indexOf("?")?"&":"?",Q=l?l(M):new URLSearchParams(e8(M)),N+=q+Q),N=dhe(r,N),J=new Request(N,W),ne=J.clone(),A={request:ne},ge=!1,ae=U&&setTimeout(function(){ge=!0,b.abort()},U),Be.label=2;case 2:return Be.trys.push([2,4,5,6]),[4,a(J)];case 3:return Z=Be.sent(),[3,6];case 4:return oe=Be.sent(),[2,{error:{status:ge?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(oe)},meta:A}];case 5:return ae&&clearTimeout(ae),[7];case 6:Te=Z.clone(),A.response=Te,We="",Be.label=7;case 7:return Be.trys.push([7,9,,10]),[4,Promise.all([y(Z,D).then(function(Me){return se=Me},function(Me){return yt=Me}),Te.text().then(function(Me){return We=Me},function(){})])];case 8:if(Be.sent(),yt)throw yt;return[3,10];case 9:return Fe=Be.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Z.status,data:We,error:String(Fe)},meta:A}];case 10:return[2,V(Z,se)?{data:se,meta:A}:{error:{status:Z.status,data:se},meta:A}]}})})};function y(g,b){return Vy(this,null,function(){var _;return Fy(this,function(w){switch(w.label){case 0:return typeof b=="function"?[2,b(g)]:(b==="content-type"&&(b=c(g.headers)?"json":"text"),b!=="json"?[3,2]:[4,g.text()]);case 1:return _=w.sent(),[2,_.length?JSON.parse(_):null];case 2:return[2,g.text()]}})})}}var t8=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),i3=me("__rtkq/focused"),oL=me("__rtkq/unfocused"),o3=me("__rtkq/online"),sL=me("__rtkq/offline"),To;(function(e){e.query="query",e.mutation="mutation"})(To||(To={}));function aL(e){return e.type===To.query}function yhe(e){return e.type===To.mutation}function lL(e,t,n,r,i,o){return vhe(e)?e(t,n,r,i).map(Lw).map(o):Array.isArray(e)?e.map(Lw).map(o):[]}function vhe(e){return typeof e=="function"}function Lw(e){return typeof e=="string"?{type:e}:e}function t_(e){return e!=null}var vh=Symbol("forceQueryFn"),$w=function(e){return typeof e[vh]=="function"};function bhe(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,c=l.removeMutationResult,d=l.updateSubscriptionOptions;return{buildInitiateQuery:y,buildInitiateMutation:g,getRunningQueryThunk:p,getRunningMutationThunk:m,getRunningQueriesThunk:S,getRunningMutationsThunk:v,getRunningOperationPromises:h,removalWarning:f};function f(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. - Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. - See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function h(){typeof process<"u";var b=function(_){return Array.from(_.values()).flatMap(function(w){return w?Object.values(w):[]})};return By(By([],b(s)),b(a)).filter(t_)}function p(b,_){return function(w){var x,C=o.endpointDefinitions[b],k=t({queryArgs:_,endpointDefinition:C,endpointName:b});return(x=s.get(w))==null?void 0:x[k]}}function m(b,_){return function(w){var x;return(x=a.get(w))==null?void 0:x[_]}}function S(){return function(b){return Object.values(s.get(b)||{}).filter(t_)}}function v(){return function(b){return Object.values(a.get(b)||{}).filter(t_)}}function y(b,_){var w=function(x,C){var k=C===void 0?{}:C,P=k.subscribe,A=P===void 0?!0:P,$=k.forceRefetch,N=k.subscriptionOptions,T=vh,O=k[T];return function(I,M){var R,D,L=t({queryArgs:x,endpointDefinition:_,endpointName:b}),V=n((R={type:"query",subscribe:A,forceRefetch:$,subscriptionOptions:N,endpointName:b,originalArgs:x,queryCacheKey:L},R[vh]=O,R)),z=i.endpoints[b].select(x),U=I(V),K=z(M()),W=U.requestId,X=U.abort,F=K.requestId!==W,q=(D=s.get(I))==null?void 0:D[L],Q=function(){return z(M())},J=Object.assign(O?U.then(Q):F&&!q?Promise.resolve(K):Promise.all([q,U]).then(Q),{arg:x,requestId:W,subscriptionOptions:N,queryCacheKey:L,abort:X,unwrap:function(){return Vy(this,null,function(){var Z;return Fy(this,function(ge){switch(ge.label){case 0:return[4,J];case 1:if(Z=ge.sent(),Z.isError)throw Z.error;return[2,Z.data]}})})},refetch:function(){return I(w(x,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){A&&I(u({queryCacheKey:L,requestId:W}))},updateSubscriptionOptions:function(Z){J.subscriptionOptions=Z,I(d({endpointName:b,requestId:W,queryCacheKey:L,options:Z}))}});if(!q&&!F&&!O){var ne=s.get(I)||{};ne[L]=J,s.set(I,ne),J.then(function(){delete ne[L],Object.keys(ne).length||s.delete(I)})}return J}};return w}function g(b){return function(_,w){var x=w===void 0?{}:w,C=x.track,k=C===void 0?!0:C,P=x.fixedCacheKey;return function(A,$){var N=r({type:"mutation",endpointName:b,originalArgs:_,track:k,fixedCacheKey:P}),T=A(N),O=T.requestId,I=T.abort,M=T.unwrap,R=T.unwrap().then(function(z){return{data:z}}).catch(function(z){return{error:z}}),D=function(){A(c({requestId:O,fixedCacheKey:P}))},L=Object.assign(R,{arg:T.arg,requestId:O,abort:I,unwrap:M,unsubscribe:D,reset:D}),V=a.get(A)||{};return a.set(A,V),V[O]=L,L.then(function(){delete V[O],Object.keys(V).length||a.delete(A)}),P&&(V[P]=L,L.then(function(){V[P]===L&&(delete V[P],Object.keys(V).length||a.delete(A))})),L}}}}function n8(e){return e}function She(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(g,b,_){return function(w){var x=i[g];w(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:b,endpointDefinition:x,endpointName:g}),patches:_}))}},l=function(g,b,_){return function(w,x){var C,k,P=s.endpoints[g].select(b)(x()),A={patches:[],inversePatches:[],undo:function(){return w(s.util.patchQueryData(g,b,A.inversePatches))}};if(P.status===Et.uninitialized)return A;if("data"in P)if(Ir(P.data)){var $=LC(P.data,_),N=$[1],T=$[2];(C=A.patches).push.apply(C,N),(k=A.inversePatches).push.apply(k,T)}else{var O=_(P.data);A.patches.push({op:"replace",path:[],value:O}),A.inversePatches.push({op:"replace",path:[],value:P.data})}return w(s.util.patchQueryData(g,b,A.patches)),A}},u=function(g,b,_){return function(w){var x;return w(s.endpoints[g].initiate(b,(x={subscribe:!1,forceRefetch:!0},x[vh]=function(){return{data:_}},x)))}},c=function(g,b){return Vy(t,[g,b],function(_,w){var x,C,k,P,A,$,N,T,O,I,M,R,D,L,V,z,U,K,W=w.signal,X=w.abort,F=w.rejectWithValue,q=w.fulfillWithValue,Q=w.dispatch,J=w.getState,ne=w.extra;return Fy(this,function(Z){switch(Z.label){case 0:x=i[_.endpointName],Z.label=1;case 1:return Z.trys.push([1,8,,13]),C=n8,k=void 0,P={signal:W,abort:X,dispatch:Q,getState:J,extra:ne,endpoint:_.endpointName,type:_.type,forced:_.type==="query"?d(_,J()):void 0},A=_.type==="query"?_[vh]:void 0,A?(k=A(),[3,6]):[3,2];case 2:return x.query?[4,r(x.query(_.originalArgs),P,x.extraOptions)]:[3,4];case 3:return k=Z.sent(),x.transformResponse&&(C=x.transformResponse),[3,6];case 4:return[4,x.queryFn(_.originalArgs,P,x.extraOptions,function(ge){return r(ge,P,x.extraOptions)})];case 5:k=Z.sent(),Z.label=6;case 6:if(typeof process<"u",k.error)throw new t8(k.error,k.meta);return M=q,[4,C(k.data,k.meta,_.originalArgs)];case 7:return[2,M.apply(void 0,[Z.sent(),(U={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},U[Qa]=!0,U)])];case 8:if(R=Z.sent(),D=R,!(D instanceof t8))return[3,12];L=n8,x.query&&x.transformErrorResponse&&(L=x.transformErrorResponse),Z.label=9;case 9:return Z.trys.push([9,11,,12]),V=F,[4,L(D.value,D.meta,_.originalArgs)];case 10:return[2,V.apply(void 0,[Z.sent(),(K={baseQueryMeta:D.meta},K[Qa]=!0,K)])];case 11:return z=Z.sent(),D=z,[3,12];case 12:throw typeof process<"u",console.error(D),D;case 13:return[2]}})})};function d(g,b){var _,w,x,C,k=(w=(_=b[n])==null?void 0:_.queries)==null?void 0:w[g.queryCacheKey],P=(x=b[n])==null?void 0:x.config.refetchOnMountOrArgChange,A=k==null?void 0:k.fulfilledTimeStamp,$=(C=g.forceRefetch)!=null?C:g.subscribe&&P;return $?$===!0||(Number(new Date)-Number(A))/1e3>=$:!1}var f=Vf(n+"/executeQuery",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Qa]=!0,g},condition:function(g,b){var _=b.getState,w,x,C,k=_(),P=(x=(w=k[n])==null?void 0:w.queries)==null?void 0:x[g.queryCacheKey],A=P==null?void 0:P.fulfilledTimeStamp,$=g.originalArgs,N=P==null?void 0:P.originalArgs,T=i[g.endpointName];return $w(g)?!0:(P==null?void 0:P.status)==="pending"?!1:d(g,k)||aL(T)&&((C=T==null?void 0:T.forceRefetch)!=null&&C.call(T,{currentArg:$,previousArg:N,endpointState:P,state:k}))?!0:!A},dispatchConditionRejection:!0}),h=Vf(n+"/executeMutation",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Qa]=!0,g}}),p=function(g){return"force"in g},m=function(g){return"ifOlderThan"in g},S=function(g,b,_){return function(w,x){var C=p(_)&&_.force,k=m(_)&&_.ifOlderThan,P=function(T){return T===void 0&&(T=!0),s.endpoints[g].initiate(b,{forceRefetch:T})},A=s.endpoints[g].select(b)(x());if(C)w(P());else if(k){var $=A==null?void 0:A.fulfilledTimeStamp;if(!$){w(P());return}var N=(Number(new Date)-Number(new Date($)))/1e3>=k;N&&w(P())}else w(P(!1))}};function v(g){return function(b){var _,w;return((w=(_=b==null?void 0:b.meta)==null?void 0:_.arg)==null?void 0:w.endpointName)===g}}function y(g,b){return{matchPending:Gu(av(g),v(b)),matchFulfilled:Gu(Ca(g),v(b)),matchRejected:Gu(mc(g),v(b))}}return{queryThunk:f,mutationThunk:h,prefetch:S,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:y}}function uL(e,t,n,r){return lL(n[e.meta.arg.endpointName][t],Ca(e)?e.payload:void 0,Wh(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function hg(e,t,n){var r=e[t];r&&n(r)}function bh(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function r8(e,t,n){var r=e[bh(t)];r&&n(r)}var wd={};function _he(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,c=e.config,d=me(t+"/resetApiState"),f=zt({name:t+"/queries",initialState:wd,reducers:{removeQueryResult:{reducer:function(_,w){var x=w.payload.queryCacheKey;delete _[x]},prepare:Zg()},queryResultPatched:function(_,w){var x=w.payload,C=x.queryCacheKey,k=x.patches;hg(_,C,function(P){P.data=M2(P.data,k.concat())})}},extraReducers:function(_){_.addCase(n.pending,function(w,x){var C=x.meta,k=x.meta.arg,P,A,$=$w(k);(k.subscribe||$)&&((A=w[P=k.queryCacheKey])!=null||(w[P]={status:Et.uninitialized,endpointName:k.endpointName})),hg(w,k.queryCacheKey,function(N){N.status=Et.pending,N.requestId=$&&N.requestId?N.requestId:C.requestId,k.originalArgs!==void 0&&(N.originalArgs=k.originalArgs),N.startedTimeStamp=C.startedTimeStamp})}).addCase(n.fulfilled,function(w,x){var C=x.meta,k=x.payload;hg(w,C.arg.queryCacheKey,function(P){var A;if(!(P.requestId!==C.requestId&&!$w(C.arg))){var $=o[C.arg.endpointName].merge;if(P.status=Et.fulfilled,$)if(P.data!==void 0){var N=C.fulfilledTimeStamp,T=C.arg,O=C.baseQueryMeta,I=C.requestId,M=xa(P.data,function(R){return $(R,k,{arg:T.originalArgs,baseQueryMeta:O,fulfilledTimeStamp:N,requestId:I})});P.data=M}else P.data=k;else P.data=(A=o[C.arg.endpointName].structuralSharing)==null||A?iL(hr(P.data)?AC(P.data):P.data,k):k;delete P.error,P.fulfilledTimeStamp=C.fulfilledTimeStamp}})}).addCase(n.rejected,function(w,x){var C=x.meta,k=C.condition,P=C.arg,A=C.requestId,$=x.error,N=x.payload;hg(w,P.queryCacheKey,function(T){if(!k){if(T.requestId!==A)return;T.status=Et.rejected,T.error=N??$}})}).addMatcher(l,function(w,x){for(var C=a(x).queries,k=0,P=Object.entries(C);k{const r=yh.get(),i=mh.get();return mhe({baseUrl:`${r??""}/api/v1`,prepareHeaders:s=>(i&&s.set("Authorization",`Bearer ${i}`),s)})(e,t,n)},ya=Zhe({baseQuery:epe,reducerPath:"api",tagTypes:Jhe,endpoints:()=>({})}),Rc=ya.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:vn}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:vn}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:vn}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:vn},{type:"ImageList",id:Ai({board_id:"none",categories:Mi})},{type:"ImageList",id:Ai({board_id:"none",categories:Gs})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(ye.util.updateQueryData("getImageDTO",u,c=>{c.board_id=void 0}))});const a=[{categories:Mi},{categories:Gs}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(ye.util.updateQueryData("listImages",u,c=>{const d=c.total,h=lr.updateMany(c,l).total-d;c.total=c.total+h}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:vn},{type:"ImageList",id:Ai({board_id:"none",categories:Mi})},{type:"ImageList",id:Ai({board_id:"none",categories:Gs})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:Mi},{categories:Gs}].forEach(l=>{n(ye.util.updateQueryData("listImages",l,u=>{const c=u.total,f=lr.removeMany(u,s).total-c;u.total=u.total+f}))})}catch{}}})})}),{useListBoardsQuery:JPe,useListAllBoardsQuery:e6e,useCreateBoardMutation:t6e,useUpdateBoardMutation:n6e,useDeleteBoardMutation:r6e,useDeleteBoardAndImagesMutation:i6e,useListAllImageNamesForBoardQuery:o6e}=Rc,Mi=["general"],Gs=["control","mask","user","other"],tpe=100,s6e=20,dL={selection:[],shouldAutoSwitch:!0,autoAddBoardId:void 0,galleryImageMinimumWidth:96,selectedBoardId:void 0,galleryView:"images",batchImageNames:[],isBatchEnabled:!1},fL=zt({name:"gallery",initialState:dL,reducers:{imageRangeEndSelected:(e,t)=>{},imageSelectionToggled:(e,t)=>{},imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},isBatchEnabledChanged:(e,t)=>{e.isBatchEnabled=t.payload},imagesAddedToBatch:(e,t)=>{e.batchImageNames=hZ(e.batchImageNames.concat(t.payload))},imagesRemovedFromBatch:(e,t)=>{e.batchImageNames=e.batchImageNames.filter(r=>!t.payload.includes(r));const n=e.selection.filter(r=>!t.payload.includes(r));if(n.length){e.selection=n;return}e.selection=[e.batchImageNames[0]]},batchReset:e=>{e.batchImageNames=[],e.selection=[]},autoAddBoardIdChanged:(e,t)=>{e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload}},extraReducers:e=>{e.addMatcher(rpe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId=void 0,t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId=void 0)}),e.addMatcher(Rc.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId=void 0))})}}),{imagesRemoved:a6e,imageRangeEndSelected:l6e,imageSelectionToggled:u6e,imageSelected:ra,shouldAutoSwitchChanged:c6e,setGalleryImageMinimumWidth:d6e,boardIdSelected:Fw,isBatchEnabledChanged:f6e,imagesAddedToBatch:Bw,imagesRemovedFromBatch:h6e,autoAddBoardIdChanged:p6e,galleryViewChanged:Uy}=fL.actions,npe=fL.reducer,rpe=Hi(Rc.endpoints.deleteBoard.matchFulfilled,Rc.endpoints.deleteBoardAndImages.matchFulfilled),xd=e=>Mi.includes(e.image_category)?Mi:Gs,hL="%[a-f0-9]{2}",h8=new RegExp("("+hL+")|([^%]+?)","gi"),p8=new RegExp("("+hL+")+","gi");function jw(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;t=t||1;const n=e.slice(0,t),r=e.slice(t);return Array.prototype.concat.call([],jw(n),jw(r))}function ipe(e){try{return decodeURIComponent(e)}catch{let t=e.match(h8)||[];for(let n=1;ne==null,upe=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),Vw=Symbol("encodeFragmentIdentifier");function cpe(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),"[",i,"]"].join("")]:[...n,[Jt(t,e),"[",Jt(i,e),"]=",Jt(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),"[]"].join("")]:[...n,[Jt(t,e),"[]=",Jt(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),":list="].join("")]:[...n,[Jt(t,e),":list=",Jt(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Jt(n,e),t,Jt(i,e)].join("")]:[[r,Jt(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Jt(t,e)]:[...n,[Jt(t,e),"=",Jt(r,e)].join("")]}}function dpe(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&qo(r,e).includes(e.arrayFormatSeparator);r=s?qo(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>qo(l,e)):r===null?r:qo(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&qo(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>qo(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function gL(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Jt(e,t){return t.encode?t.strict?upe(e):encodeURIComponent(e):e}function qo(e,t){return t.decode?spe(e):e}function mL(e){return Array.isArray(e)?e.sort():typeof e=="object"?mL(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function yL(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function fpe(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function g8(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function s3(e){e=yL(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function a3(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},gL(t.arrayFormatSeparator);const n=dpe(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=pL(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:qo(a,t),n(qo(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=g8(a,t);else r[i]=g8(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=mL(s):i[o]=s,i},Object.create(null))}function vL(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},gL(t.arrayFormatSeparator);const n=s=>t.skipNull&&lpe(e[s])||t.skipEmptyString&&e[s]==="",r=cpe(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Jt(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Jt(s,t)+"[]":a.reduce(r(s),[]).join("&"):Jt(s,t)+"="+Jt(a,t)}).filter(s=>s.length>0).join("&")}function bL(e,t){var i;t={decode:!0,...t};let[n,r]=pL(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:a3(s3(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:qo(r,t)}:{}}}function SL(e,t){t={encode:!0,strict:!0,[Vw]:!0,...t};const n=yL(e.url).split("?")[0]||"",r=s3(e.url),i={...a3(r,{sort:!1}),...e.query};let o=vL(i,t);o&&(o=`?${o}`);let s=fpe(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[Vw]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function _L(e,t,n){n={parseFragmentIdentifier:!0,[Vw]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=bL(e,n);return SL({url:r,query:ape(i,t),fragmentIdentifier:o},n)}function hpe(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return _L(e,r,n)}const wL=Object.freeze(Object.defineProperty({__proto__:null,exclude:hpe,extract:s3,parse:a3,parseUrl:bL,pick:_L,stringify:vL,stringifyUrl:SL},Symbol.toStringTag,{value:"Module"})),o_=(e,t)=>{if(!e)return!1;const n=zw.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=new Date(n[n.length-1].created_at);return r>=i}else if([0,1].includes(n.length))return!0;return!1},lr=Pl({selectId:e=>e.image_name,sortComparer:(e,t)=>rhe(t.updated_at,e.updated_at)}),zw=lr.getSelectors(),Ai=e=>`images/?${wL.stringify(e,{arrayFormat:"none"})}`,ye=ya.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Ai(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Ai({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Ai({board_id:n,categories:r})},transformResponse(t){const{total:n,items:r}=t;return lr.addMany(lr.getInitialState({total:n}),r)},merge:(t,n)=>{lr.addMany(t,zw.selectAll(n)),t.total=n.total},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;zw.selectAll(i).forEach(o=>{n(ye.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Ai({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/${t}`}),providesTags:(t,n,r)=>{const i=[{type:"Image",id:r}];return t!=null&&t.board_id&&i.push({type:"Board",id:t.board_id}),i},keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),getBoardImagesTotal:e.query({query:t=>({url:Ai({board_id:t??"none",categories:Mi,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Ai({board_id:t??"none",categories:Gs,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s=[],a=xd(t);s.push(n(ye.util.updateQueryData("listImages",{board_id:o??"none",categories:a},l=>{const u=l.total,d=lr.removeOne(l,i).total-u;l.total=l.total+d})));try{await r}catch{s.forEach(l=>l.undo())}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(ye.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=xd(t);if(n)s.push(r(ye.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{const u=l.total,d=lr.removeOne(l,t.image_name).total-u;l.total=l.total+d})));else{console.log(t);const l={board_id:t.board_id??"none",categories:a},u=ye.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=o_(u.data,t);(c||d)&&s.push(r(ye.util.updateQueryData("listImages",l,f=>{const h=f.total,m=lr.upsertOne(f,t).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(ye.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(ye.util.upsertQueryData("getImageDTO",u.image_name,u));const c=xd(u);a(ye.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:c},d=>{const f=d.total,p=lr.addOne(d,u).total-f;d.total=d.total+p})),a(ye.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:r},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=xd(n);if(s.push(r(ye.util.updateQueryData("getImageDTO",n.image_name,l=>{Object.assign(l,{board_id:t})}))),!n.is_intermediate){s.push(r(ye.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},f=>{const h=f.total,m=lr.removeOne(f,n.image_name).total-h;f.total=f.total+m})));const l={board_id:t??"none",categories:a},u=ye.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=o_(u.data,n);(c||d)&&s.push(r(ye.util.updateQueryData("listImages",l,f=>{const h=f.total,m=lr.addOne(f,n).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{board_id:n,image_name:r}=t;return{url:"board_images/",method:"DELETE",body:{board_id:n,image_name:r}}},invalidatesTags:(t,n,{imageDTO:r})=>[{type:"Board",id:r.board_id},{type:"BoardImagesTotal",id:r.board_id},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:r.board_id},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=xd(t),s=[];s.push(n(ye.util.updateQueryData("getImageDTO",t.image_name,d=>{Object.assign(d,{board_id:void 0})}))),s.push(n(ye.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},d=>{const f=d.total,p=lr.removeOne(d,t.image_name).total-f;d.total=d.total+p})));const a={board_id:"none",categories:o},l=ye.endpoints.listImages.select(a)(i()),u=l.data&&l.data.ids.length>=l.data.total,c=o_(l.data,t);(u||c)&&s.push(n(ye.util.updateQueryData("listImages",a,d=>{const f=d.total,p=lr.upsertOne(d,t).total-f;d.total=d.total+p})));try{await r}catch{s.forEach(d=>d.undo())}}})})}),{useGetIntermediatesCountQuery:g6e,useListImagesQuery:m6e,useLazyListImagesQuery:y6e,useGetImageDTOQuery:v6e,useGetImageMetadataQuery:b6e,useDeleteImageMutation:S6e,useGetBoardImagesTotalQuery:_6e,useGetBoardAssetsTotalQuery:w6e,useUploadImageMutation:x6e,useAddImageToBoardMutation:C6e,useRemoveImageFromBoardMutation:T6e,useClearIntermediatesMutation:E6e}=ye,xL=me("socket/socketConnected"),CL=me("socket/appSocketConnected"),TL=me("socket/socketDisconnected"),EL=me("socket/appSocketDisconnected"),l3=me("socket/socketSubscribed"),PL=me("socket/appSocketSubscribed"),kL=me("socket/socketUnsubscribed"),AL=me("socket/appSocketUnsubscribed"),OL=me("socket/socketInvocationStarted"),RL=me("socket/appSocketInvocationStarted"),u3=me("socket/socketInvocationComplete"),IL=me("socket/appSocketInvocationComplete"),ML=me("socket/socketInvocationError"),c3=me("socket/appSocketInvocationError"),NL=me("socket/socketGraphExecutionStateComplete"),DL=me("socket/appSocketGraphExecutionStateComplete"),LL=me("socket/socketGeneratorProgress"),$L=me("socket/appSocketGeneratorProgress"),FL=me("socket/socketModelLoadStarted"),ppe=me("socket/appSocketModelLoadStarted"),BL=me("socket/socketModelLoadCompleted"),gpe=me("socket/appSocketModelLoadCompleted"),d3=me("controlNet/imageProcessed"),gu={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},yg={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},m8={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:gu.canny_image_processor.default,shouldAutoConfig:!0},Uw={controlNets:{},isEnabled:!1,pendingControlImages:[]},jL=zt({name:"controlNet",initialState:Uw,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??m8,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=Yn(e.controlNets[n]);i.controlNetId=r,e.controlNets[r]=i},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...m8,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload;e.controlNets[n].isEnabled=!e.controlNets[n].isEnabled},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n].controlImage=r,e.controlNets[n].processedControlImage=null,r!==null&&e.controlNets[n].processorType!=="none"&&e.pendingControlImages.push(n)},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload;e.controlNets[n].processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(i=>i!==n)},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload;if(e.controlNets[n].model=r,e.controlNets[n].processedControlImage=null,e.controlNets[n].shouldAutoConfig){let i;for(const o in yg)if(r.model_name.includes(o)){i=yg[o];break}i?(e.controlNets[n].processorType=i,e.controlNets[n].processorNode=gu[i].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=gu.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload;e.controlNets[n].weight=r},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload;e.controlNets[n].beginStepPct=r},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload;e.controlNets[n].endStepPct=r},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload;e.controlNets[n].controlMode=r},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload;e.controlNets[n].resizeMode=r},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n].processorNode;e.controlNets[n].processorNode={...i,...r},e.controlNets[n].shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload;e.controlNets[n].processedControlImage=null,e.controlNets[n].processorType=r,e.controlNets[n].processorNode=gu[r].default,e.controlNets[n].shouldAutoConfig=!1},controlNetAutoConfigToggled:(e,t)=>{var i;const{controlNetId:n}=t.payload,r=!e.controlNets[n].shouldAutoConfig;if(r){let o;for(const s in yg)if((i=e.controlNets[n].model)!=null&&i.model_name.includes(s)){o=yg[s];break}o?(e.controlNets[n].processorType=o,e.controlNets[n].processorNode=gu[o].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=gu.none.default)}e.controlNets[n].shouldAutoConfig=r},controlNetReset:()=>({...Uw})},extraReducers:e=>{e.addCase(d3,(t,n)=>{t.controlNets[n.payload.controlNetId].controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(c3,(t,n)=>{t.pendingControlImages=[]}),e.addMatcher(XD,(t,n)=>{t.pendingControlImages=[]}),e.addMatcher(ye.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;bc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:P6e,controlNetAdded:k6e,controlNetDuplicated:A6e,controlNetAddedFromImage:O6e,controlNetRemoved:VL,controlNetImageChanged:f3,controlNetProcessedImageChanged:mpe,controlNetToggled:R6e,controlNetModelChanged:y8,controlNetWeightChanged:I6e,controlNetBeginStepPctChanged:M6e,controlNetEndStepPctChanged:N6e,controlNetControlModeChanged:D6e,controlNetResizeModeChanged:L6e,controlNetProcessorParamsChanged:ype,controlNetProcessorTypeChanged:vpe,controlNetReset:zL,controlNetAutoConfigToggled:v8}=jL.actions,bpe=jL.reducer,$6e=e=>e.controlNet,UL={isEnabled:!1,maxPrompts:100,combinatorial:!0},Spe=UL,GL=zt({name:"dynamicPrompts",initialState:Spe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=UL.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}},extraReducers:e=>{}}),{isEnabledToggled:F6e,maxPromptsChanged:B6e,maxPromptsReset:j6e,combinatorialToggled:V6e}=GL.actions,_pe=GL.reducer,wpe={updateBoardModalOpen:!1,searchText:""},HL=zt({name:"boards",initialState:wpe,reducers:{setBoardSearchText:(e,t)=>{e.searchText=t.payload},setUpdateBoardModalOpen:(e,t)=>{e.updateBoardModalOpen=t.payload}}}),{setBoardSearchText:z6e,setUpdateBoardModalOpen:U6e}=HL.actions,xpe=HL.reducer,Cpe={imageToDelete:null,isModalOpen:!1},qL=zt({name:"imageDeletion",initialState:Cpe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imageToDeleteSelected:(e,t)=>{e.imageToDelete=t.payload},imageToDeleteCleared:e=>{e.imageToDelete=null,e.isModalOpen=!1}}}),{isModalOpenChanged:WL,imageToDeleteSelected:Tpe,imageToDeleteCleared:G6e}=qL.actions,Epe=qL.reducer,KL=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Au(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Au(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},Ppe=Vn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return KL(e,n)},Kc),YL=me("imageDeletion/imageDeletionConfirmed"),b8={weight:.75},kpe={loras:{}},XL=zt({name:"lora",initialState:kpe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...b8}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload;e.loras[n].weight=r},loraWeightReset:(e,t)=>{const n=t.payload;e.loras[n].weight=b8.weight}}}),{loraAdded:H6e,loraRemoved:QL,loraWeightChanged:q6e,loraWeightReset:W6e,lorasCleared:K6e}=XL.actions,Ape=XL.reducer;function _i(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(!Object.is(c,t)){const d=t;t=u??typeof c!="object"?c:Object.assign({},t,c),n.forEach(f=>f(t,d))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},Ope=e=>e?S8(e):S8,{useSyncExternalStoreWithSelector:Rpe}=LU;function Ipe(e,t=e.getState,n){const r=Rpe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return E.useDebugValue(r),r}function Dr(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function f1(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}ym.prototype=f1.prototype={constructor:ym,on:function(e,t){var n=this._,r=Npe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),w8.hasOwnProperty(t)?{space:w8[t],local:e}:e}function Lpe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Gw&&t.documentElement.namespaceURI===Gw?t.createElement(e):t.createElementNS(n,e)}}function $pe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ZL(e){var t=h1(e);return(t.local?$pe:Lpe)(t)}function Fpe(){}function h3(e){return e==null?Fpe:function(){return this.querySelector(e)}}function Bpe(e){typeof e!="function"&&(e=h3(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=g&&(g=y+1);!(_=S[g])&&++g=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function cge(e){e||(e=dge);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function fge(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function hge(){return Array.from(this)}function pge(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?Tge:typeof t=="function"?Pge:Ege)(e,t,n??"")):Ic(this.node(),e)}function Ic(e,t){return e.style.getPropertyValue(t)||r$(e).getComputedStyle(e,null).getPropertyValue(t)}function Age(e){return function(){delete this[e]}}function Oge(e,t){return function(){this[e]=t}}function Rge(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ige(e,t){return arguments.length>1?this.each((t==null?Age:typeof t=="function"?Rge:Oge)(e,t)):this.node()[e]}function i$(e){return e.trim().split(/^|\s+/)}function p3(e){return e.classList||new o$(e)}function o$(e){this._node=e,this._names=i$(e.getAttribute("class")||"")}o$.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function s$(e,t){for(var n=p3(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function sme(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function Hw(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Hw.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function mme(e){return!e.ctrlKey&&!e.button}function yme(){return this.parentNode}function vme(e,t){return t??{x:e.x,y:e.y}}function bme(){return navigator.maxTouchPoints||"ontouchstart"in this}function Sme(){var e=mme,t=yme,n=vme,r=bme,i={},o=f1("start","drag","end"),s=0,a,l,u,c,d=0;function f(b){b.on("mousedown.drag",h).filter(r).on("touchstart.drag",S).on("touchmove.drag",v,gme).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(b,_){if(!(c||!e.call(this,b,_))){var w=g(this,t.call(this,b,_),b,_,"mouse");w&&(Oi(b.view).on("mousemove.drag",p,Sh).on("mouseup.drag",m,Sh),c$(b.view),s_(b),u=!1,a=b.clientX,l=b.clientY,w("start",b))}}function p(b){if(Ju(b),!u){var _=b.clientX-a,w=b.clientY-l;u=_*_+w*w>d}i.mouse("drag",b)}function m(b){Oi(b.view).on("mousemove.drag mouseup.drag",null),d$(b.view,u),Ju(b),i.mouse("end",b)}function S(b,_){if(e.call(this,b,_)){var w=b.changedTouches,x=t.call(this,b,_),C=w.length,k,P;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?bg(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?bg(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=wme.exec(e))?new Er(t[1],t[2],t[3],1):(t=xme.exec(e))?new Er(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Cme.exec(e))?bg(t[1],t[2],t[3],t[4]):(t=Tme.exec(e))?bg(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Eme.exec(e))?A8(t[1],t[2]/100,t[3]/100,1):(t=Pme.exec(e))?A8(t[1],t[2]/100,t[3]/100,t[4]):x8.hasOwnProperty(e)?E8(x8[e]):e==="transparent"?new Er(NaN,NaN,NaN,0):null}function E8(e){return new Er(e>>16&255,e>>8&255,e&255,1)}function bg(e,t,n,r){return r<=0&&(e=t=n=NaN),new Er(e,t,n,r)}function Ome(e){return e instanceof bp||(e=xh(e)),e?(e=e.rgb(),new Er(e.r,e.g,e.b,e.opacity)):new Er}function qw(e,t,n,r){return arguments.length===1?Ome(e):new Er(e,t,n,r??1)}function Er(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}g3(Er,qw,f$(bp,{brighter(e){return e=e==null?Hy:Math.pow(Hy,e),new Er(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?_h:Math.pow(_h,e),new Er(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Er(ll(this.r),ll(this.g),ll(this.b),qy(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:P8,formatHex:P8,formatHex8:Rme,formatRgb:k8,toString:k8}));function P8(){return`#${el(this.r)}${el(this.g)}${el(this.b)}`}function Rme(){return`#${el(this.r)}${el(this.g)}${el(this.b)}${el((isNaN(this.opacity)?1:this.opacity)*255)}`}function k8(){const e=qy(this.opacity);return`${e===1?"rgb(":"rgba("}${ll(this.r)}, ${ll(this.g)}, ${ll(this.b)}${e===1?")":`, ${e})`}`}function qy(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ll(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function el(e){return e=ll(e),(e<16?"0":"")+e.toString(16)}function A8(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ri(e,t,n,r)}function h$(e){if(e instanceof Ri)return new Ri(e.h,e.s,e.l,e.opacity);if(e instanceof bp||(e=xh(e)),!e)return new Ri;if(e instanceof Ri)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new Ri(s,a,l,e.opacity)}function Ime(e,t,n,r){return arguments.length===1?h$(e):new Ri(e,t,n,r??1)}function Ri(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}g3(Ri,Ime,f$(bp,{brighter(e){return e=e==null?Hy:Math.pow(Hy,e),new Ri(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?_h:Math.pow(_h,e),new Ri(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Er(a_(e>=240?e-240:e+120,i,r),a_(e,i,r),a_(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ri(O8(this.h),Sg(this.s),Sg(this.l),qy(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=qy(this.opacity);return`${e===1?"hsl(":"hsla("}${O8(this.h)}, ${Sg(this.s)*100}%, ${Sg(this.l)*100}%${e===1?")":`, ${e})`}`}}));function O8(e){return e=(e||0)%360,e<0?e+360:e}function Sg(e){return Math.max(0,Math.min(1,e||0))}function a_(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const p$=e=>()=>e;function Mme(e,t){return function(n){return e+n*t}}function Nme(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Dme(e){return(e=+e)==1?g$:function(t,n){return n-t?Nme(t,n,e):p$(isNaN(t)?n:t)}}function g$(e,t){var n=t-e;return n?Mme(e,n):p$(isNaN(e)?t:e)}const R8=function e(t){var n=Dme(t);function r(i,o){var s=n((i=qw(i)).r,(o=qw(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=g$(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=e,r}(1);function Ds(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Ww=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,l_=new RegExp(Ww.source,"g");function Lme(e){return function(){return e}}function $me(e){return function(t){return e(t)+""}}function Fme(e,t){var n=Ww.lastIndex=l_.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=Ww.exec(e))&&(i=l_.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:Ds(r,i)})),n=l_.lastIndex;return n180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:Ds(u,c)})):c&&d.push(i(d)+"rotate("+c+r)}function a(u,c,d,f){u!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:Ds(u,c)}):c&&d.push(i(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:Ds(u,d)},{i:m-2,x:Ds(c,f)})}else(d!==1||f!==1)&&h.push(i(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),s(u.rotate,c.rotate,d,f),a(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,m=f.length,S;++p=0&&e._call.call(void 0,t),e=e._next;--Mc}function N8(){_l=(Ky=Ch.now())+p1,Mc=qd=0;try{Kme()}finally{Mc=0,Xme(),_l=0}}function Yme(){var e=Ch.now(),t=e-Ky;t>v$&&(p1-=t,Ky=e)}function Xme(){for(var e,t=Wy,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Wy=n);Wd=e,Yw(r)}function Yw(e){if(!Mc){qd&&(qd=clearTimeout(qd));var t=e-_l;t>24?(e<1/0&&(qd=setTimeout(N8,e-Ch.now()-p1)),Cd&&(Cd=clearInterval(Cd))):(Cd||(Ky=Ch.now(),Cd=setInterval(Yme,v$)),Mc=1,b$(N8))}}function D8(e,t,n){var r=new Yy;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Qme=f1("start","end","cancel","interrupt"),Zme=[],_$=0,L8=1,Xw=2,vm=3,$8=4,Qw=5,bm=6;function g1(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Jme(e,n,{name:t,index:r,group:i,on:Qme,tween:Zme,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:_$})}function y3(e,t){var n=qi(e,t);if(n.state>_$)throw new Error("too late; already scheduled");return n}function Oo(e,t){var n=qi(e,t);if(n.state>vm)throw new Error("too late; already running");return n}function qi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Jme(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=S$(o,0,n.time);function o(u){n.state=L8,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,f,h;if(n.state!==L8)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===vm)return D8(s);h.state===$8?(h.state=bm,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+cXw&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function Aye(e,t,n){var r,i,o=kye(t)?y3:Oo;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function Oye(e,t){var n=this._id;return arguments.length<2?qi(this.node(),n).on.on(e):this.each(Aye(n,e,t))}function Rye(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Iye(){return this.on("end.remove",Rye(this._id))}function Mye(e){var t=this._name,n=this._id;typeof e!="function"&&(e=h3(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function i0e(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Zo(e,t,n){this.k=e,this.x=t,this.y=n}Zo.prototype={constructor:Zo,scale:function(e){return e===1?this:new Zo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Zo(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ia=new Zo(1,0,0);Zo.prototype;function u_(e){e.stopImmediatePropagation()}function Td(e){e.preventDefault(),e.stopImmediatePropagation()}function o0e(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function s0e(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function F8(){return this.__zoom||ia}function a0e(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function l0e(){return navigator.maxTouchPoints||"ontouchstart"in this}function u0e(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function c0e(){var e=o0e,t=s0e,n=u0e,r=a0e,i=l0e,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=qme,u=f1("start","zoom","end"),c,d,f,h=500,p=150,m=0,S=10;function v(T){T.property("__zoom",F8).on("wheel.zoom",C,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",P).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}v.transform=function(T,O,I,M){var R=T.selection?T.selection():T;R.property("__zoom",F8),T!==R?_(T,O,I,M):R.interrupt().each(function(){w(this,arguments).event(M).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},v.scaleBy=function(T,O,I,M){v.scaleTo(T,function(){var R=this.__zoom.k,D=typeof O=="function"?O.apply(this,arguments):O;return R*D},I,M)},v.scaleTo=function(T,O,I,M){v.transform(T,function(){var R=t.apply(this,arguments),D=this.__zoom,L=I==null?b(R):typeof I=="function"?I.apply(this,arguments):I,V=D.invert(L),z=typeof O=="function"?O.apply(this,arguments):O;return n(g(y(D,z),L,V),R,s)},I,M)},v.translateBy=function(T,O,I,M){v.transform(T,function(){return n(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof I=="function"?I.apply(this,arguments):I),t.apply(this,arguments),s)},null,M)},v.translateTo=function(T,O,I,M,R){v.transform(T,function(){var D=t.apply(this,arguments),L=this.__zoom,V=M==null?b(D):typeof M=="function"?M.apply(this,arguments):M;return n(ia.translate(V[0],V[1]).scale(L.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof I=="function"?-I.apply(this,arguments):-I),D,s)},M,R)};function y(T,O){return O=Math.max(o[0],Math.min(o[1],O)),O===T.k?T:new Zo(O,T.x,T.y)}function g(T,O,I){var M=O[0]-I[0]*T.k,R=O[1]-I[1]*T.k;return M===T.x&&R===T.y?T:new Zo(T.k,M,R)}function b(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function _(T,O,I,M){T.on("start.zoom",function(){w(this,arguments).event(M).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(M).end()}).tween("zoom",function(){var R=this,D=arguments,L=w(R,D).event(M),V=t.apply(R,D),z=I==null?b(V):typeof I=="function"?I.apply(R,D):I,U=Math.max(V[1][0]-V[0][0],V[1][1]-V[0][1]),K=R.__zoom,W=typeof O=="function"?O.apply(R,D):O,X=l(K.invert(z).concat(U/K.k),W.invert(z).concat(U/W.k));return function(F){if(F===1)F=W;else{var q=X(F),Q=U/q[2];F=new Zo(Q,z[0]-q[0]*Q,z[1]-q[1]*Q)}L.zoom(null,F)}})}function w(T,O,I){return!I&&T.__zooming||new x(T,O)}function x(T,O){this.that=T,this.args=O,this.active=0,this.sourceEvent=null,this.extent=t.apply(T,O),this.taps=0}x.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,O){return this.mouse&&T!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var O=Oi(this.that).datum();u.call(T,this.that,new i0e(T,{sourceEvent:this.sourceEvent,target:v,type:T,transform:this.that.__zoom,dispatch:u}),O)}};function C(T,...O){if(!e.apply(this,arguments))return;var I=w(this,O).event(T),M=this.__zoom,R=Math.max(o[0],Math.min(o[1],M.k*Math.pow(2,r.apply(this,arguments)))),D=Ji(T);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=M.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(M.k===R)return;I.mouse=[D,M.invert(D)],Sm(this),I.start()}Td(T),I.wheel=setTimeout(L,p),I.zoom("mouse",n(g(y(M,R),I.mouse[0],I.mouse[1]),I.extent,s));function L(){I.wheel=null,I.end()}}function k(T,...O){if(f||!e.apply(this,arguments))return;var I=T.currentTarget,M=w(this,O,!0).event(T),R=Oi(T.view).on("mousemove.zoom",z,!0).on("mouseup.zoom",U,!0),D=Ji(T,I),L=T.clientX,V=T.clientY;c$(T.view),u_(T),M.mouse=[D,this.__zoom.invert(D)],Sm(this),M.start();function z(K){if(Td(K),!M.moved){var W=K.clientX-L,X=K.clientY-V;M.moved=W*W+X*X>m}M.event(K).zoom("mouse",n(g(M.that.__zoom,M.mouse[0]=Ji(K,I),M.mouse[1]),M.extent,s))}function U(K){R.on("mousemove.zoom mouseup.zoom",null),d$(K.view,M.moved),Td(K),M.event(K).end()}}function P(T,...O){if(e.apply(this,arguments)){var I=this.__zoom,M=Ji(T.changedTouches?T.changedTouches[0]:T,this),R=I.invert(M),D=I.k*(T.shiftKey?.5:2),L=n(g(y(I,D),M,R),t.apply(this,O),s);Td(T),a>0?Oi(this).transition().duration(a).call(_,L,M,T):Oi(this).call(v.transform,L,M,T)}}function A(T,...O){if(e.apply(this,arguments)){var I=T.touches,M=I.length,R=w(this,O,T.changedTouches.length===M).event(T),D,L,V,z;for(u_(T),L=0;L"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},T$=va.error001();function Kt(e,t){const n=E.useContext(m1);if(n===null)throw new Error(T$);return Ipe(n,e,t)}const tr=()=>{const e=E.useContext(m1);if(e===null)throw new Error(T$);return E.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},f0e=e=>e.userSelectionActive?"none":"all";function h0e({position:e,children:t,className:n,style:r,...i}){const o=Kt(f0e),s=`${e}`.split("-");return j.jsx("div",{className:_i(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function p0e({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:j.jsx(h0e,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:j.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const g0e=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...c})=>{const d=E.useRef(null),[f,h]=E.useState({x:0,y:0,width:0,height:0}),p=_i(["react-flow__edge-textwrapper",u]);return E.useEffect(()=>{if(d.current){const m=d.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:j.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c,children:[i&&j.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),j.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r,children:n}),l]})};var m0e=E.memo(g0e);const b3=e=>({width:e.offsetWidth,height:e.offsetHeight}),Nc=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),S3=(e={x:0,y:0},t)=>({x:Nc(e.x,t[0][0],t[1][0]),y:Nc(e.y,t[0][1],t[1][1])}),B8=(e,t,n)=>en?-Nc(Math.abs(e-n),1,50)/50:0,E$=(e,t)=>{const n=B8(e.x,35,t.width-35)*20,r=B8(e.y,35,t.height-35)*20;return[n,r]},P$=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},k$=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Xy=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),A$=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),j8=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),Y6e=(e,t)=>A$(k$(Xy(e),Xy(t))),Zw=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},y0e=e=>ci(e.width)&&ci(e.height)&&ci(e.x)&&ci(e.y),ci=e=>!isNaN(e)&&isFinite(e),hn=Symbol.for("internals"),O$=["Enter"," ","Escape"],v0e=(e,t)=>{},b0e=e=>"nativeEvent"in e;function Jw(e){var i,o;const t=b0e(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const R$=e=>"clientX"in e,oa=(e,t)=>{var o,s;const n=R$(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Sp=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>j.jsxs(j.Fragment,{children:[j.jsx("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&j.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&ci(n)&&ci(r)?j.jsx(m0e,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Sp.displayName="BaseEdge";function Ed(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function I$({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[S,v,y]=N$({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return j.jsx(Sp,{path:S,labelX:v,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:m})});_3.displayName="SimpleBezierEdge";const z8={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},S0e=({source:e,sourcePosition:t=ve.Bottom,target:n})=>t===ve.Left||t===ve.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function _0e({source:e,sourcePosition:t=ve.Bottom,target:n,targetPosition:r=ve.Top,center:i,offset:o}){const s=z8[t],a=z8[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},c=S0e({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",f=c[d];let h=[],p,m;const[S,v,y,g]=I$({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){p=i.x||S,m=i.y||v;const _=[{x:p,y:l.y},{x:p,y:u.y}],w=[{x:l.x,y:m},{x:u.x,y:m}];s[d]===f?h=d==="x"?_:w:h=d==="x"?w:_}else{const _=[{x:l.x,y:u.y}],w=[{x:u.x,y:l.y}];if(d==="x"?h=s.x===f?w:_:h=s.y===f?_:w,t!==r){const x=d==="x"?"y":"x",C=s[d]===a[x],k=l[x]>u[x],P=l[x]{let g="";return y>0&&y{const[v,y,g]=ex({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return j.jsx(Sp,{path:v,labelX:y,labelY:g,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:p,interactionWidth:S})});y1.displayName="SmoothStepEdge";const w3=E.memo(e=>{var t;return j.jsx(y1,{...e,pathOptions:E.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});w3.displayName="StepEdge";function x0e({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=I$({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const x3=E.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{const[p,m,S]=x0e({sourceX:e,sourceY:t,targetX:n,targetY:r});return j.jsx(Sp,{path:p,labelX:m,labelY:S,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});x3.displayName="StraightEdge";function xg(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function G8({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case ve.Left:return[t-xg(t-r,o),n];case ve.Right:return[t+xg(r-t,o),n];case ve.Top:return[t,n-xg(n-i,o)];case ve.Bottom:return[t,n+xg(i-n,o)]}}function D$({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:r,targetY:i,targetPosition:o=ve.Top,curvature:s=.25}){const[a,l]=G8({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,c]=G8({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[d,f,h,p]=M$({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${l} ${u},${c} ${r},${i}`,d,f,h,p]}const Zy=E.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=ve.Bottom,targetPosition:o=ve.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,pathOptions:m,interactionWidth:S})=>{const[v,y,g]=D$({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return j.jsx(Sp,{path:v,labelX:y,labelY:g,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:S})});Zy.displayName="BezierEdge";const C3=E.createContext(null),C0e=C3.Provider;C3.Consumer;const T0e=()=>E.useContext(C3),E0e=e=>"id"in e&&"source"in e&&"target"in e,P0e=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,tx=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,k0e=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),L$=(e,t)=>{if(!e.source||!e.target)return t;let n;return E0e(e)?n={...e}:n={...e,id:P0e(e)},k0e(n,t)?t:t.concat(n)},$$=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},A0e=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),nc=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},F$=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=nc(i,t).positionAbsolute;return k$(r,Xy({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return A$(n)},B$=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(c=>{const{width:d,height:f,selectable:h=!0,hidden:p=!1}=c;if(s&&!h||p)return!1;const{positionAbsolute:m}=nc(c,a),S={x:m.x,y:m.y,width:d||0,height:f||0},v=Zw(l,S),y=typeof d>"u"||typeof f>"u"||d===null||f===null,g=o&&v>0,b=(d||0)*(f||0);(y||g||v>=b||c.dragging)&&u.push(c)}),u},j$=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},V$=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Nc(l,r,i),c=e.x+e.width/2,d=e.y+e.height/2,f=t/2-c*u,h=n/2-d*u;return[f,h,u]},qa=(e,t=0)=>e.transition().duration(t);function H8(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function O0e(e,t,n,r,i,o){const{x:s,y:a}=oa(e),u=t.elementsFromPoint(s,a).find(p=>p.classList.contains("react-flow__handle"));if(u){const p=u.getAttribute("data-nodeid");if(p){const m=T3(void 0,u),S=u.getAttribute("data-handleid"),v=o({nodeId:p,id:S,type:m});if(v)return{handle:{id:S,type:m,nodeId:p,x:n.x,y:n.y},validHandleResult:v}}}let c=[],d=1/0;if(i.forEach(p=>{const m=Math.sqrt((p.x-n.x)**2+(p.y-n.y)**2);if(m<=r){const S=o(p);m<=d&&(mp.isValid),h=c.some(({handle:p})=>p.type==="target");return c.find(({handle:p,validHandleResult:m})=>h?p.type==="target":f?m.isValid:!0)||c[0]}const R0e={source:null,target:null,sourceHandle:null,targetHandle:null},z$=()=>({handleDomNode:null,isValid:!1,connection:R0e,endHandle:null});function U$(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...z$(),handleDomNode:l};if(l){const c=T3(void 0,l),d=l.getAttribute("data-nodeid"),f=l.getAttribute("data-handleid"),h=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),m={source:a?d:n,sourceHandle:a?f:r,target:a?n:d,targetHandle:a?r:f};u.connection=m,h&&p&&(t===wl.Strict?a&&c==="source"||!a&&c==="target":d!==n||f!==r)&&(u.endHandle={nodeId:d,handleId:f,type:c},u.isValid=o(m))}return u}function I0e({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[hn]){const{handleBounds:s}=o[hn];let a=[],l=[];s&&(a=H8(o,s,"source",`${t}-${n}-${r}`),l=H8(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function T3(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function c_(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function M0e(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function G$({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const c=P$(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:h,connectionRadius:p,onConnectStart:m,panBy:S,getNodes:v,cancelConnection:y}=o();let g=0,b;const{x:_,y:w}=oa(e),x=c==null?void 0:c.elementFromPoint(_,w),C=T3(l,x),k=f==null?void 0:f.getBoundingClientRect();if(!k||!C)return;let P,A=oa(e,k),$=!1,N=null,T=!1,O=null;const I=I0e({nodes:v(),nodeId:n,handleId:t,handleType:C}),M=()=>{if(!h)return;const[L,V]=E$(A,k);S({x:L,y:V}),g=requestAnimationFrame(M)};s({connectionPosition:A,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:C,connectionStartHandle:{nodeId:n,handleId:t,type:C},connectionEndHandle:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:C});function R(L){const{transform:V}=o();A=oa(L,k);const{handle:z,validHandleResult:U}=O0e(L,c,$$(A,V,!1,[1,1]),p,I,K=>U$(K,d,n,t,i?"target":"source",a,c));if(b=z,$||(M(),$=!0),O=U.handleDomNode,N=U.connection,T=U.isValid,s({connectionPosition:b&&T?A0e({x:b.x,y:b.y},V):A,connectionStatus:M0e(!!b,T),connectionEndHandle:U.endHandle}),!b&&!T&&!O)return c_(P);N.source!==N.target&&O&&(c_(P),P=O,O.classList.add("connecting","react-flow__handle-connecting"),O.classList.toggle("valid",T),O.classList.toggle("react-flow__handle-valid",T))}function D(L){var V,z;(b||O)&&N&&T&&(r==null||r(N)),(z=(V=o()).onConnectEnd)==null||z.call(V,L),l&&(u==null||u(L)),c_(P),y(),cancelAnimationFrame(g),$=!1,T=!1,N=null,O=null,c.removeEventListener("mousemove",R),c.removeEventListener("mouseup",D),c.removeEventListener("touchmove",R),c.removeEventListener("touchend",D)}c.addEventListener("mousemove",R),c.addEventListener("mouseup",D),c.addEventListener("touchmove",R),c.addEventListener("touchend",D)}const q8=()=>!0,N0e=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),D0e=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},H$=E.forwardRef(({type:e="source",position:t=ve.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{var k,P;const p=s||null,m=e==="target",S=tr(),v=T0e(),{connectOnClick:y,noPanClassName:g}=Kt(N0e,Dr),{connecting:b,clickConnecting:_}=Kt(D0e(v,p,e),Dr);v||(P=(k=S.getState()).onError)==null||P.call(k,"010",va.error010());const w=A=>{const{defaultEdgeOptions:$,onConnect:N,hasDefaultEdges:T}=S.getState(),O={...$,...A};if(T){const{edges:I,setEdges:M}=S.getState();M(L$(O,I))}N==null||N(O),a==null||a(O)},x=A=>{if(!v)return;const $=R$(A);i&&($&&A.button===0||!$)&&G$({event:A,handleId:p,nodeId:v,onConnect:w,isTarget:m,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||q8}),$?c==null||c(A):d==null||d(A)},C=A=>{const{onClickConnectStart:$,onClickConnectEnd:N,connectionClickStartHandle:T,connectionMode:O,isValidConnection:I}=S.getState();if(!v||!T&&!i)return;if(!T){$==null||$(A,{nodeId:v,handleId:p,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:p}});return}const M=P$(A.target),R=n||I||q8,{connection:D,isValid:L}=U$({nodeId:v,id:p,type:e},O,T.nodeId,T.handleId||null,T.type,R,M);L&&w(D),N==null||N(A),S.setState({connectionClickStartHandle:null})};return j.jsx("div",{"data-handleid":p,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${p}-${e}`,className:_i(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:o,connecting:_,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:x,onTouchStart:x,onClick:y?C:void 0,ref:h,...f,children:l})});H$.displayName="Handle";var Jy=E.memo(H$);const q$=({data:e,isConnectable:t,targetPosition:n=ve.Top,sourcePosition:r=ve.Bottom})=>j.jsxs(j.Fragment,{children:[j.jsx(Jy,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,j.jsx(Jy,{type:"source",position:r,isConnectable:t})]});q$.displayName="DefaultNode";var nx=E.memo(q$);const W$=({data:e,isConnectable:t,sourcePosition:n=ve.Bottom})=>j.jsxs(j.Fragment,{children:[e==null?void 0:e.label,j.jsx(Jy,{type:"source",position:n,isConnectable:t})]});W$.displayName="InputNode";var K$=E.memo(W$);const Y$=({data:e,isConnectable:t,targetPosition:n=ve.Top})=>j.jsxs(j.Fragment,{children:[j.jsx(Jy,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});Y$.displayName="OutputNode";var X$=E.memo(Y$);const E3=()=>null;E3.displayName="GroupNode";const L0e=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Cg=e=>e.id;function $0e(e,t){return Dr(e.selectedNodes.map(Cg),t.selectedNodes.map(Cg))&&Dr(e.selectedEdges.map(Cg),t.selectedEdges.map(Cg))}const Q$=E.memo(({onSelectionChange:e})=>{const t=tr(),{selectedNodes:n,selectedEdges:r}=Kt(L0e,$0e);return E.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});Q$.displayName="SelectionListener";const F0e=e=>!!e.onSelectionChange;function B0e({onSelectionChange:e}){const t=Kt(F0e);return e||t?j.jsx(Q$,{onSelectionChange:e}):null}const j0e=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function tu(e,t){E.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function $e(e,t,n){E.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const V0e=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:S,nodeExtent:v,onNodesChange:y,onEdgesChange:g,elementsSelectable:b,connectionMode:_,snapGrid:w,snapToGrid:x,translateExtent:C,connectOnClick:k,defaultEdgeOptions:P,fitView:A,fitViewOptions:$,onNodesDelete:N,onEdgesDelete:T,onNodeDrag:O,onNodeDragStart:I,onNodeDragStop:M,onSelectionDrag:R,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:V,nodeOrigin:z,rfId:U,autoPanOnConnect:K,autoPanOnNodeDrag:W,onError:X,connectionRadius:F,isValidConnection:q})=>{const{setNodes:Q,setEdges:J,setDefaultNodesAndEdges:ne,setMinZoom:Z,setMaxZoom:ge,setTranslateExtent:ae,setNodeExtent:oe,reset:Te}=Kt(j0e,Dr),se=tr();return E.useEffect(()=>{const We=r==null?void 0:r.map(yt=>({...yt,...P}));return ne(n,We),()=>{Te()}},[]),$e("defaultEdgeOptions",P,se.setState),$e("connectionMode",_,se.setState),$e("onConnect",i,se.setState),$e("onConnectStart",o,se.setState),$e("onConnectEnd",s,se.setState),$e("onClickConnectStart",a,se.setState),$e("onClickConnectEnd",l,se.setState),$e("nodesDraggable",u,se.setState),$e("nodesConnectable",c,se.setState),$e("nodesFocusable",d,se.setState),$e("edgesFocusable",f,se.setState),$e("edgesUpdatable",h,se.setState),$e("elementsSelectable",b,se.setState),$e("elevateNodesOnSelect",p,se.setState),$e("snapToGrid",x,se.setState),$e("snapGrid",w,se.setState),$e("onNodesChange",y,se.setState),$e("onEdgesChange",g,se.setState),$e("connectOnClick",k,se.setState),$e("fitViewOnInit",A,se.setState),$e("fitViewOnInitOptions",$,se.setState),$e("onNodesDelete",N,se.setState),$e("onEdgesDelete",T,se.setState),$e("onNodeDrag",O,se.setState),$e("onNodeDragStart",I,se.setState),$e("onNodeDragStop",M,se.setState),$e("onSelectionDrag",R,se.setState),$e("onSelectionDragStart",D,se.setState),$e("onSelectionDragStop",L,se.setState),$e("noPanClassName",V,se.setState),$e("nodeOrigin",z,se.setState),$e("rfId",U,se.setState),$e("autoPanOnConnect",K,se.setState),$e("autoPanOnNodeDrag",W,se.setState),$e("onError",X,se.setState),$e("connectionRadius",F,se.setState),$e("isValidConnection",q,se.setState),tu(e,Q),tu(t,J),tu(m,Z),tu(S,ge),tu(C,ae),tu(v,oe),null},W8={display:"none"},z0e={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Z$="react-flow__node-desc",J$="react-flow__edge-desc",U0e="react-flow__aria-live",G0e=e=>e.ariaLiveMessage;function H0e({rfId:e}){const t=Kt(G0e);return j.jsx("div",{id:`${U0e}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:z0e,children:t})}function q0e({rfId:e,disableKeyboardA11y:t}){return j.jsxs(j.Fragment,{children:[j.jsxs("div",{id:`${Z$}-${e}`,style:W8,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),j.jsx("div",{id:`${J$}-${e}`,style:W8,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&j.jsx(H0e,{rfId:e})]})}const W0e=(e,t,n)=>n===ve.Left?e-t:n===ve.Right?e+t:e,K0e=(e,t,n)=>n===ve.Top?e-t:n===ve.Bottom?e+t:e,K8="react-flow__edgeupdater",Y8=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>j.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:_i([K8,`${K8}-${a}`]),cx:W0e(t,r,e),cy:K0e(n,r,e),r,stroke:"transparent",fill:"transparent"}),Y0e=()=>!0;var nu=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:S,source:v,target:y,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:C,elementsSelectable:k,hidden:P,sourceHandleId:A,targetHandleId:$,onContextMenu:N,onMouseEnter:T,onMouseMove:O,onMouseLeave:I,edgeUpdaterRadius:M,onEdgeUpdate:R,onEdgeUpdateStart:D,onEdgeUpdateEnd:L,markerEnd:V,markerStart:z,rfId:U,ariaLabel:K,isFocusable:W,isUpdatable:X,pathOptions:F,interactionWidth:q})=>{const Q=E.useRef(null),[J,ne]=E.useState(!1),[Z,ge]=E.useState(!1),ae=tr(),oe=E.useMemo(()=>`url(#${tx(z,U)})`,[z,U]),Te=E.useMemo(()=>`url(#${tx(V,U)})`,[V,U]);if(P)return null;const se=Ee=>{const{edges:Ne,addSelectedEdges:ie}=ae.getState();if(k&&(ae.setState({nodesSelectionActive:!1}),ie([n])),s){const he=Ne.find(Qt=>Qt.id===n);s(Ee,he)}},We=Ed(n,ae.getState,a),yt=Ed(n,ae.getState,N),Fe=Ed(n,ae.getState,T),Be=Ed(n,ae.getState,O),Me=Ed(n,ae.getState,I),rt=(Ee,Ne)=>{if(Ee.button!==0)return;const{edges:ie,isValidConnection:he}=ae.getState(),Qt=Ne?y:v,Rt=(Ne?$:A)||null,ut=Ne?"target":"source",rr=he||Y0e,Mo=Ne,Qr=ie.find(Ke=>Ke.id===n);ge(!0),D==null||D(Ee,Qr,ut);const No=Ke=>{ge(!1),L==null||L(Ke,Qr,ut)};G$({event:Ee,handleId:Rt,nodeId:Qt,onConnect:Ke=>R==null?void 0:R(Qr,Ke),isTarget:Mo,getState:ae.getState,setState:ae.setState,isValidConnection:rr,edgeUpdaterType:ut,onEdgeUpdateEnd:No})},xt=Ee=>rt(Ee,!0),mn=Ee=>rt(Ee,!1),an=()=>ne(!0),Ot=()=>ne(!1),ee=!k&&!s,_e=Ee=>{var Ne;if(O$.includes(Ee.key)&&k){const{unselectNodesAndEdges:ie,addSelectedEdges:he,edges:Qt}=ae.getState();Ee.key==="Escape"?((Ne=Q.current)==null||Ne.blur(),ie({edges:[Qt.find(ut=>ut.id===n)]})):he([n])}};return j.jsxs("g",{className:_i(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:ee,updating:J}]),onClick:se,onDoubleClick:We,onContextMenu:yt,onMouseEnter:Fe,onMouseMove:Be,onMouseLeave:Me,onKeyDown:W?_e:void 0,tabIndex:W?0:void 0,role:W?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":K===null?void 0:K||`Edge from ${v} to ${y}`,"aria-describedby":W?`${J$}-${U}`:void 0,ref:Q,children:[!Z&&j.jsx(e,{id:n,source:v,target:y,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,data:o,style:S,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:C,sourceHandleId:A,targetHandleId:$,markerStart:oe,markerEnd:Te,pathOptions:F,interactionWidth:q}),X&&j.jsxs(j.Fragment,{children:[(X==="source"||X===!0)&&j.jsx(Y8,{position:x,centerX:g,centerY:b,radius:M,onMouseDown:xt,onMouseEnter:an,onMouseOut:Ot,type:"source"}),(X==="target"||X===!0)&&j.jsx(Y8,{position:C,centerX:_,centerY:w,radius:M,onMouseDown:mn,onMouseEnter:an,onMouseOut:Ot,type:"target"})]})]})};return t.displayName="EdgeWrapper",E.memo(t)};function X0e(e){const t={default:nu(e.default||Zy),straight:nu(e.bezier||x3),step:nu(e.step||w3),smoothstep:nu(e.step||y1),simplebezier:nu(e.simplebezier||_3)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=nu(e[o]||Zy),i),n);return{...t,...r}}function X8(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case ve.Top:return{x:r+o/2,y:i};case ve.Right:return{x:r+o,y:i+s/2};case ve.Bottom:return{x:r+o/2,y:i+s};case ve.Left:return{x:r,y:i+s/2}}}function Q8(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Q0e=(e,t,n,r,i,o)=>{const s=X8(n,e,t),a=X8(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Z0e({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Xy({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),f=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*f)>0}function Z8(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[hn])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function eF(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:eF(n,t):!1}function J8(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function J0e(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!eF(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function eve(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function tF(e,t,n,r,i=[0,0],o){const s=eve(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:d,y:f}=nc(c,i).positionAbsolute;a=c&&ci(d)&&ci(f)&&ci(c.width)&&ci(c.height)?[[d+e.width*i[0],f+e.height*i[1]],[d+c.width-e.width+e.width*i[0],f+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",va.error005()),a=s;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:d,y:f}=nc(c,i).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+f],[e.extent[1][0]+d,e.extent[1][1]+f]]}let l={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);l=nc(c,i).positionAbsolute}const u=a?S3(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function d_({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const ek=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...b3(l)}})};function Pd(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function rx({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function tve(){const e=tr();return E.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function f_(e){return(t,n,r)=>e==null?void 0:e(t,r)}function nF({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=tr(),[l,u]=E.useState(!1),c=E.useRef([]),d=E.useRef({x:null,y:null}),f=E.useRef(0),h=E.useRef(null),p=E.useRef({x:0,y:0}),m=E.useRef(null),S=E.useRef(!1),v=tve();return E.useEffect(()=>{if(e!=null&&e.current){const y=Oi(e.current),g=({x:_,y:w})=>{const{nodeInternals:x,onNodeDrag:C,onSelectionDrag:k,updateNodePositions:P,nodeExtent:A,snapGrid:$,snapToGrid:N,nodeOrigin:T,onError:O}=a.getState();d.current={x:_,y:w};let I=!1;if(c.current=c.current.map(R=>{const D={x:_-R.distance.x,y:w-R.distance.y};N&&(D.x=$[0]*Math.round(D.x/$[0]),D.y=$[1]*Math.round(D.y/$[1]));const L=tF(R,D,x,A,T,O);return I=I||R.position.x!==L.position.x||R.position.y!==L.position.y,R.position=L.position,R.positionAbsolute=L.positionAbsolute,R}),!I)return;P(c.current,!0,!0),u(!0);const M=i?C:f_(k);if(M&&m.current){const[R,D]=d_({nodeId:i,dragItems:c.current,nodeInternals:x});M(m.current,R,D)}},b=()=>{if(!h.current)return;const[_,w]=E$(p.current,h.current);if(_!==0||w!==0){const{transform:x,panBy:C}=a.getState();d.current.x=(d.current.x??0)-_/x[2],d.current.y=(d.current.y??0)-w/x[2],C({x:_,y:w})&&g(d.current)}f.current=requestAnimationFrame(b)};if(t)y.on(".drag",null);else{const _=Sme().on("start",w=>{var I;const{nodeInternals:x,multiSelectionActive:C,domNode:k,nodesDraggable:P,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:N}=a.getState(),T=i?$:f_(N);!s&&!C&&i&&((I=x.get(i))!=null&&I.selected||A()),i&&o&&s&&rx({id:i,store:a,nodeRef:e});const O=v(w);if(d.current=O,c.current=J0e(x,P,O,i),T&&c.current){const[M,R]=d_({nodeId:i,dragItems:c.current,nodeInternals:x});T(w.sourceEvent,M,R)}h.current=(k==null?void 0:k.getBoundingClientRect())||null,p.current=oa(w.sourceEvent,h.current)}).on("drag",w=>{const x=v(w),{autoPanOnNodeDrag:C}=a.getState();!S.current&&C&&(S.current=!0,b()),(d.current.x!==x.xSnapped||d.current.y!==x.ySnapped)&&c.current&&(m.current=w.sourceEvent,p.current=oa(w.sourceEvent,h.current),g(x))}).on("end",w=>{if(u(!1),S.current=!1,cancelAnimationFrame(f.current),c.current){const{updateNodePositions:x,nodeInternals:C,onNodeDragStop:k,onSelectionDragStop:P}=a.getState(),A=i?k:f_(P);if(x(c.current,!1,!1),A){const[$,N]=d_({nodeId:i,dragItems:c.current,nodeInternals:C});A(w.sourceEvent,$,N)}}}).filter(w=>{const x=w.target;return!w.button&&(!n||!J8(x,`.${n}`,e))&&(!r||J8(x,r,e))});return y.call(_),()=>{y.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,v]),l}function rF(){const e=tr();return E.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:c}=e.getState(),d=s().filter(y=>y.selected&&(y.draggable||c&&typeof y.draggable>"u")),f=a?l[0]:5,h=a?l[1]:5,p=n.isShiftPressed?4:1,m=n.x*f*p,S=n.y*h*p,v=d.map(y=>{if(y.positionAbsolute){const g={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+S};a&&(g.x=l[0]*Math.round(g.x/l[0]),g.y=l[1]*Math.round(g.y/l[1]));const{positionAbsolute:b,position:_}=tF(y,g,r,i,void 0,u);y.position=_,y.positionAbsolute=b}return y});o(v,!0,!1)},[])}const rc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var kd=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:c,onMouseEnter:d,onMouseMove:f,onMouseLeave:h,onContextMenu:p,onDoubleClick:m,style:S,className:v,isDraggable:y,isSelectable:g,isConnectable:b,isFocusable:_,selectNodesOnDrag:w,sourcePosition:x,targetPosition:C,hidden:k,resizeObserver:P,dragHandle:A,zIndex:$,isParent:N,noDragClassName:T,noPanClassName:O,initialized:I,disableKeyboardA11y:M,ariaLabel:R,rfId:D})=>{const L=tr(),V=E.useRef(null),z=E.useRef(x),U=E.useRef(C),K=E.useRef(r),W=g||y||c||d||f||h,X=rF(),F=Pd(n,L.getState,d),q=Pd(n,L.getState,f),Q=Pd(n,L.getState,h),J=Pd(n,L.getState,p),ne=Pd(n,L.getState,m),Z=oe=>{if(g&&(!w||!y)&&rx({id:n,store:L,nodeRef:V}),c){const Te=L.getState().nodeInternals.get(n);c(oe,{...Te})}},ge=oe=>{if(!Jw(oe))if(O$.includes(oe.key)&&g){const Te=oe.key==="Escape";rx({id:n,store:L,unselect:Te,nodeRef:V})}else!M&&y&&u&&Object.prototype.hasOwnProperty.call(rc,oe.key)&&(L.setState({ariaLiveMessage:`Moved selected node ${oe.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),X({x:rc[oe.key].x,y:rc[oe.key].y,isShiftPressed:oe.shiftKey}))};E.useEffect(()=>{if(V.current&&!k){const oe=V.current;return P==null||P.observe(oe),()=>P==null?void 0:P.unobserve(oe)}},[k]),E.useEffect(()=>{const oe=K.current!==r,Te=z.current!==x,se=U.current!==C;V.current&&(oe||Te||se)&&(oe&&(K.current=r),Te&&(z.current=x),se&&(U.current=C),L.getState().updateNodeDimensions([{id:n,nodeElement:V.current,forceUpdate:!0}]))},[n,r,x,C]);const ae=nF({nodeRef:V,disabled:k||!y,noDragClassName:T,handleSelector:A,nodeId:n,isSelectable:g,selectNodesOnDrag:w});return k?null:j.jsx("div",{className:_i(["react-flow__node",`react-flow__node-${r}`,{[O]:y},v,{selected:u,selectable:g,parent:N,dragging:ae}]),ref:V,style:{zIndex:$,transform:`translate(${a}px,${l}px)`,pointerEvents:W?"all":"none",visibility:I?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:F,onMouseMove:q,onMouseLeave:Q,onContextMenu:J,onClick:Z,onDoubleClick:ne,onKeyDown:_?ge:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":M?void 0:`${Z$}-${D}`,"aria-label":R,children:j.jsx(C0e,{value:n,children:j.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:b,sourcePosition:x,targetPosition:C,dragging:ae,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",E.memo(t)};function nve(e){const t={input:kd(e.input||K$),default:kd(e.default||nx),output:kd(e.output||X$),group:kd(e.group||E3)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=kd(e[o]||nx),i),n);return{...t,...r}}const rve=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},ive=typeof document<"u"?document:null;var Eh=(e=null,t={target:ive})=>{const[n,r]=E.useState(!1),i=E.useRef(!1),o=E.useRef(new Set([])),[s,a]=E.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.split("+")),c=u.reduce((d,f)=>d.concat(...f),[]);return[u,c]}return[[],[]]},[e]);return E.useEffect(()=>{var l,u;if(e!==null){const c=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,!i.current&&Jw(h))return!1;const p=nk(h.code,a);o.current.add(h[p]),tk(s,o.current,!1)&&(h.preventDefault(),r(!0))},d=h=>{if(!i.current&&Jw(h))return!1;const p=nk(h.code,a);tk(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(h[p]),i.current=!1},f=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",d),window.addEventListener("blur",f),()=>{var h,p;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",c),(p=t==null?void 0:t.target)==null||p.removeEventListener("keyup",d),window.removeEventListener("blur",f)}}},[e,r]),n};function tk(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function nk(e,t){return t.includes(e)?"code":"key"}function iF(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=nc(i,r);return iF(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[hn])==null?void 0:s.z)??0)>(n.z??0)?((a=i[hn])==null?void 0:a.z)??0:n.z??0},r)}function oF(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=iF(r,e,{...r.position,z:((i=r[hn])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[hn].z=a,n!=null&&n[r.id]&&(r[hn].isParent=!0)}})}function h_(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var d;const l=(ci(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),c={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(c.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(c,hn,{enumerable:!1,value:{handleBounds:(d=u==null?void 0:u[hn])==null?void 0:d.handleBounds,z:l}}),i.set(a.id,c)}),oF(i,n,o),i}function sF(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(a&&l&&(f||!t.initial)){const p=n().filter(S=>{var y;const v=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(y=t.nodes)!=null&&y.length?v&&t.nodes.some(g=>g.id===S.id):v}),m=p.every(S=>S.width&&S.height);if(p.length>0&&m){const S=F$(p,d),[v,y,g]=V$(S,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),b=ia.translate(v,y).scale(g);return typeof t.duration=="number"&&t.duration>0?a.transform(qa(l,t.duration),b):a.transform(l,b),!0}}return!1}function ove(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[hn]:r[hn],selected:n.selected})}),new Map(t)}function sve(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function Tg({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:ove(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:sve(t,o)}),a==null||a(t))}const ru=()=>{},ave={zoomIn:ru,zoomOut:ru,zoomTo:ru,getZoom:()=>1,setViewport:ru,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:ru,fitBounds:ru,project:e=>e,viewportInitialized:!1},lve=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),uve=()=>{const e=tr(),{d3Zoom:t,d3Selection:n}=Kt(lve,Dr);return E.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(qa(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(qa(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(qa(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=ia.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(qa(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>sF(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,d=a/2-i*c,f=l/2-o*c,h=ia.translate(d,f).scale(c);t.transform(qa(n,s==null?void 0:s.duration),h)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[c,d,f]=V$(i,s,a,l,u,(o==null?void 0:o.padding)??.1),h=ia.translate(c,d).scale(f);t.transform(qa(n,o==null?void 0:o.duration),h)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return $$(i,o,s,a)},viewportInitialized:!0}:ave,[t,n])};function aF(){const e=uve(),t=tr(),n=E.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=E.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=E.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(S=>({...S}))},[]),o=E.useCallback(m=>{const{edges:S=[]}=t.getState();return S.find(v=>v.id===m)},[]),s=E.useCallback(m=>{const{getNodes:S,setNodes:v,hasDefaultNodes:y,onNodesChange:g}=t.getState(),b=S(),_=typeof m=="function"?m(b):m;if(y)v(_);else if(g){const w=_.length===0?b.map(x=>({type:"remove",id:x.id})):_.map(x=>({item:x,type:"reset"}));g(w)}},[]),a=E.useCallback(m=>{const{edges:S=[],setEdges:v,hasDefaultEdges:y,onEdgesChange:g}=t.getState(),b=typeof m=="function"?m(S):m;if(y)v(b);else if(g){const _=b.length===0?S.map(w=>({type:"remove",id:w.id})):b.map(w=>({item:w,type:"reset"}));g(_)}},[]),l=E.useCallback(m=>{const S=Array.isArray(m)?m:[m],{getNodes:v,setNodes:y,hasDefaultNodes:g,onNodesChange:b}=t.getState();if(g){const w=[...v(),...S];y(w)}else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),u=E.useCallback(m=>{const S=Array.isArray(m)?m:[m],{edges:v=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:b}=t.getState();if(g)y([...v,...S]);else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),c=E.useCallback(()=>{const{getNodes:m,edges:S=[],transform:v}=t.getState(),[y,g,b]=v;return{nodes:m().map(_=>({..._})),edges:S.map(_=>({..._})),viewport:{x:y,y:g,zoom:b}}},[]),d=E.useCallback(({nodes:m,edges:S})=>{const{nodeInternals:v,getNodes:y,edges:g,hasDefaultNodes:b,hasDefaultEdges:_,onNodesDelete:w,onEdgesDelete:x,onNodesChange:C,onEdgesChange:k}=t.getState(),P=(m||[]).map(O=>O.id),A=(S||[]).map(O=>O.id),$=y().reduce((O,I)=>{const M=!P.includes(I.id)&&I.parentNode&&O.find(D=>D.id===I.parentNode);return(typeof I.deletable=="boolean"?I.deletable:!0)&&(P.includes(I.id)||M)&&O.push(I),O},[]),N=g.filter(O=>typeof O.deletable=="boolean"?O.deletable:!0),T=N.filter(O=>A.includes(O.id));if($||T){const O=j$($,N),I=[...T,...O],M=I.reduce((R,D)=>(R.includes(D.id)||R.push(D.id),R),[]);if((_||b)&&(_&&t.setState({edges:g.filter(R=>!M.includes(R.id))}),b&&($.forEach(R=>{v.delete(R.id)}),t.setState({nodeInternals:new Map(v)}))),M.length>0&&(x==null||x(I),k&&k(M.map(R=>({id:R,type:"remove"})))),$.length>0&&(w==null||w($),C)){const R=$.map(D=>({id:D.id,type:"remove"}));C(R)}}},[]),f=E.useCallback(m=>{const S=y0e(m),v=S?null:t.getState().nodeInternals.get(m.id);return[S?m:j8(v),v,S]},[]),h=E.useCallback((m,S=!0,v)=>{const[y,g,b]=f(m);return y?(v||t.getState().getNodes()).filter(_=>{if(!b&&(_.id===g.id||!_.positionAbsolute))return!1;const w=j8(_),x=Zw(w,y);return S&&x>0||x>=m.width*m.height}):[]},[]),p=E.useCallback((m,S,v=!0)=>{const[y]=f(m);if(!y)return!1;const g=Zw(y,S);return v&&g>0||g>=m.width*m.height},[]);return E.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,i,o,s,a,l,u,c,d,h,p])}var cve=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=tr(),{deleteElements:r}=aF(),i=Eh(e),o=Eh(t);E.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(c=>c.selected),u=s.filter(c=>c.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),E.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function dve(e){const t=tr();E.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=b3(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",va.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const P3={position:"absolute",width:"100%",height:"100%",top:0,left:0},fve=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,p_=e=>({x:e.x,y:e.y,zoom:e.k}),iu=(e,t)=>e.target.closest(`.${t}`),rk=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),hve=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),pve=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=tc.Free,zoomOnDoubleClick:u=!0,elementsSelectable:c,panOnDrag:d=!0,defaultViewport:f,translateExtent:h,minZoom:p,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:v=!0,children:y,noWheelClassName:g,noPanClassName:b})=>{const _=E.useRef(),w=tr(),x=E.useRef(!1),C=E.useRef(!1),k=E.useRef(null),P=E.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:N,userSelectionActive:T}=Kt(hve,Dr),O=Eh(S),I=E.useRef(0);return dve(k),E.useEffect(()=>{if(k.current){const M=k.current.getBoundingClientRect(),R=c0e().scaleExtent([p,m]).translateExtent(h),D=Oi(k.current).call(R),L=ia.translate(f.x,f.y).scale(Nc(f.zoom,p,m)),V=[[0,0],[M.width,M.height]],z=R.constrain()(L,V,h);R.transform(D,z),w.setState({d3Zoom:R,d3Selection:D,d3ZoomHandler:D.on("wheel.zoom"),transform:[z.x,z.y,z.k],domNode:k.current.closest(".react-flow")})}},[]),E.useEffect(()=>{$&&A&&(s&&!O&&!T?$.on("wheel.zoom",M=>{if(iu(M,g))return!1;M.preventDefault(),M.stopImmediatePropagation();const R=$.property("__zoom").k||1;if(M.ctrlKey&&o){const z=Ji(M),U=-M.deltaY*(M.deltaMode===1?.05:M.deltaMode?1:.002)*10,K=R*Math.pow(2,U);A.scaleTo($,K,z);return}const D=M.deltaMode===1?20:1,L=l===tc.Vertical?0:M.deltaX*D,V=l===tc.Horizontal?0:M.deltaY*D;A.translateBy($,-(L/R)*a,-(V/R)*a)},{passive:!1}):typeof N<"u"&&$.on("wheel.zoom",function(M,R){if(!v||iu(M,g))return null;M.preventDefault(),N.call(this,M,R)},{passive:!1}))},[T,s,l,$,A,N,O,o,v,g]),E.useEffect(()=>{A&&A.on("start",M=>{var D;if(!M.sourceEvent)return null;I.current=M.sourceEvent.button;const{onViewportChangeStart:R}=w.getState();if(x.current=!0,((D=M.sourceEvent)==null?void 0:D.type)==="mousedown"&&w.setState({paneDragging:!0}),t||R){const L=p_(M.transform);P.current=L,R==null||R(L),t==null||t(M.sourceEvent,L)}})},[A,t]),E.useEffect(()=>{A&&(T&&!x.current?A.on("zoom",null):T||A.on("zoom",M=>{const{onViewportChange:R}=w.getState();if(w.setState({transform:[M.transform.x,M.transform.y,M.transform.k]}),C.current=!!(r&&rk(d,I.current??0)),e||R){const D=p_(M.transform);R==null||R(D),e==null||e(M.sourceEvent,D)}}))},[T,A,e,d,r]),E.useEffect(()=>{A&&A.on("end",M=>{if(!M.sourceEvent)return null;const{onViewportChangeEnd:R}=w.getState();if(x.current=!1,w.setState({paneDragging:!1}),r&&rk(d,I.current??0)&&!C.current&&r(M.sourceEvent),C.current=!1,(n||R)&&fve(P.current,M.transform)){const D=p_(M.transform);P.current=D,clearTimeout(_.current),_.current=setTimeout(()=>{R==null||R(D),n==null||n(M.sourceEvent,D)},s?150:0)}})},[A,s,d,n,r]),E.useEffect(()=>{A&&A.filter(M=>{const R=O||i,D=o&&M.ctrlKey;if(M.button===1&&M.type==="mousedown"&&(iu(M,"react-flow__node")||iu(M,"react-flow__edge")))return!0;if(!d&&!R&&!s&&!u&&!o||T||!u&&M.type==="dblclick"||iu(M,g)&&M.type==="wheel"||iu(M,b)&&M.type!=="wheel"||!o&&M.ctrlKey&&M.type==="wheel"||!R&&!s&&!D&&M.type==="wheel"||!d&&(M.type==="mousedown"||M.type==="touchstart")||Array.isArray(d)&&!d.includes(M.button)&&(M.type==="mousedown"||M.type==="touchstart"))return!1;const L=Array.isArray(d)&&d.includes(M.button)||!M.button||M.button<=1;return(!M.ctrlKey||M.type==="wheel")&&L})},[T,A,i,o,s,u,d,c,O]),j.jsx("div",{className:"react-flow__renderer",ref:k,style:P3,children:y})},gve=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function mve(){const{userSelectionActive:e,userSelectionRect:t}=Kt(gve,Dr);return e&&t?j.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function ik(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function lF(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&ik(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&ik(r,s);break}case"remove":return r}return r.push(s),r},n)}function uF(e,t){return lF(e,t)}function yve(e,t){return lF(e,t)}const Ls=(e,t)=>({id:e,type:"select",selected:t});function Du(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(Ls(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(Ls(r.id,!1))),n},[])}const g_=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},vve=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),cF=E.memo(({isSelecting:e,selectionMode:t=Th.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:c,children:d})=>{const f=E.useRef(null),h=tr(),p=E.useRef(0),m=E.useRef(0),S=E.useRef(),{userSelectionActive:v,elementsSelectable:y,dragging:g}=Kt(vve,Dr),b=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,m.current=0},_=N=>{o==null||o(N),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},w=N=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){N.preventDefault();return}s==null||s(N)},x=a?N=>a(N):void 0,C=N=>{const{resetSelectedElements:T,domNode:O}=h.getState();if(S.current=O==null?void 0:O.getBoundingClientRect(),!y||!e||N.button!==0||N.target!==f.current||!S.current)return;const{x:I,y:M}=oa(N,S.current);T(),h.setState({userSelectionRect:{width:0,height:0,startX:I,startY:M,x:I,y:M}}),r==null||r(N)},k=N=>{const{userSelectionRect:T,nodeInternals:O,edges:I,transform:M,onNodesChange:R,onEdgesChange:D,nodeOrigin:L,getNodes:V}=h.getState();if(!e||!S.current||!T)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});const z=oa(N,S.current),U=T.startX??0,K=T.startY??0,W={...T,x:z.xJ.id),Q=F.map(J=>J.id);if(p.current!==Q.length){p.current=Q.length;const J=Du(X,Q);J.length&&(R==null||R(J))}if(m.current!==q.length){m.current=q.length;const J=Du(I,q);J.length&&(D==null||D(J))}h.setState({userSelectionRect:W})},P=N=>{if(N.button!==0)return;const{userSelectionRect:T}=h.getState();!v&&T&&N.target===f.current&&(_==null||_(N)),h.setState({nodesSelectionActive:p.current>0}),b(),i==null||i(N)},A=N=>{v&&(h.setState({nodesSelectionActive:p.current>0}),i==null||i(N)),b()},$=y&&(e||v);return j.jsxs("div",{className:_i(["react-flow__pane",{dragging:g,selection:e}]),onClick:$?void 0:g_(_,f),onContextMenu:g_(w,f),onWheel:g_(x,f),onMouseEnter:$?void 0:l,onMouseDown:$?C:void 0,onMouseMove:$?k:u,onMouseUp:$?P:void 0,onMouseLeave:$?A:c,ref:f,style:P3,children:[d,j.jsx(mve,{})]})});cF.displayName="Pane";const bve=e=>{const t=e.getNodes().filter(n=>n.selected);return{...F$(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function Sve({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=tr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Kt(bve,Dr),c=rF(),d=E.useRef(null);if(E.useEffect(()=>{var p;n||(p=d.current)==null||p.focus({preventScroll:!0})},[n]),nF({nodeRef:d}),u||!i||!o)return null;const f=e?p=>{const m=r.getState().getNodes().filter(S=>S.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(rc,p.key)&&c({x:rc[p.key].x,y:rc[p.key].y,isShiftPressed:p.shiftKey})};return j.jsx("div",{className:_i(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:j.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:o,top:a,left:s}})})}var _ve=E.memo(Sve);const wve=e=>e.nodesSelectionActive,dF=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:v,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:C,zoomOnDoubleClick:k,panOnDrag:P,defaultViewport:A,translateExtent:$,minZoom:N,maxZoom:T,preventScrolling:O,onSelectionContextMenu:I,noWheelClassName:M,noPanClassName:R,disableKeyboardA11y:D})=>{const L=Kt(wve),V=Eh(d),U=Eh(v)||P,K=V||f&&U!==!0;return cve({deleteKeyCode:a,multiSelectionKeyCode:S}),j.jsx(pve,{onMove:l,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:o,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:C,zoomOnDoubleClick:k,panOnDrag:!V&&U,defaultViewport:A,translateExtent:$,minZoom:N,maxZoom:T,zoomActivationKeyCode:y,preventScrolling:O,noWheelClassName:M,noPanClassName:R,children:j.jsxs(cF,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:U,isSelecting:!!K,selectionMode:h,children:[e,L&&j.jsx(_ve,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:D})]})})};dF.displayName="FlowRenderer";var xve=E.memo(dF);function Cve(e){return Kt(E.useCallback(n=>e?B$(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const Tve=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),fF=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Kt(Tve,Dr),a=Cve(e.onlyRenderVisibleElements),l=E.useRef(),u=E.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(d=>{const f=d.map(h=>({id:h.target.getAttribute("data-id"),nodeElement:h.target,forceUpdate:!0}));o(f)});return l.current=c,c},[]);return E.useEffect(()=>()=>{var c;(c=l==null?void 0:l.current)==null||c.disconnect()},[]),j.jsx("div",{className:"react-flow__nodes",style:P3,children:a.map(c=>{var _,w;let d=c.type||"default";e.nodeTypes[d]||(s==null||s("003",va.error003(d)),d="default");const f=e.nodeTypes[d]||e.nodeTypes.default,h=!!(c.draggable||t&&typeof c.draggable>"u"),p=!!(c.selectable||i&&typeof c.selectable>"u"),m=!!(c.connectable||n&&typeof c.connectable>"u"),S=!!(c.focusable||r&&typeof c.focusable>"u"),v=e.nodeExtent?S3(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,y=(v==null?void 0:v.x)??0,g=(v==null?void 0:v.y)??0,b=rve({x:y,y:g,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return j.jsx(f,{id:c.id,className:c.className,style:c.style,type:d,data:c.data,sourcePosition:c.sourcePosition||ve.Bottom,targetPosition:c.targetPosition||ve.Top,hidden:c.hidden,xPos:y,yPos:g,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:h,isSelectable:p,isConnectable:m,isFocusable:S,resizeObserver:u,dragHandle:c.dragHandle,zIndex:((_=c[hn])==null?void 0:_.z)??0,isParent:!!((w=c[hn])!=null&&w.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel},c.id)})})};fF.displayName="NodeRenderer";var Eve=E.memo(fF);const Pve=[{level:0,isMaxLevel:!0,edges:[]}];function kve(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var c,d;const l=ci(a.zIndex);let u=l?a.zIndex:0;if(n){const f=t.get(a.target),h=t.get(a.source),p=a.selected||(f==null?void 0:f.selected)||(h==null?void 0:h.selected),m=Math.max(((c=h==null?void 0:h[hn])==null?void 0:c.z)||0,((d=f==null?void 0:f[hn])==null?void 0:d.z)||0,1e3);u=(l?a.zIndex:0)+(p?m:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?Pve:o}function Ave(e,t,n){const r=Kt(E.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Z0e({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return kve(r,t,n)}const Ove=({color:e="none",strokeWidth:t=1})=>j.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),Rve=({color:e="none",strokeWidth:t=1})=>j.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),ok={[Qy.Arrow]:Ove,[Qy.ArrowClosed]:Rve};function Ive(e){const t=tr();return E.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(ok,e)?ok[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",va.error009(e)),null)},[e])}const Mve=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=Ive(t);return l?j.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:j.jsx(l,{color:n,strokeWidth:s})}):null},Nve=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=tx(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},hF=({defaultColor:e,rfId:t})=>{const n=Kt(E.useCallback(Nve({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return j.jsx("defs",{children:n.map(r=>j.jsx(Mve,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};hF.displayName="MarkerDefinitions";var Dve=E.memo(hF);const Lve=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),pF=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:c,onEdgeClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,children:S})=>{const{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:g,width:b,height:_,connectionMode:w,nodeInternals:x,onError:C}=Kt(Lve,Dr),k=Ave(t,x,n);return b?j.jsxs(j.Fragment,{children:[k.map(({level:P,edges:A,isMaxLevel:$})=>j.jsxs("svg",{style:{zIndex:P},width:b,height:_,className:"react-flow__edges react-flow__container",children:[$&&j.jsx(Dve,{defaultColor:e,rfId:r}),j.jsx("g",{children:A.map(N=>{const[T,O,I]=Z8(x.get(N.source)),[M,R,D]=Z8(x.get(N.target));if(!I||!D)return null;let L=N.type||"default";i[L]||(C==null||C("011",va.error011(L)),L="default");const V=i[L]||i.default,z=w===wl.Strict?R.target:(R.target??[]).concat(R.source??[]),U=Q8(O.source,N.sourceHandle),K=Q8(z,N.targetHandle),W=(U==null?void 0:U.position)||ve.Bottom,X=(K==null?void 0:K.position)||ve.Top,F=!!(N.focusable||v&&typeof N.focusable>"u"),q=typeof s<"u"&&(N.updatable||y&&typeof N.updatable>"u");if(!U||!K)return C==null||C("008",va.error008(U,N)),null;const{sourceX:Q,sourceY:J,targetX:ne,targetY:Z}=Q0e(T,U,W,M,K,X);return j.jsx(V,{id:N.id,className:_i([N.className,o]),type:L,data:N.data,selected:!!N.selected,animated:!!N.animated,hidden:!!N.hidden,label:N.label,labelStyle:N.labelStyle,labelShowBg:N.labelShowBg,labelBgStyle:N.labelBgStyle,labelBgPadding:N.labelBgPadding,labelBgBorderRadius:N.labelBgBorderRadius,style:N.style,source:N.source,target:N.target,sourceHandleId:N.sourceHandle,targetHandleId:N.targetHandle,markerEnd:N.markerEnd,markerStart:N.markerStart,sourceX:Q,sourceY:J,targetX:ne,targetY:Z,sourcePosition:W,targetPosition:X,elementsSelectable:g,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:c,onClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,rfId:r,ariaLabel:N.ariaLabel,isFocusable:F,isUpdatable:q,pathOptions:"pathOptions"in N?N.pathOptions:void 0,interactionWidth:N.interactionWidth},N.id)})})]},P)),S]}):null};pF.displayName="EdgeRenderer";var $ve=E.memo(pF);const Fve=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Bve({children:e}){const t=Kt(Fve);return j.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function jve(e){const t=aF(),n=E.useRef(!1);E.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Vve={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top},gF=({nodeId:e,handleType:t,style:n,type:r=Vs.Bezier,CustomComponent:i,connectionStatus:o})=>{var w,x,C;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:c}=Kt(E.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Dr),d=(w=s==null?void 0:s[hn])==null?void 0:w.handleBounds;let f=d==null?void 0:d[t];if(c===wl.Loose&&(f=f||(d==null?void 0:d[t==="source"?"target":"source"])),!s||!f)return null;const h=a?f.find(k=>k.id===a):f[0],p=h?h.x+h.width/2:(s.width??0)/2,m=h?h.y+h.height/2:s.height??0,S=(((x=s.positionAbsolute)==null?void 0:x.x)??0)+p,v=(((C=s.positionAbsolute)==null?void 0:C.y)??0)+m,y=h==null?void 0:h.position,g=y?Vve[y]:null;if(!y||!g)return null;if(i)return j.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:h,fromX:S,fromY:v,toX:l,toY:u,fromPosition:y,toPosition:g,connectionStatus:o});let b="";const _={sourceX:S,sourceY:v,sourcePosition:y,targetX:l,targetY:u,targetPosition:g};return r===Vs.Bezier?[b]=D$(_):r===Vs.Step?[b]=ex({..._,borderRadius:0}):r===Vs.SmoothStep?[b]=ex(_):r===Vs.SimpleBezier?[b]=N$(_):b=`M${S},${v} ${l},${u}`,j.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};gF.displayName="ConnectionLine";const zve=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Uve({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Kt(zve,Dr);return!(i&&o&&a&&s)?null:j.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:j.jsx("g",{className:_i(["react-flow__connection",u]),children:j.jsx(gF,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const mF=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:S,connectionLineType:v,connectionLineStyle:y,connectionLineComponent:g,connectionLineContainerStyle:b,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:C,panActivationKeyCode:k,zoomActivationKeyCode:P,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:N,selectNodesOnDrag:T,defaultViewport:O,translateExtent:I,minZoom:M,maxZoom:R,preventScrolling:D,defaultMarkerColor:L,zoomOnScroll:V,zoomOnPinch:z,panOnScroll:U,panOnScrollSpeed:K,panOnScrollMode:W,zoomOnDoubleClick:X,panOnDrag:F,onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:Z,onPaneContextMenu:ge,onEdgeUpdate:ae,onEdgeContextMenu:oe,onEdgeMouseEnter:Te,onEdgeMouseMove:se,onEdgeMouseLeave:We,edgeUpdaterRadius:yt,onEdgeUpdateStart:Fe,onEdgeUpdateEnd:Be,noDragClassName:Me,noWheelClassName:rt,noPanClassName:xt,elevateEdgesOnSelect:mn,disableKeyboardA11y:an,nodeOrigin:Ot,nodeExtent:ee,rfId:_e})=>(jve(o),j.jsx(xve,{onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:ge,onPaneScroll:Z,deleteKeyCode:A,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:C,panActivationKeyCode:k,zoomActivationKeyCode:P,elementsSelectable:N,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:V,zoomOnPinch:z,zoomOnDoubleClick:X,panOnScroll:U,panOnScrollSpeed:K,panOnScrollMode:W,panOnDrag:F,defaultViewport:O,translateExtent:I,minZoom:M,maxZoom:R,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:Me,noWheelClassName:rt,noPanClassName:xt,disableKeyboardA11y:an,children:j.jsxs(Bve,{children:[j.jsx($ve,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:ae,onlyRenderVisibleElements:$,onEdgeContextMenu:oe,onEdgeMouseEnter:Te,onEdgeMouseMove:se,onEdgeMouseLeave:We,onEdgeUpdateStart:Fe,onEdgeUpdateEnd:Be,edgeUpdaterRadius:yt,defaultMarkerColor:L,noPanClassName:xt,elevateEdgesOnSelect:!!mn,disableKeyboardA11y:an,rfId:_e,children:j.jsx(Uve,{style:y,type:v,component:g,containerStyle:b})}),j.jsx("div",{className:"react-flow__edgelabel-renderer"}),j.jsx(Eve,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:T,onlyRenderVisibleElements:$,noPanClassName:xt,noDragClassName:Me,disableKeyboardA11y:an,nodeOrigin:Ot,nodeExtent:ee,rfId:_e})]})}));mF.displayName="GraphView";var Gve=E.memo(mF);const ix=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ps={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:ix,nodeExtent:ix,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:wl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:v0e,isValidConnection:void 0},Hve=()=>Ope((e,t)=>({...Ps,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:h_(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?h_(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),c=l==null?void 0:l.querySelector(".react-flow__viewport");if(!c)return;const d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((m,S)=>{const v=i.get(S.id);if(v){const y=b3(S.nodeElement);!!(y.width&&y.height&&(v.width!==y.width||v.height!==y.height||S.forceUpdate))&&(i.set(v.id,{...v,[hn]:{...v[hn],handleBounds:{source:ek(".source",S.nodeElement,f,u),target:ek(".target",S.nodeElement,f,u)}},...y}),m.push({id:v.id,type:"dimensions",dimensions:y}))}return m},[]);oF(i,u);const p=s||o&&!s&&sF(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),(h==null?void 0:h.length)>0&&(r==null||r(h))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=uF(n,a()),c=h_(u,i,s,l);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>Ls(l,!0)):(s=Du(o(),n),a=Du(i,[])),Tg({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>Ls(l,!0)):(s=Du(i,n),a=Du(o(),[])),Tg({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(c=>(c.selected=!1,Ls(c.id,!1))),u=a.map(c=>Ls(c.id,!1));Tg({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>Ls(a.id,!1)),s=n.filter(a=>a.selected).map(a=>Ls(a.id,!1));Tg({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=S3(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=ia.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[i,o]],d=s==null?void 0:s.constrain()(u,c,l);return s.transform(a,d),r[0]!==d.x||r[1]!==d.y||r[2]!==d.k},cancelConnection:()=>e({connectionNodeId:Ps.connectionNodeId,connectionHandleId:Ps.connectionHandleId,connectionHandleType:Ps.connectionHandleType,connectionStatus:Ps.connectionStatus,connectionStartHandle:Ps.connectionStartHandle,connectionEndHandle:Ps.connectionEndHandle}),reset:()=>e({...Ps})})),yF=({children:e})=>{const t=E.useRef(null);return t.current||(t.current=Hve()),j.jsx(d0e,{value:t.current,children:e})};yF.displayName="ReactFlowProvider";const vF=({children:e})=>E.useContext(m1)?j.jsx(j.Fragment,{children:e}):j.jsx(yF,{children:e});vF.displayName="ReactFlowWrapper";function sk(e,t){return E.useRef(null),E.useMemo(()=>t(e),[e])}const qve={input:K$,default:nx,output:X$,group:E3},Wve={default:Zy,straight:x3,step:w3,smoothstep:y1,simplebezier:_3},Kve=[0,0],Yve=[15,15],Xve={x:0,y:0,zoom:1},Qve={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Zve=E.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=qve,edgeTypes:s=Wve,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,onNodeDragStart:x,onNodeDrag:C,onNodeDragStop:k,onNodesDelete:P,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:N,onSelectionDrag:T,onSelectionDragStop:O,onSelectionContextMenu:I,onSelectionStart:M,onSelectionEnd:R,connectionMode:D=wl.Strict,connectionLineType:L=Vs.Bezier,connectionLineStyle:V,connectionLineComponent:z,connectionLineContainerStyle:U,deleteKeyCode:K="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:X=!1,selectionMode:F=Th.Full,panActivationKeyCode:q="Space",multiSelectionKeyCode:Q="Meta",zoomActivationKeyCode:J="Meta",snapToGrid:ne=!1,snapGrid:Z=Yve,onlyRenderVisibleElements:ge=!1,selectNodesOnDrag:ae=!0,nodesDraggable:oe,nodesConnectable:Te,nodesFocusable:se,nodeOrigin:We=Kve,edgesFocusable:yt,edgesUpdatable:Fe,elementsSelectable:Be,defaultViewport:Me=Xve,minZoom:rt=.5,maxZoom:xt=2,translateExtent:mn=ix,preventScrolling:an=!0,nodeExtent:Ot,defaultMarkerColor:ee="#b1b1b7",zoomOnScroll:_e=!0,zoomOnPinch:Ee=!0,panOnScroll:Ne=!1,panOnScrollSpeed:ie=.5,panOnScrollMode:he=tc.Free,zoomOnDoubleClick:Qt=!0,panOnDrag:Rt=!0,onPaneClick:ut,onPaneMouseEnter:rr,onPaneMouseMove:Mo,onPaneMouseLeave:Qr,onPaneScroll:No,onPaneContextMenu:ct,children:Ke,onEdgeUpdate:An,onEdgeContextMenu:yn,onEdgeDoubleClick:Hn,onEdgeMouseEnter:ir,onEdgeMouseMove:br,onEdgeMouseLeave:Ki,onEdgeUpdateStart:or,onEdgeUpdateEnd:On,edgeUpdaterRadius:Do=10,onNodesChange:_s,onEdgesChange:ws,noDragClassName:Hl="nodrag",noWheelClassName:Lo="nowheel",noPanClassName:sr="nopan",fitView:Na=!1,fitViewOptions:Sb,connectOnClick:_b=!0,attributionPosition:wb,proOptions:xb,defaultEdgeOptions:xs,elevateNodesOnSelect:Cb=!0,elevateEdgesOnSelect:Tb=!1,disableKeyboardA11y:Mp=!1,autoPanOnConnect:Eb=!0,autoPanOnNodeDrag:Pb=!0,connectionRadius:kb=20,isValidConnection:id,onError:Ab,style:ql,id:Wl,...Ob},Kl)=>{const Np=sk(o,nve),Rb=sk(s,X0e),od=Wl||"1";return j.jsx("div",{...Ob,style:{...ql,...Qve},ref:Kl,className:_i(["react-flow",i]),"data-testid":"rf__wrapper",id:Wl,children:j.jsxs(vF,{children:[j.jsx(Gve,{onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,nodeTypes:Np,edgeTypes:Rb,connectionLineType:L,connectionLineStyle:V,connectionLineComponent:z,connectionLineContainerStyle:U,selectionKeyCode:W,selectionOnDrag:X,selectionMode:F,deleteKeyCode:K,multiSelectionKeyCode:Q,panActivationKeyCode:q,zoomActivationKeyCode:J,onlyRenderVisibleElements:ge,selectNodesOnDrag:ae,defaultViewport:Me,translateExtent:mn,minZoom:rt,maxZoom:xt,preventScrolling:an,zoomOnScroll:_e,zoomOnPinch:Ee,zoomOnDoubleClick:Qt,panOnScroll:Ne,panOnScrollSpeed:ie,panOnScrollMode:he,panOnDrag:Rt,onPaneClick:ut,onPaneMouseEnter:rr,onPaneMouseMove:Mo,onPaneMouseLeave:Qr,onPaneScroll:No,onPaneContextMenu:ct,onSelectionContextMenu:I,onSelectionStart:M,onSelectionEnd:R,onEdgeUpdate:An,onEdgeContextMenu:yn,onEdgeDoubleClick:Hn,onEdgeMouseEnter:ir,onEdgeMouseMove:br,onEdgeMouseLeave:Ki,onEdgeUpdateStart:or,onEdgeUpdateEnd:On,edgeUpdaterRadius:Do,defaultMarkerColor:ee,noDragClassName:Hl,noWheelClassName:Lo,noPanClassName:sr,elevateEdgesOnSelect:Tb,rfId:od,disableKeyboardA11y:Mp,nodeOrigin:We,nodeExtent:Ot}),j.jsx(V0e,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,nodesDraggable:oe,nodesConnectable:Te,nodesFocusable:se,edgesFocusable:yt,edgesUpdatable:Fe,elementsSelectable:Be,elevateNodesOnSelect:Cb,minZoom:rt,maxZoom:xt,nodeExtent:Ot,onNodesChange:_s,onEdgesChange:ws,snapToGrid:ne,snapGrid:Z,connectionMode:D,translateExtent:mn,connectOnClick:_b,defaultEdgeOptions:xs,fitView:Na,fitViewOptions:Sb,onNodesDelete:P,onEdgesDelete:A,onNodeDragStart:x,onNodeDrag:C,onNodeDragStop:k,onSelectionDrag:T,onSelectionDragStart:N,onSelectionDragStop:O,noPanClassName:sr,nodeOrigin:We,rfId:od,autoPanOnConnect:Eb,autoPanOnNodeDrag:Pb,onError:Ab,connectionRadius:kb,isValidConnection:id}),j.jsx(B0e,{onSelectionChange:$}),Ke,j.jsx(p0e,{proOptions:xb,position:wb}),j.jsx(q0e,{rfId:od,disableKeyboardA11y:Mp})]})})});Zve.displayName="ReactFlow";const Jve=Se.child({namespace:"schema"});function e1e(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ph=Vf("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{try{const i=await(await fetch("openapi.json")).json();return Jve.info({openAPISchema:i},"Received OpenAPI schema"),JSON.parse(JSON.stringify(i,e1e()))}catch(r){return n({error:r})}}),bF={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},SF=zt({name:"nodes",initialState:bF,reducers:{nodesChanged:(e,t)=>{e.nodes=uF(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=yve(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=L$(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Yn(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=pZ(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ph.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:X6e,edgesChanged:Q6e,nodeAdded:Z6e,fieldValueChanged:ox,connectionMade:J6e,connectionStarted:e8e,connectionEnded:t8e,shouldShowGraphOverlayChanged:n8e,shouldShowFieldTypeLegendChanged:r8e,shouldShowMinimapPanelChanged:i8e,nodeTemplatesBuilt:k3,nodeEditorReset:_F,imageCollectionFieldValueChanged:o8e,setEditorInstance:s8e,loadFileNodes:a8e,loadFileEdges:l8e,setProgressNodeSize:u8e}=SF.actions,t1e=SF.reducer,c8e=e=>e.nodes,wF={esrganModelName:"RealESRGAN_x4plus.pth"},xF=zt({name:"postprocessing",initialState:wF,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:d8e}=xF.actions,n1e=xF.reducer,_p=me("app/userInvoked"),r1e={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class e0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||r1e,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Ad(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function ak(e){return e==null?"":""+e}function i1e(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function A3(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function lk(e,t,n){const{obj:r,k:i}=A3(e,t,Object);r[i]=n}function o1e(e,t,n,r){const{obj:i,k:o}=A3(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function t0(e,t){const{obj:n,k:r}=A3(e,t);if(n)return n[r]}function s1e(e,t,n){const r=t0(e,n);return r!==void 0?r:t0(t,n)}function CF(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):CF(e[r],t[r],n):e[r]=t[r]);return e}function ou(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var a1e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function l1e(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>a1e[t]):e}const u1e=[" ",",","?","!",";"];function c1e(e,t,n){t=t||"",n=n||"";const r=u1e.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function n0(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?n0(l,u,n):void 0}i=i[r[o]]}return i}function r0(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class uk extends v1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=t0(this.data,a);return l||!s||typeof r!="string"?l:n0(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),lk(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=t0(this.data,a)||{};i?CF(l,r,o):l={...l,...r},lk(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var TF={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const ck={};class i0 extends v1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),i1e(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=ho.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!c1e(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],v=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof v=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const C=`${w}${o}${x}`;_[x]=this.translate(C,{...n,joinArrays:!1,ns:a}),_[x]===C&&(_[x]=f[x])}f=_}}else if(y&&typeof v=="string"&&m==="[object Array]")f=f.join(v),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=i0.hasDefaultValue(n),C=w?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",P=n[`defaultValue${C}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=P),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,N=x&&P!==f&&this.options.updateMissing;if(_||b||N){if(this.logger.log(N?"updateKey":"missingKey",u,l,s,N?P:f),o){const M=this.resolve(s,{...n,keySeparator:!1});M&&M.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let T=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let M=0;M{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(M,l,R,L,N,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(M,l,R,L,N,n),this.emit("missingKey",M,l,R,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?T.forEach(M=>{this.pluralResolver.getSuffixes(M,n).forEach(R=>{I([M],s+R,n[`defaultValue${R}`]||P)})}):I(T,s,P))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!ck[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(ck[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(v=>{if(this.isValidLookup(r))return;s=v;const y=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,v,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(v,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(c+b),n.ordinal&&b.indexOf(w)===0&&y.push(c+b.replace(w,this.options.pluralSeparator)),h&&y.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;y.push(x),f&&(y.push(x+b),n.ordinal&&b.indexOf(w)===0&&y.push(x+b.replace(w,this.options.pluralSeparator)),h&&y.push(x+_))}}let g;for(;g=y.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(v,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function m_(e){return e.charAt(0).toUpperCase()+e.slice(1)}class dk{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=ho.create("languageUtils")}getScriptPartFromCode(t){if(t=r0(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=r0(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=m_(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=m_(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=m_(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let d1e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],f1e={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const h1e=["v1","v2","v3"],p1e=["v4"],fk={zero:0,one:1,two:2,few:3,many:4,other:5};function g1e(){const e={};return d1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:f1e[t.fc]}})}),e}class m1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=ho.create("pluralResolver"),(!this.options.compatibilityJSON||p1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=g1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(r0(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>fk[i]-fk[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!h1e.includes(this.options.compatibilityJSON)}}function hk(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=s1e(e,t,n);return!o&&i&&typeof n=="string"&&(o=n0(e,n,r),o===void 0&&(o=n0(t,n,r))),o}class y1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ho.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:l1e,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ou(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ou(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ou(n.nestingPrefix):n.nestingPrefixEscaped||ou("$t("),this.nestingSuffix=n.nestingSuffix?ou(n.nestingSuffix):n.nestingSuffixEscaped||ou(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const y=hk(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...i,...n,interpolationkey:p}):y}const m=p.split(this.formatSeparator),S=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(hk(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const v=d(t,o,i);s=typeof v=="string"?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=ak(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=ak(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function v1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function su(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(r0(i),o),t[s]=a),a(r)}}class b1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ho.create("formatter"),this.options=t,this.formats={number:su((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:su((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:su((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:su((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:su((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=su(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=v1e(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function S1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class _1e extends v1{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=ho.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{o1e(l.loaded,[o],s),S1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function pk(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function gk(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Eg(){}function w1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class kh extends v1{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=gk(t),this.services={},this.logger=ho,this.modules={external:[]},w1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=pk();this.options={...i,...this.options,...gk(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?ho.init(o(this.modules.logger),this.options):ho.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=b1e);const d=new dk(this.options);this.store=new uk(this.options.resources,this.options);const f=this.services;f.logger=ho,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new m1e(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new y1e(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new _1e(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Eg),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Ad(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Eg;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Ad();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Eg),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&TF.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Ad();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Ad();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Ad();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new dk(pk());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new kh(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Eg;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new kh(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new uk(this.store.data,i),o.services.resourceStore=o.store),o.translator=new i0(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},f8e=()=>{const e=qc(),t=cy(Pce),n=tse();return E.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(x1e())},[e,n,t]),null},h8e=()=>{const e=qc();return E.useCallback(n=>e(Vt(sa(n))),[e])},EF={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1},PF=zt({name:"system",initialState:EF,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload}},extraReducers(e){e.addCase(PL,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(AL,t=>{t.sessionId=null}),e.addCase(CL,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(EL,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(RL,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase($L,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(IL,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(c3,t=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.serverError"),status:"error"}))}),e.addCase(DL,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(_p,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(Dl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.canceled"),status:"warning"}))}),e.addCase(k3,t=>{t.wasSchemaParsed=!0}),e.addMatcher(XD,(t,n)=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.serverError"),status:"error"}))})}}),{setIsProcessing:p8e,setShouldConfirmOnDelete:g8e,setCurrentStatus:m8e,setIsCancelable:y8e,setEnableImageDebugging:v8e,addToast:Vt,clearToastQueue:x1e,cancelScheduled:b8e,scheduledCancelAborted:S8e,cancelTypeChanged:_8e,subscribedNodeIdsSet:w8e,consoleLogLevelChanged:x8e,shouldLogToConsoleChanged:C8e,isPersistedChanged:T8e,shouldAntialiasProgressImageChanged:E8e,languageChanged:P8e,progressImageSet:C1e,setIsNodesEnabled:k8e}=PF.actions,T1e=PF.reducer,E1e={searchFolder:null,advancedAddScanModel:null},kF=zt({name:"modelmanager",initialState:E1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:A8e,setAdvancedAddScanModel:O8e}=kF.actions,P1e=kF.reducer,mk=Se.child({namespace:"canvas"}),k1e=()=>{pe({actionCreator:Zfe,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),{sessionId:i,isProcessing:o}=r.system,s=e.payload;if(o){if(!s){mk.debug("No canvas session, skipping cancel");return}if(s!==i){mk.debug({data:{canvasSessionId:s,session_id:i}},"Canvas session does not match global session, skipping cancel");return}t(Dl({session_id:i}))}}})},AF=ya.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:R8e,useGetAppConfigQuery:I8e}=AF,A1e=()=>{pe({matcher:AF.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r}=e.payload,i=t().generation.infillMethod;r.includes(i)||n(Sce(r[0]))}})},O1e=me("app/appStarted"),R1e=()=>{pe({actionCreator:O1e,effect:async(e,{getState:t,dispatch:n,unsubscribe:r,cancelActiveListeners:i})=>{i(),r()}})};Se.child({namespace:"boards"});const I1e=()=>{pe({matcher:Hi(Fw,Uy),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=Fw.match(e)?e.payload:o.gallery.selectedBoardId,l=(Uy.match(e)?e.payload:o.gallery.galleryView)==="images"?Mi:Gs,u={board_id:s??"none",categories:l};if(await r(()=>ye.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=ye.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(ra(d.ids[0]??null)):n(ra(null))}else n(ra(null))}})},M1e=()=>{pe({matcher:Rc.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{board_id:i,deleted_board_images:o,deleted_images:s}=e.payload;let a=!1,l=!1,u=!1,c=!1;const d=n();s.forEach(f=>{const h=KL(d,f);h.isInitialImage&&!a&&(t(bD()),a=!0),h.isCanvasImage&&!l&&(t(eL()),l=!0),h.isNodesImage&&!u&&(t(_F()),u=!0),h.isControlNetImage&&!c&&(t(zL()),c=!0)})}})},N1e=me("canvas/canvasSavedToGallery"),D1e=me("canvas/canvasCopiedToClipboard"),L1e=me("canvas/canvasDownloadedAsImage"),$1e=me("canvas/canvasMerged"),F1e=me("canvas/stagingAreaImageSaved");let OF=null,RF=null;const M8e=e=>{OF=e},b1=()=>OF,N8e=e=>{RF=e},B1e=()=>RF,j1e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),o0=async(e,t)=>await j1e(e.toCanvas(t)),O3=async e=>{const t=b1();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return o0(o,a)},V1e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},z1e=Se.child({namespace:"canvasCopiedToClipboardListener"}),U1e=()=>{pe({actionCreator:D1e,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),i=await O3(r);if(!i){z1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}V1e(i),t(Vt({title:"Canvas Copied to Clipboard",status:"success"}))}})},G1e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},H1e=Se.child({namespace:"canvasSavedToGalleryListener"}),q1e=()=>{pe({actionCreator:L1e,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),i=await O3(r);if(!i){H1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}G1e(i,"canvas.png"),t(Vt({title:"Canvas Downloaded",status:"success"}))}})},W1e=async()=>{const e=b1();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),o0(t,t.getClientRect())},yk=Se.child({namespace:"canvasCopiedToClipboardListener"}),K1e=()=>{pe({actionCreator:$1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=await W1e();if(!i){yk.error("Problem getting base layer blob"),t(Vt({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=b1();if(!o){yk.error("Problem getting canvas base layer"),t(Vt({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const s=o.getClientRect({relativeTo:o.getParent()}),a=await t(ye.endpoints.uploadImage.initiate({file:new File([i],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:l}=a;t(Jfe({kind:"image",layer:"base",imageName:l,...s}))}})},Y1e=Se.child({namespace:"canvasSavedToGalleryListener"}),X1e=()=>{pe({actionCreator:N1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=n(),o=await O3(i);if(!o){Y1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(ye.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Q1e=Se.child({namespace:"controlNet"}),Z1e=(e,t,n)=>{if(!(ype.match(e)||y8.match(e)||f3.match(e)||vpe.match(e)||v8.match(e))||v8.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(y8.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},J1e=()=>{pe({predicate:Z1e,effect:async(e,{dispatch:t,getState:n,cancelActiveListeners:r,delay:i})=>{const{controlNetId:o}=e.payload;r(),Q1e.trace({data:e.payload},"ControlNet auto-process triggered"),await i(300),t(d3({controlNetId:o}))}})},Ll=me("system/sessionReadyToInvoke"),IF=e=>(e==null?void 0:e.type)==="image_output",vk=Se.child({namespace:"controlNet"}),ebe=()=>{pe({actionCreator:d3,effect:async(e,{dispatch:t,getState:n,take:r,unsubscribe:i,subscribe:o})=>{const{controlNetId:s}=e.payload,a=n().controlNet.controlNets[s];if(!a.controlImage){vk.error("Unable to process ControlNet image");return}const l={nodes:{[a.processorNode.id]:{...a.processorNode,is_intermediate:!0,image:{image_name:a.controlImage}}}},u=t(Un({graph:l})),[c]=await r(h=>Un.fulfilled.match(h)&&h.meta.requestId===u.requestId),d=c.payload.id;t(Ll());const[f]=await r(h=>u3.match(h)&&h.payload.data.graph_execution_state_id===d);if(IF(f.payload.data.result)){const{image_name:h}=f.payload.data.result.image,[{payload:p}]=await r(S=>ye.endpoints.getImageDTO.matchFulfilled(S)&&S.payload.image_name===h),m=p;vk.debug({data:{arg:e.payload,processedControlImage:m}},"ControlNet image processed"),t(mpe({controlNetId:s,processedControlImage:m.image_name}))}}})},MF=Se.child({namespace:"boards"}),tbe=()=>{pe({matcher:ye.endpoints.addImageToBoard.matchFulfilled,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,imageDTO:i}=e.meta.arg.originalArgs;MF.debug({data:{board_id:r,imageDTO:i}},"Image added to board")}})},nbe=()=>{pe({matcher:ye.endpoints.addImageToBoard.matchRejected,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,imageDTO:i}=e.meta.arg.originalArgs;MF.debug({data:{board_id:r,imageDTO:i}},"Problem adding image to board")}})},D8e=e=>e.gallery,L8e=Vn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],Kc),rbe=Vn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?Mi:Gs,offset:0,limit:tpe,is_intermediate:!1}},Kc),NF=Se.child({namespace:"image"}),ibe=()=>{pe({actionCreator:YL,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(WL(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=rbe(a),{data:f}=ye.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Xo(p,0,m.length-1),v=m[S];t(ra(v||null))}o.isCanvasImage&&t(eL()),o.isControlNetImage&&t(zL()),o.isInitialImage&&t(bD()),o.isNodesImage&&t(_F());const{requestId:u}=t(ye.endpoints.deleteImage.initiate(i));await r(d=>ye.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(ya.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},obe=()=>{pe({matcher:ye.endpoints.deleteImage.matchPending,effect:(e,{dispatch:t,getState:n})=>{}})},sbe=()=>{pe({matcher:ye.endpoints.deleteImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{NF.debug({data:{image:e.meta.arg.originalArgs}},"Image deleted")}})},abe=()=>{pe({matcher:ye.endpoints.deleteImage.matchRejected,effect:(e,{dispatch:t,getState:n})=>{NF.debug({data:{image:e.meta.arg.originalArgs}},"Unable to delete image")}})},lbe=Se.child({namespace:"dnd"}),DF=me("dnd/dndDropped"),ube=()=>{pe({actionCreator:DF,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{activeData:i,overData:o}=e.payload;if(n(),lbe.debug({data:{activeData:i,overData:o}},"Image or selection dropped"),o.actionType==="SET_CURRENT_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(ra(i.payload.imageDTO.image_name));return}if(o.actionType==="SET_INITIAL_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(Uv(i.payload.imageDTO));return}if(o.actionType==="ADD_TO_BATCH"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(Bw([i.payload.imageDTO.image_name]));return}if(o.actionType==="ADD_TO_BATCH"&&i.payloadType==="IMAGE_NAMES"){t(Bw(i.payload.image_names));return}if(o.actionType==="SET_CONTROLNET_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{controlNetId:s}=o.context;t(f3({controlImage:i.payload.imageDTO.image_name,controlNetId:s}));return}if(o.actionType==="SET_CANVAS_INITIAL_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(tL(i.payload.imageDTO));return}if(o.actionType==="SET_NODES_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{fieldName:s,nodeId:a}=o.context;t(ox({nodeId:a,fieldName:s,value:i.payload.imageDTO}));return}if(o.actionType==="SET_MULTI_NODES_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{fieldName:s,nodeId:a}=o.context;t(ox({nodeId:a,fieldName:s,value:[i.payload.imageDTO]}));return}if(o.actionType==="MOVE_BOARD"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{imageDTO:s}=i.payload,{boardId:a}=o.context;if(!a){t(ye.endpoints.removeImageFromBoard.initiate({imageDTO:s}));return}t(ye.endpoints.addImageToBoard.initiate({imageDTO:s,board_id:a}));return}}})},LF=Se.child({namespace:"boards"}),cbe=()=>{pe({matcher:ye.endpoints.removeImageFromBoard.matchFulfilled,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,image_name:i}=e.meta.arg.originalArgs;LF.debug({data:{board_id:r,image_name:i}},"Image added to board")}})},dbe=()=>{pe({matcher:ye.endpoints.removeImageFromBoard.matchRejected,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,image_name:i}=e.meta.arg.originalArgs;LF.debug({data:{board_id:r,image_name:i}},"Problem adding image to board")}})};Se.child({namespace:"image"});const fbe=()=>{pe({actionCreator:Tpe,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const i=e.payload,o=n(),{shouldConfirmOnDelete:s}=o.system,a=Ppe(n());if(!a)return;const l=a.isCanvasImage||a.isInitialImage||a.isControlNetImage||a.isNodesImage;if(s||l){t(WL(!0));return}t(YL({imageDTO:i,imageUsage:a}))}})};Se.child({namespace:"image"});const $F=Se.child({namespace:"image"}),Fa={title:"Image Uploaded",status:"success"},hbe=()=>{pe({matcher:ye.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{selectedBoardId:o,autoAddBoardId:s}=i.gallery;$F.debug({arg:"",imageDTO:r},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Vt({...Fa,...l}));else{t(ye.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:r}));const{data:u}=Rc.endpoints.listAllBoards.select()(i),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Vt({...Fa,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(tL(r)),t(Vt({...Fa,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(f3({controlNetId:l,controlImage:r.image_name})),t(Vt({...Fa,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(Uv(r)),t(Vt({...Fa,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(ox({nodeId:l,fieldName:u,value:r})),t(Vt({...Fa,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(Bw([r.image_name])),t(Vt({...Fa,description:"Added to batch"}));return}}}})},pbe=()=>{pe({matcher:ye.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const{file:n,postUploadAction:r,...i}=e.meta.arg.originalArgs,o={arg:{...i,file:""}};$F.error({data:o},"Image upload failed"),t(Vt({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},gbe=me("generation/initialImageSelected"),mbe=me("generation/modelSelected"),ybe=()=>{pe({actionCreator:gbe,effect:(e,{getState:t,dispatch:n})=>{if(!e.payload){n(Vt(sa({title:gf("toast.imageNotLoadedDesc"),status:"error"})));return}n(Uv(e.payload)),n(Vt(sa(gf("toast.sentToImageToImage"))))}})},vbe=Se.child({module:"models"}),bbe=()=>{pe({actionCreator:mbe,effect:(e,{getState:t,dispatch:n})=>{var a;const r=t(),i=zv.safeParse(e.payload);if(!i.success){vbe.error({error:i.error.format()},"Failed to parse main model");return}const o=i.data,{base_model:s}=o;if(((a=r.generation.model)==null?void 0:a.base_model)!==s){let l=0;bc(r.lora.loras,(d,f)=>{d.base_model!==s&&(n(QL(f)),l+=1)});const{vae:u}=r.generation;u&&u.base_model!==s&&(n(SD(null)),l+=1);const{controlNets:c}=r.controlNet;bc(c,(d,f)=>{var h;((h=d.model)==null?void 0:h.base_model)!==s&&(n(VL({controlNetId:f})),l+=1)}),l>0&&n(Vt(sa({title:`Base model changed, cleared ${l} incompatible submodel${l===1?"":"s"}`,status:"warning"})))}n(hm(o))}})},bk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Sk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),_k=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),wk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),xk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Sbe=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Od=e=>{const t=[];return e.forEach(n=>{const r={...Yn(n),id:Sbe(n)};t.push(r)}),t},so=ya.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:()=>({url:"models/",params:{model_type:"main"}}),providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return bk.setAll(bk.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:vn}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:vn}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:vn}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:vn}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:vn}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:vn}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:vn}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return Sk.setAll(Sk.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return _k.setAll(_k.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return xk.setAll(xk.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return wk.setAll(wk.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${wL.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:vn}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:$8e,useGetControlNetModelsQuery:F8e,useGetLoRAModelsQuery:B8e,useGetTextualInversionModelsQuery:j8e,useGetVaeModelsQuery:V8e,useUpdateMainModelsMutation:z8e,useDeleteMainModelsMutation:U8e,useImportMainModelsMutation:G8e,useAddMainModelsMutation:H8e,useConvertMainModelsMutation:q8e,useMergeMainModelsMutation:W8e,useSyncModelsMutation:K8e,useGetModelsInFolderQuery:Y8e,useGetCheckpointConfigsQuery:X8e}=so,Ck=Se.child({module:"models"}),_be=()=>{pe({matcher:so.endpoints.getMainModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().generation.model;if(Au(e.payload.entities,l=>(l==null?void 0:l.model_name)===(r==null?void 0:r.model_name)&&(l==null?void 0:l.base_model)===(r==null?void 0:r.base_model)))return;const o=e.payload.ids[0],s=e.payload.entities[o];if(!s){n(hm(null));return}const a=zv.safeParse(s);if(!a.success){Ck.error({error:a.error.format()},"Failed to parse main model");return}n(hm(a.data))}}),pe({matcher:so.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().generation.vae;if(r===null||Au(e.payload.entities,l=>(l==null?void 0:l.model_name)===(r==null?void 0:r.model_name)&&(l==null?void 0:l.base_model)===(r==null?void 0:r.base_model)))return;const o=e.payload.ids[0],s=e.payload.entities[o];if(!s){n(hm(null));return}const a=yce.safeParse(s);if(!a.success){Ck.error({error:a.error.format()},"Failed to parse VAE model");return}n(SD(a.data))}}),pe({matcher:so.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().lora.loras;bc(r,(i,o)=>{Au(e.payload.entities,a=>(a==null?void 0:a.model_name)===(i==null?void 0:i.model_name)&&(a==null?void 0:a.base_model)===(i==null?void 0:i.base_model))||n(QL(o))})}}),pe({matcher:so.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().controlNet.controlNets;bc(r,(i,o)=>{Au(e.payload.entities,a=>{var l,u;return(a==null?void 0:a.model_name)===((l=i==null?void 0:i.model)==null?void 0:l.model_name)&&(a==null?void 0:a.base_model)===((u=i==null?void 0:i.model)==null?void 0:u.base_model)})||n(VL({controlNetId:o}))})}})},sx=e=>!("$ref"in e),wbe=e=>!("$ref"in e),Q8e=500,xbe={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},Cbe=500,Zt=e=>`var(--invokeai-colors-${e}-${Cbe})`,Z8e={integer:{color:"red",colorCssVar:Zt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Zt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Zt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Zt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Zt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Zt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Zt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Zt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Zt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Zt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Zt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Zt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Zt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Zt("teal"),title:"Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Zt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Zt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Zt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Zt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Zt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Zt("gray"),title:"Color",description:"A RGBA color."}},y_=e=>e.$ref.split("/").slice(-1)[0],Tbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},Ebe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},Pbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},kbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),Abe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Obe=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Rbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Ibe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Mbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),Nbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),Dbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Lbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),$be=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Fbe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Bbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),jbe=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Vbe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},Tk=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),Ek=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),zbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),FF=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=y_(e.allOf[0]):e.anyOf?r=y_(e.anyOf[0]):e.oneOf&&(r=y_(e.oneOf[0]));const i=xbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Ube=(e,t,n)=>{const r=FF(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return Mbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return Nbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return Dbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return Lbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return $be({schemaObject:e,baseField:i});if(["clip"].includes(r))return Fbe({schemaObject:e,baseField:i});if(["vae"].includes(r))return Bbe({schemaObject:e,baseField:i});if(["control"].includes(r))return jbe({schemaObject:e,baseField:i});if(["model"].includes(r))return Abe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return Obe({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return Rbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return Ibe({schemaObject:e,baseField:i});if(["enum"].includes(r))return Vbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return Tbe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return Ebe({schemaObject:e,baseField:i});if(["string"].includes(r))return Pbe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return kbe({schemaObject:e,baseField:i});if(["array"].includes(r))return Tk({schemaObject:e,baseField:i});if(["item"].includes(r))return Ek({schemaObject:e,baseField:i});if(["color"].includes(r))return zbe({schemaObject:e,baseField:i});if(["array"].includes(r))return Tk({schemaObject:e,baseField:i});if(["item"].includes(r))return Ek({schemaObject:e,baseField:i})},Gbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return sx(i)?vv(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&sx(a)){const u=FF(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Hbe=["id","type","is_intermediate","metadata"],qbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Wbe=e=>t7(e.components.schemas,(r,i)=>i.includes("Invocation")&&!i.includes("InvocationOutput")&&!qbe.some(o=>i.includes(o))).reduce((r,i)=>{var o,s,a;if(wbe(i)){const l=i.properties.type.default,u=((o=i.ui)==null?void 0:o.title)??i.title.replace("Invocation",""),c=(s=i.ui)==null?void 0:s.type_hints,d={};if(l==="collect"){const m=i.properties.item;d.item={type:"item",name:"item",description:m.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(l==="iterate"){const m=i.properties.collection;d.collection={type:"array",name:"collection",title:m.title??"",default:[],description:m.description??"",inputRequirement:"always",inputKind:"connection"}}else vv(i.properties,(m,S,v)=>{if(!Hbe.includes(v)&&sx(S)){const y=Ube(S,v,c);y&&(m[v]=y)}return m},d);const f=i.output;let h;if(l==="iterate"){const m=e.components.schemas.IterateInvocationOutput;h={item:{name:"item",title:m.title??"",description:m.description??"",type:"array"}}}else h=Gbe(f,e,c);const p={title:u,type:l,tags:((a=i.ui)==null?void 0:a.tags)??[],description:i.description??"",inputs:d,outputs:h};Object.assign(r,{[l]:p})}return r},{}),v_=Se.child({namespace:"schema"}),Kbe=()=>{pe({actionCreator:Ph.fulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=e.payload;v_.info({data:{schemaJSON:r}},"Dereferenced OpenAPI schema");const i=Wbe(r);v_.info({data:{nodeTemplates:i}},`Built ${c7(i)} node templates`),t(k3(i))}}),pe({actionCreator:Ph.rejected,effect:(e,{dispatch:t,getState:n})=>{v_.error("Problem dereferencing OpenAPI Schema")}})},Ybe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Xbe=new Map(Ybe),Qbe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],ax=Symbol(".toJSON was called"),Zbe=e=>{e[ax]=!0;const t=e.toJSON();return delete e[ax],t},Jbe=e=>Xbe.get(e)??Error,BF=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&Pk(e)){const u=Jbe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[ax]!==!0)return Zbe(e);const l=u=>BF({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Qbe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:Pk(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function R3(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?BF({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function Pk(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const jF=Se.child({namespace:"session"}),eSe=()=>{pe({actionCreator:Dl.pending,effect:(e,{getState:t,dispatch:n})=>{}})},tSe=()=>{pe({actionCreator:Dl.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const{session_id:r}=e.meta.arg;jF.debug({data:{session_id:r}},`Session canceled (${r})`)}})},nSe=()=>{pe({actionCreator:Dl.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload;jF.error({data:{arg:r,error:R3(i)}},"Problem canceling session")}}})},VF=Se.child({namespace:"session"}),rSe=()=>{pe({actionCreator:Un.pending,effect:(e,{getState:t,dispatch:n})=>{}})},iSe=()=>{pe({actionCreator:Un.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const r=e.payload;VF.debug({data:{session:r}},`Session created (${r.id})`)}})},oSe=()=>{pe({actionCreator:Un.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload,o=JSON.stringify(i);VF.error({data:{arg:r,error:R3(i)}},`Problem creating session: ${o}`)}}})},zF=Se.child({namespace:"session"}),sSe=()=>{pe({actionCreator:yp.pending,effect:(e,{getState:t,dispatch:n})=>{}})},aSe=()=>{pe({actionCreator:yp.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const{session_id:r}=e.meta.arg;zF.debug({data:{session_id:r}},`Session invoked (${r})`)}})},lSe=()=>{pe({actionCreator:yp.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload,o=JSON.stringify(i);zF.error({data:{arg:r,error:R3(i)}},`Problem invoking session: ${o}`)}}})},uSe=Se.child({namespace:"session"}),cSe=()=>{pe({actionCreator:Ll,effect:(e,{getState:t,dispatch:n})=>{const{sessionId:r}=t().system;r&&(uSe.debug({session_id:r},`Session ready to invoke (${r})})`),n(yp({session_id:r})))}})},dSe=Se.child({namespace:"socketio"}),fSe=()=>{pe({actionCreator:xL,effect:(e,{dispatch:t,getState:n})=>{const{timestamp:r}=e.payload;dSe.debug({timestamp:r},"Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ph()),t(CL(e.payload)),t(so.endpoints.getMainModels.initiate()),t(so.endpoints.getControlNetModels.initiate()),t(so.endpoints.getLoRAModels.initiate()),t(so.endpoints.getTextualInversionModels.initiate()),t(so.endpoints.getVaeModels.initiate())}})},hSe=Se.child({namespace:"socketio"}),pSe=()=>{pe({actionCreator:TL,effect:(e,{dispatch:t,getState:n})=>{hSe.debug(e.payload,"Disconnected"),t(EL(e.payload))}})},kk=Se.child({namespace:"socketio"}),gSe=()=>{pe({actionCreator:LL,effect:(e,{dispatch:t,getState:n})=>{if(n().system.canceledSession===e.payload.data.graph_execution_state_id){kk.trace(e.payload,"Ignored generator progress for canceled session");return}kk.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t($L(e.payload))}})},mSe=Se.child({namespace:"socketio"}),ySe=()=>{pe({actionCreator:NL,effect:(e,{dispatch:t,getState:n})=>{mSe.debug(e.payload,`Session invocation complete (${e.payload.data.graph_execution_state_id})`),t(DL(e.payload))}})},vSe=Se.child({namespace:"socketio"}),bSe=["dataURL_image"],SSe=()=>{pe({actionCreator:u3,effect:async(e,{dispatch:t,getState:n,take:r})=>{vSe.debug({data:e.payload},`Invocation complete (${e.payload.data.node.type})`);const i=e.payload.data.graph_execution_state_id,{cancelType:o,isCancelScheduled:s}=n().system;o==="scheduled"&&s&&t(Dl({session_id:i}));const{data:a}=e.payload,{result:l,node:u,graph_execution_state_id:c}=a;if(IF(l)&&!bSe.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(ye.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t(Qfe(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?ye.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):ye.util.updateQueryData("listImages",{board_id:"none",categories:Mi},y=>{const g=y.total,_=lr.addOne(y,p).total-g;y.total=y.total+_})),t(ye.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(Fw(m)),t(Uy("images"))):m||t(Uy("images")),t(ra(p.image_name)))}t(C1e(null))}t(IL(e.payload))}})},_Se=Se.child({namespace:"socketio"}),wSe=()=>{pe({actionCreator:ML,effect:(e,{dispatch:t,getState:n})=>{_Se.error(e.payload,`Invocation error (${e.payload.data.node.type}): ${e.payload.data.error}`),t(c3(e.payload))}})},Ak=Se.child({namespace:"socketio"}),xSe=()=>{pe({actionCreator:OL,effect:(e,{dispatch:t,getState:n})=>{if(n().system.canceledSession===e.payload.data.graph_execution_state_id){Ak.trace(e.payload,"Ignored invocation started for canceled session");return}Ak.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(RL(e.payload))}})},CSe=Se.child({namespace:"socketio"}),TSe=()=>{pe({actionCreator:l3,effect:(e,{dispatch:t,getState:n})=>{CSe.debug(e.payload,`Subscribed (${e.payload.sessionId}))`),t(PL(e.payload))}})},ESe=Se.child({namespace:"socketio"}),PSe=()=>{pe({actionCreator:kL,effect:(e,{dispatch:t,getState:n})=>{ESe.debug(e.payload,`Unsubscribed (${e.payload.sessionId})`),t(AL(e.payload))}})};Se.child({namespace:"canvas"});const kSe=()=>{pe({actionCreator:F1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{imageDTO:i}=e.payload;try{const o=await t(ye.endpoints.changeImageIsIntermediate.initiate({imageDTO:i,is_intermediate:!1})).unwrap(),{autoAddBoardId:s}=n().gallery;s&&await t(ye.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s})),t(Vt({title:"Image Saved",status:"success"}))}catch(o){t(Vt({title:"Image Saving Failed",description:o==null?void 0:o.message,status:"error"}))}}})},ASe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},Ok=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var I3={exports:{}},S1={},UF={},Le={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof De<"u"?De:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Le);var Bt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Le;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,C=this.m[1]*_+this.m[3]*w,k=this.m[0]*-w+this.m[2]*_,P=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=C,this.m[2]=k,this.m[3]=P,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,C=this.m[2]+this.m[0]*b,k=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=C,this.m[3]=k,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],C=this.m[1]*b.m[2]+this.m[3]*b.m[3],k=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],P=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=C,this.m[4]=k,this.m[5]=P,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,C=this.m[0]*b,k=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),P=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=C,this.m[4]=k,this.m[5]=P,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],C=this.m[4],k=this.m[5],P=b*x-_*w;let A={x:C,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=P/$,A.skewX=(b*w+_*x)/P,A.skewY=0}else if(w!=0||x!=0){var N=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/N):-Math.acos(w/N)),A.scaleX=P/N,A.scaleY=N,A.skewX=0,A.skewY=(b*w+_*x)/P}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,C=Number(_[2])/100;let k,P,A;if(x===0)return A=C*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};C<.5?k=C*(1+x):k=C+x-C*x;const $=2*C-k,N=[0,0,0];for(let T=0;T<3;T++)P=w+1/3*-(T-1),P<0&&P++,P>1&&P--,6*P<1?A=$+(k-$)*6*P:2*P<1?A=k:3*P<2?A=$+(k-$)*(2/3-P)*6:A=$,N[T]=A*255;return{r:Math.round(N[0]),g:Math.round(N[1]),b:Math.round(N[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(k=_,P=w,A=(_-x)*(_-x)+(w-C)*(w-C)):(k=g+N*(_-g),P=b+N*(w-b),A=(k-x)*(k-x)+(P-C)*(P-C))}return[k,P,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(C,k){if(!(!_&&k===b.length-1)){var P=b[(k+1)%b.length],A=e.Util._getProjectionToSegment(C.x,C.y,P.x,P.y,g.x,g.y),$=A[0],N=A[1],T=A[2];Tb.length){var k=b;b=g,g=k}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,C=0,k=0,P=0;typeof w=="number"?x=C=k=P=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),C=Math.min(w[1]||0,b/2,_/2),P=Math.min(w[2]||0,b/2,_/2),k=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-C,0),g.arc(b-C,C,C,Math.PI*3/2,0,!1),g.lineTo(b,_-P),g.arc(b-P,_-P,P,0,Math.PI/2,!1),g.lineTo(k,_),g.arc(k,_-k,k,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Bt);var At={},Ie={},fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.getComponentValidator=fe.getBooleanValidator=fe.getNumberArrayValidator=fe.getFunctionValidator=fe.getStringOrGradientValidator=fe.getStringValidator=fe.getNumberOrAutoValidator=fe.getNumberOrArrayOfNumbersValidator=fe.getNumberValidator=fe.alphaComponent=fe.RGBComponent=void 0;const ys=Le,Ut=Bt;function vs(e){return Ut.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Ut.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function OSe(e){return e>255?255:e<0?0:Math.round(e)}fe.RGBComponent=OSe;function RSe(e){return e>1?1:e<1e-4?1e-4:e}fe.alphaComponent=RSe;function ISe(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isNumber(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}fe.getNumberValidator=ISe;function MSe(e){if(ys.Konva.isUnminified)return function(t,n){let r=Ut.Util._isNumber(t),i=Ut.Util._isArray(t)&&t.length==e;return!r&&!i&&Ut.Util.warn(vs(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}fe.getNumberOrArrayOfNumbersValidator=MSe;function NSe(){if(ys.Konva.isUnminified)return function(e,t){var n=Ut.Util._isNumber(e),r=e==="auto";return n||r||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}fe.getNumberOrAutoValidator=NSe;function DSe(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isString(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}fe.getStringValidator=DSe;function LSe(){if(ys.Konva.isUnminified)return function(e,t){const n=Ut.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}fe.getStringOrGradientValidator=LSe;function $Se(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isFunction(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}fe.getFunctionValidator=$Se;function FSe(){if(ys.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Ut.Util._isArray(e)?e.forEach(function(r){Ut.Util._isNumber(r)||Ut.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}fe.getNumberArrayValidator=FSe;function BSe(){if(ys.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}fe.getBooleanValidator=BSe;function jSe(e){if(ys.Konva.isUnminified)return function(t,n){return t==null||Ut.Util.isObject(t)||Ut.Util.warn(vs(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}fe.getComponentValidator=jSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Bt,n=fe;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Ie);var Bi={},rs={};Object.defineProperty(rs,"__esModule",{value:!0});rs.HitContext=rs.SceneContext=rs.Context=void 0;const GF=Bt,VSe=Le;function zSe(e){var t=[],n=e.length,r=GF.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=USe+u.join(Rk)+GSe)):(o+=a.property,t||(o+=YSe+a.val)),o+=WSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=QSe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=Ik.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=zSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(x1);Object.defineProperty(At,"__esModule",{value:!0});At.Node=void 0;const je=Bt,wp=Ie,kg=Bi,Ba=Le,ti=x1,Yt=fe;var _m="absoluteOpacity",Ag="allEventListeners",Uo="absoluteTransform",Mk="absoluteScale",ja="canvas",o_e="Change",s_e="children",a_e="konva",lx="listening",Nk="mouseenter",Dk="mouseleave",Lk="set",$k="Shape",wm=" ",Fk="stage",Os="transform",l_e="Stage",ux="visible",u_e=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(wm);let c_e=1,Pe=class cx{constructor(t){this._id=c_e++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===Os||t===Uo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===Os||t===Uo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(wm);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(ja)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Uo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(ja)){const{scene:t,filter:n,hit:r}=this._cache.get(ja);je.Util.releaseCanvas(t,n,r),this._cache.delete(ja)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){je.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new kg.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new kg.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new kg.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(ja),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_m),this._clearSelfAndDescendantCache(Mk),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(ja,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(ja)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==s_e&&(r=Lk+je.Util._capitalize(n),je.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(lx,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(ux,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;ti.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!Ba.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==l_e&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Os),this._clearSelfAndDescendantCache(Uo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new je.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(Os);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(Os),this._clearSelfAndDescendantCache(Uo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return je.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return je.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&je.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_m,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=je.Util.isObject(i)&&!je.Util._isPlainObject(i)&&!je.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),je.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,je.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Ba.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;ti.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=ti.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&ti.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return je.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return je.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=cx.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),Ba.Konva[r]||(je.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=Ba.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=b_.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=b_.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hX.indexOf("pointer")>=0?"pointer":X.indexOf("touch")>=0?"touch":"mouse",z=X=>{const F=V(X);if(F==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(F==="touch")return L.touch;if(F==="mouse")return L.mouse};function U(X={}){return(X.clipFunc||X.clipWidth||X.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),X}const K="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class W extends r.Container{constructor(F){super(U(F)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{U(this.attrs)}),this._checkVisibility()}_validateAdd(F){const q=F.getType()==="Layer",Q=F.getType()==="FastLayer";q||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const F=this.visible()?"":"none";this.content.style.display=F}setContainer(F){if(typeof F===c){if(F.charAt(0)==="."){var q=F.slice(1);F=document.getElementsByClassName(q)[0]}else{var Q;F.charAt(0)!=="#"?Q=F:Q=F.slice(1),F=document.getElementById(Q)}if(!F)throw"Can not find container in document with id "+Q}return this._setAttr("container",F),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),F.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var F=this.children,q=F.length,Q;for(Q=0;Q-1&&e.stages.splice(q,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const F=this._pointerPositions[0]||this._changedPointerPositions[0];return F?{x:F.x,y:F.y}:(t.Util.warn(K),null)}_getPointerById(F){return this._pointerPositions.find(q=>q.id===F)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(F){F=F||{},F.x=F.x||0,F.y=F.y||0,F.width=F.width||this.width(),F.height=F.height||this.height();var q=new o.SceneCanvas({width:F.width,height:F.height,pixelRatio:F.pixelRatio||1}),Q=q.getContext()._context,J=this.children;return(F.x||F.y)&&Q.translate(-1*F.x,-1*F.y),J.forEach(function(ne){if(ne.isVisible()){var Z=ne._toKonvaCanvas(F);Q.drawImage(Z._canvas,F.x,F.y,Z.getWidth()/Z.getPixelRatio(),Z.getHeight()/Z.getPixelRatio())}}),q}getIntersection(F){if(!F)return null;var q=this.children,Q=q.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const Z=q[ne].getIntersection(F);if(Z)return Z}return null}_resizeDOM(){var F=this.width(),q=this.height();this.content&&(this.content.style.width=F+d,this.content.style.height=q+d),this.bufferCanvas.setSize(F,q),this.bufferHitCanvas.setSize(F,q),this.children.forEach(Q=>{Q.setSize({width:F,height:q}),Q.draw()})}add(F,...q){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),F.setSize({width:this.width(),height:this.height()}),F.draw(),i.Konva.isBrowser&&this.content.appendChild(F.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(F){return l.hasPointerCapture(F,this)}setPointerCapture(F){l.setPointerCapture(F,this)}releaseCapture(F){l.releaseCapture(F,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([F,q])=>{this.content.addEventListener(F,Q=>{this[q](Q)},{passive:!1})})}_pointerenter(F){this.setPointersPositions(F);const q=z(F.type);this._fire(q.pointerenter,{evt:F,target:this,currentTarget:this})}_pointerover(F){this.setPointersPositions(F);const q=z(F.type);this._fire(q.pointerover,{evt:F,target:this,currentTarget:this})}_getTargetShape(F){let q=this[F+"targetShape"];return q&&!q.getStage()&&(q=null),q}_pointerleave(F){const q=z(F.type),Q=V(F.type);if(q){this.setPointersPositions(F);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(q.pointerout,{evt:F}),J._fireAndBubble(q.pointerleave,{evt:F}),this._fire(q.pointerleave,{evt:F,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(q.pointerleave,{evt:F,target:this,currentTarget:this}),this._fire(q.pointerout,{evt:F,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(F){const q=z(F.type),Q=V(F.type);if(q){this.setPointersPositions(F);var J=!1;this._changedPointerPositions.forEach(ne=>{var Z=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(Z&&Z.isListening()))return;i.Konva.capturePointerEventsEnabled&&Z.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=Z,Z._fireAndBubble(q.pointerdown,{evt:F,pointerId:ne.id}),J=!0;const ae=F.type.indexOf("touch")>=0;Z.preventDefault()&&F.cancelable&&ae&&F.preventDefault()}),J||this._fire(q.pointerdown,{evt:F,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(F){const q=z(F.type),Q=V(F.type);if(!q)return;s.DD.isDragging&&s.DD.node.preventDefault()&&F.cancelable&&F.preventDefault(),this.setPointersPositions(F);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let Z=!1;var ge=this._getTargetShape(Q);this._changedPointerPositions.forEach(ae=>{const oe=l.getCapturedShape(ae.id)||this.getIntersection(ae),Te=ae.id,se={evt:F,pointerId:Te};var We=ge!==oe;if(We&&ge&&(ge._fireAndBubble(q.pointerout,Object.assign({},se),oe),ge._fireAndBubble(q.pointerleave,Object.assign({},se),oe)),oe){if(ne[oe._id])return;ne[oe._id]=!0}oe&&oe.isListening()?(Z=!0,We&&(oe._fireAndBubble(q.pointerover,Object.assign({},se),ge),oe._fireAndBubble(q.pointerenter,Object.assign({},se),ge),this[Q+"targetShape"]=oe),oe._fireAndBubble(q.pointermove,Object.assign({},se))):ge&&(this._fire(q.pointerover,{evt:F,target:this,currentTarget:this,pointerId:Te}),this[Q+"targetShape"]=null)}),Z||this._fire(q.pointermove,{evt:F,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(F){const q=z(F.type),Q=V(F.type);if(!q)return;this.setPointersPositions(F);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var Z={};let ge=!1;this._changedPointerPositions.forEach(ae=>{const oe=l.getCapturedShape(ae.id)||this.getIntersection(ae);if(oe){if(oe.releaseCapture(ae.id),Z[oe._id])return;Z[oe._id]=!0}const Te=ae.id,se={evt:F,pointerId:Te};let We=!1;i.Konva["_"+Q+"InDblClickWindow"]?(We=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),oe&&oe.isListening()?(ge=!0,this[Q+"ClickEndShape"]=oe,oe._fireAndBubble(q.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===oe&&(oe._fireAndBubble(q.pointerclick,Object.assign({},se)),We&&ne&&ne===oe&&oe._fireAndBubble(q.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(q.pointerclick,{evt:F,target:this,currentTarget:this,pointerId:Te}),We&&this._fire(q.pointerdblclick,{evt:F,target:this,currentTarget:this,pointerId:Te}))}),ge||this._fire(q.pointerup,{evt:F,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,F.cancelable&&Q!=="touch"&&F.preventDefault()}_contextmenu(F){this.setPointersPositions(F);var q=this.getIntersection(this.getPointerPosition());q&&q.isListening()?q._fireAndBubble($,{evt:F}):this._fire($,{evt:F,target:this,currentTarget:this})}_wheel(F){this.setPointersPositions(F);var q=this.getIntersection(this.getPointerPosition());q&&q.isListening()?q._fireAndBubble(M,{evt:F}):this._fire(M,{evt:F,target:this,currentTarget:this})}_pointercancel(F){this.setPointersPositions(F);const q=l.getCapturedShape(F.pointerId)||this.getIntersection(this.getPointerPosition());q&&q._fireAndBubble(_,l.createEvent(F)),l.releaseCapture(F.pointerId)}_lostpointercapture(F){l.releaseCapture(F.pointerId)}setPointersPositions(F){var q=this._getContentPosition(),Q=null,J=null;F=F||window.event,F.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(F.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-q.left)/q.scaleX,y:(ne.clientY-q.top)/q.scaleY})}),Array.prototype.forEach.call(F.changedTouches||F.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-q.left)/q.scaleX,y:(ne.clientY-q.top)/q.scaleY})})):(Q=(F.clientX-q.left)/q.scaleX,J=(F.clientY-q.top)/q.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(F)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(F)}])}_setPointerPosition(F){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(F)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var F=this.content.getBoundingClientRect();return{top:F.top,left:F.left,scaleX:F.width/this.content.clientWidth||1,scaleY:F.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var F=this.container();if(!F)throw"Stage has no container. A container is required.";F.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),F.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(F){F.batchDraw()}),this}}e.Stage=W,W.prototype.nodeType=u,(0,a._registerNode)(W),n.Factory.addGetterSetter(W,"container")})(WF);var xp={},pn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Le,n=Bt,r=Ie,i=At,o=fe,s=Le,a=Br;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(k){const P=this.attrs.fillRule;P?k.fill(P):k.fill()}function S(k){k.stroke()}function v(k){k.fill()}function y(k){k.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class C extends i.Node{constructor(P){super(P);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var P=p();const A=P.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const N=$.getMatrix(),T=typeof DOMMatrix>"u"?{a:N[0],b:N[1],c:N[2],d:N[3],e:N[4],f:N[5]}:new DOMMatrix(N);A.setTransform(T)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var P=this.fillLinearGradientColorStops();if(P){for(var A=p(),$=this.fillLinearGradientStartPoint(),N=this.fillLinearGradientEndPoint(),T=A.createLinearGradient($.x,$.y,N.x,N.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const P=this.hitStrokeWidth();return P==="auto"?this.hasStroke():this.strokeEnabled()&&!!P}intersects(P){var A=this.getStage(),$=A.bufferHitCanvas,N;return $.getContext().clear(),this.drawHit($,null,!0),N=$.context.getImageData(Math.round(P.x),Math.round(P.y),1,1).data,N[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(P){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const N=P||this.hasFill(),T=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(N&&T&&O)return!0;const I=this.hasShadow(),M=this.shadowForStrokeEnabled();return!!(N&&T&&I&&M)}setStrokeHitEnabled(P){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),P?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var P=this.size();return{x:this._centroid?-P.width/2:0,y:this._centroid?-P.height/2:0,width:P.width,height:P.height}}getClientRect(P={}){const A=P.skipTransform,$=P.relativeTo,N=this.getSelfRect(),O=!P.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=N.width+O,M=N.height+O,R=!P.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,V=I+Math.abs(D),z=M+Math.abs(L),U=R&&this.shadowBlur()||0,K=V+U*2,W=z+U*2,X={width:K,height:W,x:-(O/2+U)+Math.min(D,0)+N.x,y:-(O/2+U)+Math.min(L,0)+N.y};return A?X:this._transformedRect(X,$)}drawScene(P,A){var $=this.getLayer(),N=P||$.getCanvas(),T=N.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),M=this.hasShadow(),R,D,L,V=N.isCache,z=A===this;if(!this.isVisible()&&!z)return this;if(O){T.save();var U=this.getAbsoluteTransform(A).getMatrix();return T.transform(U[0],U[1],U[2],U[3],U[4],U[5]),this._drawCachedSceneCanvas(T),T.restore(),this}if(!I)return this;if(T.save(),this._useBufferCanvas()&&!V){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var K=this.getAbsoluteTransform(A).getMatrix();L.transform(K[0],K[1],K[2],K[3],K[4],K[5]),I.call(this,L,this),L.restore();var W=D.pixelRatio;M&&T._applyShadow(this),T._applyOpacity(this),T._applyGlobalCompositeOperation(this),T.drawImage(D._canvas,0,0,D.width/W,D.height/W)}else{if(T._applyLineJoin(this),!z){var K=this.getAbsoluteTransform(A).getMatrix();T.transform(K[0],K[1],K[2],K[3],K[4],K[5]),T._applyOpacity(this),T._applyGlobalCompositeOperation(this)}M&&T._applyShadow(this),I.call(this,T,this)}return T.restore(),this}drawHit(P,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var N=this.getLayer(),T=P||N.hitCanvas,O=T&&T.getContext(),I=this.hitFunc()||this.sceneFunc(),M=this._getCanvasCache(),R=M&&M.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var V=this.getAbsoluteTransform(A).getMatrix();O.transform(V[0],V[1],V[2],V[3],V[4],V[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(P=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),N=A.hit,T=N.getContext(),O=N.getWidth(),I=N.getHeight(),M,R,D,L,V,z;T.clear(),T.drawImage($._canvas,0,0,O,I);try{for(M=T.getImageData(0,0,O,I),R=M.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),V=0;VP?(R[V]=L.r,R[V+1]=L.g,R[V+2]=L.b,R[V+3]=255):R[V+3]=0;T.putImageData(M,0,0)}catch(U){n.Util.error("Unable to draw hit graph from cached scene canvas. "+U.message)}return this}hasPointerCapture(P){return a.hasPointerCapture(P,this)}setPointerCapture(P){a.setPointerCapture(P,this)}releaseCapture(P){a.releaseCapture(P,this)}}e.Shape=C,C.prototype._fillFunc=m,C.prototype._strokeFunc=S,C.prototype._fillFuncHit=v,C.prototype._strokeFuncHit=y,C.prototype._centroid=!1,C.prototype.nodeType="Shape",(0,s._registerNode)(C),C.prototype.eventListeners={},C.prototype.on.call(C.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),C.prototype.on.call(C.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(C,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(C,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(C,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(C,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"lineJoin"),r.Factory.addGetterSetter(C,"lineCap"),r.Factory.addGetterSetter(C,"sceneFunc"),r.Factory.addGetterSetter(C,"hitFunc"),r.Factory.addGetterSetter(C,"dash"),r.Factory.addGetterSetter(C,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(C,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(C,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternImage"),r.Factory.addGetterSetter(C,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(C,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(C,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(C,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(C,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(C,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(C,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(C,"fillEnabled",!0),r.Factory.addGetterSetter(C,"strokeEnabled",!0),r.Factory.addGetterSetter(C,"shadowEnabled",!0),r.Factory.addGetterSetter(C,"dashEnabled",!0),r.Factory.addGetterSetter(C,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(C,"fillPriority","color"),r.Factory.addComponentsGetterSetter(C,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(C,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(C,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(C,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(C,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(C,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(C,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(C,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(C,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(C,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(C,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(C,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(C,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(C,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(C,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(C,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(C,"fillPatternRotation",0),r.Factory.addGetterSetter(C,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(C,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(pn);Object.defineProperty(xp,"__esModule",{value:!0});xp.Layer=void 0;const jo=Bt,S_=$l,au=At,N3=Ie,Bk=Bi,g_e=fe,m_e=pn,y_e=Le;var v_e="#",b_e="beforeDraw",S_e="draw",XF=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],__e=XF.length;class Xc extends S_.Container{constructor(t){super(t),this.canvas=new Bk.SceneCanvas,this.hitCanvas=new Bk.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i<__e;i++){const o=XF[i],s=this._getIntersection({x:t.x+o.x*n,y:t.y+o.y*n}),a=s.shape;if(a)return a;if(r=!!s.antialiased,!s.antialiased)break}if(r)n+=1;else return null}}_getIntersection(t){const n=this.hitCanvas.pixelRatio,r=this.hitCanvas.context.getImageData(Math.round(t.x*n),Math.round(t.y*n),1,1).data,i=r[3];if(i===255){const o=jo.Util._rgbToHex(r[0],r[1],r[2]),s=m_e.shapes[v_e+o];return s?{shape:s}:{antialiased:!0}}else if(i>0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(b_e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),S_.Container.prototype.drawScene.call(this,i,n),this._fire(S_e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),S_.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){jo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return jo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return jo.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}xp.Layer=Xc;Xc.prototype.nodeType="Layer";(0,y_e._registerNode)(Xc);N3.Factory.addGetterSetter(Xc,"imageSmoothingEnabled",!0);N3.Factory.addGetterSetter(Xc,"clearBeforeDraw",!0);N3.Factory.addGetterSetter(Xc,"hitGraphEnabled",!0,(0,g_e.getBooleanValidator)());var T1={};Object.defineProperty(T1,"__esModule",{value:!0});T1.FastLayer=void 0;const w_e=Bt,x_e=xp,C_e=Le;class D3 extends x_e.Layer{constructor(t){super(t),this.listening(!1),w_e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}T1.FastLayer=D3;D3.prototype.nodeType="FastLayer";(0,C_e._registerNode)(D3);var Qc={};Object.defineProperty(Qc,"__esModule",{value:!0});Qc.Group=void 0;const T_e=Bt,E_e=$l,P_e=Le;class L3 extends E_e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&T_e.Util.throw("You may only add groups and shapes to groups.")}}Qc.Group=L3;L3.prototype.nodeType="Group";(0,P_e._registerNode)(L3);var Zc={};Object.defineProperty(Zc,"__esModule",{value:!0});Zc.Animation=void 0;const __=Le,jk=Bt;var w_=function(){return __.glob.performance&&__.glob.performance.now?function(){return __.glob.performance.now()}:function(){return new Date().getTime()}}();class ao{constructor(t,n){this.id=ao.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:w_(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,C,k;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(C=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}E1.Arc=bs;bs.prototype._centroid=!0;bs.prototype.className="Arc";bs.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,A_e._registerNode)(bs);P1.Factory.addGetterSetter(bs,"innerRadius",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"outerRadius",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"angle",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"clockwise",!1,(0,k1.getBooleanValidator)());var A1={},Cp={};Object.defineProperty(Cp,"__esModule",{value:!0});Cp.Line=void 0;const O1=Ie,O_e=pn,ZF=fe,R_e=Le;function dx(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function zk(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(JF);Object.defineProperty(Jc,"__esModule",{value:!0});Jc.Path=void 0;const I_e=Ie,M_e=pn,N_e=Le,lu=JF;class ln extends M_e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=ln.parsePathData(this.data()),this.pathLength=ln.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=ln.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return ln.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return ln.getPointOnCubicBezier((0,lu.t2length)(t,ln.getPathLength(n),m=>(0,lu.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return ln.getPointOnQuadraticBezier((0,lu.t2length)(t,ln.getPathLength(n),m=>(0,lu.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,ln.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,C,k,P,A,$,N,T,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),M=p.shift();if(l+=I,u+=M,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+M;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,C=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),C=u+(u-w.points[3])),g.push(x,C,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,C=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),C=u+(u-w.points[3])),g.push(x,C,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,C=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),C=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,C,l,u);break;case"t":x=l,C=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),C=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,C,l,u);break;case"A":k=p.shift(),P=p.shift(),A=p.shift(),$=p.shift(),N=p.shift(),T=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(T,O,l,u,$,N,k,P,A);break;case"a":k=p.shift(),P=p.shift(),A=p.shift(),$=p.shift(),N=p.shift(),T=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(T,O,l,u,$,N,k,P,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=ln;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,lu.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,lu.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(P){return Math.sqrt(P[0]*P[0]+P[1]*P[1])},b=function(P,A){return(P[0]*A[0]+P[1]*A[1])/(g(P)*g(A))},_=function(P,A){return(P[0]*A[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[v,y,a,l,w,k,c,s]}}Jc.Path=ln;ln.prototype.className="Path";ln.prototype._attrsAffectingSize=["data"];(0,N_e._registerNode)(ln);I_e.Factory.addGetterSetter(ln,"data");Object.defineProperty(A1,"__esModule",{value:!0});A1.Arrow=void 0;const R1=Ie,D_e=Cp,eB=fe,L_e=Le,Uk=Jc;class Bl extends D_e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=Uk.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=Uk.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}A1.Arrow=Bl;Bl.prototype.className="Arrow";(0,L_e._registerNode)(Bl);R1.Factory.addGetterSetter(Bl,"pointerLength",10,(0,eB.getNumberValidator)());R1.Factory.addGetterSetter(Bl,"pointerWidth",10,(0,eB.getNumberValidator)());R1.Factory.addGetterSetter(Bl,"pointerAtBeginning",!1);R1.Factory.addGetterSetter(Bl,"pointerAtEnding",!0);var I1={};Object.defineProperty(I1,"__esModule",{value:!0});I1.Circle=void 0;const $_e=Ie,F_e=pn,B_e=fe,j_e=Le;class ed extends F_e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}}I1.Circle=ed;ed.prototype._centroid=!0;ed.prototype.className="Circle";ed.prototype._attrsAffectingSize=["radius"];(0,j_e._registerNode)(ed);$_e.Factory.addGetterSetter(ed,"radius",0,(0,B_e.getNumberValidator)());var M1={};Object.defineProperty(M1,"__esModule",{value:!0});M1.Ellipse=void 0;const $3=Ie,V_e=pn,tB=fe,z_e=Le;class Oa extends V_e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}M1.Ellipse=Oa;Oa.prototype.className="Ellipse";Oa.prototype._centroid=!0;Oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,z_e._registerNode)(Oa);$3.Factory.addComponentsGetterSetter(Oa,"radius",["x","y"]);$3.Factory.addGetterSetter(Oa,"radiusX",0,(0,tB.getNumberValidator)());$3.Factory.addGetterSetter(Oa,"radiusY",0,(0,tB.getNumberValidator)());var N1={};Object.defineProperty(N1,"__esModule",{value:!0});N1.Image=void 0;const x_=Bt,jl=Ie,U_e=pn,G_e=Le,Tp=fe;let Ro=class nB extends U_e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?x_.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?x_.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=x_.Util.createImageElement();i.onload=function(){var o=new nB({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};N1.Image=Ro;Ro.prototype.className="Image";(0,G_e._registerNode)(Ro);jl.Factory.addGetterSetter(Ro,"cornerRadius",0,(0,Tp.getNumberOrArrayOfNumbersValidator)(4));jl.Factory.addGetterSetter(Ro,"image");jl.Factory.addComponentsGetterSetter(Ro,"crop",["x","y","width","height"]);jl.Factory.addGetterSetter(Ro,"cropX",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropY",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropWidth",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropHeight",0,(0,Tp.getNumberValidator)());var Dc={};Object.defineProperty(Dc,"__esModule",{value:!0});Dc.Tag=Dc.Label=void 0;const D1=Ie,H_e=pn,q_e=Qc,F3=fe,rB=Le;var iB=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],W_e="Change.konva",K_e="none",fx="up",hx="right",px="down",gx="left",Y_e=iB.length;class B3 extends q_e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}$1.RegularPolygon=zl;zl.prototype.className="RegularPolygon";zl.prototype._centroid=!0;zl.prototype._attrsAffectingSize=["radius"];(0,n2e._registerNode)(zl);oB.Factory.addGetterSetter(zl,"radius",0,(0,sB.getNumberValidator)());oB.Factory.addGetterSetter(zl,"sides",0,(0,sB.getNumberValidator)());var F1={};Object.defineProperty(F1,"__esModule",{value:!0});F1.Ring=void 0;const aB=Ie,r2e=pn,lB=fe,i2e=Le;var Gk=Math.PI*2;class Ul extends r2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,Gk,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),Gk,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}F1.Ring=Ul;Ul.prototype.className="Ring";Ul.prototype._centroid=!0;Ul.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,i2e._registerNode)(Ul);aB.Factory.addGetterSetter(Ul,"innerRadius",0,(0,lB.getNumberValidator)());aB.Factory.addGetterSetter(Ul,"outerRadius",0,(0,lB.getNumberValidator)());var B1={};Object.defineProperty(B1,"__esModule",{value:!0});B1.Sprite=void 0;const Gl=Ie,o2e=pn,s2e=Zc,uB=fe,a2e=Le;class Io extends o2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new s2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Rg;function T_(){return Rg||(Rg=mx.Util.createCanvasElement().getContext(p2e),Rg)}function T2e(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function E2e(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function P2e(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Xt extends c2e.Shape{constructor(t){super(P2e(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=mx.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(g2e,n),this}getWidth(){var t=this.attrs.width===uu||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===uu||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return mx.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=T_(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+Og+this.fontVariant()+Og+(this.fontSize()+b2e)+C2e(this.fontFamily())}_addTextLine(t){this.align()===Rd&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return T_().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==uu&&o!==void 0,l=s!==uu&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==Wk,m=h!==w2e&&p,S=this.ellipsis();this.textArr=[],T_().font=this._getContextFont();for(var v=S?this._getTextWidth(C_):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,C="",k=0;w>>1,A=b.slice(0,P+1),$=this._getTextWidth(A)+v;$<=c?(w=P+1,C=A,k=$):x=P}if(C){if(m){var N,T=b[C.length],O=T===Og||T===Hk;O&&k<=c?N=C.length:N=Math.max(C.lastIndexOf(Og),C.lastIndexOf(Hk))+1,N>0&&(w=N,C=C.slice(0,w),k=this._getTextWidth(C))}C=C.trimRight(),this._addTextLine(C),r=Math.max(r,k),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==uu&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==Wk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==uu&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+C_)n?null:Id.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Id.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${vB}`).join(" "),Xk="nodesRect",D2e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],L2e={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const $2e="ontouchstart"in Ci.Konva._global;function F2e(e,t){if(e==="rotater")return"crosshair";t+=at.Util.degToRad(L2e[e]||0);var n=(at.Util.radToDeg(t)%360+360)%360;return at.Util._inRange(n,315+22.5,360)||at.Util._inRange(n,0,22.5)?"ns-resize":at.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":at.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":at.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":at.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":at.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":at.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":at.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(at.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var a0=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],Qk=1e8;function B2e(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function bB(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function j2e(e,t){const n=B2e(e);return bB(e,t,n)}function V2e(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(at.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(D2e.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(Xk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(Xk,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(Ci.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return bB(c,-Ci.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-Qk,y:-Qk,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new at.Transform;r.rotate(-Ci.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:Ci.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),a0.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new I2e.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:$2e?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=Ci.Konva.getAngle(this.rotation()),o=F2e(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new R2e.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*at.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let N=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(N-=Math.PI);var f=Ci.Konva.getAngle(this.rotation());const T=f+N,O=Ci.Konva.getAngle(this.rotationSnapTolerance()),M=V2e(this.rotationSnaps(),T,O)-d.rotation,R=j2e(d,M);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(at.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(at.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new at.Transform;if(s.rotate(Ci.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:at.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new at.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new at.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new at.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(at.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(at.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*at.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),Yk.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return Kk.Node.prototype.toObject.call(this)}clone(t){var n=Kk.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}z1.Transformer=Je;function z2e(e){return e instanceof Array||at.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){a0.indexOf(t)===-1&&at.Util.warn("Unknown anchor name: "+t+". Available names are: "+a0.join(", "))}),e||[]}Je.prototype.className="Transformer";(0,M2e._registerNode)(Je);st.Factory.addGetterSetter(Je,"enabledAnchors",a0,z2e);st.Factory.addGetterSetter(Je,"flipEnabled",!0,(0,Ma.getBooleanValidator)());st.Factory.addGetterSetter(Je,"resizeEnabled",!0);st.Factory.addGetterSetter(Je,"anchorSize",10,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"rotateEnabled",!0);st.Factory.addGetterSetter(Je,"rotationSnaps",[]);st.Factory.addGetterSetter(Je,"rotateAnchorOffset",50,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"rotationSnapTolerance",5,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderEnabled",!0);st.Factory.addGetterSetter(Je,"anchorStroke","rgb(0, 161, 255)");st.Factory.addGetterSetter(Je,"anchorStrokeWidth",1,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"anchorFill","white");st.Factory.addGetterSetter(Je,"anchorCornerRadius",0,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderStroke","rgb(0, 161, 255)");st.Factory.addGetterSetter(Je,"borderStrokeWidth",1,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderDash");st.Factory.addGetterSetter(Je,"keepRatio",!0);st.Factory.addGetterSetter(Je,"shiftBehavior","default");st.Factory.addGetterSetter(Je,"centeredScaling",!1);st.Factory.addGetterSetter(Je,"ignoreStroke",!1);st.Factory.addGetterSetter(Je,"padding",0,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"node");st.Factory.addGetterSetter(Je,"nodes");st.Factory.addGetterSetter(Je,"boundBoxFunc");st.Factory.addGetterSetter(Je,"anchorDragBoundFunc");st.Factory.addGetterSetter(Je,"anchorStyleFunc");st.Factory.addGetterSetter(Je,"shouldOverdrawWholeArea",!1);st.Factory.addGetterSetter(Je,"useSingleNodeRotation",!0);st.Factory.backCompat(Je,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var U1={};Object.defineProperty(U1,"__esModule",{value:!0});U1.Wedge=void 0;const G1=Ie,U2e=pn,G2e=Le,SB=fe,H2e=Le;class Ss extends U2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,G2e.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}U1.Wedge=Ss;Ss.prototype.className="Wedge";Ss.prototype._centroid=!0;Ss.prototype._attrsAffectingSize=["radius"];(0,H2e._registerNode)(Ss);G1.Factory.addGetterSetter(Ss,"radius",0,(0,SB.getNumberValidator)());G1.Factory.addGetterSetter(Ss,"angle",0,(0,SB.getNumberValidator)());G1.Factory.addGetterSetter(Ss,"clockwise",!1);G1.Factory.backCompat(Ss,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var H1={};Object.defineProperty(H1,"__esModule",{value:!0});H1.Blur=void 0;const Zk=Ie,q2e=At,W2e=fe;function Jk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var K2e=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Y2e=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function X2e(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,C,k,P,A,$,N=t+t+1,T=r-1,O=i-1,I=t+1,M=I*(I+1)/2,R=new Jk,D=null,L=R,V=null,z=null,U=K2e[t],K=Y2e[t];for(a=1;a>K,A!==0?(A=255/A,n[c]=(f*U>>K)*A,n[c+1]=(h*U>>K)*A,n[c+2]=(p*U>>K)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=V.r,v-=V.g,y-=V.b,g-=V.a,l=d+((l=o+t+1)>K,A>0?(A=255/A,n[l]=(f*U>>K)*A,n[l+1]=(h*U>>K)*A,n[l+2]=(p*U>>K)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=V.r,v-=V.g,y-=V.b,g-=V.a,l=o+((l=s+I)0&&X2e(t,n)};H1.Blur=Q2e;Zk.Factory.addGetterSetter(q2e.Node,"blurRadius",0,(0,W2e.getNumberValidator)(),Zk.Factory.afterSetFilter);var q1={};Object.defineProperty(q1,"__esModule",{value:!0});q1.Brighten=void 0;const eA=Ie,Z2e=At,J2e=fe,ewe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};W1.Contrast=rwe;tA.Factory.addGetterSetter(twe.Node,"contrast",0,(0,nwe.getNumberValidator)(),tA.Factory.afterSetFilter);var K1={};Object.defineProperty(K1,"__esModule",{value:!0});K1.Emboss=void 0;const ba=Ie,Y1=At,iwe=Bt,_B=fe,owe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:iwe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,C=b>0?b:-b,k=_>0?_:-_;if(C>x&&(w=b),k>x&&(w=_),w*=t,i){var P=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=P>255?255:P<0?0:P,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var N=n-w;N<0?N=0:N>255&&(N=255),a[S]=a[S+1]=a[S+2]=N}}while(--m)}while(--d)};K1.Emboss=owe;ba.Factory.addGetterSetter(Y1.Node,"embossStrength",.5,(0,_B.getNumberValidator)(),ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossWhiteLevel",.5,(0,_B.getNumberValidator)(),ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossDirection","top-left",null,ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossBlend",!1,null,ba.Factory.afterSetFilter);var X1={};Object.defineProperty(X1,"__esModule",{value:!0});X1.Enhance=void 0;const nA=Ie,swe=At,awe=fe;function k_(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const lwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,C;for(_=0;_g?y:g;var b=s,_=o,w,x,C=n.polarRotation||0,k,P;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function xwe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};ib.Pixelate=Rwe;sA.Factory.addGetterSetter(Awe.Node,"pixelSize",8,(0,Owe.getNumberValidator)(),sA.Factory.afterSetFilter);var ob={};Object.defineProperty(ob,"__esModule",{value:!0});ob.Posterize=void 0;const aA=Ie,Iwe=At,Mwe=fe,Nwe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});u0.Factory.addGetterSetter(q3.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});u0.Factory.addGetterSetter(q3.Node,"blue",0,Dwe.RGBComponent,u0.Factory.afterSetFilter);var ab={};Object.defineProperty(ab,"__esModule",{value:!0});ab.RGBA=void 0;const Oh=Ie,lb=At,$we=fe,Fwe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Oh.Factory.addGetterSetter(lb.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Oh.Factory.addGetterSetter(lb.Node,"blue",0,$we.RGBComponent,Oh.Factory.afterSetFilter);Oh.Factory.addGetterSetter(lb.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var ub={};Object.defineProperty(ub,"__esModule",{value:!0});ub.Sepia=void 0;const Bwe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};cb.Solarize=jwe;var db={};Object.defineProperty(db,"__esModule",{value:!0});db.Threshold=void 0;const lA=Ie,Vwe=At,zwe=fe,Uwe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new Nd.Stage({container:o,width:r,height:i}),a=new Nd.Layer,l=new Nd.Layer;return a.add(new Nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new Nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},Axe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),dA=async(e,t)=>{const n=e.toDataURL(t);return await Axe(n,t.width,t.height)},Oxe=Se.child({namespace:"getCanvasDataURLs"}),Rxe=async e=>{const t=b1(),n=B1e();if(!t||!n){Oxe.error("Unable to find canvas / stage");return}const{layerState:{objects:r},boundingBoxCoordinates:i,boundingBoxDimensions:o,isMaskEnabled:s,shouldPreserveMaskedArea:a}=e.canvas,l={...i,...o},u=t.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await o0(u,d),h=await dA(u,d),p=await kxe(s?r.filter(QD):[],l,a),m=await o0(p,l),S=await dA(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},Ixe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=Ixe(e.data),i=Mxe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},CB=me("nodes/textToImageGraphBuilt"),TB=me("nodes/imageToImageGraphBuilt"),EB=me("nodes/canvasGraphBuilt"),PB=me("nodes/nodesGraphBuilt"),Dxe=Hi(CB,TB,EB,PB),Lxe=e=>t7(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Lt="positive_conditioning",Wt="negative_conditioning",_n="text_to_latents",Bn="latents_to_image",Nt="noise",eo="rand_int",Wo="range_of_size",_r="iterate",wt="main_model_loader",Dd="vae_loader",$xe="lora_loader",ft="clip_skip",dr="image_to_latents",tn="latents_to_latents",lo="resize_image",Rs="inpaint",Mg="control_net_collect",A_="dynamic_prompt",fn="metadata_accumulator",fA="esrgan",W3="text_to_image_graph",c0="image_to_image_graph",kB="inpaint_graph",fb=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Lxe(i),s=t.nodes[fn];if(r&&o.length&&o.length){const a={id:Mg,type:"collect",is_intermediate:!0};t.nodes[Mg]=a,t.edges.push({source:{node_id:Mg,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=o5(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Mg,field:"item"}})})}},hb=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[fn];if(a){gZ(t.nodes[Lt],"prompt");const c={id:A_,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:_r,type:"iterate",is_intermediate:!0};if(t.nodes[A_]=c,t.nodes[_r]=d,t.edges.push({source:{node_id:A_,field:"prompt_collection"},destination:{node_id:_r,field:"collection"}},{source:{node_id:_r,field:"item"},destination:{node_id:Lt,field:"prompt"}}),u&&t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:fn,field:"positive_prompt"}}),o){const f={id:eo,type:"rand_int",is_intermediate:!0};t.nodes[eo]=f,t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Nt,field:"seed"}}),u&&t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:fn,field:"seed"}})}else t.nodes[Nt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Wo,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:_r,type:"iterate",is_intermediate:!0};if(t.nodes[_r]=d,t.nodes[Wo]=c,t.edges.push({source:{node_id:Wo,field:"collection"},destination:{node_id:_r,field:"collection"}}),t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:Nt,field:"seed"}}),u&&t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:fn,field:"seed"}}),o){const f={id:eo,type:"rand_int",is_intermediate:!0};t.nodes[eo]=f,t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Wo,field:"start"}})}else c.start=i}},Pp=(e,t,n)=>{const{loras:r}=e.lora,i=c7(r),o=t.nodes[fn];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===wt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===ft&&["clip"].includes(l.source.field))));let s="",a=0;bc(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${$xe}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:wt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:ft,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Lt,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Wt,field:"clip"}})),s=f,a+=1})},kp=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[fn];r||(t.nodes[Dd]={type:"vae_loader",id:Dd,is_intermediate:!0,vae_model:n}),(t.id===W3||t.id===c0)&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:Bn,field:"vae"}}),t.id===c0&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:dr,field:"vae"}}),t.id===kB&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:Rs,field:"vae"}}),n&&i&&(i.vae=n)},Fxe=Se.child({namespace:"nodes"}),Bxe=(e,t)=>{const{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,img2imgStrength:l,clipSkip:u,shouldUseCpuNoise:c,shouldUseNoiseSettings:d}=e.generation,{width:f,height:h}=e.canvas.boundingBoxDimensions,{shouldAutoSave:p}=e.canvas;if(!i)throw Fxe.error("No model found in state"),new Error("No model found in state");const m=d?c:Nl.shouldUseCpuNoise,S={id:c0,nodes:{[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:n},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:r},[Nt]:{type:"noise",id:Nt,is_intermediate:!0,use_cpu:m},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:i},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:u},[Bn]:{is_intermediate:!p,type:"l2i",id:Bn},[tn]:{type:"l2l",id:tn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a,strength:l},[dr]:{type:"i2l",id:dr,is_intermediate:!0}},edges:[{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:tn,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:dr,field:"latents"},destination:{node_id:tn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:tn,field:"noise"}},{source:{node_id:wt,field:"unet"},destination:{node_id:tn,field:"unet"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:tn,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:tn,field:"positive_conditioning"}}]};if(t.width!==f||t.height!==h){const v={id:lo,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:f,height:h};S.nodes[lo]=v,S.edges.push({source:{node_id:lo,field:"image"},destination:{node_id:dr,field:"image"}}),S.edges.push({source:{node_id:lo,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:lo,field:"height"},destination:{node_id:Nt,field:"height"}})}else S.nodes[dr].image={image_name:t.image_name},S.edges.push({source:{node_id:dr,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:dr,field:"height"},destination:{node_id:Nt,field:"height"}});return S.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:h,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:u,strength:l,init_image:t.image_name},S.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,S,tn),kp(e,S),hb(e,S),fb(e,S,tn),S},jxe=Se.child({namespace:"nodes"}),Vxe=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,shouldFitToWidthHeight:c,iterations:d,seed:f,shouldRandomizeSeed:h,seamSize:p,seamBlur:m,seamSteps:S,seamStrength:v,tileSize:y,infillMethod:g,clipSkip:b}=e.generation;if(!o)throw jxe.error("No model found in state"),new Error("No model found in state");const{width:_,height:w}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:x,boundingBoxScaleMethod:C,shouldAutoSave:k}=e.canvas,P={id:kB,nodes:{[Rs]:{is_intermediate:!k,type:"inpaint",id:Rs,steps:l,width:_,height:w,cfg_scale:s,scheduler:a,image:{image_name:t.image_name},strength:u,fit:c,mask:{image_name:n.image_name},seam_size:p,seam_blur:m,seam_strength:v,seam_steps:S,tile_size:g==="tile"?y:void 0,infill_method:g,inpaint_width:C!=="none"?x.width:void 0,inpaint_height:C!=="none"?x.height:void 0},[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:r},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:i},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:o},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:b},[Wo]:{type:"range_of_size",id:Wo,is_intermediate:!0,size:d,step:1},[_r]:{type:"iterate",id:_r,is_intermediate:!0}},edges:[{source:{node_id:wt,field:"unet"},destination:{node_id:Rs,field:"unet"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:Rs,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:Rs,field:"positive_conditioning"}},{source:{node_id:Wo,field:"collection"},destination:{node_id:_r,field:"collection"}},{source:{node_id:_r,field:"item"},destination:{node_id:Rs,field:"seed"}}]};if(Pp(e,P,Rs),kp(e,P),h){const A={id:eo,type:"rand_int"};P.nodes[eo]=A,P.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Wo,field:"start"}})}else P.nodes[Wo].start=f;return P},zxe=Se.child({namespace:"nodes"}),Uxe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,clipSkip:a,shouldUseCpuNoise:l,shouldUseNoiseSettings:u}=e.generation,{width:c,height:d}=e.canvas.boundingBoxDimensions,{shouldAutoSave:f}=e.canvas;if(!r)throw zxe.error("No model found in state"),new Error("No model found in state");const h=u?l:Nl.shouldUseCpuNoise,p={id:W3,nodes:{[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:t},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:n},[Nt]:{type:"noise",id:Nt,is_intermediate:!0,width:c,height:d,use_cpu:h},[_n]:{type:"t2l",id:_n,is_intermediate:!0,cfg_scale:i,scheduler:o,steps:s},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:r},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:a},[Bn]:{type:"l2i",id:Bn,is_intermediate:!f}},edges:[{source:{node_id:Wt,field:"conditioning"},destination:{node_id:_n,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:_n,field:"positive_conditioning"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:wt,field:"unet"},destination:{node_id:_n,field:"unet"}},{source:{node_id:_n,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:_n,field:"noise"}}]};return p.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:i,height:d,width:c,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:h?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:a},p.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,p,_n),kp(e,p),hb(e,p),fb(e,p,_n),p};Se.child({namespace:"nodes"});const Gxe=(e,t,n,r)=>{let i;if(t==="txt2img")i=Uxe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=Bxe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=Vxe(e,n,r)}return i},O_=Se.child({namespace:"invoke"}),Hxe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=await Rxe(i);if(!o){O_.error("Unable to create canvas data");return}const{baseBlob:s,baseImageData:a,maskBlob:l,maskImageData:u}=o,c=Nxe(a,u);if(i.system.enableImageDebugging){const v=await Ok(s),y=await Ok(l);ASe([{base64:y,caption:"mask b64"},{base64:v,caption:"image b64"}])}O_.debug(`Generation mode: ${c}`);let d,f;["img2img","inpaint","outpaint"].includes(c)&&(d=await n(ye.endpoints.uploadImage.initiate({file:new File([s],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(c)&&(f=await n(ye.endpoints.uploadImage.initiate({file:new File([l],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const h=Gxe(i,c,d,f);O_.debug({graph:h},"Canvas graph built"),n(EB(h));const{requestId:p}=n(Un({graph:h})),[m]=await r(v=>Un.fulfilled.match(v)&&v.meta.requestId===p),S=m.payload.id;["img2img","inpaint"].includes(c)&&d&&n(ye.endpoints.changeImageSessionId.initiate({imageDTO:d,session_id:S})),["inpaint"].includes(c)&&f&&n(ye.endpoints.changeImageSessionId.initiate({imageDTO:f,session_id:S})),i.canvas.layerState.stagingArea.boundingBox||n(ehe({sessionId:S,boundingBox:{...i.canvas.boundingBoxCoordinates,...i.canvas.boundingBoxDimensions}})),n(the(S)),n(Ll())}})},hA=Se.child({namespace:"nodes"}),qxe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,initialImage:a,img2imgStrength:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p}=e.generation;if(!a)throw hA.error("No initial image found in state"),new Error("No initial image found in state");if(!r)throw hA.error("No model found in state"),new Error("No model found in state");const m=p?h:Nl.shouldUseCpuNoise,S={id:c0,nodes:{[wt]:{type:"main_model_loader",id:wt,model:r},[ft]:{type:"clip_skip",id:ft,skipped_layers:f},[Lt]:{type:"compel",id:Lt,prompt:t},[Wt]:{type:"compel",id:Wt,prompt:n},[Nt]:{type:"noise",id:Nt,use_cpu:m},[Bn]:{type:"l2i",id:Bn},[tn]:{type:"l2l",id:tn,cfg_scale:i,scheduler:o,steps:s,strength:l},[dr]:{type:"i2l",id:dr}},edges:[{source:{node_id:wt,field:"unet"},destination:{node_id:tn,field:"unet"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:tn,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:dr,field:"latents"},destination:{node_id:tn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:tn,field:"noise"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:tn,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:tn,field:"positive_conditioning"}}]};if(u&&(a.width!==c||a.height!==d)){const v={id:lo,type:"img_resize",image:{image_name:a.imageName},is_intermediate:!0,width:c,height:d};S.nodes[lo]=v,S.edges.push({source:{node_id:lo,field:"image"},destination:{node_id:dr,field:"image"}}),S.edges.push({source:{node_id:lo,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:lo,field:"height"},destination:{node_id:Nt,field:"height"}})}else S.nodes[dr].image={image_name:a.imageName},S.edges.push({source:{node_id:dr,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:dr,field:"height"},destination:{node_id:Nt,field:"height"}});return S.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:i,height:d,width:c,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:m?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:l,init_image:a.imageName},S.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,S,tn),kp(e,S),hb(e,S),fb(e,S,tn),S},Wxe=Se.child({namespace:"invoke"}),Kxe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=qxe(i);n(TB(o)),Wxe.debug({data:o},"Image to Image graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})};let Ng;const Yxe=new Uint8Array(16);function Xxe(){if(!Ng&&(Ng=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ng))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ng(Yxe)}const In=[];for(let e=0;e<256;++e)In.push((e+256).toString(16).slice(1));function Qxe(e,t=0){return(In[e[t+0]]+In[e[t+1]]+In[e[t+2]]+In[e[t+3]]+"-"+In[e[t+4]]+In[e[t+5]]+"-"+In[e[t+6]]+In[e[t+7]]+"-"+In[e[t+8]]+In[e[t+9]]+"-"+In[e[t+10]]+In[e[t+11]]+In[e[t+12]]+In[e[t+13]]+In[e[t+14]]+In[e[t+15]]).toLowerCase()}const Zxe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pA={randomUUID:Zxe};function Jxe(e,t,n){if(pA.randomUUID&&!t&&!e)return pA.randomUUID();e=e||{};const r=e.random||(e.rng||Xxe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Qxe(r)}const eCe=e=>{if(e.type==="color"&&e.value){const t=Yn(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},tCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l,u)=>{const{id:c,data:d}=l,{type:f,inputs:h}=d,p=vv(h,(S,v,y)=>{const g=eCe(v);return S[y]=g,S},{}),m={type:f,id:c,...p};return Object.assign(a,{[c]:m}),a},{}),o=n.reduce((a,l,u)=>{const{source:c,target:d,sourceHandle:f,targetHandle:h}=l;return a.push({source:{node_id:c,field:f},destination:{node_id:d,field:h}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=o5(l,u)}),{id:Jxe(),nodes:i,edges:o}},nCe=Se.child({namespace:"invoke"}),rCe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=tCe(i);n(PB(o)),nCe.debug({data:o},"Nodes graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})},iCe=Se.child({namespace:"nodes"}),oCe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,width:a,height:l,clipSkip:u,shouldUseCpuNoise:c,shouldUseNoiseSettings:d}=e.generation,f=d?c:Nl.shouldUseCpuNoise;if(!r)throw iCe.error("No model found in state"),new Error("No model found in state");const h={id:W3,nodes:{[wt]:{type:"main_model_loader",id:wt,model:r},[ft]:{type:"clip_skip",id:ft,skipped_layers:u},[Lt]:{type:"compel",id:Lt,prompt:t},[Wt]:{type:"compel",id:Wt,prompt:n},[Nt]:{type:"noise",id:Nt,width:a,height:l,use_cpu:f},[_n]:{type:"t2l",id:_n,cfg_scale:i,scheduler:o,steps:s},[Bn]:{type:"l2i",id:Bn}},edges:[{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:wt,field:"unet"},destination:{node_id:_n,field:"unet"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:_n,field:"positive_conditioning"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:_n,field:"negative_conditioning"}},{source:{node_id:_n,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:_n,field:"noise"}}]};return h.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:i,height:l,width:a,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:f?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:u},h.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,h,_n),kp(e,h),hb(e,h),fb(e,h,_n),h},sCe=Se.child({namespace:"invoke"}),aCe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=oCe(i);n(CB(o)),sCe.debug({data:o},"Text to Image graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})},lCe=Se.child({namespace:"socketio"}),uCe=()=>{pe({actionCreator:FL,effect:(e,{dispatch:t,getState:n})=>{const{model_name:r,model_type:i,submodel:o}=e.payload.data;let s=`${i} model: ${r}`;o&&(s=s.concat(`, submodel: ${o}`)),lCe.debug(e.payload,`Model load started (${s})`),t(ppe(e.payload))}})},cCe=Se.child({namespace:"socketio"}),dCe=()=>{pe({actionCreator:BL,effect:(e,{dispatch:t,getState:n})=>{const{model_name:r,model_type:i,submodel:o}=e.payload.data;let s=`${i} model: ${r}`;o&&(s=s.concat(`, submodel: ${o}`)),cCe.debug(e.payload,`Model load completed (${s})`),t(gpe(e.payload))}})},fCe=({image_name:e,esrganModelName:t})=>{const n={id:fA,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[fA]:n},edges:[]}};Se.child({namespace:"upscale"});const hCe=me("upscale/upscaleRequested"),pCe=()=>{pe({actionCreator:hCe,effect:async(e,{dispatch:t,getState:n,take:r,unsubscribe:i,subscribe:o})=>{const{image_name:s}=e.payload,{esrganModelName:a}=n().postprocessing,l=fCe({image_name:s,esrganModelName:a});t(Un({graph:l})),await r(Un.fulfilled.match),t(Ll())}})};me("app/appStarted");const gCe=()=>{pe({matcher:ye.endpoints.listImages.matchFulfilled,effect:async(e,{getState:t,dispatch:n,unsubscribe:r,cancelActiveListeners:i})=>{if(e.meta.arg.queryCacheKey!==Ai({board_id:"none",categories:Mi}))return;i(),r();const o=e.payload;o.ids.length>0&&n(ra(o.ids[0]))}})},AB=uI(),pe=AB.startListening;hbe();pbe();ybe();ibe();obe();sbe();abe();M1e();fbe();Hxe();rCe();aCe();Kxe();cSe();X1e();q1e();U1e();K1e();kSe();k1e();gSe();ySe();SSe();wSe();xSe();fSe();pSe();TSe();PSe();uCe();dCe();rSe();iSe();oSe();sSe();aSe();lSe();eSe();tSe();nSe();ebe();J1e();tbe();nbe();cbe();dbe();I1e();Kbe();ube();bbe();R1e();_be();A1e();gCe();pCe();const eke=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],mCe="@@invokeai-",yCe=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],vCe=["pendingControlImages"],bCe=["selection","entities","ids","isLoading","limit","offset","selectedBoardId","galleryView","total","isInitialized"],SCe=["schema","invocationTemplates"],_Ce=[],wCe=[],xCe=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],CCe=["shouldShowImageDetails"],TCe={canvas:yCe,gallery:bCe,generation:_Ce,nodes:SCe,postprocessing:wCe,system:xCe,ui:CCe,controlNet:vCe},ECe=(e,t)=>{const n=o5(e,TCe[t]);return JSON.stringify(n)},PCe={canvas:ZD,gallery:dL,generation:Nl,nodes:bF,postprocessing:wF,system:EF,config:h7,ui:_D,hotkeys:nD,controlNet:Uw},kCe=(e,t)=>EQ(JSON.parse(e),PCe[t]),ACe=e=>{if(Dxe(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ph.fulfilled.match(e)?{...e,payload:""}:k3.match(e)?{...e,payload:""}:e},OCe=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],RCe=e=>e,ICe={canvas:nhe,gallery:npe,generation:_ce,nodes:t1e,postprocessing:n1e,system:T1e,config:bZ,ui:Ece,hotkeys:zle,controlNet:bpe,boards:xpe,dynamicPrompts:_pe,imageDeletion:Epe,lora:Ape,modelmanager:P1e,[ya.reducerPath]:ya.reducer},MCe=Vc(ICe),NCe=FH(MCe),DCe=["canvas","gallery","generation","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],LCe=UR({reducer:NCe,enhancers:e=>e.concat(BH(window.localStorage,DCe,{persistDebounce:300,serialize:ECe,unserialize:kCe,prefix:mCe})).concat(dI()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(ya.middleware).concat(yH).prepend(AB.middleware),devTools:{actionSanitizer:ACe,stateSanitizer:RCe,trace:!0,predicate:(e,t)=>!OCe.includes(t.type)}}),tke=e=>e,$Ce=""+new URL("logo-13003d72.png",import.meta.url).href,FCe=()=>j.jsxs(z5,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[j.jsx(B5,{src:$Ce,w:"8rem",h:"8rem"}),j.jsx(Nv,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),BCe=E.memo(FCe);function yx(e){"@babel/helpers - typeof";return yx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yx(e)}var OB=[],jCe=OB.forEach,VCe=OB.slice;function vx(e){return jCe.call(VCe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function RB(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":yx(XMLHttpRequest))==="object"}function zCe(e){return!!e&&typeof e.then=="function"}function UCe(e){return zCe(e)?e:Promise.resolve(e)}function GCe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bx={exports:{}},Dg={exports:{}},gA;function HCe(){return gA||(gA=1,function(e,t){var n=typeof self<"u"?self:De,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(T){return T&&DataView.prototype.isPrototypeOf(T)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(T){return T&&u.indexOf(Object.prototype.toString.call(T))>-1};function d(T){if(typeof T!="string"&&(T=String(T)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(T))throw new TypeError("Invalid character in header field name");return T.toLowerCase()}function f(T){return typeof T!="string"&&(T=String(T)),T}function h(T){var O={next:function(){var I=T.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(T){this.map={},T instanceof p?T.forEach(function(O,I){this.append(I,O)},this):Array.isArray(T)?T.forEach(function(O){this.append(O[0],O[1])},this):T&&Object.getOwnPropertyNames(T).forEach(function(O){this.append(O,T[O])},this)}p.prototype.append=function(T,O){T=d(T),O=f(O);var I=this.map[T];this.map[T]=I?I+", "+O:O},p.prototype.delete=function(T){delete this.map[d(T)]},p.prototype.get=function(T){return T=d(T),this.has(T)?this.map[T]:null},p.prototype.has=function(T){return this.map.hasOwnProperty(d(T))},p.prototype.set=function(T,O){this.map[d(T)]=f(O)},p.prototype.forEach=function(T,O){for(var I in this.map)this.map.hasOwnProperty(I)&&T.call(O,this.map[I],I,this)},p.prototype.keys=function(){var T=[];return this.forEach(function(O,I){T.push(I)}),h(T)},p.prototype.values=function(){var T=[];return this.forEach(function(O){T.push(O)}),h(T)},p.prototype.entries=function(){var T=[];return this.forEach(function(O,I){T.push([I,O])}),h(T)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(T){if(T.bodyUsed)return Promise.reject(new TypeError("Already read"));T.bodyUsed=!0}function S(T){return new Promise(function(O,I){T.onload=function(){O(T.result)},T.onerror=function(){I(T.error)}})}function v(T){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(T),I}function y(T){var O=new FileReader,I=S(O);return O.readAsText(T),I}function g(T){for(var O=new Uint8Array(T),I=new Array(O.length),M=0;M-1?O:T}function C(T,O){O=O||{};var I=O.body;if(T instanceof C){if(T.bodyUsed)throw new TypeError("Already read");this.url=T.url,this.credentials=T.credentials,O.headers||(this.headers=new p(T.headers)),this.method=T.method,this.mode=T.mode,this.signal=T.signal,!I&&T._bodyInit!=null&&(I=T._bodyInit,T.bodyUsed=!0)}else this.url=String(T);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}C.prototype.clone=function(){return new C(this,{body:this._bodyInit})};function k(T){var O=new FormData;return T.trim().split("&").forEach(function(I){if(I){var M=I.split("="),R=M.shift().replace(/\+/g," "),D=M.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function P(T){var O=new p,I=T.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(M){var R=M.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(C.prototype);function A(T,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(T)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var T=new A(null,{status:0,statusText:""});return T.type="error",T};var $=[301,302,303,307,308];A.redirect=function(T,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:T}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var M=Error(O);this.stack=M.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function N(T,O){return new Promise(function(I,M){var R=new C(T,O);if(R.signal&&R.signal.aborted)return M(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var V={status:D.status,statusText:D.statusText,headers:P(D.getAllResponseHeaders()||"")};V.url="responseURL"in D?D.responseURL:V.headers.get("X-Request-URL");var z="response"in D?D.response:D.responseText;I(new A(z,V))},D.onerror=function(){M(new TypeError("Network request failed"))},D.ontimeout=function(){M(new TypeError("Network request failed"))},D.onabort=function(){M(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(V,z){D.setRequestHeader(z,V)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return N.polyfill=!0,o.fetch||(o.fetch=N,o.Headers=p,o.Request=C,o.Response=A),s.Headers=p,s.Request=C,s.Response=A,s.fetch=N,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Dg,Dg.exports)),Dg.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof De<"u"&&De.fetch?n=De.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof GCe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||HCe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(bx,bx.exports);var IB=bx.exports;const MB=Cl(IB),mA=qA({__proto__:null,default:MB},[IB]);function d0(e){"@babel/helpers - typeof";return d0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d0(e)}var is;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?is=global.fetch:typeof window<"u"&&window.fetch?is=window.fetch:is=fetch);var Rh;RB()&&(typeof global<"u"&&global.XMLHttpRequest?Rh=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Rh=window.XMLHttpRequest));var f0;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?f0=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(f0=window.ActiveXObject));!is&&mA&&!Rh&&!f0&&(is=MB||mA);typeof is!="function"&&(is=void 0);var Sx=function(t,n){if(n&&d0(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},yA=function(t,n,r){is(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},vA=!1,qCe=function(t,n,r,i){t.queryStringParams&&(n=Sx(n,t.queryStringParams));var o=vx({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=vx({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},vA?{}:s);try{yA(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),yA(n,a,i),vA=!0}catch(u){i(u)}}},WCe=function(t,n,r,i){r&&d0(r)==="object"&&(r=Sx("",r).slice(1)),t.queryStringParams&&(n=Sx(n,t.queryStringParams));try{var o;Rh?o=new Rh:o=new f0("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},KCe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},is&&n.indexOf("file:")!==0)return qCe(t,n,r,i);if(RB()||typeof ActiveXObject=="function")return WCe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Ih(e){"@babel/helpers - typeof";return Ih=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ih(e)}function YCe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bA(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};YCe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return XCe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=vx(i,this.options||{},JCe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=UCe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();DB.type="backend";nr.use(DB).use(eue).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const Eo=Object.create(null);Eo.open="0";Eo.close="1";Eo.ping="2";Eo.pong="3";Eo.message="4";Eo.upgrade="5";Eo.noop="6";const xm=Object.create(null);Object.keys(Eo).forEach(e=>{xm[Eo[e]]=e});const e5e={type:"error",data:"parser error"},LB=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",$B=typeof ArrayBuffer=="function",FB=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,K3=({type:e,data:t},n,r)=>LB&&t instanceof Blob?n?r(t):SA(t,r):$B&&(t instanceof ArrayBuffer||FB(t))?n?r(t):SA(new Blob([t]),r):r(Eo[e]+(t||"")),SA=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function _A(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let R_;function t5e(e,t){if(LB&&e.data instanceof Blob)return e.data.arrayBuffer().then(_A).then(t);if($B&&(e.data instanceof ArrayBuffer||FB(e.data)))return t(_A(e.data));K3(e,!1,n=>{R_||(R_=new TextEncoder),t(R_.encode(n))})}const wA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Kd=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;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[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},r5e=typeof ArrayBuffer=="function",Y3=(e,t)=>{if(typeof e!="string")return{type:"message",data:BB(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:i5e(e.substring(1),t)}:xm[n]?e.length>1?{type:xm[n],data:e.substring(1)}:{type:xm[n]}:e5e},i5e=(e,t)=>{if(r5e){const n=n5e(e);return BB(n,t)}else return{base64:!0,data:e}},BB=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},jB=String.fromCharCode(30),o5e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{K3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(jB))})})},s5e=(e,t)=>{const n=e.split(jB),r=[];for(let i=0;i54;return Y3(r?e:I_.decode(e),n)}const VB=4;function sn(e){if(e)return l5e(e)}function l5e(e){for(var t in sn.prototype)e[t]=sn.prototype[t];return e}sn.prototype.on=sn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};sn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};sn.prototype.off=sn.prototype.removeListener=sn.prototype.removeAllListeners=sn.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,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function zB(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const u5e=ai.setTimeout,c5e=ai.clearTimeout;function pb(e,t){t.useNativeTimers?(e.setTimeoutFn=u5e.bind(ai),e.clearTimeoutFn=c5e.bind(ai)):(e.setTimeoutFn=ai.setTimeout.bind(ai),e.clearTimeoutFn=ai.clearTimeout.bind(ai))}const d5e=1.33;function f5e(e){return typeof e=="string"?h5e(e):Math.ceil((e.byteLength||e.size)*d5e)}function h5e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function p5e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function g5e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function GB(){const e=TA(+new Date);return e!==CA?(xA=0,CA=e):e+"."+TA(xA++)}for(;Lg<_x;Lg++)y5e[UB[Lg]]=Lg;let HB=!1;try{HB=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const v5e=HB;function qB(e){const t=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!t||v5e))return new XMLHttpRequest}catch{}if(!t)try{return new ai[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}function b5e(){}const S5e=function(){return new qB({xdomain:!1}).responseType!=null}();class _5e extends X3{constructor(t){if(super(t),this.polling=!1,typeof location<"u"){const r=location.protocol==="https:";let i=location.port;i||(i=r?"443":"80"),this.xd=typeof location<"u"&&t.hostname!==location.hostname||i!==t.port}const n=t&&t.forceBase64;this.supportsBinary=S5e&&!n,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(t){this.readyState="pausing";const n=()=>{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)};s5e(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,o5e(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]=GB()),!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 ic(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,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}}let ic=class Cm extends sn{constructor(t,n){super(),pb(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=zB(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new qB(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}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 i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.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(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=Cm.requestsCount++,Cm.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=b5e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Cm.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()}};ic.requestsCount=0;ic.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",EA);else if(typeof addEventListener=="function"){const e="onpagehide"in ai?"pagehide":"unload";addEventListener(e,EA,!1)}}function EA(){for(let e in ic.requests)ic.requests.hasOwnProperty(e)&&ic.requests[e].abort()}const Q3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),$g=ai.WebSocket||ai.MozWebSocket,PA=!0,w5e="arraybuffer",kA=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class x5e extends X3{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=kA?{}:zB(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=PA&&!kA?n?new $g(t,n):new $g(t):new $g(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||w5e,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 s={};try{PA&&this.ws.send(o)}catch{}i&&Q3(()=>{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]=GB()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!$g}}function C5e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class T5e extends X3{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=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(a5e(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{C5e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&Q3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const E5e={websocket:x5e,webtransport:T5e,polling:_5e},P5e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,k5e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function wx(e){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 i=P5e.exec(e||""),o={},s=14;for(;s--;)o[k5e[s]]=i[s]||"";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=A5e(o,o.path),o.queryKey=O5e(o,o.query),o}function A5e(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 O5e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let WB=class mu extends sn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=wx(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=wx(n.host).host),pb(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=g5e(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=VB,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 E5e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&mu.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;mu.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;mu.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 f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",mu.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,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=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),i&&this.once("flush",i),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){mu.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 i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,KB=Object.prototype.toString,N5e=typeof Blob=="function"||typeof Blob<"u"&&KB.call(Blob)==="[object BlobConstructor]",D5e=typeof File=="function"||typeof File<"u"&&KB.call(File)==="[object FileConstructor]";function Z3(e){return I5e&&(e instanceof ArrayBuffer||M5e(e))||N5e&&e instanceof Blob||D5e&&e instanceof File}function Tm(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 s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),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((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(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:He.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 He.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 He.EVENT:case He.BINARY_EVENT:this.onevent(t);break;case He.ACK:case He.BINARY_ACK:this.onack(t);break;case He.DISCONNECT:this.ondisconnect();break;case He.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(...i){r||(r=!0,n.packet({type:He.ACK,id:t,data:i}))}}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:He.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}td.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};td.prototype.reset=function(){this.attempts=0};td.prototype.setMin=function(e){this.ms=e};td.prototype.setMax=function(e){this.max=e};td.prototype.setJitter=function(e){this.jitter=e};class Tx extends sn{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,pb(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 td({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||z5e;this.encoder=new i.Encoder,this.decoder=new i.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 WB(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Pi(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=Pi(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Pi(t,"ping",this.onping.bind(this)),Pi(t,"data",this.ondata.bind(this)),Pi(t,"error",this.onerror.bind(this)),Pi(t,"close",this.onclose.bind(this)),Pi(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){Q3(()=>{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 YB(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(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):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 Ld={};function Em(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=R5e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=Ld[i]&&o in Ld[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new Tx(r,t):(Ld[i]||(Ld[i]=new Tx(r,t)),l=Ld[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Em,{Manager:Tx,Socket:YB,io:Em,connect:Em});var G5e=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,H5e=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g,q5e=/[^-+\dA-Z]/g;function W5e(e,t,n,r){if(arguments.length===1&&typeof e=="string"&&!/\d/.test(e)&&(t=e,e=void 0),e=e||e===0?e:new Date,e instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");t=String(OA[t]||t||OA.default);var i=t.slice(0,4);(i==="UTC:"||i==="GMT:")&&(t=t.slice(4),n=!0,i==="GMT:"&&(r=!0));var o=function(){return n?"getUTC":"get"},s=function(){return e[o()+"Date"]()},a=function(){return e[o()+"Day"]()},l=function(){return e[o()+"Month"]()},u=function(){return e[o()+"FullYear"]()},c=function(){return e[o()+"Hours"]()},d=function(){return e[o()+"Minutes"]()},f=function(){return e[o()+"Seconds"]()},h=function(){return e[o()+"Milliseconds"]()},p=function(){return n?0:e.getTimezoneOffset()},m=function(){return K5e(e)},S=function(){return Y5e(e)},v={d:function(){return s()},dd:function(){return $r(s())},ddd:function(){return Sr.dayNames[a()]},DDD:function(){return RA({y:u(),m:l(),d:s(),_:o(),dayName:Sr.dayNames[a()],short:!0})},dddd:function(){return Sr.dayNames[a()+7]},DDDD:function(){return RA({y:u(),m:l(),d:s(),_:o(),dayName:Sr.dayNames[a()+7]})},m:function(){return l()+1},mm:function(){return $r(l()+1)},mmm:function(){return Sr.monthNames[l()]},mmmm:function(){return Sr.monthNames[l()+12]},yy:function(){return String(u()).slice(2)},yyyy:function(){return $r(u(),4)},h:function(){return c()%12||12},hh:function(){return $r(c()%12||12)},H:function(){return c()},HH:function(){return $r(c())},M:function(){return d()},MM:function(){return $r(d())},s:function(){return f()},ss:function(){return $r(f())},l:function(){return $r(h(),3)},L:function(){return $r(Math.floor(h()/10))},t:function(){return c()<12?Sr.timeNames[0]:Sr.timeNames[1]},tt:function(){return c()<12?Sr.timeNames[2]:Sr.timeNames[3]},T:function(){return c()<12?Sr.timeNames[4]:Sr.timeNames[5]},TT:function(){return c()<12?Sr.timeNames[6]:Sr.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":X5e(e)},o:function(){return(p()>0?"-":"+")+$r(Math.floor(Math.abs(p())/60)*100+Math.abs(p())%60,4)},p:function(){return(p()>0?"-":"+")+$r(Math.floor(Math.abs(p())/60),2)+":"+$r(Math.floor(Math.abs(p())%60),2)},S:function(){return["th","st","nd","rd"][s()%10>3?0:(s()%100-s()%10!=10)*s()%10]},W:function(){return m()},WW:function(){return $r(m())},N:function(){return S()}};return t.replace(G5e,function(y){return y in v?v[y]():y.slice(1,y.length-1)})}var OA={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},Sr={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]},$r=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(n,"0")},RA=function(t){var n=t.y,r=t.m,i=t.d,o=t._,s=t.dayName,a=t.short,l=a===void 0?!1:a,u=new Date,c=new Date;c.setDate(c[o+"Date"]()-1);var d=new Date;d.setDate(d[o+"Date"]()+1);var f=function(){return u[o+"Date"]()},h=function(){return u[o+"Month"]()},p=function(){return u[o+"FullYear"]()},m=function(){return c[o+"Date"]()},S=function(){return c[o+"Month"]()},v=function(){return c[o+"FullYear"]()},y=function(){return d[o+"Date"]()},g=function(){return d[o+"Month"]()},b=function(){return d[o+"FullYear"]()};return p()===n&&h()===r&&f()===i?l?"Tdy":"Today":v()===n&&S()===r&&m()===i?l?"Ysd":"Yesterday":b()===n&&g()===r&&y()===i?l?"Tmw":"Tomorrow":s},K5e=function(t){var n=new Date(t.getFullYear(),t.getMonth(),t.getDate());n.setDate(n.getDate()-(n.getDay()+6)%7+3);var r=new Date(n.getFullYear(),0,4);r.setDate(r.getDate()-(r.getDay()+6)%7+3);var i=n.getTimezoneOffset()-r.getTimezoneOffset();n.setHours(n.getHours()-i);var o=(n-r)/(864e5*7);return 1+Math.floor(o)},Y5e=function(t){var n=t.getDay();return n===0&&(n=7),n},X5e=function(t){return(String(t).match(H5e)||[""]).pop().replace(q5e,"").replace(/GMT\+0000/g,"UTC")};const ri=()=>W5e(new Date,"yyyy-mm-dd'T'HH:MM:ss:lo"),Q5e=e=>{const{socket:t,storeApi:n,log:r}=e,{dispatch:i,getState:o}=n;t.on("connect",()=>{r.debug("Connected"),i(xL({timestamp:ri()}));const{sessionId:s}=o().system;s&&(t.emit("subscribe",{session:s}),i(l3({sessionId:s,timestamp:ri(),boardId:o().gallery.selectedBoardId})))}),t.on("connect_error",s=>{s&&s.message&&s.data==="ERR_UNAUTHENTICATED"&&i(Vt(sa({title:s.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{i(TL({timestamp:ri()}))}),t.on("invocation_started",s=>{i(OL({data:s,timestamp:ri()}))}),t.on("generator_progress",s=>{i(LL({data:s,timestamp:ri()}))}),t.on("invocation_error",s=>{i(ML({data:s,timestamp:ri()}))}),t.on("invocation_complete",s=>{i(u3({data:s,timestamp:ri()}))}),t.on("graph_execution_state_complete",s=>{i(NL({data:s,timestamp:ri()}))}),t.on("model_load_started",s=>{i(FL({data:s,timestamp:ri()}))}),t.on("model_load_completed",s=>{i(BL({data:s,timestamp:ri()}))})},Z5e=Se.child({namespace:"socketio"}),IA=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=yh.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=mh.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Em(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(Q5e({storeApi:o,socket:r,log:Z5e}),e=!0,r.connect()),Un.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(kL({sessionId:d,timestamp:ri()}))),r.emit("subscribe",{session:c}),l(l3({sessionId:c,timestamp:ri(),boardId:u().gallery.selectedBoardId}))}s(a)}},gb=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function nd(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function e4(e){return"nodeType"in e}function vr(e){var t,n;return e?nd(e)?e:e4(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function t4(e){const{Document:t}=vr(e);return e instanceof t}function Ap(e){return nd(e)?!1:e instanceof vr(e).HTMLElement}function J5e(e){return e instanceof vr(e).SVGElement}function rd(e){return e?nd(e)?e.document:e4(e)?t4(e)?e:Ap(e)?e.ownerDocument:document:document:document}const Po=gb?E.useLayoutEffect:E.useEffect;function mb(e){const t=E.useRef(e);return Po(()=>{t.current=e}),E.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=E.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Mh(e,t){t===void 0&&(t=[e]);const n=E.useRef(e);return Po(()=>{n.current!==e&&(n.current=e)},t),n}function Op(e,t){const n=E.useRef();return E.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function h0(e){const t=mb(e),n=E.useRef(null),r=E.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function p0(e){const t=E.useRef();return E.useEffect(()=>{t.current=e},[e]),t.current}let M_={};function yb(e,t){return E.useMemo(()=>{if(t)return t;const n=M_[e]==null?0:M_[e]+1;return M_[e]=n,e+"-"+n},[e,t])}function XB(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const oc=XB(1),g0=XB(-1);function t3e(e){return"clientX"in e&&"clientY"in e}function n4(e){if(!e)return!1;const{KeyboardEvent:t}=vr(e.target);return t&&e instanceof t}function n3e(e){if(!e)return!1;const{TouchEvent:t}=vr(e.target);return t&&e instanceof t}function Nh(e){if(n3e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return t3e(e)?{x:e.clientX,y:e.clientY}:null}const Dh=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Dh.Translate.toString(e),Dh.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),MA="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function r3e(e){return e.matches(MA)?e:e.querySelector(MA)}const i3e={display:"none"};function o3e(e){let{id:t,value:n}=e;return ze.createElement("div",{id:t,style:i3e},n)}const s3e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function a3e(e){let{id:t,announcement:n}=e;return ze.createElement("div",{id:t,style:s3e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function l3e(){const[e,t]=E.useState("");return{announce:E.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const QB=E.createContext(null);function u3e(e){const t=E.useContext(QB);E.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function c3e(){const[e]=E.useState(()=>new Set),t=E.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[E.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const d3e={draggable:` - To pick up a draggable item, press the space bar. - While dragging, use the arrow keys to move the item. - Press space again to drop the item in its new position, or press escape to cancel. - `},f3e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function h3e(e){let{announcements:t=f3e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=d3e}=e;const{announce:o,announcement:s}=l3e(),a=yb("DndLiveRegion"),[l,u]=E.useState(!1);if(E.useEffect(()=>{u(!0)},[]),u3e(E.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=ze.createElement(ze.Fragment,null,ze.createElement(o3e,{id:r,value:i.draggable}),ze.createElement(a3e,{id:a,announcement:s}));return n?li.createPortal(c,n):c}var cn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(cn||(cn={}));function m0(){}function NA(e,t){return E.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function p3e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Gi=Object.freeze({x:0,y:0});function g3e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function m3e(e,t){const n=Nh(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function y3e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function v3e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function b3e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function S3e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function _3e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=_3e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(v3e)};function x3e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const C3e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&x3e(r,a)){const u=b3e(a).reduce((d,f)=>d+g3e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(y3e)};function T3e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ZB(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Gi}function E3e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const P3e=E3e(1);function JB(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function k3e(e,t,n){const r=JB(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const A3e={ignoreTransform:!1};function Rp(e,t){t===void 0&&(t=A3e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=vr(e).getComputedStyle(e);u&&(n=k3e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function DA(e){return Rp(e,{ignoreTransform:!0})}function O3e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function R3e(e,t){return t===void 0&&(t=vr(e).getComputedStyle(e)),t.position==="fixed"}function I3e(e,t){t===void 0&&(t=vr(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function r4(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(t4(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Ap(i)||J5e(i)||n.includes(i))return n;const o=vr(e).getComputedStyle(i);return i!==e&&I3e(i,o)&&n.push(i),R3e(i,o)?n:r(i.parentNode)}return e?r(e):n}function ej(e){const[t]=r4(e,1);return t??null}function N_(e){return!gb||!e?null:nd(e)?e:e4(e)?t4(e)||e===rd(e).scrollingElement?window:Ap(e)?e:null:null}function tj(e){return nd(e)?e.scrollX:e.scrollLeft}function nj(e){return nd(e)?e.scrollY:e.scrollTop}function Ex(e){return{x:tj(e),y:nj(e)}}var xn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(xn||(xn={}));function rj(e){return!gb||!e?!1:e===document.scrollingElement}function ij(e){const t={x:0,y:0},n=rj(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const M3e={x:.2,y:.2};function N3e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=M3e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=ij(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=xn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=xn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=xn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=xn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function D3e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function oj(e){return e.reduce((t,n)=>oc(t,Ex(n)),Gi)}function L3e(e){return e.reduce((t,n)=>t+tj(n),0)}function $3e(e){return e.reduce((t,n)=>t+nj(n),0)}function sj(e,t){if(t===void 0&&(t=Rp),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);ej(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const F3e=[["x",["left","right"],L3e],["y",["top","bottom"],$3e]];class i4{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=r4(n),i=oj(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of F3e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class mf{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function B3e(e){const{EventTarget:t}=vr(e);return e instanceof t?e:rd(e)}function D_(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var ii;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(ii||(ii={}));function LA(e){e.preventDefault()}function j3e(e){e.stopPropagation()}var gt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(gt||(gt={}));const aj={start:[gt.Space,gt.Enter],cancel:[gt.Esc],end:[gt.Space,gt.Enter]},V3e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case gt.Right:return{...n,x:n.x+25};case gt.Left:return{...n,x:n.x-25};case gt.Down:return{...n,y:n.y+25};case gt.Up:return{...n,y:n.y-25}}};class lj{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new mf(rd(n)),this.windowListeners=new mf(vr(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ii.Resize,this.handleCancel),this.windowListeners.add(ii.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ii.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&sj(r),n(Gi)}handleKeyDown(t){if(n4(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=aj,coordinateGetter:s=V3e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Gi;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=g0(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=ij(m),x=D3e(m),C={x:Math.min(S===gt.Right?x.right-x.width/2:x.right,Math.max(S===gt.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===gt.Down?x.bottom-x.height/2:x.bottom,Math.max(S===gt.Down?x.top:x.top+x.height/2,d.y))},k=S===gt.Right&&!y||S===gt.Left&&!g,P=S===gt.Down&&!b||S===gt.Up&&!v;if(k&&C.x!==d.x){const A=m.scrollLeft+f.x,$=S===gt.Right&&A<=_.x||S===gt.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===gt.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(P&&C.y!==d.y){const A=m.scrollTop+f.y,$=S===gt.Down&&A<=_.y||S===gt.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===gt.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,oc(g0(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}lj.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=aj,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function $A(e){return!!(e&&"distance"in e)}function FA(e){return!!(e&&"delay"in e)}class o4{constructor(t,n,r){var i;r===void 0&&(r=B3e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=rd(s),this.documentListeners=new mf(this.document),this.listeners=new mf(r),this.windowListeners=new mf(vr(s)),this.initialCoordinates=(i=Nh(o))!=null?i:Gi,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(ii.Resize,this.handleCancel),this.windowListeners.add(ii.DragStart,LA),this.windowListeners.add(ii.VisibilityChange,this.handleCancel),this.windowListeners.add(ii.ContextMenu,LA),this.documentListeners.add(ii.Keydown,this.handleKeydown),n){if($A(n))return;if(FA(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(ii.Click,j3e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ii.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Nh(t))!=null?n:Gi,u=g0(i,l);if(!r&&a){if(FA(a))return D_(u,a.tolerance)?this.handleCancel():void 0;if($A(a))return a.tolerance!=null&&D_(u,a.tolerance)?this.handleCancel():D_(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===gt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const z3e={move:{name:"pointermove"},end:{name:"pointerup"}};class uj extends o4{constructor(t){const{event:n}=t,r=rd(n.target);super(t,z3e,r)}}uj.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const U3e={move:{name:"mousemove"},end:{name:"mouseup"}};var Px;(function(e){e[e.RightClick=2]="RightClick"})(Px||(Px={}));class cj extends o4{constructor(t){super(t,U3e,rd(t.event.target))}}cj.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Px.RightClick?!1:(r==null||r({event:n}),!0)}}];const L_={move:{name:"touchmove"},end:{name:"touchend"}};class dj extends o4{constructor(t){super(t,L_)}static setup(){return window.addEventListener(L_.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(L_.move.name,t)};function t(){}}}dj.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var yf;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(yf||(yf={}));var y0;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(y0||(y0={}));function G3e(e){let{acceleration:t,activator:n=yf.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=y0.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=q3e({delta:d,disabled:!o}),[p,m]=e3e(),S=E.useRef({x:0,y:0}),v=E.useRef({x:0,y:0}),y=E.useMemo(()=>{switch(n){case yf.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case yf.DraggableRect:return i}},[n,i,l]),g=E.useRef(null),b=E.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,C=S.current.y*v.current.y;w.scrollBy(x,C)},[]),_=E.useMemo(()=>a===y0.TreeOrder?[...u].reverse():u,[a,u]);E.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),C=c[x];if(!C)continue;const{direction:k,speed:P}=N3e(w,C,y,t,f);for(const A of["x","y"])h[A][k[A]]||(P[A]=0,k[A]=0);if(P.x>0||P.y>0){m(),g.current=w,p(b,s),S.current=P,v.current=k;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const H3e={x:{[xn.Backward]:!1,[xn.Forward]:!1},y:{[xn.Backward]:!1,[xn.Forward]:!1}};function q3e(e){let{delta:t,disabled:n}=e;const r=p0(t);return Op(i=>{if(n||!r||!i)return H3e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[xn.Backward]:i.x[xn.Backward]||o.x===-1,[xn.Forward]:i.x[xn.Forward]||o.x===1},y:{[xn.Backward]:i.y[xn.Backward]||o.y===-1,[xn.Forward]:i.y[xn.Forward]||o.y===1}}},[n,t,r])}function W3e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return Op(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function K3e(e,t){return E.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Lh;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Lh||(Lh={}));var kx;(function(e){e.Optimized="optimized"})(kx||(kx={}));const BA=new Map;function Y3e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=E.useState(null),{frequency:a,measure:l,strategy:u}=i,c=E.useRef(e),d=S(),f=Mh(d),h=E.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=E.useRef(null),m=Op(v=>{if(d&&!n)return BA;if(!v||v===BA||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new i4(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return E.useEffect(()=>{c.current=e},[e]),E.useEffect(()=>{d||h()},[n,d]),E.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),E.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Lh.Always:return!1;case Lh.BeforeDragging:return n;default:return!n}}}function s4(e,t){return Op(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function X3e(e,t){return s4(e,t)}function Q3e(e){let{callback:t,disabled:n}=e;const r=mb(t),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return E.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function vb(e){let{callback:t,disabled:n}=e;const r=mb(t),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return E.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function Z3e(e){return new i4(Rp(e),e)}function jA(e,t,n){t===void 0&&(t=Z3e);const[r,i]=E.useReducer(a,null),o=Q3e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=vb({callback:i});return Po(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function J3e(e){const t=s4(e);return ZB(e,t)}const VA=[];function e4e(e){const t=E.useRef(e),n=Op(r=>e?r&&r!==VA&&e&&t.current&&e.parentNode===t.current.parentNode?r:r4(e):VA,[e]);return E.useEffect(()=>{t.current=e},[e]),n}function t4e(e){const[t,n]=E.useState(null),r=E.useRef(e),i=E.useCallback(o=>{const s=N_(o.target);s&&n(a=>a?(a.set(s,Ex(s)),new Map(a)):null)},[]);return E.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=N_(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,Ex(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=N_(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),E.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>oc(o,s),Gi):oj(e):Gi,[e,t])}function zA(e,t){t===void 0&&(t=[]);const n=E.useRef(null);return E.useEffect(()=>{n.current=null},t),E.useEffect(()=>{const r=e!==Gi;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?g0(e,n.current):Gi}function n4e(e){E.useEffect(()=>{if(!gb)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function r4e(e,t){return E.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function fj(e){return E.useMemo(()=>e?O3e(e):null,[e])}const $_=[];function i4e(e,t){t===void 0&&(t=Rp);const[n]=e,r=fj(n?vr(n):null),[i,o]=E.useReducer(a,$_),s=vb({callback:o});return e.length>0&&i===$_&&o(),Po(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>rj(l)?r:new i4(t(l),l)):$_}}function hj(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Ap(t)?t:e}function o4e(e){let{measure:t}=e;const[n,r]=E.useState(null),i=E.useCallback(u=>{for(const{target:c}of u)if(Ap(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=vb({callback:i}),s=E.useCallback(u=>{const c=hj(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=h0(s);return E.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const s4e=[{sensor:uj,options:{}},{sensor:lj,options:{}}],a4e={current:{}},Pm={draggable:{measure:DA},droppable:{measure:DA,strategy:Lh.WhileDragging,frequency:kx.Optimized},dragOverlay:{measure:Rp}};class vf extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const l4e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new vf,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:m0},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Pm,measureDroppableContainers:m0,windowRect:null,measuringScheduled:!1},pj={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:m0,draggableNodes:new Map,over:null,measureDroppableContainers:m0},Ip=E.createContext(pj),gj=E.createContext(l4e);function u4e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new vf}}}function c4e(e,t){switch(t.type){case cn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case cn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case cn.DragEnd:case cn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case cn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new vf(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case cn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new vf(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case cn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new vf(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function d4e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=E.useContext(Ip),o=p0(r),s=p0(n==null?void 0:n.id);return E.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!n4(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=r3e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function mj(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function f4e(e){return E.useMemo(()=>({draggable:{...Pm.draggable,...e==null?void 0:e.draggable},droppable:{...Pm.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Pm.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function h4e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=E.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;Po(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=ZB(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=ej(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const bb=E.createContext({...Gi,scaleX:1,scaleY:1});var $s;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})($s||($s={}));const p4e=E.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=s4e,collisionDetection:d=w3e,measuring:f,modifiers:h,...p}=t;const m=E.useReducer(c4e,void 0,u4e),[S,v]=m,[y,g]=c3e(),[b,_]=E.useState($s.Uninitialized),w=b===$s.Initialized,{draggable:{active:x,nodes:C,translate:k},droppable:{containers:P}}=S,A=x?C.get(x):null,$=E.useRef({initial:null,translated:null}),N=E.useMemo(()=>{var ct;return x!=null?{id:x,data:(ct=A==null?void 0:A.data)!=null?ct:a4e,rect:$}:null},[x,A]),T=E.useRef(null),[O,I]=E.useState(null),[M,R]=E.useState(null),D=Mh(p,Object.values(p)),L=yb("DndDescribedBy",s),V=E.useMemo(()=>P.getEnabled(),[P]),z=f4e(f),{droppableRects:U,measureDroppableContainers:K,measuringScheduled:W}=Y3e(V,{dragging:w,dependencies:[k.x,k.y],config:z.droppable}),X=W3e(C,x),F=E.useMemo(()=>M?Nh(M):null,[M]),q=No(),Q=X3e(X,z.draggable.measure);h4e({activeNode:x?C.get(x):null,config:q.layoutShiftCompensation,initialRect:Q,measure:z.draggable.measure});const J=jA(X,z.draggable.measure,Q),ne=jA(X?X.parentElement:null),Z=E.useRef({activatorEvent:null,active:null,activeNode:X,collisionRect:null,collisions:null,droppableRects:U,draggableNodes:C,draggingNode:null,draggingNodeRect:null,droppableContainers:P,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ge=P.getNodeFor((n=Z.current.over)==null?void 0:n.id),ae=o4e({measure:z.dragOverlay.measure}),oe=(r=ae.nodeRef.current)!=null?r:X,Te=w?(i=ae.rect)!=null?i:J:null,se=!!(ae.nodeRef.current&&ae.rect),We=J3e(se?null:J),yt=fj(oe?vr(oe):null),Fe=e4e(w?ge??X:null),Be=i4e(Fe),Me=mj(h,{transform:{x:k.x-We.x,y:k.y-We.y,scaleX:1,scaleY:1},activatorEvent:M,active:N,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Te,over:Z.current.over,overlayNodeRect:ae.rect,scrollableAncestors:Fe,scrollableAncestorRects:Be,windowRect:yt}),rt=F?oc(F,k):null,xt=t4e(Fe),mn=zA(xt),an=zA(xt,[J]),Ot=oc(Me,mn),ee=Te?P3e(Te,Me):null,_e=N&&ee?d({active:N,collisionRect:ee,droppableRects:U,droppableContainers:V,pointerCoordinates:rt}):null,Ee=S3e(_e,"id"),[Ne,ie]=E.useState(null),he=se?Me:oc(Me,an),Qt=T3e(he,(o=Ne==null?void 0:Ne.rect)!=null?o:null,J),Rt=E.useCallback((ct,Ke)=>{let{sensor:An,options:yn}=Ke;if(T.current==null)return;const Hn=C.get(T.current);if(!Hn)return;const ir=ct.nativeEvent,br=new An({active:T.current,activeNode:Hn,event:ir,options:yn,context:Z,onStart(or){const On=T.current;if(On==null)return;const Do=C.get(On);if(!Do)return;const{onDragStart:_s}=D.current,ws={active:{id:On,data:Do.data,rect:$}};li.unstable_batchedUpdates(()=>{_s==null||_s(ws),_($s.Initializing),v({type:cn.DragStart,initialCoordinates:or,active:On}),y({type:"onDragStart",event:ws})})},onMove(or){v({type:cn.DragMove,coordinates:or})},onEnd:Ki(cn.DragEnd),onCancel:Ki(cn.DragCancel)});li.unstable_batchedUpdates(()=>{I(br),R(ct.nativeEvent)});function Ki(or){return async function(){const{active:Do,collisions:_s,over:ws,scrollAdjustedTranslate:Hl}=Z.current;let Lo=null;if(Do&&Hl){const{cancelDrop:sr}=D.current;Lo={activatorEvent:ir,active:Do,collisions:_s,delta:Hl,over:ws},or===cn.DragEnd&&typeof sr=="function"&&await Promise.resolve(sr(Lo))&&(or=cn.DragCancel)}T.current=null,li.unstable_batchedUpdates(()=>{v({type:or}),_($s.Uninitialized),ie(null),I(null),R(null);const sr=or===cn.DragEnd?"onDragEnd":"onDragCancel";if(Lo){const Na=D.current[sr];Na==null||Na(Lo),y({type:sr,event:Lo})}})}}},[C]),ut=E.useCallback((ct,Ke)=>(An,yn)=>{const Hn=An.nativeEvent,ir=C.get(yn);if(T.current!==null||!ir||Hn.dndKit||Hn.defaultPrevented)return;const br={active:ir};ct(An,Ke.options,br)===!0&&(Hn.dndKit={capturedBy:Ke.sensor},T.current=yn,Rt(An,Ke))},[C,Rt]),rr=K3e(c,ut);n4e(c),Po(()=>{J&&b===$s.Initializing&&_($s.Initialized)},[J,b]),E.useEffect(()=>{const{onDragMove:ct}=D.current,{active:Ke,activatorEvent:An,collisions:yn,over:Hn}=Z.current;if(!Ke||!An)return;const ir={active:Ke,activatorEvent:An,collisions:yn,delta:{x:Ot.x,y:Ot.y},over:Hn};li.unstable_batchedUpdates(()=>{ct==null||ct(ir),y({type:"onDragMove",event:ir})})},[Ot.x,Ot.y]),E.useEffect(()=>{const{active:ct,activatorEvent:Ke,collisions:An,droppableContainers:yn,scrollAdjustedTranslate:Hn}=Z.current;if(!ct||T.current==null||!Ke||!Hn)return;const{onDragOver:ir}=D.current,br=yn.get(Ee),Ki=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,or={active:ct,activatorEvent:Ke,collisions:An,delta:{x:Hn.x,y:Hn.y},over:Ki};li.unstable_batchedUpdates(()=>{ie(Ki),ir==null||ir(or),y({type:"onDragOver",event:or})})},[Ee]),Po(()=>{Z.current={activatorEvent:M,active:N,activeNode:X,collisionRect:ee,collisions:_e,droppableRects:U,draggableNodes:C,draggingNode:oe,draggingNodeRect:Te,droppableContainers:P,over:Ne,scrollableAncestors:Fe,scrollAdjustedTranslate:Ot},$.current={initial:Te,translated:ee}},[N,X,_e,ee,C,oe,Te,U,P,Ne,Fe,Ot]),G3e({...q,delta:k,draggingRect:ee,pointerCoordinates:rt,scrollableAncestors:Fe,scrollableAncestorRects:Be});const Mo=E.useMemo(()=>({active:N,activeNode:X,activeNodeRect:J,activatorEvent:M,collisions:_e,containerNodeRect:ne,dragOverlay:ae,draggableNodes:C,droppableContainers:P,droppableRects:U,over:Ne,measureDroppableContainers:K,scrollableAncestors:Fe,scrollableAncestorRects:Be,measuringConfiguration:z,measuringScheduled:W,windowRect:yt}),[N,X,J,M,_e,ne,ae,C,P,U,Ne,K,Fe,Be,z,W,yt]),Qr=E.useMemo(()=>({activatorEvent:M,activators:rr,active:N,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:C,over:Ne,measureDroppableContainers:K}),[M,rr,N,J,v,L,C,Ne,K]);return ze.createElement(QB.Provider,{value:g},ze.createElement(Ip.Provider,{value:Qr},ze.createElement(gj.Provider,{value:Mo},ze.createElement(bb.Provider,{value:Qt},u)),ze.createElement(d4e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),ze.createElement(h3e,{...a,hiddenTextDescribedById:L}));function No(){const ct=(O==null?void 0:O.autoScrollEnabled)===!1,Ke=typeof l=="object"?l.enabled===!1:l===!1,An=w&&!ct&&!Ke;return typeof l=="object"?{...l,enabled:An}:{enabled:An}}}),g4e=E.createContext(null),UA="button",m4e="Droppable";function y4e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=yb(m4e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=E.useContext(Ip),{role:h=UA,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=E.useContext(S?bb:g4e),[y,g]=h0(),[b,_]=h0(),w=r4e(s,t),x=Mh(n);Po(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const k=d.get(t);k&&k.key===o&&d.delete(t)}),[d,t]);const C=E.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===UA?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:C,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function v4e(){return E.useContext(gj)}const b4e="Droppable",S4e={timeout:25};function _4e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=yb(b4e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=E.useContext(Ip),c=E.useRef({disabled:n}),d=E.useRef(!1),f=E.useRef(null),h=E.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...S4e,...i},v=Mh(m??r),y=E.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=vb({callback:y,disabled:p||!s}),b=E.useCallback((C,k)=>{g&&(k&&(g.unobserve(k),d.current=!1),C&&g.observe(C))},[g]),[_,w]=h0(b),x=Mh(t);return E.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),Po(()=>(a({type:cn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:cn.UnregisterDroppable,key:o,id:r})),[r]),E.useEffect(()=>{n!==c.current.disabled&&(a({type:cn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function w4e(e){let{animation:t,children:n}=e;const[r,i]=E.useState(null),[o,s]=E.useState(null),a=p0(n);return!n&&!r&&a&&i(a),Po(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),ze.createElement(ze.Fragment,null,n,r?E.cloneElement(r,{ref:s}):null)}const x4e={x:0,y:0,scaleX:1,scaleY:1};function C4e(e){let{children:t}=e;return ze.createElement(Ip.Provider,{value:pj},ze.createElement(bb.Provider,{value:x4e},t))}const T4e={position:"fixed",touchAction:"none"},E4e=e=>n4(e)?"transform 250ms ease":void 0,P4e=E.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=E4e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...T4e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Dh.Transform.toString(d),transformOrigin:i&&r?m3e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return ze.createElement(n,{className:s,style:f,ref:t},o)}),k4e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},A4e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Dh.Transform.toString(t)},{transform:Dh.Transform.toString(n)}]},O4e={duration:250,easing:"ease",keyframes:A4e,sideEffects:k4e({styles:{active:{opacity:"0"}}})};function R4e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return mb((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=hj(s);if(!u)return;const{transform:c}=vr(s).getComputedStyle(s),d=JB(c);if(!d)return;const f=typeof t=="function"?t:I4e(t);return sj(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function I4e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...O4e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let GA=0;function M4e(e){return E.useMemo(()=>{if(e!=null)return GA++,GA},[e])}const N4e=ze.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=v4e(),w=E.useContext(bb),x=M4e(d==null?void 0:d.id),C=mj(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),k=s4(f),P=R4e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=k?S.setRef:void 0;return ze.createElement(C4e,null,ze.createElement(w4e,{animation:P},d&&x?ze.createElement(P4e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:C},n):null))}),D4e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Nh(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},Fg=28,HA={w:Fg,h:Fg,maxW:Fg,maxH:Fg,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},L4e=e=>{if(e.dragData){if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return j.jsx(V5,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:j.jsx(B5,{sx:{...HA},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?j.jsxs(z5,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...HA},children:[j.jsx(xw,{children:e.dragData.payload.image_names.length}),j.jsx(xw,{size:"sm",children:"Images"})]}):null}},$4e=E.memo(L4e);function nke(e){return _4e(e)}function rke(e){return y4e(e)}const ike=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function F4e(e){return j.jsx(p4e,{...e})}const B4e=e=>{const[t,n]=E.useState(null),r=qc(),i=E.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=E.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current),u.active.data.current;const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(DF({overData:c,activeData:t})),n(null))},[t,r]),s=NA(cj,{activationConstraint:{distance:10}}),a=NA(dj,{activationConstraint:{distance:10}}),l=p3e(s,a);return j.jsxs(F4e,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:C3e,children:[e.children,j.jsx(N4e,{dropAnimation:null,modifiers:[D4e],children:j.jsx(L5,{children:t&&j.jsx(D5.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:j.jsx($4e,{dragData:t})},"overlay-drag-image")})})]})},j4e=E.memo(B4e),V4e=E.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),z4e=e=>{const[t,n]=E.useState(),{isOpen:r,onOpen:i,onClose:o}=Cse(),s=qc(),a=E.useCallback(()=>{n(void 0),o()},[o]),l=E.useCallback(c=>{c&&(n(c),i())},[n,i]),u=E.useCallback(c=>{t&&(s(ye.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return j.jsx(V4e.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},U4e=E.lazy(()=>sR(()=>import("./App-06ea4e5e.js"),["./App-06ea4e5e.js","./MantineProvider-b5842fc1.js","./App-6125620a.css"],import.meta.url)),G4e=E.lazy(()=>sR(()=>import("./ThemeLocaleProvider-a6269375.js"),["./ThemeLocaleProvider-a6269375.js","./MantineProvider-b5842fc1.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),H4e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(E.useEffect(()=>(t&&mh.set(t),e&&yh.set(e),fI(),i&&i.length>0?$2(IA(),...i):$2(IA()),()=>{yh.set(void 0),mh.set(void 0)}),[e,t,i]),j.jsx(ze.StrictMode,{children:j.jsx(oG,{store:LCe,children:j.jsx(ze.Suspense,{fallback:j.jsx(BCe,{}),children:j.jsx(G4e,{children:j.jsx(j4e,{children:j.jsx(z4e,{children:j.jsx(U4e,{config:n,headerComponent:r})})})})})})})),q4e=E.memo(H4e);F_.createRoot(document.getElementById("root")).render(j.jsx(q4e,{}));export{hTe as $,ise as A,Dn as B,oTe as C,L5 as D,D5 as E,Ev as F,Ao as G,yTe as H,Ml as I,TN as J,Fn as K,Zf as L,gy as M,Ou as N,aJ as O,sTe as P,am as Q,Yu as R,Wf as S,uo as T,Cl as U,_G as V,ze as W,vse as X,l6 as Y,qee as Z,Zm as _,UC as a,K6 as a$,lse as a0,vTe as a1,Ol as a2,RN as a3,Tse as a4,STe as a5,bTe as a6,Yae as a7,Wae as a8,wv as a9,tr as aA,Oi as aB,c0e as aC,h0e as aD,Dr as aE,ia as aF,Ji as aG,Y6e as aH,F$ as aI,T0e as aJ,tve as aK,Sme as aL,Nc as aM,Vn as aN,wce as aO,n7 as aP,V5 as aQ,z5 as aR,xw as aS,tke as aT,Kc as aU,cy as aV,IEe as aW,h8e as aX,sD as aY,x6e as aZ,Hv as a_,tp as aa,Tie as ab,yN as ac,$n as ad,vo as ae,Dv as af,uTe as ag,tw as ah,iTe as ai,sm as aj,s6 as ak,kle as al,mse as am,a6 as an,ale as ao,Cle as ap,HS as aq,Ql as ar,qS as as,ug as at,lle as au,_Te as av,cp as aw,_i as ax,Kt as ay,nc as az,YC as b,jTe as b$,vPe as b0,li as b1,d5 as b2,Hj as b3,X4e as b4,K4e as b5,Y4e as b6,De as b7,Q5 as b8,bN as b9,C7 as bA,XZ as bB,b4 as bC,T6 as bD,wN as bE,xN as bF,cue as bG,d6e as bH,c6e as bI,Nv as bJ,W4e as bK,IQ as bL,CTe as bM,TTe as bN,qTe as bO,WTe as bP,ATe as bQ,JTe as bR,PTe as bS,BTe as bT,ITe as bU,mbe as bV,kTe as bW,KTe as bX,ETe as bY,iEe as bZ,OTe as b_,Au as ba,o6e as bb,KL as bc,r6e as bd,i6e as be,oue as bf,t6e as bg,lue as bh,qc as bi,z6e as bj,SN as bk,Jxe as bl,nke as bm,ike as bn,_6e as bo,w6e as bp,p6e as bq,e6e as br,Fw as bs,v6e as bt,n6e as bu,B5 as bv,$Ce as bw,CEe as bx,KZ as by,u5 as bz,Uq as c,ye as c$,RTe as c0,VTe as c1,DTe as c2,UTe as c3,gbe as c4,me as c5,V4e as c6,b6e as c7,Tpe as c8,T6e as c9,REe as cA,P8e as cB,g6e as cC,E6e as cD,zL as cE,eL as cF,Vt as cG,Q4e as cH,Z4e as cI,AEe as cJ,C8e as cK,eke as cL,mCe as cM,x8e as cN,k8e as cO,Tce as cP,bEe as cQ,kEe as cR,E8e as cS,Cce as cT,MEe as cU,v8e as cV,bD as cW,gEe as cX,d8e as cY,hCe as cZ,yEe as c_,tL as ca,sPe as cb,xce as cc,Bw as cd,rke as ce,rTe as cf,h6e as cg,l6e as ch,u6e as ci,ra as cj,rbe as ck,m6e as cl,y6e as cm,s6e as cn,Cse as co,Uy as cp,D8e as cq,wEe as cr,Xo as cs,Ppe as ct,g8e as cu,G6e as cv,WL as cw,YL as cx,R8e as cy,nr as cz,PQ as d,GTe as d$,lr as d0,L8e as d1,V6e as d2,F6e as d3,B6e as d4,j6e as d5,q6e as d6,W6e as d7,QL as d8,B8e as d9,k6e as dA,j8e as dB,so as dC,LTe as dD,_p as dE,pEe as dF,oEe as dG,dEe as dH,HTe as dI,fEe as dJ,hEe as dK,uEe as dL,cEe as dM,lEe as dN,aEe as dO,nEe as dP,eEe as dQ,b8e as dR,Dl as dS,_8e as dT,_w as dU,UN as dV,HN as dW,GN as dX,KN as dY,WN as dZ,wTe as d_,bc as da,H6e as db,c7 as dc,xTe as dd,Se as de,NTe as df,F8e as dg,y8 as dh,I6e as di,f3 as dj,ype as dk,gu as dl,v8 as dm,M6e as dn,N6e as dp,IN as dq,D6e as dr,vpe as ds,L6e as dt,VL as du,A6e as dv,R6e as dw,P6e as dx,$6e as dy,Lxe as dz,KI as e,iPe as e$,zv as e0,K8e as e1,sa as e2,$8e as e3,yce as e4,V8e as e5,SD as e6,xD as e7,io as e8,zTe as e9,xR as eA,u8e as eB,n8e as eC,r8e as eD,i8e as eE,a8e as eF,l8e as eG,Ph as eH,o5 as eI,_F as eJ,c8e as eK,Z6e as eL,tCe as eM,X6e as eN,Q6e as eO,e8e as eP,J6e as eQ,t8e as eR,s8e as eS,Zve as eT,yF as eU,UF as eV,hV as eW,Le as eX,TPe as eY,GPe as eZ,UPe as e_,tEe as ea,J4e as eb,yZ as ec,rEe as ed,X8e as ee,H8e as ef,O8e as eg,G8e as eh,Y8e as ei,A8e as ej,W8e as ek,UQ as el,q8e as em,z8e as en,U8e as eo,aF as ep,vv as eq,Q8e as er,Jy as es,ve as et,Z8e as eu,ox as ev,pZ as ew,MTe as ex,eTe as ey,gR as ez,CI as f,D1e as f$,NPe as f0,qPe as f1,B1e as f2,XEe as f3,SPe as f4,Nd as f5,mPe as f6,QEe as f7,b1 as f8,bPe as f9,FEe as fA,BEe as fB,M8e as fC,N8e as fD,gPe as fE,aPe as fF,PPe as fG,MPe as fH,kPe as fI,rPe as fJ,YEe as fK,jPe as fL,BPe as fM,RPe as fN,APe as fO,OPe as fP,QPe as fQ,$Pe as fR,ZPe as fS,pPe as fT,hPe as fU,qEe as fV,HEe as fW,YPe as fX,oPe as fY,$1e as fZ,N1e as f_,WEe as fa,yPe as fb,KEe as fc,ePe as fd,$Ee as fe,LEe as ff,DEe as fg,HPe as fh,QD as fi,mh as fj,zEe as fk,UEe as fl,GEe as fm,zPe as fn,nPe as fo,tPe as fp,Zfe as fq,VPe as fr,F1e as fs,ZEe as ft,lPe as fu,uPe as fv,zd as fw,EPe as fx,CPe as fy,_Pe as fz,SQ as g,L1e as g0,jEe as g1,mEe as g2,I8e as g3,Sce as g4,sEe as g5,VEe as g6,dPe as g7,XPe as g8,YTe as g9,mTe as gA,XTe as ga,QTe as gb,ZTe as gc,fPe as gd,xEe as ge,EEe as gf,TEe as gg,PEe as gh,NEe as gi,vZ as gj,O1e as gk,f8e as gl,nTe as gm,O7 as gn,fTe as go,$ee as gp,cTe as gq,aTe as gr,dTe as gs,co as gt,lTe as gu,tTe as gv,Gee as gw,Iee as gx,dJ as gy,gTe as gz,MI as h,Jn as i,Uc as j,mv as k,En as l,Jh as m,Qh as n,zi as o,Ta as p,TI as q,ko as r,E as s,xS as t,Ze as u,j as v,Si as w,fi as x,Ae as y,Gn as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 802c1f222f..315bad4316 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + diff --git a/invokeai/frontend/web/dist/locales/en.json b/invokeai/frontend/web/dist/locales/en.json index 59cf87fbda..0640ab9ef0 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -102,8 +102,7 @@ "openInNewTab": "Open in New Tab", "dontAskMeAgain": "Don't ask me again", "areYouSure": "Are you sure?", - "imagePrompt": "Image Prompt", - "clearNodes": "Are you sure you want to clear all nodes?" + "imagePrompt": "Image Prompt" }, "gallery": { "generations": "Generations", @@ -615,6 +614,11 @@ "initialImageNotSetDesc": "Could not load initial image", "nodesSaved": "Nodes Saved", "nodesLoaded": "Nodes Loaded", + "nodesNotValidGraph": "Not a valid InvokeAI Node Graph", + "nodesNotValidJSON": "Not a valid JSON", + "nodesCorruptedGraph": "Cannot load. Graph seems to be corrupted.", + "nodesUnrecognizedTypes": "Cannot load. Graph has unrecognized types", + "nodesBrokenConnections": "Cannot load. Some connections are broken.", "nodesLoadedFailed": "Failed To Load Nodes", "nodesCleared": "Nodes Cleared" }, @@ -700,9 +704,10 @@ }, "nodes": { "reloadSchema": "Reload Schema", - "saveNodes": "Save Nodes", - "loadNodes": "Load Nodes", - "clearNodes": "Clear Nodes", + "saveGraph": "Save Graph", + "loadGraph": "Load Graph (saved from Node Editor) (Do not copy-paste metadata)", + "clearGraph": "Clear Graph", + "clearGraphDesc": "Are you sure you want to clear all nodes?", "zoomInNodes": "Zoom In", "zoomOutNodes": "Zoom Out", "fitViewportNodes": "Fit View", diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 8cef034e98..32e0400a8e 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1305,7 +1305,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1896,10 +1896,10 @@ export type components = { image2?: components["schemas"]["ImageField"]; }; /** - * ImageNSFWBlur + * ImageNSFWBlurInvocation * @description Add blur to NSFW-flagged images */ - ImageNSFWBlur: { + ImageNSFWBlurInvocation: { /** * Id * @description The id of this node. Must be unique among all nodes. @@ -1919,15 +1919,25 @@ export type components = { type?: "img_nsfw"; /** * Image - * @description The image to pass to the NSFW checker + * @description The image to check */ image?: components["schemas"]["ImageField"]; /** - * Active - * @description Whether the NSFW checker is active - * @default true + * Enabled + * @description Whether the NSFW checker is enabled + * @default false */ - active?: boolean; + enabled?: boolean; + /** + * Metadata + * @description Optional core metadata to be written to the image + */ + metadata?: components["schemas"]["CoreMetadata"]; + /** + * Default Enabled + * @default false + */ + DEFAULT_ENABLED?: boolean; }; /** * ImageOutput @@ -2209,6 +2219,56 @@ export type components = { */ thumbnail_url: string; }; + /** + * ImageWatermarkInvocation + * @description Add an invisible watermark to an image + */ + ImageWatermarkInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_watermark + * @enum {string} + */ + type?: "img_watermark"; + /** + * Image + * @description The image to check + */ + image?: components["schemas"]["ImageField"]; + /** + * Text + * @description Watermark text + * @default InvokeAI + */ + text?: string; + /** + * Enabled + * @description Whether the invisible watermark is enabled + * @default true + */ + enabled?: boolean; + /** + * Metadata + * @description Optional core metadata to be written to the image + */ + metadata?: components["schemas"]["CoreMetadata"]; + /** + * Default Enabled + * @default true + */ + DEFAULT_ENABLED?: boolean; + }; /** * InfillColorInvocation * @description Infills transparent areas of an image with a solid color @@ -2638,7 +2698,7 @@ export type components = { vae?: components["schemas"]["VaeField"]; /** * Tiled - * @description Decode latents by overlaping tiles(less memory consumption) + * @description Decode latents by overlapping tiles(less memory consumption) * @default false */ tiled?: boolean; @@ -5389,6 +5449,12 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; + /** + * StableDiffusion2ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. @@ -5401,12 +5467,6 @@ export type components = { * @enum {string} */ StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion2ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5517,7 +5577,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5554,7 +5614,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { From 4194a0ed9986fd0cd1c1235226229bd5d2f247df Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 09:23:51 -0400 Subject: [PATCH 010/106] tweaks in response to psychedelicious review of PR --- docs/features/OTHER.md | 47 +++------ .../web => app/assets/images}/caution.png | Bin .../controlnet_image_processors.py | 2 +- invokeai/app/invocations/image.py | 21 ++-- invokeai/app/invocations/image_defs.py | 54 ---------- invokeai/app/models/image.py | 98 +++++++++++++----- .../services/board_image_record_storage.py | 2 - .../buildLinearTextToImageGraph.ts | 2 +- 8 files changed, 96 insertions(+), 130 deletions(-) rename invokeai/{assets/web => app/assets/images}/caution.png (100%) delete mode 100644 invokeai/app/invocations/image_defs.py diff --git a/docs/features/OTHER.md b/docs/features/OTHER.md index 2401f644ba..00bfd05e14 100644 --- a/docs/features/OTHER.md +++ b/docs/features/OTHER.md @@ -16,21 +16,24 @@ Output Example: --- -## **Seamless Tiling** +## **Invisible Watermark** -The seamless tiling mode causes generated images to seamlessly tile -with itself creating repetitive wallpaper-like patterns. To use it, -activate the Seamless Tiling option in the Web GUI and then select -whether to tile on the X (horizontal) and/or Y (vertical) axes. Tiling -will then be active for the next set of generations. +In keeping with the principles for responsible AI generation, and to +help AI researchers avoid synthetic images contaminating their +training sets, InvokeAI adds an invisible watermark to each of the +final images it generates. The watermark consists of the text +"InvokeAI" and can be viewed using the +[invisible-watermarks](https://github.com/ShieldMnt/invisible-watermark) +tool. -A nice prompt to test seamless tiling with is: +Watermarking is controlled using the `invisible-watermark` setting in +`invokeai.yaml`. To turn it off, add the following line under the `Features` +category. ``` -pond garden with lotus by claude monet" +invisible_watermark: false ``` ---- ## **Weighted Prompts** @@ -39,34 +42,10 @@ priority to them, by adding `:` to the end of the section you wish to u example consider this prompt: ```bash -tabby cat:0.25 white duck:0.75 hybrid +(tabby cat):0.25 (white duck):0.75 hybrid ``` This will tell the sampler to invest 25% of its effort on the tabby cat aspect of the image and 75% on the white duck aspect (surprisingly, this example actually works). The prompt weights can use any combination of integers and floating point numbers, and they do not need to add up to 1. -## **Thresholding and Perlin Noise Initialization Options** - -Under the Noise section of the Web UI, you will find two options named -Perlin Noise and Noise Threshold. [Perlin -noise](https://en.wikipedia.org/wiki/Perlin_noise) is a type of -structured noise used to simulate terrain and other natural -textures. The slider controls the percentage of perlin noise that will -be mixed into the image at the beginning of generation. Adding a little -perlin noise to a generation will alter the image substantially. - -The noise threshold limits the range of the latent values during -sampling and helps combat the oversharpening seem with higher CFG -scale values. - -For better intuition into what these options do in practice: - -![here is a graphic demonstrating them both](../assets/truncation_comparison.jpg) - -In generating this graphic, perlin noise at initialization was -programmatically varied going across on the diagram by values 0.0, -0.1, 0.2, 0.4, 0.5, 0.6, 0.8, 0.9, 1.0; and the threshold was varied -going down from 0, 1, 2, 3, 4, 5, 10, 20, 100. The other options are -fixed using the prompt "a portrait of a beautiful young lady" a CFG of -20, 100 steps, and a seed of 1950357039. diff --git a/invokeai/assets/web/caution.png b/invokeai/app/assets/images/caution.png similarity index 100% rename from invokeai/assets/web/caution.png rename to invokeai/app/assets/images/caution.png diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index b04c45ae20..2087594b7b 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -20,7 +20,7 @@ from ...backend.model_management import BaseModelType, ModelType from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import (BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext) -from .image_defs import ImageOutput, PILInvocationConfig +from ..models.image import ImageOutput, PILInvocationConfig CONTROLNET_DEFAULT_MODELS = [ ########################################### diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index cf82148483..50f8a4b627 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -4,24 +4,21 @@ from typing import Literal, Optional import numpy from PIL import Image, ImageFilter, ImageOps, ImageChops -from pydantic import BaseModel, Field +from pydantic import Field from pathlib import Path from typing import Union from invokeai.app.invocations.metadata import CoreMetadata from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker from transformers import AutoFeatureExtractor -from ..models.image import ImageCategory, ImageField, ResourceOrigin +from ..models.image import ( + ImageCategory, ImageField, ResourceOrigin, + PILInvocationConfig, ImageOutput, MaskOutput, +) from .baseinvocation import ( BaseInvocation, - BaseInvocationOutput, InvocationContext, InvocationConfig, ) -from .image_defs import ( - PILInvocationConfig, - ImageOutput, - MaskOutput, - ) from ..services.config import InvokeAIAppConfig from invokeai.backend.util.devices import choose_torch_device from invokeai.backend import SilenceWarnings @@ -644,7 +641,7 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): device = choose_torch_device() if self.enabled: - logger.info("Running NSFW checker") + logger.debug("Running NSFW checker") safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') @@ -681,8 +678,8 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): ) def _get_caution_img(self)->Image: - import invokeai.assets.web as web_assets - caution = Image.open(Path(web_assets.__path__[0]) / 'caution.png') + import invokeai.app.assets.images as image_assets + caution = Image.open(Path(image_assets.__path__[0]) / 'caution.png') return caution.resize((caution.width // 2, caution.height //2)) class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): @@ -716,7 +713,7 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) if self.enabled: - logger.info("Running invisible watermarker") + logger.debug("Running invisible watermarker") bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) wm = self.text encoder = WatermarkEncoder() diff --git a/invokeai/app/invocations/image_defs.py b/invokeai/app/invocations/image_defs.py deleted file mode 100644 index 8bab09debf..0000000000 --- a/invokeai/app/invocations/image_defs.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2023 Lincoln D. Stein and the InvokeAI Team -""" Common classes used by .image and .controlnet; avoids circular import issues """ - -from pydantic import BaseModel, Field -from typing import Literal -from ..models.image import ImageField -from .baseinvocation import ( - BaseInvocationOutput, - InvocationConfig, -) - -class PILInvocationConfig(BaseModel): - """Helper class to provide all PIL invocations with additional config""" - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["PIL", "image"], - }, - } - -class ImageOutput(BaseInvocationOutput): - """Base class for invocations that output an image""" - - # fmt: off - type: Literal["image_output"] = "image_output" - image: ImageField = Field(default=None, description="The output image") - width: int = Field(description="The width of the image in pixels") - height: int = Field(description="The height of the image in pixels") - # fmt: on - - class Config: - schema_extra = {"required": ["type", "image", "width", "height"]} - - -class MaskOutput(BaseInvocationOutput): - """Base class for invocations that output a mask""" - - # fmt: off - type: Literal["mask"] = "mask" - mask: ImageField = Field(default=None, description="The output mask") - width: int = Field(description="The width of the mask in pixels") - height: int = Field(description="The height of the mask in pixels") - # fmt: on - - class Config: - schema_extra = { - "required": [ - "type", - "mask", - ] - } - - diff --git a/invokeai/app/models/image.py b/invokeai/app/models/image.py index 988a3e1447..1183cabc54 100644 --- a/invokeai/app/models/image.py +++ b/invokeai/app/models/image.py @@ -1,9 +1,80 @@ from enum import Enum -from typing import Optional, Tuple +from typing import Optional, Tuple, Literal from pydantic import BaseModel, Field from invokeai.app.util.metaenum import MetaEnum +from ..invocations.baseinvocation import ( + BaseInvocationOutput, + InvocationConfig, +) +class ImageField(BaseModel): + """An image field used for passing image objects between invocations""" + + image_name: Optional[str] = Field(default=None, description="The name of the image") + + class Config: + schema_extra = {"required": ["image_name"]} + + +class ColorField(BaseModel): + r: int = Field(ge=0, le=255, description="The red component") + g: int = Field(ge=0, le=255, description="The green component") + b: int = Field(ge=0, le=255, description="The blue component") + a: int = Field(ge=0, le=255, description="The alpha component") + + def tuple(self) -> Tuple[int, int, int, int]: + return (self.r, self.g, self.b, self.a) + + +class ProgressImage(BaseModel): + """The progress image sent intermittently during processing""" + + width: int = Field(description="The effective width of the image in pixels") + height: int = Field(description="The effective height of the image in pixels") + dataURL: str = Field(description="The image data as a b64 data URL") + +class PILInvocationConfig(BaseModel): + """Helper class to provide all PIL invocations with additional config""" + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "tags": ["PIL", "image"], + }, + } + +class ImageOutput(BaseInvocationOutput): + """Base class for invocations that output an image""" + + # fmt: off + type: Literal["image_output"] = "image_output" + image: ImageField = Field(default=None, description="The output image") + width: int = Field(description="The width of the image in pixels") + height: int = Field(description="The height of the image in pixels") + # fmt: on + + class Config: + schema_extra = {"required": ["type", "image", "width", "height"]} + + +class MaskOutput(BaseInvocationOutput): + """Base class for invocations that output a mask""" + + # fmt: off + type: Literal["mask"] = "mask" + mask: ImageField = Field(default=None, description="The output mask") + width: int = Field(description="The width of the mask in pixels") + height: int = Field(description="The height of the mask in pixels") + # fmt: on + + class Config: + schema_extra = { + "required": [ + "type", + "mask", + ] + } class ResourceOrigin(str, Enum, metaclass=MetaEnum): """The origin of a resource (eg image). @@ -63,28 +134,3 @@ class InvalidImageCategoryException(ValueError): super().__init__(message) -class ImageField(BaseModel): - """An image field used for passing image objects between invocations""" - - image_name: Optional[str] = Field(default=None, description="The name of the image") - - class Config: - schema_extra = {"required": ["image_name"]} - - -class ColorField(BaseModel): - r: int = Field(ge=0, le=255, description="The red component") - g: int = Field(ge=0, le=255, description="The green component") - b: int = Field(ge=0, le=255, description="The blue component") - a: int = Field(ge=0, le=255, description="The alpha component") - - def tuple(self) -> Tuple[int, int, int, int]: - return (self.r, self.g, self.b, self.a) - - -class ProgressImage(BaseModel): - """The progress image sent intermittently during processing""" - - width: int = Field(description="The effective width of the image in pixels") - height: int = Field(description="The effective height of the image in pixels") - dataURL: str = Field(description="The image data as a b64 data URL") diff --git a/invokeai/app/services/board_image_record_storage.py b/invokeai/app/services/board_image_record_storage.py index 693b078589..491972bd32 100644 --- a/invokeai/app/services/board_image_record_storage.py +++ b/invokeai/app/services/board_image_record_storage.py @@ -135,7 +135,6 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): board_id: str, image_name: str, ) -> None: - print(f'DEBUG: board_id={board_id}, image_name={image_name}') try: self._lock.acquire() self._cursor.execute( @@ -147,7 +146,6 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): (board_id, image_name, board_id), ) self._conn.commit() - print('got here') except sqlite3.Error as e: self._conn.rollback() raise e diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 03bf4d6cd5..f60f372a12 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -48,7 +48,7 @@ export const buildLinearTextToImageGraph = ( } /** -v * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the + * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node * ids. * From fc4e104c61645a98df1517b1fcacc24e3e80c19c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 17:13:32 -0400 Subject: [PATCH 011/106] tested on 3.11 and 3.10 --- invokeai/app/invocations/latent.py | 238 +++++++++--------- .../backend/model_management/model_cache.py | 1 - .../backend/model_management/model_manager.py | 2 +- pyproject.toml | 42 ++-- 4 files changed, 142 insertions(+), 141 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 6082057bd3..96c536dc94 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -12,7 +12,7 @@ from pydantic import BaseModel, Field, validator from invokeai.app.invocations.metadata import CoreMetadata from invokeai.app.util.step_callback import stable_diffusion_step_callback -from invokeai.backend.model_management.models.base import ModelType +from invokeai.backend.model_management.models import ModelType, SilenceWarnings from ...backend.model_management.lora import ModelPatcher from ...backend.stable_diffusion import PipelineIntermediateState @@ -318,68 +318,69 @@ class TextToLatentsInvocation(BaseInvocation): @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: - noise = context.services.latents.get(self.noise.latents_name) + with SilenceWarnings(): + noise = context.services.latents.get(self.noise.latents_name) - # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) - source_node_id = graph_execution_state.prepared_source_mapping[self.id] + # Get the source node id (we are invoking the prepared node) + graph_execution_state = context.services.graph_execution_manager.get( + context.graph_execution_state_id + ) + source_node_id = graph_execution_state.prepared_source_mapping[self.id] - def step_callback(state: PipelineIntermediateState): - self.dispatch_progress(context, source_node_id, state) + def step_callback(state: PipelineIntermediateState): + self.dispatch_progress(context, source_node_id, state) - def _lora_loader(): - for lora in self.unet.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context, + def _lora_loader(): + for lora in self.unet.loras: + lora_info = context.services.model_manager.get_model( + **lora.dict(exclude={"weight"}), context=context, + ) + yield (lora_info.context.model, lora.weight) + del lora_info + return + + unet_info = context.services.model_manager.get_model( + **self.unet.unet.dict(), context=context, + ) + with ExitStack() as exit_stack,\ + ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ + unet_info as unet: + + noise = noise.to(device=unet.device, dtype=unet.dtype) + + scheduler = get_scheduler( + context=context, + scheduler_info=self.unet.scheduler, + scheduler_name=self.scheduler, ) - yield (lora_info.context.model, lora.weight) - del lora_info - return - unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), context=context, - ) - with ExitStack() as exit_stack,\ - ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ - unet_info as unet: + pipeline = self.create_pipeline(unet, scheduler) + conditioning_data = self.get_conditioning_data(context, scheduler, unet) - noise = noise.to(device=unet.device, dtype=unet.dtype) + control_data = self.prep_control_data( + model=pipeline, context=context, control_input=self.control, + latents_shape=noise.shape, + # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) + do_classifier_free_guidance=True, + exit_stack=exit_stack, + ) - scheduler = get_scheduler( - context=context, - scheduler_info=self.unet.scheduler, - scheduler_name=self.scheduler, - ) + # TODO: Verify the noise is the right size + result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( + latents=torch.zeros_like(noise, dtype=torch_dtype(unet.device)), + noise=noise, + num_inference_steps=self.steps, + conditioning_data=conditioning_data, + control_data=control_data, # list[ControlNetData] + callback=step_callback, + ) - pipeline = self.create_pipeline(unet, scheduler) - conditioning_data = self.get_conditioning_data(context, scheduler, unet) + # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 + result_latents = result_latents.to("cpu") + torch.cuda.empty_cache() - control_data = self.prep_control_data( - model=pipeline, context=context, control_input=self.control, - latents_shape=noise.shape, - # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) - do_classifier_free_guidance=True, - exit_stack=exit_stack, - ) - - # TODO: Verify the noise is the right size - result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( - latents=torch.zeros_like(noise, dtype=torch_dtype(unet.device)), - noise=noise, - num_inference_steps=self.steps, - conditioning_data=conditioning_data, - control_data=control_data, # list[ControlNetData] - callback=step_callback, - ) - - # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 - result_latents = result_latents.to("cpu") - torch.cuda.empty_cache() - - name = f'{context.graph_execution_state_id}__{self.id}' - context.services.latents.save(name, result_latents) + name = f'{context.graph_execution_state_id}__{self.id}' + context.services.latents.save(name, result_latents) return build_latents_output(latents_name=name, latents=result_latents) @@ -411,81 +412,82 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: - noise = context.services.latents.get(self.noise.latents_name) - latent = context.services.latents.get(self.latents.latents_name) + with SilenceWarnings(): # this quenches NSFW nag from diffusers + noise = context.services.latents.get(self.noise.latents_name) + latent = context.services.latents.get(self.latents.latents_name) - # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) - source_node_id = graph_execution_state.prepared_source_mapping[self.id] + # Get the source node id (we are invoking the prepared node) + graph_execution_state = context.services.graph_execution_manager.get( + context.graph_execution_state_id + ) + source_node_id = graph_execution_state.prepared_source_mapping[self.id] - def step_callback(state: PipelineIntermediateState): - self.dispatch_progress(context, source_node_id, state) + def step_callback(state: PipelineIntermediateState): + self.dispatch_progress(context, source_node_id, state) - def _lora_loader(): - for lora in self.unet.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context, + def _lora_loader(): + for lora in self.unet.loras: + lora_info = context.services.model_manager.get_model( + **lora.dict(exclude={"weight"}), context=context, + ) + yield (lora_info.context.model, lora.weight) + del lora_info + return + + unet_info = context.services.model_manager.get_model( + **self.unet.unet.dict(), context=context, + ) + with ExitStack() as exit_stack,\ + ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ + unet_info as unet: + + noise = noise.to(device=unet.device, dtype=unet.dtype) + latent = latent.to(device=unet.device, dtype=unet.dtype) + + scheduler = get_scheduler( + context=context, + scheduler_info=self.unet.scheduler, + scheduler_name=self.scheduler, ) - yield (lora_info.context.model, lora.weight) - del lora_info - return - unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), context=context, - ) - with ExitStack() as exit_stack,\ - ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ - unet_info as unet: + pipeline = self.create_pipeline(unet, scheduler) + conditioning_data = self.get_conditioning_data(context, scheduler, unet) - noise = noise.to(device=unet.device, dtype=unet.dtype) - latent = latent.to(device=unet.device, dtype=unet.dtype) + control_data = self.prep_control_data( + model=pipeline, context=context, control_input=self.control, + latents_shape=noise.shape, + # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) + do_classifier_free_guidance=True, + exit_stack=exit_stack, + ) - scheduler = get_scheduler( - context=context, - scheduler_info=self.unet.scheduler, - scheduler_name=self.scheduler, - ) + # TODO: Verify the noise is the right size + initial_latents = latent if self.strength < 1.0 else torch.zeros_like( + latent, device=unet.device, dtype=latent.dtype + ) - pipeline = self.create_pipeline(unet, scheduler) - conditioning_data = self.get_conditioning_data(context, scheduler, unet) + timesteps, _ = pipeline.get_img2img_timesteps( + self.steps, + self.strength, + device=unet.device, + ) - control_data = self.prep_control_data( - model=pipeline, context=context, control_input=self.control, - latents_shape=noise.shape, - # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) - do_classifier_free_guidance=True, - exit_stack=exit_stack, - ) + result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( + latents=initial_latents, + timesteps=timesteps, + noise=noise, + num_inference_steps=self.steps, + conditioning_data=conditioning_data, + control_data=control_data, # list[ControlNetData] + callback=step_callback + ) - # TODO: Verify the noise is the right size - initial_latents = latent if self.strength < 1.0 else torch.zeros_like( - latent, device=unet.device, dtype=latent.dtype - ) + # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 + result_latents = result_latents.to("cpu") + torch.cuda.empty_cache() - timesteps, _ = pipeline.get_img2img_timesteps( - self.steps, - self.strength, - device=unet.device, - ) - - result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( - latents=initial_latents, - timesteps=timesteps, - noise=noise, - num_inference_steps=self.steps, - conditioning_data=conditioning_data, - control_data=control_data, # list[ControlNetData] - callback=step_callback - ) - - # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 - result_latents = result_latents.to("cpu") - torch.cuda.empty_cache() - - name = f'{context.graph_execution_state_id}__{self.id}' - context.services.latents.save(name, result_latents) + name = f'{context.graph_execution_state_id}__{self.id}' + context.services.latents.save(name, result_latents) return build_latents_output(latents_name=name, latents=result_latents) diff --git a/invokeai/backend/model_management/model_cache.py b/invokeai/backend/model_management/model_cache.py index 5ca17f00fc..59644966be 100644 --- a/invokeai/backend/model_management/model_cache.py +++ b/invokeai/backend/model_management/model_cache.py @@ -163,7 +163,6 @@ class ModelCache(object): submodel: Optional[SubModelType] = None, gpu_load: bool = True, ) -> Any: - if not isinstance(model_path, Path): model_path = Path(model_path) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index a0b3e6d625..098258153e 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -391,7 +391,7 @@ class ModelManager(object): base_model: BaseModelType, model_type: ModelType, ) -> str: - return f"{base_model}/{model_type}/{model_name}" + return f"{base_model.value}/{model_type.value}/{model_name}" @classmethod def parse_key(cls, model_key: str) -> Tuple[str, BaseModelType, ModelType]: diff --git a/pyproject.toml b/pyproject.toml index 5cc6971df6..816a050393 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" [project] name = "InvokeAI" description = "An implementation of Stable Diffusion which provides various new features and options to aid the image generation process" -requires-python = ">=3.9, <3.11" +requires-python = ">=3.9, <3.12" readme = { content-type = "text/markdown", file = "README.md" } keywords = ["stable-diffusion", "AI"] dynamic = ["version"] @@ -32,16 +32,16 @@ classifiers = [ 'Topic :: Scientific/Engineering :: Image Processing', ] dependencies = [ - "accelerate~=0.16", + "accelerate~=0.21.0", "albumentations", "click", - "clip_anytorch", # replacing "clip @ https://github.com/openai/CLIP/archive/eaa22acb90a5876642d0507623e859909230a52d.zip", - "compel==2.0.0", + "clip_anytorch", # replacing "clip @ https://github.com/openai/CLIP/archive/eaa22acb90a5876642d0507623e859909230a52d.zip", + "compel~=2.0.0", "controlnet-aux>=0.0.6", - "timm==0.6.13", # needed to override timm latest in controlnet_aux, see https://github.com/isl-org/ZoeDepth/issues/26 + "timm==0.6.13", # needed to override timm latest in controlnet_aux, see https://github.com/isl-org/ZoeDepth/issues/26 "datasets", - "diffusers[torch]~=0.18.1", - "dnspython==2.2.1", + "diffusers[torch]~=0.18.2", + "dnspython~=2.4.0", "dynamicprompts", "easing-functions", "einops", @@ -54,37 +54,37 @@ dependencies = [ "flask_cors==3.0.10", "flask_socketio==5.3.0", "flaskwebgui==1.0.3", - "gfpgan==1.3.8", "huggingface-hub>=0.11.1", - "invisible-watermark>=0.2.0", # needed to install SDXL base and refiner using their repo_ids + "invisible-watermark~=0.2.0", # needed to install SDXL base and refiner using their repo_ids "matplotlib", # needed for plotting of Penner easing functions "mediapipe", # needed for "mediapipeface" controlnet model "npyscreen", - "numpy<1.24", + "numpy==1.24.4", "omegaconf", "opencv-python", "picklescan", "pillow", "prompt-toolkit", - "pympler==1.0.1", + "pydantic==1.10.10", + "pympler~=1.0.1", "pypatchmatch", 'pyperclip', "pyreadline3", - "python-multipart==0.0.6", - "pytorch-lightning==1.7.7", + "python-multipart", + "pytorch-lightning", "realesrgan", - "requests==2.28.2", + "requests~=2.28.2", "rich~=13.3", "safetensors~=0.3.0", - "scikit-image>=0.19", + "scikit-image~=0.21.0", "send2trash", - "test-tube>=0.7.5", - "torch~=2.0.0", - "torchvision>=0.14.1", - "torchmetrics==0.11.4", - "torchsde==0.2.5", + "test-tube~=0.7.5", + "torch~=2.0.1", + "torchvision~=0.15.2", + "torchmetrics~=1.0.1", + "torchsde~=0.2.5", "transformers~=4.31.0", - "uvicorn[standard]==0.21.1", + "uvicorn[standard]~=0.21.1", "windows-curses; sys_platform=='win32'", ] From 8c449c47564dbd0a3ef86a8d1abb2366feaa30b1 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 17:21:56 -0400 Subject: [PATCH 012/106] update documentation and installer to accept 3.11 --- README.md | 2 +- docs/installation/020_INSTALL_MANUAL.md | 4 ++-- installer/install.sh.in | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6f6bd2a0b8..3ca1ca1f26 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ and go to http://localhost:9090. ### Command-Line Installation (for developers and users familiar with Terminals) -You must have Python 3.9 or 3.10 installed on your machine. Earlier or +You must have Python 3.9 through 3.11 installed on your machine. Earlier or later versions are not supported. Node.js also needs to be installed along with yarn (can be installed with the command `npm install -g yarn` if needed) diff --git a/docs/installation/020_INSTALL_MANUAL.md b/docs/installation/020_INSTALL_MANUAL.md index 75309c5fea..c0fb4c046f 100644 --- a/docs/installation/020_INSTALL_MANUAL.md +++ b/docs/installation/020_INSTALL_MANUAL.md @@ -32,7 +32,7 @@ gaming): * **Python** - version 3.9 or 3.10 (3.11 is not recommended). + version 3.9 through 3.11 * **CUDA Tools** @@ -65,7 +65,7 @@ gaming): To install InvokeAI with virtual environments and the PIP package manager, please follow these steps: -1. Please make sure you are using Python 3.9 or 3.10. The rest of the install +1. Please make sure you are using Python 3.9 through 3.11. The rest of the install procedure depends on this and will not work with other versions: ```bash diff --git a/installer/install.sh.in b/installer/install.sh.in index 0063c0ebbf..6757447416 100755 --- a/installer/install.sh.in +++ b/installer/install.sh.in @@ -9,13 +9,13 @@ cd $scriptdir function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; } MINIMUM_PYTHON_VERSION=3.9.0 -MAXIMUM_PYTHON_VERSION=3.11.0 +MAXIMUM_PYTHON_VERSION=3.11.100 PYTHON="" -for candidate in python3.10 python3.9 python3 python ; do +for candidate in python3.11 python3.10 python3.9 python3 python ; do if ppath=`which $candidate`; then python_version=$($ppath -V | awk '{ print $2 }') if [ $(version $python_version) -ge $(version "$MINIMUM_PYTHON_VERSION") ]; then - if [ $(version $python_version) -lt $(version "$MAXIMUM_PYTHON_VERSION") ]; then + if [ $(version $python_version) -le $(version "$MAXIMUM_PYTHON_VERSION") ]; then PYTHON=$ppath break fi From efa615a8fd792a157860f6142d329c21ae6476d8 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 22:02:57 -0400 Subject: [PATCH 013/106] refactored code; added watermark and nsfw facilities to app config route --- invokeai/app/api/routers/app_info.py | 32 +++++++- invokeai/app/invocations/image.py | 62 +++------------ invokeai/backend/__init__.py | 1 - invokeai/backend/generator/base.py | 8 -- .../backend/image_util/invisible_watermark.py | 34 ++++++++ invokeai/backend/image_util/safety_checker.py | 63 +++++++++++++++ invokeai/backend/safety_checker.py | 77 ------------------- 7 files changed, 139 insertions(+), 138 deletions(-) create mode 100644 invokeai/backend/image_util/invisible_watermark.py create mode 100644 invokeai/backend/image_util/safety_checker.py delete mode 100644 invokeai/backend/safety_checker.py diff --git a/invokeai/app/api/routers/app_info.py b/invokeai/app/api/routers/app_info.py index e1bfeda4a1..ff8198103b 100644 --- a/invokeai/app/api/routers/app_info.py +++ b/invokeai/app/api/routers/app_info.py @@ -1,9 +1,15 @@ +import typing from enum import Enum from fastapi import Body from fastapi.routing import APIRouter +from pathlib import Path from pydantic import BaseModel, Field from invokeai.backend.image_util.patchmatch import PatchMatch +from invokeai.backend.image_util.safety_checker import SafetyChecker +from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark +from invokeai.app.invocations.upscale import ESRGAN_MODELS + from invokeai.version import __version__ from ..dependencies import ApiDependencies @@ -30,6 +36,10 @@ class AppConfig(BaseModel): """App Config Response""" infill_methods: list[str] = Field(description="List of available infill methods") + upscaling_methods: list[str] = Field(description="List of upscaling methods") + upscaling_models: list[str] = Field(description="List of postprocessing methods") + nsfw_methods: list[str] = Field(description="List of NSFW checking methods") + watermarking_methods: list[str] = Field(description="List of invisible watermark methods") @app_router.get( @@ -46,7 +56,27 @@ async def get_config() -> AppConfig: infill_methods = ['tile'] if PatchMatch.patchmatch_available(): infill_methods.append('patchmatch') - return AppConfig(infill_methods=infill_methods) + + upscaling_methods = ['esrgan'] + upscaling_models = [] + for model in typing.get_args(ESRGAN_MODELS): + upscaling_models.append(str(Path(model).stem)) + + nsfw_methods = [] + if SafetyChecker.safety_checker_available(): + nsfw_methods.append('nsfw_checker') + + watermarking_methods = [] + if InvisibleWatermark.invisible_watermark_available(): + watermarking_methods.append('invisible_watermark') + + return AppConfig( + infill_methods=infill_methods, + upscaling_methods=upscaling_methods, + upscaling_models=upscaling_models, + nsfw_methods=nsfw_methods, + watermarking_methods=watermarking_methods, + ) @app_router.get( "/logging", diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 50f8a4b627..26ee9e391d 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -8,8 +8,6 @@ from pydantic import Field from pathlib import Path from typing import Union from invokeai.app.invocations.metadata import CoreMetadata -from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker -from transformers import AutoFeatureExtractor from ..models.image import ( ImageCategory, ImageField, ResourceOrigin, PILInvocationConfig, ImageOutput, MaskOutput, @@ -19,9 +17,8 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) -from ..services.config import InvokeAIAppConfig -from invokeai.backend.util.devices import choose_torch_device -from invokeai.backend import SilenceWarnings +from invokeai.backend.image_util.safety_checker import SafetyChecker +from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark class LoadImageInvocation(BaseInvocation): """Load an image and provide it as output.""" @@ -614,14 +611,12 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): """Add blur to NSFW-flagged images""" - DEFAULT_ENABLED = InvokeAIAppConfig.get_config().nsfw_checker # fmt: off type: Literal["img_nsfw"] = "img_nsfw" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") - enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the NSFW checker is enabled") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on @@ -636,30 +631,14 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - config = context.services.configuration logger = context.services.logger - device = choose_torch_device() - - if self.enabled: - logger.debug("Running NSFW checker") - safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - - features = feature_extractor([image], return_tensors="pt") - features.to(device) - safety_checker.to(device) - - x_image = numpy.array(image).astype(numpy.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - with SilenceWarnings(): - checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) - - logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") - if has_nsfw_concept[0]: - blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) - caution = self._get_caution_img() - blurry_image.paste(caution,(0,0),caution) - image = blurry_image + logger.debug("Running NSFW checker") + if SafetyChecker.has_nsfw_concept(image): + logger.info("A potentially NSFW image has been detected. Image will be blurred.") + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + image = blurry_image image_dto = context.services.images.create( image=image, @@ -685,16 +664,12 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): """ Add an invisible watermark to an image """ - # to avoid circular import - DEFAULT_ENABLED = InvokeAIAppConfig.get_config().invisible_watermark - # fmt: off type: Literal["img_watermark"] = "img_watermark" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") text: str = Field(default='InvokeAI', description="Watermark text") - enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the invisible watermark is enabled") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on @@ -707,25 +682,10 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): } def invoke(self, context: InvocationContext) -> ImageOutput: - import cv2 - from imwatermark import WatermarkEncoder - - logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) - if self.enabled: - logger.debug("Running invisible watermarker") - bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) - wm = self.text - encoder = WatermarkEncoder() - encoder.set_watermark('bytes', wm.encode('utf-8')) - bgr_encoded = encoder.encode(bgr, 'dwtDct') - new_image = Image.fromarray( - cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) - ).convert("RGBA") - image = new_image - + new_image = InvisibleWatermark.add_watermark(image, self.text) image_dto = context.services.images.create( - image=image, + image=new_image, image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, diff --git a/invokeai/backend/__init__.py b/invokeai/backend/__init__.py index cb21f1f9ed..a33b70ceb4 100644 --- a/invokeai/backend/__init__.py +++ b/invokeai/backend/__init__.py @@ -12,5 +12,4 @@ from .model_management import ( ModelManager, ModelCache, BaseModelType, ModelType, SubModelType, ModelInfo ) -from .safety_checker import SafetyChecker from .model_management.models import SilenceWarnings diff --git a/invokeai/backend/generator/base.py b/invokeai/backend/generator/base.py index 99a63d56a3..8af8d399d5 100644 --- a/invokeai/backend/generator/base.py +++ b/invokeai/backend/generator/base.py @@ -28,7 +28,6 @@ from diffusers.schedulers import SchedulerMixin as Scheduler import invokeai.backend.util.logging as logger from ..image_util import configure_model_padding from ..util.util import rand_perlin_2d -from ..safety_checker import SafetyChecker from ..stable_diffusion.diffusers_pipeline import StableDiffusionGeneratorPipeline from ..stable_diffusion.schedulers import SCHEDULER_MAP @@ -52,7 +51,6 @@ class InvokeAIGeneratorBasicParams: v_symmetry_time_pct: Optional[float]=None variation_amount: float = 0.0 with_variations: list=field(default_factory=list) - safety_checker: Optional[SafetyChecker]=None @dataclass class InvokeAIGeneratorOutput: @@ -240,7 +238,6 @@ class Generator: self.seed = None self.latent_channels = model.unet.config.in_channels self.downsampling_factor = downsampling # BUG: should come from model or config - self.safety_checker = None self.perlin = 0.0 self.threshold = 0 self.variation_amount = 0 @@ -277,12 +274,10 @@ class Generator: perlin=0.0, h_symmetry_time_pct=None, v_symmetry_time_pct=None, - safety_checker: SafetyChecker=None, free_gpu_mem: bool = False, **kwargs, ): scope = nullcontext - self.safety_checker = safety_checker self.free_gpu_mem = free_gpu_mem attention_maps_images = [] attention_maps_callback = lambda saver: attention_maps_images.append( @@ -329,9 +324,6 @@ class Generator: # Pass on the seed in case a layer beneath us needs to generate noise on its own. image = make_image(x_T, seed) - if self.safety_checker is not None: - image = self.safety_checker.check(image) - results.append([image, seed, attention_maps_images]) if image_callback is not None: diff --git a/invokeai/backend/image_util/invisible_watermark.py b/invokeai/backend/image_util/invisible_watermark.py new file mode 100644 index 0000000000..0fb72b095d --- /dev/null +++ b/invokeai/backend/image_util/invisible_watermark.py @@ -0,0 +1,34 @@ +""" +This module defines a singleton object, "invisible_watermark" that +wraps the invisible watermark model. It respects the global "invisible_watermark" +configuration variable, that allows the watermarking to be supressed. +""" +import numpy as np +import cv2 +from PIL import Image +from imwatermark import WatermarkEncoder +from invokeai.app.services.config import InvokeAIAppConfig +import invokeai.backend.util.logging as logger +config = InvokeAIAppConfig.get_config() + +class InvisibleWatermark: + """ + Wrapper around InvisibleWatermark module. + """ + + @classmethod + def invisible_watermark_available(self) -> bool: + return config.invisible_watermark + + @classmethod + def add_watermark(self, image: Image, watermark_text:str) -> Image: + if not self.invisible_watermark_available(): + return image + logger.debug(f'Applying invisible watermark "{watermark_text}"') + bgr = cv2.cvtColor(np.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', watermark_text.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + return Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") diff --git a/invokeai/backend/image_util/safety_checker.py b/invokeai/backend/image_util/safety_checker.py new file mode 100644 index 0000000000..7a31c9422d --- /dev/null +++ b/invokeai/backend/image_util/safety_checker.py @@ -0,0 +1,63 @@ +""" +This module defines a singleton object, "safety_checker" that +wraps the safety_checker model. It respects the global "nsfw_checker" +configuration variable, that allows the checker to be supressed. +""" +import numpy as np +from PIL import Image +from invokeai.backend import SilenceWarnings +from invokeai.app.services.config import InvokeAIAppConfig +from invokeai.backend.util.devices import choose_torch_device +import invokeai.backend.util.logging as logger +config = InvokeAIAppConfig.get_config() + +CHECKER_PATH = 'core/convert/stable-diffusion-safety-checker' + +class SafetyChecker: + """ + Wrapper around SafetyChecker model. + """ + safety_checker = None + feature_extractor = None + tried_load: bool = False + + @classmethod + def _load_safety_checker(self): + if self.tried_load: + return + + if config.nsfw_checker: + try: + from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker + from transformers import AutoFeatureExtractor + self.safety_checker = StableDiffusionSafetyChecker.from_pretrained( + config.models_path / CHECKER_PATH + ) + self.feature_extractor = AutoFeatureExtractor.from_pretrained( + config.models_path / CHECKER_PATH) + logger.info('NSFW checker initialized') + except Exception as e: + logger.warning(f'Could not load NSFW checker: {str(e)}') + else: + logger.info('NSFW checker loading disabled') + self.tried_load = True + + @classmethod + def safety_checker_available(self) -> bool: + self._load_safety_checker() + return self.safety_checker is not None + + @classmethod + def has_nsfw_concept(self, image: Image) -> bool: + if not self.safety_checker_available(): + return False + + device = choose_torch_device() + features = self.feature_extractor([image], return_tensors="pt") + features.to(device) + self.safety_checker.to(device) + x_image = np.array(image).astype(np.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = self.safety_checker(images=x_image, clip_input=features.pixel_values) + return has_nsfw_concept[0] diff --git a/invokeai/backend/safety_checker.py b/invokeai/backend/safety_checker.py deleted file mode 100644 index 0a943ad7b6..0000000000 --- a/invokeai/backend/safety_checker.py +++ /dev/null @@ -1,77 +0,0 @@ -''' -SafetyChecker class - checks images against the StabilityAI NSFW filter -and blurs images that contain potential NSFW content. -''' -import diffusers -import numpy as np -import torch -import traceback -from diffusers.pipelines.stable_diffusion.safety_checker import ( - StableDiffusionSafetyChecker, -) -from pathlib import Path -from PIL import Image, ImageFilter -from transformers import AutoFeatureExtractor - -import invokeai.assets.web as web_assets -import invokeai.backend.util.logging as logger -from invokeai.app.services.config import InvokeAIAppConfig -from .util import CPU_DEVICE - -config = InvokeAIAppConfig.get_config() - -class SafetyChecker(object): - CAUTION_IMG = "caution.png" - - def __init__(self, device: torch.device): - path = Path(web_assets.__path__[0]) / self.CAUTION_IMG - caution = Image.open(path) - self.caution_img = caution.resize((caution.width // 2, caution.height // 2)) - self.device = device - - try: - safety_model_id = config.models_path / 'core/convert/stable-diffusion-safety-checker' - feature_extractor_id = config.models_path / 'core/convert/stable-diffusion-safety-checker-extractor' - self.safety_checker = StableDiffusionSafetyChecker.from_pretrained(safety_model_id) - self.safety_feature_extractor = AutoFeatureExtractor.from_pretrained(feature_extractor_id) - except Exception: - logger.error( - "An error was encountered while installing the safety checker:" - ) - print(traceback.format_exc()) - - def check(self, image: Image.Image): - """ - Check provided image against the StabilityAI safety checker and return - - """ - - self.safety_checker.to(self.device) - features = self.safety_feature_extractor([image], return_tensors="pt") - features.to(self.device) - - # unfortunately checker requires the numpy version, so we have to convert back - x_image = np.array(image).astype(np.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - - diffusers.logging.set_verbosity_error() - checked_image, has_nsfw_concept = self.safety_checker( - images=x_image, clip_input=features.pixel_values - ) - self.safety_checker.to(CPU_DEVICE) # offload - if has_nsfw_concept[0]: - logger.warning( - "An image with potential non-safe content has been detected. A blurred image will be returned." - ) - return self.blur(image) - else: - return image - - def blur(self, input): - blurry = input.filter(filter=ImageFilter.GaussianBlur(radius=32)) - try: - if caution := self.caution_img: - blurry.paste(caution, (0, 0), caution) - except FileNotFoundError: - pass - return blurry From 91e903c8abdfe4d08597b6e3b068795cb31693b3 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 22:17:22 -0400 Subject: [PATCH 014/106] esrgan and its models are now nested in app config route --- invokeai/app/api/routers/app_info.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/invokeai/app/api/routers/app_info.py b/invokeai/app/api/routers/app_info.py index ff8198103b..e37184a77b 100644 --- a/invokeai/app/api/routers/app_info.py +++ b/invokeai/app/api/routers/app_info.py @@ -22,6 +22,10 @@ class LogLevel(int, Enum): Warning = logging.WARNING Error = logging.ERROR Critical = logging.CRITICAL + +class Upscaler(BaseModel): + upscaling_method: str = Field(description="Name of upscaling method") + upscaling_models: list[str] = Field(description="List of upscaling models for this method") app_router = APIRouter(prefix="/v1/app", tags=["app"]) @@ -36,8 +40,7 @@ class AppConfig(BaseModel): """App Config Response""" infill_methods: list[str] = Field(description="List of available infill methods") - upscaling_methods: list[str] = Field(description="List of upscaling methods") - upscaling_models: list[str] = Field(description="List of postprocessing methods") + upscaling_methods: list[Upscaler] = Field(description="List of upscaling methods") nsfw_methods: list[str] = Field(description="List of NSFW checking methods") watermarking_methods: list[str] = Field(description="List of invisible watermark methods") @@ -57,11 +60,15 @@ async def get_config() -> AppConfig: if PatchMatch.patchmatch_available(): infill_methods.append('patchmatch') - upscaling_methods = ['esrgan'] + upscaling_models = [] for model in typing.get_args(ESRGAN_MODELS): upscaling_models.append(str(Path(model).stem)) - + upscaler = Upscaler( + upscaling_method = 'esrgan', + upscaling_models = upscaling_models + ) + nsfw_methods = [] if SafetyChecker.safety_checker_available(): nsfw_methods.append('nsfw_checker') @@ -72,8 +79,7 @@ async def get_config() -> AppConfig: return AppConfig( infill_methods=infill_methods, - upscaling_methods=upscaling_methods, - upscaling_models=upscaling_models, + upscaling_methods=[upscaler], nsfw_methods=nsfw_methods, watermarking_methods=watermarking_methods, ) From 2aefa921fe2c1a911b6ea9f7ca61c9d2cf1e749c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 25 Jul 2023 08:36:57 -0400 Subject: [PATCH 015/106] fix "unknown model type" error when rebasing a model with API - Add command-line model probing script for dev use - Minor documentation tweak --- docs/installation/010_INSTALL_AUTOMATED.md | 6 ++---- invokeai/app/api/routers/models.py | 4 ++-- .../backend/model_management/model_manager.py | 4 ++++ scripts/probe-model.py | 19 +++++++++++++++++++ 4 files changed, 27 insertions(+), 6 deletions(-) create mode 100755 scripts/probe-model.py diff --git a/docs/installation/010_INSTALL_AUTOMATED.md b/docs/installation/010_INSTALL_AUTOMATED.md index 8072364b55..fc9d64ba01 100644 --- a/docs/installation/010_INSTALL_AUTOMATED.md +++ b/docs/installation/010_INSTALL_AUTOMATED.md @@ -40,10 +40,8 @@ experimental versions later. this, open up a command-line window ("Terminal" on Linux and Macintosh, "Command" or "Powershell" on Windows) and type `python --version`. If Python is installed, it will print out the version - number. If it is version `3.9.*` or `3.10.*`, you meet - requirements. We do not recommend using Python 3.11 or higher, - as not all the libraries that InvokeAI depends on work properly - with this version. + number. If it is version `3.9.*`, `3.10.*` or `3.11.*` you meet + requirements. !!! warning "What to do if you have an unsupported version" diff --git a/invokeai/app/api/routers/models.py b/invokeai/app/api/routers/models.py index 759f6c9f59..a7e0616f5b 100644 --- a/invokeai/app/api/routers/models.py +++ b/invokeai/app/api/routers/models.py @@ -87,7 +87,7 @@ async def update_model( new_name = info.model_name, new_base = info.base_model, ) - logger.info(f'Successfully renamed {base_model}/{model_name}=>{info.base_model}/{info.model_name}') + logger.info(f'Successfully renamed {base_model.value}/{model_name}=>{info.base_model}/{info.model_name}') # update information to support an update of attributes model_name = info.model_name base_model = info.base_model @@ -98,7 +98,7 @@ async def update_model( ) if new_info.get('path') != previous_info.get('path'): # model manager moved model path during rename - don't overwrite it info.path = new_info.get('path') - + ApiDependencies.invoker.services.model_manager.update_model( model_name=model_name, base_model=base_model, diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 098258153e..1299ba9200 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -391,6 +391,10 @@ class ModelManager(object): base_model: BaseModelType, model_type: ModelType, ) -> str: + # In 3.11, the behavior of (str,enum) when interpolated into a + # string has changed. The next two lines are defensive. + base_model = BaseModelType(base_model) + model_type = ModelType(model_type) return f"{base_model.value}/{model_type.value}/{model_name}" @classmethod diff --git a/scripts/probe-model.py b/scripts/probe-model.py new file mode 100755 index 0000000000..eca2a0985a --- /dev/null +++ b/scripts/probe-model.py @@ -0,0 +1,19 @@ +#!/bin/env python + +import argparse +import sys +from pathlib import Path +from invokeai.backend.model_management.model_probe import ModelProbe + +parser = argparse.ArgumentParser(description="Probe model type") +parser.add_argument( + 'model_path', + type=Path, +) +args=parser.parse_args() + +info = ModelProbe().probe(args.model_path) +print(info) + + + From e43e198102db6d347f80034b3c2202896335e21c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 25 Jul 2023 11:25:26 -0400 Subject: [PATCH 016/106] rework configure/install TUI to require less space --- .../backend/install/invokeai_configure.py | 103 ++++++------------ invokeai/configs/INITIAL_MODELS.yaml | 8 -- invokeai/frontend/install/model_install.py | 27 ++--- invokeai/frontend/install/widgets.py | 10 +- 4 files changed, 55 insertions(+), 93 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 1f0e39961b..fa22376ab4 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -44,6 +44,7 @@ from invokeai.app.services.config import ( from invokeai.backend.util.logging import InvokeAILogger from invokeai.frontend.install.model_install import addModelsForm, process_and_execute from invokeai.frontend.install.widgets import ( + SingleSelectColumns, CenteredButtonPress, FileBox, IntTitleSlider, @@ -288,44 +289,10 @@ Use cursor arrows to make a checkbox selection, and space to toggle. ) self.nextrely += 1 - self.add_widget_intelligent( - npyscreen.TitleFixedText, - name="== BASIC OPTIONS ==", - begin_entry_at=0, - editable=False, - color="CONTROL", - scroll_exit=True, - ) - self.nextrely -= 1 - self.add_widget_intelligent( - npyscreen.FixedText, - value="Select an output directory for images:", - editable=False, - color="CONTROL", - ) - self.outdir = self.add_widget_intelligent( - npyscreen.TitleFilename, - name="( autocompletes, ctrl-N advances):", - value=str(default_output_dir()), - select_dir=True, - must_exist=False, - use_two_lines=False, - labelColor="GOOD", - begin_entry_at=40, - scroll_exit=True, - ) - self.nextrely += 1 - self.add_widget_intelligent( - npyscreen.FixedText, - value="Activate the NSFW checker to blur images showing potential sexual imagery:", - editable=False, - color="CONTROL", - ) self.nsfw_checker = self.add_widget_intelligent( npyscreen.Checkbox, - name="NSFW checker", + name="Activate the NSFW checker to blur images showing potential sexual imagery", value=old_opts.nsfw_checker, - relx=5, scroll_exit=True, ) self.nextrely += 1 @@ -347,15 +314,6 @@ Use cursor arrows to make a checkbox selection, and space to toggle. scroll_exit=True, ) self.nextrely += 1 - self.add_widget_intelligent( - npyscreen.TitleFixedText, - name="== ADVANCED OPTIONS ==", - begin_entry_at=0, - editable=False, - color="CONTROL", - scroll_exit=True, - ) - self.nextrely -= 1 self.add_widget_intelligent( npyscreen.TitleFixedText, name="GPU Management", @@ -369,34 +327,49 @@ Use cursor arrows to make a checkbox selection, and space to toggle. npyscreen.Checkbox, name="Free GPU memory after each generation", value=old_opts.free_gpu_mem, + max_width=45, relx=5, scroll_exit=True, ) + self.nextrely -= 1 self.xformers_enabled = self.add_widget_intelligent( npyscreen.Checkbox, - name="Enable xformers support if available", + name="Enable xformers support", value=old_opts.xformers_enabled, - relx=5, + max_width=30, + relx=50, scroll_exit=True, ) + self.nextrely -=1 self.always_use_cpu = self.add_widget_intelligent( npyscreen.Checkbox, name="Force CPU to be used on GPU systems", value=old_opts.always_use_cpu, - relx=5, + relx=80, scroll_exit=True, ) precision = old_opts.precision or ( "float32" if program_opts.full_precision else "auto" ) + self.nextrely +=1 + self.add_widget_intelligent( + npyscreen.TitleFixedText, + name="Floating Point Precision", + begin_entry_at=0, + editable=False, + color="CONTROL", + scroll_exit=True, + ) + self.nextrely -=1 self.precision = self.add_widget_intelligent( - npyscreen.TitleSelectOne, - columns = 2, + SingleSelectColumns, + columns = 3, name="Precision", values=PRECISION_CHOICES, value=PRECISION_CHOICES.index(precision), begin_entry_at=3, - max_height=len(PRECISION_CHOICES) + 1, + max_height=2, + max_width=80, scroll_exit=True, ) self.max_cache_size = self.add_widget_intelligent( @@ -409,16 +382,22 @@ Use cursor arrows to make a checkbox selection, and space to toggle. scroll_exit=True, ) self.nextrely += 1 - self.add_widget_intelligent( - npyscreen.FixedText, - value="Folder to recursively scan for new checkpoints, ControlNets, LoRAs and TI models ( autocompletes, ctrl-N advances):", - editable=False, - color="CONTROL", + self.outdir = self.add_widget_intelligent( + FileBox, + name="Output directory for images ( autocompletes, ctrl-N advances):", + value=str(default_output_dir()), + select_dir=True, + must_exist=False, + use_two_lines=False, + labelColor="GOOD", + begin_entry_at=68, + max_height=3, + scroll_exit=True, ) self.autoimport_dirs = {} self.autoimport_dirs['autoimport_dir'] = self.add_widget_intelligent( FileBox, - name=f'Autoimport Folder', + name=f'Folder to recursively scan for new checkpoints, ControlNets, LoRAs and TI models', value=str(config.root_path / config.autoimport_dir), select_dir=True, must_exist=False, @@ -429,15 +408,6 @@ Use cursor arrows to make a checkbox selection, and space to toggle. scroll_exit=True ) self.nextrely += 1 - self.add_widget_intelligent( - npyscreen.TitleFixedText, - name="== LICENSE ==", - begin_entry_at=0, - editable=False, - color="CONTROL", - scroll_exit=True, - ) - self.nextrely -= 1 label = """BY DOWNLOADING THE STABLE DIFFUSION WEIGHT FILES, YOU AGREE TO HAVE READ AND ACCEPTED THE CREATIVEML RESPONSIBLE AI LICENSE LOCATED AT https://huggingface.co/spaces/CompVis/stable-diffusion-license @@ -466,7 +436,6 @@ https://huggingface.co/spaces/CompVis/stable-diffusion-license CenteredButtonPress, name=label, relx=(window_width - len(label)) // 2, - rely=-3, when_pressed_function=self.on_ok, ) @@ -542,7 +511,7 @@ class EditOptApplication(npyscreen.NPSAppManaged): "MAIN", editOptsForm, name="InvokeAI Startup Options", - cycle_widgets=True, + cycle_widgets=False, ) if not (self.program_opts.skip_sd_weights or self.program_opts.default_only): self.model_select = self.addForm( diff --git a/invokeai/configs/INITIAL_MODELS.yaml b/invokeai/configs/INITIAL_MODELS.yaml index e148ee9b55..1a785cac13 100644 --- a/invokeai/configs/INITIAL_MODELS.yaml +++ b/invokeai/configs/INITIAL_MODELS.yaml @@ -48,10 +48,6 @@ sd-1/main/openjourney: description: An SD 1.5 model fine tuned on Midjourney; prompt with "mdjrny-v4 style" (2.13 GB) repo_id: prompthero/openjourney recommended: False -sd-1/main/portraitplus: - description: An SD-1.5 model trained on close range portraits of people; prompt with "portrait+" (2.13 GB) - repo_id: wavymulder/portraitplus - recommended: False sd-1/main/seek.art_MEGA: repo_id: coreco/seek.art_MEGA description: A general use SD-1.5 "anything" model that supports multiple styles (2.1 GB) @@ -60,10 +56,6 @@ sd-1/main/trinart_stable_diffusion_v2: description: An SD-1.5 model finetuned with ~40K assorted high resolution manga/anime-style images (2.13 GB) repo_id: naclbit/trinart_stable_diffusion_v2 recommended: False -sd-1/main/waifu-diffusion: - description: An SD-1.5 model trained on 680k anime/manga-style images (2.13 GB) - repo_id: hakurei/waifu-diffusion - recommended: False sd-1/controlnet/canny: repo_id: lllyasviel/control_v11p_sd15_canny recommended: True diff --git a/invokeai/frontend/install/model_install.py b/invokeai/frontend/install/model_install.py index c4b19157a4..448ded6318 100644 --- a/invokeai/frontend/install/model_install.py +++ b/invokeai/frontend/install/model_install.py @@ -93,13 +93,7 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): self.nextrely -= 1 self.add_widget_intelligent( npyscreen.FixedText, - value="Use ctrl-N and ctrl-P to move to the ext and

revious fields,", - editable=False, - color="CAUTION", - ) - self.add_widget_intelligent( - npyscreen.FixedText, - value="Use cursor arrows to make a selection, and space to toggle checkboxes.", + value="Use ctrl-N and ctrl-P to move to the ext and

revious fields. Cursor keys navigate, and selects.", editable=False, color="CAUTION", ) @@ -161,33 +155,40 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): BufferBox, name='Log Messages', editable=False, - max_height = 10, + max_height = 8, ) self.nextrely += 1 done_label = "APPLY CHANGES" back_label = "BACK" + cancel_label = "CANCEL" + current_position = self.nextrely if self.multipage: self.back_button = self.add_widget_intelligent( npyscreen.ButtonPress, name=back_label, - rely=-3, when_pressed_function=self.on_back, ) else: + self.nextrely = current_position + self.cancel_button = self.add_widget_intelligent( + npyscreen.ButtonPress, + name=cancel_label, + when_pressed_function=self.on_cancel + ) + self.nextrely = current_position self.ok_button = self.add_widget_intelligent( npyscreen.ButtonPress, name=done_label, relx=(window_width - len(done_label)) // 2, - rely=-3, - when_pressed_function=self.on_execute + when_pressed_function=self.on_execute ) label = "APPLY CHANGES & EXIT" + self.nextrely = current_position self.done = self.add_widget_intelligent( npyscreen.ButtonPress, name=label, - rely=-3, relx=window_width-len(label)-15, when_pressed_function=self.on_done, ) @@ -553,7 +554,7 @@ class AddModelApplication(npyscreen.NPSAppManaged): def onStart(self): npyscreen.setTheme(npyscreen.Themes.DefaultTheme) self.main_form = self.addForm( - "MAIN", addModelsForm, name="Install Stable Diffusion Models", cycle_widgets=True, + "MAIN", addModelsForm, name="Install Stable Diffusion Models", cycle_widgets=False, ) class StderrToMessage(): diff --git a/invokeai/frontend/install/widgets.py b/invokeai/frontend/install/widgets.py index 82d3753eb4..65f1589589 100644 --- a/invokeai/frontend/install/widgets.py +++ b/invokeai/frontend/install/widgets.py @@ -17,8 +17,8 @@ from shutil import get_terminal_size from curses import BUTTON2_CLICKED,BUTTON3_CLICKED # minimum size for UIs -MIN_COLS = 136 -MIN_LINES = 45 +MIN_COLS = 130 +MIN_LINES = 38 # ------------------------------------- def set_terminal_size(columns: int, lines: int): @@ -38,13 +38,13 @@ def set_terminal_size(columns: int, lines: int): ts = get_terminal_size() pause = False if ts.columns < columns: - print('\033[1mThis window is too narrow for the user interface. Please make it wider.\033[0m') + print('\033[1mThis window is too narrow for the user interface.\033[0m') pause = True if ts.lines < lines: - print('\033[1mThis window is too short for the user interface. Please make it taller.\033[0m') + print('\033[1mThis window is too short for the user interface.\033[0m') pause = True if pause: - input('Press any key to continue..') + input('Maximize the window then press any key to continue..') def _set_terminal_size_powershell(width: int, height: int): script=f''' From dbc3d42afc2013df9dd9e586eedb9cdc5d4d85fd Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 25 Jul 2023 22:24:03 -0400 Subject: [PATCH 017/106] install all recommended models with --yes; don't alter starter model screen --- invokeai/backend/install/invokeai_configure.py | 9 ++++----- invokeai/backend/install/model_install_backend.py | 8 +++++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 1f0e39961b..5a84109217 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -588,7 +588,7 @@ def default_user_selections(program_opts: Namespace) -> InstallSelections: # ------------------------------------- def initialize_rootdir(root: Path, yes_to_all: bool = False): - logger.info("** INITIALIZING INVOKEAI RUNTIME DIRECTORY **") + logger.info("Initializing InvokeAI runtime directory") for name in ( "models", "databases", @@ -819,15 +819,14 @@ def main(): sys.exit(0) if opt.skip_support_models: - logger.info("SKIPPING SUPPORT MODEL DOWNLOADS PER USER REQUEST") + logger.info("Skipping support models at user's request") else: - logger.info("CHECKING/UPDATING SUPPORT MODELS") + logger.info("Installing support models") download_support_models() if opt.skip_sd_weights: - logger.warning("SKIPPING DIFFUSION WEIGHTS DOWNLOAD PER USER REQUEST") + logger.warning("Skipping diffusion weights download per user request") elif models_to_download: - logger.info("DOWNLOADING DIFFUSION WEIGHTS") process_and_execute(opt, models_to_download) postscript(errors=errors) diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index e4a24c76b4..f4dfc8fdd2 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -141,15 +141,17 @@ class ModelInstall(object): for i in installed: print(f"{i['model_name']}\t{i['base_model']}\t{i['path']}") - def starter_models(self)->Set[str]: + # logic here a little reversed to maintain backward compatibility + def starter_models(self, all_models: bool=False)->Set[str]: models = set() for key, value in self.datasets.items(): name,base,model_type = ModelManager.parse_key(key) - models.add(key) + if all_models or model_type==ModelType.Main: + models.add(key) return models def recommended_models(self)->Set[str]: - starters = self.starter_models() + starters = self.starter_models(all_models=True) return set([x for x in starters if self.datasets[x].get('recommended',False)]) def default_model(self)->str: From c1456814889688fc1e8ae4c6bdf4bd496280189d Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 00:17:00 -0400 Subject: [PATCH 018/106] bump version number; add SDXL-1.0 to installer --- invokeai/configs/INITIAL_MODELS.yaml | 12 ++++++------ invokeai/version/invokeai_version.py | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/invokeai/configs/INITIAL_MODELS.yaml b/invokeai/configs/INITIAL_MODELS.yaml index e148ee9b55..795c86d809 100644 --- a/invokeai/configs/INITIAL_MODELS.yaml +++ b/invokeai/configs/INITIAL_MODELS.yaml @@ -16,13 +16,13 @@ sd-2/main/stable-diffusion-2-inpainting: description: Stable Diffusion version 2.0 inpainting model (5.21 GB) repo_id: stabilityai/stable-diffusion-2-inpainting recommended: False -sdxl/main/stable-diffusion-xl-base-0-9: - description: Stable Diffusion XL base model (12 GB; access token required) - repo_id: stabilityai/stable-diffusion-xl-base-0.9 +sdxl/main/stable-diffusion-xl-base-1-0: + description: Stable Diffusion XL base model (12 GB) + repo_id: stabilityai/stable-diffusion-xl-base-1.0 recommended: False -sdxl-refiner/main/stable-diffusion-xl-refiner-0-9: - description: Stable Diffusion XL refiner model (12 GB; access token required) - repo_id: stabilityai/stable-diffusion-xl-refiner-0.9 +sdxl-refiner/main/stable-diffusion-xl-refiner-1-0: + description: Stable Diffusion XL refiner model (12 GB) + repo_id: stabilityai/stable-diffusion-xl-refiner-1.0 recommended: False sd-1/main/Analog-Diffusion: description: An SD-1.5 model trained on diverse analog photographs (2.13 GB) diff --git a/invokeai/version/invokeai_version.py b/invokeai/version/invokeai_version.py index 528787cfc8..ebc585fb61 100644 --- a/invokeai/version/invokeai_version.py +++ b/invokeai/version/invokeai_version.py @@ -1 +1 @@ -__version__ = "3.0.0" +__version__ = "3.0.1rc1" From e32cd794f7df71b1fe8fe2856180c64e139eaf7c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 16:24:34 -0400 Subject: [PATCH 019/106] add safetychecker and watermark nodes --- invokeai/app/invocations/image.py | 136 +++++++++++++++++- invokeai/backend/__init__.py | 1 + .../frontend/web/src/services/api/schema.d.ts | 54 +++++-- 3 files changed, 178 insertions(+), 13 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 8405aa6daf..dfb047ef50 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -5,8 +5,12 @@ from typing import Literal, Optional import numpy from PIL import Image, ImageFilter, ImageOps, ImageChops from pydantic import BaseModel, Field +from pathlib import Path from typing import Union +from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker +from transformers import AutoFeatureExtractor + from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import ( BaseInvocation, @@ -14,7 +18,8 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) - +from invokeai.backend.util.devices import choose_torch_device +from invokeai.backend import SilenceWarnings class PILInvocationConfig(BaseModel): """Helper class to provide all PIL invocations with additional config""" @@ -397,7 +402,6 @@ class ImageConvertInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) - class ImageBlurInvocation(BaseInvocation, PILInvocationConfig): """Blurs an image""" @@ -602,7 +606,6 @@ class ImageLerpInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) - class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): """Inverse linear interpolation of all pixels of an image""" @@ -650,3 +653,130 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): width=image_dto.width, height=image_dto.height, ) + +class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): + """Add blur to NSFW-flagged images""" + + # fmt: off + type: Literal["img_nsfw"] = "img_nsfw" + + # Inputs + image: Optional[ImageField] = Field(default=None, description="The image to check") + active: bool = Field(default=True, description="Whether the NSFW checker is active") + # fmt: on + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "title": "Blur NSFW Images", + "tags": ["image", "nsfw", "checker"] + }, + } + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get_pil_image(self.image.image_name) + + if not self.active: + return ImageOutput( + image=ImageField(image_name=self.image.image_name), + width=image.width, + height=image.height, + ) + + config = context.services.configuration + logger = context.services.logger + device = choose_torch_device() + + logger.info("Running NSFW checker") + safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + + features = feature_extractor([image], return_tensors="pt") + features.to(device) + safety_checker.to(device) + + x_image = numpy.array(image).astype(numpy.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) + + logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") + if has_nsfw_concept[0]: + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + + image_dto = context.services.images.create( + image=blurry_image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + else: + return ImageOutput( + image=ImageField(image_name=self.image.image_name), + width=image.width, + height=image.height, + ) + + def _get_caution_img(self)->Image: + import invokeai.assets.web as web_assets + caution = Image.open(Path(web_assets.__path__[0]) / 'caution.png') + return caution.resize((caution.width // 2, caution.height //2)) + +class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): + """ Add an invisible watermark to an image """ + # fmt: off + type: Literal["img_watermark"] = "img_watermark" + + # Inputs + image: Optional[ImageField] = Field(default=None, description="The image to check") + text: str = Field(default='InvokeAI', description="Watermark text") + # fmt: on + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "title": "Add Invisible Watermark", + "tags": ["image", "watermark", "invisible"] + }, + } + + def invoke(self, context: InvocationContext) -> ImageOutput: + import cv2 + from imwatermark import WatermarkEncoder + + image = context.services.images.get_pil_image(self.image.image_name) + bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + wm = self.text + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', wm.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + new_image = Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") + + image_dto = context.services.images.create( + image=new_image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + + + diff --git a/invokeai/backend/__init__.py b/invokeai/backend/__init__.py index ff8b4bc8c5..cb21f1f9ed 100644 --- a/invokeai/backend/__init__.py +++ b/invokeai/backend/__init__.py @@ -13,3 +13,4 @@ from .model_management import ( ModelType, SubModelType, ModelInfo ) from .safety_checker import SafetyChecker +from .model_management.models import SilenceWarnings diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 5cbf1d9c00..05d1f78eea 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1345,7 +1345,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1388,7 +1388,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -1935,6 +1935,40 @@ export type components = { */ image2?: components["schemas"]["ImageField"]; }; + /** + * ImageNSFWBlur + * @description Add blur to NSFW-flagged images + */ + ImageNSFWBlur: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_nsfw + * @enum {string} + */ + type?: "img_nsfw"; + /** + * Image + * @description The image to pass to the NSFW checker + */ + image?: components["schemas"]["ImageField"]; + /** + * Active + * @description Whether the NSFW checker is active + * @default true + */ + active?: boolean; + }; /** * ImageOutput * @description Base class for invocations that output an image @@ -5435,6 +5469,12 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; + /** + * StableDiffusionXLModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion1ModelFormat * @description An enumeration. @@ -5447,12 +5487,6 @@ export type components = { * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionXLModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5563,7 +5597,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5600,7 +5634,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { From bd437513238a48dd1d19b7e43429f548f6dfeac0 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 23:32:08 -0400 Subject: [PATCH 020/106] update linear graphs to perform safety checking and watermarking --- .../controlnet_image_processors.py | 2 +- invokeai/app/invocations/image.py | 161 +++++++----------- invokeai/app/invocations/image_defs.py | 54 ++++++ invokeai/app/invocations/latent.py | 2 +- invokeai/app/invocations/metadata.py | 1 - .../services/board_image_record_storage.py | 2 + invokeai/app/services/config.py | 1 + invokeai/app/services/default_graphs.py | 5 +- invokeai/app/services/images.py | 5 +- .../buildCanvasImageToImageGraph.ts | 36 +++- .../buildCanvasTextToImageGraph.ts | 34 +++- .../buildLinearImageToImageGraph.ts | 24 ++- .../buildLinearTextToImageGraph.ts | 26 ++- .../nodes/util/graphBuilders/constants.ts | 2 + 14 files changed, 243 insertions(+), 112 deletions(-) create mode 100644 invokeai/app/invocations/image_defs.py diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index 911fede8fb..b04c45ae20 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -20,7 +20,7 @@ from ...backend.model_management import BaseModelType, ModelType from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import (BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext) -from .image import ImageOutput, PILInvocationConfig +from .image_defs import ImageOutput, PILInvocationConfig CONTROLNET_DEFAULT_MODELS = [ ########################################### diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index dfb047ef50..cf82148483 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -7,10 +7,9 @@ from PIL import Image, ImageFilter, ImageOps, ImageChops from pydantic import BaseModel, Field from pathlib import Path from typing import Union - +from invokeai.app.invocations.metadata import CoreMetadata from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker from transformers import AutoFeatureExtractor - from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import ( BaseInvocation, @@ -18,53 +17,15 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) +from .image_defs import ( + PILInvocationConfig, + ImageOutput, + MaskOutput, + ) +from ..services.config import InvokeAIAppConfig from invokeai.backend.util.devices import choose_torch_device from invokeai.backend import SilenceWarnings -class PILInvocationConfig(BaseModel): - """Helper class to provide all PIL invocations with additional config""" - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["PIL", "image"], - }, - } - - -class ImageOutput(BaseInvocationOutput): - """Base class for invocations that output an image""" - - # fmt: off - type: Literal["image_output"] = "image_output" - image: ImageField = Field(default=None, description="The output image") - width: int = Field(description="The width of the image in pixels") - height: int = Field(description="The height of the image in pixels") - # fmt: on - - class Config: - schema_extra = {"required": ["type", "image", "width", "height"]} - - -class MaskOutput(BaseInvocationOutput): - """Base class for invocations that output a mask""" - - # fmt: off - type: Literal["mask"] = "mask" - mask: ImageField = Field(default=None, description="The output mask") - width: int = Field(description="The width of the mask in pixels") - height: int = Field(description="The height of the mask in pixels") - # fmt: on - - class Config: - schema_extra = { - "required": [ - "type", - "mask", - ] - } - - class LoadImageInvocation(BaseInvocation): """Load an image and provide it as output.""" @@ -656,13 +617,15 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): """Add blur to NSFW-flagged images""" + DEFAULT_ENABLED = InvokeAIAppConfig.get_config().nsfw_checker # fmt: off type: Literal["img_nsfw"] = "img_nsfw" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") - active: bool = Field(default=True, description="Whether the NSFW checker is active") + enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the NSFW checker is enabled") + metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on class Config(InvocationConfig): @@ -676,55 +639,46 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - if not self.active: - return ImageOutput( - image=ImageField(image_name=self.image.image_name), - width=image.width, - height=image.height, - ) - config = context.services.configuration logger = context.services.logger device = choose_torch_device() - logger.info("Running NSFW checker") - safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - - features = feature_extractor([image], return_tensors="pt") - features.to(device) - safety_checker.to(device) + if self.enabled: + logger.info("Running NSFW checker") + safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') + feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - x_image = numpy.array(image).astype(numpy.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - with SilenceWarnings(): - checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) + features = feature_extractor([image], return_tensors="pt") + features.to(device) + safety_checker.to(device) - logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") - if has_nsfw_concept[0]: - blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) - caution = self._get_caution_img() - blurry_image.paste(caution,(0,0),caution) + x_image = numpy.array(image).astype(numpy.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) - image_dto = context.services.images.create( - image=blurry_image, - image_origin=ResourceOrigin.INTERNAL, - image_category=ImageCategory.GENERAL, - node_id=self.id, - session_id=context.graph_execution_state_id, - is_intermediate=self.is_intermediate, - ) - return ImageOutput( - image=ImageField(image_name=image_dto.image_name), - width=image_dto.width, - height=image_dto.height, - ) - else: - return ImageOutput( - image=ImageField(image_name=self.image.image_name), - width=image.width, - height=image.height, - ) + logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") + if has_nsfw_concept[0]: + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + image = blurry_image + + image_dto = context.services.images.create( + image=image, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + metadata=self.metadata.dict() if self.metadata else None, + ) + + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) def _get_caution_img(self)->Image: import invokeai.assets.web as web_assets @@ -733,12 +687,18 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): """ Add an invisible watermark to an image """ + + # to avoid circular import + DEFAULT_ENABLED = InvokeAIAppConfig.get_config().invisible_watermark + # fmt: off type: Literal["img_watermark"] = "img_watermark" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") text: str = Field(default='InvokeAI', description="Watermark text") + enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the invisible watermark is enabled") + metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on class Config(InvocationConfig): @@ -753,23 +713,28 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): import cv2 from imwatermark import WatermarkEncoder + logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) - bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) - wm = self.text - encoder = WatermarkEncoder() - encoder.set_watermark('bytes', wm.encode('utf-8')) - bgr_encoded = encoder.encode(bgr, 'dwtDct') - new_image = Image.fromarray( - cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) - ).convert("RGBA") + if self.enabled: + logger.info("Running invisible watermarker") + bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + wm = self.text + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', wm.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + new_image = Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") + image = new_image image_dto = context.services.images.create( - image=new_image, + image=image, image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, session_id=context.graph_execution_state_id, is_intermediate=self.is_intermediate, + metadata=self.metadata.dict() if self.metadata else None, ) return ImageOutput( diff --git a/invokeai/app/invocations/image_defs.py b/invokeai/app/invocations/image_defs.py new file mode 100644 index 0000000000..8bab09debf --- /dev/null +++ b/invokeai/app/invocations/image_defs.py @@ -0,0 +1,54 @@ +# Copyright 2023 Lincoln D. Stein and the InvokeAI Team +""" Common classes used by .image and .controlnet; avoids circular import issues """ + +from pydantic import BaseModel, Field +from typing import Literal +from ..models.image import ImageField +from .baseinvocation import ( + BaseInvocationOutput, + InvocationConfig, +) + +class PILInvocationConfig(BaseModel): + """Helper class to provide all PIL invocations with additional config""" + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "tags": ["PIL", "image"], + }, + } + +class ImageOutput(BaseInvocationOutput): + """Base class for invocations that output an image""" + + # fmt: off + type: Literal["image_output"] = "image_output" + image: ImageField = Field(default=None, description="The output image") + width: int = Field(description="The width of the image in pixels") + height: int = Field(description="The height of the image in pixels") + # fmt: on + + class Config: + schema_extra = {"required": ["type", "image", "width", "height"]} + + +class MaskOutput(BaseInvocationOutput): + """Base class for invocations that output a mask""" + + # fmt: off + type: Literal["mask"] = "mask" + mask: ImageField = Field(default=None, description="The output mask") + width: int = Field(description="The width of the mask in pixels") + height: int = Field(description="The height of the mask in pixels") + # fmt: on + + class Config: + schema_extra = { + "required": [ + "type", + "mask", + ] + } + + diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 6082057bd3..69dffef09f 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -501,7 +501,7 @@ class LatentsToImageInvocation(BaseInvocation): vae: VaeField = Field(default=None, description="Vae submodel") tiled: bool = Field( default=False, - description="Decode latents by overlaping tiles(less memory consumption)") + description="Decode latents by overlapping tiles(less memory consumption)") fp32: bool = Field(DEFAULT_PRECISION=='float32', description="Decode in full precision") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index ab02487cdc..b0742d0419 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -11,7 +11,6 @@ from invokeai.app.invocations.baseinvocation import ( from invokeai.app.invocations.controlnet_image_processors import ControlField from invokeai.app.invocations.model import LoRAModelField, MainModelField, VAEModelField - class LoRAMetadataField(BaseModel): """LoRA metadata for an image generated in InvokeAI.""" diff --git a/invokeai/app/services/board_image_record_storage.py b/invokeai/app/services/board_image_record_storage.py index 491972bd32..693b078589 100644 --- a/invokeai/app/services/board_image_record_storage.py +++ b/invokeai/app/services/board_image_record_storage.py @@ -135,6 +135,7 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): board_id: str, image_name: str, ) -> None: + print(f'DEBUG: board_id={board_id}, image_name={image_name}') try: self._lock.acquire() self._cursor.execute( @@ -146,6 +147,7 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): (board_id, image_name, board_id), ) self._conn.commit() + print('got here') except sqlite3.Error as e: self._conn.rollback() raise e diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index b1e4e7ed5d..f2652ddd6b 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -365,6 +365,7 @@ setting environment variables INVOKEAI_. internet_available : bool = Field(default=True, description="If true, attempt to download models on the fly; otherwise only use local models", category='Features') log_tokenization : bool = Field(default=False, description="Enable logging of parsed prompt tokens.", category='Features') nsfw_checker : bool = Field(default=True, description="Enable/disable the NSFW checker", category='Features') + invisible_watermark : bool = Field(default=True, description="Enable/disable the invisible watermark", category='Features') patchmatch : bool = Field(default=True, description="Enable/disable patchmatch inpaint code", category='Features') restore : bool = Field(default=True, description="Enable/disable face restoration code (DEPRECATED)", category='DEPRECATED') diff --git a/invokeai/app/services/default_graphs.py b/invokeai/app/services/default_graphs.py index 92263751b7..22e35d1d6b 100644 --- a/invokeai/app/services/default_graphs.py +++ b/invokeai/app/services/default_graphs.py @@ -1,4 +1,5 @@ from ..invocations.latent import LatentsToImageInvocation, TextToLatentsInvocation +from ..invocations.image import ImageNSFWBlurInvocation from ..invocations.noise import NoiseInvocation from ..invocations.compel import CompelInvocation from ..invocations.params import ParamIntInvocation @@ -24,6 +25,7 @@ def create_text_to_image() -> LibraryGraph: '5': CompelInvocation(id='5'), '6': TextToLatentsInvocation(id='6'), '7': LatentsToImageInvocation(id='7'), + '8': ImageNSFWBlurInvocation(id='8'), }, edges=[ Edge(source=EdgeConnection(node_id='width', field='a'), destination=EdgeConnection(node_id='3', field='width')), @@ -33,6 +35,7 @@ def create_text_to_image() -> LibraryGraph: Edge(source=EdgeConnection(node_id='6', field='latents'), destination=EdgeConnection(node_id='7', field='latents')), Edge(source=EdgeConnection(node_id='4', field='conditioning'), destination=EdgeConnection(node_id='6', field='positive_conditioning')), Edge(source=EdgeConnection(node_id='5', field='conditioning'), destination=EdgeConnection(node_id='6', field='negative_conditioning')), + Edge(source=EdgeConnection(node_id='7', field='image'), destination=EdgeConnection(node_id='8', field='image')), ] ), exposed_inputs=[ @@ -43,7 +46,7 @@ def create_text_to_image() -> LibraryGraph: ExposedNodeInput(node_path='seed', field='a', alias='seed'), ], exposed_outputs=[ - ExposedNodeOutput(node_path='7', field='image', alias='image') + ExposedNodeOutput(node_path='8', field='image', alias='image') ]) diff --git a/invokeai/app/services/images.py b/invokeai/app/services/images.py index dc1b18babe..007f4021d4 100644 --- a/invokeai/app/services/images.py +++ b/invokeai/app/services/images.py @@ -216,16 +216,13 @@ class ImageService(ImageServiceABC): metadata=metadata, session_id=session_id, ) - if board_id is not None: self._services.board_image_records.add_image_to_board( board_id=board_id, image_name=image_name ) - self._services.image_files.save( image_name=image_name, image=image, metadata=metadata, graph=graph ) - image_dto = self.get_dto(image_name) return image_dto @@ -236,7 +233,7 @@ class ImageService(ImageServiceABC): self._services.logger.error("Failed to save image file") raise except Exception as e: - self._services.logger.error("Problem saving image record and file") + self._services.logger.error(f"Problem saving image record and file: {str(e)}") raise e def update( diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 4ef3ff77d2..7920d2638a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -23,6 +23,8 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -104,9 +106,9 @@ export const buildCanvasImageToImageGraph = ( skipped_layers: clipSkip, }, [LATENTS_TO_IMAGE]: { - is_intermediate: !shouldAutoSave, type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, }, [LATENTS_TO_LATENTS]: { type: 'l2l', @@ -126,6 +128,16 @@ export const buildCanvasImageToImageGraph = ( // image_name: initialImage.image_name, // }, }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + is_intermediate: !shouldAutoSave, + type: 'img_watermark', + id: WATERMARKER, + }, }, edges: [ { @@ -168,6 +180,26 @@ export const buildCanvasImageToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: IMAGE_TO_LATENTS, @@ -316,7 +348,7 @@ export const buildCanvasImageToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index d0eabbc14b..88e2f5e70b 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -16,6 +16,8 @@ import { POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -107,6 +109,16 @@ export const buildCanvasTextToImageGraph = ( [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, + is_intermediate: true, + }, + [NSFW_CHECKER]: { + type: 'img_nsfw', + id: NSFW_CHECKER, + is_intermediate: true, + }, + [WATERMARKER]: { + type: 'img_watermark', + id: WATERMARKER, is_intermediate: !shouldAutoSave, }, }, @@ -181,6 +193,26 @@ export const buildCanvasTextToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: NOISE, @@ -221,7 +253,7 @@ export const buildCanvasTextToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index 856ed89e5a..c8df39a4d8 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -22,6 +22,8 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, + NSFW_CHECKER, + WATERMARKER, } from './constants'; /** @@ -185,6 +187,26 @@ export const buildLinearImageToImageGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, { source: { node_id: IMAGE_TO_LATENTS, @@ -362,7 +384,7 @@ export const buildLinearImageToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 7b36f6b391..754edae873 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -16,6 +16,8 @@ import { POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, + NSFW_CHECKER, + WATERMARKER, } from './constants'; export const buildLinearTextToImageGraph = ( @@ -47,7 +49,7 @@ export const buildLinearTextToImageGraph = ( } /** - * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the +v * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node * ids. * @@ -180,6 +182,26 @@ export const buildLinearTextToImageGraph = ( field: 'noise', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }, + { + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }, ], }; @@ -210,7 +232,7 @@ export const buildLinearTextToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: WATERMARKER, field: 'metadata', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index f7d11d109c..8cb9c6d50d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -3,6 +3,8 @@ export const POSITIVE_CONDITIONING = 'positive_conditioning'; export const NEGATIVE_CONDITIONING = 'negative_conditioning'; export const TEXT_TO_LATENTS = 'text_to_latents'; export const LATENTS_TO_IMAGE = 'latents_to_image'; +export const NSFW_CHECKER = 'nsfw_checker'; +export const WATERMARKER = 'invisible_watermark'; export const NOISE = 'noise'; export const RANDOM_INT = 'rand_int'; export const RANGE_OF_SIZE = 'range_of_size'; From b3723d1ccfa6ee1e84942951672d200e13d11847 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Jul 2023 23:41:44 -0400 Subject: [PATCH 021/106] update documentation --- docs/features/CONFIGURATION.md | 24 +++++++++++------------- docs/features/NODES.md | 2 ++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/features/CONFIGURATION.md b/docs/features/CONFIGURATION.md index 68c5ced59b..ccb23ae79a 100644 --- a/docs/features/CONFIGURATION.md +++ b/docs/features/CONFIGURATION.md @@ -136,19 +136,16 @@ command-line options by giving the `--help` argument: ``` (.venv) > invokeai-web --help -usage: InvokeAI [-h] [--host HOST] [--port PORT] [--allow_origins [ALLOW_ORIGINS ...]] [--allow_credentials | --no-allow_credentials] - [--allow_methods [ALLOW_METHODS ...]] [--allow_headers [ALLOW_HEADERS ...]] [--esrgan | --no-esrgan] - [--internet_available | --no-internet_available] [--log_tokenization | --no-log_tokenization] - [--nsfw_checker | --no-nsfw_checker] [--patchmatch | --no-patchmatch] [--restore | --no-restore] - [--always_use_cpu | --no-always_use_cpu] [--free_gpu_mem | --no-free_gpu_mem] [--max_cache_size MAX_CACHE_SIZE] - [--max_vram_cache_size MAX_VRAM_CACHE_SIZE] [--precision {auto,float16,float32,autocast}] - [--sequential_guidance | --no-sequential_guidance] [--xformers_enabled | --no-xformers_enabled] - [--tiled_decode | --no-tiled_decode] [--root ROOT] [--autoimport_dir AUTOIMPORT_DIR] [--lora_dir LORA_DIR] - [--embedding_dir EMBEDDING_DIR] [--controlnet_dir CONTROLNET_DIR] [--conf_path CONF_PATH] [--models_dir MODELS_DIR] - [--legacy_conf_dir LEGACY_CONF_DIR] [--db_dir DB_DIR] [--outdir OUTDIR] [--from_file FROM_FILE] - [--use_memory_db | --no-use_memory_db] [--model MODEL] [--log_handlers [LOG_HANDLERS ...]] - [--log_format {plain,color,syslog,legacy}] [--log_level {debug,info,warning,error,critical}] -... +usage: InvokeAI [-h] [--host HOST] [--port PORT] [--allow_origins [ALLOW_ORIGINS ...]] [--allow_credentials | --no-allow_credentials] [--allow_methods [ALLOW_METHODS ...]] + [--allow_headers [ALLOW_HEADERS ...]] [--esrgan | --no-esrgan] [--internet_available | --no-internet_available] [--log_tokenization | --no-log_tokenization] + [--nsfw_checker | --no-nsfw_checker] [--invisible_watermark | --no-invisible_watermark] [--patchmatch | --no-patchmatch] [--restore | --no-restore] + [--always_use_cpu | --no-always_use_cpu] [--free_gpu_mem | --no-free_gpu_mem] [--max_loaded_models MAX_LOADED_MODELS] [--max_cache_size MAX_CACHE_SIZE] + [--max_vram_cache_size MAX_VRAM_CACHE_SIZE] [--gpu_mem_reserved GPU_MEM_RESERVED] [--precision {auto,float16,float32,autocast}] + [--sequential_guidance | --no-sequential_guidance] [--xformers_enabled | --no-xformers_enabled] [--tiled_decode | --no-tiled_decode] [--root ROOT] + [--autoimport_dir AUTOIMPORT_DIR] [--lora_dir LORA_DIR] [--embedding_dir EMBEDDING_DIR] [--controlnet_dir CONTROLNET_DIR] [--conf_path CONF_PATH] + [--models_dir MODELS_DIR] [--legacy_conf_dir LEGACY_CONF_DIR] [--db_dir DB_DIR] [--outdir OUTDIR] [--from_file FROM_FILE] + [--use_memory_db | --no-use_memory_db] [--model MODEL] [--log_handlers [LOG_HANDLERS ...]] [--log_format {plain,color,syslog,legacy}] + [--log_level {debug,info,warning,error,critical}] [--version | --no-version] ``` ## The Configuration Settings @@ -179,6 +176,7 @@ These configuration settings allow you to enable and disable various InvokeAI fe | `internet_available` | `true` | When a resource is not available locally, try to fetch it via the internet | | `log_tokenization` | `false` | Before each text2image generation, print a color-coded representation of the prompt to the console; this can help understand why a prompt is not working as expected | | `nsfw_checker` | `true` | Activate the NSFW checker to blur out risque images | +| `invisible_watermark` | `true` | Write an invisible watermark 'InvokeAI' into generated images for use by AI image detectors | | `patchmatch` | `true` | Activate the "patchmatch" algorithm for improved inpainting | | `restore` | `true` | Activate the facial restoration features (DEPRECATED; restoration features will be removed in 3.0.0) | diff --git a/docs/features/NODES.md b/docs/features/NODES.md index 94663d9f1d..eef71eb974 100644 --- a/docs/features/NODES.md +++ b/docs/features/NODES.md @@ -61,11 +61,13 @@ A noise scheduler (eg. DPM++ 2M Karras) schedules the subtraction of noise from | ImageInverseLerp | Inverse linear interpolation of all pixels of an image | | ImageLerp | Linear interpolation of all pixels of an image | | ImageMultiply | Multiplies two images together using `PIL.ImageChops.Multiply()` | +| ImageNSFWBlurInvocation | Detects and blurs images that may contain sexually explicit content | | ImagePaste | Pastes an image into another image | | ImageProcessor | Base class for invocations that reprocess images for ControlNet | | ImageResize | Resizes an image to specific dimensions | | ImageScale | Scales an image by a factor | | ImageToLatents | Scales latents by a given factor | +| ImageWatermarkInvocation | Adds an invisible watermark to images | | InfillColor | Infills transparent areas of an image with a solid color | | InfillPatchMatch | Infills transparent areas of an image using the PatchMatch algorithm | | InfillTile | Infills transparent areas of an image with tiles of the image | From 844d37c642aa7638cc5a987a39a902785c8c918e Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 08:25:39 -0400 Subject: [PATCH 022/106] rebuild schema --- .../frontend/web/dist/assets/App-06ea4e5e.js | 169 ---------- .../dist/assets/MantineProvider-b5842fc1.js | 1 - .../assets/ThemeLocaleProvider-a6269375.js | 302 ------------------ .../web/dist/assets/index-e2437518.js | 125 -------- invokeai/frontend/web/dist/index.html | 2 +- invokeai/frontend/web/dist/locales/en.json | 15 +- .../frontend/web/src/services/api/schema.d.ts | 94 +++++- 7 files changed, 88 insertions(+), 620 deletions(-) delete mode 100644 invokeai/frontend/web/dist/assets/App-06ea4e5e.js delete mode 100644 invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js delete mode 100644 invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js delete mode 100644 invokeai/frontend/web/dist/assets/index-e2437518.js diff --git a/invokeai/frontend/web/dist/assets/App-06ea4e5e.js b/invokeai/frontend/web/dist/assets/App-06ea4e5e.js deleted file mode 100644 index a7597f8d24..0000000000 --- a/invokeai/frontend/web/dist/assets/App-06ea4e5e.js +++ /dev/null @@ -1,169 +0,0 @@ -import{t as Gg,r as mE,i as gE,a as yu,b as m4,S as g4,c as v4,d as y4,e as qg,f as b4,g as Kg,h as vE,j as yE,k as bE,l as xE,m as wE,n as SE,o as CE,p as _E,q as kE,s as f,u as rt,v as a,I as io,w as cr,x as Wn,y as He,z as Mt,A as bu,B as gt,C as xu,D as Ko,E as Jr,F as uo,G as wr,H as jE,J as PE,K as Ga,L as Kc,M as Li,N as sn,O as Ca,P as Gp,Q as ov,R as jl,T as sv,U as wu,_ as Xn,V as IE,W as z,X as x4,Y as w4,Z as Yb,$ as S4,a0 as qp,a1 as av,a2 as Zl,a3 as EE,a4 as OE,a5 as ME,a6 as RE,a7 as C4,a8 as _4,a9 as Kp,aa as Cf,ab as DE,ac as AE,ad as Vm,ae as Xb,af as TE,ag as k4,ah as j4,ai as ec,aj as Jb,ak as Zb,al as NE,am as $E,an as zE,ao as LE,ap as BE,aq as Um,ar as sl,as as Gm,at as FE,au as HE,av as WE,aw as iv,ax as Qp,ay as _f,az as VE,aA as P4,aB as I4,aC as UE,aD as Su,aE as lv,aF as GE,aG as qE,aH as KE,aI as QE,aJ as YE,aK as XE,aL as JE,aM as ex,aN as he,aO as ZE,aP as Gt,aQ as $e,aR as L,aS as zs,aT as mt,aU as Ke,aV as $,aW as Sr,aX as tc,aY as ue,aZ as E4,a_ as xo,a$ as O4,b0 as M4,b1 as nc,b2 as xs,b3 as cv,b4 as e8,b5 as t8,b6 as n8,b7 as al,b8 as Cn,b9 as kf,ba as Lc,bb as r8,bc as o8,bd as s8,be as a8,bf as Ve,bg as i8,bh as je,bi as Z,bj as tx,bk as qa,bl as Ka,bm as uv,bn as jf,bo as l8,bp as c8,bq as Yp,br as Xp,bs as dv,bt as Uo,bu as u8,bv as rc,bw as R4,bx as D4,by as d8,bz as f8,bA as p8,bB as h8,bC as fv,bD as Go,bE as ws,bF as gs,bG as Ct,bH as Pf,bI as m8,bJ as oc,bK as g8,bL as v8,bM as Id,bN as Ed,bO as Qc,bP as Yc,bQ as nx,bR as If,bS as rx,bT as Ef,bU as ox,bV as Qg,bW as sx,bX as Yg,bY as ax,bZ as Of,b_ as ix,b$ as zl,c0 as lx,c1 as Ll,c2 as cx,c3 as Mf,c4 as pv,c5 as hv,c6 as A4,c7 as mv,c8 as gv,c9 as y8,ca as b8,cb as Jp,cc as xl,cd as x8,ce as w8,cf as gf,cg as S8,ch as C8,ci as _8,cj as Rf,ck as T4,cl as k8,cm as N4,cn as $4,co as Ws,cp as ux,cq as j8,cr as Xg,cs as Vs,ct as P8,cu as z4,cv as dx,cw as I8,cx as E8,cy as O8,cz as pr,cA as L4,cB as M8,cC as R8,cD as D8,cE as A8,cF as vv,cG as Bn,cH as B4,cI as F4,cJ as T8,cK as fx,cL as N8,cM as $8,cN as z8,cO as L8,cP as B8,cQ as F8,cR as H4,cS as H8,cT as W8,cU as V8,cV as U8,cW as G8,cX as q8,cY as K8,cZ as W4,c_ as Q8,c$ as Y8,d0 as X8,d1 as J8,d2 as Z8,d3 as e7,d4 as t7,d5 as n7,d6 as r7,d7 as o7,d8 as s7,d9 as V4,da as Qo,db as a7,dc as i7,dd as l7,de as Zp,df as c7,dg as yv,dh as U4,di as u7,dj as d7,dk as f7,dl as Yo,dm as p7,dn as px,dp as hx,dq as Pl,dr as h7,ds as m7,dt as g7,du as v7,dv as y7,dw as b7,dx as x7,dy as w7,dz as S7,dA as C7,dB as _7,dC as k7,dD as bv,dE as xv,dF as j7,dG as mx,dH as P7,dI as gx,dJ as I7,dK as E7,dL as vx,dM as yx,dN as O7,dO as bx,dP as M7,dQ as R7,dR as D7,dS as A7,dT as T7,dU as N7,dV as G4,dW as q4,dX as K4,dY as Q4,dZ as Y4,d_ as Cu,d$ as xx,e0 as $7,e1 as z7,e2 as Vn,e3 as Ei,e4 as L7,e5 as X4,e6 as wx,e7 as B7,e8 as cs,e9 as F7,ea as H7,eb as J4,ec as Z4,ed as W7,ee as e3,ef as t3,eg as _u,eh as n3,ei as r3,ej as Sx,ek as V7,el as Cx,em as U7,en as o3,eo as G7,ep as eh,eq as _x,er as s3,es as q7,et as kx,eu as a3,ev as qo,ew as K7,ex as Q7,ey as i3,ez as jx,eA as Y7,eB as X7,eC as J7,eD as Z7,eE as eO,eF as tO,eG as nO,eH as rO,eI as oO,eJ as sO,eK as aO,eL as iO,eM as lO,eN as cO,eO as uO,eP as dO,eQ as fO,eR as pO,eS as hO,eT as mO,eU as gO,eV as Px,eW as vf,eX as vO,eY as Df,eZ as l3,e_ as ou,e$ as yO,f0 as bO,f1 as Hs,f2 as c3,f3 as wv,f4 as ku,f5 as xO,f6 as wO,f7 as SO,f8 as ma,f9 as u3,fa as CO,fb as _O,fc as d3,fd as kO,fe as jO,ff as PO,fg as IO,fh as EO,fi as OO,fj as MO,fk as RO,fl as DO,fm as AO,fn as Ix,fo as TO,fp as NO,fq as $O,fr as zO,fs as LO,ft as BO,fu as qm,fv as Bs,fw as Od,fx as Km,fy as Qm,fz as Md,fA as Ex,fB as Jg,fC as FO,fD as HO,fE as WO,fF as VO,fG as Af,fH as f3,fI as p3,fJ as UO,fK as GO,fL as h3,fM as m3,fN as g3,fO as v3,fP as y3,fQ as b3,fR as x3,fS as w3,fT as Il,fU as El,fV as S3,fW as C3,fX as qO,fY as _3,fZ as k3,f_ as j3,f$ as P3,g0 as I3,g1 as E3,g2 as Sv,g3 as KO,g4 as QO,g5 as Ox,g6 as YO,g7 as XO,g8 as Tf,g9 as Mx,ga as Rx,gb as Dx,gc as Ax,gd as JO,ge as ZO,gf as eM,gg as tM,gh as nM,gi as rM,gj as oM,gk as sM,gl as aM}from"./index-e2437518.js";import{m as Cv,u as O3,a as _a,b as iM,r as ze,f as lM,g as Tx,c as Tt,d as mr}from"./MantineProvider-b5842fc1.js";function cM(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var Nx=1/0,uM=17976931348623157e292;function Ym(e){if(!e)return e===0?e:0;if(e=Gg(e),e===Nx||e===-Nx){var t=e<0?-1:1;return t*uM}return e===e?e:0}var dM=function(){return mE.Date.now()};const Xm=dM;var fM="Expected a function",pM=Math.max,hM=Math.min;function mM(e,t,n){var r,o,s,i,u,d,p=0,h=!1,g=!1,v=!0;if(typeof e!="function")throw new TypeError(fM);t=Gg(t)||0,gE(n)&&(h=!!n.leading,g="maxWait"in n,s=g?pM(Gg(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,D=o;return r=o=void 0,p=O,i=e.apply(D,R),i}function S(O){return p=O,u=setTimeout(_,t),h?b(O):i}function x(O){var R=O-d,D=O-p,T=t-R;return g?hM(T,s-D):T}function C(O){var R=O-d,D=O-p;return d===void 0||R>=t||R<0||g&&D>=s}function _(){var O=Xm();if(C(O))return k(O);u=setTimeout(_,x(O))}function k(O){return u=void 0,v&&r?b(O):(r=o=void 0,i)}function P(){u!==void 0&&clearTimeout(u),p=0,r=d=o=u=void 0}function I(){return u===void 0?i:k(Xm())}function E(){var O=Xm(),R=C(O);if(r=arguments,o=this,d=O,R){if(u===void 0)return S(d);if(g)return clearTimeout(u),u=setTimeout(_,t),b(d)}return u===void 0&&(u=setTimeout(_,t)),i}return E.cancel=P,E.flush=I,E}var gM=200;function vM(e,t,n,r){var o=-1,s=v4,i=!0,u=e.length,d=[],p=t.length;if(!u)return d;n&&(t=yu(t,m4(n))),r?(s=y4,i=!1):t.length>=gM&&(s=qg,i=!1,t=new g4(t));e:for(;++o=120&&h.length>=120)?new g4(i&&h):void 0}h=e[0];var g=-1,v=u[0];e:for(;++ga.jsx(io,{ref:d,viewBox:t,...o,...u,children:s.length?s:a.jsx("path",{fill:"currentColor",d:n})}));return i.displayName=r,i}var AM=Object.defineProperty,TM=(e,t,n)=>t in e?AM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lr=(e,t,n)=>(TM(e,typeof t!="symbol"?t+"":t,n),n);function zx(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var NM=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Lx(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Bx(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var Zg=typeof window<"u"?f.useLayoutEffect:f.useEffect,Nf=e=>e,$M=class{constructor(){lr(this,"descendants",new Map),lr(this,"register",e=>{if(e!=null)return NM(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),lr(this,"unregister",e=>{this.descendants.delete(e);const t=zx(Array.from(this.descendants.keys()));this.assignIndex(t)}),lr(this,"destroy",()=>{this.descendants.clear()}),lr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),lr(this,"count",()=>this.descendants.size),lr(this,"enabledCount",()=>this.enabledValues().length),lr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),lr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),lr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),lr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),lr(this,"first",()=>this.item(0)),lr(this,"firstEnabled",()=>this.enabledItem(0)),lr(this,"last",()=>this.item(this.descendants.size-1)),lr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),lr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),lr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),lr(this,"next",(e,t=!0)=>{const n=Lx(e,this.count(),t);return this.item(n)}),lr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Lx(r,this.enabledCount(),t);return this.enabledItem(o)}),lr(this,"prev",(e,t=!0)=>{const n=Bx(e,this.count()-1,t);return this.item(n)}),lr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Bx(r,this.enabledCount()-1,t);return this.enabledItem(o)}),lr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=zx(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function zM(){const e=f.useRef(new $M);return Zg(()=>()=>e.current.destroy()),e.current}var[LM,M3]=cr({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function BM(e){const t=M3(),[n,r]=f.useState(-1),o=f.useRef(null);Zg(()=>()=>{o.current&&t.unregister(o.current)},[]),Zg(()=>{if(!o.current)return;const i=Number(o.current.dataset.index);n!=i&&!Number.isNaN(i)&&r(i)});const s=Nf(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:Wn(s,o)}}function kv(){return[Nf(LM),()=>Nf(M3()),()=>zM(),o=>BM(o)]}var[FM,th]=cr({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[HM,jv]=cr({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[WM,_se,VM,UM]=kv(),Bc=rt(function(t,n){const{getButtonProps:r}=jv(),o=r(t,n),i={display:"flex",alignItems:"center",width:"100%",outline:0,...th().button};return a.jsx(He.button,{...o,className:Mt("chakra-accordion__button",t.className),__css:i})});Bc.displayName="AccordionButton";function GM(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...i}=e;QM(e),YM(e);const u=VM(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,g]=bu({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:g,htmlProps:i,getAccordionItemProps:b=>{let S=!1;return b!==null&&(S=Array.isArray(h)?h.includes(b):h===b),{isOpen:S,onChange:C=>{if(b!==null)if(o&&Array.isArray(h)){const _=C?h.concat(b):h.filter(k=>k!==b);g(_)}else C?g(b):s&&g(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:u}}var[qM,Pv]=cr({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function KM(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:i}=Pv(),u=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,g=`accordion-panel-${p}`;XM(e);const{register:v,index:b,descendants:S}=UM({disabled:t&&!n}),{isOpen:x,onChange:C}=s(b===-1?null:b);JM({isOpen:x,isDisabled:t});const _=()=>{C==null||C(!0)},k=()=>{C==null||C(!1)},P=f.useCallback(()=>{C==null||C(!x),i(b)},[b,i,x,C]),I=f.useCallback(D=>{const B={ArrowDown:()=>{const W=S.nextEnabled(b);W==null||W.node.focus()},ArrowUp:()=>{const W=S.prevEnabled(b);W==null||W.node.focus()},Home:()=>{const W=S.firstEnabled();W==null||W.node.focus()},End:()=>{const W=S.lastEnabled();W==null||W.node.focus()}}[D.key];B&&(D.preventDefault(),B(D))},[S,b]),E=f.useCallback(()=>{i(b)},[i,b]),O=f.useCallback(function(T={},B=null){return{...T,type:"button",ref:Wn(v,u,B),id:h,disabled:!!t,"aria-expanded":!!x,"aria-controls":g,onClick:gt(T.onClick,P),onFocus:gt(T.onFocus,E),onKeyDown:gt(T.onKeyDown,I)}},[h,t,x,P,E,I,g,v]),R=f.useCallback(function(T={},B=null){return{...T,ref:B,role:"region",id:g,"aria-labelledby":h,hidden:!x}},[h,x,g]);return{isOpen:x,isDisabled:t,isFocusable:n,onOpen:_,onClose:k,getButtonProps:O,getPanelProps:R,htmlProps:o}}function QM(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;xu({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function YM(e){xu({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function XM(e){xu({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. - `})}function JM(e){xu({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Fc(e){const{isOpen:t,isDisabled:n}=jv(),{reduceMotion:r}=Pv(),o=Mt("chakra-accordion__icon",e.className),s=th(),i={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return a.jsx(io,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:i,...e,children:a.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Fc.displayName="AccordionIcon";var Hc=rt(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...i}=KM(t),d={...th().container,overflowAnchor:"none"},p=f.useMemo(()=>i,[i]);return a.jsx(HM,{value:p,children:a.jsx(He.div,{ref:n,...s,className:Mt("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!i.isOpen,isDisabled:!!i.isDisabled}):r})})});Hc.displayName="AccordionItem";var wi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},Oc={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function e0(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return Oc.slideRight;case"left":return Oc.slideLeft;case"bottom":return Oc.slideDown;case"top":return Oc.slideUp;default:return Oc.slideRight}}var Ci={enter:{duration:.2,ease:wi.easeOut},exit:{duration:.1,ease:wi.easeIn}},us={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},ZM=e=>e!=null&&parseInt(e.toString(),10)>0,Fx={exit:{height:{duration:.2,ease:wi.ease},opacity:{duration:.3,ease:wi.ease}},enter:{height:{duration:.3,ease:wi.ease},opacity:{duration:.4,ease:wi.ease}}},eR={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:ZM(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Fx.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:us.enter(Fx.enter,o)}}},nh=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:i="auto",style:u,className:d,transition:p,transitionEnd:h,...g}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const k=setTimeout(()=>{b(!0)});return()=>clearTimeout(k)},[]),xu({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const S=parseFloat(s.toString())>0,x={startingHeight:s,endingHeight:i,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:S?"block":"none"}}},C=r?n:!0,_=n||r?"enter":"exit";return a.jsx(Ko,{initial:!1,custom:x,children:C&&a.jsx(Jr.div,{ref:t,...g,className:Mt("chakra-collapse",d),style:{overflow:"hidden",display:"block",...u},custom:x,variants:eR,initial:r?"exit":!1,animate:_,exit:"exit"})})});nh.displayName="Collapse";var tR={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:us.exit(Ci.exit,n),transitionEnd:t==null?void 0:t.exit}}},R3={initial:"exit",animate:"enter",exit:"exit",variants:tR},nR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:i,transitionEnd:u,delay:d,...p}=t,h=o||r?"enter":"exit",g=r?o&&r:!0,v={transition:i,transitionEnd:u,delay:d};return a.jsx(Ko,{custom:v,children:g&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-fade",s),custom:v,...R3,animate:h,...p})})});nR.displayName="Fade";var rR={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Ci.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:e==null?void 0:e.enter}}},D3={initial:"exit",animate:"enter",exit:"exit",variants:rR},oR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:i=.95,className:u,transition:d,transitionEnd:p,delay:h,...g}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",S={initialScale:i,reverse:s,transition:d,transitionEnd:p,delay:h};return a.jsx(Ko,{custom:S,children:v&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-offset-slide",u),...D3,animate:b,custom:S,...g})})});oR.displayName="ScaleFade";var sR={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:us.exit(Ci.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:us.enter(Ci.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var i;const u={x:t,y:e};return{opacity:0,transition:(i=n==null?void 0:n.exit)!=null?i:us.exit(Ci.exit,s),...o?{...u,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...u,...r==null?void 0:r.exit}}}}},t0={initial:"initial",animate:"enter",exit:"exit",variants:sR},aR=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:i,offsetX:u=0,offsetY:d=8,transition:p,transitionEnd:h,delay:g,...v}=t,b=r?o&&r:!0,S=o||r?"enter":"exit",x={offsetX:u,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:g};return a.jsx(Ko,{custom:x,children:b&&a.jsx(Jr.div,{ref:n,className:Mt("chakra-offset-slide",i),custom:x,...t0,animate:S,...v})})});aR.displayName="SlideFade";var Hx={exit:{duration:.15,ease:wi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},iR={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=e0({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:us.exit(Hx.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=e0({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:us.enter(Hx.enter,r),transitionEnd:t==null?void 0:t.enter}}},A3=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:i,className:u,transition:d,transitionEnd:p,delay:h,motionProps:g,...v}=t,b=e0({direction:r}),S=Object.assign({position:"fixed"},b.position,o),x=s?i&&s:!0,C=i||s?"enter":"exit",_={transitionEnd:p,transition:d,direction:r,delay:h};return a.jsx(Ko,{custom:_,children:x&&a.jsx(Jr.div,{...v,ref:n,initial:"exit",className:Mt("chakra-slide",u),animate:C,exit:"exit",custom:_,variants:iR,style:S,...g})})});A3.displayName="Slide";var Wc=rt(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:i}=Pv(),{getPanelProps:u,isOpen:d}=jv(),p=u(s,n),h=Mt("chakra-accordion__panel",r),g=th();i||delete p.hidden;const v=a.jsx(He.div,{...p,__css:g.panel,className:h});return i?v:a.jsx(nh,{in:d,...o,children:v})});Wc.displayName="AccordionPanel";var T3=rt(function({children:t,reduceMotion:n,...r},o){const s=uo("Accordion",r),i=wr(r),{htmlProps:u,descendants:d,...p}=GM(i),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return a.jsx(WM,{value:d,children:a.jsx(qM,{value:h,children:a.jsx(FM,{value:s,children:a.jsx(He.div,{ref:o,...u,className:Mt("chakra-accordion",r.className),__css:s.root,children:t})})})})});T3.displayName="Accordion";var lR={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},cR={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},Yn=rt(function(t,n){const{size:r,colorScheme:o,variant:s,className:i,spacing:u="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...g}=t,v=Mt("chakra-button__group",i),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let S={display:"inline-flex",...d?lR[h]:cR[h](u)};const x=h==="vertical";return a.jsx(jE,{value:b,children:a.jsx(He.div,{ref:n,role:"group",__css:S,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:x?"column":void 0,...g})})});Yn.displayName="ButtonGroup";var[kse,uR]=cr({name:"CheckboxGroupContext",strict:!1});function dR(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function fR(e){return a.jsx(He.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:a.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function pR(e){return a.jsx(He.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:a.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function hR(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?pR:fR;return n||t?a.jsx(He.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:a.jsx(o,{...r})}):null}var Iv={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},N3=He("span",{baseStyle:Iv});N3.displayName="VisuallyHidden";var mR=He("input",{baseStyle:Iv});mR.displayName="VisuallyHiddenInput";var Wx=!1,Pu=null,Oi=!1,n0=!1,r0=new Set;function Ev(e,t){r0.forEach(n=>n(e,t))}var gR=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function vR(e){return!(e.metaKey||!gR&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Vx(e){Oi=!0,vR(e)&&(Pu="keyboard",Ev("keyboard",e))}function ll(e){if(Pu="pointer",e.type==="mousedown"||e.type==="pointerdown"){Oi=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;Ev("pointer",e)}}function yR(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function bR(e){yR(e)&&(Oi=!0,Pu="virtual")}function xR(e){e.target===window||e.target===document||(!Oi&&!n0&&(Pu="virtual",Ev("virtual",e)),Oi=!1,n0=!1)}function wR(){Oi=!1,n0=!0}function Ux(){return Pu!=="pointer"}function SR(){if(typeof window>"u"||Wx)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){Oi=!0,e.apply(this,n)},document.addEventListener("keydown",Vx,!0),document.addEventListener("keyup",Vx,!0),document.addEventListener("click",bR,!0),window.addEventListener("focus",xR,!0),window.addEventListener("blur",wR,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",ll,!0),document.addEventListener("pointermove",ll,!0),document.addEventListener("pointerup",ll,!0)):(document.addEventListener("mousedown",ll,!0),document.addEventListener("mousemove",ll,!0),document.addEventListener("mouseup",ll,!0)),Wx=!0}function $3(e){SR(),e(Ux());const t=()=>e(Ux());return r0.add(t),()=>{r0.delete(t)}}function CR(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function z3(e={}){const t=PE(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:i,onBlur:u,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:g,isFocusable:v,onChange:b,isIndeterminate:S,name:x,value:C,tabIndex:_=void 0,"aria-label":k,"aria-labelledby":P,"aria-invalid":I,...E}=e,O=CR(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=Ga(b),D=Ga(u),T=Ga(d),[B,W]=f.useState(!1),[J,F]=f.useState(!1),[N,G]=f.useState(!1),[K,M]=f.useState(!1);f.useEffect(()=>$3(W),[]);const U=f.useRef(null),[V,ee]=f.useState(!0),[ie,xe]=f.useState(!!h),me=g!==void 0,ae=me?g:ie,te=f.useCallback(ge=>{if(r||n){ge.preventDefault();return}me||xe(ae?ge.target.checked:S?!0:ge.target.checked),R==null||R(ge)},[r,n,ae,me,S,R]);Kc(()=>{U.current&&(U.current.indeterminate=!!S)},[S]),Li(()=>{n&&F(!1)},[n,F]),Kc(()=>{const ge=U.current;ge!=null&&ge.form&&(ge.form.onreset=()=>{xe(!!h)})},[]);const H=n&&!v,re=f.useCallback(ge=>{ge.key===" "&&M(!0)},[M]),pe=f.useCallback(ge=>{ge.key===" "&&M(!1)},[M]);Kc(()=>{if(!U.current)return;U.current.checked!==ae&&xe(U.current.checked)},[U.current]);const ne=f.useCallback((ge={},_e=null)=>{const We=Le=>{J&&Le.preventDefault(),M(!0)};return{...ge,ref:_e,"data-active":sn(K),"data-hover":sn(N),"data-checked":sn(ae),"data-focus":sn(J),"data-focus-visible":sn(J&&B),"data-indeterminate":sn(S),"data-disabled":sn(n),"data-invalid":sn(s),"data-readonly":sn(r),"aria-hidden":!0,onMouseDown:gt(ge.onMouseDown,We),onMouseUp:gt(ge.onMouseUp,()=>M(!1)),onMouseEnter:gt(ge.onMouseEnter,()=>G(!0)),onMouseLeave:gt(ge.onMouseLeave,()=>G(!1))}},[K,ae,n,J,B,N,S,s,r]),ve=f.useCallback((ge={},_e=null)=>({...O,...ge,ref:Wn(_e,We=>{We&&ee(We.tagName==="LABEL")}),onClick:gt(ge.onClick,()=>{var We;V||((We=U.current)==null||We.click(),requestAnimationFrame(()=>{var Le;(Le=U.current)==null||Le.focus({preventScroll:!0})}))}),"data-disabled":sn(n),"data-checked":sn(ae),"data-invalid":sn(s)}),[O,n,ae,s,V]),de=f.useCallback((ge={},_e=null)=>({...ge,ref:Wn(U,_e),type:"checkbox",name:x,value:C,id:i,tabIndex:_,onChange:gt(ge.onChange,te),onBlur:gt(ge.onBlur,D,()=>F(!1)),onFocus:gt(ge.onFocus,T,()=>F(!0)),onKeyDown:gt(ge.onKeyDown,re),onKeyUp:gt(ge.onKeyUp,pe),required:o,checked:ae,disabled:H,readOnly:r,"aria-label":k,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:Iv}),[x,C,i,te,D,T,re,pe,o,ae,H,r,k,P,I,s,p,n,_]),Ce=f.useCallback((ge={},_e=null)=>({...ge,ref:_e,onMouseDown:gt(ge.onMouseDown,_R),"data-disabled":sn(n),"data-checked":sn(ae),"data-invalid":sn(s)}),[ae,n,s]);return{state:{isInvalid:s,isFocused:J,isChecked:ae,isActive:K,isHovered:N,isIndeterminate:S,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:ve,getCheckboxProps:ne,getInputProps:de,getLabelProps:Ce,htmlProps:O}}function _R(e){e.preventDefault(),e.stopPropagation()}var kR={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},jR={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},PR=Ca({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),IR=Ca({from:{opacity:0},to:{opacity:1}}),ER=Ca({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),L3=rt(function(t,n){const r=uR(),o={...r,...t},s=uo("Checkbox",o),i=wr(t),{spacing:u="0.5rem",className:d,children:p,iconColor:h,iconSize:g,icon:v=a.jsx(hR,{}),isChecked:b,isDisabled:S=r==null?void 0:r.isDisabled,onChange:x,inputProps:C,..._}=i;let k=b;r!=null&&r.value&&i.value&&(k=r.value.includes(i.value));let P=x;r!=null&&r.onChange&&i.value&&(P=Gp(r.onChange,x));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:D}=z3({..._,isDisabled:S,isChecked:k,onChange:P}),T=dR(I.isChecked),B=f.useMemo(()=>({animation:T?I.isIndeterminate?`${IR} 20ms linear, ${ER} 200ms linear`:`${PR} 200ms linear`:void 0,fontSize:g,color:h,...s.icon}),[h,g,T,I.isIndeterminate,s.icon]),W=f.cloneElement(v,{__css:B,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return a.jsxs(He.label,{__css:{...jR,...s.container},className:Mt("chakra-checkbox",d),...D(),children:[a.jsx("input",{className:"chakra-checkbox__input",...E(C,n)}),a.jsx(He.span,{__css:{...kR,...s.control},className:"chakra-checkbox__control",...O(),children:W}),p&&a.jsx(He.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:u,...s.label},children:p})]})});L3.displayName="Checkbox";var[OR,B3]=cr({name:"EditableStylesContext",errorMessage:`useEditableStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[MR,F3]=cr({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),H3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},W3=rt(function(t,n){const{getInputProps:r}=F3(),o=B3(),s=r(t,n),i=Mt("chakra-editable__input",t.className);return a.jsx(He.input,{...s,__css:{outline:0,...H3,...o.input},className:i})});W3.displayName="EditableInput";var V3=rt(function(t,n){const{getPreviewProps:r}=F3(),o=B3(),s=r(t,n),i=Mt("chakra-editable__preview",t.className);return a.jsx(He.span,{...s,__css:{cursor:"text",display:"inline-block",...H3,...o.preview},className:i})});V3.displayName="EditablePreview";function RR(e){return"current"in e}var U3=()=>typeof window<"u";function DR(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var AR=e=>U3()&&e.test(navigator.vendor),TR=e=>U3()&&e.test(DR()),NR=()=>TR(/mac|iphone|ipad|ipod/i),$R=()=>NR()&&AR(/apple/i);function G3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,i;return(i=(s=t.current)==null?void 0:s.ownerDocument)!=null?i:document};ov(o,"pointerdown",s=>{if(!$R()||!r)return;const i=s.target,d=(n??[t]).some(p=>{const h=RR(p)?p.current:p;return(h==null?void 0:h.contains(i))||h===i});o().activeElement!==i&&d&&(s.preventDefault(),i.focus())})}function Gx(e,t){return e?e===t||e.contains(t):!1}function zR(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:i,defaultValue:u,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:g=!0,placeholder:v,onEdit:b,finalFocusRef:S,...x}=e,C=Ga(b),_=!!(d&&!i),[k,P]=f.useState(_),[I,E]=bu({defaultValue:u||"",value:s,onChange:t}),[O,R]=f.useState(I),D=f.useRef(null),T=f.useRef(null),B=f.useRef(null),W=f.useRef(null),J=f.useRef(null);G3({ref:D,enabled:k,elements:[W,J]});const F=!k&&!i;Kc(()=>{var ne,ve;k&&((ne=D.current)==null||ne.focus(),g&&((ve=D.current)==null||ve.select()))},[]),Li(()=>{var ne,ve,de,Ce;if(!k){S?(ne=S.current)==null||ne.focus():(ve=B.current)==null||ve.focus();return}(de=D.current)==null||de.focus(),g&&((Ce=D.current)==null||Ce.select()),C==null||C()},[k,C,g]);const N=f.useCallback(()=>{F&&P(!0)},[F]),G=f.useCallback(()=>{R(I)},[I]),K=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),M=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(k)return;const ne=D.current;(ne==null?void 0:ne.ownerDocument.activeElement)===ne&&(ne==null||ne.blur())},[k]);const U=f.useCallback(ne=>{E(ne.currentTarget.value)},[E]),V=f.useCallback(ne=>{const ve=ne.key,Ce={Escape:K,Enter:Re=>{!Re.shiftKey&&!Re.metaKey&&M()}}[ve];Ce&&(ne.preventDefault(),Ce(ne))},[K,M]),ee=f.useCallback(ne=>{const ve=ne.key,Ce={Escape:K}[ve];Ce&&(ne.preventDefault(),Ce(ne))},[K]),ie=I.length===0,xe=f.useCallback(ne=>{var ve;if(!k)return;const de=ne.currentTarget.ownerDocument,Ce=(ve=ne.relatedTarget)!=null?ve:de.activeElement,Re=Gx(W.current,Ce),ge=Gx(J.current,Ce);!Re&&!ge&&(h?M():K())},[h,M,K,k]),me=f.useCallback((ne={},ve=null)=>{const de=F&&p?0:void 0;return{...ne,ref:Wn(ve,T),children:ie?v:I,hidden:k,"aria-disabled":jl(i),tabIndex:de,onFocus:gt(ne.onFocus,N,G)}},[i,k,F,p,ie,N,G,v,I]),ae=f.useCallback((ne={},ve=null)=>({...ne,hidden:!k,placeholder:v,ref:Wn(ve,D),disabled:i,"aria-disabled":jl(i),value:I,onBlur:gt(ne.onBlur,xe),onChange:gt(ne.onChange,U),onKeyDown:gt(ne.onKeyDown,V),onFocus:gt(ne.onFocus,G)}),[i,k,xe,U,V,G,v,I]),te=f.useCallback((ne={},ve=null)=>({...ne,hidden:!k,placeholder:v,ref:Wn(ve,D),disabled:i,"aria-disabled":jl(i),value:I,onBlur:gt(ne.onBlur,xe),onChange:gt(ne.onChange,U),onKeyDown:gt(ne.onKeyDown,ee),onFocus:gt(ne.onFocus,G)}),[i,k,xe,U,ee,G,v,I]),H=f.useCallback((ne={},ve=null)=>({"aria-label":"Edit",...ne,type:"button",onClick:gt(ne.onClick,N),ref:Wn(ve,B),disabled:i}),[N,i]),re=f.useCallback((ne={},ve=null)=>({...ne,"aria-label":"Submit",ref:Wn(J,ve),type:"button",onClick:gt(ne.onClick,M),disabled:i}),[M,i]),pe=f.useCallback((ne={},ve=null)=>({"aria-label":"Cancel",id:"cancel",...ne,ref:Wn(W,ve),type:"button",onClick:gt(ne.onClick,K),disabled:i}),[K,i]);return{isEditing:k,isDisabled:i,isValueEmpty:ie,value:I,onEdit:N,onCancel:K,onSubmit:M,getPreviewProps:me,getInputProps:ae,getTextareaProps:te,getEditButtonProps:H,getSubmitButtonProps:re,getCancelButtonProps:pe,htmlProps:x}}var q3=rt(function(t,n){const r=uo("Editable",t),o=wr(t),{htmlProps:s,...i}=zR(o),{isEditing:u,onSubmit:d,onCancel:p,onEdit:h}=i,g=Mt("chakra-editable",t.className),v=sv(t.children,{isEditing:u,onSubmit:d,onCancel:p,onEdit:h});return a.jsx(MR,{value:i,children:a.jsx(OR,{value:r,children:a.jsx(He.div,{ref:n,...s,className:g,children:v})})})});q3.displayName="Editable";var K3={exports:{}},LR="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",BR=LR,FR=BR;function Q3(){}function Y3(){}Y3.resetWarningCache=Q3;var HR=function(){function e(r,o,s,i,u,d){if(d!==FR){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Y3,resetWarningCache:Q3};return n.PropTypes=n,n};K3.exports=HR();var WR=K3.exports;const Dn=wu(WR);var o0="data-focus-lock",X3="data-focus-lock-disabled",VR="data-no-focus-lock",UR="data-autofocus-inside",GR="data-no-autofocus";function qR(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function KR(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function J3(e,t){return KR(t||null,function(n){return e.forEach(function(r){return qR(r,n)})})}var Jm={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Ls=function(){return Ls=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function s0(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(l9)},c9=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Dv=c9.join(","),u9="".concat(Dv,", [data-focus-guard]"),g6=function(e,t){return Ks((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?u9:Dv)?[r]:[],g6(r))},[])},d9=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?rh([e.contentDocument.body],t):[e]},rh=function(e,t){return e.reduce(function(n,r){var o,s=g6(r,t),i=(o=[]).concat.apply(o,s.map(function(u){return d9(u,t)}));return n.concat(i,r.parentNode?Ks(r.parentNode.querySelectorAll(Dv)).filter(function(u){return u===r}):[])},[])},f9=function(e){var t=e.querySelectorAll("[".concat(UR,"]"));return Ks(t).map(function(n){return rh([n])}).reduce(function(n,r){return n.concat(r)},[])},Av=function(e,t){return Ks(e).filter(function(n){return u6(t,n)}).filter(function(n){return s9(n)})},Kx=function(e,t){return t===void 0&&(t=new Map),Ks(e).filter(function(n){return d6(t,n)})},i0=function(e,t,n){return m6(Av(rh(e,n),t),!0,n)},Qx=function(e,t){return m6(Av(rh(e),t),!1)},p9=function(e,t){return Av(f9(e),t)},Ol=function(e,t){return e.shadowRoot?Ol(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:Ks(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?Ol(o,t):!1}return Ol(n,t)})},h9=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(i,u){return!t.has(u)})},v6=function(e){return e.parentNode?v6(e.parentNode):e},Tv=function(e){var t=$f(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(o0);return n.push.apply(n,o?h9(Ks(v6(r).querySelectorAll("[".concat(o0,'="').concat(o,'"]:not([').concat(X3,'="disabled"])')))):[r]),n},[])},m9=function(e){try{return e()}catch{return}},su=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?su(t.shadowRoot):t instanceof HTMLIFrameElement&&m9(function(){return t.contentWindow.document})?su(t.contentWindow.document):t}},g9=function(e,t){return e===t},v9=function(e,t){return!!Ks(e.querySelectorAll("iframe")).some(function(n){return g9(n,t)})},y6=function(e,t){return t===void 0&&(t=su(i6(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:Tv(e).some(function(n){return Ol(n,t)||v9(n,t)})},y9=function(e){e===void 0&&(e=document);var t=su(e);return t?Ks(e.querySelectorAll("[".concat(VR,"]"))).some(function(n){return Ol(n,t)}):!1},b9=function(e,t){return t.filter(h6).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},Nv=function(e,t){return h6(e)&&e.name?b9(e,t):e},x9=function(e){var t=new Set;return e.forEach(function(n){return t.add(Nv(n,e))}),e.filter(function(n){return t.has(n)})},Yx=function(e){return e[0]&&e.length>1?Nv(e[0],e):e[0]},Xx=function(e,t){return e.length>1?e.indexOf(Nv(e[t],e)):t},b6="NEW_FOCUS",w9=function(e,t,n,r){var o=e.length,s=e[0],i=e[o-1],u=Rv(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,g=d-p,v=t.indexOf(s),b=t.indexOf(i),S=x9(t),x=n!==void 0?S.indexOf(n):-1,C=x-(r?S.indexOf(r):d),_=Xx(e,0),k=Xx(e,o-1);if(d===-1||h===-1)return b6;if(!g&&h>=0)return h;if(d<=v&&u&&Math.abs(g)>1)return k;if(d>=b&&u&&Math.abs(g)>1)return _;if(g&&Math.abs(C)>1)return h;if(d<=v)return k;if(d>b)return _;if(g)return Math.abs(g)>1?h:(o+h+g)%o}},S9=function(e){return function(t){var n,r=(n=f6(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},C9=function(e,t,n){var r=e.map(function(s){var i=s.node;return i}),o=Kx(r.filter(S9(n)));return o&&o.length?Yx(o):Yx(Kx(t))},l0=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&l0(e.parentNode.host||e.parentNode,t),t},Zm=function(e,t){for(var n=l0(e),r=l0(t),o=0;o=0)return s}return!1},x6=function(e,t,n){var r=$f(e),o=$f(t),s=r[0],i=!1;return o.filter(Boolean).forEach(function(u){i=Zm(i||u,u)||i,n.filter(Boolean).forEach(function(d){var p=Zm(s,d);p&&(!i||Ol(p,i)?i=p:i=Zm(p,i))})}),i},_9=function(e,t){return e.reduce(function(n,r){return n.concat(p9(r,t))},[])},k9=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(i9)},j9=function(e,t){var n=su($f(e).length>0?document:i6(e).ownerDocument),r=Tv(e).filter(zf),o=x6(n||e,e,r),s=new Map,i=Qx(r,s),u=i0(r,s).filter(function(b){var S=b.node;return zf(S)});if(!(!u[0]&&(u=i,!u[0]))){var d=Qx([o],s).map(function(b){var S=b.node;return S}),p=k9(d,u),h=p.map(function(b){var S=b.node;return S}),g=w9(h,d,n,t);if(g===b6){var v=C9(i,h,_9(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return g===void 0?g:p[g]}},P9=function(e){var t=Tv(e).filter(zf),n=x6(e,e,t),r=new Map,o=i0([n],r,!0),s=i0(t,r).filter(function(i){var u=i.node;return zf(u)}).map(function(i){var u=i.node;return u});return o.map(function(i){var u=i.node,d=i.index;return{node:u,index:d,lockItem:s.indexOf(u)>=0,guard:Rv(u)}})},I9=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},eg=0,tg=!1,w6=function(e,t,n){n===void 0&&(n={});var r=j9(e,t);if(!tg&&r){if(eg>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),tg=!0,setTimeout(function(){tg=!1},1);return}eg++,I9(r.node,n.focusOptions),eg--}};function $v(e){setTimeout(e,1)}var E9=function(){return document&&document.activeElement===document.body},O9=function(){return E9()||y9()},Ml=null,wl=null,Rl=null,au=!1,M9=function(){return!0},R9=function(t){return(Ml.whiteList||M9)(t)},D9=function(t,n){Rl={observerNode:t,portaledElement:n}},A9=function(t){return Rl&&Rl.portaledElement===t};function Jx(e,t,n,r){var o=null,s=e;do{var i=r[s];if(i.guard)i.node.dataset.focusAutoGuard&&(o=i);else if(i.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var T9=function(t){return t&&"current"in t?t.current:t},N9=function(t){return t?!!au:au==="meanwhile"},$9=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},z9=function(t,n){return n.some(function(r){return $9(t,r,r)})},Lf=function(){var t=!1;if(Ml){var n=Ml,r=n.observed,o=n.persistentFocus,s=n.autoFocus,i=n.shards,u=n.crossFrame,d=n.focusOptions,p=r||Rl&&Rl.portaledElement,h=document&&document.activeElement;if(p){var g=[p].concat(i.map(T9).filter(Boolean));if((!h||R9(h))&&(o||N9(u)||!O9()||!wl&&s)&&(p&&!(y6(g)||h&&z9(h,g)||A9(h))&&(document&&!wl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=w6(g,wl,{focusOptions:d}),Rl={})),au=!1,wl=document&&document.activeElement),document){var v=document&&document.activeElement,b=P9(g),S=b.map(function(x){var C=x.node;return C}).indexOf(v);S>-1&&(b.filter(function(x){var C=x.guard,_=x.node;return C&&_.dataset.focusAutoGuard}).forEach(function(x){var C=x.node;return C.removeAttribute("tabIndex")}),Jx(S,b.length,1,b),Jx(S,-1,-1,b))}}}return t},S6=function(t){Lf()&&t&&(t.stopPropagation(),t.preventDefault())},zv=function(){return $v(Lf)},L9=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||D9(r,n)},B9=function(){return null},C6=function(){au="just",$v(function(){au="meanwhile"})},F9=function(){document.addEventListener("focusin",S6),document.addEventListener("focusout",zv),window.addEventListener("blur",C6)},H9=function(){document.removeEventListener("focusin",S6),document.removeEventListener("focusout",zv),window.removeEventListener("blur",C6)};function W9(e){return e.filter(function(t){var n=t.disabled;return!n})}function V9(e){var t=e.slice(-1)[0];t&&!Ml&&F9();var n=Ml,r=n&&t&&t.id===n.id;Ml=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(wl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Lf(),$v(Lf)):(H9(),wl=null)}o6.assignSyncMedium(L9);s6.assignMedium(zv);YR.assignMedium(function(e){return e({moveFocusInside:w6,focusInside:y6})});const U9=e9(W9,V9)(B9);var _6=f.forwardRef(function(t,n){return f.createElement(a6,Xn({sideCar:U9,ref:n},t))}),k6=a6.propTypes||{};k6.sideCar;cM(k6,["sideCar"]);_6.propTypes={};const Zx=_6;var j6=e=>e.hasAttribute("tabindex"),G9=e=>j6(e)&&e.tabIndex===-1;function q9(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function P6(e){return e.parentElement&&P6(e.parentElement)?!0:e.hidden}function K9(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function I6(e){if(!x4(e)||P6(e)||q9(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():K9(e)?!0:j6(e)}function Q9(e){return e?x4(e)&&I6(e)&&!G9(e):!1}var Y9=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],X9=Y9.join(),J9=e=>e.offsetWidth>0&&e.offsetHeight>0;function E6(e){const t=Array.from(e.querySelectorAll(X9));return t.unshift(e),t.filter(n=>I6(n)&&J9(n))}var e2,Z9=(e2=Zx.default)!=null?e2:Zx,O6=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:i,autoFocus:u,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&E6(r.current).length===0&&requestAnimationFrame(()=>{var S;(S=r.current)==null||S.focus()})},[t,r]),g=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return a.jsx(Z9,{crossFrame:p,persistentFocus:d,autoFocus:u,disabled:i,onActivation:h,onDeactivation:g,returnFocus:v,children:s})};O6.displayName="FocusLock";function eD(e,t,n,r){const o=w4(t);return f.useEffect(()=>{var s;const i=(s=Yb(n))!=null?s:document;if(t)return i.addEventListener(e,o,r),()=>{i.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=Yb(n))!=null?s:document).removeEventListener(e,o,r)}}function tD(e){const{ref:t,handler:n,enabled:r=!0}=e,o=w4(n),i=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const u=g=>{ng(g,t)&&(i.isPointerDown=!0)},d=g=>{if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&n&&ng(g,t)&&(i.isPointerDown=!1,o(g))},p=g=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&ng(g,t)&&(i.isPointerDown=!1,o(g))},h=S4(t.current);return h.addEventListener("mousedown",u,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",u,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",u,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",u,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,i,r])}function ng(e,t){var n;const r=e.target;return r&&!S4(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[nD,rD]=cr({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),M6=rt(function(t,n){const r=uo("Input",t),{children:o,className:s,...i}=wr(t),u=Mt("chakra-input__group",s),d={},p=qp(o),h=r.field;p.forEach(v=>{var b,S;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(S=h.height)!=null?S:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const g=p.map(v=>{var b,S;const x=_v({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((S=v.props)==null?void 0:S.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,x):f.cloneElement(v,Object.assign(x,d,v.props))});return a.jsx(He.div,{className:u,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate"},"data-group":!0,...i,children:a.jsx(nD,{value:r,children:g})})});M6.displayName="InputGroup";var oD=He("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),oh=rt(function(t,n){var r,o;const{placement:s="left",...i}=t,u=rD(),d=u.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...u.element};return a.jsx(oD,{ref:n,__css:h,...i})});oh.id="InputElement";oh.displayName="InputElement";var R6=rt(function(t,n){const{className:r,...o}=t,s=Mt("chakra-input__left-element",r);return a.jsx(oh,{ref:n,placement:"left",className:s,...o})});R6.id="InputLeftElement";R6.displayName="InputLeftElement";var Lv=rt(function(t,n){const{className:r,...o}=t,s=Mt("chakra-input__right-element",r);return a.jsx(oh,{ref:n,placement:"right",className:s,...o})});Lv.id="InputRightElement";Lv.displayName="InputRightElement";var Iu=rt(function(t,n){const{htmlSize:r,...o}=t,s=uo("Input",o),i=wr(o),u=av(i),d=Mt("chakra-input",t.className);return a.jsx(He.input,{size:r,...u,__css:s.field,ref:n,className:d})});Iu.displayName="Input";Iu.id="Input";var Qa=rt(function(t,n){const r=Zl("Link",t),{className:o,isExternal:s,...i}=wr(t);return a.jsx(He.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Mt("chakra-link",o),...i,__css:r})});Qa.displayName="Link";var[sD,D6]=cr({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Bv=rt(function(t,n){const r=uo("List",t),{children:o,styleType:s="none",stylePosition:i,spacing:u,...d}=wr(t),p=qp(o),g=u?{["& > *:not(style) ~ *:not(style)"]:{mt:u}}:{};return a.jsx(sD,{value:r,children:a.jsx(He.ul,{ref:n,listStyleType:s,listStylePosition:i,role:"list",__css:{...r.container,...g},...d,children:p})})});Bv.displayName="List";var aD=rt((e,t)=>{const{as:n,...r}=e;return a.jsx(Bv,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});aD.displayName="OrderedList";var Fv=rt(function(t,n){const{as:r,...o}=t;return a.jsx(Bv,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Fv.displayName="UnorderedList";var la=rt(function(t,n){const r=D6();return a.jsx(He.li,{ref:n,...t,__css:r.item})});la.displayName="ListItem";var iD=rt(function(t,n){const r=D6();return a.jsx(io,{ref:n,role:"presentation",...t,__css:r.icon})});iD.displayName="ListIcon";var Mi=rt(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:i,column:u,row:d,autoFlow:p,autoRows:h,templateRows:g,autoColumns:v,templateColumns:b,...S}=t,x={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:i,gridAutoColumns:v,gridColumn:u,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:g,gridTemplateColumns:b};return a.jsx(He.div,{ref:n,__css:x,...S})});Mi.displayName="Grid";var Bi=He("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});Bi.displayName="Spacer";var qe=rt(function(t,n){const r=Zl("Text",t),{className:o,align:s,decoration:i,casing:u,...d}=wr(t),p=_v({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return a.jsx(He.p,{ref:n,className:Mt("chakra-text",t.className),...p,...d,__css:r})});qe.displayName="Text";var A6=rt((e,t)=>a.jsx(EE,{align:"center",...e,direction:"column",ref:t}));A6.displayName="VStack";function t2(e){return OE(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var c0=rt(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:i,rowEnd:u,rowSpan:d,rowStart:p,...h}=t,g=_v({gridArea:r,gridColumn:t2(o),gridRow:t2(d),gridColumnStart:s,gridColumnEnd:i,gridRowStart:p,gridRowEnd:u});return a.jsx(He.div,{ref:n,__css:g,...h})});c0.displayName="GridItem";var Za=rt(function(t,n){const r=Zl("Badge",t),{className:o,...s}=wr(t);return a.jsx(He.span,{ref:n,className:Mt("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});Za.displayName="Badge";var Fi=rt(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:i,borderWidth:u,borderStyle:d,borderColor:p,...h}=Zl("Divider",t),{className:g,orientation:v="horizontal",__css:b,...S}=wr(t),x={vertical:{borderLeftWidth:r||i||u||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||u||"1px",width:"100%"}};return a.jsx(He.hr,{ref:n,"aria-orientation":v,...S,__css:{...h,border:"0",borderColor:p,borderStyle:d,...x[v],...b},className:Mt("chakra-divider",g)})});Fi.displayName="Divider";function lD(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function cD(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),i=()=>{s.current&&(clearTimeout(s.current),s.current=null)},u=()=>{i(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>i,[]);function d(p){return h=>{if(h.key==="Backspace"){const g=[...r];g.pop(),o(g);return}if(lD(h)){const g=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(g),p(g.join("")),u()}}}return d}function uD(e,t,n,r){if(t==null)return r;if(!r)return e.find(i=>n(i).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function dD(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,i,u)=>{e.current.set(i,{type:s,el:o,options:u}),o.addEventListener(s,i,u)},[]),r=f.useCallback((o,s,i,u)=>{o.removeEventListener(s,i,u),e.current.delete(i)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function rg(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function T6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:i,onMouseUp:u,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:g,onMouseOver:v,onMouseLeave:b,...S}=e,[x,C]=f.useState(!0),[_,k]=f.useState(!1),P=dD(),I=M=>{M&&M.tagName!=="BUTTON"&&C(!1)},E=x?g:g||0,O=n&&!r,R=f.useCallback(M=>{if(n){M.stopPropagation(),M.preventDefault();return}M.currentTarget.focus(),d==null||d(M)},[n,d]),D=f.useCallback(M=>{_&&rg(M)&&(M.preventDefault(),M.stopPropagation(),k(!1),P.remove(document,"keyup",D,!1))},[_,P]),T=f.useCallback(M=>{if(p==null||p(M),n||M.defaultPrevented||M.metaKey||!rg(M.nativeEvent)||x)return;const U=o&&M.key==="Enter";s&&M.key===" "&&(M.preventDefault(),k(!0)),U&&(M.preventDefault(),M.currentTarget.click()),P.add(document,"keyup",D,!1)},[n,x,p,o,s,P,D]),B=f.useCallback(M=>{if(h==null||h(M),n||M.defaultPrevented||M.metaKey||!rg(M.nativeEvent)||x)return;s&&M.key===" "&&(M.preventDefault(),k(!1),M.currentTarget.click())},[s,x,n,h]),W=f.useCallback(M=>{M.button===0&&(k(!1),P.remove(document,"mouseup",W,!1))},[P]),J=f.useCallback(M=>{if(M.button!==0)return;if(n){M.stopPropagation(),M.preventDefault();return}x||k(!0),M.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",W,!1),i==null||i(M)},[n,x,i,P,W]),F=f.useCallback(M=>{M.button===0&&(x||k(!1),u==null||u(M))},[u,x]),N=f.useCallback(M=>{if(n){M.preventDefault();return}v==null||v(M)},[n,v]),G=f.useCallback(M=>{_&&(M.preventDefault(),k(!1)),b==null||b(M)},[_,b]),K=Wn(t,I);return x?{...S,ref:K,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:i,onMouseUp:u,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...S,ref:K,role:"button","data-active":sn(_),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:J,onMouseUp:F,onKeyUp:B,onKeyDown:T,onMouseOver:N,onMouseLeave:G}}function fD(e){const t=e.current;if(!t)return!1;const n=ME(t);return!n||t.contains(n)?!1:!!Q9(n)}function N6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Li(()=>{if(!s||fD(e))return;const i=(o==null?void 0:o.current)||e.current;let u;if(i)return u=requestAnimationFrame(()=>{i.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(u)}},[s,e,o])}var pD={preventScroll:!0,shouldFocus:!1};function hD(e,t=pD){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,i=mD(e)?e.current:e,u=o&&s,d=f.useRef(u),p=f.useRef(s);Kc(()=>{!p.current&&s&&(d.current=u),p.current=s},[s,u]);const h=f.useCallback(()=>{if(!(!s||!i||!d.current)&&(d.current=!1,!i.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var g;(g=n.current)==null||g.focus({preventScroll:r})});else{const g=E6(i);g.length>0&&requestAnimationFrame(()=>{g[0].focus({preventScroll:r})})}},[s,r,i,n]);Li(()=>{h()},[h]),ov(i,"transitionend",h)}function mD(e){return"current"in e}function gD(e){const{ref:t,handler:n,enabled:r=!0}=e,o=Ga(n),i=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const u=g=>{og(g,t)&&(i.isPointerDown=!0)},d=g=>{if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&n&&og(g,t)&&(i.isPointerDown=!1,o(g))},p=g=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&og(g,t)&&(i.isPointerDown=!1,o(g))},h=$6(t.current);return h.addEventListener("mousedown",u,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",u,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",u,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",u,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,i,r])}function og(e,t){var n;const r=e.target;return r&&!$6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function $6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function z6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,i]=f.useState(!1);return f.useEffect(()=>{s||(o(t),i(!0))},[t,s,r]),ov(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=RE(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Hv(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[vD,yD,bD,xD]=kv(),[wD,Eu]=cr({strict:!1,name:"MenuContext"});function SD(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function L6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function n2(e){return L6(e).activeElement===e}function CD(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:i,isOpen:u,defaultIsOpen:d,onClose:p,onOpen:h,placement:g="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:S=!1,...x}=e,C=f.useRef(null),_=f.useRef(null),k=bD(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var me;(me=C.current)==null||me.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const me=setTimeout(()=>{var ae;if(o)(ae=o.current)==null||ae.focus();else{const te=k.firstEnabled();te&&F(te.index)}});U.current.add(me)},[k,o]),E=f.useCallback(()=>{const me=setTimeout(()=>{const ae=k.lastEnabled();ae&&F(ae.index)});U.current.add(me)},[k]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:D,onClose:T,onToggle:B}=C4({isOpen:u,defaultIsOpen:d,onClose:p,onOpen:O});gD({enabled:R&&r,ref:C,handler:me=>{var ae;(ae=_.current)!=null&&ae.contains(me.target)||T()}});const W=_4({...x,enabled:R||S,placement:g,direction:b}),[J,F]=f.useState(-1);Li(()=>{R||F(-1)},[R]),N6(C,{focusRef:_,visible:R,shouldFocus:!0});const N=z6({isOpen:R,ref:C}),[G,K]=SD(t,"menu-button","menu-list"),M=f.useCallback(()=>{D(),P()},[D,P]),U=f.useRef(new Set([]));MD(()=>{U.current.forEach(me=>clearTimeout(me)),U.current.clear()});const V=f.useCallback(()=>{D(),I()},[I,D]),ee=f.useCallback(()=>{D(),E()},[D,E]),ie=f.useCallback(()=>{var me,ae;const te=L6(C.current),H=(me=C.current)==null?void 0:me.contains(te.activeElement);if(!(R&&!H))return;const pe=(ae=k.item(J))==null?void 0:ae.node;pe==null||pe.focus()},[R,J,k]),xe=f.useRef(null);return{openAndFocusMenu:M,openAndFocusFirstItem:V,openAndFocusLastItem:ee,onTransitionEnd:ie,unstable__animationState:N,descendants:k,popper:W,buttonId:G,menuId:K,forceUpdate:W.forceUpdate,orientation:"vertical",isOpen:R,onToggle:B,onOpen:D,onClose:T,menuRef:C,buttonRef:_,focusedIndex:J,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:i,lazyBehavior:v,initialFocusRef:o,rafId:xe}}function _D(e={},t=null){const n=Eu(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:i}=n,u=f.useCallback(d=>{const p=d.key,g={Enter:s,ArrowDown:s,ArrowUp:i}[p];g&&(d.preventDefault(),d.stopPropagation(),g(d))},[s,i]);return{...e,ref:Wn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":sn(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:gt(e.onClick,r),onKeyDown:gt(e.onKeyDown,u)}}function u0(e){var t;return ED(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function kD(e={},t=null){const n=Eu();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within

");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:i,onClose:u,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:g}=n,v=yD(),b=cD({preventDefault:_=>_.key!==" "&&u0(_.target)}),S=f.useCallback(_=>{if(!_.currentTarget.contains(_.target))return;const k=_.key,I={Tab:O=>O.preventDefault(),Escape:u,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[k];if(I){_.preventDefault(),I(_);return}const E=b(O=>{const R=uD(v.values(),O,D=>{var T,B;return(B=(T=D==null?void 0:D.node)==null?void 0:T.textContent)!=null?B:""},v.item(r));if(R){const D=v.indexOf(R.node);o(D)}});u0(_.target)&&E(_)},[v,r,b,u,o]),x=f.useRef(!1);i&&(x.current=!0);const C=Hv({wasSelected:x.current,enabled:p,mode:h,isSelected:g.present});return{...e,ref:Wn(s,t),children:C?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:gt(e.onKeyDown,S)}}function jD(e={}){const{popper:t,isOpen:n}=Eu();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function B6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:i,isDisabled:u,isFocusable:d,closeOnSelect:p,type:h,...g}=e,v=Eu(),{setFocusedIndex:b,focusedIndex:S,closeOnSelect:x,onClose:C,menuRef:_,isOpen:k,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:D}=xD({disabled:u&&!d}),T=f.useCallback(M=>{n==null||n(M),!u&&b(R)},[b,R,u,n]),B=f.useCallback(M=>{r==null||r(M),E.current&&!n2(E.current)&&T(M)},[T,r]),W=f.useCallback(M=>{o==null||o(M),!u&&b(-1)},[b,u,o]),J=f.useCallback(M=>{s==null||s(M),u0(M.currentTarget)&&(p??x)&&C()},[C,s,x,p]),F=f.useCallback(M=>{i==null||i(M),b(R)},[b,i,R]),N=R===S,G=u&&!d;Li(()=>{k&&(N&&!G&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var M;(M=E.current)==null||M.focus(),I.current=null})):_.current&&!n2(_.current)&&_.current.focus({preventScroll:!0}))},[N,G,_,k]);const K=T6({onClick:J,onFocus:F,onMouseEnter:T,onMouseMove:B,onMouseLeave:W,ref:Wn(D,E,t),isDisabled:u,isFocusable:d});return{...g,...K,type:h??K.type,id:O,role:"menuitem",tabIndex:N?0:-1}}function PD(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...B6(o,t),role:`menuitem${n}`,"aria-checked":r}}function ID(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...i}=e,d=n==="radio"?"":[],[p,h]=bu({defaultValue:o??d,value:r,onChange:s}),g=f.useCallback(S=>{if(n==="radio"&&typeof p=="string"&&h(S),n==="checkbox"&&Array.isArray(p)){const x=p.includes(S)?p.filter(C=>C!==S):p.concat(S);h(x)}},[p,h,n]),b=qp(t).map(S=>{if(S.type.id!=="MenuItemOption")return S;const x=_=>{var k,P;g(S.props.value),(P=(k=S.props).onClick)==null||P.call(k,_)},C=n==="radio"?S.props.value===p:p.includes(S.props.value);return f.cloneElement(S,{type:n,onClick:x,isChecked:C})});return{...i,children:b}}function ED(e){var t;if(!OD(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function OD(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function MD(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[RD,Ou]=cr({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Mu=e=>{const{children:t}=e,n=uo("Menu",e),r=wr(e),{direction:o}=Kp(),{descendants:s,...i}=CD({...r,direction:o}),u=f.useMemo(()=>i,[i]),{isOpen:d,onClose:p,forceUpdate:h}=u;return a.jsx(vD,{value:s,children:a.jsx(wD,{value:u,children:a.jsx(RD,{value:n,children:sv(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Mu.displayName="Menu";var F6=rt((e,t)=>{const n=Ou();return a.jsx(He.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});F6.displayName="MenuCommand";var H6=rt((e,t)=>{const{type:n,...r}=e,o=Ou(),s=r.as||n?n??void 0:"button",i=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return a.jsx(He.button,{ref:t,type:s,...r,__css:i})}),Wv=e=>{const{className:t,children:n,...r}=e,o=f.Children.only(n),s=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:Mt("chakra-menu__icon",o.props.className)}):null,i=Mt("chakra-menu__icon-wrapper",t);return a.jsx(He.span,{className:i,...r,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s})};Wv.displayName="MenuIcon";var ao=rt((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:i,...u}=e,d=B6(u,t),h=n||o?a.jsx("span",{style:{pointerEvents:"none",flex:1},children:i}):i;return a.jsxs(H6,{...d,className:Mt("chakra-menu__menuitem",d.className),children:[n&&a.jsx(Wv,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&a.jsx(F6,{marginStart:s,children:o})]})});ao.displayName="MenuItem";var DD={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},AD=He(Jr.div),ic=rt(function(t,n){var r,o;const{rootProps:s,motionProps:i,...u}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Eu(),g=kD(u,n),v=jD(s),b=Ou();return a.jsx(He.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:a.jsx(AD,{variants:DD,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...i,className:Mt("chakra-menu__menu-list",g.className),...g,onUpdate:p,onAnimationComplete:Gp(h.onComplete,g.onAnimationComplete)})})});ic.displayName="MenuList";var Vv=rt((e,t)=>{const{title:n,children:r,className:o,...s}=e,i=Mt("chakra-menu__group__title",o),u=Ou();return a.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&a.jsx(He.p,{className:i,...s,__css:u.groupTitle,children:n}),r]})});Vv.displayName="MenuGroup";var Uv=e=>{const{className:t,title:n,...r}=e,o=ID(r);return a.jsx(Vv,{title:n,className:Mt("chakra-menu__option-group",t),...o})};Uv.displayName="MenuOptionGroup";var TD=rt((e,t)=>{const n=Ou();return a.jsx(He.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Ru=rt((e,t)=>{const{children:n,as:r,...o}=e,s=_D(o,t),i=r||TD;return a.jsx(i,{...s,className:Mt("chakra-menu__menu-button",e.className),children:a.jsx(He.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Ru.displayName="MenuButton";var ND=e=>a.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:a.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),iu=rt((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=PD(o,t);return a.jsxs(H6,{...s,className:Mt("chakra-menu__menuitem-option",o.className),children:[n!==null&&a.jsx(Wv,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||a.jsx(ND,{})}),a.jsx("span",{style:{flex:1},children:s.children})]})});iu.id="MenuItemOption";iu.displayName="MenuItemOption";var $D={slideInBottom:{...t0,custom:{offsetY:16,reverse:!0}},slideInRight:{...t0,custom:{offsetX:16,reverse:!0}},scale:{...D3,custom:{initialScale:.95,reverse:!0}},none:{}},zD=He(Jr.section),LD=e=>$D[e||"none"],W6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=LD(n),...o}=e;return a.jsx(zD,{ref:t,...r,...o})});W6.displayName="ModalTransition";var BD=Object.defineProperty,FD=(e,t,n)=>t in e?BD(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HD=(e,t,n)=>(FD(e,typeof t!="symbol"?t+"":t,n),n),WD=class{constructor(){HD(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},d0=new WD;function V6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=d0.add(o);r(s)}return()=>{d0.remove(o),r(0)}}},[t,e]),n}var VD=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},cl=new WeakMap,Rd=new WeakMap,Dd={},sg=0,U6=function(e){return e&&(e.host||U6(e.parentNode))},UD=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=U6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},GD=function(e,t,n,r){var o=UD(t,Array.isArray(e)?e:[e]);Dd[n]||(Dd[n]=new WeakMap);var s=Dd[n],i=[],u=new Set,d=new Set(o),p=function(g){!g||u.has(g)||(u.add(g),p(g.parentNode))};o.forEach(p);var h=function(g){!g||d.has(g)||Array.prototype.forEach.call(g.children,function(v){if(u.has(v))h(v);else{var b=v.getAttribute(r),S=b!==null&&b!=="false",x=(cl.get(v)||0)+1,C=(s.get(v)||0)+1;cl.set(v,x),s.set(v,C),i.push(v),x===1&&S&&Rd.set(v,!0),C===1&&v.setAttribute(n,"true"),S||v.setAttribute(r,"true")}})};return h(t),u.clear(),sg++,function(){i.forEach(function(g){var v=cl.get(g)-1,b=s.get(g)-1;cl.set(g,v),s.set(g,b),v||(Rd.has(g)||g.removeAttribute(r),Rd.delete(g)),b||g.removeAttribute(n)}),sg--,sg||(cl=new WeakMap,cl=new WeakMap,Rd=new WeakMap,Dd={})}},qD=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||VD(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),GD(r,o,n,"aria-hidden")):function(){return null}};function KD(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:i=!0,onOverlayClick:u,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[g,v,b]=YD(r,"chakra-modal","chakra-modal--header","chakra-modal--body");QD(p,t&&i);const S=V6(p,t),x=f.useRef(null),C=f.useCallback(T=>{x.current=T.target},[]),_=f.useCallback(T=>{T.key==="Escape"&&(T.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[k,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((T={},B=null)=>({role:"dialog",...T,ref:Wn(B,p),id:g,tabIndex:-1,"aria-modal":!0,"aria-labelledby":k?v:void 0,"aria-describedby":I?b:void 0,onClick:gt(T.onClick,W=>W.stopPropagation())}),[b,I,g,v,k]),R=f.useCallback(T=>{T.stopPropagation(),x.current===T.target&&d0.isTopModal(p.current)&&(o&&(n==null||n()),u==null||u())},[n,o,u]),D=f.useCallback((T={},B=null)=>({...T,ref:Wn(B,h),onClick:gt(T.onClick,R),onKeyDown:gt(T.onKeyDown,_),onMouseDown:gt(T.onMouseDown,C)}),[_,C,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:D,index:S}}function QD(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return qD(e.current)},[t,e,n])}function YD(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[XD,lc]=cr({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JD,Ri]=cr({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),lu=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:i,finalFocusRef:u,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:g,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:S}=t,x=uo("Modal",t),_={...KD(t),autoFocus:o,trapFocus:s,initialFocusRef:i,finalFocusRef:u,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:g,motionPreset:v,lockFocusAcrossFrames:b};return a.jsx(JD,{value:_,children:a.jsx(XD,{value:x,children:a.jsx(Ko,{onExitComplete:S,children:_.isOpen&&a.jsx(Cf,{...n,children:r})})})})};lu.displayName="Modal";var yf="right-scroll-bar-position",bf="width-before-scroll-bar",ZD="with-scroll-bars-hidden",eA="--removed-body-scroll-bar-size",G6=n6(),ag=function(){},sh=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:ag,onWheelCapture:ag,onTouchMoveCapture:ag}),o=r[0],s=r[1],i=e.forwardProps,u=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,g=e.shards,v=e.sideCar,b=e.noIsolation,S=e.inert,x=e.allowPinchZoom,C=e.as,_=C===void 0?"div":C,k=e.gapMode,P=Z3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=J3([n,t]),O=Ls(Ls({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:G6,removeScrollBar:p,shards:g,noIsolation:b,inert:S,setCallbacks:s,allowPinchZoom:!!x,lockRef:n,gapMode:k}),i?f.cloneElement(f.Children.only(u),Ls(Ls({},O),{ref:E})):f.createElement(_,Ls({},O,{className:d,ref:E}),u))});sh.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};sh.classNames={fullWidth:bf,zeroRight:yf};var r2,tA=function(){if(r2)return r2;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function nA(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=tA();return t&&e.setAttribute("nonce",t),e}function rA(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function oA(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var sA=function(){var e=0,t=null;return{add:function(n){e==0&&(t=nA())&&(rA(t,n),oA(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},aA=function(){var e=sA();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},q6=function(){var e=aA(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},iA={left:0,top:0,right:0,gap:0},ig=function(e){return parseInt(e||"",10)||0},lA=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ig(n),ig(r),ig(o)]},cA=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return iA;var t=lA(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},uA=q6(),dA=function(e,t,n,r){var o=e.left,s=e.top,i=e.right,u=e.gap;return n===void 0&&(n="margin"),` - .`.concat(ZD,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(u,"px ").concat(r,`; - } - body { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(o,`px; - padding-top: `).concat(s,`px; - padding-right: `).concat(i,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(u,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(u,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(yf,` { - right: `).concat(u,"px ").concat(r,`; - } - - .`).concat(bf,` { - margin-right: `).concat(u,"px ").concat(r,`; - } - - .`).concat(yf," .").concat(yf,` { - right: 0 `).concat(r,`; - } - - .`).concat(bf," .").concat(bf,` { - margin-right: 0 `).concat(r,`; - } - - body { - `).concat(eA,": ").concat(u,`px; - } -`)},fA=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return cA(o)},[o]);return f.createElement(uA,{styles:dA(s,!t,o,n?"":"!important")})},f0=!1;if(typeof window<"u")try{var Ad=Object.defineProperty({},"passive",{get:function(){return f0=!0,!0}});window.addEventListener("test",Ad,Ad),window.removeEventListener("test",Ad,Ad)}catch{f0=!1}var ul=f0?{passive:!1}:!1,pA=function(e){return e.tagName==="TEXTAREA"},K6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!pA(e)&&n[t]==="visible")},hA=function(e){return K6(e,"overflowY")},mA=function(e){return K6(e,"overflowX")},o2=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Q6(e,r);if(o){var s=Y6(e,r),i=s[1],u=s[2];if(i>u)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},gA=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},vA=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Q6=function(e,t){return e==="v"?hA(t):mA(t)},Y6=function(e,t){return e==="v"?gA(t):vA(t)},yA=function(e,t){return e==="h"&&t==="rtl"?-1:1},bA=function(e,t,n,r,o){var s=yA(e,window.getComputedStyle(t).direction),i=s*r,u=n.target,d=t.contains(u),p=!1,h=i>0,g=0,v=0;do{var b=Y6(e,u),S=b[0],x=b[1],C=b[2],_=x-C-s*S;(S||_)&&Q6(e,u)&&(g+=_,v+=S),u=u.parentNode}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(h&&(o&&g===0||!o&&i>g)||!h&&(o&&v===0||!o&&-i>v))&&(p=!0),p},Td=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},s2=function(e){return[e.deltaX,e.deltaY]},a2=function(e){return e&&"current"in e?e.current:e},xA=function(e,t){return e[0]===t[0]&&e[1]===t[1]},wA=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},SA=0,dl=[];function CA(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(SA++)[0],s=f.useState(q6)[0],i=f.useRef(e);f.useEffect(function(){i.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var x=s0([e.lockRef.current],(e.shards||[]).map(a2),!0).filter(Boolean);return x.forEach(function(C){return C.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),x.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var u=f.useCallback(function(x,C){if("touches"in x&&x.touches.length===2)return!i.current.allowPinchZoom;var _=Td(x),k=n.current,P="deltaX"in x?x.deltaX:k[0]-_[0],I="deltaY"in x?x.deltaY:k[1]-_[1],E,O=x.target,R=Math.abs(P)>Math.abs(I)?"h":"v";if("touches"in x&&R==="h"&&O.type==="range")return!1;var D=o2(R,O);if(!D)return!0;if(D?E=R:(E=R==="v"?"h":"v",D=o2(R,O)),!D)return!1;if(!r.current&&"changedTouches"in x&&(P||I)&&(r.current=E),!E)return!0;var T=r.current||E;return bA(T,C,x,T==="h"?P:I,!0)},[]),d=f.useCallback(function(x){var C=x;if(!(!dl.length||dl[dl.length-1]!==s)){var _="deltaY"in C?s2(C):Td(C),k=t.current.filter(function(E){return E.name===C.type&&E.target===C.target&&xA(E.delta,_)})[0];if(k&&k.should){C.cancelable&&C.preventDefault();return}if(!k){var P=(i.current.shards||[]).map(a2).filter(Boolean).filter(function(E){return E.contains(C.target)}),I=P.length>0?u(C,P[0]):!i.current.noIsolation;I&&C.cancelable&&C.preventDefault()}}},[]),p=f.useCallback(function(x,C,_,k){var P={name:x,delta:C,target:_,should:k};t.current.push(P),setTimeout(function(){t.current=t.current.filter(function(I){return I!==P})},1)},[]),h=f.useCallback(function(x){n.current=Td(x),r.current=void 0},[]),g=f.useCallback(function(x){p(x.type,s2(x),x.target,u(x,e.lockRef.current))},[]),v=f.useCallback(function(x){p(x.type,Td(x),x.target,u(x,e.lockRef.current))},[]);f.useEffect(function(){return dl.push(s),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:v}),document.addEventListener("wheel",d,ul),document.addEventListener("touchmove",d,ul),document.addEventListener("touchstart",h,ul),function(){dl=dl.filter(function(x){return x!==s}),document.removeEventListener("wheel",d,ul),document.removeEventListener("touchmove",d,ul),document.removeEventListener("touchstart",h,ul)}},[]);var b=e.removeScrollBar,S=e.inert;return f.createElement(f.Fragment,null,S?f.createElement(s,{styles:wA(o)}):null,b?f.createElement(fA,{gapMode:e.gapMode}):null)}const _A=QR(G6,CA);var X6=f.forwardRef(function(e,t){return f.createElement(sh,Ls({},e,{ref:t,sideCar:_A}))});X6.classNames=sh.classNames;const kA=X6;function jA(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:i,finalFocusRef:u,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:g}=Ri(),[v,b]=DE();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const S=V6(r,g);return a.jsx(O6,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:u,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:a.jsx(kA,{removeScrollBar:!p,allowPinchZoom:i,enabled:S===1&&s,forwardProps:!0,children:e.children})})}var cu=rt((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...i}=e,{getDialogProps:u,getDialogContainerProps:d}=Ri(),p=u(i,t),h=d(o),g=Mt("chakra-modal__content",n),v=lc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},S={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:x}=Ri();return a.jsx(jA,{children:a.jsx(He.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:S,children:a.jsx(W6,{preset:x,motionProps:s,className:g,...p,__css:b,children:r})})})});cu.displayName="ModalContent";function Du(e){const{leastDestructiveRef:t,...n}=e;return a.jsx(lu,{...n,initialFocusRef:t})}var Au=rt((e,t)=>a.jsx(cu,{ref:t,role:"alertdialog",...e})),ga=rt((e,t)=>{const{className:n,...r}=e,o=Mt("chakra-modal__footer",n),i={display:"flex",alignItems:"center",justifyContent:"flex-end",...lc().footer};return a.jsx(He.footer,{ref:t,...r,__css:i,className:o})});ga.displayName="ModalFooter";var va=rt((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=Ri();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const i=Mt("chakra-modal__header",n),d={flex:0,...lc().header};return a.jsx(He.header,{ref:t,className:i,id:o,...r,__css:d})});va.displayName="ModalHeader";var PA=He(Jr.div),ya=rt((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,i=Mt("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...lc().overlay},{motionPreset:p}=Ri(),g=o||(p==="none"?{}:R3);return a.jsx(PA,{...g,__css:d,ref:t,className:i,...s})});ya.displayName="ModalOverlay";var ba=rt((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=Ri();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const i=Mt("chakra-modal__body",n),u=lc();return a.jsx(He.div,{ref:t,className:i,id:o,...r,__css:u.body})});ba.displayName="ModalBody";var Gv=rt((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=Ri(),i=Mt("chakra-modal__close-btn",r),u=lc();return a.jsx(AE,{ref:t,__css:u.closeButton,className:i,onClick:gt(n,d=>{d.stopPropagation(),s()}),...o})});Gv.displayName="ModalCloseButton";var[IA,Tu]=cr({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[EA,qv]=cr({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Kv(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Tu();return f.cloneElement(t,n(t.props,t.ref))}Kv.displayName="PopoverTrigger";var fl={click:"click",hover:"hover"};function OA(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:i=!0,arrowSize:u,arrowShadowColor:d,trigger:p=fl.click,openDelay:h=200,closeDelay:g=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:S,...x}=e,{isOpen:C,onClose:_,onOpen:k,onToggle:P}=C4(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),D=f.useRef(!1);C&&(D.current=!0);const[T,B]=f.useState(!1),[W,J]=f.useState(!1),F=f.useId(),N=o??F,[G,K,M,U]=["popover-trigger","popover-content","popover-header","popover-body"].map(_e=>`${_e}-${N}`),{referenceRef:V,getArrowProps:ee,getPopperProps:ie,getArrowInnerProps:xe,forceUpdate:me}=_4({...x,enabled:C||!!S}),ae=z6({isOpen:C,ref:O});G3({enabled:C,ref:E}),N6(O,{focusRef:E,visible:C,shouldFocus:s&&p===fl.click}),hD(O,{focusRef:r,visible:C,shouldFocus:i&&p===fl.click});const te=Hv({wasSelected:D.current,enabled:v,mode:b,isSelected:ae.present}),H=f.useCallback((_e={},We=null)=>{const Le={..._e,style:{..._e.style,transformOrigin:Vm.transformOrigin.varRef,[Vm.arrowSize.var]:u?`${u}px`:void 0,[Vm.arrowShadowColor.var]:d},ref:Wn(O,We),children:te?_e.children:null,id:K,tabIndex:-1,role:"dialog",onKeyDown:gt(_e.onKeyDown,Ue=>{n&&Ue.key==="Escape"&&_()}),onBlur:gt(_e.onBlur,Ue=>{const jt=i2(Ue),vt=lg(O.current,jt),jn=lg(E.current,jt);C&&t&&(!vt&&!jn)&&_()}),"aria-labelledby":T?M:void 0,"aria-describedby":W?U:void 0};return p===fl.hover&&(Le.role="tooltip",Le.onMouseEnter=gt(_e.onMouseEnter,()=>{R.current=!0}),Le.onMouseLeave=gt(_e.onMouseLeave,Ue=>{Ue.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>_(),g))})),Le},[te,K,T,M,W,U,p,n,_,C,t,g,d,u]),re=f.useCallback((_e={},We=null)=>ie({..._e,style:{visibility:C?"visible":"hidden",..._e.style}},We),[C,ie]),pe=f.useCallback((_e,We=null)=>({..._e,ref:Wn(We,I,V)}),[I,V]),ne=f.useRef(),ve=f.useRef(),de=f.useCallback(_e=>{I.current==null&&V(_e)},[V]),Ce=f.useCallback((_e={},We=null)=>{const Le={..._e,ref:Wn(E,We,de),id:G,"aria-haspopup":"dialog","aria-expanded":C,"aria-controls":K};return p===fl.click&&(Le.onClick=gt(_e.onClick,P)),p===fl.hover&&(Le.onFocus=gt(_e.onFocus,()=>{ne.current===void 0&&k()}),Le.onBlur=gt(_e.onBlur,Ue=>{const jt=i2(Ue),vt=!lg(O.current,jt);C&&t&&vt&&_()}),Le.onKeyDown=gt(_e.onKeyDown,Ue=>{Ue.key==="Escape"&&_()}),Le.onMouseEnter=gt(_e.onMouseEnter,()=>{R.current=!0,ne.current=window.setTimeout(()=>k(),h)}),Le.onMouseLeave=gt(_e.onMouseLeave,()=>{R.current=!1,ne.current&&(clearTimeout(ne.current),ne.current=void 0),ve.current=window.setTimeout(()=>{R.current===!1&&_()},g)})),Le},[G,C,K,p,de,P,k,t,_,h,g]);f.useEffect(()=>()=>{ne.current&&clearTimeout(ne.current),ve.current&&clearTimeout(ve.current)},[]);const Re=f.useCallback((_e={},We=null)=>({..._e,id:M,ref:Wn(We,Le=>{B(!!Le)})}),[M]),ge=f.useCallback((_e={},We=null)=>({..._e,id:U,ref:Wn(We,Le=>{J(!!Le)})}),[U]);return{forceUpdate:me,isOpen:C,onAnimationComplete:ae.onComplete,onClose:_,getAnchorProps:pe,getArrowProps:ee,getArrowInnerProps:xe,getPopoverPositionerProps:re,getPopoverProps:H,getTriggerProps:Ce,getHeaderProps:Re,getBodyProps:ge}}function lg(e,t){return e===t||(e==null?void 0:e.contains(t))}function i2(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Qv(e){const t=uo("Popover",e),{children:n,...r}=wr(e),o=Kp(),s=OA({...r,direction:o.direction});return a.jsx(IA,{value:s,children:a.jsx(EA,{value:t,children:sv(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Qv.displayName="Popover";var cg=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function J6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:i,shadowColor:u}=e,{getArrowProps:d,getArrowInnerProps:p}=Tu(),h=qv(),g=(t=n??r)!=null?t:o,v=s??i;return a.jsx(He.div,{...d(),className:"chakra-popover__arrow-positioner",children:a.jsx(He.div,{className:Mt("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":cg("colors",u),"--popper-arrow-bg":cg("colors",g),"--popper-arrow-shadow":cg("shadows",v),...h.arrow}})})}J6.displayName="PopoverArrow";var Z6=rt(function(t,n){const{getBodyProps:r}=Tu(),o=qv();return a.jsx(He.div,{...r(t,n),className:Mt("chakra-popover__body",t.className),__css:o.body})});Z6.displayName="PopoverBody";function MA(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var RA={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},DA=He(Jr.section),e5=rt(function(t,n){const{variants:r=RA,...o}=t,{isOpen:s}=Tu();return a.jsx(DA,{ref:n,variants:MA(r),initial:!1,animate:s?"enter":"exit",...o})});e5.displayName="PopoverTransition";var Yv=rt(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:i,getPopoverPositionerProps:u,onAnimationComplete:d}=Tu(),p=qv(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return a.jsx(He.div,{...u(r),__css:p.popper,className:"chakra-popover__popper",children:a.jsx(e5,{...o,...i(s,n),onAnimationComplete:Gp(d,s.onAnimationComplete),className:Mt("chakra-popover__content",t.className),__css:h})})});Yv.displayName="PopoverContent";function AA(e,t,n){return(e-t)*100/(n-t)}Ca({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});Ca({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var TA=Ca({"0%":{left:"-40%"},"100%":{left:"100%"}}),NA=Ca({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function $A(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:i,role:u="progressbar"}=e,d=AA(t,n,r);return{bind:{"data-indeterminate":i?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":i?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:u},percent:d,value:t}}var[zA,LA]=cr({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),BA=rt((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:i,...u}=e,d=$A({value:o,min:n,max:r,isIndeterminate:s,role:i}),h={height:"100%",...LA().filledTrack};return a.jsx(He.div,{ref:t,style:{width:`${d.percent}%`,...u.style},...d.bind,...u,__css:h})}),t5=rt((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:i,isAnimated:u,children:d,borderRadius:p,isIndeterminate:h,"aria-label":g,"aria-labelledby":v,"aria-valuetext":b,title:S,role:x,...C}=wr(e),_=uo("Progress",e),k=p??((n=_.track)==null?void 0:n.borderRadius),P={animation:`${NA} 1s linear infinite`},O={...!h&&i&&u&&P,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${TA} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",..._.track};return a.jsx(He.div,{ref:t,borderRadius:k,__css:R,...C,children:a.jsxs(zA,{value:_,children:[a.jsx(BA,{"aria-label":g,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:k,title:S,role:x}),d]})})});t5.displayName="Progress";function FA(e){return e&&Xb(e)&&Xb(e.target)}function HA(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:i,isNative:u,...d}=e,[p,h]=f.useState(r||""),g=typeof n<"u",v=g?n:p,b=f.useRef(null),S=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const D=E.querySelector(O);D==null||D.focus()},[]),C=`radio-${f.useId()}`,_=o||C,k=f.useCallback(E=>{const O=FA(E)?E.target.value:E;g||h(O),t==null||t(String(O))},[t,g]),P=f.useCallback((E={},O=null)=>({...E,ref:Wn(O,b),role:"radiogroup"}),[]),I=f.useCallback((E={},O=null)=>({...E,ref:O,name:_,[u?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(D){k(D)},"data-radiogroup":!0}),[u,_,k,v]);return{getRootProps:P,getRadioProps:I,name:_,ref:b,focus:S,setValue:h,value:v,onChange:k,isDisabled:s,isFocusable:i,htmlProps:d}}var[WA,n5]=cr({name:"RadioGroupContext",strict:!1}),Bf=rt((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:i,isDisabled:u,isFocusable:d,...p}=e,{value:h,onChange:g,getRootProps:v,name:b,htmlProps:S}=HA(p),x=f.useMemo(()=>({name:b,size:r,onChange:g,colorScheme:n,value:h,variant:o,isDisabled:u,isFocusable:d}),[b,r,g,n,h,o,u,d]);return a.jsx(WA,{value:x,children:a.jsx(He.div,{...v(S,t),className:Mt("chakra-radio-group",i),children:s})})});Bf.displayName="RadioGroup";var VA={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function UA(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:i,onChange:u,isInvalid:d,name:p,value:h,id:g,"data-radiogroup":v,"aria-describedby":b,...S}=e,x=`radio-${f.useId()}`,C=TE(),k=!!n5()||!!v;let I=!!C&&!k?C.id:x;I=g??I;const E=o??(C==null?void 0:C.isDisabled),O=s??(C==null?void 0:C.isReadOnly),R=i??(C==null?void 0:C.isRequired),D=d??(C==null?void 0:C.isInvalid),[T,B]=f.useState(!1),[W,J]=f.useState(!1),[F,N]=f.useState(!1),[G,K]=f.useState(!1),[M,U]=f.useState(!!t),V=typeof n<"u",ee=V?n:M;f.useEffect(()=>$3(B),[]);const ie=f.useCallback(de=>{if(O||E){de.preventDefault();return}V||U(de.target.checked),u==null||u(de)},[V,E,O,u]),xe=f.useCallback(de=>{de.key===" "&&K(!0)},[K]),me=f.useCallback(de=>{de.key===" "&&K(!1)},[K]),ae=f.useCallback((de={},Ce=null)=>({...de,ref:Ce,"data-active":sn(G),"data-hover":sn(F),"data-disabled":sn(E),"data-invalid":sn(D),"data-checked":sn(ee),"data-focus":sn(W),"data-focus-visible":sn(W&&T),"data-readonly":sn(O),"aria-hidden":!0,onMouseDown:gt(de.onMouseDown,()=>K(!0)),onMouseUp:gt(de.onMouseUp,()=>K(!1)),onMouseEnter:gt(de.onMouseEnter,()=>N(!0)),onMouseLeave:gt(de.onMouseLeave,()=>N(!1))}),[G,F,E,D,ee,W,O,T]),{onFocus:te,onBlur:H}=C??{},re=f.useCallback((de={},Ce=null)=>{const Re=E&&!r;return{...de,id:I,ref:Ce,type:"radio",name:p,value:h,onChange:gt(de.onChange,ie),onBlur:gt(H,de.onBlur,()=>J(!1)),onFocus:gt(te,de.onFocus,()=>J(!0)),onKeyDown:gt(de.onKeyDown,xe),onKeyUp:gt(de.onKeyUp,me),checked:ee,disabled:Re,readOnly:O,required:R,"aria-invalid":jl(D),"aria-disabled":jl(Re),"aria-required":jl(R),"data-readonly":sn(O),"aria-describedby":b,style:VA}},[E,r,I,p,h,ie,H,te,xe,me,ee,O,R,D,b]);return{state:{isInvalid:D,isFocused:W,isChecked:ee,isActive:G,isHovered:F,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:ae,getRadioProps:ae,getInputProps:re,getLabelProps:(de={},Ce=null)=>({...de,ref:Ce,onMouseDown:gt(de.onMouseDown,GA),"data-disabled":sn(E),"data-checked":sn(ee),"data-invalid":sn(D)}),getRootProps:(de,Ce=null)=>({...de,ref:Ce,"data-disabled":sn(E),"data-checked":sn(ee),"data-invalid":sn(D)}),htmlProps:S}}function GA(e){e.preventDefault(),e.stopPropagation()}function qA(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var aa=rt((e,t)=>{var n;const r=n5(),{onChange:o,value:s}=e,i=uo("Radio",{...r,...e}),u=wr(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:g=r==null?void 0:r.isFocusable,inputProps:v,...b}=u;let S=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(S=r.value===s);let x=o;r!=null&&r.onChange&&s!=null&&(x=Gp(r.onChange,o));const C=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:_,getCheckboxProps:k,getLabelProps:P,getRootProps:I,htmlProps:E}=UA({...b,isChecked:S,isFocusable:g,isDisabled:h,onChange:x,name:C}),[O,R]=qA(E,k4),D=k(R),T=_(v,t),B=P(),W=Object.assign({},O,I()),J={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...i.container},F={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...i.control},N={userSelect:"none",marginStart:d,...i.label};return a.jsxs(He.label,{className:"chakra-radio",...W,__css:J,children:[a.jsx("input",{className:"chakra-radio__input",...T}),a.jsx(He.span,{className:"chakra-radio__control",...D,__css:F}),p&&a.jsx(He.span,{className:"chakra-radio__label",...B,__css:N,children:p})]})});aa.displayName="Radio";var r5=rt(function(t,n){const{children:r,placeholder:o,className:s,...i}=t;return a.jsxs(He.select,{...i,ref:n,className:Mt("chakra-select",s),children:[o&&a.jsx("option",{value:"",children:o}),r]})});r5.displayName="SelectField";function KA(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var o5=rt((e,t)=>{var n;const r=uo("Select",e),{rootProps:o,placeholder:s,icon:i,color:u,height:d,h:p,minH:h,minHeight:g,iconColor:v,iconSize:b,...S}=wr(e),[x,C]=KA(S,k4),_=av(C),k={width:"100%",height:"fit-content",position:"relative",color:u},P={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return a.jsxs(He.div,{className:"chakra-select__wrapper",__css:k,...x,...o,children:[a.jsx(r5,{ref:t,height:p??d,minH:h??g,placeholder:s,..._,__css:P,children:e.children}),a.jsx(s5,{"data-disabled":sn(_.disabled),...(v||u)&&{color:v||u},__css:r.icon,...b&&{fontSize:b},children:i})]})});o5.displayName="Select";var QA=e=>a.jsx("svg",{viewBox:"0 0 24 24",...e,children:a.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),YA=He("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),s5=e=>{const{children:t=a.jsx(QA,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return a.jsx(YA,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};s5.displayName="SelectIcon";function XA(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function JA(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var ZA=He("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),p0=j4("skeleton-start-color"),h0=j4("skeleton-end-color"),eT=Ca({from:{opacity:0},to:{opacity:1}}),tT=Ca({from:{borderColor:p0.reference,background:p0.reference},to:{borderColor:h0.reference,background:h0.reference}}),ah=rt((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=Zl("Skeleton",n),o=XA(),{startColor:s="",endColor:i="",isLoaded:u,fadeDuration:d,speed:p,className:h,fitContent:g,...v}=wr(n),[b,S]=ec("colors",[s,i]),x=JA(u),C=Mt("chakra-skeleton",h),_={...b&&{[p0.variable]:b},...S&&{[h0.variable]:S}};if(u){const k=o||x?"none":`${eT} ${d}s`;return a.jsx(He.div,{ref:t,className:C,__css:{animation:k},...v})}return a.jsx(ZA,{ref:t,className:C,...v,__css:{width:g?"fit-content":void 0,...r,..._,_dark:{...r._dark,..._},animation:`${p}s linear infinite alternate ${tT}`}})});ah.displayName="Skeleton";function nT(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:i,direction:u="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:g,onChangeStart:v,onChangeEnd:b,step:S=1,getAriaValueText:x,"aria-valuetext":C,"aria-label":_,"aria-labelledby":k,name:P,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=Ga(v),D=Ga(b),T=Ga(x),B=HE({isReversed:i,direction:u,orientation:d}),[W,J]=bu({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray(W))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof W}\``);const[F,N]=f.useState(!1),[G,K]=f.useState(!1),[M,U]=f.useState(-1),V=!(h||g),ee=f.useRef(W),ie=W.map(Ie=>Jb(Ie,t,n)),xe=E*S,me=rT(ie,t,n,xe),ae=f.useRef({eventSource:null,value:[],valueBounds:[]});ae.current.value=ie,ae.current.valueBounds=me;const te=ie.map(Ie=>n-Ie+t),re=(B?te:ie).map(Ie=>Zb(Ie,t,n)),pe=d==="vertical",ne=f.useRef(null),ve=f.useRef(null),de=NE({getNodes(){const Ie=ve.current,it=Ie==null?void 0:Ie.querySelectorAll("[role=slider]");return it?Array.from(it):[]}}),Ce=f.useId(),ge=WE(p??Ce),_e=f.useCallback(Ie=>{var it,Xe;if(!ne.current)return;ae.current.eventSource="pointer";const ot=ne.current.getBoundingClientRect(),{clientX:Nt,clientY:ur}=(Xe=(it=Ie.touches)==null?void 0:it[0])!=null?Xe:Ie,yn=pe?ot.bottom-ur:Nt-ot.left,bn=pe?ot.height:ot.width;let $r=yn/bn;return B&&($r=1-$r),$E($r,t,n)},[pe,B,n,t]),We=(n-t)/10,Le=S||(n-t)/100,Ue=f.useMemo(()=>({setValueAtIndex(Ie,it){if(!V)return;const Xe=ae.current.valueBounds[Ie];it=parseFloat(zE(it,Xe.min,Le)),it=Jb(it,Xe.min,Xe.max);const ot=[...ae.current.value];ot[Ie]=it,J(ot)},setActiveIndex:U,stepUp(Ie,it=Le){const Xe=ae.current.value[Ie],ot=B?Xe-it:Xe+it;Ue.setValueAtIndex(Ie,ot)},stepDown(Ie,it=Le){const Xe=ae.current.value[Ie],ot=B?Xe+it:Xe-it;Ue.setValueAtIndex(Ie,ot)},reset(){J(ee.current)}}),[Le,B,J,V]),jt=f.useCallback(Ie=>{const it=Ie.key,ot={ArrowRight:()=>Ue.stepUp(M),ArrowUp:()=>Ue.stepUp(M),ArrowLeft:()=>Ue.stepDown(M),ArrowDown:()=>Ue.stepDown(M),PageUp:()=>Ue.stepUp(M,We),PageDown:()=>Ue.stepDown(M,We),Home:()=>{const{min:Nt}=me[M];Ue.setValueAtIndex(M,Nt)},End:()=>{const{max:Nt}=me[M];Ue.setValueAtIndex(M,Nt)}}[it];ot&&(Ie.preventDefault(),Ie.stopPropagation(),ot(Ie),ae.current.eventSource="keyboard")},[Ue,M,We,me]),{getThumbStyle:vt,rootStyle:jn,trackStyle:Pt,innerTrackStyle:bt}=f.useMemo(()=>LE({isReversed:B,orientation:d,thumbRects:de,thumbPercents:re}),[B,d,re,de]),be=f.useCallback(Ie=>{var it;const Xe=Ie??M;if(Xe!==-1&&I){const ot=ge.getThumb(Xe),Nt=(it=ve.current)==null?void 0:it.ownerDocument.getElementById(ot);Nt&&setTimeout(()=>Nt.focus())}},[I,M,ge]);Li(()=>{ae.current.eventSource==="keyboard"&&(D==null||D(ae.current.value))},[ie,D]);const Ae=Ie=>{const it=_e(Ie)||0,Xe=ae.current.value.map(bn=>Math.abs(bn-it)),ot=Math.min(...Xe);let Nt=Xe.indexOf(ot);const ur=Xe.filter(bn=>bn===ot);ur.length>1&&it>ae.current.value[Nt]&&(Nt=Nt+ur.length-1),U(Nt),Ue.setValueAtIndex(Nt,it),be(Nt)},Et=Ie=>{if(M==-1)return;const it=_e(Ie)||0;U(M),Ue.setValueAtIndex(M,it),be(M)};BE(ve,{onPanSessionStart(Ie){V&&(N(!0),Ae(Ie),R==null||R(ae.current.value))},onPanSessionEnd(){V&&(N(!1),D==null||D(ae.current.value))},onPan(Ie){V&&Et(Ie)}});const Ft=f.useCallback((Ie={},it=null)=>({...Ie,...O,id:ge.root,ref:Wn(it,ve),tabIndex:-1,"aria-disabled":Um(h),"data-focused":sl(G),style:{...Ie.style,...jn}}),[O,h,G,jn,ge]),Wt=f.useCallback((Ie={},it=null)=>({...Ie,ref:Wn(it,ne),id:ge.track,"data-disabled":sl(h),style:{...Ie.style,...Pt}}),[h,Pt,ge]),_n=f.useCallback((Ie={},it=null)=>({...Ie,ref:it,id:ge.innerTrack,style:{...Ie.style,...bt}}),[bt,ge]),In=f.useCallback((Ie,it=null)=>{var Xe;const{index:ot,...Nt}=Ie,ur=ie[ot];if(ur==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${ot}\`. The \`value\` or \`defaultValue\` length is : ${ie.length}`);const yn=me[ot];return{...Nt,ref:it,role:"slider",tabIndex:V?0:void 0,id:ge.getThumb(ot),"data-active":sl(F&&M===ot),"aria-valuetext":(Xe=T==null?void 0:T(ur))!=null?Xe:C==null?void 0:C[ot],"aria-valuemin":yn.min,"aria-valuemax":yn.max,"aria-valuenow":ur,"aria-orientation":d,"aria-disabled":Um(h),"aria-readonly":Um(g),"aria-label":_==null?void 0:_[ot],"aria-labelledby":_!=null&&_[ot]||k==null?void 0:k[ot],style:{...Ie.style,...vt(ot)},onKeyDown:Gm(Ie.onKeyDown,jt),onFocus:Gm(Ie.onFocus,()=>{K(!0),U(ot)}),onBlur:Gm(Ie.onBlur,()=>{K(!1),U(-1)})}},[ge,ie,me,V,F,M,T,C,d,h,g,_,k,vt,jt,K]),ln=f.useCallback((Ie={},it=null)=>({...Ie,ref:it,id:ge.output,htmlFor:ie.map((Xe,ot)=>ge.getThumb(ot)).join(" "),"aria-live":"off"}),[ge,ie]),Cr=f.useCallback((Ie,it=null)=>{const{value:Xe,...ot}=Ie,Nt=!(Xen),ur=Xe>=ie[0]&&Xe<=ie[ie.length-1];let yn=Zb(Xe,t,n);yn=B?100-yn:yn;const bn={position:"absolute",pointerEvents:"none",...FE({orientation:d,vertical:{bottom:`${yn}%`},horizontal:{left:`${yn}%`}})};return{...ot,ref:it,id:ge.getMarker(Ie.value),role:"presentation","aria-hidden":!0,"data-disabled":sl(h),"data-invalid":sl(!Nt),"data-highlighted":sl(ur),style:{...Ie.style,...bn}}},[h,B,n,t,d,ie,ge]),vn=f.useCallback((Ie,it=null)=>{const{index:Xe,...ot}=Ie;return{...ot,ref:it,id:ge.getInput(Xe),type:"hidden",value:ie[Xe],name:Array.isArray(P)?P[Xe]:`${P}-${Xe}`}},[P,ie,ge]);return{state:{value:ie,isFocused:G,isDragging:F,getThumbPercent:Ie=>re[Ie],getThumbMinValue:Ie=>me[Ie].min,getThumbMaxValue:Ie=>me[Ie].max},actions:Ue,getRootProps:Ft,getTrackProps:Wt,getInnerTrackProps:_n,getThumbProps:In,getMarkerProps:Cr,getInputProps:vn,getOutputProps:ln}}function rT(e,t,n,r){return e.map((o,s)=>{const i=s===0?t:e[s-1]+r,u=s===e.length-1?n:e[s+1]-r;return{min:i,max:u}})}var[oT,ih]=cr({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[sT,lh]=cr({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),a5=rt(function(t,n){const r={orientation:"horizontal",...t},o=uo("Slider",r),s=wr(r),{direction:i}=Kp();s.direction=i;const{getRootProps:u,...d}=nT(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return a.jsx(oT,{value:p,children:a.jsx(sT,{value:o,children:a.jsx(He.div,{...u({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});a5.displayName="RangeSlider";var m0=rt(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=ih(),i=lh(),u=r(t,n);return a.jsxs(He.div,{...u,className:iv("chakra-slider__thumb",t.className),__css:i.thumb,children:[u.children,s&&a.jsx("input",{...o({index:t.index})})]})});m0.displayName="RangeSliderThumb";var i5=rt(function(t,n){const{getTrackProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:iv("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});i5.displayName="RangeSliderTrack";var l5=rt(function(t,n){const{getInnerTrackProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});l5.displayName="RangeSliderFilledTrack";var xf=rt(function(t,n){const{getMarkerProps:r}=ih(),o=lh(),s=r(t,n);return a.jsx(He.div,{...s,className:iv("chakra-slider__marker",t.className),__css:o.mark})});xf.displayName="RangeSliderMark";var Xv=rt(function(t,n){const r=uo("Switch",t),{spacing:o="0.5rem",children:s,...i}=wr(t),{state:u,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:g}=z3(i),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),S=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return a.jsxs(He.label,{...h(),className:Mt("chakra-switch",t.className),__css:v,children:[a.jsx("input",{className:"chakra-switch__input",...d({},n)}),a.jsx(He.span,{...p(),className:"chakra-switch__track",__css:b,children:a.jsx(He.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":sn(u.isChecked),"data-hover":sn(u.isHovered)})}),s&&a.jsx(He.span,{className:"chakra-switch__label",...g(),__css:S,children:s})]})});Xv.displayName="Switch";var[aT,iT,lT,cT]=kv();function uT(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:i,lazyBehavior:u="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[g,v]=f.useState(n??0),[b,S]=bu({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const x=lT(),C=f.useId();return{id:`tabs-${(t=e.id)!=null?t:C}`,selectedIndex:b,focusedIndex:g,setSelectedIndex:S,setFocusedIndex:v,isManual:s,isLazy:i,lazyBehavior:u,orientation:d,descendants:x,direction:p,htmlProps:h}}var[dT,ch]=cr({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function fT(e){const{focusedIndex:t,orientation:n,direction:r}=ch(),o=iT(),s=f.useCallback(i=>{const u=()=>{var k;const P=o.nextEnabled(t);P&&((k=P.node)==null||k.focus())},d=()=>{var k;const P=o.prevEnabled(t);P&&((k=P.node)==null||k.focus())},p=()=>{var k;const P=o.firstEnabled();P&&((k=P.node)==null||k.focus())},h=()=>{var k;const P=o.lastEnabled();P&&((k=P.node)==null||k.focus())},g=n==="horizontal",v=n==="vertical",b=i.key,S=r==="ltr"?"ArrowLeft":"ArrowRight",x=r==="ltr"?"ArrowRight":"ArrowLeft",_={[S]:()=>g&&d(),[x]:()=>g&&u(),ArrowDown:()=>v&&u(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];_&&(i.preventDefault(),_(i))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:gt(e.onKeyDown,s)}}function pT(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:o,isManual:s,id:i,setFocusedIndex:u,selectedIndex:d}=ch(),{index:p,register:h}=cT({disabled:t&&!n}),g=p===d,v=()=>{o(p)},b=()=>{u(p),!s&&!(t&&n)&&o(p)},S=T6({...r,ref:Wn(h,e.ref),isDisabled:t,isFocusable:n,onClick:gt(e.onClick,v)}),x="button";return{...S,id:c5(i,p),role:"tab",tabIndex:g?0:-1,type:x,"aria-selected":g,"aria-controls":u5(i,p),onFocus:t?void 0:gt(e.onFocus,b)}}var[hT,mT]=cr({});function gT(e){const t=ch(),{id:n,selectedIndex:r}=t,s=qp(e.children).map((i,u)=>f.createElement(hT,{key:u,value:{isSelected:u===r,id:u5(n,u),tabId:c5(n,u),selectedIndex:r}},i));return{...e,children:s}}function vT(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=ch(),{isSelected:s,id:i,tabId:u}=mT(),d=f.useRef(!1);s&&(d.current=!0);const p=Hv({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":u,hidden:!s,id:i}}function c5(e,t){return`${e}--tab-${t}`}function u5(e,t){return`${e}--tabpanel-${t}`}var[yT,uh]=cr({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Nu=rt(function(t,n){const r=uo("Tabs",t),{children:o,className:s,...i}=wr(t),{htmlProps:u,descendants:d,...p}=uT(i),h=f.useMemo(()=>p,[p]),{isFitted:g,...v}=u;return a.jsx(aT,{value:d,children:a.jsx(dT,{value:h,children:a.jsx(yT,{value:r,children:a.jsx(He.div,{className:Mt("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Nu.displayName="Tabs";var $u=rt(function(t,n){const r=fT({...t,ref:n}),s={display:"flex",...uh().tablist};return a.jsx(He.div,{...r,className:Mt("chakra-tabs__tablist",t.className),__css:s})});$u.displayName="TabList";var dh=rt(function(t,n){const r=vT({...t,ref:n}),o=uh();return a.jsx(He.div,{outline:"0",...r,className:Mt("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});dh.displayName="TabPanel";var fh=rt(function(t,n){const r=gT(t),o=uh();return a.jsx(He.div,{...r,width:"100%",ref:n,className:Mt("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});fh.displayName="TabPanels";var Bl=rt(function(t,n){const r=uh(),o=pT({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return a.jsx(He.button,{...o,className:Mt("chakra-tabs__tab",t.className),__css:s})});Bl.displayName="Tab";function bT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var xT=["h","minH","height","minHeight"],d5=rt((e,t)=>{const n=Zl("Textarea",e),{className:r,rows:o,...s}=wr(e),i=av(s),u=o?bT(n,xT):n;return a.jsx(He.textarea,{ref:t,rows:o,...i,className:Mt("chakra-textarea",r),__css:u})});d5.displayName="Textarea";const f5=({id:e,x:t,y:n,width:r,height:o,style:s,color:i,strokeColor:u,strokeWidth:d,className:p,borderRadius:h,shapeRendering:g,onClick:v})=>{const{background:b,backgroundColor:S}=s||{},x=i||b||S;return a.jsx("rect",{className:Qp(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:x,stroke:u,strokeWidth:d,shapeRendering:g,onClick:v?C=>v(C,e):void 0})};f5.displayName="MiniMapNode";var wT=f.memo(f5);const ST=e=>e.nodeOrigin,CT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),ug=e=>e instanceof Function?e:()=>e;function _T({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=wT,onClick:i}){const u=_f(CT,lv),d=_f(ST),p=ug(t),h=ug(e),g=ug(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:u.map(b=>{const{x:S,y:x}=VE(b,d).positionAbsolute;return a.jsx(s,{x:S,y:x,width:b.width,height:b.height,style:b.style,className:g(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:i,id:b.id},b.id)})})}var kT=f.memo(_T);const jT=200,PT=150,IT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?KE(QE(t,e.nodeOrigin),n):n,rfId:e.rfId}},ET="react-flow__minimap-desc";function p5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:i=2,nodeComponent:u,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:g="bottom-right",onClick:v,onNodeClick:b,pannable:S=!1,zoomable:x=!1,ariaLabel:C="React Flow mini map",inversePan:_=!1,zoomStep:k=10}){const P=P4(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=_f(IT,lv),D=(e==null?void 0:e.width)??jT,T=(e==null?void 0:e.height)??PT,B=E.width/D,W=E.height/T,J=Math.max(B,W),F=J*D,N=J*T,G=5*J,K=E.x-(F-E.width)/2-G,M=E.y-(N-E.height)/2-G,U=F+G*2,V=N+G*2,ee=`${ET}-${R}`,ie=f.useRef(0);ie.current=J,f.useEffect(()=>{if(I.current){const ae=I4(I.current),te=pe=>{const{transform:ne,d3Selection:ve,d3Zoom:de}=P.getState();if(pe.sourceEvent.type!=="wheel"||!ve||!de)return;const Ce=-pe.sourceEvent.deltaY*(pe.sourceEvent.deltaMode===1?.05:pe.sourceEvent.deltaMode?1:.002)*k,Re=ne[2]*Math.pow(2,Ce);de.scaleTo(ve,Re)},H=pe=>{const{transform:ne,d3Selection:ve,d3Zoom:de,translateExtent:Ce,width:Re,height:ge}=P.getState();if(pe.sourceEvent.type!=="mousemove"||!ve||!de)return;const _e=ie.current*Math.max(1,ne[2])*(_?-1:1),We={x:ne[0]-pe.sourceEvent.movementX*_e,y:ne[1]-pe.sourceEvent.movementY*_e},Le=[[0,0],[Re,ge]],Ue=GE.translate(We.x,We.y).scale(ne[2]),jt=de.constrain()(Ue,Le,Ce);de.transform(ve,jt)},re=UE().on("zoom",S?H:null).on("zoom.wheel",x?te:null);return ae.call(re),()=>{ae.on("zoom",null)}}},[S,x,_,k]);const xe=v?ae=>{const te=qE(ae);v(ae,{x:te[0],y:te[1]})}:void 0,me=b?(ae,te)=>{const H=P.getState().nodeInternals.get(te);b(ae,H)}:void 0;return a.jsx(Su,{position:g,style:e,className:Qp(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:D,height:T,viewBox:`${K} ${M} ${U} ${V}`,role:"img","aria-labelledby":ee,ref:I,onClick:xe,children:[C&&a.jsx("title",{id:ee,children:C}),a.jsx(kT,{onClick:me,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:i,nodeComponent:u}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${K-G},${M-G}h${U+G*2}v${V+G*2}h${-U-G*2}z - M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}p5.displayName="MiniMap";var OT=f.memo(p5),ds;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ds||(ds={}));function MT({color:e,dimensions:t,lineWidth:n}){return a.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function RT({color:e,radius:t}){return a.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const DT={[ds.Dots]:"#91919a",[ds.Lines]:"#eee",[ds.Cross]:"#e2e2e2"},AT={[ds.Dots]:1,[ds.Lines]:1,[ds.Cross]:6},TT=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function h5({id:e,variant:t=ds.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:i,style:u,className:d}){const p=f.useRef(null),{transform:h,patternId:g}=_f(TT,lv),v=i||DT[t],b=r||AT[t],S=t===ds.Dots,x=t===ds.Cross,C=Array.isArray(n)?n:[n,n],_=[C[0]*h[2]||1,C[1]*h[2]||1],k=b*h[2],P=x?[k,k]:_,I=S?[k/s,k/s]:[P[0]/s,P[1]/s];return a.jsxs("svg",{className:Qp(["react-flow__background",d]),style:{...u,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[a.jsx("pattern",{id:g+e,x:h[0]%_[0],y:h[1]%_[1],width:_[0],height:_[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:S?a.jsx(RT,{color:v,radius:k/s}):a.jsx(MT,{dimensions:P,color:v,lineWidth:o})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${g+e})`})]})}h5.displayName="Background";var NT=f.memo(h5),Xc;(function(e){e.Line="line",e.Handle="handle"})(Xc||(Xc={}));function $T({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const i=e-t,u=n-r,d=[i>0?1:i<0?-1:0,u>0?1:u<0?-1:0];return i&&o&&(d[0]=d[0]*-1),u&&s&&(d[1]=d[1]*-1),d}const m5={width:0,height:0,x:0,y:0},zT={...m5,pointerX:0,pointerY:0,aspectRatio:1};function LT({nodeId:e,position:t,variant:n=Xc.Handle,className:r,style:o={},children:s,color:i,minWidth:u=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:g=!1,shouldResize:v,onResizeStart:b,onResize:S,onResizeEnd:x}){const C=YE(),_=typeof e=="string"?e:C,k=P4(),P=f.useRef(null),I=f.useRef(zT),E=f.useRef(m5),O=XE(),R=n===Xc.Line?"right":"bottom-right",D=t??R;f.useEffect(()=>{if(!P.current||!_)return;const J=I4(P.current),F=D.includes("right")||D.includes("left"),N=D.includes("bottom")||D.includes("top"),G=D.includes("left"),K=D.includes("top"),M=JE().on("start",U=>{const V=k.getState().nodeInternals.get(_),{xSnapped:ee,ySnapped:ie}=O(U);E.current={width:(V==null?void 0:V.width)??0,height:(V==null?void 0:V.height)??0,x:(V==null?void 0:V.position.x)??0,y:(V==null?void 0:V.position.y)??0},I.current={...E.current,pointerX:ee,pointerY:ie,aspectRatio:E.current.width/E.current.height},b==null||b(U,{...E.current})}).on("drag",U=>{const{nodeInternals:V,triggerNodeChanges:ee}=k.getState(),{xSnapped:ie,ySnapped:xe}=O(U),me=V.get(_);if(me){const ae=[],{pointerX:te,pointerY:H,width:re,height:pe,x:ne,y:ve,aspectRatio:de}=I.current,{x:Ce,y:Re,width:ge,height:_e}=E.current,We=Math.floor(F?ie-te:0),Le=Math.floor(N?xe-H:0);let Ue=ex(re+(G?-We:We),u,p),jt=ex(pe+(K?-Le:Le),d,h);if(g){const Ae=Ue/jt,Et=F&&N,Ft=F&&!N,Wt=N&&!F;Ue=Ae<=de&&Et||Wt?jt*de:Ue,jt=Ae>de&&Et||Ft?Ue/de:jt,Ue>=p?(Ue=p,jt=p/de):Ue<=u&&(Ue=u,jt=u/de),jt>=h?(jt=h,Ue=h*de):jt<=d&&(jt=d,Ue=d*de)}const vt=Ue!==ge,jn=jt!==_e;if(G||K){const Ae=G?ne-(Ue-re):ne,Et=K?ve-(jt-pe):ve,Ft=Ae!==Ce&&vt,Wt=Et!==Re&&jn;if(Ft||Wt){const _n={id:me.id,type:"position",position:{x:Ft?Ae:Ce,y:Wt?Et:Re}};ae.push(_n),E.current.x=_n.position.x,E.current.y=_n.position.y}}if(vt||jn){const Ae={id:_,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:Ue,height:jt}};ae.push(Ae),E.current.width=Ue,E.current.height=jt}if(ae.length===0)return;const Pt=$T({width:E.current.width,prevWidth:ge,height:E.current.height,prevHeight:_e,invertX:G,invertY:K}),bt={...E.current,direction:Pt};if((v==null?void 0:v(U,bt))===!1)return;S==null||S(U,bt),ee(ae)}}).on("end",U=>{const V={id:_,type:"dimensions",resizing:!1};x==null||x(U,{...E.current}),k.getState().triggerNodeChanges([V])});return J.call(M),()=>{J.on(".drag",null)}},[_,D,u,d,p,h,g,O,b,S,x]);const T=D.split("-"),B=n===Xc.Line?"borderColor":"backgroundColor",W=i?{...o,[B]:i}:o;return a.jsx("div",{className:Qp(["react-flow__resize-control","nodrag",...T,n,r]),ref:P,style:W,children:s})}var BT=f.memo(LT);const or=he(e=>e.ui,e=>ZE[e.activeTab],{memoizeOptions:{equalityCheck:Gt}}),FT=he(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:Gt}}),Zr=he(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:Gt}});var HT=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function zu(e,t){var n=WT(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function WT(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=HT.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var VT=[".DS_Store","Thumbs.db"];function UT(e){return sc(this,void 0,void 0,function(){return ac(this,function(t){return Ff(e)&>(e.dataTransfer)?[2,YT(e.dataTransfer,e.type)]:qT(e)?[2,KT(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,QT(e)]:[2,[]]})})}function GT(e){return Ff(e)}function qT(e){return Ff(e)&&Ff(e.target)}function Ff(e){return typeof e=="object"&&e!==null}function KT(e){return g0(e.target.files).map(function(t){return zu(t)})}function QT(e){return sc(this,void 0,void 0,function(){var t;return ac(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return zu(r)})]}})})}function YT(e,t){return sc(this,void 0,void 0,function(){var n,r;return ac(this,function(o){switch(o.label){case 0:return e.items?(n=g0(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(XT))]):[3,2];case 1:return r=o.sent(),[2,l2(g5(r))];case 2:return[2,l2(g0(e.files).map(function(s){return zu(s)}))]}})})}function l2(e){return e.filter(function(t){return VT.indexOf(t.name)===-1})}function g0(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,p2(n)];if(e.sizen)return[!1,p2(n)]}return[!0,null]}function bi(e){return e!=null}function pN(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,i=e.maxFiles,u=e.validator;return!s&&t.length>1||s&&i>=1&&t.length>i?!1:t.every(function(d){var p=x5(d,n),h=uu(p,1),g=h[0],v=w5(d,r,o),b=uu(v,1),S=b[0],x=u?u(d):null;return g&&S&&!x})}function Hf(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Nd(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function m2(e){e.preventDefault()}function hN(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function mN(e){return e.indexOf("Edge/")!==-1}function gN(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return hN(e)||mN(e)}function As(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),i=1;ie.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function DN(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var Jv=f.forwardRef(function(e,t){var n=e.children,r=Wf(e,SN),o=Zv(r),s=o.open,i=Wf(o,CN);return f.useImperativeHandle(t,function(){return{open:s}},[s]),z.createElement(f.Fragment,null,n(tr(tr({},i),{},{open:s})))});Jv.displayName="Dropzone";var k5={disabled:!1,getFilesFromEvent:UT,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};Jv.defaultProps=k5;Jv.propTypes={children:Dn.func,accept:Dn.objectOf(Dn.arrayOf(Dn.string)),multiple:Dn.bool,preventDropOnDocument:Dn.bool,noClick:Dn.bool,noKeyboard:Dn.bool,noDrag:Dn.bool,noDragEventsBubbling:Dn.bool,minSize:Dn.number,maxSize:Dn.number,maxFiles:Dn.number,disabled:Dn.bool,getFilesFromEvent:Dn.func,onFileDialogCancel:Dn.func,onFileDialogOpen:Dn.func,useFsAccessApi:Dn.bool,autoFocus:Dn.bool,onDragEnter:Dn.func,onDragLeave:Dn.func,onDragOver:Dn.func,onDrop:Dn.func,onDropAccepted:Dn.func,onDropRejected:Dn.func,onError:Dn.func,validator:Dn.func};var x0={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Zv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=tr(tr({},k5),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,i=t.minSize,u=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,g=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,S=t.onDropRejected,x=t.onFileDialogCancel,C=t.onFileDialogOpen,_=t.useFsAccessApi,k=t.autoFocus,P=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,D=t.onError,T=t.validator,B=f.useMemo(function(){return bN(n)},[n]),W=f.useMemo(function(){return yN(n)},[n]),J=f.useMemo(function(){return typeof C=="function"?C:v2},[C]),F=f.useMemo(function(){return typeof x=="function"?x:v2},[x]),N=f.useRef(null),G=f.useRef(null),K=f.useReducer(AN,x0),M=dg(K,2),U=M[0],V=M[1],ee=U.isFocused,ie=U.isFileDialogActive,xe=f.useRef(typeof window<"u"&&window.isSecureContext&&_&&vN()),me=function(){!xe.current&&ie&&setTimeout(function(){if(G.current){var Ae=G.current.files;Ae.length||(V({type:"closeDialog"}),F())}},300)};f.useEffect(function(){return window.addEventListener("focus",me,!1),function(){window.removeEventListener("focus",me,!1)}},[G,ie,F,xe]);var ae=f.useRef([]),te=function(Ae){N.current&&N.current.contains(Ae.target)||(Ae.preventDefault(),ae.current=[])};f.useEffect(function(){return P&&(document.addEventListener("dragover",m2,!1),document.addEventListener("drop",te,!1)),function(){P&&(document.removeEventListener("dragover",m2),document.removeEventListener("drop",te))}},[N,P]),f.useEffect(function(){return!r&&k&&N.current&&N.current.focus(),function(){}},[N,k,r]);var H=f.useCallback(function(be){D?D(be):console.error(be)},[D]),re=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be),ae.current=[].concat(jN(ae.current),[be.target]),Nd(be)&&Promise.resolve(o(be)).then(function(Ae){if(!(Hf(be)&&!R)){var Et=Ae.length,Ft=Et>0&&pN({files:Ae,accept:B,minSize:i,maxSize:s,multiple:u,maxFiles:d,validator:T}),Wt=Et>0&&!Ft;V({isDragAccept:Ft,isDragReject:Wt,isDragActive:!0,type:"setDraggedFiles"}),p&&p(be)}}).catch(function(Ae){return H(Ae)})},[o,p,H,R,B,i,s,u,d,T]),pe=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be);var Ae=Nd(be);if(Ae&&be.dataTransfer)try{be.dataTransfer.dropEffect="copy"}catch{}return Ae&&g&&g(be),!1},[g,R]),ne=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be);var Ae=ae.current.filter(function(Ft){return N.current&&N.current.contains(Ft)}),Et=Ae.indexOf(be.target);Et!==-1&&Ae.splice(Et,1),ae.current=Ae,!(Ae.length>0)&&(V({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Nd(be)&&h&&h(be))},[N,h,R]),ve=f.useCallback(function(be,Ae){var Et=[],Ft=[];be.forEach(function(Wt){var _n=x5(Wt,B),In=dg(_n,2),ln=In[0],Cr=In[1],vn=w5(Wt,i,s),sr=dg(vn,2),Ie=sr[0],it=sr[1],Xe=T?T(Wt):null;if(ln&&Ie&&!Xe)Et.push(Wt);else{var ot=[Cr,it];Xe&&(ot=ot.concat(Xe)),Ft.push({file:Wt,errors:ot.filter(function(Nt){return Nt})})}}),(!u&&Et.length>1||u&&d>=1&&Et.length>d)&&(Et.forEach(function(Wt){Ft.push({file:Wt,errors:[fN]})}),Et.splice(0)),V({acceptedFiles:Et,fileRejections:Ft,type:"setFiles"}),v&&v(Et,Ft,Ae),Ft.length>0&&S&&S(Ft,Ae),Et.length>0&&b&&b(Et,Ae)},[V,u,B,i,s,d,v,b,S,T]),de=f.useCallback(function(be){be.preventDefault(),be.persist(),vt(be),ae.current=[],Nd(be)&&Promise.resolve(o(be)).then(function(Ae){Hf(be)&&!R||ve(Ae,be)}).catch(function(Ae){return H(Ae)}),V({type:"reset"})},[o,ve,H,R]),Ce=f.useCallback(function(){if(xe.current){V({type:"openDialog"}),J();var be={multiple:u,types:W};window.showOpenFilePicker(be).then(function(Ae){return o(Ae)}).then(function(Ae){ve(Ae,null),V({type:"closeDialog"})}).catch(function(Ae){xN(Ae)?(F(Ae),V({type:"closeDialog"})):wN(Ae)?(xe.current=!1,G.current?(G.current.value=null,G.current.click()):H(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):H(Ae)});return}G.current&&(V({type:"openDialog"}),J(),G.current.value=null,G.current.click())},[V,J,F,_,ve,H,W,u]),Re=f.useCallback(function(be){!N.current||!N.current.isEqualNode(be.target)||(be.key===" "||be.key==="Enter"||be.keyCode===32||be.keyCode===13)&&(be.preventDefault(),Ce())},[N,Ce]),ge=f.useCallback(function(){V({type:"focus"})},[]),_e=f.useCallback(function(){V({type:"blur"})},[]),We=f.useCallback(function(){I||(gN()?setTimeout(Ce,0):Ce())},[I,Ce]),Le=function(Ae){return r?null:Ae},Ue=function(Ae){return E?null:Le(Ae)},jt=function(Ae){return O?null:Le(Ae)},vt=function(Ae){R&&Ae.stopPropagation()},jn=f.useMemo(function(){return function(){var be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ae=be.refKey,Et=Ae===void 0?"ref":Ae,Ft=be.role,Wt=be.onKeyDown,_n=be.onFocus,In=be.onBlur,ln=be.onClick,Cr=be.onDragEnter,vn=be.onDragOver,sr=be.onDragLeave,Ie=be.onDrop,it=Wf(be,_N);return tr(tr(b0({onKeyDown:Ue(As(Wt,Re)),onFocus:Ue(As(_n,ge)),onBlur:Ue(As(In,_e)),onClick:Le(As(ln,We)),onDragEnter:jt(As(Cr,re)),onDragOver:jt(As(vn,pe)),onDragLeave:jt(As(sr,ne)),onDrop:jt(As(Ie,de)),role:typeof Ft=="string"&&Ft!==""?Ft:"presentation"},Et,N),!r&&!E?{tabIndex:0}:{}),it)}},[N,Re,ge,_e,We,re,pe,ne,de,E,O,r]),Pt=f.useCallback(function(be){be.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ae=be.refKey,Et=Ae===void 0?"ref":Ae,Ft=be.onChange,Wt=be.onClick,_n=Wf(be,kN),In=b0({accept:B,multiple:u,type:"file",style:{display:"none"},onChange:Le(As(Ft,de)),onClick:Le(As(Wt,Pt)),tabIndex:-1},Et,G);return tr(tr({},In),_n)}},[G,n,u,de,r]);return tr(tr({},U),{},{isFocused:ee&&!r,getRootProps:jn,getInputProps:bt,rootRef:N,inputRef:G,open:Le(Ce)})}function AN(e,t){switch(t.type){case"focus":return tr(tr({},e),{},{isFocused:!0});case"blur":return tr(tr({},e),{},{isFocused:!1});case"openDialog":return tr(tr({},x0),{},{isFileDialogActive:!0});case"closeDialog":return tr(tr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return tr(tr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return tr(tr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return tr({},x0);default:return e}}function v2(){}function w0(){return w0=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var FN=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,i=n.mod,u=n.shift,d=n.ctrl,p=n.keys,h=t.key,g=t.code,v=t.ctrlKey,b=t.metaKey,S=t.shiftKey,x=t.altKey,C=Wa(g),_=h.toLowerCase();if(!r){if(o===!x&&_!=="alt"||u===!S&&_!=="shift")return!1;if(i){if(!b&&!v)return!1}else if(s===!b&&_!=="meta"&&_!=="os"||d===!v&&_!=="ctrl"&&_!=="control")return!1}return p&&p.length===1&&(p.includes(_)||p.includes(C))?!0:p?P5(p):!p},HN=f.createContext(void 0),WN=function(){return f.useContext(HN)};function M5(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&M5(e[r],t[r])},!0):e===t}var VN=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),UN=function(){return f.useContext(VN)};function GN(e){var t=f.useRef(void 0);return M5(t.current,e)||(t.current=e),t.current}var y2=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},qN=typeof window<"u"?f.useLayoutEffect:f.useEffect;function Ye(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),i=n instanceof Array?r instanceof Array?void 0:r:n,u=e instanceof Array?e.join(i==null?void 0:i.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var g=GN(i),v=UN(),b=v.enabledScopes,S=WN();return qN(function(){if(!((g==null?void 0:g.enabled)===!1||!BN(b,g==null?void 0:g.scopes))){var x=function(I,E){var O;if(E===void 0&&(E=!1),!(LN(I)&&!O5(I,g==null?void 0:g.enableOnFormTags))&&!(g!=null&&g.ignoreEventWhen!=null&&g.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){y2(I);return}(O=I.target)!=null&&O.isContentEditable&&!(g!=null&&g.enableOnContentEditable)||fg(u,g==null?void 0:g.splitKey).forEach(function(R){var D,T=pg(R,g==null?void 0:g.combinationKey);if(FN(I,T,g==null?void 0:g.ignoreModifiers)||(D=T.keys)!=null&&D.includes("*")){if(E&&s.current)return;if($N(I,T,g==null?void 0:g.preventDefault),!zN(I,T,g==null?void 0:g.enabled)){y2(I);return}h.current(I,T),E||(s.current=!0)}})}},C=function(I){I.key!==void 0&&(I5(Wa(I.code)),((g==null?void 0:g.keydown)===void 0&&(g==null?void 0:g.keyup)!==!0||g!=null&&g.keydown)&&x(I))},_=function(I){I.key!==void 0&&(E5(Wa(I.code)),s.current=!1,g!=null&&g.keyup&&x(I,!0))},k=o.current||(i==null?void 0:i.document)||document;return k.addEventListener("keyup",_),k.addEventListener("keydown",C),S&&fg(u,g==null?void 0:g.splitKey).forEach(function(P){return S.addHotkey(pg(P,g==null?void 0:g.combinationKey,g==null?void 0:g.description))}),function(){k.removeEventListener("keyup",_),k.removeEventListener("keydown",C),S&&fg(u,g==null?void 0:g.splitKey).forEach(function(P){return S.removeHotkey(pg(P,g==null?void 0:g.combinationKey,g==null?void 0:g.description))})}}},[u,g,b]),o}const KN=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return Ye("esc",()=>{r(!1)}),a.jsxs($e,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:a.jsx(L,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?a.jsx(zs,{size:"lg",children:"Drop to Upload"}):a.jsxs(a.Fragment,{children:[a.jsx(zs,{size:"lg",children:"Invalid Upload"}),a.jsx(zs,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},QN=he([mt,or],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Ke),YN=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=$(QN),o=$(Sr),s=tc(),{t:i}=ue(),[u,d]=f.useState(!1),[p]=E4(),h=f.useCallback(P=>{d(!0),s({title:i("toast.uploadFailed"),description:P.errors.map(I=>I.message).join(` -`),status:"error"})},[i,s]),g=f.useCallback(async P=>{p({file:P,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n})},[n,r,p]),v=f.useCallback((P,I)=>{if(I.length>1){s({title:i("toast.uploadFailed"),description:i("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}I.forEach(E=>{h(E)}),P.forEach(E=>{g(E)})},[i,s,g,h]),{getRootProps:b,getInputProps:S,isDragAccept:x,isDragReject:C,isDragActive:_,inputRef:k}=Zv({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const P=async I=>{var E,O;k.current&&(E=I.clipboardData)!=null&&E.files&&(k.current.files=I.clipboardData.files,(O=k.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",P),()=>{document.removeEventListener("paste",P)}},[k]),a.jsxs($e,{...b({style:{}}),onKeyDown:P=>{P.key},children:[a.jsx("input",{...S()}),t,a.jsx(Ko,{children:_&&u&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsx(KN,{isDragAccept:x,isDragReject:C,setIsHandlingUpload:d})},"image-upload-overlay")})]})},XN=f.memo(YN),en=e=>e.canvas,Jn=he([en,or,xo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),JN=e=>e.canvas.layerState.objects.find(O4),ZN=mM(e=>{e(M4(!0))},300),yo=()=>(e,t)=>{or(t())==="unifiedCanvas"&&ZN(e)};var e$=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),vr=globalThis&&globalThis.__assign||function(){return vr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof i>"u"?void 0:Number(i)}},i$=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],C2="__resizable_base__",l$=function(e){r$(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(C2):s.className+=C2,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||o$},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,i=this.resizable.style.position;i!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=i}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(u){if(typeof n.state[u]>"u"||n.state[u]==="auto")return"auto";if(n.propsSize&&n.propsSize[u]&&n.propsSize[u].toString().endsWith("%")){if(n.state[u].toString().endsWith("%"))return n.state[u].toString();var d=n.getParentSize(),p=Number(n.state[u].toString().replace("px","")),h=p/d[u]*100;return h+"%"}return hg(n.state[u])},s=r&&typeof r.width<"u"&&!this.state.isResizing?hg(r.width):o("width"),i=r&&typeof r.height<"u"&&!this.state.isResizing?hg(r.height):o("height");return{width:s,height:i}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,i=o&&pl("left",s),u=o&&pl("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=i?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=u?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=i?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=u?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=i?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=u?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,g=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,S=d||0,x=p||0;if(u){var C=(v-S)*this.ratio+x,_=(b-S)*this.ratio+x,k=(h-x)/this.ratio+S,P=(g-x)/this.ratio+S,I=Math.max(h,C),E=Math.min(g,_),O=Math.max(v,k),R=Math.min(b,P);n=zd(n,I,E),r=zd(r,O,R)}else n=zd(n,h,g),r=zd(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),i=s.left,u=s.top,d=s.right,p=s.bottom;this.resizableLeft=i,this.resizableRight=d,this.resizableTop=u,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&s$(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&Ld(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var i=this.props.onResizeStart(n,r,this.resizable);if(i===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var u,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",u=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var g={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:Ts(Ts({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:u};this.setState(g)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Ld(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,i=o.maxHeight,u=o.minWidth,d=o.minHeight,p=Ld(n)?n.touches[0].clientX:n.clientX,h=Ld(n)?n.touches[0].clientY:n.clientY,g=this.state,v=g.direction,b=g.original,S=g.width,x=g.height,C=this.getParentSize(),_=a$(C,this.window.innerWidth,this.window.innerHeight,s,i,u,d);s=_.maxWidth,i=_.maxHeight,u=_.minWidth,d=_.minHeight;var k=this.calculateNewSizeFromDirection(p,h),P=k.newHeight,I=k.newWidth,E=this.calculateNewMaxFromBoundary(s,i);this.props.snap&&this.props.snap.x&&(I=S2(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(P=S2(P,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,P,{width:E.maxWidth,height:E.maxHeight},{width:u,height:d});if(I=O.newWidth,P=O.newHeight,this.props.grid){var R=w2(I,this.props.grid[0]),D=w2(P,this.props.grid[1]),T=this.props.snapGap||0;I=T===0||Math.abs(R-I)<=T?R:I,P=T===0||Math.abs(D-P)<=T?D:P}var B={width:I-b.width,height:P-b.height};if(S&&typeof S=="string"){if(S.endsWith("%")){var W=I/C.width*100;I=W+"%"}else if(S.endsWith("vw")){var J=I/this.window.innerWidth*100;I=J+"vw"}else if(S.endsWith("vh")){var F=I/this.window.innerHeight*100;I=F+"vh"}}if(x&&typeof x=="string"){if(x.endsWith("%")){var W=P/C.height*100;P=W+"%"}else if(x.endsWith("vw")){var J=P/this.window.innerWidth*100;P=J+"vw"}else if(x.endsWith("vh")){var F=P/this.window.innerHeight*100;P=F+"vh"}}var N={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(P,"height")};this.flexDir==="row"?N.flexBasis=N.width:this.flexDir==="column"&&(N.flexBasis=N.height),nc.flushSync(function(){r.setState(N)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,B)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,i=r.original;if(!(!o||!this.resizable)){var u={width:this.size.width-i.width,height:this.size.height-i.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,u),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:Ts(Ts({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,i=r.handleClasses,u=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(g){return o[g]!==!1?f.createElement(n$,{key:g,direction:g,onResizeStart:n.onResizeStart,replaceStyles:s&&s[g],className:i&&i[g]},p&&p[g]?p[g]:null):null});return f.createElement("div",{className:d,style:u},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(i,u){return i$.indexOf(u)!==-1||(i[u]=n.props[u]),i},{}),o=Ts(Ts(Ts({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,Ts({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const c$=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),u$=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),i=n??(["left","right"].includes(e)?"95vw":void 0),u=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...i?{maxWidth:i}:{},...u?{minHeight:u}:{},...d?{maxHeight:d}:{}}},oa="0.75rem",Fd="1rem",Mc="5px",d$=({isResizable:e,direction:t})=>{const n=`calc((2 * ${oa} + ${Mc}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:Mc,paddingBottom:Fd},handleStyles:e?{top:{paddingTop:oa,paddingBottom:oa,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:Mc,paddingInlineEnd:Fd},handleStyles:e?{right:{paddingInlineStart:oa,paddingInlineEnd:oa,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:Mc,paddingTop:Fd},handleStyles:e?{bottom:{paddingTop:oa,paddingBottom:oa,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:Mc,paddingInlineStart:Fd},handleStyles:e?{left:{paddingInlineStart:oa,paddingInlineEnd:oa,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},f$=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",Me=(e,t)=>n=>n==="light"?e:t,p$=He(l$,{shouldForwardProp:e=>!["sx"].includes(e)}),R5=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:i,maxWidth:u,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:g,onResizeStop:v,onResize:b,sx:S={}})=>{const x=Kp().direction,{colorMode:C}=xs(),_=f.useRef(null),k=f.useMemo(()=>s??i??(["left","right"].includes(e)?"auto":"100%"),[s,i,e]),P=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[I,E]=f.useState(k),[O,R]=f.useState(P);tD({ref:_,handler:()=>{r()},enabled:n});const D=f.useMemo(()=>t?c$({direction:e,langDirection:x}):{},[t,x,e]),T=f.useMemo(()=>u$({direction:e,minWidth:i,maxWidth:u,minHeight:p,maxHeight:h}),[i,u,p,h,e]),{containerStyles:B,handleStyles:W}=f.useMemo(()=>d$({isResizable:t,direction:e}),[t,e]),J=f.useMemo(()=>f$(e,x),[e,x]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),a.jsx(A3,{direction:J,in:n,motionProps:{initial:!1},style:{width:"full"},children:a.jsx($e,{ref:_,sx:{width:"full",height:"full"},children:a.jsx(p$,{size:{width:t?I:k,height:t?O:P},enable:D,handleStyles:W,...T,sx:{borderColor:Me("base.200","base.800")(C),p:4,bg:Me("base.50","base.900")(C),height:"full",shadow:n?"dark-lg":void 0,...B,...S},onResizeStart:(F,N,G)=>{g&&g(F,N,G)},onResize:(F,N,G,K)=>{b&&b(F,N,G,K)},onResizeStop:(F,N,G,K)=>{["left","right"].includes(N)&&E(Number(I)+K.width),["top","bottom"].includes(N)&&R(Number(O)+K.height),v&&v(F,N,G,K)},children:o})})})};/*! - * OverlayScrollbars - * Version: 2.2.1 - * - * Copyright (c) Rene Haas | KingSora. - * https://github.com/KingSora - * - * Released under the MIT license. - */function gn(e,t){if(hh(e))for(let n=0;nt(e[n],n,e));return e}function Yr(e,t){const n=oi(t);if(ys(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?P2(e,s,t):t.reduce((i,u)=>(i[u]=P2(e,s,u),i),o)}return o}e&&gn(Mo(t),o=>E$(e,o,t[o]))}const is=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,i;const u=(h,g)=>{const v=s,b=h,S=g||(r?!r(v,b):v!==b);return(S||o)&&(s=b,i=v),[s,S,i]};return[t?h=>u(t(s,i),h):u,h=>[s,!!h,i]]},Lu=()=>typeof window<"u",D5=Lu()&&Node.ELEMENT_NODE,{toString:h$,hasOwnProperty:mg}=Object.prototype,ka=e=>e===void 0,ph=e=>e===null,m$=e=>ka(e)||ph(e)?`${e}`:h$.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),Ya=e=>typeof e=="number",oi=e=>typeof e=="string",e1=e=>typeof e=="boolean",vs=e=>typeof e=="function",ys=e=>Array.isArray(e),du=e=>typeof e=="object"&&!ys(e)&&!ph(e),hh=e=>{const t=!!e&&e.length,n=Ya(t)&&t>-1&&t%1==0;return ys(e)||!vs(e)&&n?t>0&&du(e)?t-1 in e:!0:!1},S0=e=>{if(!e||!du(e)||m$(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=mg.call(e,n),i=o&&mg.call(o,"isPrototypeOf");if(r&&!s&&!i)return!1;for(t in e);return ka(t)||mg.call(e,t)},Vf=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===D5:!1},mh=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===D5:!1},t1=(e,t,n)=>e.indexOf(t,n),Pn=(e,t,n)=>(!n&&!oi(t)&&hh(t)?Array.prototype.push.apply(e,t):e.push(t),e),Di=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{Pn(n,r)}):gn(e,r=>{Pn(n,r)}),n)},n1=e=>!!e&&e.length===0,Qs=(e,t,n)=>{gn(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},gh=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Mo=e=>e?Object.keys(e):[],rr=(e,t,n,r,o,s,i)=>{const u=[t,n,r,o,s,i];return(typeof e!="object"||ph(e))&&!vs(e)&&(e={}),gn(u,d=>{gn(Mo(d),p=>{const h=d[p];if(e===h)return!0;const g=ys(h);if(h&&(S0(h)||g)){const v=e[p];let b=v;g&&!ys(v)?b=[]:!g&&!S0(v)&&(b={}),e[p]=rr(b,h)}else e[p]=h})}),e},r1=e=>{for(const t in e)return!1;return!0},A5=(e,t,n,r)=>{if(ka(r))return n?n[e]:t;n&&(oi(r)||Ya(r))&&(n[e]=r)},Qr=(e,t,n)=>{if(ka(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},go=(e,t)=>{e&&e.removeAttribute(t)},_i=(e,t,n,r)=>{if(n){const o=Qr(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const i=Di(s).join(" ").trim();Qr(e,t,i)}},g$=(e,t,n)=>{const r=Qr(e,t)||"";return new Set(r.split(" ")).has(n)},fs=(e,t)=>A5("scrollLeft",0,e,t),ua=(e,t)=>A5("scrollTop",0,e,t),C0=Lu()&&Element.prototype,T5=(e,t)=>{const n=[],r=t?mh(t)?t:null:document;return r?Pn(n,r.querySelectorAll(e)):n},v$=(e,t)=>{const n=t?mh(t)?t:null:document;return n?n.querySelector(e):null},Uf=(e,t)=>mh(e)?(C0.matches||C0.msMatchesSelector).call(e,t):!1,o1=e=>e?Di(e.childNodes):[],xa=e=>e?e.parentElement:null,Sl=(e,t)=>{if(mh(e)){const n=C0.closest;if(n)return n.call(e,t);do{if(Uf(e,t))return e;e=xa(e)}while(e)}return null},y$=(e,t,n)=>{const r=e&&Sl(e,t),o=e&&v$(n,r),s=Sl(o,t)===r;return r&&o?r===e||o===e||s&&Sl(Sl(e,n),t)!==r:!1},s1=(e,t,n)=>{if(n&&e){let r=t,o;hh(n)?(o=document.createDocumentFragment(),gn(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},Vo=(e,t)=>{s1(e,null,t)},b$=(e,t)=>{s1(xa(e),e,t)},_2=(e,t)=>{s1(xa(e),e&&e.nextSibling,t)},Us=e=>{if(hh(e))gn(Di(e),t=>Us(t));else if(e){const t=xa(e);t&&t.removeChild(e)}},ki=e=>{const t=document.createElement("div");return e&&Qr(t,"class",e),t},N5=e=>{const t=ki();return t.innerHTML=e.trim(),gn(o1(t),n=>Us(n))},_0=e=>e.charAt(0).toUpperCase()+e.slice(1),x$=()=>ki().style,w$=["-webkit-","-moz-","-o-","-ms-"],S$=["WebKit","Moz","O","MS","webkit","moz","o","ms"],gg={},vg={},C$=e=>{let t=vg[e];if(gh(vg,e))return t;const n=_0(e),r=x$();return gn(w$,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,_0(s)+n].find(u=>r[u]!==void 0))}),vg[e]=t||""},Bu=e=>{if(Lu()){let t=gg[e]||window[e];return gh(gg,e)||(gn(S$,n=>(t=t||window[n+_0(e)],!t)),gg[e]=t),t}},_$=Bu("MutationObserver"),k2=Bu("IntersectionObserver"),Cl=Bu("ResizeObserver"),$5=Bu("cancelAnimationFrame"),z5=Bu("requestAnimationFrame"),Gf=Lu()&&window.setTimeout,k0=Lu()&&window.clearTimeout,k$=/[^\x20\t\r\n\f]+/g,L5=(e,t,n)=>{const r=e&&e.classList;let o,s=0,i=!1;if(r&&t&&oi(t)){const u=t.match(k$)||[];for(i=u.length>0;o=u[s++];)i=!!n(r,o)&&i}return i},a1=(e,t)=>{L5(e,t,(n,r)=>n.remove(r))},da=(e,t)=>(L5(e,t,(n,r)=>n.add(r)),a1.bind(0,e,t)),vh=(e,t,n,r)=>{if(e&&t){let o=!0;return gn(n,s=>{const i=r?r(e[s]):e[s],u=r?r(t[s]):t[s];i!==u&&(o=!1)}),o}return!1},B5=(e,t)=>vh(e,t,["w","h"]),F5=(e,t)=>vh(e,t,["x","y"]),j$=(e,t)=>vh(e,t,["t","r","b","l"]),j2=(e,t,n)=>vh(e,t,["width","height"],n&&(r=>Math.round(r))),Wo=()=>{},yl=e=>{let t;const n=e?Gf:z5,r=e?k0:$5;return[o=>{r(t),t=n(o,vs(e)?e():e)},()=>r(t)]},i1=(e,t)=>{let n,r,o,s=Wo;const{v:i,g:u,p:d}=t||{},p=function(S){s(),k0(n),n=r=void 0,s=Wo,e.apply(this,S)},h=b=>d&&r?d(r,b):b,g=()=>{s!==Wo&&p(h(o)||o)},v=function(){const S=Di(arguments),x=vs(i)?i():i;if(Ya(x)&&x>=0){const _=vs(u)?u():u,k=Ya(_)&&_>=0,P=x>0?Gf:z5,I=x>0?k0:$5,O=h(S)||S,R=p.bind(0,O);s();const D=P(R,x);s=()=>I(D),k&&!n&&(n=Gf(g,_)),r=o=O}else p(S)};return v.m=g,v},P$={opacity:1,zindex:1},Hd=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},I$=(e,t)=>!P$[e.toLowerCase()]&&Ya(t)?`${t}px`:t,P2=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],E$=(e,t,n)=>{try{const{style:r}=e;ka(r[t])?r.setProperty(t,n):r[t]=I$(t,n)}catch{}},fu=e=>Yr(e,"direction")==="rtl",I2=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,i=`${r}right${o}`,u=`${r}bottom${o}`,d=`${r}left${o}`,p=Yr(e,[s,i,u,d]);return{t:Hd(p[s],!0),r:Hd(p[i],!0),b:Hd(p[u],!0),l:Hd(p[d],!0)}},{round:E2}=Math,l1={w:0,h:0},pu=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:l1,wf=e=>e?{w:e.clientWidth,h:e.clientHeight}:l1,qf=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:l1,Kf=e=>{const t=parseFloat(Yr(e,"height"))||0,n=parseFloat(Yr(e,"width"))||0;return{w:n-E2(n),h:t-E2(t)}},Fs=e=>e.getBoundingClientRect();let Wd;const O$=()=>{if(ka(Wd)){Wd=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Wd=!0}}))}catch{}}return Wd},H5=e=>e.split(" "),M$=(e,t,n,r)=>{gn(H5(t),o=>{e.removeEventListener(o,n,r)})},Er=(e,t,n,r)=>{var o;const s=O$(),i=(o=s&&r&&r.S)!=null?o:s,u=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:i,capture:u}:u;return gn(H5(t),g=>{const v=d?b=>{e.removeEventListener(g,v,u),n&&n(b)}:n;Pn(p,M$.bind(null,e,g,v,u)),e.addEventListener(g,v,h)}),Qs.bind(0,p)},W5=e=>e.stopPropagation(),V5=e=>e.preventDefault(),R$={x:0,y:0},yg=e=>{const t=e?Fs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:R$},O2=(e,t)=>{gn(ys(t)?t:[t],e)},c1=e=>{const t=new Map,n=(s,i)=>{if(s){const u=t.get(s);O2(d=>{u&&u[d?"delete":"clear"](d)},i)}else t.forEach(u=>{u.clear()}),t.clear()},r=(s,i)=>{if(oi(s)){const p=t.get(s)||new Set;return t.set(s,p),O2(h=>{vs(h)&&p.add(h)},i),n.bind(0,s,i)}e1(i)&&i&&n();const u=Mo(s),d=[];return gn(u,p=>{const h=s[p];h&&Pn(d,r(p,h))}),Qs.bind(0,d)},o=(s,i)=>{const u=t.get(s);gn(Di(u),d=>{i&&!n1(i)?d.apply(0,i):d()})};return r(e||{}),[r,n,o]},M2=e=>JSON.stringify(e,(t,n)=>{if(vs(n))throw new Error;return n}),D$={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},U5=(e,t)=>{const n={},r=Mo(t).concat(Mo(e));return gn(r,o=>{const s=e[o],i=t[o];if(du(s)&&du(i))rr(n[o]={},U5(s,i)),r1(n[o])&&delete n[o];else if(gh(t,o)&&i!==s){let u=!0;if(ys(s)||ys(i))try{M2(s)===M2(i)&&(u=!1)}catch{}u&&(n[o]=i)}}),n},G5="os-environment",q5=`${G5}-flexbox-glue`,A$=`${q5}-max`,K5="os-scrollbar-hidden",bg="data-overlayscrollbars-initialize",ls="data-overlayscrollbars",Q5=`${ls}-overflow-x`,Y5=`${ls}-overflow-y`,Dl="overflowVisible",T$="scrollbarHidden",R2="scrollbarPressed",Qf="updating",Ba="data-overlayscrollbars-viewport",xg="arrange",X5="scrollbarHidden",Al=Dl,j0="data-overlayscrollbars-padding",N$=Al,D2="data-overlayscrollbars-content",u1="os-size-observer",$$=`${u1}-appear`,z$=`${u1}-listener`,L$="os-trinsic-observer",B$="os-no-css-vars",F$="os-theme-none",wo="os-scrollbar",H$=`${wo}-rtl`,W$=`${wo}-horizontal`,V$=`${wo}-vertical`,J5=`${wo}-track`,d1=`${wo}-handle`,U$=`${wo}-visible`,G$=`${wo}-cornerless`,A2=`${wo}-transitionless`,T2=`${wo}-interaction`,N2=`${wo}-unusable`,$2=`${wo}-auto-hidden`,z2=`${wo}-wheel`,q$=`${J5}-interactive`,K$=`${d1}-interactive`,Z5={},Ai=()=>Z5,Q$=e=>{const t=[];return gn(ys(e)?e:[e],n=>{const r=Mo(n);gn(r,o=>{Pn(t,Z5[o]=n[o])})}),t},Y$="__osOptionsValidationPlugin",X$="__osSizeObserverPlugin",f1="__osScrollbarsHidingPlugin",J$="__osClickScrollPlugin";let wg;const L2=(e,t,n,r)=>{Vo(e,t);const o=wf(t),s=pu(t),i=Kf(n);return r&&Us(t),{x:s.h-o.h+i.h,y:s.w-o.w+i.w}},Z$=e=>{let t=!1;const n=da(e,K5);try{t=Yr(e,C$("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},ez=(e,t)=>{const n="hidden";Yr(e,{overflowX:n,overflowY:n,direction:"rtl"}),fs(e,0);const r=yg(e),o=yg(t);fs(e,-999);const s=yg(t);return{i:r.x===o.x,n:o.x!==s.x}},tz=(e,t)=>{const n=da(e,q5),r=Fs(e),o=Fs(t),s=j2(o,r,!0),i=da(e,A$),u=Fs(e),d=Fs(t),p=j2(d,u,!0);return n(),i(),s&&p},nz=()=>{const{body:e}=document,n=N5(`
`)[0],r=n.firstChild,[o,,s]=c1(),[i,u]=is({o:L2(e,n,r),u:F5},L2.bind(0,e,n,r,!0)),[d]=u(),p=Z$(n),h={x:d.x===0,y:d.y===0},g={elements:{host:null,padding:!p,viewport:k=>p&&k===k.ownerDocument.body&&k,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=rr({},D$),b=rr.bind(0,{},v),S=rr.bind(0,{},g),x={k:d,A:h,I:p,L:Yr(n,"zIndex")==="-1",B:ez(n,r),V:tz(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:S,q:k=>rr(g,k)&&S(),F:b,G:k=>rr(v,k)&&b(),X:rr({},g),U:rr({},v)},C=window.addEventListener,_=i1(k=>s(k?"z":"r"),{v:33,g:99});if(go(n,"style"),Us(n),C("resize",_.bind(0,!1)),!p&&(!h.x||!h.y)){let k;C("resize",()=>{const P=Ai()[f1];k=k||P&&P.R(),k&&k(x,i,_.bind(0,!0))})}return x},So=()=>(wg||(wg=nz()),wg),p1=(e,t)=>vs(t)?t.apply(0,e):t,rz=(e,t,n,r)=>{const o=ka(r)?n:r;return p1(e,o)||t.apply(0,e)},e_=(e,t,n,r)=>{const o=ka(r)?n:r,s=p1(e,o);return!!s&&(Vf(s)?s:t.apply(0,e))},oz=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:i}=So(),{nativeScrollbarsOverlaid:u,body:d}=t,p=r??u,h=ka(o)?d:o,g=(s.x||s.y)&&p,v=e&&(ph(h)?!i:h);return!!g||!!v},h1=new WeakMap,sz=(e,t)=>{h1.set(e,t)},az=e=>{h1.delete(e)},t_=e=>h1.get(e),B2=(e,t)=>e?t.split(".").reduce((n,r)=>n&&gh(n,r)?n[r]:void 0,e):void 0,P0=(e,t,n)=>r=>[B2(e,r),n||B2(t,r)!==void 0],n_=e=>{let t=e;return[()=>t,n=>{t=rr({},t,n)}]},Vd="tabindex",Ud=ki.bind(0,""),Sg=e=>{Vo(xa(e),o1(e)),Us(e)},iz=e=>{const t=So(),{N:n,I:r}=t,o=Ai()[f1],s=o&&o.T,{elements:i}=n(),{host:u,padding:d,viewport:p,content:h}=i,g=Vf(e),v=g?{}:e,{elements:b}=v,{host:S,padding:x,viewport:C,content:_}=b||{},k=g?e:v.target,P=Uf(k,"textarea"),I=k.ownerDocument,E=I.documentElement,O=k===I.body,R=I.defaultView,D=rz.bind(0,[k]),T=e_.bind(0,[k]),B=p1.bind(0,[k]),W=D.bind(0,Ud,p),J=T.bind(0,Ud,h),F=W(C),N=F===k,G=N&&O,K=!N&&J(_),M=!N&&Vf(F)&&F===K,U=M&&!!B(h),V=U?W():F,ee=U?K:J(),xe=G?E:M?V:F,me=P?D(Ud,u,S):k,ae=G?xe:me,te=M?ee:K,H=I.activeElement,re=!N&&R.top===R&&H===k,pe={W:k,Z:ae,J:xe,K:!N&&T(Ud,d,x),tt:te,nt:!N&&!r&&s&&s(t),ot:G?E:xe,st:G?I:xe,et:R,ct:I,rt:P,it:O,lt:g,ut:N,dt:M,ft:(Pt,bt)=>g$(xe,N?ls:Ba,N?bt:Pt),_t:(Pt,bt,be)=>_i(xe,N?ls:Ba,N?bt:Pt,be)},ne=Mo(pe).reduce((Pt,bt)=>{const be=pe[bt];return Pn(Pt,be&&!xa(be)?be:!1)},[]),ve=Pt=>Pt?t1(ne,Pt)>-1:null,{W:de,Z:Ce,K:Re,J:ge,tt:_e,nt:We}=pe,Le=[()=>{go(Ce,ls),go(Ce,bg),go(de,bg),O&&(go(E,ls),go(E,bg))}],Ue=P&&ve(Ce);let jt=P?de:o1([_e,ge,Re,Ce,de].find(Pt=>ve(Pt)===!1));const vt=G?de:_e||ge;return[pe,()=>{Qr(Ce,ls,N?"viewport":"host"),Qr(Re,j0,""),Qr(_e,D2,""),N||Qr(ge,Ba,"");const Pt=O&&!N?da(xa(k),K5):Wo;if(Ue&&(_2(de,Ce),Pn(Le,()=>{_2(Ce,de),Us(Ce)})),Vo(vt,jt),Vo(Ce,Re),Vo(Re||Ce,!N&&ge),Vo(ge,_e),Pn(Le,()=>{Pt(),go(Re,j0),go(_e,D2),go(ge,Q5),go(ge,Y5),go(ge,Ba),ve(_e)&&Sg(_e),ve(ge)&&Sg(ge),ve(Re)&&Sg(Re)}),r&&!N&&(_i(ge,Ba,X5,!0),Pn(Le,go.bind(0,ge,Ba))),We&&(b$(ge,We),Pn(Le,Us.bind(0,We))),re){const bt=Qr(ge,Vd);Qr(ge,Vd,"-1"),ge.focus();const be=()=>bt?Qr(ge,Vd,bt):go(ge,Vd),Ae=Er(I,"pointerdown keydown",()=>{be(),Ae()});Pn(Le,[be,Ae])}else H&&H.focus&&H.focus();jt=0},Qs.bind(0,Le)]},lz=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=So(),{ht:i}=r(),{vt:u}=o,d=(n||!s)&&u;return d&&Yr(n,{height:i?"":"100%"}),{gt:d,wt:d}}},cz=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:i,ut:u}=e,[d,p]=is({u:j$,o:I2()},I2.bind(0,o,"padding",""));return(h,g,v)=>{let[b,S]=p(v);const{I:x,V:C}=So(),{bt:_}=n(),{gt:k,wt:P,yt:I}=h,[E,O]=g("paddingAbsolute");(k||S||!C&&P)&&([b,S]=d(v));const D=!u&&(O||I||S);if(D){const T=!E||!s&&!x,B=b.r+b.l,W=b.t+b.b,J={marginRight:T&&!_?-B:0,marginBottom:T?-W:0,marginLeft:T&&_?-B:0,top:T?-b.t:0,right:T?_?-b.r:"auto":0,left:T?_?"auto":-b.l:0,width:T?`calc(100% + ${B}px)`:""},F={paddingTop:T?b.t:0,paddingRight:T?b.r:0,paddingBottom:T?b.b:0,paddingLeft:T?b.l:0};Yr(s||i,J),Yr(i,F),r({K:b,St:!T,P:s?F:rr({},J,F)})}return{xt:D}}},{max:I0}=Math,Fa=I0.bind(0,0),r_="visible",F2="hidden",uz=42,Gd={u:B5,o:{w:0,h:0}},dz={u:F5,o:{x:F2,y:F2}},fz=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:Fa(e.w-t.w),h:Fa(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},qd=e=>e.indexOf(r_)===0,pz=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:i,nt:u,ut:d,_t:p,it:h,et:g}=e,{k:v,V:b,I:S,A:x}=So(),C=Ai()[f1],_=!d&&!S&&(x.x||x.y),k=h&&d,[P,I]=is(Gd,Kf.bind(0,i)),[E,O]=is(Gd,qf.bind(0,i)),[R,D]=is(Gd),[T,B]=is(Gd),[W]=is(dz),J=(U,V)=>{if(Yr(i,{height:""}),V){const{St:ee,K:ie}=n(),{$t:xe,D:me}=U,ae=Kf(o),te=wf(o),H=Yr(i,"boxSizing")==="content-box",re=ee||H?ie.b+ie.t:0,pe=!(x.x&&H);Yr(i,{height:te.h+ae.h+(xe.x&&pe?me.x:0)-re})}},F=(U,V)=>{const ee=!S&&!U?uz:0,ie=(ve,de,Ce)=>{const Re=Yr(i,ve),_e=(V?V[ve]:Re)==="scroll";return[Re,_e,_e&&!S?de?ee:Ce:0,de&&!!ee]},[xe,me,ae,te]=ie("overflowX",x.x,v.x),[H,re,pe,ne]=ie("overflowY",x.y,v.y);return{Ct:{x:xe,y:H},$t:{x:me,y:re},D:{x:ae,y:pe},M:{x:te,y:ne}}},N=(U,V,ee,ie)=>{const xe=(re,pe)=>{const ne=qd(re),ve=pe&&ne&&re.replace(`${r_}-`,"")||"";return[pe&&!ne?re:"",qd(ve)?"hidden":ve]},[me,ae]=xe(ee.x,V.x),[te,H]=xe(ee.y,V.y);return ie.overflowX=ae&&te?ae:me,ie.overflowY=H&&me?H:te,F(U,ie)},G=(U,V,ee,ie)=>{const{D:xe,M:me}=U,{x:ae,y:te}=me,{x:H,y:re}=xe,{P:pe}=n(),ne=V?"marginLeft":"marginRight",ve=V?"paddingLeft":"paddingRight",de=pe[ne],Ce=pe.marginBottom,Re=pe[ve],ge=pe.paddingBottom;ie.width=`calc(100% + ${re+-1*de}px)`,ie[ne]=-re+de,ie.marginBottom=-H+Ce,ee&&(ie[ve]=Re+(te?re:0),ie.paddingBottom=ge+(ae?H:0))},[K,M]=C?C.H(_,b,i,u,n,F,G):[()=>_,()=>[Wo]];return(U,V,ee)=>{const{gt:ie,Ot:xe,wt:me,xt:ae,vt:te,yt:H}=U,{ht:re,bt:pe}=n(),[ne,ve]=V("showNativeOverlaidScrollbars"),[de,Ce]=V("overflow"),Re=ne&&x.x&&x.y,ge=!d&&!b&&(ie||me||xe||ve||te),_e=qd(de.x),We=qd(de.y),Le=_e||We;let Ue=I(ee),jt=O(ee),vt=D(ee),jn=B(ee),Pt;if(ve&&S&&p(X5,T$,!Re),ge&&(Pt=F(Re),J(Pt,re)),ie||ae||me||H||ve){Le&&p(Al,Dl,!1);const[Ie,it]=M(Re,pe,Pt),[Xe,ot]=Ue=P(ee),[Nt,ur]=jt=E(ee),yn=wf(i);let bn=Nt,$r=yn;Ie(),(ur||ot||ve)&&it&&!Re&&K(it,Nt,Xe,pe)&&($r=wf(i),bn=qf(i));const dr={w:Fa(I0(Nt.w,bn.w)+Xe.w),h:Fa(I0(Nt.h,bn.h)+Xe.h)},An={w:Fa((k?g.innerWidth:$r.w+Fa(yn.w-Nt.w))+Xe.w),h:Fa((k?g.innerHeight+Xe.h:$r.h+Fa(yn.h-Nt.h))+Xe.h)};jn=T(An),vt=R(fz(dr,An),ee)}const[bt,be]=jn,[Ae,Et]=vt,[Ft,Wt]=jt,[_n,In]=Ue,ln={x:Ae.w>0,y:Ae.h>0},Cr=_e&&We&&(ln.x||ln.y)||_e&&ln.x&&!ln.y||We&&ln.y&&!ln.x;if(ae||H||In||Wt||be||Et||Ce||ve||ge){const Ie={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},it=N(Re,ln,de,Ie),Xe=K(it,Ft,_n,pe);d||G(it,pe,Xe,Ie),ge&&J(it,re),d?(Qr(o,Q5,Ie.overflowX),Qr(o,Y5,Ie.overflowY)):Yr(i,Ie)}_i(o,ls,Dl,Cr),_i(s,j0,N$,Cr),d||_i(i,Ba,Al,Le);const[vn,sr]=W(F(Re).Ct);return r({Ct:vn,zt:{x:bt.w,y:bt.h},Tt:{x:Ae.w,y:Ae.h},Et:ln}),{It:sr,At:be,Lt:Et}}},H2=(e,t,n)=>{const r={},o=t||{},s=Mo(e).concat(Mo(o));return gn(s,i=>{const u=e[i],d=o[i];r[i]=!!(n||u||d)}),r},hz=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:i,A:u,V:d}=So(),p=!i&&(u.x||u.y),h=[lz(e,t),cz(e,t),pz(e,t)];return(g,v,b)=>{const S=H2(rr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),x=p||!d,C=x&&fs(r),_=x&&ua(r);o("",Qf,!0);let k=S;return gn(h,P=>{k=H2(k,P(k,g,!!b)||{},b)}),fs(r,C),ua(r,_),o("",Qf),s||(fs(n,0),ua(n,0)),k}},mz=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},i=u=>{if(n){const d=n.reduce((p,h)=>{if(h){const[g,v]=h,b=v&&g&&(u?u(g):T5(g,e));b&&b.length&&v&&oi(v)&&Pn(p,[b,v.trim()],!0)}return p},[]);gn(d,p=>gn(p[0],h=>{const g=p[1],v=r.get(h)||[];if(e.contains(h)){const S=Er(h,g,x=>{o?(S(),r.delete(h)):t(x)});r.set(h,Pn(v,S))}else Qs(v),r.delete(h)}))}};return n&&(r=new WeakMap,i()),[s,i]},W2=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:i,Dt:u,Mt:d,Rt:p,kt:h}=r||{},g=i1(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=mz(e,g,u),S=s||[],x=i||[],C=S.concat(x),_=(P,I)=>{const E=p||Wo,O=h||Wo,R=new Set,D=new Set;let T=!1,B=!1;if(gn(P,W=>{const{attributeName:J,target:F,type:N,oldValue:G,addedNodes:K,removedNodes:M}=W,U=N==="attributes",V=N==="childList",ee=e===F,ie=U&&oi(J)?Qr(F,J):0,xe=ie!==0&&G!==ie,me=t1(x,J)>-1&&xe;if(t&&(V||!ee)){const ae=!U,te=U&&xe,H=te&&d&&Uf(F,d),pe=(H?!E(F,J,G,ie):ae||te)&&!O(W,!!H,e,r);gn(K,ne=>R.add(ne)),gn(M,ne=>R.add(ne)),B=B||pe}!t&&ee&&xe&&!E(F,J,G,ie)&&(D.add(J),T=T||me)}),R.size>0&&b(W=>Di(R).reduce((J,F)=>(Pn(J,T5(W,F)),Uf(F,W)?Pn(J,F):J),[])),t)return!I&&B&&n(!1),[!1];if(D.size>0||T){const W=[Di(D),T];return!I&&n.apply(0,W),W}},k=new _$(P=>_(P));return k.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:C,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),k.disconnect(),o=!1)},()=>{if(o){g.m();const P=k.takeRecords();return!n1(P)&&_(P,!0)}}]},Kd=3333333,Qd=e=>e&&(e.height||e.width),o_=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=Ai()[X$],{B:i}=So(),d=N5(`
`)[0],p=d.firstChild,h=fu.bind(0,e),[g]=is({o:void 0,_:!0,u:(x,C)=>!(!x||!Qd(x)&&Qd(C))}),v=x=>{const C=ys(x)&&x.length>0&&du(x[0]),_=!C&&e1(x[0]);let k=!1,P=!1,I=!0;if(C){const[E,,O]=g(x.pop().contentRect),R=Qd(E),D=Qd(O);k=!O||!R,P=!D&&R,I=!k}else _?[,I]=x:P=x===!0;if(r&&I){const E=_?x[0]:fu(d);fs(d,E?i.n?-Kd:i.i?0:Kd:Kd),ua(d,Kd)}k||t({gt:!_,Yt:_?x:void 0,Vt:!!P})},b=[];let S=o?v:!1;return[()=>{Qs(b),Us(d)},()=>{if(Cl){const x=new Cl(v);x.observe(p),Pn(b,()=>{x.disconnect()})}else if(s){const[x,C]=s.O(p,v,o);S=x,Pn(b,C)}if(r){const[x]=is({o:void 0},h);Pn(b,Er(d,"scroll",C=>{const _=x(),[k,P,I]=_;P&&(a1(p,"ltr rtl"),k?da(p,"rtl"):da(p,"ltr"),v([!!k,P,I])),W5(C)}))}S&&(da(d,$$),Pn(b,Er(d,"animationstart",S,{C:!!Cl}))),(Cl||s)&&Vo(e,d)}]},gz=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,vz=(e,t)=>{let n;const r=ki(L$),o=[],[s]=is({o:!1}),i=(d,p)=>{if(d){const h=s(gz(d)),[,g]=h;if(g)return!p&&t(h),[h]}},u=(d,p)=>{if(d&&d.length>0)return i(d.pop(),p)};return[()=>{Qs(o),Us(r)},()=>{if(k2)n=new k2(d=>u(d),{root:e}),n.observe(r),Pn(o,()=>{n.disconnect()});else{const d=()=>{const g=pu(r);i(g)},[p,h]=o_(r,d);Pn(o,p),h(),d()}Vo(e,r)},()=>{if(n)return u(n.takeRecords(),!0)}]},V2=`[${ls}]`,yz=`[${Ba}]`,Cg=["tabindex"],U2=["wrap","cols","rows"],_g=["id","class","style","open"],bz=(e,t,n)=>{let r,o,s;const{Z:i,J:u,tt:d,rt:p,ut:h,ft:g,_t:v}=e,{V:b}=So(),[S]=is({u:B5,o:{w:0,h:0}},()=>{const N=g(Al,Dl),G=g(xg,""),K=G&&fs(u),M=G&&ua(u);v(Al,Dl),v(xg,""),v("",Qf,!0);const U=qf(d),V=qf(u),ee=Kf(u);return v(Al,Dl,N),v(xg,"",G),v("",Qf),fs(u,K),ua(u,M),{w:V.w+U.w+ee.w,h:V.h+U.h+ee.h}}),x=p?U2:_g.concat(U2),C=i1(n,{v:()=>r,g:()=>o,p(N,G){const[K]=N,[M]=G;return[Mo(K).concat(Mo(M)).reduce((U,V)=>(U[V]=K[V]||M[V],U),{})]}}),_=N=>{gn(N||Cg,G=>{if(t1(Cg,G)>-1){const K=Qr(i,G);oi(K)?Qr(u,G,K):go(u,G)}})},k=(N,G)=>{const[K,M]=N,U={vt:M};return t({ht:K}),!G&&n(U),U},P=({gt:N,Yt:G,Vt:K})=>{const M=!N||K?n:C;let U=!1;if(G){const[V,ee]=G;U=ee,t({bt:V})}M({gt:N,yt:U})},I=(N,G)=>{const[,K]=S(),M={wt:K};return K&&!G&&(N?n:C)(M),M},E=(N,G,K)=>{const M={Ot:G};return G?!K&&C(M):h||_(N),M},[O,R,D]=d||!b?vz(i,k):[Wo,Wo,Wo],[T,B]=h?[Wo,Wo]:o_(i,P,{Vt:!0,Bt:!0}),[W,J]=W2(i,!1,E,{Pt:_g,Ht:_g.concat(Cg)}),F=h&&Cl&&new Cl(P.bind(0,{gt:!0}));return F&&F.observe(i),_(),[()=>{O(),T(),s&&s[0](),F&&F.disconnect(),W()},()=>{B(),R()},()=>{const N={},G=J(),K=D(),M=s&&s[1]();return G&&rr(N,E.apply(0,Pn(G,!0))),K&&rr(N,k.apply(0,Pn(K,!0))),M&&rr(N,I.apply(0,Pn(M,!0))),N},N=>{const[G]=N("update.ignoreMutation"),[K,M]=N("update.attributes"),[U,V]=N("update.elementEvents"),[ee,ie]=N("update.debounce"),xe=V||M,me=ae=>vs(G)&&G(ae);if(xe&&(s&&(s[1](),s[0]()),s=W2(d||u,!0,I,{Ht:x.concat(K||[]),Dt:U,Mt:V2,kt:(ae,te)=>{const{target:H,attributeName:re}=ae;return(!te&&re&&!h?y$(H,V2,yz):!1)||!!Sl(H,`.${wo}`)||!!me(ae)}})),ie)if(C.m(),ys(ee)){const ae=ee[0],te=ee[1];r=Ya(ae)&&ae,o=Ya(te)&&te}else Ya(ee)?(r=ee,o=!1):(r=!1,o=!1)}]},G2={x:0,y:0},xz=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:G2,Tt:G2,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:fu(e.Z)}),wz=(e,t)=>{const n=P0(t,{}),[r,o,s]=c1(),[i,u,d]=iz(e),p=n_(xz(i)),[h,g]=p,v=hz(i,p),b=(P,I,E)=>{const R=Mo(P).some(D=>P[D])||!r1(I)||E;return R&&s("u",[P,I,E]),R},[S,x,C,_]=bz(i,g,P=>b(v(n,P),{},!1)),k=h.bind(0);return k.jt=P=>r("u",P),k.Nt=()=>{const{W:P,J:I}=i,E=fs(P),O=ua(P);x(),u(),fs(I,E),ua(I,O)},k.qt=i,[(P,I)=>{const E=P0(t,P,I);return _(E),b(v(E,C(),I),P,!!I)},k,()=>{o(),S(),d()}]},{round:q2}=Math,Sz=e=>{const{width:t,height:n}=Fs(e),{w:r,h:o}=pu(e);return{x:q2(t)/r||1,y:q2(n)/o||1}},Cz=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:i}=e,{pointers:u}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(u||[]).includes(i)},_z=(e,t)=>Er(e,"mousedown",Er.bind(0,t,"click",W5,{C:!0,$:!0}),{$:!0}),K2="pointerup pointerleave pointercancel lostpointercapture",kz=(e,t,n,r,o,s,i)=>{const{B:u}=So(),{Ft:d,Gt:p,Xt:h}=r,g=`scroll${i?"Left":"Top"}`,v=`client${i?"X":"Y"}`,b=i?"width":"height",S=i?"left":"top",x=i?"w":"h",C=i?"x":"y",_=(k,P)=>I=>{const{Tt:E}=s(),O=pu(p)[x]-pu(d)[x],D=P*I/O*E[C],B=fu(h)&&i?u.n||u.i?1:-1:1;o[g]=k+D*B};return Er(p,"pointerdown",k=>{const P=Sl(k.target,`.${d1}`)===d,I=P?d:p;if(_i(t,ls,R2,!0),Cz(k,e,P)){const E=!P&&k.shiftKey,O=()=>Fs(d),R=()=>Fs(p),D=(V,ee)=>(V||O())[S]-(ee||R())[S],T=_(o[g]||0,1/Sz(o)[C]),B=k[v],W=O(),J=R(),F=W[b],N=D(W,J)+F/2,G=B-J[S],K=P?0:G-N,M=V=>{Qs(U),I.releasePointerCapture(V.pointerId)},U=[_i.bind(0,t,ls,R2),Er(n,K2,M),Er(n,"selectstart",V=>V5(V),{S:!1}),Er(p,K2,M),Er(p,"pointermove",V=>{const ee=V[v]-B;(P||E)&&T(K+ee)})];if(E)T(K);else if(!P){const V=Ai()[J$];V&&Pn(U,V.O(T,D,K,F,G))}I.setPointerCapture(k.pointerId)}})},jz=(e,t)=>(n,r,o,s,i,u)=>{const{Xt:d}=n,[p,h]=yl(333),g=!!i.scrollBy;let v=!0;return Qs.bind(0,[Er(d,"pointerenter",()=>{r(T2,!0)}),Er(d,"pointerleave pointercancel",()=>{r(T2)}),Er(d,"wheel",b=>{const{deltaX:S,deltaY:x,deltaMode:C}=b;g&&v&&C===0&&xa(d)===s&&i.scrollBy({left:S,top:x,behavior:"smooth"}),v=!1,r(z2,!0),p(()=>{v=!0,r(z2)}),V5(b)},{S:!1,$:!0}),_z(d,o),kz(e,s,o,n,i,t,u),h])},{min:E0,max:Q2,abs:Pz,round:Iz}=Math,s_=(e,t,n,r)=>{if(r){const u=n?"x":"y",{Tt:d,zt:p}=r,h=p[u],g=d[u];return Q2(0,E0(1,h/(h+g)))}const o=n?"width":"height",s=Fs(e)[o],i=Fs(t)[o];return Q2(0,E0(1,s/i))},Ez=(e,t,n,r,o,s)=>{const{B:i}=So(),u=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=Iz(p[u]),g=Pz(n[`scroll${d}`]),v=s&&o,b=i.i?g:h-g,x=E0(1,(v?b:g)/h),C=s_(e,t,s);return 1/C*(1-C)*x},Oz=(e,t,n)=>{const{N:r,L:o}=So(),{scrollbars:s}=r(),{slot:i}=s,{ct:u,W:d,Z:p,J:h,lt:g,ot:v,it:b,ut:S}=t,{scrollbars:x}=g?{}:e,{slot:C}=x||{},_=e_([d,p,h],()=>S&&b?d:p,i,C),k=(K,M,U)=>{const V=U?da:a1;gn(K,ee=>{V(ee.Xt,M)})},P=(K,M)=>{gn(K,U=>{const[V,ee]=M(U);Yr(V,ee)})},I=(K,M,U)=>{P(K,V=>{const{Ft:ee,Gt:ie}=V;return[ee,{[U?"width":"height"]:`${(100*s_(ee,ie,U,M)).toFixed(3)}%`}]})},E=(K,M,U)=>{const V=U?"X":"Y";P(K,ee=>{const{Ft:ie,Gt:xe,Xt:me}=ee,ae=Ez(ie,xe,v,M,fu(me),U);return[ie,{transform:ae===ae?`translate${V}(${(100*ae).toFixed(3)}%)`:""}]})},O=[],R=[],D=[],T=(K,M,U)=>{const V=e1(U),ee=V?U:!0,ie=V?!U:!0;ee&&k(R,K,M),ie&&k(D,K,M)},B=K=>{I(R,K,!0),I(D,K)},W=K=>{E(R,K,!0),E(D,K)},J=K=>{const M=K?W$:V$,U=K?R:D,V=n1(U)?A2:"",ee=ki(`${wo} ${M} ${V}`),ie=ki(J5),xe=ki(d1),me={Xt:ee,Gt:ie,Ft:xe};return o||da(ee,B$),Vo(ee,ie),Vo(ie,xe),Pn(U,me),Pn(O,[Us.bind(0,ee),n(me,T,u,p,v,K)]),me},F=J.bind(0,!0),N=J.bind(0,!1),G=()=>{Vo(_,R[0].Xt),Vo(_,D[0].Xt),Gf(()=>{T(A2)},300)};return F(),N(),[{Ut:B,Wt:W,Zt:T,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:D,Qt:N,tn:P.bind(0,D)}},G,Qs.bind(0,O)]},Mz=(e,t,n,r)=>{let o,s,i,u,d,p=0;const h=n_({}),[g]=h,[v,b]=yl(),[S,x]=yl(),[C,_]=yl(100),[k,P]=yl(100),[I,E]=yl(()=>p),[O,R,D]=Oz(e,n.qt,jz(t,n)),{Z:T,J:B,ot:W,st:J,ut:F,it:N}=n.qt,{Jt:G,nn:K,Zt:M,Ut:U,Wt:V}=O,{tn:ee}=G,{tn:ie}=K,xe=re=>{const{Xt:pe}=re,ne=F&&!N&&xa(pe)===B&&pe;return[ne,{transform:ne?`translate(${fs(W)}px, ${ua(W)}px)`:""}]},me=(re,pe)=>{if(E(),re)M($2);else{const ne=()=>M($2,!0);p>0&&!pe?I(ne):ne()}},ae=()=>{u=s,u&&me(!0)},te=[_,E,P,x,b,D,Er(T,"pointerover",ae,{C:!0}),Er(T,"pointerenter",ae),Er(T,"pointerleave",()=>{u=!1,s&&me(!1)}),Er(T,"pointermove",()=>{o&&v(()=>{_(),me(!0),k(()=>{o&&me(!1)})})}),Er(J,"scroll",re=>{S(()=>{V(n()),i&&me(!0),C(()=>{i&&!u&&me(!1)})}),r(re),F&&ee(xe),F&&ie(xe)})],H=g.bind(0);return H.qt=O,H.Nt=R,[(re,pe,ne)=>{const{At:ve,Lt:de,It:Ce,yt:Re}=ne,{A:ge}=So(),_e=P0(t,re,pe),We=n(),{Tt:Le,Ct:Ue,bt:jt}=We,[vt,jn]=_e("showNativeOverlaidScrollbars"),[Pt,bt]=_e("scrollbars.theme"),[be,Ae]=_e("scrollbars.visibility"),[Et,Ft]=_e("scrollbars.autoHide"),[Wt]=_e("scrollbars.autoHideDelay"),[_n,In]=_e("scrollbars.dragScroll"),[ln,Cr]=_e("scrollbars.clickScroll"),vn=ve||de||Re,sr=Ce||Ae,Ie=vt&&ge.x&&ge.y,it=(Xe,ot)=>{const Nt=be==="visible"||be==="auto"&&Xe==="scroll";return M(U$,Nt,ot),Nt};if(p=Wt,jn&&M(F$,Ie),bt&&(M(d),M(Pt,!0),d=Pt),Ft&&(o=Et==="move",s=Et==="leave",i=Et!=="never",me(!i,!0)),In&&M(K$,_n),Cr&&M(q$,ln),sr){const Xe=it(Ue.x,!0),ot=it(Ue.y,!1);M(G$,!(Xe&&ot))}vn&&(U(We),V(We),M(N2,!Le.x,!0),M(N2,!Le.y,!1),M(H$,jt&&!N))},H,Qs.bind(0,te)]},a_=(e,t,n)=>{vs(e)&&e(t||void 0,n||void 0)},Ua=(e,t,n)=>{const{F:r,N:o,Y:s,j:i}=So(),u=Ai(),d=Vf(e),p=d?e:e.target,h=t_(p);if(t&&!h){let g=!1;const v=F=>{const N=Ai()[Y$],G=N&&N.O;return G?G(F,!0):F},b=rr({},r(),v(t)),[S,x,C]=c1(n),[_,k,P]=wz(e,b),[I,E,O]=Mz(e,b,k,F=>C("scroll",[J,F])),R=(F,N)=>_(F,!!N),D=R.bind(0,{},!0),T=s(D),B=i(D),W=F=>{az(p),T(),B(),O(),P(),g=!0,C("destroyed",[J,!!F]),x()},J={options(F,N){if(F){const G=N?r():{},K=U5(b,rr(G,v(F)));r1(K)||(rr(b,K),R(K))}return rr({},b)},on:S,off:(F,N)=>{F&&N&&x(F,N)},state(){const{zt:F,Tt:N,Ct:G,Et:K,K:M,St:U,bt:V}=k();return rr({},{overflowEdge:F,overflowAmount:N,overflowStyle:G,hasOverflow:K,padding:M,paddingAbsolute:U,directionRTL:V,destroyed:g})},elements(){const{W:F,Z:N,K:G,J:K,tt:M,ot:U,st:V}=k.qt,{Jt:ee,nn:ie}=E.qt,xe=ae=>{const{Ft:te,Gt:H,Xt:re}=ae;return{scrollbar:re,track:H,handle:te}},me=ae=>{const{Kt:te,Qt:H}=ae,re=xe(te[0]);return rr({},re,{clone:()=>{const pe=xe(H());return I({},!0,{}),pe}})};return rr({},{target:F,host:N,padding:G||K,viewport:K,content:M||K,scrollOffsetElement:U,scrollEventElement:V,scrollbarHorizontal:me(ee),scrollbarVertical:me(ie)})},update:F=>R({},F),destroy:W.bind(0)};return k.jt((F,N,G)=>{I(N,G,F)}),sz(p,J),gn(Mo(u),F=>a_(u[F],0,J)),oz(k.qt.it,o().cancel,!d&&e.cancel)?(W(!0),J):(k.Nt(),E.Nt(),C("initialized",[J]),k.jt((F,N,G)=>{const{gt:K,yt:M,vt:U,At:V,Lt:ee,It:ie,wt:xe,Ot:me}=F;C("updated",[J,{updateHints:{sizeChanged:K,directionChanged:M,heightIntrinsicChanged:U,overflowEdgeChanged:V,overflowAmountChanged:ee,overflowStyleChanged:ie,contentMutation:xe,hostMutation:me},changedOptions:N,force:G}])}),J.update(!0),J)}return h};Ua.plugin=e=>{gn(Q$(e),t=>a_(t,Ua))};Ua.valid=e=>{const t=e&&e.elements,n=vs(t)&&t();return S0(n)&&!!t_(n.target)};Ua.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:i,U:u,N:d,q:p,F:h,G:g}=So();return rr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:i,staticDefaultOptions:u,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:g})};const Rz=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,i=r?n.requestIdleCallback:o,u=r?n.cancelIdleCallback:s,d=()=>{u(e),s(t)};return[(p,h)=>{d(),e=i(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},m1=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(Rz,[]),i=f.useRef(null),u=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{u.current=r},[r]),f.useEffect(()=>{const{current:h}=i;d.current=t,Ua.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=i;p.current=n,Ua.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=i.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const g=i.current;if(Ua.valid(g))return;const v=u.current,b=d.current||{},S=p.current||{},x=()=>i.current=Ua(h,b,S);v?o(x,v):x()},()=>i.current],[])},Dz=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:i,...u}=e,d=n,p=f.useRef(null),h=f.useRef(null),[g,v]=m1({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:S}=h;return b&&S&&g({target:b,elements:{viewport:S,content:S}}),()=>{var x;return(x=v())==null?void 0:x.destroy()}},[g,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),z.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...u},z.createElement("div",{ref:h},i))},i_=f.forwardRef(Dz),yr=e=>{const t=$(i=>i.config.disabledTabs),n=$(i=>i.config.disabledFeatures),r=$(i=>i.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}};var l_={exports:{}},c_={};const Eo=cv(e8),Rc=cv(t8),Az=cv(n8);(function(e){var t,n,r=al&&al.__generator||function(q,Y){var le,we,ce,nt,Je={label:0,sent:function(){if(1&ce[0])throw ce[1];return ce[1]},trys:[],ops:[]};return nt={next:Dt(0),throw:Dt(1),return:Dt(2)},typeof Symbol=="function"&&(nt[Symbol.iterator]=function(){return this}),nt;function Dt(st){return function(dt){return function(De){if(le)throw new TypeError("Generator is already executing.");for(;Je;)try{if(le=1,we&&(ce=2&De[0]?we.return:De[0]?we.throw||((ce=we.return)&&ce.call(we),0):we.next)&&!(ce=ce.call(we,De[1])).done)return ce;switch(we=0,ce&&(De=[2&De[0],ce.value]),De[0]){case 0:case 1:ce=De;break;case 4:return Je.label++,{value:De[1],done:!1};case 5:Je.label++,we=De[1],De=[0];continue;case 7:De=Je.ops.pop(),Je.trys.pop();continue;default:if(!((ce=(ce=Je.trys).length>0&&ce[ce.length-1])||De[0]!==6&&De[0]!==2)){Je=0;continue}if(De[0]===3&&(!ce||De[1]>ce[0]&&De[1]=200&&q.status<=299},J=function(q){return/ion\/(vnd\.api\+)?json/.test(q.get("content-type")||"")};function F(q){if(!(0,T.isPlainObject)(q))return q;for(var Y=C({},q),le=0,we=Object.entries(Y);le"u"&&Je===B&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(qt,$t){return E(Y,null,function(){var Oe,ut,_t,At,xn,zt,tn,Jt,_r,Un,yt,wn,kn,Gn,ar,En,On,nn,pn,Sn,cn,un,Be,wt,pt,Ze,ft,Rt,lt,Qe,ke,Se,Pe,Te,Ge,kt;return r(this,function(St){switch(St.label){case 0:return Oe=$t.signal,ut=$t.getState,_t=$t.extra,At=$t.endpoint,xn=$t.forced,zt=$t.type,_r=(Jt=typeof qt=="string"?{url:qt}:qt).url,yt=(Un=Jt.headers)===void 0?new Headers(Lt.headers):Un,kn=(wn=Jt.params)===void 0?void 0:wn,ar=(Gn=Jt.responseHandler)===void 0?xt??"json":Gn,On=(En=Jt.validateStatus)===void 0?Ot??W:En,pn=(nn=Jt.timeout)===void 0?ht:nn,Sn=P(Jt,["url","headers","params","responseHandler","validateStatus","timeout"]),cn=C(_(C({},Lt),{signal:Oe}),Sn),yt=new Headers(F(yt)),un=cn,[4,ce(yt,{getState:ut,extra:_t,endpoint:At,forced:xn,type:zt})];case 1:un.headers=St.sent()||yt,Be=function(Ne){return typeof Ne=="object"&&((0,T.isPlainObject)(Ne)||Array.isArray(Ne)||typeof Ne.toJSON=="function")},!cn.headers.has("content-type")&&Be(cn.body)&&cn.headers.set("content-type",ye),Be(cn.body)&&dt(cn.headers)&&(cn.body=JSON.stringify(cn.body,Fe)),kn&&(wt=~_r.indexOf("?")?"&":"?",pt=Dt?Dt(kn):new URLSearchParams(F(kn)),_r+=wt+pt),_r=function(Ne,Qt){if(!Ne)return Qt;if(!Qt)return Ne;if(function(on){return new RegExp("(^|:)//").test(on)}(Qt))return Qt;var dn=Ne.endsWith("/")||!Qt.startsWith("?")?"/":"";return Ne=function(on){return on.replace(/\/$/,"")}(Ne),""+Ne+dn+function(on){return on.replace(/^\//,"")}(Qt)}(le,_r),Ze=new Request(_r,cn),ft=Ze.clone(),tn={request:ft},lt=!1,Qe=pn&&setTimeout(function(){lt=!0,$t.abort()},pn),St.label=2;case 2:return St.trys.push([2,4,5,6]),[4,Je(Ze)];case 3:return Rt=St.sent(),[3,6];case 4:return ke=St.sent(),[2,{error:{status:lt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(ke)},meta:tn}];case 5:return Qe&&clearTimeout(Qe),[7];case 6:Se=Rt.clone(),tn.response=Se,Te="",St.label=7;case 7:return St.trys.push([7,9,,10]),[4,Promise.all([Kt(Rt,ar).then(function(Ne){return Pe=Ne},function(Ne){return Ge=Ne}),Se.text().then(function(Ne){return Te=Ne},function(){})])];case 8:if(St.sent(),Ge)throw Ge;return[3,10];case 9:return kt=St.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Rt.status,data:Te,error:String(kt)},meta:tn}];case 10:return[2,On(Rt,Pe)?{data:Pe,meta:tn}:{error:{status:Rt.status,data:Pe},meta:tn}]}})})};function Kt(qt,$t){return E(this,null,function(){var Oe;return r(this,function(ut){switch(ut.label){case 0:return typeof $t=="function"?[2,$t(qt)]:($t==="content-type"&&($t=dt(qt.headers)?"json":"text"),$t!=="json"?[3,2]:[4,qt.text()]);case 1:return[2,(Oe=ut.sent()).length?JSON.parse(Oe):null];case 2:return[2,qt.text()]}})})}}var G=function(q,Y){Y===void 0&&(Y=void 0),this.value=q,this.meta=Y};function K(q,Y){return q===void 0&&(q=0),Y===void 0&&(Y=5),E(this,null,function(){var le,we;return r(this,function(ce){switch(ce.label){case 0:return le=Math.min(q,Y),we=~~((Math.random()+.4)*(300<=Se)}var Sn=(0,Ue.createAsyncThunk)(kn+"/executeQuery",nn,{getPendingMeta:function(){var Be;return(Be={startedTimeStamp:Date.now()})[Ue.SHOULD_AUTOBATCH]=!0,Be},condition:function(Be,wt){var pt,Ze,ft,Rt=(0,wt.getState)(),lt=(Ze=(pt=Rt[kn])==null?void 0:pt.queries)==null?void 0:Ze[Be.queryCacheKey],Qe=lt==null?void 0:lt.fulfilledTimeStamp,ke=Be.originalArgs,Se=lt==null?void 0:lt.originalArgs,Pe=ar[Be.endpointName];return!(!_e(Be)&&((lt==null?void 0:lt.status)==="pending"||!pn(Be,Rt)&&(!ne(Pe)||!((ft=Pe==null?void 0:Pe.forceRefetch)!=null&&ft.call(Pe,{currentArg:ke,previousArg:Se,endpointState:lt,state:Rt})))&&Qe))},dispatchConditionRejection:!0}),cn=(0,Ue.createAsyncThunk)(kn+"/executeMutation",nn,{getPendingMeta:function(){var Be;return(Be={startedTimeStamp:Date.now()})[Ue.SHOULD_AUTOBATCH]=!0,Be}});function un(Be){return function(wt){var pt,Ze;return((Ze=(pt=wt==null?void 0:wt.meta)==null?void 0:pt.arg)==null?void 0:Ze.endpointName)===Be}}return{queryThunk:Sn,mutationThunk:cn,prefetch:function(Be,wt,pt){return function(Ze,ft){var Rt=function(Pe){return"force"in Pe}(pt)&&pt.force,lt=function(Pe){return"ifOlderThan"in Pe}(pt)&&pt.ifOlderThan,Qe=function(Pe){return Pe===void 0&&(Pe=!0),On.endpoints[Be].initiate(wt,{forceRefetch:Pe})},ke=On.endpoints[Be].select(wt)(ft());if(Rt)Ze(Qe());else if(lt){var Se=ke==null?void 0:ke.fulfilledTimeStamp;if(!Se)return void Ze(Qe());(Number(new Date)-Number(new Date(Se)))/1e3>=lt&&Ze(Qe())}else Ze(Qe(!1))}},updateQueryData:function(Be,wt,pt){return function(Ze,ft){var Rt,lt,Qe=On.endpoints[Be].select(wt)(ft()),ke={patches:[],inversePatches:[],undo:function(){return Ze(On.util.patchQueryData(Be,wt,ke.inversePatches))}};if(Qe.status===t.uninitialized)return ke;if("data"in Qe)if((0,Le.isDraftable)(Qe.data)){var Se=(0,Le.produceWithPatches)(Qe.data,pt),Pe=Se[2];(Rt=ke.patches).push.apply(Rt,Se[1]),(lt=ke.inversePatches).push.apply(lt,Pe)}else{var Te=pt(Qe.data);ke.patches.push({op:"replace",path:[],value:Te}),ke.inversePatches.push({op:"replace",path:[],value:Qe.data})}return Ze(On.util.patchQueryData(Be,wt,ke.patches)),ke}},upsertQueryData:function(Be,wt,pt){return function(Ze){var ft;return Ze(On.endpoints[Be].initiate(wt,((ft={subscribe:!1,forceRefetch:!0})[ge]=function(){return{data:pt}},ft)))}},patchQueryData:function(Be,wt,pt){return function(Ze){Ze(On.internalActions.queryResultPatched({queryCacheKey:En({queryArgs:wt,endpointDefinition:ar[Be],endpointName:Be}),patches:pt}))}},buildMatchThunkActions:function(Be,wt){return{matchPending:(0,We.isAllOf)((0,We.isPending)(Be),un(wt)),matchFulfilled:(0,We.isAllOf)((0,We.isFulfilled)(Be),un(wt)),matchRejected:(0,We.isAllOf)((0,We.isRejected)(Be),un(wt))}}}}({baseQuery:we,reducerPath:ce,context:le,api:q,serializeQueryArgs:nt}),Fe=ye.queryThunk,ht=ye.mutationThunk,xt=ye.patchQueryData,Ot=ye.updateQueryData,Lt=ye.upsertQueryData,Kt=ye.prefetch,qt=ye.buildMatchThunkActions,$t=function(yt){var wn=yt.reducerPath,kn=yt.queryThunk,Gn=yt.mutationThunk,ar=yt.context,En=ar.endpointDefinitions,On=ar.apiUid,nn=ar.extractRehydrationInfo,pn=ar.hasRehydrationInfo,Sn=yt.assertTagType,cn=yt.config,un=(0,Ce.createAction)(wn+"/resetApiState"),Be=(0,Ce.createSlice)({name:wn+"/queries",initialState:Et,reducers:{removeQueryResult:{reducer:function(Qe,ke){delete Qe[ke.payload.queryCacheKey]},prepare:(0,Ce.prepareAutoBatched)()},queryResultPatched:function(Qe,ke){var Se=ke.payload,Pe=Se.patches;bt(Qe,Se.queryCacheKey,function(Te){Te.data=(0,Pt.applyPatches)(Te.data,Pe.concat())})}},extraReducers:function(Qe){Qe.addCase(kn.pending,function(ke,Se){var Pe,Te=Se.meta,Ge=Se.meta.arg,kt=_e(Ge);(Ge.subscribe||kt)&&(ke[Pe=Ge.queryCacheKey]!=null||(ke[Pe]={status:t.uninitialized,endpointName:Ge.endpointName})),bt(ke,Ge.queryCacheKey,function(St){St.status=t.pending,St.requestId=kt&&St.requestId?St.requestId:Te.requestId,Ge.originalArgs!==void 0&&(St.originalArgs=Ge.originalArgs),St.startedTimeStamp=Te.startedTimeStamp})}).addCase(kn.fulfilled,function(ke,Se){var Pe=Se.meta,Te=Se.payload;bt(ke,Pe.arg.queryCacheKey,function(Ge){var kt;if(Ge.requestId===Pe.requestId||_e(Pe.arg)){var St=En[Pe.arg.endpointName].merge;if(Ge.status=t.fulfilled,St)if(Ge.data!==void 0){var Ne=Pe.fulfilledTimeStamp,Qt=Pe.arg,dn=Pe.baseQueryMeta,on=Pe.requestId,ir=(0,Ce.createNextState)(Ge.data,function(Fn){return St(Fn,Te,{arg:Qt.originalArgs,baseQueryMeta:dn,fulfilledTimeStamp:Ne,requestId:on})});Ge.data=ir}else Ge.data=Te;else Ge.data=(kt=En[Pe.arg.endpointName].structuralSharing)==null||kt?D((0,jn.isDraft)(Ge.data)?(0,Pt.original)(Ge.data):Ge.data,Te):Te;delete Ge.error,Ge.fulfilledTimeStamp=Pe.fulfilledTimeStamp}})}).addCase(kn.rejected,function(ke,Se){var Pe=Se.meta,Te=Pe.condition,Ge=Pe.requestId,kt=Se.error,St=Se.payload;bt(ke,Pe.arg.queryCacheKey,function(Ne){if(!Te){if(Ne.requestId!==Ge)return;Ne.status=t.rejected,Ne.error=St??kt}})}).addMatcher(pn,function(ke,Se){for(var Pe=nn(Se).queries,Te=0,Ge=Object.entries(Pe);Te"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},cn),reducers:{middlewareRegistered:function(Qe,ke){Qe.middlewareRegistered=Qe.middlewareRegistered!=="conflict"&&On===ke.payload||"conflict"}},extraReducers:function(Qe){Qe.addCase(xe,function(ke){ke.online=!0}).addCase(me,function(ke){ke.online=!1}).addCase(ee,function(ke){ke.focused=!0}).addCase(ie,function(ke){ke.focused=!1}).addMatcher(pn,function(ke){return C({},ke)})}}),lt=(0,Ce.combineReducers)({queries:Be.reducer,mutations:wt.reducer,provided:pt.reducer,subscriptions:ft.reducer,config:Rt.reducer});return{reducer:function(Qe,ke){return lt(un.match(ke)?void 0:Qe,ke)},actions:_(C(C(C(C(C({},Rt.actions),Be.actions),Ze.actions),ft.actions),wt.actions),{unsubscribeMutationResult:wt.actions.removeMutationResult,resetApiState:un})}}({context:le,queryThunk:Fe,mutationThunk:ht,reducerPath:ce,assertTagType:De,config:{refetchOnFocus:st,refetchOnReconnect:dt,refetchOnMountOrArgChange:Dt,keepUnusedDataFor:Je,reducerPath:ce}}),Oe=$t.reducer,ut=$t.actions;Dr(q.util,{patchQueryData:xt,updateQueryData:Ot,upsertQueryData:Lt,prefetch:Kt,resetApiState:ut.resetApiState}),Dr(q.internalActions,ut);var _t=function(yt){var wn=yt.reducerPath,kn=yt.queryThunk,Gn=yt.api,ar=yt.context,En=ar.apiUid,On={invalidateTags:(0,ur.createAction)(wn+"/invalidateTags")},nn=[zr,yn,$r,dr,Nn,_o];return{middleware:function(Sn){var cn=!1,un=_(C({},yt),{internalState:{currentSubscriptions:{}},refetchQuery:pn}),Be=nn.map(function(Ze){return Ze(un)}),wt=function(Ze){var ft=Ze.api,Rt=Ze.queryThunk,lt=Ze.internalState,Qe=ft.reducerPath+"/subscriptions",ke=null,Se=!1,Pe=ft.internalActions,Te=Pe.updateSubscriptionOptions,Ge=Pe.unsubscribeQueryResult;return function(kt,St){var Ne,Qt;if(ke||(ke=JSON.parse(JSON.stringify(lt.currentSubscriptions))),ft.util.resetApiState.match(kt))return ke=lt.currentSubscriptions={},[!0,!1];if(ft.internalActions.internal_probeSubscription.match(kt)){var dn=kt.payload;return[!1,!!((Ne=lt.currentSubscriptions[dn.queryCacheKey])!=null&&Ne[dn.requestId])]}var on=function(an,$n){var to,rn,Mn,Br,kr,Pa,Uu,ko,Js;if(Te.match($n)){var Ps=$n.payload,Zs=Ps.queryCacheKey,no=Ps.requestId;return(to=an==null?void 0:an[Zs])!=null&&to[no]&&(an[Zs][no]=Ps.options),!0}if(Ge.match($n)){var ro=$n.payload;return no=ro.requestId,an[Zs=ro.queryCacheKey]&&delete an[Zs][no],!0}if(ft.internalActions.removeQueryResult.match($n))return delete an[$n.payload.queryCacheKey],!0;if(Rt.pending.match($n)){var oo=$n.meta;if(no=oo.requestId,(Vr=oo.arg).subscribe)return(Do=(Mn=an[rn=Vr.queryCacheKey])!=null?Mn:an[rn]={})[no]=(kr=(Br=Vr.subscriptionOptions)!=null?Br:Do[no])!=null?kr:{},!0}if(Rt.rejected.match($n)){var Do,jo=$n.meta,Vr=jo.arg;if(no=jo.requestId,jo.condition&&Vr.subscribe)return(Do=(Uu=an[Pa=Vr.queryCacheKey])!=null?Uu:an[Pa]={})[no]=(Js=(ko=Vr.subscriptionOptions)!=null?ko:Do[no])!=null?Js:{},!0}return!1}(lt.currentSubscriptions,kt);if(on){Se||(es(function(){var an=JSON.parse(JSON.stringify(lt.currentSubscriptions)),$n=(0,Lr.produceWithPatches)(ke,function(){return an});St.next(ft.internalActions.subscriptionsUpdated($n[1])),ke=an,Se=!1}),Se=!0);var ir=!!((Qt=kt.type)!=null&&Qt.startsWith(Qe)),Fn=Rt.rejected.match(kt)&&kt.meta.condition&&!!kt.meta.arg.subscribe;return[!ir&&!Fn,!1]}return[!0,!1]}}(un),pt=function(Ze){var ft=Ze.reducerPath,Rt=Ze.context,lt=Ze.refetchQuery,Qe=Ze.internalState,ke=Ze.api.internalActions.removeQueryResult;function Se(Pe,Te){var Ge=Pe.getState()[ft],kt=Ge.queries,St=Qe.currentSubscriptions;Rt.batch(function(){for(var Ne=0,Qt=Object.keys(St);Ne{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...i}={},isChecked:u,...d}=e;return a.jsx(Cn,{label:r,placement:o,hasArrow:s,...i,children:a.jsx(kf,{ref:t,colorScheme:u?"accent":"base",...d,children:n})})}),Xt=f.memo(Tz),Nz=e=>{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!Lc(t)?null:a.jsxs(a.Fragment,{children:[a.jsx(qe,{children:n}),a.jsxs(Fv,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&a.jsx(la,{children:"Image to Image"}),t.isCanvasImage&&a.jsx(la,{children:"Unified Canvas"}),t.isControlNetImage&&a.jsx(la,{children:"ControlNet"}),t.isNodesImage&&a.jsx(la,{children:"Node Editor"})]}),a.jsx(qe,{children:r})]})},u_=f.memo(Nz),$z=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ue(),o=$(k=>k.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:i}=r8((t==null?void 0:t.board_id)??Xr.skipToken),u=f.useMemo(()=>he([mt],k=>{const P=(s??[]).map(E=>o8(k,E));return{imageUsageSummary:{isInitialImage:Lc(P,E=>E.isInitialImage),isCanvasImage:Lc(P,E=>E.isCanvasImage),isNodesImage:Lc(P,E=>E.isNodesImage),isControlNetImage:Lc(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=s8(),[h,{isLoading:g}]=a8(),{imageUsageSummary:v}=$(u),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),S=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),x=f.useCallback(()=>{n(void 0)},[n]),C=f.useRef(null),_=f.useMemo(()=>g||p||i,[g,p,i]);return t?a.jsx(Du,{isOpen:!!t,onClose:x,leastDestructiveRef:C,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsxs(va,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),a.jsx(ba,{children:a.jsxs(L,{direction:"column",gap:3,children:[i?a.jsx(ah,{children:a.jsx(L,{sx:{w:"full",h:32}})}):a.jsx(u_,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),a.jsx(qe,{children:"Deleted boards cannot be restored."}),a.jsx(qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),a.jsx(ga,{children:a.jsxs(L,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[a.jsx(Xt,{ref:C,onClick:x,children:"Cancel"}),a.jsx(Xt,{colorScheme:"warning",isLoading:_,onClick:b,children:"Delete Board Only"}),a.jsx(Xt,{colorScheme:"error",isLoading:_,onClick:S,children:"Delete Board and Images"})]})})]})})}):null},zz=f.memo($z);function Lz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"}}]})(e)}function Bz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(e)}function Fz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"}}]})(e)}function Hz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"}}]})(e)}function Wz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"}}]})(e)}function Vz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"}}]})(e)}function Uz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"}}]})(e)}function Gz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"}}]})(e)}function d_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"}}]})(e)}function f_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"}}]})(e)}function qz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"}}]})(e)}function Kz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"}}]})(e)}function Qz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"}}]})(e)}function g1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"}}]})(e)}function cc(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"}}]})(e)}function p_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"}}]})(e)}function Yz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"}}]})(e)}function v1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function h_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"}}]})(e)}function m_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"}}]})(e)}function Xz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 192 512"},child:[{tag:"path",attr:{d:"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"}}]})(e)}function Jz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}}]})(e)}function Zz(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}}]})(e)}function eL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"}}]})(e)}function g_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"}}]})(e)}function tL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"}}]})(e)}function nL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"}}]})(e)}function v_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"}}]})(e)}function kg(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"}}]})(e)}function rL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z"}}]})(e)}function oL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z"}}]})(e)}function Ti(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"}}]})(e)}function sL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z"}}]})(e)}function aL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"}}]})(e)}function iL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 192 512"},child:[{tag:"path",attr:{d:"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"}}]})(e)}function lL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"}}]})(e)}function y_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"}}]})(e)}function cL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"}}]})(e)}function uL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"}}]})(e)}function dL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"}}]})(e)}function fL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function pL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"}}]})(e)}function b_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"}}]})(e)}function x_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"}}]})(e)}function Hi(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function w_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(e)}function hL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"}}]})(e)}function mL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"}}]})(e)}function yh(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"}}]})(e)}function gL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"}}]})(e)}function S_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"}}]})(e)}function vL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"}}]})(e)}function yL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"}}]})(e)}function Y2(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"}}]})(e)}function y1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}}]})(e)}function bL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"}}]})(e)}function xL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"}}]})(e)}function C_(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z"}}]})(e)}function wL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"}}]})(e)}function Xo(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"}}]})(e)}function b1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"}}]})(e)}function Fu(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function SL(e){return Ve({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"}}]})(e)}function x1(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"}}]})(e)}const CL="My Board",_L=()=>{const[e,{isLoading:t}]=i8(),n=f.useCallback(()=>{e(CL)},[e]);return a.jsx(je,{icon:a.jsx(Hi,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var __=ju({displayName:"ExternalLinkIcon",path:a.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[a.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),a.jsx("path",{d:"M15 3h6v6"}),a.jsx("path",{d:"M10 14L21 3"})]})}),w1=ju({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),kL=ju({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),jL=ju({displayName:"DeleteIcon",path:a.jsx("g",{fill:"currentColor",children:a.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),PL=ju({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const IL=he([mt],({boards:e})=>{const{searchText:t}=e;return{searchText:t}},Ke),EL=()=>{const e=Z(),{searchText:t}=$(IL),n=f.useRef(null),r=f.useCallback(u=>{e(tx(u))},[e]),o=f.useCallback(()=>{e(tx(""))},[e]),s=f.useCallback(u=>{u.key==="Escape"&&o()},[o]),i=f.useCallback(u=>{r(u.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),a.jsxs(M6,{children:[a.jsx(Iu,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:i}),t&&t.length&&a.jsx(Lv,{children:a.jsx(qa,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:a.jsx(kL,{boxSize:2})})})]})},OL=f.memo(EL),ML=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(Ka()),{colorMode:o}=xs();return a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsxs(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Me("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),a.jsx(L,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Me("base.50","base.50")(o):Me("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:a.jsx(qe,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Me("base.50","base.50")(o):Me("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Yf=f.memo(ML),RL=e=>{const{dropLabel:t,data:n,disabled:r,hoverRef:o}=e,s=f.useRef(Ka()),{isOver:i,setNodeRef:u,active:d}=uv({id:s.current,disabled:r,data:n});return a.jsx($e,{ref:u,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:a.jsx(Ko,{children:jf(n,d)&&a.jsx(Yf,{isOver:i,label:t})})})},S1=f.memo(RL),C1=e=>{const t=$(s=>s.gallery.galleryView),{data:n}=l8(e),{data:r}=c8(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},k_=()=>a.jsx(L,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:a.jsx(Za,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Jc=globalThis&&globalThis.__assign||function(){return Jc=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const n=Z(),r=f.useMemo(()=>he(mt,({gallery:i})=>({isSelectedForAutoAdd:e.board_id===i.autoAddBoardId}),Ke),[e.board_id]),{isSelectedForAutoAdd:o}=$(r),s=f.useCallback(()=>{t&&t(e)},[e,t]);return f.useCallback(()=>{n(Yp(o?void 0:e.board_id))},[e.board_id,n,o]),a.jsxs(a.Fragment,{children:[e.image_count>0&&a.jsx(a.Fragment,{}),a.jsx(ao,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Xo,{}),onClick:s,children:"Delete Board"})]})},AL=f.memo(DL),TL=()=>{const e=Z();return $(t=>t.gallery.autoAddBoardId),f.useCallback(()=>{e(Yp(void 0))},[e]),a.jsx(a.Fragment,{})},NL=f.memo(TL),bh=e=>{const{boardName:t}=Xp(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},_1=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=Z(),s=f.useMemo(()=>he(mt,({gallery:g})=>{const v=g.selectedBoardId===t,b=g.autoAddBoardId===t;return{isSelected:v,isAutoAdd:b}}),[t]),{isSelected:i,isAutoAdd:u}=$(s),d=bh(t);f.useCallback(()=>{o(dv(t))},[t,o]);const p=f.useCallback(()=>{o(Yp(t))},[t,o]),h=f.useCallback(g=>{g.preventDefault()},[]);return a.jsx(j_,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>a.jsx(ic,{sx:{visibility:"visible !important"},motionProps:Cv,onContextMenu:h,children:a.jsxs(Vv,{title:d,children:[a.jsx(ao,{icon:a.jsx(Hi,{}),isDisabled:u,onClick:p,children:"Auto-add to this Board"}),!e&&a.jsx(NL,{}),e&&a.jsx(AL,{board:e,setBoardToDelete:n})]})}),children:r})});_1.displayName="HoverableBoard";const k1=({isSelected:e,isHovered:t})=>a.jsx($e,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),P_=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=Z(),o=f.useMemo(()=>he(mt,({gallery:E})=>({isSelectedForAutoAdd:e.board_id===E.autoAddBoardId}),Ke),[e.board_id]),{isSelectedForAutoAdd:s}=$(o),[i,u]=f.useState(!1),d=f.useCallback(()=>{u(!0)},[]),p=f.useCallback(()=>{u(!1)},[]),{currentData:h}=Uo(e.cover_image_name??Xr.skipToken);C1(e.board_id);const{board_name:g,board_id:v}=e,[b,S]=f.useState(g),x=f.useCallback(()=>{r(dv(v))},[v,r]),[C,{isLoading:_}]=u8(),k=f.useMemo(()=>({id:v,actionType:"MOVE_BOARD",context:{boardId:v}}),[v]),P=f.useCallback(async E=>{if(!E.trim()){S(g);return}if(E!==g)try{const{board_name:O}=await C({board_id:v,changes:{board_name:E}}).unwrap();S(O)}catch{S(g)}},[v,g,C]),I=f.useCallback(E=>{S(E)},[]);return a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:a.jsx(L,{onMouseOver:d,onMouseOut:p,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:a.jsx(_1,{board:e,board_id:v,setBoardToDelete:n,children:E=>a.jsxs(L,{ref:E,onClick:x,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[h!=null&&h.thumbnail_url?a.jsx(rc,{src:h==null?void 0:h.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:a.jsx(io,{boxSize:12,as:SL,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&a.jsx(k_,{}),a.jsx(k1,{isSelected:t,isHovered:i}),a.jsx(L,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:a.jsxs(q3,{value:b,isDisabled:_,submitOnBlur:!0,onChange:I,onSubmit:P,sx:{w:"full"},children:[a.jsx(V3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),a.jsx(W3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),a.jsx(S1,{data:k,dropLabel:a.jsx(qe,{fontSize:"md",children:"Move"})})]})})})})});P_.displayName="HoverableBoard";const $L=he(mt,({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ke),I_=f.memo(({isSelected:e})=>{const t=Z();C1(void 0);const{autoAddBoardId:n}=$($L),r=bh(void 0),o=f.useCallback(()=>{t(dv(void 0))},[t]),[s,i]=f.useState(!1),u=f.useCallback(()=>{i(!0)},[]),d=f.useCallback(()=>{i(!1)},[]),p=f.useMemo(()=>({id:"no_board",actionType:"MOVE_BOARD",context:{boardId:void 0}}),[]);return a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:a.jsx(L,{onMouseOver:u,onMouseOut:d,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:a.jsx(_1,{children:h=>a.jsxs(L,{ref:h,onClick:o,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:a.jsx(rc,{src:R4,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),!n&&a.jsx(k_,{}),a.jsx(L,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:r}),a.jsx(k1,{isSelected:e,isHovered:s}),a.jsx(S1,{data:p,dropLabel:a.jsx(qe,{fontSize:"md",children:"Move"})})]})})})})});I_.displayName="HoverableBoard";const zL=he([mt],({boards:e,gallery:t})=>{const{searchText:n}=e,{selectedBoardId:r}=t;return{selectedBoardId:r,searchText:n}},Ke),LL=e=>{const{isOpen:t}=e,{selectedBoardId:n,searchText:r}=$(zL),{data:o}=Xp();yr("batches").isFeatureEnabled;const s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[i,u]=f.useState();return a.jsxs(a.Fragment,{children:[a.jsx(nh,{in:t,animateOpacity:!0,children:a.jsxs(L,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(OL,{}),a.jsx(_L,{})]}),a.jsx(i_,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:a.jsxs(Mi,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[a.jsx(c0,{sx:{p:1.5},children:a.jsx(I_,{isSelected:n===void 0})}),s&&s.map(d=>a.jsx(c0,{sx:{p:1.5},children:a.jsx(P_,{board:d,isSelected:n===d.board_id,setBoardToDelete:u})},d.board_id))]})})]})}),a.jsx(zz,{boardToDelete:i,setBoardToDelete:u})]})},BL=f.memo(LL),FL=he([mt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ke),HL=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=$(FL),o=bh(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return a.jsxs(L,{as:kf,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[a.jsx(qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),a.jsx(w1,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},WL=f.memo(HL);function E_(e){return Ve({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function O_(e){return Ve({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const VL=he([mt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ke),UL=()=>{const e=Z(),{t}=ue(),{shouldPinGallery:n}=$(VL),r=()=>{e(D4()),e(yo())};return a.jsx(je,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?a.jsx(E_,{}):a.jsx(O_,{})})},GL=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return a.jsxs(Qv,{isLazy:o,...s,children:[a.jsx(Kv,{children:t}),a.jsxs(Yv,{shadow:"dark-lg",children:[r&&a.jsx(J6,{}),n]})]})},Wi=f.memo(GL),qL=e=>{const{label:t,...n}=e,{colorMode:r}=xs();return a.jsx(L3,{colorScheme:"accent",...n,children:a.jsx(qe,{sx:{fontSize:"sm",color:Me("base.800","base.200")(r)},children:t})})},Ln=f.memo(qL);function KL(e){const t=f.createContext(null);return[({children:o,value:s})=>z.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function M_(e){return Array.isArray(e)?e:[e]}const QL=()=>{};function YL(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||QL:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function R_({data:e}){const t=[],n=[],r=e.reduce((o,s,i)=>(s.group?o[s.group]?o[s.group].push(i):o[s.group]=[i]:n.push(i),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function D_(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==z.Fragment:!1}function A_(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const ZL=d8({key:"mantine",prepend:!0});function eB(){return O3()||ZL}var tB=Object.defineProperty,X2=Object.getOwnPropertySymbols,nB=Object.prototype.hasOwnProperty,rB=Object.prototype.propertyIsEnumerable,J2=(e,t,n)=>t in e?tB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oB=(e,t)=>{for(var n in t||(t={}))nB.call(t,n)&&J2(e,n,t[n]);if(X2)for(var n of X2(t))rB.call(t,n)&&J2(e,n,t[n]);return e};const jg="ref";function sB(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(jg in n))return{args:e,ref:t};t=n[jg];const r=oB({},n);return delete r[jg],{args:[r],ref:t}}const{cssFactory:aB}=(()=>{function e(n,r,o){const s=[],i=h8(n,s,o);return s.length<2?o:i+r(s)}function t(n){const{cache:r}=n,o=(...i)=>{const{ref:u,args:d}=sB(i),p=f8(d,r.registered);return p8(r,p,!1),`${r.key}-${p.name}${u===void 0?"":` ${u}`}`};return{css:o,cx:(...i)=>e(r.registered,o,T_(i))}}return{cssFactory:t}})();function N_(){const e=eB();return JL(()=>aB({cache:e}),[e])}function iB({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const i=n.reduce((u,d)=>(Object.keys(d.classNames).forEach(p=>{typeof u[p]!="string"?u[p]=`${d.classNames[p]}`:u[p]=`${u[p]} ${d.classNames[p]}`}),u),{});return Object.keys(t).reduce((u,d)=>(u[d]=e(t[d],i[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),u),{})}var lB=Object.defineProperty,Z2=Object.getOwnPropertySymbols,cB=Object.prototype.hasOwnProperty,uB=Object.prototype.propertyIsEnumerable,ew=(e,t,n)=>t in e?lB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pg=(e,t)=>{for(var n in t||(t={}))cB.call(t,n)&&ew(e,n,t[n]);if(Z2)for(var n of Z2(t))uB.call(t,n)&&ew(e,n,t[n]);return e};function O0(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=Pg(Pg({},e[n]),t[n]):e[n]=Pg({},t[n])}),e}function tw(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,i)=>O0(s,i),{}):o(e)}function dB({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,i)=>(i.variants&&r in i.variants&&O0(s,i.variants[r](t,n,{variant:r,size:o})),i.sizes&&o in i.sizes&&O0(s,i.sizes[o](t,n,{variant:r,size:o})),s),{})}function eo(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=_a(),i=iM(o==null?void 0:o.name),u=O3(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=N_(),g=t(s,r,d),v=tw(o==null?void 0:o.styles,s,r,d),b=tw(i,s,r,d),S=dB({ctx:i,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),x=Object.fromEntries(Object.keys(g).map(C=>{const _=h({[p(g[C])]:!(o!=null&&o.unstyled)},p(S[C]),p(b[C]),p(v[C]));return[C,_]}));return{classes:iB({cx:h,classes:x,context:i,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:u}),cx:h,theme:s}}return n}function nw(e){return`___ref-${e||""}`}var fB=Object.defineProperty,pB=Object.defineProperties,hB=Object.getOwnPropertyDescriptors,rw=Object.getOwnPropertySymbols,mB=Object.prototype.hasOwnProperty,gB=Object.prototype.propertyIsEnumerable,ow=(e,t,n)=>t in e?fB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Dc=(e,t)=>{for(var n in t||(t={}))mB.call(t,n)&&ow(e,n,t[n]);if(rw)for(var n of rw(t))gB.call(t,n)&&ow(e,n,t[n]);return e},Ac=(e,t)=>pB(e,hB(t));const Tc={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${ze(10)})`},transitionProperty:"transform, opacity"},Yd={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${ze(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${ze(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:Ac(Dc({},Tc),{common:{transformOrigin:"center center"}}),"pop-bottom-left":Ac(Dc({},Tc),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":Ac(Dc({},Tc),{common:{transformOrigin:"bottom right"}}),"pop-top-left":Ac(Dc({},Tc),{common:{transformOrigin:"top left"}}),"pop-top-right":Ac(Dc({},Tc),{common:{transformOrigin:"top right"}})},sw=["mousedown","touchstart"];function vB(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:i}=s??{};if(Array.isArray(n)){const u=(i==null?void 0:i.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(i)&&i.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!u&&e()}else r.current&&!r.current.contains(i)&&e()};return(t||sw).forEach(s=>document.addEventListener(s,o)),()=>{(t||sw).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function yB(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function bB(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function xB(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:bB(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),yB(s.current,i=>o(i.matches))},[e]),r}const $_=typeof document<"u"?f.useLayoutEffect:f.useEffect;function ps(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function wB({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return ps(()=>{let o=-1;const s=i=>{i.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const SB=/input|select|textarea|button|object/,z_="a, input, select, textarea, button, object, [tabindex]";function CB(e){return e.style.display==="none"}function _B(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(CB(n))return!1;n=n.parentNode}return!0}function L_(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function M0(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(L_(e));return(SB.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&_B(e)}function B_(e){const t=L_(e);return(Number.isNaN(t)||t>=0)&&M0(e)}function kB(e){return Array.from(e.querySelectorAll(z_)).filter(B_)}function jB(e,t){const n=kB(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const i=n[t.shiftKey?n.length-1:0];i&&i.focus()}function P1(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function PB(e,t="body > :not(script)"){const n=P1(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const i=o.getAttribute("aria-hidden"),u=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),i===null||i==="false"?o.setAttribute("aria-hidden","true"):!u&&!d&&o.setAttribute("data-hidden",i),{node:o,ariaHidden:u||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function IB(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let i=s.querySelector("[data-autofocus]");if(!i){const u=Array.from(s.querySelectorAll(z_));i=u.find(B_)||u.find(M0)||null,!i&&M0(s)&&(i=s)}i&&i.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=PB(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=i=>{i.key==="Tab"&&t.current&&jB(t.current,i)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const EB=z["useId".toString()]||(()=>{});function OB(){const e=EB();return e?`mantine-${e.replace(/:/g,"")}`:""}function I1(e){const t=OB(),[n,r]=f.useState(t);return $_(()=>{r(P1())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function aw(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function F_(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function MB(...e){return t=>{e.forEach(n=>F_(n,t))}}function Hu(...e){return f.useCallback(MB(...e),e)}function hu({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),i=u=>{s(u),r==null||r(u)};return e!==void 0?[e,r,!0]:[o,i,!1]}function H_(e,t){return xB("(prefers-reduced-motion: reduce)",e,t)}const RB=e=>e<.5?2*e*e:-1+(4-2*e)*e,DB=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const i=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=g=>p[g]-d[g];if(e==="y"){const g=h("top");if(g===0)return 0;if(r==="start"){const b=g-o;return b<=p.height*(s?0:1)||!s?b:0}const v=i?d.height:window.innerHeight;if(r==="end"){const b=g+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?g-v/2+p.height/2:0}if(e==="x"){const g=h("left");if(g===0)return 0;if(r==="start"){const b=g-o;return b<=p.width||!s?b:0}const v=i?d.width:window.innerWidth;if(r==="end"){const b=g+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?g-v/2+p.width/2:0}return 0},AB=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},TB=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function W_({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=RB,offset:o=0,cancelable:s=!0,isList:i=!1}={}){const u=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),g=f.useRef(null),v=H_(),b=()=>{u.current&&cancelAnimationFrame(u.current)},S=f.useCallback(({alignment:C="start"}={})=>{var _;p.current=!1,u.current&&b();const k=(_=AB({parent:h.current,axis:t}))!=null?_:0,P=DB({parent:h.current,target:g.current,axis:t,alignment:C,offset:o,isList:i})-(h.current?0:k);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,D=k+P*r(R);TB({parent:h.current,axis:t,distance:D}),!p.current&&R<1?u.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,u.current=0,b())}I()},[t,e,r,i,o,n,v]),x=()=>{s&&(p.current=!0)};return aw("wheel",x,{passive:!0}),aw("touchmove",x,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:g,scrollIntoView:S,cancel:b}}var iw=Object.getOwnPropertySymbols,NB=Object.prototype.hasOwnProperty,$B=Object.prototype.propertyIsEnumerable,zB=(e,t)=>{var n={};for(var r in e)NB.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&iw)for(var r of iw(e))t.indexOf(r)<0&&$B.call(e,r)&&(n[r]=e[r]);return n};function xh(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:i,ml:u,mr:d,p,px:h,py:g,pt:v,pb:b,pl:S,pr:x,bg:C,c:_,opacity:k,ff:P,fz:I,fw:E,lts:O,ta:R,lh:D,fs:T,tt:B,td:W,w:J,miw:F,maw:N,h:G,mih:K,mah:M,bgsz:U,bgp:V,bgr:ee,bga:ie,pos:xe,top:me,left:ae,bottom:te,right:H,inset:re,display:pe}=t,ne=zB(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:lM({m:n,mx:r,my:o,mt:s,mb:i,ml:u,mr:d,p,px:h,py:g,pt:v,pb:b,pl:S,pr:x,bg:C,c:_,opacity:k,ff:P,fz:I,fw:E,lts:O,ta:R,lh:D,fs:T,tt:B,td:W,w:J,miw:F,maw:N,h:G,mih:K,mah:M,bgsz:U,bgp:V,bgr:ee,bga:ie,pos:xe,top:me,left:ae,bottom:te,right:H,inset:re,display:pe}),rest:ne}}function LB(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>Tx(Tt({size:r,sizes:t.breakpoints}))-Tx(Tt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function BB({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return LB(e,t).reduce((i,u)=>{if(u==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{i[h]=p}),i):(i[r]=p,i)}const d=n(e[u],t);return Array.isArray(r)?(i[t.fn.largerThan(u)]={},r.forEach(p=>{i[t.fn.largerThan(u)][p]=d}),i):(i[t.fn.largerThan(u)]={[r]:d},i)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,i)=>(s[i]=o,s),{}):{[r]:o}}function FB(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function HB(e){return ze(e)}function WB(e){return e}function VB(e,t){return Tt({size:e,sizes:t.fontSizes})}const UB=["-xs","-sm","-md","-lg","-xl"];function GB(e,t){return UB.includes(e)?`calc(${Tt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Tt({size:e,sizes:t.spacing})}const qB={identity:WB,color:FB,size:HB,fontSize:VB,spacing:GB},KB={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var QB=Object.defineProperty,lw=Object.getOwnPropertySymbols,YB=Object.prototype.hasOwnProperty,XB=Object.prototype.propertyIsEnumerable,cw=(e,t,n)=>t in e?QB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uw=(e,t)=>{for(var n in t||(t={}))YB.call(t,n)&&cw(e,n,t[n]);if(lw)for(var n of lw(t))XB.call(t,n)&&cw(e,n,t[n]);return e};function dw(e,t,n=KB){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(BB({value:e[s],getValue:qB[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(i=>{typeof s[i]=="object"&&s[i]!==null&&i in o?o[i]=uw(uw({},o[i]),s[i]):o[i]=s[i]}),o),{})}function fw(e,t){return typeof e=="function"?e(t):e}function JB(e,t,n){const r=_a(),{css:o,cx:s}=N_();return Array.isArray(e)?s(n,o(dw(t,r)),e.map(i=>o(fw(i,r)))):s(n,o(fw(e,r)),o(dw(t,r)))}var ZB=Object.defineProperty,Xf=Object.getOwnPropertySymbols,V_=Object.prototype.hasOwnProperty,U_=Object.prototype.propertyIsEnumerable,pw=(e,t,n)=>t in e?ZB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eF=(e,t)=>{for(var n in t||(t={}))V_.call(t,n)&&pw(e,n,t[n]);if(Xf)for(var n of Xf(t))U_.call(t,n)&&pw(e,n,t[n]);return e},tF=(e,t)=>{var n={};for(var r in e)V_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Xf)for(var r of Xf(e))t.indexOf(r)<0&&U_.call(e,r)&&(n[r]=e[r]);return n};const G_=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:i}=n,u=tF(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=xh(u),h=o||"div";return z.createElement(h,eF({ref:t,className:JB(i,d,r),style:s},p))});G_.displayName="@mantine/core/Box";const bo=G_;var nF=Object.defineProperty,rF=Object.defineProperties,oF=Object.getOwnPropertyDescriptors,hw=Object.getOwnPropertySymbols,sF=Object.prototype.hasOwnProperty,aF=Object.prototype.propertyIsEnumerable,mw=(e,t,n)=>t in e?nF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gw=(e,t)=>{for(var n in t||(t={}))sF.call(t,n)&&mw(e,n,t[n]);if(hw)for(var n of hw(t))aF.call(t,n)&&mw(e,n,t[n]);return e},iF=(e,t)=>rF(e,oF(t)),lF=eo(e=>({root:iF(gw(gw({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const cF=lF;var uF=Object.defineProperty,Jf=Object.getOwnPropertySymbols,q_=Object.prototype.hasOwnProperty,K_=Object.prototype.propertyIsEnumerable,vw=(e,t,n)=>t in e?uF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dF=(e,t)=>{for(var n in t||(t={}))q_.call(t,n)&&vw(e,n,t[n]);if(Jf)for(var n of Jf(t))K_.call(t,n)&&vw(e,n,t[n]);return e},fF=(e,t)=>{var n={};for(var r in e)q_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Jf)for(var r of Jf(e))t.indexOf(r)<0&&K_.call(e,r)&&(n[r]=e[r]);return n};const Q_=f.forwardRef((e,t)=>{const n=mr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:i}=n,u=fF(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=cF(null,{name:"UnstyledButton",unstyled:s,variant:i});return z.createElement(bo,dF({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},u))});Q_.displayName="@mantine/core/UnstyledButton";const pF=Q_;var hF=Object.defineProperty,mF=Object.defineProperties,gF=Object.getOwnPropertyDescriptors,yw=Object.getOwnPropertySymbols,vF=Object.prototype.hasOwnProperty,yF=Object.prototype.propertyIsEnumerable,bw=(e,t,n)=>t in e?hF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,R0=(e,t)=>{for(var n in t||(t={}))vF.call(t,n)&&bw(e,n,t[n]);if(yw)for(var n of yw(t))yF.call(t,n)&&bw(e,n,t[n]);return e},xw=(e,t)=>mF(e,gF(t));const bF=["subtle","filled","outline","light","default","transparent","gradient"],Xd={xs:ze(18),sm:ze(22),md:ze(28),lg:ze(34),xl:ze(44)};function xF({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:bF.includes(e)?R0({border:`${ze(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var wF=eo((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:xw(R0({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Tt({size:s,sizes:Xd}),minHeight:Tt({size:s,sizes:Xd}),width:Tt({size:s,sizes:Xd}),minWidth:Tt({size:s,sizes:Xd})},xF({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":xw(R0({content:'""'},e.fn.cover(ze(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const SF=wF;var CF=Object.defineProperty,Zf=Object.getOwnPropertySymbols,Y_=Object.prototype.hasOwnProperty,X_=Object.prototype.propertyIsEnumerable,ww=(e,t,n)=>t in e?CF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sw=(e,t)=>{for(var n in t||(t={}))Y_.call(t,n)&&ww(e,n,t[n]);if(Zf)for(var n of Zf(t))X_.call(t,n)&&ww(e,n,t[n]);return e},Cw=(e,t)=>{var n={};for(var r in e)Y_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Zf)for(var r of Zf(e))t.indexOf(r)<0&&X_.call(e,r)&&(n[r]=e[r]);return n};function _F(e){var t=e,{size:n,color:r}=t,o=Cw(t,["size","color"]);const s=o,{style:i}=s,u=Cw(s,["style"]);return z.createElement("svg",Sw({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:Sw({width:n},i)},u),z.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},z.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var kF=Object.defineProperty,ep=Object.getOwnPropertySymbols,J_=Object.prototype.hasOwnProperty,Z_=Object.prototype.propertyIsEnumerable,_w=(e,t,n)=>t in e?kF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kw=(e,t)=>{for(var n in t||(t={}))J_.call(t,n)&&_w(e,n,t[n]);if(ep)for(var n of ep(t))Z_.call(t,n)&&_w(e,n,t[n]);return e},jw=(e,t)=>{var n={};for(var r in e)J_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ep)for(var r of ep(e))t.indexOf(r)<0&&Z_.call(e,r)&&(n[r]=e[r]);return n};function jF(e){var t=e,{size:n,color:r}=t,o=jw(t,["size","color"]);const s=o,{style:i}=s,u=jw(s,["style"]);return z.createElement("svg",kw({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:kw({width:n,height:n},i)},u),z.createElement("g",{fill:"none",fillRule:"evenodd"},z.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},z.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),z.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},z.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var PF=Object.defineProperty,tp=Object.getOwnPropertySymbols,ek=Object.prototype.hasOwnProperty,tk=Object.prototype.propertyIsEnumerable,Pw=(e,t,n)=>t in e?PF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Iw=(e,t)=>{for(var n in t||(t={}))ek.call(t,n)&&Pw(e,n,t[n]);if(tp)for(var n of tp(t))tk.call(t,n)&&Pw(e,n,t[n]);return e},Ew=(e,t)=>{var n={};for(var r in e)ek.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&tp)for(var r of tp(e))t.indexOf(r)<0&&tk.call(e,r)&&(n[r]=e[r]);return n};function IF(e){var t=e,{size:n,color:r}=t,o=Ew(t,["size","color"]);const s=o,{style:i}=s,u=Ew(s,["style"]);return z.createElement("svg",Iw({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:Iw({width:n},i)},u),z.createElement("circle",{cx:"15",cy:"15",r:"15"},z.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},z.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),z.createElement("circle",{cx:"105",cy:"15",r:"15"},z.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),z.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var EF=Object.defineProperty,np=Object.getOwnPropertySymbols,nk=Object.prototype.hasOwnProperty,rk=Object.prototype.propertyIsEnumerable,Ow=(e,t,n)=>t in e?EF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OF=(e,t)=>{for(var n in t||(t={}))nk.call(t,n)&&Ow(e,n,t[n]);if(np)for(var n of np(t))rk.call(t,n)&&Ow(e,n,t[n]);return e},MF=(e,t)=>{var n={};for(var r in e)nk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&np)for(var r of np(e))t.indexOf(r)<0&&rk.call(e,r)&&(n[r]=e[r]);return n};const Ig={bars:_F,oval:jF,dots:IF},RF={xs:ze(18),sm:ze(22),md:ze(36),lg:ze(44),xl:ze(58)},DF={size:"md"};function ok(e){const t=mr("Loader",DF,e),{size:n,color:r,variant:o}=t,s=MF(t,["size","color","variant"]),i=_a(),u=o in Ig?o:i.loader;return z.createElement(bo,OF({role:"presentation",component:Ig[u]||Ig.bars,size:Tt({size:n,sizes:RF}),color:i.fn.variant({variant:"filled",primaryFallback:!1,color:r||i.primaryColor}).background},s))}ok.displayName="@mantine/core/Loader";var AF=Object.defineProperty,rp=Object.getOwnPropertySymbols,sk=Object.prototype.hasOwnProperty,ak=Object.prototype.propertyIsEnumerable,Mw=(e,t,n)=>t in e?AF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rw=(e,t)=>{for(var n in t||(t={}))sk.call(t,n)&&Mw(e,n,t[n]);if(rp)for(var n of rp(t))ak.call(t,n)&&Mw(e,n,t[n]);return e},TF=(e,t)=>{var n={};for(var r in e)sk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&rp)for(var r of rp(e))t.indexOf(r)<0&&ak.call(e,r)&&(n[r]=e[r]);return n};const NF={color:"gray",size:"md",variant:"subtle"},ik=f.forwardRef((e,t)=>{const n=mr("ActionIcon",NF,e),{className:r,color:o,children:s,radius:i,size:u,variant:d,gradient:p,disabled:h,loaderProps:g,loading:v,unstyled:b,__staticSelector:S}=n,x=TF(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:C,cx:_,theme:k}=SF({radius:i,color:o,gradient:p},{name:["ActionIcon",S],unstyled:b,size:u,variant:d}),P=z.createElement(ok,Rw({color:k.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},g));return z.createElement(pF,Rw({className:_(C.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},x),v?P:s)});ik.displayName="@mantine/core/ActionIcon";const $F=ik;var zF=Object.defineProperty,LF=Object.defineProperties,BF=Object.getOwnPropertyDescriptors,op=Object.getOwnPropertySymbols,lk=Object.prototype.hasOwnProperty,ck=Object.prototype.propertyIsEnumerable,Dw=(e,t,n)=>t in e?zF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FF=(e,t)=>{for(var n in t||(t={}))lk.call(t,n)&&Dw(e,n,t[n]);if(op)for(var n of op(t))ck.call(t,n)&&Dw(e,n,t[n]);return e},HF=(e,t)=>LF(e,BF(t)),WF=(e,t)=>{var n={};for(var r in e)lk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&op)for(var r of op(e))t.indexOf(r)<0&&ck.call(e,r)&&(n[r]=e[r]);return n};function uk(e){const t=mr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,i=WF(t,["children","target","className","innerRef"]),u=_a(),[d,p]=f.useState(!1),h=f.useRef();return $_(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?nc.createPortal(z.createElement("div",HF(FF({className:o,dir:u.dir},i),{ref:s}),n),h.current):null}uk.displayName="@mantine/core/Portal";var VF=Object.defineProperty,sp=Object.getOwnPropertySymbols,dk=Object.prototype.hasOwnProperty,fk=Object.prototype.propertyIsEnumerable,Aw=(e,t,n)=>t in e?VF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UF=(e,t)=>{for(var n in t||(t={}))dk.call(t,n)&&Aw(e,n,t[n]);if(sp)for(var n of sp(t))fk.call(t,n)&&Aw(e,n,t[n]);return e},GF=(e,t)=>{var n={};for(var r in e)dk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&sp)for(var r of sp(e))t.indexOf(r)<0&&fk.call(e,r)&&(n[r]=e[r]);return n};function pk(e){var t=e,{withinPortal:n=!0,children:r}=t,o=GF(t,["withinPortal","children"]);return n?z.createElement(uk,UF({},o),r):z.createElement(z.Fragment,null,r)}pk.displayName="@mantine/core/OptionalPortal";var qF=Object.defineProperty,ap=Object.getOwnPropertySymbols,hk=Object.prototype.hasOwnProperty,mk=Object.prototype.propertyIsEnumerable,Tw=(e,t,n)=>t in e?qF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nw=(e,t)=>{for(var n in t||(t={}))hk.call(t,n)&&Tw(e,n,t[n]);if(ap)for(var n of ap(t))mk.call(t,n)&&Tw(e,n,t[n]);return e},KF=(e,t)=>{var n={};for(var r in e)hk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ap)for(var r of ap(e))t.indexOf(r)<0&&mk.call(e,r)&&(n[r]=e[r]);return n};function gk(e){const t=e,{width:n,height:r,style:o}=t,s=KF(t,["width","height","style"]);return z.createElement("svg",Nw({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:Nw({width:n,height:r},o)},s),z.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}gk.displayName="@mantine/core/CloseIcon";var QF=Object.defineProperty,ip=Object.getOwnPropertySymbols,vk=Object.prototype.hasOwnProperty,yk=Object.prototype.propertyIsEnumerable,$w=(e,t,n)=>t in e?QF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,YF=(e,t)=>{for(var n in t||(t={}))vk.call(t,n)&&$w(e,n,t[n]);if(ip)for(var n of ip(t))yk.call(t,n)&&$w(e,n,t[n]);return e},XF=(e,t)=>{var n={};for(var r in e)vk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ip)for(var r of ip(e))t.indexOf(r)<0&&yk.call(e,r)&&(n[r]=e[r]);return n};const JF={xs:ze(12),sm:ze(16),md:ze(20),lg:ze(28),xl:ze(34)},ZF={size:"sm"},bk=f.forwardRef((e,t)=>{const n=mr("CloseButton",ZF,e),{iconSize:r,size:o,children:s}=n,i=XF(n,["iconSize","size","children"]),u=ze(r||JF[o]);return z.createElement($F,YF({ref:t,__staticSelector:"CloseButton",size:o},i),s||z.createElement(gk,{width:u,height:u}))});bk.displayName="@mantine/core/CloseButton";const xk=bk;var eH=Object.defineProperty,tH=Object.defineProperties,nH=Object.getOwnPropertyDescriptors,zw=Object.getOwnPropertySymbols,rH=Object.prototype.hasOwnProperty,oH=Object.prototype.propertyIsEnumerable,Lw=(e,t,n)=>t in e?eH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Jd=(e,t)=>{for(var n in t||(t={}))rH.call(t,n)&&Lw(e,n,t[n]);if(zw)for(var n of zw(t))oH.call(t,n)&&Lw(e,n,t[n]);return e},sH=(e,t)=>tH(e,nH(t));function aH({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function iH({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function lH(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function cH({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var uH=eo((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:i,gradient:u,weight:d,transform:p,align:h,strikethrough:g,italic:v},{size:b})=>{const S=e.fn.variant({variant:"gradient",gradient:u});return{root:sH(Jd(Jd(Jd(Jd({},e.fn.fontStyles()),e.fn.focusStyles()),lH(n)),cH({theme:e,truncate:r})),{color:iH({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Tt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:aH({underline:i,strikethrough:g}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:S.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const dH=uH;var fH=Object.defineProperty,lp=Object.getOwnPropertySymbols,wk=Object.prototype.hasOwnProperty,Sk=Object.prototype.propertyIsEnumerable,Bw=(e,t,n)=>t in e?fH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pH=(e,t)=>{for(var n in t||(t={}))wk.call(t,n)&&Bw(e,n,t[n]);if(lp)for(var n of lp(t))Sk.call(t,n)&&Bw(e,n,t[n]);return e},hH=(e,t)=>{var n={};for(var r in e)wk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lp)for(var r of lp(e))t.indexOf(r)<0&&Sk.call(e,r)&&(n[r]=e[r]);return n};const mH={variant:"text"},Ck=f.forwardRef((e,t)=>{const n=mr("Text",mH,e),{className:r,size:o,weight:s,transform:i,color:u,align:d,variant:p,lineClamp:h,truncate:g,gradient:v,inline:b,inherit:S,underline:x,strikethrough:C,italic:_,classNames:k,styles:P,unstyled:I,span:E,__staticSelector:O}=n,R=hH(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:D,cx:T}=dH({color:u,lineClamp:h,truncate:g,inline:b,inherit:S,underline:x,strikethrough:C,italic:_,weight:s,transform:i,align:d,gradient:v},{unstyled:I,name:O||"Text",variant:p,size:o});return z.createElement(bo,pH({ref:t,className:T(D.root,{[D.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});Ck.displayName="@mantine/core/Text";const Fl=Ck,Zd={xs:ze(1),sm:ze(2),md:ze(3),lg:ze(4),xl:ze(5)};function ef(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var gH=eo((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:ze(1),borderTop:`${Tt({size:n,sizes:Zd})} ${r} ${ef(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Tt({size:n,sizes:Zd})} ${r} ${ef(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:ze(Tt({size:n,sizes:Zd})),borderTopColor:ef(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:ze(Tt({size:n,sizes:Zd})),borderLeftColor:ef(e,t),borderLeftStyle:r}}));const vH=gH;var yH=Object.defineProperty,bH=Object.defineProperties,xH=Object.getOwnPropertyDescriptors,cp=Object.getOwnPropertySymbols,_k=Object.prototype.hasOwnProperty,kk=Object.prototype.propertyIsEnumerable,Fw=(e,t,n)=>t in e?yH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hw=(e,t)=>{for(var n in t||(t={}))_k.call(t,n)&&Fw(e,n,t[n]);if(cp)for(var n of cp(t))kk.call(t,n)&&Fw(e,n,t[n]);return e},wH=(e,t)=>bH(e,xH(t)),SH=(e,t)=>{var n={};for(var r in e)_k.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&cp)for(var r of cp(e))t.indexOf(r)<0&&kk.call(e,r)&&(n[r]=e[r]);return n};const CH={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},D0=f.forwardRef((e,t)=>{const n=mr("Divider",CH,e),{className:r,color:o,orientation:s,size:i,label:u,labelPosition:d,labelProps:p,variant:h,styles:g,classNames:v,unstyled:b}=n,S=SH(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:x,cx:C}=vH({color:o},{classNames:v,styles:g,unstyled:b,name:"Divider",variant:h,size:i}),_=s==="vertical",k=s==="horizontal",P=!!u&&k,I=!(p!=null&&p.color);return z.createElement(bo,Hw({ref:t,className:C(x.root,{[x.vertical]:_,[x.horizontal]:k,[x.withLabel]:P},r),role:"separator"},S),P&&z.createElement(Fl,wH(Hw({},p),{size:(p==null?void 0:p.size)||"xs",mt:ze(2),className:C(x.label,x[d],{[x.labelDefaultStyles]:I})}),u))});D0.displayName="@mantine/core/Divider";var _H=Object.defineProperty,kH=Object.defineProperties,jH=Object.getOwnPropertyDescriptors,Ww=Object.getOwnPropertySymbols,PH=Object.prototype.hasOwnProperty,IH=Object.prototype.propertyIsEnumerable,Vw=(e,t,n)=>t in e?_H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Uw=(e,t)=>{for(var n in t||(t={}))PH.call(t,n)&&Vw(e,n,t[n]);if(Ww)for(var n of Ww(t))IH.call(t,n)&&Vw(e,n,t[n]);return e},EH=(e,t)=>kH(e,jH(t)),OH=eo((e,t,{size:n})=>({item:EH(Uw({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Tt({size:n,sizes:e.spacing})} / 1.5) ${Tt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Tt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":Uw({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Tt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Tt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Tt({size:n,sizes:e.spacing})} / 1.5) ${Tt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const MH=OH;var RH=Object.defineProperty,Gw=Object.getOwnPropertySymbols,DH=Object.prototype.hasOwnProperty,AH=Object.prototype.propertyIsEnumerable,qw=(e,t,n)=>t in e?RH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TH=(e,t)=>{for(var n in t||(t={}))DH.call(t,n)&&qw(e,n,t[n]);if(Gw)for(var n of Gw(t))AH.call(t,n)&&qw(e,n,t[n]);return e};function E1({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:i,onItemHover:u,onItemSelect:d,itemsRefs:p,itemComponent:h,size:g,nothingFound:v,creatable:b,createLabel:S,unstyled:x,variant:C}){const{classes:_}=MH(null,{classNames:n,styles:r,unstyled:x,name:i,variant:C,size:g}),k=[],P=[];let I=null;const E=(R,D)=>{const T=typeof o=="function"?o(R.value):!1;return z.createElement(h,TH({key:R.value,className:_.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===D||void 0,"data-selected":!R.disabled&&T||void 0,selected:T,onMouseEnter:()=>u(D),id:`${s}-${D}`,role:"option",tabIndex:-1,"aria-selected":t===D,ref:B=>{p&&p.current&&(p.current[R.value]=B)},onMouseDown:R.disabled?null:B=>{B.preventDefault(),d(R)},disabled:R.disabled,variant:C},R))};let O=null;if(e.forEach((R,D)=>{R.creatable?I=D:R.group?(O!==R.group&&(O=R.group,P.push(z.createElement("div",{className:_.separator,key:`__mantine-divider-${D}`},z.createElement(D0,{classNames:{label:_.separatorLabel},label:R.group})))),P.push(E(R,D))):k.push(E(R,D))}),b){const R=e[I];k.push(z.createElement("div",{key:P1(),className:_.item,"data-hovered":t===I||void 0,onMouseEnter:()=>u(I),onMouseDown:D=>{D.preventDefault(),d(R)},tabIndex:-1,ref:D=>{p&&p.current&&(p.current[R.value]=D)}},S))}return P.length>0&&k.length>0&&k.unshift(z.createElement("div",{className:_.separator,key:"empty-group-separator"},z.createElement(D0,null))),P.length>0||k.length>0?z.createElement(z.Fragment,null,P,k):z.createElement(Fl,{size:g,unstyled:x,className:_.nothingFound},v)}E1.displayName="@mantine/core/SelectItems";var NH=Object.defineProperty,up=Object.getOwnPropertySymbols,jk=Object.prototype.hasOwnProperty,Pk=Object.prototype.propertyIsEnumerable,Kw=(e,t,n)=>t in e?NH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$H=(e,t)=>{for(var n in t||(t={}))jk.call(t,n)&&Kw(e,n,t[n]);if(up)for(var n of up(t))Pk.call(t,n)&&Kw(e,n,t[n]);return e},zH=(e,t)=>{var n={};for(var r in e)jk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&up)for(var r of up(e))t.indexOf(r)<0&&Pk.call(e,r)&&(n[r]=e[r]);return n};const O1=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=zH(n,["label","value"]);return z.createElement("div",$H({ref:t},s),r||o)});O1.displayName="@mantine/core/DefaultItem";function LH(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Ik(...e){return t=>e.forEach(n=>LH(n,t))}function Vi(...e){return f.useCallback(Ik(...e),e)}const Ek=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(FH);if(s){const i=s.props.children,u=o.map(d=>d===s?f.Children.count(i)>1?f.Children.only(null):f.isValidElement(i)?i.props.children:null:d);return f.createElement(A0,Xn({},r,{ref:t}),f.isValidElement(i)?f.cloneElement(i,void 0,u):null)}return f.createElement(A0,Xn({},r,{ref:t}),n)});Ek.displayName="Slot";const A0=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...HH(r,n.props),ref:Ik(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});A0.displayName="SlotClone";const BH=({children:e})=>f.createElement(f.Fragment,null,e);function FH(e){return f.isValidElement(e)&&e.type===BH}function HH(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...u)=>{s(...u),o(...u)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const WH=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Wu=WH.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...i}=r,u=s?Ek:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(u,Xn({},i,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),T0=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function VH(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Vu=e=>{const{present:t,children:n}=e,r=UH(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=Vi(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};Vu.displayName="Presence";function UH(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),i=e?"mounted":"unmounted",[u,d]=VH(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=tf(r.current);s.current=u==="mounted"?p:"none"},[u]),T0(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=tf(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),T0(()=>{if(t){const p=g=>{const b=tf(r.current).includes(g.animationName);g.target===t&&b&&nc.flushSync(()=>d("ANIMATION_END"))},h=g=>{g.target===t&&(s.current=tf(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function tf(e){return(e==null?void 0:e.animationName)||"none"}function GH(e,t=[]){let n=[];function r(s,i){const u=f.createContext(i),d=n.length;n=[...n,i];function p(g){const{scope:v,children:b,...S}=g,x=(v==null?void 0:v[e][d])||u,C=f.useMemo(()=>S,Object.values(S));return f.createElement(x.Provider,{value:C},b)}function h(g,v){const b=(v==null?void 0:v[e][d])||u,S=f.useContext(b);if(S)return S;if(i!==void 0)return i;throw new Error(`\`${g}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(i=>f.createContext(i));return function(u){const d=(u==null?void 0:u[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return o.scopeName=e,[r,qH(o,...t)]}function qH(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const i=r.reduce((u,{useScope:d,scopeName:p})=>{const g=d(s)[`__scope${p}`];return{...u,...g}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function xi(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const KH=f.createContext(void 0);function QH(e){const t=f.useContext(KH);return e||t||"ltr"}function YH(e,[t,n]){return Math.min(n,Math.max(t,e))}function ji(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function XH(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Ok="ScrollArea",[Mk,jse]=GH(Ok),[JH,Jo]=Mk(Ok),ZH=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...i}=e,[u,d]=f.useState(null),[p,h]=f.useState(null),[g,v]=f.useState(null),[b,S]=f.useState(null),[x,C]=f.useState(null),[_,k]=f.useState(0),[P,I]=f.useState(0),[E,O]=f.useState(!1),[R,D]=f.useState(!1),T=Vi(t,W=>d(W)),B=QH(o);return f.createElement(JH,{scope:n,type:r,dir:B,scrollHideDelay:s,scrollArea:u,viewport:p,onViewportChange:h,content:g,onContentChange:v,scrollbarX:b,onScrollbarXChange:S,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:x,onScrollbarYChange:C,scrollbarYEnabled:R,onScrollbarYEnabledChange:D,onCornerWidthChange:k,onCornerHeightChange:I},f.createElement(Wu.div,Xn({dir:B},i,{ref:T,style:{position:"relative","--radix-scroll-area-corner-width":_+"px","--radix-scroll-area-corner-height":P+"px",...e.style}})))}),eW="ScrollAreaViewport",tW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=Jo(eW,n),i=f.useRef(null),u=Vi(t,i,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Wu.div,Xn({"data-radix-scroll-area-viewport":""},o,{ref:u,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),ja="ScrollAreaScrollbar",nW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:i}=o,u=e.orientation==="horizontal";return f.useEffect(()=>(u?s(!0):i(!0),()=>{u?s(!1):i(!1)}),[u,s,i]),o.type==="hover"?f.createElement(rW,Xn({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(oW,Xn({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(Rk,Xn({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(M1,Xn({},r,{ref:t})):null}),rW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),[s,i]=f.useState(!1);return f.useEffect(()=>{const u=o.scrollArea;let d=0;if(u){const p=()=>{window.clearTimeout(d),i(!0)},h=()=>{d=window.setTimeout(()=>i(!1),o.scrollHideDelay)};return u.addEventListener("pointerenter",p),u.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),u.removeEventListener("pointerenter",p),u.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement(Vu,{present:n||s},f.createElement(Rk,Xn({"data-state":s?"visible":"hidden"},r,{ref:t})))}),oW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Jo(ja,e.__scopeScrollArea),s=e.orientation==="horizontal",i=Sh(()=>d("SCROLL_END"),100),[u,d]=XH("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(u==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[u,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let g=p[h];const v=()=>{const b=p[h];g!==b&&(d("SCROLL"),i()),g=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,i]),f.createElement(Vu,{present:n||u!=="hidden"},f.createElement(M1,Xn({"data-state":u==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:ji(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:ji(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),Rk=f.forwardRef((e,t)=>{const n=Jo(ja,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,i]=f.useState(!1),u=e.orientation==="horizontal",d=Sh(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=Jo(ja,e.__scopeScrollArea),s=f.useRef(null),i=f.useRef(0),[u,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=Nk(u.viewport,u.content),h={...r,sizes:u,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:v=>i.current=v};function g(v,b){return fW(v,i.current,u,b)}return n==="horizontal"?f.createElement(sW,Xn({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=Qw(v,u,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=g(v,o.dir))}})):n==="vertical"?f.createElement(aW,Xn({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=Qw(v,u);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=g(v))}})):null}),sW=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=Jo(ja,e.__scopeScrollArea),[i,u]=f.useState(),d=f.useRef(null),p=Vi(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),f.createElement(Ak,Xn({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":wh(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,g)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),zk(v,g)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:dp(i.paddingLeft),paddingEnd:dp(i.paddingRight)}})}}))}),aW=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=Jo(ja,e.__scopeScrollArea),[i,u]=f.useState(),d=f.useRef(null),p=Vi(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),f.createElement(Ak,Xn({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":wh(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,g)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),zk(v,g)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:dp(i.paddingTop),paddingEnd:dp(i.paddingBottom)}})}}))}),[iW,Dk]=Mk(ja),Ak=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:i,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:g,...v}=e,b=Jo(ja,n),[S,x]=f.useState(null),C=Vi(t,T=>x(T)),_=f.useRef(null),k=f.useRef(""),P=b.viewport,I=r.content-r.viewport,E=xi(h),O=xi(d),R=Sh(g,10);function D(T){if(_.current){const B=T.clientX-_.current.left,W=T.clientY-_.current.top;p({x:B,y:W})}}return f.useEffect(()=>{const T=B=>{const W=B.target;(S==null?void 0:S.contains(W))&&E(B,I)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[P,S,I,E]),f.useEffect(O,[r,O]),Hl(S,R),Hl(b.content,R),f.createElement(iW,{scope:n,scrollbar:S,hasThumb:o,onThumbChange:xi(s),onThumbPointerUp:xi(i),onThumbPositionChange:O,onThumbPointerDown:xi(u)},f.createElement(Wu.div,Xn({},v,{ref:C,style:{position:"absolute",...v.style},onPointerDown:ji(e.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),_.current=S.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",D(T))}),onPointerMove:ji(e.onPointerMove,D),onPointerUp:ji(e.onPointerUp,T=>{const B=T.target;B.hasPointerCapture(T.pointerId)&&B.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=k.current,_.current=null})})))}),N0="ScrollAreaThumb",lW=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Dk(N0,e.__scopeScrollArea);return f.createElement(Vu,{present:n||o.hasThumb},f.createElement(cW,Xn({ref:t},r)))}),cW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=Jo(N0,n),i=Dk(N0,n),{onThumbPositionChange:u}=i,d=Vi(t,g=>i.onThumbChange(g)),p=f.useRef(),h=Sh(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const g=s.viewport;if(g){const v=()=>{if(h(),!p.current){const b=pW(g,u);p.current=b,u()}};return u(),g.addEventListener("scroll",v),()=>g.removeEventListener("scroll",v)}},[s.viewport,h,u]),f.createElement(Wu.div,Xn({"data-state":i.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:ji(e.onPointerDownCapture,g=>{const b=g.target.getBoundingClientRect(),S=g.clientX-b.left,x=g.clientY-b.top;i.onThumbPointerDown({x:S,y:x})}),onPointerUp:ji(e.onPointerUp,i.onThumbPointerUp)}))}),Tk="ScrollAreaCorner",uW=f.forwardRef((e,t)=>{const n=Jo(Tk,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(dW,Xn({},e,{ref:t})):null}),dW=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=Jo(Tk,n),[s,i]=f.useState(0),[u,d]=f.useState(0),p=!!(s&&u);return Hl(o.scrollbarX,()=>{var h;const g=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(g),d(g)}),Hl(o.scrollbarY,()=>{var h;const g=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(g),i(g)}),p?f.createElement(Wu.div,Xn({},r,{ref:t,style:{width:s,height:u,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function dp(e){return e?parseInt(e,10):0}function Nk(e,t){const n=e/t;return isNaN(n)?0:n}function wh(e){const t=Nk(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function fW(e,t,n,r="ltr"){const o=wh(n),s=o/2,i=t||s,u=o-i,d=n.scrollbar.paddingStart+i,p=n.scrollbar.size-n.scrollbar.paddingEnd-u,h=n.content-n.viewport,g=r==="ltr"?[0,h]:[h*-1,0];return $k([d,p],g)(e)}function Qw(e,t,n="ltr"){const r=wh(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,i=t.content-t.viewport,u=s-r,d=n==="ltr"?[0,i]:[i*-1,0],p=YH(e,d);return $k([0,i],[0,u])(p)}function $k(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function zk(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},i=n.left!==s.left,u=n.top!==s.top;(i||u)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Sh(e,t){const n=xi(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Hl(e,t){const n=xi(t);T0(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const hW=ZH,mW=tW,Yw=nW,Xw=lW,gW=uW;var vW=eo((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?ze(t):void 0,paddingBottom:n?ze(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${ze(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${nw("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:ze(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:ze(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:nw("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:ze(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:ze(44),minHeight:ze(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const yW=vW;var bW=Object.defineProperty,xW=Object.defineProperties,wW=Object.getOwnPropertyDescriptors,fp=Object.getOwnPropertySymbols,Lk=Object.prototype.hasOwnProperty,Bk=Object.prototype.propertyIsEnumerable,Jw=(e,t,n)=>t in e?bW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$0=(e,t)=>{for(var n in t||(t={}))Lk.call(t,n)&&Jw(e,n,t[n]);if(fp)for(var n of fp(t))Bk.call(t,n)&&Jw(e,n,t[n]);return e},Fk=(e,t)=>xW(e,wW(t)),Hk=(e,t)=>{var n={};for(var r in e)Lk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fp)for(var r of fp(e))t.indexOf(r)<0&&Bk.call(e,r)&&(n[r]=e[r]);return n};const Wk={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Ch=f.forwardRef((e,t)=>{const n=mr("ScrollArea",Wk,e),{children:r,className:o,classNames:s,styles:i,scrollbarSize:u,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:g,viewportRef:v,onScrollPositionChange:b,unstyled:S,variant:x,viewportProps:C}=n,_=Hk(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[k,P]=f.useState(!1),I=_a(),{classes:E,cx:O}=yW({scrollbarSize:u,offsetScrollbars:g,scrollbarHovered:k,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:i,unstyled:S,variant:x});return z.createElement(hW,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},z.createElement(bo,$0({className:O(E.root,o)},_),z.createElement(mW,Fk($0({},C),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),z.createElement(Yw,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},z.createElement(Xw,{className:E.thumb})),z.createElement(Yw,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},z.createElement(Xw,{className:E.thumb})),z.createElement(gW,{className:E.corner})))}),Vk=f.forwardRef((e,t)=>{const n=mr("ScrollAreaAutosize",Wk,e),{children:r,classNames:o,styles:s,scrollbarSize:i,scrollHideDelay:u,type:d,dir:p,offsetScrollbars:h,viewportRef:g,onScrollPositionChange:v,unstyled:b,sx:S,variant:x,viewportProps:C}=n,_=Hk(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return z.createElement(bo,Fk($0({},_),{ref:t,sx:[{display:"flex"},...M_(S)]}),z.createElement(bo,{sx:{display:"flex",flexDirection:"column",flex:1}},z.createElement(Ch,{classNames:o,styles:s,scrollHideDelay:u,scrollbarSize:i,type:d,dir:p,offsetScrollbars:h,viewportRef:g,onScrollPositionChange:v,unstyled:b,variant:x,viewportProps:C},r)))});Vk.displayName="@mantine/core/ScrollAreaAutosize";Ch.displayName="@mantine/core/ScrollArea";Ch.Autosize=Vk;const Uk=Ch;var SW=Object.defineProperty,CW=Object.defineProperties,_W=Object.getOwnPropertyDescriptors,pp=Object.getOwnPropertySymbols,Gk=Object.prototype.hasOwnProperty,qk=Object.prototype.propertyIsEnumerable,Zw=(e,t,n)=>t in e?SW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eS=(e,t)=>{for(var n in t||(t={}))Gk.call(t,n)&&Zw(e,n,t[n]);if(pp)for(var n of pp(t))qk.call(t,n)&&Zw(e,n,t[n]);return e},kW=(e,t)=>CW(e,_W(t)),jW=(e,t)=>{var n={};for(var r in e)Gk.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&pp)for(var r of pp(e))t.indexOf(r)<0&&qk.call(e,r)&&(n[r]=e[r]);return n};const _h=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=jW(n,["style"]);return z.createElement(Uk,kW(eS({},o),{style:eS({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});_h.displayName="@mantine/core/SelectScrollArea";var PW=eo(()=>({dropdown:{},itemsWrapper:{padding:ze(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const IW=PW;function uc(e){return e.split("-")[1]}function R1(e){return e==="y"?"height":"width"}function hs(e){return e.split("-")[0]}function si(e){return["top","bottom"].includes(hs(e))?"x":"y"}function tS(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,i=r.y+r.height/2-o.height/2,u=si(t),d=R1(u),p=r[d]/2-o[d]/2,h=u==="x";let g;switch(hs(t)){case"top":g={x:s,y:r.y-o.height};break;case"bottom":g={x:s,y:r.y+r.height};break;case"right":g={x:r.x+r.width,y:i};break;case"left":g={x:r.x-o.width,y:i};break;default:g={x:r.x,y:r.y}}switch(uc(t)){case"start":g[u]-=p*(n&&h?-1:1);break;case"end":g[u]+=p*(n&&h?-1:1)}return g}const EW=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:i}=n,u=s.filter(Boolean),d=await(i.isRTL==null?void 0:i.isRTL(t));let p=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:g}=tS(p,r,d),v=r,b={},S=0;for(let x=0;x({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:i,elements:u}=t,{element:d,padding:p=0}=wa(e,t)||{};if(d==null)return{};const h=D1(p),g={x:n,y:r},v=si(o),b=R1(v),S=await i.getDimensions(d),x=v==="y",C=x?"top":"left",_=x?"bottom":"right",k=x?"clientHeight":"clientWidth",P=s.reference[b]+s.reference[v]-g[v]-s.floating[b],I=g[v]-s.reference[v],E=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let O=E?E[k]:0;O&&await(i.isElement==null?void 0:i.isElement(E))||(O=u.floating[k]||s.floating[b]);const R=P/2-I/2,D=O/2-S[b]/2-1,T=ei(h[C],D),B=ei(h[_],D),W=T,J=O-S[b]-B,F=O/2-S[b]/2+R,N=z0(W,F,J),G=uc(o)!=null&&F!=N&&s.reference[b]/2-(Fe.concat(t,t+"-start",t+"-end"),[]);const MW={left:"right",right:"left",bottom:"top",top:"bottom"};function hp(e){return e.replace(/left|right|bottom|top/g,t=>MW[t])}function RW(e,t,n){n===void 0&&(n=!1);const r=uc(e),o=si(e),s=R1(o);let i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=hp(i)),{main:i,cross:hp(i)}}const DW={start:"end",end:"start"};function Eg(e){return e.replace(/start|end/g,t=>DW[t])}const AW=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:i,platform:u,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:g,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:S=!0,...x}=wa(e,t),C=hs(r),_=hs(i)===i,k=await(u.isRTL==null?void 0:u.isRTL(d.floating)),P=g||(_||!S?[hp(i)]:function(W){const J=hp(W);return[Eg(W),J,Eg(J)]}(i));g||b==="none"||P.push(...function(W,J,F,N){const G=uc(W);let K=function(M,U,V){const ee=["left","right"],ie=["right","left"],xe=["top","bottom"],me=["bottom","top"];switch(M){case"top":case"bottom":return V?U?ie:ee:U?ee:ie;case"left":case"right":return U?xe:me;default:return[]}}(hs(W),F==="start",N);return G&&(K=K.map(M=>M+"-"+G),J&&(K=K.concat(K.map(Eg)))),K}(i,S,b,k));const I=[i,...P],E=await A1(t,x),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[C]),h){const{main:W,cross:J}=RW(r,s,k);O.push(E[W],E[J])}if(R=[...R,{placement:r,overflows:O}],!O.every(W=>W<=0)){var D,T;const W=(((D=o.flip)==null?void 0:D.index)||0)+1,J=I[W];if(J)return{data:{index:W,overflows:R},reset:{placement:J}};let F=(T=R.filter(N=>N.overflows[0]<=0).sort((N,G)=>N.overflows[1]-G.overflows[1])[0])==null?void 0:T.placement;if(!F)switch(v){case"bestFit":{var B;const N=(B=R.map(G=>[G.placement,G.overflows.filter(K=>K>0).reduce((K,M)=>K+M,0)]).sort((G,K)=>G[1]-K[1])[0])==null?void 0:B[0];N&&(F=N);break}case"initialPlacement":F=i}if(r!==F)return{reset:{placement:F}}}return{}}}};function rS(e){const t=ei(...e.map(r=>r.left)),n=ei(...e.map(r=>r.top));return{x:t,y:n,width:Ns(...e.map(r=>r.right))-t,height:Ns(...e.map(r=>r.bottom))-n}}const TW=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:i}=t,{padding:u=2,x:d,y:p}=wa(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),g=function(x){const C=x.slice().sort((P,I)=>P.y-I.y),_=[];let k=null;for(let P=0;Pk.height/2?_.push([I]):_[_.length-1].push(I),k=I}return _.map(P=>Wl(rS(P)))}(h),v=Wl(rS(h)),b=D1(u),S=await s.getElementRects({reference:{getBoundingClientRect:function(){if(g.length===2&&g[0].left>g[1].right&&d!=null&&p!=null)return g.find(x=>d>x.left-b.left&&dx.top-b.top&&p=2){if(si(n)==="x"){const E=g[0],O=g[g.length-1],R=hs(n)==="top",D=E.top,T=O.bottom,B=R?E.left:O.left,W=R?E.right:O.right;return{top:D,bottom:T,left:B,right:W,width:W-B,height:T-D,x:B,y:D}}const x=hs(n)==="left",C=Ns(...g.map(E=>E.right)),_=ei(...g.map(E=>E.left)),k=g.filter(E=>x?E.left===_:E.right===C),P=k[0].top,I=k[k.length-1].bottom;return{top:P,bottom:I,left:_,right:C,width:C-_,height:I-P,x:_,y:P}}return v}},floating:r.floating,strategy:i});return o.reference.x!==S.reference.x||o.reference.y!==S.reference.y||o.reference.width!==S.reference.width||o.reference.height!==S.reference.height?{reset:{rects:S}}:{}}}},NW=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,i){const{placement:u,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),g=hs(u),v=uc(u),b=si(u)==="x",S=["left","top"].includes(g)?-1:1,x=h&&b?-1:1,C=wa(i,s);let{mainAxis:_,crossAxis:k,alignmentAxis:P}=typeof C=="number"?{mainAxis:C,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...C};return v&&typeof P=="number"&&(k=v==="end"?-1*P:P),b?{x:k*x,y:_*S}:{x:_*S,y:k*x}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function Kk(e){return e==="x"?"y":"x"}const $W=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:i=!1,limiter:u={fn:C=>{let{x:_,y:k}=C;return{x:_,y:k}}},...d}=wa(e,t),p={x:n,y:r},h=await A1(t,d),g=si(hs(o)),v=Kk(g);let b=p[g],S=p[v];if(s){const C=g==="y"?"bottom":"right";b=z0(b+h[g==="y"?"top":"left"],b,b-h[C])}if(i){const C=v==="y"?"bottom":"right";S=z0(S+h[v==="y"?"top":"left"],S,S-h[C])}const x=u.fn({...t,[g]:b,[v]:S});return{...x,data:{x:x.x-n,y:x.y-r}}}}},zW=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:i}=t,{offset:u=0,mainAxis:d=!0,crossAxis:p=!0}=wa(e,t),h={x:n,y:r},g=si(o),v=Kk(g);let b=h[g],S=h[v];const x=wa(u,t),C=typeof x=="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(d){const P=g==="y"?"height":"width",I=s.reference[g]-s.floating[P]+C.mainAxis,E=s.reference[g]+s.reference[P]-C.mainAxis;bE&&(b=E)}if(p){var _,k;const P=g==="y"?"width":"height",I=["top","left"].includes(hs(o)),E=s.reference[v]-s.floating[P]+(I&&((_=i.offset)==null?void 0:_[v])||0)+(I?0:C.crossAxis),O=s.reference[v]+s.reference[P]+(I?0:((k=i.offset)==null?void 0:k[v])||0)-(I?C.crossAxis:0);SO&&(S=O)}return{[g]:b,[v]:S}}}},LW=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:i=()=>{},...u}=wa(e,t),d=await A1(t,u),p=hs(n),h=uc(n),g=si(n)==="x",{width:v,height:b}=r.floating;let S,x;p==="top"||p==="bottom"?(S=p,x=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(x=p,S=h==="end"?"top":"bottom");const C=b-d[S],_=v-d[x],k=!t.middlewareData.shift;let P=C,I=_;if(g){const O=v-d.left-d.right;I=h||k?ei(_,O):O}else{const O=b-d.top-d.bottom;P=h||k?ei(C,O):O}if(k&&!h){const O=Ns(d.left,0),R=Ns(d.right,0),D=Ns(d.top,0),T=Ns(d.bottom,0);g?I=v-2*(O!==0||R!==0?O+R:Ns(d.left,d.right)):P=b-2*(D!==0||T!==0?D+T:Ns(d.top,d.bottom))}await i({...t,availableWidth:I,availableHeight:P});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function Oo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Gs(e){return Oo(e).getComputedStyle(e)}function Qk(e){return e instanceof Oo(e).Node}function ti(e){return Qk(e)?(e.nodeName||"").toLowerCase():"#document"}function bs(e){return e instanceof HTMLElement||e instanceof Oo(e).HTMLElement}function oS(e){return typeof ShadowRoot<"u"&&(e instanceof Oo(e).ShadowRoot||e instanceof ShadowRoot)}function mu(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Gs(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function BW(e){return["table","td","th"].includes(ti(e))}function L0(e){const t=T1(),n=Gs(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function T1(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function kh(e){return["html","body","#document"].includes(ti(e))}const B0=Math.min,Tl=Math.max,mp=Math.round,nf=Math.floor,ni=e=>({x:e,y:e});function Yk(e){const t=Gs(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=bs(e),s=o?e.offsetWidth:n,i=o?e.offsetHeight:r,u=mp(n)!==s||mp(r)!==i;return u&&(n=s,r=i),{width:n,height:r,$:u}}function fa(e){return e instanceof Element||e instanceof Oo(e).Element}function N1(e){return fa(e)?e:e.contextElement}function Nl(e){const t=N1(e);if(!bs(t))return ni(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=Yk(t);let i=(s?mp(n.width):n.width)/r,u=(s?mp(n.height):n.height)/o;return i&&Number.isFinite(i)||(i=1),u&&Number.isFinite(u)||(u=1),{x:i,y:u}}const FW=ni(0);function Xk(e){const t=Oo(e);return T1()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:FW}function Ni(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=N1(e);let i=ni(1);t&&(r?fa(r)&&(i=Nl(r)):i=Nl(e));const u=function(v,b,S){return b===void 0&&(b=!1),!(!S||b&&S!==Oo(v))&&b}(s,n,r)?Xk(s):ni(0);let d=(o.left+u.x)/i.x,p=(o.top+u.y)/i.y,h=o.width/i.x,g=o.height/i.y;if(s){const v=Oo(s),b=r&&fa(r)?Oo(r):r;let S=v.frameElement;for(;S&&r&&b!==v;){const x=Nl(S),C=S.getBoundingClientRect(),_=getComputedStyle(S),k=C.left+(S.clientLeft+parseFloat(_.paddingLeft))*x.x,P=C.top+(S.clientTop+parseFloat(_.paddingTop))*x.y;d*=x.x,p*=x.y,h*=x.x,g*=x.y,d+=k,p+=P,S=Oo(S).frameElement}}return Wl({width:h,height:g,x:d,y:p})}function jh(e){return fa(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function pa(e){var t;return(t=(Qk(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Jk(e){return Ni(pa(e)).left+jh(e).scrollLeft}function Vl(e){if(ti(e)==="html")return e;const t=e.assignedSlot||e.parentNode||oS(e)&&e.host||pa(e);return oS(t)?t.host:t}function Zk(e){const t=Vl(e);return kh(t)?e.ownerDocument?e.ownerDocument.body:e.body:bs(t)&&mu(t)?t:Zk(t)}function gp(e,t){var n;t===void 0&&(t=[]);const r=Zk(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Oo(r);return o?t.concat(s,s.visualViewport||[],mu(r)?r:[]):t.concat(r,gp(r))}function sS(e,t,n){let r;if(t==="viewport")r=function(o,s){const i=Oo(o),u=pa(o),d=i.visualViewport;let p=u.clientWidth,h=u.clientHeight,g=0,v=0;if(d){p=d.width,h=d.height;const b=T1();(!b||b&&s==="fixed")&&(g=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:g,y:v}}(e,n);else if(t==="document")r=function(o){const s=pa(o),i=jh(o),u=o.ownerDocument.body,d=Tl(s.scrollWidth,s.clientWidth,u.scrollWidth,u.clientWidth),p=Tl(s.scrollHeight,s.clientHeight,u.scrollHeight,u.clientHeight);let h=-i.scrollLeft+Jk(o);const g=-i.scrollTop;return Gs(u).direction==="rtl"&&(h+=Tl(s.clientWidth,u.clientWidth)-d),{width:d,height:p,x:h,y:g}}(pa(e));else if(fa(t))r=function(o,s){const i=Ni(o,!0,s==="fixed"),u=i.top+o.clientTop,d=i.left+o.clientLeft,p=bs(o)?Nl(o):ni(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:u*p.y}}(t,n);else{const o=Xk(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return Wl(r)}function ej(e,t){const n=Vl(e);return!(n===t||!fa(n)||kh(n))&&(Gs(n).position==="fixed"||ej(n,t))}function HW(e,t,n){const r=bs(t),o=pa(t),s=n==="fixed",i=Ni(e,!0,s,t);let u={scrollLeft:0,scrollTop:0};const d=ni(0);if(r||!r&&!s)if((ti(t)!=="body"||mu(o))&&(u=jh(t)),bs(t)){const p=Ni(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=Jk(o));return{x:i.left+u.scrollLeft-d.x,y:i.top+u.scrollTop-d.y,width:i.width,height:i.height}}function aS(e,t){return bs(e)&&Gs(e).position!=="fixed"?t?t(e):e.offsetParent:null}function iS(e,t){const n=Oo(e);if(!bs(e))return n;let r=aS(e,t);for(;r&&BW(r)&&Gs(r).position==="static";)r=aS(r,t);return r&&(ti(r)==="html"||ti(r)==="body"&&Gs(r).position==="static"&&!L0(r))?n:r||function(o){let s=Vl(o);for(;bs(s)&&!kh(s);){if(L0(s))return s;s=Vl(s)}return null}(e)||n}const WW={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=bs(n),s=pa(n);if(n===s)return t;let i={scrollLeft:0,scrollTop:0},u=ni(1);const d=ni(0);if((o||!o&&r!=="fixed")&&((ti(n)!=="body"||mu(s))&&(i=jh(n)),bs(n))){const p=Ni(n);u=Nl(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*u.x,height:t.height*u.y,x:t.x*u.x-i.scrollLeft*u.x+d.x,y:t.y*u.y-i.scrollTop*u.y+d.y}},getDocumentElement:pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let g=gp(d).filter(x=>fa(x)&&ti(x)!=="body"),v=null;const b=Gs(d).position==="fixed";let S=b?Vl(d):d;for(;fa(S)&&!kh(S);){const x=Gs(S),C=L0(S);C||x.position!=="fixed"||(v=null),(b?!C&&!v:!C&&x.position==="static"&&v&&["absolute","fixed"].includes(v.position)||mu(S)&&!C&&ej(d,S))?g=g.filter(_=>_!==S):v=x,S=Vl(S)}return p.set(d,g),g}(t,this._c):[].concat(n),r],i=s[0],u=s.reduce((d,p)=>{const h=sS(t,p,o);return d.top=Tl(h.top,d.top),d.right=B0(h.right,d.right),d.bottom=B0(h.bottom,d.bottom),d.left=Tl(h.left,d.left),d},sS(t,i,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:iS,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||iS,s=this.getDimensions;return{reference:HW(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return Yk(e)},getScale:Nl,isElement:fa,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function VW(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=N1(e),h=o||s?[...p?gp(p):[],...gp(t)]:[];h.forEach(C=>{o&&C.addEventListener("scroll",n,{passive:!0}),s&&C.addEventListener("resize",n)});const g=p&&u?function(C,_){let k,P=null;const I=pa(C);function E(){clearTimeout(k),P&&P.disconnect(),P=null}return function O(R,D){R===void 0&&(R=!1),D===void 0&&(D=1),E();const{left:T,top:B,width:W,height:J}=C.getBoundingClientRect();if(R||_(),!W||!J)return;const F={rootMargin:-nf(B)+"px "+-nf(I.clientWidth-(T+W))+"px "+-nf(I.clientHeight-(B+J))+"px "+-nf(T)+"px",threshold:Tl(0,B0(1,D))||1};let N=!0;function G(K){const M=K[0].intersectionRatio;if(M!==D){if(!N)return O();M?O(!1,M):k=setTimeout(()=>{O(!1,1e-7)},100)}N=!1}try{P=new IntersectionObserver(G,{...F,root:I.ownerDocument})}catch{P=new IntersectionObserver(G,F)}P.observe(C)}(!0),E}(p,n):null;let v,b=-1,S=null;i&&(S=new ResizeObserver(C=>{let[_]=C;_&&_.target===p&&S&&(S.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{S&&S.observe(t)})),n()}),p&&!d&&S.observe(p),S.observe(t));let x=d?Ni(e):null;return d&&function C(){const _=Ni(e);!x||_.x===x.x&&_.y===x.y&&_.width===x.width&&_.height===x.height||n(),x=_,v=requestAnimationFrame(C)}(),n(),()=>{h.forEach(C=>{o&&C.removeEventListener("scroll",n),s&&C.removeEventListener("resize",n)}),g&&g(),S&&S.disconnect(),S=null,d&&cancelAnimationFrame(v)}}const UW=(e,t,n)=>{const r=new Map,o={platform:WW,...n},s={...o.platform,_c:r};return EW(e,t,{...o,platform:s})},GW=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?nS({element:t.current,padding:n}).fn(o):{}:t?nS({element:t,padding:n}).fn(o):{}}}};var Sf=typeof document<"u"?f.useLayoutEffect:f.useEffect;function vp(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!vp(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!vp(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function lS(e){const t=f.useRef(e);return Sf(()=>{t.current=e}),t}function qW(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:i}=e,[u,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);vp(p,r)||h(r);const g=f.useRef(null),v=f.useRef(null),b=f.useRef(u),S=lS(s),x=lS(o),[C,_]=f.useState(null),[k,P]=f.useState(null),I=f.useCallback(B=>{g.current!==B&&(g.current=B,_(B))},[]),E=f.useCallback(B=>{v.current!==B&&(v.current=B,P(B))},[]),O=f.useCallback(()=>{if(!g.current||!v.current)return;const B={placement:t,strategy:n,middleware:p};x.current&&(B.platform=x.current),UW(g.current,v.current,B).then(W=>{const J={...W,isPositioned:!0};R.current&&!vp(b.current,J)&&(b.current=J,nc.flushSync(()=>{d(J)}))})},[p,t,n,x]);Sf(()=>{i===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(B=>({...B,isPositioned:!1})))},[i]);const R=f.useRef(!1);Sf(()=>(R.current=!0,()=>{R.current=!1}),[]),Sf(()=>{if(C&&k){if(S.current)return S.current(C,k,O);O()}},[C,k,O,S]);const D=f.useMemo(()=>({reference:g,floating:v,setReference:I,setFloating:E}),[I,E]),T=f.useMemo(()=>({reference:C,floating:k}),[C,k]);return f.useMemo(()=>({...u,update:O,refs:D,elements:T,reference:I,floating:E}),[u,O,D,T,I,E])}var KW=typeof document<"u"?f.useLayoutEffect:f.useEffect;function QW(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const YW=f.createContext(null),XW=()=>f.useContext(YW);function JW(e){return(e==null?void 0:e.ownerDocument)||document}function ZW(e){return JW(e).defaultView||window}function rf(e){return e?e instanceof ZW(e).Element:!1}const eV=fv["useInsertionEffect".toString()],tV=eV||(e=>e());function nV(e){const t=f.useRef(()=>{});return tV(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oQW())[0],[p,h]=f.useState(null),g=f.useCallback(_=>{const k=rf(_)?{getBoundingClientRect:()=>_.getBoundingClientRect(),contextElement:_}:_;o.refs.setReference(k)},[o.refs]),v=f.useCallback(_=>{(rf(_)||_===null)&&(i.current=_,h(_)),(rf(o.refs.reference.current)||o.refs.reference.current===null||_!==null&&!rf(_))&&o.refs.setReference(_)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:g,domReference:i}),[o.refs,v,g]),S=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),x=nV(n),C=f.useMemo(()=>({...o,refs:b,elements:S,dataRef:u,nodeId:r,events:d,open:t,onOpenChange:x}),[o,r,d,t,x,b,S]);return KW(()=>{const _=s==null?void 0:s.nodesRef.current.find(k=>k.id===r);_&&(_.context=C)}),f.useMemo(()=>({...o,context:C,refs:b,reference:v,positionReference:g}),[o,b,C,v,g])}function oV({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return VW(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),ps(()=>{t.update()},r),ps(()=>{s(i=>i+1)},[e])}function sV(e){const t=[NW(e.offset)];return e.middlewares.shift&&t.push($W({limiter:zW()})),e.middlewares.flip&&t.push(AW()),e.middlewares.inline&&t.push(TW()),t.push(GW({element:e.arrowRef,padding:e.arrowOffset})),t}function aV(e){const[t,n]=hu({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var i;(i=e.onClose)==null||i.call(e),n(!1)},o=()=>{var i,u;t?((i=e.onClose)==null||i.call(e),n(!1)):((u=e.onOpen)==null||u.call(e),n(!0))},s=rV({placement:e.position,middleware:[...sV(e),...e.width==="target"?[LW({apply({rects:i}){var u,d;Object.assign((d=(u=s.refs.floating.current)==null?void 0:u.style)!=null?d:{},{width:`${i.reference.width}px`})}})]:[]]});return oV({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),ps(()=>{var i;(i=e.onPositionChange)==null||i.call(e,s.placement)},[s.placement]),ps(()=>{var i,u;e.opened?(u=e.onOpen)==null||u.call(e):(i=e.onClose)==null||i.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const tj={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[iV,nj]=KL(tj.context);var lV=Object.defineProperty,cV=Object.defineProperties,uV=Object.getOwnPropertyDescriptors,yp=Object.getOwnPropertySymbols,rj=Object.prototype.hasOwnProperty,oj=Object.prototype.propertyIsEnumerable,cS=(e,t,n)=>t in e?lV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,of=(e,t)=>{for(var n in t||(t={}))rj.call(t,n)&&cS(e,n,t[n]);if(yp)for(var n of yp(t))oj.call(t,n)&&cS(e,n,t[n]);return e},dV=(e,t)=>cV(e,uV(t)),fV=(e,t)=>{var n={};for(var r in e)rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yp)for(var r of yp(e))t.indexOf(r)<0&&oj.call(e,r)&&(n[r]=e[r]);return n};const pV={refProp:"ref",popupType:"dialog"},sj=f.forwardRef((e,t)=>{const n=mr("PopoverTarget",pV,e),{children:r,refProp:o,popupType:s}=n,i=fV(n,["children","refProp","popupType"]);if(!D_(r))throw new Error(tj.children);const u=i,d=nj(),p=Hu(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,of(dV(of(of(of({},u),h),d.targetProps),{className:T_(d.targetProps.className,u.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});sj.displayName="@mantine/core/PopoverTarget";var hV=eo((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const mV=hV;var gV=Object.defineProperty,uS=Object.getOwnPropertySymbols,vV=Object.prototype.hasOwnProperty,yV=Object.prototype.propertyIsEnumerable,dS=(e,t,n)=>t in e?gV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hl=(e,t)=>{for(var n in t||(t={}))vV.call(t,n)&&dS(e,n,t[n]);if(uS)for(var n of uS(t))yV.call(t,n)&&dS(e,n,t[n]);return e};const fS={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function bV({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Yd?hl(hl(hl({transitionProperty:Yd[e].transitionProperty},o),Yd[e].common),Yd[e][fS[t]]):null:hl(hl(hl({transitionProperty:e.transitionProperty},o),e.common),e[fS[t]])}function xV({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:i,onExited:u}){const d=_a(),p=H_(),h=d.respectReducedMotion?p:!1,[g,v]=f.useState(h?0:e),[b,S]=f.useState(r?"entered":"exited"),x=f.useRef(-1),C=_=>{const k=_?o:s,P=_?i:u;S(_?"pre-entering":"pre-exiting"),window.clearTimeout(x.current);const I=h?0:_?e:t;if(v(I),I===0)typeof k=="function"&&k(),typeof P=="function"&&P(),S(_?"entered":"exited");else{const E=window.setTimeout(()=>{typeof k=="function"&&k(),S(_?"entering":"exiting")},10);x.current=window.setTimeout(()=>{window.clearTimeout(E),typeof P=="function"&&P(),S(_?"entered":"exited")},I)}};return ps(()=>{C(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(x.current),[]),{transitionDuration:g,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function aj({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:i,onExit:u,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:g,transitionStatus:v,transitionTimingFunction:b}=xV({mounted:o,exitDuration:r,duration:n,timingFunction:i,onExit:u,onEntered:d,onEnter:p,onExited:h});return g===0?o?z.createElement(z.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:z.createElement(z.Fragment,null,s(bV({transition:t,duration:g,state:v,timingFunction:b})))}aj.displayName="@mantine/core/Transition";function ij({children:e,active:t=!0,refProp:n="ref"}){const r=IB(t),o=Hu(r,e==null?void 0:e.ref);return D_(e)?f.cloneElement(e,{[n]:o}):e}ij.displayName="@mantine/core/FocusTrap";var wV=Object.defineProperty,SV=Object.defineProperties,CV=Object.getOwnPropertyDescriptors,pS=Object.getOwnPropertySymbols,_V=Object.prototype.hasOwnProperty,kV=Object.prototype.propertyIsEnumerable,hS=(e,t,n)=>t in e?wV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Na=(e,t)=>{for(var n in t||(t={}))_V.call(t,n)&&hS(e,n,t[n]);if(pS)for(var n of pS(t))kV.call(t,n)&&hS(e,n,t[n]);return e},sf=(e,t)=>SV(e,CV(t));function mS(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function gS(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const jV={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function PV({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:i,dir:u}){const[d,p="center"]=e.split("-"),h={width:ze(t),height:ze(t),transform:"rotate(45deg)",position:"absolute",[jV[d]]:ze(r)},g=ze(-t/2);return d==="left"?sf(Na(Na({},h),mS(p,i,n,o)),{right:g,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?sf(Na(Na({},h),mS(p,i,n,o)),{left:g,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?sf(Na(Na({},h),gS(p,s,n,o,u)),{bottom:g,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?sf(Na(Na({},h),gS(p,s,n,o,u)),{top:g,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var IV=Object.defineProperty,EV=Object.defineProperties,OV=Object.getOwnPropertyDescriptors,bp=Object.getOwnPropertySymbols,lj=Object.prototype.hasOwnProperty,cj=Object.prototype.propertyIsEnumerable,vS=(e,t,n)=>t in e?IV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MV=(e,t)=>{for(var n in t||(t={}))lj.call(t,n)&&vS(e,n,t[n]);if(bp)for(var n of bp(t))cj.call(t,n)&&vS(e,n,t[n]);return e},RV=(e,t)=>EV(e,OV(t)),DV=(e,t)=>{var n={};for(var r in e)lj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bp)for(var r of bp(e))t.indexOf(r)<0&&cj.call(e,r)&&(n[r]=e[r]);return n};const uj=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:i,arrowPosition:u,visible:d,arrowX:p,arrowY:h}=n,g=DV(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=_a();return d?z.createElement("div",RV(MV({},g),{ref:t,style:PV({position:r,arrowSize:o,arrowOffset:s,arrowRadius:i,arrowPosition:u,dir:v.dir,arrowX:p,arrowY:h})})):null});uj.displayName="@mantine/core/FloatingArrow";var AV=Object.defineProperty,TV=Object.defineProperties,NV=Object.getOwnPropertyDescriptors,xp=Object.getOwnPropertySymbols,dj=Object.prototype.hasOwnProperty,fj=Object.prototype.propertyIsEnumerable,yS=(e,t,n)=>t in e?AV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ml=(e,t)=>{for(var n in t||(t={}))dj.call(t,n)&&yS(e,n,t[n]);if(xp)for(var n of xp(t))fj.call(t,n)&&yS(e,n,t[n]);return e},af=(e,t)=>TV(e,NV(t)),$V=(e,t)=>{var n={};for(var r in e)dj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xp)for(var r of xp(e))t.indexOf(r)<0&&fj.call(e,r)&&(n[r]=e[r]);return n};const zV={};function pj(e){var t;const n=mr("PopoverDropdown",zV,e),{style:r,className:o,children:s,onKeyDownCapture:i}=n,u=$V(n,["style","className","children","onKeyDownCapture"]),d=nj(),{classes:p,cx:h}=mV({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),g=wB({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:z.createElement(pk,af(ml({},d.portalProps),{withinPortal:d.withinPortal}),z.createElement(aj,af(ml({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var S,x;return z.createElement(ij,{active:d.trapFocus},z.createElement(bo,ml(af(ml({},v),{tabIndex:-1,ref:d.floating,style:af(ml(ml({},r),b),{zIndex:d.zIndex,top:(S=d.y)!=null?S:0,left:(x=d.x)!=null?x:0,width:d.width==="target"?void 0:ze(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:YL(d.onClose,{active:d.closeOnEscape,onTrigger:g,onKeyDown:i}),"data-position":d.placement}),u),s,z.createElement(uj,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}pj.displayName="@mantine/core/PopoverDropdown";function LV(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var bS=Object.getOwnPropertySymbols,BV=Object.prototype.hasOwnProperty,FV=Object.prototype.propertyIsEnumerable,HV=(e,t)=>{var n={};for(var r in e)BV.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bS)for(var r of bS(e))t.indexOf(r)<0&&FV.call(e,r)&&(n[r]=e[r]);return n};const WV={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:j1("popover"),__staticSelector:"Popover",width:"max-content"};function dc(e){var t,n,r,o,s,i;const u=f.useRef(null),d=mr("Popover",WV,e),{children:p,position:h,offset:g,onPositionChange:v,positionDependencies:b,opened:S,transitionProps:x,width:C,middlewares:_,withArrow:k,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:D,styles:T,closeOnClickOutside:B,withinPortal:W,portalProps:J,closeOnEscape:F,clickOutsideEvents:N,trapFocus:G,onClose:K,onOpen:M,onChange:U,zIndex:V,radius:ee,shadow:ie,id:xe,defaultOpened:me,__staticSelector:ae,withRoles:te,disabled:H,returnFocus:re,variant:pe,keepMounted:ne}=d,ve=HV(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[de,Ce]=f.useState(null),[Re,ge]=f.useState(null),_e=I1(xe),We=_a(),Le=aV({middlewares:_,width:C,position:LV(We.dir,h),offset:typeof g=="number"?g+(k?P/2:0):g,arrowRef:u,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:S,defaultOpened:me,onChange:U,onOpen:M,onClose:K});vB(()=>Le.opened&&B&&Le.onClose(),N,[de,Re]);const Ue=f.useCallback(vt=>{Ce(vt),Le.floating.reference(vt)},[Le.floating.reference]),jt=f.useCallback(vt=>{ge(vt),Le.floating.floating(vt)},[Le.floating.floating]);return z.createElement(iV,{value:{returnFocus:re,disabled:H,controlled:Le.controlled,reference:Ue,floating:jt,x:Le.floating.x,y:Le.floating.y,arrowX:(r=(n=(t=Le.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(i=(s=(o=Le.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:i.y,opened:Le.opened,arrowRef:u,transitionProps:x,width:C,withArrow:k,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Le.floating.placement,trapFocus:G,withinPortal:W,portalProps:J,zIndex:V,radius:ee,shadow:ie,closeOnEscape:F,onClose:Le.onClose,onToggle:Le.onToggle,getTargetId:()=>`${_e}-target`,getDropdownId:()=>`${_e}-dropdown`,withRoles:te,targetProps:ve,__staticSelector:ae,classNames:D,styles:T,unstyled:R,variant:pe,keepMounted:ne}},p)}dc.Target=sj;dc.Dropdown=pj;dc.displayName="@mantine/core/Popover";var VV=Object.defineProperty,wp=Object.getOwnPropertySymbols,hj=Object.prototype.hasOwnProperty,mj=Object.prototype.propertyIsEnumerable,xS=(e,t,n)=>t in e?VV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UV=(e,t)=>{for(var n in t||(t={}))hj.call(t,n)&&xS(e,n,t[n]);if(wp)for(var n of wp(t))mj.call(t,n)&&xS(e,n,t[n]);return e},GV=(e,t)=>{var n={};for(var r in e)hj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&wp)for(var r of wp(e))t.indexOf(r)<0&&mj.call(e,r)&&(n[r]=e[r]);return n};function qV(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:i,innerRef:u,__staticSelector:d,styles:p,classNames:h,unstyled:g}=t,v=GV(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=IW(null,{name:d,styles:p,classNames:h,unstyled:g});return z.createElement(dc.Dropdown,UV({p:0,onMouseDown:S=>S.preventDefault()},v),z.createElement("div",{style:{maxHeight:ze(o),display:"flex"}},z.createElement(bo,{component:r||"div",id:`${i}-items`,"aria-labelledby":`${i}-label`,role:"listbox",onMouseDown:S=>S.preventDefault(),style:{flex:1,overflowY:r!==_h?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:u},z.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function Xa({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:i,onDirectionChange:u,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:g=[],classNames:v,styles:b,unstyled:S,readOnly:x,variant:C}){return z.createElement(dc,{unstyled:S,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:g,zIndex:p,__staticSelector:i,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:x,onPositionChange:_=>d&&(u==null?void 0:u(_==="top"?"column-reverse":"column")),variant:C},s)}Xa.Target=dc.Target;Xa.Dropdown=qV;var KV=Object.defineProperty,QV=Object.defineProperties,YV=Object.getOwnPropertyDescriptors,Sp=Object.getOwnPropertySymbols,gj=Object.prototype.hasOwnProperty,vj=Object.prototype.propertyIsEnumerable,wS=(e,t,n)=>t in e?KV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lf=(e,t)=>{for(var n in t||(t={}))gj.call(t,n)&&wS(e,n,t[n]);if(Sp)for(var n of Sp(t))vj.call(t,n)&&wS(e,n,t[n]);return e},XV=(e,t)=>QV(e,YV(t)),JV=(e,t)=>{var n={};for(var r in e)gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Sp)for(var r of Sp(e))t.indexOf(r)<0&&vj.call(e,r)&&(n[r]=e[r]);return n};function yj(e,t,n){const r=mr(e,t,n),{label:o,description:s,error:i,required:u,classNames:d,styles:p,className:h,unstyled:g,__staticSelector:v,sx:b,errorProps:S,labelProps:x,descriptionProps:C,wrapperProps:_,id:k,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:D}=r,T=JV(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),B=I1(k),{systemStyles:W,rest:J}=xh(T),F=lf({label:o,description:s,error:i,required:u,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:S,labelProps:x,descriptionProps:C,unstyled:g,styles:p,id:B,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:D},_);return XV(lf({},J),{classNames:d,styles:p,unstyled:g,wrapperProps:lf(lf({},F),W),inputProps:{required:u,classNames:d,styles:p,unstyled:g,id:B,size:P,__staticSelector:v,error:i,variant:D}})}var ZV=eo((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Tt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const eU=ZV;var tU=Object.defineProperty,Cp=Object.getOwnPropertySymbols,bj=Object.prototype.hasOwnProperty,xj=Object.prototype.propertyIsEnumerable,SS=(e,t,n)=>t in e?tU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nU=(e,t)=>{for(var n in t||(t={}))bj.call(t,n)&&SS(e,n,t[n]);if(Cp)for(var n of Cp(t))xj.call(t,n)&&SS(e,n,t[n]);return e},rU=(e,t)=>{var n={};for(var r in e)bj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Cp)for(var r of Cp(e))t.indexOf(r)<0&&xj.call(e,r)&&(n[r]=e[r]);return n};const oU={labelElement:"label",size:"sm"},$1=f.forwardRef((e,t)=>{const n=mr("InputLabel",oU,e),{labelElement:r,children:o,required:s,size:i,classNames:u,styles:d,unstyled:p,className:h,htmlFor:g,__staticSelector:v,variant:b,onMouseDown:S}=n,x=rU(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:C,cx:_}=eU(null,{name:["InputWrapper",v],classNames:u,styles:d,unstyled:p,variant:b,size:i});return z.createElement(bo,nU({component:r,ref:t,className:_(C.label,h),htmlFor:r==="label"?g:void 0,onMouseDown:k=>{S==null||S(k),!k.defaultPrevented&&k.detail>1&&k.preventDefault()}},x),o,s&&z.createElement("span",{className:C.required,"aria-hidden":!0}," *"))});$1.displayName="@mantine/core/InputLabel";var sU=eo((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Tt({size:n,sizes:e.fontSizes})} - ${ze(2)})`,lineHeight:1.2,display:"block"}}));const aU=sU;var iU=Object.defineProperty,_p=Object.getOwnPropertySymbols,wj=Object.prototype.hasOwnProperty,Sj=Object.prototype.propertyIsEnumerable,CS=(e,t,n)=>t in e?iU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lU=(e,t)=>{for(var n in t||(t={}))wj.call(t,n)&&CS(e,n,t[n]);if(_p)for(var n of _p(t))Sj.call(t,n)&&CS(e,n,t[n]);return e},cU=(e,t)=>{var n={};for(var r in e)wj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_p)for(var r of _p(e))t.indexOf(r)<0&&Sj.call(e,r)&&(n[r]=e[r]);return n};const uU={size:"sm"},z1=f.forwardRef((e,t)=>{const n=mr("InputError",uU,e),{children:r,className:o,classNames:s,styles:i,unstyled:u,size:d,__staticSelector:p,variant:h}=n,g=cU(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=aU(null,{name:["InputWrapper",p],classNames:s,styles:i,unstyled:u,variant:h,size:d});return z.createElement(Fl,lU({className:b(v.error,o),ref:t},g),r)});z1.displayName="@mantine/core/InputError";var dU=eo((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Tt({size:n,sizes:e.fontSizes})} - ${ze(2)})`,lineHeight:1.2,display:"block"}}));const fU=dU;var pU=Object.defineProperty,kp=Object.getOwnPropertySymbols,Cj=Object.prototype.hasOwnProperty,_j=Object.prototype.propertyIsEnumerable,_S=(e,t,n)=>t in e?pU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hU=(e,t)=>{for(var n in t||(t={}))Cj.call(t,n)&&_S(e,n,t[n]);if(kp)for(var n of kp(t))_j.call(t,n)&&_S(e,n,t[n]);return e},mU=(e,t)=>{var n={};for(var r in e)Cj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&kp)for(var r of kp(e))t.indexOf(r)<0&&_j.call(e,r)&&(n[r]=e[r]);return n};const gU={size:"sm"},L1=f.forwardRef((e,t)=>{const n=mr("InputDescription",gU,e),{children:r,className:o,classNames:s,styles:i,unstyled:u,size:d,__staticSelector:p,variant:h}=n,g=mU(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=fU(null,{name:["InputWrapper",p],classNames:s,styles:i,unstyled:u,variant:h,size:d});return z.createElement(Fl,hU({color:"dimmed",className:b(v.description,o),ref:t,unstyled:u},g),r)});L1.displayName="@mantine/core/InputDescription";const kj=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),vU=kj.Provider,yU=()=>f.useContext(kj);function bU(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var xU=Object.defineProperty,wU=Object.defineProperties,SU=Object.getOwnPropertyDescriptors,kS=Object.getOwnPropertySymbols,CU=Object.prototype.hasOwnProperty,_U=Object.prototype.propertyIsEnumerable,jS=(e,t,n)=>t in e?xU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kU=(e,t)=>{for(var n in t||(t={}))CU.call(t,n)&&jS(e,n,t[n]);if(kS)for(var n of kS(t))_U.call(t,n)&&jS(e,n,t[n]);return e},jU=(e,t)=>wU(e,SU(t)),PU=eo(e=>({root:jU(kU({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const IU=PU;var EU=Object.defineProperty,OU=Object.defineProperties,MU=Object.getOwnPropertyDescriptors,jp=Object.getOwnPropertySymbols,jj=Object.prototype.hasOwnProperty,Pj=Object.prototype.propertyIsEnumerable,PS=(e,t,n)=>t in e?EU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$a=(e,t)=>{for(var n in t||(t={}))jj.call(t,n)&&PS(e,n,t[n]);if(jp)for(var n of jp(t))Pj.call(t,n)&&PS(e,n,t[n]);return e},IS=(e,t)=>OU(e,MU(t)),RU=(e,t)=>{var n={};for(var r in e)jj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&jp)for(var r of jp(e))t.indexOf(r)<0&&Pj.call(e,r)&&(n[r]=e[r]);return n};const DU={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},Ij=f.forwardRef((e,t)=>{const n=mr("InputWrapper",DU,e),{className:r,label:o,children:s,required:i,id:u,error:d,description:p,labelElement:h,labelProps:g,descriptionProps:v,errorProps:b,classNames:S,styles:x,size:C,inputContainer:_,__staticSelector:k,unstyled:P,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=RU(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:D,cx:T}=IU(null,{classNames:S,styles:x,name:["InputWrapper",k],unstyled:P,variant:O,size:C}),B={classNames:S,styles:x,unstyled:P,size:C,variant:O,__staticSelector:k},W=typeof E=="boolean"?E:i,J=u?`${u}-error`:b==null?void 0:b.id,F=u?`${u}-description`:v==null?void 0:v.id,G=`${!!d&&typeof d!="boolean"?J:""} ${p?F:""}`,K=G.trim().length>0?G.trim():void 0,M=o&&z.createElement($1,$a($a({key:"label",labelElement:h,id:u?`${u}-label`:void 0,htmlFor:u,required:W},B),g),o),U=p&&z.createElement(L1,IS($a($a({key:"description"},v),B),{size:(v==null?void 0:v.size)||B.size,id:(v==null?void 0:v.id)||F}),p),V=z.createElement(f.Fragment,{key:"input"},_(s)),ee=typeof d!="boolean"&&d&&z.createElement(z1,IS($a($a({},b),B),{size:(b==null?void 0:b.size)||B.size,key:"error",id:(b==null?void 0:b.id)||J}),d),ie=I.map(xe=>{switch(xe){case"label":return M;case"input":return V;case"description":return U;case"error":return ee;default:return null}});return z.createElement(vU,{value:$a({describedBy:K},bU(I,{hasDescription:!!U,hasError:!!ee}))},z.createElement(bo,$a({className:T(D.root,r),ref:t},R),ie))});Ij.displayName="@mantine/core/InputWrapper";var AU=Object.defineProperty,Pp=Object.getOwnPropertySymbols,Ej=Object.prototype.hasOwnProperty,Oj=Object.prototype.propertyIsEnumerable,ES=(e,t,n)=>t in e?AU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TU=(e,t)=>{for(var n in t||(t={}))Ej.call(t,n)&&ES(e,n,t[n]);if(Pp)for(var n of Pp(t))Oj.call(t,n)&&ES(e,n,t[n]);return e},NU=(e,t)=>{var n={};for(var r in e)Ej.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Pp)for(var r of Pp(e))t.indexOf(r)<0&&Oj.call(e,r)&&(n[r]=e[r]);return n};const $U={},Mj=f.forwardRef((e,t)=>{const n=mr("InputPlaceholder",$U,e),{sx:r}=n,o=NU(n,["sx"]);return z.createElement(bo,TU({component:"span",sx:[s=>s.fn.placeholderStyles(),...M_(r)],ref:t},o))});Mj.displayName="@mantine/core/InputPlaceholder";var zU=Object.defineProperty,LU=Object.defineProperties,BU=Object.getOwnPropertyDescriptors,OS=Object.getOwnPropertySymbols,FU=Object.prototype.hasOwnProperty,HU=Object.prototype.propertyIsEnumerable,MS=(e,t,n)=>t in e?zU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cf=(e,t)=>{for(var n in t||(t={}))FU.call(t,n)&&MS(e,n,t[n]);if(OS)for(var n of OS(t))HU.call(t,n)&&MS(e,n,t[n]);return e},Og=(e,t)=>LU(e,BU(t));const Bo={xs:ze(30),sm:ze(36),md:ze(42),lg:ze(50),xl:ze(60)},WU=["default","filled","unstyled"];function VU({theme:e,variant:t}){return WU.includes(t)?t==="default"?{border:`${ze(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${ze(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:ze(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var UU=eo((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:i,offsetBottom:u,offsetTop:d,pointer:p},{variant:h,size:g})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Tt({size:g,sizes:Bo}),paddingLeft:`calc(${Tt({size:g,sizes:Bo})} / 3)`,paddingRight:s?o||Tt({size:g,sizes:Bo}):`calc(${Tt({size:g,sizes:Bo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Tt({size:g,sizes:Bo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:u?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:Og(cf(cf(Og(cf({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Tt({size:g,sizes:Bo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Tt({size:g,sizes:Bo})} - ${ze(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Tt({size:g,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),VU({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof i=="number"?ze(i):Tt({size:g,sizes:Bo})},"&::placeholder":Og(cf({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:i?ze(i):Tt({size:g,sizes:Bo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Tt({size:g,sizes:Bo})}}});const GU=UU;var qU=Object.defineProperty,KU=Object.defineProperties,QU=Object.getOwnPropertyDescriptors,Ip=Object.getOwnPropertySymbols,Rj=Object.prototype.hasOwnProperty,Dj=Object.prototype.propertyIsEnumerable,RS=(e,t,n)=>t in e?qU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uf=(e,t)=>{for(var n in t||(t={}))Rj.call(t,n)&&RS(e,n,t[n]);if(Ip)for(var n of Ip(t))Dj.call(t,n)&&RS(e,n,t[n]);return e},DS=(e,t)=>KU(e,QU(t)),YU=(e,t)=>{var n={};for(var r in e)Rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ip)for(var r of Ip(e))t.indexOf(r)<0&&Dj.call(e,r)&&(n[r]=e[r]);return n};const XU={size:"sm",variant:"default"},Ui=f.forwardRef((e,t)=>{const n=mr("Input",XU,e),{className:r,error:o,required:s,disabled:i,variant:u,icon:d,style:p,rightSectionWidth:h,iconWidth:g,rightSection:v,rightSectionProps:b,radius:S,size:x,wrapperProps:C,classNames:_,styles:k,__staticSelector:P,multiline:I,sx:E,unstyled:O,pointer:R}=n,D=YU(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:T,offsetTop:B,describedBy:W}=yU(),{classes:J,cx:F}=GU({radius:S,multiline:I,invalid:!!o,rightSectionWidth:h?ze(h):void 0,iconWidth:g,withRightSection:!!v,offsetBottom:T,offsetTop:B,pointer:R},{classNames:_,styles:k,name:["Input",P],unstyled:O,variant:u,size:x}),{systemStyles:N,rest:G}=xh(D);return z.createElement(bo,uf(uf({className:F(J.wrapper,r),sx:E,style:p},N),C),d&&z.createElement("div",{className:J.icon},d),z.createElement(bo,DS(uf({component:"input"},G),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":W,disabled:i,"data-disabled":i||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:J.input})),v&&z.createElement("div",DS(uf({},b),{className:J.rightSection}),v))});Ui.displayName="@mantine/core/Input";Ui.Wrapper=Ij;Ui.Label=$1;Ui.Description=L1;Ui.Error=z1;Ui.Placeholder=Mj;const Ul=Ui;var JU=Object.defineProperty,Ep=Object.getOwnPropertySymbols,Aj=Object.prototype.hasOwnProperty,Tj=Object.prototype.propertyIsEnumerable,AS=(e,t,n)=>t in e?JU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TS=(e,t)=>{for(var n in t||(t={}))Aj.call(t,n)&&AS(e,n,t[n]);if(Ep)for(var n of Ep(t))Tj.call(t,n)&&AS(e,n,t[n]);return e},ZU=(e,t)=>{var n={};for(var r in e)Aj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ep)for(var r of Ep(e))t.indexOf(r)<0&&Tj.call(e,r)&&(n[r]=e[r]);return n};const eG={multiple:!1},Nj=f.forwardRef((e,t)=>{const n=mr("FileButton",eG,e),{onChange:r,children:o,multiple:s,accept:i,name:u,form:d,resetRef:p,disabled:h,capture:g,inputProps:v}=n,b=ZU(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),S=f.useRef(),x=()=>{!h&&S.current.click()},C=k=>{r(s?Array.from(k.currentTarget.files):k.currentTarget.files[0]||null)};return F_(p,()=>{S.current.value=""}),z.createElement(z.Fragment,null,o(TS({onClick:x},b)),z.createElement("input",TS({style:{display:"none"},type:"file",accept:i,multiple:s,onChange:C,ref:Hu(t,S),name:u,form:d,capture:g},v)))});Nj.displayName="@mantine/core/FileButton";const $j={xs:ze(16),sm:ze(22),md:ze(26),lg:ze(30),xl:ze(36)},tG={xs:ze(10),sm:ze(12),md:ze(14),lg:ze(16),xl:ze(18)};var nG=eo((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Tt({size:o,sizes:$j}),paddingLeft:`calc(${Tt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Tt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Tt({size:o,sizes:tG}),borderRadius:Tt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${ze(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Tt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const rG=nG;var oG=Object.defineProperty,Op=Object.getOwnPropertySymbols,zj=Object.prototype.hasOwnProperty,Lj=Object.prototype.propertyIsEnumerable,NS=(e,t,n)=>t in e?oG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sG=(e,t)=>{for(var n in t||(t={}))zj.call(t,n)&&NS(e,n,t[n]);if(Op)for(var n of Op(t))Lj.call(t,n)&&NS(e,n,t[n]);return e},aG=(e,t)=>{var n={};for(var r in e)zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Op)for(var r of Op(e))t.indexOf(r)<0&&Lj.call(e,r)&&(n[r]=e[r]);return n};const iG={xs:16,sm:22,md:24,lg:26,xl:30};function Bj(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:i,disabled:u,readOnly:d,size:p,radius:h="sm",variant:g,unstyled:v}=t,b=aG(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:S,cx:x}=rG({disabled:u,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:g});return z.createElement("div",sG({className:x(S.defaultValue,s)},b),z.createElement("span",{className:S.defaultValueLabel},n),!u&&!d&&z.createElement(xk,{"aria-hidden":!0,onMouseDown:i,size:iG[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:S.defaultValueRemove,tabIndex:-1,unstyled:v}))}Bj.displayName="@mantine/core/MultiSelect/DefaultValue";function lG({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:i}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const u=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&u.push(e[d]),!(u.length>=n));d+=1);return u}var cG=Object.defineProperty,Mp=Object.getOwnPropertySymbols,Fj=Object.prototype.hasOwnProperty,Hj=Object.prototype.propertyIsEnumerable,$S=(e,t,n)=>t in e?cG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zS=(e,t)=>{for(var n in t||(t={}))Fj.call(t,n)&&$S(e,n,t[n]);if(Mp)for(var n of Mp(t))Hj.call(t,n)&&$S(e,n,t[n]);return e},uG=(e,t)=>{var n={};for(var r in e)Fj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mp)for(var r of Mp(e))t.indexOf(r)<0&&Hj.call(e,r)&&(n[r]=e[r]);return n};const dG={xs:ze(14),sm:ze(18),md:ze(20),lg:ze(24),xl:ze(28)};function fG(e){var t=e,{size:n,error:r,style:o}=t,s=uG(t,["size","error","style"]);const i=_a(),u=Tt({size:n,sizes:dG});return z.createElement("svg",zS({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:zS({color:r?i.colors.red[6]:i.colors.gray[6],width:u,height:u},o),"data-chevron":!0},s),z.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var pG=Object.defineProperty,hG=Object.defineProperties,mG=Object.getOwnPropertyDescriptors,LS=Object.getOwnPropertySymbols,gG=Object.prototype.hasOwnProperty,vG=Object.prototype.propertyIsEnumerable,BS=(e,t,n)=>t in e?pG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yG=(e,t)=>{for(var n in t||(t={}))gG.call(t,n)&&BS(e,n,t[n]);if(LS)for(var n of LS(t))vG.call(t,n)&&BS(e,n,t[n]);return e},bG=(e,t)=>hG(e,mG(t));function Wj({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?z.createElement(xk,bG(yG({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):z.createElement(fG,{error:o,size:r})}Wj.displayName="@mantine/core/SelectRightSection";var xG=Object.defineProperty,wG=Object.defineProperties,SG=Object.getOwnPropertyDescriptors,Rp=Object.getOwnPropertySymbols,Vj=Object.prototype.hasOwnProperty,Uj=Object.prototype.propertyIsEnumerable,FS=(e,t,n)=>t in e?xG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mg=(e,t)=>{for(var n in t||(t={}))Vj.call(t,n)&&FS(e,n,t[n]);if(Rp)for(var n of Rp(t))Uj.call(t,n)&&FS(e,n,t[n]);return e},HS=(e,t)=>wG(e,SG(t)),CG=(e,t)=>{var n={};for(var r in e)Vj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rp)for(var r of Rp(e))t.indexOf(r)<0&&Uj.call(e,r)&&(n[r]=e[r]);return n};function Gj(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,i=CG(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const u=typeof n=="function"?n(s):n;return{rightSection:!i.readOnly&&!(i.disabled&&i.shouldClear)&&z.createElement(Wj,Mg({},i)),styles:HS(Mg({},u),{rightSection:HS(Mg({},u==null?void 0:u.rightSection),{pointerEvents:i.shouldClear?void 0:"none"})})}}var _G=Object.defineProperty,kG=Object.defineProperties,jG=Object.getOwnPropertyDescriptors,WS=Object.getOwnPropertySymbols,PG=Object.prototype.hasOwnProperty,IG=Object.prototype.propertyIsEnumerable,VS=(e,t,n)=>t in e?_G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,EG=(e,t)=>{for(var n in t||(t={}))PG.call(t,n)&&VS(e,n,t[n]);if(WS)for(var n of WS(t))IG.call(t,n)&&VS(e,n,t[n]);return e},OG=(e,t)=>kG(e,jG(t)),MG=eo((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Tt({size:n,sizes:Bo})} - ${ze(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Tt({size:n,sizes:Bo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${ze(2)}) calc(${e.spacing.xs} / 2)`},searchInput:OG(EG({},e.fn.fontStyles()),{flex:1,minWidth:ze(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Tt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Tt({size:n,sizes:$j}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const RG=MG;var DG=Object.defineProperty,AG=Object.defineProperties,TG=Object.getOwnPropertyDescriptors,Dp=Object.getOwnPropertySymbols,qj=Object.prototype.hasOwnProperty,Kj=Object.prototype.propertyIsEnumerable,US=(e,t,n)=>t in e?DG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gl=(e,t)=>{for(var n in t||(t={}))qj.call(t,n)&&US(e,n,t[n]);if(Dp)for(var n of Dp(t))Kj.call(t,n)&&US(e,n,t[n]);return e},GS=(e,t)=>AG(e,TG(t)),NG=(e,t)=>{var n={};for(var r in e)qj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dp)for(var r of Dp(e))t.indexOf(r)<0&&Kj.call(e,r)&&(n[r]=e[r]);return n};function $G(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function zG(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function qS(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const LG={size:"sm",valueComponent:Bj,itemComponent:O1,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:$G,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:zG,switchDirectionOnFlip:!1,zIndex:j1("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},Qj=f.forwardRef((e,t)=>{const n=mr("MultiSelect",LG,e),{className:r,style:o,required:s,label:i,description:u,size:d,error:p,classNames:h,styles:g,wrapperProps:v,value:b,defaultValue:S,data:x,onChange:C,valueComponent:_,itemComponent:k,id:P,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:D,onBlur:T,searchable:B,placeholder:W,filter:J,limit:F,clearSearchOnChange:N,clearable:G,clearSearchOnBlur:K,variant:M,onSearchChange:U,searchValue:V,disabled:ee,initiallyOpened:ie,radius:xe,icon:me,rightSection:ae,rightSectionWidth:te,creatable:H,getCreateLabel:re,shouldCreate:pe,onCreate:ne,sx:ve,dropdownComponent:de,onDropdownClose:Ce,onDropdownOpen:Re,maxSelectedValues:ge,withinPortal:_e,portalProps:We,switchDirectionOnFlip:Le,zIndex:Ue,selectOnBlur:jt,name:vt,dropdownPosition:jn,errorProps:Pt,labelProps:bt,descriptionProps:be,form:Ae,positionDependencies:Et,onKeyDown:Ft,unstyled:Wt,inputContainer:_n,inputWrapperOrder:In,readOnly:ln,withAsterisk:Cr,clearButtonProps:vn,hoverOnSearchChange:sr,disableSelectedItemFiltering:Ie}=n,it=NG(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Xe,cx:ot,theme:Nt}=RG({invalid:!!p},{name:"MultiSelect",classNames:h,styles:g,unstyled:Wt,size:d,variant:M}),{systemStyles:ur,rest:yn}=xh(it),bn=f.useRef(),$r=f.useRef({}),dr=I1(P),[An,Tn]=f.useState(ie),[Nn,Rr]=f.useState(-1),[_o,zr]=f.useState("column"),[Lr,es]=hu({value:V,defaultValue:"",finalValue:void 0,onChange:U}),[Dr,ks]=f.useState(!1),{scrollIntoView:ts,targetRef:Xs,scrollableRef:js}=W_({duration:0,offset:5,cancelable:!1,isList:!0}),q=H&&typeof re=="function";let Y=null;const le=x.map(Oe=>typeof Oe=="string"?{label:Oe,value:Oe}:Oe),we=R_({data:le}),[ce,nt]=hu({value:qS(b,x),defaultValue:qS(S,x),finalValue:[],onChange:C}),Je=f.useRef(!!ge&&ge{if(!ln){const ut=ce.filter(_t=>_t!==Oe);nt(ut),ge&&ut.length{es(Oe.currentTarget.value),!ee&&!Je.current&&B&&Tn(!0)},dt=Oe=>{typeof D=="function"&&D(Oe),!ee&&!Je.current&&B&&Tn(!0)},De=lG({data:we,searchable:B,searchValue:Lr,limit:F,filter:J,value:ce,disableSelectedItemFiltering:Ie});q&&pe(Lr,we)&&(Y=re(Lr),De.push({label:Lr,value:Lr,creatable:!0}));const ye=Math.min(Nn,De.length-1),Fe=(Oe,ut,_t)=>{let At=Oe;for(;_t(At);)if(At=ut(At),!De[At].disabled)return At;return Oe};ps(()=>{Rr(sr&&Lr?0:-1)},[Lr,sr]),ps(()=>{!ee&&ce.length>x.length&&Tn(!1),ge&&ce.length=ge&&(Je.current=!0,Tn(!1))},[ce]);const ht=Oe=>{if(!ln)if(N&&es(""),ce.includes(Oe.value))Dt(Oe.value);else{if(Oe.creatable&&typeof ne=="function"){const ut=ne(Oe.value);typeof ut<"u"&&ut!==null&&nt(typeof ut=="string"?[...ce,ut]:[...ce,ut.value])}else nt([...ce,Oe.value]);ce.length===ge-1&&(Je.current=!0,Tn(!1)),De.length===1&&Tn(!1)}},xt=Oe=>{typeof T=="function"&&T(Oe),jt&&De[ye]&&An&&ht(De[ye]),K&&es(""),Tn(!1)},Ot=Oe=>{if(Dr||(Ft==null||Ft(Oe),ln)||Oe.key!=="Backspace"&&ge&&Je.current)return;const ut=_o==="column",_t=()=>{Rr(xn=>{var zt;const tn=Fe(xn,Jt=>Jt+1,Jt=>Jt{Rr(xn=>{var zt;const tn=Fe(xn,Jt=>Jt-1,Jt=>Jt>0);return An&&(Xs.current=$r.current[(zt=De[tn])==null?void 0:zt.value],ts({alignment:ut?"start":"end"})),tn})};switch(Oe.key){case"ArrowUp":{Oe.preventDefault(),Tn(!0),ut?At():_t();break}case"ArrowDown":{Oe.preventDefault(),Tn(!0),ut?_t():At();break}case"Enter":{Oe.preventDefault(),De[ye]&&An?ht(De[ye]):Tn(!0);break}case" ":{B||(Oe.preventDefault(),De[ye]&&An?ht(De[ye]):Tn(!0));break}case"Backspace":{ce.length>0&&Lr.length===0&&(nt(ce.slice(0,-1)),Tn(!0),ge&&(Je.current=!1));break}case"Home":{if(!B){Oe.preventDefault(),An||Tn(!0);const xn=De.findIndex(zt=>!zt.disabled);Rr(xn),ts({alignment:ut?"end":"start"})}break}case"End":{if(!B){Oe.preventDefault(),An||Tn(!0);const xn=De.map(zt=>!!zt.disabled).lastIndexOf(!1);Rr(xn),ts({alignment:ut?"end":"start"})}break}case"Escape":Tn(!1)}},Lt=ce.map(Oe=>{let ut=we.find(_t=>_t.value===Oe&&!_t.disabled);return!ut&&q&&(ut={value:Oe,label:Oe}),ut}).filter(Oe=>!!Oe).map((Oe,ut)=>z.createElement(_,GS(gl({},Oe),{variant:M,disabled:ee,className:Xe.value,readOnly:ln,onRemove:_t=>{_t.preventDefault(),_t.stopPropagation(),Dt(Oe.value)},key:Oe.value,size:d,styles:g,classNames:h,radius:xe,index:ut}))),Kt=Oe=>ce.includes(Oe),qt=()=>{var Oe;es(""),nt([]),(Oe=bn.current)==null||Oe.focus(),ge&&(Je.current=!1)},$t=!ln&&(De.length>0?An:An&&!!R);return ps(()=>{const Oe=$t?Re:Ce;typeof Oe=="function"&&Oe()},[$t]),z.createElement(Ul.Wrapper,gl(gl({required:s,id:dr,label:i,error:p,description:u,size:d,className:r,style:o,classNames:h,styles:g,__staticSelector:"MultiSelect",sx:ve,errorProps:Pt,descriptionProps:be,labelProps:bt,inputContainer:_n,inputWrapperOrder:In,unstyled:Wt,withAsterisk:Cr,variant:M},ur),v),z.createElement(Xa,{opened:$t,transitionProps:I,shadow:"sm",withinPortal:_e,portalProps:We,__staticSelector:"MultiSelect",onDirectionChange:zr,switchDirectionOnFlip:Le,zIndex:Ue,dropdownPosition:jn,positionDependencies:[...Et,Lr],classNames:h,styles:g,unstyled:Wt,variant:M},z.createElement(Xa.Target,null,z.createElement("div",{className:Xe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":An&&$t?`${dr}-items`:null,"aria-controls":dr,"aria-expanded":An,onMouseLeave:()=>Rr(-1),tabIndex:-1},z.createElement("input",{type:"hidden",name:vt,value:ce.join(","),form:Ae,disabled:ee}),z.createElement(Ul,gl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:M,disabled:ee,error:p,required:s,radius:xe,icon:me,unstyled:Wt,onMouseDown:Oe=>{var ut;Oe.preventDefault(),!ee&&!Je.current&&Tn(!An),(ut=bn.current)==null||ut.focus()},classNames:GS(gl({},h),{input:ot({[Xe.input]:!B},h==null?void 0:h.input)})},Gj({theme:Nt,rightSection:ae,rightSectionWidth:te,styles:g,size:d,shouldClear:G&&ce.length>0,onClear:qt,error:p,disabled:ee,clearButtonProps:vn,readOnly:ln})),z.createElement("div",{className:Xe.values,"data-clearable":G||void 0},Lt,z.createElement("input",gl({ref:Hu(t,bn),type:"search",id:dr,className:ot(Xe.searchInput,{[Xe.searchInputPointer]:!B,[Xe.searchInputInputHidden]:!An&&ce.length>0||!B&&ce.length>0,[Xe.searchInputEmpty]:ce.length===0}),onKeyDown:Ot,value:Lr,onChange:st,onFocus:dt,onBlur:xt,readOnly:!B||Je.current||ln,placeholder:ce.length===0?W:void 0,disabled:ee,"data-mantine-stop-propagation":An,autoComplete:"off",onCompositionStart:()=>ks(!0),onCompositionEnd:()=>ks(!1)},yn)))))),z.createElement(Xa.Dropdown,{component:de||_h,maxHeight:E,direction:_o,id:dr,innerRef:js,__staticSelector:"MultiSelect",classNames:h,styles:g},z.createElement(E1,{data:De,hovered:ye,classNames:h,styles:g,uuid:dr,__staticSelector:"MultiSelect",onItemHover:Rr,onItemSelect:ht,itemsRefs:$r,itemComponent:k,size:d,nothingFound:R,isItemSelected:Kt,creatable:H&&!!Y,createLabel:Y,unstyled:Wt,variant:M}))))});Qj.displayName="@mantine/core/MultiSelect";var BG=Object.defineProperty,FG=Object.defineProperties,HG=Object.getOwnPropertyDescriptors,Ap=Object.getOwnPropertySymbols,Yj=Object.prototype.hasOwnProperty,Xj=Object.prototype.propertyIsEnumerable,KS=(e,t,n)=>t in e?BG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rg=(e,t)=>{for(var n in t||(t={}))Yj.call(t,n)&&KS(e,n,t[n]);if(Ap)for(var n of Ap(t))Xj.call(t,n)&&KS(e,n,t[n]);return e},WG=(e,t)=>FG(e,HG(t)),VG=(e,t)=>{var n={};for(var r in e)Yj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ap)for(var r of Ap(e))t.indexOf(r)<0&&Xj.call(e,r)&&(n[r]=e[r]);return n};const UG={type:"text",size:"sm",__staticSelector:"TextInput"},Jj=f.forwardRef((e,t)=>{const n=yj("TextInput",UG,e),{inputProps:r,wrapperProps:o}=n,s=VG(n,["inputProps","wrapperProps"]);return z.createElement(Ul.Wrapper,Rg({},o),z.createElement(Ul,WG(Rg(Rg({},r),s),{ref:t})))});Jj.displayName="@mantine/core/TextInput";function GG({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:i}){if(!t)return e;const u=s!=null&&e.find(p=>p.value===s)||null;if(u&&!i&&(u==null?void 0:u.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(u),h=p+n,g=h-e.length;return g>0?e.slice(p-g):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var qG=eo(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const KG=qG;var QG=Object.defineProperty,YG=Object.defineProperties,XG=Object.getOwnPropertyDescriptors,Tp=Object.getOwnPropertySymbols,Zj=Object.prototype.hasOwnProperty,eP=Object.prototype.propertyIsEnumerable,QS=(e,t,n)=>t in e?QG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nc=(e,t)=>{for(var n in t||(t={}))Zj.call(t,n)&&QS(e,n,t[n]);if(Tp)for(var n of Tp(t))eP.call(t,n)&&QS(e,n,t[n]);return e},Dg=(e,t)=>YG(e,XG(t)),JG=(e,t)=>{var n={};for(var r in e)Zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Tp)for(var r of Tp(e))t.indexOf(r)<0&&eP.call(e,r)&&(n[r]=e[r]);return n};function ZG(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function eq(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const tq={required:!1,size:"sm",shadow:"sm",itemComponent:O1,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:ZG,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:eq,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:j1("popover"),positionDependencies:[],dropdownPosition:"flip"},B1=f.forwardRef((e,t)=>{const n=yj("Select",tq,e),{inputProps:r,wrapperProps:o,shadow:s,data:i,value:u,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:g,onBlur:v,onFocus:b,transitionProps:S,initiallyOpened:x,unstyled:C,classNames:_,styles:k,filter:P,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:D,disabled:T,onSearchChange:B,searchValue:W,rightSection:J,rightSectionWidth:F,creatable:N,getCreateLabel:G,shouldCreate:K,selectOnBlur:M,onCreate:U,dropdownComponent:V,onDropdownClose:ee,onDropdownOpen:ie,withinPortal:xe,portalProps:me,switchDirectionOnFlip:ae,zIndex:te,name:H,dropdownPosition:re,allowDeselect:pe,placeholder:ne,filterDataOnExactSearchMatch:ve,form:de,positionDependencies:Ce,readOnly:Re,clearButtonProps:ge,hoverOnSearchChange:_e}=n,We=JG(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Le,cx:Ue,theme:jt}=KG(),[vt,jn]=f.useState(x),[Pt,bt]=f.useState(-1),be=f.useRef(),Ae=f.useRef({}),[Et,Ft]=f.useState("column"),Wt=Et==="column",{scrollIntoView:_n,targetRef:In,scrollableRef:ln}=W_({duration:0,offset:5,cancelable:!1,isList:!0}),Cr=pe===void 0?O:pe,vn=Y=>{if(vt!==Y){jn(Y);const le=Y?ie:ee;typeof le=="function"&&le()}},sr=N&&typeof G=="function";let Ie=null;const it=i.map(Y=>typeof Y=="string"?{label:Y,value:Y}:Y),Xe=R_({data:it}),[ot,Nt,ur]=hu({value:u,defaultValue:d,finalValue:null,onChange:p}),yn=Xe.find(Y=>Y.value===ot),[bn,$r]=hu({value:W,defaultValue:(yn==null?void 0:yn.label)||"",finalValue:void 0,onChange:B}),dr=Y=>{$r(Y),E&&typeof B=="function"&&B(Y)},An=()=>{var Y;Re||(Nt(null),ur||dr(""),(Y=be.current)==null||Y.focus())};f.useEffect(()=>{const Y=Xe.find(le=>le.value===ot);Y?dr(Y.label):(!sr||!ot)&&dr("")},[ot]),f.useEffect(()=>{yn&&(!E||!vt)&&dr(yn.label)},[yn==null?void 0:yn.label]);const Tn=Y=>{if(!Re)if(Cr&&(yn==null?void 0:yn.value)===Y.value)Nt(null),vn(!1);else{if(Y.creatable&&typeof U=="function"){const le=U(Y.value);typeof le<"u"&&le!==null&&Nt(typeof le=="string"?le:le.value)}else Nt(Y.value);ur||dr(Y.label),bt(-1),vn(!1),be.current.focus()}},Nn=GG({data:Xe,searchable:E,limit:D,searchValue:bn,filter:P,filterDataOnExactSearchMatch:ve,value:ot});sr&&K(bn,Nn)&&(Ie=G(bn),Nn.push({label:bn,value:bn,creatable:!0}));const Rr=(Y,le,we)=>{let ce=Y;for(;we(ce);)if(ce=le(ce),!Nn[ce].disabled)return ce;return Y};ps(()=>{bt(_e&&bn?0:-1)},[bn,_e]);const _o=ot?Nn.findIndex(Y=>Y.value===ot):0,zr=!Re&&(Nn.length>0?vt:vt&&!!R),Lr=()=>{bt(Y=>{var le;const we=Rr(Y,ce=>ce-1,ce=>ce>0);return In.current=Ae.current[(le=Nn[we])==null?void 0:le.value],zr&&_n({alignment:Wt?"start":"end"}),we})},es=()=>{bt(Y=>{var le;const we=Rr(Y,ce=>ce+1,ce=>cewindow.setTimeout(()=>{var Y;In.current=Ae.current[(Y=Nn[_o])==null?void 0:Y.value],_n({alignment:Wt?"end":"start"})},50);ps(()=>{zr&&Dr()},[zr]);const ks=Y=>{switch(typeof g=="function"&&g(Y),Y.key){case"ArrowUp":{Y.preventDefault(),vt?Wt?Lr():es():(bt(_o),vn(!0),Dr());break}case"ArrowDown":{Y.preventDefault(),vt?Wt?es():Lr():(bt(_o),vn(!0),Dr());break}case"Home":{if(!E){Y.preventDefault(),vt||vn(!0);const le=Nn.findIndex(we=>!we.disabled);bt(le),zr&&_n({alignment:Wt?"end":"start"})}break}case"End":{if(!E){Y.preventDefault(),vt||vn(!0);const le=Nn.map(we=>!!we.disabled).lastIndexOf(!1);bt(le),zr&&_n({alignment:Wt?"end":"start"})}break}case"Escape":{Y.preventDefault(),vn(!1),bt(-1);break}case" ":{E||(Y.preventDefault(),Nn[Pt]&&vt?Tn(Nn[Pt]):(vn(!0),bt(_o),Dr()));break}case"Enter":E||Y.preventDefault(),Nn[Pt]&&vt&&(Y.preventDefault(),Tn(Nn[Pt]))}},ts=Y=>{typeof v=="function"&&v(Y);const le=Xe.find(we=>we.value===ot);M&&Nn[Pt]&&vt&&Tn(Nn[Pt]),dr((le==null?void 0:le.label)||""),vn(!1)},Xs=Y=>{typeof b=="function"&&b(Y),E&&vn(!0)},js=Y=>{Re||(dr(Y.currentTarget.value),O&&Y.currentTarget.value===""&&Nt(null),bt(-1),vn(!0))},q=()=>{Re||(vn(!vt),ot&&!vt&&bt(_o))};return z.createElement(Ul.Wrapper,Dg(Nc({},o),{__staticSelector:"Select"}),z.createElement(Xa,{opened:zr,transitionProps:S,shadow:s,withinPortal:xe,portalProps:me,__staticSelector:"Select",onDirectionChange:Ft,switchDirectionOnFlip:ae,zIndex:te,dropdownPosition:re,positionDependencies:[...Ce,bn],classNames:_,styles:k,unstyled:C,variant:r.variant},z.createElement(Xa.Target,null,z.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":zr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":zr,onMouseLeave:()=>bt(-1),tabIndex:-1},z.createElement("input",{type:"hidden",name:H,value:ot||"",form:de,disabled:T}),z.createElement(Ul,Nc(Dg(Nc(Nc({autoComplete:"off",type:"search"},r),We),{ref:Hu(t,be),onKeyDown:ks,__staticSelector:"Select",value:bn,placeholder:ne,onChange:js,"aria-autocomplete":"list","aria-controls":zr?`${r.id}-items`:null,"aria-activedescendant":Pt>=0?`${r.id}-${Pt}`:null,onMouseDown:q,onBlur:ts,onFocus:Xs,readOnly:!E||Re,disabled:T,"data-mantine-stop-propagation":zr,name:null,classNames:Dg(Nc({},_),{input:Ue({[Le.input]:!E},_==null?void 0:_.input)})}),Gj({theme:jt,rightSection:J,rightSectionWidth:F,styles:k,size:r.size,shouldClear:O&&!!yn,onClear:An,error:o.error,clearButtonProps:ge,disabled:T,readOnly:Re}))))),z.createElement(Xa.Dropdown,{component:V||_h,maxHeight:I,direction:Et,id:r.id,innerRef:ln,__staticSelector:"Select",classNames:_,styles:k},z.createElement(E1,{data:Nn,hovered:Pt,classNames:_,styles:k,isItemSelected:Y=>Y===ot,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Tn,itemsRefs:Ae,itemComponent:h,size:r.size,nothingFound:R,creatable:sr&&!!Ie,createLabel:Ie,"aria-label":o.label,unstyled:C,variant:r.variant}))))});B1.displayName="@mantine/core/Select";const F1=()=>{const[e,t,n,r,o,s,i,u,d,p,h,g,v,b,S,x,C,_,k,P,I,E,O,R,D,T,B,W,J,F,N,G,K,M,U,V,ee,ie]=ec("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:i,base400:u,base450:d,base500:p,base550:h,base600:g,base650:v,base700:b,base750:S,base800:x,base850:C,base900:_,base950:k,accent50:P,accent100:I,accent150:E,accent200:O,accent250:R,accent300:D,accent350:T,accent400:B,accent450:W,accent500:J,accent550:F,accent600:N,accent650:G,accent700:K,accent750:M,accent800:U,accent850:V,accent900:ee,accent950:ie}},tP=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:i,base700:u,base800:d,base900:p,accent200:h,accent300:g,accent400:v,accent500:b,accent600:S}=F1(),{colorMode:x}=xs(),[C]=ec("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Me(u,r)(x)},separatorLabel:{color:Me(s,s)(x),"::after":{borderTopColor:Me(r,u)(x)}},input:{backgroundColor:Me(e,p)(x),borderWidth:"2px",borderColor:Me(n,d)(x),color:Me(p,t)(x),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Me(r,i)(x)},"&:focus":{borderColor:Me(g,S)(x)},"&:is(:focus, :hover)":{borderColor:Me(o,s)(x)},"&:focus-within":{borderColor:Me(h,S)(x)},"&[data-disabled]":{backgroundColor:Me(r,u)(x),color:Me(i,o)(x),cursor:"not-allowed"}},value:{backgroundColor:Me(t,p)(x),color:Me(p,t)(x),button:{color:Me(p,t)(x)},"&:hover":{backgroundColor:Me(r,u)(x),cursor:"pointer"}},dropdown:{backgroundColor:Me(n,d)(x),borderColor:Me(n,d)(x),boxShadow:C},item:{backgroundColor:Me(n,d)(x),color:Me(d,n)(x),padding:6,"&[data-hovered]":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)},"&[data-active]":{backgroundColor:Me(r,u)(x),"&:hover":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)}},"&[data-selected]":{backgroundColor:Me(v,S)(x),color:Me(e,t)(x),fontWeight:600,"&:hover":{backgroundColor:Me(b,b)(x),color:Me("white",e)(x)}},"&[data-disabled]":{color:Me(s,i)(x),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Me(p,t)(x)}}}),[h,g,v,b,S,t,n,r,o,e,s,i,u,d,p,C,x])},nq=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:i,...u}=e,d=Z(),[p,h]=f.useState(""),g=f.useCallback(x=>{x.shiftKey&&d(Go(!0))},[d]),v=f.useCallback(x=>{x.shiftKey||d(Go(!1))},[d]),b=f.useCallback(x=>{h(""),o&&o(x)},[o]),S=tP();return a.jsx(Cn,{label:n,placement:"top",hasArrow:!0,children:a.jsx(B1,{ref:r,label:s?a.jsx(ws,{isDisabled:i,children:a.jsx(gs,{children:s})}):void 0,disabled:i,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:g,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:S,...u})})},br=f.memo(nq),nP=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>a.jsx(Cn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:a.jsx($e,{ref:s,...o,children:a.jsxs($e,{children:[a.jsx(Fl,{children:e}),n&&a.jsx(Fl,{size:"xs",color:"base.600",children:n})]})})}));nP.displayName="IAIMantineSelectItemWithTooltip";const ai=f.memo(nP),rq=he([mt],({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ke),oq=()=>{const e=Z(),{autoAddBoardId:t}=$(rq),n=f.useRef(null),{boards:r,hasBoards:o}=Xp(void 0,{selectFromResult:({data:i})=>{const u=[{label:"None",value:"none"}];return i==null||i.forEach(({board_id:d,board_name:p})=>{u.push({label:p,value:d})}),{boards:u,hasBoards:u.length>1}}}),s=f.useCallback(i=>{i&&e(Yp(i==="none"?void 0:i))},[e]);return a.jsx(br,{label:"Auto-Add Board",inputRef:n,autoFocus:!0,placeholder:"Select a Board",value:t,data:r,nothingFound:"No matching Boards",itemComponent:ai,disabled:!o,filter:(i,u)=>{var d;return((d=u.label)==null?void 0:d.toLowerCase().includes(i.toLowerCase().trim()))||u.value.toLowerCase().includes(i.toLowerCase().trim())},onChange:s})},sq=he([mt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n}},Ke),aq=()=>{const e=Z(),{t}=ue(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r}=$(sq),o=s=>{e(Pf(s))};return a.jsx(Wi,{triggerComponent:a.jsx(je,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:4,children:[a.jsx(Ct,{value:n,onChange:o,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:()=>e(Pf(64))}),a.jsx(Ln,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:s=>e(m8(s.target.checked))}),a.jsx(oq,{})]})})},iq=e=>e.image?a.jsx(ah,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):a.jsx(L,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:a.jsx(oc,{size:"xl"})}),Ja=e=>{const{icon:t=Ti,boxSize:n=16}=e;return a.jsxs(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[a.jsx(io,{as:t,boxSize:n,opacity:.7}),e.label&&a.jsx(qe,{textAlign:"center",children:e.label})]})},Ph=0,ii=1,fc=2,rP=4;function lq(e,t){return n=>e(t(n))}function cq(e,t){return t(e)}function oP(e,t){return n=>e(t,n)}function YS(e,t){return()=>e(t)}function H1(e,t){return t(e),e}function Gi(...e){return e}function uq(e){e()}function XS(e){return()=>e}function dq(...e){return()=>{e.map(uq)}}function Ih(){}function co(e,t){return e(ii,t)}function Ir(e,t){e(Ph,t)}function W1(e){e(fc)}function Eh(e){return e(rP)}function zn(e,t){return co(e,oP(t,Ph))}function JS(e,t){const n=e(ii,r=>{n(),t(r)});return n}function hr(){const e=[];return(t,n)=>{switch(t){case fc:e.splice(0,e.length);return;case ii:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Ph:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Bt(e){let t=e;const n=hr();return(r,o)=>{switch(r){case ii:o(t);break;case Ph:t=o;break;case rP:return t}return n(r,o)}}function fq(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case ii:return s?n===s?void 0:(r(),n=s,t=co(e,s),t):(r(),Ih);case fc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Zc(e){return H1(hr(),t=>zn(e,t))}function $l(e,t){return H1(Bt(t),n=>zn(e,n))}function pq(...e){return t=>e.reduceRight(cq,t)}function Ht(e,...t){const n=pq(...t);return(r,o)=>{switch(r){case ii:return co(e,n(o));case fc:W1(e);return}}}function sP(e,t){return e===t}function vo(e=sP){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Wr(e){return t=>n=>{e(n)&&t(n)}}function Qn(e){return t=>lq(t,e)}function Ha(e){return t=>()=>t(e)}function df(e,t){return n=>r=>n(t=e(t,r))}function F0(e){return t=>n=>{e>0?e--:t(n)}}function Vc(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function ZS(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function $s(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const u=Math.pow(2,i);co(s,d=>{const p=n;n=n|u,t[i]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>i=>{const u=()=>s([i].concat(t));n===o?u():r=u}}function eC(...e){return function(t,n){switch(t){case ii:return dq(...e.map(r=>co(r,n)));case fc:return;default:throw new Error(`unrecognized action ${t}`)}}}function fn(e,t=sP){return Ht(e,vo(t))}function ca(...e){const t=hr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const u=Math.pow(2,i);co(s,d=>{n[i]=d,r=r|u,r===o&&Ir(t,n)})}),function(s,i){switch(s){case ii:return r===o&&i(n),co(t,i);case fc:return W1(t);default:throw new Error(`unrecognized action ${s}`)}}}function Ys(e,t=[],{singleton:n}={singleton:!0}){return{id:hq(),constructor:e,dependencies:t,singleton:n}}const hq=()=>Symbol();function mq(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:i})=>{if(i&&t.has(r))return t.get(r);const u=o(s.map(d=>n(d)));return i&&t.set(r,u),u};return n(e)}function gq(e,t){const n={},r={};let o=0;const s=e.length;for(;o(C[_]=k=>{const P=x[t.methods[_]];Ir(P,k)},C),{})}function h(x){return i.reduce((C,_)=>(C[_]=fq(x[t.events[_]]),C),{})}return{Component:z.forwardRef((x,C)=>{const{children:_,...k}=x,[P]=z.useState(()=>H1(mq(e),E=>d(E,k))),[I]=z.useState(YS(h,P));return ff(()=>{for(const E of i)E in k&&co(I[E],k[E]);return()=>{Object.values(I).map(W1)}},[k,I,P]),ff(()=>{d(P,k)}),z.useImperativeHandle(C,XS(p(P))),z.createElement(u.Provider,{value:P},n?z.createElement(n,gq([...r,...o,...i],k),_):_)}),usePublisher:x=>z.useCallback(oP(Ir,z.useContext(u)[x]),[x]),useEmitterValue:x=>{const _=z.useContext(u)[x],[k,P]=z.useState(YS(Eh,_));return ff(()=>co(_,I=>{I!==k&&P(XS(I))}),[_,k]),k},useEmitter:(x,C)=>{const k=z.useContext(u)[x];ff(()=>co(k,C),[C,k])}}}const yq=typeof document<"u"?z.useLayoutEffect:z.useEffect,bq=yq;var V1=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(V1||{});const xq={0:"debug",1:"log",2:"warn",3:"error"},wq=()=>typeof globalThis>"u"?window:globalThis,aP=Ys(()=>{const e=Bt(3);return{log:Bt((n,r,o=1)=>{var s;const i=(s=wq().VIRTUOSO_LOG_LEVEL)!=null?s:Eh(e);o>=i&&console[xq[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function iP(e,t=!0){const n=z.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=z.useMemo(()=>new ResizeObserver(s=>{const i=s[0].target;i.offsetParent!==null&&e(i)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function Oh(e,t=!0){return iP(e,t).callbackRef}function Np(e,t){return Math.round(e.getBoundingClientRect()[t])}function lP(e,t){return Math.abs(e-t)<1.01}function cP(e,t,n,r=Ih,o){const s=z.useRef(null),i=z.useRef(null),u=z.useRef(null),d=z.useCallback(g=>{const v=g.target,b=v===window||v===document,S=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,x=b?document.documentElement.scrollHeight:v.scrollHeight,C=b?window.innerHeight:v.offsetHeight,_=()=>{e({scrollTop:Math.max(S,0),scrollHeight:x,viewportHeight:C})};g.suppressFlushSync?_():g8.flushSync(_),i.current!==null&&(S===i.current||S<=0||S===x-C)&&(i.current=null,t(!0),u.current&&(clearTimeout(u.current),u.current=null))},[e,t]);z.useEffect(()=>{const g=o||s.current;return r(o||s.current),d({target:g,suppressFlushSync:!0}),g.addEventListener("scroll",d,{passive:!0}),()=>{r(null),g.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(g){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=g.behavior==="smooth";let S,x,C;v===window?(x=Math.max(Np(document.documentElement,"height"),document.documentElement.scrollHeight),S=window.innerHeight,C=document.documentElement.scrollTop):(x=v.scrollHeight,S=Np(v,"height"),C=v.scrollTop);const _=x-S;if(g.top=Math.ceil(Math.max(Math.min(_,g.top),0)),lP(S,x)||g.top===C){e({scrollTop:C,scrollHeight:x,viewportHeight:S}),b&&t(!0);return}b?(i.current=g.top,u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null,i.current=null,t(!0)},1e3)):i.current=null,v.scrollTo(g)}function h(g){s.current.scrollBy(g)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const Mh=Ys(()=>{const e=hr(),t=hr(),n=Bt(0),r=hr(),o=Bt(0),s=hr(),i=hr(),u=Bt(0),d=Bt(0),p=Bt(0),h=Bt(0),g=hr(),v=hr(),b=Bt(!1);return zn(Ht(e,Qn(({scrollTop:S})=>S)),t),zn(Ht(e,Qn(({scrollHeight:S})=>S)),i),zn(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:u,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:i,smoothScrollTargetReached:r,scrollTo:g,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),Sq=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function Cq(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!Sq)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const $p="up",eu="down",_q="none",kq={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},jq=0,uP=Ys(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const i=Bt(!1),u=Bt(!0),d=hr(),p=hr(),h=Bt(4),g=Bt(jq),v=$l(Ht(eC(Ht(fn(t),F0(1),Ha(!0)),Ht(fn(t),F0(1),Ha(!1),ZS(100))),vo()),!1),b=$l(Ht(eC(Ht(s,Ha(!0)),Ht(s,Ha(!1),ZS(200))),vo()),!1);zn(Ht(ca(fn(t),fn(g)),Qn(([k,P])=>k<=P),vo()),u),zn(Ht(u,Vc(50)),p);const S=Zc(Ht(ca(e,fn(n),fn(r),fn(o),fn(h)),df((k,[{scrollTop:P,scrollHeight:I},E,O,R,D])=>{const T=P+E-I>-D,B={viewportHeight:E,scrollTop:P,scrollHeight:I};if(T){let J,F;return P>k.state.scrollTop?(J="SCROLLED_DOWN",F=k.state.scrollTop-P):(J="SIZE_DECREASED",F=k.state.scrollTop-P||k.scrollTopDelta),{atBottom:!0,state:B,atBottomBecause:J,scrollTopDelta:F}}let W;return B.scrollHeight>k.state.scrollHeight?W="SIZE_INCREASED":Ek&&k.atBottom===P.atBottom))),x=$l(Ht(e,df((k,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(lP(k.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return k.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:k.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Wr(k=>k.changed),Qn(k=>k.jump)),0);zn(Ht(S,Qn(k=>k.atBottom)),i),zn(Ht(i,Vc(50)),d);const C=Bt(eu);zn(Ht(e,Qn(({scrollTop:k})=>k),vo(),df((k,P)=>Eh(b)?{direction:k.direction,prevScrollTop:P}:{direction:Pk.direction)),C),zn(Ht(e,Vc(50),Ha(_q)),C);const _=Bt(0);return zn(Ht(v,Wr(k=>!k),Ha(0)),_),zn(Ht(t,Vc(100),$s(v),Wr(([k,P])=>!!P),df(([k,P],[I])=>[P,I],[0,0]),Qn(([k,P])=>P-k)),_),{isScrolling:v,isAtTop:u,isAtBottom:i,atBottomState:S,atTopStateChange:p,atBottomStateChange:d,scrollDirection:C,atBottomThreshold:h,atTopThreshold:g,scrollVelocity:_,lastJumpDueToItemResize:x}},Gi(Mh)),Pq=Ys(([{log:e}])=>{const t=Bt(!1),n=Zc(Ht(t,Wr(r=>r),vo()));return co(t,r=>{r&&Eh(e)("props updated",{},V1.DEBUG)}),{propsReady:t,didMount:n}},Gi(aP),{singleton:!0});function dP(e,t){e==0?t():requestAnimationFrame(()=>dP(e-1,t))}function Iq(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function H0(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function Eq(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const zp="top",Lp="bottom",tC="none";function nC(e,t,n){return typeof e=="number"?n===$p&&t===zp||n===eu&&t===Lp?e:0:n===$p?t===zp?e.main:e.reverse:t===Lp?e.main:e.reverse}function rC(e,t){return typeof e=="number"?e:e[t]||0}const Oq=Ys(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=hr(),i=Bt(0),u=Bt(0),d=Bt(0),p=$l(Ht(ca(fn(e),fn(t),fn(r),fn(s,H0),fn(d),fn(i),fn(o),fn(n),fn(u)),Qn(([h,g,v,[b,S],x,C,_,k,P])=>{const I=h-k,E=C+_,O=Math.max(v-I,0);let R=tC;const D=rC(P,zp),T=rC(P,Lp);return b-=k,b+=v+_,S+=v+_,S-=k,b>h+E-D&&(R=$p),Sh!=null),vo(H0)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:i,increaseViewportBy:u,visibleRange:p}},Gi(Mh),{singleton:!0}),Mq=Ys(([{scrollVelocity:e}])=>{const t=Bt(!1),n=hr(),r=Bt(!1);return zn(Ht(e,$s(r,t,n),Wr(([o,s])=>!!s),Qn(([o,s,i,u])=>{const{exit:d,enter:p}=s;if(i){if(d(o,u))return!1}else if(p(o,u))return!0;return i}),vo()),t),co(Ht(ca(t,e,n),$s(r)),([[o,s,i],u])=>o&&u&&u.change&&u.change(s,i)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},Gi(uP),{singleton:!0});function Rq(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const Dq=Ys(([{scrollTo:e,scrollContainerState:t}])=>{const n=hr(),r=hr(),o=hr(),s=Bt(!1),i=Bt(void 0);return zn(Ht(ca(n,r),Qn(([{viewportHeight:u,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:u}))),t),zn(Ht(e,$s(r),Qn(([u,{offsetTop:d}])=>({...u,top:u.top+d}))),o),{useWindowScroll:s,customScrollParent:i,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},Gi(Mh)),Ag="-webkit-sticky",oC="sticky",fP=Rq(()=>{if(typeof document>"u")return oC;const e=document.createElement("div");return e.style.position=Ag,e.style.position===Ag?Ag:oC});function Aq(e,t){const n=z.useRef(null),r=z.useCallback(u=>{if(u===null||!u.offsetParent)return;const d=u.getBoundingClientRect(),p=d.width;let h,g;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),g=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),g=d.top+window.pageYOffset;n.current={offsetTop:g,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=iP(r),i=z.useCallback(()=>{r(s.current)},[r,s]);return z.useEffect(()=>{if(t){t.addEventListener("scroll",i);const u=new ResizeObserver(i);return u.observe(t),()=>{t.removeEventListener("scroll",i),u.unobserve(t)}}else return window.addEventListener("scroll",i),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}},[i,t]),o}z.createContext(void 0);const pP=z.createContext(void 0);function Tq(e){return e}fP();const Nq={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},hP={width:"100%",height:"100%",position:"absolute",top:0};fP();function Pi(e,t){if(typeof e!="string")return{context:t}}function $q({usePublisher:e,useEmitter:t,useEmitterValue:n}){return z.memo(function({style:s,children:i,...u}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),g=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:S,scrollToCallback:x}=cP(d,h,p,g);return t("scrollTo",x),t("scrollBy",S),z.createElement(p,{ref:b,style:{...Nq,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...u,...Pi(p,v)},i)})}function zq({usePublisher:e,useEmitter:t,useEmitterValue:n}){return z.memo(function({style:s,children:i,...u}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),g=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),S=n("context"),{scrollerRef:x,scrollByCallback:C,scrollToCallback:_}=cP(d,h,p,Ih,b);return bq(()=>(x.current=b||window,()=>{x.current=null}),[x,b]),t("windowScrollTo",_),t("scrollBy",C),z.createElement(p,{style:{position:"relative",...s,...g!==0?{height:g+v}:{}},"data-virtuoso-scroller":!0,...u,...Pi(p,S)},i)})}const sC={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Lq={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:aC,ceil:iC,floor:Bp,min:Tg,max:tu}=Math;function Bq(e){return{...Lq,items:e}}function lC(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function Fq(e,t){return e&&e.column===t.column&&e.row===t.row}function pf(e,t){return e&&e.width===t.width&&e.height===t.height}const Hq=Ys(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:i,smoothScrollTargetReached:u,scrollContainerState:d,footerHeight:p,headerHeight:h},g,v,{propsReady:b,didMount:S},{windowViewportRect:x,useWindowScroll:C,customScrollParent:_,windowScrollContainerState:k,windowScrollTo:P},I])=>{const E=Bt(0),O=Bt(0),R=Bt(sC),D=Bt({height:0,width:0}),T=Bt({height:0,width:0}),B=hr(),W=hr(),J=Bt(0),F=Bt(null),N=Bt({row:0,column:0}),G=hr(),K=hr(),M=Bt(!1),U=Bt(0),V=Bt(!0),ee=Bt(!1);co(Ht(S,$s(U),Wr(([H,re])=>!!re)),()=>{Ir(V,!1),Ir(O,0)}),co(Ht(ca(S,V,T,D,U,ee),Wr(([H,re,pe,ne,,ve])=>H&&!re&&pe.height!==0&&ne.height!==0&&!ve)),([,,,,H])=>{Ir(ee,!0),dP(1,()=>{Ir(B,H)}),JS(Ht(r),()=>{Ir(n,[0,0]),Ir(V,!0)})}),zn(Ht(K,Wr(H=>H!=null&&H.scrollTop>0),Ha(0)),O),co(Ht(S,$s(K),Wr(([,H])=>H!=null)),([,H])=>{H&&(Ir(D,H.viewport),Ir(T,H==null?void 0:H.item),Ir(N,H.gap),H.scrollTop>0&&(Ir(M,!0),JS(Ht(r,F0(1)),re=>{Ir(M,!1)}),Ir(i,{top:H.scrollTop})))}),zn(Ht(D,Qn(({height:H})=>H)),o),zn(Ht(ca(fn(D,pf),fn(T,pf),fn(N,(H,re)=>H&&H.column===re.column&&H.row===re.row),fn(r)),Qn(([H,re,pe,ne])=>({viewport:H,item:re,gap:pe,scrollTop:ne}))),G),zn(Ht(ca(fn(E),t,fn(N,Fq),fn(T,pf),fn(D,pf),fn(F),fn(O),fn(M),fn(V),fn(U)),Wr(([,,,,,,,H])=>!H),Qn(([H,[re,pe],ne,ve,de,Ce,Re,,ge,_e])=>{const{row:We,column:Le}=ne,{height:Ue,width:jt}=ve,{width:vt}=de;if(Re===0&&(H===0||vt===0))return sC;if(jt===0){const In=Iq(_e,H),ln=In===0?Math.max(Re-1,0):In;return Bq(lC(In,ln,Ce))}const jn=mP(vt,jt,Le);let Pt,bt;ge?re===0&&pe===0&&Re>0?(Pt=0,bt=Re-1):(Pt=jn*Bp((re+We)/(Ue+We)),bt=jn*iC((pe+We)/(Ue+We))-1,bt=Tg(H-1,tu(bt,jn-1)),Pt=Tg(bt,tu(0,Pt))):(Pt=0,bt=-1);const be=lC(Pt,bt,Ce),{top:Ae,bottom:Et}=cC(de,ne,ve,be),Ft=iC(H/jn),_n=Ft*Ue+(Ft-1)*We-Et;return{items:be,offsetTop:Ae,offsetBottom:_n,top:Ae,bottom:Et,itemHeight:Ue,itemWidth:jt}})),R),zn(Ht(F,Wr(H=>H!==null),Qn(H=>H.length)),E),zn(Ht(ca(D,T,R,N),Wr(([H,re,{items:pe}])=>pe.length>0&&re.height!==0&&H.height!==0),Qn(([H,re,{items:pe},ne])=>{const{top:ve,bottom:de}=cC(H,ne,re,pe);return[ve,de]}),vo(H0)),n);const ie=Bt(!1);zn(Ht(r,$s(ie),Qn(([H,re])=>re||H!==0)),ie);const xe=Zc(Ht(fn(R),Wr(({items:H})=>H.length>0),$s(E,ie),Wr(([{items:H},re,pe])=>pe&&H[H.length-1].index===re-1),Qn(([,H])=>H-1),vo())),me=Zc(Ht(fn(R),Wr(({items:H})=>H.length>0&&H[0].index===0),Ha(0),vo())),ae=Zc(Ht(fn(R),$s(M),Wr(([{items:H},re])=>H.length>0&&!re),Qn(([{items:H}])=>({startIndex:H[0].index,endIndex:H[H.length-1].index})),vo(Eq),Vc(0)));zn(ae,v.scrollSeekRangeChanged),zn(Ht(B,$s(D,T,E,N),Qn(([H,re,pe,ne,ve])=>{const de=Cq(H),{align:Ce,behavior:Re,offset:ge}=de;let _e=de.index;_e==="LAST"&&(_e=ne-1),_e=tu(0,_e,Tg(ne-1,_e));let We=W0(re,ve,pe,_e);return Ce==="end"?We=aC(We-re.height+pe.height):Ce==="center"&&(We=aC(We-re.height/2+pe.height/2)),ge&&(We+=ge),{top:We,behavior:Re}})),i);const te=$l(Ht(R,Qn(H=>H.offsetBottom+H.bottom)),0);return zn(Ht(x,Qn(H=>({width:H.visibleWidth,height:H.visibleHeight}))),D),{data:F,totalCount:E,viewportDimensions:D,itemDimensions:T,scrollTop:r,scrollHeight:W,overscan:e,scrollBy:s,scrollTo:i,scrollToIndex:B,smoothScrollTargetReached:u,windowViewportRect:x,windowScrollTo:P,useWindowScroll:C,customScrollParent:_,windowScrollContainerState:k,deviation:J,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:N,restoreStateFrom:K,...v,initialTopMostItemIndex:U,gridState:R,totalListHeight:te,...g,startReached:me,endReached:xe,rangeChanged:ae,stateChanged:G,propsReady:b,stateRestoreInProgress:M,...I}},Gi(Oq,Mh,uP,Mq,Pq,Dq,aP));function cC(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=W0(e,t,n,r[0].index),i=W0(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:i}}function W0(e,t,n,r){const o=mP(e.width,n.width,t.column),s=Bp(r/o),i=s*n.height+tu(0,s-1)*t.row;return i>0?i+t.row:i}function mP(e,t,n){return tu(1,Bp((e+n)/(Bp(t)+n)))}const Wq=Ys(()=>{const e=Bt(p=>`Item ${p}`),t=Bt({}),n=Bt(null),r=Bt("virtuoso-grid-item"),o=Bt("virtuoso-grid-list"),s=Bt(Tq),i=Bt("div"),u=Bt(Ih),d=(p,h=null)=>$l(Ht(t,Qn(g=>g[p]),vo()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:i,scrollerRef:u,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),Vq=Ys(([e,t])=>({...e,...t}),Gi(Hq,Wq)),Uq=z.memo(function(){const t=nr("gridState"),n=nr("listClassName"),r=nr("itemClassName"),o=nr("itemContent"),s=nr("computeItemKey"),i=nr("isSeeking"),u=ms("scrollHeight"),d=nr("ItemComponent"),p=nr("ListComponent"),h=nr("ScrollSeekPlaceholder"),g=nr("context"),v=ms("itemDimensions"),b=ms("gap"),S=nr("log"),x=nr("stateRestoreInProgress"),C=Oh(_=>{const k=_.parentElement.parentElement.scrollHeight;u(k);const P=_.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:uC("row-gap",getComputedStyle(_).rowGap,S),column:uC("column-gap",getComputedStyle(_).columnGap,S)})});return x?null:z.createElement(p,{ref:C,className:n,...Pi(p,g),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(_=>{const k=s(_.index,_.data,g);return i?z.createElement(h,{key:k,...Pi(h,g),index:_.index,height:t.itemHeight,width:t.itemWidth}):z.createElement(d,{...Pi(d,g),className:r,"data-index":_.index,key:k},o(_.index,_.data,g))}))}),Gq=z.memo(function(){const t=nr("HeaderComponent"),n=ms("headerHeight"),r=nr("headerFooterTag"),o=Oh(i=>n(Np(i,"height"))),s=nr("context");return t?z.createElement(r,{ref:o},z.createElement(t,Pi(t,s))):null}),qq=z.memo(function(){const t=nr("FooterComponent"),n=ms("footerHeight"),r=nr("headerFooterTag"),o=Oh(i=>n(Np(i,"height"))),s=nr("context");return t?z.createElement(r,{ref:o},z.createElement(t,Pi(t,s))):null}),Kq=({children:e})=>{const t=z.useContext(pP),n=ms("itemDimensions"),r=ms("viewportDimensions"),o=Oh(s=>{r(s.getBoundingClientRect())});return z.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),z.createElement("div",{style:hP,ref:o},e)},Qq=({children:e})=>{const t=z.useContext(pP),n=ms("windowViewportRect"),r=ms("itemDimensions"),o=nr("customScrollParent"),s=Aq(n,o);return z.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),z.createElement("div",{ref:s,style:hP},e)},Yq=z.memo(function({...t}){const n=nr("useWindowScroll"),r=nr("customScrollParent"),o=r||n?Zq:Jq,s=r||n?Qq:Kq;return z.createElement(o,{...t},z.createElement(s,null,z.createElement(Gq,null),z.createElement(Uq,null),z.createElement(qq,null)))}),{Component:Xq,usePublisher:ms,useEmitterValue:nr,useEmitter:gP}=vq(Vq,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},Yq),Jq=$q({usePublisher:ms,useEmitterValue:nr,useEmitter:gP}),Zq=zq({usePublisher:ms,useEmitterValue:nr,useEmitter:gP});function uC(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,V1.WARN),t==="normal"?0:parseInt(t??"0",10)}const vP=Xq,eK=({image:e})=>{const t=f.useMemo(()=>{var n,r;if(v8((n=e.metadata)==null?void 0:n.model))return(r=e.metadata)==null?void 0:r.model},[e.metadata]);return a.jsxs(L,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:[a.jsxs(Za,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]}),t&&a.jsx(Za,{variant:"solid",colorScheme:"base",children:t})]})},Rh=({postUploadAction:e,isDisabled:t})=>{const n=$(d=>d.gallery.autoAddBoardId),[r]=E4(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n})},[n,e,r]),{getRootProps:s,getInputProps:i,open:u}=Zv({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:i,openUploader:u}},U1=()=>{const e=Z(),t=tc(),{t:n}=ue(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),i=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),u=f.useCallback((I,E)=>{if(Id(I)||Ed(E)){Id(I)&&e(Qc(I)),Ed(E)&&e(Yc(E)),r();return}o()},[e,r,o]),d=f.useCallback(I=>{if(!Id(I)){o();return}e(Qc(I)),r()},[e,r,o]),p=f.useCallback(I=>{if(!Ed(I)){o();return}e(Yc(I)),r()},[e,r,o]),h=f.useCallback(I=>{if(!nx(I)){o();return}e(If(I)),r()},[e,r,o]),g=f.useCallback(I=>{if(!rx(I)){o();return}e(Ef(I)),r()},[e,r,o]),v=f.useCallback(I=>{if(!ox(I)){o();return}e(Qg(I)),r()},[e,r,o]),b=f.useCallback(I=>{if(!sx(I)){o();return}e(Yg(I)),r()},[e,r,o]),S=f.useCallback(I=>{if(!ax(I)){o();return}e(Of(I)),r()},[e,r,o]),x=f.useCallback(I=>{if(!ix(I)){o();return}e(zl(I)),r()},[e,r,o]),C=f.useCallback(I=>{if(!lx(I)){o();return}e(Ll(I)),r()},[e,r,o]),_=f.useCallback(I=>{if(!cx(I)){o();return}e(Mf(I)),r()},[e,r,o]),k=f.useCallback(I=>{e(pv(I))},[e]),P=f.useCallback(I=>{if(!I){i();return}const{cfg_scale:E,height:O,model:R,positive_prompt:D,negative_prompt:T,scheduler:B,seed:W,steps:J,width:F,strength:N}=I;rx(E)&&e(Ef(E)),ox(R)&&e(Qg(R)),Id(D)&&e(Qc(D)),Ed(T)&&e(Yc(T)),sx(B)&&e(Yg(B)),nx(W)&&e(If(W)),ax(J)&&e(Of(J)),ix(F)&&e(zl(F)),lx(O)&&e(Ll(O)),cx(N)&&e(Mf(N)),s()},[i,s,e]);return{recallBothPrompts:u,recallPositivePrompt:d,recallNegativePrompt:p,recallSeed:h,recallCfgScale:g,recallModel:v,recallScheduler:b,recallSteps:S,recallWidth:x,recallHeight:C,recallStrength:_,recallAllParameters:P,sendToImageToImage:k}},G1=()=>{const e=tc(),{t}=ue(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const i=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[i.type]:i})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};hv("gallery/requestedBoardImagesDeletion");const tK=hv("gallery/sentImageToCanvas"),yP=hv("gallery/sentImageToImg2Img");function nK(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),i=f.useRef(null),u=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),g=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,S=!("trailing"in n)||!!n.trailing,x="maxWait"in n,C=x?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return g.current=!0,function(){g.current=!1}},[]);var _=f.useMemo(function(){var k=function(D){var T=u.current,B=d.current;return u.current=d.current=null,s.current=D,p.current=h.current.apply(B,T)},P=function(D,T){v&&cancelAnimationFrame(i.current),i.current=v?requestAnimationFrame(D):setTimeout(D,T)},I=function(D){if(!g.current)return!1;var T=D-o.current;return!o.current||T>=t||T<0||x&&D-s.current>=C},E=function(D){return i.current=null,S&&u.current?k(D):(u.current=d.current=null,p.current)},O=function D(){var T=Date.now();if(I(T))return E(T);if(g.current){var B=t-(T-o.current),W=x?Math.min(B,C-(T-s.current)):B;P(D,W)}},R=function(){var D=Date.now(),T=I(D);if(u.current=[].slice.call(arguments),d.current=r,o.current=D,T){if(!i.current&&g.current)return s.current=o.current,P(O,t),b?k(o.current):p.current;if(x)return P(O,t),k(o.current)}return i.current||P(O,t),p.current};return R.cancel=function(){i.current&&(v?cancelAnimationFrame(i.current):clearTimeout(i.current)),s.current=0,u.current=o.current=d.current=i.current=null},R.isPending=function(){return!!i.current},R.flush=function(){return i.current?E(Date.now()):p.current},R},[b,x,t,C,S,v]);return _}function rK(e,t){return e===t}function dC(e){return typeof e=="function"?function(){return e}:e}function q1(e,t,n){var r,o,s=n&&n.equalityFn||rK,i=(r=f.useState(dC(e)),o=r[1],[r[0],f.useCallback(function(g){return o(dC(g))},[])]),u=i[0],d=i[1],p=nK(f.useCallback(function(g){return d(g)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[u,p]}const oK=e=>{const{imageDTO:t}=e,n=f.useMemo(()=>he([mt],({gallery:N})=>({isInBatch:N.batchImageNames.includes(t.image_name)}),Ke),[t.image_name]),{isInBatch:r}=$(n),o=Z(),{t:s}=ue(),i=tc(),u=yr("unifiedCanvas").isFeatureEnabled,d=yr("batches").isFeatureEnabled,{onClickAddToBoard:p}=f.useContext(A4),[h,g]=q1(t.image_name,500),{currentData:v}=mv(g.isPending()?Xr.skipToken:h??Xr.skipToken),{isClipboardAPIAvailable:b,copyImageToClipboard:S}=G1(),x=v==null?void 0:v.metadata,C=f.useCallback(()=>{t&&o(gv(t))},[o,t]),{recallBothPrompts:_,recallSeed:k,recallAllParameters:P}=U1(),[I]=y8(),E=f.useCallback(()=>{_(x==null?void 0:x.positive_prompt,x==null?void 0:x.negative_prompt)},[x==null?void 0:x.negative_prompt,x==null?void 0:x.positive_prompt,_]),O=f.useCallback(()=>{k(x==null?void 0:x.seed)},[x==null?void 0:x.seed,k]),R=f.useCallback(()=>{o(yP()),o(pv(t))},[o,t]),D=f.useCallback(()=>{o(tK()),o(b8(t)),o(Jp()),o(xl("unifiedCanvas")),i({title:s("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[o,t,s,i]),T=f.useCallback(()=>{console.log(x),P(x)},[x,P]),B=f.useCallback(()=>{p(t)},[t,p]),W=f.useCallback(()=>{t.board_id&&I({imageDTO:t})},[t,I]),J=f.useCallback(()=>{o(x8([t.image_name]))},[o,t.image_name]),F=f.useCallback(()=>{S(t.image_url)},[S,t.image_url]);return a.jsxs(a.Fragment,{children:[a.jsx(Qa,{href:t.image_url,target:"_blank",children:a.jsx(ao,{icon:a.jsx(eL,{}),children:s("common.openInNewTab")})}),b&&a.jsx(ao,{icon:a.jsx(cc,{}),onClickCapture:F,children:s("parameters.copyImage")}),a.jsx(Qa,{download:!0,href:t.image_url,target:"_blank",children:a.jsx(ao,{icon:a.jsx(v1,{}),w:"100%",children:s("parameters.downloadImage")})}),a.jsx(ao,{icon:a.jsx(w_,{}),onClickCapture:E,isDisabled:(x==null?void 0:x.positive_prompt)===void 0&&(x==null?void 0:x.negative_prompt)===void 0,children:s("parameters.usePrompt")}),a.jsx(ao,{icon:a.jsx(S_,{}),onClickCapture:O,isDisabled:(x==null?void 0:x.seed)===void 0,children:s("parameters.useSeed")}),a.jsx(ao,{icon:a.jsx(f_,{}),onClickCapture:T,isDisabled:!x,children:s("parameters.useAll")}),a.jsx(ao,{icon:a.jsx(Y2,{}),onClickCapture:R,id:"send-to-img2img",children:s("parameters.sendToImg2Img")}),u&&a.jsx(ao,{icon:a.jsx(Y2,{}),onClickCapture:D,id:"send-to-canvas",children:s("parameters.sendToUnifiedCanvas")}),d&&a.jsx(ao,{icon:a.jsx(kg,{}),isDisabled:r,onClickCapture:J,children:"Add to Batch"}),a.jsx(ao,{icon:a.jsx(kg,{}),onClickCapture:B,children:t.board_id?"Change Board":"Add to Board"}),t.board_id&&a.jsx(ao,{icon:a.jsx(kg,{}),onClickCapture:W,children:"Remove from Board"}),a.jsx(ao,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Xo,{}),onClickCapture:C,children:s("gallery.deleteImage")})]})},bP=f.memo(oK),sK=({imageDTO:e,children:t})=>{const n=f.useCallback(r=>{r.preventDefault()},[]);return a.jsx(j_,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?a.jsx(ic,{sx:{visibility:"visible !important"},motionProps:Cv,onContextMenu:n,children:a.jsx(bP,{imageDTO:e})}):null,children:t})},xP=f.memo(sK),aK=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(Ka()),{attributes:s,listeners:i,setNodeRef:u}=w8({id:o.current,disabled:n,data:t});return a.jsx($e,{onClick:r,ref:u,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...i})},iK=f.memo(aK),lK=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:i=!1,isDropDisabled:u=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:g,imageSx:v,fitContainer:b=!1,droppableData:S,draggableData:x,dropLabel:C,isSelected:_=!1,thumbnail:k=!1,resetTooltip:P="Reset",resetIcon:I=a.jsx(b1,{}),noContentFallback:E=a.jsx(Ja,{icon:Ti}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:D}=xs(),[T,B]=f.useState(!1),W=f.useCallback(()=>{B(!0)},[]),J=f.useCallback(()=>{B(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:N}=Rh({postUploadAction:g,isDisabled:p}),G=gf("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),K=p?{}:{cursor:"pointer",bg:Me("base.200","base.800")(D),_hover:{bg:Me("base.300","base.650")(D),color:Me("base.500","base.300")(D)}};return a.jsx(xP,{imageDTO:t,children:M=>a.jsxs(L,{ref:M,onMouseOver:W,onMouseOut:J,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&a.jsxs(L,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[a.jsx(rc,{src:k?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:a.jsx(iq,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),i&&a.jsx(eK,{image:t}),a.jsx(k1,{isSelected:_,isHovered:R?T:!1})]}),!t&&!p&&a.jsx(a.Fragment,{children:a.jsxs(L,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Me("base.500","base.500")(D),...K},...F(),children:[a.jsx("input",{...N()}),a.jsx(io,{as:Fu,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&a.jsx(iK,{data:x,disabled:d||!t,onClick:o}),!u&&a.jsx(S1,{data:S,disabled:u,dropLabel:C}),n&&s&&t&&a.jsx(je,{onClick:n,"aria-label":P,tooltip:P,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:G}}})]})})},ri=f.memo(lK),cK=()=>a.jsx($e,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.100",color:"base.500",_dark:{color:"base.700",bg:"base.850"}},children:a.jsx(io,{as:Xz,boxSize:16,opacity:.7})})}),wP=()=>a.jsx(ah,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:a.jsx($e,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),uK=e=>he([mt],t=>({selectionCount:t.gallery.selection.length,selection:t.gallery.selection,isSelected:t.gallery.selection.includes(e)}),Ke),dK=e=>{const t=Z(),{imageName:n}=e,{currentData:r,isLoading:o,isError:s,isSuccess:i}=Uo(n),u=f.useMemo(()=>uK(n),[n]),{isSelected:d,selectionCount:p,selection:h}=$(u),g=f.useCallback(()=>{t(S8([n]))},[t,n]),v=f.useCallback(S=>{S.shiftKey?t(C8(n)):S.ctrlKey||S.metaKey?t(_8(n)):t(Rf(n))},[t,n]),b=f.useMemo(()=>{if(p>1)return{id:"batch",payloadType:"IMAGE_NAMES",payload:{image_names:h}};if(r)return{id:"batch",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,h,p]);return o?a.jsx(wP,{}):s||!r?a.jsx(cK,{}):a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none"},children:a.jsx(xP,{imageDTO:r,children:S=>a.jsx($e,{position:"relative",userSelect:"none",ref:S,sx:{display:"flex",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:a.jsx(ri,{onClick:v,imageDTO:r,draggableData:b,isSelected:d,minSize:0,onClickReset:g,isDropDisabled:!0,imageSx:{w:"full",h:"full"},isUploadDisabled:!0,resetTooltip:"Remove from batch",withResetIcon:!0,thumbnail:!0})},n)})})},fK=f.memo(dK),SP=rt((e,t)=>a.jsx($e,{className:"item-container",ref:t,p:1.5,children:e.children})),CP=rt((e,t)=>{const n=$(r=>r.gallery.galleryImageMinimumWidth);return a.jsx(Mi,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),pK=he([mt],e=>({imageNames:e.gallery.batchImageNames}),Ke),hK=()=>{const{t:e}=ue(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=m1({defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}}),{imageNames:i}=$(pK);return f.useEffect(()=>{const{current:u}=t;return n&&u&&o({target:u,elements:{viewport:n}}),()=>{var d;return(d=s())==null?void 0:d.destroy()}},[n,o,s]),i.length?a.jsx($e,{ref:t,"data-overlayscrollbars":"",h:"100%",children:a.jsx(vP,{style:{height:"100%"},data:i,components:{Item:SP,List:CP},scrollerRef:r,itemContent:(u,d)=>a.jsx(fK,{imageName:d},d)})}):a.jsx(Ja,{label:e("gallery.noImagesInGallery"),icon:Ti})},mK=f.memo(hK),gK=e=>he([mt],({gallery:t})=>({isSelected:t.selection.includes(e),selectionCount:t.selection.length,selection:t.selection}),Ke),vK=e=>{const t=Z(),{imageName:n}=e,{currentData:r}=Uo(n),o=f.useMemo(()=>gK(n),[n]),{isSelected:s,selectionCount:i,selection:u}=$(o),d=f.useCallback(g=>{t(Rf(n))},[t,n]),p=f.useCallback(g=>{g.stopPropagation(),r&&t(gv(r))},[t,r]),h=f.useMemo(()=>{if(i>1)return{id:"gallery-image",payloadType:"IMAGE_NAMES",payload:{image_names:u}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,u,i]);return r?a.jsx($e,{sx:{w:"full",h:"full",touchAction:"none"},children:a.jsx(L,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:a.jsx(ri,{onClick:d,imageDTO:r,draggableData:h,isSelected:s,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0})})}):a.jsx(wP,{})},yK=f.memo(vK),bK={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},xK=()=>{const{t:e}=ue(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=m1(bK),i=$(C=>C.gallery.selectedBoardId),{currentViewTotal:u}=C1(i),d=$(T4),{currentData:p,isFetching:h,isSuccess:g,isError:v}=k8(d),[b]=N4(),S=f.useMemo(()=>!p||!u?!1:p.ids.length{S&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:$4})},[S,b,d,p==null?void 0:p.ids.length]);if(f.useEffect(()=>{const{current:C}=t;return n&&C&&o({target:C,elements:{viewport:n}}),()=>{var _;return(_=s())==null?void 0:_.destroy()}},[n,o,s]),!p)return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(Ja,{label:"Loading...",icon:Ti})});if(g&&(p==null?void 0:p.ids.length)===0)return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(Ja,{label:e("gallery.noImagesInGallery"),icon:Ti})});if(g&&p)return a.jsxs(a.Fragment,{children:[a.jsx($e,{ref:t,"data-overlayscrollbars":"",h:"100%",children:a.jsx(vP,{style:{height:"100%"},data:p.ids,endReached:x,components:{Item:SP,List:CP},scrollerRef:r,itemContent:(C,_)=>a.jsx(yK,{imageName:_},_)})}),a.jsx(Xt,{onClick:x,isDisabled:!S,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${u})`})]});if(v)return a.jsx($e,{sx:{w:"full",h:"full"},children:a.jsx(Ja,{label:"Unable to load Gallery",icon:m_})})},wK=f.memo(xK),SK=he([mt],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{selectedBoardId:t,galleryView:n}},Ke),CK=()=>{const e=f.useRef(null),t=f.useRef(null),{selectedBoardId:n,galleryView:r}=$(SK),o=Z(),{isOpen:s,onToggle:i}=Ws(),u=f.useCallback(()=>{o(ux("images"))},[o]),d=f.useCallback(()=>{o(ux("assets"))},[o]);return a.jsxs(A6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[a.jsxs($e,{sx:{w:"full"},children:[a.jsxs(L,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[a.jsx(WL,{isOpen:s,onToggle:i}),a.jsx(aq,{}),a.jsx(UL,{})]}),a.jsx($e,{children:a.jsx(BL,{isOpen:s})})]}),a.jsxs(L,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[a.jsx(L,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:a.jsx(Nu,{index:r==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:a.jsx($u,{children:a.jsxs(Yn,{isAttached:!0,sx:{w:"full"},children:[a.jsx(Bl,{as:Xt,size:"sm",isChecked:r==="images",onClick:u,sx:{w:"full"},leftIcon:a.jsx(sL,{}),children:"Images"}),a.jsx(Bl,{as:Xt,size:"sm",isChecked:r==="assets",onClick:d,sx:{w:"full"},leftIcon:a.jsx(vL,{}),children:"Assets"})]})})})}),n==="batch"?a.jsx(mK,{}):a.jsx(wK,{})]})]})},_P=f.memo(CK),_K=he([or,Zr,j8,Jn],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:i}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:i,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Gt}}),kK=()=>{const e=Z(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=$(_K),o=()=>{e(Xg(!1)),t&&e(yo())};Ye("esc",()=>{e(Xg(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return Ye("shift+up",()=>{if(r<256){const i=Vs(r+s,32,256);e(Pf(i))}},[r]),Ye("shift+down",()=>{if(r>32){const i=Vs(r-s,32,256);e(Pf(i))}},[r]),t?null:a.jsx(R5,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:a.jsx(_P,{})})},jK=f.memo(kK),PK=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:i,...u}=e;return a.jsx(Cn,{label:i,hasArrow:!0,placement:"top",isDisabled:!i,children:a.jsxs(ws,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&a.jsx(gs,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),a.jsx(Xv,{...u})]})})},xr=f.memo(PK),IK=he([mt,P8],({system:e,config:t,imageDeletion:n},r)=>{const{shouldConfirmOnDelete:o}=e,{canRestoreDeletedImagesFromBin:s}=t,{imageToDelete:i,isModalOpen:u}=n;return{shouldConfirmOnDelete:o,canRestoreDeletedImagesFromBin:s,imageToDelete:i,imageUsage:r,isModalOpen:u}},Ke),EK=()=>{const e=Z(),{t}=ue(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imageToDelete:o,imageUsage:s,isModalOpen:i}=$(IK),u=f.useCallback(g=>e(z4(!g.target.checked)),[e]),d=f.useCallback(()=>{e(dx()),e(I8(!1))},[e]),p=f.useCallback(()=>{!o||!s||(e(dx()),e(E8({imageDTO:o,imageUsage:s})))},[e,o,s]),h=f.useRef(null);return a.jsx(Du,{isOpen:i,onClose:d,leastDestructiveRef:h,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),a.jsx(ba,{children:a.jsxs(L,{direction:"column",gap:3,children:[a.jsx(u_,{imageUsage:s}),a.jsx(Fi,{}),a.jsx(qe,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),a.jsx(qe,{children:t("common.areYouSure")}),a.jsx(xr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:u})]})}),a.jsxs(ga,{children:[a.jsx(Xt,{ref:h,onClick:d,children:"Cancel"}),a.jsx(Xt,{colorScheme:"error",onClick:p,ml:3,children:"Delete"})]})]})})})},OK=f.memo(EK);function fC(e){for(var t=[],n=1;n{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:i}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:i}},Ke),hC={ok:"green.400",working:"yellow.400",error:"red.400"},mC={ok:"green.600",working:"yellow.500",error:"red.500"},NK=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=$(TK),{t:s}=ue(),i=f.useRef(null),u=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=kP(i);return a.jsxs(L,{ref:i,h:"full",px:2,alignItems:"center",gap:5,children:[a.jsx(Ko,{children:p&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:a.jsxs(qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:mC[u],_dark:{color:hC[u]}},children:[s(o),d]})},"statusText")}),a.jsx(io,{as:Qz,sx:{boxSize:"0.5rem",color:mC[u],_dark:{color:hC[u]}}})]})};function $K(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function zK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 00.12-.61l-1.92-3.32a.488.488 0 00-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 00-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 00-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"}}]})(e)}function LK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function BK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function FK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function HK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function jP(e){return Ve({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const WK=()=>{const{colorMode:e,toggleColorMode:t}=xs(),{t:n}=ue();return a.jsx(je,{"aria-label":n(e==="dark"?"common.lightMode":"common.darkMode"),tooltip:n(e==="dark"?"common.lightMode":"common.darkMode"),size:"sm",icon:e==="dark"?a.jsx(bL,{fontSize:19}):a.jsx(pL,{fontSize:18}),onClick:t,variant:"link"})};function VK(e){const{title:t,hotkey:n,description:r}=e;return a.jsxs(Mi,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[a.jsxs(Mi,{children:[a.jsx(qe,{fontWeight:600,children:t}),r&&a.jsx(qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),a.jsx($e,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function UK({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Ws(),{t:o}=ue(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],i=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],u=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>a.jsx(L,{flexDir:"column",gap:4,children:h.map((g,v)=>a.jsxs(L,{flexDir:"column",px:2,gap:4,children:[a.jsx(VK,{title:g.title,description:g.desc,hotkey:g.hotkey}),v{const{data:t}=O8(),n=f.useRef(null),r=kP(n);return a.jsxs(L,{alignItems:"center",gap:3,ps:1,ref:n,children:[a.jsx(rc,{src:R4,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),a.jsxs(L,{sx:{gap:3,alignItems:"center"},children:[a.jsxs(qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",a.jsx("strong",{children:"ai"})]}),a.jsx(Ko,{children:e&&r&&t&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:a.jsx(qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})};function GK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}function qK(e){return Ve({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M478.33 433.6l-90-218a22 22 0 00-40.67 0l-90 218a22 22 0 1040.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 00458 464a22 22 0 0020.32-30.4zM334.83 362L368 281.65 401.17 362zm-66.99-19.08a22 22 0 00-4.89-30.7c-.2-.15-15-11.13-36.49-34.73 39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 000-44H214V70a22 22 0 00-44 0v20H54a22 22 0 000 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 00-40.58 17c.58 1.38 14.55 34.23 52.86 83.93.92 1.19 1.83 2.35 2.74 3.51-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1021.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59 22.52 24.08 38 35.44 38.93 36.1a22 22 0 0030.75-4.9z"}}]})(e)}const KK={ar:pr.t("common.langArabic",{lng:"ar"}),nl:pr.t("common.langDutch",{lng:"nl"}),en:pr.t("common.langEnglish",{lng:"en"}),fr:pr.t("common.langFrench",{lng:"fr"}),de:pr.t("common.langGerman",{lng:"de"}),he:pr.t("common.langHebrew",{lng:"he"}),it:pr.t("common.langItalian",{lng:"it"}),ja:pr.t("common.langJapanese",{lng:"ja"}),ko:pr.t("common.langKorean",{lng:"ko"}),pl:pr.t("common.langPolish",{lng:"pl"}),pt_BR:pr.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:pr.t("common.langPortuguese",{lng:"pt"}),ru:pr.t("common.langRussian",{lng:"ru"}),zh_CN:pr.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:pr.t("common.langSpanish",{lng:"es"}),uk:pr.t("common.langUkranian",{lng:"ua"})};function QK(){const{t:e}=ue(),t=Z(),n=$(L4);return a.jsxs(Mu,{closeOnSelect:!1,children:[a.jsx(Cn,{label:e("common.languagePickerLabel"),hasArrow:!0,children:a.jsx(Ru,{as:qa,icon:a.jsx(qK,{}),variant:"link","aria-label":e("common.languagePickerLabel"),fontSize:22,minWidth:8})}),a.jsx(ic,{children:a.jsx(Uv,{value:n,children:Ss(KK,(r,o)=>a.jsx(iu,{value:o,onClick:()=>t(M8(o)),children:r},o))})})]})}const YK=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...i}=e,u=tP();return a.jsx(Cn,{label:t,placement:"top",hasArrow:!0,children:a.jsx(B1,{label:r?a.jsx(ws,{isRequired:s,isDisabled:o,children:a.jsx(gs,{children:r})}):void 0,disabled:o,ref:n,styles:u,...i})})},Co=f.memo(YK);function sa(e){const{t}=ue(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:i,...u}=e;return a.jsxs(L,{justifyContent:"space-between",py:1,children:[a.jsxs(L,{gap:2,alignItems:"center",children:[a.jsx(qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&a.jsx(Za,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...i,children:s})]}),a.jsx(xr,{...u})]})}function XK(){const e=Z(),{data:t,refetch:n}=R8(),[r,{isLoading:o}]=D8(),s=f.useCallback(()=>{r().unwrap().then(u=>{e(A8()),e(vv()),e(Bn({title:`Cleared ${u} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const i=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:"Clear Intermediates"}),a.jsx(Xt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:i}),a.jsx(qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),a.jsx(qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),a.jsx(qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const JK=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:i,base700:u,base800:d,base900:p,accent200:h,accent300:g,accent400:v,accent500:b,accent600:S}=F1(),{colorMode:x}=xs(),[C]=ec("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Me(u,r)(x)},separatorLabel:{color:Me(s,s)(x),"::after":{borderTopColor:Me(r,u)(x)}},searchInput:{":placeholder":{color:Me(r,u)(x)}},input:{backgroundColor:Me(e,p)(x),borderWidth:"2px",borderColor:Me(n,d)(x),color:Me(p,t)(x),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Me(r,i)(x)},"&:focus":{borderColor:Me(g,S)(x)},"&:is(:focus, :hover)":{borderColor:Me(o,s)(x)},"&:focus-within":{borderColor:Me(h,S)(x)},"&[data-disabled]":{backgroundColor:Me(r,u)(x),color:Me(i,o)(x),cursor:"not-allowed"}},value:{backgroundColor:Me(n,d)(x),color:Me(p,t)(x),button:{color:Me(p,t)(x)},"&:hover":{backgroundColor:Me(r,u)(x),cursor:"pointer"}},dropdown:{backgroundColor:Me(n,d)(x),borderColor:Me(n,d)(x),boxShadow:C},item:{backgroundColor:Me(n,d)(x),color:Me(d,n)(x),padding:6,"&[data-hovered]":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)},"&[data-active]":{backgroundColor:Me(r,u)(x),"&:hover":{color:Me(p,t)(x),backgroundColor:Me(r,u)(x)}},"&[data-selected]":{backgroundColor:Me(v,S)(x),color:Me(e,t)(x),fontWeight:600,"&:hover":{backgroundColor:Me(b,b)(x),color:Me("white",e)(x)}},"&[data-disabled]":{color:Me(s,i)(x),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Me(p,t)(x)}}}),[h,g,v,b,S,t,n,r,o,e,s,i,u,d,p,C,x])},ZK=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...i}=e,u=Z(),d=f.useCallback(g=>{g.shiftKey&&u(Go(!0))},[u]),p=f.useCallback(g=>{g.shiftKey||u(Go(!1))},[u]),h=JK();return a.jsx(Cn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:a.jsx(Qj,{label:o?a.jsx(ws,{isDisabled:s,children:a.jsx(gs,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...i})})},eQ=f.memo(ZK),tQ=Ss(B4,e=>({value:e,label:F4[e]})).sort((e,t)=>e.label.localeCompare(t.label));function nQ(){const e=Z(),{t}=ue(),n=$(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(T8(o))},[e]);return a.jsx(eQ,{label:t("settings.favoriteSchedulers"),value:n,data:tQ,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const rQ=he([xo,Zr],(e,t)=>{const{shouldConfirmOnDelete:n,enableImageDebugging:r,consoleLogLevel:o,shouldLogToConsole:s,shouldAntialiasProgressImage:i,isNodesEnabled:u}=e,{shouldUseCanvasBetaLayout:d,shouldUseSliders:p,shouldShowProgressInViewer:h,shouldShowAdvancedOptions:g}=t;return{shouldConfirmOnDelete:n,enableImageDebugging:r,shouldUseCanvasBetaLayout:d,shouldUseSliders:p,shouldShowProgressInViewer:h,consoleLogLevel:o,shouldLogToConsole:s,shouldAntialiasProgressImage:i,shouldShowAdvancedOptions:g,isNodesEnabled:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),oQ=({children:e,config:t})=>{const n=Z(),{t:r}=ue(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,i=(t==null?void 0:t.shouldShowResetWebUiText)??!0,u=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0;f.useEffect(()=>{s||n(fx(!1))},[s,n]);const{isOpen:h,onOpen:g,onClose:v}=Ws(),{isOpen:b,onOpen:S,onClose:x}=Ws(),{shouldConfirmOnDelete:C,enableImageDebugging:_,shouldUseCanvasBetaLayout:k,shouldUseSliders:P,shouldShowProgressInViewer:I,consoleLogLevel:E,shouldLogToConsole:O,shouldAntialiasProgressImage:R,shouldShowAdvancedOptions:D,isNodesEnabled:T}=$(rQ),B=f.useCallback(()=>{Object.keys(window.localStorage).forEach(N=>{(N8.includes(N)||N.startsWith($8))&&localStorage.removeItem(N)}),v(),S()},[v,S]),W=f.useCallback(N=>{n(z8(N))},[n]),J=f.useCallback(N=>{n(fx(N.target.checked))},[n]),F=f.useCallback(N=>{n(L8(N.target.checked))},[n]);return a.jsxs(a.Fragment,{children:[f.cloneElement(e,{onClick:g}),a.jsxs(lu,{isOpen:h,onClose:v,size:"2xl",isCentered:!0,children:[a.jsx(ya,{}),a.jsxs(cu,{children:[a.jsx(va,{bg:"none",children:r("common.settingsLabel")}),a.jsx(Gv,{}),a.jsx(ba,{children:a.jsxs(L,{sx:{gap:4,flexDirection:"column"},children:[a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.general")}),a.jsx(sa,{label:r("settings.confirmOnDelete"),isChecked:C,onChange:N=>n(z4(N.target.checked))}),u&&a.jsx(sa,{label:r("settings.showAdvancedOptions"),isChecked:D,onChange:N=>n(B8(N.target.checked))})]}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.generation")}),a.jsx(nQ,{})]}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.ui")}),a.jsx(sa,{label:r("settings.useSlidersForAll"),isChecked:P,onChange:N=>n(F8(N.target.checked))}),a.jsx(sa,{label:r("settings.showProgressInViewer"),isChecked:I,onChange:N=>n(H4(N.target.checked))}),a.jsx(sa,{label:r("settings.antialiasProgressImages"),isChecked:R,onChange:N=>n(H8(N.target.checked))}),o&&a.jsx(sa,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:k,onChange:N=>n(W8(N.target.checked))}),p&&a.jsx(sa,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:T,onChange:F})]}),s&&a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.developer")}),a.jsx(sa,{label:r("settings.shouldLogToConsole"),isChecked:O,onChange:J}),a.jsx(Co,{disabled:!O,label:r("settings.consoleLogLevel"),onChange:W,value:E,data:V8.concat()}),a.jsx(sa,{label:r("settings.enableImageDebugging"),isChecked:_,onChange:N=>n(U8(N.target.checked))})]}),d&&a.jsx(XK,{}),a.jsxs(bl,{children:[a.jsx(zs,{size:"sm",children:r("settings.resetWebUI")}),a.jsx(Xt,{colorScheme:"error",onClick:B,children:r("settings.resetWebUI")}),i&&a.jsxs(a.Fragment,{children:[a.jsx(qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),a.jsx(qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),a.jsx(ga,{children:a.jsx(Xt,{onClick:v,children:r("common.close")})})]})]}),a.jsxs(lu,{closeOnOverlayClick:!1,isOpen:b,onClose:x,isCentered:!0,children:[a.jsx(ya,{backdropFilter:"blur(40px)"}),a.jsxs(cu,{children:[a.jsx(va,{}),a.jsx(ba,{children:a.jsx(L,{justifyContent:"center",children:a.jsx(qe,{fontSize:"lg",children:a.jsx(qe,{children:r("settings.resetComplete")})})})}),a.jsx(ga,{})]})]})]})},bl=e=>a.jsx(L,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children}),sQ=()=>{const{t:e}=ue(),t=yr("localization").isFeatureEnabled,n=yr("bugLink").isFeatureEnabled,r=yr("discordLink").isFeatureEnabled,o=yr("githubLink").isFeatureEnabled;return a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(PP,{}),a.jsx(Bi,{}),a.jsx(NK,{}),a.jsx(UK,{children:a.jsx(je,{"aria-label":e("common.hotkeysLabel"),tooltip:e("common.hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:a.jsx(lL,{})})}),t&&a.jsx(QK,{}),n&&a.jsx(Qa,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.reportBugLabel"),tooltip:e("common.reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(qz,{})})}),o&&a.jsx(Qa,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.githubLabel"),tooltip:e("common.githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(Bz,{})})}),r&&a.jsx(Qa,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",marginBottom:"-0.25rem",children:a.jsx(je,{"aria-label":e("common.discordLabel"),tooltip:e("common.discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:a.jsx(Lz,{})})}),a.jsx(WK,{}),a.jsx(oQ,{children:a.jsx(je,{"aria-label":e("common.settingsLabel"),tooltip:e("common.settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:a.jsx(zK,{})})})]})},aQ=f.memo(sQ),iQ=he(xo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),lQ=()=>{const{shouldShow:e,tooltip:t}=$(iQ);return e?a.jsx(L,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:a.jsx(Cn,{label:t,placement:"right",hasArrow:!0,children:a.jsx(oc,{})})}):null},cQ=f.memo(lQ),qi=e=>e.config,{createElement:Gl,createContext:uQ,forwardRef:IP,useCallback:La,useContext:EP,useEffect:ha,useImperativeHandle:OP,useLayoutEffect:dQ,useMemo:fQ,useRef:Ho,useState:nu}=fv,gC=fv["useId".toString()],pQ=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Fp=pQ?dQ:()=>{},hQ=typeof gC=="function"?gC:()=>null;let mQ=0;function K1(e=null){const t=hQ(),n=Ho(e||t||null);return n.current===null&&(n.current=""+mQ++),n.current}const Dh=uQ(null);Dh.displayName="PanelGroupContext";function MP({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:i=null,maxSize:u=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:g=null,style:v={},tagName:b="div"}){const S=EP(Dh);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const x=K1(i),{collapsePanel:C,expandPanel:_,getPanelStyle:k,registerPanel:P,resizePanel:I,unregisterPanel:E}=S,O=Ho({onCollapse:p,onResize:h});if(ha(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(u<0||u>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${u}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=k(x,o),D=Ho({size:vC(R)}),T=Ho({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:x,maxSize:u,minSize:d,order:g});return Fp(()=>{D.current.size=vC(R),T.current.callbacksRef=O,T.current.collapsedSize=n,T.current.collapsible=r,T.current.defaultSize=o,T.current.id=x,T.current.maxSize=u,T.current.minSize=d,T.current.order=g}),Fp(()=>(P(x,T),()=>{E(x)}),[g,x,P,E]),OP(s,()=>({collapse:()=>C(x),expand:()=>_(x),getCollapsed(){return D.current.size===0},getSize(){return D.current.size},resize:B=>I(x,B)}),[C,_,x,I]),Gl(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":x,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${x}`,style:{...R,...v}})}const gu=IP((e,t)=>Gl(MP,{...e,forwardedRef:t}));MP.displayName="Panel";gu.displayName="forwardRef(Panel)";function vC(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const $i=10;function Uc(e,t,n,r,o,s,i,u){const{sizes:d}=u||{},p=d||s;if(o===0)return p;const h=Fo(t),g=p.concat();let v=0;{const x=o<0?r:n,C=h.findIndex(I=>I.current.id===x),_=h[C],k=p[C],P=yC(_,Math.abs(o),k,e);if(k===P)return p;P===0&&k>0&&i.set(x,k),o=o<0?k-P:P-k}let b=o<0?n:r,S=h.findIndex(x=>x.current.id===b);for(;;){const x=h[S],C=p[S],_=Math.abs(o)-Math.abs(v),k=yC(x,0-_,C,e);if(C!==k&&(k===0&&C>0&&i.set(x.current.id,C),v+=C-k,g[S]=k,v.toPrecision($i).localeCompare(Math.abs(o).toPrecision($i),void 0,{numeric:!0})>=0))break;if(o<0){if(--S<0)break}else if(++S>=h.length)break}return v===0?p:(b=o<0?r:n,S=h.findIndex(x=>x.current.id===b),g[S]=p[S]+v,g)}function vl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:i,collapsible:u,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:g}=s.current;g&&g(r,p),u&&h&&((p==null||p===i)&&r!==i?h(!1):p!==i&&r===i&&h(!0))}})}function Ng(e,t){if(t.length<2)return[null,null];const n=t.findIndex(i=>i.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function RP(e,t,n){if(e.size===1)return"100";const o=Fo(e).findIndex(i=>i.current.id===t),s=n[o];return s==null?"0":s.toPrecision($i)}function gQ(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Q1(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function Ah(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function vQ(e){return DP().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function DP(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function AP(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Y1(e,t,n){var d,p,h,g;const r=Ah(t),o=AP(e),s=r?o.indexOf(r):-1,i=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,u=((g=(h=n[s+1])==null?void 0:h.current)==null?void 0:g.id)??null;return[i,u]}function Fo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function yC(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:i,maxSize:u,minSize:d}=e.current;if(i){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:i,panels:u}=e.current,d=Q1(t),{height:p,width:h}=d.getBoundingClientRect(),v=AP(t).map(b=>{const S=b.getAttribute("data-panel-resize-handle-id"),x=Fo(u),[C,_]=Y1(t,S,x);if(C==null||_==null)return()=>{};let k=0,P=100,I=0,E=0;x.forEach(W=>{W.current.id===C?(P=W.current.maxSize,k=W.current.minSize):(I+=W.current.minSize,E+=W.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(k,(x.length-1)*100-E),D=RP(u,C,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(D)));const T=W=>{if(!W.defaultPrevented)switch(W.key){case"Enter":{W.preventDefault();const J=x.findIndex(F=>F.current.id===C);if(J>=0){const F=x[J],N=o[J];if(N!=null){let G=0;N.toPrecision($i)<=F.current.minSize.toPrecision($i)?G=i==="horizontal"?h:p:G=-(i==="horizontal"?h:p);const K=Uc(W,u,C,_,G,o,s.current,null);o!==K&&r(K)}}break}}};b.addEventListener("keydown",T);const B=gQ(C);return B!=null&&b.setAttribute("aria-controls",B.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",T),B!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function bQ({disabled:e,handleId:t,resizeHandler:n}){ha(()=>{if(e||n==null)return;const r=Ah(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const i=DP(),u=vQ(t);TP(u!==null);const d=s.shiftKey?u>0?u-1:i.length-1:u+1{r.removeEventListener("keydown",o)}},[e,t,n])}function xQ(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision($i)===O.current.minSize.toPrecision($i))&&(_=_<0?-O.current.minSize*S:O.current.minSize*S)}return _}else return NP(e,n,o,u,d)}function SQ(e){return e.type==="keydown"}function V0(e){return e.type.startsWith("mouse")}function U0(e){return e.type.startsWith("touch")}let G0=null,Si=null;function $P(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function CQ(){Si!==null&&(document.head.removeChild(Si),G0=null,Si=null)}function $g(e){if(G0===e)return;G0=e;const t=$P(e);Si===null&&(Si=document.createElement("style"),document.head.appendChild(Si)),Si.innerHTML=`*{cursor: ${t}!important;}`}function _Q(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function zP(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function LP(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function kQ(e,t,n){const r=LP(e,n);if(r){const o=zP(t);return r[o]??null}return null}function jQ(e,t,n,r){const o=zP(t),s=LP(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(i){console.error(i)}}const zg={};function bC(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Gc={getItem:e=>(bC(Gc),Gc.getItem(e)),setItem:(e,t)=>{bC(Gc),Gc.setItem(e,t)}};function BP({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:i=null,onLayout:u,storage:d=Gc,style:p={},tagName:h="div"}){const g=K1(i),[v,b]=nu(null),[S,x]=nu(new Map),C=Ho(null),_=Ho({onLayout:u});ha(()=>{_.current.onLayout=u});const k=Ho({}),[P,I]=nu([]),E=Ho(new Map),O=Ho(0),R=Ho({direction:r,panels:S,sizes:P});OP(s,()=>({getLayout:()=>{const{sizes:M}=R.current;return M},setLayout:M=>{const U=M.reduce((xe,me)=>xe+me,0);TP(U===100,"Panel sizes must add up to 100%");const{panels:V}=R.current,ee=k.current,ie=Fo(V);I(M),vl(ie,M,ee)}}),[]),Fp(()=>{R.current.direction=r,R.current.panels=S,R.current.sizes=P}),yQ({committedValuesRef:R,groupId:g,panels:S,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),ha(()=>{const{onLayout:M}=_.current,{panels:U,sizes:V}=R.current;if(V.length>0){M&&M(V);const ee=k.current,ie=Fo(U);vl(ie,V,ee)}},[P]),Fp(()=>{if(R.current.sizes.length===S.size)return;let U=null;if(e){const V=Fo(S);U=kQ(e,V,d)}if(U!=null)I(U);else{const V=Fo(S);let ee=0,ie=0,xe=0;if(V.forEach(me=>{xe+=me.current.minSize,me.current.defaultSize===null?ee++:ie+=me.current.defaultSize}),ie>100)throw new Error("Default panel sizes cannot exceed 100%");if(V.length>1&&ee===0&&ie!==100)throw new Error("Invalid default sizes specified for panels");if(xe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I(V.map(me=>me.current.defaultSize===null?(100-ie)/ee:me.current.defaultSize))}},[e,S,d]),ha(()=>{if(e){if(P.length===0||P.length!==S.size)return;const M=Fo(S);zg[e]||(zg[e]=_Q(jQ,100)),zg[e](e,M,P,d)}},[e,S,P,d]);const D=La((M,U)=>{const{panels:V}=R.current;return V.size===0?{flexBasis:0,flexGrow:U??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:RP(V,M,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),T=La((M,U)=>{x(V=>{if(V.has(M))return V;const ee=new Map(V);return ee.set(M,U),ee})},[]),B=La(M=>V=>{V.preventDefault();const{direction:ee,panels:ie,sizes:xe}=R.current,me=Fo(ie),[ae,te]=Y1(g,M,me);if(ae==null||te==null)return;let H=wQ(V,g,M,me,ee,xe,C.current);if(H===0)return;const pe=Q1(g).getBoundingClientRect(),ne=ee==="horizontal";document.dir==="rtl"&&ne&&(H=-H);const ve=ne?pe.width:pe.height,de=H/ve*100,Ce=Uc(V,ie,ae,te,de,xe,E.current,C.current),Re=!xQ(xe,Ce);if((V0(V)||U0(V))&&O.current!=de&&$g(Re?ne?"horizontal":"vertical":ne?H<0?"horizontal-min":"horizontal-max":H<0?"vertical-min":"vertical-max"),Re){const ge=k.current;I(Ce),vl(me,Ce,ge)}O.current=de},[g]),W=La(M=>{x(U=>{if(!U.has(M))return U;const V=new Map(U);return V.delete(M),V})},[]),J=La(M=>{const{panels:U,sizes:V}=R.current,ee=U.get(M);if(ee==null)return;const{collapsedSize:ie,collapsible:xe}=ee.current;if(!xe)return;const me=Fo(U),ae=me.indexOf(ee);if(ae<0)return;const te=V[ae];if(te===ie)return;E.current.set(M,te);const[H,re]=Ng(M,me);if(H==null||re==null)return;const ne=ae===me.length-1?te:ie-te,ve=Uc(null,U,H,re,ne,V,E.current,null);if(V!==ve){const de=k.current;I(ve),vl(me,ve,de)}},[]),F=La(M=>{const{panels:U,sizes:V}=R.current,ee=U.get(M);if(ee==null)return;const{collapsedSize:ie,minSize:xe}=ee.current,me=E.current.get(M)||xe;if(!me)return;const ae=Fo(U),te=ae.indexOf(ee);if(te<0||V[te]!==ie)return;const[re,pe]=Ng(M,ae);if(re==null||pe==null)return;const ve=te===ae.length-1?ie-me:me,de=Uc(null,U,re,pe,ve,V,E.current,null);if(V!==de){const Ce=k.current;I(de),vl(ae,de,Ce)}},[]),N=La((M,U)=>{const{panels:V,sizes:ee}=R.current,ie=V.get(M);if(ie==null)return;const{collapsedSize:xe,collapsible:me,maxSize:ae,minSize:te}=ie.current,H=Fo(V),re=H.indexOf(ie);if(re<0)return;const pe=ee[re];if(pe===U)return;me&&U===xe||(U=Math.min(ae,Math.max(te,U)));const[ne,ve]=Ng(M,H);if(ne==null||ve==null)return;const Ce=re===H.length-1?pe-U:U-pe,Re=Uc(null,V,ne,ve,Ce,ee,E.current,null);if(ee!==Re){const ge=k.current;I(Re),vl(H,Re,ge)}},[]),G=fQ(()=>({activeHandleId:v,collapsePanel:J,direction:r,expandPanel:F,getPanelStyle:D,groupId:g,registerPanel:T,registerResizeHandle:B,resizePanel:N,startDragging:(M,U)=>{if(b(M),V0(U)||U0(U)){const V=Ah(M);C.current={dragHandleRect:V.getBoundingClientRect(),dragOffset:NP(U,M,r),sizes:R.current.sizes}}},stopDragging:()=>{CQ(),b(null),C.current=null},unregisterPanel:W}),[v,J,r,F,D,g,T,B,N,W]),K={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Gl(Dh.Provider,{children:Gl(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":g,style:{...K,...p}}),value:G})}const X1=IP((e,t)=>Gl(BP,{...e,forwardedRef:t}));BP.displayName="PanelGroup";X1.displayName="forwardRef(PanelGroup)";function q0({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:i="div"}){const u=Ho(null),d=Ho({onDragging:o});ha(()=>{d.current.onDragging=o});const p=EP(Dh);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:g,groupId:v,registerResizeHandle:b,startDragging:S,stopDragging:x}=p,C=K1(r),_=h===C,[k,P]=nu(!1),[I,E]=nu(null),O=La(()=>{u.current.blur(),x();const{onDragging:T}=d.current;T&&T(!1)},[x]);ha(()=>{if(n)E(null);else{const D=b(C);E(()=>D)}},[n,C,b]),ha(()=>{if(n||I==null||!_)return;const D=J=>{I(J)},T=J=>{I(J)},W=u.current.ownerDocument;return W.body.addEventListener("contextmenu",O),W.body.addEventListener("mousemove",D),W.body.addEventListener("touchmove",D),W.body.addEventListener("mouseleave",T),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{W.body.removeEventListener("contextmenu",O),W.body.removeEventListener("mousemove",D),W.body.removeEventListener("touchmove",D),W.body.removeEventListener("mouseleave",T),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[g,n,_,I,O]),bQ({disabled:n,handleId:C,resizeHandler:I});const R={cursor:$P(g),touchAction:"none",userSelect:"none"};return Gl(i,{children:e,className:t,"data-resize-handle-active":_?"pointer":k?"keyboard":void 0,"data-panel-group-direction":g,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":C,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:D=>{S(C,D.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:D=>{S(C,D.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},ref:u,role:"separator",style:{...R,...s},tabIndex:0})}q0.displayName="PanelResizeHandle";const PQ=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,i]=f.useState(t),u=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let g=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{g-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),i(e/g*100)});return h.observe(d),p.forEach(g=>{h.observe(g)}),window.addEventListener("resize",u),()=>{h.disconnect(),window.removeEventListener("resize",u)}},[n,u,s,e,r]),{ref:o,minSizePct:s}},IQ=he([mt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ke),EQ=()=>{const{initialImage:e}=$(IQ),{currentData:t,isLoading:n,isError:r,isSuccess:o}=Uo((e==null?void 0:e.imageName)??Xr.skipToken),s=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),i=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return a.jsx(ri,{imageDTO:t,droppableData:i,draggableData:s,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:a.jsx(Ja,{label:"No initial image selected"})})},OQ=he([mt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ke),MQ={type:"SET_INITIAL_IMAGE"},RQ=()=>{const{isResetButtonDisabled:e}=$(OQ),t=Z(),{getUploadButtonProps:n,getUploadInputProps:r}=Rh({postUploadAction:MQ}),o=f.useCallback(()=>{t(G8())},[t]);return a.jsxs(L,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[a.jsxs(L,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[a.jsx(qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),a.jsx(Bi,{}),a.jsx(je,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:a.jsx(Fu,{}),...n()}),a.jsx(je,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:a.jsx(b1,{}),onClick:o,isDisabled:e})]}),a.jsx(EQ,{}),a.jsx("input",{...r()})]})},J1="28rem",FP=e=>{const{sx:t}=e,n=Z(),r=$(i=>i.ui.shouldPinParametersPanel),{t:o}=ue(),s=()=>{n(q8(!r)),n(yo())};return a.jsx(je,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?a.jsx(E_,{}):a.jsx(O_,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},DQ=he(Zr,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),AQ=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=$(DQ);return t&&n?a.jsxs($e,{sx:{position:"relative",h:"full",w:J1,flexShrink:0},children:[a.jsx(L,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),a.jsx(FP,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},Z1=f.memo(AQ),TQ=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=xs();return t==="horizontal"?a.jsx(q0,{children:a.jsx(L,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:a.jsx($e,{sx:{w:.5,h:"calc(100% - 4px)",bg:Me("base.100","base.850")(r)}})})}):a.jsx(q0,{children:a.jsx(L,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:a.jsx($e,{sx:{w:"calc(100% - 4px)",h:.5,bg:Me("base.100","base.850")(r)}})})})},HP=f.memo(TQ),NQ=he([mt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),$Q=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ue(),o=$(NQ);return a.jsx(je,{onClick:t,icon:a.jsx(Xo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},zQ=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function LQ(){const e=$(r=>r.postprocessing.esrganModelName),t=Z(),n=r=>t(K8(r));return a.jsx(Co,{label:"ESRGAN Model",value:e,itemComponent:ai,onChange:n,data:zQ})}const BQ=e=>{const{imageDTO:t}=e,n=Z(),r=$(Sr),{t:o}=ue(),{isOpen:s,onOpen:i,onClose:u}=Ws(),d=f.useCallback(()=>{u(),t&&n(W4({image_name:t.image_name}))},[n,t,u]);return a.jsx(Wi,{isOpen:s,onClose:u,triggerComponent:a.jsx(je,{onClick:i,icon:a.jsx(Jz,{}),"aria-label":o("parameters.upscale")}),children:a.jsxs(L,{sx:{flexDirection:"column",gap:4},children:[a.jsx(LQ,{}),a.jsx(Xt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},FQ=he([mt,or],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:i,progressImage:u}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,g=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:i,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!u||!g,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:g}},{memoizeOptions:{resultEqualityCheck:Gt}}),HQ=e=>{const t=Z(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:i,shouldShowProgressInViewer:u}=$(FQ),d=yr("upscaling").isFeatureEnabled,p=tc(),{t:h}=ue(),{recallBothPrompts:g,recallSeed:v,recallAllParameters:b}=U1(),[S,x]=q1(i,500),{currentData:C,isFetching:_}=Uo(i??Xr.skipToken),{currentData:k}=mv(x.isPending()?Xr.skipToken:S??Xr.skipToken),P=k==null?void 0:k.metadata,I=f.useCallback(()=>{b(P)},[P,b]);Ye("a",()=>{},[P,b]);const E=f.useCallback(()=>{v(P==null?void 0:P.seed)},[P==null?void 0:P.seed,v]);Ye("s",E,[C]);const O=f.useCallback(()=>{g(P==null?void 0:P.positive_prompt,P==null?void 0:P.negative_prompt)},[P==null?void 0:P.negative_prompt,P==null?void 0:P.positive_prompt,g]);Ye("p",O,[C]);const R=f.useCallback(()=>{t(yP()),t(pv(C))},[t,C]);Ye("shift+i",R,[C]);const D=f.useCallback(()=>{C&&t(W4({image_name:C.image_name}))},[t,C]),T=f.useCallback(()=>{C&&t(gv(C))},[t,C]);Ye("Shift+U",()=>{D()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,C,o,r,n]);const B=f.useCallback(()=>t(Q8(!s)),[t,s]);Ye("i",()=>{C?B():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[C,s,p]);const W=f.useCallback(()=>{t(H4(!u))},[t,u]);return a.jsx(a.Fragment,{children:a.jsxs(L,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[a.jsx(Yn,{isAttached:!0,isDisabled:o,children:a.jsxs(Mu,{children:[a.jsx(Ru,{as:je,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!C,icon:a.jsx(yL,{})}),a.jsx(ic,{motionProps:Cv,children:C&&a.jsx(bP,{imageDTO:C})})]})}),a.jsxs(Yn,{isAttached:!0,isDisabled:o,children:[a.jsx(je,{icon:a.jsx(w_,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(P!=null&&P.positive_prompt),onClick:O}),a.jsx(je,{icon:a.jsx(S_,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(P!=null&&P.seed),onClick:E}),a.jsx(je,{icon:a.jsx(f_,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!P,onClick:I})]}),d&&a.jsx(Yn,{isAttached:!0,isDisabled:o,children:d&&a.jsx(BQ,{imageDTO:C})}),a.jsx(Yn,{isAttached:!0,isDisabled:o,children:a.jsx(je,{icon:a.jsx(g1,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:B})}),a.jsx(Yn,{isAttached:!0,children:a.jsx(je,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:a.jsx(oL,{}),isChecked:u,onClick:W})}),a.jsx(Yn,{isAttached:!0,children:a.jsx($Q,{onClick:T,isDisabled:o})})]})})},WQ=he([mt,T4],(e,t)=>{var _,k;const{data:n,status:r}=Y8.endpoints.listImages.select(t)(e),o=e.gallery.selection[e.gallery.selection.length-1],s=r==="pending";if(!n||!o||n.total===0)return{isFetching:s,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const i={...t,offset:n.ids.length,limit:$4},u=X8.getSelectors(),d=u.selectAll(n),p=d.findIndex(P=>P.image_name===o),h=Vs(p+1,0,d.length-1),g=Vs(p-1,0,d.length-1),v=(_=d[h])==null?void 0:_.image_name,b=(k=d[g])==null?void 0:k.image_name,S=u.selectById(n,v),x=u.selectById(n,b),C=d.length;return{isOnFirstImage:p===0,isOnLastImage:!isNaN(p)&&p===C-1,areMoreImagesAvailable:((n==null?void 0:n.total)??0)>C,isFetching:r==="pending",nextImage:S,prevImage:x,nextImageId:v,prevImageId:b,queryArgs:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),WP=()=>{const e=Z(),{isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,isFetching:i,queryArgs:u}=$(WQ),d=f.useCallback(()=>{o&&e(Rf(o))},[e,o]),p=f.useCallback(()=>{r&&e(Rf(r))},[e,r]),[h]=N4(),g=f.useCallback(()=>{h(u)},[h,u]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,handleLoadMoreImages:g,isFetching:i}},as=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:i}=ue();return t?a.jsxs(L,{gap:2,children:[n&&a.jsx(Cn,{label:`Recall ${e}`,children:a.jsx(qa,{"aria-label":i("accessibility.useThisParameter"),icon:a.jsx(GK,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&a.jsx(Cn,{label:`Copy ${e}`,children:a.jsx(qa,{"aria-label":`Copy ${e}`,icon:a.jsx(cc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),a.jsxs(L,{direction:o?"column":"row",children:[a.jsxs(qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?a.jsxs(Qa,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",a.jsx(__,{mx:"2px"})]}):a.jsx(qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},VQ=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:i,recallScheduler:u,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:g}=U1(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),S=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),x=f.useCallback(()=>{i(t==null?void 0:t.model)},[t==null?void 0:t.model,i]),C=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),_=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),k=f.useCallback(()=>{u(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,u]),P=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{g(t==null?void 0:t.strength)},[t==null?void 0:t.strength,g]);return!t||Object.keys(t).length===0?null:a.jsxs(a.Fragment,{children:[t.generation_mode&&a.jsx(as,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&a.jsx(as,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&a.jsx(as,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&a.jsx(as,{label:"Seed",value:t.seed,onClick:S}),t.model!==void 0&&a.jsx(as,{label:"Model",value:t.model.model_name,onClick:x}),t.width&&a.jsx(as,{label:"Width",value:t.width,onClick:C}),t.height&&a.jsx(as,{label:"Height",value:t.height,onClick:_}),t.scheduler&&a.jsx(as,{label:"Scheduler",value:t.scheduler,onClick:k}),t.steps&&a.jsx(as,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&a.jsx(as,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&a.jsx(as,{label:"Image to image strength",value:t.strength,onClick:E})]})},UQ=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return a.jsxs(L,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[a.jsx($e,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:a.jsx(i_,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:a.jsx("pre",{children:r})})}),a.jsx(L,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:a.jsx(Cn,{label:t,children:a.jsx(qa,{"aria-label":t,icon:a.jsx(cc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},GQ=({image:e})=>{const[t,n]=q1(e.image_name,500),{currentData:r}=mv(n.isPending()?Xr.skipToken:t??Xr.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,i=f.useMemo(()=>{const u=[];return o&&u.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&u.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&u.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),u},[o,s,e]);return a.jsxs(L,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[a.jsxs(L,{gap:2,children:[a.jsx(qe,{fontWeight:"semibold",children:"File:"}),a.jsxs(Qa,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,a.jsx(__,{mx:"2px"})]})]}),a.jsx(VQ,{metadata:o}),a.jsxs(Nu,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[a.jsx($u,{children:i.map(u=>a.jsx(Bl,{sx:{borderTopRadius:"base"},children:a.jsx(qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:u.label})},u.label))}),a.jsx(fh,{sx:{w:"full",h:"full"},children:i.map(u=>a.jsx(dh,{sx:{w:"full",h:"full",p:0,pt:4},children:a.jsx(UQ,{jsonObject:u.data,copyTooltip:u.copyTooltip})},u.label))})]})]})},qQ=f.memo(GQ),Lg={color:"base.100",pointerEvents:"auto"},KQ=()=>{const{t:e}=ue(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:i,isFetching:u}=WP();return a.jsxs($e,{sx:{position:"relative",height:"100%",width:"100%"},children:[a.jsx($e,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&a.jsx(qa,{"aria-label":e("accessibility.previousImage"),icon:a.jsx(Wz,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:Lg})}),a.jsxs($e,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&a.jsx(qa,{"aria-label":e("accessibility.nextImage"),icon:a.jsx(Vz,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:Lg}),o&&i&&!u&&a.jsx(qa,{"aria-label":e("accessibility.loadMore"),icon:a.jsx(Hz,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:Lg}),o&&i&&u&&a.jsx(L,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:a.jsx(oc,{opacity:.5,size:"xl"})})]})]})},QQ=f.memo(KQ),YQ=he([mt,J8],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:i,shouldAntialiasProgressImage:u}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n,progressImage:i,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),XQ=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=$(YQ),{handlePrevImage:s,handleNextImage:i,prevImageId:u,nextImageId:d,isOnLastImage:p,handleLoadMoreImages:h,areMoreImagesAvailable:g,isFetching:v}=WP();Ye("left",()=>{s()},[u]),Ye("right",()=>{if(p&&g&&!v){h();return}p||i()},[d,p,g,h,v]);const{currentData:b,isLoading:S,isError:x,isSuccess:C}=Uo(t??Xr.skipToken),_=f.useMemo(()=>{if(b)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:b}}},[b]),k=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[P,I]=f.useState(!1),E=f.useRef(0),O=f.useCallback(()=>{I(!0),window.clearTimeout(E.current)},[]),R=f.useCallback(()=>{E.current=window.setTimeout(()=>{I(!1)},500)},[]);return a.jsxs(L,{onMouseOver:O,onMouseOut:R,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?a.jsx(rc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):a.jsx(ri,{imageDTO:b,droppableData:k,draggableData:_,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:a.jsx(Ja,{icon:Ti,label:"No image selected"})}),e&&b&&a.jsx($e,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:a.jsx(qQ,{image:b})}),a.jsx(Ko,{children:!e&&b&&P&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:a.jsx(QQ,{})},"nextPrevButtons")})]})},JQ=f.memo(XQ),ZQ=()=>a.jsxs(L,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[a.jsx(HQ,{}),a.jsx(JQ,{})]}),VP=()=>a.jsx($e,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:a.jsx(L,{sx:{width:"100%",height:"100%"},children:a.jsx(ZQ,{})})}),eY=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:i}=Ws({defaultIsOpen:o}),{colorMode:u}=xs();return a.jsxs($e,{children:[a.jsxs(L,{onClick:i,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Me("base.200","base.750")(u):Me("base.150","base.800")(u),color:Me("base.900","base.100")(u),_hover:{bg:s?Me("base.250","base.700")(u):Me("base.200","base.750")(u)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,a.jsx(Ko,{children:n&&a.jsx(Jr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsx(qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),a.jsx(Bi,{}),a.jsx(w1,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),a.jsx(nh,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:a.jsx($e,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Ro=f.memo(eY),tY=he(mt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ke),nY=()=>{const{combinatorial:e,isDisabled:t}=$(tY),n=Z(),r=f.useCallback(()=>{n(Z8())},[n]);return a.jsx(xr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},rY=he(mt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ke),oY=()=>{const e=Z(),{isEnabled:t}=$(rY),n=f.useCallback(()=>{e(e7())},[e]);return a.jsx(xr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},sY=he(mt,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:i}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:i,isDisabled:!r||!n}},Ke),aY=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=$(sY),s=Z(),i=f.useCallback(d=>{s(t7(d))},[s]),u=f.useCallback(()=>{s(n7())},[s]);return a.jsx(Ct,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:i,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:u})},iY=he(mt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ke),ey=()=>{const{activeLabel:e}=$(iY);return yr("dynamicPrompting").isFeatureEnabled?a.jsx(Ro,{label:"Dynamic Prompts",activeLabel:e,children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(oY,{}),a.jsx(nY,{}),a.jsx(aY,{})]})}):null},lY=e=>{const t=Z(),{lora:n}=e,r=f.useCallback(i=>{t(r7({id:n.id,weight:i}))},[t,n.id]),o=f.useCallback(()=>{t(o7(n.id))},[t,n.id]),s=f.useCallback(()=>{t(s7(n.id))},[t,n.id]);return a.jsxs(L,{sx:{gap:2.5,alignItems:"flex-end"},children:[a.jsx(Ct,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2]}),a.jsx(je,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:a.jsx(Xo,{}),colorScheme:"error"})]})},cY=f.memo(lY),uY=he(mt,({lora:e})=>{const{loras:t}=e;return{loras:t}},Ke),dY=()=>{const{loras:e}=$(uY);return Ss(e,t=>a.jsx(cY,{lora:t},t.model_name))},Mr={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},fY=he(mt,({lora:e})=>({loras:e.loras}),Ke),pY=()=>{const e=Z(),{loras:t}=$(fY),{data:n}=V4(),r=$(i=>i.generation.model),o=f.useMemo(()=>{if(!n)return[];const i=[];return Qo(n.entities,(u,d)=>{if(!u||d in t)return;const p=(r==null?void 0:r.base_model)!==u.base_model;i.push({value:d,label:u.model_name,disabled:p,group:Mr[u.base_model],tooltip:p?`Incompatible base model: ${u.base_model}`:void 0})}),i.sort((u,d)=>u.disabled&&!d.disabled?1:-1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(i=>{if(!i)return;const u=n==null?void 0:n.entities[i];u&&e(a7(u))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?a.jsx(L,{sx:{justifyContent:"center",p:2},children:a.jsx(qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):a.jsx(br,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:ai,disabled:o.length===0,filter:(i,u)=>{var d;return((d=u.label)==null?void 0:d.toLowerCase().includes(i.toLowerCase().trim()))||u.value.toLowerCase().includes(i.toLowerCase().trim())},onChange:s})},hY=he(mt,e=>{const t=i7(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ke),mY=()=>{const{activeLabel:e}=$(hY);return yr("lora").isFeatureEnabled?a.jsx(Ro,{label:"LoRA",activeLabel:e,children:a.jsxs(L,{sx:{flexDir:"column",gap:2},children:[a.jsx(pY,{}),a.jsx(dY,{})]})}):null},ty=f.memo(mY),gY=he(mt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ke);function ny(){const{activeLabel:e}=$(gY);return $(n=>n.ui.shouldShowAdvancedOptions)&&a.jsx(Ro,{label:"Advanced",activeLabel:e,children:a.jsx(L,{sx:{flexDir:"column",gap:2},children:a.jsx(l7,{})})})}const vY=Zp.child({module:"models"}),UP=e=>{const[t,n,r]=e.split("/"),o=c7.safeParse({base_model:t,model_name:r});if(!o.success){vY.error({controlNetModelId:e,errors:o.error.format()},"Failed to parse ControlNet model id");return}return o.data},yY=e=>{const{controlNetId:t}=e,n=Z(),r=$(Sr),o=f.useMemo(()=>he(mt,({generation:v,controlNet:b})=>{var _,k;const{model:S}=v,x=(_=b.controlNets[t])==null?void 0:_.model,C=(k=b.controlNets[t])==null?void 0:k.isEnabled;return{mainModel:S,controlNetModel:x,isEnabled:C}},Ke),[t]),{mainModel:s,controlNetModel:i,isEnabled:u}=$(o),{data:d}=yv(),p=f.useMemo(()=>{if(!d)return[];const v=[];return Qo(d.entities,(b,S)=>{if(!b)return;const x=(b==null?void 0:b.base_model)!==(s==null?void 0:s.base_model);v.push({value:S,label:b.model_name,group:Mr[b.base_model],disabled:x,tooltip:x?`Incompatible base model: ${b.base_model}`:void 0})}),v},[d,s==null?void 0:s.base_model]),h=f.useMemo(()=>(d==null?void 0:d.entities[`${i==null?void 0:i.base_model}/controlnet/${i==null?void 0:i.model_name}`])??null,[i==null?void 0:i.base_model,i==null?void 0:i.model_name,d==null?void 0:d.entities]),g=f.useCallback(v=>{if(!v)return;const b=UP(v);b&&n(U4({controlNetId:t,model:b}))},[t,n]);return a.jsx(br,{itemComponent:ai,data:p,error:!h||(s==null?void 0:s.base_model)!==h.base_model,placeholder:"Select a model",value:(h==null?void 0:h.id)??null,onChange:g,disabled:r||!u,tooltip:h==null?void 0:h.description})},bY=f.memo(yY),xY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{weight:d,isEnabled:p}=u.controlNets[t];return{weight:d,isEnabled:p}},Ke),[t]),{weight:o,isEnabled:s}=$(r),i=f.useCallback(u=>{n(u7({controlNetId:t,weight:u}))},[t,n]);return a.jsx(Ct,{isDisabled:!s,label:"Weight",value:o,onChange:i,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},wY=f.memo(xY),SY=e=>{const{height:t,controlNetId:n}=e,r=Z(),o=f.useMemo(()=>he(mt,({controlNet:W})=>{const{pendingControlImages:J}=W,{controlImage:F,processedControlImage:N,processorType:G,isEnabled:K}=W.controlNets[n];return{controlImageName:F,processedControlImageName:N,processorType:G,isEnabled:K,pendingControlImages:J}},Ke),[n]),{controlImageName:s,processedControlImageName:i,processorType:u,pendingControlImages:d,isEnabled:p}=$(o),[h,g]=f.useState(!1),{currentData:v,isLoading:b,isError:S,isSuccess:x}=Uo(s??Xr.skipToken),{currentData:C,isLoading:_,isError:k,isSuccess:P}=Uo(i??Xr.skipToken),I=f.useCallback(()=>{r(d7({controlNetId:n,controlImage:null}))},[n,r]),E=f.useCallback(()=>{g(!0)},[]),O=f.useCallback(()=>{g(!1)},[]),R=f.useMemo(()=>{if(v)return{id:n,payloadType:"IMAGE_DTO",payload:{imageDTO:v}}},[v,n]),D=f.useMemo(()=>({id:n,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:n}}),[n]),T=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:n}),[n]),B=v&&C&&!h&&!d.includes(n)&&u!=="none";return a.jsxs(L,{onMouseEnter:E,onMouseLeave:O,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:p?"auto":"none",opacity:p?1:.5},children:[a.jsx(ri,{draggableData:R,droppableData:D,imageDTO:v,isDropDisabled:B||!p,onClickReset:I,postUploadAction:T,resetTooltip:"Reset Control Image",withResetIcon:!!v}),a.jsx($e,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:B?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:a.jsx(ri,{draggableData:R,droppableData:D,imageDTO:C,isUploadDisabled:!0,isDropDisabled:!p,onClickReset:I,resetTooltip:"Reset Control Image",withResetIcon:!!v})}),d.includes(n)&&a.jsx(L,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:a.jsx(oc,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},xC=f.memo(SY),Cs=()=>{const e=Z();return f.useCallback((n,r)=>{e(f7({controlNetId:n,changes:r}))},[e])};function _s(e){return a.jsx(L,{sx:{flexDirection:"column",gap:2},children:e.children})}const wC=Yo.canny_image_processor.default,CY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,i=$(Sr),u=Cs(),d=f.useCallback(v=>{u(t,{low_threshold:v})},[t,u]),p=f.useCallback(()=>{u(t,{low_threshold:wC.low_threshold})},[t,u]),h=f.useCallback(v=>{u(t,{high_threshold:v})},[t,u]),g=f.useCallback(()=>{u(t,{high_threshold:wC.high_threshold})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{isDisabled:i||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),a.jsx(Ct,{isDisabled:i||!r,label:"High Threshold",value:s,onChange:h,handleReset:g,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},_Y=f.memo(CY),$c=Yo.content_shuffle_image_processor.default,kY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:i,h:u,f:d}=n,p=Cs(),h=$(Sr),g=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:$c.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),S=f.useCallback(()=>{p(t,{image_resolution:$c.image_resolution})},[t,p]),x=f.useCallback(E=>{p(t,{w:E})},[t,p]),C=f.useCallback(()=>{p(t,{w:$c.w})},[t,p]),_=f.useCallback(E=>{p(t,{h:E})},[t,p]),k=f.useCallback(()=>{p(t,{h:$c.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:$c.f})},[t,p]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:g,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:b,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"W",value:i,onChange:x,handleReset:C,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"H",value:u,onChange:_,handleReset:k,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(Ct,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},jY=f.memo(kY),SC=Yo.hed_image_processor.default,PY=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,i=$(Sr),u=Cs(),d=f.useCallback(b=>{u(t,{detect_resolution:b})},[t,u]),p=f.useCallback(b=>{u(t,{image_resolution:b})},[t,u]),h=f.useCallback(b=>{u(t,{scribble:b.target.checked})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:SC.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:SC.image_resolution})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:n,onChange:d,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:i||!s}),a.jsx(Ct,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:i||!s}),a.jsx(xr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:i||!s})]})},IY=f.memo(PY),CC=Yo.lineart_anime_image_processor.default,EY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{detect_resolution:v})},[t,i]),p=f.useCallback(v=>{i(t,{image_resolution:v})},[t,i]),h=f.useCallback(()=>{i(t,{detect_resolution:CC.detect_resolution})},[t,i]),g=f.useCallback(()=>{i(t,{image_resolution:CC.image_resolution})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},OY=f.memo(EY),_C=Yo.lineart_image_processor.default,MY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:i}=n,u=Cs(),d=$(Sr),p=f.useCallback(S=>{u(t,{detect_resolution:S})},[t,u]),h=f.useCallback(S=>{u(t,{image_resolution:S})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:_C.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:_C.image_resolution})},[t,u]),b=f.useCallback(S=>{u(t,{coarse:S.target.checked})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(xr,{label:"Coarse",isChecked:i,onChange:b,isDisabled:d||!r})]})},RY=f.memo(MY),kC=Yo.mediapipe_face_processor.default,DY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{max_faces:v})},[t,i]),p=f.useCallback(v=>{i(t,{min_confidence:v})},[t,i]),h=f.useCallback(()=>{i(t,{max_faces:kC.max_faces})},[t,i]),g=f.useCallback(()=>{i(t,{min_confidence:kC.min_confidence})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Min Confidence",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},AY=f.memo(DY),jC=Yo.midas_depth_image_processor.default,TY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{a_mult:v})},[t,i]),p=f.useCallback(v=>{i(t,{bg_th:v})},[t,i]),h=f.useCallback(()=>{i(t,{a_mult:jC.a_mult})},[t,i]),g=f.useCallback(()=>{i(t,{bg_th:jC.bg_th})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"bg_th",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},NY=f.memo(TY),hf=Yo.mlsd_image_processor.default,$Y=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:i,thr_v:u}=n,d=Cs(),p=$(Sr),h=f.useCallback(k=>{d(t,{detect_resolution:k})},[t,d]),g=f.useCallback(k=>{d(t,{image_resolution:k})},[t,d]),v=f.useCallback(k=>{d(t,{thr_d:k})},[t,d]),b=f.useCallback(k=>{d(t,{thr_v:k})},[t,d]),S=f.useCallback(()=>{d(t,{detect_resolution:hf.detect_resolution})},[t,d]),x=f.useCallback(()=>{d(t,{image_resolution:hf.image_resolution})},[t,d]),C=f.useCallback(()=>{d(t,{thr_d:hf.thr_d})},[t,d]),_=f.useCallback(()=>{d(t,{thr_v:hf.thr_v})},[t,d]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:h,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:g,handleReset:x,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"W",value:i,onChange:v,handleReset:C,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"H",value:u,onChange:b,handleReset:_,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},zY=f.memo($Y),PC=Yo.normalbae_image_processor.default,LY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,i=Cs(),u=$(Sr),d=f.useCallback(v=>{i(t,{detect_resolution:v})},[t,i]),p=f.useCallback(v=>{i(t,{image_resolution:v})},[t,i]),h=f.useCallback(()=>{i(t,{detect_resolution:PC.detect_resolution})},[t,i]),g=f.useCallback(()=>{i(t,{image_resolution:PC.image_resolution})},[t,i]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:u||!r})]})},BY=f.memo(LY),IC=Yo.openpose_image_processor.default,FY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:i}=n,u=Cs(),d=$(Sr),p=f.useCallback(S=>{u(t,{detect_resolution:S})},[t,u]),h=f.useCallback(S=>{u(t,{image_resolution:S})},[t,u]),g=f.useCallback(()=>{u(t,{detect_resolution:IC.detect_resolution})},[t,u]),v=f.useCallback(()=>{u(t,{image_resolution:IC.image_resolution})},[t,u]),b=f.useCallback(S=>{u(t,{hand_and_face:S.target.checked})},[t,u]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:p,handleReset:g,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(xr,{label:"Hand and Face",isChecked:i,onChange:b,isDisabled:d||!r})]})},HY=f.memo(FY),EC=Yo.pidi_image_processor.default,WY=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:i,safe:u}=n,d=Cs(),p=$(Sr),h=f.useCallback(C=>{d(t,{detect_resolution:C})},[t,d]),g=f.useCallback(C=>{d(t,{image_resolution:C})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:EC.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:EC.image_resolution})},[t,d]),S=f.useCallback(C=>{d(t,{scribble:C.target.checked})},[t,d]),x=f.useCallback(C=>{d(t,{safe:C.target.checked})},[t,d]);return a.jsxs(_s,{children:[a.jsx(Ct,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(Ct,{label:"Image Resolution",value:o,onChange:g,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(xr,{label:"Scribble",isChecked:i,onChange:S}),a.jsx(xr,{label:"Safe",isChecked:u,onChange:x,isDisabled:p||!r})]})},VY=f.memo(WY),UY=e=>null,GY=f.memo(UY),qY=e=>{const{controlNetId:t}=e,n=f.useMemo(()=>he(mt,({controlNet:s})=>{const{isEnabled:i,processorNode:u}=s.controlNets[t];return{isEnabled:i,processorNode:u}},Ke),[t]),{isEnabled:r,processorNode:o}=$(n);return o.type==="canny_image_processor"?a.jsx(_Y,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="hed_image_processor"?a.jsx(IY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_image_processor"?a.jsx(RY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="content_shuffle_image_processor"?a.jsx(jY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_anime_image_processor"?a.jsx(OY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mediapipe_face_processor"?a.jsx(AY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="midas_depth_image_processor"?a.jsx(NY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mlsd_image_processor"?a.jsx(zY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="normalbae_image_processor"?a.jsx(BY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="openpose_image_processor"?a.jsx(HY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="pidi_image_processor"?a.jsx(VY,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="zoe_depth_image_processor"?a.jsx(GY,{controlNetId:t,processorNode:o,isEnabled:r}):null},KY=f.memo(qY),QY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:d})=>{const{isEnabled:p,shouldAutoConfig:h}=d.controlNets[t];return{isEnabled:p,shouldAutoConfig:h}},Ke),[t]),{isEnabled:o,shouldAutoConfig:s}=$(r),i=$(Sr),u=f.useCallback(()=>{n(p7({controlNetId:t}))},[t,n]);return a.jsx(xr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:s,onChange:u,isDisabled:i||!o})},YY=f.memo(QY),OC=e=>`${Math.round(e*100)}%`,XY=e=>{const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:d})=>{const{beginStepPct:p,endStepPct:h,isEnabled:g}=d.controlNets[t];return{beginStepPct:p,endStepPct:h,isEnabled:g}},Ke),[t]),{beginStepPct:o,endStepPct:s,isEnabled:i}=$(r),u=f.useCallback(d=>{n(px({controlNetId:t,beginStepPct:d[0]})),n(hx({controlNetId:t,endStepPct:d[1]}))},[t,n]);return f.useCallback(()=>{n(px({controlNetId:t,beginStepPct:0})),n(hx({controlNetId:t,endStepPct:1}))},[t,n]),a.jsxs(ws,{isDisabled:!i,children:[a.jsx(gs,{children:"Begin / End Step Percentage"}),a.jsx(Pl,{w:"100%",gap:2,alignItems:"center",children:a.jsxs(a5,{"aria-label":["Begin Step %","End Step %"],value:[o,s],onChange:u,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!i,children:[a.jsx(i5,{children:a.jsx(l5,{})}),a.jsx(Cn,{label:OC(o),placement:"top",hasArrow:!0,children:a.jsx(m0,{index:0})}),a.jsx(Cn,{label:OC(s),placement:"top",hasArrow:!0,children:a.jsx(m0,{index:1})}),a.jsx(xf,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),a.jsx(xf,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),a.jsx(xf,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},JY=f.memo(XY),ZY=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function eX(e){const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{controlMode:d,isEnabled:p}=u.controlNets[t];return{controlMode:d,isEnabled:p}},Ke),[t]),{controlMode:o,isEnabled:s}=$(r);ue();const i=f.useCallback(u=>{n(h7({controlNetId:t,controlMode:u}))},[t,n]);return a.jsx(Co,{disabled:!s,label:"Control Mode",data:ZY,value:String(o),onChange:i})}const tX=he(qi,e=>Ss(Yo,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Ke),nX=e=>{const t=Z(),{controlNetId:n}=e,r=f.useMemo(()=>he(mt,({controlNet:p})=>{const{isEnabled:h,processorNode:g}=p.controlNets[n];return{isEnabled:h,processorNode:g}},Ke),[n]),o=$(Sr),s=$(tX),{isEnabled:i,processorNode:u}=$(r),d=f.useCallback(p=>{t(m7({controlNetId:n,processorType:p}))},[n,t]);return a.jsx(br,{label:"Processor",value:u.type??"canny_image_processor",data:s,onChange:d,disabled:o||!i})},rX=f.memo(nX),oX=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function sX(e){const{controlNetId:t}=e,n=Z(),r=f.useMemo(()=>he(mt,({controlNet:u})=>{const{resizeMode:d,isEnabled:p}=u.controlNets[t];return{resizeMode:d,isEnabled:p}},Ke),[t]),{resizeMode:o,isEnabled:s}=$(r);ue();const i=f.useCallback(u=>{n(g7({controlNetId:t,resizeMode:u}))},[t,n]);return a.jsx(Co,{disabled:!s,label:"Resize Mode",data:oX,value:String(o),onChange:i})}const aX=e=>{const{controlNetId:t}=e,n=Z(),r=he(mt,({controlNet:g})=>{const{isEnabled:v,shouldAutoConfig:b}=g.controlNets[t];return{isEnabled:v,shouldAutoConfig:b}},Ke),{isEnabled:o,shouldAutoConfig:s}=$(r),[i,u]=DK(!1),d=f.useCallback(()=>{n(v7({controlNetId:t}))},[t,n]),p=f.useCallback(()=>{n(y7({sourceControlNetId:t,newControlNetId:Ka()}))},[t,n]),h=f.useCallback(()=>{n(b7({controlNetId:t}))},[t,n]);return a.jsxs(L,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[a.jsxs(L,{sx:{gap:2,alignItems:"center"},children:[a.jsx(xr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:o,onChange:h}),a.jsx($e,{sx:{w:"full",minW:0,opacity:o?1:.5,pointerEvents:o?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:a.jsx(bY,{controlNetId:t})}),a.jsx(je,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:p,icon:a.jsx(cc,{})}),a.jsx(je,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:d,icon:a.jsx(Xo,{})}),a.jsx(je,{size:"sm",tooltip:i?"Hide Advanced":"Show Advanced","aria-label":i?"Hide Advanced":"Show Advanced",onClick:u,variant:"ghost",sx:{_hover:{bg:"none"}},icon:a.jsx(w1,{sx:{boxSize:4,color:"base.700",transform:i?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!s&&a.jsx($e,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),a.jsxs(L,{sx:{w:"full",flexDirection:"column",gap:3},children:[a.jsxs(L,{sx:{gap:4,w:"full",alignItems:"center"},children:[a.jsxs(L,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:i?1:0,pb:2,justifyContent:"space-between"},children:[a.jsx(wY,{controlNetId:t}),a.jsx(JY,{controlNetId:t})]}),!i&&a.jsx(L,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:a.jsx(xC,{controlNetId:t,height:28})})]}),a.jsxs(L,{sx:{gap:2},children:[a.jsx(eX,{controlNetId:t}),a.jsx(sX,{controlNetId:t})]}),a.jsx(rX,{controlNetId:t})]}),i&&a.jsxs(a.Fragment,{children:[a.jsx(xC,{controlNetId:t,height:"392px"}),a.jsx(YY,{controlNetId:t}),a.jsx(KY,{controlNetId:t})]})]})},iX=f.memo(aX),lX=he(mt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ke),cX=()=>{const{isEnabled:e}=$(lX),t=Z(),n=f.useCallback(()=>{t(x7())},[t]);return a.jsx(xr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},uX=he(w7,e=>{const{controlNets:t,isEnabled:n}=e,r=S7(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:Ss(t),activeLabel:o}},Ke),dX=()=>{ue();const{controlNetsArray:e,activeLabel:t}=$(uX),n=yr("controlNet").isFeatureDisabled,r=Z(),{firstModel:o}=yv(void 0,{selectFromResult:i=>{var d,p;return{firstModel:(p=i.data)==null?void 0:p.entities[(d=i.data)==null?void 0:d.ids[0]]}}}),s=f.useCallback(()=>{if(!o)return;const i=Ka();r(C7({controlNetId:i})),r(U4({controlNetId:i,model:o}))},[r,o]);return n?null:a.jsx(Ro,{label:"ControlNet",activeLabel:t,children:a.jsxs(L,{sx:{flexDir:"column",gap:3},children:[a.jsxs(L,{gap:2,alignItems:"center",children:[a.jsx(L,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:a.jsx(cX,{})}),a.jsx(je,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:a.jsx(Hi,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((i,u)=>a.jsxs(f.Fragment,{children:[u>0&&a.jsx(Fi,{}),a.jsx(iX,{controlNetId:i.controlNetId})]},i.controlNetId))]})})},ry=f.memo(dX),oy=e=>{e.stopPropagation()},fX=rt((e,t)=>{const n=Z(),r=f.useCallback(s=>{s.shiftKey&&n(Go(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(Go(!1))},[n]);return a.jsx(d5,{ref:t,onPaste:oy,onKeyDown:r,onKeyUp:o,...e})}),GP=f.memo(fX),pX=e=>{const{onClick:t}=e;return a.jsx(je,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:a.jsx(g1,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},qP=f.memo(pX),KP=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=_7(),i=f.useRef(null),u=$(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return Qo(s.entities,(g,v)=>{if(!g)return;const b=(u==null?void 0:u.base_model)!==g.base_model;h.push({value:g.model_name,label:g.model_name,group:Mr[g.base_model],disabled:b,tooltip:b?`Incompatible base model: ${g.base_model}`:void 0})}),h.sort((g,v)=>g.disabled&&!v.disabled?1:-1)},[s,u==null?void 0:u.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return a.jsxs(Qv,{initialFocusRef:i,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[a.jsx(Kv,{children:o}),a.jsx(Yv,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:a.jsx(Z6,{sx:{p:0,w:`calc(${J1} - 2rem )`},children:d.length===0?a.jsx(L,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:a.jsx(qe,{children:"No Embeddings Loaded"})}):a.jsx(br,{inputRef:i,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:ai,disabled:d.length===0,onDropdownClose:r,filter:(h,g)=>{var v;return((v=g.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||g.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},sy=()=>{const e=$(g=>g.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=Ws(),s=Z(),{t:i}=ue(),u=f.useCallback(g=>{s(Yc(g.target.value))},[s]),d=f.useCallback(g=>{g.key==="<"&&o()},[o]),p=f.useCallback(g=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${g}>`;const S=b.length;b+=e.slice(v),nc.flushSync(()=>{s(Yc(b))}),t.current.selectionEnd=S,r()},[s,r,e]),h=yr("embedding").isFeatureEnabled;return a.jsxs(ws,{children:[a.jsx(KP,{isOpen:n,onClose:r,onSelect:p,children:a.jsx(GP,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:i("parameters.negativePromptPlaceholder"),onChange:u,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&a.jsx($e,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:a.jsx(qP,{onClick:o})})]})},hX=e=>{const r=e.split(",").map(o=>o.split(":")).map(o=>({seed:Number(o[0]),weight:Number(o[1])}));return ay(r)?r:!1},ay=e=>typeof e=="string"?!!hX(e):!!(e.length&&!e.some(t=>{const{seed:n,weight:r}=t,o=!isNaN(parseInt(n.toString(),10)),s=!isNaN(parseInt(r.toString(),10))&&r>=0&&r<=1;return!(o&&s)})),mX=he([mt,or],(e,t)=>{const{generation:n,system:r}=e,{shouldGenerateVariations:o,seedWeights:s,initialImage:i,seed:u}=n,{isProcessing:d,isConnected:p}=r;let h=!0;const g=[];t==="img2img"&&!i&&(h=!1,g.push("No initial image selected"));const{isSuccess:v}=k7.endpoints.getMainModels.select()(e);return v||(h=!1,g.push("Models are not loaded")),d&&(h=!1,g.push("System Busy")),p||(h=!1,g.push("System Disconnected")),o&&(!(ay(s)||s==="")||u===-1)&&(h=!1,g.push("Seed-Weights badly formatted.")),Qo(e.controlNet.controlNets,(b,S)=>{b.model||(h=!1,g.push("ControlNet ${id} has no model selected."))}),{isReady:h,reasonsWhyNotReady:g}},Ke),iy=()=>{const{isReady:e}=$(mX);return e},gX=he([mt,or],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Gt}}),ly=()=>{const e=Z(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=$(gX),o=iy(),s=f.useRef(null),{isOpen:i,onClose:u,onOpen:d}=Ws(),{t:p}=ue(),h=f.useCallback(S=>{e(Qc(S.target.value))},[e]);Ye("alt+a",()=>{var S;(S=s.current)==null||S.focus()},[]);const g=f.useCallback(S=>{if(!s.current)return;const x=s.current.selectionStart;if(x===void 0)return;let C=t.slice(0,x);C[C.length-1]!=="<"&&(C+="<"),C+=`${S}>`;const _=C.length;C+=t.slice(x),nc.flushSync(()=>{e(Qc(C))}),s.current.selectionStart=_,s.current.selectionEnd=_,u()},[e,u,t]),v=yr("embedding").isFeatureEnabled,b=f.useCallback(S=>{S.key==="Enter"&&S.shiftKey===!1&&o&&(S.preventDefault(),e(bv()),e(xv(r))),v&&S.key==="<"&&d()},[o,e,r,d,v]);return a.jsxs($e,{position:"relative",children:[a.jsx(ws,{children:a.jsx(KP,{isOpen:i,onClose:u,onSelect:g,children:a.jsx(GP,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!i&&v&&a.jsx($e,{sx:{position:"absolute",top:n?6:0,insetInlineEnd:0},children:a.jsx(qP,{onClick:d})})]})},vX=he(mt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ke),yX=()=>{const e=Z(),{isDisabled:t,shouldUseCpuNoise:n}=$(vX);ue();const r=o=>e(j7(o.target.checked));return a.jsx(xr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},bX=he(mt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ke);function xX(){const e=Z(),{threshold:t,isDisabled:n}=$(bX),{t:r}=ue();return a.jsx(Ct,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(mx(o)),handleReset:()=>e(mx(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const wX=()=>{const e=Z(),t=$(r=>r.generation.shouldUseNoiseSettings);ue();const n=r=>e(P7(r.target.checked));return a.jsx(xr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},SX=he(mt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ke);function CX(){const e=Z(),{perlin:t,isDisabled:n}=$(SX),{t:r}=ue();return a.jsx(Ct,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(gx(o)),handleReset:()=>e(gx(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const _X=he(mt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ke),kX=()=>{const{t:e}=ue(),t=yr("noise").isFeatureEnabled,n=yr("perlinNoise").isFeatureEnabled,r=yr("noiseThreshold").isFeatureEnabled,{activeLabel:o}=$(_X);return t?a.jsx(Ro,{label:e("parameters.noiseSettings"),activeLabel:o,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(wX,{}),a.jsx(yX,{}),n&&a.jsx(CX,{}),r&&a.jsx(xX,{})]})}):null},QP=f.memo(kX),Zo=e=>e.generation,jX=he(Zo,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ke),PX=()=>{const{t:e}=ue(),{seamlessXAxis:t}=$(jX),n=Z(),r=f.useCallback(o=>{n(I7(o.target.checked))},[n]);return a.jsx(xr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},IX=f.memo(PX),EX=he(Zo,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ke),OX=()=>{const{t:e}=ue(),{seamlessYAxis:t}=$(EX),n=Z(),r=f.useCallback(o=>{n(E7(o.target.checked))},[n]);return a.jsx(xr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},MX=f.memo(OX),RX=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},DX=he(Zo,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:RX(t,n)}},Ke),AX=()=>{const{t:e}=ue(),{activeLabel:t}=$(DX);return yr("seamless").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.seamlessTiling"),activeLabel:t,children:a.jsxs(L,{sx:{gap:5},children:[a.jsx($e,{flexGrow:1,children:a.jsx(IX,{})}),a.jsx($e,{flexGrow:1,children:a.jsx(MX,{})})]})}):null},YP=f.memo(AX);function TX(){const e=$(o=>o.generation.horizontalSymmetrySteps),t=$(o=>o.generation.steps),n=Z(),{t:r}=ue();return a.jsx(Ct,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(vx(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(vx(0))})}function NX(){const e=$(o=>o.generation.verticalSymmetrySteps),t=$(o=>o.generation.steps),n=Z(),{t:r}=ue();return a.jsx(Ct,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(yx(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(yx(0))})}function $X(){const e=$(n=>n.generation.shouldUseSymmetry),t=Z();return a.jsx(xr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(O7(n.target.checked))})}const zX=he(mt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ke),LX=()=>{const{t:e}=ue(),{activeLabel:t}=$(zX);return yr("symmetry").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.symmetry"),activeLabel:t,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx($X,{}),a.jsx(TX,{}),a.jsx(NX,{})]})}):null},cy=f.memo(LX);function BX(){const e=$(o=>o.generation.variationAmount),t=$(o=>o.generation.shouldGenerateVariations),{t:n}=ue(),r=Z();return a.jsx(Ct,{label:n("parameters.variationAmount"),value:e,step:.01,min:0,max:1,isDisabled:!t,onChange:o=>r(bx(o)),handleReset:()=>r(bx(.1)),withInput:!0,withReset:!0,withSliderMarks:!0})}const FX=()=>{const e=Z(),t=$(r=>r.generation.shouldGenerateVariations);ue();const n=r=>e(M7(r.target.checked));return a.jsx(xr,{label:"Enable Variations",isChecked:t,onChange:n})},HX={display:"flex",flexDirection:"row",alignItems:"center",gap:10},WX=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...i}=e,u=Z(),d=f.useCallback(h=>{h.shiftKey&&u(Go(!0))},[u]),p=f.useCallback(h=>{h.shiftKey||u(Go(!1))},[u]);return a.jsxs(ws,{isInvalid:o,isDisabled:r,...s,style:n==="side"?HX:void 0,children:[t!==""&&a.jsx(gs,{children:t}),a.jsx(Iu,{...i,onPaste:oy,onKeyDown:d,onKeyUp:p})]})},zi=f.memo(WX);function VX(){const e=$(s=>s.generation.seedWeights),t=$(s=>s.generation.shouldGenerateVariations),{t:n}=ue(),r=Z(),o=s=>r(R7(s.target.value));return a.jsx(zi,{label:n("parameters.seedWeights"),value:e,isInvalid:t&&!(ay(e)||e===""),isDisabled:!t,onChange:o})}const UX=he(mt,e=>({activeLabel:e.generation.shouldGenerateVariations?"Enabled":void 0}),Ke),GX=()=>{const{t:e}=ue(),{activeLabel:t}=$(UX);return yr("variation").isFeatureEnabled?a.jsx(Ro,{label:e("parameters.variations"),activeLabel:t,children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(FX,{}),a.jsx(BX,{}),a.jsx(VX,{})]})}):null},uy=f.memo(GX),qX=he(xo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Gt}}),KX=e=>{const t=Z(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:i,cancelType:u,isCancelScheduled:d,sessionId:p}=$(qX),h=f.useCallback(()=>{if(p){if(u==="scheduled"){t(D7());return}t(A7({session_id:p}))}},[t,p,u]),{t:g}=ue(),v=f.useCallback(x=>{const C=Array.isArray(x)?x[0]:x;t(T7(C))},[t]);Ye("shift+x",()=>{(s||o)&&i&&h()},[s,o,i]);const b=f.useMemo(()=>g(d?"parameters.cancel.isScheduled":u==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[g,u,d]),S=f.useMemo(()=>d?a.jsx(N7,{}):u==="immediate"?a.jsx(HK,{}):a.jsx($K,{}),[u,d]);return a.jsxs(Yn,{isAttached:!0,width:n,children:[a.jsx(je,{icon:S,tooltip:b,"aria-label":b,isDisabled:!s||!o||!i,onClick:h,colorScheme:"error",id:"cancel-button",...r}),a.jsxs(Mu,{closeOnSelect:!1,children:[a.jsx(Ru,{as:je,tooltip:g("parameters.cancel.setType"),"aria-label":g("parameters.cancel.setType"),icon:a.jsx(PL,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),a.jsx(ic,{minWidth:"240px",children:a.jsxs(Uv,{value:u,title:"Cancel Type",type:"radio",onChange:v,children:[a.jsx(iu,{value:"immediate",children:g("parameters.cancel.immediate")}),a.jsx(iu,{value:"scheduled",children:g("parameters.cancel.schedule")})]})})]})]})},Th=f.memo(KX),QX=he(xo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Gt}}),YX=()=>{const{t:e}=ue(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=$(QX),s=n?Math.round(n*100/r):0;return a.jsx(t5,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},XP=f.memo(YX),MC={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},XX=he([mt,or,Sr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ke);function dy(e){const{iconButton:t=!1,...n}=e,r=Z(),o=iy(),{isBusy:s,autoAddBoardId:i,activeTabName:u}=$(XX),d=bh(i),p=f.useCallback(()=>{r(bv()),r(xv(u))},[r,u]),{t:h}=ue();return Ye(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,u]),a.jsx($e,{style:{flexGrow:4},position:"relative",children:a.jsxs($e,{style:{position:"relative"},children:[!o&&a.jsx($e,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:a.jsx(XP,{})}),a.jsx(Cn,{placement:"top",hasArrow:!0,openDelay:500,label:i?`Auto-Adding to ${d}`:void 0,children:t?a.jsx(je,{"aria-label":h("parameters.invoke"),type:"submit",icon:a.jsx(x_,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?MC:{}}}):a.jsx(Xt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?MC:{}},children:"Invoke"})})]})})}const fy=()=>a.jsxs(L,{gap:2,children:[a.jsx(dy,{}),a.jsx(Th,{})]}),Hp=/^-?(0\.)?\.?$/,JX=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:i,min:u,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:g,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:S,...x}=e,C=Z(),[_,k]=f.useState(String(s));f.useEffect(()=>{!_.match(Hp)&&s!==Number(_)&&k(String(s))},[s,_]);const P=R=>{k(R),R.match(Hp)||i(p?Math.floor(Number(R)):Number(R))},I=R=>{const D=Vs(p?Math.floor(Number(R.target.value)):Number(R.target.value),u,d);k(String(D)),i(D)},E=f.useCallback(R=>{R.shiftKey&&C(Go(!0))},[C]),O=f.useCallback(R=>{R.shiftKey||C(Go(!1))},[C]);return a.jsx(Cn,{...S,children:a.jsxs(ws,{isDisabled:n,isInvalid:o,...h,children:[t&&a.jsx(gs,{...g,children:t}),a.jsxs(G4,{value:_,min:u,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...x,onPaste:oy,children:[a.jsx(q4,{...v,onKeyDown:E,onKeyUp:O}),r&&a.jsxs(K4,{children:[a.jsx(Q4,{...b}),a.jsx(Y4,{...b})]})]})]})})},Nh=f.memo(JX),ZX=he([Zo,qi,Zr,Cu],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:i,inputMax:u,shouldUseSliders:p,shift:h}},Ke),eJ=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:i}=$(ZX),u=Z(),{t:d}=ue(),p=f.useCallback(g=>u(Ef(g)),[u]),h=f.useCallback(()=>u(Ef(t)),[u,t]);return s?a.jsx(Ct,{label:d("parameters.cfgScale"),step:i?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):a.jsx(Nh,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},ql=f.memo(eJ),tJ=he([mt],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:i}=e.config.sd.iterations,{iterations:u}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:i;return{iterations:u,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ke),nJ=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:i,isDisabled:u}=$(tJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{d(xx(v))},[d]),g=f.useCallback(()=>{d(xx(t))},[d,t]);return i?a.jsx(Ct,{isDisabled:u,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:g,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):a.jsx(Nh,{isDisabled:u,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},Kl=f.memo(nJ),rJ=Zp.child({module:"models"}),JP=e=>{const[t,n,r]=e.split("/"),o=$7.safeParse({base_model:t,model_name:r});if(!o.success){rJ.error({mainModelId:e,errors:o.error.format()},"Failed to parse main model id");return}return o.data};function py(e){const{iconMode:t=!1}=e,n=Z(),{t:r}=ue(),[o,{isLoading:s}]=z7(),i=()=>{o().unwrap().then(u=>{n(Bn(Vn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(u=>{u&&n(Bn(Vn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?a.jsx(je,{icon:a.jsx(C_,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:i,size:"sm"}):a.jsx(Xt,{isLoading:s,onClick:i,minW:"max-content",children:"Sync Models"})}const oJ=he(mt,e=>({model:e.generation.model}),Ke),sJ=()=>{const e=Z(),{t}=ue(),{model:n}=$(oJ),{data:r,isLoading:o}=Ei(),s=f.useMemo(()=>{if(!r)return[];const d=[];return Qo(r.entities,(p,h)=>{!p||["sdxl","sdxl-refiner"].includes(p.base_model)||d.push({value:h,label:p.model_name,group:Mr[p.base_model]})}),d},[r]),i=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),u=f.useCallback(d=>{if(!d)return;const p=JP(d);p&&e(Qg(p))},[e]);return o?a.jsx(br,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(L,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(br,{tooltip:i==null?void 0:i.description,label:t("modelManager.model"),value:i==null?void 0:i.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:u,w:"100%"}),a.jsx($e,{mt:7,children:a.jsx(py,{iconMode:!0})})]})},aJ=f.memo(sJ),iJ=Zp.child({module:"models"}),ZP=e=>{const[t,n,r]=e.split("/"),o=L7.safeParse({base_model:t,model_name:r});if(!o.success){iJ.error({vaeModelId:e,errors:o.error.format()},"Failed to parse VAE model id");return}return o.data},lJ=he(mt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ke),cJ=()=>{const e=Z(),{t}=ue(),{model:n,vae:r}=$(lJ),{data:o}=X4(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return Qo(o.entities,(p,h)=>{if(!p)return;const g=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Mr[p.base_model],disabled:g,tooltip:g?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),i=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),u=f.useCallback(d=>{if(!d||d==="default"){e(wx(null));return}const p=ZP(d);p&&e(wx(p))},[e]);return a.jsx(br,{itemComponent:ai,tooltip:i==null?void 0:i.description,label:t("modelManager.vae"),value:(i==null?void 0:i.id)??"default",placeholder:"Default",data:s,onChange:u,disabled:s.length===0,clearable:!0})},uJ=f.memo(cJ),dJ=he([Zr,Zo],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=B4.map(s=>({value:s,label:F4[s],group:r.includes(s)?"Favorites":void 0})).sort((s,i)=>s.label.localeCompare(i.label));return{scheduler:n,data:o}},Ke),fJ=()=>{const e=Z(),{t}=ue(),{scheduler:n,data:r}=$(dJ),o=f.useCallback(s=>{s&&e(Yg(s))},[e]);return a.jsx(br,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},pJ=f.memo(fJ),hJ=()=>{const e=yr("vae").isFeatureEnabled;return a.jsxs(L,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[a.jsx($e,{w:"full",children:a.jsx(aJ,{})}),a.jsxs(L,{gap:3,w:"full",children:[e&&a.jsx($e,{w:"full",children:a.jsx(uJ,{})}),a.jsx($e,{w:"full",children:a.jsx(pJ,{})})]})]})},Ql=f.memo(hJ),mJ=[{name:"Free",value:null},{name:"Portrait",value:.67/1},{name:"Wide",value:16/9},{name:"Square",value:1/1}];function eI(){const e=$(o=>o.ui.aspectRatio),t=Z(),n=$(o=>o.generation.shouldFitToWidthHeight),r=$(or);return a.jsx(L,{gap:2,flexGrow:1,children:a.jsx(Yn,{isAttached:!0,children:mJ.map(o=>a.jsx(Xt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(B7(o.value)),children:o.name},o.name))})})}const gJ=he([Zo,Cu,qi,Zr],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=n.sd.height,{height:h}=e,{aspectRatio:g}=r,v=t.shift?d:p;return{height:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,aspectRatio:g}},Ke),vJ=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:i,aspectRatio:u}=$(gJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{if(d(Ll(v)),u){const b=cs(v*u,8);d(zl(b))}},[d,u]),g=f.useCallback(()=>{if(d(Ll(n)),u){const v=cs(n*u,8);d(zl(v))}},[d,n,u]);return a.jsx(Ct,{label:p("parameters.height"),value:t,min:r,step:i,max:o,onChange:h,handleReset:g,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},yJ=f.memo(vJ),bJ=he([Zo,Cu,qi,Zr],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=n.sd.width,{width:h}=e,{aspectRatio:g}=r,v=t.shift?d:p;return{width:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,aspectRatio:g}},Ke),xJ=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:i,aspectRatio:u}=$(bJ),d=Z(),{t:p}=ue(),h=f.useCallback(v=>{if(d(zl(v)),u){const b=cs(v/u,8);d(Ll(b))}},[d,u]),g=f.useCallback(()=>{if(d(zl(n)),u){const v=cs(n/u,8);d(Ll(v))}},[d,n,u]);return a.jsx(Ct,{label:p("parameters.width"),value:t,min:r,step:i,max:o,onChange:h,handleReset:g,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},wJ=f.memo(xJ);function Wp(){const{t:e}=ue(),t=Z(),n=$(o=>o.generation.shouldFitToWidthHeight),r=$(or);return a.jsxs(L,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[a.jsxs(L,{alignItems:"center",gap:2,children:[a.jsx(qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),a.jsx(Bi,{}),a.jsx(eI,{}),a.jsx(je,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:a.jsx(jP,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(F7())})]}),a.jsx(L,{gap:2,alignItems:"center",children:a.jsxs(L,{gap:2,flexDirection:"column",width:"full",children:[a.jsx(wJ,{isDisabled:r==="img2img"?!n:!1}),a.jsx(yJ,{isDisabled:r==="img2img"?!n:!1})]})})]})}const SJ=he([Zo,qi,Zr,Cu],(e,t,n,r)=>{const{initial:o,min:s,sliderMax:i,inputMax:u,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:g}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:i,inputMax:u,step:v,shouldUseSliders:g}},Ke),CJ=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:i}=$(SJ),u=Z(),{t:d}=ue(),p=f.useCallback(v=>{u(Of(v))},[u]),h=f.useCallback(()=>{u(Of(t))},[u,t]),g=f.useCallback(()=>{u(bv())},[u]);return i?a.jsx(Ct,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):a.jsx(Nh,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:g})},Yl=f.memo(CJ);function _J(){const e=Z(),t=$(o=>o.generation.shouldFitToWidthHeight),n=o=>e(H7(o.target.checked)),{t:r}=ue();return a.jsx(xr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}const kJ=he([Zo,Cu,qi],(e,t,n)=>{const{initial:r,min:o,sliderMax:s,inputMax:i,fineStep:u,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?u:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:i,step:h}},Ke),jJ=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=$(kJ),i=Z(),{t:u}=ue(),d=f.useCallback(h=>i(Mf(h)),[i]),p=f.useCallback(()=>{i(Mf(t))},[i,t]);return a.jsx(Ct,{label:`${u("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},tI=f.memo(jJ);function PJ(){const e=$(i=>i.generation.seed),t=$(i=>i.generation.shouldRandomizeSeed),n=$(i=>i.generation.shouldGenerateVariations),{t:r}=ue(),o=Z(),s=i=>o(If(i));return a.jsx(Nh,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:J4,max:Z4,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e,formControlProps:{display:"flex",alignItems:"center",gap:3}})}const IJ=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function EJ(){const e=Z(),t=$(o=>o.generation.shouldRandomizeSeed),{t:n}=ue(),r=()=>e(If(IJ(J4,Z4)));return a.jsx(je,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:a.jsx(hL,{})})}const OJ=()=>{const e=Z(),{t}=ue(),n=$(o=>o.generation.shouldRandomizeSeed),r=o=>e(W7(o.target.checked));return a.jsx(xr,{label:t("common.random"),isChecked:n,onChange:r})},MJ=f.memo(OJ),RJ=()=>a.jsxs(L,{sx:{gap:4,alignItems:"center"},children:[a.jsx(PJ,{}),a.jsx(EJ,{}),a.jsx(MJ,{})]}),Xl=f.memo(RJ),DJ=he([Zr,Zo],(e,t)=>{const{shouldUseSliders:n}=e,{shouldFitToWidthHeight:r,shouldRandomizeSeed:o}=t;return{shouldUseSliders:n,shouldFitToWidthHeight:r,activeLabel:o?void 0:"Manual Seed"}},Ke),AJ=()=>{const{shouldUseSliders:e,shouldFitToWidthHeight:t,activeLabel:n}=$(DJ);return a.jsx(Ro,{label:"General",activeLabel:n,defaultIsOpen:!0,children:a.jsxs(L,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}),a.jsx(tI,{}),a.jsx(_J,{})]})})},TJ=f.memo(AJ),NJ=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(TJ,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(QP,{}),a.jsx(cy,{}),a.jsx(YP,{}),a.jsx(ny,{})]}),nI=f.memo(NJ),$J=()=>{const e=Z(),t=f.useRef(null),n=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(nI,{})}),a.jsx($e,{sx:{w:"full",h:"full"},children:a.jsxs(X1,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[a.jsx(gu,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:a.jsx(RQ,{})}),a.jsx(HP,{onDoubleClick:n}),a.jsx(gu,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(yo())},children:a.jsx(VP,{})})]})})]})},zJ=f.memo($J);var LJ=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var i=s[o];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n};const RC=wu(LJ);function K0(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var BJ=Object.defineProperty,DC=Object.getOwnPropertySymbols,FJ=Object.prototype.hasOwnProperty,HJ=Object.prototype.propertyIsEnumerable,AC=(e,t,n)=>t in e?BJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WJ=(e,t)=>{for(var n in t||(t={}))FJ.call(t,n)&&AC(e,n,t[n]);if(DC)for(var n of DC(t))HJ.call(t,n)&&AC(e,n,t[n]);return e};function rI(e,t){if(t===null||typeof t!="object")return{};const n=WJ({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const VJ="__MANTINE_FORM_INDEX__";function TC(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${VJ}`)):!1:!1}function NC(e,t,n){typeof n.value=="object"&&(n.value=_l(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function _l(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(i){o.add(_l(i))})):s==="[object Map]"?(o=new Map,e.forEach(function(i,u){o.set(_l(u),_l(i))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(_l(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function Q0(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const i=e[s],u=`${n===""?"":`${n}.`}${s}`,d=ia(u,t);let p=!1;return typeof i=="function"&&(o[u]=i(d,t,u)),typeof i=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,g)=>Q0(i,t,`${u}.${g}`,o))),typeof i=="object"&&typeof d=="object"&&d!==null&&(p||Q0(i,t,u,o)),o},r)}function Y0(e,t){return $C(typeof e=="function"?e(t):Q0(e,t))}function mf(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=Y0(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((i,u)=>i===s.split(".")[u]));return{hasError:!!o,error:o?r.errors[o]:null}}function UJ(e,{from:t,to:n},r){const o=ia(e,r);if(!Array.isArray(o))return r;const s=[...o],i=o[t];return s.splice(t,1),s.splice(n,0,i),$h(e,s,r)}var GJ=Object.defineProperty,zC=Object.getOwnPropertySymbols,qJ=Object.prototype.hasOwnProperty,KJ=Object.prototype.propertyIsEnumerable,LC=(e,t,n)=>t in e?GJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QJ=(e,t)=>{for(var n in t||(t={}))qJ.call(t,n)&&LC(e,n,t[n]);if(zC)for(var n of zC(t))KJ.call(t,n)&&LC(e,n,t[n]);return e};function YJ(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,i=QJ({},r);return Object.keys(r).every(u=>{let d,p;if(u.startsWith(o)&&(d=u,p=u.replace(o,s)),u.startsWith(s)&&(d=u.replace(s,o),p=u),d&&p){const h=i[d],g=i[p];return g===void 0?delete i[d]:i[d]=g,h===void 0?delete i[p]:i[p]=h,!1}return!0}),i}function XJ(e,t,n){const r=ia(e,n);return Array.isArray(r)?$h(e,r.filter((o,s)=>s!==t),n):n}var JJ=Object.defineProperty,BC=Object.getOwnPropertySymbols,ZJ=Object.prototype.hasOwnProperty,eZ=Object.prototype.propertyIsEnumerable,FC=(e,t,n)=>t in e?JJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tZ=(e,t)=>{for(var n in t||(t={}))ZJ.call(t,n)&&FC(e,n,t[n]);if(BC)for(var n of BC(t))eZ.call(t,n)&&FC(e,n,t[n]);return e};function HC(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function WC(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=rI(`${o}.${t}`,s));const i=tZ({},s),u=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=HC(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=HC(d,o),g=d.replace(`${o}.${h}`,`${o}.${h+r}`);i[g]=p,u.add(g),u.has(d)||delete i[d]}),i}function nZ(e,t,n,r){const o=ia(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),$h(e,s,r)}function VC(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function rZ(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var oZ=Object.defineProperty,sZ=Object.defineProperties,aZ=Object.getOwnPropertyDescriptors,UC=Object.getOwnPropertySymbols,iZ=Object.prototype.hasOwnProperty,lZ=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?oZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,za=(e,t)=>{for(var n in t||(t={}))iZ.call(t,n)&&GC(e,n,t[n]);if(UC)for(var n of UC(t))lZ.call(t,n)&&GC(e,n,t[n]);return e},Bg=(e,t)=>sZ(e,aZ(t));function pc({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:i=!1,transformValues:u=p=>p,validate:d}={}){const[p,h]=f.useState(r),[g,v]=f.useState(n),[b,S]=f.useState(e),[x,C]=f.useState(K0(t)),_=f.useRef(e),k=te=>{_.current=te},P=f.useCallback(()=>h({}),[]),I=te=>{const H=te?za(za({},b),te):b;k(H),v({})},E=f.useCallback(te=>C(H=>K0(typeof te=="function"?te(H):te)),[]),O=f.useCallback(()=>C({}),[]),R=f.useCallback(()=>{S(e),O(),k(e),v({}),P()},[]),D=f.useCallback((te,H)=>E(re=>Bg(za({},re),{[te]:H})),[]),T=f.useCallback(te=>E(H=>{if(typeof te!="string")return H;const re=za({},H);return delete re[te],re}),[]),B=f.useCallback(te=>v(H=>{if(typeof te!="string")return H;const re=rI(te,H);return delete re[te],re}),[]),W=f.useCallback((te,H)=>{const re=TC(te,s);B(te),h(pe=>Bg(za({},pe),{[te]:!0})),S(pe=>{const ne=$h(te,H,pe);if(re){const ve=mf(te,d,ne);ve.hasError?D(te,ve.error):T(te)}return ne}),!re&&o&&D(te,null)},[]),J=f.useCallback(te=>{S(H=>{const re=typeof te=="function"?te(H):te;return za(za({},H),re)}),o&&O()},[]),F=f.useCallback((te,H)=>{B(te),S(re=>UJ(te,H,re)),C(re=>YJ(te,H,re))},[]),N=f.useCallback((te,H)=>{B(te),S(re=>XJ(te,H,re)),C(re=>WC(te,H,re,-1))},[]),G=f.useCallback((te,H,re)=>{B(te),S(pe=>nZ(te,H,re,pe)),C(pe=>WC(te,re,pe,1))},[]),K=f.useCallback(()=>{const te=Y0(d,b);return C(te.errors),te},[b,d]),M=f.useCallback(te=>{const H=mf(te,d,b);return H.hasError?D(te,H.error):T(te),H},[b,d]),U=(te,{type:H="input",withError:re=!0,withFocus:pe=!0}={})=>{const ve={onChange:rZ(de=>W(te,de))};return re&&(ve.error=x[te]),H==="checkbox"?ve.checked=ia(te,b):ve.value=ia(te,b),pe&&(ve.onFocus=()=>h(de=>Bg(za({},de),{[te]:!0})),ve.onBlur=()=>{if(TC(te,i)){const de=mf(te,d,b);de.hasError?D(te,de.error):T(te)}}),ve},V=(te,H)=>re=>{re==null||re.preventDefault();const pe=K();pe.hasErrors?H==null||H(pe.errors,b,re):te==null||te(u(b),re)},ee=te=>u(te||b),ie=f.useCallback(te=>{te.preventDefault(),R()},[]),xe=te=>{if(te){const re=ia(te,g);if(typeof re=="boolean")return re;const pe=ia(te,b),ne=ia(te,_.current);return!RC(pe,ne)}return Object.keys(g).length>0?VC(g):!RC(b,_.current)},me=f.useCallback(te=>VC(p,te),[p]),ae=f.useCallback(te=>te?!mf(te,d,b).hasError:!Y0(d,b).hasErrors,[b,d]);return{values:b,errors:x,setValues:J,setErrors:E,setFieldValue:W,setFieldError:D,clearFieldError:T,clearErrors:O,reset:R,validate:K,validateField:M,reorderListItem:F,removeListItem:N,insertListItem:G,getInputProps:U,onSubmit:V,onReset:ie,isDirty:xe,isTouched:me,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:ae,getTransformedValues:ee}}function Or(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:i,base700:u,base900:d,accent500:p,accent300:h}=F1(),{colorMode:g}=xs();return a.jsx(Jj,{styles:()=>({input:{color:Me(d,r)(g),backgroundColor:Me(n,d)(g),borderColor:Me(o,i)(g),borderWidth:2,outline:"none",":focus":{borderColor:Me(h,p)(g)}},label:{color:Me(u,s)(g),fontWeight:"normal",marginBottom:4}}),...t})}const cZ=[{value:"sd-1",label:Mr["sd-1"]},{value:"sd-2",label:Mr["sd-2"]},{value:"sdxl",label:Mr.sdxl},{value:"sdxl-refiner",label:Mr["sdxl-refiner"]}];function zh(e){const{...t}=e,{t:n}=ue();return a.jsx(Co,{label:n("modelManager.baseModel"),data:cZ,...t})}function sI(e){const{data:t}=e3(),{...n}=e;return a.jsx(Co,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const uZ=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function Lh(e){const{...t}=e,{t:n}=ue();return a.jsx(Co,{label:n("modelManager.variant"),data:uZ,...t})}function aI(e){const{t}=ue(),n=Z(),{model_path:r}=e,o=pc({initialValues:{model_name:r?r.split("\\").splice(-1)[0].split(".")[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=t3(),[i,u]=f.useState(!1),d=p=>{s({body:p}).unwrap().then(h=>{n(Bn(Vn({title:`Model Added: ${p.model_name}`,status:"success"}))),o.reset(),r&&n(_u(null))}).catch(h=>{h&&n(Bn(Vn({title:"Model Add Failed",status:"error"})))})};return a.jsx("form",{onSubmit:o.onSubmit(p=>d(p)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(Or,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),a.jsx(zh,{...o.getInputProps("base_model")}),a.jsx(Or,{label:"Model Location",required:!0,...o.getInputProps("path")}),a.jsx(Or,{label:"Description",...o.getInputProps("description")}),a.jsx(Or,{label:"VAE Location",...o.getInputProps("vae")}),a.jsx(Lh,{...o.getInputProps("variant")}),a.jsxs(L,{flexDirection:"column",width:"100%",gap:2,children:[i?a.jsx(Or,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):a.jsx(sI,{required:!0,width:"100%",...o.getInputProps("config")}),a.jsx(Ln,{isChecked:i,onChange:()=>u(!i),label:"Use Custom Config"}),a.jsx(Xt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function iI(e){const{t}=ue(),n=Z(),{model_path:r}=e,[o]=t3(),s=pc({initialValues:{model_name:r?r.split("\\").splice(-1)[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),i=u=>{o({body:u}).unwrap().then(d=>{n(Bn(Vn({title:`Model Added: ${u.model_name}`,status:"success"}))),s.reset(),r&&n(_u(null))}).catch(d=>{d&&n(Bn(Vn({title:"Model Add Failed",status:"error"})))})};return a.jsx("form",{onSubmit:s.onSubmit(u=>i(u)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(Or,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),a.jsx(zh,{...s.getInputProps("base_model")}),a.jsx(Or,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),a.jsx(Or,{label:"Description",...s.getInputProps("description")}),a.jsx(Or,{label:"VAE Location",...s.getInputProps("vae")}),a.jsx(Lh,{...s.getInputProps("variant")}),a.jsx(Xt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const lI=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function dZ(){const[e,t]=f.useState("diffusers");return a.jsxs(L,{flexDirection:"column",gap:4,width:"100%",children:[a.jsx(Co,{label:"Model Type",value:e,data:lI,onChange:n=>{n&&t(n)}}),a.jsxs(L,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&a.jsx(iI,{}),e==="checkpoint"&&a.jsx(aI,{})]})]})}const fZ=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function pZ(){const e=Z(),{t}=ue(),n=$(u=>u.system.isProcessing),[r,{isLoading:o}]=n3(),s=pc({initialValues:{location:"",prediction_type:void 0}}),i=u=>{const d={location:u.location,prediction_type:u.prediction_type==="none"?void 0:u.prediction_type};r({body:d}).unwrap().then(p=>{e(Bn(Vn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(Bn(Vn({title:`${p.data.detail} `,status:"error"}))))})};return a.jsx("form",{onSubmit:s.onSubmit(u=>i(u)),style:{width:"100%"},children:a.jsxs(L,{flexDirection:"column",width:"100%",gap:4,children:[a.jsx(Or,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),a.jsx(Co,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:fZ,defaultValue:"none",...s.getInputProps("prediction_type")}),a.jsx(Xt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function hZ(){const[e,t]=f.useState("simple");return a.jsxs(L,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),a.jsx(Xt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),a.jsxs(L,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&a.jsx(pZ,{}),e==="advanced"&&a.jsx(dZ,{})]})]})}function mZ(e){const{...t}=e;return a.jsx(Uk,{w:"100%",...t,children:e.children})}function gZ(){const e=$(x=>x.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=Ei(),{foundModels:o,alreadyInstalled:s,filteredModels:i}=r3({search_path:e||""},{selectFromResult:({data:x})=>{const C=SM(r==null?void 0:r.entities),_=Ss(C,"path"),k=bM(x,_),P=PM(x,_);return{foundModels:x,alreadyInstalled:qC(P,t),filteredModels:qC(k,t)}}}),[u,{isLoading:d}]=n3(),p=Z(),{t:h}=ue(),g=f.useCallback(x=>{const C=x.currentTarget.id.split("\\").splice(-1)[0];u({body:{location:x.currentTarget.id}}).unwrap().then(_=>{p(Bn(Vn({title:`Added Model: ${C}`,status:"success"})))}).catch(_=>{_&&p(Bn(Vn({title:"Failed To Add Model",status:"error"})))})},[p,u]),v=f.useCallback(x=>{n(x.target.value)},[]),b=({models:x,showActions:C=!0})=>x.map(_=>a.jsxs(L,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[a.jsx(qe,{sx:{fontWeight:600},children:_.split("\\").slice(-1)[0]}),a.jsx(qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:_})]}),C?a.jsxs(L,{gap:2,children:[a.jsx(Xt,{id:_,onClick:g,isLoading:d,children:"Quick Add"}),a.jsx(Xt,{onClick:()=>p(_u(_)),isLoading:d,children:"Advanced"})]}):a.jsx(qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},_));return(()=>{if(e)return!o||o.length===0?a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:a.jsx(qe,{variant:"subtext",children:"No Models Found"})}):a.jsxs(L,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[a.jsx(zi,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),a.jsxs(L,{p:2,gap:2,children:[a.jsxs(qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),a.jsxs(qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",i.length]})]}),a.jsx(mZ,{offsetScrollbars:!0,children:a.jsxs(L,{gap:2,flexDirection:"column",children:[b({models:i}),b({models:s,showActions:!1})]})})]})})()}const qC=(e,t)=>{const n=[];return Qo(e,r=>{r&&r.includes(t)&&n.push(r)}),n};function vZ(){const e=$(i=>i.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(i=>e.endsWith(i))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=Z();return e&&a.jsxs($e,{as:Jr.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{justifyContent:"space-between",alignItems:"center",children:[a.jsx(qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),a.jsx(je,{icon:a.jsx(wL,{}),"aria-label":"Close Advanced",onClick:()=>s(_u(null)),size:"sm"})]}),a.jsx(Co,{label:"Model Type",value:t,data:lI,onChange:i=>{i&&(n(i),o(i==="checkpoint"))}}),r?a.jsx(aI,{model_path:e},e):a.jsx(iI,{model_path:e},e)]})}function yZ(){const e=Z(),{t}=ue(),n=$(u=>u.modelmanager.searchFolder),{refetch:r}=r3({search_path:n||""}),o=pc({initialValues:{folder:""}}),s=f.useCallback(u=>{e(Sx(u.folder))},[e]),i=()=>{r()};return a.jsx("form",{onSubmit:o.onSubmit(u=>s(u)),style:{width:"100%"},children:a.jsxs(L,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[a.jsxs(L,{w:"100%",alignItems:"center",gap:4,minH:12,children:[a.jsx(qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?a.jsx(L,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):a.jsx(zi,{w:"100%",size:"md",...o.getInputProps("folder")})]}),a.jsxs(L,{gap:2,children:[n?a.jsx(je,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:a.jsx(C_,{}),onClick:i,fontSize:18,size:"sm"}):a.jsx(je,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:a.jsx(gL,{}),fontSize:18,size:"sm",type:"submit"}),a.jsx(je,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:a.jsx(Xo,{}),size:"sm",onClick:()=>{e(Sx(null)),e(_u(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const bZ=f.memo(yZ);function xZ(){return a.jsxs(L,{flexDirection:"column",w:"100%",gap:4,children:[a.jsx(bZ,{}),a.jsxs(L,{gap:4,children:[a.jsx(L,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:a.jsx(gZ,{})}),a.jsx(vZ,{})]})]})}function wZ(){const[e,t]=f.useState("add"),{t:n}=ue();return a.jsxs(L,{flexDirection:"column",gap:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),a.jsx(Xt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&a.jsx(hZ,{}),e=="scan"&&a.jsx(xZ,{})]})}const SZ=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function CZ(){const{t:e}=ue(),t=Z(),{data:n}=Ei(),[r,{isLoading:o}]=V7(),[s,i]=f.useState("sd-1"),u=Cx(n==null?void 0:n.entities,(M,U)=>(M==null?void 0:M.model_format)==="diffusers"&&(M==null?void 0:M.base_model)==="sd-1"),d=Cx(n==null?void 0:n.entities,(M,U)=>(M==null?void 0:M.model_format)==="diffusers"&&(M==null?void 0:M.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":u,"sd-2":d}),[u,d]),[h,g]=f.useState(Object.keys(p[s])[0]),[v,b]=f.useState(Object.keys(p[s])[1]),[S,x]=f.useState(null),[C,_]=f.useState(""),[k,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[D,T]=f.useState(""),[B,W]=f.useState(!1),J=Object.keys(p[s]).filter(M=>M!==v&&M!==S),F=Object.keys(p[s]).filter(M=>M!==h&&M!==S),N=Object.keys(p[s]).filter(M=>M!==h&&M!==v),G=M=>{i(M),g(null),b(null)},K=()=>{const M=[];let U=[h,v,S];U=U.filter(ee=>ee!==null),U.forEach(ee=>{ee&&M.push(ee==null?void 0:ee.split("/")[2])});const V={model_names:M,merged_model_name:C!==""?C:M.join("-"),alpha:k,interp:I,force:B,merge_dest_directory:O==="root"?void 0:D};r({base_model:s,body:V}).unwrap().then(ee=>{t(Bn(Vn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(ee=>{ee&&t(Bn(Vn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return a.jsxs(L,{flexDirection:"column",rowGap:4,children:[a.jsxs(L,{sx:{flexDirection:"column",rowGap:1},children:[a.jsx(qe,{children:e("modelManager.modelMergeHeaderHelp1")}),a.jsx(qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),a.jsxs(L,{columnGap:4,children:[a.jsx(Co,{label:"Model Type",w:"100%",data:SZ,value:s,onChange:G}),a.jsx(br,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:J,onChange:M=>g(M)}),a.jsx(br,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:M=>b(M)}),a.jsx(br,{label:e("modelManager.modelThree"),data:N,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:M=>{M?(x(M),E("weighted_sum")):(x(null),E("add_difference"))}})]}),a.jsx(zi,{label:e("modelManager.mergedModelName"),value:C,onChange:M=>_(M.target.value)}),a.jsxs(L,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(Ct,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:k,onChange:M=>P(M),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),a.jsx(qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),a.jsxs(L,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),a.jsx(Bf,{value:I,onChange:M=>E(M),children:a.jsx(L,{columnGap:4,children:S===null?a.jsxs(a.Fragment,{children:[a.jsx(aa,{value:"weighted_sum",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),a.jsx(aa,{value:"sigmoid",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),a.jsx(aa,{value:"inv_sigmoid",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):a.jsx(aa,{value:"add_difference",children:a.jsx(Cn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),a.jsxs(L,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[a.jsxs(L,{columnGap:4,children:[a.jsx(qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),a.jsx(Bf,{value:O,onChange:M=>R(M),children:a.jsxs(L,{columnGap:4,children:[a.jsx(aa,{value:"root",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),a.jsx(aa,{value:"custom",children:a.jsx(qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&a.jsx(zi,{label:e("modelManager.mergedModelCustomSaveLocation"),value:D,onChange:M=>T(M.target.value)})]}),a.jsx(Ln,{label:e("modelManager.ignoreMismatch"),isChecked:B,onChange:M=>W(M.target.checked),fontWeight:"500"}),a.jsx(Xt,{onClick:K,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const _Z=rt((e,t)=>{const{t:n}=ue(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:i,children:u,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:g,onClose:v}=Ws(),b=f.useRef(null),S=()=>{o(),v()},x=()=>{i&&i(),v()};return a.jsxs(a.Fragment,{children:[f.cloneElement(p,{onClick:g,ref:t}),a.jsx(Du,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:d}),a.jsx(ba,{children:u}),a.jsxs(ga,{children:[a.jsx(Xt,{ref:b,onClick:x,children:s}),a.jsx(Xt,{colorScheme:"error",onClick:S,ml:3,children:r})]})]})})})]})}),hy=f.memo(_Z);function kZ(e){const{model:t}=e,n=Z(),{t:r}=ue(),[o,{isLoading:s}]=U7(),[i,u]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{u("InvokeAIRoot")},[t]);const h=()=>{u("InvokeAIRoot")},g=()=>{const v={base_model:t.base_model,model_name:t.model_name,params:{convert_dest_directory:i==="Custom"?d:void 0}};if(i==="Custom"&&d===""){n(Bn(Vn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(Bn(Vn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"success"}))),o(v).unwrap().then(b=>{n(Bn(Vn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(b=>{n(Bn(Vn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return a.jsxs(hy,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:g,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:a.jsxs(Xt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[a.jsxs(L,{flexDirection:"column",rowGap:4,children:[a.jsx(qe,{children:r("modelManager.convertToDiffusersHelpText1")}),a.jsxs(Fv,{children:[a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText2")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText3")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText4")}),a.jsx(la,{children:r("modelManager.convertToDiffusersHelpText5")})]}),a.jsx(qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),a.jsxs(L,{flexDir:"column",gap:2,children:[a.jsxs(L,{marginTop:4,flexDir:"column",gap:2,children:[a.jsx(qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),a.jsx(Bf,{value:i,onChange:v=>u(v),children:a.jsxs(L,{gap:4,children:[a.jsx(aa,{value:"InvokeAIRoot",children:a.jsx(Cn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),a.jsx(aa,{value:"Custom",children:a.jsx(Cn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),i==="Custom"&&a.jsxs(L,{flexDirection:"column",rowGap:2,children:[a.jsx(qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),a.jsx(zi,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function jZ(e){const t=$(Sr),{model:n}=e,[r,{isLoading:o}]=o3(),{data:s}=e3(),[i,u]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||u(!0)},[s,n.config]);const d=Z(),{t:p}=ue(),h=pc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),g=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(S=>{h.setValues(S),d(Bn(Vn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(S=>{h.reset(),d(Bn(Vn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return a.jsxs(L,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(L,{justifyContent:"space-between",alignItems:"center",children:[a.jsxs(L,{flexDirection:"column",children:[a.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Mr[n.base_model]," Model"]})]}),["sdxl","sdxl-refiner"].includes(n.base_model)?a.jsx(Za,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):a.jsx(kZ,{model:n})]}),a.jsx(Fi,{}),a.jsx(L,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:a.jsx("form",{onSubmit:h.onSubmit(v=>g(v)),children:a.jsxs(L,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(Or,{label:p("modelManager.name"),...h.getInputProps("model_name")}),a.jsx(Or,{label:p("modelManager.description"),...h.getInputProps("description")}),a.jsx(zh,{required:!0,...h.getInputProps("base_model")}),a.jsx(Lh,{required:!0,...h.getInputProps("variant")}),a.jsx(Or,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),a.jsx(Or,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),a.jsxs(L,{flexDirection:"column",gap:2,children:[i?a.jsx(Or,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):a.jsx(sI,{required:!0,...h.getInputProps("config")}),a.jsx(Ln,{isChecked:i,onChange:()=>u(!i),label:"Use Custom Config"})]}),a.jsx(Xt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function PZ(e){const t=$(Sr),{model:n}=e,[r,{isLoading:o}]=o3(),s=Z(),{t:i}=ue(),u=pc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(g=>{u.setValues(g),s(Bn(Vn({title:i("modelManager.modelUpdated"),status:"success"})))}).catch(g=>{u.reset(),s(Bn(Vn({title:i("modelManager.modelUpdateFailed"),status:"error"})))})},[u,s,n.base_model,n.model_name,i,r]);return a.jsxs(L,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(L,{flexDirection:"column",children:[a.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Mr[n.base_model]," Model"]})]}),a.jsx(Fi,{}),a.jsx("form",{onSubmit:u.onSubmit(p=>d(p)),children:a.jsxs(L,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(Or,{label:i("modelManager.name"),...u.getInputProps("model_name")}),a.jsx(Or,{label:i("modelManager.description"),...u.getInputProps("description")}),a.jsx(zh,{required:!0,...u.getInputProps("base_model")}),a.jsx(Lh,{required:!0,...u.getInputProps("variant")}),a.jsx(Or,{required:!0,label:i("modelManager.modelLocation"),...u.getInputProps("path")}),a.jsx(Or,{label:i("modelManager.vaeLocation"),...u.getInputProps("vae")}),a.jsx(Xt,{type:"submit",isDisabled:t||o,isLoading:o,children:i("modelManager.updateModel")})]})})]})}const IZ={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"};function KC(e){const t=$(Sr),{t:n}=ue(),r=Z(),[o]=G7(),{model:s,isSelected:i,setSelectedModelId:u}=e,d=f.useCallback(()=>{u(s.id)},[s.id,u]),p=f.useCallback(()=>{o(s).unwrap().then(h=>{r(Bn(Vn({title:`${n("modelManager.modelDeleted")}: ${s.model_name}`,status:"success"})))}).catch(h=>{h&&r(Bn(Vn({title:`${n("modelManager.modelDeleteFailed")}: ${s.model_name}`,status:"success"})))}),u(void 0)},[o,s,u,r,n]);return a.jsxs(L,{sx:{gap:2,alignItems:"center",w:"full"},children:[a.jsx(L,{as:Xt,isChecked:i,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:i?"accent.400":"base.100",color:i?"base.50":"base.800",_hover:{bg:i?"accent.500":"base.300",color:i?"base.50":"base.800"},_dark:{color:i?"base.50":"base.100",bg:i?"accent.600":"base.850",_hover:{color:i?"base.50":"base.100",bg:i?"accent.550":"base.700"}}},onClick:d,children:a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(Za,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:IZ[s.base_model]}),a.jsx(Cn,{label:s.description,hasArrow:!0,placement:"bottom",children:a.jsx(qe,{sx:{fontWeight:500},children:s.model_name})})]})}),a.jsx(hy,{title:n("modelManager.deleteModel"),acceptCallback:p,acceptButtonText:n("modelManager.delete"),triggerComponent:a.jsx(je,{icon:a.jsx(jL,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:a.jsxs(L,{rowGap:4,flexDirection:"column",children:[a.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),a.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const EZ=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ue(),[o,s]=f.useState(""),[i,u]=f.useState("images"),{filteredDiffusersModels:d}=Ei(void 0,{selectFromResult:({data:g})=>({filteredDiffusersModels:QC(g,"diffusers",o)})}),{filteredCheckpointModels:p}=Ei(void 0,{selectFromResult:({data:g})=>({filteredCheckpointModels:QC(g,"checkpoint",o)})}),h=f.useCallback(g=>{s(g.target.value)},[]);return a.jsx(L,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:a.jsxs(L,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[a.jsxs(Yn,{isAttached:!0,children:[a.jsx(Xt,{onClick:()=>u("images"),isChecked:i==="images",size:"sm",children:r("modelManager.allModels")}),a.jsx(Xt,{size:"sm",onClick:()=>u("diffusers"),isChecked:i==="diffusers",children:r("modelManager.diffusersModels")}),a.jsx(Xt,{size:"sm",onClick:()=>u("checkpoint"),isChecked:i==="checkpoint",children:r("modelManager.checkpointModels")})]}),a.jsx(zi,{onChange:h,label:r("modelManager.search"),labelPos:"side"}),a.jsxs(L,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[["images","diffusers"].includes(i)&&d.length>0&&a.jsx(YC,{children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Diffusers"}),d.map(g=>a.jsx(KC,{model:g,isSelected:t===g.id,setSelectedModelId:n},g.id))]})}),["images","checkpoint"].includes(i)&&p.length>0&&a.jsx(YC,{children:a.jsxs(L,{sx:{gap:2,flexDir:"column"},children:[a.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Checkpoints"}),p.map(g=>a.jsx(KC,{model:g,isSelected:t===g.id,setSelectedModelId:n},g.id))]})})]})]})})},QC=(e,t,n)=>{const r=[];return Qo(e==null?void 0:e.entities,o=>{if(!o)return;const s=o.model_name.toLowerCase().includes(n.toLowerCase()),i=o.model_format===t;s&&i&&r.push(o)}),r},YC=e=>a.jsx(L,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function OZ(){const[e,t]=f.useState(),{model:n}=Ei(void 0,{selectFromResult:({data:r})=>({model:e?r==null?void 0:r.entities[e]:void 0})});return a.jsxs(L,{sx:{gap:8,w:"full",h:"full"},children:[a.jsx(EZ,{selectedModelId:e,setSelectedModelId:t}),a.jsx(MZ,{model:n})]})}const MZ=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?a.jsx(jZ,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?a.jsx(PZ,{model:t},t.id):a.jsx(L,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:a.jsx(qe,{variant:"subtext",children:"No Model Selected"})})};function RZ(){const{t:e}=ue();return a.jsxs(L,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(L,{sx:{flexDirection:"column",gap:2},children:[a.jsx(qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),a.jsx(qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),a.jsx(py,{})]})}function DZ(){return a.jsx(L,{children:a.jsx(RZ,{})})}const XC=[{id:"modelManager",label:pr.t("modelManager.modelManager"),content:a.jsx(OZ,{})},{id:"importModels",label:pr.t("modelManager.importModels"),content:a.jsx(wZ,{})},{id:"mergeModels",label:pr.t("modelManager.mergeModels"),content:a.jsx(CZ,{})},{id:"settings",label:pr.t("modelManager.settings"),content:a.jsx(DZ,{})}],AZ=()=>a.jsxs(Nu,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[a.jsx($u,{children:XC.map(e=>a.jsx(Bl,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),a.jsx(fh,{sx:{w:"full",h:"full"},children:XC.map(e=>a.jsx(dh,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),TZ=f.memo(AZ);const NZ=e=>he([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),$Z=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},zZ=he([e=>e.nodes],e=>e.invocationTemplates),my="node-drag-handle",JC={dragHandle:`.${my}`},LZ=()=>{const e=$(zZ),t=eh();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:g}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...JC,id:"progress_image",type:"progress_image",position:{x:h,y:g},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=Ka(),s=_x(r.inputs,(h,g,v)=>{const b=Ka(),S=$Z(b,g);return h[v]=S,h},{}),i=_x(r.outputs,(h,g,v)=>{const S={id:Ka(),name:v,type:g.type};return h[v]=S,h},{}),{x:u,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...JC,id:o,type:"invocation",position:{x:u,y:d},data:{id:o,type:n,inputs:s,outputs:i}}},[e,t])},BZ=e=>{const{nodeId:t,title:n,description:r}=e;return a.jsxs(L,{className:my,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[a.jsx(Cn,{label:t,children:a.jsx(zs,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),a.jsx(Cn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:a.jsx(io,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:aL})})]})},cI=f.memo(BZ),uI=()=>{const e=eh();return f.useCallback(({source:n,sourceHandle:r,target:o,targetHandle:s})=>(e.getEdges(),e.getNodes(),!0),[e])},FZ={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},HZ={left:"-1rem"},WZ={right:"-0.5rem"},VZ=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:i}=t;return a.jsx(Cn,{label:i,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:s3,children:a.jsx(q7,{type:r,id:s,isValidConnection:n,position:r==="target"?kx.Left:kx.Right,style:{backgroundColor:a3[i].colorCssVar,...o,...FZ,...r==="target"?HZ:WZ}})})},dI=f.memo(VZ),UZ=e=>a.jsx(cL,{}),GZ=f.memo(UZ),qZ=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s.target.checked}))};return a.jsx(Xv,{onChange:o,isChecked:n.value})},KZ=f.memo(qZ),QZ=e=>null,YZ=f.memo(QZ);function Bh(){return(Bh=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function X0(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Jl=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:C.buttons>0)&&o.current?s(ZC(o.current,C,u.current)):x(!1)},S=function(){return x(!1)};function x(C){var _=d.current,k=J0(o.current),P=C?k.addEventListener:k.removeEventListener;P(_?"touchmove":"mousemove",b),P(_?"touchend":"mouseup",S)}return[function(C){var _=C.nativeEvent,k=o.current;if(k&&(e4(_),!function(I,E){return E&&!ru(I)}(_,d.current)&&k)){if(ru(_)){d.current=!0;var P=_.changedTouches||[];P.length&&(u.current=P[0].identifier)}k.focus(),s(ZC(k,_,u.current)),x(!0)}},function(C){var _=C.which||C.keyCode;_<37||_>40||(C.preventDefault(),i({left:_===39?.05:_===37?-.05:0,top:_===40?.05:_===38?-.05:0}))},x]},[i,s]),h=p[0],g=p[1],v=p[2];return f.useEffect(function(){return v},[v]),z.createElement("div",Bh({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:g,tabIndex:0,role:"slider"}))}),Fh=function(e){return e.filter(Boolean).join(" ")},vy=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=Fh(["react-colorful__pointer",e.className]);return z.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},z.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},lo=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},pI=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:lo(e.h),s:lo(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:lo(o/2),a:lo(r,2)}},Z0=function(e){var t=pI(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},Fg=function(e){var t=pI(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},XZ=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),i=r*(1-n),u=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:lo(255*[r,u,i,i,d,r][p]),g:lo(255*[d,r,r,u,i,i][p]),b:lo(255*[i,i,d,r,r,u][p]),a:lo(o,2)}},JZ=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),i=s-Math.min(t,n,r),u=i?s===t?(n-r)/i:s===n?2+(r-t)/i:4+(t-n)/i:0;return{h:lo(60*(u<0?u+6:u)),s:lo(s?i/s*100:0),v:lo(s/255*100),a:o}},ZZ=z.memo(function(e){var t=e.hue,n=e.onChange,r=Fh(["react-colorful__hue",e.className]);return z.createElement("div",{className:r},z.createElement(gy,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Jl(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":lo(t),"aria-valuemax":"360","aria-valuemin":"0"},z.createElement(vy,{className:"react-colorful__hue-pointer",left:t/360,color:Z0({h:t,s:100,v:100,a:1})})))}),eee=z.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:Z0({h:t.h,s:100,v:100,a:1})};return z.createElement("div",{className:"react-colorful__saturation",style:r},z.createElement(gy,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Jl(t.s+100*o.left,0,100),v:Jl(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+lo(t.s)+"%, Brightness "+lo(t.v)+"%"},z.createElement(vy,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:Z0(t)})))}),hI=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function tee(e,t,n){var r=X0(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],i=o[1],u=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,u.current.color)){var p=e.toHsva(t);u.current={hsva:p,color:t},i(p)}},[t,e]),f.useEffect(function(){var p;hI(s,u.current.hsva)||e.equal(p=e.fromHsva(s),u.current.color)||(u.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){i(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var nee=typeof window<"u"?f.useLayoutEffect:f.useEffect,ree=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},t4=new Map,oee=function(e){nee(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!t4.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,t4.set(t,n);var r=ree();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},see=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+Fg(Object.assign({},n,{a:0}))+", "+Fg(Object.assign({},n,{a:1}))+")"},s=Fh(["react-colorful__alpha",t]),i=lo(100*n.a);return z.createElement("div",{className:s},z.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),z.createElement(gy,{onMove:function(u){r({a:u.left})},onKey:function(u){r({a:Jl(n.a+u.left)})},"aria-label":"Alpha","aria-valuetext":i+"%","aria-valuenow":i,"aria-valuemin":"0","aria-valuemax":"100"},z.createElement(vy,{className:"react-colorful__alpha-pointer",left:n.a,color:Fg(n)})))},aee=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,i=fI(e,["className","colorModel","color","onChange"]),u=f.useRef(null);oee(u);var d=tee(n,o,s),p=d[0],h=d[1],g=Fh(["react-colorful",t]);return z.createElement("div",Bh({},i,{ref:u,className:g}),z.createElement(eee,{hsva:p,onChange:h}),z.createElement(ZZ,{hue:p.h,onChange:h}),z.createElement(see,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},iee={defaultColor:{r:0,g:0,b:0,a:1},toHsva:JZ,fromHsva:XZ,equal:hI},mI=function(e){return z.createElement(aee,Bh({},e,{colorModel:iee}))};const lee=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s}))};return a.jsx(mI,{className:"nodrag",color:n.value,onChange:o})},cee=f.memo(lee),uee=e=>null,dee=f.memo(uee),fee=e=>null,pee=f.memo(fee),hee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z();ue();const{data:s}=yv(),i=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),u=f.useMemo(()=>{if(!s)return[];const p=[];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=UP(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return a.jsx(Co,{tooltip:i==null?void 0:i.description,label:(i==null?void 0:i.base_model)&&Mr[i==null?void 0:i.base_model],value:(i==null?void 0:i.id)??null,placeholder:"Pick one",error:!i,data:u,onChange:d})},mee=f.memo(hee),gee=e=>{const{nodeId:t,field:n,template:r}=e,o=Z(),s=i=>{o(qo({nodeId:t,fieldName:n.name,value:i.target.value}))};return a.jsx(o5,{onChange:s,value:n.value,children:r.options.map(i=>a.jsx("option",{children:i},i))})},vee=f.memo(gee),yee=e=>{var p;const{nodeId:t,field:n}=e,r=Z();f.useCallback(({image_name:h})=>{r(qo({nodeId:t,fieldName:n.name,value:K7([...n.value??[],{image_name:h}],"image_name")}))},[r,n.name,n.value,t]);const o={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:s,setNodeRef:i,active:u,over:d}=uv({id:`node_${t}`,data:o});return f.useCallback(()=>{r(qo({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a.jsxs(L,{ref:i,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(p=n.value)==null?void 0:p.map(({image_name:h})=>a.jsx(xee,{imageName:h},h)),jf(o,u)&&a.jsx(Yf,{isOver:s})]})},bee=f.memo(yee),xee=e=>{const{currentData:t}=Uo(e.imageName);return a.jsx(ri,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},wee=e=>{var v;const{nodeId:t,field:n}=e,r=Z(),{currentData:o,isLoading:s,isError:i,isSuccess:u}=Uo(((v=n.value)==null?void 0:v.image_name)??Xr.skipToken),d=f.useCallback(()=>{r(qo({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),p=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),h=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),g=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return a.jsx(L,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(ri,{imageDTO:o,droppableData:h,draggableData:p,onClickReset:d,postUploadAction:g})})},See=f.memo(wee),Cee=e=>a.jsx(Fz,{}),n4=f.memo(Cee),_ee=e=>null,kee=f.memo(_ee),jee=Zp.child({module:"models"}),Pee=e=>{const[t,n,r]=e.split("/"),o=Q7.safeParse({base_model:t,model_name:r});if(!o.success){jee.error({loraModelId:e,errors:o.error.format()},"Failed to parse LoRA model id");return}return o.data},Iee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z(),{data:s}=V4(),i=f.useMemo(()=>{if(!s)return[];const p=[];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p.sort((h,g)=>h.disabled&&!g.disabled?1:-1)},[s]),u=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Pee(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?a.jsx(L,{sx:{justifyContent:"center",p:2},children:a.jsx(qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):a.jsx(br,{value:(u==null?void 0:u.id)??null,label:(u==null?void 0:u.base_model)&&Mr[u==null?void 0:u.base_model],placeholder:i.length>0?"Select a LoRA":"No LoRAs available",data:i,nothingFound:"No matching LoRAs",itemComponent:ai,disabled:i.length===0,filter:(p,h)=>{var g;return((g=h.label)==null?void 0:g.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Eee=f.memo(Iee),Oee=e=>{var h,g;const{nodeId:t,field:n}=e,r=Z(),{t:o}=ue(),{data:s,isLoading:i}=Ei(),u=f.useMemo(()=>{if(!s)return[];const v=[];return Qo(s.entities,(b,S)=>{b&&v.push({value:S,label:b.model_name,group:Mr[b.base_model]})}),v},[s]),d=f.useMemo(()=>{var v,b;return(s==null?void 0:s.entities[`${(v=n.value)==null?void 0:v.base_model}/main/${(b=n.value)==null?void 0:b.model_name}`])??null},[(h=n.value)==null?void 0:h.base_model,(g=n.value)==null?void 0:g.model_name,s==null?void 0:s.entities]),p=f.useCallback(v=>{if(!v)return;const b=JP(v);b&&r(qo({nodeId:t,fieldName:n.name,value:b}))},[r,n.name,t]);return i?a.jsx(br,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(L,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(br,{tooltip:d==null?void 0:d.description,label:(d==null?void 0:d.base_model)&&Mr[d==null?void 0:d.base_model],value:d==null?void 0:d.id,placeholder:u.length>0?"Select a model":"No models available",data:u,error:u.length===0,disabled:u.length===0,onChange:p}),a.jsx($e,{mt:7,children:a.jsx(py,{iconMode:!0})})]})},Mee=f.memo(Oee),Ree=e=>{const{nodeId:t,field:n}=e,r=Z(),[o,s]=f.useState(String(n.value)),i=u=>{s(u),u.match(Hp)||r(qo({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(u)):Number(u)}))};return f.useEffect(()=>{!o.match(Hp)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),a.jsxs(G4,{onChange:i,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[a.jsx(q4,{}),a.jsxs(K4,{children:[a.jsx(Q4,{}),a.jsx(Y4,{})]})]})},Dee=f.memo(Ree),Aee=e=>{const{nodeId:t,field:n}=e,r=Z(),o=s=>{r(qo({nodeId:t,fieldName:n.name,value:s.target.value}))};return a.jsx(Iu,{onChange:o,value:n.value})},Tee=f.memo(Aee),Nee=e=>null,$ee=f.memo(Nee),zee=e=>null,Lee=f.memo(zee),Bee=e=>{const{nodeId:t,field:n}=e,r=n.value,o=Z();ue();const{data:s}=X4(),i=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return Qo(s.entities,(h,g)=>{h&&p.push({value:g,label:h.model_name,group:Mr[h.base_model]})}),p.sort((h,g)=>h.disabled&&!g.disabled?1:-1)},[s]),u=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=ZP(p);h&&o(qo({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return a.jsx(br,{itemComponent:ai,tooltip:u==null?void 0:u.description,label:(u==null?void 0:u.base_model)&&Mr[u==null?void 0:u.base_model],value:(u==null?void 0:u.id)??"default",placeholder:"Default",data:i,onChange:d,disabled:i.length===0,clearable:!0})},Fee=f.memo(Bee),Hee=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?a.jsx(Tee,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?a.jsx(KZ,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?a.jsx(Dee,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?a.jsx(vee,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?a.jsx(See,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?a.jsx(kee,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?a.jsx(dee,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?a.jsx($ee,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?a.jsx(YZ,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?a.jsx(Lee,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?a.jsx(pee,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?a.jsx(Mee,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?a.jsx(Fee,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?a.jsx(Eee,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?a.jsx(mee,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?a.jsx(GZ,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?a.jsx(n4,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?a.jsx(cee,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?a.jsx(n4,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?a.jsx(bee,{nodeId:t,field:n,template:r}):a.jsxs($e,{p:2,children:["Unknown field type: ",o]})},Wee=f.memo(Hee);function Vee(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=uI();return a.jsx($e,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:a.jsx(ws,{isDisabled:r?o:!0,pl:2,children:r?a.jsxs(a.Fragment,{children:[a.jsxs(Pl,{justifyContent:"space-between",alignItems:"center",children:[a.jsx(Pl,{children:a.jsx(Cn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:s3,children:a.jsx(gs,{children:r==null?void 0:r.title})})}),a.jsx(Wee,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&a.jsx(dI,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):a.jsx(Pl,{justifyContent:"space-between",alignItems:"center",children:a.jsxs(gs,{children:["Unknown input: ",n.name]})})})})}const Uee=e=>{const{nodeId:t,template:n,inputs:r}=e,o=$(i=>i.nodes.edges);return f.useCallback(()=>{const i=[],u=Ss(r);return u.forEach((d,p)=>{const h=n.inputs[d.name],g=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=$(i=>i.nodes.edges);return f.useCallback(()=>{const i=[];return Ss(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(g=>g.source===t&&g.sourceHandle===d.name).length;i.push(a.jsx(qee,{nodeId:t,output:d,template:p,connected:h},d.id))}),a.jsx(L,{flexDir:"column",children:i})},[o,t,r,n.outputs])()},Qee=f.memo(Kee),Yee=e=>{const{...t}=e;return a.jsx(BT,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:i3,...t})},ev=f.memo(Yee),tv=e=>{const[t,n]=ec("shadows",["nodeSelectedOutline","dark-lg"]),r=$(o=>o.hotkeys.shift);return a.jsx($e,{className:r?my:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:i3,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},gI=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:i}=n,u=f.useMemo(()=>NZ(o),[o]),d=$(u);return d?a.jsxs(tv,{selected:r,children:[a.jsx(cI,{nodeId:t,title:d.title,description:d.description}),a.jsxs(L,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[a.jsx(Qee,{nodeId:t,outputs:i,template:d}),a.jsx(Gee,{nodeId:t,inputs:s,template:d})]}),a.jsx(ev,{})]}):a.jsx(tv,{selected:r,children:a.jsxs(L,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[a.jsx(io,{as:m_,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),a.jsx(ev,{})]})})});gI.displayName="InvocationComponent";const Xee=e=>{const t=jx(i=>i.system.progressImage),n=jx(i=>i.nodes.progressNodeSize),r=Y7(),{selected:o}=e,s=(i,u)=>{r(X7(u))};return a.jsxs(tv,{selected:o,children:[a.jsx(cI,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),a.jsx(L,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?a.jsx(rc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):a.jsx(L,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:a.jsx(Ja,{})})}),a.jsx(ev,{onResize:s})]})},Jee=f.memo(Xee),Zee=()=>{const{t:e}=ue(),{zoomIn:t,zoomOut:n,fitView:r}=eh(),o=Z(),s=$(S=>S.nodes.shouldShowGraphOverlay),i=$(S=>S.nodes.shouldShowFieldTypeLegend),u=$(S=>S.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),g=f.useCallback(()=>{o(J7(!s))},[s,o]),v=f.useCallback(()=>{o(Z7(!i))},[i,o]),b=f.useCallback(()=>{o(eO(!u))},[u,o]);return a.jsxs(Yn,{isAttached:!0,orientation:"vertical",children:[a.jsx(Cn,{label:e("nodes.zoomInNodes"),children:a.jsx(je,{onClick:d,icon:a.jsx(Hi,{})})}),a.jsx(Cn,{label:e("nodes.zoomOutNodes"),children:a.jsx(je,{onClick:p,icon:a.jsx(fL,{})})}),a.jsx(Cn,{label:e("nodes.fitViewportNodes"),children:a.jsx(je,{onClick:h,icon:a.jsx(Zz,{})})}),a.jsx(Cn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:a.jsx(je,{isChecked:s,onClick:g,icon:a.jsx(g1,{})})}),a.jsx(Cn,{label:e(i?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:a.jsx(je,{isChecked:i,onClick:v,icon:a.jsx(iL,{})})}),a.jsx(Cn,{label:e(u?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:a.jsx(je,{isChecked:u,onClick:b,icon:a.jsx(uL,{})})})]})},ete=f.memo(Zee),tte=()=>a.jsx(Su,{position:"bottom-left",children:a.jsx(ete,{})}),nte=f.memo(tte),rte=()=>{const e=gf({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=$(o=>o.nodes.shouldShowMinimapPanel),n=gf("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=gf("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return a.jsx(a.Fragment,{children:t&&a.jsx(OT,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},ote=f.memo(rte),ste=()=>{const{t:e}=ue(),t=Z(),{fitView:n}=eh(),r=f.useRef(null),o=f.useCallback(s=>{var u;if(!s)return;const i=new FileReader;i.onload=async()=>{const d=i.result,p=await JSON.parse(String(d));p||t(Bn(Vn({title:e("toast.nodesLoadedFailed"),status:"error"}))),p&&(t(tO(p.nodes)),t(nO(p.edges)),n(),t(Bn(Vn({title:e("toast.nodesLoaded"),status:"success"})))),i.abort()},i.readAsText(s),(u=r.current)==null||u.call(r)},[n,t,e]);return a.jsx(Nj,{resetRef:r,accept:"application/json",onChange:o,children:s=>a.jsx(je,{icon:a.jsx(Fu,{}),tooltip:e("nodes.loadNodes"),"aria-label":e("nodes.loadNodes"),...s})})},ate=f.memo(ste);function ite(e){const{iconButton:t=!1,...n}=e,r=Z(),o=$(or),s=iy(),i=f.useCallback(()=>{r(xv("nodes"))},[r]),{t:u}=ue();return Ye(["ctrl+enter","meta+enter"],i,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),a.jsx($e,{style:{flexGrow:4},position:"relative",children:a.jsxs($e,{style:{position:"relative"},children:[!s&&a.jsx($e,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:a.jsx(XP,{})}),t?a.jsx(je,{"aria-label":u("parameters.invoke"),type:"submit",icon:a.jsx(x_,{}),isDisabled:!s,onClick:i,flexGrow:1,w:"100%",tooltip:u("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):a.jsx(Xt,{"aria-label":u("parameters.invoke"),type:"submit",isDisabled:!s,onClick:i,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function lte(){const{t:e}=ue(),t=Z(),n=f.useCallback(()=>{t(rO())},[t]);return a.jsx(je,{icon:a.jsx(xL,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const cte=()=>{const{t:e}=ue(),t=$(o=>o.nodes.editorInstance),n=$(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=Ss(o.edges,u=>oO(u,["style"]));const s=new Blob([JSON.stringify(o)]),i=document.createElement("a");i.href=URL.createObjectURL(s),i.download="MyNodes.json",document.body.appendChild(i),i.click(),i.remove()}},[t]);return a.jsx(je,{icon:a.jsx(yh,{}),fontSize:18,tooltip:e("nodes.saveNodes"),"aria-label":e("nodes.saveNodes"),onClick:r,isDisabled:n.length===0})},ute=f.memo(cte),dte=()=>{const{t:e}=ue(),t=Z(),{isOpen:n,onOpen:r,onClose:o}=Ws(),s=f.useRef(null),i=$(d=>d.nodes.nodes),u=f.useCallback(()=>{t(sO()),t(Bn(Vn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return a.jsxs(a.Fragment,{children:[a.jsx(je,{icon:a.jsx(Xo,{}),tooltip:e("nodes.clearNodes"),"aria-label":e("nodes.clearNodes"),onClick:r,isDisabled:i.length===0}),a.jsxs(Du,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[a.jsx(ya,{}),a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearNodes")}),a.jsx(ba,{children:a.jsx(qe,{children:e("common.clearNodes")})}),a.jsxs(ga,{children:[a.jsx(kf,{ref:s,onClick:o,children:e("common.cancel")}),a.jsx(kf,{colorScheme:"red",ml:3,onClick:u,children:e("common.accept")})]})]})]})]})},fte=f.memo(dte),pte=()=>a.jsx(Su,{position:"top-center",children:a.jsxs(Pl,{children:[a.jsx(ite,{}),a.jsx(Th,{}),a.jsx(lte,{}),a.jsx(ute,{}),a.jsx(ate,{}),a.jsx(fte,{})]})}),hte=f.memo(pte),mte=he(aO,e=>{const t=Ss(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Ke),gte=()=>{const e=Z(),{data:t}=$(mte),n=LZ(),r=tc(),o=f.useCallback(i=>{const u=n(i);if(!u){r({status:"error",title:`Unknown Invocation type ${i}`});return}e(iO(u))},[e,n,r]),s=f.useCallback(i=>{i&&o(i)},[o]);return a.jsx(L,{sx:{gap:2,alignItems:"center"},children:a.jsx(br,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:vI,filter:(i,u)=>u.label.toLowerCase().includes(i.toLowerCase().trim())||u.value.toLowerCase().includes(i.toLowerCase().trim())||u.description.toLowerCase().includes(i.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},vI=f.forwardRef(({label:e,description:t,...n},r)=>a.jsx("div",{ref:r,...n,children:a.jsxs("div",{children:[a.jsx(qe,{fontWeight:600,children:e}),a.jsx(qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));vI.displayName="SelectItem";const vte=()=>a.jsx(Su,{position:"top-left",children:a.jsx(gte,{})}),yte=f.memo(vte),bte=()=>a.jsx(L,{sx:{gap:2,flexDir:"column"},children:Ss(a3,({title:e,description:t,color:n},r)=>a.jsx(Cn,{label:t,children:a.jsx(Za,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),xte=f.memo(bte),wte=()=>{const e=$(n=>n),t=lO(e);return a.jsx($e,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Ste=f.memo(wte),Cte=()=>{const e=$(n=>n.nodes.shouldShowGraphOverlay),t=$(n=>n.nodes.shouldShowFieldTypeLegend);return a.jsxs(Su,{position:"top-right",children:[t&&a.jsx(xte,{}),e&&a.jsx(Ste,{})]})},_te=f.memo(Cte),kte={invocation:gI,progress_image:Jee},jte=()=>{const e=Z(),t=$(p=>p.nodes.nodes),n=$(p=>p.nodes.edges),r=f.useCallback(p=>{e(cO(p))},[e]),o=f.useCallback(p=>{e(uO(p))},[e]),s=f.useCallback((p,h)=>{e(dO(h))},[e]),i=f.useCallback(p=>{e(fO(p))},[e]),u=f.useCallback(()=>{e(pO())},[e]),d=f.useCallback(p=>{e(hO(p)),p&&p.fitView()},[e]);return a.jsxs(mO,{nodeTypes:kte,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:i,onConnectEnd:u,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[a.jsx(yte,{}),a.jsx(hte,{}),a.jsx(_te,{}),a.jsx(nte,{}),a.jsx(NT,{}),a.jsx(ote,{})]})},Pte=()=>a.jsx($e,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:a.jsx(gO,{children:a.jsx(jte,{})})}),Ite=f.memo(Pte),Ete=()=>a.jsx(Ite,{}),Ote=f.memo(Ete),Mte=he(mt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),Rte=()=>{const{shouldUseSliders:e,activeLabel:t}=$(Mte);return a.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsx(L,{sx:{flexDirection:"column",gap:3},children:e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(Wp,{})]})})})},Dte=f.memo(Rte),Ate=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(Dte,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(QP,{}),a.jsx(cy,{}),a.jsx(YP,{}),a.jsx(ny,{})]}),yI=f.memo(Ate),Tte=()=>a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(yI,{})}),a.jsx(VP,{})]}),Nte=f.memo(Tte);var nv={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=Px;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=Px;e.exports=r.Konva})(nv,nv.exports);var $te=nv.exports;const vu=wu($te);var bI={exports:{}};/** - * @license React - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var zte=function(t){var n={},r=f,o=vf,s=Object.assign;function i(l){for(var c="https://reactjs.org/docs/error-decoder.html?invariant="+l,m=1;mQ||w[A]!==j[Q]){var se=` -`+w[A].replace(" at new "," at ");return l.displayName&&se.includes("")&&(se=se.replace("",l.displayName)),se}while(1<=A&&0<=Q);break}}}finally{Lt=!1,Error.prepareStackTrace=m}return(l=l?l.displayName||l.name:"")?Ot(l):""}var qt=Object.prototype.hasOwnProperty,$t=[],Oe=-1;function ut(l){return{current:l}}function _t(l){0>Oe||(l.current=$t[Oe],$t[Oe]=null,Oe--)}function At(l,c){Oe++,$t[Oe]=l.current,l.current=c}var xn={},zt=ut(xn),tn=ut(!1),Jt=xn;function _r(l,c){var m=l.type.contextTypes;if(!m)return xn;var y=l.stateNode;if(y&&y.__reactInternalMemoizedUnmaskedChildContext===c)return y.__reactInternalMemoizedMaskedChildContext;var w={},j;for(j in m)w[j]=c[j];return y&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=c,l.__reactInternalMemoizedMaskedChildContext=w),w}function Un(l){return l=l.childContextTypes,l!=null}function yt(){_t(tn),_t(zt)}function wn(l,c,m){if(zt.current!==xn)throw Error(i(168));At(zt,c),At(tn,m)}function kn(l,c,m){var y=l.stateNode;if(c=c.childContextTypes,typeof y.getChildContext!="function")return m;y=y.getChildContext();for(var w in y)if(!(w in c))throw Error(i(108,D(l)||"Unknown",w));return s({},m,y)}function Gn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||xn,Jt=zt.current,At(zt,l),At(tn,tn.current),!0}function ar(l,c,m){var y=l.stateNode;if(!y)throw Error(i(169));m?(l=kn(l,c,Jt),y.__reactInternalMemoizedMergedChildContext=l,_t(tn),_t(zt),At(zt,l)):_t(tn),At(tn,m)}var En=Math.clz32?Math.clz32:pn,On=Math.log,nn=Math.LN2;function pn(l){return l>>>=0,l===0?32:31-(On(l)/nn|0)|0}var Sn=64,cn=4194304;function un(l){switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function Be(l,c){var m=l.pendingLanes;if(m===0)return 0;var y=0,w=l.suspendedLanes,j=l.pingedLanes,A=m&268435455;if(A!==0){var Q=A&~w;Q!==0?y=un(Q):(j&=A,j!==0&&(y=un(j)))}else A=m&~w,A!==0?y=un(A):j!==0&&(y=un(j));if(y===0)return 0;if(c!==0&&c!==y&&!(c&w)&&(w=y&-y,j=c&-c,w>=j||w===16&&(j&4194240)!==0))return c;if(y&4&&(y|=m&16),c=l.entangledLanes,c!==0)for(l=l.entanglements,c&=y;0m;m++)c.push(l);return c}function lt(l,c,m){l.pendingLanes|=c,c!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,c=31-En(c),l[c]=m}function Qe(l,c){var m=l.pendingLanes&~c;l.pendingLanes=c,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=c,l.mutableReadLanes&=c,l.entangledLanes&=c,c=l.entanglements;var y=l.eventTimes;for(l=l.expirationTimes;0>=A,w-=A,jo=1<<32-En(c)+w|m<hn?(Nr=Ut,Ut=null):Nr=Ut.sibling;var mn=et(oe,Ut,fe[hn],tt);if(mn===null){Ut===null&&(Ut=Nr);break}l&&Ut&&mn.alternate===null&&c(oe,Ut),X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn,Ut=Nr}if(hn===fe.length)return m(oe,Ut),qn&&ci(oe,hn),It;if(Ut===null){for(;hnhn?(Nr=Ut,Ut=null):Nr=Ut.sibling;var Ta=et(oe,Ut,mn.value,tt);if(Ta===null){Ut===null&&(Ut=Nr);break}l&&Ut&&Ta.alternate===null&&c(oe,Ut),X=j(Ta,X,hn),Yt===null?It=Ta:Yt.sibling=Ta,Yt=Ta,Ut=Nr}if(mn.done)return m(oe,Ut),qn&&ci(oe,hn),It;if(Ut===null){for(;!mn.done;hn++,mn=fe.next())mn=Vt(oe,mn.value,tt),mn!==null&&(X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn);return qn&&ci(oe,hn),It}for(Ut=y(oe,Ut);!mn.done;hn++,mn=fe.next())mn=Hn(Ut,oe,hn,mn.value,tt),mn!==null&&(l&&mn.alternate!==null&&Ut.delete(mn.key===null?hn:mn.key),X=j(mn,X,hn),Yt===null?It=mn:Yt.sibling=mn,Yt=mn);return l&&Ut.forEach(function(hE){return c(oe,hE)}),qn&&ci(oe,hn),It}function ra(oe,X,fe,tt){if(typeof fe=="object"&&fe!==null&&fe.type===h&&fe.key===null&&(fe=fe.props.children),typeof fe=="object"&&fe!==null){switch(fe.$$typeof){case d:e:{for(var It=fe.key,Yt=X;Yt!==null;){if(Yt.key===It){if(It=fe.type,It===h){if(Yt.tag===7){m(oe,Yt.sibling),X=w(Yt,fe.props.children),X.return=oe,oe=X;break e}}else if(Yt.elementType===It||typeof It=="object"&&It!==null&&It.$$typeof===P&&Ty(It)===Yt.type){m(oe,Yt.sibling),X=w(Yt,fe.props),X.ref=mc(oe,Yt,fe),X.return=oe,oe=X;break e}m(oe,Yt);break}else c(oe,Yt);Yt=Yt.sibling}fe.type===h?(X=gi(fe.props.children,oe.mode,tt,fe.key),X.return=oe,oe=X):(tt=kd(fe.type,fe.key,fe.props,null,oe.mode,tt),tt.ref=mc(oe,X,fe),tt.return=oe,oe=tt)}return A(oe);case p:e:{for(Yt=fe.key;X!==null;){if(X.key===Yt)if(X.tag===4&&X.stateNode.containerInfo===fe.containerInfo&&X.stateNode.implementation===fe.implementation){m(oe,X.sibling),X=w(X,fe.children||[]),X.return=oe,oe=X;break e}else{m(oe,X);break}else c(oe,X);X=X.sibling}X=Wm(fe,oe.mode,tt),X.return=oe,oe=X}return A(oe);case P:return Yt=fe._init,ra(oe,X,Yt(fe._payload),tt)}if(G(fe))return Rn(oe,X,fe,tt);if(O(fe))return mo(oe,X,fe,tt);Zu(oe,fe)}return typeof fe=="string"&&fe!==""||typeof fe=="number"?(fe=""+fe,X!==null&&X.tag===6?(m(oe,X.sibling),X=w(X,fe),X.return=oe,oe=X):(m(oe,X),X=Hm(fe,oe.mode,tt),X.return=oe,oe=X),A(oe)):m(oe,X)}return ra}var Ji=Ny(!0),$y=Ny(!1),gc={},No=ut(gc),vc=ut(gc),Zi=ut(gc);function Es(l){if(l===gc)throw Error(i(174));return l}function nm(l,c){At(Zi,c),At(vc,l),At(No,gc),l=M(c),_t(No),At(No,l)}function el(){_t(No),_t(vc),_t(Zi)}function zy(l){var c=Es(Zi.current),m=Es(No.current);c=U(m,l.type,c),m!==c&&(At(vc,l),At(No,c))}function rm(l){vc.current===l&&(_t(No),_t(vc))}var Zn=ut(0);function ed(l){for(var c=l;c!==null;){if(c.tag===13){var m=c.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||Dr(m)||ks(m)))return c}else if(c.tag===19&&c.memoizedProps.revealOrder!==void 0){if(c.flags&128)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===l)break;for(;c.sibling===null;){if(c.return===null||c.return===l)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var om=[];function sm(){for(var l=0;lm?m:4,l(!0);var y=am.transition;am.transition={};try{l(!1),c()}finally{Se=m,am.transition=y}}function nb(){return $o().memoizedState}function FI(l,c,m){var y=Ra(l);if(m={lane:y,action:m,hasEagerState:!1,eagerState:null,next:null},rb(l))ob(c,m);else if(m=Py(l,c,m,y),m!==null){var w=Kr();zo(m,l,y,w),sb(m,c,y)}}function HI(l,c,m){var y=Ra(l),w={lane:y,action:m,hasEagerState:!1,eagerState:null,next:null};if(rb(l))ob(c,w);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=c.lastRenderedReducer,j!==null))try{var A=c.lastRenderedState,Q=j(A,m);if(w.hasEagerState=!0,w.eagerState=Q,rn(Q,A)){var se=c.interleaved;se===null?(w.next=w,Jh(c)):(w.next=se.next,se.next=w),c.interleaved=w;return}}catch{}finally{}m=Py(l,c,w,y),m!==null&&(w=Kr(),zo(m,l,y,w),sb(m,c,y))}}function rb(l){var c=l.alternate;return l===er||c!==null&&c===er}function ob(l,c){yc=nd=!0;var m=l.pending;m===null?c.next=c:(c.next=m.next,m.next=c),l.pending=c}function sb(l,c,m){if(m&4194240){var y=c.lanes;y&=l.pendingLanes,m|=y,c.lanes=m,ke(l,m)}}var sd={readContext:To,useCallback:Ur,useContext:Ur,useEffect:Ur,useImperativeHandle:Ur,useInsertionEffect:Ur,useLayoutEffect:Ur,useMemo:Ur,useReducer:Ur,useRef:Ur,useState:Ur,useDebugValue:Ur,useDeferredValue:Ur,useTransition:Ur,useMutableSource:Ur,useSyncExternalStore:Ur,useId:Ur,unstable_isNewReconciler:!1},WI={readContext:To,useCallback:function(l,c){return Os().memoizedState=[l,c===void 0?null:c],l},useContext:To,useEffect:Ky,useImperativeHandle:function(l,c,m){return m=m!=null?m.concat([l]):null,rd(4194308,4,Xy.bind(null,c,l),m)},useLayoutEffect:function(l,c){return rd(4194308,4,l,c)},useInsertionEffect:function(l,c){return rd(4,2,l,c)},useMemo:function(l,c){var m=Os();return c=c===void 0?null:c,l=l(),m.memoizedState=[l,c],l},useReducer:function(l,c,m){var y=Os();return c=m!==void 0?m(c):c,y.memoizedState=y.baseState=c,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:c},y.queue=l,l=l.dispatch=FI.bind(null,er,l),[y.memoizedState,l]},useRef:function(l){var c=Os();return l={current:l},c.memoizedState=l},useState:Gy,useDebugValue:pm,useDeferredValue:function(l){return Os().memoizedState=l},useTransition:function(){var l=Gy(!1),c=l[0];return l=BI.bind(null,l[1]),Os().memoizedState=l,[c,l]},useMutableSource:function(){},useSyncExternalStore:function(l,c,m){var y=er,w=Os();if(qn){if(m===void 0)throw Error(i(407));m=m()}else{if(m=c(),Tr===null)throw Error(i(349));di&30||Fy(y,c,m)}w.memoizedState=m;var j={value:m,getSnapshot:c};return w.queue=j,Ky(Wy.bind(null,y,j,l),[l]),y.flags|=2048,wc(9,Hy.bind(null,y,j,m,c),void 0,null),m},useId:function(){var l=Os(),c=Tr.identifierPrefix;if(qn){var m=Vr,y=jo;m=(y&~(1<<32-En(y)-1)).toString(32)+m,c=":"+c+"R"+m,m=bc++,0Am&&(c.flags|=128,y=!0,_c(w,!1),c.lanes=4194304)}else{if(!y)if(l=ed(j),l!==null){if(c.flags|=128,y=!0,l=l.updateQueue,l!==null&&(c.updateQueue=l,c.flags|=4),_c(w,!0),w.tail===null&&w.tailMode==="hidden"&&!j.alternate&&!qn)return Gr(c),null}else 2*Ne()-w.renderingStartTime>Am&&m!==1073741824&&(c.flags|=128,y=!0,_c(w,!1),c.lanes=4194304);w.isBackwards?(j.sibling=c.child,c.child=j):(l=w.last,l!==null?l.sibling=j:c.child=j,w.last=j)}return w.tail!==null?(c=w.tail,w.rendering=c,w.tail=c.sibling,w.renderingStartTime=Ne(),c.sibling=null,l=Zn.current,At(Zn,y?l&1|2:l&1),c):(Gr(c),null);case 22:case 23:return Lm(),m=c.memoizedState!==null,l!==null&&l.memoizedState!==null!==m&&(c.flags|=8192),m&&c.mode&1?Io&1073741824&&(Gr(c),de&&c.subtreeFlags&6&&(c.flags|=8192)):Gr(c),null;case 24:return null;case 25:return null}throw Error(i(156,c.tag))}function XI(l,c){switch(Vh(c),c.tag){case 1:return Un(c.type)&&yt(),l=c.flags,l&65536?(c.flags=l&-65537|128,c):null;case 3:return el(),_t(tn),_t(zt),sm(),l=c.flags,l&65536&&!(l&128)?(c.flags=l&-65537|128,c):null;case 5:return rm(c),null;case 13:if(_t(Zn),l=c.memoizedState,l!==null&&l.dehydrated!==null){if(c.alternate===null)throw Error(i(340));Qi()}return l=c.flags,l&65536?(c.flags=l&-65537|128,c):null;case 19:return _t(Zn),null;case 4:return el(),null;case 10:return Yh(c.type._context),null;case 22:case 23:return Lm(),null;case 24:return null;default:return null}}var ud=!1,qr=!1,JI=typeof WeakSet=="function"?WeakSet:Set,at=null;function nl(l,c){var m=l.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(y){Kn(l,c,y)}else m.current=null}function Sm(l,c,m){try{m()}catch(y){Kn(l,c,y)}}var _b=!1;function ZI(l,c){for(V(l.containerInfo),at=c;at!==null;)if(l=at,c=l.child,(l.subtreeFlags&1028)!==0&&c!==null)c.return=l,at=c;else for(;at!==null;){l=at;try{var m=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,w=m.memoizedState,j=l.stateNode,A=j.getSnapshotBeforeUpdate(l.elementType===l.type?y:rs(l.type,y),w);j.__reactInternalSnapshotBeforeUpdate=A}break;case 3:de&&bn(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(Q){Kn(l,l.return,Q)}if(c=l.sibling,c!==null){c.return=l.return,at=c;break}at=l.return}return m=_b,_b=!1,m}function kc(l,c,m){var y=c.updateQueue;if(y=y!==null?y.lastEffect:null,y!==null){var w=y=y.next;do{if((w.tag&l)===l){var j=w.destroy;w.destroy=void 0,j!==void 0&&Sm(c,m,j)}w=w.next}while(w!==y)}}function dd(l,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var m=c=c.next;do{if((m.tag&l)===l){var y=m.create;m.destroy=y()}m=m.next}while(m!==c)}}function Cm(l){var c=l.ref;if(c!==null){var m=l.stateNode;switch(l.tag){case 5:l=K(m);break;default:l=m}typeof c=="function"?c(l):c.current=l}}function kb(l){var c=l.alternate;c!==null&&(l.alternate=null,kb(c)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(c=l.stateNode,c!==null&&Le(c)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function jb(l){return l.tag===5||l.tag===3||l.tag===4}function Pb(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||jb(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function _m(l,c,m){var y=l.tag;if(y===5||y===6)l=l.stateNode,c?sr(m,l,c):_n(m,l);else if(y!==4&&(l=l.child,l!==null))for(_m(l,c,m),l=l.sibling;l!==null;)_m(l,c,m),l=l.sibling}function km(l,c,m){var y=l.tag;if(y===5||y===6)l=l.stateNode,c?vn(m,l,c):Wt(m,l);else if(y!==4&&(l=l.child,l!==null))for(km(l,c,m),l=l.sibling;l!==null;)km(l,c,m),l=l.sibling}var Fr=null,os=!1;function Rs(l,c,m){for(m=m.child;m!==null;)jm(l,c,m),m=m.sibling}function jm(l,c,m){if(an&&typeof an.onCommitFiberUnmount=="function")try{an.onCommitFiberUnmount(Fn,m)}catch{}switch(m.tag){case 5:qr||nl(m,c);case 6:if(de){var y=Fr,w=os;Fr=null,Rs(l,c,m),Fr=y,os=w,Fr!==null&&(os?it(Fr,m.stateNode):Ie(Fr,m.stateNode))}else Rs(l,c,m);break;case 18:de&&Fr!==null&&(os?De(Fr,m.stateNode):dt(Fr,m.stateNode));break;case 4:de?(y=Fr,w=os,Fr=m.stateNode.containerInfo,os=!0,Rs(l,c,m),Fr=y,os=w):(Ce&&(y=m.stateNode.containerInfo,w=dr(y),Nn(y,w)),Rs(l,c,m));break;case 0:case 11:case 14:case 15:if(!qr&&(y=m.updateQueue,y!==null&&(y=y.lastEffect,y!==null))){w=y=y.next;do{var j=w,A=j.destroy;j=j.tag,A!==void 0&&(j&2||j&4)&&Sm(m,c,A),w=w.next}while(w!==y)}Rs(l,c,m);break;case 1:if(!qr&&(nl(m,c),y=m.stateNode,typeof y.componentWillUnmount=="function"))try{y.props=m.memoizedProps,y.state=m.memoizedState,y.componentWillUnmount()}catch(Q){Kn(m,c,Q)}Rs(l,c,m);break;case 21:Rs(l,c,m);break;case 22:m.mode&1?(qr=(y=qr)||m.memoizedState!==null,Rs(l,c,m),qr=y):Rs(l,c,m);break;default:Rs(l,c,m)}}function Ib(l){var c=l.updateQueue;if(c!==null){l.updateQueue=null;var m=l.stateNode;m===null&&(m=l.stateNode=new JI),c.forEach(function(y){var w=lE.bind(null,l,y);m.has(y)||(m.add(y),y.then(w,w))})}}function ss(l,c){var m=c.deletions;if(m!==null)for(var y=0;y";case pd:return":has("+(Em(l)||"")+")";case hd:return'[role="'+l.value+'"]';case gd:return'"'+l.value+'"';case md:return'[data-testname="'+l.value+'"]';default:throw Error(i(365))}}function Ab(l,c){var m=[];l=[l,0];for(var y=0;yw&&(w=A),y&=~j}if(y=w,y=Ne()-y,y=(120>y?120:480>y?480:1080>y?1080:1920>y?1920:3e3>y?3e3:4320>y?4320:1960*tE(y/1960))-y,10l?16:l,Ma===null)var y=!1;else{if(l=Ma,Ma=null,wd=0,Zt&6)throw Error(i(331));var w=Zt;for(Zt|=4,at=l.current;at!==null;){var j=at,A=j.child;if(at.flags&16){var Q=j.deletions;if(Q!==null){for(var se=0;seNe()-Dm?pi(l,0):Rm|=m),ho(l,c)}function Wb(l,c){c===0&&(l.mode&1?(c=cn,cn<<=1,!(cn&130023424)&&(cn=4194304)):c=1);var m=Kr();l=Is(l,c),l!==null&&(lt(l,c,m),ho(l,m))}function iE(l){var c=l.memoizedState,m=0;c!==null&&(m=c.retryLane),Wb(l,m)}function lE(l,c){var m=0;switch(l.tag){case 13:var y=l.stateNode,w=l.memoizedState;w!==null&&(m=w.retryLane);break;case 19:y=l.stateNode;break;default:throw Error(i(314))}y!==null&&y.delete(c),Wb(l,m)}var Vb;Vb=function(l,c,m){if(l!==null)if(l.memoizedProps!==c.pendingProps||tn.current)fo=!0;else{if(!(l.lanes&m)&&!(c.flags&128))return fo=!1,QI(l,c,m);fo=!!(l.flags&131072)}else fo=!1,qn&&c.flags&1048576&&wy(c,no,c.index);switch(c.lanes=0,c.tag){case 2:var y=c.type;id(l,c),l=c.pendingProps;var w=_r(c,zt.current);Xi(c,m),w=lm(null,c,y,l,w,m);var j=cm();return c.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,Un(y)?(j=!0,Gn(c)):j=!1,c.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,Zh(c),w.updater=Ju,c.stateNode=w,w._reactInternals=c,tm(c,y,l,m),c=vm(null,c,y,!0,j,m)):(c.tag=0,qn&&j&&Wh(c),so(null,c,w,m),c=c.child),c;case 16:y=c.elementType;e:{switch(id(l,c),l=c.pendingProps,w=y._init,y=w(y._payload),c.type=y,w=c.tag=uE(y),l=rs(y,l),w){case 0:c=gm(null,c,y,l,m);break e;case 1:c=gb(null,c,y,l,m);break e;case 11:c=db(null,c,y,l,m);break e;case 14:c=fb(null,c,y,rs(y.type,l),m);break e}throw Error(i(306,y,""))}return c;case 0:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),gm(l,c,y,w,m);case 1:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),gb(l,c,y,w,m);case 3:e:{if(vb(c),l===null)throw Error(i(387));y=c.pendingProps,j=c.memoizedState,w=j.element,Iy(l,c),Xu(c,y,null,m);var A=c.memoizedState;if(y=A.element,Re&&j.isDehydrated)if(j={element:y,isDehydrated:!1,cache:A.cache,pendingSuspenseBoundaries:A.pendingSuspenseBoundaries,transitions:A.transitions},c.updateQueue.baseState=j,c.memoizedState=j,c.flags&256){w=tl(Error(i(423)),c),c=yb(l,c,y,m,w);break e}else if(y!==w){w=tl(Error(i(424)),c),c=yb(l,c,y,m,w);break e}else for(Re&&(Ao=Y(c.stateNode.containerInfo),Po=c,qn=!0,ns=null,hc=!1),m=$y(c,null,y,m),c.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(Qi(),y===w){c=ta(l,c,m);break e}so(l,c,y,m)}c=c.child}return c;case 5:return zy(c),l===null&&Gh(c),y=c.type,w=c.pendingProps,j=l!==null?l.memoizedProps:null,A=w.children,te(y,w)?A=null:j!==null&&te(y,j)&&(c.flags|=32),mb(l,c),so(l,c,A,m),c.child;case 6:return l===null&&Gh(c),null;case 13:return bb(l,c,m);case 4:return nm(c,c.stateNode.containerInfo),y=c.pendingProps,l===null?c.child=Ji(c,null,y,m):so(l,c,y,m),c.child;case 11:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),db(l,c,y,w,m);case 7:return so(l,c,c.pendingProps,m),c.child;case 8:return so(l,c,c.pendingProps.children,m),c.child;case 12:return so(l,c,c.pendingProps.children,m),c.child;case 10:e:{if(y=c.type._context,w=c.pendingProps,j=c.memoizedProps,A=w.value,jy(c,y,A),j!==null)if(rn(j.value,A)){if(j.children===w.children&&!tn.current){c=ta(l,c,m);break e}}else for(j=c.child,j!==null&&(j.return=c);j!==null;){var Q=j.dependencies;if(Q!==null){A=j.child;for(var se=Q.firstContext;se!==null;){if(se.context===y){if(j.tag===1){se=ea(-1,m&-m),se.tag=2;var Ee=j.updateQueue;if(Ee!==null){Ee=Ee.shared;var ct=Ee.pending;ct===null?se.next=se:(se.next=ct.next,ct.next=se),Ee.pending=se}}j.lanes|=m,se=j.alternate,se!==null&&(se.lanes|=m),Xh(j.return,m,c),Q.lanes|=m;break}se=se.next}}else if(j.tag===10)A=j.type===c.type?null:j.child;else if(j.tag===18){if(A=j.return,A===null)throw Error(i(341));A.lanes|=m,Q=A.alternate,Q!==null&&(Q.lanes|=m),Xh(A,m,c),A=j.sibling}else A=j.child;if(A!==null)A.return=j;else for(A=j;A!==null;){if(A===c){A=null;break}if(j=A.sibling,j!==null){j.return=A.return,A=j;break}A=A.return}j=A}so(l,c,w.children,m),c=c.child}return c;case 9:return w=c.type,y=c.pendingProps.children,Xi(c,m),w=To(w),y=y(w),c.flags|=1,so(l,c,y,m),c.child;case 14:return y=c.type,w=rs(y,c.pendingProps),w=rs(y.type,w),fb(l,c,y,w,m);case 15:return pb(l,c,c.type,c.pendingProps,m);case 17:return y=c.type,w=c.pendingProps,w=c.elementType===y?w:rs(y,w),id(l,c),c.tag=1,Un(y)?(l=!0,Gn(c)):l=!1,Xi(c,m),Dy(c,y,w),tm(c,y,w,m),vm(null,c,y,!0,l,m);case 19:return wb(l,c,m);case 22:return hb(l,c,m)}throw Error(i(156,c.tag))};function Ub(l,c){return Te(l,c)}function cE(l,c,m,y){this.tag=l,this.key=m,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=c,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=y,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lo(l,c,m,y){return new cE(l,c,m,y)}function Fm(l){return l=l.prototype,!(!l||!l.isReactComponent)}function uE(l){if(typeof l=="function")return Fm(l)?1:0;if(l!=null){if(l=l.$$typeof,l===x)return 11;if(l===k)return 14}return 2}function Aa(l,c){var m=l.alternate;return m===null?(m=Lo(l.tag,c,l.key,l.mode),m.elementType=l.elementType,m.type=l.type,m.stateNode=l.stateNode,m.alternate=l,l.alternate=m):(m.pendingProps=c,m.type=l.type,m.flags=0,m.subtreeFlags=0,m.deletions=null),m.flags=l.flags&14680064,m.childLanes=l.childLanes,m.lanes=l.lanes,m.child=l.child,m.memoizedProps=l.memoizedProps,m.memoizedState=l.memoizedState,m.updateQueue=l.updateQueue,c=l.dependencies,m.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},m.sibling=l.sibling,m.index=l.index,m.ref=l.ref,m}function kd(l,c,m,y,w,j){var A=2;if(y=l,typeof l=="function")Fm(l)&&(A=1);else if(typeof l=="string")A=5;else e:switch(l){case h:return gi(m.children,w,j,c);case g:A=8,w|=8;break;case v:return l=Lo(12,m,c,w|2),l.elementType=v,l.lanes=j,l;case C:return l=Lo(13,m,c,w),l.elementType=C,l.lanes=j,l;case _:return l=Lo(19,m,c,w),l.elementType=_,l.lanes=j,l;case I:return jd(m,w,j,c);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:A=10;break e;case S:A=9;break e;case x:A=11;break e;case k:A=14;break e;case P:A=16,y=null;break e}throw Error(i(130,l==null?l:typeof l,""))}return c=Lo(A,m,c,w),c.elementType=l,c.type=y,c.lanes=j,c}function gi(l,c,m,y){return l=Lo(7,l,y,c),l.lanes=m,l}function jd(l,c,m,y){return l=Lo(22,l,y,c),l.elementType=I,l.lanes=m,l.stateNode={isHidden:!1},l}function Hm(l,c,m){return l=Lo(6,l,null,c),l.lanes=m,l}function Wm(l,c,m){return c=Lo(4,l.children!==null?l.children:[],l.key,c),c.lanes=m,c.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},c}function dE(l,c,m,y,w){this.tag=c,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ne,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rt(0),this.expirationTimes=Rt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rt(0),this.identifierPrefix=y,this.onRecoverableError=w,Re&&(this.mutableSourceEagerHydrationData=null)}function Gb(l,c,m,y,w,j,A,Q,se){return l=new dE(l,c,m,Q,se),c===1?(c=1,j===!0&&(c|=8)):c=0,j=Lo(3,null,null,c),l.current=j,j.stateNode=l,j.memoizedState={element:y,isDehydrated:m,cache:null,transitions:null,pendingSuspenseBoundaries:null},Zh(j),l}function qb(l){if(!l)return xn;l=l._reactInternals;e:{if(T(l)!==l||l.tag!==1)throw Error(i(170));var c=l;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(Un(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(i(171))}if(l.tag===1){var m=l.type;if(Un(m))return kn(l,m,c)}return c}function Kb(l){var c=l._reactInternals;if(c===void 0)throw typeof l.render=="function"?Error(i(188)):(l=Object.keys(l).join(","),Error(i(268,l)));return l=J(c),l===null?null:l.stateNode}function Qb(l,c){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var m=l.retryLane;l.retryLane=m!==0&&m=Ee&&j>=Vt&&w<=ct&&A<=et){l.splice(c,1);break}else if(y!==Ee||m.width!==se.width||etA){if(!(j!==Vt||m.height!==se.height||ctw)){Ee>y&&(se.width+=Ee-y,se.x=y),ctj&&(se.height+=Vt-j,se.y=j),etm&&(m=A)),A ")+` - -No matching component was found for: - `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return K(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:fE,findFiberByHostInstance:l.findFiberByHostInstance||pE,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled||!c.supportsFiber)l=!0;else{try{Fn=c.inject(l),an=c}catch{}l=!!c.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,c,m,y){if(!vt)throw Error(i(363));l=Om(l,c);var w=Ft(l,m,y).disconnect;return{disconnect:function(){w()}}},n.registerMutableSourceForHydration=function(l,c){var m=c._getVersion;m=m(c._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[c,m]:l.mutableSourceEagerHydrationData.push(c,m)},n.runWithPriority=function(l,c){var m=Se;try{return Se=l,c()}finally{Se=m}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,c,m,y){var w=c.current,j=Kr(),A=Ra(w);return m=qb(m),c.context===null?c.context=m:c.pendingContext=m,c=ea(j,A),c.payload={element:l},y=y===void 0?null:y,y!==null&&(c.callback=y),l=Ea(w,c,A),l!==null&&(zo(l,w,A,j),Yu(l,w,A)),A},n};bI.exports=zte;var Lte=bI.exports;const Bte=wu(Lte);var xI={exports:{}},Ki={};/** - * @license React - * react-reconciler-constants.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */Ki.ConcurrentRoot=1;Ki.ContinuousEventPriority=4;Ki.DefaultEventPriority=16;Ki.DiscreteEventPriority=1;Ki.IdleEventPriority=536870912;Ki.LegacyRoot=0;xI.exports=Ki;var wI=xI.exports;const r4={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let o4=!1,s4=!1;const yy=".react-konva-event",Fte=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. -Position of a node will be changed during drag&drop, so you should update state of the react app as well. -Consider to add onDragMove or onDragEnd events. -For more info see: https://github.com/konvajs/react-konva/issues/256 -`,Hte=`ReactKonva: You are using "zIndex" attribute for a Konva node. -react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. -For more info see: https://github.com/konvajs/react-konva/issues/194 -`,Wte={};function Hh(e,t,n=Wte){if(!o4&&"zIndex"in t&&(console.warn(Hte),o4=!0),!s4&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(Fte),s4=!0)}for(var s in n)if(!r4[s]){var i=s.slice(0,2)==="on",u=n[s]!==t[s];if(i&&u){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,g={},v=!1;const b={};for(var s in t)if(!r4[s]){var i=s.slice(0,2)==="on",S=n[s]!==t[s];if(i&&S){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!i&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,g[s]=t[s])}v&&(e.setAttrs(g),li(e));for(var d in b)e.on(d+yy,b[d])}function li(e){if(!vO.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const SI={},Vte={};vu.Node.prototype._applyProps=Hh;function Ute(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),li(e)}function Gte(e,t,n){let r=vu[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=vu.Group);const o={},s={};for(var i in t){var u=i.slice(0,2)==="on";u?s[i]=t[i]:o[i]=t[i]}const d=new r(o);return Hh(d,s),d}function qte(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function Kte(e,t,n){return!1}function Qte(e){return e}function Yte(){return null}function Xte(){return null}function Jte(e,t,n,r){return Vte}function Zte(){}function ene(e){}function tne(e,t){return!1}function nne(){return SI}function rne(){return SI}const one=setTimeout,sne=clearTimeout,ane=-1;function ine(e,t){return!1}const lne=!1,cne=!0,une=!0;function dne(e,t){t.parent===e?t.moveToTop():e.add(t),li(e)}function fne(e,t){t.parent===e?t.moveToTop():e.add(t),li(e)}function CI(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),li(e)}function pne(e,t,n){CI(e,t,n)}function hne(e,t){t.destroy(),t.off(yy),li(e)}function mne(e,t){t.destroy(),t.off(yy),li(e)}function gne(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function vne(e,t,n){}function yne(e,t,n,r,o){Hh(e,o,r)}function bne(e){e.hide(),li(e)}function xne(e){}function wne(e,t){(t.visible==null||t.visible)&&e.show()}function Sne(e,t){}function Cne(e){}function _ne(){}const kne=()=>wI.DefaultEventPriority,jne=Object.freeze(Object.defineProperty({__proto__:null,appendChild:dne,appendChildToContainer:fne,appendInitialChild:Ute,cancelTimeout:sne,clearContainer:Cne,commitMount:vne,commitTextUpdate:gne,commitUpdate:yne,createInstance:Gte,createTextInstance:qte,detachDeletedInstance:_ne,finalizeInitialChildren:Kte,getChildHostContext:rne,getCurrentEventPriority:kne,getPublicInstance:Qte,getRootHostContext:nne,hideInstance:bne,hideTextInstance:xne,idlePriority:vf.unstable_IdlePriority,insertBefore:CI,insertInContainerBefore:pne,isPrimaryRenderer:lne,noTimeout:ane,now:vf.unstable_now,prepareForCommit:Yte,preparePortalMount:Xte,prepareUpdate:Jte,removeChild:hne,removeChildFromContainer:mne,resetAfterCommit:Zte,resetTextContent:ene,run:vf.unstable_runWithPriority,scheduleTimeout:one,shouldDeprioritizeSubtree:tne,shouldSetTextContent:ine,supportsMutation:une,unhideInstance:wne,unhideTextInstance:Sne,warnsIfNotActing:cne},Symbol.toStringTag,{value:"Module"}));var Pne=Object.defineProperty,Ine=Object.defineProperties,Ene=Object.getOwnPropertyDescriptors,a4=Object.getOwnPropertySymbols,One=Object.prototype.hasOwnProperty,Mne=Object.prototype.propertyIsEnumerable,i4=(e,t,n)=>t in e?Pne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,l4=(e,t)=>{for(var n in t||(t={}))One.call(t,n)&&i4(e,n,t[n]);if(a4)for(var n of a4(t))Mne.call(t,n)&&i4(e,n,t[n]);return e},Rne=(e,t)=>Ine(e,Ene(t));function _I(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=_I(r,t,n);if(o)return o;r=t?null:r.sibling}}function kI(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const by=kI(f.createContext(null));class jI extends f.Component{render(){return f.createElement(by.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:c4,ReactCurrentDispatcher:u4}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Dne(){const e=f.useContext(by);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[c4==null?void 0:c4.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=_I(r,!1,s=>{let i=s.memoizedState;for(;i;){if(i.memoizedState===t)return!0;i=i.next}});if(o)return o}},[e,t])}function Ane(){var e,t;const n=Dne(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==by&&!r.has(s)&&r.set(s,(t=u4==null?void 0:u4.current)==null?void 0:t.readContext(kI(s))),o=o.return}return r}function Tne(){const e=Ane();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,Rne(l4({},r),{value:e.get(n)}))),t=>f.createElement(jI,l4({},t))),[e])}function Nne(e){const t=z.useRef({});return z.useLayoutEffect(()=>{t.current=e}),z.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const $ne=e=>{const t=z.useRef(),n=z.useRef(),r=z.useRef(),o=Nne(e),s=Tne(),i=u=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(u):d.current=u)};return z.useLayoutEffect(()=>(n.current=new vu.Stage({width:e.width,height:e.height,container:t.current}),i(n.current),r.current=qc.createContainer(n.current,wI.LegacyRoot,!1,null),qc.updateContainer(z.createElement(s,{},e.children),r.current),()=>{vu.isBrowser&&(i(null),qc.updateContainer(null,r.current,null),n.current.destroy())}),[]),z.useLayoutEffect(()=>{i(n.current),Hh(n.current,e,o),qc.updateContainer(z.createElement(s,{},e.children),r.current,null)}),z.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},zc="Layer",Sa="Group",qs="Rect",vi="Circle",Vp="Line",PI="Image",zne="Transformer",qc=Bte(jne);qc.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:z.version,rendererPackageName:"react-konva"});const Lne=z.forwardRef((e,t)=>z.createElement(jI,{},z.createElement($ne,{...e,forwardedRef:t}))),Bne=he([en,Jn],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),Fne=()=>{const e=Z(),{tool:t,isStaging:n,isMovingBoundingBox:r}=$(Bne);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Df(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(l3(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Df(!1))},[e,r,n,t])}},Hne=he([en,or,Jn],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:i,isMaskEnabled:u,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:i,isStaging:n,isMaskEnabled:u,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Gt}}),Wne=()=>{const e=Z(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:i}=$(Hne),u=f.useRef(null),d=c3(),p=()=>e(wv());Ye(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(ku(!s));Ye(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),Ye(["n"],()=>{e(ou(!i))},{enabled:!0,preventDefault:!0},[i]),Ye("esc",()=>{e(yO())},{enabled:()=>!0,preventDefault:!0}),Ye("shift+h",()=>{e(bO(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),Ye(["space"],g=>{g.repeat||(d==null||d.container().focus(),r!=="move"&&(u.current=r,e(Hs("move"))),r==="move"&&u.current&&u.current!=="move"&&(e(Hs(u.current)),u.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,u])},xy=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},II=()=>{const e=Z(),t=ma(),n=c3();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=xO.pixelRatio,[s,i,u,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;e(wO({r:s,g:i,b:u,a:d}))},commitColorUnderCursor:()=>{e(SO())}}},Vne=he([or,en,Jn],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Une=e=>{const t=Z(),{tool:n,isStaging:r}=$(Vne),{commitColorUnderCursor:o}=II();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Df(!0));return}if(n==="colorPicker"){o();return}const i=xy(e.current);i&&(s.evt.preventDefault(),t(u3(!0)),t(CO([i.x,i.y])))},[e,n,r,t,o])},Gne=he([or,en,Jn],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),qne=(e,t,n)=>{const r=Z(),{isDrawing:o,tool:s,isStaging:i}=$(Gne),{updateColorUnderCursor:u}=II();return f.useCallback(()=>{if(!e.current)return;const d=xy(e.current);if(d){if(r(_O(d)),n.current=d,s==="colorPicker"){u();return}!o||s==="move"||i||(t.current=!0,r(d3([d.x,d.y])))}},[t,r,o,i,n,e,s,u])},Kne=()=>{const e=Z();return f.useCallback(()=>{e(kO())},[e])},Qne=he([or,en,Jn],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Yne=(e,t)=>{const n=Z(),{tool:r,isDrawing:o,isStaging:s}=$(Qne);return f.useCallback(()=>{if(r==="move"||s){n(Df(!1));return}if(!t.current&&o&&e.current){const i=xy(e.current);if(!i)return;n(d3([i.x,i.y]))}else t.current=!1;n(u3(!1))},[t,n,o,s,e,r])},Xne=he([en],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Gt}}),Jne=e=>{const t=Z(),{isMoveStageKeyHeld:n,stageScale:r}=$(Xne);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const i={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let u=o.evt.deltaY;o.evt.ctrlKey&&(u=-u);const d=Vs(r*IO**u,PO,jO),p={x:s.x-i.x*d,y:s.y-i.y*d};t(EO(d)),t(l3(p))},[e,n,r,t])},Zne=he(en,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:i}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:i,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Gt}}),ere=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=$(Zne);return a.jsxs(Sa,{children:[a.jsx(qs,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),a.jsx(qs,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},tre=he([en],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),nre=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=$(tre),{colorMode:r}=xs(),[o,s]=f.useState([]),[i,u]=ec("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:g,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(g),y:d(v)}},S={x:Math.ceil(d(g)/64)*64,y:Math.ceil(d(v)/64)*64},x={x1:-S.x,y1:-S.y,x2:d(p)-S.x+64,y2:d(h)-S.y+64},_={x1:Math.min(b.x1,x.x1),y1:Math.min(b.y1,x.y1),x2:Math.max(b.x2,x.x2),y2:Math.max(b.y2,x.y2)},k=_.x2-_.x1,P=_.y2-_.y1,I=Math.round(k/64)+1,E=Math.round(P/64)+1,O=$x(0,I).map(D=>a.jsx(Vp,{x:_.x1+D*64,y:_.y1,points:[0,0,0,P],stroke:r==="dark"?i:u,strokeWidth:1},`x_${D}`)),R=$x(0,E).map(D=>a.jsx(Vp,{x:_.x1,y:_.y1+D*64,points:[0,0,k,0],stroke:r==="dark"?i:u,strokeWidth:1},`y_${D}`));s(O.concat(R))},[e,t,n,d,r,i,u]),a.jsx(Sa,{children:o})},rre=he([xo,en],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Gt}}),ore=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=$(rre),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const i=new Image;i.onload=()=>{s(i)},i.src=n.dataURL},[n]),n&&r&&o?a.jsx(PI,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},Ii=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},sre=he(en,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:Ii(t)}}),d4=e=>`data:image/svg+xml;utf8, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`.replaceAll("black",e),are=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=$(sre),[i,u]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),g=f.useCallback(()=>{p(d+1),setTimeout(g,500)},[d]);return f.useEffect(()=>{if(i)return;const v=new Image;v.onload=()=>{u(v)},v.src=d4(n)},[i,n]),f.useEffect(()=>{i&&(i.src=d4(n))},[i,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!i||!il(r.x)||!il(r.y)||!il(s)||!il(o.width)||!il(o.height)?null:a.jsx(qs,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:i,fillPatternOffsetY:il(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},ire=he([en],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Gt}}),lre=e=>{const{...t}=e,{objects:n}=$(ire);return a.jsx(Sa,{listening:!1,...t,children:n.filter(OO).map((r,o)=>a.jsx(Vp,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var yi=f,cre=function(t,n,r){const o=yi.useRef("loading"),s=yi.useRef(),[i,u]=yi.useState(0),d=yi.useRef(),p=yi.useRef(),h=yi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),yi.useLayoutEffect(function(){if(!t)return;var g=document.createElement("img");function v(){o.current="loaded",s.current=g,u(Math.random())}function b(){o.current="failed",s.current=void 0,u(Math.random())}return g.addEventListener("load",v),g.addEventListener("error",b),n&&(g.crossOrigin=n),r&&(g.referrerPolicy=r),g.src=t,function(){g.removeEventListener("load",v),g.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const ure=wu(cre),EI=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:i,isError:u}=Uo(s??Xr.skipToken),[d]=ure((i==null?void 0:i.image_url)??"",MO.get()?"use-credentials":"anonymous");return u?a.jsx(qs,{x:r,y:o,width:t,height:n,fill:"red"}):a.jsx(PI,{x:r,y:o,image:d,listening:!1})},dre=he([en],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Gt}}),fre=()=>{const{objects:e}=$(dre);return e?a.jsx(Sa,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(O4(t))return a.jsx(EI,{canvasImage:t},n);if(RO(t)){const r=a.jsx(Vp,{points:t.points,stroke:t.color?Ii(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?a.jsx(Sa,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(DO(t))return a.jsx(qs,{x:t.x,y:t.y,width:t.width,height:t.height,fill:Ii(t.color)},n);if(AO(t))return a.jsx(qs,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},pre=he([en],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:i,height:u}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:i,height:u}},{memoizeOptions:{resultEqualityCheck:Gt}}),hre=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:i,width:u,height:d}=$(pre);return a.jsxs(Sa,{...t,children:[r&&n&&a.jsx(EI,{canvasImage:n}),o&&a.jsxs(Sa,{children:[a.jsx(qs,{x:s,y:i,width:u,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),a.jsx(qs,{x:s,y:i,width:u,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},mre=he([en],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),gre=()=>{const e=Z(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=$(mre),{t:i}=ue(),u=f.useCallback(()=>{e(Ix(!0))},[e]),d=f.useCallback(()=>{e(Ix(!1))},[e]);Ye(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),Ye(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),Ye(["enter"],()=>{g()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(TO()),[e]),h=f.useCallback(()=>e(NO()),[e]),g=f.useCallback(()=>e($O(s)),[e,s]),{data:v}=Uo((r==null?void 0:r.imageName)??Xr.skipToken);return r?a.jsx(L,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:u,onMouseOut:d,children:a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{tooltip:`${i("unifiedCanvas.previous")} (Left)`,"aria-label":`${i("unifiedCanvas.previous")} (Left)`,icon:a.jsx(Uz,{}),onClick:p,colorScheme:"accent",isDisabled:t}),a.jsx(je,{tooltip:`${i("unifiedCanvas.next")} (Right)`,"aria-label":`${i("unifiedCanvas.next")} (Right)`,icon:a.jsx(Gz,{}),onClick:h,colorScheme:"accent",isDisabled:n}),a.jsx(je,{tooltip:`${i("unifiedCanvas.accept")} (Enter)`,"aria-label":`${i("unifiedCanvas.accept")} (Enter)`,icon:a.jsx(Kz,{}),onClick:g,colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.showHide"),"aria-label":i("unifiedCanvas.showHide"),"data-alert":!o,icon:o?a.jsx(nL,{}):a.jsx(tL,{}),onClick:()=>e(zO(!o)),colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.saveToGallery"),"aria-label":i("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:a.jsx(yh,{}),onClick:()=>{v&&e(LO({imageDTO:v}))},colorScheme:"accent"}),a.jsx(je,{tooltip:i("unifiedCanvas.discardAll"),"aria-label":i("unifiedCanvas.discardAll"),icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(BO()),colorScheme:"error",fontSize:20})]})}):null},kl=e=>Math.round(e*100)/100,vre=he([en],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${kl(n)}, ${kl(r)})`}},{memoizeOptions:{resultEqualityCheck:Gt}});function yre(){const{cursorCoordinatesString:e}=$(vre),{t}=ue();return a.jsx($e,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const rv="var(--invokeai-colors-warning-500)",bre=he([en],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:i},scaledBoundingBoxDimensions:{width:u,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:g,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:S,shouldPreserveMaskedArea:x}=e;let C="inherit";return(S==="none"&&(s<512||i<512)||S==="manual"&&u*d<512*512)&&(C=rv),{activeLayerColor:b==="mask"?rv:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:C,boundingBoxCoordinatesString:`(${kl(p)}, ${kl(h)})`,boundingBoxDimensionsString:`${s}×${i}`,scaledBoundingBoxDimensionsString:`${u}×${d}`,canvasCoordinatesString:`${kl(r)}×${kl(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(g*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:S!=="auto",shouldShowScaledBoundingBox:S!=="none",shouldPreserveMaskedArea:x}},{memoizeOptions:{resultEqualityCheck:Gt}}),xre=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:i,canvasCoordinatesString:u,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:g,shouldPreserveMaskedArea:v}=$(bre),{t:b}=ue();return a.jsxs(L,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx($e,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&a.jsx($e,{style:{color:rv},children:"Preserve Masked Area: On"}),g&&a.jsx($e,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),i&&a.jsx($e,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&a.jsxs(a.Fragment,{children:[a.jsx($e,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),a.jsx($e,{children:`${b("unifiedCanvas.canvasPosition")}: ${u}`}),a.jsx(yre,{})]})]})},wre=he([en,Zr],(e,t)=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:i,isMovingBoundingBox:u,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:u,isTransformingBoundingBox:i,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Gt}}),Sre=e=>{const{...t}=e,n=Z(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:i,isTransformingBoundingBox:u,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:g,aspectRatio:v}=$(wre),b=f.useRef(null),S=f.useRef(null),[x,C]=f.useState(!1);f.useEffect(()=>{var F;!b.current||!S.current||(b.current.nodes([S.current]),(F=b.current.getLayer())==null||F.batchDraw())},[]);const _=64*d;Ye("N",()=>{n(ou(!p))});const k=f.useCallback(F=>{if(!p){n(qm({x:Math.floor(F.target.x()),y:Math.floor(F.target.y())}));return}const N=F.target.x(),G=F.target.y(),K=cs(N,64),M=cs(G,64);F.target.x(K),F.target.y(M),n(qm({x:K,y:M}))},[n,p]),P=f.useCallback(()=>{if(!S.current)return;const F=S.current,N=F.scaleX(),G=F.scaleY(),K=Math.round(F.width()*N),M=Math.round(F.height()*G),U=Math.round(F.x()),V=Math.round(F.y());if(v){const ee=cs(K/v,64);n(Bs({width:K,height:ee}))}else n(Bs({width:K,height:M}));n(qm({x:p?Od(U,64):U,y:p?Od(V,64):V})),F.scaleX(1),F.scaleY(1)},[n,p,v]),I=f.useCallback((F,N,G)=>{const K=F.x%_,M=F.y%_;return{x:Od(N.x,_)+K,y:Od(N.y,_)+M}},[_]),E=()=>{n(Km(!0))},O=()=>{n(Km(!1)),n(Qm(!1)),n(Md(!1)),C(!1)},R=()=>{n(Qm(!0))},D=()=>{n(Km(!1)),n(Qm(!1)),n(Md(!1)),C(!1)},T=()=>{C(!0)},B=()=>{!u&&!i&&C(!1)},W=()=>{n(Md(!0))},J=()=>{n(Md(!1))};return a.jsxs(Sa,{...t,children:[a.jsx(qs,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:W,onMouseOver:W,onMouseLeave:J,onMouseOut:J}),a.jsx(qs,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:g,listening:!s&&h==="move",onDragStart:R,onDragEnd:D,onDragMove:k,onMouseDown:R,onMouseOut:B,onMouseOver:T,onMouseEnter:T,onMouseUp:D,onTransform:P,onTransformEnd:O,ref:S,stroke:x?"rgba(255,255,255,0.7)":"white",strokeWidth:(x?8:1)/d,width:o.width,x:r.x,y:r.y}),a.jsx(zne,{anchorCornerRadius:3,anchorDragBoundFunc:I,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:D,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Cre=he(en,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:i,layer:u,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:g,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:S,shouldRestrictStrokesToBox:x}=e,C=x?{clipX:b.x,clipY:b.y,clipWidth:S.width,clipHeight:S.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:Ex/g,colorPickerInnerRadius:(Ex-Jg+1)/g,maskColorString:Ii({...o,a:.5}),brushColorString:Ii(s),colorPickerColorString:Ii(r),tool:i,layer:u,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/g,dotRadius:1.5/g,clip:C}},{memoizeOptions:{resultEqualityCheck:Gt}}),_re=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:i,layer:u,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:g,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:S,clip:x}=$(Cre);return d?a.jsxs(Sa,{listening:!1,...x,...t,children:[i==="colorPicker"?a.jsxs(a.Fragment,{children:[a.jsx(vi,{x:n,y:r,radius:S,stroke:g,strokeWidth:Jg,strokeScaleEnabled:!1}),a.jsx(vi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Jg,strokeScaleEnabled:!1})]}):a.jsxs(a.Fragment,{children:[a.jsx(vi,{x:n,y:r,radius:o,fill:u==="mask"?s:g,globalCompositeOperation:i==="eraser"?"destination-out":"source-out"}),a.jsx(vi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),a.jsx(vi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),a.jsx(vi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),a.jsx(vi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},kre=he([en,Jn],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:i,isMovingBoundingBox:u,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:g,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:S,shouldAntialias:x}=e;let C="none";return h==="move"||t?g?C="grabbing":C="grab":s?C=void 0:S&&!i&&(C="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||u,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:C,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:x}},Ke),jre=He(Lne,{shouldForwardProp:e=>!["sx"].includes(e)}),f4=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:i,stageScale:u,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:g}=$(kre);Wne();const v=f.useRef(null),b=f.useRef(null),S=f.useCallback(B=>{HO(B),v.current=B},[]),x=f.useCallback(B=>{FO(B),b.current=B},[]),C=f.useRef({x:0,y:0}),_=f.useRef(!1),k=Jne(v),P=Une(v),I=Yne(v,_),E=qne(v,_,C),O=Kne(),{handleDragStart:R,handleDragMove:D,handleDragEnd:T}=Fne();return a.jsx(L,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:a.jsxs($e,{sx:{position:"relative"},children:[a.jsxs(jre,{tabIndex:-1,ref:S,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:i.width,height:i.height,scale:{x:u,y:u},onTouchStart:P,onTouchMove:E,onTouchEnd:I,onMouseDown:P,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:D,onDragEnd:T,onContextMenu:B=>B.evt.preventDefault(),onWheel:k,draggable:(d==="move"||p)&&!t,children:[a.jsx(zc,{id:"grid",visible:r,children:a.jsx(nre,{})}),a.jsx(zc,{id:"base",ref:x,listening:!1,imageSmoothingEnabled:g,children:a.jsx(fre,{})}),a.jsxs(zc,{id:"mask",visible:e,listening:!1,children:[a.jsx(lre,{visible:!0,listening:!1}),a.jsx(are,{listening:!1})]}),a.jsx(zc,{children:a.jsx(ere,{})}),a.jsxs(zc,{id:"preview",imageSmoothingEnabled:g,children:[!p&&a.jsx(_re,{visible:d!=="move",listening:!1}),a.jsx(hre,{visible:p}),h&&a.jsx(ore,{}),a.jsx(Sre,{visible:n&&!p})]})]}),a.jsx(xre,{}),a.jsx(gre,{})]})})},Pre=he(en,JN,or,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),p4=()=>{const e=Z(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=$(Pre),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:i,clientHeight:u}=s.current;e(WO({width:i,height:u})),e(o?VO():Jp()),e(M4(!1))},0)},[e,r,t,n,o]),a.jsx(L,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:a.jsx(oc,{thickness:"2px",size:"xl"})})};function OI(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const Ire=He(mI,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),Hg={width:6,height:6,borderColor:"base.100"},Ere=e=>{const{styleClass:t="",...n}=e;return a.jsx(Ire,{sx:{".react-colorful__hue-pointer":Hg,".react-colorful__saturation-pointer":Hg,".react-colorful__alpha-pointer":Hg},className:t,...n})},Up=f.memo(Ere),Ore=he([en,Jn],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:Ii(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}}),Mre=()=>{const e=Z(),{t}=ue(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:i}=$(Ore);Ye(["q"],()=>{u()},{enabled:()=>!i,preventDefault:!0},[n]),Ye(["shift+c"],()=>{d()},{enabled:()=>!i,preventDefault:!0},[]),Ye(["h"],()=>{p()},{enabled:()=>!i,preventDefault:!0},[o]);const u=()=>{e(Af(n==="mask"?"base":"mask"))},d=()=>e(wv()),p=()=>e(ku(!o));return a.jsx(Wi,{triggerComponent:a.jsx(Yn,{children:a.jsx(je,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:a.jsx(dL,{}),isChecked:n==="mask",isDisabled:i})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),a.jsx(Ln,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(f3(h.target.checked))}),a.jsx(Up,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(p3(h))}),a.jsxs(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},Rre=he([en,or,xo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function MI(){const e=Z(),{canRedo:t,activeTabName:n}=$(Rre),{t:r}=ue(),o=()=>{e(UO())};return Ye(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),a.jsx(je,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:a.jsx(mL,{}),onClick:o,isDisabled:!t})}const RI=()=>{const e=$(Jn),t=Z(),{t:n}=ue();return a.jsxs(hy,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(GO()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:a.jsx(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[a.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),a.jsx("br",{}),a.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},Dre=he([en],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:i,shouldSnapToGrid:u,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:i,shouldSnapToGrid:u,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Gt}}),Are=()=>{const e=Z(),{t}=ue(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:i,shouldShowIntermediates:u,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=$(Dre);Ye(["n"],()=>{e(ou(!d))},{enabled:!0,preventDefault:!0},[d]);const g=v=>e(ou(v.target.checked));return a.jsx(Wi,{isLazy:!1,triggerComponent:a.jsx(je,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:t("unifiedCanvas.showIntermediates"),isChecked:u,onChange:v=>e(h3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showGrid"),isChecked:i,onChange:v=>e(m3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:g}),a.jsx(Ln,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(g3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(v3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(y3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(b3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(x3(v.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(w3(v.target.checked))}),a.jsx(RI,{})]})})},Tre=he([en,Jn,xo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:i}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),Nre=()=>{const e=Z(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=$(Tre),{t:s}=ue();Ye(["b"],()=>{i()},{enabled:()=>!o,preventDefault:!0},[]),Ye(["e"],()=>{u()},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),Ye(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),Ye(["BracketLeft"],()=>{e(Il(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),Ye(["BracketRight"],()=>{e(Il(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),Ye(["Shift+BracketLeft"],()=>{e(El({...n,a:Vs(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),Ye(["Shift+BracketRight"],()=>{e(El({...n,a:Vs(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const i=()=>e(Hs("brush")),u=()=>e(Hs("eraser")),d=()=>e(Hs("colorPicker")),p=()=>e(S3()),h=()=>e(C3());return a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:a.jsx(b_,{}),isChecked:t==="brush"&&!o,onClick:i,isDisabled:o}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:a.jsx(h_,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:u}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:a.jsx(v_,{}),isDisabled:o,onClick:p}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),a.jsx(je,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:a.jsx(g_,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),a.jsx(Wi,{triggerComponent:a.jsx(je,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:a.jsx(y1,{})}),children:a.jsxs(L,{minWidth:60,direction:"column",gap:4,width:"100%",children:[a.jsx(L,{gap:4,justifyContent:"space-between",children:a.jsx(Ct,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:g=>e(Il(g)),sliderNumberInputProps:{max:500}})}),a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:g=>e(El(g))})]})})]})},$re=he([en,or,xo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function DI(){const e=Z(),{t}=ue(),{canUndo:n,activeTabName:r}=$($re),o=()=>{e(qO())};return Ye(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),a.jsx(je,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:a.jsx(b1,{}),onClick:o,isDisabled:!n})}const zre=he([xo,en,Jn],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:i,isMaskEnabled:u}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:u,tool:o,layer:i,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Gt}}),Lre=()=>{const e=Z(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=$(zre),i=ma(),{t:u}=ue(),{isClipboardAPIAvailable:d}=G1(),{getUploadButtonProps:p,getUploadInputProps:h}=Rh({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});Ye(["v"],()=>{g()},{enabled:()=>!n,preventDefault:!0},[]),Ye(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[i]),Ye(["shift+m"],()=>{x()},{enabled:()=>!n,preventDefault:!0},[i,t]),Ye(["shift+s"],()=>{C()},{enabled:()=>!n,preventDefault:!0},[i,t]),Ye(["meta+c","ctrl+c"],()=>{_()},{enabled:()=>!n&&d,preventDefault:!0},[i,t,d]),Ye(["shift+d"],()=>{k()},{enabled:()=>!n,preventDefault:!0},[i,t]);const g=()=>e(Hs("move")),v=OI(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=ma();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(_3({contentRect:O,shouldScaleTo1:I}))},S=()=>{e(vv()),e(Jp())},x=()=>{e(k3())},C=()=>{e(j3())},_=()=>{d&&e(P3())},k=()=>{e(I3())},P=I=>{const E=I;e(Af(E)),E==="mask"&&!r&&e(ku(!0))};return a.jsxs(L,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[a.jsx($e,{w:24,children:a.jsx(br,{tooltip:`${u("unifiedCanvas.layer")} (Q)`,value:o,data:E3,onChange:P,disabled:n})}),a.jsx(Mre,{}),a.jsx(Nre,{}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("unifiedCanvas.move")} (V)`,tooltip:`${u("unifiedCanvas.move")} (V)`,icon:a.jsx(d_,{}),isChecked:s==="move"||n,onClick:g}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.resetView")} (R)`,tooltip:`${u("unifiedCanvas.resetView")} (R)`,icon:a.jsx(p_,{}),onClick:v})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${u("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:a.jsx(y_,{}),onClick:x,isDisabled:n}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${u("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:a.jsx(yh,{}),onClick:C,isDisabled:n}),d&&a.jsx(je,{"aria-label":`${u("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${u("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:a.jsx(cc,{}),onClick:_,isDisabled:n}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${u("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:a.jsx(v1,{}),onClick:k,isDisabled:n})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(DI,{}),a.jsx(MI,{})]}),a.jsxs(Yn,{isAttached:!0,children:[a.jsx(je,{"aria-label":`${u("common.upload")}`,tooltip:`${u("common.upload")}`,icon:a.jsx(Fu,{}),isDisabled:n,...p()}),a.jsx("input",{...h()}),a.jsx(je,{"aria-label":`${u("unifiedCanvas.clearCanvas")}`,tooltip:`${u("unifiedCanvas.clearCanvas")}`,icon:a.jsx(Xo,{}),onClick:S,colorScheme:"error",isDisabled:n})]}),a.jsx(Yn,{isAttached:!0,children:a.jsx(Are,{})})]})};function Bre(){const e=Z(),t=$(o=>o.canvas.brushSize),{t:n}=ue(),r=$(Jn);return Ye(["BracketLeft"],()=>{e(Il(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),Ye(["BracketRight"],()=>{e(Il(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),a.jsx(Ct,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(Il(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Fre=he([en,Jn],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function Hre(){const e=Z(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=$(Fre),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return Ye(["shift+BracketLeft"],()=>{e(El({...t,a:Vs(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),Ye(["shift+BracketRight"],()=>{e(El({...t,a:Vs(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),a.jsx(Wi,{triggerComponent:a.jsx($e,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:a.jsxs(L,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:i=>e(El(i))}),r==="mask"&&a.jsx(Up,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:i=>e(p3(i))})]})})}function AI(){return a.jsxs(L,{columnGap:4,alignItems:"center",children:[a.jsx(Bre,{}),a.jsx(Hre,{})]})}function Wre(){const e=Z(),t=$(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(b3(r.target.checked))})}function Vre(){return a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(AI,{}),a.jsx(Wre,{})]})}function Ure(){const e=Z(),{t}=ue(),n=()=>e(wv());return a.jsx(Xt,{size:"sm",leftIcon:a.jsx(Xo,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function Gre(){const e=$(o=>o.canvas.isMaskEnabled),t=Z(),{t:n}=ue(),r=()=>t(ku(!e));return a.jsx(Ln,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function qre(){const e=Z(),{t}=ue(),n=$(r=>r.canvas.shouldPreserveMaskedArea);return a.jsx(Ln,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(f3(r.target.checked))})}function Kre(){return a.jsxs(L,{gap:4,alignItems:"center",children:[a.jsx(AI,{}),a.jsx(Gre,{}),a.jsx(qre,{}),a.jsx(Ure,{})]})}function Qre(){const e=$(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=Z(),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(g3(r.target.checked))})}function Yre(){const e=$(r=>r.canvas.shouldShowGrid),t=Z(),{t:n}=ue();return a.jsx(Ln,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(m3(r.target.checked))})}function Xre(){const e=$(o=>o.canvas.shouldSnapToGrid),t=Z(),{t:n}=ue(),r=o=>t(ou(o.target.checked));return a.jsx(Ln,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Jre(){return a.jsxs(L,{alignItems:"center",gap:4,children:[a.jsx(Yre,{}),a.jsx(Xre,{}),a.jsx(Qre,{})]})}const Zre=he([en],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Gt}});function eoe(){const{tool:e,layer:t}=$(Zre);return a.jsxs(L,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&a.jsx(Vre,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&a.jsx(Kre,{}),e=="move"&&a.jsx(Jre,{})]})}const toe=he([en],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Gt}}),noe=()=>{const e=Z(),{t}=ue(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:i}=$(toe);return a.jsx(Wi,{isLazy:!1,triggerComponent:a.jsx(je,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:a.jsx(x1,{})}),children:a.jsxs(L,{direction:"column",gap:2,children:[a.jsx(Ln,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:u=>e(h3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:u=>e(v3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:u=>e(y3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:u=>e(x3(u.target.checked))}),a.jsx(Ln,{label:t("unifiedCanvas.antialiasing"),isChecked:i,onChange:u=>e(w3(u.target.checked))}),a.jsx(RI,{})]})})};function roe(){const e=$(Jn),t=ma(),{isClipboardAPIAvailable:n}=G1(),r=$(u=>u.system.isProcessing),o=Z(),{t:s}=ue();Ye(["meta+c","ctrl+c"],()=>{i()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const i=f.useCallback(()=>{n&&o(P3())},[o,n]);return n?a.jsx(je,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:a.jsx(cc,{}),onClick:i,isDisabled:e}):null}function ooe(){const e=Z(),{t}=ue(),n=ma(),r=$(Jn);Ye(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(I3())};return a.jsx(je,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:a.jsx(v1,{}),onClick:o,isDisabled:r})}function soe(){const e=$(Jn),{getUploadButtonProps:t,getUploadInputProps:n}=Rh({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ue();return a.jsxs(a.Fragment,{children:[a.jsx(je,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:a.jsx(Fu,{}),isDisabled:e,...t()}),a.jsx("input",{...n()})]})}const aoe=he([en,Jn],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Gt}});function ioe(){const e=Z(),{t}=ue(),{layer:n,isMaskEnabled:r,isStaging:o}=$(aoe),s=()=>{e(Af(n==="mask"?"base":"mask"))};Ye(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const i=u=>{const d=u;e(Af(d)),d==="mask"&&!r&&e(ku(!0))};return a.jsx(Co,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:E3,onChange:i,disabled:o,w:"full"})}function loe(){const e=Z(),{t}=ue(),n=ma(),r=$(Jn),o=$(i=>i.system.isProcessing);Ye(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(k3())};return a.jsx(je,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:a.jsx(y_,{}),onClick:s,isDisabled:r})}function coe(){const e=$(s=>s.canvas.tool),t=$(Jn),n=Z(),{t:r}=ue();Ye(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(Hs("move"));return a.jsx(je,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:a.jsx(d_,{}),isChecked:e==="move"||t,onClick:o})}function uoe(){const e=$(s=>s.ui.shouldPinParametersPanel),t=$(s=>s.ui.shouldShowParametersPanel),n=Z(),{t:r}=ue(),o=()=>{n(Sv(!0)),e&&n(yo())};return!e||!t?a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsx(je,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:a.jsx(y1,{})}),a.jsx(L,{children:a.jsx(dy,{iconButton:!0})}),a.jsx(L,{children:a.jsx(Th,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function doe(){const e=Z(),{t}=ue(),n=$(Jn),r=()=>{e(vv()),e(Jp())};return a.jsx(je,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:a.jsx(Xo,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function foe(){const e=ma(),t=Z(),{t:n}=ue();Ye(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=OI(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const i=ma();if(!i)return;const u=i.getClientRect({skipTransform:!0});t(_3({contentRect:u,shouldScaleTo1:s}))};return a.jsx(je,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:a.jsx(p_,{}),onClick:r})}function poe(){const e=$(Jn),t=ma(),n=$(i=>i.system.isProcessing),r=Z(),{t:o}=ue();Ye(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(j3())};return a.jsx(je,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:a.jsx(yh,{}),onClick:s,isDisabled:e})}const hoe=he([en,Jn,xo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),moe=()=>{const e=Z(),{t}=ue(),{tool:n,isStaging:r}=$(hoe);Ye(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),Ye(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),Ye(["c"],()=>{i()},{enabled:()=>!r,preventDefault:!0},[n]),Ye(["shift+f"],()=>{u()},{enabled:()=>!r,preventDefault:!0}),Ye(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(Hs("brush")),s=()=>e(Hs("eraser")),i=()=>e(Hs("colorPicker")),u=()=>e(S3()),d=()=>e(C3());return a.jsxs(L,{flexDirection:"column",gap:2,children:[a.jsxs(Yn,{children:[a.jsx(je,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:a.jsx(b_,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:a.jsx(h_,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),a.jsxs(Yn,{children:[a.jsx(je,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:a.jsx(v_,{}),isDisabled:r,onClick:u}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:a.jsx(Hi,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),a.jsx(je,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:a.jsx(g_,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:i,width:"max-content"})]})},goe=()=>a.jsxs(L,{flexDirection:"column",rowGap:2,width:"min-content",children:[a.jsx(ioe,{}),a.jsx(moe,{}),a.jsxs(L,{gap:2,children:[a.jsx(coe,{}),a.jsx(foe,{})]}),a.jsxs(L,{columnGap:2,children:[a.jsx(loe,{}),a.jsx(poe,{})]}),a.jsxs(L,{columnGap:2,children:[a.jsx(roe,{}),a.jsx(ooe,{})]}),a.jsxs(L,{gap:2,children:[a.jsx(DI,{}),a.jsx(MI,{})]}),a.jsxs(L,{gap:2,children:[a.jsx(soe,{}),a.jsx(doe,{})]}),a.jsx(noe,{}),a.jsx(uoe,{})]}),voe=he([en,Zr],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ke),Wg={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},yoe=()=>{const e=Z(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=$(voe),{isOver:r,setNodeRef:o,active:s}=uv({id:"unifiedCanvas",data:Wg});return f.useLayoutEffect(()=>{const i=()=>{e(yo())};return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[e]),n?a.jsx($e,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:a.jsxs(L,{sx:{w:"full",h:"full",gap:4},children:[a.jsx(goe,{}),a.jsxs(L,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[a.jsx(eoe,{}),a.jsxs($e,{sx:{w:"full",h:"full",position:"relative"},children:[t?a.jsx(p4,{}):a.jsx(f4,{}),jf(Wg,s)&&a.jsx(Yf,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):a.jsx($e,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:a.jsxs(L,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[a.jsx(Lre,{}),a.jsx(L,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:a.jsxs($e,{sx:{w:"full",h:"full",position:"relative"},children:[t?a.jsx(p4,{}):a.jsx(f4,{}),jf(Wg,s)&&a.jsx(Yf,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},boe=f.memo(yoe),xoe=he([mt],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ke),woe=()=>{const e=Z(),{infillMethod:t}=$(xoe),{data:n,isLoading:r}=KO(),o=n==null?void 0:n.infill_methods,{t:s}=ue(),i=f.useCallback(u=>{e(QO(u))},[e]);return a.jsx(Co,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:i})},Soe=f.memo(woe),Coe=he([Zo],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ke),_oe=()=>{const e=Z(),{tileSize:t,infillMethod:n}=$(Coe),{t:r}=ue(),o=f.useCallback(i=>{e(Ox(i))},[e]),s=f.useCallback(()=>{e(Ox(32))},[e]);return a.jsx(Ct,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},koe=f.memo(_oe),joe=he([en],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ke),Poe=()=>{const e=Z(),{boundingBoxScale:t}=$(joe),{t:n}=ue(),r=o=>{e(XO(o))};return a.jsx(br,{label:n("parameters.scaleBeforeProcessing"),data:YO,value:t,onChange:r})},Ioe=f.memo(Poe),Eoe=he([Zo,xo,en],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ke),Ooe=()=>{const e=Z(),{isManual:t,scaledBoundingBoxDimensions:n}=$(Eoe),{t:r}=ue(),o=i=>{e(Tf({...n,height:Math.floor(i)}))},s=()=>{e(Tf({...n,height:Math.floor(512)}))};return a.jsx(Ct,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Moe=f.memo(Ooe),Roe=he([en],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ke),Doe=()=>{const e=Z(),{isManual:t,scaledBoundingBoxDimensions:n}=$(Roe),{t:r}=ue(),o=i=>{e(Tf({...n,width:Math.floor(i)}))},s=()=>{e(Tf({...n,width:Math.floor(512)}))};return a.jsx(Ct,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Aoe=f.memo(Doe),Toe=()=>{const{t:e}=ue();return a.jsx(Ro,{label:e("parameters.infillScalingHeader"),children:a.jsxs(L,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(Soe,{}),a.jsx(koe,{}),a.jsx(Ioe,{}),a.jsx(Aoe,{}),a.jsx(Moe,{})]})})},Noe=f.memo(Toe);function $oe(){const e=Z(),t=$(r=>r.generation.seamBlur),{t:n}=ue();return a.jsx(Ct,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(Mx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Mx(16))}})}function zoe(){const e=Z(),{t}=ue(),n=$(r=>r.generation.seamSize);return a.jsx(Ct,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(Rx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(Rx(96))})}function Loe(){const{t:e}=ue(),t=$(r=>r.generation.seamSteps),n=Z();return a.jsx(Ct,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(Dx(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(Dx(30))}})}function Boe(){const e=Z(),{t}=ue(),n=$(r=>r.generation.seamStrength);return a.jsx(Ct,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(Ax(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Ax(.7))}})}const Foe=()=>{const{t:e}=ue();return a.jsxs(Ro,{label:e("parameters.seamCorrectionHeader"),children:[a.jsx(zoe,{}),a.jsx($oe,{}),a.jsx(Boe,{}),a.jsx(Loe,{})]})},Hoe=f.memo(Foe),Woe=he([en,Jn,Zr],(e,t,n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=n;return{boundingBoxDimensions:r,isStaging:t,aspectRatio:o}},Ke),Voe=()=>{const e=Z(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=$(Woe),{t:o}=ue(),s=u=>{if(e(Bs({...t,height:Math.floor(u)})),r){const d=cs(u*r,64);e(Bs({width:d,height:Math.floor(u)}))}},i=()=>{if(e(Bs({...t,height:Math.floor(512)})),r){const u=cs(512*r,64);e(Bs({width:u,height:Math.floor(512)}))}};return a.jsx(Ct,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:i})},Uoe=f.memo(Voe),Goe=he([en,Jn,Zr],(e,t,n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=n;return{boundingBoxDimensions:r,isStaging:t,aspectRatio:o}},Ke),qoe=()=>{const e=Z(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=$(Goe),{t:o}=ue(),s=u=>{if(e(Bs({...t,width:Math.floor(u)})),r){const d=cs(u/r,64);e(Bs({width:Math.floor(u),height:d}))}},i=()=>{if(e(Bs({...t,width:Math.floor(512)})),r){const u=cs(512/r,64);e(Bs({width:Math.floor(512),height:u}))}};return a.jsx(Ct,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:i})},Koe=f.memo(qoe);function h4(){const e=Z(),{t}=ue();return a.jsxs(L,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[a.jsxs(L,{alignItems:"center",gap:2,children:[a.jsx(qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),a.jsx(Bi,{}),a.jsx(eI,{}),a.jsx(je,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:a.jsx(jP,{}),fontSize:20,onClick:()=>e(JO())})]}),a.jsx(Koe,{}),a.jsx(Uoe,{})]})}const Qoe=he(mt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),Yoe=()=>{const{shouldUseSliders:e,activeLabel:t}=$(Qoe);return a.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsxs(L,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(h4,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(L,{gap:3,children:[a.jsx(Kl,{}),a.jsx(Yl,{}),a.jsx(ql,{})]}),a.jsx(Ql,{}),a.jsx($e,{pt:2,children:a.jsx(Xl,{})}),a.jsx(h4,{})]}),a.jsx(tI,{})]})})},Xoe=f.memo(Yoe),Joe=()=>a.jsxs(a.Fragment,{children:[a.jsx(ly,{}),a.jsx(sy,{}),a.jsx(fy,{}),a.jsx(Xoe,{}),a.jsx(ry,{}),a.jsx(ty,{}),a.jsx(ey,{}),a.jsx(uy,{}),a.jsx(cy,{}),a.jsx(Hoe,{}),a.jsx(Noe,{}),a.jsx(ny,{})]}),TI=f.memo(Joe),Zoe=()=>a.jsxs(L,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(Z1,{children:a.jsx(TI,{})}),a.jsx(boe,{})]}),ese=f.memo(Zoe),tse=[{id:"txt2img",translationKey:"common.txt2img",icon:a.jsx(io,{as:rL,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(Nte,{})},{id:"img2img",translationKey:"common.img2img",icon:a.jsx(io,{as:Ti,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(zJ,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:a.jsx(io,{as:BK,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(ese,{})},{id:"nodes",translationKey:"common.nodes",icon:a.jsx(io,{as:LK,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(Ote,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:a.jsx(io,{as:Yz,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(TZ,{})}],nse=he([qi,xo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return tse.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Gt}}),rse=350,Vg=20,NI=["modelManager"],ose=()=>{const e=$(FT),t=$(or),n=$(nse),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=$(S=>S.ui),{t:i}=ue(),u=Z();Ye("f",()=>{u(ZO()),(r||o)&&u(yo())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&u(yo())},[u,t]),p=f.useCallback(S=>{S.target instanceof HTMLElement&&S.target.blur()},[]),h=f.useMemo(()=>n.map(S=>a.jsx(Cn,{hasArrow:!0,label:String(i(S.translationKey)),placement:"end",children:a.jsxs(Bl,{onClick:p,children:[a.jsx(N3,{children:String(i(S.translationKey))}),S.icon]})},S.id)),[n,i,p]),g=f.useMemo(()=>n.map(S=>a.jsx(dh,{children:S.content},S.id)),[n]),{ref:v,minSizePct:b}=PQ(rse,Vg,"app");return a.jsxs(Nu,{defaultIndex:e,index:e,onChange:S=>{u(xl(S))},sx:{flexGrow:1,gap:4},isLazy:!0,children:[a.jsxs($u,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,a.jsx(Bi,{}),a.jsx(cQ,{})]}),a.jsxs(X1,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[a.jsx(gu,{id:"main",children:a.jsx(fh,{style:{height:"100%",width:"100%"},children:g})}),r&&s&&!NI.includes(t)&&a.jsxs(a.Fragment,{children:[a.jsx(HP,{}),a.jsx(gu,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>Vg?b:Vg,minSize:b,maxSize:50,children:a.jsx(_P,{})})]})]})]})},sse=f.memo(ose),ase=he([or,Zr],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:NI.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Gt}}),ise=()=>{const{t:e}=ue(),{shouldPinGallery:t,shouldShowGalleryButton:n}=$(ase),r=Z(),o=()=>{r(Xg(!0)),t&&r(yo())};return n?a.jsx(je,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:a.jsx(FK,{})}):null},lse=f.memo(ise),Ug={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},cse=he([Zr,or],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",i=!s&&(!n||!o),u=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:u,shouldShowProcessButtons:i}},{memoizeOptions:{resultEqualityCheck:Gt}}),use=()=>{const e=Z(),{t}=ue(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=$(cse),s=()=>{e(Sv(!0)),o&&e(yo())};return r?a.jsxs(L,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[a.jsx(je,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:Ug,children:a.jsx(y1,{})}),n&&a.jsxs(a.Fragment,{children:[a.jsx(dy,{iconButton:!0,sx:Ug}),a.jsx(Th,{sx:Ug})]})]}):null},dse=f.memo(use),fse=he([Zr,or],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ke),pse=()=>{const e=Z(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=$(fse),o=()=>{e(Sv(!1))},s=f.useMemo(()=>r==="txt2img"?a.jsx(yI,{}):r==="img2img"?a.jsx(nI,{}):r==="unifiedCanvas"?a.jsx(TI,{}):null,[r]);return t?null:a.jsx(R5,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:a.jsxs(L,{sx:{flexDir:"column",h:"full",w:J1,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[a.jsxs(L,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[a.jsx(PP,{}),a.jsx(FP,{})]}),a.jsx(L,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:s})]})})},hse=f.memo(pse),mse=()=>{const{data:e,isFetching:t}=Xp(),{isOpen:n,onClose:r,handleAddToBoard:o,image:s}=f.useContext(A4),[i,u]=f.useState(),d=f.useRef(null),p=e==null?void 0:e.find(h=>h.board_id===(s==null?void 0:s.board_id));return a.jsx(Du,{isOpen:n,leastDestructiveRef:d,onClose:r,isCentered:!0,children:a.jsx(ya,{children:a.jsxs(Au,{children:[a.jsx(va,{fontSize:"lg",fontWeight:"bold",children:p?"Move Image to Board":"Add Image to Board"}),a.jsx(ba,{children:a.jsx($e,{children:a.jsxs(L,{direction:"column",gap:3,children:[p&&a.jsxs(qe,{children:["Moving this image from"," ",a.jsx("strong",{children:p.board_name})," to"]}),t?a.jsx(oc,{}):a.jsx(br,{placeholder:"Select Board",onChange:h=>u(h),value:i,data:(e??[]).map(h=>({label:h.board_name,value:h.board_id}))})]})})}),a.jsxs(ga,{children:[a.jsx(Xt,{onClick:r,children:"Cancel"}),a.jsx(Xt,{isDisabled:!i,colorScheme:"accent",onClick:()=>{i&&o(i)},ml:3,children:p?"Move":"Add"})]})]})})})},gse=f.memo(mse),vse=he([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Gt}}),yse=()=>{const e=Z(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=$(vse),o=$(or);return Ye("*",()=>{P5("shift")?!t&&e(Go(!0)):t&&e(Go(!1))},{keyup:!0,keydown:!0},[t]),Ye("o",()=>{e(eM()),o==="unifiedCanvas"&&n&&e(yo())}),Ye(["shift+o"],()=>{e(tM()),o==="unifiedCanvas"&&e(yo())}),Ye("g",()=>{e(nM()),o==="unifiedCanvas"&&r&&e(yo())}),Ye(["shift+g"],()=>{e(D4()),o==="unifiedCanvas"&&e(yo())}),Ye("1",()=>{e(xl("txt2img"))}),Ye("2",()=>{e(xl("img2img"))}),Ye("3",()=>{e(xl("unifiedCanvas"))}),Ye("4",()=>{e(xl("nodes"))}),null},bse=f.memo(yse),xse={},wse=({config:e=xse,headerComponent:t})=>{const n=$(L4),r=rM(),o=Z();return f.useEffect(()=>{pr.changeLanguage(n)},[n]),f.useEffect(()=>{r.info({namespace:"App",data:e},"Received config"),o(oM(e))},[o,e,r]),f.useEffect(()=>{o(sM())},[o]),a.jsxs(a.Fragment,{children:[a.jsxs(Mi,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[a.jsx(XN,{children:a.jsxs(Mi,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||a.jsx(aQ,{}),a.jsx(L,{sx:{gap:4,w:"full",h:"full"},children:a.jsx(sse,{})})]})}),a.jsx(jK,{}),a.jsx(hse,{}),a.jsx(Cf,{children:a.jsx(dse,{})}),a.jsx(Cf,{children:a.jsx(lse,{})})]}),a.jsx(OK,{}),a.jsx(gse,{}),a.jsx(aM,{}),a.jsx(bse,{})]})},Pse=f.memo(wse);export{Pse as default}; diff --git a/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js b/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js deleted file mode 100644 index d479487e00..0000000000 --- a/invokeai/frontend/web/dist/assets/MantineProvider-b5842fc1.js +++ /dev/null @@ -1 +0,0 @@ -import{go as J,W as g,gm as P,s as x,gv as K}from"./index-e2437518.js";function b(r,e){return t=>t.colorMode==="dark"?e:r}function oe(r){const{orientation:e,vertical:t,horizontal:n}=r;return e?e==="vertical"?t:n:{}}function s(r,e={}){let t=!1;function n(){if(!t){t=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...d){n();for(const u of d)e[u]=c(u);return s(r,e)}function o(...d){for(const u of d)u in e||(e[u]=c(u));return s(r,e)}function i(){return Object.fromEntries(Object.entries(e).map(([u,k])=>[u,k.selector]))}function l(){return Object.fromEntries(Object.entries(e).map(([u,k])=>[u,k.className]))}function c(d){const A=`chakra-${(["container","root"].includes(d??"")?[r]:[r,d]).filter(Boolean).join("__")}`;return{className:A,selector:`.${A}`,toString:()=>d}}return{parts:a,toPart:c,extend:o,selectors:i,classnames:l,get keys(){return Object.keys(e)},__type:{}}}var ae=s("accordion").parts("root","container","button","panel").extend("icon");s("alert").parts("title","description","container").extend("icon","spinner");s("avatar").parts("label","badge","container").extend("excessLabel","group");s("breadcrumb").parts("link","item","container").extend("separator");s("button").parts();var ie=s("checkbox").parts("control","icon","container").extend("label");s("progress").parts("track","filledTrack").extend("label");s("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var se=s("editable").parts("preview","input","textarea");s("form").parts("container","requiredIndicator","helperText");s("formError").parts("text","icon");var le=s("input").parts("addon","field","element");s("list").parts("container","item","icon");var Q=s("menu").parts("button","list","item").extend("groupTitle","command","divider"),ce=s("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),fe=s("numberinput").parts("root","field","stepperGroup","stepper");s("pininput").parts("field");var de=s("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),ue=s("progress").parts("label","filledTrack","track");s("radio").parts("container","control","label");var pe=s("select").parts("field","icon"),be=s("slider").parts("container","track","thumb","filledTrack","mark");s("stat").parts("container","label","helpText","number","icon");var ge=s("switch").parts("container","track","thumb");s("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var me=s("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");s("tag").parts("container","label","closeButton");s("card").parts("container","header","body","footer");const{definePartsStyle:Z,defineMultiStyleConfig:rr}=J(Q.keys),er=Z(r=>({button:{fontWeight:500,bg:b("base.300","base.500")(r),color:b("base.900","base.100")(r),_hover:{bg:b("base.400","base.600")(r),color:b("base.900","base.50")(r),fontWeight:600}},list:{zIndex:9999,color:b("base.900","base.150")(r),bg:b("base.200","base.800")(r),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:b("base.200","base.800")(r),_hover:{bg:b("base.300","base.700")(r)},_focus:{bg:b("base.400","base.600")(r)},svg:{opacity:.5}}})),ye=rr({variants:{invokeAI:er},defaultProps:{variant:"invokeAI"}}),ve={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},tr={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function nr(r){return()=>({fontFamily:r.fontFamily||"sans-serif"})}var or=Object.defineProperty,M=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,ir=Object.prototype.propertyIsEnumerable,I=(r,e,t)=>e in r?or(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,R=(r,e)=>{for(var t in e||(e={}))ar.call(e,t)&&I(r,t,e[t]);if(M)for(var t of M(e))ir.call(e,t)&&I(r,t,e[t]);return r};function sr(r){return e=>({WebkitTapHighlightColor:"transparent",[e||"&:focus"]:R({},r.focusRing==="always"||r.focusRing==="auto"?r.focusRingStyles.styles(r):r.focusRingStyles.resetStyles(r)),[e?e.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:R({},r.focusRing==="auto"||r.focusRing==="never"?r.focusRingStyles.resetStyles(r):null)})}function _(r){return e=>typeof r.primaryShade=="number"?r.primaryShade:r.primaryShade[e||r.colorScheme]}function E(r){const e=_(r);return(t,n,a=!0,o=!0)=>{if(typeof t=="string"&&t.includes(".")){const[l,c]=t.split("."),y=parseInt(c,10);if(l in r.colors&&y>=0&&y<10)return r.colors[l][typeof n=="number"&&!o?n:y]}const i=typeof n=="number"?n:e();return t in r.colors?r.colors[t][i]:a?r.colors[r.primaryColor][i]:t}}function V(r){let e="";for(let t=1;t{const a={from:(n==null?void 0:n.from)||r.defaultGradient.from,to:(n==null?void 0:n.to)||r.defaultGradient.to,deg:(n==null?void 0:n.deg)||r.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${e(a.from,t(),!1)} 0%, ${e(a.to,t(),!1)} 100%)`}}function X(r){return e=>{if(typeof e=="number")return`${e/16}${r}`;if(typeof e=="string"){const t=e.replace("px","");if(!Number.isNaN(Number(t)))return`${Number(t)/16}${r}`}return e}}const m=X("rem"),O=X("em");function q({size:r,sizes:e,units:t}){return r in e?e[r]:typeof r=="number"?t==="em"?O(r):m(r):r||e.md}function $(r){return typeof r=="number"?r:typeof r=="string"&&r.includes("rem")?Number(r.replace("rem",""))*16:typeof r=="string"&&r.includes("em")?Number(r.replace("em",""))*16:Number(r)}function fr(r){return e=>`@media (min-width: ${O($(q({size:e,sizes:r.breakpoints})))})`}function dr(r){return e=>`@media (max-width: ${O($(q({size:e,sizes:r.breakpoints}))-1)})`}function ur(r){return/^#?([0-9A-F]{3}){1,2}$/i.test(r)}function pr(r){let e=r.replace("#","");if(e.length===3){const i=e.split("");e=[i[0],i[0],i[1],i[1],i[2],i[2]].join("")}const t=parseInt(e,16),n=t>>16&255,a=t>>8&255,o=t&255;return{r:n,g:a,b:o,a:1}}function br(r){const[e,t,n,a]=r.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:e,g:t,b:n,a:a||1}}function j(r){return ur(r)?pr(r):r.startsWith("rgb")?br(r):{r:0,g:0,b:0,a:1}}function v(r,e){if(typeof r!="string"||e>1||e<0)return"rgba(0, 0, 0, 1)";if(r.startsWith("var(--"))return r;const{r:t,g:n,b:a}=j(r);return`rgba(${t}, ${n}, ${a}, ${e})`}function gr(r=0){return{position:"absolute",top:m(r),right:m(r),left:m(r),bottom:m(r)}}function mr(r,e){if(typeof r=="string"&&r.startsWith("var(--"))return r;const{r:t,g:n,b:a,a:o}=j(r),i=1-e,l=c=>Math.round(c*i);return`rgba(${l(t)}, ${l(n)}, ${l(a)}, ${o})`}function yr(r,e){if(typeof r=="string"&&r.startsWith("var(--"))return r;const{r:t,g:n,b:a,a:o}=j(r),i=l=>Math.round(l+(255-l)*e);return`rgba(${i(t)}, ${i(n)}, ${i(a)}, ${o})`}function vr(r){return e=>{if(typeof e=="number")return m(e);const t=typeof r.defaultRadius=="number"?r.defaultRadius:r.radius[r.defaultRadius]||r.defaultRadius;return r.radius[e]||e||t}}function Sr(r,e){if(typeof r=="string"&&r.includes(".")){const[t,n]=r.split("."),a=parseInt(n,10);if(t in e.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:t,shade:a}}return{isSplittedColor:!1}}function hr(r){const e=E(r),t=_(r),n=U(r);return({variant:a,color:o,gradient:i,primaryFallback:l})=>{const c=Sr(o,r);switch(a){case"light":return{border:"transparent",background:v(e(o,r.colorScheme==="dark"?8:0,l,!1),r.colorScheme==="dark"?.2:1),color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),hover:v(e(o,r.colorScheme==="dark"?7:1,l,!1),r.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),hover:v(e(o,r.colorScheme==="dark"?8:0,l,!1),r.colorScheme==="dark"?.2:1)};case"outline":return{border:e(o,r.colorScheme==="dark"?5:t("light")),background:"transparent",color:e(o,r.colorScheme==="dark"?5:t("light")),hover:r.colorScheme==="dark"?v(e(o,5,l,!1),.05):v(e(o,0,l,!1),.35)};case"default":return{border:r.colorScheme==="dark"?r.colors.dark[4]:r.colors.gray[4],background:r.colorScheme==="dark"?r.colors.dark[6]:r.white,color:r.colorScheme==="dark"?r.white:r.black,hover:r.colorScheme==="dark"?r.colors.dark[5]:r.colors.gray[0]};case"white":return{border:"transparent",background:r.white,color:e(o,t()),hover:null};case"transparent":return{border:"transparent",color:o==="dark"?r.colorScheme==="dark"?r.colors.dark[0]:r.colors.dark[9]:e(o,r.colorScheme==="dark"?2:t("light")),background:"transparent",hover:null};case"gradient":return{background:n(i),color:r.white,border:"transparent",hover:null};default:{const y=t(),d=c.isSplittedColor?c.shade:y,u=c.isSplittedColor?c.key:o;return{border:"transparent",background:e(u,d,l),color:r.white,hover:e(u,d===9?8:d+1)}}}}}function _r(r){return e=>{const t=_(r)(e);return r.colors[r.primaryColor][t]}}function kr(r){return{"@media (hover: hover)":{"&:hover":r},"@media (hover: none)":{"&:active":r}}}function $r(r){return()=>({userSelect:"none",color:r.colorScheme==="dark"?r.colors.dark[3]:r.colors.gray[5]})}function wr(r){return()=>r.colorScheme==="dark"?r.colors.dark[2]:r.colors.gray[6]}const f={fontStyles:nr,themeColor:E,focusStyles:sr,linearGradient:lr,radialGradient:cr,smallerThan:dr,largerThan:fr,rgba:v,cover:gr,darken:mr,lighten:yr,radius:vr,variant:hr,primaryShade:_,hover:kr,gradient:U,primaryColor:_r,placeholderStyles:$r,dimmed:wr};var Pr=Object.defineProperty,xr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,Cr=Object.prototype.hasOwnProperty,Er=Object.prototype.propertyIsEnumerable,F=(r,e,t)=>e in r?Pr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,jr=(r,e)=>{for(var t in e||(e={}))Cr.call(e,t)&&F(r,t,e[t]);if(T)for(var t of T(e))Er.call(e,t)&&F(r,t,e[t]);return r},zr=(r,e)=>xr(r,Or(e));function B(r){return zr(jr({},r),{fn:{fontStyles:f.fontStyles(r),themeColor:f.themeColor(r),focusStyles:f.focusStyles(r),largerThan:f.largerThan(r),smallerThan:f.smallerThan(r),radialGradient:f.radialGradient,linearGradient:f.linearGradient,gradient:f.gradient(r),rgba:f.rgba,cover:f.cover,lighten:f.lighten,darken:f.darken,primaryShade:f.primaryShade(r),radius:f.radius(r),variant:f.variant(r),hover:f.hover,primaryColor:f.primaryColor(r),placeholderStyles:f.placeholderStyles(r),dimmed:f.dimmed(r)}})}const Ar={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:tr,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:r=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${r.colors[r.primaryColor][r.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:r=>({outline:"none",borderColor:r.colors[r.primaryColor][typeof r.primaryShade=="object"?r.primaryShade[r.colorScheme]:r.primaryShade]})}},z=B(Ar);var Mr=Object.defineProperty,Ir=Object.defineProperties,Rr=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,Tr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,W=(r,e,t)=>e in r?Mr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Hr=(r,e)=>{for(var t in e||(e={}))Tr.call(e,t)&&W(r,t,e[t]);if(H)for(var t of H(e))Fr.call(e,t)&&W(r,t,e[t]);return r},Wr=(r,e)=>Ir(r,Rr(e));function Nr({theme:r}){return g.createElement(P,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:r.colorScheme==="dark"?"dark":"light"},body:Wr(Hr({},r.fn.fontStyles()),{backgroundColor:r.colorScheme==="dark"?r.colors.dark[7]:r.white,color:r.colorScheme==="dark"?r.colors.dark[0]:r.black,lineHeight:r.lineHeight,fontSize:r.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function S(r,e,t,n=m){Object.keys(e).forEach(a=>{r[`--mantine-${t}-${a}`]=n(e[a])})}function Gr({theme:r}){const e={"--mantine-color-white":r.white,"--mantine-color-black":r.black,"--mantine-transition-timing-function":r.transitionTimingFunction,"--mantine-line-height":`${r.lineHeight}`,"--mantine-font-family":r.fontFamily,"--mantine-font-family-monospace":r.fontFamilyMonospace,"--mantine-font-family-headings":r.headings.fontFamily,"--mantine-heading-font-weight":`${r.headings.fontWeight}`};S(e,r.shadows,"shadow"),S(e,r.fontSizes,"font-size"),S(e,r.radius,"radius"),S(e,r.spacing,"spacing"),S(e,r.breakpoints,"breakpoints",O),Object.keys(r.colors).forEach(n=>{r.colors[n].forEach((a,o)=>{e[`--mantine-color-${n}-${o}`]=a})});const t=r.headings.sizes;return Object.keys(t).forEach(n=>{e[`--mantine-${n}-font-size`]=t[n].fontSize,e[`--mantine-${n}-line-height`]=`${t[n].lineHeight}`}),g.createElement(P,{styles:{":root":e}})}var Dr=Object.defineProperty,Lr=Object.defineProperties,Vr=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,Xr=Object.prototype.propertyIsEnumerable,G=(r,e,t)=>e in r?Dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e)=>{for(var t in e||(e={}))Ur.call(e,t)&&G(r,t,e[t]);if(N)for(var t of N(e))Xr.call(e,t)&&G(r,t,e[t]);return r},C=(r,e)=>Lr(r,Vr(e));function qr(r,e){var t;if(!e)return r;const n=Object.keys(r).reduce((a,o)=>{if(o==="headings"&&e.headings){const i=e.headings.sizes?Object.keys(r.headings.sizes).reduce((l,c)=>(l[c]=p(p({},r.headings.sizes[c]),e.headings.sizes[c]),l),{}):r.headings.sizes;return C(p({},a),{headings:C(p(p({},r.headings),e.headings),{sizes:i})})}if(o==="breakpoints"&&e.breakpoints){const i=p(p({},r.breakpoints),e.breakpoints);return C(p({},a),{breakpoints:Object.fromEntries(Object.entries(i).sort((l,c)=>$(l[1])-$(c[1])))})}return a[o]=typeof e[o]=="object"?p(p({},r[o]),e[o]):typeof e[o]=="number"||typeof e[o]=="boolean"||typeof e[o]=="function"?e[o]:e[o]||r[o],a},{});if(e!=null&&e.fontFamily&&!((t=e==null?void 0:e.headings)!=null&&t.fontFamily)&&(n.headings.fontFamily=e.fontFamily),!(n.primaryColor in n.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return n}function Br(r,e){return B(qr(r,e))}function Yr(r){return Object.keys(r).reduce((e,t)=>(r[t]!==void 0&&(e[t]=r[t]),e),{})}const Jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${m(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Kr(){return g.createElement(P,{styles:Jr})}var Qr=Object.defineProperty,D=Object.getOwnPropertySymbols,Zr=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,L=(r,e,t)=>e in r?Qr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,h=(r,e)=>{for(var t in e||(e={}))Zr.call(e,t)&&L(r,t,e[t]);if(D)for(var t of D(e))re.call(e,t)&&L(r,t,e[t]);return r};const w=x.createContext({theme:z});function Y(){var r;return((r=x.useContext(w))==null?void 0:r.theme)||z}function Se(r){const e=Y(),t=n=>{var a,o,i,l;return{styles:((a=e.components[n])==null?void 0:a.styles)||{},classNames:((o=e.components[n])==null?void 0:o.classNames)||{},variants:(i=e.components[n])==null?void 0:i.variants,sizes:(l=e.components[n])==null?void 0:l.sizes}};return Array.isArray(r)?r.map(t):[t(r)]}function he(){var r;return(r=x.useContext(w))==null?void 0:r.emotionCache}function _e(r,e,t){var n;const a=Y(),o=(n=a.components[r])==null?void 0:n.defaultProps,i=typeof o=="function"?o(a):o;return h(h(h({},e),i),Yr(t))}function ee({theme:r,emotionCache:e,withNormalizeCSS:t=!1,withGlobalStyles:n=!1,withCSSVariables:a=!1,inherit:o=!1,children:i}){const l=x.useContext(w),c=Br(z,o?h(h({},l.theme),r):r);return g.createElement(K,{theme:c},g.createElement(w.Provider,{value:{theme:c,emotionCache:e}},t&&g.createElement(Kr,null),n&&g.createElement(Nr,{theme:c}),a&&g.createElement(Gr,{theme:c}),typeof c.globalStyles=="function"&&g.createElement(P,{styles:c.globalStyles(c)}),i))}ee.displayName="@mantine/core/MantineProvider";export{ee as M,Y as a,Se as b,q as c,_e as d,b as e,Yr as f,$ as g,ae as h,ie as i,se as j,le as k,ce as l,ve as m,fe as n,oe as o,de as p,ue as q,m as r,pe as s,be as t,he as u,ge as v,me as w,ye as x}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js deleted file mode 100644 index b1b3abea4e..0000000000 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a6269375.js +++ /dev/null @@ -1,302 +0,0 @@ -import{v as g,gm as Ke,s as x,L as Ba,gn as Ea,ae as ca,ah as c,go as b,gp as Da,gq as t,gr as Ra,gs as h,gt as ba,gu as ja,gv as Ha,b2 as Wa,gw as Va,Z as La,gx as qa,gy as Oa,gz as Na,gA as Ga,aY as Ua}from"./index-e2437518.js";import{e as n,o as Sr,h as Ya,i as Ka,j as Xa,k as Za,l as Ja,n as Qa,p as et,q as rt,s as at,t as tt,v as ot,w as nt,x as it,M as lt}from"./MantineProvider-b5842fc1.js";var va=String.raw,ua=va` - :root, - :host { - --chakra-vh: 100vh; - } - - @supports (height: -webkit-fill-available) { - :root, - :host { - --chakra-vh: -webkit-fill-available; - } - } - - @supports (height: -moz-fill-available) { - :root, - :host { - --chakra-vh: -moz-fill-available; - } - } - - @supports (height: 100dvh) { - :root, - :host { - --chakra-vh: 100dvh; - } - } -`,st=()=>g.jsx(Ke,{styles:ua}),dt=({scope:e=""})=>g.jsx(Ke,{styles:va` - html { - line-height: 1.5; - -webkit-text-size-adjust: 100%; - font-family: system-ui, sans-serif; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - -moz-osx-font-smoothing: grayscale; - touch-action: manipulation; - } - - body { - position: relative; - min-height: 100%; - margin: 0; - font-feature-settings: "kern"; - } - - ${e} :where(*, *::before, *::after) { - border-width: 0; - border-style: solid; - box-sizing: border-box; - word-wrap: break-word; - } - - main { - display: block; - } - - ${e} hr { - border-top-width: 1px; - box-sizing: content-box; - height: 0; - overflow: visible; - } - - ${e} :where(pre, code, kbd,samp) { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; - font-size: 1em; - } - - ${e} a { - background-color: transparent; - color: inherit; - text-decoration: inherit; - } - - ${e} abbr[title] { - border-bottom: none; - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - } - - ${e} :where(b, strong) { - font-weight: bold; - } - - ${e} small { - font-size: 80%; - } - - ${e} :where(sub,sup) { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; - } - - ${e} sub { - bottom: -0.25em; - } - - ${e} sup { - top: -0.5em; - } - - ${e} img { - border-style: none; - } - - ${e} :where(button, input, optgroup, select, textarea) { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; - } - - ${e} :where(button, input) { - overflow: visible; - } - - ${e} :where(button, select) { - text-transform: none; - } - - ${e} :where( - button::-moz-focus-inner, - [type="button"]::-moz-focus-inner, - [type="reset"]::-moz-focus-inner, - [type="submit"]::-moz-focus-inner - ) { - border-style: none; - padding: 0; - } - - ${e} fieldset { - padding: 0.35em 0.75em 0.625em; - } - - ${e} legend { - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; - } - - ${e} progress { - vertical-align: baseline; - } - - ${e} textarea { - overflow: auto; - } - - ${e} :where([type="checkbox"], [type="radio"]) { - box-sizing: border-box; - padding: 0; - } - - ${e} input[type="number"]::-webkit-inner-spin-button, - ${e} input[type="number"]::-webkit-outer-spin-button { - -webkit-appearance: none !important; - } - - ${e} input[type="number"] { - -moz-appearance: textfield; - } - - ${e} input[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; - } - - ${e} input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none !important; - } - - ${e} ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; - } - - ${e} details { - display: block; - } - - ${e} summary { - display: list-item; - } - - template { - display: none; - } - - [hidden] { - display: none !important; - } - - ${e} :where( - blockquote, - dl, - dd, - h1, - h2, - h3, - h4, - h5, - h6, - hr, - figure, - p, - pre - ) { - margin: 0; - } - - ${e} button { - background: transparent; - padding: 0; - } - - ${e} fieldset { - margin: 0; - padding: 0; - } - - ${e} :where(ol, ul) { - margin: 0; - padding: 0; - } - - ${e} textarea { - resize: vertical; - } - - ${e} :where(button, [role="button"]) { - cursor: pointer; - } - - ${e} button::-moz-focus-inner { - border: 0 !important; - } - - ${e} table { - border-collapse: collapse; - } - - ${e} :where(h1, h2, h3, h4, h5, h6) { - font-size: inherit; - font-weight: inherit; - } - - ${e} :where(button, input, optgroup, select, textarea) { - padding: 0; - line-height: inherit; - color: inherit; - } - - ${e} :where(img, svg, video, canvas, audio, iframe, embed, object) { - display: block; - } - - ${e} :where(img, video) { - max-width: 100%; - height: auto; - } - - [data-js-focus-visible] - :focus:not([data-focus-visible-added]):not( - [data-focus-visible-disabled] - ) { - outline: none; - box-shadow: none; - } - - ${e} select::-ms-expand { - display: none; - } - - ${ua} - `}),_e={light:"chakra-ui-light",dark:"chakra-ui-dark"};function ct(e={}){const{preventTransition:r=!0}=e,a={setDataset:o=>{const i=r?a.preventTransition():void 0;document.documentElement.dataset.theme=o,document.documentElement.style.colorScheme=o,i==null||i()},setClassName(o){document.body.classList.add(o?_e.dark:_e.light),document.body.classList.remove(o?_e.light:_e.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(o){var i;return((i=a.query().matches)!=null?i:o==="dark")?"dark":"light"},addListener(o){const i=a.query(),l=s=>{o(s.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(l):i.addEventListener("change",l),()=>{typeof i.removeListener=="function"?i.removeListener(l):i.removeEventListener("change",l)}},preventTransition(){const o=document.createElement("style");return o.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(o),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(o)})})}}};return a}var bt="chakra-ui-color-mode";function fa(e){return{ssr:!1,type:"localStorage",get(r){if(!(globalThis!=null&&globalThis.document))return r;let a;try{a=localStorage.getItem(e)||r}catch{}return a||r},set(r){try{localStorage.setItem(e,r)}catch{}}}}var vt=fa(bt),Cr=()=>{};function Ar(e,r){return e.type==="cookie"&&e.ssr?e.get(r):r}function ma(e){const{value:r,children:a,options:{useSystemColorMode:o,initialColorMode:i,disableTransitionOnChange:l}={},colorModeManager:s=vt}=e,d=i==="dark"?"dark":"light",[v,$]=x.useState(()=>Ar(s,d)),[p,S]=x.useState(()=>Ar(s)),{getSystemTheme:T,setClassName:L,setDataset:Qe,addListener:wr}=x.useMemo(()=>ct({preventTransition:l}),[l]),$e=i==="system"&&!v?p:v,F=x.useCallback(te=>{const ke=te==="system"?T():te;$(ke),L(ke==="dark"),Qe(ke),s.set(ke)},[s,T,L,Qe]);Ba(()=>{i==="system"&&S(T())},[]),x.useEffect(()=>{const te=s.get();if(te){F(te);return}if(i==="system"){F("system");return}F(d)},[s,d,i,F]);const zr=x.useCallback(()=>{F($e==="dark"?"light":"dark")},[$e,F]);x.useEffect(()=>{if(o)return wr(F)},[o,wr,F]);const Ma=x.useMemo(()=>({colorMode:r??$e,toggleColorMode:r?Cr:zr,setColorMode:r?Cr:F,forced:r!==void 0}),[$e,zr,F,r]);return g.jsx(Ea.Provider,{value:Ma,children:a})}ma.displayName="ColorModeProvider";var ut=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function ft(e){return ca(e)?ut.every(r=>Object.prototype.hasOwnProperty.call(e,r)):!1}var mt={common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},ht={"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},gt={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},yt={property:mt,easing:ht,duration:gt},pt=yt,St={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},xt=St,$t={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},kt=$t,_t={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},wt=_t,zt={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},Ct=zt,At={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},Pt=At,Tt={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},Ft=Tt,It={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},Mt=It,Bt={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},ha=Bt,ga={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Et={max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch"},Dt={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},Rt={...ga,...Et,container:Dt},ya=Rt,jt={breakpoints:wt,zIndices:xt,radii:Pt,blur:Mt,colors:Ct,...ha,sizes:ya,shadows:Ft,space:ga,borders:kt,transition:pt},{defineMultiStyleConfig:Ht,definePartsStyle:le}=b(["stepper","step","title","description","indicator","separator","icon","number"]),B=c("stepper-indicator-size"),K=c("stepper-icon-size"),X=c("stepper-title-font-size"),se=c("stepper-description-font-size"),oe=c("stepper-accent-color"),Wt=le(({colorScheme:e})=>({stepper:{display:"flex",justifyContent:"space-between",gap:"4","&[data-orientation=vertical]":{flexDirection:"column",alignItems:"flex-start"},"&[data-orientation=horizontal]":{flexDirection:"row",alignItems:"center"},[oe.variable]:`colors.${e}.500`,_dark:{[oe.variable]:`colors.${e}.200`}},title:{fontSize:X.reference,fontWeight:"medium"},description:{fontSize:se.reference,color:"chakra-subtle-text"},number:{fontSize:X.reference},step:{flexShrink:0,position:"relative",display:"flex",gap:"2","&[data-orientation=horizontal]":{alignItems:"center"},flex:"1","&:last-of-type:not([data-stretch])":{flex:"initial"}},icon:{flexShrink:0,width:K.reference,height:K.reference},indicator:{flexShrink:0,borderRadius:"full",width:B.reference,height:B.reference,display:"flex",justifyContent:"center",alignItems:"center","&[data-status=active]":{borderWidth:"2px",borderColor:oe.reference},"&[data-status=complete]":{bg:oe.reference,color:"chakra-inverse-text"},"&[data-status=incomplete]":{borderWidth:"2px"}},separator:{bg:"chakra-border-color",flex:"1","&[data-status=complete]":{bg:oe.reference},"&[data-orientation=horizontal]":{width:"100%",height:"2px",marginStart:"2"},"&[data-orientation=vertical]":{width:"2px",position:"absolute",height:"100%",maxHeight:`calc(100% - ${B.reference} - 8px)`,top:`calc(${B.reference} + 4px)`,insetStart:`calc(${B.reference} / 2 - 1px)`}}})),Vt=Ht({baseStyle:Wt,sizes:{xs:le({stepper:{[B.variable]:"sizes.4",[K.variable]:"sizes.3",[X.variable]:"fontSizes.xs",[se.variable]:"fontSizes.xs"}}),sm:le({stepper:{[B.variable]:"sizes.6",[K.variable]:"sizes.4",[X.variable]:"fontSizes.sm",[se.variable]:"fontSizes.xs"}}),md:le({stepper:{[B.variable]:"sizes.8",[K.variable]:"sizes.5",[X.variable]:"fontSizes.md",[se.variable]:"fontSizes.sm"}}),lg:le({stepper:{[B.variable]:"sizes.10",[K.variable]:"sizes.6",[X.variable]:"fontSizes.lg",[se.variable]:"fontSizes.md"}})},defaultProps:{size:"md",colorScheme:"blue"}});function f(e,r={}){let a=!1;function o(){if(!a){a=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...p){o();for(const S of p)r[S]=v(S);return f(e,r)}function l(...p){for(const S of p)S in r||(r[S]=v(S));return f(e,r)}function s(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.selector]))}function d(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.className]))}function v(p){const L=`chakra-${(["container","root"].includes(p??"")?[e]:[e,p]).filter(Boolean).join("__")}`;return{className:L,selector:`.${L}`,toString:()=>p}}return{parts:i,toPart:v,extend:l,selectors:s,classnames:d,get keys(){return Object.keys(r)},__type:{}}}var Lt=f("accordion").parts("root","container","button","panel").extend("icon"),qt=f("alert").parts("title","description","container").extend("icon","spinner"),Ot=f("avatar").parts("label","badge","container").extend("excessLabel","group"),Nt=f("breadcrumb").parts("link","item","container").extend("separator");f("button").parts();var Gt=f("checkbox").parts("control","icon","container").extend("label");f("progress").parts("track","filledTrack").extend("label");var Ut=f("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Yt=f("editable").parts("preview","input","textarea"),Kt=f("form").parts("container","requiredIndicator","helperText"),Xt=f("formError").parts("text","icon"),Zt=f("input").parts("addon","field","element"),Jt=f("list").parts("container","item","icon"),Qt=f("menu").parts("button","list","item").extend("groupTitle","command","divider"),eo=f("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),ro=f("numberinput").parts("root","field","stepperGroup","stepper");f("pininput").parts("field");var ao=f("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),to=f("progress").parts("label","filledTrack","track"),oo=f("radio").parts("container","control","label"),no=f("select").parts("field","icon"),io=f("slider").parts("container","track","thumb","filledTrack","mark"),lo=f("stat").parts("container","label","helpText","number","icon"),so=f("switch").parts("container","track","thumb"),co=f("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),bo=f("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),vo=f("tag").parts("container","label","closeButton"),uo=f("card").parts("container","header","body","footer");function O(e,r,a){return Math.min(Math.max(e,a),r)}class fo extends Error{constructor(r){super(`Failed to parse color: "${r}"`)}}var de=fo;function xr(e){if(typeof e!="string")throw new de(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let r=e.trim();r=$o.test(e)?go(e):e;const a=yo.exec(r);if(a){const s=Array.from(a).slice(1);return[...s.slice(0,3).map(d=>parseInt(ge(d,2),16)),parseInt(ge(s[3]||"f",2),16)/255]}const o=po.exec(r);if(o){const s=Array.from(o).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,16)),parseInt(s[3]||"ff",16)/255]}const i=So.exec(r);if(i){const s=Array.from(i).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,10)),parseFloat(s[3]||"1")]}const l=xo.exec(r);if(l){const[s,d,v,$]=Array.from(l).slice(1).map(parseFloat);if(O(0,100,d)!==d)throw new de(e);if(O(0,100,v)!==v)throw new de(e);return[...ko(s,d,v),Number.isNaN($)?1:$]}throw new de(e)}function mo(e){let r=5381,a=e.length;for(;a;)r=r*33^e.charCodeAt(--a);return(r>>>0)%2341}const Pr=e=>parseInt(e.replace(/_/g,""),36),ho="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e,r)=>{const a=Pr(r.substring(0,3)),o=Pr(r.substring(3)).toString(16);let i="";for(let l=0;l<6-o.length;l++)i+="0";return e[a]=`${i}${o}`,e},{});function go(e){const r=e.toLowerCase().trim(),a=ho[mo(r)];if(!a)throw new de(e);return`#${a}`}const ge=(e,r)=>Array.from(Array(r)).map(()=>e).join(""),yo=new RegExp(`^#${ge("([a-f0-9])",3)}([a-f0-9])?$`,"i"),po=new RegExp(`^#${ge("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),So=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${ge(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),xo=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,$o=/^[a-z]+$/i,Tr=e=>Math.round(e*255),ko=(e,r,a)=>{let o=a/100;if(r===0)return[o,o,o].map(Tr);const i=(e%360+360)%360/60,l=(1-Math.abs(2*o-1))*(r/100),s=l*(1-Math.abs(i%2-1));let d=0,v=0,$=0;i>=0&&i<1?(d=l,v=s):i>=1&&i<2?(d=s,v=l):i>=2&&i<3?(v=l,$=s):i>=3&&i<4?(v=s,$=l):i>=4&&i<5?(d=s,$=l):i>=5&&i<6&&(d=l,$=s);const p=o-l/2,S=d+p,T=v+p,L=$+p;return[S,T,L].map(Tr)};function _o(e,r,a,o){return`rgba(${O(0,255,e).toFixed()}, ${O(0,255,r).toFixed()}, ${O(0,255,a).toFixed()}, ${parseFloat(O(0,1,o).toFixed(3))})`}function wo(e,r){const[a,o,i,l]=xr(e);return _o(a,o,i,l-r)}function zo(e){const[r,a,o,i]=xr(e);let l=s=>{const d=O(0,255,s).toString(16);return d.length===1?`0${d}`:d};return`#${l(r)}${l(a)}${l(o)}${i<1?l(Math.round(i*255)):""}`}function Co(e,r,a,o,i){for(r=r.split?r.split("."):r,o=0;oObject.keys(e).length===0,Ne=(e,r,a)=>{const o=Co(e,`colors.${r}`,r);try{return zo(o),o}catch{return a??"#000000"}},P=(e,r,a)=>{var o;return(o=Da(e,"colors",r))!=null?o:a},Po=e=>{const[r,a,o]=xr(e);return(r*299+a*587+o*114)/1e3},To=e=>r=>{const a=Ne(r,e);return Po(a)<128?"dark":"light"},Fo=e=>r=>To(e)(r)==="dark",re=(e,r)=>a=>{const o=Ne(a,e);return wo(o,1-r)};function Fr(e="1rem",r="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( - 45deg, - ${r} 25%, - transparent 25%, - transparent 50%, - ${r} 50%, - ${r} 75%, - transparent 75%, - transparent - )`,backgroundSize:`${e} ${e}`}}var Io=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function Mo(e){const r=Io();return!e||Ao(e)?r:e.string&&e.colors?Eo(e.string,e.colors):e.string&&!e.colors?Bo(e.string):e.colors&&!e.string?Do(e.colors):r}function Bo(e){let r=0;if(e.length===0)return r.toString();for(let o=0;o>o*8&255;a+=`00${i.toString(16)}`.substr(-2)}return a}function Eo(e,r){let a=0;if(e.length===0)return r[0];for(let o=0;or.map(pa).join(` ${e} `).replace(/calc/g,""),Ir=(...e)=>`calc(${Xe("+",...e)})`,Mr=(...e)=>`calc(${Xe("-",...e)})`,hr=(...e)=>`calc(${Xe("*",...e)})`,Br=(...e)=>`calc(${Xe("/",...e)})`,Er=e=>{const r=pa(e);return r!=null&&!Number.isNaN(parseFloat(r))?String(r).startsWith("-")?String(r).slice(1):`-${r}`:hr(r,-1)},E=Object.assign(e=>({add:(...r)=>E(Ir(e,...r)),subtract:(...r)=>E(Mr(e,...r)),multiply:(...r)=>E(hr(e,...r)),divide:(...r)=>E(Br(e,...r)),negate:()=>E(Er(e)),toString:()=>e.toString()}),{add:Ir,subtract:Mr,multiply:hr,divide:Br,negate:Er});function Ro(e){return!Number.isInteger(parseFloat(e.toString()))}function jo(e,r="-"){return e.replace(/\s+/g,r)}function Sa(e){const r=jo(e.toString());return r.includes("\\.")?e:Ro(e)?r.replace(".","\\."):e}function Ho(e,r=""){return[r,Sa(e)].filter(Boolean).join("-")}function Wo(e,r){return`var(${Sa(e)}${r?`, ${r}`:""})`}function Vo(e,r=""){return`--${Ho(e,r)}`}function m(e,r){const a=Vo(e,r==null?void 0:r.prefix);return{variable:a,reference:Wo(a,Lo(r==null?void 0:r.fallback))}}function Lo(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:qo,definePartsStyle:Re}=b(so.keys),ve=m("switch-track-width"),N=m("switch-track-height"),er=m("switch-track-diff"),Oo=E.subtract(ve,N),gr=m("switch-thumb-x"),ne=m("switch-bg"),No=t(e=>{const{colorScheme:r}=e;return{borderRadius:"full",p:"0.5",width:[ve.reference],height:[N.reference],transitionProperty:"common",transitionDuration:"fast",[ne.variable]:"colors.gray.300",_dark:{[ne.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[ne.variable]:`colors.${r}.500`,_dark:{[ne.variable]:`colors.${r}.200`}},bg:ne.reference}}),Go=t({bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[N.reference],height:[N.reference],_checked:{transform:`translateX(${gr.reference})`}}),Uo=Re(e=>({container:{[er.variable]:Oo,[gr.variable]:er.reference,_rtl:{[gr.variable]:E(er).negate().toString()}},track:No(e),thumb:Go})),Yo={sm:Re({container:{[ve.variable]:"1.375rem",[N.variable]:"sizes.3"}}),md:Re({container:{[ve.variable]:"1.875rem",[N.variable]:"sizes.4"}}),lg:Re({container:{[ve.variable]:"2.875rem",[N.variable]:"sizes.6"}})},Ko=qo({baseStyle:Uo,sizes:Yo,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Xo,definePartsStyle:Z}=b(co.keys),Zo=Z({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),Ge=t({"&[data-is-numeric=true]":{textAlign:"end"}}),Jo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Qo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e)},td:{background:n(`${r}.100`,`${r}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),en={simple:Jo,striped:Qo,unstyled:t({})},rn={sm:Z({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:Z({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:Z({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},an=Xo({baseStyle:Zo,variants:en,sizes:rn,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),_=c("tabs-color"),A=c("tabs-bg"),we=c("tabs-border-color"),{defineMultiStyleConfig:tn,definePartsStyle:M}=b(bo.keys),on=t(e=>{const{orientation:r}=e;return{display:r==="vertical"?"flex":"block"}}),nn=t(e=>{const{isFitted:r}=e;return{flex:r?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}}),ln=t(e=>{const{align:r="start",orientation:a}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[r],flexDirection:a==="vertical"?"column":"row"}}),sn=t({p:4}),dn=M(e=>({root:on(e),tab:nn(e),tablist:ln(e),tabpanel:sn})),cn={sm:M({tab:{py:1,px:4,fontSize:"sm"}}),md:M({tab:{fontSize:"md",py:2,px:4}}),lg:M({tab:{fontSize:"lg",py:3,px:4}})},bn=M(e=>{const{colorScheme:r,orientation:a}=e,o=a==="vertical",i=o?"borderStart":"borderBottom",l=o?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[l]:"-2px",_selected:{[_.variable]:`colors.${r}.600`,_dark:{[_.variable]:`colors.${r}.300`},borderColor:"currentColor"},_active:{[A.variable]:"colors.gray.200",_dark:{[A.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:_.reference,bg:A.reference}}}),vn=M(e=>{const{colorScheme:r}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[we.variable]:"transparent",_selected:{[_.variable]:`colors.${r}.600`,[we.variable]:"colors.white",_dark:{[_.variable]:`colors.${r}.300`,[we.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:we.reference},color:_.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),un=M(e=>{const{colorScheme:r}=e;return{tab:{border:"1px solid",borderColor:"inherit",[A.variable]:"colors.gray.50",_dark:{[A.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[A.variable]:"colors.white",[_.variable]:`colors.${r}.600`,_dark:{[A.variable]:"colors.gray.800",[_.variable]:`colors.${r}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:_.reference,bg:A.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),fn=M(e=>{const{colorScheme:r,theme:a}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Ne(a,`${r}.700`),bg:Ne(a,`${r}.100`)}}}}),mn=M(e=>{const{colorScheme:r}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[_.variable]:"colors.gray.600",_dark:{[_.variable]:"inherit"},_selected:{[_.variable]:"colors.white",[A.variable]:`colors.${r}.600`,_dark:{[_.variable]:"colors.gray.800",[A.variable]:`colors.${r}.300`}},color:_.reference,bg:A.reference}}}),hn=M({}),gn={line:bn,enclosed:vn,"enclosed-colored":un,"soft-rounded":fn,"solid-rounded":mn,unstyled:hn},yn=tn({baseStyle:dn,sizes:cn,variants:gn,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),y=Ra("badge",["bg","color","shadow"]),pn=t({px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Sn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.500`,.6)(a);return{[y.bg.variable]:`colors.${r}.500`,[y.color.variable]:"colors.white",_dark:{[y.bg.variable]:o,[y.color.variable]:"colors.whiteAlpha.800"}}}),xn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.16)(a);return{[y.bg.variable]:`colors.${r}.100`,[y.color.variable]:`colors.${r}.800`,_dark:{[y.bg.variable]:o,[y.color.variable]:`colors.${r}.200`}}}),$n=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.8)(a);return{[y.color.variable]:`colors.${r}.500`,_dark:{[y.color.variable]:o},[y.shadow.variable]:`inset 0 0 0px 1px ${y.color.reference}`}}),kn={solid:Sn,subtle:xn,outline:$n},ue=h({baseStyle:pn,variants:kn,defaultProps:{variant:"subtle",colorScheme:"gray"}}),{defineMultiStyleConfig:_n,definePartsStyle:G}=b(vo.keys),Dr=c("tag-bg"),Rr=c("tag-color"),rr=c("tag-shadow"),je=c("tag-min-height"),He=c("tag-min-width"),We=c("tag-font-size"),Ve=c("tag-padding-inline"),wn=t({fontWeight:"medium",lineHeight:1.2,outline:0,[Rr.variable]:y.color.reference,[Dr.variable]:y.bg.reference,[rr.variable]:y.shadow.reference,color:Rr.reference,bg:Dr.reference,boxShadow:rr.reference,borderRadius:"md",minH:je.reference,minW:He.reference,fontSize:We.reference,px:Ve.reference,_focusVisible:{[rr.variable]:"shadows.outline"}}),zn=t({lineHeight:1.2,overflow:"visible"}),Cn=t({fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}}),An=G({container:wn,label:zn,closeButton:Cn}),Pn={sm:G({container:{[je.variable]:"sizes.5",[He.variable]:"sizes.5",[We.variable]:"fontSizes.xs",[Ve.variable]:"space.2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:G({container:{[je.variable]:"sizes.6",[He.variable]:"sizes.6",[We.variable]:"fontSizes.sm",[Ve.variable]:"space.2"}}),lg:G({container:{[je.variable]:"sizes.8",[He.variable]:"sizes.8",[We.variable]:"fontSizes.md",[Ve.variable]:"space.3"}})},Tn={subtle:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.subtle(e)}}),solid:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.solid(e)}}),outline:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.outline(e)}})},Fn=_n({variants:Tn,baseStyle:An,sizes:Pn,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:D,defineMultiStyleConfig:In}=b(Zt.keys),Mn=D({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),H={lg:t({fontSize:"lg",px:"4",h:"12",borderRadius:"md"}),md:t({fontSize:"md",px:"4",h:"10",borderRadius:"md"}),sm:t({fontSize:"sm",px:"3",h:"8",borderRadius:"sm"}),xs:t({fontSize:"xs",px:"2",h:"6",borderRadius:"sm"})},Bn={lg:D({field:H.lg,addon:H.lg}),md:D({field:H.md,addon:H.md}),sm:D({field:H.sm,addon:H.sm}),xs:D({field:H.xs,addon:H.xs})};function $r(e){const{focusBorderColor:r,errorBorderColor:a}=e;return{focusBorderColor:r||n("blue.500","blue.300")(e),errorBorderColor:a||n("red.500","red.300")(e)}}var En=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:n("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0 0 0 1px ${P(r,o)}`},_focusVisible:{zIndex:1,borderColor:P(r,a),boxShadow:`0 0 0 1px ${P(r,a)}`}},addon:{border:"1px solid",borderColor:n("inherit","whiteAlpha.50")(e),bg:n("gray.100","whiteAlpha.300")(e)}}}),Dn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e),_hover:{bg:n("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o)},_focusVisible:{bg:"transparent",borderColor:P(r,a)}},addon:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e)}}}),Rn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0px 1px 0px 0px ${P(r,o)}`},_focusVisible:{borderColor:P(r,a),boxShadow:`0px 1px 0px 0px ${P(r,a)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),jn=D({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),Hn={outline:En,filled:Dn,flushed:Rn,unstyled:jn},u=In({baseStyle:Mn,sizes:Bn,variants:Hn,defaultProps:{size:"md",variant:"outline"}}),jr,Wn=t({...(jr=u.baseStyle)==null?void 0:jr.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"}),Hr,Wr,Vn={outline:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.outline(e).field)!=null?a:{}}),flushed:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.flushed(e).field)!=null?a:{}}),filled:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.filled(e).field)!=null?a:{}}),unstyled:(Wr=(Hr=u.variants)==null?void 0:Hr.unstyled.field)!=null?Wr:{}},Vr,Lr,qr,Or,Nr,Gr,Ur,Yr,Ln={xs:(Lr=(Vr=u.sizes)==null?void 0:Vr.xs.field)!=null?Lr:{},sm:(Or=(qr=u.sizes)==null?void 0:qr.sm.field)!=null?Or:{},md:(Gr=(Nr=u.sizes)==null?void 0:Nr.md.field)!=null?Gr:{},lg:(Yr=(Ur=u.sizes)==null?void 0:Ur.lg.field)!=null?Yr:{}},qn=h({baseStyle:Wn,sizes:Ln,variants:Vn,defaultProps:{size:"md",variant:"outline"}}),ze=m("tooltip-bg"),ar=m("tooltip-fg"),On=m("popper-arrow-bg"),Nn=t({bg:ze.reference,color:ar.reference,[ze.variable]:"colors.gray.700",[ar.variable]:"colors.whiteAlpha.900",_dark:{[ze.variable]:"colors.gray.300",[ar.variable]:"colors.gray.900"},[On.variable]:ze.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"}),Gn=h({baseStyle:Nn}),{defineMultiStyleConfig:Un,definePartsStyle:ce}=b(to.keys),Yn=t(e=>{const{colorScheme:r,theme:a,isIndeterminate:o,hasStripe:i}=e,l=n(Fr(),Fr("1rem","rgba(0,0,0,0.1)"))(e),s=n(`${r}.500`,`${r}.200`)(e),d=`linear-gradient( - to right, - transparent 0%, - ${P(a,s)} 50%, - transparent 100% - )`;return{...!o&&i&&l,...o?{bgImage:d}:{bgColor:s}}}),Kn=t({lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"}),Xn=t(e=>({bg:n("gray.100","whiteAlpha.300")(e)})),Zn=t(e=>({transitionProperty:"common",transitionDuration:"slow",...Yn(e)})),Jn=ce(e=>({label:Kn,filledTrack:Zn(e),track:Xn(e)})),Qn={xs:ce({track:{h:"1"}}),sm:ce({track:{h:"2"}}),md:ce({track:{h:"3"}}),lg:ce({track:{h:"4"}})},ei=Un({sizes:Qn,baseStyle:Jn,defaultProps:{size:"md",colorScheme:"blue"}}),ri=e=>typeof e=="function";function k(e,...r){return ri(e)?e(...r):e}var{definePartsStyle:Le,defineMultiStyleConfig:ai}=b(Gt.keys),fe=c("checkbox-size"),ti=t(e=>{const{colorScheme:r}=e;return{w:fe.reference,h:fe.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e),_hover:{bg:n(`${r}.600`,`${r}.300`)(e),borderColor:n(`${r}.600`,`${r}.300`)(e)},_disabled:{borderColor:n("gray.200","transparent")(e),bg:n("gray.200","whiteAlpha.300")(e),color:n("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e)},_disabled:{bg:n("gray.100","whiteAlpha.100")(e),borderColor:n("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("red.500","red.300")(e)}}}),oi=t({_disabled:{cursor:"not-allowed"}}),ni=t({userSelect:"none",_disabled:{opacity:.4}}),ii=t({transitionProperty:"transform",transitionDuration:"normal"}),li=Le(e=>({icon:ii,container:oi,control:k(ti,e),label:ni})),si={sm:Le({control:{[fe.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Le({control:{[fe.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Le({control:{[fe.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},Ue=ai({baseStyle:li,sizes:si,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:di,definePartsStyle:qe}=b(oo.keys),ci=t(e=>{var r;const a=(r=k(Ue.baseStyle,e))==null?void 0:r.control;return{...a,borderRadius:"full",_checked:{...a==null?void 0:a._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}}),bi=qe(e=>{var r,a,o,i;return{label:(a=(r=Ue).baseStyle)==null?void 0:a.call(r,e).label,container:(i=(o=Ue).baseStyle)==null?void 0:i.call(o,e).container,control:ci(e)}}),vi={md:qe({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qe({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qe({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},ui=di({baseStyle:bi,sizes:vi,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:fi,definePartsStyle:mi}=b(no.keys),Ce=c("select-bg"),Kr,hi=t({...(Kr=u.baseStyle)==null?void 0:Kr.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Ce.reference,[Ce.variable]:"colors.white",_dark:{[Ce.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Ce.reference}}),gi=t({width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}}),yi=mi({field:hi,icon:gi}),Ae=t({paddingInlineEnd:"8"}),Xr,Zr,Jr,Qr,ea,ra,aa,ta,pi={lg:{...(Xr=u.sizes)==null?void 0:Xr.lg,field:{...(Zr=u.sizes)==null?void 0:Zr.lg.field,...Ae}},md:{...(Jr=u.sizes)==null?void 0:Jr.md,field:{...(Qr=u.sizes)==null?void 0:Qr.md.field,...Ae}},sm:{...(ea=u.sizes)==null?void 0:ea.sm,field:{...(ra=u.sizes)==null?void 0:ra.sm.field,...Ae}},xs:{...(aa=u.sizes)==null?void 0:aa.xs,field:{...(ta=u.sizes)==null?void 0:ta.xs.field,...Ae},icon:{insetEnd:"1"}}},Si=fi({baseStyle:yi,sizes:pi,variants:u.variants,defaultProps:u.defaultProps}),tr=c("skeleton-start-color"),or=c("skeleton-end-color"),xi=t({[tr.variable]:"colors.gray.100",[or.variable]:"colors.gray.400",_dark:{[tr.variable]:"colors.gray.800",[or.variable]:"colors.gray.600"},background:tr.reference,borderColor:or.reference,opacity:.7,borderRadius:"sm"}),$i=h({baseStyle:xi}),nr=c("skip-link-bg"),ki=t({borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[nr.variable]:"colors.white",_dark:{[nr.variable]:"colors.gray.700"},bg:nr.reference}}),_i=h({baseStyle:ki}),{defineMultiStyleConfig:wi,definePartsStyle:Ze}=b(io.keys),ye=c("slider-thumb-size"),pe=c("slider-track-size"),V=c("slider-bg"),zi=t(e=>{const{orientation:r}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...Sr({orientation:r,vertical:{h:"100%"},horizontal:{w:"100%"}})}}),Ci=t(e=>({...Sr({orientation:e.orientation,horizontal:{h:pe.reference},vertical:{w:pe.reference}}),overflow:"hidden",borderRadius:"sm",[V.variable]:"colors.gray.200",_dark:{[V.variable]:"colors.whiteAlpha.200"},_disabled:{[V.variable]:"colors.gray.300",_dark:{[V.variable]:"colors.whiteAlpha.300"}},bg:V.reference})),Ai=t(e=>{const{orientation:r}=e;return{...Sr({orientation:r,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:ye.reference,h:ye.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}}),Pi=t(e=>{const{colorScheme:r}=e;return{width:"inherit",height:"inherit",[V.variable]:`colors.${r}.500`,_dark:{[V.variable]:`colors.${r}.200`},bg:V.reference}}),Ti=Ze(e=>({container:zi(e),track:Ci(e),thumb:Ai(e),filledTrack:Pi(e)})),Fi=Ze({container:{[ye.variable]:"sizes.4",[pe.variable]:"sizes.1"}}),Ii=Ze({container:{[ye.variable]:"sizes.3.5",[pe.variable]:"sizes.1"}}),Mi=Ze({container:{[ye.variable]:"sizes.2.5",[pe.variable]:"sizes.0.5"}}),Bi={lg:Fi,md:Ii,sm:Mi},Ei=wi({baseStyle:Ti,sizes:Bi,defaultProps:{size:"md",colorScheme:"blue"}}),q=m("spinner-size"),Di=t({width:[q.reference],height:[q.reference]}),Ri={xs:t({[q.variable]:"sizes.3"}),sm:t({[q.variable]:"sizes.4"}),md:t({[q.variable]:"sizes.6"}),lg:t({[q.variable]:"sizes.8"}),xl:t({[q.variable]:"sizes.12"})},ji=h({baseStyle:Di,sizes:Ri,defaultProps:{size:"md"}}),{defineMultiStyleConfig:Hi,definePartsStyle:xa}=b(lo.keys),Wi=t({fontWeight:"medium"}),Vi=t({opacity:.8,marginBottom:"2"}),Li=t({verticalAlign:"baseline",fontWeight:"semibold"}),qi=t({marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"}),Oi=xa({container:{},label:Wi,helpText:Vi,number:Li,icon:qi}),Ni={md:xa({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Gi=Hi({baseStyle:Oi,sizes:Ni,defaultProps:{size:"md"}}),ir=c("kbd-bg"),Ui=t({[ir.variable]:"colors.gray.100",_dark:{[ir.variable]:"colors.whiteAlpha.100"},bg:ir.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}),Yi=h({baseStyle:Ui}),Ki=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}}),Xi=h({baseStyle:Ki}),{defineMultiStyleConfig:Zi,definePartsStyle:Ji}=b(Jt.keys),Qi=t({marginEnd:"2",display:"inline",verticalAlign:"text-bottom"}),el=Ji({icon:Qi}),rl=Zi({baseStyle:el}),{defineMultiStyleConfig:al,definePartsStyle:tl}=b(Qt.keys),I=c("menu-bg"),lr=c("menu-shadow"),ol=t({[I.variable]:"#fff",[lr.variable]:"shadows.sm",_dark:{[I.variable]:"colors.gray.700",[lr.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:I.reference,boxShadow:lr.reference}),nl=t({py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_active:{[I.variable]:"colors.gray.200",_dark:{[I.variable]:"colors.whiteAlpha.200"}},_expanded:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:I.reference}),il=t({mx:4,my:2,fontWeight:"semibold",fontSize:"sm"}),ll=t({opacity:.6}),sl=t({border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6}),dl=t({transitionProperty:"common",transitionDuration:"normal"}),cl=tl({button:dl,list:ol,item:nl,groupTitle:il,command:ll,divider:sl}),bl=al({baseStyle:cl}),{defineMultiStyleConfig:vl,definePartsStyle:yr}=b(eo.keys),sr=c("modal-bg"),dr=c("modal-shadow"),ul=t({bg:"blackAlpha.600",zIndex:"modal"}),fl=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:r?"center":"flex-start",overflow:a==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}}),ml=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{borderRadius:"md",color:"inherit",my:r?"auto":"16",mx:r?"auto":void 0,zIndex:"modal",maxH:a==="inside"?"calc(100% - 7.5rem)":void 0,[sr.variable]:"colors.white",[dr.variable]:"shadows.lg",_dark:{[sr.variable]:"colors.gray.700",[dr.variable]:"shadows.dark-lg"},bg:sr.reference,boxShadow:dr.reference}}),hl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),gl=t({position:"absolute",top:"2",insetEnd:"3"}),yl=t(e=>{const{scrollBehavior:r}=e;return{px:"6",py:"2",flex:"1",overflow:r==="inside"?"auto":void 0}}),pl=t({px:"6",py:"4"}),Sl=yr(e=>({overlay:ul,dialogContainer:k(fl,e),dialog:k(ml,e),header:hl,closeButton:gl,body:k(yl,e),footer:pl}));function C(e){return yr(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var xl={xs:C("xs"),sm:C("sm"),md:C("md"),lg:C("lg"),xl:C("xl"),"2xl":C("2xl"),"3xl":C("3xl"),"4xl":C("4xl"),"5xl":C("5xl"),"6xl":C("6xl"),full:C("full")},$l=vl({baseStyle:Sl,sizes:xl,defaultProps:{size:"md"}}),{defineMultiStyleConfig:kl,definePartsStyle:$a}=b(ro.keys),kr=m("number-input-stepper-width"),ka=m("number-input-input-padding"),_l=E(kr).add("0.5rem").toString(),cr=m("number-input-bg"),br=m("number-input-color"),vr=m("number-input-border-color"),wl=t({[kr.variable]:"sizes.6",[ka.variable]:_l}),zl=t(e=>{var r,a;return(a=(r=k(u.baseStyle,e))==null?void 0:r.field)!=null?a:{}}),Cl=t({width:kr.reference}),Al=t({borderStart:"1px solid",borderStartColor:vr.reference,color:br.reference,bg:cr.reference,[br.variable]:"colors.chakra-body-text",[vr.variable]:"colors.chakra-border-color",_dark:{[br.variable]:"colors.whiteAlpha.800",[vr.variable]:"colors.whiteAlpha.300"},_active:{[cr.variable]:"colors.gray.200",_dark:{[cr.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}}),Pl=$a(e=>{var r;return{root:wl,field:(r=k(zl,e))!=null?r:{},stepperGroup:Cl,stepper:Al}});function Pe(e){var r,a,o;const i=(r=u.sizes)==null?void 0:r[e],l={lg:"md",md:"md",sm:"sm",xs:"sm"},s=(o=(a=i.field)==null?void 0:a.fontSize)!=null?o:"md",d=ha.fontSizes[s];return $a({field:{...i.field,paddingInlineEnd:ka.reference,verticalAlign:"top"},stepper:{fontSize:E(d).multiply(.75).toString(),_first:{borderTopEndRadius:l[e]},_last:{borderBottomEndRadius:l[e],mt:"-1px",borderTopWidth:1}}})}var Tl={xs:Pe("xs"),sm:Pe("sm"),md:Pe("md"),lg:Pe("lg")},Fl=kl({baseStyle:Pl,sizes:Tl,variants:u.variants,defaultProps:u.defaultProps}),oa,Il=t({...(oa=u.baseStyle)==null?void 0:oa.field,textAlign:"center"}),Ml={lg:t({fontSize:"lg",w:12,h:12,borderRadius:"md"}),md:t({fontSize:"md",w:10,h:10,borderRadius:"md"}),sm:t({fontSize:"sm",w:8,h:8,borderRadius:"sm"}),xs:t({fontSize:"xs",w:6,h:6,borderRadius:"sm"})},na,ia,Bl={outline:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.outline,e))==null?void 0:a.field)!=null?o:{}}),flushed:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.flushed,e))==null?void 0:a.field)!=null?o:{}}),filled:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.filled,e))==null?void 0:a.field)!=null?o:{}}),unstyled:(ia=(na=u.variants)==null?void 0:na.unstyled.field)!=null?ia:{}},El=h({baseStyle:Il,sizes:Ml,variants:Bl,defaultProps:u.defaultProps}),{defineMultiStyleConfig:Dl,definePartsStyle:Rl}=b(ao.keys),Te=m("popper-bg"),jl=m("popper-arrow-bg"),la=m("popper-arrow-shadow-color"),Hl=t({zIndex:10}),Wl=t({[Te.variable]:"colors.white",bg:Te.reference,[jl.variable]:Te.reference,[la.variable]:"colors.gray.200",_dark:{[Te.variable]:"colors.gray.700",[la.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}}),Vl=t({px:3,py:2,borderBottomWidth:"1px"}),Ll=t({px:3,py:2}),ql=t({px:3,py:2,borderTopWidth:"1px"}),Ol=t({position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2}),Nl=Rl({popper:Hl,content:Wl,header:Vl,body:Ll,footer:ql,closeButton:Ol}),Gl=Dl({baseStyle:Nl}),{definePartsStyle:pr,defineMultiStyleConfig:Ul}=b(Ut.keys),ur=c("drawer-bg"),fr=c("drawer-box-shadow");function Y(e){return pr(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var Yl=t({bg:"blackAlpha.600",zIndex:"overlay"}),Kl=t({display:"flex",zIndex:"modal",justifyContent:"center"}),Xl=t(e=>{const{isFullHeight:r}=e;return{...r&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[ur.variable]:"colors.white",[fr.variable]:"shadows.lg",_dark:{[ur.variable]:"colors.gray.700",[fr.variable]:"shadows.dark-lg"},bg:ur.reference,boxShadow:fr.reference}}),Zl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),Jl=t({position:"absolute",top:"2",insetEnd:"3"}),Ql=t({px:"6",py:"2",flex:"1",overflow:"auto"}),es=t({px:"6",py:"4"}),rs=pr(e=>({overlay:Yl,dialogContainer:Kl,dialog:k(Xl,e),header:Zl,closeButton:Jl,body:Ql,footer:es})),as={xs:Y("xs"),sm:Y("md"),md:Y("lg"),lg:Y("2xl"),xl:Y("4xl"),full:Y("full")},ts=Ul({baseStyle:rs,sizes:as,defaultProps:{size:"xs"}}),{definePartsStyle:os,defineMultiStyleConfig:ns}=b(Yt.keys),is=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ls=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ss=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ds=os({preview:is,input:ls,textarea:ss}),cs=ns({baseStyle:ds}),{definePartsStyle:bs,defineMultiStyleConfig:vs}=b(Kt.keys),J=c("form-control-color"),us=t({marginStart:"1",[J.variable]:"colors.red.500",_dark:{[J.variable]:"colors.red.300"},color:J.reference}),fs=t({mt:"2",[J.variable]:"colors.gray.600",_dark:{[J.variable]:"colors.whiteAlpha.600"},color:J.reference,lineHeight:"normal",fontSize:"sm"}),ms=bs({container:{width:"100%",position:"relative"},requiredIndicator:us,helperText:fs}),hs=vs({baseStyle:ms}),{definePartsStyle:gs,defineMultiStyleConfig:ys}=b(Xt.keys),Q=c("form-error-color"),ps=t({[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference,mt:"2",fontSize:"sm",lineHeight:"normal"}),Ss=t({marginEnd:"0.5em",[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference}),xs=gs({text:ps,icon:Ss}),$s=ys({baseStyle:xs}),ks=t({fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}}),_s=h({baseStyle:ks}),ws=t({fontFamily:"heading",fontWeight:"bold"}),zs={"4xl":t({fontSize:["6xl",null,"7xl"],lineHeight:1}),"3xl":t({fontSize:["5xl",null,"6xl"],lineHeight:1}),"2xl":t({fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]}),xl:t({fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]}),lg:t({fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]}),md:t({fontSize:"xl",lineHeight:1.2}),sm:t({fontSize:"md",lineHeight:1.2}),xs:t({fontSize:"sm",lineHeight:1.2})},Cs=h({baseStyle:ws,sizes:zs,defaultProps:{size:"xl"}}),{defineMultiStyleConfig:As,definePartsStyle:Ps}=b(Nt.keys),mr=c("breadcrumb-link-decor"),Ts=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",outline:"none",color:"inherit",textDecoration:mr.reference,[mr.variable]:"none","&:not([aria-current=page])":{cursor:"pointer",_hover:{[mr.variable]:"underline"},_focusVisible:{boxShadow:"outline"}}}),Fs=Ps({link:Ts}),Is=As({baseStyle:Fs}),Ms=t({lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}}),_a=t(e=>{const{colorScheme:r,theme:a}=e;if(r==="gray")return{color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.100","whiteAlpha.200")(e)},_active:{bg:n("gray.200","whiteAlpha.300")(e)}};const o=re(`${r}.200`,.12)(a),i=re(`${r}.200`,.24)(a);return{color:n(`${r}.600`,`${r}.200`)(e),bg:"transparent",_hover:{bg:n(`${r}.50`,o)(e)},_active:{bg:n(`${r}.100`,i)(e)}}}),Bs=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...k(_a,e)}}),Es={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},Ds=t(e=>{var r;const{colorScheme:a}=e;if(a==="gray"){const v=n("gray.100","whiteAlpha.200")(e);return{bg:v,color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.200","whiteAlpha.300")(e),_disabled:{bg:v}},_active:{bg:n("gray.300","whiteAlpha.400")(e)}}}const{bg:o=`${a}.500`,color:i="white",hoverBg:l=`${a}.600`,activeBg:s=`${a}.700`}=(r=Es[a])!=null?r:{},d=n(o,`${a}.200`)(e);return{bg:d,color:n(i,"gray.800")(e),_hover:{bg:n(l,`${a}.300`)(e),_disabled:{bg:d}},_active:{bg:n(s,`${a}.400`)(e)}}}),Rs=t(e=>{const{colorScheme:r}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:n(`${r}.500`,`${r}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:n(`${r}.700`,`${r}.500`)(e)}}}),js=t({bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"}),Hs={ghost:_a,outline:Bs,solid:Ds,link:Rs,unstyled:js},Ws={lg:t({h:"12",minW:"12",fontSize:"lg",px:"6"}),md:t({h:"10",minW:"10",fontSize:"md",px:"4"}),sm:t({h:"8",minW:"8",fontSize:"sm",px:"3"}),xs:t({h:"6",minW:"6",fontSize:"xs",px:"2"})},Vs=h({baseStyle:Ms,variants:Hs,sizes:Ws,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}}),{definePartsStyle:U,defineMultiStyleConfig:Ls}=b(uo.keys),Ye=c("card-bg"),R=c("card-padding"),wa=c("card-shadow"),Oe=c("card-radius"),za=c("card-border-width","0"),Ca=c("card-border-color"),qs=U({container:{[Ye.variable]:"colors.chakra-body-bg",backgroundColor:Ye.reference,boxShadow:wa.reference,borderRadius:Oe.reference,color:"chakra-body-text",borderWidth:za.reference,borderColor:Ca.reference},body:{padding:R.reference,flex:"1 1 0%"},header:{padding:R.reference},footer:{padding:R.reference}}),Os={sm:U({container:{[Oe.variable]:"radii.base",[R.variable]:"space.3"}}),md:U({container:{[Oe.variable]:"radii.md",[R.variable]:"space.5"}}),lg:U({container:{[Oe.variable]:"radii.xl",[R.variable]:"space.7"}})},Ns={elevated:U({container:{[wa.variable]:"shadows.base",_dark:{[Ye.variable]:"colors.gray.700"}}}),outline:U({container:{[za.variable]:"1px",[Ca.variable]:"colors.chakra-border-color"}}),filled:U({container:{[Ye.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[R.variable]:0},header:{[R.variable]:0},footer:{[R.variable]:0}}},Gs=Ls({baseStyle:qs,variants:Ns,sizes:Os,defaultProps:{variant:"elevated",size:"md"}}),me=m("close-button-size"),ie=m("close-button-bg"),Us=t({w:[me.reference],h:[me.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[ie.variable]:"colors.blackAlpha.100",_dark:{[ie.variable]:"colors.whiteAlpha.100"}},_active:{[ie.variable]:"colors.blackAlpha.200",_dark:{[ie.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:ie.reference}),Ys={lg:t({[me.variable]:"sizes.10",fontSize:"md"}),md:t({[me.variable]:"sizes.8",fontSize:"xs"}),sm:t({[me.variable]:"sizes.6",fontSize:"2xs"})},Ks=h({baseStyle:Us,sizes:Ys,defaultProps:{size:"md"}}),{variants:Xs,defaultProps:Zs}=ue,Js=t({fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Qs=h({baseStyle:Js,variants:Xs,defaultProps:Zs}),e0=t({w:"100%",mx:"auto",maxW:"prose",px:"4"}),r0=h({baseStyle:e0}),a0=t({opacity:.6,borderColor:"inherit"}),t0=t({borderStyle:"solid"}),o0=t({borderStyle:"dashed"}),n0={solid:t0,dashed:o0},i0=h({baseStyle:a0,variants:n0,defaultProps:{variant:"solid"}}),{definePartsStyle:l0,defineMultiStyleConfig:s0}=b(Lt.keys),d0=t({borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}}),c0=t({transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"}),b0=t({pt:"2",px:"4",pb:"5"}),v0=t({fontSize:"1.25em"}),u0=l0({container:d0,button:c0,panel:b0,icon:v0}),f0=s0({baseStyle:u0}),{definePartsStyle:xe,defineMultiStyleConfig:m0}=b(qt.keys),w=c("alert-fg"),j=c("alert-bg"),h0=xe({container:{bg:j.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function _r(e){const{theme:r,colorScheme:a}=e,o=re(`${a}.200`,.16)(r);return{light:`colors.${a}.100`,dark:o}}var g0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark}}}}),y0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:w.reference}}}),p0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},pt:"2",borderTopWidth:"4px",borderTopColor:w.reference}}}),S0=xe(e=>{const{colorScheme:r}=e;return{container:{[w.variable]:"colors.white",[j.variable]:`colors.${r}.500`,_dark:{[w.variable]:"colors.gray.900",[j.variable]:`colors.${r}.200`},color:w.reference}}}),x0={subtle:g0,"left-accent":y0,"top-accent":p0,solid:S0},$0=m0({baseStyle:h0,variants:x0,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:Aa,defineMultiStyleConfig:k0}=b(Ot.keys),ee=c("avatar-border-color"),he=c("avatar-bg"),Se=c("avatar-font-size"),ae=c("avatar-size"),_0=t({borderRadius:"full",border:"0.2em solid",borderColor:ee.reference,[ee.variable]:"white",_dark:{[ee.variable]:"colors.gray.800"}}),w0=t({bg:he.reference,fontSize:Se.reference,width:ae.reference,height:ae.reference,lineHeight:"1",[he.variable]:"colors.gray.200",_dark:{[he.variable]:"colors.whiteAlpha.400"}}),z0=t(e=>{const{name:r,theme:a}=e,o=r?Mo({string:r}):"colors.gray.400",i=Fo(o)(a);let l="white";return i||(l="gray.800"),{bg:he.reference,fontSize:Se.reference,color:l,borderColor:ee.reference,verticalAlign:"top",width:ae.reference,height:ae.reference,"&:not([data-loaded])":{[he.variable]:o},[ee.variable]:"colors.white",_dark:{[ee.variable]:"colors.gray.800"}}}),C0=t({fontSize:Se.reference,lineHeight:"1"}),A0=Aa(e=>({badge:k(_0,e),excessLabel:k(w0,e),container:k(z0,e),label:C0}));function W(e){const r=e!=="100%"?ya[e]:void 0;return Aa({container:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`},excessLabel:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`}})}var P0={"2xs":W(4),xs:W(6),sm:W(8),md:W(12),lg:W(16),xl:W(24),"2xl":W(32),full:W("100%")},T0=k0({baseStyle:A0,sizes:P0,defaultProps:{size:"md"}}),F0={Accordion:f0,Alert:$0,Avatar:T0,Badge:ue,Breadcrumb:Is,Button:Vs,Checkbox:Ue,CloseButton:Ks,Code:Qs,Container:r0,Divider:i0,Drawer:ts,Editable:cs,Form:hs,FormError:$s,FormLabel:_s,Heading:Cs,Input:u,Kbd:Yi,Link:Xi,List:rl,Menu:bl,Modal:$l,NumberInput:Fl,PinInput:El,Popover:Gl,Progress:ei,Radio:ui,Select:Si,Skeleton:$i,SkipLink:_i,Slider:Ei,Spinner:ji,Stat:Gi,Switch:Ko,Table:an,Tabs:yn,Tag:Fn,Textarea:qn,Tooltip:Gn,Card:Gs,Stepper:Vt},I0={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-inverse-text":{_light:"white",_dark:"gray.800"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-subtle-text":{_light:"gray.600",_dark:"gray.400"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},M0={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color"}}},B0="ltr",E0={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},Pa={semanticTokens:I0,direction:B0,...jt,components:F0,styles:M0,config:E0};function be(e){return typeof e=="function"}function D0(...e){return r=>e.reduce((a,o)=>o(a),r)}var R0=e=>function(...a){let o=[...a],i=a[a.length-1];return ft(i)&&o.length>1?o=o.slice(0,o.length-1):i=e,D0(...o.map(l=>s=>be(l)?l(s):H0(s,l)))(i)},j0=R0(Pa);function H0(...e){return ba({},...e,Ta)}function Ta(e,r,a,o){if((be(e)||be(r))&&Object.prototype.hasOwnProperty.call(o,a))return(...i)=>{const l=be(e)?e(...i):e,s=be(r)?r(...i):r;return ba({},l,s,Ta)}}function W0(e={}){const{strict:r=!0,errorMessage:a="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:o}=e,i=x.createContext(void 0);i.displayName=o;function l(){var s;const d=x.useContext(i);if(!d&&r){const v=new Error(a);throw v.name="ContextError",(s=Error.captureStackTrace)==null||s.call(Error,v,l),v}return d}return[i.Provider,l,i]}function V0(e){const{cssVarsRoot:r,theme:a,children:o}=e,i=x.useMemo(()=>ja(a),[a]);return g.jsxs(Ha,{theme:i,children:[g.jsx(L0,{root:r}),o]})}function L0({root:e=":host, :root"}){const r=[e,"[data-theme]"].join(",");return g.jsx(Ke,{styles:a=>({[r]:a.__cssVars})})}W0({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function q0(){const{colorMode:e}=Wa();return g.jsx(Ke,{styles:r=>{const a=Va(r,"styles.global"),o=La(a,{theme:r,colorMode:e});return o?qa(o)(r):void 0}})}var Fa=x.createContext({getDocument(){return document},getWindow(){return window}});Fa.displayName="EnvironmentContext";function Ia(e){const{children:r,environment:a,disabled:o}=e,i=x.useRef(null),l=x.useMemo(()=>a||{getDocument:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument)!=null?v:document},getWindow:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument.defaultView)!=null?v:window}},[a]),s=!o||!a;return g.jsxs(Fa.Provider,{value:l,children:[r,s&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}Ia.displayName="EnvironmentProvider";var O0=e=>{const{children:r,colorModeManager:a,portalZIndex:o,resetScope:i,resetCSS:l=!0,theme:s={},environment:d,cssVarsRoot:v,disableEnvironment:$,disableGlobalStyle:p}=e,S=g.jsx(Ia,{environment:d,disabled:$,children:r});return g.jsx(V0,{theme:s,cssVarsRoot:v,children:g.jsxs(ma,{colorModeManager:a,options:s.config,children:[l?g.jsx(dt,{scope:i}):g.jsx(st,{}),!p&&g.jsx(q0,{}),o?g.jsx(Oa,{zIndex:o,children:S}):S]})})},N0=e=>function({children:a,theme:o=e,toastOptions:i,...l}){return g.jsxs(O0,{theme:o,...l,children:[g.jsx(Na,{value:i==null?void 0:i.defaultOptions,children:a}),g.jsx(Ga,{...i})]})},G0=N0(Pa);function z(e,r,a=!1){e=String(e),r=String(r);const o=Array.from({length:21},(s,d)=>d*50),i=[0,5,10,15,20,25,30,35,40,45,50,55,59,64,68,73,77,82,86,95,100];return o.reduce((s,d,v)=>{const $=a?i[v]/100:1,p=a?50:i[o.length-1-v];return s[d]=`hsl(${e} ${r}% ${p}% / ${$})`,s},{})}const Fe={H:220,S:16},Ie={H:250,S:42},Me={H:47,S:42},Be={H:28,S:42},Ee={H:113,S:42},De={H:0,S:42},U0={base:z(Fe.H,Fe.S),baseAlpha:z(Fe.H,Fe.S,!0),accent:z(Ie.H,Ie.S),accentAlpha:z(Ie.H,Ie.S,!0),working:z(Me.H,Me.S),workingAlpha:z(Me.H,Me.S,!0),warning:z(Be.H,Be.S),warningAlpha:z(Be.H,Be.S,!0),ok:z(Ee.H,Ee.S),okAlpha:z(Ee.H,Ee.S,!0),error:z(De.H,De.S),errorAlpha:z(De.H,De.S,!0)},{definePartsStyle:Y0,defineMultiStyleConfig:K0}=b(Ya.keys),X0=t({border:"none"}),Z0=t(e=>{const{colorScheme:r}=e;return{fontWeight:"600",fontSize:"sm",border:"none",borderRadius:"base",bg:n(`${r}.200`,`${r}.700`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.250`,`${r}.650`)(e)},_expanded:{bg:n(`${r}.250`,`${r}.650`)(e),borderBottomRadius:"none",_hover:{bg:n(`${r}.300`,`${r}.600`)(e)}}}}),J0=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.100`,`${r}.800`)(e),borderRadius:"base",borderTopRadius:"none"}}),Q0=t({}),ed=Y0(e=>({container:X0,button:Z0(e),panel:J0(e),icon:Q0})),rd=K0({variants:{invokeAI:ed},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),ad=t(e=>{const{colorScheme:r}=e;if(r==="base"){const o={bg:n("base.150","base.700")(e),color:n("base.500","base.500")(e),svg:{fill:n("base.500","base.500")(e)},opacity:1};return{bg:n("base.250","base.600")(e),color:n("base.850","base.100")(e),borderRadius:"base",svg:{fill:n("base.850","base.100")(e)},_hover:{bg:n("base.300","base.500")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.900","base.50")(e)},_disabled:o},_disabled:o}}const a={bg:n(`${r}.250`,`${r}.700`)(e),color:n(`${r}.50`,`${r}.500`)(e),svg:{fill:n(`${r}.50`,`${r}.500`)(e),filter:"unset"},opacity:1,filter:n(void 0,"saturate(65%)")(e)};return{bg:n(`${r}.400`,`${r}.600`)(e),color:n("base.50","base.100")(e),borderRadius:"base",svg:{fill:n("base.50","base.100")(e)},_disabled:a,_hover:{bg:n(`${r}.500`,`${r}.500`)(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)},_disabled:a}}}),td=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"}}}),od=h({variants:{invokeAI:ad,invokeAIOutline:td},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),{definePartsStyle:nd,defineMultiStyleConfig:id}=b(Ka.keys),ld=t(e=>{const{colorScheme:r}=e;return{bg:n("base.200","base.700")(e),borderColor:n("base.200","base.700")(e),color:n("base.900","base.100")(e),_checked:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.400`,`${r}.500`)(e),borderColor:n(`${r}.400`,`${r}.500`)(e)},_disabled:{borderColor:"transparent",bg:"whiteAlpha.300",color:"whiteAlpha.500"}},_indeterminate:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e)},_disabled:{bg:"whiteAlpha.100",borderColor:"transparent"},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("error.600","error.300")(e)}}}),sd=nd(e=>({control:ld(e)})),dd=id({variants:{invokeAI:sd},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{definePartsStyle:cd,defineMultiStyleConfig:bd}=b(Xa.keys),vd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ud=t(e=>({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6},"::selection":{color:n("accent.900","accent.50")(e),bg:n("accent.200","accent.400")(e)}})),fd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),md=cd(e=>({preview:vd,input:ud(e),textarea:fd})),hd=bd({variants:{invokeAI:md},defaultProps:{size:"sm",variant:"invokeAI"}}),gd=t(e=>({fontSize:"sm",marginEnd:0,mb:1,fontWeight:"400",transitionProperty:"common",transitionDuration:"normal",whiteSpace:"nowrap",_disabled:{opacity:.4},color:n("base.700","base.300")(e)})),yd=h({variants:{invokeAI:gd},defaultProps:{variant:"invokeAI"}}),Je=e=>({outline:"none",borderWidth:2,borderStyle:"solid",borderColor:n("base.200","base.800")(e),bg:n("base.50","base.900")(e),borderRadius:"base",color:n("base.900","base.100")(e),boxShadow:"none",_hover:{borderColor:n("base.300","base.600")(e)},_focus:{borderColor:n("accent.200","accent.600")(e),boxShadow:"none",_hover:{borderColor:n("accent.300","accent.500")(e)}},_invalid:{borderColor:n("error.300","error.600")(e),boxShadow:"none",_hover:{borderColor:n("error.400","error.500")(e)}},_disabled:{borderColor:n("base.300","base.700")(e),bg:n("base.300","base.700")(e),color:n("base.600","base.400")(e),_hover:{borderColor:n("base.300","base.700")(e)}},_placeholder:{color:n("base.700","base.400")(e)},"::selection":{bg:n("accent.200","accent.400")(e)}}),{definePartsStyle:pd,defineMultiStyleConfig:Sd}=b(Za.keys),xd=pd(e=>({field:Je(e)})),$d=Sd({variants:{invokeAI:xd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:kd,definePartsStyle:_d}=b(Ja.keys),wd=t(e=>({bg:n("blackAlpha.700","blackAlpha.700")(e)})),zd=t({}),Cd=t(e=>({layerStyle:"first",maxH:"80vh"})),Ad=t(e=>({fontWeight:"600",fontSize:"lg",layerStyle:"first",borderTopRadius:"base",borderInlineEndRadius:"base"})),Pd=t({}),Td=t({overflowY:"scroll"}),Fd=t({}),Id=_d(e=>({overlay:wd(e),dialogContainer:zd,dialog:Cd(e),header:Ad(e),closeButton:Pd,body:Td,footer:Fd})),Md=kd({variants:{invokeAI:Id},defaultProps:{variant:"invokeAI",size:"lg"}}),{defineMultiStyleConfig:Bd,definePartsStyle:Ed}=b(Qa.keys),Dd=t(e=>({height:8})),Rd=t(e=>({border:"none",fontWeight:"600",height:"auto",py:1,ps:2,pe:6,...Je(e)})),jd=t(e=>({display:"flex"})),Hd=t(e=>({border:"none",px:2,py:0,mx:-2,my:0,svg:{color:n("base.700","base.300")(e),width:2.5,height:2.5,_hover:{color:n("base.900","base.100")(e)}}})),Wd=Ed(e=>({root:Dd(e),field:Rd(e),stepperGroup:jd(e),stepper:Hd(e)})),Vd=Bd({variants:{invokeAI:Wd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:Ld,definePartsStyle:qd}=b(et.keys),Od=m("popper-bg"),Nd=m("popper-arrow-bg"),Gd=m("popper-arrow-shadow-color"),Ud=t(e=>({[Nd.variable]:n("colors.base.100","colors.base.800")(e),[Od.variable]:n("colors.base.100","colors.base.800")(e),[Gd.variable]:n("colors.base.400","colors.base.600")(e),minW:"unset",width:"unset",p:4,bg:n("base.100","base.800")(e),border:"none",shadow:"dark-lg"})),Yd=qd(e=>({content:Ud(e)})),Kd=Ld({variants:{invokeAI:Yd},defaultProps:{variant:"invokeAI"}}),{defineMultiStyleConfig:Xd,definePartsStyle:Zd}=b(rt.keys),Jd=t(e=>({bg:"accentAlpha.500"})),Qd=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.200`,`${r}.700`)(e)}}),ec=Zd(e=>({filledTrack:Jd(e),track:Qd(e)})),rc=Xd({variants:{invokeAI:ec},defaultProps:{variant:"invokeAI"}}),ac={"::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"},{definePartsStyle:tc,defineMultiStyleConfig:oc}=b(at.keys),nc=t(e=>({color:n("base.200","base.300")(e)})),ic=t(e=>({fontWeight:"600",...Je(e)})),lc=tc(e=>({field:ic(e),icon:nc(e)})),sc=oc({variants:{invokeAI:lc},defaultProps:{size:"sm",variant:"invokeAI"}}),sa=c("skeleton-start-color"),da=c("skeleton-end-color"),dc=t({borderRadius:"base",maxW:"full",maxH:"full",_light:{[sa.variable]:"colors.base.250",[da.variable]:"colors.base.450"},_dark:{[sa.variable]:"colors.base.700",[da.variable]:"colors.base.500"}}),cc=h({variants:{invokeAI:dc},defaultProps:{variant:"invokeAI"}}),{definePartsStyle:bc,defineMultiStyleConfig:vc}=b(tt.keys),uc=t(e=>({bg:n("base.400","base.600")(e),h:1.5})),fc=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.400`,`${r}.600`)(e),h:1.5}}),mc=t(e=>({w:2,h:4,bg:n("base.50","base.100")(e)})),hc=t(e=>({fontSize:"2xs",fontWeight:"500",color:n("base.700","base.400")(e),mt:2,insetInlineStart:"unset"})),gc=bc(e=>({container:{_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"}},track:uc(e),filledTrack:fc(e),thumb:mc(e),mark:hc(e)})),yc=vc({variants:{invokeAI:gc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:pc,definePartsStyle:Sc}=b(ot.keys),xc=t(e=>{const{colorScheme:r}=e;return{bg:n("base.300","base.600")(e),_focusVisible:{boxShadow:"none"},_checked:{bg:n(`${r}.400`,`${r}.500`)(e)}}}),$c=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.50`,`${r}.50`)(e)}}),kc=Sc(e=>({container:{},track:xc(e),thumb:$c(e)})),_c=pc({variants:{invokeAI:kc},defaultProps:{size:"md",variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:wc,definePartsStyle:zc}=b(nt.keys),Cc=t(e=>({display:"flex",columnGap:4})),Ac=t(e=>({})),Pc=t(e=>{const{colorScheme:r}=e;return{display:"flex",flexDirection:"column",gap:1,color:n("base.700","base.400")(e),button:{fontSize:"sm",padding:2,borderRadius:"base",textShadow:n("0 0 0.3rem var(--invokeai-colors-accent-100)","0 0 0.3rem var(--invokeai-colors-accent-900)")(e),svg:{fill:n("base.700","base.300")(e)},_selected:{bg:n("accent.400","accent.600")(e),color:n("base.50","base.100")(e),svg:{fill:n("base.50","base.100")(e),filter:n(`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-600))`,`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-800))`)(e)},_hover:{bg:n("accent.500","accent.500")(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)}}},_hover:{bg:n("base.100","base.800")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.800","base.100")(e)}}}}}),Tc=t(e=>({padding:0,height:"100%"})),Fc=zc(e=>({root:Cc(e),tab:Ac(e),tablist:Pc(e),tabpanel:Tc(e)})),Ic=wc({variants:{invokeAI:Fc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),Mc=t(e=>({color:n("base.500","base.400")(e)})),Bc=h({variants:{subtext:Mc}}),Ec=t(e=>({...Je(e),"::-webkit-scrollbar":{display:"initial"},"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, - var(--invokeai-colors-base-50) 0%, - var(--invokeai-colors-base-50) 70%, - var(--invokeai-colors-base-200) 70%, - var(--invokeai-colors-base-200) 100%)`},_dark:{"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, - var(--invokeai-colors-base-900) 0%, - var(--invokeai-colors-base-900) 70%, - var(--invokeai-colors-base-800) 70%, - var(--invokeai-colors-base-800) 100%)`}}})),Dc=h({variants:{invokeAI:Ec},defaultProps:{size:"md",variant:"invokeAI"}}),Rc=m("popper-arrow-bg"),jc=t(e=>({borderRadius:"base",shadow:"dark-lg",bg:n("base.700","base.200")(e),[Rc.variable]:n("colors.base.700","colors.base.200")(e),pb:1.5})),Hc=h({baseStyle:jc}),Wc={config:{cssVarPrefix:"invokeai",initialColorMode:"dark",useSystemColorMode:!1},layerStyles:{body:{bg:"base.50",color:"base.900",".chakra-ui-dark &":{bg:"base.900",color:"base.50"}},first:{bg:"base.100",color:"base.900",".chakra-ui-dark &":{bg:"base.850",color:"base.100"}},second:{bg:"base.200",color:"base.900",".chakra-ui-dark &":{bg:"base.800",color:"base.100"}}},styles:{global:()=>({layerStyle:"body","*":{...ac}})},direction:"ltr",fonts:{body:"'Inter Variable', sans-serif"},shadows:{light:{accent:"0 0 10px 0 var(--invokeai-colors-accent-300)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-400)",ok:"0 0 7px var(--invokeai-colors-ok-600)",working:"0 0 7px var(--invokeai-colors-working-600)",error:"0 0 7px var(--invokeai-colors-error-600)"},dark:{accent:"0 0 10px 0 var(--invokeai-colors-accent-600)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-500)",ok:"0 0 7px var(--invokeai-colors-ok-400)",working:"0 0 7px var(--invokeai-colors-working-400)",error:"0 0 7px var(--invokeai-colors-error-400)"},selected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-400)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-500)"},hoverSelected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-400)"},hoverUnselected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 3px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 3px var(--invokeai-colors-accent-400)"},nodeSelectedOutline:"0 0 0 2px var(--invokeai-colors-accent-450)"},colors:U0,components:{Button:od,Input:$d,Editable:hd,Textarea:Dc,Tabs:Ic,Progress:rc,Accordion:rd,FormLabel:yd,Switch:_c,NumberInput:Vd,Select:sc,Skeleton:cc,Slider:yc,Popover:Kd,Modal:Md,Checkbox:dd,Menu:it,Text:Bc,Tooltip:Hc}};const Vc=()=>x.useMemo(()=>({colorScheme:"dark",fontFamily:"'Inter Variable', sans-serif",components:{ScrollArea:{defaultProps:{scrollbarSize:10},styles:{scrollbar:{"&:hover":{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}},thumb:{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}}}}}),[]),Lc=fa("@@invokeai-color-mode");function Nc({children:e}){const{i18n:r}=Ua(),a=r.dir(),o=x.useMemo(()=>j0({...Wc,direction:a}),[a]);x.useEffect(()=>{document.body.dir=a},[a]);const i=Vc();return g.jsx(lt,{theme:i,children:g.jsx(G0,{theme:o,colorModeManager:Lc,children:e})})}export{Nc as default}; diff --git a/invokeai/frontend/web/dist/assets/index-e2437518.js b/invokeai/frontend/web/dist/assets/index-e2437518.js deleted file mode 100644 index cf22438196..0000000000 --- a/invokeai/frontend/web/dist/assets/index-e2437518.js +++ /dev/null @@ -1,125 +0,0 @@ -function qA(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var De=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Hj(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var WA={exports:{}},v0={},KA={exports:{}},Ue={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var $h=Symbol.for("react.element"),qj=Symbol.for("react.portal"),Wj=Symbol.for("react.fragment"),Kj=Symbol.for("react.strict_mode"),Yj=Symbol.for("react.profiler"),Xj=Symbol.for("react.provider"),Qj=Symbol.for("react.context"),Zj=Symbol.for("react.forward_ref"),Jj=Symbol.for("react.suspense"),eV=Symbol.for("react.memo"),tV=Symbol.for("react.lazy"),m4=Symbol.iterator;function nV(e){return e===null||typeof e!="object"?null:(e=m4&&e[m4]||e["@@iterator"],typeof e=="function"?e:null)}var YA={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},XA=Object.assign,QA={};function Fc(e,t,n){this.props=e,this.context=t,this.refs=QA,this.updater=n||YA}Fc.prototype.isReactComponent={};Fc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Fc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ZA(){}ZA.prototype=Fc.prototype;function Ax(e,t,n){this.props=e,this.context=t,this.refs=QA,this.updater=n||YA}var Ox=Ax.prototype=new ZA;Ox.constructor=Ax;XA(Ox,Fc.prototype);Ox.isPureReactComponent=!0;var y4=Array.isArray,JA=Object.prototype.hasOwnProperty,Rx={current:null},e9={key:!0,ref:!0,__self:!0,__source:!0};function t9(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)JA.call(t,r)&&!e9.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,z=R[V];if(0>>1;Vi(W,L))Xi(F,W)?(R[V]=F,R[X]=L,V=X):(R[V]=W,R[K]=L,V=K);else if(Xi(F,L))R[V]=F,R[X]=L,V=X;else break e}}return D}function i(R,D){var L=R.sortIndex-D.sortIndex;return L!==0?L:R.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,f=3,h=!1,p=!1,m=!1,S=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(R){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=R)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function b(R){if(m=!1,g(R),!p)if(n(l)!==null)p=!0,I(_);else{var D=n(u);D!==null&&M(b,D.startTime-R)}}function _(R,D){p=!1,m&&(m=!1,v(C),C=-1),h=!0;var L=f;try{for(g(D),d=n(l);d!==null&&(!(d.expirationTime>D)||R&&!A());){var V=d.callback;if(typeof V=="function"){d.callback=null,f=d.priorityLevel;var z=V(d.expirationTime<=D);D=e.unstable_now(),typeof z=="function"?d.callback=z:d===n(l)&&r(l),g(D)}else r(l);d=n(l)}if(d!==null)var U=!0;else{var K=n(u);K!==null&&M(b,K.startTime-D),U=!1}return U}finally{d=null,f=L,h=!1}}var w=!1,x=null,C=-1,k=5,P=-1;function A(){return!(e.unstable_now()-PR||125V?(R.sortIndex=L,t(u,R),n(l)===null&&R===n(u)&&(m?(v(C),C=-1):m=!0,M(b,L-V))):(R.sortIndex=z,t(l,R),p||h||(p=!0,I(_))),R},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(R){var D=f;return function(){var L=f;f=D;try{return R.apply(this,arguments)}finally{f=L}}}})(o9);i9.exports=o9;var hV=i9.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var s9=E,Ur=hV;function te(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),B_=Object.prototype.hasOwnProperty,pV=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,S4={},_4={};function gV(e){return B_.call(_4,e)?!0:B_.call(S4,e)?!1:pV.test(e)?_4[e]=!0:(S4[e]=!0,!1)}function mV(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function yV(e,t,n,r){if(t===null||typeof t>"u"||mV(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function mr(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var zn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){zn[e]=new mr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];zn[t]=new mr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){zn[e]=new mr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){zn[e]=new mr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){zn[e]=new mr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){zn[e]=new mr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){zn[e]=new mr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){zn[e]=new mr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){zn[e]=new mr(e,5,!1,e.toLowerCase(),null,!1,!1)});var Mx=/[\-:]([a-z])/g;function Nx(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Mx,Nx);zn[t]=new mr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){zn[e]=new mr(e,1,!1,e.toLowerCase(),null,!1,!1)});zn.xlinkHref=new mr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){zn[e]=new mr(e,1,!1,e.toLowerCase(),null,!0,!0)});function Dx(e,t,n,r){var i=zn.hasOwnProperty(t)?zn[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{zb=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?$d(e):""}function vV(e){switch(e.tag){case 5:return $d(e.type);case 16:return $d("Lazy");case 13:return $d("Suspense");case 19:return $d("SuspenseList");case 0:case 2:case 15:return e=Ub(e.type,!1),e;case 11:return e=Ub(e.type.render,!1),e;case 1:return e=Ub(e.type,!0),e;default:return""}}function U_(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vu:return"Fragment";case yu:return"Portal";case j_:return"Profiler";case Lx:return"StrictMode";case V_:return"Suspense";case z_:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case u9:return(e.displayName||"Context")+".Consumer";case l9:return(e._context.displayName||"Context")+".Provider";case $x:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Fx:return t=e.displayName||null,t!==null?t:U_(e.type)||"Memo";case Is:t=e._payload,e=e._init;try{return U_(e(t))}catch{}}return null}function bV(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U_(t);case 8:return t===Lx?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function aa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function d9(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SV(e){var t=d9(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Bp(e){e._valueTracker||(e._valueTracker=SV(e))}function f9(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=d9(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function km(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function G_(e,t){var n=t.checked;return Ft({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function x4(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=aa(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function h9(e,t){t=t.checked,t!=null&&Dx(e,"checked",t,!1)}function H_(e,t){h9(e,t);var n=aa(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?q_(e,t.type,n):t.hasOwnProperty("defaultValue")&&q_(e,t.type,aa(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function C4(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function q_(e,t,n){(t!=="number"||km(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Fd=Array.isArray;function Lu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=jp.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Sf(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},_V=["Webkit","ms","Moz","O"];Object.keys(Yd).forEach(function(e){_V.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Yd[t]=Yd[e]})});function y9(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Yd.hasOwnProperty(e)&&Yd[e]?(""+t).trim():t+"px"}function v9(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=y9(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var wV=Ft({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Y_(e,t){if(t){if(wV[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(te(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(te(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(te(61))}if(t.style!=null&&typeof t.style!="object")throw Error(te(62))}}function X_(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Q_=null;function Bx(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Z_=null,$u=null,Fu=null;function P4(e){if(e=jh(e)){if(typeof Z_!="function")throw Error(te(280));var t=e.stateNode;t&&(t=x0(t),Z_(e.stateNode,e.type,t))}}function b9(e){$u?Fu?Fu.push(e):Fu=[e]:$u=e}function S9(){if($u){var e=$u,t=Fu;if(Fu=$u=null,P4(e),t)for(e=0;e>>=0,e===0?32:31-(MV(e)/NV|0)|0}var Vp=64,zp=4194304;function Bd(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Im(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=Bd(a):(o&=s,o!==0&&(r=Bd(o)))}else s=n&~i,s!==0?r=Bd(s):o!==0&&(r=Bd(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Fh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ni(t),e[t]=n}function FV(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Qd),L4=String.fromCharCode(32),$4=!1;function j9(e,t){switch(e){case"keyup":return fz.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function V9(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var bu=!1;function pz(e,t){switch(e){case"compositionend":return V9(t);case"keypress":return t.which!==32?null:($4=!0,L4);case"textInput":return e=t.data,e===L4&&$4?null:e;default:return null}}function gz(e,t){if(bu)return e==="compositionend"||!Wx&&j9(e,t)?(e=F9(),zg=Gx=zs=null,bu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=V4(n)}}function H9(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?H9(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function q9(){for(var e=window,t=km();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=km(e.document)}return t}function Kx(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Cz(e){var t=q9(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&H9(n.ownerDocument.documentElement,n)){if(r!==null&&Kx(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=z4(n,o);var s=z4(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Su=null,i2=null,Jd=null,o2=!1;function U4(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;o2||Su==null||Su!==km(r)||(r=Su,"selectionStart"in r&&Kx(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Jd&&Ef(Jd,r)||(Jd=r,r=Dm(i2,"onSelect"),0xu||(e.current=d2[xu],d2[xu]=null,xu--)}function mt(e,t){xu++,d2[xu]=e.current,e.current=t}var la={},Zn=_a(la),Pr=_a(!1),ul=la;function ac(e,t){var n=e.type.contextTypes;if(!n)return la;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function kr(e){return e=e.childContextTypes,e!=null}function $m(){_t(Pr),_t(Zn)}function X4(e,t,n){if(Zn.current!==la)throw Error(te(168));mt(Zn,t),mt(Pr,n)}function tO(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(te(108,bV(e)||"Unknown",i));return Ft({},n,r)}function Fm(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||la,ul=Zn.current,mt(Zn,e),mt(Pr,Pr.current),!0}function Q4(e,t,n){var r=e.stateNode;if(!r)throw Error(te(169));n?(e=tO(e,t,ul),r.__reactInternalMemoizedMergedChildContext=e,_t(Pr),_t(Zn),mt(Zn,e)):_t(Pr),mt(Pr,n)}var Ho=null,C0=!1,rS=!1;function nO(e){Ho===null?Ho=[e]:Ho.push(e)}function Lz(e){C0=!0,nO(e)}function wa(){if(!rS&&Ho!==null){rS=!0;var e=0,t=it;try{var n=Ho;for(it=1;e>=s,i-=s,Ko=1<<32-Ni(t)+i|n<C?(k=x,x=null):k=x.sibling;var P=f(v,x,g[C],b);if(P===null){x===null&&(x=k);break}e&&x&&P.alternate===null&&t(v,x),y=o(P,y,C),w===null?_=P:w.sibling=P,w=P,x=k}if(C===g.length)return n(v,x),Pt&&Va(v,C),_;if(x===null){for(;CC?(k=x,x=null):k=x.sibling;var A=f(v,x,P.value,b);if(A===null){x===null&&(x=k);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,C),w===null?_=A:w.sibling=A,w=A,x=k}if(P.done)return n(v,x),Pt&&Va(v,C),_;if(x===null){for(;!P.done;C++,P=g.next())P=d(v,P.value,b),P!==null&&(y=o(P,y,C),w===null?_=P:w.sibling=P,w=P);return Pt&&Va(v,C),_}for(x=r(v,x);!P.done;C++,P=g.next())P=h(x,v,C,P.value,b),P!==null&&(e&&P.alternate!==null&&x.delete(P.key===null?C:P.key),y=o(P,y,C),w===null?_=P:w.sibling=P,w=P);return e&&x.forEach(function($){return t(v,$)}),Pt&&Va(v,C),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===vu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Fp:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===vu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Is&&iT(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=hd(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===vu?(y=nl(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=Xg(g.type,g.key,g.props,null,v.mode,b),b.ref=hd(v,y,g),b.return=v,v=b)}return s(v);case yu:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=dS(g,v.mode,b),y.return=v,v=y}return s(v);case Is:return w=g._init,S(v,y,w(g._payload),b)}if(Fd(g))return p(v,y,g,b);if(ld(g))return m(v,y,g,b);Yp(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=cS(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var uc=cO(!0),dO=cO(!1),Vh={},go=_a(Vh),Of=_a(Vh),Rf=_a(Vh);function Xa(e){if(e===Vh)throw Error(te(174));return e}function rC(e,t){switch(mt(Rf,t),mt(Of,e),mt(go,Vh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:K_(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=K_(t,e)}_t(go),mt(go,t)}function cc(){_t(go),_t(Of),_t(Rf)}function fO(e){Xa(Rf.current);var t=Xa(go.current),n=K_(t,e.type);t!==n&&(mt(Of,e),mt(go,n))}function iC(e){Of.current===e&&(_t(go),_t(Of))}var Mt=_a(0);function Gm(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var iS=[];function oC(){for(var e=0;en?n:4,e(!0);var r=oS.transition;oS.transition={};try{e(!1),t()}finally{it=n,oS.transition=r}}function kO(){return gi().memoizedState}function jz(e,t,n){var r=Qs(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},AO(e))OO(t,n);else if(n=sO(e,t,n,r),n!==null){var i=fr();Di(n,e,r,i),RO(n,t,r)}}function Vz(e,t,n){var r=Qs(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(AO(e))OO(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,ji(a,s)){var l=t.interleaved;l===null?(i.next=i,tC(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=sO(e,t,i,r),n!==null&&(i=fr(),Di(n,e,r,i),RO(n,t,r))}}function AO(e){var t=e.alternate;return e===$t||t!==null&&t===$t}function OO(e,t){ef=Hm=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function RO(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vx(e,n)}}var qm={readContext:pi,useCallback:qn,useContext:qn,useEffect:qn,useImperativeHandle:qn,useInsertionEffect:qn,useLayoutEffect:qn,useMemo:qn,useReducer:qn,useRef:qn,useState:qn,useDebugValue:qn,useDeferredValue:qn,useTransition:qn,useMutableSource:qn,useSyncExternalStore:qn,useId:qn,unstable_isNewReconciler:!1},zz={readContext:pi,useCallback:function(e,t){return Qi().memoizedState=[e,t===void 0?null:t],e},useContext:pi,useEffect:sT,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,qg(4194308,4,xO.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qg(4194308,4,e,t)},useInsertionEffect:function(e,t){return qg(4,2,e,t)},useMemo:function(e,t){var n=Qi();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Qi();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=jz.bind(null,$t,e),[r.memoizedState,e]},useRef:function(e){var t=Qi();return e={current:e},t.memoizedState=e},useState:oT,useDebugValue:cC,useDeferredValue:function(e){return Qi().memoizedState=e},useTransition:function(){var e=oT(!1),t=e[0];return e=Bz.bind(null,e[1]),Qi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=$t,i=Qi();if(Pt){if(n===void 0)throw Error(te(407));n=n()}else{if(n=t(),Tn===null)throw Error(te(349));dl&30||gO(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,sT(yO.bind(null,r,o,e),[e]),r.flags|=2048,Nf(9,mO.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Qi(),t=Tn.identifierPrefix;if(Pt){var n=Yo,r=Ko;n=(r&~(1<<32-Ni(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=If++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[ro]=t,e[Af]=r,jO(e,t,!1,!1),t.stateNode=e;e:{switch(s=X_(n,r),n){case"dialog":vt("cancel",e),vt("close",e),i=r;break;case"iframe":case"object":case"embed":vt("load",e),i=r;break;case"video":case"audio":for(i=0;ifc&&(t.flags|=128,r=!0,pd(o,!1),t.lanes=4194304)}else{if(!r)if(e=Gm(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),pd(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!Pt)return Wn(t),null}else 2*qt()-o.renderingStartTime>fc&&n!==1073741824&&(t.flags|=128,r=!0,pd(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=qt(),t.sibling=null,n=Mt.current,mt(Mt,r?n&1|2:n&1),t):(Wn(t),null);case 22:case 23:return mC(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Fr&1073741824&&(Wn(t),t.subtreeFlags&6&&(t.flags|=8192)):Wn(t),null;case 24:return null;case 25:return null}throw Error(te(156,t.tag))}function Xz(e,t){switch(Xx(t),t.tag){case 1:return kr(t.type)&&$m(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return cc(),_t(Pr),_t(Zn),oC(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return iC(t),null;case 13:if(_t(Mt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(te(340));lc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return _t(Mt),null;case 4:return cc(),null;case 10:return eC(t.type._context),null;case 22:case 23:return mC(),null;case 24:return null;default:return null}}var Qp=!1,Qn=!1,Qz=typeof WeakSet=="function"?WeakSet:Set,de=null;function Pu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){jt(e,t,r)}else n.current=null}function x2(e,t,n){try{n()}catch(r){jt(e,t,r)}}var gT=!1;function Zz(e,t){if(s2=Mm,e=q9(),Kx(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(a2={focusedElem:e,selectionRange:n},Mm=!1,de=t;de!==null;)if(t=de,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,de=e;else for(;de!==null;){t=de;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:Ti(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(te(163))}}catch(b){jt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,de=e;break}de=t.return}return p=gT,gT=!1,p}function tf(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&x2(t,n,o)}i=i.next}while(i!==r)}}function P0(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function C2(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function UO(e){var t=e.alternate;t!==null&&(e.alternate=null,UO(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ro],delete t[Af],delete t[c2],delete t[Nz],delete t[Dz])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function GO(e){return e.tag===5||e.tag===3||e.tag===4}function mT(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||GO(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function T2(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Lm));else if(r!==4&&(e=e.child,e!==null))for(T2(e,t,n),e=e.sibling;e!==null;)T2(e,t,n),e=e.sibling}function E2(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(E2(e,t,n),e=e.sibling;e!==null;)E2(e,t,n),e=e.sibling}var Mn=null,Ei=!1;function Cs(e,t,n){for(n=n.child;n!==null;)HO(e,t,n),n=n.sibling}function HO(e,t,n){if(po&&typeof po.onCommitFiberUnmount=="function")try{po.onCommitFiberUnmount(b0,n)}catch{}switch(n.tag){case 5:Qn||Pu(n,t);case 6:var r=Mn,i=Ei;Mn=null,Cs(e,t,n),Mn=r,Ei=i,Mn!==null&&(Ei?(e=Mn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Mn.removeChild(n.stateNode));break;case 18:Mn!==null&&(Ei?(e=Mn,n=n.stateNode,e.nodeType===8?nS(e.parentNode,n):e.nodeType===1&&nS(e,n),Cf(e)):nS(Mn,n.stateNode));break;case 4:r=Mn,i=Ei,Mn=n.stateNode.containerInfo,Ei=!0,Cs(e,t,n),Mn=r,Ei=i;break;case 0:case 11:case 14:case 15:if(!Qn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&x2(n,t,s),i=i.next}while(i!==r)}Cs(e,t,n);break;case 1:if(!Qn&&(Pu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){jt(n,t,a)}Cs(e,t,n);break;case 21:Cs(e,t,n);break;case 22:n.mode&1?(Qn=(r=Qn)||n.memoizedState!==null,Cs(e,t,n),Qn=r):Cs(e,t,n);break;default:Cs(e,t,n)}}function yT(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Qz),t.forEach(function(r){var i=aU.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function wi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=qt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*eU(r/1960))-r,10e?16:e,Us===null)var r=!1;else{if(e=Us,Us=null,Ym=0,Ye&6)throw Error(te(331));var i=Ye;for(Ye|=4,de=e.current;de!==null;){var o=de,s=o.child;if(de.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lqt()-pC?tl(e,0):hC|=n),Ar(e,t)}function JO(e,t){t===0&&(e.mode&1?(t=zp,zp<<=1,!(zp&130023424)&&(zp=4194304)):t=1);var n=fr();e=as(e,t),e!==null&&(Fh(e,t,n),Ar(e,n))}function sU(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),JO(e,n)}function aU(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(te(314))}r!==null&&r.delete(t),JO(e,n)}var eR;eR=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Pr.current)Cr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Cr=!1,Kz(e,t,n);Cr=!!(e.flags&131072)}else Cr=!1,Pt&&t.flags&1048576&&rO(t,jm,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Wg(e,t),e=t.pendingProps;var i=ac(t,Zn.current);ju(t,n),i=aC(null,t,r,e,i,n);var o=lC();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,kr(r)?(o=!0,Fm(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,nC(t),i.updater=T0,t.stateNode=i,i._reactInternals=t,m2(t,r,e,n),t=b2(null,t,r,!0,o,n)):(t.tag=0,Pt&&o&&Yx(t),cr(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Wg(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=uU(r),e=Ti(r,e),i){case 0:t=v2(null,t,r,e,n);break e;case 1:t=fT(null,t,r,e,n);break e;case 11:t=cT(null,t,r,e,n);break e;case 14:t=dT(null,t,r,Ti(r.type,e),n);break e}throw Error(te(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),v2(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),fT(e,t,r,i,n);case 3:e:{if($O(t),e===null)throw Error(te(387));r=t.pendingProps,o=t.memoizedState,i=o.element,aO(e,t),Um(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=dc(Error(te(423)),t),t=hT(e,t,r,n,i);break e}else if(r!==i){i=dc(Error(te(424)),t),t=hT(e,t,r,n,i);break e}else for(jr=Ks(t.stateNode.containerInfo.firstChild),Vr=t,Pt=!0,ki=null,n=dO(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(lc(),r===i){t=ls(e,t,n);break e}cr(e,t,r,n)}t=t.child}return t;case 5:return fO(t),e===null&&h2(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,l2(r,i)?s=null:o!==null&&l2(r,o)&&(t.flags|=32),LO(e,t),cr(e,t,s,n),t.child;case 6:return e===null&&h2(t),null;case 13:return FO(e,t,n);case 4:return rC(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=uc(t,null,r,n):cr(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),cT(e,t,r,i,n);case 7:return cr(e,t,t.pendingProps,n),t.child;case 8:return cr(e,t,t.pendingProps.children,n),t.child;case 12:return cr(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,mt(Vm,r._currentValue),r._currentValue=s,o!==null)if(ji(o.value,s)){if(o.children===i.children&&!Pr.current){t=ls(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Jo(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),p2(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(te(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),p2(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}cr(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,ju(t,n),i=pi(i),r=r(i),t.flags|=1,cr(e,t,r,n),t.child;case 14:return r=t.type,i=Ti(r,t.pendingProps),i=Ti(r.type,i),dT(e,t,r,i,n);case 15:return NO(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ti(r,i),Wg(e,t),t.tag=1,kr(r)?(e=!0,Fm(t)):e=!1,ju(t,n),uO(t,r,i),m2(t,r,i,n),b2(null,t,r,!0,e,n);case 19:return BO(e,t,n);case 22:return DO(e,t,n)}throw Error(te(156,t.tag))};function tR(e,t){return P9(e,t)}function lU(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ui(e,t,n,r){return new lU(e,t,n,r)}function vC(e){return e=e.prototype,!(!e||!e.isReactComponent)}function uU(e){if(typeof e=="function")return vC(e)?1:0;if(e!=null){if(e=e.$$typeof,e===$x)return 11;if(e===Fx)return 14}return 2}function Zs(e,t){var n=e.alternate;return n===null?(n=ui(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Xg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")vC(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case vu:return nl(n.children,i,o,t);case Lx:s=8,i|=8;break;case j_:return e=ui(12,n,t,i|2),e.elementType=j_,e.lanes=o,e;case V_:return e=ui(13,n,t,i),e.elementType=V_,e.lanes=o,e;case z_:return e=ui(19,n,t,i),e.elementType=z_,e.lanes=o,e;case c9:return A0(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case l9:s=10;break e;case u9:s=9;break e;case $x:s=11;break e;case Fx:s=14;break e;case Is:s=16,r=null;break e}throw Error(te(130,e==null?e:typeof e,""))}return t=ui(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function nl(e,t,n,r){return e=ui(7,e,r,t),e.lanes=n,e}function A0(e,t,n,r){return e=ui(22,e,r,t),e.elementType=c9,e.lanes=n,e.stateNode={isHidden:!1},e}function cS(e,t,n){return e=ui(6,e,null,t),e.lanes=n,e}function dS(e,t,n){return t=ui(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function cU(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Hb(0),this.expirationTimes=Hb(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Hb(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function bC(e,t,n,r,i,o,s,a,l){return e=new cU(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=ui(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},nC(o),e}function dU(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(oR)}catch(e){console.error(e)}}oR(),r9.exports=Kr;var li=r9.exports;const W4e=Cl(li);var TT=li;F_.createRoot=TT.createRoot,F_.hydrateRoot=TT.hydrateRoot;const mU="modulepreload",yU=function(e,t){return new URL(e,t).href},ET={},sR=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=yU(o,r),o in ET)return;ET[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":mU,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var aR={exports:{}},lR={};/** - * @license React - * use-sync-external-store-shim.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var hc=E;function vU(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bU=typeof Object.is=="function"?Object.is:vU,SU=hc.useState,_U=hc.useEffect,wU=hc.useLayoutEffect,xU=hc.useDebugValue;function CU(e,t){var n=t(),r=SU({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return wU(function(){i.value=n,i.getSnapshot=t,fS(i)&&o({inst:i})},[e,n,t]),_U(function(){return fS(i)&&o({inst:i}),e(function(){fS(i)&&o({inst:i})})},[e]),xU(n),n}function fS(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!bU(e,n)}catch{return!0}}function TU(e,t){return t()}var EU=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?TU:CU;lR.useSyncExternalStore=hc.useSyncExternalStore!==void 0?hc.useSyncExternalStore:EU;aR.exports=lR;var PU=aR.exports,uR={exports:{}},cR={};/** - * @license React - * use-sync-external-store-shim/with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var N0=E,kU=PU;function AU(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var OU=typeof Object.is=="function"?Object.is:AU,RU=kU.useSyncExternalStore,IU=N0.useRef,MU=N0.useEffect,NU=N0.useMemo,DU=N0.useDebugValue;cR.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=IU(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=NU(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return d=p}return d=h}if(p=d,OU(c,h))return p;var m=r(h);return i!==void 0&&i(p,m)?p:(c=h,d=m)}var u=!1,c,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var a=RU(e,o[0],o[1]);return MU(function(){s.hasValue=!0,s.value=a},[a]),DU(a),a};uR.exports=cR;var dR=uR.exports;const LU=Cl(dR);function $U(e){e()}let fR=$U;const FU=e=>fR=e,BU=()=>fR,PT=Symbol.for(`react-redux-context-${E.version}`),kT=globalThis;function jU(){let e=kT[PT];return e||(e=E.createContext(null),kT[PT]=e),e}const ua=new Proxy({},new Proxy({},{get(e,t){const n=jU();return(r,...i)=>Reflect[t](n,...i)}}));function xC(e=ua){return function(){return E.useContext(e)}}const hR=xC(),VU=()=>{throw new Error("uSES not initialized!")};let pR=VU;const zU=e=>{pR=e},UU=(e,t)=>e===t;function GU(e=ua){const t=e===ua?hR:xC(e);return function(r,i={}){const{equalityFn:o=UU,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:c,stabilityCheck:d,noopCheck:f}=t();E.useRef(!0);const h=E.useCallback({[r.name](m){return r(m)}}[r.name],[r,d,s]),p=pR(u.addNestedSub,l.getState,c||l.getState,h,o);return E.useDebugValue(p),p}}const gR=GU();function Zm(){return Zm=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const AT={notify(){},get:()=>[]};function nG(e,t){let n,r=AT;function i(d){return l(),r.subscribe(d)}function o(){r.notify()}function s(){c.onStateChange&&c.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=tG())}function u(){n&&(n(),n=void 0,r.clear(),r=AT)}const c={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return c}const rG=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",iG=rG?E.useLayoutEffect:E.useEffect;function OT(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Jm(e,t){if(OT(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=nG(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=E.useMemo(()=>e.getState(),[e]);iG(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||ua;return ze.createElement(l.Provider,{value:s},n)}function _R(e=ua){const t=e===ua?hR:xC(e);return function(){const{store:r}=t();return r}}const wR=_R();function sG(e=ua){const t=e===ua?wR:_R(e);return function(){return t().dispatch}}const xR=sG();zU(dR.useSyncExternalStoreWithSelector);FU(li.unstable_batchedUpdates);function Cn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:tv(e)?2:nv(e)?3:0}function Js(e,t){return ca(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Qg(e,t){return ca(e)===2?e.get(t):e[t]}function CR(e,t,n){var r=ca(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function TR(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function tv(e){return fG&&e instanceof Map}function nv(e){return hG&&e instanceof Set}function bn(e){return e.o||e.t}function OC(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=PR(e);delete t[ke];for(var n=Uu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=aG),Object.freeze(e),t&&us(e,function(n,r){return zh(r,!0)},!0)),e}function aG(){Cn(2)}function RC(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function mo(e){var t=I2[e];return t||Cn(18,e),t}function IC(e,t){I2[e]||(I2[e]=t)}function Lf(){return Ff}function hS(e,t){t&&(mo("Patches"),e.u=[],e.s=[],e.v=t)}function ey(e){R2(e),e.p.forEach(lG),e.p=null}function R2(e){e===Ff&&(Ff=e.l)}function RT(e){return Ff={p:[],l:Ff,h:e,m:!0,_:0}}function lG(e){var t=e[ke];t.i===0||t.i===1?t.j():t.g=!0}function pS(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||mo("ES5").S(t,e,r),r?(n[ke].P&&(ey(t),Cn(4)),Ir(e)&&(e=ty(t,e),t.l||ny(t,e)),t.u&&mo("Patches").M(n[ke].t,e,t.u,t.s)):e=ty(t,n,[]),ey(t),t.u&&t.v(t.u,t.s),e!==iv?e:void 0}function ty(e,t,n){if(RC(t))return t;var r=t[ke];if(!r)return us(t,function(a,l){return IT(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return ny(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=OC(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),us(o,function(a,l){return IT(e,r,i,a,l,n,s)}),ny(e,i,!1),n&&e.u&&mo("Patches").N(r,n,e.u,e.s)}return r.o}function IT(e,t,n,r,i,o,s){if(hr(i)){var a=ty(e,i,o&&t&&t.i!==3&&!Js(t.R,r)?o.concat(r):void 0);if(CR(n,r,a),!hr(a))return;e.m=!1}else s&&n.add(i);if(Ir(i)&&!RC(i)){if(!e.h.D&&e._<1)return;ty(e,i),t&&t.A.l||ny(e,i)}}function ny(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&zh(t,n)}function gS(e,t){var n=e[ke];return(n?bn(n):e)[t]}function MT(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function xr(e){e.P||(e.P=!0,e.l&&xr(e.l))}function mS(e){e.o||(e.o=OC(e.t))}function $f(e,t,n){var r=tv(t)?mo("MapSet").F(t,n):nv(t)?mo("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:Lf(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=Bf;s&&(l=[a],u=Vd);var c=Proxy.revocable(l,u),d=c.revoke,f=c.proxy;return a.k=f,a.j=d,f}(t,n):mo("ES5").J(t,n);return(n?n.A:Lf()).p.push(r),r}function rv(e){return hr(e)||Cn(22,e),function t(n){if(!Ir(n))return n;var r,i=n[ke],o=ca(n);if(i){if(!i.P&&(i.i<4||!mo("ES5").K(i)))return i.t;i.I=!0,r=NT(n,o),i.I=!1}else r=NT(n,o);return us(r,function(s,a){i&&Qg(i.t,s)===a||CR(r,s,t(a))}),o===3?new Set(r):r}(e)}function NT(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return OC(e)}function MC(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[ke];return Bf.get(l,o)},set:function(l){var u=this[ke];Bf.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][ke];if(!a.P)switch(a.i){case 5:r(a)&&xr(a);break;case 4:n(a)&&xr(a)}}}function n(o){for(var s=o.t,a=o.k,l=Uu(a),u=l.length-1;u>=0;u--){var c=l[u];if(c!==ke){var d=s[c];if(d===void 0&&!Js(s,c))return!0;var f=a[c],h=f&&f[ke];if(h?h.t!==d:!TR(f,d))return!0}}var p=!!s[ke];return l.length!==Uu(s).length+(p?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?v-1:0),g=1;g1?c-1:0),f=1;f=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=mo("Patches").$;return hr(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Gr=new kR,AR=Gr.produce,LC=Gr.produceWithPatches.bind(Gr),gG=Gr.setAutoFreeze.bind(Gr),mG=Gr.setUseProxies.bind(Gr),M2=Gr.applyPatches.bind(Gr),yG=Gr.createDraft.bind(Gr),vG=Gr.finishDraft.bind(Gr);const xa=AR,K4e=Object.freeze(Object.defineProperty({__proto__:null,Immer:kR,applyPatches:M2,castDraft:cG,castImmutable:dG,createDraft:yG,current:rv,default:xa,enableAllPlugins:uG,enableES5:MC,enableMapSet:ER,enablePatches:NC,finishDraft:vG,freeze:zh,immerable:zu,isDraft:hr,isDraftable:Ir,nothing:iv,original:AC,produce:AR,produceWithPatches:LC,setAutoFreeze:gG,setUseProxies:mG},Symbol.toStringTag,{value:"Module"}));function jf(e){"@babel/helpers - typeof";return jf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jf(e)}function bG(e,t){if(jf(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(jf(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function SG(e){var t=bG(e,"string");return jf(t)==="symbol"?t:String(t)}function _G(e,t,n){return t=SG(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function FT(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Nn(1));return n(Uh)(e,t)}if(typeof e!="function")throw new Error(Nn(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function c(){if(l)throw new Error(Nn(3));return o}function d(m){if(typeof m!="function")throw new Error(Nn(4));if(l)throw new Error(Nn(5));var S=!0;return u(),a.push(m),function(){if(S){if(l)throw new Error(Nn(6));S=!1,u();var y=a.indexOf(m);a.splice(y,1),s=null}}}function f(m){if(!wG(m))throw new Error(Nn(7));if(typeof m.type>"u")throw new Error(Nn(8));if(l)throw new Error(Nn(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var S=s=a,v=0;v"u")throw new Error(Nn(12));if(typeof n(void 0,{type:pc.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Nn(13))})}function Vc(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Nn(14));d[h]=S,c=c||S!==m}return c=c||o.length!==Object.keys(l).length,c?d:l}}function jT(e,t){return function(){return t(e.apply(this,arguments))}}function RR(e,t){if(typeof e=="function")return jT(e,t);if(typeof e!="object"||e===null)throw new Error(Nn(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=jT(i,t))}return n}function gc(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return ry}function i(a,l){r(a)===ry&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var IR=function(t,n){return t===n};function PG(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(S,v){var y=t?t+"."+S:S;if(l){var g=i.some(function(b){return b instanceof RegExp?b.test(y):y===b});if(g)return"continue"}if(!n(v))return{value:{keyPath:y,value:v}};if(typeof v=="object"&&(s=jR(v,y,n,r,i,o),s))return{value:s}},c=0,d=a;c-1}function UG(e){return""+e}function HR(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function GG(e){return typeof e=="function"}function qR(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?HR(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(GG(e))l=function(){return N2(e())};else{var u=N2(e);l=function(){return u}}function c(d,f){d===void 0&&(d=l());var h=da([o[f.type]],s.filter(function(p){var m=p.matcher;return m(f)}).map(function(p){var m=p.reducer;return m}));return h.filter(function(p){return!!p}).length===0&&(h=[a]),h.reduce(function(p,m){if(m)if(hr(p)){var S=p,v=m(S,f);return v===void 0?p:v}else{if(Ir(p))return xa(p,function(y){return m(y,f)});var v=m(p,f);if(v===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}return p},d)}return c.getInitialState=l,c}function HG(e,t){return e+"/"+t}function zt(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:N2(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(c){var d=r[c],f=HG(t,c),h,p;"reducer"in d?(h=d.reducer,p=d.prepare):h=d,o[c]=h,s[f]=h,a[c]=p?me(f,p):me(f)});function l(){var c=typeof e.extraReducers=="function"?HR(e.extraReducers):[e.extraReducers],d=c[0],f=d===void 0?{}:d,h=c[1],p=h===void 0?[]:h,m=c[2],S=m===void 0?void 0:m,v=Tr(Tr({},f),s);return qR(n,function(y){for(var g in v)y.addCase(g,v[g]);for(var b=0,_=p;b<_.length;b++){var w=_[b];y.addMatcher(w.matcher,w.reducer)}S&&y.addDefaultCase(S)})}var u;return{name:t,reducer:function(c,d){return u||(u=l()),u(c,d)},actions:a,caseReducers:o,getInitialState:function(){return u||(u=l()),u.getInitialState()}}}function qG(){return{ids:[],entities:{}}}function WG(){function e(t){return t===void 0&&(t={}),Object.assign(qG(),t)}return{getInitialState:e}}function KG(){function e(t){var n=function(u){return u.ids},r=function(u){return u.entities},i=Vo(n,r,function(u,c){return u.map(function(d){return c[d]})}),o=function(u,c){return c},s=function(u,c){return u[c]},a=Vo(n,function(u){return u.length});if(!t)return{selectIds:n,selectEntities:r,selectAll:i,selectTotal:a,selectById:Vo(r,o,s)};var l=Vo(t,r);return{selectIds:Vo(t,n),selectEntities:l,selectAll:Vo(t,i),selectTotal:Vo(t,a),selectById:Vo(l,o,s)}}return{getSelectors:e}}function YG(e){var t=Gt(function(n,r){return e(r)});return function(r){return t(r,void 0)}}function Gt(e){return function(n,r){function i(s){return GR(s)}var o=function(s){i(r)?e(r.payload,s):e(r,s)};return hr(n)?(o(n),n):xa(n,o)}}function of(e,t){var n=t(e);return n}function rl(e){return Array.isArray(e)||(e=Object.values(e)),e}function WR(e,t,n){e=rl(e);for(var r=[],i=[],o=0,s=e;o0;if(y){var g=p.filter(function(b){return u(S,b,m)}).length>0;g&&(m.ids=Object.keys(m.entities))}}function f(p,m){return h([p],m)}function h(p,m){var S=WR(p,e,m),v=S[0],y=S[1];d(y,m),n(v,m)}return{removeAll:YG(l),addOne:Gt(t),addMany:Gt(n),setOne:Gt(r),setMany:Gt(i),setAll:Gt(o),updateOne:Gt(c),updateMany:Gt(d),upsertOne:Gt(f),upsertMany:Gt(h),removeOne:Gt(s),removeMany:Gt(a)}}function XG(e,t){var n=KR(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(y,g){return a([y],g)}function a(y,g){y=rl(y);var b=y.filter(function(_){return!(of(_,e)in g.entities)});b.length!==0&&S(b,g)}function l(y,g){return u([y],g)}function u(y,g){y=rl(y),y.length!==0&&S(y,g)}function c(y,g){y=rl(y),g.entities={},g.ids=[],a(y,g)}function d(y,g){return f([y],g)}function f(y,g){for(var b=!1,_=0,w=y;_-1;return n&&r}function qh(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function av(){for(var e=[],t=0;t0)for(var g=h.getState(),b=Array.from(n.values()),_=0,w=b;_=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function pI(e,t){if(e){if(typeof e=="string")return YT(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return YT(e,t)}}function YT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?OH:RH;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function JT(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function eE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){JT(o,r,i,s,a,"next",l)}function a(l){JT(o,r,i,s,a,"throw",l)}s(void 0)})}}var MH=function(){var e=eE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield TH(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=eE(function*(){var p=hI(t.getState(),n);yield IH(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),zC(p,d)||t.dispatch({type:SH,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(wH(f,u)):t.subscribe(_H(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const NH=MH;function zf(e){"@babel/helpers - typeof";return zf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zf(e)}function tE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function wS(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=wS({},r));var o=typeof t=="function"?t:Vc(t);switch(i.type){case F2:return n.state=o(wS(wS({},n.state),i.payload||{}),{type:F2}),n.state;default:return o(r,i)}}},BH=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return NH(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const zd=(e,t)=>Math.floor(e/t)*t,io=(e,t)=>Math.round(e/t)*t;var jH=typeof global=="object"&&global&&global.Object===Object&&global;const mI=jH;var VH=typeof self=="object"&&self&&self.Object===Object&&self,zH=mI||VH||Function("return this")();const ko=zH;var UH=ko.Symbol;const mi=UH;var yI=Object.prototype,GH=yI.hasOwnProperty,HH=yI.toString,md=mi?mi.toStringTag:void 0;function qH(e){var t=GH.call(e,md),n=e[md];try{e[md]=void 0;var r=!0}catch{}var i=HH.call(e);return r&&(t?e[md]=n:delete e[md]),i}var WH=Object.prototype,KH=WH.toString;function YH(e){return KH.call(e)}var XH="[object Null]",QH="[object Undefined]",nE=mi?mi.toStringTag:void 0;function Ta(e){return e==null?e===void 0?QH:XH:nE&&nE in Object(e)?qH(e):YH(e)}function zi(e){return e!=null&&typeof e=="object"}var ZH="[object Symbol]";function uv(e){return typeof e=="symbol"||zi(e)&&Ta(e)==ZH}function UC(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=Oq)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Nq(e){return function(){return e}}var Dq=function(){try{var e=Al(Object,"defineProperty");return e({},"",{}),e}catch{}}();const ly=Dq;var Lq=ly?function(e,t){return ly(e,"toString",{configurable:!0,enumerable:!1,value:Nq(t),writable:!0})}:cv;const $q=Lq;var Fq=Mq($q);const _I=Fq;function wI(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Gq=9007199254740991,Hq=/^(?:0|[1-9]\d*)$/;function dv(e,t){var n=typeof e;return t=t??Gq,!!t&&(n=="number"||n!="symbol"&&Hq.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Kq}function Uc(e){return e!=null&&WC(e.length)&&!GC(e)}function TI(e,t,n){if(!Jn(n))return!1;var r=typeof t;return(r=="number"?Uc(n)&&dv(t,n.length):r=="string"&&t in n)?Xh(n[t],e):!1}function EI(e){return CI(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&TI(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function uK(e,t){var n=this.__data__,r=fv(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function gs(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?MI(a,t-1,n,r,i):JC(i,a):r||(i[i.length]=a)}return i}function kK(e){var t=e==null?0:e.length;return t?MI(e,1):[]}function AK(e){return _I(xI(e,void 0,kK),e+"")}var OK=RI(Object.getPrototypeOf,Object);const e5=OK;var RK="[object Object]",IK=Function.prototype,MK=Object.prototype,NI=IK.toString,NK=MK.hasOwnProperty,DK=NI.call(Object);function DI(e){if(!zi(e)||Ta(e)!=RK)return!1;var t=e5(e);if(t===null)return!0;var n=NK.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&NI.call(n)==DK}function LK(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=t?e:t)),e}function Xo(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=xS(n),n=n===n?n:0),t!==void 0&&(t=xS(t),t=t===t?t:0),WK(xS(e),t,n)}function KK(){this.__data__=new gs,this.size=0}function YK(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function XK(e){return this.__data__.get(e)}function QK(e){return this.__data__.has(e)}var ZK=200;function JK(e,t){var n=this.__data__;if(n instanceof gs){var r=n.__data__;if(!qf||r.lengtha))return!1;var u=o.get(e),c=o.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=n&MX?new Wf:void 0;for(o.set(e,t),o.set(t,e);++d1),o}),zc(e,n5(e),n),r&&(n=af(n,$Q|FQ|BQ,LQ));for(var i=t.length;i--;)r7(n,t[i]);return n});const o5=jQ;function VQ(e,t,n,r){if(!Jn(e))return e;t=Gc(t,e);for(var i=-1,o=t.length,s=o-1,a=e;a!=null&&++i=fZ){var u=t?null:dZ(e);if(u)return i5(u);s=!1,i=KI,l=new Wf}else l=t?[]:a;e:for(;++r{DQ(e,t.payload)}}}),{configChanged:vZ}=p7.actions,bZ=p7.reducer,qc=()=>xR(),cy=gR;function SZ(e){if(e.sheet)return e.sheet;for(var t=0;t0?Ln(Wc,--Mr):0,Sc--,nn===10&&(Sc=1,Sv--),nn}function zr(){return nn=Mr2||Yf(nn)>3?"":" "}function MZ(e,t){for(;--t&&zr()&&!(nn<48||nn>102||nn>57&&nn<65||nn>70&&nn<97););return ep(e,Jg()+(t<6&&yo()==32&&zr()==32))}function Y2(e){for(;zr();)switch(nn){case e:return Mr;case 34:case 39:e!==34&&e!==39&&Y2(nn);break;case 40:e===41&&Y2(e);break;case 92:zr();break}return Mr}function NZ(e,t){for(;zr()&&e+nn!==47+10;)if(e+nn===42+42&&yo()===47)break;return"/*"+ep(t,Mr-1)+"*"+bv(e===47?e:zr())}function DZ(e){for(;!Yf(yo());)zr();return ep(e,Mr)}function LZ(e){return S7(tm("",null,null,null,[""],e=b7(e),0,[0],e))}function tm(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=zr()){case 40:if(p!=108&&Ln(x,d-1)==58){K2(x+=nt(em(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=em(y);break;case 9:case 10:case 13:case 32:x+=IZ(p);break;case 92:x+=MZ(Jg()-1,7);continue;case 47:switch(yo()){case 42:case 47:ng($Z(NZ(zr(),Jg()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=to(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=nt(x,/\f/g,"")),h>0&&to(x)-d&&ng(h>32?ME(x+";",r,n,d-1):ME(nt(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(ng(w=IE(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)tm(x,t,w,w,b,o,d,a,_);else switch(f===99&&Ln(x,3)===110?100:f){case 100:case 108:case 109:case 115:tm(e,w,w,r&&ng(IE(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:tm(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+to(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&RZ()==125)continue}switch(x+=bv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(to(x)-1)*v,v=1;break;case 64:yo()===45&&(x+=em(zr())),f=yo(),c=d=to(g=x+=DZ(Jg())),y++;break;case 45:p===45&&to(x)==2&&(m=0)}}return o}function IE(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=l5(f),p=0,m=0,S=0;p0?f[v]+" "+y:nt(y,/&\f/g,f[v])))&&(l[S++]=g);return _v(e,t,n,i===0?s5:a,l,u,c)}function $Z(e,t,n){return _v(e,t,n,g7,bv(OZ()),Kf(e,2,-2),0)}function ME(e,t,n,r){return _v(e,t,n,a5,Kf(e,0,r),Kf(e,r+1,-1),r)}function Ku(e,t){for(var n="",r=l5(e),i=0;i6)switch(Ln(e,t+1)){case 109:if(Ln(e,t+4)!==45)break;case 102:return nt(e,/(.+:)(.+)-([^]+)/,"$1"+tt+"$2-$3$1"+dy+(Ln(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~K2(e,"stretch")?w7(nt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Ln(e,t+1)!==115)break;case 6444:switch(Ln(e,to(e)-3-(~K2(e,"!important")&&10))){case 107:return nt(e,":",":"+tt)+e;case 101:return nt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+tt+(Ln(e,14)===45?"inline-":"")+"box$3$1"+tt+"$2$3$1"+Kn+"$2box$3")+e}break;case 5936:switch(Ln(e,t+11)){case 114:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return tt+e+Kn+nt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return tt+e+Kn+e+e}return e}var qZ=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case a5:t.return=w7(t.value,t.length);break;case m7:return Ku([yd(t,{value:nt(t.value,"@","@"+tt)})],i);case s5:if(t.length)return AZ(t.props,function(o){switch(kZ(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Ku([yd(t,{props:[nt(o,/:(read-\w+)/,":"+dy+"$1")]})],i);case"::placeholder":return Ku([yd(t,{props:[nt(o,/:(plac\w+)/,":"+tt+"input-$1")]}),yd(t,{props:[nt(o,/:(plac\w+)/,":"+dy+"$1")]}),yd(t,{props:[nt(o,/:(plac\w+)/,Kn+"input-$1")]})],i)}return""})}},WZ=[qZ],KZ=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||WZ,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var ZZ={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},JZ=/[A-Z]|^ms/g,eJ=/_EMO_([^_]+?)_([^]*?)_EMO_/g,T7=function(t){return t.charCodeAt(1)===45},LE=function(t){return t!=null&&typeof t!="boolean"},PS=_7(function(e){return T7(e)?e:e.replace(JZ,"-$&").toLowerCase()}),$E=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(eJ,function(r,i,o){return no={name:i,styles:o,next:no},i})}return ZZ[t]!==1&&!T7(t)&&typeof n=="number"&&n!==0?n+"px":n};function Xf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return no={name:n.name,styles:n.styles,next:no},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)no={name:r.name,styles:r.styles,next:no},r=r.next;var i=n.styles+";";return i}return tJ(e,t,n)}case"function":{if(e!==void 0){var o=no,s=n(e);return no=o,Xf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function tJ(e,t,n){var r="";if(Array.isArray(n))for(var i=0;ij.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),gJ=e=>{const{appendToParentPortal:t,children:n}=e,[r,i]=E.useState(null),o=E.useRef(null),[,s]=E.useState({});E.useEffect(()=>s({}),[]);const a=fJ(),l=cJ();Zf(()=>{if(!r)return;const c=r.ownerDocument,d=t?a??c.body:c.body;if(!d)return;o.current=c.createElement("div"),o.current.className=c5,d.appendChild(o.current),s({});const f=o.current;return()=>{d.contains(f)&&d.removeChild(f)}},[r]);const u=l!=null&&l.zIndex?j.jsx(pJ,{zIndex:l==null?void 0:l.zIndex,children:n}):n;return o.current?li.createPortal(j.jsx(A7,{value:o.current,children:u}),o.current):j.jsx("span",{ref:c=>{c&&i(c)}})},mJ=e=>{const{children:t,containerRef:n,appendToParentPortal:r}=e,i=n.current,o=i??(typeof window<"u"?document.body:void 0),s=E.useMemo(()=>{const l=i==null?void 0:i.ownerDocument.createElement("div");return l&&(l.className=c5),l},[i]),[,a]=E.useState({});return Zf(()=>a({}),[]),Zf(()=>{if(!(!s||!o))return o.appendChild(s),()=>{o.removeChild(s)}},[s,o]),o&&s?li.createPortal(j.jsx(A7,{value:r?s:null,children:t}),s):null};function tp(e){const t={appendToParentPortal:!0,...e},{containerRef:n,...r}=t;return n?j.jsx(mJ,{containerRef:n,...r}):j.jsx(gJ,{...r})}tp.className=c5;tp.selector=hJ;tp.displayName="Portal";function wv(){const e=E.useContext(Qf);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}var O7=E.createContext({});O7.displayName="ColorModeContext";function d5(){const e=E.useContext(O7);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function rTe(e,t){const{colorMode:n}=d5();return n==="dark"?t:e}function R7(){const e=d5(),t=wv();return{...e,theme:t}}function yJ(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function vJ(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function iTe(e,t,n){const r=wv();return bJ(e,t,n)(r)}function bJ(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return yJ(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return vJ(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var Gn=(...e)=>e.filter(Boolean).join(" ");function SJ(){return!1}function vo(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var oTe=e=>{const{condition:t,message:n}=e;t&&SJ()&&console.warn(n)};function uo(e,...t){return _J(e)?e(...t):e}var _J=e=>typeof e=="function",Ou=e=>e?"":void 0,Yu=e=>e?!0:void 0;function Dn(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function sTe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var fy={exports:{}};fy.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",C="[object WeakMap]",k="[object ArrayBuffer]",P="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",N="[object Int8Array]",T="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",M="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,V=/^\[object .+?Constructor\]$/,z=/^(?:0|[1-9]\d*)$/,U={};U[A]=U[$]=U[N]=U[T]=U[O]=U[I]=U[M]=U[R]=U[D]=!0,U[a]=U[l]=U[k]=U[c]=U[P]=U[d]=U[f]=U[h]=U[m]=U[S]=U[y]=U[b]=U[_]=U[w]=U[C]=!1;var K=typeof De=="object"&&De&&De.Object===Object&&De,W=typeof self=="object"&&self&&self.Object===Object&&self,X=K||W||Function("return this")(),F=t&&!t.nodeType&&t,q=F&&!0&&e&&!e.nodeType&&e,Q=q&&q.exports===F,J=Q&&K.process,ne=function(){try{var B=q&&q.require&&q.require("util").types;return B||J&&J.binding&&J.binding("util")}catch{}}(),Z=ne&&ne.isTypedArray;function ge(B,G,Y){switch(Y.length){case 0:return B.call(G);case 1:return B.call(G,Y[0]);case 2:return B.call(G,Y[0],Y[1]);case 3:return B.call(G,Y[0],Y[1],Y[2])}return B.apply(G,Y)}function ae(B,G){for(var Y=-1,ue=Array(B);++Y-1}function Lo(B,G){var Y=this.__data__,ue=ql(Y,B);return ue<0?(++this.size,Y.push([B,G])):Y[ue][1]=G,this}On.prototype.clear=Do,On.prototype.delete=_s,On.prototype.get=ws,On.prototype.has=Hl,On.prototype.set=Lo;function sr(B){var G=-1,Y=B==null?0:B.length;for(this.clear();++G1?Y[qe-1]:void 0,Ct=qe>2?Y[2]:void 0;for(dt=B.length>3&&typeof dt=="function"?(qe--,dt):void 0,Ct&&Oj(Y[0],Y[1],Ct)&&(dt=qe<3?void 0:dt,qe=1),G=Object(G);++ue-1&&B%1==0&&B0){if(++G>=i)return arguments[0]}else G=0;return B.apply(void 0,arguments)}}function Fj(B){if(B!=null){try{return Me.call(B)}catch{}try{return B+""}catch{}}return""}function Lp(B,G){return B===G||B!==B&&G!==G}var Nb=Np(function(){return arguments}())?Np:function(B){return sd(B)&&rt.call(B,"callee")&&!Qt.call(B,"callee")},Db=Array.isArray;function Lb(B){return B!=null&&d4(B.length)&&!$b(B)}function Bj(B){return sd(B)&&Lb(B)}var c4=Mo||Gj;function $b(B){if(!Da(B))return!1;var G=Kl(B);return G==h||G==p||G==u||G==g}function d4(B){return typeof B=="number"&&B>-1&&B%1==0&&B<=s}function Da(B){var G=typeof B;return B!=null&&(G=="object"||G=="function")}function sd(B){return B!=null&&typeof B=="object"}function jj(B){if(!sd(B)||Kl(B)!=y)return!1;var G=ie(B);if(G===null)return!0;var Y=rt.call(G,"constructor")&&G.constructor;return typeof Y=="function"&&Y instanceof Y&&Me.call(Y)==an}var f4=Z?oe(Z):od;function Vj(B){return Tj(B,h4(B))}function h4(B){return Lb(B)?kb(B,!0):yj(B)}var zj=Ej(function(B,G,Y,ue){a4(B,G,Y,ue)});function Uj(B){return function(){return B}}function p4(B){return B}function Gj(){return!1}e.exports=zj})(fy,fy.exports);var wJ=fy.exports;const co=Cl(wJ);var xJ=e=>/!(important)?$/.test(e),jE=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,CJ=(e,t)=>n=>{const r=String(t),i=xJ(r),o=jE(r),s=e?`${e}.${o}`:o;let a=vo(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=jE(a),i?`${a} !important`:a};function f5(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=CJ(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var rg=(...e)=>t=>e.reduce((n,r)=>r(n),t);function Jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=f5({scale:e,transform:t}),r}}var TJ=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function EJ(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:TJ(t),transform:n?f5({scale:n,compose:r}):r}}var I7=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function PJ(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...I7].join(" ")}function kJ(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...I7].join(" ")}var AJ={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},OJ={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function RJ(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var IJ={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},X2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},MJ=new Set(Object.values(X2)),Q2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),NJ=e=>e.trim();function DJ(e,t){if(e==null||Q2.has(e))return e;if(!(Z2(e)||Q2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(NJ).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in X2?X2[l]:l;u.unshift(c);const d=u.map(f=>{if(MJ.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=Z2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var Z2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),LJ=(e,t)=>DJ(e,t??{});function $J(e){return/^var\(--.+\)$/.test(e)}var FJ=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Xi=e=>t=>`${e}(${t})`,Xe={filter(e){return e!=="auto"?e:AJ},backdropFilter(e){return e!=="auto"?e:OJ},ring(e){return RJ(Xe.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?PJ():e==="auto-gpu"?kJ():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=FJ(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if($J(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:LJ,blur:Xi("blur"),opacity:Xi("opacity"),brightness:Xi("brightness"),contrast:Xi("contrast"),dropShadow:Xi("drop-shadow"),grayscale:Xi("grayscale"),hueRotate:Xi("hue-rotate"),invert:Xi("invert"),saturate:Xi("saturate"),sepia:Xi("sepia"),bgImage(e){return e==null||Z2(e)||Q2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=IJ[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},H={borderWidths:Jr("borderWidths"),borderStyles:Jr("borderStyles"),colors:Jr("colors"),borders:Jr("borders"),gradients:Jr("gradients",Xe.gradient),radii:Jr("radii",Xe.px),space:Jr("space",rg(Xe.vh,Xe.px)),spaceT:Jr("space",rg(Xe.vh,Xe.px)),degreeT(e){return{property:e,transform:Xe.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:f5({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:Jr("sizes",rg(Xe.vh,Xe.px)),sizesT:Jr("sizes",rg(Xe.vh,Xe.fraction)),shadows:Jr("shadows"),logical:EJ,blur:Jr("blur",Xe.blur)},nm={background:H.colors("background"),backgroundColor:H.colors("backgroundColor"),backgroundImage:H.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:Xe.bgClip},bgSize:H.prop("backgroundSize"),bgPosition:H.prop("backgroundPosition"),bg:H.colors("background"),bgColor:H.colors("backgroundColor"),bgPos:H.prop("backgroundPosition"),bgRepeat:H.prop("backgroundRepeat"),bgAttachment:H.prop("backgroundAttachment"),bgGradient:H.gradients("backgroundImage"),bgClip:{transform:Xe.bgClip}};Object.assign(nm,{bgImage:nm.backgroundImage,bgImg:nm.backgroundImage});var et={border:H.borders("border"),borderWidth:H.borderWidths("borderWidth"),borderStyle:H.borderStyles("borderStyle"),borderColor:H.colors("borderColor"),borderRadius:H.radii("borderRadius"),borderTop:H.borders("borderTop"),borderBlockStart:H.borders("borderBlockStart"),borderTopLeftRadius:H.radii("borderTopLeftRadius"),borderStartStartRadius:H.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:H.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:H.radii("borderTopRightRadius"),borderStartEndRadius:H.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:H.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:H.borders("borderRight"),borderInlineEnd:H.borders("borderInlineEnd"),borderBottom:H.borders("borderBottom"),borderBlockEnd:H.borders("borderBlockEnd"),borderBottomLeftRadius:H.radii("borderBottomLeftRadius"),borderBottomRightRadius:H.radii("borderBottomRightRadius"),borderLeft:H.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:H.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:H.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:H.borders(["borderLeft","borderRight"]),borderInline:H.borders("borderInline"),borderY:H.borders(["borderTop","borderBottom"]),borderBlock:H.borders("borderBlock"),borderTopWidth:H.borderWidths("borderTopWidth"),borderBlockStartWidth:H.borderWidths("borderBlockStartWidth"),borderTopColor:H.colors("borderTopColor"),borderBlockStartColor:H.colors("borderBlockStartColor"),borderTopStyle:H.borderStyles("borderTopStyle"),borderBlockStartStyle:H.borderStyles("borderBlockStartStyle"),borderBottomWidth:H.borderWidths("borderBottomWidth"),borderBlockEndWidth:H.borderWidths("borderBlockEndWidth"),borderBottomColor:H.colors("borderBottomColor"),borderBlockEndColor:H.colors("borderBlockEndColor"),borderBottomStyle:H.borderStyles("borderBottomStyle"),borderBlockEndStyle:H.borderStyles("borderBlockEndStyle"),borderLeftWidth:H.borderWidths("borderLeftWidth"),borderInlineStartWidth:H.borderWidths("borderInlineStartWidth"),borderLeftColor:H.colors("borderLeftColor"),borderInlineStartColor:H.colors("borderInlineStartColor"),borderLeftStyle:H.borderStyles("borderLeftStyle"),borderInlineStartStyle:H.borderStyles("borderInlineStartStyle"),borderRightWidth:H.borderWidths("borderRightWidth"),borderInlineEndWidth:H.borderWidths("borderInlineEndWidth"),borderRightColor:H.colors("borderRightColor"),borderInlineEndColor:H.colors("borderInlineEndColor"),borderRightStyle:H.borderStyles("borderRightStyle"),borderInlineEndStyle:H.borderStyles("borderInlineEndStyle"),borderTopRadius:H.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:H.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:H.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:H.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(et,{rounded:et.borderRadius,roundedTop:et.borderTopRadius,roundedTopLeft:et.borderTopLeftRadius,roundedTopRight:et.borderTopRightRadius,roundedTopStart:et.borderStartStartRadius,roundedTopEnd:et.borderStartEndRadius,roundedBottom:et.borderBottomRadius,roundedBottomLeft:et.borderBottomLeftRadius,roundedBottomRight:et.borderBottomRightRadius,roundedBottomStart:et.borderEndStartRadius,roundedBottomEnd:et.borderEndEndRadius,roundedLeft:et.borderLeftRadius,roundedRight:et.borderRightRadius,roundedStart:et.borderInlineStartRadius,roundedEnd:et.borderInlineEndRadius,borderStart:et.borderInlineStart,borderEnd:et.borderInlineEnd,borderTopStartRadius:et.borderStartStartRadius,borderTopEndRadius:et.borderStartEndRadius,borderBottomStartRadius:et.borderEndStartRadius,borderBottomEndRadius:et.borderEndEndRadius,borderStartRadius:et.borderInlineStartRadius,borderEndRadius:et.borderInlineEndRadius,borderStartWidth:et.borderInlineStartWidth,borderEndWidth:et.borderInlineEndWidth,borderStartColor:et.borderInlineStartColor,borderEndColor:et.borderInlineEndColor,borderStartStyle:et.borderInlineStartStyle,borderEndStyle:et.borderInlineEndStyle});var BJ={color:H.colors("color"),textColor:H.colors("color"),fill:H.colors("fill"),stroke:H.colors("stroke")},J2={boxShadow:H.shadows("boxShadow"),mixBlendMode:!0,blendMode:H.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:H.prop("backgroundBlendMode"),opacity:!0};Object.assign(J2,{shadow:J2.boxShadow});var jJ={filter:{transform:Xe.filter},blur:H.blur("--chakra-blur"),brightness:H.propT("--chakra-brightness",Xe.brightness),contrast:H.propT("--chakra-contrast",Xe.contrast),hueRotate:H.degreeT("--chakra-hue-rotate"),invert:H.propT("--chakra-invert",Xe.invert),saturate:H.propT("--chakra-saturate",Xe.saturate),dropShadow:H.propT("--chakra-drop-shadow",Xe.dropShadow),backdropFilter:{transform:Xe.backdropFilter},backdropBlur:H.blur("--chakra-backdrop-blur"),backdropBrightness:H.propT("--chakra-backdrop-brightness",Xe.brightness),backdropContrast:H.propT("--chakra-backdrop-contrast",Xe.contrast),backdropHueRotate:H.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:H.propT("--chakra-backdrop-invert",Xe.invert),backdropSaturate:H.propT("--chakra-backdrop-saturate",Xe.saturate)},hy={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:Xe.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:H.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:H.space("gap"),rowGap:H.space("rowGap"),columnGap:H.space("columnGap")};Object.assign(hy,{flexDir:hy.flexDirection});var M7={gridGap:H.space("gridGap"),gridColumnGap:H.space("gridColumnGap"),gridRowGap:H.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},VJ={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:Xe.outline},outlineOffset:!0,outlineColor:H.colors("outlineColor")},ni={width:H.sizesT("width"),inlineSize:H.sizesT("inlineSize"),height:H.sizes("height"),blockSize:H.sizes("blockSize"),boxSize:H.sizes(["width","height"]),minWidth:H.sizes("minWidth"),minInlineSize:H.sizes("minInlineSize"),minHeight:H.sizes("minHeight"),minBlockSize:H.sizes("minBlockSize"),maxWidth:H.sizes("maxWidth"),maxInlineSize:H.sizes("maxInlineSize"),maxHeight:H.sizes("maxHeight"),maxBlockSize:H.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:H.propT("float",Xe.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ni,{w:ni.width,h:ni.height,minW:ni.minWidth,maxW:ni.maxWidth,minH:ni.minHeight,maxH:ni.maxHeight,overscroll:ni.overscrollBehavior,overscrollX:ni.overscrollBehaviorX,overscrollY:ni.overscrollBehaviorY});var zJ={listStyleType:!0,listStylePosition:!0,listStylePos:H.prop("listStylePosition"),listStyleImage:!0,listStyleImg:H.prop("listStyleImage")};function UJ(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},HJ=GJ(UJ),qJ={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},WJ={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},kS=(e,t,n)=>{const r={},i=HJ(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},KJ={srOnly:{transform(e){return e===!0?qJ:e==="focusable"?WJ:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>kS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>kS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>kS(t,e,n)}},lf={position:!0,pos:H.prop("position"),zIndex:H.prop("zIndex","zIndices"),inset:H.spaceT("inset"),insetX:H.spaceT(["left","right"]),insetInline:H.spaceT("insetInline"),insetY:H.spaceT(["top","bottom"]),insetBlock:H.spaceT("insetBlock"),top:H.spaceT("top"),insetBlockStart:H.spaceT("insetBlockStart"),bottom:H.spaceT("bottom"),insetBlockEnd:H.spaceT("insetBlockEnd"),left:H.spaceT("left"),insetInlineStart:H.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:H.spaceT("right"),insetInlineEnd:H.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(lf,{insetStart:lf.insetInlineStart,insetEnd:lf.insetInlineEnd});var YJ={ring:{transform:Xe.ring},ringColor:H.colors("--chakra-ring-color"),ringOffset:H.prop("--chakra-ring-offset-width"),ringOffsetColor:H.colors("--chakra-ring-offset-color"),ringInset:H.prop("--chakra-ring-inset")},bt={margin:H.spaceT("margin"),marginTop:H.spaceT("marginTop"),marginBlockStart:H.spaceT("marginBlockStart"),marginRight:H.spaceT("marginRight"),marginInlineEnd:H.spaceT("marginInlineEnd"),marginBottom:H.spaceT("marginBottom"),marginBlockEnd:H.spaceT("marginBlockEnd"),marginLeft:H.spaceT("marginLeft"),marginInlineStart:H.spaceT("marginInlineStart"),marginX:H.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:H.spaceT("marginInline"),marginY:H.spaceT(["marginTop","marginBottom"]),marginBlock:H.spaceT("marginBlock"),padding:H.space("padding"),paddingTop:H.space("paddingTop"),paddingBlockStart:H.space("paddingBlockStart"),paddingRight:H.space("paddingRight"),paddingBottom:H.space("paddingBottom"),paddingBlockEnd:H.space("paddingBlockEnd"),paddingLeft:H.space("paddingLeft"),paddingInlineStart:H.space("paddingInlineStart"),paddingInlineEnd:H.space("paddingInlineEnd"),paddingX:H.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:H.space("paddingInline"),paddingY:H.space(["paddingTop","paddingBottom"]),paddingBlock:H.space("paddingBlock")};Object.assign(bt,{m:bt.margin,mt:bt.marginTop,mr:bt.marginRight,me:bt.marginInlineEnd,marginEnd:bt.marginInlineEnd,mb:bt.marginBottom,ml:bt.marginLeft,ms:bt.marginInlineStart,marginStart:bt.marginInlineStart,mx:bt.marginX,my:bt.marginY,p:bt.padding,pt:bt.paddingTop,py:bt.paddingY,px:bt.paddingX,pb:bt.paddingBottom,pl:bt.paddingLeft,ps:bt.paddingInlineStart,paddingStart:bt.paddingInlineStart,pr:bt.paddingRight,pe:bt.paddingInlineEnd,paddingEnd:bt.paddingInlineEnd});var XJ={textDecorationColor:H.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:H.shadows("textShadow")},QJ={clipPath:!0,transform:H.propT("transform",Xe.transform),transformOrigin:!0,translateX:H.spaceT("--chakra-translate-x"),translateY:H.spaceT("--chakra-translate-y"),skewX:H.degreeT("--chakra-skew-x"),skewY:H.degreeT("--chakra-skew-y"),scaleX:H.prop("--chakra-scale-x"),scaleY:H.prop("--chakra-scale-y"),scale:H.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:H.degreeT("--chakra-rotate")},ZJ={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:H.prop("transitionDuration","transition.duration"),transitionProperty:H.prop("transitionProperty","transition.property"),transitionTimingFunction:H.prop("transitionTimingFunction","transition.easing")},JJ={fontFamily:H.prop("fontFamily","fonts"),fontSize:H.prop("fontSize","fontSizes",Xe.px),fontWeight:H.prop("fontWeight","fontWeights"),lineHeight:H.prop("lineHeight","lineHeights"),letterSpacing:H.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},eee={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:H.spaceT("scrollMargin"),scrollMarginTop:H.spaceT("scrollMarginTop"),scrollMarginBottom:H.spaceT("scrollMarginBottom"),scrollMarginLeft:H.spaceT("scrollMarginLeft"),scrollMarginRight:H.spaceT("scrollMarginRight"),scrollMarginX:H.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:H.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:H.spaceT("scrollPadding"),scrollPaddingTop:H.spaceT("scrollPaddingTop"),scrollPaddingBottom:H.spaceT("scrollPaddingBottom"),scrollPaddingLeft:H.spaceT("scrollPaddingLeft"),scrollPaddingRight:H.spaceT("scrollPaddingRight"),scrollPaddingX:H.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:H.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function N7(e){return vo(e)&&e.reference?e.reference:String(e)}var xv=(e,...t)=>t.map(N7).join(` ${e} `).replace(/calc/g,""),VE=(...e)=>`calc(${xv("+",...e)})`,zE=(...e)=>`calc(${xv("-",...e)})`,ew=(...e)=>`calc(${xv("*",...e)})`,UE=(...e)=>`calc(${xv("/",...e)})`,GE=e=>{const t=N7(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:ew(t,-1)},Wa=Object.assign(e=>({add:(...t)=>Wa(VE(e,...t)),subtract:(...t)=>Wa(zE(e,...t)),multiply:(...t)=>Wa(ew(e,...t)),divide:(...t)=>Wa(UE(e,...t)),negate:()=>Wa(GE(e)),toString:()=>e.toString()}),{add:VE,subtract:zE,multiply:ew,divide:UE,negate:GE});function tee(e,t="-"){return e.replace(/\s+/g,t)}function nee(e){const t=tee(e.toString());return iee(ree(t))}function ree(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function iee(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function oee(e,t=""){return[t,e].filter(Boolean).join("-")}function see(e,t){return`var(${e}${t?`, ${t}`:""})`}function aee(e,t=""){return nee(`--${oee(e,t)}`)}function tw(e,t,n){const r=aee(e,n);return{variable:r,reference:see(r,t)}}function aTe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=tw(`${e}-${i}`,o);continue}n[r]=tw(`${e}-${r}`)}return n}function lee(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function uee(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function nw(e){if(e==null)return e;const{unitless:t}=uee(e);return t||typeof e=="number"?`${e}px`:e}var D7=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,h5=e=>Object.fromEntries(Object.entries(e).sort(D7));function HE(e){const t=h5(e);return Object.assign(Object.values(t),t)}function cee(e){const t=Object.keys(h5(e));return new Set(t)}function qE(e){var t;if(!e)return e;e=(t=nw(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function Ud(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${nw(e)})`),t&&n.push("and",`(max-width: ${nw(t)})`),n.join(" ")}function dee(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=HE(e),r=Object.entries(e).sort(D7).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?qE(d):void 0,{_minW:qE(a),breakpoint:s,minW:a,maxW:d,maxWQuery:Ud(null,d),minWQuery:Ud(a),minMaxQuery:Ud(a,d)}}),i=cee(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:h5(e),asArray:HE(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>Ud(s)).slice(1)],toArrayValue(s){if(!vo(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;lee(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var Rn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},Ts=e=>L7(t=>e(t,"&"),"[role=group]","[data-group]",".group"),$o=e=>L7(t=>e(t,"~ &"),"[data-peer]",".peer"),L7=(e,...t)=>t.map(e).join(", "),Cv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:Ts(Rn.hover),_peerHover:$o(Rn.hover),_groupFocus:Ts(Rn.focus),_peerFocus:$o(Rn.focus),_groupFocusVisible:Ts(Rn.focusVisible),_peerFocusVisible:$o(Rn.focusVisible),_groupActive:Ts(Rn.active),_peerActive:$o(Rn.active),_groupDisabled:Ts(Rn.disabled),_peerDisabled:$o(Rn.disabled),_groupInvalid:Ts(Rn.invalid),_peerInvalid:$o(Rn.invalid),_groupChecked:Ts(Rn.checked),_peerChecked:$o(Rn.checked),_groupFocusWithin:Ts(Rn.focusWithin),_peerFocusWithin:$o(Rn.focusWithin),_peerPlaceholderShown:$o(Rn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},$7=Object.keys(Cv);function WE(e,t){return tw(String(e).replace(/\./g,"-"),void 0,t)}function fee(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=WE(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Wa.negate(a),v=Wa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=WE(p,t==null?void 0:t.cssVarPrefix);return S},d=vo(a)?a:{default:a};n=co(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Cv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function hee(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function pee(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function gee(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function KE(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(gee(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var mee=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function yee(e){return pee(e,mee)}function vee(e){return e.semanticTokens}function bee(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var See=e=>$7.includes(e)||e==="default";function _ee({tokens:e,semanticTokens:t}){const n={};return KE(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),KE(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(See)}),n}function lTe(e){var t;const n=bee(e),r=yee(n),i=vee(n),o=_ee({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=fee(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:dee(n.breakpoints)}),n}var p5=co({},nm,et,BJ,hy,ni,jJ,YJ,VJ,M7,KJ,lf,J2,bt,eee,JJ,XJ,QJ,zJ,ZJ),wee=Object.assign({},bt,ni,hy,M7,lf),uTe=Object.keys(wee),xee=[...Object.keys(p5),...$7],Cee={...p5,...Cv},Tee=e=>e in Cee,Eee=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=uo(e[s],t);if(a==null)continue;if(a=vo(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!kee(t),Oee=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Pee(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Ree(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=uo(o,r),d=Eee(c)(r);let f={};for(let h in d){const p=d[h];let m=uo(p,r);h in n&&(h=n[h]),Aee(h,m)&&(m=Oee(r,m));let S=t[h];if(S===!0&&(S={property:h}),vo(m)){f[h]=(a=f[h])!=null?a:{},f[h]=co({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=uo(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=uo(S.static,r);f=co({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&vo(v)?f=co({},f,v):f[y]=v;continue}if(vo(v)){f=co({},f,v);continue}f[h]=v}return f};return i}var Iee=e=>t=>Ree({theme:t,pseudos:Cv,configs:p5})(e);function cTe(e){return e}function dTe(e){return e}function fTe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Mee(e,t){if(Array.isArray(e))return e;if(vo(e))return t(e);if(e!=null)return[e]}function Nee(e,t){for(let n=t+1;n{co(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?co(u,y):u[v]=y;continue}u[v]=y}}return u}}function Lee(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Dee(o);return co({},uo((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function $ee(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function Ao(e){return hee(e,["styleConfig","size","variant","colorScheme"])}function Fee(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function hTe(e){var t;return Fee(e)&&(t=e.ownerDocument)!=null?t:document}function Bee(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var jee=Bee();function Vee(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function zee(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},Gee=Uee(zee);function F7(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var B7=e=>F7(e,t=>t!=null);function Hee(e){return typeof e=="function"}function qee(e,...t){return Hee(e)?e(...t):e}function Wee(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}const j7=1/60*1e3,Kee=typeof performance<"u"?()=>performance.now():()=>Date.now(),V7=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(Kee()),j7);function Yee(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(e[t]=Yee(()=>Jf=!0),e),{}),Qee=np.reduce((e,t)=>{const n=Tv[t];return e[t]=(r,i=!1,o=!1)=>(Jf||ete(),n.schedule(r,i,o)),e},{}),Zee=np.reduce((e,t)=>(e[t]=Tv[t].cancel,e),{});np.reduce((e,t)=>(e[t]=()=>Tv[t].process(Xu),e),{});const Jee=e=>Tv[e].process(Xu),z7=e=>{Jf=!1,Xu.delta=rw?j7:Math.max(Math.min(e-Xu.timestamp,Xee),1),Xu.timestamp=e,iw=!0,np.forEach(Jee),iw=!1,Jf&&(rw=!1,V7(z7))},ete=()=>{Jf=!0,rw=!0,iw||V7(z7)},YE=()=>Xu;var tte=typeof Element<"u",nte=typeof Map=="function",rte=typeof Set=="function",ite=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function rm(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!rm(e[r],t[r]))return!1;return!0}var o;if(nte&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!rm(r.value[1],t.get(r.value[0])))return!1;return!0}if(rte&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(ite&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(tte&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!rm(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var ote=function(t,n){try{return rm(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const ste=Cl(ote);function U7(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=R7(),a=e?Gee(o,`components.${e}`):void 0,l=r||a,u=co({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},B7(Vee(i,["children"]))),c=E.useRef({});if(l){const f=Lee(l)(u);ste(c.current,f)||(c.current=f)}return c.current}function Ol(e,t={}){return U7(e,t)}function Ev(e,t={}){return U7(e,t)}var ate=new Set([...xee,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),lte=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function ute(e){return lte.has(e)||!ate.has(e)}function cte(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var dte=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,fte=_7(function(e){return dte.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),hte=fte,pte=function(t){return t!=="theme"},XE=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?hte:pte},QE=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},gte=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return x7(n,r,i),rJ(function(){return C7(n,r,i)}),null},mte=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=QE(t,n,r),l=a||XE(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=F7(s,(d,f)=>Tee(f)),l=qee(e,t),u=cte({},i,l,B7(a),o),c=Iee(u)(t.theme);return r?[c,r]:c};function AS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=ute);const i=bte({baseStyle:n}),o=vte(e,r)(i);return ze.forwardRef(function(l,u){const{colorMode:c,forced:d}=d5();return ze.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Ste(){const e=new Map;return new Proxy(AS,{apply(t,n,r){return AS(...r)},get(t,n){return e.has(n)||e.set(n,AS(n)),e.get(n)}})}var Ae=Ste();function Ze(e){return E.forwardRef(e)}var _te=(e,t)=>e.find(n=>n.id===t);function JE(e,t){const n=G7(e,t),r=n?e[n].findIndex(i=>i.id===t):-1;return{position:n,index:r}}function G7(e,t){for(const[n,r]of Object.entries(e))if(_te(r,t))return n}function wte(e){const t=e.includes("right"),n=e.includes("left");let r="center";return t&&(r="flex-end"),n&&(r="flex-start"),{display:"flex",flexDirection:"column",alignItems:r}}function xte(e){const n=e==="top"||e==="bottom"?"0 auto":void 0,r=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,i=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,o=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:n,top:r,bottom:i,right:o,left:s}}function Fn(e,t=[]){const n=E.useRef(e);return E.useEffect(()=>{n.current=e}),E.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Cte(e,t){const n=Fn(e);E.useEffect(()=>{if(t==null)return;let r=null;return r=window.setTimeout(()=>{n()},t),()=>{r&&window.clearTimeout(r)}},[t,n])}function gy(e,t){const n=E.useRef(!1),r=E.useRef(!1);E.useEffect(()=>{if(n.current&&r.current)return e();r.current=!0},t),E.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[])}const H7=E.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),Pv=E.createContext({}),rp=E.createContext(null),kv=typeof document<"u",my=kv?E.useLayoutEffect:E.useEffect,q7=E.createContext({strict:!1});function Tte(e,t,n,r){const{visualElement:i}=E.useContext(Pv),o=E.useContext(q7),s=E.useContext(rp),a=E.useContext(H7).reducedMotion,l=E.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return E.useInsertionEffect(()=>{u&&u.update(n,s)}),my(()=>{u&&u.render()}),E.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?my:E.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function Ru(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Ete(e,t,n){return E.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Ru(n)&&(n.current=r))},[t])}function eh(e){return typeof e=="string"||Array.isArray(e)}function Av(e){return typeof e=="object"&&typeof e.start=="function"}const g5=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],m5=["initial",...g5];function Ov(e){return Av(e.animate)||m5.some(t=>eh(e[t]))}function W7(e){return!!(Ov(e)||e.variants)}function Pte(e,t){if(Ov(e)){const{initial:n,animate:r}=e;return{initial:n===!1||eh(n)?n:void 0,animate:eh(r)?r:void 0}}return e.inherit!==!1?t:{}}function kte(e){const{initial:t,animate:n}=Pte(e,E.useContext(Pv));return E.useMemo(()=>({initial:t,animate:n}),[eP(t),eP(n)])}function eP(e){return Array.isArray(e)?e.join(" "):e}const tP={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},th={};for(const e in tP)th[e]={isEnabled:t=>tP[e].some(n=>!!t[n])};function Ate(e){for(const t in e)th[t]={...th[t],...e[t]}}const y5=E.createContext({}),K7=E.createContext({}),Ote=Symbol.for("motionComponentSymbol");function Rte({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Ate(e);function o(a,l){let u;const c={...E.useContext(H7),...a,layoutId:Ite(a)},{isStatic:d}=c,f=kte(a),h=r(a,d);if(!d&&kv){f.visualElement=Tte(i,h,c,t);const p=E.useContext(K7),m=E.useContext(q7).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return E.createElement(Pv.Provider,{value:f},u&&f.visualElement?E.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Ete(h,f.visualElement,l),h,d,f.visualElement))}const s=E.forwardRef(o);return s[Ote]=i,s}function Ite({layoutId:e}){const t=E.useContext(y5).id;return t&&e!==void 0?t+"-"+e:e}function Mte(e){function t(r,i={}){return Rte(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const Nte=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function v5(e){return typeof e!="string"||e.includes("-")?!1:!!(Nte.indexOf(e)>-1||/[A-Z]/.test(e))}const yy={};function Dte(e){Object.assign(yy,e)}const ip=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rl=new Set(ip);function Y7(e,{layout:t,layoutId:n}){return Rl.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!yy[e]||e==="opacity")}const Nr=e=>!!(e&&e.getVelocity),Lte={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},$te=ip.length;function Fte(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;s<$te;s++){const a=ip[s];if(e[a]!==void 0){const l=Lte[a]||a;o+=`${l}(${e[a]}) `}}return t&&!e.z&&(o+="translateZ(0)"),o=o.trim(),i?o=i(e,r?"":o):n&&r&&(o="none"),o}const X7=e=>t=>typeof t=="string"&&t.startsWith(e),Q7=X7("--"),ow=X7("var(--"),Bte=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,jte=(e,t)=>t&&typeof e=="number"?t.transform(e):e,fa=(e,t,n)=>Math.min(Math.max(n,e),t),Il={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},uf={...Il,transform:e=>fa(0,1,e)},ig={...Il,default:1},cf=e=>Math.round(e*1e5)/1e5,Rv=/(-)?([\d]*\.?[\d])+/g,Z7=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Vte=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function op(e){return typeof e=="string"}const sp=e=>({test:t=>op(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),ks=sp("deg"),bo=sp("%"),we=sp("px"),zte=sp("vh"),Ute=sp("vw"),nP={...bo,parse:e=>bo.parse(e)/100,transform:e=>bo.transform(e*100)},rP={...Il,transform:Math.round},J7={borderWidth:we,borderTopWidth:we,borderRightWidth:we,borderBottomWidth:we,borderLeftWidth:we,borderRadius:we,radius:we,borderTopLeftRadius:we,borderTopRightRadius:we,borderBottomRightRadius:we,borderBottomLeftRadius:we,width:we,maxWidth:we,height:we,maxHeight:we,size:we,top:we,right:we,bottom:we,left:we,padding:we,paddingTop:we,paddingRight:we,paddingBottom:we,paddingLeft:we,margin:we,marginTop:we,marginRight:we,marginBottom:we,marginLeft:we,rotate:ks,rotateX:ks,rotateY:ks,rotateZ:ks,scale:ig,scaleX:ig,scaleY:ig,scaleZ:ig,skew:ks,skewX:ks,skewY:ks,distance:we,translateX:we,translateY:we,translateZ:we,x:we,y:we,z:we,perspective:we,transformPerspective:we,opacity:uf,originX:nP,originY:nP,originZ:we,zIndex:rP,fillOpacity:uf,strokeOpacity:uf,numOctaves:rP};function b5(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(Q7(d)){o[d]=f;continue}const h=J7[d],p=jte(f,h);if(Rl.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Fte(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const S5=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function eM(e,t,n){for(const r in t)!Nr(t[r])&&!Y7(r,n)&&(e[r]=t[r])}function Gte({transformTemplate:e},t,n){return E.useMemo(()=>{const r=S5();return b5(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Hte(e,t,n){const r=e.style||{},i={};return eM(i,r,e),Object.assign(i,Gte(e,t,n)),e.transformValues?e.transformValues(i):i}function qte(e,t,n){const r={},i=Hte(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Wte=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function vy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Wte.has(e)}let tM=e=>!vy(e);function Kte(e){e&&(tM=t=>t.startsWith("on")?!vy(t):e(t))}try{Kte(require("@emotion/is-prop-valid").default)}catch{}function Yte(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(tM(i)||n===!0&&vy(i)||!t&&!vy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iP(e,t,n){return typeof e=="string"?e:we.transform(t+n*e)}function Xte(e,t,n){const r=iP(t,e.x,e.width),i=iP(n,e.y,e.height);return`${r} ${i}`}const Qte={offset:"stroke-dashoffset",array:"stroke-dasharray"},Zte={offset:"strokeDashoffset",array:"strokeDasharray"};function Jte(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?Qte:Zte;e[o.offset]=we.transform(-r);const s=we.transform(t),a=we.transform(n);e[o.array]=`${s} ${a}`}function _5(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(b5(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=Xte(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&Jte(h,s,a,l,!1)}const nM=()=>({...S5(),attrs:{}}),w5=e=>typeof e=="string"&&e.toLowerCase()==="svg";function ene(e,t,n,r){const i=E.useMemo(()=>{const o=nM();return _5(o,t,{enableHardwareAcceleration:!1},w5(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};eM(o,e.style,e),i.style={...o,...i.style}}return i}function tne(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(v5(n)?ene:qte)(r,o,s,n),c={...Yte(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=E.useMemo(()=>Nr(d)?d.get():d,[d]);return E.createElement(n,{...c,children:f})}}const x5=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function rM(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const iM=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function oM(e,t,n,r){rM(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(iM.has(i)?i:x5(i),t.attrs[i])}function C5(e,t){const{style:n}=e,r={};for(const i in n)(Nr(n[i])||t.style&&Nr(t.style[i])||Y7(i,e))&&(r[i]=n[i]);return r}function sM(e,t){const n=C5(e,t);for(const r in e)if(Nr(e[r])||Nr(t[r])){const i=ip.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function T5(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function aM(e){const t=E.useRef(null);return t.current===null&&(t.current=e()),t.current}const by=e=>Array.isArray(e),nne=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),rne=e=>by(e)?e[e.length-1]||0:e;function im(e){const t=Nr(e)?e.get():e;return nne(t)?t.toValue():t}function ine({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:one(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const lM=e=>(t,n)=>{const r=E.useContext(Pv),i=E.useContext(rp),o=()=>ine(e,t,r,i);return n?o():aM(o)};function one(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=im(o[f]);let{initial:s,animate:a}=e;const l=Ov(e),u=W7(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!Av(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=T5(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const sne={useVisualState:lM({scrapeMotionValuesFromProps:sM,createRenderState:nM,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}_5(n,r,{enableHardwareAcceleration:!1},w5(t.tagName),e.transformTemplate),oM(t,n)}})},ane={useVisualState:lM({scrapeMotionValuesFromProps:C5,createRenderState:S5})};function lne(e,{forwardMotionProps:t=!1},n,r){return{...v5(e)?sne:ane,preloadedFeatures:n,useRender:tne(t),createVisualElement:r,Component:e}}function Qo(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const uM=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function Iv(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const une=e=>t=>uM(t)&&e(t,Iv(t));function es(e,t,n,r){return Qo(e,t,une(n),r)}const cne=(e,t)=>n=>t(e(n)),ea=(...e)=>e.reduce(cne);function cM(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oP=cM("dragHorizontal"),sP=cM("dragVertical");function dM(e){let t=!1;if(e==="y")t=sP();else if(e==="x")t=oP();else{const n=oP(),r=sP();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function fM(){const e=dM(!0);return e?(e(),!1):!0}class Ea{constructor(t){this.isMounted=!1,this.node=t}update(){}}const on=e=>e;function dne(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=dne(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,fne),1),i.timestamp=d,i.isProcessing=!0,og.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:og.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>og.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:kt,cancel:cs,state:Xn,steps:OS}=hne(typeof requestAnimationFrame<"u"?requestAnimationFrame:on,!0);function aP(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||fM())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&kt.update(()=>a[r](o,s))};return es(e.current,n,i,{passive:!e.getProps()[r]})}class pne extends Ea{mount(){this.unmount=ea(aP(this.node,!0),aP(this.node,!1))}unmount(){}}class gne extends Ea{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=ea(Qo(this.node.current,"focus",()=>this.onFocus()),Qo(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const hM=(e,t)=>t?e===t?!0:hM(e,t.parentElement):!1;function RS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,Iv(n))}class mne extends Ea{constructor(){super(...arguments),this.removeStartListeners=on,this.removeEndListeners=on,this.removeAccessibleListeners=on,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=es(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();kt.update(()=>{hM(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=es(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=ea(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||RS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&kt.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Qo(this.node.current,"keyup",s),RS("down",(a,l)=>{this.startPress(a,l)})},n=Qo(this.node.current,"keydown",t),r=()=>{this.isPressing&&RS("cancel",(o,s)=>this.cancelPress(o,s))},i=Qo(this.node.current,"blur",r);this.removeAccessibleListeners=ea(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&kt.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!fM()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&kt.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=es(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Qo(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=ea(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const sw=new WeakMap,IS=new WeakMap,yne=e=>{const t=sw.get(e.target);t&&t(e)},vne=e=>{e.forEach(yne)};function bne({root:e,...t}){const n=e||document;IS.has(n)||IS.set(n,{});const r=IS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(vne,{root:e,...t})),r[i]}function Sne(e,t,n){const r=bne(t);return sw.set(e,n),r.observe(e),()=>{sw.delete(e),r.unobserve(e)}}const _ne={some:0,all:1};class wne extends Ea{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:_ne[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return Sne(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(xne(t,n))&&this.startObserver()}unmount(){}}function xne({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Cne={inView:{Feature:wne},tap:{Feature:mne},focus:{Feature:gne},hover:{Feature:pne}};function pM(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function Ene(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function Mv(e,t,n){const r=e.getProps();return T5(r,t,n!==void 0?n:r.custom,Tne(e),Ene(e))}const Pne="framerAppearId",kne="data-"+x5(Pne);let Ane=on,E5=on;const ta=e=>e*1e3,ts=e=>e/1e3,One={current:!1},gM=e=>Array.isArray(e)&&typeof e[0]=="number";function mM(e){return!!(!e||typeof e=="string"&&yM[e]||gM(e)||Array.isArray(e)&&e.every(mM))}const Gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,yM={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Gd([0,.65,.55,1]),circOut:Gd([.55,0,1,.45]),backIn:Gd([.31,.01,.66,-.59]),backOut:Gd([.33,1.53,.69,.99])};function vM(e){if(e)return gM(e)?Gd(e):Array.isArray(e)?e.map(vM):yM[e]}function Rne(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=vM(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lP={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},MS={},bM={};for(const e in lP)bM[e]=()=>(MS[e]===void 0&&(MS[e]=lP[e]()),MS[e]);function Ine(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const SM=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Mne=1e-7,Nne=12;function Dne(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=SM(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>Mne&&++aDne(o,0,1,e,n);return o=>o===0||o===1?o:SM(i(o),t,r)}const Lne=ap(.42,0,1,1),$ne=ap(0,0,.58,1),_M=ap(.42,0,.58,1),Fne=e=>Array.isArray(e)&&typeof e[0]!="number",wM=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,xM=e=>t=>1-e(1-t),CM=e=>1-Math.sin(Math.acos(e)),P5=xM(CM),Bne=wM(P5),TM=ap(.33,1.53,.69,.99),k5=xM(TM),jne=wM(k5),Vne=e=>(e*=2)<1?.5*k5(e):.5*(2-Math.pow(2,-10*(e-1))),zne={linear:on,easeIn:Lne,easeInOut:_M,easeOut:$ne,circIn:CM,circInOut:Bne,circOut:P5,backIn:k5,backInOut:jne,backOut:TM,anticipate:Vne},uP=e=>{if(Array.isArray(e)){E5(e.length===4);const[t,n,r,i]=e;return ap(t,n,r,i)}else if(typeof e=="string")return zne[e];return e},A5=(e,t)=>n=>!!(op(n)&&Vte.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),EM=(e,t,n)=>r=>{if(!op(r))return r;const[i,o,s,a]=r.match(Rv);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},Une=e=>fa(0,255,e),NS={...Il,transform:e=>Math.round(Une(e))},Za={test:A5("rgb","red"),parse:EM("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+NS.transform(e)+", "+NS.transform(t)+", "+NS.transform(n)+", "+cf(uf.transform(r))+")"};function Gne(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const aw={test:A5("#"),parse:Gne,transform:Za.transform},Iu={test:A5("hsl","hue"),parse:EM("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+bo.transform(cf(t))+", "+bo.transform(cf(n))+", "+cf(uf.transform(r))+")"},ur={test:e=>Za.test(e)||aw.test(e)||Iu.test(e),parse:e=>Za.test(e)?Za.parse(e):Iu.test(e)?Iu.parse(e):aw.parse(e),transform:e=>op(e)?e:e.hasOwnProperty("red")?Za.transform(e):Iu.transform(e)},Dt=(e,t,n)=>-n*e+n*t+e;function DS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Hne({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=DS(l,a,e+1/3),o=DS(l,a,e),s=DS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const LS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},qne=[aw,Za,Iu],Wne=e=>qne.find(t=>t.test(e));function cP(e){const t=Wne(e);let n=t.parse(e);return t===Iu&&(n=Hne(n)),n}const PM=(e,t)=>{const n=cP(e),r=cP(t),i={...n};return o=>(i.red=LS(n.red,r.red,o),i.green=LS(n.green,r.green,o),i.blue=LS(n.blue,r.blue,o),i.alpha=Dt(n.alpha,r.alpha,o),Za.transform(i))};function Kne(e){var t,n;return isNaN(e)&&op(e)&&(((t=e.match(Rv))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(Z7))===null||n===void 0?void 0:n.length)||0)>0}const kM={regex:Bte,countKey:"Vars",token:"${v}",parse:on},AM={regex:Z7,countKey:"Colors",token:"${c}",parse:ur.parse},OM={regex:Rv,countKey:"Numbers",token:"${n}",parse:Il.parse};function $S(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function Sy(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&$S(n,kM),$S(n,AM),$S(n,OM),n}function RM(e){return Sy(e).values}function IM(e){const{values:t,numColors:n,numVars:r,tokenised:i}=Sy(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function Xne(e){const t=RM(e);return IM(e)(t.map(Yne))}const ha={test:Kne,parse:RM,createTransformer:IM,getAnimatableNone:Xne},MM=(e,t)=>n=>`${n>0?t:e}`;function NM(e,t){return typeof e=="number"?n=>Dt(e,t,n):ur.test(e)?PM(e,t):e.startsWith("var(")?MM(e,t):LM(e,t)}const DM=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>NM(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=NM(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},LM=(e,t)=>{const n=ha.createTransformer(t),r=Sy(e),i=Sy(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?ea(DM(r.values,i.values),n):MM(e,t)},nh=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dP=(e,t)=>n=>Dt(e,t,n);function Zne(e){return typeof e=="number"?dP:typeof e=="string"?ur.test(e)?PM:LM:Array.isArray(e)?DM:typeof e=="object"?Qne:dP}function Jne(e,t,n){const r=[],i=n||Zne(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=Jne(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(fa(e[0],e[o-1],u)):l}function ere(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=nh(0,t,r);e.push(Dt(n,1,i))}}function tre(e){const t=[0];return ere(t,e.length-1),t}function nre(e,t){return e.map(n=>n*t)}function rre(e,t){return e.map(()=>t||_M).splice(0,e.length-1)}function _y({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=Fne(r)?r.map(uP):uP(r),o={done:!1,value:t[0]},s=nre(n&&n.length===t.length?n:tre(t),e),a=$M(s,t,{ease:Array.isArray(i)?i:rre(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function FM(e,t){return t?e*(1e3/t):0}const ire=5;function BM(e,t,n){const r=Math.max(t-ire,0);return FM(n-e(r),t-r)}const FS=.001,ore=.01,fP=10,sre=.05,are=1;function lre({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;Ane(e<=ta(fP));let s=1-t;s=fa(sre,are,s),e=fa(ore,fP,ts(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=lw(u,s),p=Math.exp(-d);return FS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=lw(Math.pow(u,2),s);return(-i(u)+FS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-FS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=cre(i,o,a);if(e=ta(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const ure=12;function cre(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function hre(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hP(e,fre)&&hP(e,dre)){const n=lre(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function jM({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=hre(r),h=c?-ts(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=ts(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=lw(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=BM(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function pP({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=C=>a!==void 0&&Cl,p=C=>a===void 0?l:l===void 0||Math.abs(a-C)-m*Math.exp(-C/r),g=C=>v+y(C),b=C=>{const k=y(C),P=g(C);f.done=Math.abs(k)<=u,f.value=f.done?v:P};let _,w;const x=C=>{h(f.value)&&(_=C,w=jM({keyframes:[f.value,p(f.value)],velocity:BM(g,C,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:C=>{let k=!1;return!w&&_===void 0&&(k=!0,b(C),x(C)),_!==void 0&&C>_?w.next(C-_):(!k&&b(C),f)}}}const pre=e=>{const t=({timestamp:n})=>e(n);return{start:()=>kt.update(t,!0),stop:()=>cs(t),now:()=>Xn.isProcessing?Xn.timestamp:performance.now()}},gP=2e4;function mP(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gP?1/0:t}const gre={decay:pP,inertia:pP,tween:_y,keyframes:_y,spring:jM};function wy({autoplay:e=!0,delay:t=0,driver:n=pre,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(V=>{m=V})};v();let y;const g=gre[i]||_y;let b;g!==_y&&typeof r[0]!="number"&&(b=$M([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",C=null,k=null,P=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=mP(_));const{calculatedDuration:A}=_;let $=1/0,N=1/0;A!==null&&($=A+s,N=$*(o+1)-s);let T=0;const O=V=>{if(k===null)return;h>0&&(k=Math.min(k,V)),h<0&&(k=Math.min(V-N/h,k)),C!==null?T=C:T=Math.round(V-k)*h;const z=T-t*(h>=0?1:-1),U=h>=0?z<0:z>N;T=Math.max(z,0),x==="finished"&&C===null&&(T=N);let K=T,W=_;if(o){const Q=T/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const Z=!!(J%2);Z&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(W=w));let ge=fa(0,1,ne);T>N&&(ge=a==="reverse"&&Z?1:0),K=ge*$}const X=U?{done:!1,value:r[0]}:W.next(K);b&&(X.value=b(X.value));let{done:F}=X;!U&&A!==null&&(F=h>=0?T>=N:T<=0);const q=C===null&&(x==="finished"||x==="running"&&F);return d&&d(X.value),q&&R(),X},I=()=>{y&&y.stop(),y=void 0},M=()=>{x="idle",I(),m(),v(),k=P=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const V=y.now();l&&l(),C!==null?k=V-C:(!k||x==="finished")&&(k=V),x==="finished"&&v(),P=k,C=null,x="running",y.start()};e&&D();const L={then(V,z){return S.then(V,z)},get time(){return ts(T)},set time(V){V=ta(V),T=V,C!==null||!y||h===0?C=V:k=y.now()-V/h},get duration(){const V=_.calculatedDuration===null?mP(_):_.calculatedDuration;return ts(V)},get speed(){return h},set speed(V){V===h||!y||(h=V,L.time=ts(T))},get state(){return x},play:D,pause:()=>{x="paused",C=T},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),M())},cancel:()=>{P!==null&&O(P),M()},complete:()=>{x="finished"},sample:V=>(k=0,O(V))};return L}const mre=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),sg=10,yre=2e4,vre=(e,t)=>t.type==="spring"||e==="backgroundColor"||!mM(t.ease);function bre(e,t,{onUpdate:n,onComplete:r,...i}){if(!(bM.waapi()&&mre.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(vre(t,i)){const v=wy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{kt.update(m),a(),u()};return p.onfinish=()=>{e.set(Ine(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return ts(p.currentTime||0)},set time(v){p.currentTime=ta(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return ts(d)},play:()=>{s||(p.play(),cs(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=wy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-sg).value,y.sample(v).value,sg)}S()},complete:()=>p.finish(),cancel:S}}function Sre({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:on,pause:on,stop:on,then:o=>(o(),Promise.resolve()),cancel:on,complete:on});return t?wy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const _re={type:"spring",stiffness:500,damping:25,restSpeed:10},wre=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),xre={type:"keyframes",duration:.8},Cre={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Tre=(e,{keyframes:t})=>t.length>2?xre:Rl.has(e)?e.startsWith("scale")?wre(t[1]):_re:Cre,uw=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(ha.test(t)||t==="0")&&!t.startsWith("url(")),Ere=new Set(["brightness","contrast","saturate","opacity"]);function Pre(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Rv)||[];if(!r)return e;const i=n.replace(r,"");let o=Ere.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const kre=/([a-z-]*)\(.*?\)/g,cw={...ha,getAnimatableNone:e=>{const t=e.match(kre);return t?t.map(Pre).join(" "):e}},Are={...J7,color:ur,backgroundColor:ur,outlineColor:ur,fill:ur,stroke:ur,borderColor:ur,borderTopColor:ur,borderRightColor:ur,borderBottomColor:ur,borderLeftColor:ur,filter:cw,WebkitFilter:cw},O5=e=>Are[e];function VM(e,t){let n=O5(e);return n!==cw&&(n=ha),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const zM=e=>/^0[^.\s]+$/.test(e);function Ore(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||zM(e)}function Rre(e,t,n,r){const i=uw(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=UM(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-ta(s);const l=Rre(t,e,n,o),u=l[0],c=l[l.length-1],d=uw(e,u),f=uw(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Ire(o)||(h={...h,...Tre(e,h)}),h.duration&&(h.duration=ta(h.duration)),h.repeatDelay&&(h.repeatDelay=ta(h.repeatDelay)),!d||!f||One.current||o.type===!1)return Sre(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=bre(t,e,h);if(p)return p}return wy(h)};function xy(e){return!!(Nr(e)&&e.add)}const Mre=e=>/^\-?\d*\.?\d+$/.test(e);function I5(e,t){e.indexOf(t)===-1&&e.push(t)}function M5(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class N5{constructor(){this.subscriptions=[]}add(t){return I5(this.subscriptions,t),()=>M5(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Dre{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=Xn;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,kt.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>kt.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=Nre(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new N5);const r=this.events[t].add(n);return t==="change"?()=>{r(),kt.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?FM(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function _c(e,t){return new Dre(e,t)}const GM=e=>t=>t.test(e),Lre={test:e=>e==="auto",parse:e=>e},HM=[Il,we,bo,ks,Ute,zte,Lre],vd=e=>HM.find(GM(e)),$re=[...HM,ur,ha],Fre=e=>$re.find(GM(e));function Bre(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,_c(n))}function jre(e,t){const n=Mv(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=rne(o[s]);Bre(e,s,a)}}function Vre(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&jre(e,s)}),u}function dw(e,t,n={}){const r=Mv(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(qM(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Hre(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Hre(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(qre).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(dw(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function qre(e,t){return e.sortNodePosition(t)}function Wre(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>dw(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=dw(e,t,n);else{const i=typeof t=="function"?Mv(e,t,n.custom):t;r=Promise.all(qM(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const Kre=[...g5].reverse(),Yre=g5.length;function Xre(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Wre(e,n,r)))}function Qre(e){let t=Xre(e);const n=Jre();let r=!0;const i=(l,u)=>{const c=Mv(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const P=Array.isArray(b)?b:[b];let A=P.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,N={...$,...A},T=O=>{k=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in N){const I=A[O],M=$[O];p.hasOwnProperty(O)||(I!==M?by(I)&&by(M)?!pM(I,M)||C?T(O):g.protectedKeys[O]=!0:I!==void 0?T(O):h.add(O):I!==void 0&&h.has(O)?T(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(k=!1),k&&!x&&f.push(...P.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function Zre(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!pM(t,e):!1}function La(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Jre(){return{animate:La(!0),whileInView:La(),whileHover:La(),whileTap:La(),whileDrag:La(),whileFocus:La(),exit:La()}}class eie extends Ea{constructor(t){super(t),t.animationState||(t.animationState=Qre(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),Av(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let tie=0;class nie extends Ea{constructor(){super(...arguments),this.id=tie++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const rie={animation:{Feature:eie},exit:{Feature:nie}},yP=(e,t)=>Math.abs(e-t);function iie(e,t){const n=yP(e.x,t.x),r=yP(e.y,t.y);return Math.sqrt(n**2+r**2)}class WM{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=jS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=iie(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=Xn;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=BS(c,this.transformPagePoint),kt.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=jS(u.type==="pointercancel"?this.lastMoveEventInfo:BS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!uM(t))return;this.handlers=n,this.transformPagePoint=r;const i=Iv(t),o=BS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=Xn;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,jS(o,this.history)),this.removeListeners=ea(es(window,"pointermove",this.handlePointerMove),es(window,"pointerup",this.handlePointerUp),es(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),cs(this.updatePoint)}}function BS(e,t){return t?{point:t(e.point)}:e}function vP(e,t){return{x:e.x-t.x,y:e.y-t.y}}function jS({point:e},t){return{point:e,delta:vP(e,KM(t)),offset:vP(e,oie(t)),velocity:sie(t,.1)}}function oie(e){return e[0]}function KM(e){return e[e.length-1]}function sie(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=KM(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>ta(t)));)n--;if(!r)return{x:0,y:0};const o=ts(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Hr(e){return e.max-e.min}function fw(e,t=0,n=.01){return Math.abs(e-t)<=n}function bP(e,t,n,r=.5){e.origin=r,e.originPoint=Dt(t.min,t.max,e.origin),e.scale=Hr(n)/Hr(t),(fw(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Dt(n.min,n.max,e.origin)-e.originPoint,(fw(e.translate)||isNaN(e.translate))&&(e.translate=0)}function df(e,t,n,r){bP(e.x,t.x,n.x,r?r.originX:void 0),bP(e.y,t.y,n.y,r?r.originY:void 0)}function SP(e,t,n){e.min=n.min+t.min,e.max=e.min+Hr(t)}function aie(e,t,n){SP(e.x,t.x,n.x),SP(e.y,t.y,n.y)}function _P(e,t,n){e.min=t.min-n.min,e.max=e.min+Hr(t)}function ff(e,t,n){_P(e.x,t.x,n.x),_P(e.y,t.y,n.y)}function lie(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?Dt(n,e,r.max):Math.min(e,n)),e}function wP(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function uie(e,{top:t,left:n,bottom:r,right:i}){return{x:wP(e.x,n,i),y:wP(e.y,t,r)}}function xP(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=nh(t.min,t.max-r,e.min):r>i&&(n=nh(e.min,e.max-i,t.min)),fa(0,1,n)}function fie(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const hw=.35;function hie(e=hw){return e===!1?e=0:e===!0&&(e=hw),{x:CP(e,"left","right"),y:CP(e,"top","bottom")}}function CP(e,t,n){return{min:TP(e,t),max:TP(e,n)}}function TP(e,t){return typeof e=="number"?e:e[t]||0}const EP=()=>({translate:0,scale:1,origin:0,originPoint:0}),Mu=()=>({x:EP(),y:EP()}),PP=()=>({min:0,max:0}),en=()=>({x:PP(),y:PP()});function Zi(e){return[e("x"),e("y")]}function YM({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function pie({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function gie(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function VS(e){return e===void 0||e===1}function pw({scale:e,scaleX:t,scaleY:n}){return!VS(e)||!VS(t)||!VS(n)}function Ga(e){return pw(e)||XM(e)||e.z||e.rotate||e.rotateX||e.rotateY}function XM(e){return kP(e.x)||kP(e.y)}function kP(e){return e&&e!=="0%"}function Cy(e,t,n){const r=e-n,i=t*r;return n+i}function AP(e,t,n,r,i){return i!==void 0&&(e=Cy(e,i,r)),Cy(e,n,r)+t}function gw(e,t=0,n=1,r,i){e.min=AP(e.min,t,n,r,i),e.max=AP(e.max,t,n,r,i)}function QM(e,{x:t,y:n}){gw(e.x,t.translate,t.scale,t.originPoint),gw(e.y,n.translate,n.scale,n.originPoint)}function mie(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function Ns(e,t){e.min=e.min+t,e.max=e.max+t}function RP(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=Dt(e.min,e.max,o);gw(e,t[n],t[r],s,t.scale)}const yie=["x","scaleX","originX"],vie=["y","scaleY","originY"];function Nu(e,t){RP(e.x,t,yie),RP(e.y,t,vie)}function ZM(e,t){return YM(gie(e.getBoundingClientRect(),t))}function bie(e,t,n){const r=ZM(e,n),{scroll:i}=t;return i&&(Ns(r.x,i.offset.x),Ns(r.y,i.offset.y)),r}const Sie=new WeakMap;class _ie{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=en(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(Iv(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=dM(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Zi(p=>{let m=this.getAxisMotionValue(p).get()||0;if(bo.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Hr(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&kt.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=wie(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new WM(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&kt.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!ag(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=lie(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&Ru(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=uie(r.layoutBox,t):this.constraints=!1,this.elastic=hie(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Zi(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=fie(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Ru(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=bie(r,i.root,this.visualElement.getTransformPagePoint());let s=cie(i.layout.layoutBox,o);if(n){const a=n(pie(s));this.hasMutatedConstraints=!!a,a&&(s=YM(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Zi(c=>{if(!ag(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(R5(t,r,0,n))}stopAnimation(){Zi(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Zi(n=>{const{drag:r}=this.getProps();if(!ag(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-Dt(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Ru(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Zi(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=die({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Zi(s=>{if(!ag(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(Dt(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;Sie.set(this.visualElement,this);const t=this.visualElement.current,n=es(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();Ru(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Qo(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Zi(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=hw,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function ag(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function wie(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class xie extends Ea{constructor(t){super(t),this.removeGroupControls=on,this.removeListeners=on,this.controls=new _ie(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||on}unmount(){this.removeGroupControls(),this.removeListeners()}}const IP=e=>(t,n)=>{e&&kt.update(()=>e(t,n))};class Cie extends Ea{constructor(){super(...arguments),this.removePointerDownListener=on}onPointerDown(t){this.session=new WM(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:IP(t),onStart:IP(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&kt.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=es(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function Tie(){const e=E.useContext(rp);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=E.useId();return E.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function Eie(){return Pie(E.useContext(rp))}function Pie(e){return e===null?!0:e.isPresent}const om={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MP(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const bd={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(we.test(e))e=parseFloat(e);else return e;const n=MP(e,t.target.x),r=MP(e,t.target.y);return`${n}% ${r}%`}},kie={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=ha.parse(e);if(i.length>5)return r;const o=ha.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=Dt(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class Aie extends ze.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Dte(Oie),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),om.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||kt.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function JM(e){const[t,n]=Tie(),r=E.useContext(y5);return ze.createElement(Aie,{...e,layoutGroup:r,switchLayoutGroup:E.useContext(K7),isPresent:t,safeToRemove:n})}const Oie={borderRadius:{...bd,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:bd,borderTopRightRadius:bd,borderBottomLeftRadius:bd,borderBottomRightRadius:bd,boxShadow:kie},eN=["TopLeft","TopRight","BottomLeft","BottomRight"],Rie=eN.length,NP=e=>typeof e=="string"?parseFloat(e):e,DP=e=>typeof e=="number"||we.test(e);function Iie(e,t,n,r,i,o){i?(e.opacity=Dt(0,n.opacity!==void 0?n.opacity:1,Mie(r)),e.opacityExit=Dt(t.opacity!==void 0?t.opacity:1,0,Nie(r))):o&&(e.opacity=Dt(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(nh(e,t,r))}function $P(e,t){e.min=t.min,e.max=t.max}function ei(e,t){$P(e.x,t.x),$P(e.y,t.y)}function FP(e,t,n,r,i){return e-=t,e=Cy(e,1/n,r),i!==void 0&&(e=Cy(e,1/i,r)),e}function Die(e,t=0,n=1,r=.5,i,o=e,s=e){if(bo.test(t)&&(t=parseFloat(t),t=Dt(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=Dt(o.min,o.max,r);e===o&&(a-=t),e.min=FP(e.min,t,n,a,i),e.max=FP(e.max,t,n,a,i)}function BP(e,t,[n,r,i],o,s){Die(e,t[n],t[r],t[i],t.scale,o,s)}const Lie=["x","scaleX","originX"],$ie=["y","scaleY","originY"];function jP(e,t,n,r){BP(e.x,t,Lie,n?n.x:void 0,r?r.x:void 0),BP(e.y,t,$ie,n?n.y:void 0,r?r.y:void 0)}function VP(e){return e.translate===0&&e.scale===1}function nN(e){return VP(e.x)&&VP(e.y)}function mw(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function zP(e){return Hr(e.x)/Hr(e.y)}class Fie{constructor(){this.members=[]}add(t){I5(this.members,t),t.scheduleRender()}remove(t){if(M5(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function UP(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const Bie=(e,t)=>e.depth-t.depth;class jie{constructor(){this.children=[],this.isDirty=!1}add(t){I5(this.children,t),this.isDirty=!0}remove(t){M5(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Bie),this.isDirty=!1,this.children.forEach(t)}}function Vie(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(cs(r),e(o-t))};return kt.read(r,!0),()=>cs(r)}function zie(e){window.MotionDebug&&window.MotionDebug.record(e)}function Uie(e){return e instanceof SVGElement&&e.tagName!=="svg"}function Gie(e,t,n){const r=Nr(e)?e:_c(e);return r.start(R5("",r,t,n)),r.animation}const GP=["","X","Y","Z"],HP=1e3;let Hie=0;const Ha={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function rN({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Hie++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ha.totalNodes=Ha.resolvedTargetDeltas=Ha.recalculatedProjection=0,this.nodes.forEach(Kie),this.nodes.forEach(Jie),this.nodes.forEach(eoe),this.nodes.forEach(Yie),zie(Ha)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=Vie(f,250),om.hasAnimatedSinceResize&&(om.hasAnimatedSinceResize=!1,this.nodes.forEach(WP))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||ooe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!mw(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...UM(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||WP(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,cs(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(toe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(Xie),this.sharedNodes.forEach(noe)}scheduleUpdateProjection(){kt.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){kt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;KP(d.x,s.x,_),KP(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(ff(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),roe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&mw(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=en()),ei(g,this.relativeTarget)),m&&(this.animationValues=c,Iie(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(cs(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=kt.update(()=>{om.hasAnimatedSinceResize=!0,this.currentAnimation=Gie(0,HP,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HP),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&iN(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||en();const d=Hr(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Hr(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}ei(a,l),Nu(a,c),df(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new Fie),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(qP),this.root.sharedNodes.clear()}}}function qie(e){e.updateLayout()}function Wie(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Zi(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Hr(f);f.min=r[d].min,f.max=f.min+h}):iN(o,n.layoutBox,r)&&Zi(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Hr(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=Mu();df(a,r,n.layoutBox);const l=Mu();s?df(l,e.applyTransform(i,!0),n.measuredBox):df(l,r,n.layoutBox);const u=!nN(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=en();ff(p,n.layoutBox,f.layoutBox);const m=en();ff(m,r,h.layoutBox),mw(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Kie(e){Ha.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Yie(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Xie(e){e.clearSnapshot()}function qP(e){e.clearMeasurements()}function Qie(e){e.isLayoutDirty=!1}function Zie(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function WP(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Jie(e){e.resolveTargetDelta()}function eoe(e){e.calcProjection()}function toe(e){e.resetRotation()}function noe(e){e.removeLeadSnapshot()}function KP(e,t,n){e.translate=Dt(t.translate,0,n),e.scale=Dt(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function YP(e,t,n,r){e.min=Dt(t.min,n.min,r),e.max=Dt(t.max,n.max,r)}function roe(e,t,n,r){YP(e.x,t.x,n.x,r),YP(e.y,t.y,n.y,r)}function ioe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const ooe={duration:.45,ease:[.4,0,.1,1]};function XP(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function soe(e){XP(e.x),XP(e.y)}function iN(e,t,n){return e==="position"||e==="preserve-aspect"&&!fw(zP(t),zP(n),.2)}const aoe=rN({attachResizeListener:(e,t)=>Qo(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),zS={current:void 0},oN=rN({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!zS.current){const e=new aoe({});e.mount(window),e.setOptions({layoutScroll:!0}),zS.current=e}return zS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),loe={pan:{Feature:Cie},drag:{Feature:xie,ProjectionNode:oN,MeasureLayout:JM}},uoe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function coe(e){const t=uoe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function yw(e,t,n=1){const[r,i]=coe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():ow(i)?yw(i,t,n+1):i}function doe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!ow(o))return;const s=yw(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!ow(o))continue;const s=yw(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const foe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),sN=e=>foe.has(e),hoe=e=>Object.keys(e).some(sN),QP=e=>e===Il||e===we,ZP=(e,t)=>parseFloat(e.split(", ")[t]),JP=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZP(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZP(o[1],e):0}},poe=new Set(["x","y","z"]),goe=ip.filter(e=>!poe.has(e));function moe(e){const t=[];return goe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const wc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JP(4,13),y:JP(5,14)};wc.translateX=wc.x;wc.translateY=wc.y;const yoe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=wc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=wc[u](l,o)}),e},voe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(sN);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=vd(c);const f=t[l];let h;if(by(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=vd(c);for(let S=m;S=0?window.pageYOffset:null,u=yoe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),kv&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function boe(e,t,n,r){return hoe(t)?voe(e,t,n,r):{target:t,transitionEnd:r}}const Soe=(e,t,n,r)=>{const i=doe(e,t,r);return t=i.target,r=i.transitionEnd,boe(e,t,n,r)},vw={current:null},aN={current:!1};function _oe(){if(aN.current=!0,!!kv)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>vw.current=e.matches;e.addListener(t),t()}else vw.current=!1}function woe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(Nr(o))e.addValue(i,o),xy(r)&&r.add(i);else if(Nr(s))e.addValue(i,_c(o,{owner:e})),xy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,_c(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e6=new WeakMap,lN=Object.keys(th),xoe=lN.length,t6=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Coe=m5.length;class Toe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>kt.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=Ov(n),this.isVariantNode=W7(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&Nr(f)&&(f.set(a[d],!1),xy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e6.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),aN.current||_oe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:vw.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e6.delete(this.current),this.projection&&this.projection.unmount(),cs(this.notifyUpdate),cs(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rl.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&kt.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):en()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=_c(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=T5(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!Nr(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new N5),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class uN extends Toe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Ure(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Vre(this,r,s);const a=Soe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Eoe(e){return window.getComputedStyle(e)}class Poe extends uN{readValueFromInstance(t,n){if(Rl.has(n)){const r=O5(n);return r&&r.default||0}else{const r=Eoe(t),i=(Q7(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return ZM(t,n)}build(t,n,r,i){b5(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return C5(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Nr(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){rM(t,n,r,i)}}class koe extends uN{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rl.has(n)){const r=O5(n);return r&&r.default||0}return n=iM.has(n)?n:x5(n),t.getAttribute(n)}measureInstanceViewportBox(){return en()}scrapeMotionValuesFromProps(t,n){return sM(t,n)}build(t,n,r,i){_5(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){oM(t,n,r,i)}mount(t){this.isSVGTag=w5(t.tagName),super.mount(t)}}const Aoe=(e,t)=>v5(e)?new koe(t,{enableHardwareAcceleration:!1}):new Poe(t,{enableHardwareAcceleration:!0}),Ooe={layout:{ProjectionNode:oN,MeasureLayout:JM}},Roe={...rie,...Cne,...loe,...Ooe},D5=Mte((e,t)=>lne(e,t,Roe,Aoe));function cN(){const e=E.useRef(!1);return my(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Ioe(){const e=cN(),[t,n]=E.useState(0),r=E.useCallback(()=>{e.current&&n(t+1)},[t]);return[E.useCallback(()=>kt.postRender(r),[r]),t]}class Moe extends E.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Noe({children:e,isPresent:t}){const n=E.useId(),r=E.useRef(null),i=E.useRef({width:0,height:0,top:0,left:0});return E.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` - [data-motion-pop-id="${n}"] { - position: absolute !important; - width: ${o}px !important; - height: ${s}px !important; - top: ${a}px !important; - left: ${l}px !important; - } - `),()=>{document.head.removeChild(u)}},[t]),E.createElement(Moe,{isPresent:t,childRef:r,sizeRef:i},E.cloneElement(e,{ref:r}))}const US=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=aM(Doe),l=E.useId(),u=E.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return E.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),E.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=E.createElement(Noe,{isPresent:n},e)),E.createElement(rp.Provider,{value:u},e)};function Doe(){return new Map}function Loe(e){return E.useEffect(()=>()=>e(),[])}const cu=e=>e.key||"";function $oe(e,t){e.forEach(n=>{const r=cu(n);t.set(r,n)})}function Foe(e){const t=[];return E.Children.forEach(e,n=>{E.isValidElement(n)&&t.push(n)}),t}const L5=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=E.useContext(y5).forceRender||Ioe()[0],l=cN(),u=Foe(e);let c=u;const d=E.useRef(new Map).current,f=E.useRef(c),h=E.useRef(new Map).current,p=E.useRef(!0);if(my(()=>{p.current=!1,$oe(u,h),f.current=c}),Loe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return E.createElement(E.Fragment,null,c.map(y=>E.createElement(US,{key:cu(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(cu),S=u.map(cu),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const C=f.current.findIndex(k=>k.key===g);if(f.current.splice(C,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=E.createElement(US,{key:cu(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:E.createElement(US,{key:cu(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),E.createElement(E.Fragment,null,d.size?c:c.map(y=>E.cloneElement(y)))};var Boe={initial:e=>{const{position:t}=e,n=["top","bottom"].includes(t)?"y":"x";let r=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(r=1),{opacity:0,[n]:r*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},dN=E.memo(e=>{const{id:t,message:n,onCloseComplete:r,onRequestRemove:i,requestClose:o=!1,position:s="bottom",duration:a=5e3,containerStyle:l,motionVariants:u=Boe,toastSpacing:c="0.5rem"}=e,[d,f]=E.useState(a),h=Eie();gy(()=>{h||r==null||r()},[h]),gy(()=>{f(a)},[a]);const p=()=>f(null),m=()=>f(a),S=()=>{h&&i()};E.useEffect(()=>{h&&o&&i()},[h,o,i]),Cte(S,d);const v=E.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:c,...l}),[l,c]),y=E.useMemo(()=>wte(s),[s]);return j.jsx(D5.div,{layout:!0,className:"chakra-toast",variants:u,initial:"initial",animate:"animate",exit:"exit",onHoverStart:p,onHoverEnd:m,custom:{position:s},style:y,children:j.jsx(Ae.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:v,children:uo(n,{id:t,onClose:S})})})});dN.displayName="ToastComponent";function joe(e,t){var n;const r=e??"bottom",o={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[r];return(n=o==null?void 0:o[t])!=null?n:r}var n6={path:j.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[j.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),j.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),j.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},Ml=Ze((e,t)=>{const{as:n,viewBox:r,color:i="currentColor",focusable:o=!1,children:s,className:a,__css:l,...u}=e,c=Gn("chakra-icon",a),d=Ol("Icon",e),f={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...l,...d},h={ref:t,focusable:o,className:c,__css:f},p=r??n6.viewBox;if(n&&typeof n!="string")return j.jsx(Ae.svg,{as:n,...h,...u});const m=s??n6.path;return j.jsx(Ae.svg,{verticalAlign:"middle",viewBox:p,...h,...u,children:m})});Ml.displayName="Icon";function Voe(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function zoe(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function r6(e){return j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var Uoe=aJ({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Nv=Ze((e,t)=>{const n=Ol("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=Ao(e),u=Gn("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${Uoe} ${o} linear infinite`,...n};return j.jsx(Ae.div,{ref:t,__css:c,className:u,...l,children:r&&j.jsx(Ae.span,{srOnly:!0,children:r})})});Nv.displayName="Spinner";var[Goe,$5]=Si({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[Hoe,F5]=Si({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),fN={info:{icon:zoe,colorScheme:"blue"},warning:{icon:r6,colorScheme:"orange"},success:{icon:Voe,colorScheme:"green"},error:{icon:r6,colorScheme:"red"},loading:{icon:Nv,colorScheme:"blue"}};function qoe(e){return fN[e].colorScheme}function Woe(e){return fN[e].icon}var hN=Ze(function(t,n){const r=F5(),{status:i}=$5(),o={display:"inline",...r.description};return j.jsx(Ae.div,{ref:n,"data-status":i,...t,className:Gn("chakra-alert__desc",t.className),__css:o})});hN.displayName="AlertDescription";function pN(e){const{status:t}=$5(),n=Woe(t),r=F5(),i=t==="loading"?r.spinner:r.icon;return j.jsx(Ae.span,{display:"inherit","data-status":t,...e,className:Gn("chakra-alert__icon",e.className),__css:i,children:e.children||j.jsx(n,{h:"100%",w:"100%"})})}pN.displayName="AlertIcon";var gN=Ze(function(t,n){const r=F5(),{status:i}=$5();return j.jsx(Ae.div,{ref:n,"data-status":i,...t,className:Gn("chakra-alert__title",t.className),__css:r.title})});gN.displayName="AlertTitle";var mN=Ze(function(t,n){var r;const{status:i="info",addRole:o=!0,...s}=Ao(t),a=(r=t.colorScheme)!=null?r:qoe(i),l=Ev("Alert",{...t,colorScheme:a}),u={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return j.jsx(Goe,{value:{status:i},children:j.jsx(Hoe,{value:l,children:j.jsx(Ae.div,{"data-status":i,role:o?"alert":void 0,ref:n,...s,className:Gn("chakra-alert",t.className),__css:u})})})});mN.displayName="Alert";function Koe(e){return j.jsx(Ml,{focusable:"false","aria-hidden":!0,...e,children:j.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var yN=Ze(function(t,n){const r=Ol("CloseButton",t),{children:i,isDisabled:o,__css:s,...a}=Ao(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return j.jsx(Ae.button,{type:"button","aria-label":"Close",ref:n,disabled:o,__css:{...l,...r,...s},...a,children:i||j.jsx(Koe,{width:"1em",height:"1em"})})});yN.displayName="CloseButton";var Yoe={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},oo=Xoe(Yoe);function Xoe(e){let t=e;const n=new Set,r=i=>{t=i(t),n.forEach(o=>o())};return{getState:()=>t,subscribe:i=>(n.add(i),()=>{r(()=>e),n.delete(i)}),removeToast:(i,o)=>{r(s=>({...s,[o]:s[o].filter(a=>a.id!=i)}))},notify:(i,o)=>{const s=Qoe(i,o),{position:a,id:l}=s;return r(u=>{var c,d;const h=a.includes("top")?[s,...(c=u[a])!=null?c:[]]:[...(d=u[a])!=null?d:[],s];return{...u,[a]:h}}),l},update:(i,o)=>{i&&r(s=>{const a={...s},{position:l,index:u}=JE(a,i);return l&&u!==-1&&(a[l][u]={...a[l][u],...o,message:vN(o)}),a})},closeAll:({positions:i}={})=>{r(o=>(i??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,u)=>(l[u]=o[u].map(c=>({...c,requestClose:!0})),l),{...o}))},close:i=>{r(o=>{const s=G7(o,i);return s?{...o,[s]:o[s].map(a=>a.id==i?{...a,requestClose:!0}:a)}:o})},isActive:i=>!!JE(oo.getState(),i).position}}var i6=0;function Qoe(e,t={}){var n,r;i6+=1;const i=(n=t.id)!=null?n:i6,o=(r=t.position)!=null?r:"bottom";return{id:i,message:e,position:o,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>oo.removeToast(String(i),o),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Zoe=e=>{const{status:t,variant:n="solid",id:r,title:i,isClosable:o,onClose:s,description:a,colorScheme:l,icon:u}=e,c=r?{root:`toast-${r}`,title:`toast-${r}-title`,description:`toast-${r}-description`}:void 0;return j.jsxs(mN,{addRole:!1,status:t,variant:n,id:c==null?void 0:c.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[j.jsx(pN,{children:u}),j.jsxs(Ae.div,{flex:"1",maxWidth:"100%",children:[i&&j.jsx(gN,{id:c==null?void 0:c.title,children:i}),a&&j.jsx(hN,{id:c==null?void 0:c.description,display:"block",children:a})]}),o&&j.jsx(yN,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function vN(e={}){const{render:t,toastComponent:n=Zoe}=e;return i=>typeof t=="function"?t({...i,...e}):j.jsx(n,{...i,...e})}function Joe(e,t){const n=i=>{var o;return{...t,...i,position:joe((o=i==null?void 0:i.position)!=null?o:t==null?void 0:t.position,e)}},r=i=>{const o=n(i),s=vN(o);return oo.notify(s,o)};return r.update=(i,o)=>{oo.update(i,n(o))},r.promise=(i,o)=>{const s=r({...o.loading,status:"loading",duration:null});i.then(a=>r.update(s,{status:"success",duration:5e3,...uo(o.success,a)})).catch(a=>r.update(s,{status:"error",duration:5e3,...uo(o.error,a)}))},r.closeAll=oo.closeAll,r.close=oo.close,r.isActive=oo.isActive,r}var[gTe,ese]=Si({name:"ToastOptionsContext",strict:!1}),mTe=e=>{const t=E.useSyncExternalStore(oo.subscribe,oo.getState,oo.getState),{motionVariants:n,component:r=dN,portalProps:i}=e,s=Object.keys(t).map(a=>{const l=t[a];return j.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${a}`,style:xte(a),children:j.jsx(L5,{initial:!1,children:l.map(u=>j.jsx(r,{motionVariants:n,...u},u.id))})},a)});return j.jsx(tp,{...i,children:s})};function tse(e){const{theme:t}=R7(),n=ese();return E.useMemo(()=>Joe(t.direction,{...n,...e}),[e,t.direction,n])}function nse(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function fi(...e){return t=>{e.forEach(n=>{nse(n,t)})}}function rse(...e){return E.useMemo(()=>fi(...e),e)}function ise(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:i=(f,h)=>f!==h}=e,o=Fn(r),s=Fn(i),[a,l]=E.useState(n),u=t!==void 0,c=u?t:a,d=Fn(f=>{const p=typeof f=="function"?f(c):f;s(c,p)&&(u||l(p),o(p))},[u,o,c,s]);return[c,d]}var bw=Ze(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return j.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});bw.displayName="NativeImage";function ose(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=E.useState("pending");E.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=E.useRef(),f=E.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Zf(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var sse=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function ase(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var B5=Ze(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=ose({...t,crossOrigin:d,ignoreFallback:S}),y=sse(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:ase(p,["onError","onLoad"])};return y?i||j.jsx(Ae.img,{as:bw,className:"chakra-image__placeholder",src:r,...g}):j.jsx(Ae.img,{as:bw,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});B5.displayName="Image";function lse(e){return E.Children.toArray(e).filter(t=>E.isValidElement(t))}var[yTe,use]=Si({strict:!1,name:"ButtonGroupContext"});function cse(e){const[t,n]=E.useState(!e);return{ref:E.useCallback(o=>{o&&n(o.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Sw(e){const{children:t,className:n,...r}=e,i=E.isValidElement(t)?E.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=Gn("chakra-button__icon",n);return j.jsx(Ae.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:o,children:i})}Sw.displayName="ButtonIcon";function _w(e){const{label:t,placement:n,spacing:r="0.5rem",children:i=j.jsx(Nv,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:s,...a}=e,l=Gn("chakra-button__spinner",o),u=n==="start"?"marginEnd":"marginStart",c=E.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[u]:t?r:0,fontSize:"1em",lineHeight:"normal",...s}),[s,t,u,r]);return j.jsx(Ae.div,{className:l,...a,__css:c,children:i})}_w.displayName="ButtonSpinner";var bN=Ze((e,t)=>{const n=use(),r=Ol("Button",{...n,...e}),{isDisabled:i=n==null?void 0:n.isDisabled,isLoading:o,isActive:s,children:a,leftIcon:l,rightIcon:u,loadingText:c,iconSpacing:d="0.5rem",type:f,spinner:h,spinnerPlacement:p="start",className:m,as:S,...v}=Ao(e),y=E.useMemo(()=>{const w={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:w}}},[r,n]),{ref:g,type:b}=cse(S),_={rightIcon:u,leftIcon:l,iconSpacing:d,children:a};return j.jsxs(Ae.button,{ref:rse(t,g),as:S,type:f??b,"data-active":Ou(s),"data-loading":Ou(o),__css:y,className:Gn("chakra-button",m),...v,disabled:i||o,children:[o&&p==="start"&&j.jsx(_w,{className:"chakra-button__spinner--start",label:c,placement:"start",spacing:d,children:h}),o?c||j.jsx(Ae.span,{opacity:0,children:j.jsx(o6,{..._})}):j.jsx(o6,{..._}),o&&p==="end"&&j.jsx(_w,{className:"chakra-button__spinner--end",label:c,placement:"end",spacing:d,children:h})]})});bN.displayName="Button";function o6(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:i}=e;return j.jsxs(j.Fragment,{children:[t&&j.jsx(Sw,{marginEnd:i,children:t}),r,n&&j.jsx(Sw,{marginStart:i,children:n})]})}var SN=Ze((e,t)=>{const{icon:n,children:r,isRound:i,"aria-label":o,...s}=e,a=n||r,l=E.isValidElement(a)?E.cloneElement(a,{"aria-hidden":!0,focusable:!1}):null;return j.jsx(bN,{padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":o,...s,children:l})});SN.displayName="IconButton";var[dse,_N]=Si({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[fse,Dv]=Si({strict:!1,name:"FormControlContext"});function hse(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:i,isReadOnly:o,...s}=e,a=E.useId(),l=t||`field-${a}`,u=`${l}-label`,c=`${l}-feedback`,d=`${l}-helptext`,[f,h]=E.useState(!1),[p,m]=E.useState(!1),[S,v]=E.useState(!1),y=E.useCallback((x={},C=null)=>({id:d,...x,ref:fi(C,k=>{k&&m(!0)})}),[d]),g=E.useCallback((x={},C=null)=>({...x,ref:C,"data-focus":Ou(S),"data-disabled":Ou(i),"data-invalid":Ou(r),"data-readonly":Ou(o),id:x.id!==void 0?x.id:u,htmlFor:x.htmlFor!==void 0?x.htmlFor:l}),[l,i,S,r,o,u]),b=E.useCallback((x={},C=null)=>({id:c,...x,ref:fi(C,k=>{k&&h(!0)}),"aria-live":"polite"}),[c]),_=E.useCallback((x={},C=null)=>({...x,...s,ref:C,role:"group"}),[s]),w=E.useCallback((x={},C=null)=>({...x,ref:C,role:"presentation","aria-hidden":!0,children:x.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!o,isDisabled:!!i,isFocused:!!S,onFocus:()=>v(!0),onBlur:()=>v(!1),hasFeedbackText:f,setHasFeedbackText:h,hasHelpText:p,setHasHelpText:m,id:l,labelId:u,feedbackId:c,helpTextId:d,htmlProps:s,getHelpTextProps:y,getErrorMessageProps:b,getRootProps:_,getLabelProps:g,getRequiredIndicatorProps:w}}var wN=Ze(function(t,n){const r=Ev("Form",t),i=Ao(t),{getRootProps:o,htmlProps:s,...a}=hse(i),l=Gn("chakra-form-control",t.className);return j.jsx(fse,{value:a,children:j.jsx(dse,{value:r,children:j.jsx(Ae.div,{...o({},n),className:l,__css:r.container})})})});wN.displayName="FormControl";var pse=Ze(function(t,n){const r=Dv(),i=_N(),o=Gn("chakra-form__helper-text",t.className);return j.jsx(Ae.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:i.helperText,className:o})});pse.displayName="FormHelperText";var xN=Ze(function(t,n){var r;const i=Ol("FormLabel",t),o=Ao(t),{className:s,children:a,requiredIndicator:l=j.jsx(CN,{}),optionalIndicator:u=null,...c}=o,d=Dv(),f=(r=d==null?void 0:d.getLabelProps(c,n))!=null?r:{ref:n,...c};return j.jsxs(Ae.label,{...f,className:Gn("chakra-form__label",o.className),__css:{display:"block",textAlign:"start",...i},children:[a,d!=null&&d.isRequired?l:u]})});xN.displayName="FormLabel";var CN=Ze(function(t,n){const r=Dv(),i=_N();if(!(r!=null&&r.isRequired))return null;const o=Gn("chakra-form__required-indicator",t.className);return j.jsx(Ae.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:i.requiredIndicator,className:o})});CN.displayName="RequiredIndicator";function vTe(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:i,...o}=TN(e);return{...o,disabled:t,readOnly:r,required:i,"aria-invalid":Yu(n),"aria-required":Yu(i),"aria-readonly":Yu(r)}}function TN(e){var t,n,r;const i=Dv(),{id:o,disabled:s,readOnly:a,required:l,isRequired:u,isInvalid:c,isReadOnly:d,isDisabled:f,onFocus:h,onBlur:p,...m}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return i!=null&&i.hasFeedbackText&&(i!=null&&i.isInvalid)&&S.push(i.feedbackId),i!=null&&i.hasHelpText&&S.push(i.helpTextId),{...m,"aria-describedby":S.join(" ")||void 0,id:o??(i==null?void 0:i.id),isDisabled:(t=s??f)!=null?t:i==null?void 0:i.isDisabled,isReadOnly:(n=a??d)!=null?n:i==null?void 0:i.isReadOnly,isRequired:(r=l??u)!=null?r:i==null?void 0:i.isRequired,isInvalid:c??(i==null?void 0:i.isInvalid),onFocus:Dn(i==null?void 0:i.onFocus,h),onBlur:Dn(i==null?void 0:i.onBlur,p)}}function gse(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function j5(e,t){let n=gse(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function ww(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function s6(e,t,n){return(e-t)*100/(n-t)}function mse(e,t,n){return(n-t)*e+t}function a6(e,t,n){const r=Math.round((e-t)/n)*n+t,i=ww(n);return j5(r,i)}function sm(e,t,n){return e==null?e:(n{var P;return r==null?"":(P=GS(r,o,n))!=null?P:""}),f=typeof i<"u",h=f?i:c,p=EN(As(h),o),m=n??p,S=E.useCallback(P=>{P!==h&&(f||d(P.toString()),u==null||u(P.toString(),As(P)))},[u,f,h]),v=E.useCallback(P=>{let A=P;return l&&(A=sm(A,s,a)),j5(A,m)},[m,l,a,s]),y=E.useCallback((P=o)=>{let A;h===""?A=As(P):A=As(h)+P,A=v(A),S(A)},[v,o,S,h]),g=E.useCallback((P=o)=>{let A;h===""?A=As(-P):A=As(h)-P,A=v(A),S(A)},[v,o,S,h]),b=E.useCallback(()=>{var P;let A;r==null?A="":A=(P=GS(r,o,n))!=null?P:s,S(A)},[r,n,o,S,s]),_=E.useCallback(P=>{var A;const $=(A=GS(P,o,m))!=null?A:s;S($)},[m,o,S,s]),w=As(h);return{isOutOfRange:w>a||w{const o=typeof e=="function"?e():e??document;if(!(!n||!o))return o.addEventListener(t,i,r),()=>{o.removeEventListener(t,i,r)}},[t,e,r,i,n]),()=>{const o=typeof e=="function"?e():e??document;o==null||o.removeEventListener(t,i,r)}}function PN(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function vse(e){var t;if(!PN(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function bTe(e){var t,n;return(n=(t=kN(e))==null?void 0:t.defaultView)!=null?n:window}function kN(e){return PN(e)?e.ownerDocument:document}function STe(e){return kN(e).activeElement}function bse(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:i}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+i+r)}function Sse(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function AN(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:vse(e)&&bse(e)?e:AN(Sse(e))}var _se=jee?E.useLayoutEffect:E.useEffect;function l6(e,t=[]){const n=E.useRef(e);return _se(()=>{n.current=e}),E.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function wse(e,t){const n=E.useId();return E.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function xse(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Cse(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=l6(n),s=l6(t),[a,l]=E.useState(e.defaultIsOpen||!1),[u,c]=xse(r,a),d=wse(i,"disclosure"),f=E.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=E.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=E.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:Wee(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}function Tse(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):vo(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ON=e=>j.jsx(Ae.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});ON.displayName="StackItem";function Ese(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":Tse(n,i=>r[i])}}var RN=Ze((e,t)=>{const{isInline:n,direction:r,align:i,justify:o,spacing:s="0.5rem",wrap:a,children:l,divider:u,className:c,shouldWrapChildren:d,...f}=e,h=n?"row":r??"column",p=E.useMemo(()=>Ese({spacing:s,direction:h}),[s,h]),m=!!u,S=!d&&!m,v=E.useMemo(()=>{const g=lse(l);return S?g:g.map((b,_)=>{const w=typeof b.key<"u"?b.key:_,x=_+1===g.length,k=d?j.jsx(ON,{children:b},w):b;if(!m)return k;const P=E.cloneElement(u,{__css:p}),A=x?null:P;return j.jsxs(E.Fragment,{children:[k,A]},w)})},[u,p,m,S,d,l]),y=Gn("chakra-stack",c);return j.jsx(Ae.div,{ref:t,display:"flex",alignItems:i,justifyContent:o,flexDirection:h,flexWrap:a,gap:m?void 0:s,className:y,...f,children:v})});RN.displayName="Stack";var IN=Ze((e,t)=>j.jsx(RN,{align:"center",...e,direction:"row",ref:t}));IN.displayName="HStack";var xw=Ze(function(t,n){const r=Ol("Heading",t),{className:i,...o}=Ao(t);return j.jsx(Ae.h2,{ref:n,className:Gn("chakra-heading",t.className),...o,__css:r})});xw.displayName="Heading";var V5=Ae("div");V5.displayName="Box";var MN=Ze(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return j.jsx(V5,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});MN.displayName="Square";var Pse=Ze(function(t,n){const{size:r,...i}=t;return j.jsx(MN,{size:r,ref:n,borderRadius:"9999px",...i})});Pse.displayName="Circle";var z5=Ze(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return j.jsx(Ae.div,{ref:n,__css:d,...c})});z5.displayName="Flex";var Xl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),$n={arrowShadowColor:Xl("--popper-arrow-shadow-color"),arrowSize:Xl("--popper-arrow-size","8px"),arrowSizeHalf:Xl("--popper-arrow-size-half"),arrowBg:Xl("--popper-arrow-bg"),transformOrigin:Xl("--popper-transform-origin"),arrowOffset:Xl("--popper-arrow-offset")};function kse(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var Ase={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},Ose=e=>Ase[e],u6={scroll:!0,resize:!0};function Rse(e){let t;return typeof e=="object"?t={enabled:!0,options:{...u6,...e}}:t={enabled:e,options:u6},t}var Ise={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},Mse={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{c6(e)},effect:({state:e})=>()=>{c6(e)}},c6=e=>{e.elements.popper.style.setProperty($n.transformOrigin.var,Ose(e.placement))},Nse={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Dse(e)}},Dse=e=>{var t;if(!e.placement)return;const n=Lse(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:$n.arrowSize.varRef,height:$n.arrowSize.varRef,zIndex:-1});const r={[$n.arrowSizeHalf.var]:`calc(${$n.arrowSize.varRef} / 2 - 1px)`,[$n.arrowOffset.var]:`calc(${$n.arrowSizeHalf.varRef} * -1)`};for(const i in r)e.elements.arrow.style.setProperty(i,r[i])}},Lse=e=>{if(e.startsWith("top"))return{property:"bottom",value:$n.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:$n.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:$n.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:$n.arrowOffset.varRef}},$se={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{d6(e)},effect:({state:e})=>()=>{d6(e)}},d6=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=kse(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:$n.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},Fse={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},Bse={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function jse(e,t="ltr"){var n,r;const i=((n=Fse[e])==null?void 0:n[t])||e;return t==="ltr"?i:(r=Bse[e])!=null?r:i}var Or="top",yi="bottom",vi="right",Rr="left",U5="auto",lp=[Or,yi,vi,Rr],xc="start",rh="end",Vse="clippingParents",NN="viewport",Sd="popper",zse="reference",f6=lp.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+rh])},[]),DN=[].concat(lp,[U5]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+rh])},[]),Use="beforeRead",Gse="read",Hse="afterRead",qse="beforeMain",Wse="main",Kse="afterMain",Yse="beforeWrite",Xse="write",Qse="afterWrite",Zse=[Use,Gse,Hse,qse,Wse,Kse,Yse,Xse,Qse];function wo(e){return e?(e.nodeName||"").toLowerCase():null}function qr(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function gl(e){var t=qr(e).Element;return e instanceof t||e instanceof Element}function hi(e){var t=qr(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function G5(e){if(typeof ShadowRoot>"u")return!1;var t=qr(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Jse(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!hi(o)||!wo(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(s){var a=i[s];a===!1?o.removeAttribute(s):o.setAttribute(s,a===!0?"":a)}))})}function eae(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],o=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),a=s.reduce(function(l,u){return l[u]="",l},{});!hi(i)||!wo(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const tae={name:"applyStyles",enabled:!0,phase:"write",fn:Jse,effect:eae,requires:["computeStyles"]};function So(e){return e.split("-")[0]}var il=Math.max,Ty=Math.min,Cc=Math.round;function Cw(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function LN(){return!/^((?!chrome|android).)*safari/i.test(Cw())}function Tc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&hi(e)&&(i=e.offsetWidth>0&&Cc(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Cc(r.height)/e.offsetHeight||1);var s=gl(e)?qr(e):window,a=s.visualViewport,l=!LN()&&n,u=(r.left+(l&&a?a.offsetLeft:0))/i,c=(r.top+(l&&a?a.offsetTop:0))/o,d=r.width/i,f=r.height/o;return{width:d,height:f,top:c,right:u+d,bottom:c+f,left:u,x:u,y:c}}function H5(e){var t=Tc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function $N(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&G5(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ds(e){return qr(e).getComputedStyle(e)}function nae(e){return["table","td","th"].indexOf(wo(e))>=0}function Pa(e){return((gl(e)?e.ownerDocument:e.document)||window.document).documentElement}function Lv(e){return wo(e)==="html"?e:e.assignedSlot||e.parentNode||(G5(e)?e.host:null)||Pa(e)}function h6(e){return!hi(e)||ds(e).position==="fixed"?null:e.offsetParent}function rae(e){var t=/firefox/i.test(Cw()),n=/Trident/i.test(Cw());if(n&&hi(e)){var r=ds(e);if(r.position==="fixed")return null}var i=Lv(e);for(G5(i)&&(i=i.host);hi(i)&&["html","body"].indexOf(wo(i))<0;){var o=ds(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function up(e){for(var t=qr(e),n=h6(e);n&&nae(n)&&ds(n).position==="static";)n=h6(n);return n&&(wo(n)==="html"||wo(n)==="body"&&ds(n).position==="static")?t:n||rae(e)||t}function q5(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function hf(e,t,n){return il(e,Ty(t,n))}function iae(e,t,n){var r=hf(e,t,n);return r>n?n:r}function FN(){return{top:0,right:0,bottom:0,left:0}}function BN(e){return Object.assign({},FN(),e)}function jN(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var oae=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,BN(typeof t!="number"?t:jN(t,lp))};function sae(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,a=So(n.placement),l=q5(a),u=[Rr,vi].indexOf(a)>=0,c=u?"height":"width";if(!(!o||!s)){var d=oae(i.padding,n),f=H5(o),h=l==="y"?Or:Rr,p=l==="y"?yi:vi,m=n.rects.reference[c]+n.rects.reference[l]-s[l]-n.rects.popper[c],S=s[l]-n.rects.reference[l],v=up(o),y=v?l==="y"?v.clientHeight||0:v.clientWidth||0:0,g=m/2-S/2,b=d[h],_=y-f[c]-d[p],w=y/2-f[c]/2+g,x=hf(b,w,_),C=l;n.modifiersData[r]=(t={},t[C]=x,t.centerOffset=x-w,t)}}function aae(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||$N(t.elements.popper,i)&&(t.elements.arrow=i))}const lae={name:"arrow",enabled:!0,phase:"main",fn:sae,effect:aae,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ec(e){return e.split("-")[1]}var uae={top:"auto",right:"auto",bottom:"auto",left:"auto"};function cae(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:Cc(n*i)/i||0,y:Cc(r*i)/i||0}}function p6(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,s=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,d=e.isFixed,f=s.x,h=f===void 0?0:f,p=s.y,m=p===void 0?0:p,S=typeof c=="function"?c({x:h,y:m}):{x:h,y:m};h=S.x,m=S.y;var v=s.hasOwnProperty("x"),y=s.hasOwnProperty("y"),g=Rr,b=Or,_=window;if(u){var w=up(n),x="clientHeight",C="clientWidth";if(w===qr(n)&&(w=Pa(n),ds(w).position!=="static"&&a==="absolute"&&(x="scrollHeight",C="scrollWidth")),w=w,i===Or||(i===Rr||i===vi)&&o===rh){b=yi;var k=d&&w===_&&_.visualViewport?_.visualViewport.height:w[x];m-=k-r.height,m*=l?1:-1}if(i===Rr||(i===Or||i===yi)&&o===rh){g=vi;var P=d&&w===_&&_.visualViewport?_.visualViewport.width:w[C];h-=P-r.width,h*=l?1:-1}}var A=Object.assign({position:a},u&&uae),$=c===!0?cae({x:h,y:m},qr(n)):{x:h,y:m};if(h=$.x,m=$.y,l){var N;return Object.assign({},A,(N={},N[b]=y?"0":"",N[g]=v?"0":"",N.transform=(_.devicePixelRatio||1)<=1?"translate("+h+"px, "+m+"px)":"translate3d("+h+"px, "+m+"px, 0)",N))}return Object.assign({},A,(t={},t[b]=y?m+"px":"",t[g]=v?h+"px":"",t.transform="",t))}function dae(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,s=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,u={placement:So(t.placement),variation:Ec(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,p6(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,p6(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const fae={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:dae,data:{}};var lg={passive:!0};function hae(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,s=r.resize,a=s===void 0?!0:s,l=qr(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(c){c.addEventListener("scroll",n.update,lg)}),a&&l.addEventListener("resize",n.update,lg),function(){o&&u.forEach(function(c){c.removeEventListener("scroll",n.update,lg)}),a&&l.removeEventListener("resize",n.update,lg)}}const pae={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:hae,data:{}};var gae={left:"right",right:"left",bottom:"top",top:"bottom"};function lm(e){return e.replace(/left|right|bottom|top/g,function(t){return gae[t]})}var mae={start:"end",end:"start"};function g6(e){return e.replace(/start|end/g,function(t){return mae[t]})}function W5(e){var t=qr(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function K5(e){return Tc(Pa(e)).left+W5(e).scrollLeft}function yae(e,t){var n=qr(e),r=Pa(e),i=n.visualViewport,o=r.clientWidth,s=r.clientHeight,a=0,l=0;if(i){o=i.width,s=i.height;var u=LN();(u||!u&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:s,x:a+K5(e),y:l}}function vae(e){var t,n=Pa(e),r=W5(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=il(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),s=il(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-r.scrollLeft+K5(e),l=-r.scrollTop;return ds(i||n).direction==="rtl"&&(a+=il(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}function Y5(e){var t=ds(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function VN(e){return["html","body","#document"].indexOf(wo(e))>=0?e.ownerDocument.body:hi(e)&&Y5(e)?e:VN(Lv(e))}function pf(e,t){var n;t===void 0&&(t=[]);var r=VN(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=qr(r),s=i?[o].concat(o.visualViewport||[],Y5(r)?r:[]):r,a=t.concat(s);return i?a:a.concat(pf(Lv(s)))}function Tw(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function bae(e,t){var n=Tc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function m6(e,t,n){return t===NN?Tw(yae(e,n)):gl(t)?bae(t,n):Tw(vae(Pa(e)))}function Sae(e){var t=pf(Lv(e)),n=["absolute","fixed"].indexOf(ds(e).position)>=0,r=n&&hi(e)?up(e):e;return gl(r)?t.filter(function(i){return gl(i)&&$N(i,r)&&wo(i)!=="body"}):[]}function _ae(e,t,n,r){var i=t==="clippingParents"?Sae(e):[].concat(t),o=[].concat(i,[n]),s=o[0],a=o.reduce(function(l,u){var c=m6(e,u,r);return l.top=il(c.top,l.top),l.right=Ty(c.right,l.right),l.bottom=Ty(c.bottom,l.bottom),l.left=il(c.left,l.left),l},m6(e,s,r));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function zN(e){var t=e.reference,n=e.element,r=e.placement,i=r?So(r):null,o=r?Ec(r):null,s=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(i){case Or:l={x:s,y:t.y-n.height};break;case yi:l={x:s,y:t.y+t.height};break;case vi:l={x:t.x+t.width,y:a};break;case Rr:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var u=i?q5(i):null;if(u!=null){var c=u==="y"?"height":"width";switch(o){case xc:l[u]=l[u]-(t[c]/2-n[c]/2);break;case rh:l[u]=l[u]+(t[c]/2-n[c]/2);break}}return l}function ih(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.strategy,s=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?Vse:a,u=n.rootBoundary,c=u===void 0?NN:u,d=n.elementContext,f=d===void 0?Sd:d,h=n.altBoundary,p=h===void 0?!1:h,m=n.padding,S=m===void 0?0:m,v=BN(typeof S!="number"?S:jN(S,lp)),y=f===Sd?zse:Sd,g=e.rects.popper,b=e.elements[p?y:f],_=_ae(gl(b)?b:b.contextElement||Pa(e.elements.popper),l,c,s),w=Tc(e.elements.reference),x=zN({reference:w,element:g,strategy:"absolute",placement:i}),C=Tw(Object.assign({},g,x)),k=f===Sd?C:w,P={top:_.top-k.top+v.top,bottom:k.bottom-_.bottom+v.bottom,left:_.left-k.left+v.left,right:k.right-_.right+v.right},A=e.modifiersData.offset;if(f===Sd&&A){var $=A[i];Object.keys(P).forEach(function(N){var T=[vi,yi].indexOf(N)>=0?1:-1,O=[Or,yi].indexOf(N)>=0?"y":"x";P[N]+=$[O]*T})}return P}function wae(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?DN:l,c=Ec(r),d=c?a?f6:f6.filter(function(p){return Ec(p)===c}):lp,f=d.filter(function(p){return u.indexOf(p)>=0});f.length===0&&(f=d);var h=f.reduce(function(p,m){return p[m]=ih(e,{placement:m,boundary:i,rootBoundary:o,padding:s})[So(m)],p},{});return Object.keys(h).sort(function(p,m){return h[p]-h[m]})}function xae(e){if(So(e)===U5)return[];var t=lm(e);return[g6(e),t,g6(t)]}function Cae(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,s=n.altAxis,a=s===void 0?!0:s,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,p=h===void 0?!0:h,m=n.allowedAutoPlacements,S=t.options.placement,v=So(S),y=v===S,g=l||(y||!p?[lm(S)]:xae(S)),b=[S].concat(g).reduce(function(K,W){return K.concat(So(W)===U5?wae(t,{placement:W,boundary:c,rootBoundary:d,padding:u,flipVariations:p,allowedAutoPlacements:m}):W)},[]),_=t.rects.reference,w=t.rects.popper,x=new Map,C=!0,k=b[0],P=0;P=0,O=T?"width":"height",I=ih(t,{placement:A,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),M=T?N?vi:Rr:N?yi:Or;_[O]>w[O]&&(M=lm(M));var R=lm(M),D=[];if(o&&D.push(I[$]<=0),a&&D.push(I[M]<=0,I[R]<=0),D.every(function(K){return K})){k=A,C=!1;break}x.set(A,D)}if(C)for(var L=p?3:1,V=function(W){var X=b.find(function(F){var q=x.get(F);if(q)return q.slice(0,W).every(function(Q){return Q})});if(X)return k=X,"break"},z=L;z>0;z--){var U=V(z);if(U==="break")break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}}const Tae={name:"flip",enabled:!0,phase:"main",fn:Cae,requiresIfExists:["offset"],data:{_skip:!1}};function y6(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function v6(e){return[Or,vi,yi,Rr].some(function(t){return e[t]>=0})}function Eae(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,s=ih(t,{elementContext:"reference"}),a=ih(t,{altBoundary:!0}),l=y6(s,r),u=y6(a,i,o),c=v6(l),d=v6(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}const Pae={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Eae};function kae(e,t,n){var r=So(e),i=[Rr,Or].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],a=o[1];return s=s||0,a=(a||0)*i,[Rr,vi].indexOf(r)>=0?{x:a,y:s}:{x:s,y:a}}function Aae(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,s=DN.reduce(function(c,d){return c[d]=kae(d,t.rects,o),c},{}),a=s[t.placement],l=a.x,u=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=s}const Oae={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Aae};function Rae(e){var t=e.state,n=e.name;t.modifiersData[n]=zN({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Iae={name:"popperOffsets",enabled:!0,phase:"read",fn:Rae,data:{}};function Mae(e){return e==="x"?"y":"x"}function Nae(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,s=n.altAxis,a=s===void 0?!1:s,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,f=n.tether,h=f===void 0?!0:f,p=n.tetherOffset,m=p===void 0?0:p,S=ih(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),v=So(t.placement),y=Ec(t.placement),g=!y,b=q5(v),_=Mae(b),w=t.modifiersData.popperOffsets,x=t.rects.reference,C=t.rects.popper,k=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,P=typeof k=="number"?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),A=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,$={x:0,y:0};if(w){if(o){var N,T=b==="y"?Or:Rr,O=b==="y"?yi:vi,I=b==="y"?"height":"width",M=w[b],R=M+S[T],D=M-S[O],L=h?-C[I]/2:0,V=y===xc?x[I]:C[I],z=y===xc?-C[I]:-x[I],U=t.elements.arrow,K=h&&U?H5(U):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:FN(),X=W[T],F=W[O],q=hf(0,x[I],K[I]),Q=g?x[I]/2-L-q-X-P.mainAxis:V-q-X-P.mainAxis,J=g?-x[I]/2+L+q+F+P.mainAxis:z+q+F+P.mainAxis,ne=t.elements.arrow&&up(t.elements.arrow),Z=ne?b==="y"?ne.clientTop||0:ne.clientLeft||0:0,ge=(N=A==null?void 0:A[b])!=null?N:0,ae=M+Q-ge-Z,oe=M+J-ge,Te=hf(h?Ty(R,ae):R,M,h?il(D,oe):D);w[b]=Te,$[b]=Te-M}if(a){var se,We=b==="x"?Or:Rr,yt=b==="x"?yi:vi,Fe=w[_],Be=_==="y"?"height":"width",Me=Fe+S[We],rt=Fe-S[yt],xt=[Or,Rr].indexOf(v)!==-1,mn=(se=A==null?void 0:A[_])!=null?se:0,an=xt?Me:Fe-x[Be]-C[Be]-mn+P.altAxis,Ot=xt?Fe+x[Be]+C[Be]-mn-P.altAxis:rt,ee=h&&xt?iae(an,Fe,Ot):hf(h?an:Me,Fe,h?Ot:rt);w[_]=ee,$[_]=ee-Fe}t.modifiersData[r]=$}}const Dae={name:"preventOverflow",enabled:!0,phase:"main",fn:Nae,requiresIfExists:["offset"]};function Lae(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function $ae(e){return e===qr(e)||!hi(e)?W5(e):Lae(e)}function Fae(e){var t=e.getBoundingClientRect(),n=Cc(t.width)/e.offsetWidth||1,r=Cc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Bae(e,t,n){n===void 0&&(n=!1);var r=hi(t),i=hi(t)&&Fae(t),o=Pa(t),s=Tc(e,i,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((wo(t)!=="body"||Y5(o))&&(a=$ae(t)),hi(t)?(l=Tc(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=K5(o))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function jae(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&i(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function Vae(e){var t=jae(e);return Zse.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function zae(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Uae(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var b6={placement:"bottom",modifiers:[],strategy:"absolute"};function S6(){for(var e=arguments.length,t=new Array(e),n=0;n{}),g=E.useCallback(()=>{var P;!t||!p.current||!m.current||((P=y.current)==null||P.call(y),S.current=qae(p.current,m.current,{placement:v,modifiers:[$se,Nse,Mse,{...Ise,enabled:!!f},{name:"eventListeners",...Rse(s)},{name:"arrow",options:{padding:o}},{name:"offset",options:{offset:a??[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!d,options:{boundary:c}},...n??[]],strategy:i}),S.current.forceUpdate(),y.current=S.current.destroy)},[v,t,n,f,s,o,a,l,u,d,c,i]);E.useEffect(()=>()=>{var P;!p.current&&!m.current&&((P=S.current)==null||P.destroy(),S.current=null)},[]);const b=E.useCallback(P=>{p.current=P,g()},[g]),_=E.useCallback((P={},A=null)=>({...P,ref:fi(b,A)}),[b]),w=E.useCallback(P=>{m.current=P,g()},[g]),x=E.useCallback((P={},A=null)=>({...P,ref:fi(w,A),style:{...P.style,position:i,minWidth:f?void 0:"max-content",inset:"0 auto auto 0"}}),[i,w,f]),C=E.useCallback((P={},A=null)=>{const{size:$,shadowColor:N,bg:T,style:O,...I}=P;return{...I,ref:A,"data-popper-arrow":"",style:Kae(P)}},[]),k=E.useCallback((P={},A=null)=>({...P,ref:A,"data-popper-arrow-inner":""}),[]);return{update(){var P;(P=S.current)==null||P.update()},forceUpdate(){var P;(P=S.current)==null||P.forceUpdate()},transformOrigin:$n.transformOrigin.varRef,referenceRef:b,popperRef:w,getPopperProps:x,getArrowProps:C,getArrowInnerProps:k,getReferenceProps:_}}function Kae(e){const{size:t,shadowColor:n,bg:r,style:i}=e,o={...i,position:"absolute"};return t&&(o["--popper-arrow-size"]=t),n&&(o["--popper-arrow-shadow-color"]=n),r&&(o["--popper-arrow-bg"]=r),o}function Yae(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=Fn(n),s=Fn(t),[a,l]=E.useState(e.defaultIsOpen||!1),u=r!==void 0?r:a,c=r!==void 0,d=E.useId(),f=i??`disclosure-${d}`,h=E.useCallback(()=>{c||l(!1),s==null||s()},[c,s]),p=E.useCallback(()=>{c||l(!0),o==null||o()},[c,o]),m=E.useCallback(()=>{u?h():p()},[u,p,h]);function S(y={}){return{...y,"aria-expanded":u,"aria-controls":f,onClick(g){var b;(b=y.onClick)==null||b.call(y,g),m()}}}function v(y={}){return{...y,hidden:!u,id:f}}return{isOpen:u,onOpen:p,onClose:h,onToggle:m,isControlled:c,getButtonProps:S,getDisclosureProps:v}}var Xae=e=>j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),Qae=e=>j.jsx(Ml,{viewBox:"0 0 24 24",...e,children:j.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function _6(e,t,n,r){E.useEffect(()=>{var i;if(!e.current||!r)return;const o=(i=e.current.ownerDocument.defaultView)!=null?i:window,s=Array.isArray(t)?t:[t],a=new o.MutationObserver(l=>{for(const u of l)u.type==="attributes"&&u.attributeName&&s.includes(u.attributeName)&&n(u)});return a.observe(e.current,{attributes:!0,attributeFilter:s}),()=>a.disconnect()})}function Zae(e,t){const n=Fn(e);E.useEffect(()=>{let r=null;const i=()=>n();return t!==null&&(r=window.setInterval(i,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var Jae=50,w6=300;function ele(e,t){const[n,r]=E.useState(!1),[i,o]=E.useState(null),[s,a]=E.useState(!0),l=E.useRef(null),u=()=>clearTimeout(l.current);Zae(()=>{i==="increment"&&e(),i==="decrement"&&t()},n?Jae:null);const c=E.useCallback(()=>{s&&e(),l.current=setTimeout(()=>{a(!1),r(!0),o("increment")},w6)},[e,s]),d=E.useCallback(()=>{s&&t(),l.current=setTimeout(()=>{a(!1),r(!0),o("decrement")},w6)},[t,s]),f=E.useCallback(()=>{a(!0),r(!1),u()},[]);return E.useEffect(()=>()=>u(),[]),{up:c,down:d,stop:f,isSpinning:n}}var tle=/^[Ee0-9+\-.]$/;function nle(e){return tle.test(e)}function rle(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function ile(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:i=Number.MIN_SAFE_INTEGER,max:o=Number.MAX_SAFE_INTEGER,step:s=1,isReadOnly:a,isDisabled:l,isRequired:u,isInvalid:c,pattern:d="[0-9]*(.[0-9]+)?",inputMode:f="decimal",allowMouseWheel:h,id:p,onChange:m,precision:S,name:v,"aria-describedby":y,"aria-label":g,"aria-labelledby":b,onFocus:_,onBlur:w,onInvalid:x,getAriaValueText:C,isValidCharacter:k,format:P,parse:A,...$}=e,N=Fn(_),T=Fn(w),O=Fn(x),I=Fn(k??nle),M=Fn(C),R=yse(e),{update:D,increment:L,decrement:V}=R,[z,U]=E.useState(!1),K=!(a||l),W=E.useRef(null),X=E.useRef(null),F=E.useRef(null),q=E.useRef(null),Q=E.useCallback(ee=>ee.split("").filter(I).join(""),[I]),J=E.useCallback(ee=>{var _e;return(_e=A==null?void 0:A(ee))!=null?_e:ee},[A]),ne=E.useCallback(ee=>{var _e;return((_e=P==null?void 0:P(ee))!=null?_e:ee).toString()},[P]);gy(()=>{(R.valueAsNumber>o||R.valueAsNumber{if(!W.current)return;if(W.current.value!=R.value){const _e=J(W.current.value);R.setValue(Q(_e))}},[J,Q]);const Z=E.useCallback((ee=s)=>{K&&L(ee)},[L,K,s]),ge=E.useCallback((ee=s)=>{K&&V(ee)},[V,K,s]),ae=ele(Z,ge);_6(F,"disabled",ae.stop,ae.isSpinning),_6(q,"disabled",ae.stop,ae.isSpinning);const oe=E.useCallback(ee=>{if(ee.nativeEvent.isComposing)return;const Ee=J(ee.currentTarget.value);D(Q(Ee)),X.current={start:ee.currentTarget.selectionStart,end:ee.currentTarget.selectionEnd}},[D,Q,J]),Te=E.useCallback(ee=>{var _e,Ee,Ne;N==null||N(ee),X.current&&(ee.target.selectionStart=(Ee=X.current.start)!=null?Ee:(_e=ee.currentTarget.value)==null?void 0:_e.length,ee.currentTarget.selectionEnd=(Ne=X.current.end)!=null?Ne:ee.currentTarget.selectionStart)},[N]),se=E.useCallback(ee=>{if(ee.nativeEvent.isComposing)return;rle(ee,I)||ee.preventDefault();const _e=We(ee)*s,Ee=ee.key,ie={ArrowUp:()=>Z(_e),ArrowDown:()=>ge(_e),Home:()=>D(i),End:()=>D(o)}[Ee];ie&&(ee.preventDefault(),ie(ee))},[I,s,Z,ge,D,i,o]),We=ee=>{let _e=1;return(ee.metaKey||ee.ctrlKey)&&(_e=.1),ee.shiftKey&&(_e=10),_e},yt=E.useMemo(()=>{const ee=M==null?void 0:M(R.value);if(ee!=null)return ee;const _e=R.value.toString();return _e||void 0},[R.value,M]),Fe=E.useCallback(()=>{let ee=R.value;if(R.value==="")return;/^[eE]/.test(R.value.toString())?R.setValue(""):(R.valueAsNumbero&&(ee=o),R.cast(ee))},[R,o,i]),Be=E.useCallback(()=>{U(!1),n&&Fe()},[n,U,Fe]),Me=E.useCallback(()=>{t&&requestAnimationFrame(()=>{var ee;(ee=W.current)==null||ee.focus()})},[t]),rt=E.useCallback(ee=>{ee.preventDefault(),ae.up(),Me()},[Me,ae]),xt=E.useCallback(ee=>{ee.preventDefault(),ae.down(),Me()},[Me,ae]);am(()=>W.current,"wheel",ee=>{var _e,Ee;const ie=((Ee=(_e=W.current)==null?void 0:_e.ownerDocument)!=null?Ee:document).activeElement===W.current;if(!h||!ie)return;ee.preventDefault();const he=We(ee)*s,Qt=Math.sign(ee.deltaY);Qt===-1?Z(he):Qt===1&&ge(he)},{passive:!1});const mn=E.useCallback((ee={},_e=null)=>{const Ee=l||r&&R.isAtMax;return{...ee,ref:fi(_e,F),role:"button",tabIndex:-1,onPointerDown:Dn(ee.onPointerDown,Ne=>{Ne.button!==0||Ee||rt(Ne)}),onPointerLeave:Dn(ee.onPointerLeave,ae.stop),onPointerUp:Dn(ee.onPointerUp,ae.stop),disabled:Ee,"aria-disabled":Yu(Ee)}},[R.isAtMax,r,rt,ae.stop,l]),an=E.useCallback((ee={},_e=null)=>{const Ee=l||r&&R.isAtMin;return{...ee,ref:fi(_e,q),role:"button",tabIndex:-1,onPointerDown:Dn(ee.onPointerDown,Ne=>{Ne.button!==0||Ee||xt(Ne)}),onPointerLeave:Dn(ee.onPointerLeave,ae.stop),onPointerUp:Dn(ee.onPointerUp,ae.stop),disabled:Ee,"aria-disabled":Yu(Ee)}},[R.isAtMin,r,xt,ae.stop,l]),Ot=E.useCallback((ee={},_e=null)=>{var Ee,Ne,ie,he;return{name:v,inputMode:f,type:"text",pattern:d,"aria-labelledby":b,"aria-label":g,"aria-describedby":y,id:p,disabled:l,...ee,readOnly:(Ee=ee.readOnly)!=null?Ee:a,"aria-readonly":(Ne=ee.readOnly)!=null?Ne:a,"aria-required":(ie=ee.required)!=null?ie:u,required:(he=ee.required)!=null?he:u,ref:fi(W,_e),value:ne(R.value),role:"spinbutton","aria-valuemin":i,"aria-valuemax":o,"aria-valuenow":Number.isNaN(R.valueAsNumber)?void 0:R.valueAsNumber,"aria-invalid":Yu(c??R.isOutOfRange),"aria-valuetext":yt,autoComplete:"off",autoCorrect:"off",onChange:Dn(ee.onChange,oe),onKeyDown:Dn(ee.onKeyDown,se),onFocus:Dn(ee.onFocus,Te,()=>U(!0)),onBlur:Dn(ee.onBlur,T,Be)}},[v,f,d,b,g,ne,y,p,l,u,a,c,R.value,R.valueAsNumber,R.isOutOfRange,i,o,yt,oe,se,Te,T,Be]);return{value:ne(R.value),valueAsNumber:R.valueAsNumber,isFocused:z,isDisabled:l,isReadOnly:a,getIncrementButtonProps:mn,getDecrementButtonProps:an,getInputProps:Ot,htmlProps:$}}var[ole,$v]=Si({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[sle,X5]=Si({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),UN=Ze(function(t,n){const r=Ev("NumberInput",t),i=Ao(t),o=TN(i),{htmlProps:s,...a}=ile(o),l=E.useMemo(()=>a,[a]);return j.jsx(sle,{value:l,children:j.jsx(ole,{value:r,children:j.jsx(Ae.div,{...s,ref:n,className:Gn("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});UN.displayName="NumberInput";var GN=Ze(function(t,n){const r=$v();return j.jsx(Ae.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});GN.displayName="NumberInputStepper";var HN=Ze(function(t,n){const{getInputProps:r}=X5(),i=r(t,n),o=$v();return j.jsx(Ae.input,{...i,className:Gn("chakra-numberinput__field",t.className),__css:{width:"100%",...o.field}})});HN.displayName="NumberInputField";var qN=Ae("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),WN=Ze(function(t,n){var r;const i=$v(),{getDecrementButtonProps:o}=X5(),s=o(t,n);return j.jsx(qN,{...s,__css:i.stepper,children:(r=t.children)!=null?r:j.jsx(Xae,{})})});WN.displayName="NumberDecrementStepper";var KN=Ze(function(t,n){var r;const{getIncrementButtonProps:i}=X5(),o=i(t,n),s=$v();return j.jsx(qN,{...o,__css:s.stepper,children:(r=t.children)!=null?r:j.jsx(Qae,{})})});KN.displayName="NumberIncrementStepper";var Ql=e=>e?"":void 0,HS=e=>e?!0:void 0,cp=(...e)=>e.filter(Boolean).join(" ");function qS(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function _Te(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function ug(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var um={width:0,height:0},cg=e=>e||um;function ale(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:i}=e,o=m=>{var S;const v=(S=r[m])!=null?S:um;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...ug({orientation:t,vertical:{bottom:`calc(${n[m]}% - ${v.height/2}px)`},horizontal:{left:`calc(${n[m]}% - ${v.width/2}px)`}})}},s=t==="vertical"?r.reduce((m,S)=>cg(m).height>cg(S).height?m:S,um):r.reduce((m,S)=>cg(m).width>cg(S).width?m:S,um),a={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...ug({orientation:t,vertical:s?{paddingLeft:s.width/2,paddingRight:s.width/2}:{},horizontal:s?{paddingTop:s.height/2,paddingBottom:s.height/2}:{}})},l={position:"absolute",...ug({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},u=n.length===1,c=[0,i?100-n[0]:n[0]],d=u?c:n;let f=d[0];!u&&i&&(f=100-f);const h=Math.abs(d[d.length-1]-d[0]),p={...l,...ug({orientation:t,vertical:i?{height:`${h}%`,top:`${f}%`}:{height:`${h}%`,bottom:`${f}%`},horizontal:i?{width:`${h}%`,right:`${f}%`}:{width:`${h}%`,left:`${f}%`}})};return{trackStyle:l,innerTrackStyle:p,rootStyle:a,getThumbStyle:o}}function lle(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function ule(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function cle(e){const t=fle(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function YN(e){return!!e.touches}function dle(e){return YN(e)&&e.touches.length>1}function fle(e){var t;return(t=e.view)!=null?t:window}function hle(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function ple(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function XN(e,t="page"){return YN(e)?hle(e,t):ple(e,t)}function gle(e){return t=>{const n=cle(t);(!n||n&&t.button===0)&&e(t)}}function mle(e,t=!1){function n(i){e(i,{point:XN(i)})}return t?gle(n):n}function cm(e,t,n,r){return ule(e,t,mle(n,t==="pointerdown"),r)}var yle=Object.defineProperty,vle=(e,t,n)=>t in e?yle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xi=(e,t,n)=>(vle(e,typeof t!="symbol"?t+"":t,n),n),ble=class{constructor(e,t,n){xi(this,"history",[]),xi(this,"startEvent",null),xi(this,"lastEvent",null),xi(this,"lastEventInfo",null),xi(this,"handlers",{}),xi(this,"removeListeners",()=>{}),xi(this,"threshold",3),xi(this,"win"),xi(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const a=WS(this.lastEventInfo,this.history),l=this.startEvent!==null,u=xle(a.offset,{x:0,y:0})>=this.threshold;if(!l&&!u)return;const{timestamp:c}=YE();this.history.push({...a.point,timestamp:c});const{onStart:d,onMove:f}=this.handlers;l||(d==null||d(this.lastEvent,a),this.startEvent=this.lastEvent),f==null||f(this.lastEvent,a)}),xi(this,"onPointerMove",(a,l)=>{this.lastEvent=a,this.lastEventInfo=l,Qee.update(this.updatePoint,!0)}),xi(this,"onPointerUp",(a,l)=>{const u=WS(l,this.history),{onEnd:c,onSessionEnd:d}=this.handlers;d==null||d(a,u),this.end(),!(!c||!this.startEvent)&&(c==null||c(a,u))});var r;if(this.win=(r=e.view)!=null?r:window,dle(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const i={point:XN(e)},{timestamp:o}=YE();this.history=[{...i.point,timestamp:o}];const{onSessionStart:s}=t;s==null||s(e,WS(i,this.history)),this.removeListeners=wle(cm(this.win,"pointermove",this.onPointerMove),cm(this.win,"pointerup",this.onPointerUp),cm(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),Zee.update(this.updatePoint)}};function x6(e,t){return{x:e.x-t.x,y:e.y-t.y}}function WS(e,t){return{point:e.point,delta:x6(e.point,t[t.length-1]),offset:x6(e.point,t[0]),velocity:_le(t,.1)}}var Sle=e=>e*1e3;function _le(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=e[e.length-1];for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Sle(t)));)n--;if(!r)return{x:0,y:0};const o=(i.timestamp-r.timestamp)/1e3;if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function wle(...e){return t=>e.reduce((n,r)=>r(n),t)}function KS(e,t){return Math.abs(e-t)}function C6(e){return"x"in e&&"y"in e}function xle(e,t){if(typeof e=="number"&&typeof t=="number")return KS(e,t);if(C6(e)&&C6(t)){const n=KS(e.x,t.x),r=KS(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function QN(e){const t=E.useRef(null);return t.current=e,t}function Cle(e,t){const{onPan:n,onPanStart:r,onPanEnd:i,onPanSessionStart:o,onPanSessionEnd:s,threshold:a}=t,l=!!(n||r||i||o||s),u=E.useRef(null),c=QN({onSessionStart:o,onSessionEnd:s,onStart:r,onMove:n,onEnd(d,f){u.current=null,i==null||i(d,f)}});E.useEffect(()=>{var d;(d=u.current)==null||d.updateHandlers(c.current)}),E.useEffect(()=>{const d=e.current;if(!d||!l)return;function f(h){u.current=new ble(h,c.current,a)}return cm(d,"pointerdown",f)},[e,l,c,a]),E.useEffect(()=>()=>{var d;(d=u.current)==null||d.end(),u.current=null},[])}function Tle(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const[o]=i;let s,a;if("borderBoxSize"in o){const l=o.borderBoxSize,u=Array.isArray(l)?l[0]:l;s=u.inlineSize,a=u.blockSize}else s=e.offsetWidth,a=e.offsetHeight;t({width:s,height:a})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var Ele=globalThis!=null&&globalThis.document?E.useLayoutEffect:E.useEffect;function Ple(e,t){var n,r;if(!e||!e.parentElement)return;const i=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,o=new i.MutationObserver(()=>{t()});return o.observe(e.parentElement,{childList:!0}),()=>{o.disconnect()}}function kle({getNodes:e,observeMutation:t=!0}){const[n,r]=E.useState([]),[i,o]=E.useState(0);return Ele(()=>{const s=e(),a=s.map((l,u)=>Tle(l,c=>{r(d=>[...d.slice(0,u),c,...d.slice(u+1)])}));if(t){const l=s[0];a.push(Ple(l,()=>{o(u=>u+1)}))}return()=>{a.forEach(l=>{l==null||l()})}},[i]),n}function Ale(e){return typeof e=="object"&&e!==null&&"current"in e}function Ole(e){const[t]=kle({observeMutation:!1,getNodes(){return[Ale(e)?e.current:e]}});return t}function Rle(e){var t;const{min:n=0,max:r=100,onChange:i,value:o,defaultValue:s,isReversed:a,direction:l="ltr",orientation:u="horizontal",id:c,isDisabled:d,isReadOnly:f,onChangeStart:h,onChangeEnd:p,step:m=1,getAriaValueText:S,"aria-valuetext":v,"aria-label":y,"aria-labelledby":g,name:b,focusThumbOnChange:_=!0,...w}=e,x=Fn(h),C=Fn(p),k=Fn(S),P=lle({isReversed:a,direction:l,orientation:u}),[A,$]=ise({value:o,defaultValue:s??Mle(n,r),onChange:i}),[N,T]=E.useState(!1),[O,I]=E.useState(!1),M=!(d||f),R=(r-n)/10,D=m||(r-n)/100,L=sm(A,n,r),V=r-L+n,U=s6(P?V:L,n,r),K=u==="vertical",W=QN({min:n,max:r,step:m,isDisabled:d,value:L,isInteractive:M,isReversed:P,isVertical:K,eventSource:null,focusThumbOnChange:_,orientation:u}),X=E.useRef(null),F=E.useRef(null),q=E.useRef(null),Q=E.useId(),J=c??Q,[ne,Z]=[`slider-thumb-${J}`,`slider-track-${J}`],ge=E.useCallback(ie=>{var he,Qt;if(!X.current)return;const Rt=W.current;Rt.eventSource="pointer";const ut=X.current.getBoundingClientRect(),{clientX:rr,clientY:Mo}=(Qt=(he=ie.touches)==null?void 0:he[0])!=null?Qt:ie,Qr=K?ut.bottom-Mo:rr-ut.left,No=K?ut.height:ut.width;let ct=Qr/No;P&&(ct=1-ct);let Ke=mse(ct,Rt.min,Rt.max);return Rt.step&&(Ke=parseFloat(a6(Ke,Rt.min,Rt.step))),Ke=sm(Ke,Rt.min,Rt.max),Ke},[K,P,W]),ae=E.useCallback(ie=>{const he=W.current;he.isInteractive&&(ie=parseFloat(a6(ie,he.min,D)),ie=sm(ie,he.min,he.max),$(ie))},[D,$,W]),oe=E.useMemo(()=>({stepUp(ie=D){const he=P?L-ie:L+ie;ae(he)},stepDown(ie=D){const he=P?L+ie:L-ie;ae(he)},reset(){ae(s||0)},stepTo(ie){ae(ie)}}),[ae,P,L,D,s]),Te=E.useCallback(ie=>{const he=W.current,Rt={ArrowRight:()=>oe.stepUp(),ArrowUp:()=>oe.stepUp(),ArrowLeft:()=>oe.stepDown(),ArrowDown:()=>oe.stepDown(),PageUp:()=>oe.stepUp(R),PageDown:()=>oe.stepDown(R),Home:()=>ae(he.min),End:()=>ae(he.max)}[ie.key];Rt&&(ie.preventDefault(),ie.stopPropagation(),Rt(ie),he.eventSource="keyboard")},[oe,ae,R,W]),se=(t=k==null?void 0:k(L))!=null?t:v,We=Ole(F),{getThumbStyle:yt,rootStyle:Fe,trackStyle:Be,innerTrackStyle:Me}=E.useMemo(()=>{const ie=W.current,he=We??{width:0,height:0};return ale({isReversed:P,orientation:ie.orientation,thumbRects:[he],thumbPercents:[U]})},[P,We,U,W]),rt=E.useCallback(()=>{W.current.focusThumbOnChange&&setTimeout(()=>{var he;return(he=F.current)==null?void 0:he.focus()})},[W]);gy(()=>{const ie=W.current;rt(),ie.eventSource==="keyboard"&&(C==null||C(ie.value))},[L,C]);function xt(ie){const he=ge(ie);he!=null&&he!==W.current.value&&$(he)}Cle(q,{onPanSessionStart(ie){const he=W.current;he.isInteractive&&(T(!0),rt(),xt(ie),x==null||x(he.value))},onPanSessionEnd(){const ie=W.current;ie.isInteractive&&(T(!1),C==null||C(ie.value))},onPan(ie){W.current.isInteractive&&xt(ie)}});const mn=E.useCallback((ie={},he=null)=>({...ie,...w,ref:fi(he,q),tabIndex:-1,"aria-disabled":HS(d),"data-focused":Ql(O),style:{...ie.style,...Fe}}),[w,d,O,Fe]),an=E.useCallback((ie={},he=null)=>({...ie,ref:fi(he,X),id:Z,"data-disabled":Ql(d),style:{...ie.style,...Be}}),[d,Z,Be]),Ot=E.useCallback((ie={},he=null)=>({...ie,ref:he,style:{...ie.style,...Me}}),[Me]),ee=E.useCallback((ie={},he=null)=>({...ie,ref:fi(he,F),role:"slider",tabIndex:M?0:void 0,id:ne,"data-active":Ql(N),"aria-valuetext":se,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":L,"aria-orientation":u,"aria-disabled":HS(d),"aria-readonly":HS(f),"aria-label":y,"aria-labelledby":y?void 0:g,style:{...ie.style,...yt(0)},onKeyDown:qS(ie.onKeyDown,Te),onFocus:qS(ie.onFocus,()=>I(!0)),onBlur:qS(ie.onBlur,()=>I(!1))}),[M,ne,N,se,n,r,L,u,d,f,y,g,yt,Te]),_e=E.useCallback((ie,he=null)=>{const Qt=!(ie.valuer),Rt=L>=ie.value,ut=s6(ie.value,n,r),rr={position:"absolute",pointerEvents:"none",...Ile({orientation:u,vertical:{bottom:P?`${100-ut}%`:`${ut}%`},horizontal:{left:P?`${100-ut}%`:`${ut}%`}})};return{...ie,ref:he,role:"presentation","aria-hidden":!0,"data-disabled":Ql(d),"data-invalid":Ql(!Qt),"data-highlighted":Ql(Rt),style:{...ie.style,...rr}}},[d,P,r,n,u,L]),Ee=E.useCallback((ie={},he=null)=>({...ie,ref:he,type:"hidden",value:L,name:b}),[b,L]);return{state:{value:L,isFocused:O,isDragging:N},actions:oe,getRootProps:mn,getTrackProps:an,getInnerTrackProps:Ot,getThumbProps:ee,getMarkerProps:_e,getInputProps:Ee}}function Ile(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function Mle(e,t){return t"}),[Dle,Bv]=Si({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),ZN=Ze((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},i=Ev("Slider",r),o=Ao(r),{direction:s}=wv();o.direction=s;const{getInputProps:a,getRootProps:l,...u}=Rle(o),c=l(),d=a({},t);return j.jsx(Nle,{value:u,children:j.jsx(Dle,{value:i,children:j.jsxs(Ae.div,{...c,className:cp("chakra-slider",r.className),__css:i.container,children:[r.children,j.jsx("input",{...d})]})})})});ZN.displayName="Slider";var JN=Ze((e,t)=>{const{getThumbProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__thumb",e.className),__css:r.thumb})});JN.displayName="SliderThumb";var eD=Ze((e,t)=>{const{getTrackProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__track",e.className),__css:r.track})});eD.displayName="SliderTrack";var tD=Ze((e,t)=>{const{getInnerTrackProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__filled-track",e.className),__css:r.filledTrack})});tD.displayName="SliderFilledTrack";var du=Ze((e,t)=>{const{getMarkerProps:n}=Fv(),r=Bv(),i=n(e,t);return j.jsx(Ae.div,{...i,className:cp("chakra-slider__marker",e.className),__css:r.mark})});du.displayName="SliderMark";var Lle={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},Ew=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},dm=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function $le(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:i,closeOnScroll:o,closeOnPointerDown:s=i,closeOnEsc:a=!0,onOpen:l,onClose:u,placement:c,id:d,isOpen:f,defaultIsOpen:h,arrowSize:p=10,arrowShadowColor:m,arrowPadding:S,modifiers:v,isDisabled:y,gutter:g,offset:b,direction:_,...w}=e,{isOpen:x,onOpen:C,onClose:k}=Yae({isOpen:f,defaultIsOpen:h,onOpen:l,onClose:u}),{referenceRef:P,getPopperProps:A,getArrowInnerProps:$,getArrowProps:N}=Wae({enabled:x,placement:c,arrowPadding:S,modifiers:v,gutter:g,offset:b,direction:_}),T=E.useId(),I=`tooltip-${d??T}`,M=E.useRef(null),R=E.useRef(),D=E.useCallback(()=>{R.current&&(clearTimeout(R.current),R.current=void 0)},[]),L=E.useRef(),V=E.useCallback(()=>{L.current&&(clearTimeout(L.current),L.current=void 0)},[]),z=E.useCallback(()=>{V(),k()},[k,V]),U=Fle(M,z),K=E.useCallback(()=>{if(!y&&!R.current){U();const Z=dm(M);R.current=Z.setTimeout(C,t)}},[U,y,C,t]),W=E.useCallback(()=>{D();const Z=dm(M);L.current=Z.setTimeout(z,n)},[n,z,D]),X=E.useCallback(()=>{x&&r&&W()},[r,W,x]),F=E.useCallback(()=>{x&&s&&W()},[s,W,x]),q=E.useCallback(Z=>{x&&Z.key==="Escape"&&W()},[x,W]);am(()=>Ew(M),"keydown",a?q:void 0),am(()=>{const Z=M.current;if(!Z)return null;const ge=AN(Z);return ge.localName==="body"?dm(M):ge},"scroll",()=>{x&&o&&z()},{passive:!0,capture:!0}),E.useEffect(()=>{y&&(D(),x&&k())},[y,x,k,D]),E.useEffect(()=>()=>{D(),V()},[D,V]),am(()=>M.current,"pointerleave",W);const Q=E.useCallback((Z={},ge=null)=>({...Z,ref:fi(M,ge,P),onPointerEnter:Dn(Z.onPointerEnter,oe=>{oe.pointerType!=="touch"&&K()}),onClick:Dn(Z.onClick,X),onPointerDown:Dn(Z.onPointerDown,F),onFocus:Dn(Z.onFocus,K),onBlur:Dn(Z.onBlur,W),"aria-describedby":x?I:void 0}),[K,W,F,x,I,X,P]),J=E.useCallback((Z={},ge=null)=>A({...Z,style:{...Z.style,[$n.arrowSize.var]:p?`${p}px`:void 0,[$n.arrowShadowColor.var]:m}},ge),[A,p,m]),ne=E.useCallback((Z={},ge=null)=>{const ae={...Z.style,position:"relative",transformOrigin:$n.transformOrigin.varRef};return{ref:ge,...w,...Z,id:I,role:"tooltip",style:ae}},[w,I]);return{isOpen:x,show:K,hide:W,getTriggerProps:Q,getTooltipProps:ne,getTooltipPositionerProps:J,getArrowProps:N,getArrowInnerProps:$}}var YS="chakra-ui:close-tooltip";function Fle(e,t){return E.useEffect(()=>{const n=Ew(e);return n.addEventListener(YS,t),()=>n.removeEventListener(YS,t)},[t,e]),()=>{const n=Ew(e),r=dm(e);n.dispatchEvent(new r.CustomEvent(YS))}}function Ble(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function jle(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Vle=Ae(D5.div),Q5=Ze((e,t)=>{var n,r;const i=Ol("Tooltip",e),o=Ao(e),s=wv(),{children:a,label:l,shouldWrapChildren:u,"aria-label":c,hasArrow:d,bg:f,portalProps:h,background:p,backgroundColor:m,bgColor:S,motionProps:v,...y}=o,g=(r=(n=p??m)!=null?n:f)!=null?r:S;if(g){i.bg=g;const A=$ee(s,"colors",g);i[$n.arrowBg.var]=A}const b=$le({...y,direction:s.direction}),_=typeof a=="string"||u;let w;if(_)w=j.jsx(Ae.span,{display:"inline-block",tabIndex:0,...b.getTriggerProps(),children:a});else{const A=E.Children.only(a);w=E.cloneElement(A,b.getTriggerProps(A.props,A.ref))}const x=!!c,C=b.getTooltipProps({},t),k=x?Ble(C,["role","id"]):C,P=jle(C,["role","id"]);return l?j.jsxs(j.Fragment,{children:[w,j.jsx(L5,{children:b.isOpen&&j.jsx(tp,{...h,children:j.jsx(Ae.div,{...b.getTooltipPositionerProps(),__css:{zIndex:i.zIndex,pointerEvents:"none"},children:j.jsxs(Vle,{variants:Lle,initial:"exit",animate:"enter",exit:"exit",...v,...k,__css:i,children:[l,x&&j.jsx(Ae.span,{srOnly:!0,...P,children:c}),d&&j.jsx(Ae.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:j.jsx(Ae.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:i.bg}})})]})})})})]}):j.jsx(j.Fragment,{children:a})});Q5.displayName="Tooltip";const nD={shift:!1},rD=zt({name:"hotkeys",initialState:nD,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:T6}=rD.actions,zle=rD.reducer,wTe=e=>e.hotkeys;function Ule(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}};function P6(e,t,n){e.loadNamespaces(t,iD(e,n))}function k6(e,t,n,r){typeof n=="string"&&(n=[n]),n.forEach(i=>{e.options.ns.indexOf(i)<0&&e.options.ns.push(i)}),e.loadLanguages(t,iD(e,r))}function Gle(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=t.languages[0],i=t.options?t.options.fallbackLng:!1,o=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=t.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(r,e)&&(!i||s(o,e)))}function Hle(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(Pw("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(i,o)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!o(i.isLanguageChangingTo,e))return!1}}):Gle(e,t,n)}const qle=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Wle={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Kle=e=>Wle[e],Yle=e=>e.replace(qle,Kle);let kw={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Yle};function Xle(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};kw={...kw,...e}}function Qle(){return kw}let oD;function Zle(e){oD=e}function Jle(){return oD}const eue={type:"3rdParty",init(e){Xle(e.options.react),Zle(e)}},tue=E.createContext();class nue{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const rue=(e,t)=>{const n=E.useRef();return E.useEffect(()=>{n.current=t?n.current:e},[e,t]),n.current};function sD(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=t,{i18n:r,defaultNS:i}=E.useContext(tue)||{},o=n||r||Jle();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new nue),!o){Pw("You will need to pass in an i18next instance by using initReactI18next");const g=(_,w)=>typeof w=="string"?w:w&&typeof w=="object"&&typeof w.defaultValue=="string"?w.defaultValue:Array.isArray(_)?_[_.length-1]:_,b=[g,{},!1];return b.t=g,b.i18n={},b.ready=!1,b}o.options.react&&o.options.react.wait!==void 0&&Pw("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Qle(),...o.options.react,...t},{useSuspense:a,keyPrefix:l}=s;let u=e||i||o.options&&o.options.defaultNS;u=typeof u=="string"?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const c=(o.isInitialized||o.initializedStoreOnce)&&u.every(g=>Hle(g,o,s));function d(){return o.getFixedT(t.lng||null,s.nsMode==="fallback"?u:u[0],l)}const[f,h]=E.useState(d);let p=u.join();t.lng&&(p=`${t.lng}${p}`);const m=rue(p),S=E.useRef(!0);E.useEffect(()=>{const{bindI18n:g,bindI18nStore:b}=s;S.current=!0,!c&&!a&&(t.lng?k6(o,t.lng,u,()=>{S.current&&h(d)}):P6(o,u,()=>{S.current&&h(d)})),c&&m&&m!==p&&S.current&&h(d);function _(){S.current&&h(d)}return g&&o&&o.on(g,_),b&&o&&o.store.on(b,_),()=>{S.current=!1,g&&o&&g.split(" ").forEach(w=>o.off(w,_)),b&&o&&b.split(" ").forEach(w=>o.store.off(w,_))}},[o,p]);const v=E.useRef(!0);E.useEffect(()=>{S.current&&!v.current&&h(d),v.current=!1},[o,l]);const y=[f,o,c];if(y.t=f,y.i18n=o,y.ready=c,c||!c&&!a)return y;throw new Promise(g=>{t.lng?k6(o,t.lng,u,()=>g()):P6(o,u,()=>g())})}var aD={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A6=ze.createContext&&ze.createContext(aD),na=globalThis&&globalThis.__assign||function(){return na=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{role:n,tooltip:r="",tooltipProps:i,isChecked:o,...s}=e;return j.jsx(Q5,{label:r,hasArrow:!0,...i,...i!=null&&i.placement?{placement:i.placement}:{placement:"top"},children:j.jsx(SN,{ref:t,role:n,colorScheme:o?"accent":"base",...s})})});uD.displayName="IAIIconButton";const lue=E.memo(uD),uue=e=>{const[t,n]=E.useState(!1),{label:r,value:i,min:o=1,max:s=100,step:a=1,onChange:l,tooltipSuffix:u="",withSliderMarks:c=!1,withInput:d=!1,isInteger:f=!1,inputWidth:h=16,withReset:p=!1,hideTooltip:m=!1,isCompact:S=!1,isDisabled:v=!1,sliderMarks:y,handleReset:g,sliderFormControlProps:b,sliderFormLabelProps:_,sliderMarkProps:w,sliderTrackProps:x,sliderThumbProps:C,sliderNumberInputProps:k,sliderNumberInputFieldProps:P,sliderNumberInputStepperProps:A,sliderTooltipProps:$,sliderIAIIconButtonProps:N,...T}=e,O=qc(),{t:I}=sD(),[M,R]=E.useState(String(i));E.useEffect(()=>{R(i)},[i]);const D=E.useMemo(()=>k!=null&&k.max?k.max:s,[s,k==null?void 0:k.max]),L=E.useCallback(F=>{l(F)},[l]),V=E.useCallback(F=>{F.target.value===""&&(F.target.value=String(o));const q=Xo(f?Math.floor(Number(F.target.value)):Number(M),o,D),Q=zd(q,a);l(Q),R(Q)},[f,M,o,D,l,a]),z=E.useCallback(F=>{console.log("input"),R(F)},[]),U=E.useCallback(()=>{g&&g()},[g]),K=E.useCallback(F=>{F.target instanceof HTMLDivElement&&F.target.focus()},[]),W=E.useCallback(F=>{F.shiftKey&&O(T6(!0))},[O]),X=E.useCallback(F=>{F.shiftKey||O(T6(!1))},[O]);return j.jsxs(wN,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:v,...b,children:[r&&j.jsx(xN,{sx:d?{mb:-1.5}:{},..._,children:r}),j.jsxs(IN,{w:"100%",gap:2,alignItems:"center",children:[j.jsxs(ZN,{"aria-label":r,value:i,min:o,max:s,step:a,onChange:L,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:v,...T,children:[c&&!y&&j.jsxs(j.Fragment,{children:[j.jsx(du,{value:o,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...w,children:o}),j.jsx(du,{value:s,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...w,children:s})]}),c&&y&&j.jsx(j.Fragment,{children:y.map((F,q)=>q===0?j.jsx(du,{value:F,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...w,children:F},F):q===y.length-1?j.jsx(du,{value:F,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...w,children:F},F):j.jsx(du,{value:F,sx:{transform:"translateX(-50%)"},...w,children:F},F))}),j.jsx(eD,{...x,children:j.jsx(tD,{})}),j.jsx(Q5,{hasArrow:!0,placement:"top",isOpen:t,label:`${i}${u}`,hidden:m,...$,children:j.jsx(JN,{...C,zIndex:0})})]}),d&&j.jsxs(UN,{min:o,max:D,step:a,value:M,onChange:z,onBlur:V,focusInputOnChange:!1,...k,children:[j.jsx(HN,{onKeyDown:W,onKeyUp:X,minWidth:h,...P}),j.jsxs(GN,{...A,children:[j.jsx(KN,{onClick:()=>l(Number(M))}),j.jsx(WN,{onClick:()=>l(Number(M))})]})]}),p&&j.jsx(lue,{size:"sm","aria-label":I("accessibility.reset"),tooltip:I("accessibility.reset"),icon:j.jsx(aue,{}),isDisabled:v,onClick:U,...N})]})]})},cue=E.memo(uue),Hd={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}};function xTe(){const e=cy(l=>l.generation.clipSkip),{model:t}=cy(l=>l.generation),n=qc(),{t:r}=sD(),i=E.useCallback(l=>{n(I6(l))},[n]),o=E.useCallback(()=>{n(I6(0))},[n]),s=E.useMemo(()=>t?Hd[t.base_model].maxClip:Hd["sd-1"].maxClip,[t]),a=E.useMemo(()=>t?Hd[t.base_model].markers:Hd["sd-1"].markers,[t]);return j.jsx(cue,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:s,step:1,value:e,onChange:i,withSliderMarks:!0,sliderMarks:a,withInput:!0,withReset:!0,handleReset:o})}var Qe;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(Qe||(Qe={}));var Aw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Aw||(Aw={}));const le=Qe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),js=e=>{switch(typeof e){case"undefined":return le.undefined;case"string":return le.string;case"number":return isNaN(e)?le.nan:le.number;case"boolean":return le.boolean;case"function":return le.function;case"bigint":return le.bigint;case"symbol":return le.symbol;case"object":return Array.isArray(e)?le.array:e===null?le.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?le.promise:typeof Map<"u"&&e instanceof Map?le.map:typeof Set<"u"&&e instanceof Set?le.set:typeof Date<"u"&&e instanceof Date?le.date:le.object;default:return le.unknown}},re=Qe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),due=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class $i extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}$i.create=e=>new $i(e);const oh=(e,t)=>{let n;switch(e.code){case re.invalid_type:e.received===le.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case re.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Qe.jsonStringifyReplacer)}`;break;case re.unrecognized_keys:n=`Unrecognized key(s) in object: ${Qe.joinValues(e.keys,", ")}`;break;case re.invalid_union:n="Invalid input";break;case re.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Qe.joinValues(e.options)}`;break;case re.invalid_enum_value:n=`Invalid enum value. Expected ${Qe.joinValues(e.options)}, received '${e.received}'`;break;case re.invalid_arguments:n="Invalid function arguments";break;case re.invalid_return_type:n="Invalid function return type";break;case re.invalid_date:n="Invalid date";break;case re.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Qe.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case re.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case re.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case re.custom:n="Invalid input";break;case re.invalid_intersection_types:n="Intersection results could not be merged";break;case re.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case re.not_finite:n="Number must be finite";break;default:n=t.defaultError,Qe.assertNever(e)}return{message:n}};let cD=oh;function fue(e){cD=e}function Ey(){return cD}const Py=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},hue=[];function ce(e,t){const n=Py({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,Ey(),oh].filter(r=>!!r)});e.common.issues.push(n)}class er{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return Ce;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return er.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return Ce;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const Ce=Object.freeze({status:"aborted"}),dD=e=>({status:"dirty",value:e}),pr=e=>({status:"valid",value:e}),Ow=e=>e.status==="aborted",Rw=e=>e.status==="dirty",ky=e=>e.status==="valid",Ay=e=>typeof Promise<"u"&&e instanceof Promise;var be;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(be||(be={}));class xo{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const O6=(e,t)=>{if(ky(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new $i(e.common.issues);return this._error=n,this._error}}};function Oe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class Re{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return js(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:js(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new er,ctx:{common:t.parent.common,data:t.data,parsedType:js(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Ay(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:js(t)},o=this._parseSync({data:t,path:i.path,parent:i});return O6(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:js(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(Ay(i)?i:Promise.resolve(i));return O6(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:re.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ui({schema:this,typeName:xe.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return ns.create(this,this._def)}nullable(){return vl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Fi.create(this,this._def)}promise(){return kc.create(this,this._def)}or(t){return uh.create([this,t],this._def)}and(t){return ch.create(this,t,this._def)}transform(t){return new Ui({...Oe(this._def),schema:this,typeName:xe.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new gh({...Oe(this._def),innerType:this,defaultValue:n,typeName:xe.ZodDefault})}brand(){return new hD({typeName:xe.ZodBranded,type:this,...Oe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new My({...Oe(this._def),innerType:this,catchValue:n,typeName:xe.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return dp.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const pue=/^c[^\s-]{8,}$/i,gue=/^[a-z][a-z0-9]*$/,mue=/[0-9A-HJKMNP-TV-Z]{26}/,yue=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,vue=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,bue=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,Sue=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_ue=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,wue=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function xue(e,t){return!!((t==="v4"||!t)&&Sue.test(e)||(t==="v6"||!t)&&_ue.test(e))}class Ii extends Re{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:re.invalid_string,...be.errToObj(r)}),this.nonempty=t=>this.min(1,be.errToObj(t)),this.trim=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ii({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==le.string){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.string,received:o.parsedType}),Ce}const r=new er;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),ce(i,{code:re.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...be.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...be.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...be.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...be.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...be.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...be.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...be.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...be.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Ii({checks:[],typeName:xe.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Oe(e)})};function Cue(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class pa extends Re{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==le.number){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.number,received:o.parsedType}),Ce}let r;const i=new er;for(const o of this._def.checks)o.kind==="int"?Qe.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),ce(r,{code:re.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?Cue(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_finite,message:o.message}),i.dirty()):Qe.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,be.toString(n))}gt(t,n){return this.setLimit("min",t,!1,be.toString(n))}lte(t,n){return this.setLimit("max",t,!0,be.toString(n))}lt(t,n){return this.setLimit("max",t,!1,be.toString(n))}setLimit(t,n,r,i){return new pa({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:be.toString(i)}]})}_addCheck(t){return new pa({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:be.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:be.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:be.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:be.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:be.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:be.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:be.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:be.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:be.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&Qe.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew pa({checks:[],typeName:xe.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Oe(e)});class ga extends Re{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==le.bigint){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.bigint,received:o.parsedType}),Ce}let r;const i=new er;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),ce(r,{code:re.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):Qe.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,be.toString(n))}gt(t,n){return this.setLimit("min",t,!1,be.toString(n))}lte(t,n){return this.setLimit("max",t,!0,be.toString(n))}lt(t,n){return this.setLimit("max",t,!1,be.toString(n))}setLimit(t,n,r,i){return new ga({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:be.toString(i)}]})}_addCheck(t){return new ga({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:be.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:be.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:be.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:be.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:be.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new ga({checks:[],typeName:xe.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Oe(e)})};class sh extends Re{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==le.boolean){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.boolean,received:r.parsedType}),Ce}return pr(t.data)}}sh.create=e=>new sh({typeName:xe.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Oe(e)});class ml extends Re{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==le.date){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_type,expected:le.date,received:o.parsedType}),Ce}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return ce(o,{code:re.invalid_date}),Ce}const r=new er;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),ce(i,{code:re.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):Qe.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new ml({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:be.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:be.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew ml({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:xe.ZodDate,...Oe(e)});class Oy extends Re{_parse(t){if(this._getType(t)!==le.symbol){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.symbol,received:r.parsedType}),Ce}return pr(t.data)}}Oy.create=e=>new Oy({typeName:xe.ZodSymbol,...Oe(e)});class ah extends Re{_parse(t){if(this._getType(t)!==le.undefined){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.undefined,received:r.parsedType}),Ce}return pr(t.data)}}ah.create=e=>new ah({typeName:xe.ZodUndefined,...Oe(e)});class lh extends Re{_parse(t){if(this._getType(t)!==le.null){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.null,received:r.parsedType}),Ce}return pr(t.data)}}lh.create=e=>new lh({typeName:xe.ZodNull,...Oe(e)});class Pc extends Re{constructor(){super(...arguments),this._any=!0}_parse(t){return pr(t.data)}}Pc.create=e=>new Pc({typeName:xe.ZodAny,...Oe(e)});class ol extends Re{constructor(){super(...arguments),this._unknown=!0}_parse(t){return pr(t.data)}}ol.create=e=>new ol({typeName:xe.ZodUnknown,...Oe(e)});class fs extends Re{_parse(t){const n=this._getOrReturnCtx(t);return ce(n,{code:re.invalid_type,expected:le.never,received:n.parsedType}),Ce}}fs.create=e=>new fs({typeName:xe.ZodNever,...Oe(e)});class Ry extends Re{_parse(t){if(this._getType(t)!==le.undefined){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.void,received:r.parsedType}),Ce}return pr(t.data)}}Ry.create=e=>new Ry({typeName:xe.ZodVoid,...Oe(e)});class Fi extends Re{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==le.array)return ce(n,{code:re.invalid_type,expected:le.array,received:n.parsedType}),Ce;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(ce(n,{code:re.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new xo(n,s,n.path,a)))).then(s=>er.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new xo(n,s,n.path,a)));return er.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Fi({...this._def,minLength:{value:t,message:be.toString(n)}})}max(t,n){return new Fi({...this._def,maxLength:{value:t,message:be.toString(n)}})}length(t,n){return new Fi({...this._def,exactLength:{value:t,message:be.toString(n)}})}nonempty(t){return this.min(1,t)}}Fi.create=(e,t)=>new Fi({type:e,minLength:null,maxLength:null,exactLength:null,typeName:xe.ZodArray,...Oe(t)});function fu(e){if(e instanceof It){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=ns.create(fu(r))}return new It({...e._def,shape:()=>t})}else return e instanceof Fi?new Fi({...e._def,type:fu(e.element)}):e instanceof ns?ns.create(fu(e.unwrap())):e instanceof vl?vl.create(fu(e.unwrap())):e instanceof Co?Co.create(e.items.map(t=>fu(t))):e}class It extends Re{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Qe.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==le.object){const u=this._getOrReturnCtx(t);return ce(u,{code:re.invalid_type,expected:le.object,received:u.parsedType}),Ce}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof fs&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const c=o[u],d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new xo(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof fs){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(u==="strict")a.length>0&&(ce(i,{code:re.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new xo(i,d,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of l){const d=await c.key;u.push({key:d,value:await c.value,alwaysSet:c.alwaysSet})}return u}).then(u=>er.mergeObjectSync(r,u)):er.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return be.errToObj,new It({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=be.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new It({...this._def,unknownKeys:"strip"})}passthrough(){return new It({...this._def,unknownKeys:"passthrough"})}extend(t){return new It({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new It({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:xe.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new It({...this._def,catchall:t})}pick(t){const n={};return Qe.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new It({...this._def,shape:()=>n})}omit(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new It({...this._def,shape:()=>n})}deepPartial(){return fu(this)}partial(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new It({...this._def,shape:()=>n})}required(t){const n={};return Qe.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ns;)o=o._def.innerType;n[r]=o}}),new It({...this._def,shape:()=>n})}keyof(){return fD(Qe.objectKeys(this.shape))}}It.create=(e,t)=>new It({shape:()=>e,unknownKeys:"strip",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});It.strictCreate=(e,t)=>new It({shape:()=>e,unknownKeys:"strict",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});It.lazycreate=(e,t)=>new It({shape:e,unknownKeys:"strip",catchall:fs.create(),typeName:xe.ZodObject,...Oe(t)});class uh extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new $i(a.ctx.common.issues));return ce(n,{code:re.invalid_union,unionErrors:s}),Ce}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new $i(l));return ce(n,{code:re.invalid_union,unionErrors:a}),Ce}}get options(){return this._def.options}}uh.create=(e,t)=>new uh({options:e,typeName:xe.ZodUnion,...Oe(t)});const fm=e=>e instanceof fh?fm(e.schema):e instanceof Ui?fm(e.innerType()):e instanceof hh?[e.value]:e instanceof ma?e.options:e instanceof ph?Object.keys(e.enum):e instanceof gh?fm(e._def.innerType):e instanceof ah?[void 0]:e instanceof lh?[null]:null;class jv extends Re{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.object)return ce(n,{code:re.invalid_type,expected:le.object,received:n.parsedType}),Ce;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(ce(n,{code:re.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Ce)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=fm(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new jv({typeName:xe.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Oe(r)})}}function Iw(e,t){const n=js(e),r=js(t);if(e===t)return{valid:!0,data:e};if(n===le.object&&r===le.object){const i=Qe.objectKeys(t),o=Qe.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=Iw(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===le.array&&r===le.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(Ow(o)||Ow(s))return Ce;const a=Iw(o.value,s.value);return a.valid?((Rw(o)||Rw(s))&&n.dirty(),{status:n.value,value:a.data}):(ce(r,{code:re.invalid_intersection_types}),Ce)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ch.create=(e,t,n)=>new ch({left:e,right:t,typeName:xe.ZodIntersection,...Oe(n)});class Co extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.array)return ce(r,{code:re.invalid_type,expected:le.array,received:r.parsedType}),Ce;if(r.data.lengththis._def.items.length&&(ce(r,{code:re.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new xo(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>er.mergeArray(n,s)):er.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Co({...this._def,rest:t})}}Co.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Co({items:e,typeName:xe.ZodTuple,rest:null,...Oe(t)})};class dh extends Re{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.object)return ce(r,{code:re.invalid_type,expected:le.object,received:r.parsedType}),Ce;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new xo(r,a,r.path,a)),value:s._parse(new xo(r,r.data[a],r.path,a))});return r.common.async?er.mergeObjectAsync(n,i):er.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Re?new dh({keyType:t,valueType:n,typeName:xe.ZodRecord,...Oe(r)}):new dh({keyType:Ii.create(),valueType:t,typeName:xe.ZodRecord,...Oe(n)})}}class Iy extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.map)return ce(r,{code:re.invalid_type,expected:le.map,received:r.parsedType}),Ce;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new xo(r,a,r.path,[u,"key"])),value:o._parse(new xo(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return Ce;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return Ce;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}}Iy.create=(e,t,n)=>new Iy({valueType:t,keyType:e,typeName:xe.ZodMap,...Oe(n)});class yl extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==le.set)return ce(r,{code:re.invalid_type,expected:le.set,received:r.parsedType}),Ce;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(ce(r,{code:re.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const c of l){if(c.status==="aborted")return Ce;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new xo(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new yl({...this._def,minSize:{value:t,message:be.toString(n)}})}max(t,n){return new yl({...this._def,maxSize:{value:t,message:be.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}yl.create=(e,t)=>new yl({valueType:e,minSize:null,maxSize:null,typeName:xe.ZodSet,...Oe(t)});class Qu extends Re{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.function)return ce(n,{code:re.invalid_type,expected:le.function,received:n.parsedType}),Ce;function r(a,l){return Py({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ey(),oh].filter(u=>!!u),issueData:{code:re.invalid_arguments,argumentsError:l}})}function i(a,l){return Py({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ey(),oh].filter(u=>!!u),issueData:{code:re.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof kc?pr(async(...a)=>{const l=new $i([]),u=await this._def.args.parseAsync(a,o).catch(f=>{throw l.addIssue(r(a,f)),l}),c=await s(...u);return await this._def.returns._def.type.parseAsync(c,o).catch(f=>{throw l.addIssue(i(c,f)),l})}):pr((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new $i([r(a,l.error)]);const u=s(...l.data),c=this._def.returns.safeParse(u,o);if(!c.success)throw new $i([i(u,c.error)]);return c.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Qu({...this._def,args:Co.create(t).rest(ol.create())})}returns(t){return new Qu({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Qu({args:t||Co.create([]).rest(ol.create()),returns:n||ol.create(),typeName:xe.ZodFunction,...Oe(r)})}}class fh extends Re{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}fh.create=(e,t)=>new fh({getter:e,typeName:xe.ZodLazy,...Oe(t)});class hh extends Re{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return ce(n,{received:n.data,code:re.invalid_literal,expected:this._def.value}),Ce}return{status:"valid",value:t.data}}get value(){return this._def.value}}hh.create=(e,t)=>new hh({value:e,typeName:xe.ZodLiteral,...Oe(t)});function fD(e,t){return new ma({values:e,typeName:xe.ZodEnum,...Oe(t)})}class ma extends Re{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return ce(n,{expected:Qe.joinValues(r),received:n.parsedType,code:re.invalid_type}),Ce}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return ce(n,{received:n.data,code:re.invalid_enum_value,options:r}),Ce}return pr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return ma.create(t)}exclude(t){return ma.create(this.options.filter(n=>!t.includes(n)))}}ma.create=fD;class ph extends Re{_parse(t){const n=Qe.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==le.string&&r.parsedType!==le.number){const i=Qe.objectValues(n);return ce(r,{expected:Qe.joinValues(i),received:r.parsedType,code:re.invalid_type}),Ce}if(n.indexOf(t.data)===-1){const i=Qe.objectValues(n);return ce(r,{received:r.data,code:re.invalid_enum_value,options:i}),Ce}return pr(t.data)}get enum(){return this._def.values}}ph.create=(e,t)=>new ph({values:e,typeName:xe.ZodNativeEnum,...Oe(t)});class kc extends Re{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==le.promise&&n.common.async===!1)return ce(n,{code:re.invalid_type,expected:le.promise,received:n.parsedType}),Ce;const r=n.parsedType===le.promise?n.data:Promise.resolve(n.data);return pr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}kc.create=(e,t)=>new kc({type:e,typeName:xe.ZodPromise,...Oe(t)});class Ui extends Re{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===xe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{ce(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?Ce:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?Ce:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ky(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>ky(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);Qe.assertNever(i)}}Ui.create=(e,t,n)=>new Ui({schema:e,typeName:xe.ZodEffects,effect:t,...Oe(n)});Ui.createWithPreprocess=(e,t,n)=>new Ui({schema:t,effect:{type:"preprocess",transform:e},typeName:xe.ZodEffects,...Oe(n)});class ns extends Re{_parse(t){return this._getType(t)===le.undefined?pr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ns.create=(e,t)=>new ns({innerType:e,typeName:xe.ZodOptional,...Oe(t)});class vl extends Re{_parse(t){return this._getType(t)===le.null?pr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}vl.create=(e,t)=>new vl({innerType:e,typeName:xe.ZodNullable,...Oe(t)});class gh extends Re{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===le.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}gh.create=(e,t)=>new gh({innerType:e,typeName:xe.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Oe(t)});class My extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Ay(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new $i(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new $i(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}My.create=(e,t)=>new My({innerType:e,typeName:xe.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Oe(t)});class Ny extends Re{_parse(t){if(this._getType(t)!==le.nan){const r=this._getOrReturnCtx(t);return ce(r,{code:re.invalid_type,expected:le.nan,received:r.parsedType}),Ce}return{status:"valid",value:t.data}}}Ny.create=e=>new Ny({typeName:xe.ZodNaN,...Oe(e)});const Tue=Symbol("zod_brand");class hD extends Re{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class dp extends Re{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?Ce:o.status==="dirty"?(n.dirty(),dD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Ce:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new dp({in:t,out:n,typeName:xe.ZodPipeline})}}const pD=(e,t={},n)=>e?Pc.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Pc.create(),Eue={object:It.lazycreate};var xe;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(xe||(xe={}));const Pue=(e,t={message:`Input not instance of ${e.name}`})=>pD(n=>n instanceof e,t),gD=Ii.create,mD=pa.create,kue=Ny.create,Aue=ga.create,yD=sh.create,Oue=ml.create,Rue=Oy.create,Iue=ah.create,Mue=lh.create,Nue=Pc.create,Due=ol.create,Lue=fs.create,$ue=Ry.create,Fue=Fi.create,Bue=It.create,jue=It.strictCreate,Vue=uh.create,zue=jv.create,Uue=ch.create,Gue=Co.create,Hue=dh.create,que=Iy.create,Wue=yl.create,Kue=Qu.create,Yue=fh.create,Xue=hh.create,Que=ma.create,Zue=ph.create,Jue=kc.create,R6=Ui.create,ece=ns.create,tce=vl.create,nce=Ui.createWithPreprocess,rce=dp.create,ice=()=>gD().optional(),oce=()=>mD().optional(),sce=()=>yD().optional(),ace={string:e=>Ii.create({...e,coerce:!0}),number:e=>pa.create({...e,coerce:!0}),boolean:e=>sh.create({...e,coerce:!0}),bigint:e=>ga.create({...e,coerce:!0}),date:e=>ml.create({...e,coerce:!0})},lce=Ce;var Pn=Object.freeze({__proto__:null,defaultErrorMap:oh,setErrorMap:fue,getErrorMap:Ey,makeIssue:Py,EMPTY_PATH:hue,addIssueToContext:ce,ParseStatus:er,INVALID:Ce,DIRTY:dD,OK:pr,isAborted:Ow,isDirty:Rw,isValid:ky,isAsync:Ay,get util(){return Qe},get objectUtil(){return Aw},ZodParsedType:le,getParsedType:js,ZodType:Re,ZodString:Ii,ZodNumber:pa,ZodBigInt:ga,ZodBoolean:sh,ZodDate:ml,ZodSymbol:Oy,ZodUndefined:ah,ZodNull:lh,ZodAny:Pc,ZodUnknown:ol,ZodNever:fs,ZodVoid:Ry,ZodArray:Fi,ZodObject:It,ZodUnion:uh,ZodDiscriminatedUnion:jv,ZodIntersection:ch,ZodTuple:Co,ZodRecord:dh,ZodMap:Iy,ZodSet:yl,ZodFunction:Qu,ZodLazy:fh,ZodLiteral:hh,ZodEnum:ma,ZodNativeEnum:ph,ZodPromise:kc,ZodEffects:Ui,ZodTransformer:Ui,ZodOptional:ns,ZodNullable:vl,ZodDefault:gh,ZodCatch:My,ZodNaN:Ny,BRAND:Tue,ZodBranded:hD,ZodPipeline:dp,custom:pD,Schema:Re,ZodSchema:Re,late:Eue,get ZodFirstPartyTypeKind(){return xe},coerce:ace,any:Nue,array:Fue,bigint:Aue,boolean:yD,date:Oue,discriminatedUnion:zue,effect:R6,enum:Que,function:Kue,instanceof:Pue,intersection:Uue,lazy:Yue,literal:Xue,map:que,nan:kue,nativeEnum:Zue,never:Lue,null:Mue,nullable:tce,number:mD,object:Bue,oboolean:sce,onumber:oce,optional:ece,ostring:ice,pipeline:rce,preprocess:nce,promise:Jue,record:Hue,set:Wue,strictObject:jue,string:gD,symbol:Rue,transformer:R6,tuple:Gue,undefined:Iue,union:Vue,unknown:Due,void:$ue,NEVER:lce,ZodIssueCode:re,quotelessJson:due,ZodError:$i});const uce=Pn.string(),CTe=e=>uce.safeParse(e).success,cce=Pn.string(),TTe=e=>cce.safeParse(e).success,dce=Pn.number().int().min(1),ETe=e=>dce.safeParse(e).success,fce=Pn.number().min(1),PTe=e=>fce.safeParse(e).success,hce=Pn.enum(f7),kTe=e=>hce.safeParse(e).success,pce=Pn.number().int().min(0).max(yZ),ATe=e=>pce.safeParse(e).success,gce=Pn.number().multipleOf(8).min(64),OTe=e=>gce.safeParse(e).success,mce=Pn.number().multipleOf(8).min(64),RTe=e=>mce.safeParse(e).success,Vv=Pn.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),zv=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),ITe=e=>zv.safeParse(e).success,yce=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),MTe=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),NTe=Pn.object({model_name:Pn.string().min(1),base_model:Vv}),vce=Pn.number().min(0).max(1),DTe=e=>vce.safeParse(e).success,Nl={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:mZ,seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0},bce=Nl,vD=zt({name:"generation",initialState:bce,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Xo(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Xo(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Nl}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=Hd[e.model.base_model];e.clipSkip=Xo(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload}},extraReducers:e=>{e.addCase(vZ,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=zv.safeParse({model_name:a,base_model:o});l.success&&(t.model=l.data)}}),e.addCase(Tce,(t,n)=>{n.payload||(t.clipSkip=0)}),e.addCase(xD,(t,n)=>{const r=n.payload;r&&(t.height=io(t.width/r,8))})}}),{clampSymmetrySteps:LTe,clearInitialImage:bD,resetParametersState:$Te,resetSeed:FTe,setCfgScale:BTe,setWidth:jTe,setHeight:VTe,toggleSize:zTe,setImg2imgStrength:UTe,setInfillMethod:Sce,setIterations:GTe,setPerlin:HTe,setPositivePrompt:qTe,setNegativePrompt:WTe,setScheduler:KTe,setSeamBlur:YTe,setSeamSize:XTe,setSeamSteps:QTe,setSeamStrength:ZTe,setSeed:JTe,setSeedWeights:eEe,setShouldFitToWidthHeight:tEe,setShouldGenerateVariations:nEe,setShouldRandomizeSeed:rEe,setSteps:iEe,setThreshold:oEe,setTileSize:sEe,setVariationAmount:aEe,setShouldUseSymmetry:lEe,setHorizontalSymmetrySteps:uEe,setVerticalSymmetrySteps:cEe,initialImageChanged:Uv,modelChanged:hm,vaeSelected:SD,setShouldUseNoiseSettings:dEe,setSeamlessXAxis:fEe,setSeamlessYAxis:hEe,setClipSkip:I6,shouldUseCpuNoiseChanged:pEe}=vD.actions,_ce=vD.reducer,wce=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],M6=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=wce.indexOf(t)},_D={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,addNewModelUIOption:null,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,shouldShowAdvancedOptions:!1,aspectRatio:null,favoriteSchedulers:[]},wD=zt({name:"ui",initialState:_D,reducers:{setActiveTab:(e,t)=>{M6(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setAddNewModelUIOption:(e,t)=>{e.addNewModelUIOption=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload},setAspectRatio:(e,t)=>{e.aspectRatio=t.payload}},extraReducers(e){e.addCase(Uv,t=>{M6(t,"img2img")})}}),{setActiveTab:xce,setShouldPinParametersPanel:gEe,setShouldShowParametersPanel:mEe,setShouldShowImageDetails:yEe,setShouldUseCanvasBetaLayout:Cce,setShouldShowExistingModelsInSearch:vEe,setShouldUseSliders:bEe,setAddNewModelUIOption:SEe,setShouldHidePreview:_Ee,setShouldShowGallery:wEe,togglePanels:xEe,togglePinGalleryPanel:CEe,togglePinParametersPanel:TEe,toggleParametersPanel:EEe,toggleGalleryPanel:PEe,setShouldShowProgressInViewer:kEe,favoriteSchedulersChanged:AEe,toggleEmbeddingPicker:OEe,setShouldShowAdvancedOptions:Tce,setAspectRatio:xD}=wD.actions,Ece=wD.reducer,Gv=Vf.withTypes(),Kc={memoizeOptions:{resultEqualityCheck:n7}},Hv=e=>e.system,Pce=e=>e.system.toastQueue;Vn(Hv,e=>{const{model_list:t}=e,n=vv(t,(r,i,o)=>(i.status==="active"&&(r=o),r),"");return{...t[n],name:n}},Kc);Vn(Hv,e=>{const{model_list:t}=e;return UQ(t,(r,i)=>{if(r.format==="diffusers")return{name:i,...r}})},Kc);const REe=Vn(Hv,e=>e.language,Kc),IEe=Vn(e=>e,e=>e.system.isProcessing||!e.system.isConnected);var Ac={},CD={},bl={};Object.defineProperty(bl,"__esModule",{value:!0});bl.ROARR_LOG_FORMAT_VERSION=bl.ROARR_VERSION=void 0;bl.ROARR_VERSION="5.0.0";bl.ROARR_LOG_FORMAT_VERSION="2.0.0";var fp={};Object.defineProperty(fp,"__esModule",{value:!0});fp.logLevels=void 0;fp.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var TD={},qv={};Object.defineProperty(qv,"__esModule",{value:!0});qv.hasOwnProperty=void 0;const kce=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);qv.hasOwnProperty=kce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=qv;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(TD);var ED={},Wv={},Z5={},Kv={};Object.defineProperty(Kv,"__esModule",{value:!0});Kv.boolean=void 0;const Ace=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Kv.boolean=Ace;var Yv={};Object.defineProperty(Yv,"__esModule",{value:!0});Yv.isBooleanable=void 0;const Oce=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};Yv.isBooleanable=Oce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Kv;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=Yv;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(Z5);var Xv={};Object.defineProperty(Xv,"__esModule",{value:!0});Xv.tokenize=void 0;const Rce=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,Ice=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Rce.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Xv.tokenize=Ice;Object.defineProperty(Wv,"__esModule",{value:!0});Wv.createPrintf=void 0;const N6=Z5,Mce=Xv,Nce=(e,t)=>t.placeholder,Dce=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Nce,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Mce.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let c=s[u.position];if(c===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=N6.boolean(c)?"true":"false";else if(u.conversion==="B")l+=N6.boolean(c)?"TRUE":"FALSE";else if(u.conversion==="c")l+=c;else if(u.conversion==="C")l+=String(c).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")c=String(Math.trunc(c)),u.width!==null&&(c=n(c,u.width,u.flag)),l+=c;else if(u.conversion==="e")l+=Number(c).toExponential();else if(u.conversion==="E")l+=Number(c).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(c=Number(c).toFixed(u.precision)),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="o")l+=(Number.parseInt(String(c),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="S")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=String(c).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(c),10)>>>0;else if(u.conversion==="x")c=(Number.parseInt(String(c),10)>>>0).toString(16),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else throw new Error("Unknown format specifier.")}return l}};Wv.createPrintf=Dce;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Wv;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(ED);var D6=Object.prototype.toString,PD=function(t){var n=D6.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&D6.call(t.callee)==="[object Function]"),r},XS,L6;function Lce(){if(L6)return XS;L6=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=PD,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(f){var h=f.constructor;return h&&h.prototype===f},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},c=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!u["$"+f]&&t.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{l(window[f])}catch{return!0}}catch{return!0}return!1}(),d=function(f){if(typeof window>"u"||!c)return l(f);try{return l(f)}catch{return!1}};e=function(h){var p=h!==null&&typeof h=="object",m=n.call(h)==="[object Function]",S=r(h),v=p&&n.call(h)==="[object String]",y=[];if(!p&&!m&&!S)throw new TypeError("Object.keys called on a non-object");var g=s&&m;if(v&&h.length>0&&!t.call(h,0))for(var b=0;b0)for(var _=0;_"u"||!Sn?Ve:Sn(Uint8Array),al={"%AggregateError%":typeof AggregateError>"u"?Ve:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Ve:ArrayBuffer,"%ArrayIteratorPrototype%":Zl&&Sn?Sn([][Symbol.iterator]()):Ve,"%AsyncFromSyncIteratorPrototype%":Ve,"%AsyncFunction%":hu,"%AsyncGenerator%":hu,"%AsyncGeneratorFunction%":hu,"%AsyncIteratorPrototype%":hu,"%Atomics%":typeof Atomics>"u"?Ve:Atomics,"%BigInt%":typeof BigInt>"u"?Ve:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Ve:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Ve:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Ve:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Ve:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Ve:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Ve:FinalizationRegistry,"%Function%":AD,"%GeneratorFunction%":hu,"%Int8Array%":typeof Int8Array>"u"?Ve:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Ve:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Ve:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Zl&&Sn?Sn(Sn([][Symbol.iterator]())):Ve,"%JSON%":typeof JSON=="object"?JSON:Ve,"%Map%":typeof Map>"u"?Ve:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Zl||!Sn?Ve:Sn(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Ve:Promise,"%Proxy%":typeof Proxy>"u"?Ve:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Ve:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Ve:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Zl||!Sn?Ve:Sn(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Ve:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Zl&&Sn?Sn(""[Symbol.iterator]()):Ve,"%Symbol%":Zl?Symbol:Ve,"%SyntaxError%":Oc,"%ThrowTypeError%":Zce,"%TypedArray%":ede,"%TypeError%":Zu,"%Uint8Array%":typeof Uint8Array>"u"?Ve:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Ve:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Ve:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Ve:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Ve:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Ve:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Ve:WeakSet};if(Sn)try{null.error}catch(e){var tde=Sn(Sn(e));al["%Error.prototype%"]=tde}var nde=function e(t){var n;if(t==="%AsyncFunction%")n=ZS("async function () {}");else if(t==="%GeneratorFunction%")n=ZS("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=ZS("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&Sn&&(n=Sn(i.prototype))}return al[t]=n,n},V6={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},hp=kD,Dy=Qce,rde=hp.call(Function.call,Array.prototype.concat),ide=hp.call(Function.apply,Array.prototype.splice),z6=hp.call(Function.call,String.prototype.replace),Ly=hp.call(Function.call,String.prototype.slice),ode=hp.call(Function.call,RegExp.prototype.exec),sde=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,ade=/\\(\\)?/g,lde=function(t){var n=Ly(t,0,1),r=Ly(t,-1);if(n==="%"&&r!=="%")throw new Oc("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Oc("invalid intrinsic syntax, expected opening `%`");var i=[];return z6(t,sde,function(o,s,a,l){i[i.length]=a?z6(l,ade,"$1"):s||o}),i},ude=function(t,n){var r=t,i;if(Dy(V6,r)&&(i=V6[r],r="%"+i[0]+"%"),Dy(al,r)){var o=al[r];if(o===hu&&(o=nde(r)),typeof o>"u"&&!n)throw new Zu("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Oc("intrinsic "+t+" does not exist!")},cde=function(t,n){if(typeof t!="string"||t.length===0)throw new Zu("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Zu('"allowMissing" argument must be a boolean');if(ode(/^%?[^%]*%?$/,t)===null)throw new Oc("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=lde(t),i=r.length>0?r[0]:"",o=ude("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],ide(r,rde([0,1],u)));for(var c=1,d=!0;c=r.length){var m=sl(a,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?a=m.get:a=a[f]}else d=Dy(a,f),a=a[f];d&&!l&&(al[s]=a)}}return a},dde=cde,Mw=dde("%Object.defineProperty%",!0),Nw=function(){if(Mw)try{return Mw({},"a",{value:1}),!0}catch{return!1}return!1};Nw.hasArrayLengthDefineBug=function(){if(!Nw())return null;try{return Mw([],"length",{value:1}).length!==1}catch{return!0}};var fde=Nw,hde=Bce,pde=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",gde=Object.prototype.toString,mde=Array.prototype.concat,OD=Object.defineProperty,yde=function(e){return typeof e=="function"&&gde.call(e)==="[object Function]"},vde=fde(),RD=OD&&vde,bde=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!yde(r)||!r())return}RD?OD(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},ID=function(e,t){var n=arguments.length>2?arguments[2]:{},r=hde(t);pde&&(r=mde.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i200)return v.sort();for(let y=1;yg;)v[b]=v[b-1],b--;v[b]=g}return v}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(v){return a.call(v)!==void 0&&v.length!==0}function u(v,y,g){v.length= 1`)}return g===void 0?1/0:g}function h(v){return v===1?"1 item":`${v} items`}function p(v){const y=new Set;for(const g of v)(typeof g=="string"||typeof g=="number")&&y.add(String(g));return y}function m(v){if(n.call(v,"strict")){const y=v.strict;if(typeof y!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(y)return g=>{let b=`Object can not safely be stringified. Received type ${typeof g}`;throw typeof g!="function"&&(b+=` (${g.toString()})`),new Error(b)}}}function S(v){v={...v};const y=m(v);y&&(v.bigint===void 0&&(v.bigint=!1),"circularValue"in v||(v.circularValue=Error));const g=c(v),b=d(v,"bigint"),_=d(v,"deterministic"),w=f(v,"maximumDepth"),x=f(v,"maximumBreadth");function C(N,T,O,I,M,R){let D=T[N];switch(typeof D=="object"&&D!==null&&typeof D.toJSON=="function"&&(D=D.toJSON(N)),D=I.call(T,N,D),typeof D){case"string":return o(D);case"object":{if(D===null)return"null";if(O.indexOf(D)!==-1)return g;let L="",V=",";const z=R;if(Array.isArray(D)){if(D.length===0)return"[]";if(wx){const ne=D.length-x-1;L+=`${V}"... ${h(ne)} not stringified"`}return M!==""&&(L+=` -${z}`),O.pop(),`[${L}]`}let U=Object.keys(D);const K=U.length;if(K===0)return"{}";if(wx){const q=K-x;L+=`${X}"...":${W}"${h(q)} not stringified"`,X=V}return M!==""&&X.length>1&&(L=` -${R}${L} -${z}`),O.pop(),`{${L}}`}case"number":return isFinite(D)?String(D):y?y(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(D);default:return y?y(D):void 0}}function k(N,T,O,I,M,R){switch(typeof T=="object"&&T!==null&&typeof T.toJSON=="function"&&(T=T.toJSON(N)),typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(O.indexOf(T)!==-1)return g;const D=R;let L="",V=",";if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const F=T.length-x-1;L+=`${V}"... ${h(F)} not stringified"`}return M!==""&&(L+=` -${D}`),O.pop(),`[${L}]`}O.push(T);let z="";M!==""&&(R+=M,V=`, -${R}`,z=" ");let U="";for(const K of I){const W=k(K,T[K],O,I,M,R);W!==void 0&&(L+=`${U}${o(K)}:${z}${W}`,U=V)}return M!==""&&U.length>1&&(L=` -${R}${L} -${D}`),O.pop(),`{${L}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function P(N,T,O,I,M){switch(typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(typeof T.toJSON=="function"){if(T=T.toJSON(N),typeof T!="object")return P(N,T,O,I,M);if(T===null)return"null"}if(O.indexOf(T)!==-1)return g;const R=M;if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const J=T.length-x-1;W+=`${X}"... ${h(J)} not stringified"`}return W+=` -${R}`,O.pop(),`[${W}]`}let D=Object.keys(T);const L=D.length;if(L===0)return"{}";if(wx){const W=L-x;z+=`${U}"...": "${h(W)} not stringified"`,U=V}return U!==""&&(z=` -${M}${z} -${R}`),O.pop(),`{${z}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function A(N,T,O){switch(typeof T){case"string":return o(T);case"object":{if(T===null)return"null";if(typeof T.toJSON=="function"){if(T=T.toJSON(N),typeof T!="object")return A(N,T,O);if(T===null)return"null"}if(O.indexOf(T)!==-1)return g;let I="";if(Array.isArray(T)){if(T.length===0)return"[]";if(wx){const K=T.length-x-1;I+=`,"... ${h(K)} not stringified"`}return O.pop(),`[${I}]`}let M=Object.keys(T);const R=M.length;if(R===0)return"{}";if(wx){const V=R-x;I+=`${D}"...":"${h(V)} not stringified"`}return O.pop(),`{${I}}`}case"number":return isFinite(T)?String(T):y?y(T):"null";case"boolean":return T===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(T);default:return y?y(T):void 0}}function $(N,T,O){if(arguments.length>1){let I="";if(typeof O=="number"?I=" ".repeat(Math.min(O,10)):typeof O=="string"&&(I=O.slice(0,10)),T!=null){if(typeof T=="function")return C("",{"":N},[],T,I,"");if(Array.isArray(T))return k("",N,[],p(T),I,"")}if(I.length!==0)return P("",N,[],I,"")}return A("",N,[])}return $}})(Dw,Dw.exports);var kde=Dw.exports;(function(e){var t=De&&De.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=bl,r=fp,i=TD,o=ED,s=t(J5),a=t(kde);let l=!1;const u=(0,s.default)(),c=()=>u.ROARR,d=()=>({messageContext:{},transforms:[]}),f=()=>{const g=c().asyncLocalStorage;if(!g)throw new Error("AsyncLocalContext is unavailable.");const b=g.getStore();return b||d()},h=()=>!!c().asyncLocalStorage,p=()=>{if(h()){const g=f();return(0,i.hasOwnProperty)(g,"sequenceRoot")&&(0,i.hasOwnProperty)(g,"sequence")&&typeof g.sequence=="number"?String(g.sequenceRoot)+"."+String(g.sequence++):String(c().sequence++)}return String(c().sequence++)},m=(g,b)=>(_,w,x,C,k,P,A,$,N,T)=>{g.child({logLevel:b})(_,w,x,C,k,P,A,$,N,T)},S=1e3,v=(g,b)=>(_,w,x,C,k,P,A,$,N,T)=>{const O=(0,a.default)({a:_,b:w,c:x,d:C,e:k,f:P,g:A,h:$,i:N,j:T,logLevel:b});if(!O)throw new Error("Expected key to be a string");const I=c().onceLog;I.has(O)||(I.add(O),I.size>S&&I.clear(),g.child({logLevel:b})(_,w,x,C,k,P,A,$,N,T))},y=(g,b={},_=[])=>{const w=(x,C,k,P,A,$,N,T,O,I)=>{const M=Date.now(),R=p();let D;h()?D=f():D=d();let L,V;if(typeof x=="string"?L={...D.messageContext,...b}:L={...D.messageContext,...b,...x},typeof x=="string"&&C===void 0)V=x;else if(typeof x=="string"){if(!x.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");V=(0,o.printf)(x,C,k,P,A,$,N,T,O,I)}else{let U=C;if(typeof C!="string")if(C===void 0)U="";else throw new TypeError("Message must be a string. Received "+typeof C+".");V=(0,o.printf)(U,k,P,A,$,N,T,O,I)}let z={context:L,message:V,sequence:R,time:M,version:n.ROARR_LOG_FORMAT_VERSION};for(const U of[...D.transforms,..._])if(z=U(z),typeof z!="object"||z===null)throw new Error("Message transform function must return a message object.");g(z)};return w.child=x=>{let C;return h()?C=f():C=d(),typeof x=="function"?(0,e.createLogger)(g,{...C.messageContext,...b,...x},[x,..._]):(0,e.createLogger)(g,{...C.messageContext,...b,...x},_)},w.getContext=()=>{let x;return h()?x=f():x=d(),{...x.messageContext,...b}},w.adopt=async(x,C)=>{if(!h())return l===!1&&(l=!0,g({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:p(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),x();const k=f();let P;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?P=k.sequenceRoot+"."+String(k.sequence++):P=String(c().sequence++);let A={...k.messageContext};const $=[...k.transforms];typeof C=="function"?$.push(C):A={...A,...C};const N=c().asyncLocalStorage;if(!N)throw new Error("Async local context unavailable.");return N.run({messageContext:A,sequence:0,sequenceRoot:P,transforms:$},()=>x())},w.debug=m(w,r.logLevels.debug),w.debugOnce=v(w,r.logLevels.debug),w.error=m(w,r.logLevels.error),w.errorOnce=v(w,r.logLevels.error),w.fatal=m(w,r.logLevels.fatal),w.fatalOnce=v(w,r.logLevels.fatal),w.info=m(w,r.logLevels.info),w.infoOnce=v(w,r.logLevels.info),w.trace=m(w,r.logLevels.trace),w.traceOnce=v(w,r.logLevels.trace),w.warn=m(w,r.logLevels.warn),w.warnOnce=v(w,r.logLevels.warn),w};e.createLogger=y})(CD);var Qv={},Ade=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Ode=De&&De.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qv,"__esModule",{value:!0});Qv.createRoarrInitialGlobalStateBrowser=void 0;const U6=bl,G6=Ode(Ade),Rde=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(G6.default),t.includes(U6.ROARR_VERSION)||t.push(U6.ROARR_VERSION),t.sort(G6.default),{sequence:0,...e,versions:t}};Qv.createRoarrInitialGlobalStateBrowser=Rde;var Zv={};Object.defineProperty(Zv,"__esModule",{value:!0});Zv.getLogLevelName=void 0;const Ide=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zv.getLogLevelName=Ide;(function(e){var t=De&&De.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=CD,r=Qv,o=(0,t(J5).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=d=>JSON.stringify(d),l=(0,n.createLogger)(d=>{var f;s.write&&s.write(((f=s.serializeMessage)!==null&&f!==void 0?f:a)(d))});e.Roarr=l;var u=fp;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var c=Zv;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return c.getLogLevelName}})})(Ac);var e3={},Jv={},e1={};Object.defineProperty(e1,"__esModule",{value:!0});e1.createLogMethods=void 0;var Mde=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};e1.createLogMethods=Mde;var FD={},pp={},t3={},t1={},n1={};Object.defineProperty(n1,"__esModule",{value:!0});n1.convertWildcardToRegex=void 0;var Nde=/\*+/g,Dde=function(e){return new RegExp(e.replace(Nde,"(.+?)"))};n1.convertWildcardToRegex=Dde;var gp={};Object.defineProperty(gp,"__esModule",{value:!0});gp.escapeRegexString=void 0;var Lde=/[$()*+.?[\\\]^{|}]/g,$de=/-/g,Fde=function(e){return e.replace(Lde,"\\$&").replace($de,"\\x2d")};gp.escapeRegexString=Fde;var r1={};Object.defineProperty(r1,"__esModule",{value:!0});r1.parseRegex=void 0;var Bde=/(\/?)(.+)\1([a-z]*)/,jde=/^(?!.*?(.).*?\1)[AJUXgimsux]+$/,Vde=function(e){var t=Bde.exec(e);if(!t)throw new Error("Invalid RegExp.");return t[3]&&!jde.test(t[3])?new RegExp(e):new RegExp(t[2],t[3])};r1.parseRegex=Vde;Object.defineProperty(t1,"__esModule",{value:!0});t1.createStringTest=void 0;var zde=n1,Ude=gp,Gde=r1,e_=function(e,t){var n;return e[t]?n=e[t]:n=e[t]=(0,Gde.parseRegex)(t),function(r){var i,o;return(o=(i=r.match(n))===null||i===void 0?void 0:i[0])!==null&&o!==void 0?o:!1}},Hde=function(e,t){if(t.type!=="Tag")throw new Error("Expected a tag expression.");var n=t.expression;if(n.type==="RangeExpression")throw new Error("Unexpected range expression.");if(n.type==="RegexExpression")return e_(e,n.value);if(n.type!=="LiteralExpression")throw new Error("Expected a literal expression.");var r=String(n.value);return r.includes("*")&&n.quoted===!1?e_(e,String((0,zde.convertWildcardToRegex)(r))+(n.quoted?"u":"ui")):e_(e,"/("+(0,Ude.escapeRegexString)(r)+")/"+(n.quoted?"u":"ui"))};t1.createStringTest=Hde;var i1={};Object.defineProperty(i1,"__esModule",{value:!0});i1.testComparisonRange=void 0;var qde=function(e,t,n){switch(n){case":=":return t===e;case":>":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};i1.testComparisonRange=qde;var o1={};Object.defineProperty(o1,"__esModule",{value:!0});o1.testRange=void 0;var Wde=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};o1.testRange=Wde;(function(e){var t=De&&De.__assign||function(){return t=Object.assign||function(c){for(var d,f=1,h=arguments.length;f0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,Xde.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};s1.highlight=Zde;var a1={},BD={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(De,function(){function t(u,c,d){return this.id=++t.highestId,this.name=u,this.symbols=c,this.postprocess=d,this}t.highestId=0,t.prototype.toString=function(u){var c=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+c};function n(u,c,d,f){this.rule=u,this.dot=c,this.reference=d,this.data=[],this.wantedBy=f,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var c=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return c.left=this,c.right=u,c.isComplete&&(c.data=c.build(),c.right=void 0),c},n.prototype.build=function(){var u=[],c=this;do u.push(c.right.data),c=c.left;while(c.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,c){this.grammar=u,this.index=c,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var c=this.states,d=this.wants,f=this.completed,h=0;h0&&c.push(" ^ "+f+" more lines identical to this"),f=0,c.push(" "+m)),d=m}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,c){if(c.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var d=u.wantedBy[0],f=[u].concat(c),h=this.buildFirstStateStack(d,f);return h===null?null:[u].concat(h)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var c=u.index;this.current=c,this.table[c]=u,this.table.splice(c+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],c=this.grammar.start,d=this.table[this.table.length-1];return d.states.forEach(function(f){f.rule.name===c&&f.dot===f.rule.symbols.length&&f.reference===0&&f.data!==s.fail&&u.push(f)}),u.map(function(f){return f.data})};function a(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(BD);var Jde=BD.exports,Sl={},jD={},ka={};ka.__esModule=void 0;ka.__esModule=!0;var efe=typeof Object.setPrototypeOf=="function",tfe=typeof Object.getPrototypeOf=="function",nfe=typeof Object.defineProperty=="function",rfe=typeof Object.create=="function",ife=typeof Object.prototype.hasOwnProperty=="function",ofe=function(t,n){efe?Object.setPrototypeOf(t,n):t.__proto__=n};ka.setPrototypeOf=ofe;var sfe=function(t){return tfe?Object.getPrototypeOf(t):t.__proto__||t.prototype};ka.getPrototypeOf=sfe;var H6=!1,afe=function e(t,n,r){if(nfe&&!H6)try{Object.defineProperty(t,n,r)}catch{H6=!0,e(t,n,r)}else t[n]=r.value};ka.defineProperty=afe;var VD=function(t,n){return ife?t.hasOwnProperty(t,n):t[n]===void 0};ka.hasOwnProperty=VD;var lfe=function(t,n){if(rfe)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)VD(n,o)&&(i[o]=n[o].value);return i};ka.objectCreate=lfe;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ka,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var c=this.constructor,d=c.name||function(){var S=c.toString().match(/^function\s*([^\s(]+)/);return S===null?a||"Error":S[1]}(),f=d==="Error",h=f?a:d,p=Error.apply(this,arguments);if(n(p,r(this)),!(p instanceof c)||!(p instanceof l)){var p=this;Error.apply(this,arguments),i(p,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(p,"name",{configurable:!0,enumerable:!1,value:h,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(p,f?l:c),p.stack===void 0){var m=new Error(u);m.name=p.name,p.stack=m.stack}return s&&i(p,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),p}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(jD);var zD=De&&De.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Sl,"__esModule",{value:!0});Sl.SyntaxError=Sl.LiqeError=void 0;var ufe=jD,UD=function(e){zD(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ufe.ExtendableError);Sl.LiqeError=UD;var cfe=function(e){zD(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(UD);Sl.SyntaxError=cfe;var n3={},$y=De&&De.__assign||function(){return $y=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:Fo},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};n3.default=dfe;var GD={},l1={},mp={};Object.defineProperty(mp,"__esModule",{value:!0});mp.isSafePath=void 0;var ffe=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,hfe=function(e){return ffe.test(e)};mp.isSafePath=hfe;Object.defineProperty(l1,"__esModule",{value:!0});l1.createGetValueFunctionBody=void 0;var pfe=mp,gfe=function(e){if(!(0,pfe.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};l1.createGetValueFunctionBody=gfe;(function(e){var t=De&&De.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,_fe=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new qD.default.Parser(bfe),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(Sfe);throw r?new mfe.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,vfe.hydrateAst)(n[0]);return i};a1.parse=_fe;var u1={};Object.defineProperty(u1,"__esModule",{value:!0});u1.test=void 0;var wfe=pp,xfe=function(e,t){return(0,wfe.filter)(e,[t]).length===1};u1.test=xfe;var WD={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,c=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(c?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,c=" ".repeat(a.location.start-l.location.end);return u+l.operator+c+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(WD);var c1={};Object.defineProperty(c1,"__esModule",{value:!0});c1.isSafeUnquotedExpression=void 0;var Cfe=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};c1.isSafeUnquotedExpression=Cfe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=pp;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=s1;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=a1;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=u1;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=Sl;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=WD;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=c1;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(FD);var Tfe=De&&De.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,v,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,v)}}};Jv.createLogWriter=Nfe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Jv;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(e3);const YD={package:"@invoke-ai/invoke-ai-ui"};Ac.ROARR.write=e3.createLogWriter();let Se=Ac.Roarr.child(YD);const Dfe={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},MEe=["trace","debug","info","warn","error","fatal"],Lfe=Vn(Hv,e=>{const{app_version:t,consoleLogLevel:n,shouldLogToConsole:r}=e;return{version:t,consoleLogLevel:n,shouldLogToConsole:r}},{memoizeOptions:{resultEqualityCheck:n7}}),NEe=()=>{const{version:e,consoleLogLevel:t,shouldLogToConsole:n}=cy(Lfe);return E.useEffect(()=>{n?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${Dfe[t]}`)):localStorage.setItem("ROARR_LOG","false"),Ac.ROARR.write=e3.createLogWriter()},[t,n]),E.useEffect(()=>{const r={...YD};e&&(r.version=e),Se=Ac.Roarr.child(r)},[e]),Se};let ar=[],r3=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ar.length;for(let s=0;s(e.events=e.events||{},e.events[n+fg]||(e.events[n+fg]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+fg](),delete e.events[n+fg])}),Bfe=1e3,jfe=(e,t)=>Ffe(e,r=>{let i=t(r);i&&e.events[dg].push(i)},$fe,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[dg]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[dg])s();e.events[dg]=[]}},Bfe)},()=>{e.listen=i,e.off=o}}),Vfe=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=r3(void 0,Math.max(...e.map(o=>o.l))+1);return jfe(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const zfe={"Content-Type":"application/json"},Ufe=/\/*$/;function Gfe(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function Hfe(e){return JSON.stringify(e)}function qfe(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Ufe,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Wfe(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...zfe,...i.headers??{}});async function s(a,l){const{headers:u,body:c,params:d={},parseAs:f="json",querySerializer:h=n??Gfe,bodySerializer:p=r??Hfe,...m}=l||{},S=qfe(a,{baseUrl:i.baseUrl,params:d,querySerializer:h}),v=new Headers(o),y=new Headers(u);for(const[w,x]of y.entries())x==null?v.delete(w):v.set(w,x);const g={redirect:"follow",...i,...m,headers:v};c&&(g.body=p(c)),g.body instanceof FormData&&v.delete("Content-Type");const b=await t(S,g);if(b.status===204||b.headers.get("Content-Length")==="0")return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok){let w=b.body;if(f!=="stream"){const x=b.clone();w=typeof x[f]=="function"?await x[f]():await x.text()}return{data:w,response:b}}let _={};try{_=await b.clone().json()}catch{_=await b.clone().text()}return{error:_,response:b}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const mh=r3(),yh=r3(),d1=Vfe([mh,yh],(e,t)=>Wfe({headers:e?{Authorization:`Bearer ${e}`}:{},baseUrl:`${t??""}`}));Se.child({namespace:"session"});const Un=Gv("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,error:o}):i}),Kfe=e=>Jn(e)&&"status"in e,yp=Gv("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return Kfe(o)&&o.status===403?t({arg:e,error:o.body.detail}):t({arg:e,error:o})}),Dl=Gv("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Gv("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=d1.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const XD=Hi(Un.rejected,yp.rejected),Jl=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},eu=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},DEe=.999,LEe=.1,$Ee=20,_d=.95,FEe=30,BEe=10,W6=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),$a=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=io(a/o,64)):o<1&&(r.height=a,r.width=io(a*o,64)),s=r.width*r.height;return r},Yfe=e=>({width:io(e.width,64),height:io(e.height,64)}),jEe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],VEe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],QD=e=>e.kind==="line"&&e.layer==="mask",zEe=e=>e.kind==="line"&&e.layer==="base",K6=e=>e.kind==="image"&&e.layer==="base",UEe=e=>e.kind==="fillRect"&&e.layer==="base",GEe=e=>e.kind==="eraseRect"&&e.layer==="base",Xfe=e=>e.kind==="line",pu={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},ZD={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:pu,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},JD=zt({name:"canvas",initialState:ZD,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!QD(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:zd(Xo(r,64,512),64),height:zd(Xo(i,64,512),64)},a={x:io(r/2-s.width/2,64),y:io(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const c=$a(s);e.scaledBoundingBoxDimensions=c}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Yn(e.layerState)),e.layerState={...pu,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=eu(o.width,o.height,r,i,_d),u=Jl(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=Yfe(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=$a(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=W6(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...pu.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Xfe);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Yn(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Yn(e.layerState)),e.layerState=pu,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(K6),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const c=eu(i.width,i.height,512,512,_d),d=Jl(i.width,i.height,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=$a(f);e.scaledBoundingBoxDimensions=h}return}const{width:o,height:s}=r,l=eu(t,n,o,s,.95),u=Jl(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=W6(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(K6)){const i=eu(r.width,r.height,512,512,_d),o=Jl(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=$a(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const c=r?1:eu(i,o,l,u,_d),d=Jl(i,o,s,a,l,u,c);e.stageScale=c,e.stageCoordinates=d}else{const c=eu(i,o,512,512,_d),d=Jl(i,o,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=$a(f);e.scaledBoundingBoxDimensions=h}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Yn(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...n[r]}),e.layerState.stagingArea={...pu.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:zd(Xo(o,64,512),64),height:zd(Xo(s,64,512),64)},l={x:io(o/2-a.width/2,64),y:io(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=$a(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=$a(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Yn(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(Dl.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=pu.stagingArea)}),e.addCase(Cce,(t,n)=>{t.doesCanvasNeedScaling=!0}),e.addCase(xce,(t,n)=>{t.doesCanvasNeedScaling=!0}),e.addCase(xD,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=io(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:HEe,addFillRect:qEe,addImageToStagingArea:Qfe,addLine:WEe,addPointToCurrentLine:KEe,clearCanvasHistory:YEe,clearMask:XEe,commitColorPickerColor:QEe,commitStagingAreaImage:Zfe,discardStagedImages:ZEe,fitBoundingBoxToStage:JEe,mouseLeftCanvas:ePe,nextStagingAreaImage:tPe,prevStagingAreaImage:nPe,redo:rPe,resetCanvas:eL,resetCanvasInteractionState:iPe,resetCanvasView:oPe,resizeAndScaleCanvas:sPe,resizeCanvas:aPe,setBoundingBoxCoordinates:lPe,setBoundingBoxDimensions:uPe,setBoundingBoxPreviewFill:cPe,setBoundingBoxScaleMethod:dPe,flipBoundingBoxAxes:fPe,setBrushColor:hPe,setBrushSize:pPe,setCanvasContainerDimensions:gPe,setColorPickerColor:mPe,setCursorPosition:yPe,setDoesCanvasNeedScaling:vPe,setInitialCanvasImage:tL,setIsDrawing:bPe,setIsMaskEnabled:SPe,setIsMouseOverBoundingBox:_Pe,setIsMoveBoundingBoxKeyHeld:wPe,setIsMoveStageKeyHeld:xPe,setIsMovingBoundingBox:CPe,setIsMovingStage:TPe,setIsTransformingBoundingBox:EPe,setLayer:PPe,setMaskColor:kPe,setMergedCanvas:Jfe,setShouldAutoSave:APe,setShouldCropToBoundingBoxOnSave:OPe,setShouldDarkenOutsideBoundingBox:RPe,setShouldLockBoundingBox:IPe,setShouldPreserveMaskedArea:MPe,setShouldShowBoundingBox:NPe,setShouldShowBrush:DPe,setShouldShowBrushPreview:LPe,setShouldShowCanvasDebugInfo:$Pe,setShouldShowCheckboardTransparency:FPe,setShouldShowGrid:BPe,setShouldShowIntermediates:jPe,setShouldShowStagingImage:VPe,setShouldShowStagingOutline:zPe,setShouldSnapToGrid:UPe,setStageCoordinates:GPe,setStageScale:HPe,setTool:qPe,toggleShouldLockBoundingBox:WPe,toggleTool:KPe,undo:YPe,setScaledBoundingBoxDimensions:XPe,setShouldRestrictStrokesToBox:QPe,stagingAreaInitialized:ehe,canvasSessionIdChanged:the,setShouldAntialias:ZPe}=JD.actions,nhe=JD.reducer,rhe=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:n0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function hhe(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var Z6=Vi;function iL(e,t){if(e===t||!(Z6(e)&&Z6(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},ghe=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function e8(e){if(!Vi(e))return e;for(var t=Ht({},e),n=0,r=Object.entries(t);n"u"&&a===J6&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(g,b){return Vy(t,null,function(){var _,w,x,C,k,P,A,$,N,T,O,I,M,R,D,L,V,z,U,K,W,X,F,q,Q,J,ne,Z,ge,ae,oe,Te,se,We,yt,Fe;return Fy(this,function(Be){switch(Be.label){case 0:return _=b.signal,w=b.getState,x=b.extra,C=b.endpoint,k=b.forced,P=b.type,$=typeof g=="string"?{url:g}:g,N=$.url,T=$.headers,O=T===void 0?new Headers(v.headers):T,I=$.params,M=I===void 0?void 0:I,R=$.responseHandler,D=R===void 0?m??"json":R,L=$.validateStatus,V=L===void 0?S??phe:L,z=$.timeout,U=z===void 0?p:z,K=X6($,["url","headers","params","responseHandler","validateStatus","timeout"]),W=Ht(fo(Ht({},v),{signal:_}),K),O=new Headers(e8(O)),X=W,[4,o(O,{getState:w,extra:x,endpoint:C,forced:k,type:P})];case 1:X.headers=Be.sent()||O,F=function(Me){return typeof Me=="object"&&(Vi(Me)||Array.isArray(Me)||typeof Me.toJSON=="function")},!W.headers.has("content-type")&&F(W.body)&&W.headers.set("content-type",f),F(W.body)&&c(W.headers)&&(W.body=JSON.stringify(W.body,h)),M&&(q=~N.indexOf("?")?"&":"?",Q=l?l(M):new URLSearchParams(e8(M)),N+=q+Q),N=dhe(r,N),J=new Request(N,W),ne=J.clone(),A={request:ne},ge=!1,ae=U&&setTimeout(function(){ge=!0,b.abort()},U),Be.label=2;case 2:return Be.trys.push([2,4,5,6]),[4,a(J)];case 3:return Z=Be.sent(),[3,6];case 4:return oe=Be.sent(),[2,{error:{status:ge?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(oe)},meta:A}];case 5:return ae&&clearTimeout(ae),[7];case 6:Te=Z.clone(),A.response=Te,We="",Be.label=7;case 7:return Be.trys.push([7,9,,10]),[4,Promise.all([y(Z,D).then(function(Me){return se=Me},function(Me){return yt=Me}),Te.text().then(function(Me){return We=Me},function(){})])];case 8:if(Be.sent(),yt)throw yt;return[3,10];case 9:return Fe=Be.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Z.status,data:We,error:String(Fe)},meta:A}];case 10:return[2,V(Z,se)?{data:se,meta:A}:{error:{status:Z.status,data:se},meta:A}]}})})};function y(g,b){return Vy(this,null,function(){var _;return Fy(this,function(w){switch(w.label){case 0:return typeof b=="function"?[2,b(g)]:(b==="content-type"&&(b=c(g.headers)?"json":"text"),b!=="json"?[3,2]:[4,g.text()]);case 1:return _=w.sent(),[2,_.length?JSON.parse(_):null];case 2:return[2,g.text()]}})})}}var t8=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),i3=me("__rtkq/focused"),oL=me("__rtkq/unfocused"),o3=me("__rtkq/online"),sL=me("__rtkq/offline"),To;(function(e){e.query="query",e.mutation="mutation"})(To||(To={}));function aL(e){return e.type===To.query}function yhe(e){return e.type===To.mutation}function lL(e,t,n,r,i,o){return vhe(e)?e(t,n,r,i).map(Lw).map(o):Array.isArray(e)?e.map(Lw).map(o):[]}function vhe(e){return typeof e=="function"}function Lw(e){return typeof e=="string"?{type:e}:e}function t_(e){return e!=null}var vh=Symbol("forceQueryFn"),$w=function(e){return typeof e[vh]=="function"};function bhe(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,c=l.removeMutationResult,d=l.updateSubscriptionOptions;return{buildInitiateQuery:y,buildInitiateMutation:g,getRunningQueryThunk:p,getRunningMutationThunk:m,getRunningQueriesThunk:S,getRunningMutationsThunk:v,getRunningOperationPromises:h,removalWarning:f};function f(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. - Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. - See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function h(){typeof process<"u";var b=function(_){return Array.from(_.values()).flatMap(function(w){return w?Object.values(w):[]})};return By(By([],b(s)),b(a)).filter(t_)}function p(b,_){return function(w){var x,C=o.endpointDefinitions[b],k=t({queryArgs:_,endpointDefinition:C,endpointName:b});return(x=s.get(w))==null?void 0:x[k]}}function m(b,_){return function(w){var x;return(x=a.get(w))==null?void 0:x[_]}}function S(){return function(b){return Object.values(s.get(b)||{}).filter(t_)}}function v(){return function(b){return Object.values(a.get(b)||{}).filter(t_)}}function y(b,_){var w=function(x,C){var k=C===void 0?{}:C,P=k.subscribe,A=P===void 0?!0:P,$=k.forceRefetch,N=k.subscriptionOptions,T=vh,O=k[T];return function(I,M){var R,D,L=t({queryArgs:x,endpointDefinition:_,endpointName:b}),V=n((R={type:"query",subscribe:A,forceRefetch:$,subscriptionOptions:N,endpointName:b,originalArgs:x,queryCacheKey:L},R[vh]=O,R)),z=i.endpoints[b].select(x),U=I(V),K=z(M()),W=U.requestId,X=U.abort,F=K.requestId!==W,q=(D=s.get(I))==null?void 0:D[L],Q=function(){return z(M())},J=Object.assign(O?U.then(Q):F&&!q?Promise.resolve(K):Promise.all([q,U]).then(Q),{arg:x,requestId:W,subscriptionOptions:N,queryCacheKey:L,abort:X,unwrap:function(){return Vy(this,null,function(){var Z;return Fy(this,function(ge){switch(ge.label){case 0:return[4,J];case 1:if(Z=ge.sent(),Z.isError)throw Z.error;return[2,Z.data]}})})},refetch:function(){return I(w(x,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){A&&I(u({queryCacheKey:L,requestId:W}))},updateSubscriptionOptions:function(Z){J.subscriptionOptions=Z,I(d({endpointName:b,requestId:W,queryCacheKey:L,options:Z}))}});if(!q&&!F&&!O){var ne=s.get(I)||{};ne[L]=J,s.set(I,ne),J.then(function(){delete ne[L],Object.keys(ne).length||s.delete(I)})}return J}};return w}function g(b){return function(_,w){var x=w===void 0?{}:w,C=x.track,k=C===void 0?!0:C,P=x.fixedCacheKey;return function(A,$){var N=r({type:"mutation",endpointName:b,originalArgs:_,track:k,fixedCacheKey:P}),T=A(N),O=T.requestId,I=T.abort,M=T.unwrap,R=T.unwrap().then(function(z){return{data:z}}).catch(function(z){return{error:z}}),D=function(){A(c({requestId:O,fixedCacheKey:P}))},L=Object.assign(R,{arg:T.arg,requestId:O,abort:I,unwrap:M,unsubscribe:D,reset:D}),V=a.get(A)||{};return a.set(A,V),V[O]=L,L.then(function(){delete V[O],Object.keys(V).length||a.delete(A)}),P&&(V[P]=L,L.then(function(){V[P]===L&&(delete V[P],Object.keys(V).length||a.delete(A))})),L}}}}function n8(e){return e}function She(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(g,b,_){return function(w){var x=i[g];w(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:b,endpointDefinition:x,endpointName:g}),patches:_}))}},l=function(g,b,_){return function(w,x){var C,k,P=s.endpoints[g].select(b)(x()),A={patches:[],inversePatches:[],undo:function(){return w(s.util.patchQueryData(g,b,A.inversePatches))}};if(P.status===Et.uninitialized)return A;if("data"in P)if(Ir(P.data)){var $=LC(P.data,_),N=$[1],T=$[2];(C=A.patches).push.apply(C,N),(k=A.inversePatches).push.apply(k,T)}else{var O=_(P.data);A.patches.push({op:"replace",path:[],value:O}),A.inversePatches.push({op:"replace",path:[],value:P.data})}return w(s.util.patchQueryData(g,b,A.patches)),A}},u=function(g,b,_){return function(w){var x;return w(s.endpoints[g].initiate(b,(x={subscribe:!1,forceRefetch:!0},x[vh]=function(){return{data:_}},x)))}},c=function(g,b){return Vy(t,[g,b],function(_,w){var x,C,k,P,A,$,N,T,O,I,M,R,D,L,V,z,U,K,W=w.signal,X=w.abort,F=w.rejectWithValue,q=w.fulfillWithValue,Q=w.dispatch,J=w.getState,ne=w.extra;return Fy(this,function(Z){switch(Z.label){case 0:x=i[_.endpointName],Z.label=1;case 1:return Z.trys.push([1,8,,13]),C=n8,k=void 0,P={signal:W,abort:X,dispatch:Q,getState:J,extra:ne,endpoint:_.endpointName,type:_.type,forced:_.type==="query"?d(_,J()):void 0},A=_.type==="query"?_[vh]:void 0,A?(k=A(),[3,6]):[3,2];case 2:return x.query?[4,r(x.query(_.originalArgs),P,x.extraOptions)]:[3,4];case 3:return k=Z.sent(),x.transformResponse&&(C=x.transformResponse),[3,6];case 4:return[4,x.queryFn(_.originalArgs,P,x.extraOptions,function(ge){return r(ge,P,x.extraOptions)})];case 5:k=Z.sent(),Z.label=6;case 6:if(typeof process<"u",k.error)throw new t8(k.error,k.meta);return M=q,[4,C(k.data,k.meta,_.originalArgs)];case 7:return[2,M.apply(void 0,[Z.sent(),(U={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},U[Qa]=!0,U)])];case 8:if(R=Z.sent(),D=R,!(D instanceof t8))return[3,12];L=n8,x.query&&x.transformErrorResponse&&(L=x.transformErrorResponse),Z.label=9;case 9:return Z.trys.push([9,11,,12]),V=F,[4,L(D.value,D.meta,_.originalArgs)];case 10:return[2,V.apply(void 0,[Z.sent(),(K={baseQueryMeta:D.meta},K[Qa]=!0,K)])];case 11:return z=Z.sent(),D=z,[3,12];case 12:throw typeof process<"u",console.error(D),D;case 13:return[2]}})})};function d(g,b){var _,w,x,C,k=(w=(_=b[n])==null?void 0:_.queries)==null?void 0:w[g.queryCacheKey],P=(x=b[n])==null?void 0:x.config.refetchOnMountOrArgChange,A=k==null?void 0:k.fulfilledTimeStamp,$=(C=g.forceRefetch)!=null?C:g.subscribe&&P;return $?$===!0||(Number(new Date)-Number(A))/1e3>=$:!1}var f=Vf(n+"/executeQuery",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Qa]=!0,g},condition:function(g,b){var _=b.getState,w,x,C,k=_(),P=(x=(w=k[n])==null?void 0:w.queries)==null?void 0:x[g.queryCacheKey],A=P==null?void 0:P.fulfilledTimeStamp,$=g.originalArgs,N=P==null?void 0:P.originalArgs,T=i[g.endpointName];return $w(g)?!0:(P==null?void 0:P.status)==="pending"?!1:d(g,k)||aL(T)&&((C=T==null?void 0:T.forceRefetch)!=null&&C.call(T,{currentArg:$,previousArg:N,endpointState:P,state:k}))?!0:!A},dispatchConditionRejection:!0}),h=Vf(n+"/executeMutation",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Qa]=!0,g}}),p=function(g){return"force"in g},m=function(g){return"ifOlderThan"in g},S=function(g,b,_){return function(w,x){var C=p(_)&&_.force,k=m(_)&&_.ifOlderThan,P=function(T){return T===void 0&&(T=!0),s.endpoints[g].initiate(b,{forceRefetch:T})},A=s.endpoints[g].select(b)(x());if(C)w(P());else if(k){var $=A==null?void 0:A.fulfilledTimeStamp;if(!$){w(P());return}var N=(Number(new Date)-Number(new Date($)))/1e3>=k;N&&w(P())}else w(P(!1))}};function v(g){return function(b){var _,w;return((w=(_=b==null?void 0:b.meta)==null?void 0:_.arg)==null?void 0:w.endpointName)===g}}function y(g,b){return{matchPending:Gu(av(g),v(b)),matchFulfilled:Gu(Ca(g),v(b)),matchRejected:Gu(mc(g),v(b))}}return{queryThunk:f,mutationThunk:h,prefetch:S,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:y}}function uL(e,t,n,r){return lL(n[e.meta.arg.endpointName][t],Ca(e)?e.payload:void 0,Wh(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function hg(e,t,n){var r=e[t];r&&n(r)}function bh(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function r8(e,t,n){var r=e[bh(t)];r&&n(r)}var wd={};function _he(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,c=e.config,d=me(t+"/resetApiState"),f=zt({name:t+"/queries",initialState:wd,reducers:{removeQueryResult:{reducer:function(_,w){var x=w.payload.queryCacheKey;delete _[x]},prepare:Zg()},queryResultPatched:function(_,w){var x=w.payload,C=x.queryCacheKey,k=x.patches;hg(_,C,function(P){P.data=M2(P.data,k.concat())})}},extraReducers:function(_){_.addCase(n.pending,function(w,x){var C=x.meta,k=x.meta.arg,P,A,$=$w(k);(k.subscribe||$)&&((A=w[P=k.queryCacheKey])!=null||(w[P]={status:Et.uninitialized,endpointName:k.endpointName})),hg(w,k.queryCacheKey,function(N){N.status=Et.pending,N.requestId=$&&N.requestId?N.requestId:C.requestId,k.originalArgs!==void 0&&(N.originalArgs=k.originalArgs),N.startedTimeStamp=C.startedTimeStamp})}).addCase(n.fulfilled,function(w,x){var C=x.meta,k=x.payload;hg(w,C.arg.queryCacheKey,function(P){var A;if(!(P.requestId!==C.requestId&&!$w(C.arg))){var $=o[C.arg.endpointName].merge;if(P.status=Et.fulfilled,$)if(P.data!==void 0){var N=C.fulfilledTimeStamp,T=C.arg,O=C.baseQueryMeta,I=C.requestId,M=xa(P.data,function(R){return $(R,k,{arg:T.originalArgs,baseQueryMeta:O,fulfilledTimeStamp:N,requestId:I})});P.data=M}else P.data=k;else P.data=(A=o[C.arg.endpointName].structuralSharing)==null||A?iL(hr(P.data)?AC(P.data):P.data,k):k;delete P.error,P.fulfilledTimeStamp=C.fulfilledTimeStamp}})}).addCase(n.rejected,function(w,x){var C=x.meta,k=C.condition,P=C.arg,A=C.requestId,$=x.error,N=x.payload;hg(w,P.queryCacheKey,function(T){if(!k){if(T.requestId!==A)return;T.status=Et.rejected,T.error=N??$}})}).addMatcher(l,function(w,x){for(var C=a(x).queries,k=0,P=Object.entries(C);k{const r=yh.get(),i=mh.get();return mhe({baseUrl:`${r??""}/api/v1`,prepareHeaders:s=>(i&&s.set("Authorization",`Bearer ${i}`),s)})(e,t,n)},ya=Zhe({baseQuery:epe,reducerPath:"api",tagTypes:Jhe,endpoints:()=>({})}),Rc=ya.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:vn}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:vn}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:vn}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:vn},{type:"ImageList",id:Ai({board_id:"none",categories:Mi})},{type:"ImageList",id:Ai({board_id:"none",categories:Gs})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(ye.util.updateQueryData("getImageDTO",u,c=>{c.board_id=void 0}))});const a=[{categories:Mi},{categories:Gs}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(ye.util.updateQueryData("listImages",u,c=>{const d=c.total,h=lr.updateMany(c,l).total-d;c.total=c.total+h}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:vn},{type:"ImageList",id:Ai({board_id:"none",categories:Mi})},{type:"ImageList",id:Ai({board_id:"none",categories:Gs})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:Mi},{categories:Gs}].forEach(l=>{n(ye.util.updateQueryData("listImages",l,u=>{const c=u.total,f=lr.removeMany(u,s).total-c;u.total=u.total+f}))})}catch{}}})})}),{useListBoardsQuery:JPe,useListAllBoardsQuery:e6e,useCreateBoardMutation:t6e,useUpdateBoardMutation:n6e,useDeleteBoardMutation:r6e,useDeleteBoardAndImagesMutation:i6e,useListAllImageNamesForBoardQuery:o6e}=Rc,Mi=["general"],Gs=["control","mask","user","other"],tpe=100,s6e=20,dL={selection:[],shouldAutoSwitch:!0,autoAddBoardId:void 0,galleryImageMinimumWidth:96,selectedBoardId:void 0,galleryView:"images",batchImageNames:[],isBatchEnabled:!1},fL=zt({name:"gallery",initialState:dL,reducers:{imageRangeEndSelected:(e,t)=>{},imageSelectionToggled:(e,t)=>{},imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},isBatchEnabledChanged:(e,t)=>{e.isBatchEnabled=t.payload},imagesAddedToBatch:(e,t)=>{e.batchImageNames=hZ(e.batchImageNames.concat(t.payload))},imagesRemovedFromBatch:(e,t)=>{e.batchImageNames=e.batchImageNames.filter(r=>!t.payload.includes(r));const n=e.selection.filter(r=>!t.payload.includes(r));if(n.length){e.selection=n;return}e.selection=[e.batchImageNames[0]]},batchReset:e=>{e.batchImageNames=[],e.selection=[]},autoAddBoardIdChanged:(e,t)=>{e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload}},extraReducers:e=>{e.addMatcher(rpe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId=void 0,t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId=void 0)}),e.addMatcher(Rc.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId=void 0))})}}),{imagesRemoved:a6e,imageRangeEndSelected:l6e,imageSelectionToggled:u6e,imageSelected:ra,shouldAutoSwitchChanged:c6e,setGalleryImageMinimumWidth:d6e,boardIdSelected:Fw,isBatchEnabledChanged:f6e,imagesAddedToBatch:Bw,imagesRemovedFromBatch:h6e,autoAddBoardIdChanged:p6e,galleryViewChanged:Uy}=fL.actions,npe=fL.reducer,rpe=Hi(Rc.endpoints.deleteBoard.matchFulfilled,Rc.endpoints.deleteBoardAndImages.matchFulfilled),xd=e=>Mi.includes(e.image_category)?Mi:Gs,hL="%[a-f0-9]{2}",h8=new RegExp("("+hL+")|([^%]+?)","gi"),p8=new RegExp("("+hL+")+","gi");function jw(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;t=t||1;const n=e.slice(0,t),r=e.slice(t);return Array.prototype.concat.call([],jw(n),jw(r))}function ipe(e){try{return decodeURIComponent(e)}catch{let t=e.match(h8)||[];for(let n=1;ne==null,upe=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),Vw=Symbol("encodeFragmentIdentifier");function cpe(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),"[",i,"]"].join("")]:[...n,[Jt(t,e),"[",Jt(i,e),"]=",Jt(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),"[]"].join("")]:[...n,[Jt(t,e),"[]=",Jt(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Jt(t,e),":list="].join("")]:[...n,[Jt(t,e),":list=",Jt(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Jt(n,e),t,Jt(i,e)].join("")]:[[r,Jt(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Jt(t,e)]:[...n,[Jt(t,e),"=",Jt(r,e)].join("")]}}function dpe(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&qo(r,e).includes(e.arrayFormatSeparator);r=s?qo(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>qo(l,e)):r===null?r:qo(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&qo(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>qo(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function gL(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Jt(e,t){return t.encode?t.strict?upe(e):encodeURIComponent(e):e}function qo(e,t){return t.decode?spe(e):e}function mL(e){return Array.isArray(e)?e.sort():typeof e=="object"?mL(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function yL(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function fpe(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function g8(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function s3(e){e=yL(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function a3(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},gL(t.arrayFormatSeparator);const n=dpe(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=pL(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:qo(a,t),n(qo(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=g8(a,t);else r[i]=g8(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=mL(s):i[o]=s,i},Object.create(null))}function vL(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},gL(t.arrayFormatSeparator);const n=s=>t.skipNull&&lpe(e[s])||t.skipEmptyString&&e[s]==="",r=cpe(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Jt(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Jt(s,t)+"[]":a.reduce(r(s),[]).join("&"):Jt(s,t)+"="+Jt(a,t)}).filter(s=>s.length>0).join("&")}function bL(e,t){var i;t={decode:!0,...t};let[n,r]=pL(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:a3(s3(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:qo(r,t)}:{}}}function SL(e,t){t={encode:!0,strict:!0,[Vw]:!0,...t};const n=yL(e.url).split("?")[0]||"",r=s3(e.url),i={...a3(r,{sort:!1}),...e.query};let o=vL(i,t);o&&(o=`?${o}`);let s=fpe(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[Vw]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function _L(e,t,n){n={parseFragmentIdentifier:!0,[Vw]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=bL(e,n);return SL({url:r,query:ape(i,t),fragmentIdentifier:o},n)}function hpe(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return _L(e,r,n)}const wL=Object.freeze(Object.defineProperty({__proto__:null,exclude:hpe,extract:s3,parse:a3,parseUrl:bL,pick:_L,stringify:vL,stringifyUrl:SL},Symbol.toStringTag,{value:"Module"})),o_=(e,t)=>{if(!e)return!1;const n=zw.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=new Date(n[n.length-1].created_at);return r>=i}else if([0,1].includes(n.length))return!0;return!1},lr=Pl({selectId:e=>e.image_name,sortComparer:(e,t)=>rhe(t.updated_at,e.updated_at)}),zw=lr.getSelectors(),Ai=e=>`images/?${wL.stringify(e,{arrayFormat:"none"})}`,ye=ya.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Ai(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Ai({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Ai({board_id:n,categories:r})},transformResponse(t){const{total:n,items:r}=t;return lr.addMany(lr.getInitialState({total:n}),r)},merge:(t,n)=>{lr.addMany(t,zw.selectAll(n)),t.total=n.total},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;zw.selectAll(i).forEach(o=>{n(ye.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Ai({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/${t}`}),providesTags:(t,n,r)=>{const i=[{type:"Image",id:r}];return t!=null&&t.board_id&&i.push({type:"Board",id:t.board_id}),i},keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),getBoardImagesTotal:e.query({query:t=>({url:Ai({board_id:t??"none",categories:Mi,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Ai({board_id:t??"none",categories:Gs,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s=[],a=xd(t);s.push(n(ye.util.updateQueryData("listImages",{board_id:o??"none",categories:a},l=>{const u=l.total,d=lr.removeOne(l,i).total-u;l.total=l.total+d})));try{await r}catch{s.forEach(l=>l.undo())}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(ye.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=xd(t);if(n)s.push(r(ye.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{const u=l.total,d=lr.removeOne(l,t.image_name).total-u;l.total=l.total+d})));else{console.log(t);const l={board_id:t.board_id??"none",categories:a},u=ye.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=o_(u.data,t);(c||d)&&s.push(r(ye.util.updateQueryData("listImages",l,f=>{const h=f.total,m=lr.upsertOne(f,t).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(ye.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(ye.util.upsertQueryData("getImageDTO",u.image_name,u));const c=xd(u);a(ye.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:c},d=>{const f=d.total,p=lr.addOne(d,u).total-f;d.total=d.total+p})),a(ye.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:r},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=xd(n);if(s.push(r(ye.util.updateQueryData("getImageDTO",n.image_name,l=>{Object.assign(l,{board_id:t})}))),!n.is_intermediate){s.push(r(ye.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},f=>{const h=f.total,m=lr.removeOne(f,n.image_name).total-h;f.total=f.total+m})));const l={board_id:t??"none",categories:a},u=ye.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=o_(u.data,n);(c||d)&&s.push(r(ye.util.updateQueryData("listImages",l,f=>{const h=f.total,m=lr.addOne(f,n).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{board_id:n,image_name:r}=t;return{url:"board_images/",method:"DELETE",body:{board_id:n,image_name:r}}},invalidatesTags:(t,n,{imageDTO:r})=>[{type:"Board",id:r.board_id},{type:"BoardImagesTotal",id:r.board_id},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:r.board_id},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=xd(t),s=[];s.push(n(ye.util.updateQueryData("getImageDTO",t.image_name,d=>{Object.assign(d,{board_id:void 0})}))),s.push(n(ye.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},d=>{const f=d.total,p=lr.removeOne(d,t.image_name).total-f;d.total=d.total+p})));const a={board_id:"none",categories:o},l=ye.endpoints.listImages.select(a)(i()),u=l.data&&l.data.ids.length>=l.data.total,c=o_(l.data,t);(u||c)&&s.push(n(ye.util.updateQueryData("listImages",a,d=>{const f=d.total,p=lr.upsertOne(d,t).total-f;d.total=d.total+p})));try{await r}catch{s.forEach(d=>d.undo())}}})})}),{useGetIntermediatesCountQuery:g6e,useListImagesQuery:m6e,useLazyListImagesQuery:y6e,useGetImageDTOQuery:v6e,useGetImageMetadataQuery:b6e,useDeleteImageMutation:S6e,useGetBoardImagesTotalQuery:_6e,useGetBoardAssetsTotalQuery:w6e,useUploadImageMutation:x6e,useAddImageToBoardMutation:C6e,useRemoveImageFromBoardMutation:T6e,useClearIntermediatesMutation:E6e}=ye,xL=me("socket/socketConnected"),CL=me("socket/appSocketConnected"),TL=me("socket/socketDisconnected"),EL=me("socket/appSocketDisconnected"),l3=me("socket/socketSubscribed"),PL=me("socket/appSocketSubscribed"),kL=me("socket/socketUnsubscribed"),AL=me("socket/appSocketUnsubscribed"),OL=me("socket/socketInvocationStarted"),RL=me("socket/appSocketInvocationStarted"),u3=me("socket/socketInvocationComplete"),IL=me("socket/appSocketInvocationComplete"),ML=me("socket/socketInvocationError"),c3=me("socket/appSocketInvocationError"),NL=me("socket/socketGraphExecutionStateComplete"),DL=me("socket/appSocketGraphExecutionStateComplete"),LL=me("socket/socketGeneratorProgress"),$L=me("socket/appSocketGeneratorProgress"),FL=me("socket/socketModelLoadStarted"),ppe=me("socket/appSocketModelLoadStarted"),BL=me("socket/socketModelLoadCompleted"),gpe=me("socket/appSocketModelLoadCompleted"),d3=me("controlNet/imageProcessed"),gu={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},yg={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},m8={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:gu.canny_image_processor.default,shouldAutoConfig:!0},Uw={controlNets:{},isEnabled:!1,pendingControlImages:[]},jL=zt({name:"controlNet",initialState:Uw,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??m8,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=Yn(e.controlNets[n]);i.controlNetId=r,e.controlNets[r]=i},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...m8,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload;e.controlNets[n].isEnabled=!e.controlNets[n].isEnabled},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n].controlImage=r,e.controlNets[n].processedControlImage=null,r!==null&&e.controlNets[n].processorType!=="none"&&e.pendingControlImages.push(n)},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload;e.controlNets[n].processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(i=>i!==n)},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload;if(e.controlNets[n].model=r,e.controlNets[n].processedControlImage=null,e.controlNets[n].shouldAutoConfig){let i;for(const o in yg)if(r.model_name.includes(o)){i=yg[o];break}i?(e.controlNets[n].processorType=i,e.controlNets[n].processorNode=gu[i].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=gu.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload;e.controlNets[n].weight=r},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload;e.controlNets[n].beginStepPct=r},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload;e.controlNets[n].endStepPct=r},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload;e.controlNets[n].controlMode=r},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload;e.controlNets[n].resizeMode=r},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n].processorNode;e.controlNets[n].processorNode={...i,...r},e.controlNets[n].shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload;e.controlNets[n].processedControlImage=null,e.controlNets[n].processorType=r,e.controlNets[n].processorNode=gu[r].default,e.controlNets[n].shouldAutoConfig=!1},controlNetAutoConfigToggled:(e,t)=>{var i;const{controlNetId:n}=t.payload,r=!e.controlNets[n].shouldAutoConfig;if(r){let o;for(const s in yg)if((i=e.controlNets[n].model)!=null&&i.model_name.includes(s)){o=yg[s];break}o?(e.controlNets[n].processorType=o,e.controlNets[n].processorNode=gu[o].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=gu.none.default)}e.controlNets[n].shouldAutoConfig=r},controlNetReset:()=>({...Uw})},extraReducers:e=>{e.addCase(d3,(t,n)=>{t.controlNets[n.payload.controlNetId].controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(c3,(t,n)=>{t.pendingControlImages=[]}),e.addMatcher(XD,(t,n)=>{t.pendingControlImages=[]}),e.addMatcher(ye.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;bc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:P6e,controlNetAdded:k6e,controlNetDuplicated:A6e,controlNetAddedFromImage:O6e,controlNetRemoved:VL,controlNetImageChanged:f3,controlNetProcessedImageChanged:mpe,controlNetToggled:R6e,controlNetModelChanged:y8,controlNetWeightChanged:I6e,controlNetBeginStepPctChanged:M6e,controlNetEndStepPctChanged:N6e,controlNetControlModeChanged:D6e,controlNetResizeModeChanged:L6e,controlNetProcessorParamsChanged:ype,controlNetProcessorTypeChanged:vpe,controlNetReset:zL,controlNetAutoConfigToggled:v8}=jL.actions,bpe=jL.reducer,$6e=e=>e.controlNet,UL={isEnabled:!1,maxPrompts:100,combinatorial:!0},Spe=UL,GL=zt({name:"dynamicPrompts",initialState:Spe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=UL.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}},extraReducers:e=>{}}),{isEnabledToggled:F6e,maxPromptsChanged:B6e,maxPromptsReset:j6e,combinatorialToggled:V6e}=GL.actions,_pe=GL.reducer,wpe={updateBoardModalOpen:!1,searchText:""},HL=zt({name:"boards",initialState:wpe,reducers:{setBoardSearchText:(e,t)=>{e.searchText=t.payload},setUpdateBoardModalOpen:(e,t)=>{e.updateBoardModalOpen=t.payload}}}),{setBoardSearchText:z6e,setUpdateBoardModalOpen:U6e}=HL.actions,xpe=HL.reducer,Cpe={imageToDelete:null,isModalOpen:!1},qL=zt({name:"imageDeletion",initialState:Cpe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imageToDeleteSelected:(e,t)=>{e.imageToDelete=t.payload},imageToDeleteCleared:e=>{e.imageToDelete=null,e.isModalOpen=!1}}}),{isModalOpenChanged:WL,imageToDeleteSelected:Tpe,imageToDeleteCleared:G6e}=qL.actions,Epe=qL.reducer,KL=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Au(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Au(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},Ppe=Vn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return KL(e,n)},Kc),YL=me("imageDeletion/imageDeletionConfirmed"),b8={weight:.75},kpe={loras:{}},XL=zt({name:"lora",initialState:kpe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...b8}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload;e.loras[n].weight=r},loraWeightReset:(e,t)=>{const n=t.payload;e.loras[n].weight=b8.weight}}}),{loraAdded:H6e,loraRemoved:QL,loraWeightChanged:q6e,loraWeightReset:W6e,lorasCleared:K6e}=XL.actions,Ape=XL.reducer;function _i(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(!Object.is(c,t)){const d=t;t=u??typeof c!="object"?c:Object.assign({},t,c),n.forEach(f=>f(t,d))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},Ope=e=>e?S8(e):S8,{useSyncExternalStoreWithSelector:Rpe}=LU;function Ipe(e,t=e.getState,n){const r=Rpe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return E.useDebugValue(r),r}function Dr(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function f1(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}ym.prototype=f1.prototype={constructor:ym,on:function(e,t){var n=this._,r=Npe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),w8.hasOwnProperty(t)?{space:w8[t],local:e}:e}function Lpe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Gw&&t.documentElement.namespaceURI===Gw?t.createElement(e):t.createElementNS(n,e)}}function $pe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ZL(e){var t=h1(e);return(t.local?$pe:Lpe)(t)}function Fpe(){}function h3(e){return e==null?Fpe:function(){return this.querySelector(e)}}function Bpe(e){typeof e!="function"&&(e=h3(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=g&&(g=y+1);!(_=S[g])&&++g=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function cge(e){e||(e=dge);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function fge(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function hge(){return Array.from(this)}function pge(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?Tge:typeof t=="function"?Pge:Ege)(e,t,n??"")):Ic(this.node(),e)}function Ic(e,t){return e.style.getPropertyValue(t)||r$(e).getComputedStyle(e,null).getPropertyValue(t)}function Age(e){return function(){delete this[e]}}function Oge(e,t){return function(){this[e]=t}}function Rge(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ige(e,t){return arguments.length>1?this.each((t==null?Age:typeof t=="function"?Rge:Oge)(e,t)):this.node()[e]}function i$(e){return e.trim().split(/^|\s+/)}function p3(e){return e.classList||new o$(e)}function o$(e){this._node=e,this._names=i$(e.getAttribute("class")||"")}o$.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function s$(e,t){for(var n=p3(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function sme(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function Hw(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Hw.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function mme(e){return!e.ctrlKey&&!e.button}function yme(){return this.parentNode}function vme(e,t){return t??{x:e.x,y:e.y}}function bme(){return navigator.maxTouchPoints||"ontouchstart"in this}function Sme(){var e=mme,t=yme,n=vme,r=bme,i={},o=f1("start","drag","end"),s=0,a,l,u,c,d=0;function f(b){b.on("mousedown.drag",h).filter(r).on("touchstart.drag",S).on("touchmove.drag",v,gme).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(b,_){if(!(c||!e.call(this,b,_))){var w=g(this,t.call(this,b,_),b,_,"mouse");w&&(Oi(b.view).on("mousemove.drag",p,Sh).on("mouseup.drag",m,Sh),c$(b.view),s_(b),u=!1,a=b.clientX,l=b.clientY,w("start",b))}}function p(b){if(Ju(b),!u){var _=b.clientX-a,w=b.clientY-l;u=_*_+w*w>d}i.mouse("drag",b)}function m(b){Oi(b.view).on("mousemove.drag mouseup.drag",null),d$(b.view,u),Ju(b),i.mouse("end",b)}function S(b,_){if(e.call(this,b,_)){var w=b.changedTouches,x=t.call(this,b,_),C=w.length,k,P;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?bg(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?bg(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=wme.exec(e))?new Er(t[1],t[2],t[3],1):(t=xme.exec(e))?new Er(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Cme.exec(e))?bg(t[1],t[2],t[3],t[4]):(t=Tme.exec(e))?bg(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Eme.exec(e))?A8(t[1],t[2]/100,t[3]/100,1):(t=Pme.exec(e))?A8(t[1],t[2]/100,t[3]/100,t[4]):x8.hasOwnProperty(e)?E8(x8[e]):e==="transparent"?new Er(NaN,NaN,NaN,0):null}function E8(e){return new Er(e>>16&255,e>>8&255,e&255,1)}function bg(e,t,n,r){return r<=0&&(e=t=n=NaN),new Er(e,t,n,r)}function Ome(e){return e instanceof bp||(e=xh(e)),e?(e=e.rgb(),new Er(e.r,e.g,e.b,e.opacity)):new Er}function qw(e,t,n,r){return arguments.length===1?Ome(e):new Er(e,t,n,r??1)}function Er(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}g3(Er,qw,f$(bp,{brighter(e){return e=e==null?Hy:Math.pow(Hy,e),new Er(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?_h:Math.pow(_h,e),new Er(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Er(ll(this.r),ll(this.g),ll(this.b),qy(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:P8,formatHex:P8,formatHex8:Rme,formatRgb:k8,toString:k8}));function P8(){return`#${el(this.r)}${el(this.g)}${el(this.b)}`}function Rme(){return`#${el(this.r)}${el(this.g)}${el(this.b)}${el((isNaN(this.opacity)?1:this.opacity)*255)}`}function k8(){const e=qy(this.opacity);return`${e===1?"rgb(":"rgba("}${ll(this.r)}, ${ll(this.g)}, ${ll(this.b)}${e===1?")":`, ${e})`}`}function qy(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ll(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function el(e){return e=ll(e),(e<16?"0":"")+e.toString(16)}function A8(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ri(e,t,n,r)}function h$(e){if(e instanceof Ri)return new Ri(e.h,e.s,e.l,e.opacity);if(e instanceof bp||(e=xh(e)),!e)return new Ri;if(e instanceof Ri)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new Ri(s,a,l,e.opacity)}function Ime(e,t,n,r){return arguments.length===1?h$(e):new Ri(e,t,n,r??1)}function Ri(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}g3(Ri,Ime,f$(bp,{brighter(e){return e=e==null?Hy:Math.pow(Hy,e),new Ri(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?_h:Math.pow(_h,e),new Ri(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Er(a_(e>=240?e-240:e+120,i,r),a_(e,i,r),a_(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ri(O8(this.h),Sg(this.s),Sg(this.l),qy(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=qy(this.opacity);return`${e===1?"hsl(":"hsla("}${O8(this.h)}, ${Sg(this.s)*100}%, ${Sg(this.l)*100}%${e===1?")":`, ${e})`}`}}));function O8(e){return e=(e||0)%360,e<0?e+360:e}function Sg(e){return Math.max(0,Math.min(1,e||0))}function a_(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const p$=e=>()=>e;function Mme(e,t){return function(n){return e+n*t}}function Nme(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Dme(e){return(e=+e)==1?g$:function(t,n){return n-t?Nme(t,n,e):p$(isNaN(t)?n:t)}}function g$(e,t){var n=t-e;return n?Mme(e,n):p$(isNaN(e)?t:e)}const R8=function e(t){var n=Dme(t);function r(i,o){var s=n((i=qw(i)).r,(o=qw(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=g$(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=e,r}(1);function Ds(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Ww=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,l_=new RegExp(Ww.source,"g");function Lme(e){return function(){return e}}function $me(e){return function(t){return e(t)+""}}function Fme(e,t){var n=Ww.lastIndex=l_.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=Ww.exec(e))&&(i=l_.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:Ds(r,i)})),n=l_.lastIndex;return n180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:Ds(u,c)})):c&&d.push(i(d)+"rotate("+c+r)}function a(u,c,d,f){u!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:Ds(u,c)}):c&&d.push(i(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:Ds(u,d)},{i:m-2,x:Ds(c,f)})}else(d!==1||f!==1)&&h.push(i(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),s(u.rotate,c.rotate,d,f),a(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,m=f.length,S;++p=0&&e._call.call(void 0,t),e=e._next;--Mc}function N8(){_l=(Ky=Ch.now())+p1,Mc=qd=0;try{Kme()}finally{Mc=0,Xme(),_l=0}}function Yme(){var e=Ch.now(),t=e-Ky;t>v$&&(p1-=t,Ky=e)}function Xme(){for(var e,t=Wy,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Wy=n);Wd=e,Yw(r)}function Yw(e){if(!Mc){qd&&(qd=clearTimeout(qd));var t=e-_l;t>24?(e<1/0&&(qd=setTimeout(N8,e-Ch.now()-p1)),Cd&&(Cd=clearInterval(Cd))):(Cd||(Ky=Ch.now(),Cd=setInterval(Yme,v$)),Mc=1,b$(N8))}}function D8(e,t,n){var r=new Yy;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Qme=f1("start","end","cancel","interrupt"),Zme=[],_$=0,L8=1,Xw=2,vm=3,$8=4,Qw=5,bm=6;function g1(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Jme(e,n,{name:t,index:r,group:i,on:Qme,tween:Zme,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:_$})}function y3(e,t){var n=qi(e,t);if(n.state>_$)throw new Error("too late; already scheduled");return n}function Oo(e,t){var n=qi(e,t);if(n.state>vm)throw new Error("too late; already running");return n}function qi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Jme(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=S$(o,0,n.time);function o(u){n.state=L8,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,f,h;if(n.state!==L8)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===vm)return D8(s);h.state===$8?(h.state=bm,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+cXw&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function Aye(e,t,n){var r,i,o=kye(t)?y3:Oo;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function Oye(e,t){var n=this._id;return arguments.length<2?qi(this.node(),n).on.on(e):this.each(Aye(n,e,t))}function Rye(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Iye(){return this.on("end.remove",Rye(this._id))}function Mye(e){var t=this._name,n=this._id;typeof e!="function"&&(e=h3(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function i0e(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Zo(e,t,n){this.k=e,this.x=t,this.y=n}Zo.prototype={constructor:Zo,scale:function(e){return e===1?this:new Zo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Zo(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ia=new Zo(1,0,0);Zo.prototype;function u_(e){e.stopImmediatePropagation()}function Td(e){e.preventDefault(),e.stopImmediatePropagation()}function o0e(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function s0e(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function F8(){return this.__zoom||ia}function a0e(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function l0e(){return navigator.maxTouchPoints||"ontouchstart"in this}function u0e(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function c0e(){var e=o0e,t=s0e,n=u0e,r=a0e,i=l0e,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=qme,u=f1("start","zoom","end"),c,d,f,h=500,p=150,m=0,S=10;function v(T){T.property("__zoom",F8).on("wheel.zoom",C,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",P).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}v.transform=function(T,O,I,M){var R=T.selection?T.selection():T;R.property("__zoom",F8),T!==R?_(T,O,I,M):R.interrupt().each(function(){w(this,arguments).event(M).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},v.scaleBy=function(T,O,I,M){v.scaleTo(T,function(){var R=this.__zoom.k,D=typeof O=="function"?O.apply(this,arguments):O;return R*D},I,M)},v.scaleTo=function(T,O,I,M){v.transform(T,function(){var R=t.apply(this,arguments),D=this.__zoom,L=I==null?b(R):typeof I=="function"?I.apply(this,arguments):I,V=D.invert(L),z=typeof O=="function"?O.apply(this,arguments):O;return n(g(y(D,z),L,V),R,s)},I,M)},v.translateBy=function(T,O,I,M){v.transform(T,function(){return n(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof I=="function"?I.apply(this,arguments):I),t.apply(this,arguments),s)},null,M)},v.translateTo=function(T,O,I,M,R){v.transform(T,function(){var D=t.apply(this,arguments),L=this.__zoom,V=M==null?b(D):typeof M=="function"?M.apply(this,arguments):M;return n(ia.translate(V[0],V[1]).scale(L.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof I=="function"?-I.apply(this,arguments):-I),D,s)},M,R)};function y(T,O){return O=Math.max(o[0],Math.min(o[1],O)),O===T.k?T:new Zo(O,T.x,T.y)}function g(T,O,I){var M=O[0]-I[0]*T.k,R=O[1]-I[1]*T.k;return M===T.x&&R===T.y?T:new Zo(T.k,M,R)}function b(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function _(T,O,I,M){T.on("start.zoom",function(){w(this,arguments).event(M).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(M).end()}).tween("zoom",function(){var R=this,D=arguments,L=w(R,D).event(M),V=t.apply(R,D),z=I==null?b(V):typeof I=="function"?I.apply(R,D):I,U=Math.max(V[1][0]-V[0][0],V[1][1]-V[0][1]),K=R.__zoom,W=typeof O=="function"?O.apply(R,D):O,X=l(K.invert(z).concat(U/K.k),W.invert(z).concat(U/W.k));return function(F){if(F===1)F=W;else{var q=X(F),Q=U/q[2];F=new Zo(Q,z[0]-q[0]*Q,z[1]-q[1]*Q)}L.zoom(null,F)}})}function w(T,O,I){return!I&&T.__zooming||new x(T,O)}function x(T,O){this.that=T,this.args=O,this.active=0,this.sourceEvent=null,this.extent=t.apply(T,O),this.taps=0}x.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,O){return this.mouse&&T!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var O=Oi(this.that).datum();u.call(T,this.that,new i0e(T,{sourceEvent:this.sourceEvent,target:v,type:T,transform:this.that.__zoom,dispatch:u}),O)}};function C(T,...O){if(!e.apply(this,arguments))return;var I=w(this,O).event(T),M=this.__zoom,R=Math.max(o[0],Math.min(o[1],M.k*Math.pow(2,r.apply(this,arguments)))),D=Ji(T);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=M.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(M.k===R)return;I.mouse=[D,M.invert(D)],Sm(this),I.start()}Td(T),I.wheel=setTimeout(L,p),I.zoom("mouse",n(g(y(M,R),I.mouse[0],I.mouse[1]),I.extent,s));function L(){I.wheel=null,I.end()}}function k(T,...O){if(f||!e.apply(this,arguments))return;var I=T.currentTarget,M=w(this,O,!0).event(T),R=Oi(T.view).on("mousemove.zoom",z,!0).on("mouseup.zoom",U,!0),D=Ji(T,I),L=T.clientX,V=T.clientY;c$(T.view),u_(T),M.mouse=[D,this.__zoom.invert(D)],Sm(this),M.start();function z(K){if(Td(K),!M.moved){var W=K.clientX-L,X=K.clientY-V;M.moved=W*W+X*X>m}M.event(K).zoom("mouse",n(g(M.that.__zoom,M.mouse[0]=Ji(K,I),M.mouse[1]),M.extent,s))}function U(K){R.on("mousemove.zoom mouseup.zoom",null),d$(K.view,M.moved),Td(K),M.event(K).end()}}function P(T,...O){if(e.apply(this,arguments)){var I=this.__zoom,M=Ji(T.changedTouches?T.changedTouches[0]:T,this),R=I.invert(M),D=I.k*(T.shiftKey?.5:2),L=n(g(y(I,D),M,R),t.apply(this,O),s);Td(T),a>0?Oi(this).transition().duration(a).call(_,L,M,T):Oi(this).call(v.transform,L,M,T)}}function A(T,...O){if(e.apply(this,arguments)){var I=T.touches,M=I.length,R=w(this,O,T.changedTouches.length===M).event(T),D,L,V,z;for(u_(T),L=0;L"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},T$=va.error001();function Kt(e,t){const n=E.useContext(m1);if(n===null)throw new Error(T$);return Ipe(n,e,t)}const tr=()=>{const e=E.useContext(m1);if(e===null)throw new Error(T$);return E.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},f0e=e=>e.userSelectionActive?"none":"all";function h0e({position:e,children:t,className:n,style:r,...i}){const o=Kt(f0e),s=`${e}`.split("-");return j.jsx("div",{className:_i(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function p0e({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:j.jsx(h0e,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:j.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const g0e=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...c})=>{const d=E.useRef(null),[f,h]=E.useState({x:0,y:0,width:0,height:0}),p=_i(["react-flow__edge-textwrapper",u]);return E.useEffect(()=>{if(d.current){const m=d.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:j.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c,children:[i&&j.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),j.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r,children:n}),l]})};var m0e=E.memo(g0e);const b3=e=>({width:e.offsetWidth,height:e.offsetHeight}),Nc=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),S3=(e={x:0,y:0},t)=>({x:Nc(e.x,t[0][0],t[1][0]),y:Nc(e.y,t[0][1],t[1][1])}),B8=(e,t,n)=>en?-Nc(Math.abs(e-n),1,50)/50:0,E$=(e,t)=>{const n=B8(e.x,35,t.width-35)*20,r=B8(e.y,35,t.height-35)*20;return[n,r]},P$=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},k$=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Xy=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),A$=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),j8=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),Y6e=(e,t)=>A$(k$(Xy(e),Xy(t))),Zw=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},y0e=e=>ci(e.width)&&ci(e.height)&&ci(e.x)&&ci(e.y),ci=e=>!isNaN(e)&&isFinite(e),hn=Symbol.for("internals"),O$=["Enter"," ","Escape"],v0e=(e,t)=>{},b0e=e=>"nativeEvent"in e;function Jw(e){var i,o;const t=b0e(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const R$=e=>"clientX"in e,oa=(e,t)=>{var o,s;const n=R$(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Sp=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>j.jsxs(j.Fragment,{children:[j.jsx("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&j.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&ci(n)&&ci(r)?j.jsx(m0e,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Sp.displayName="BaseEdge";function Ed(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function I$({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[S,v,y]=N$({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return j.jsx(Sp,{path:S,labelX:v,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:m})});_3.displayName="SimpleBezierEdge";const z8={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},S0e=({source:e,sourcePosition:t=ve.Bottom,target:n})=>t===ve.Left||t===ve.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function _0e({source:e,sourcePosition:t=ve.Bottom,target:n,targetPosition:r=ve.Top,center:i,offset:o}){const s=z8[t],a=z8[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},c=S0e({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",f=c[d];let h=[],p,m;const[S,v,y,g]=I$({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){p=i.x||S,m=i.y||v;const _=[{x:p,y:l.y},{x:p,y:u.y}],w=[{x:l.x,y:m},{x:u.x,y:m}];s[d]===f?h=d==="x"?_:w:h=d==="x"?w:_}else{const _=[{x:l.x,y:u.y}],w=[{x:u.x,y:l.y}];if(d==="x"?h=s.x===f?w:_:h=s.y===f?_:w,t!==r){const x=d==="x"?"y":"x",C=s[d]===a[x],k=l[x]>u[x],P=l[x]{let g="";return y>0&&y{const[v,y,g]=ex({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return j.jsx(Sp,{path:v,labelX:y,labelY:g,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:p,interactionWidth:S})});y1.displayName="SmoothStepEdge";const w3=E.memo(e=>{var t;return j.jsx(y1,{...e,pathOptions:E.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});w3.displayName="StepEdge";function x0e({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=I$({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const x3=E.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{const[p,m,S]=x0e({sourceX:e,sourceY:t,targetX:n,targetY:r});return j.jsx(Sp,{path:p,labelX:m,labelY:S,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});x3.displayName="StraightEdge";function xg(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function G8({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case ve.Left:return[t-xg(t-r,o),n];case ve.Right:return[t+xg(r-t,o),n];case ve.Top:return[t,n-xg(n-i,o)];case ve.Bottom:return[t,n+xg(i-n,o)]}}function D$({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:r,targetY:i,targetPosition:o=ve.Top,curvature:s=.25}){const[a,l]=G8({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,c]=G8({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[d,f,h,p]=M$({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${l} ${u},${c} ${r},${i}`,d,f,h,p]}const Zy=E.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=ve.Bottom,targetPosition:o=ve.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,pathOptions:m,interactionWidth:S})=>{const[v,y,g]=D$({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return j.jsx(Sp,{path:v,labelX:y,labelY:g,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:S})});Zy.displayName="BezierEdge";const C3=E.createContext(null),C0e=C3.Provider;C3.Consumer;const T0e=()=>E.useContext(C3),E0e=e=>"id"in e&&"source"in e&&"target"in e,P0e=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,tx=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,k0e=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),L$=(e,t)=>{if(!e.source||!e.target)return t;let n;return E0e(e)?n={...e}:n={...e,id:P0e(e)},k0e(n,t)?t:t.concat(n)},$$=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},A0e=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),nc=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},F$=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=nc(i,t).positionAbsolute;return k$(r,Xy({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return A$(n)},B$=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(c=>{const{width:d,height:f,selectable:h=!0,hidden:p=!1}=c;if(s&&!h||p)return!1;const{positionAbsolute:m}=nc(c,a),S={x:m.x,y:m.y,width:d||0,height:f||0},v=Zw(l,S),y=typeof d>"u"||typeof f>"u"||d===null||f===null,g=o&&v>0,b=(d||0)*(f||0);(y||g||v>=b||c.dragging)&&u.push(c)}),u},j$=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},V$=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Nc(l,r,i),c=e.x+e.width/2,d=e.y+e.height/2,f=t/2-c*u,h=n/2-d*u;return[f,h,u]},qa=(e,t=0)=>e.transition().duration(t);function H8(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function O0e(e,t,n,r,i,o){const{x:s,y:a}=oa(e),u=t.elementsFromPoint(s,a).find(p=>p.classList.contains("react-flow__handle"));if(u){const p=u.getAttribute("data-nodeid");if(p){const m=T3(void 0,u),S=u.getAttribute("data-handleid"),v=o({nodeId:p,id:S,type:m});if(v)return{handle:{id:S,type:m,nodeId:p,x:n.x,y:n.y},validHandleResult:v}}}let c=[],d=1/0;if(i.forEach(p=>{const m=Math.sqrt((p.x-n.x)**2+(p.y-n.y)**2);if(m<=r){const S=o(p);m<=d&&(mp.isValid),h=c.some(({handle:p})=>p.type==="target");return c.find(({handle:p,validHandleResult:m})=>h?p.type==="target":f?m.isValid:!0)||c[0]}const R0e={source:null,target:null,sourceHandle:null,targetHandle:null},z$=()=>({handleDomNode:null,isValid:!1,connection:R0e,endHandle:null});function U$(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...z$(),handleDomNode:l};if(l){const c=T3(void 0,l),d=l.getAttribute("data-nodeid"),f=l.getAttribute("data-handleid"),h=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),m={source:a?d:n,sourceHandle:a?f:r,target:a?n:d,targetHandle:a?r:f};u.connection=m,h&&p&&(t===wl.Strict?a&&c==="source"||!a&&c==="target":d!==n||f!==r)&&(u.endHandle={nodeId:d,handleId:f,type:c},u.isValid=o(m))}return u}function I0e({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[hn]){const{handleBounds:s}=o[hn];let a=[],l=[];s&&(a=H8(o,s,"source",`${t}-${n}-${r}`),l=H8(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function T3(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function c_(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function M0e(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function G$({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const c=P$(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:h,connectionRadius:p,onConnectStart:m,panBy:S,getNodes:v,cancelConnection:y}=o();let g=0,b;const{x:_,y:w}=oa(e),x=c==null?void 0:c.elementFromPoint(_,w),C=T3(l,x),k=f==null?void 0:f.getBoundingClientRect();if(!k||!C)return;let P,A=oa(e,k),$=!1,N=null,T=!1,O=null;const I=I0e({nodes:v(),nodeId:n,handleId:t,handleType:C}),M=()=>{if(!h)return;const[L,V]=E$(A,k);S({x:L,y:V}),g=requestAnimationFrame(M)};s({connectionPosition:A,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:C,connectionStartHandle:{nodeId:n,handleId:t,type:C},connectionEndHandle:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:C});function R(L){const{transform:V}=o();A=oa(L,k);const{handle:z,validHandleResult:U}=O0e(L,c,$$(A,V,!1,[1,1]),p,I,K=>U$(K,d,n,t,i?"target":"source",a,c));if(b=z,$||(M(),$=!0),O=U.handleDomNode,N=U.connection,T=U.isValid,s({connectionPosition:b&&T?A0e({x:b.x,y:b.y},V):A,connectionStatus:M0e(!!b,T),connectionEndHandle:U.endHandle}),!b&&!T&&!O)return c_(P);N.source!==N.target&&O&&(c_(P),P=O,O.classList.add("connecting","react-flow__handle-connecting"),O.classList.toggle("valid",T),O.classList.toggle("react-flow__handle-valid",T))}function D(L){var V,z;(b||O)&&N&&T&&(r==null||r(N)),(z=(V=o()).onConnectEnd)==null||z.call(V,L),l&&(u==null||u(L)),c_(P),y(),cancelAnimationFrame(g),$=!1,T=!1,N=null,O=null,c.removeEventListener("mousemove",R),c.removeEventListener("mouseup",D),c.removeEventListener("touchmove",R),c.removeEventListener("touchend",D)}c.addEventListener("mousemove",R),c.addEventListener("mouseup",D),c.addEventListener("touchmove",R),c.addEventListener("touchend",D)}const q8=()=>!0,N0e=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),D0e=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},H$=E.forwardRef(({type:e="source",position:t=ve.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{var k,P;const p=s||null,m=e==="target",S=tr(),v=T0e(),{connectOnClick:y,noPanClassName:g}=Kt(N0e,Dr),{connecting:b,clickConnecting:_}=Kt(D0e(v,p,e),Dr);v||(P=(k=S.getState()).onError)==null||P.call(k,"010",va.error010());const w=A=>{const{defaultEdgeOptions:$,onConnect:N,hasDefaultEdges:T}=S.getState(),O={...$,...A};if(T){const{edges:I,setEdges:M}=S.getState();M(L$(O,I))}N==null||N(O),a==null||a(O)},x=A=>{if(!v)return;const $=R$(A);i&&($&&A.button===0||!$)&&G$({event:A,handleId:p,nodeId:v,onConnect:w,isTarget:m,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||q8}),$?c==null||c(A):d==null||d(A)},C=A=>{const{onClickConnectStart:$,onClickConnectEnd:N,connectionClickStartHandle:T,connectionMode:O,isValidConnection:I}=S.getState();if(!v||!T&&!i)return;if(!T){$==null||$(A,{nodeId:v,handleId:p,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:p}});return}const M=P$(A.target),R=n||I||q8,{connection:D,isValid:L}=U$({nodeId:v,id:p,type:e},O,T.nodeId,T.handleId||null,T.type,R,M);L&&w(D),N==null||N(A),S.setState({connectionClickStartHandle:null})};return j.jsx("div",{"data-handleid":p,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${p}-${e}`,className:_i(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:o,connecting:_,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:x,onTouchStart:x,onClick:y?C:void 0,ref:h,...f,children:l})});H$.displayName="Handle";var Jy=E.memo(H$);const q$=({data:e,isConnectable:t,targetPosition:n=ve.Top,sourcePosition:r=ve.Bottom})=>j.jsxs(j.Fragment,{children:[j.jsx(Jy,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,j.jsx(Jy,{type:"source",position:r,isConnectable:t})]});q$.displayName="DefaultNode";var nx=E.memo(q$);const W$=({data:e,isConnectable:t,sourcePosition:n=ve.Bottom})=>j.jsxs(j.Fragment,{children:[e==null?void 0:e.label,j.jsx(Jy,{type:"source",position:n,isConnectable:t})]});W$.displayName="InputNode";var K$=E.memo(W$);const Y$=({data:e,isConnectable:t,targetPosition:n=ve.Top})=>j.jsxs(j.Fragment,{children:[j.jsx(Jy,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});Y$.displayName="OutputNode";var X$=E.memo(Y$);const E3=()=>null;E3.displayName="GroupNode";const L0e=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Cg=e=>e.id;function $0e(e,t){return Dr(e.selectedNodes.map(Cg),t.selectedNodes.map(Cg))&&Dr(e.selectedEdges.map(Cg),t.selectedEdges.map(Cg))}const Q$=E.memo(({onSelectionChange:e})=>{const t=tr(),{selectedNodes:n,selectedEdges:r}=Kt(L0e,$0e);return E.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});Q$.displayName="SelectionListener";const F0e=e=>!!e.onSelectionChange;function B0e({onSelectionChange:e}){const t=Kt(F0e);return e||t?j.jsx(Q$,{onSelectionChange:e}):null}const j0e=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function tu(e,t){E.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function $e(e,t,n){E.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const V0e=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:S,nodeExtent:v,onNodesChange:y,onEdgesChange:g,elementsSelectable:b,connectionMode:_,snapGrid:w,snapToGrid:x,translateExtent:C,connectOnClick:k,defaultEdgeOptions:P,fitView:A,fitViewOptions:$,onNodesDelete:N,onEdgesDelete:T,onNodeDrag:O,onNodeDragStart:I,onNodeDragStop:M,onSelectionDrag:R,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:V,nodeOrigin:z,rfId:U,autoPanOnConnect:K,autoPanOnNodeDrag:W,onError:X,connectionRadius:F,isValidConnection:q})=>{const{setNodes:Q,setEdges:J,setDefaultNodesAndEdges:ne,setMinZoom:Z,setMaxZoom:ge,setTranslateExtent:ae,setNodeExtent:oe,reset:Te}=Kt(j0e,Dr),se=tr();return E.useEffect(()=>{const We=r==null?void 0:r.map(yt=>({...yt,...P}));return ne(n,We),()=>{Te()}},[]),$e("defaultEdgeOptions",P,se.setState),$e("connectionMode",_,se.setState),$e("onConnect",i,se.setState),$e("onConnectStart",o,se.setState),$e("onConnectEnd",s,se.setState),$e("onClickConnectStart",a,se.setState),$e("onClickConnectEnd",l,se.setState),$e("nodesDraggable",u,se.setState),$e("nodesConnectable",c,se.setState),$e("nodesFocusable",d,se.setState),$e("edgesFocusable",f,se.setState),$e("edgesUpdatable",h,se.setState),$e("elementsSelectable",b,se.setState),$e("elevateNodesOnSelect",p,se.setState),$e("snapToGrid",x,se.setState),$e("snapGrid",w,se.setState),$e("onNodesChange",y,se.setState),$e("onEdgesChange",g,se.setState),$e("connectOnClick",k,se.setState),$e("fitViewOnInit",A,se.setState),$e("fitViewOnInitOptions",$,se.setState),$e("onNodesDelete",N,se.setState),$e("onEdgesDelete",T,se.setState),$e("onNodeDrag",O,se.setState),$e("onNodeDragStart",I,se.setState),$e("onNodeDragStop",M,se.setState),$e("onSelectionDrag",R,se.setState),$e("onSelectionDragStart",D,se.setState),$e("onSelectionDragStop",L,se.setState),$e("noPanClassName",V,se.setState),$e("nodeOrigin",z,se.setState),$e("rfId",U,se.setState),$e("autoPanOnConnect",K,se.setState),$e("autoPanOnNodeDrag",W,se.setState),$e("onError",X,se.setState),$e("connectionRadius",F,se.setState),$e("isValidConnection",q,se.setState),tu(e,Q),tu(t,J),tu(m,Z),tu(S,ge),tu(C,ae),tu(v,oe),null},W8={display:"none"},z0e={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Z$="react-flow__node-desc",J$="react-flow__edge-desc",U0e="react-flow__aria-live",G0e=e=>e.ariaLiveMessage;function H0e({rfId:e}){const t=Kt(G0e);return j.jsx("div",{id:`${U0e}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:z0e,children:t})}function q0e({rfId:e,disableKeyboardA11y:t}){return j.jsxs(j.Fragment,{children:[j.jsxs("div",{id:`${Z$}-${e}`,style:W8,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),j.jsx("div",{id:`${J$}-${e}`,style:W8,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&j.jsx(H0e,{rfId:e})]})}const W0e=(e,t,n)=>n===ve.Left?e-t:n===ve.Right?e+t:e,K0e=(e,t,n)=>n===ve.Top?e-t:n===ve.Bottom?e+t:e,K8="react-flow__edgeupdater",Y8=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>j.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:_i([K8,`${K8}-${a}`]),cx:W0e(t,r,e),cy:K0e(n,r,e),r,stroke:"transparent",fill:"transparent"}),Y0e=()=>!0;var nu=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:S,source:v,target:y,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:C,elementsSelectable:k,hidden:P,sourceHandleId:A,targetHandleId:$,onContextMenu:N,onMouseEnter:T,onMouseMove:O,onMouseLeave:I,edgeUpdaterRadius:M,onEdgeUpdate:R,onEdgeUpdateStart:D,onEdgeUpdateEnd:L,markerEnd:V,markerStart:z,rfId:U,ariaLabel:K,isFocusable:W,isUpdatable:X,pathOptions:F,interactionWidth:q})=>{const Q=E.useRef(null),[J,ne]=E.useState(!1),[Z,ge]=E.useState(!1),ae=tr(),oe=E.useMemo(()=>`url(#${tx(z,U)})`,[z,U]),Te=E.useMemo(()=>`url(#${tx(V,U)})`,[V,U]);if(P)return null;const se=Ee=>{const{edges:Ne,addSelectedEdges:ie}=ae.getState();if(k&&(ae.setState({nodesSelectionActive:!1}),ie([n])),s){const he=Ne.find(Qt=>Qt.id===n);s(Ee,he)}},We=Ed(n,ae.getState,a),yt=Ed(n,ae.getState,N),Fe=Ed(n,ae.getState,T),Be=Ed(n,ae.getState,O),Me=Ed(n,ae.getState,I),rt=(Ee,Ne)=>{if(Ee.button!==0)return;const{edges:ie,isValidConnection:he}=ae.getState(),Qt=Ne?y:v,Rt=(Ne?$:A)||null,ut=Ne?"target":"source",rr=he||Y0e,Mo=Ne,Qr=ie.find(Ke=>Ke.id===n);ge(!0),D==null||D(Ee,Qr,ut);const No=Ke=>{ge(!1),L==null||L(Ke,Qr,ut)};G$({event:Ee,handleId:Rt,nodeId:Qt,onConnect:Ke=>R==null?void 0:R(Qr,Ke),isTarget:Mo,getState:ae.getState,setState:ae.setState,isValidConnection:rr,edgeUpdaterType:ut,onEdgeUpdateEnd:No})},xt=Ee=>rt(Ee,!0),mn=Ee=>rt(Ee,!1),an=()=>ne(!0),Ot=()=>ne(!1),ee=!k&&!s,_e=Ee=>{var Ne;if(O$.includes(Ee.key)&&k){const{unselectNodesAndEdges:ie,addSelectedEdges:he,edges:Qt}=ae.getState();Ee.key==="Escape"?((Ne=Q.current)==null||Ne.blur(),ie({edges:[Qt.find(ut=>ut.id===n)]})):he([n])}};return j.jsxs("g",{className:_i(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:ee,updating:J}]),onClick:se,onDoubleClick:We,onContextMenu:yt,onMouseEnter:Fe,onMouseMove:Be,onMouseLeave:Me,onKeyDown:W?_e:void 0,tabIndex:W?0:void 0,role:W?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":K===null?void 0:K||`Edge from ${v} to ${y}`,"aria-describedby":W?`${J$}-${U}`:void 0,ref:Q,children:[!Z&&j.jsx(e,{id:n,source:v,target:y,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,data:o,style:S,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:C,sourceHandleId:A,targetHandleId:$,markerStart:oe,markerEnd:Te,pathOptions:F,interactionWidth:q}),X&&j.jsxs(j.Fragment,{children:[(X==="source"||X===!0)&&j.jsx(Y8,{position:x,centerX:g,centerY:b,radius:M,onMouseDown:xt,onMouseEnter:an,onMouseOut:Ot,type:"source"}),(X==="target"||X===!0)&&j.jsx(Y8,{position:C,centerX:_,centerY:w,radius:M,onMouseDown:mn,onMouseEnter:an,onMouseOut:Ot,type:"target"})]})]})};return t.displayName="EdgeWrapper",E.memo(t)};function X0e(e){const t={default:nu(e.default||Zy),straight:nu(e.bezier||x3),step:nu(e.step||w3),smoothstep:nu(e.step||y1),simplebezier:nu(e.simplebezier||_3)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=nu(e[o]||Zy),i),n);return{...t,...r}}function X8(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case ve.Top:return{x:r+o/2,y:i};case ve.Right:return{x:r+o,y:i+s/2};case ve.Bottom:return{x:r+o/2,y:i+s};case ve.Left:return{x:r,y:i+s/2}}}function Q8(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Q0e=(e,t,n,r,i,o)=>{const s=X8(n,e,t),a=X8(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Z0e({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Xy({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),f=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*f)>0}function Z8(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[hn])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function eF(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:eF(n,t):!1}function J8(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function J0e(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!eF(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function eve(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function tF(e,t,n,r,i=[0,0],o){const s=eve(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:d,y:f}=nc(c,i).positionAbsolute;a=c&&ci(d)&&ci(f)&&ci(c.width)&&ci(c.height)?[[d+e.width*i[0],f+e.height*i[1]],[d+c.width-e.width+e.width*i[0],f+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",va.error005()),a=s;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:d,y:f}=nc(c,i).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+f],[e.extent[1][0]+d,e.extent[1][1]+f]]}let l={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);l=nc(c,i).positionAbsolute}const u=a?S3(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function d_({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const ek=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...b3(l)}})};function Pd(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function rx({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function tve(){const e=tr();return E.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function f_(e){return(t,n,r)=>e==null?void 0:e(t,r)}function nF({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=tr(),[l,u]=E.useState(!1),c=E.useRef([]),d=E.useRef({x:null,y:null}),f=E.useRef(0),h=E.useRef(null),p=E.useRef({x:0,y:0}),m=E.useRef(null),S=E.useRef(!1),v=tve();return E.useEffect(()=>{if(e!=null&&e.current){const y=Oi(e.current),g=({x:_,y:w})=>{const{nodeInternals:x,onNodeDrag:C,onSelectionDrag:k,updateNodePositions:P,nodeExtent:A,snapGrid:$,snapToGrid:N,nodeOrigin:T,onError:O}=a.getState();d.current={x:_,y:w};let I=!1;if(c.current=c.current.map(R=>{const D={x:_-R.distance.x,y:w-R.distance.y};N&&(D.x=$[0]*Math.round(D.x/$[0]),D.y=$[1]*Math.round(D.y/$[1]));const L=tF(R,D,x,A,T,O);return I=I||R.position.x!==L.position.x||R.position.y!==L.position.y,R.position=L.position,R.positionAbsolute=L.positionAbsolute,R}),!I)return;P(c.current,!0,!0),u(!0);const M=i?C:f_(k);if(M&&m.current){const[R,D]=d_({nodeId:i,dragItems:c.current,nodeInternals:x});M(m.current,R,D)}},b=()=>{if(!h.current)return;const[_,w]=E$(p.current,h.current);if(_!==0||w!==0){const{transform:x,panBy:C}=a.getState();d.current.x=(d.current.x??0)-_/x[2],d.current.y=(d.current.y??0)-w/x[2],C({x:_,y:w})&&g(d.current)}f.current=requestAnimationFrame(b)};if(t)y.on(".drag",null);else{const _=Sme().on("start",w=>{var I;const{nodeInternals:x,multiSelectionActive:C,domNode:k,nodesDraggable:P,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:N}=a.getState(),T=i?$:f_(N);!s&&!C&&i&&((I=x.get(i))!=null&&I.selected||A()),i&&o&&s&&rx({id:i,store:a,nodeRef:e});const O=v(w);if(d.current=O,c.current=J0e(x,P,O,i),T&&c.current){const[M,R]=d_({nodeId:i,dragItems:c.current,nodeInternals:x});T(w.sourceEvent,M,R)}h.current=(k==null?void 0:k.getBoundingClientRect())||null,p.current=oa(w.sourceEvent,h.current)}).on("drag",w=>{const x=v(w),{autoPanOnNodeDrag:C}=a.getState();!S.current&&C&&(S.current=!0,b()),(d.current.x!==x.xSnapped||d.current.y!==x.ySnapped)&&c.current&&(m.current=w.sourceEvent,p.current=oa(w.sourceEvent,h.current),g(x))}).on("end",w=>{if(u(!1),S.current=!1,cancelAnimationFrame(f.current),c.current){const{updateNodePositions:x,nodeInternals:C,onNodeDragStop:k,onSelectionDragStop:P}=a.getState(),A=i?k:f_(P);if(x(c.current,!1,!1),A){const[$,N]=d_({nodeId:i,dragItems:c.current,nodeInternals:C});A(w.sourceEvent,$,N)}}}).filter(w=>{const x=w.target;return!w.button&&(!n||!J8(x,`.${n}`,e))&&(!r||J8(x,r,e))});return y.call(_),()=>{y.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,v]),l}function rF(){const e=tr();return E.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:c}=e.getState(),d=s().filter(y=>y.selected&&(y.draggable||c&&typeof y.draggable>"u")),f=a?l[0]:5,h=a?l[1]:5,p=n.isShiftPressed?4:1,m=n.x*f*p,S=n.y*h*p,v=d.map(y=>{if(y.positionAbsolute){const g={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+S};a&&(g.x=l[0]*Math.round(g.x/l[0]),g.y=l[1]*Math.round(g.y/l[1]));const{positionAbsolute:b,position:_}=tF(y,g,r,i,void 0,u);y.position=_,y.positionAbsolute=b}return y});o(v,!0,!1)},[])}const rc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var kd=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:c,onMouseEnter:d,onMouseMove:f,onMouseLeave:h,onContextMenu:p,onDoubleClick:m,style:S,className:v,isDraggable:y,isSelectable:g,isConnectable:b,isFocusable:_,selectNodesOnDrag:w,sourcePosition:x,targetPosition:C,hidden:k,resizeObserver:P,dragHandle:A,zIndex:$,isParent:N,noDragClassName:T,noPanClassName:O,initialized:I,disableKeyboardA11y:M,ariaLabel:R,rfId:D})=>{const L=tr(),V=E.useRef(null),z=E.useRef(x),U=E.useRef(C),K=E.useRef(r),W=g||y||c||d||f||h,X=rF(),F=Pd(n,L.getState,d),q=Pd(n,L.getState,f),Q=Pd(n,L.getState,h),J=Pd(n,L.getState,p),ne=Pd(n,L.getState,m),Z=oe=>{if(g&&(!w||!y)&&rx({id:n,store:L,nodeRef:V}),c){const Te=L.getState().nodeInternals.get(n);c(oe,{...Te})}},ge=oe=>{if(!Jw(oe))if(O$.includes(oe.key)&&g){const Te=oe.key==="Escape";rx({id:n,store:L,unselect:Te,nodeRef:V})}else!M&&y&&u&&Object.prototype.hasOwnProperty.call(rc,oe.key)&&(L.setState({ariaLiveMessage:`Moved selected node ${oe.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),X({x:rc[oe.key].x,y:rc[oe.key].y,isShiftPressed:oe.shiftKey}))};E.useEffect(()=>{if(V.current&&!k){const oe=V.current;return P==null||P.observe(oe),()=>P==null?void 0:P.unobserve(oe)}},[k]),E.useEffect(()=>{const oe=K.current!==r,Te=z.current!==x,se=U.current!==C;V.current&&(oe||Te||se)&&(oe&&(K.current=r),Te&&(z.current=x),se&&(U.current=C),L.getState().updateNodeDimensions([{id:n,nodeElement:V.current,forceUpdate:!0}]))},[n,r,x,C]);const ae=nF({nodeRef:V,disabled:k||!y,noDragClassName:T,handleSelector:A,nodeId:n,isSelectable:g,selectNodesOnDrag:w});return k?null:j.jsx("div",{className:_i(["react-flow__node",`react-flow__node-${r}`,{[O]:y},v,{selected:u,selectable:g,parent:N,dragging:ae}]),ref:V,style:{zIndex:$,transform:`translate(${a}px,${l}px)`,pointerEvents:W?"all":"none",visibility:I?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:F,onMouseMove:q,onMouseLeave:Q,onContextMenu:J,onClick:Z,onDoubleClick:ne,onKeyDown:_?ge:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":M?void 0:`${Z$}-${D}`,"aria-label":R,children:j.jsx(C0e,{value:n,children:j.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:b,sourcePosition:x,targetPosition:C,dragging:ae,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",E.memo(t)};function nve(e){const t={input:kd(e.input||K$),default:kd(e.default||nx),output:kd(e.output||X$),group:kd(e.group||E3)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=kd(e[o]||nx),i),n);return{...t,...r}}const rve=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},ive=typeof document<"u"?document:null;var Eh=(e=null,t={target:ive})=>{const[n,r]=E.useState(!1),i=E.useRef(!1),o=E.useRef(new Set([])),[s,a]=E.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.split("+")),c=u.reduce((d,f)=>d.concat(...f),[]);return[u,c]}return[[],[]]},[e]);return E.useEffect(()=>{var l,u;if(e!==null){const c=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,!i.current&&Jw(h))return!1;const p=nk(h.code,a);o.current.add(h[p]),tk(s,o.current,!1)&&(h.preventDefault(),r(!0))},d=h=>{if(!i.current&&Jw(h))return!1;const p=nk(h.code,a);tk(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(h[p]),i.current=!1},f=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",d),window.addEventListener("blur",f),()=>{var h,p;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",c),(p=t==null?void 0:t.target)==null||p.removeEventListener("keyup",d),window.removeEventListener("blur",f)}}},[e,r]),n};function tk(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function nk(e,t){return t.includes(e)?"code":"key"}function iF(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=nc(i,r);return iF(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[hn])==null?void 0:s.z)??0)>(n.z??0)?((a=i[hn])==null?void 0:a.z)??0:n.z??0},r)}function oF(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=iF(r,e,{...r.position,z:((i=r[hn])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[hn].z=a,n!=null&&n[r.id]&&(r[hn].isParent=!0)}})}function h_(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var d;const l=(ci(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),c={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(c.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(c,hn,{enumerable:!1,value:{handleBounds:(d=u==null?void 0:u[hn])==null?void 0:d.handleBounds,z:l}}),i.set(a.id,c)}),oF(i,n,o),i}function sF(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(a&&l&&(f||!t.initial)){const p=n().filter(S=>{var y;const v=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(y=t.nodes)!=null&&y.length?v&&t.nodes.some(g=>g.id===S.id):v}),m=p.every(S=>S.width&&S.height);if(p.length>0&&m){const S=F$(p,d),[v,y,g]=V$(S,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),b=ia.translate(v,y).scale(g);return typeof t.duration=="number"&&t.duration>0?a.transform(qa(l,t.duration),b):a.transform(l,b),!0}}return!1}function ove(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[hn]:r[hn],selected:n.selected})}),new Map(t)}function sve(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function Tg({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:ove(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:sve(t,o)}),a==null||a(t))}const ru=()=>{},ave={zoomIn:ru,zoomOut:ru,zoomTo:ru,getZoom:()=>1,setViewport:ru,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:ru,fitBounds:ru,project:e=>e,viewportInitialized:!1},lve=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),uve=()=>{const e=tr(),{d3Zoom:t,d3Selection:n}=Kt(lve,Dr);return E.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(qa(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(qa(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(qa(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=ia.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(qa(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>sF(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,d=a/2-i*c,f=l/2-o*c,h=ia.translate(d,f).scale(c);t.transform(qa(n,s==null?void 0:s.duration),h)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[c,d,f]=V$(i,s,a,l,u,(o==null?void 0:o.padding)??.1),h=ia.translate(c,d).scale(f);t.transform(qa(n,o==null?void 0:o.duration),h)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return $$(i,o,s,a)},viewportInitialized:!0}:ave,[t,n])};function aF(){const e=uve(),t=tr(),n=E.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=E.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=E.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(S=>({...S}))},[]),o=E.useCallback(m=>{const{edges:S=[]}=t.getState();return S.find(v=>v.id===m)},[]),s=E.useCallback(m=>{const{getNodes:S,setNodes:v,hasDefaultNodes:y,onNodesChange:g}=t.getState(),b=S(),_=typeof m=="function"?m(b):m;if(y)v(_);else if(g){const w=_.length===0?b.map(x=>({type:"remove",id:x.id})):_.map(x=>({item:x,type:"reset"}));g(w)}},[]),a=E.useCallback(m=>{const{edges:S=[],setEdges:v,hasDefaultEdges:y,onEdgesChange:g}=t.getState(),b=typeof m=="function"?m(S):m;if(y)v(b);else if(g){const _=b.length===0?S.map(w=>({type:"remove",id:w.id})):b.map(w=>({item:w,type:"reset"}));g(_)}},[]),l=E.useCallback(m=>{const S=Array.isArray(m)?m:[m],{getNodes:v,setNodes:y,hasDefaultNodes:g,onNodesChange:b}=t.getState();if(g){const w=[...v(),...S];y(w)}else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),u=E.useCallback(m=>{const S=Array.isArray(m)?m:[m],{edges:v=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:b}=t.getState();if(g)y([...v,...S]);else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),c=E.useCallback(()=>{const{getNodes:m,edges:S=[],transform:v}=t.getState(),[y,g,b]=v;return{nodes:m().map(_=>({..._})),edges:S.map(_=>({..._})),viewport:{x:y,y:g,zoom:b}}},[]),d=E.useCallback(({nodes:m,edges:S})=>{const{nodeInternals:v,getNodes:y,edges:g,hasDefaultNodes:b,hasDefaultEdges:_,onNodesDelete:w,onEdgesDelete:x,onNodesChange:C,onEdgesChange:k}=t.getState(),P=(m||[]).map(O=>O.id),A=(S||[]).map(O=>O.id),$=y().reduce((O,I)=>{const M=!P.includes(I.id)&&I.parentNode&&O.find(D=>D.id===I.parentNode);return(typeof I.deletable=="boolean"?I.deletable:!0)&&(P.includes(I.id)||M)&&O.push(I),O},[]),N=g.filter(O=>typeof O.deletable=="boolean"?O.deletable:!0),T=N.filter(O=>A.includes(O.id));if($||T){const O=j$($,N),I=[...T,...O],M=I.reduce((R,D)=>(R.includes(D.id)||R.push(D.id),R),[]);if((_||b)&&(_&&t.setState({edges:g.filter(R=>!M.includes(R.id))}),b&&($.forEach(R=>{v.delete(R.id)}),t.setState({nodeInternals:new Map(v)}))),M.length>0&&(x==null||x(I),k&&k(M.map(R=>({id:R,type:"remove"})))),$.length>0&&(w==null||w($),C)){const R=$.map(D=>({id:D.id,type:"remove"}));C(R)}}},[]),f=E.useCallback(m=>{const S=y0e(m),v=S?null:t.getState().nodeInternals.get(m.id);return[S?m:j8(v),v,S]},[]),h=E.useCallback((m,S=!0,v)=>{const[y,g,b]=f(m);return y?(v||t.getState().getNodes()).filter(_=>{if(!b&&(_.id===g.id||!_.positionAbsolute))return!1;const w=j8(_),x=Zw(w,y);return S&&x>0||x>=m.width*m.height}):[]},[]),p=E.useCallback((m,S,v=!0)=>{const[y]=f(m);if(!y)return!1;const g=Zw(y,S);return v&&g>0||g>=m.width*m.height},[]);return E.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,i,o,s,a,l,u,c,d,h,p])}var cve=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=tr(),{deleteElements:r}=aF(),i=Eh(e),o=Eh(t);E.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(c=>c.selected),u=s.filter(c=>c.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),E.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function dve(e){const t=tr();E.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=b3(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",va.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const P3={position:"absolute",width:"100%",height:"100%",top:0,left:0},fve=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,p_=e=>({x:e.x,y:e.y,zoom:e.k}),iu=(e,t)=>e.target.closest(`.${t}`),rk=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),hve=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),pve=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=tc.Free,zoomOnDoubleClick:u=!0,elementsSelectable:c,panOnDrag:d=!0,defaultViewport:f,translateExtent:h,minZoom:p,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:v=!0,children:y,noWheelClassName:g,noPanClassName:b})=>{const _=E.useRef(),w=tr(),x=E.useRef(!1),C=E.useRef(!1),k=E.useRef(null),P=E.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:N,userSelectionActive:T}=Kt(hve,Dr),O=Eh(S),I=E.useRef(0);return dve(k),E.useEffect(()=>{if(k.current){const M=k.current.getBoundingClientRect(),R=c0e().scaleExtent([p,m]).translateExtent(h),D=Oi(k.current).call(R),L=ia.translate(f.x,f.y).scale(Nc(f.zoom,p,m)),V=[[0,0],[M.width,M.height]],z=R.constrain()(L,V,h);R.transform(D,z),w.setState({d3Zoom:R,d3Selection:D,d3ZoomHandler:D.on("wheel.zoom"),transform:[z.x,z.y,z.k],domNode:k.current.closest(".react-flow")})}},[]),E.useEffect(()=>{$&&A&&(s&&!O&&!T?$.on("wheel.zoom",M=>{if(iu(M,g))return!1;M.preventDefault(),M.stopImmediatePropagation();const R=$.property("__zoom").k||1;if(M.ctrlKey&&o){const z=Ji(M),U=-M.deltaY*(M.deltaMode===1?.05:M.deltaMode?1:.002)*10,K=R*Math.pow(2,U);A.scaleTo($,K,z);return}const D=M.deltaMode===1?20:1,L=l===tc.Vertical?0:M.deltaX*D,V=l===tc.Horizontal?0:M.deltaY*D;A.translateBy($,-(L/R)*a,-(V/R)*a)},{passive:!1}):typeof N<"u"&&$.on("wheel.zoom",function(M,R){if(!v||iu(M,g))return null;M.preventDefault(),N.call(this,M,R)},{passive:!1}))},[T,s,l,$,A,N,O,o,v,g]),E.useEffect(()=>{A&&A.on("start",M=>{var D;if(!M.sourceEvent)return null;I.current=M.sourceEvent.button;const{onViewportChangeStart:R}=w.getState();if(x.current=!0,((D=M.sourceEvent)==null?void 0:D.type)==="mousedown"&&w.setState({paneDragging:!0}),t||R){const L=p_(M.transform);P.current=L,R==null||R(L),t==null||t(M.sourceEvent,L)}})},[A,t]),E.useEffect(()=>{A&&(T&&!x.current?A.on("zoom",null):T||A.on("zoom",M=>{const{onViewportChange:R}=w.getState();if(w.setState({transform:[M.transform.x,M.transform.y,M.transform.k]}),C.current=!!(r&&rk(d,I.current??0)),e||R){const D=p_(M.transform);R==null||R(D),e==null||e(M.sourceEvent,D)}}))},[T,A,e,d,r]),E.useEffect(()=>{A&&A.on("end",M=>{if(!M.sourceEvent)return null;const{onViewportChangeEnd:R}=w.getState();if(x.current=!1,w.setState({paneDragging:!1}),r&&rk(d,I.current??0)&&!C.current&&r(M.sourceEvent),C.current=!1,(n||R)&&fve(P.current,M.transform)){const D=p_(M.transform);P.current=D,clearTimeout(_.current),_.current=setTimeout(()=>{R==null||R(D),n==null||n(M.sourceEvent,D)},s?150:0)}})},[A,s,d,n,r]),E.useEffect(()=>{A&&A.filter(M=>{const R=O||i,D=o&&M.ctrlKey;if(M.button===1&&M.type==="mousedown"&&(iu(M,"react-flow__node")||iu(M,"react-flow__edge")))return!0;if(!d&&!R&&!s&&!u&&!o||T||!u&&M.type==="dblclick"||iu(M,g)&&M.type==="wheel"||iu(M,b)&&M.type!=="wheel"||!o&&M.ctrlKey&&M.type==="wheel"||!R&&!s&&!D&&M.type==="wheel"||!d&&(M.type==="mousedown"||M.type==="touchstart")||Array.isArray(d)&&!d.includes(M.button)&&(M.type==="mousedown"||M.type==="touchstart"))return!1;const L=Array.isArray(d)&&d.includes(M.button)||!M.button||M.button<=1;return(!M.ctrlKey||M.type==="wheel")&&L})},[T,A,i,o,s,u,d,c,O]),j.jsx("div",{className:"react-flow__renderer",ref:k,style:P3,children:y})},gve=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function mve(){const{userSelectionActive:e,userSelectionRect:t}=Kt(gve,Dr);return e&&t?j.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function ik(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function lF(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&ik(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&ik(r,s);break}case"remove":return r}return r.push(s),r},n)}function uF(e,t){return lF(e,t)}function yve(e,t){return lF(e,t)}const Ls=(e,t)=>({id:e,type:"select",selected:t});function Du(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(Ls(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(Ls(r.id,!1))),n},[])}const g_=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},vve=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),cF=E.memo(({isSelecting:e,selectionMode:t=Th.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:c,children:d})=>{const f=E.useRef(null),h=tr(),p=E.useRef(0),m=E.useRef(0),S=E.useRef(),{userSelectionActive:v,elementsSelectable:y,dragging:g}=Kt(vve,Dr),b=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,m.current=0},_=N=>{o==null||o(N),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},w=N=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){N.preventDefault();return}s==null||s(N)},x=a?N=>a(N):void 0,C=N=>{const{resetSelectedElements:T,domNode:O}=h.getState();if(S.current=O==null?void 0:O.getBoundingClientRect(),!y||!e||N.button!==0||N.target!==f.current||!S.current)return;const{x:I,y:M}=oa(N,S.current);T(),h.setState({userSelectionRect:{width:0,height:0,startX:I,startY:M,x:I,y:M}}),r==null||r(N)},k=N=>{const{userSelectionRect:T,nodeInternals:O,edges:I,transform:M,onNodesChange:R,onEdgesChange:D,nodeOrigin:L,getNodes:V}=h.getState();if(!e||!S.current||!T)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});const z=oa(N,S.current),U=T.startX??0,K=T.startY??0,W={...T,x:z.xJ.id),Q=F.map(J=>J.id);if(p.current!==Q.length){p.current=Q.length;const J=Du(X,Q);J.length&&(R==null||R(J))}if(m.current!==q.length){m.current=q.length;const J=Du(I,q);J.length&&(D==null||D(J))}h.setState({userSelectionRect:W})},P=N=>{if(N.button!==0)return;const{userSelectionRect:T}=h.getState();!v&&T&&N.target===f.current&&(_==null||_(N)),h.setState({nodesSelectionActive:p.current>0}),b(),i==null||i(N)},A=N=>{v&&(h.setState({nodesSelectionActive:p.current>0}),i==null||i(N)),b()},$=y&&(e||v);return j.jsxs("div",{className:_i(["react-flow__pane",{dragging:g,selection:e}]),onClick:$?void 0:g_(_,f),onContextMenu:g_(w,f),onWheel:g_(x,f),onMouseEnter:$?void 0:l,onMouseDown:$?C:void 0,onMouseMove:$?k:u,onMouseUp:$?P:void 0,onMouseLeave:$?A:c,ref:f,style:P3,children:[d,j.jsx(mve,{})]})});cF.displayName="Pane";const bve=e=>{const t=e.getNodes().filter(n=>n.selected);return{...F$(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function Sve({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=tr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Kt(bve,Dr),c=rF(),d=E.useRef(null);if(E.useEffect(()=>{var p;n||(p=d.current)==null||p.focus({preventScroll:!0})},[n]),nF({nodeRef:d}),u||!i||!o)return null;const f=e?p=>{const m=r.getState().getNodes().filter(S=>S.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(rc,p.key)&&c({x:rc[p.key].x,y:rc[p.key].y,isShiftPressed:p.shiftKey})};return j.jsx("div",{className:_i(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:j.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:o,top:a,left:s}})})}var _ve=E.memo(Sve);const wve=e=>e.nodesSelectionActive,dF=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:v,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:C,zoomOnDoubleClick:k,panOnDrag:P,defaultViewport:A,translateExtent:$,minZoom:N,maxZoom:T,preventScrolling:O,onSelectionContextMenu:I,noWheelClassName:M,noPanClassName:R,disableKeyboardA11y:D})=>{const L=Kt(wve),V=Eh(d),U=Eh(v)||P,K=V||f&&U!==!0;return cve({deleteKeyCode:a,multiSelectionKeyCode:S}),j.jsx(pve,{onMove:l,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:o,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:C,zoomOnDoubleClick:k,panOnDrag:!V&&U,defaultViewport:A,translateExtent:$,minZoom:N,maxZoom:T,zoomActivationKeyCode:y,preventScrolling:O,noWheelClassName:M,noPanClassName:R,children:j.jsxs(cF,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:U,isSelecting:!!K,selectionMode:h,children:[e,L&&j.jsx(_ve,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:D})]})})};dF.displayName="FlowRenderer";var xve=E.memo(dF);function Cve(e){return Kt(E.useCallback(n=>e?B$(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const Tve=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),fF=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Kt(Tve,Dr),a=Cve(e.onlyRenderVisibleElements),l=E.useRef(),u=E.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(d=>{const f=d.map(h=>({id:h.target.getAttribute("data-id"),nodeElement:h.target,forceUpdate:!0}));o(f)});return l.current=c,c},[]);return E.useEffect(()=>()=>{var c;(c=l==null?void 0:l.current)==null||c.disconnect()},[]),j.jsx("div",{className:"react-flow__nodes",style:P3,children:a.map(c=>{var _,w;let d=c.type||"default";e.nodeTypes[d]||(s==null||s("003",va.error003(d)),d="default");const f=e.nodeTypes[d]||e.nodeTypes.default,h=!!(c.draggable||t&&typeof c.draggable>"u"),p=!!(c.selectable||i&&typeof c.selectable>"u"),m=!!(c.connectable||n&&typeof c.connectable>"u"),S=!!(c.focusable||r&&typeof c.focusable>"u"),v=e.nodeExtent?S3(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,y=(v==null?void 0:v.x)??0,g=(v==null?void 0:v.y)??0,b=rve({x:y,y:g,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return j.jsx(f,{id:c.id,className:c.className,style:c.style,type:d,data:c.data,sourcePosition:c.sourcePosition||ve.Bottom,targetPosition:c.targetPosition||ve.Top,hidden:c.hidden,xPos:y,yPos:g,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:h,isSelectable:p,isConnectable:m,isFocusable:S,resizeObserver:u,dragHandle:c.dragHandle,zIndex:((_=c[hn])==null?void 0:_.z)??0,isParent:!!((w=c[hn])!=null&&w.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel},c.id)})})};fF.displayName="NodeRenderer";var Eve=E.memo(fF);const Pve=[{level:0,isMaxLevel:!0,edges:[]}];function kve(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var c,d;const l=ci(a.zIndex);let u=l?a.zIndex:0;if(n){const f=t.get(a.target),h=t.get(a.source),p=a.selected||(f==null?void 0:f.selected)||(h==null?void 0:h.selected),m=Math.max(((c=h==null?void 0:h[hn])==null?void 0:c.z)||0,((d=f==null?void 0:f[hn])==null?void 0:d.z)||0,1e3);u=(l?a.zIndex:0)+(p?m:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?Pve:o}function Ave(e,t,n){const r=Kt(E.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Z0e({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return kve(r,t,n)}const Ove=({color:e="none",strokeWidth:t=1})=>j.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),Rve=({color:e="none",strokeWidth:t=1})=>j.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),ok={[Qy.Arrow]:Ove,[Qy.ArrowClosed]:Rve};function Ive(e){const t=tr();return E.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(ok,e)?ok[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",va.error009(e)),null)},[e])}const Mve=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=Ive(t);return l?j.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:j.jsx(l,{color:n,strokeWidth:s})}):null},Nve=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=tx(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},hF=({defaultColor:e,rfId:t})=>{const n=Kt(E.useCallback(Nve({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return j.jsx("defs",{children:n.map(r=>j.jsx(Mve,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};hF.displayName="MarkerDefinitions";var Dve=E.memo(hF);const Lve=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),pF=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:c,onEdgeClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,children:S})=>{const{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:g,width:b,height:_,connectionMode:w,nodeInternals:x,onError:C}=Kt(Lve,Dr),k=Ave(t,x,n);return b?j.jsxs(j.Fragment,{children:[k.map(({level:P,edges:A,isMaxLevel:$})=>j.jsxs("svg",{style:{zIndex:P},width:b,height:_,className:"react-flow__edges react-flow__container",children:[$&&j.jsx(Dve,{defaultColor:e,rfId:r}),j.jsx("g",{children:A.map(N=>{const[T,O,I]=Z8(x.get(N.source)),[M,R,D]=Z8(x.get(N.target));if(!I||!D)return null;let L=N.type||"default";i[L]||(C==null||C("011",va.error011(L)),L="default");const V=i[L]||i.default,z=w===wl.Strict?R.target:(R.target??[]).concat(R.source??[]),U=Q8(O.source,N.sourceHandle),K=Q8(z,N.targetHandle),W=(U==null?void 0:U.position)||ve.Bottom,X=(K==null?void 0:K.position)||ve.Top,F=!!(N.focusable||v&&typeof N.focusable>"u"),q=typeof s<"u"&&(N.updatable||y&&typeof N.updatable>"u");if(!U||!K)return C==null||C("008",va.error008(U,N)),null;const{sourceX:Q,sourceY:J,targetX:ne,targetY:Z}=Q0e(T,U,W,M,K,X);return j.jsx(V,{id:N.id,className:_i([N.className,o]),type:L,data:N.data,selected:!!N.selected,animated:!!N.animated,hidden:!!N.hidden,label:N.label,labelStyle:N.labelStyle,labelShowBg:N.labelShowBg,labelBgStyle:N.labelBgStyle,labelBgPadding:N.labelBgPadding,labelBgBorderRadius:N.labelBgBorderRadius,style:N.style,source:N.source,target:N.target,sourceHandleId:N.sourceHandle,targetHandleId:N.targetHandle,markerEnd:N.markerEnd,markerStart:N.markerStart,sourceX:Q,sourceY:J,targetX:ne,targetY:Z,sourcePosition:W,targetPosition:X,elementsSelectable:g,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:c,onClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,rfId:r,ariaLabel:N.ariaLabel,isFocusable:F,isUpdatable:q,pathOptions:"pathOptions"in N?N.pathOptions:void 0,interactionWidth:N.interactionWidth},N.id)})})]},P)),S]}):null};pF.displayName="EdgeRenderer";var $ve=E.memo(pF);const Fve=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Bve({children:e}){const t=Kt(Fve);return j.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function jve(e){const t=aF(),n=E.useRef(!1);E.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Vve={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top},gF=({nodeId:e,handleType:t,style:n,type:r=Vs.Bezier,CustomComponent:i,connectionStatus:o})=>{var w,x,C;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:c}=Kt(E.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Dr),d=(w=s==null?void 0:s[hn])==null?void 0:w.handleBounds;let f=d==null?void 0:d[t];if(c===wl.Loose&&(f=f||(d==null?void 0:d[t==="source"?"target":"source"])),!s||!f)return null;const h=a?f.find(k=>k.id===a):f[0],p=h?h.x+h.width/2:(s.width??0)/2,m=h?h.y+h.height/2:s.height??0,S=(((x=s.positionAbsolute)==null?void 0:x.x)??0)+p,v=(((C=s.positionAbsolute)==null?void 0:C.y)??0)+m,y=h==null?void 0:h.position,g=y?Vve[y]:null;if(!y||!g)return null;if(i)return j.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:h,fromX:S,fromY:v,toX:l,toY:u,fromPosition:y,toPosition:g,connectionStatus:o});let b="";const _={sourceX:S,sourceY:v,sourcePosition:y,targetX:l,targetY:u,targetPosition:g};return r===Vs.Bezier?[b]=D$(_):r===Vs.Step?[b]=ex({..._,borderRadius:0}):r===Vs.SmoothStep?[b]=ex(_):r===Vs.SimpleBezier?[b]=N$(_):b=`M${S},${v} ${l},${u}`,j.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};gF.displayName="ConnectionLine";const zve=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Uve({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Kt(zve,Dr);return!(i&&o&&a&&s)?null:j.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:j.jsx("g",{className:_i(["react-flow__connection",u]),children:j.jsx(gF,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const mF=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:S,connectionLineType:v,connectionLineStyle:y,connectionLineComponent:g,connectionLineContainerStyle:b,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:C,panActivationKeyCode:k,zoomActivationKeyCode:P,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:N,selectNodesOnDrag:T,defaultViewport:O,translateExtent:I,minZoom:M,maxZoom:R,preventScrolling:D,defaultMarkerColor:L,zoomOnScroll:V,zoomOnPinch:z,panOnScroll:U,panOnScrollSpeed:K,panOnScrollMode:W,zoomOnDoubleClick:X,panOnDrag:F,onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:Z,onPaneContextMenu:ge,onEdgeUpdate:ae,onEdgeContextMenu:oe,onEdgeMouseEnter:Te,onEdgeMouseMove:se,onEdgeMouseLeave:We,edgeUpdaterRadius:yt,onEdgeUpdateStart:Fe,onEdgeUpdateEnd:Be,noDragClassName:Me,noWheelClassName:rt,noPanClassName:xt,elevateEdgesOnSelect:mn,disableKeyboardA11y:an,nodeOrigin:Ot,nodeExtent:ee,rfId:_e})=>(jve(o),j.jsx(xve,{onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:ge,onPaneScroll:Z,deleteKeyCode:A,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:C,panActivationKeyCode:k,zoomActivationKeyCode:P,elementsSelectable:N,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:V,zoomOnPinch:z,zoomOnDoubleClick:X,panOnScroll:U,panOnScrollSpeed:K,panOnScrollMode:W,panOnDrag:F,defaultViewport:O,translateExtent:I,minZoom:M,maxZoom:R,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:Me,noWheelClassName:rt,noPanClassName:xt,disableKeyboardA11y:an,children:j.jsxs(Bve,{children:[j.jsx($ve,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:ae,onlyRenderVisibleElements:$,onEdgeContextMenu:oe,onEdgeMouseEnter:Te,onEdgeMouseMove:se,onEdgeMouseLeave:We,onEdgeUpdateStart:Fe,onEdgeUpdateEnd:Be,edgeUpdaterRadius:yt,defaultMarkerColor:L,noPanClassName:xt,elevateEdgesOnSelect:!!mn,disableKeyboardA11y:an,rfId:_e,children:j.jsx(Uve,{style:y,type:v,component:g,containerStyle:b})}),j.jsx("div",{className:"react-flow__edgelabel-renderer"}),j.jsx(Eve,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:T,onlyRenderVisibleElements:$,noPanClassName:xt,noDragClassName:Me,disableKeyboardA11y:an,nodeOrigin:Ot,nodeExtent:ee,rfId:_e})]})}));mF.displayName="GraphView";var Gve=E.memo(mF);const ix=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ps={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:ix,nodeExtent:ix,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:wl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:v0e,isValidConnection:void 0},Hve=()=>Ope((e,t)=>({...Ps,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:h_(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?h_(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),c=l==null?void 0:l.querySelector(".react-flow__viewport");if(!c)return;const d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((m,S)=>{const v=i.get(S.id);if(v){const y=b3(S.nodeElement);!!(y.width&&y.height&&(v.width!==y.width||v.height!==y.height||S.forceUpdate))&&(i.set(v.id,{...v,[hn]:{...v[hn],handleBounds:{source:ek(".source",S.nodeElement,f,u),target:ek(".target",S.nodeElement,f,u)}},...y}),m.push({id:v.id,type:"dimensions",dimensions:y}))}return m},[]);oF(i,u);const p=s||o&&!s&&sF(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),(h==null?void 0:h.length)>0&&(r==null||r(h))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=uF(n,a()),c=h_(u,i,s,l);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>Ls(l,!0)):(s=Du(o(),n),a=Du(i,[])),Tg({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>Ls(l,!0)):(s=Du(i,n),a=Du(o(),[])),Tg({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(c=>(c.selected=!1,Ls(c.id,!1))),u=a.map(c=>Ls(c.id,!1));Tg({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>Ls(a.id,!1)),s=n.filter(a=>a.selected).map(a=>Ls(a.id,!1));Tg({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=S3(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=ia.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[i,o]],d=s==null?void 0:s.constrain()(u,c,l);return s.transform(a,d),r[0]!==d.x||r[1]!==d.y||r[2]!==d.k},cancelConnection:()=>e({connectionNodeId:Ps.connectionNodeId,connectionHandleId:Ps.connectionHandleId,connectionHandleType:Ps.connectionHandleType,connectionStatus:Ps.connectionStatus,connectionStartHandle:Ps.connectionStartHandle,connectionEndHandle:Ps.connectionEndHandle}),reset:()=>e({...Ps})})),yF=({children:e})=>{const t=E.useRef(null);return t.current||(t.current=Hve()),j.jsx(d0e,{value:t.current,children:e})};yF.displayName="ReactFlowProvider";const vF=({children:e})=>E.useContext(m1)?j.jsx(j.Fragment,{children:e}):j.jsx(yF,{children:e});vF.displayName="ReactFlowWrapper";function sk(e,t){return E.useRef(null),E.useMemo(()=>t(e),[e])}const qve={input:K$,default:nx,output:X$,group:E3},Wve={default:Zy,straight:x3,step:w3,smoothstep:y1,simplebezier:_3},Kve=[0,0],Yve=[15,15],Xve={x:0,y:0,zoom:1},Qve={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Zve=E.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=qve,edgeTypes:s=Wve,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,onNodeDragStart:x,onNodeDrag:C,onNodeDragStop:k,onNodesDelete:P,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:N,onSelectionDrag:T,onSelectionDragStop:O,onSelectionContextMenu:I,onSelectionStart:M,onSelectionEnd:R,connectionMode:D=wl.Strict,connectionLineType:L=Vs.Bezier,connectionLineStyle:V,connectionLineComponent:z,connectionLineContainerStyle:U,deleteKeyCode:K="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:X=!1,selectionMode:F=Th.Full,panActivationKeyCode:q="Space",multiSelectionKeyCode:Q="Meta",zoomActivationKeyCode:J="Meta",snapToGrid:ne=!1,snapGrid:Z=Yve,onlyRenderVisibleElements:ge=!1,selectNodesOnDrag:ae=!0,nodesDraggable:oe,nodesConnectable:Te,nodesFocusable:se,nodeOrigin:We=Kve,edgesFocusable:yt,edgesUpdatable:Fe,elementsSelectable:Be,defaultViewport:Me=Xve,minZoom:rt=.5,maxZoom:xt=2,translateExtent:mn=ix,preventScrolling:an=!0,nodeExtent:Ot,defaultMarkerColor:ee="#b1b1b7",zoomOnScroll:_e=!0,zoomOnPinch:Ee=!0,panOnScroll:Ne=!1,panOnScrollSpeed:ie=.5,panOnScrollMode:he=tc.Free,zoomOnDoubleClick:Qt=!0,panOnDrag:Rt=!0,onPaneClick:ut,onPaneMouseEnter:rr,onPaneMouseMove:Mo,onPaneMouseLeave:Qr,onPaneScroll:No,onPaneContextMenu:ct,children:Ke,onEdgeUpdate:An,onEdgeContextMenu:yn,onEdgeDoubleClick:Hn,onEdgeMouseEnter:ir,onEdgeMouseMove:br,onEdgeMouseLeave:Ki,onEdgeUpdateStart:or,onEdgeUpdateEnd:On,edgeUpdaterRadius:Do=10,onNodesChange:_s,onEdgesChange:ws,noDragClassName:Hl="nodrag",noWheelClassName:Lo="nowheel",noPanClassName:sr="nopan",fitView:Na=!1,fitViewOptions:Sb,connectOnClick:_b=!0,attributionPosition:wb,proOptions:xb,defaultEdgeOptions:xs,elevateNodesOnSelect:Cb=!0,elevateEdgesOnSelect:Tb=!1,disableKeyboardA11y:Mp=!1,autoPanOnConnect:Eb=!0,autoPanOnNodeDrag:Pb=!0,connectionRadius:kb=20,isValidConnection:id,onError:Ab,style:ql,id:Wl,...Ob},Kl)=>{const Np=sk(o,nve),Rb=sk(s,X0e),od=Wl||"1";return j.jsx("div",{...Ob,style:{...ql,...Qve},ref:Kl,className:_i(["react-flow",i]),"data-testid":"rf__wrapper",id:Wl,children:j.jsxs(vF,{children:[j.jsx(Gve,{onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,nodeTypes:Np,edgeTypes:Rb,connectionLineType:L,connectionLineStyle:V,connectionLineComponent:z,connectionLineContainerStyle:U,selectionKeyCode:W,selectionOnDrag:X,selectionMode:F,deleteKeyCode:K,multiSelectionKeyCode:Q,panActivationKeyCode:q,zoomActivationKeyCode:J,onlyRenderVisibleElements:ge,selectNodesOnDrag:ae,defaultViewport:Me,translateExtent:mn,minZoom:rt,maxZoom:xt,preventScrolling:an,zoomOnScroll:_e,zoomOnPinch:Ee,zoomOnDoubleClick:Qt,panOnScroll:Ne,panOnScrollSpeed:ie,panOnScrollMode:he,panOnDrag:Rt,onPaneClick:ut,onPaneMouseEnter:rr,onPaneMouseMove:Mo,onPaneMouseLeave:Qr,onPaneScroll:No,onPaneContextMenu:ct,onSelectionContextMenu:I,onSelectionStart:M,onSelectionEnd:R,onEdgeUpdate:An,onEdgeContextMenu:yn,onEdgeDoubleClick:Hn,onEdgeMouseEnter:ir,onEdgeMouseMove:br,onEdgeMouseLeave:Ki,onEdgeUpdateStart:or,onEdgeUpdateEnd:On,edgeUpdaterRadius:Do,defaultMarkerColor:ee,noDragClassName:Hl,noWheelClassName:Lo,noPanClassName:sr,elevateEdgesOnSelect:Tb,rfId:od,disableKeyboardA11y:Mp,nodeOrigin:We,nodeExtent:Ot}),j.jsx(V0e,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,nodesDraggable:oe,nodesConnectable:Te,nodesFocusable:se,edgesFocusable:yt,edgesUpdatable:Fe,elementsSelectable:Be,elevateNodesOnSelect:Cb,minZoom:rt,maxZoom:xt,nodeExtent:Ot,onNodesChange:_s,onEdgesChange:ws,snapToGrid:ne,snapGrid:Z,connectionMode:D,translateExtent:mn,connectOnClick:_b,defaultEdgeOptions:xs,fitView:Na,fitViewOptions:Sb,onNodesDelete:P,onEdgesDelete:A,onNodeDragStart:x,onNodeDrag:C,onNodeDragStop:k,onSelectionDrag:T,onSelectionDragStart:N,onSelectionDragStop:O,noPanClassName:sr,nodeOrigin:We,rfId:od,autoPanOnConnect:Eb,autoPanOnNodeDrag:Pb,onError:Ab,connectionRadius:kb,isValidConnection:id}),j.jsx(B0e,{onSelectionChange:$}),Ke,j.jsx(p0e,{proOptions:xb,position:wb}),j.jsx(q0e,{rfId:od,disableKeyboardA11y:Mp})]})})});Zve.displayName="ReactFlow";const Jve=Se.child({namespace:"schema"});function e1e(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ph=Vf("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{try{const i=await(await fetch("openapi.json")).json();return Jve.info({openAPISchema:i},"Received OpenAPI schema"),JSON.parse(JSON.stringify(i,e1e()))}catch(r){return n({error:r})}}),bF={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},SF=zt({name:"nodes",initialState:bF,reducers:{nodesChanged:(e,t)=>{e.nodes=uF(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=yve(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=L$(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Yn(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=pZ(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ph.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:X6e,edgesChanged:Q6e,nodeAdded:Z6e,fieldValueChanged:ox,connectionMade:J6e,connectionStarted:e8e,connectionEnded:t8e,shouldShowGraphOverlayChanged:n8e,shouldShowFieldTypeLegendChanged:r8e,shouldShowMinimapPanelChanged:i8e,nodeTemplatesBuilt:k3,nodeEditorReset:_F,imageCollectionFieldValueChanged:o8e,setEditorInstance:s8e,loadFileNodes:a8e,loadFileEdges:l8e,setProgressNodeSize:u8e}=SF.actions,t1e=SF.reducer,c8e=e=>e.nodes,wF={esrganModelName:"RealESRGAN_x4plus.pth"},xF=zt({name:"postprocessing",initialState:wF,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:d8e}=xF.actions,n1e=xF.reducer,_p=me("app/userInvoked"),r1e={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class e0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||r1e,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Ad(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function ak(e){return e==null?"":""+e}function i1e(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function A3(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function lk(e,t,n){const{obj:r,k:i}=A3(e,t,Object);r[i]=n}function o1e(e,t,n,r){const{obj:i,k:o}=A3(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function t0(e,t){const{obj:n,k:r}=A3(e,t);if(n)return n[r]}function s1e(e,t,n){const r=t0(e,n);return r!==void 0?r:t0(t,n)}function CF(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):CF(e[r],t[r],n):e[r]=t[r]);return e}function ou(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var a1e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function l1e(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>a1e[t]):e}const u1e=[" ",",","?","!",";"];function c1e(e,t,n){t=t||"",n=n||"";const r=u1e.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function n0(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?n0(l,u,n):void 0}i=i[r[o]]}return i}function r0(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class uk extends v1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=t0(this.data,a);return l||!s||typeof r!="string"?l:n0(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),lk(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=t0(this.data,a)||{};i?CF(l,r,o):l={...l,...r},lk(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var TF={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const ck={};class i0 extends v1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),i1e(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=ho.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!c1e(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],v=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof v=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const C=`${w}${o}${x}`;_[x]=this.translate(C,{...n,joinArrays:!1,ns:a}),_[x]===C&&(_[x]=f[x])}f=_}}else if(y&&typeof v=="string"&&m==="[object Array]")f=f.join(v),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=i0.hasDefaultValue(n),C=w?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",P=n[`defaultValue${C}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=P),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,N=x&&P!==f&&this.options.updateMissing;if(_||b||N){if(this.logger.log(N?"updateKey":"missingKey",u,l,s,N?P:f),o){const M=this.resolve(s,{...n,keySeparator:!1});M&&M.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let T=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let M=0;M{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(M,l,R,L,N,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(M,l,R,L,N,n),this.emit("missingKey",M,l,R,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?T.forEach(M=>{this.pluralResolver.getSuffixes(M,n).forEach(R=>{I([M],s+R,n[`defaultValue${R}`]||P)})}):I(T,s,P))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!ck[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(ck[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(v=>{if(this.isValidLookup(r))return;s=v;const y=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,v,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(v,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(c+b),n.ordinal&&b.indexOf(w)===0&&y.push(c+b.replace(w,this.options.pluralSeparator)),h&&y.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;y.push(x),f&&(y.push(x+b),n.ordinal&&b.indexOf(w)===0&&y.push(x+b.replace(w,this.options.pluralSeparator)),h&&y.push(x+_))}}let g;for(;g=y.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(v,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function m_(e){return e.charAt(0).toUpperCase()+e.slice(1)}class dk{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=ho.create("languageUtils")}getScriptPartFromCode(t){if(t=r0(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=r0(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=m_(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=m_(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=m_(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let d1e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],f1e={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const h1e=["v1","v2","v3"],p1e=["v4"],fk={zero:0,one:1,two:2,few:3,many:4,other:5};function g1e(){const e={};return d1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:f1e[t.fc]}})}),e}class m1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=ho.create("pluralResolver"),(!this.options.compatibilityJSON||p1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=g1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(r0(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>fk[i]-fk[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!h1e.includes(this.options.compatibilityJSON)}}function hk(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=s1e(e,t,n);return!o&&i&&typeof n=="string"&&(o=n0(e,n,r),o===void 0&&(o=n0(t,n,r))),o}class y1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ho.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:l1e,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ou(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ou(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ou(n.nestingPrefix):n.nestingPrefixEscaped||ou("$t("),this.nestingSuffix=n.nestingSuffix?ou(n.nestingSuffix):n.nestingSuffixEscaped||ou(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const y=hk(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...i,...n,interpolationkey:p}):y}const m=p.split(this.formatSeparator),S=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(hk(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const v=d(t,o,i);s=typeof v=="string"?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=ak(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=ak(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function v1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function su(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(r0(i),o),t[s]=a),a(r)}}class b1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ho.create("formatter"),this.options=t,this.formats={number:su((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:su((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:su((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:su((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:su((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=su(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=v1e(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function S1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class _1e extends v1{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=ho.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{o1e(l.loaded,[o],s),S1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function pk(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function gk(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Eg(){}function w1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class kh extends v1{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=gk(t),this.services={},this.logger=ho,this.modules={external:[]},w1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=pk();this.options={...i,...this.options,...gk(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?ho.init(o(this.modules.logger),this.options):ho.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=b1e);const d=new dk(this.options);this.store=new uk(this.options.resources,this.options);const f=this.services;f.logger=ho,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new m1e(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new y1e(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new _1e(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Eg),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Ad(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Eg;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Ad();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Eg),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&TF.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Ad();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Ad();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Ad();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new dk(pk());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new kh(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Eg;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new kh(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new uk(this.store.data,i),o.services.resourceStore=o.store),o.translator=new i0(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},f8e=()=>{const e=qc(),t=cy(Pce),n=tse();return E.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(x1e())},[e,n,t]),null},h8e=()=>{const e=qc();return E.useCallback(n=>e(Vt(sa(n))),[e])},EF={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1},PF=zt({name:"system",initialState:EF,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload}},extraReducers(e){e.addCase(PL,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(AL,t=>{t.sessionId=null}),e.addCase(CL,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(EL,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(RL,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase($L,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(IL,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(c3,t=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.serverError"),status:"error"}))}),e.addCase(DL,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(_p,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(Dl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.canceled"),status:"warning"}))}),e.addCase(k3,t=>{t.wasSchemaParsed=!0}),e.addMatcher(XD,(t,n)=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(sa({title:gf("toast.serverError"),status:"error"}))})}}),{setIsProcessing:p8e,setShouldConfirmOnDelete:g8e,setCurrentStatus:m8e,setIsCancelable:y8e,setEnableImageDebugging:v8e,addToast:Vt,clearToastQueue:x1e,cancelScheduled:b8e,scheduledCancelAborted:S8e,cancelTypeChanged:_8e,subscribedNodeIdsSet:w8e,consoleLogLevelChanged:x8e,shouldLogToConsoleChanged:C8e,isPersistedChanged:T8e,shouldAntialiasProgressImageChanged:E8e,languageChanged:P8e,progressImageSet:C1e,setIsNodesEnabled:k8e}=PF.actions,T1e=PF.reducer,E1e={searchFolder:null,advancedAddScanModel:null},kF=zt({name:"modelmanager",initialState:E1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:A8e,setAdvancedAddScanModel:O8e}=kF.actions,P1e=kF.reducer,mk=Se.child({namespace:"canvas"}),k1e=()=>{pe({actionCreator:Zfe,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),{sessionId:i,isProcessing:o}=r.system,s=e.payload;if(o){if(!s){mk.debug("No canvas session, skipping cancel");return}if(s!==i){mk.debug({data:{canvasSessionId:s,session_id:i}},"Canvas session does not match global session, skipping cancel");return}t(Dl({session_id:i}))}}})},AF=ya.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:R8e,useGetAppConfigQuery:I8e}=AF,A1e=()=>{pe({matcher:AF.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r}=e.payload,i=t().generation.infillMethod;r.includes(i)||n(Sce(r[0]))}})},O1e=me("app/appStarted"),R1e=()=>{pe({actionCreator:O1e,effect:async(e,{getState:t,dispatch:n,unsubscribe:r,cancelActiveListeners:i})=>{i(),r()}})};Se.child({namespace:"boards"});const I1e=()=>{pe({matcher:Hi(Fw,Uy),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=Fw.match(e)?e.payload:o.gallery.selectedBoardId,l=(Uy.match(e)?e.payload:o.gallery.galleryView)==="images"?Mi:Gs,u={board_id:s??"none",categories:l};if(await r(()=>ye.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=ye.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(ra(d.ids[0]??null)):n(ra(null))}else n(ra(null))}})},M1e=()=>{pe({matcher:Rc.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{board_id:i,deleted_board_images:o,deleted_images:s}=e.payload;let a=!1,l=!1,u=!1,c=!1;const d=n();s.forEach(f=>{const h=KL(d,f);h.isInitialImage&&!a&&(t(bD()),a=!0),h.isCanvasImage&&!l&&(t(eL()),l=!0),h.isNodesImage&&!u&&(t(_F()),u=!0),h.isControlNetImage&&!c&&(t(zL()),c=!0)})}})},N1e=me("canvas/canvasSavedToGallery"),D1e=me("canvas/canvasCopiedToClipboard"),L1e=me("canvas/canvasDownloadedAsImage"),$1e=me("canvas/canvasMerged"),F1e=me("canvas/stagingAreaImageSaved");let OF=null,RF=null;const M8e=e=>{OF=e},b1=()=>OF,N8e=e=>{RF=e},B1e=()=>RF,j1e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),o0=async(e,t)=>await j1e(e.toCanvas(t)),O3=async e=>{const t=b1();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return o0(o,a)},V1e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},z1e=Se.child({namespace:"canvasCopiedToClipboardListener"}),U1e=()=>{pe({actionCreator:D1e,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),i=await O3(r);if(!i){z1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}V1e(i),t(Vt({title:"Canvas Copied to Clipboard",status:"success"}))}})},G1e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},H1e=Se.child({namespace:"canvasSavedToGalleryListener"}),q1e=()=>{pe({actionCreator:L1e,effect:async(e,{dispatch:t,getState:n})=>{const r=n(),i=await O3(r);if(!i){H1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}G1e(i,"canvas.png"),t(Vt({title:"Canvas Downloaded",status:"success"}))}})},W1e=async()=>{const e=b1();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),o0(t,t.getClientRect())},yk=Se.child({namespace:"canvasCopiedToClipboardListener"}),K1e=()=>{pe({actionCreator:$1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=await W1e();if(!i){yk.error("Problem getting base layer blob"),t(Vt({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=b1();if(!o){yk.error("Problem getting canvas base layer"),t(Vt({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const s=o.getClientRect({relativeTo:o.getParent()}),a=await t(ye.endpoints.uploadImage.initiate({file:new File([i],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:l}=a;t(Jfe({kind:"image",layer:"base",imageName:l,...s}))}})},Y1e=Se.child({namespace:"canvasSavedToGalleryListener"}),X1e=()=>{pe({actionCreator:N1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=n(),o=await O3(i);if(!o){Y1e.error("Problem getting base layer blob"),t(Vt({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(ye.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Q1e=Se.child({namespace:"controlNet"}),Z1e=(e,t,n)=>{if(!(ype.match(e)||y8.match(e)||f3.match(e)||vpe.match(e)||v8.match(e))||v8.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(y8.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},J1e=()=>{pe({predicate:Z1e,effect:async(e,{dispatch:t,getState:n,cancelActiveListeners:r,delay:i})=>{const{controlNetId:o}=e.payload;r(),Q1e.trace({data:e.payload},"ControlNet auto-process triggered"),await i(300),t(d3({controlNetId:o}))}})},Ll=me("system/sessionReadyToInvoke"),IF=e=>(e==null?void 0:e.type)==="image_output",vk=Se.child({namespace:"controlNet"}),ebe=()=>{pe({actionCreator:d3,effect:async(e,{dispatch:t,getState:n,take:r,unsubscribe:i,subscribe:o})=>{const{controlNetId:s}=e.payload,a=n().controlNet.controlNets[s];if(!a.controlImage){vk.error("Unable to process ControlNet image");return}const l={nodes:{[a.processorNode.id]:{...a.processorNode,is_intermediate:!0,image:{image_name:a.controlImage}}}},u=t(Un({graph:l})),[c]=await r(h=>Un.fulfilled.match(h)&&h.meta.requestId===u.requestId),d=c.payload.id;t(Ll());const[f]=await r(h=>u3.match(h)&&h.payload.data.graph_execution_state_id===d);if(IF(f.payload.data.result)){const{image_name:h}=f.payload.data.result.image,[{payload:p}]=await r(S=>ye.endpoints.getImageDTO.matchFulfilled(S)&&S.payload.image_name===h),m=p;vk.debug({data:{arg:e.payload,processedControlImage:m}},"ControlNet image processed"),t(mpe({controlNetId:s,processedControlImage:m.image_name}))}}})},MF=Se.child({namespace:"boards"}),tbe=()=>{pe({matcher:ye.endpoints.addImageToBoard.matchFulfilled,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,imageDTO:i}=e.meta.arg.originalArgs;MF.debug({data:{board_id:r,imageDTO:i}},"Image added to board")}})},nbe=()=>{pe({matcher:ye.endpoints.addImageToBoard.matchRejected,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,imageDTO:i}=e.meta.arg.originalArgs;MF.debug({data:{board_id:r,imageDTO:i}},"Problem adding image to board")}})},D8e=e=>e.gallery,L8e=Vn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],Kc),rbe=Vn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?Mi:Gs,offset:0,limit:tpe,is_intermediate:!1}},Kc),NF=Se.child({namespace:"image"}),ibe=()=>{pe({actionCreator:YL,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(WL(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=rbe(a),{data:f}=ye.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Xo(p,0,m.length-1),v=m[S];t(ra(v||null))}o.isCanvasImage&&t(eL()),o.isControlNetImage&&t(zL()),o.isInitialImage&&t(bD()),o.isNodesImage&&t(_F());const{requestId:u}=t(ye.endpoints.deleteImage.initiate(i));await r(d=>ye.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(ya.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},obe=()=>{pe({matcher:ye.endpoints.deleteImage.matchPending,effect:(e,{dispatch:t,getState:n})=>{}})},sbe=()=>{pe({matcher:ye.endpoints.deleteImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{NF.debug({data:{image:e.meta.arg.originalArgs}},"Image deleted")}})},abe=()=>{pe({matcher:ye.endpoints.deleteImage.matchRejected,effect:(e,{dispatch:t,getState:n})=>{NF.debug({data:{image:e.meta.arg.originalArgs}},"Unable to delete image")}})},lbe=Se.child({namespace:"dnd"}),DF=me("dnd/dndDropped"),ube=()=>{pe({actionCreator:DF,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{activeData:i,overData:o}=e.payload;if(n(),lbe.debug({data:{activeData:i,overData:o}},"Image or selection dropped"),o.actionType==="SET_CURRENT_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(ra(i.payload.imageDTO.image_name));return}if(o.actionType==="SET_INITIAL_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(Uv(i.payload.imageDTO));return}if(o.actionType==="ADD_TO_BATCH"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(Bw([i.payload.imageDTO.image_name]));return}if(o.actionType==="ADD_TO_BATCH"&&i.payloadType==="IMAGE_NAMES"){t(Bw(i.payload.image_names));return}if(o.actionType==="SET_CONTROLNET_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{controlNetId:s}=o.context;t(f3({controlImage:i.payload.imageDTO.image_name,controlNetId:s}));return}if(o.actionType==="SET_CANVAS_INITIAL_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){t(tL(i.payload.imageDTO));return}if(o.actionType==="SET_NODES_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{fieldName:s,nodeId:a}=o.context;t(ox({nodeId:a,fieldName:s,value:i.payload.imageDTO}));return}if(o.actionType==="SET_MULTI_NODES_IMAGE"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{fieldName:s,nodeId:a}=o.context;t(ox({nodeId:a,fieldName:s,value:[i.payload.imageDTO]}));return}if(o.actionType==="MOVE_BOARD"&&i.payloadType==="IMAGE_DTO"&&i.payload.imageDTO){const{imageDTO:s}=i.payload,{boardId:a}=o.context;if(!a){t(ye.endpoints.removeImageFromBoard.initiate({imageDTO:s}));return}t(ye.endpoints.addImageToBoard.initiate({imageDTO:s,board_id:a}));return}}})},LF=Se.child({namespace:"boards"}),cbe=()=>{pe({matcher:ye.endpoints.removeImageFromBoard.matchFulfilled,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,image_name:i}=e.meta.arg.originalArgs;LF.debug({data:{board_id:r,image_name:i}},"Image added to board")}})},dbe=()=>{pe({matcher:ye.endpoints.removeImageFromBoard.matchRejected,effect:(e,{getState:t,dispatch:n})=>{const{board_id:r,image_name:i}=e.meta.arg.originalArgs;LF.debug({data:{board_id:r,image_name:i}},"Problem adding image to board")}})};Se.child({namespace:"image"});const fbe=()=>{pe({actionCreator:Tpe,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const i=e.payload,o=n(),{shouldConfirmOnDelete:s}=o.system,a=Ppe(n());if(!a)return;const l=a.isCanvasImage||a.isInitialImage||a.isControlNetImage||a.isNodesImage;if(s||l){t(WL(!0));return}t(YL({imageDTO:i,imageUsage:a}))}})};Se.child({namespace:"image"});const $F=Se.child({namespace:"image"}),Fa={title:"Image Uploaded",status:"success"},hbe=()=>{pe({matcher:ye.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{selectedBoardId:o,autoAddBoardId:s}=i.gallery;$F.debug({arg:"",imageDTO:r},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Vt({...Fa,...l}));else{t(ye.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:r}));const{data:u}=Rc.endpoints.listAllBoards.select()(i),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Vt({...Fa,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(tL(r)),t(Vt({...Fa,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(f3({controlNetId:l,controlImage:r.image_name})),t(Vt({...Fa,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(Uv(r)),t(Vt({...Fa,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(ox({nodeId:l,fieldName:u,value:r})),t(Vt({...Fa,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(Bw([r.image_name])),t(Vt({...Fa,description:"Added to batch"}));return}}}})},pbe=()=>{pe({matcher:ye.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const{file:n,postUploadAction:r,...i}=e.meta.arg.originalArgs,o={arg:{...i,file:""}};$F.error({data:o},"Image upload failed"),t(Vt({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},gbe=me("generation/initialImageSelected"),mbe=me("generation/modelSelected"),ybe=()=>{pe({actionCreator:gbe,effect:(e,{getState:t,dispatch:n})=>{if(!e.payload){n(Vt(sa({title:gf("toast.imageNotLoadedDesc"),status:"error"})));return}n(Uv(e.payload)),n(Vt(sa(gf("toast.sentToImageToImage"))))}})},vbe=Se.child({module:"models"}),bbe=()=>{pe({actionCreator:mbe,effect:(e,{getState:t,dispatch:n})=>{var a;const r=t(),i=zv.safeParse(e.payload);if(!i.success){vbe.error({error:i.error.format()},"Failed to parse main model");return}const o=i.data,{base_model:s}=o;if(((a=r.generation.model)==null?void 0:a.base_model)!==s){let l=0;bc(r.lora.loras,(d,f)=>{d.base_model!==s&&(n(QL(f)),l+=1)});const{vae:u}=r.generation;u&&u.base_model!==s&&(n(SD(null)),l+=1);const{controlNets:c}=r.controlNet;bc(c,(d,f)=>{var h;((h=d.model)==null?void 0:h.base_model)!==s&&(n(VL({controlNetId:f})),l+=1)}),l>0&&n(Vt(sa({title:`Base model changed, cleared ${l} incompatible submodel${l===1?"":"s"}`,status:"warning"})))}n(hm(o))}})},bk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Sk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),_k=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),wk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),xk=Pl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Sbe=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Od=e=>{const t=[];return e.forEach(n=>{const r={...Yn(n),id:Sbe(n)};t.push(r)}),t},so=ya.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:()=>({url:"models/",params:{model_type:"main"}}),providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return bk.setAll(bk.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:vn}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:vn}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:vn}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:vn}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:vn}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:vn}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:vn}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return Sk.setAll(Sk.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return _k.setAll(_k.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return xk.setAll(xk.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:vn}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Od(t.models);return wk.setAll(wk.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${wL.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:vn}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:$8e,useGetControlNetModelsQuery:F8e,useGetLoRAModelsQuery:B8e,useGetTextualInversionModelsQuery:j8e,useGetVaeModelsQuery:V8e,useUpdateMainModelsMutation:z8e,useDeleteMainModelsMutation:U8e,useImportMainModelsMutation:G8e,useAddMainModelsMutation:H8e,useConvertMainModelsMutation:q8e,useMergeMainModelsMutation:W8e,useSyncModelsMutation:K8e,useGetModelsInFolderQuery:Y8e,useGetCheckpointConfigsQuery:X8e}=so,Ck=Se.child({module:"models"}),_be=()=>{pe({matcher:so.endpoints.getMainModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().generation.model;if(Au(e.payload.entities,l=>(l==null?void 0:l.model_name)===(r==null?void 0:r.model_name)&&(l==null?void 0:l.base_model)===(r==null?void 0:r.base_model)))return;const o=e.payload.ids[0],s=e.payload.entities[o];if(!s){n(hm(null));return}const a=zv.safeParse(s);if(!a.success){Ck.error({error:a.error.format()},"Failed to parse main model");return}n(hm(a.data))}}),pe({matcher:so.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().generation.vae;if(r===null||Au(e.payload.entities,l=>(l==null?void 0:l.model_name)===(r==null?void 0:r.model_name)&&(l==null?void 0:l.base_model)===(r==null?void 0:r.base_model)))return;const o=e.payload.ids[0],s=e.payload.entities[o];if(!s){n(hm(null));return}const a=yce.safeParse(s);if(!a.success){Ck.error({error:a.error.format()},"Failed to parse VAE model");return}n(SD(a.data))}}),pe({matcher:so.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().lora.loras;bc(r,(i,o)=>{Au(e.payload.entities,a=>(a==null?void 0:a.model_name)===(i==null?void 0:i.model_name)&&(a==null?void 0:a.base_model)===(i==null?void 0:i.base_model))||n(QL(o))})}}),pe({matcher:so.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=t().controlNet.controlNets;bc(r,(i,o)=>{Au(e.payload.entities,a=>{var l,u;return(a==null?void 0:a.model_name)===((l=i==null?void 0:i.model)==null?void 0:l.model_name)&&(a==null?void 0:a.base_model)===((u=i==null?void 0:i.model)==null?void 0:u.base_model)})||n(VL({controlNetId:o}))})}})},sx=e=>!("$ref"in e),wbe=e=>!("$ref"in e),Q8e=500,xbe={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},Cbe=500,Zt=e=>`var(--invokeai-colors-${e}-${Cbe})`,Z8e={integer:{color:"red",colorCssVar:Zt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Zt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Zt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Zt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Zt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Zt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Zt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Zt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Zt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Zt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Zt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Zt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Zt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Zt("teal"),title:"Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Zt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Zt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Zt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Zt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Zt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Zt("gray"),title:"Color",description:"A RGBA color."}},y_=e=>e.$ref.split("/").slice(-1)[0],Tbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},Ebe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},Pbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},kbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),Abe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Obe=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Rbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Ibe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Mbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),Nbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),Dbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Lbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),$be=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Fbe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Bbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),jbe=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Vbe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},Tk=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),Ek=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),zbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),FF=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=y_(e.allOf[0]):e.anyOf?r=y_(e.anyOf[0]):e.oneOf&&(r=y_(e.oneOf[0]));const i=xbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Ube=(e,t,n)=>{const r=FF(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return Mbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return Nbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return Dbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return Lbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return $be({schemaObject:e,baseField:i});if(["clip"].includes(r))return Fbe({schemaObject:e,baseField:i});if(["vae"].includes(r))return Bbe({schemaObject:e,baseField:i});if(["control"].includes(r))return jbe({schemaObject:e,baseField:i});if(["model"].includes(r))return Abe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return Obe({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return Rbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return Ibe({schemaObject:e,baseField:i});if(["enum"].includes(r))return Vbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return Tbe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return Ebe({schemaObject:e,baseField:i});if(["string"].includes(r))return Pbe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return kbe({schemaObject:e,baseField:i});if(["array"].includes(r))return Tk({schemaObject:e,baseField:i});if(["item"].includes(r))return Ek({schemaObject:e,baseField:i});if(["color"].includes(r))return zbe({schemaObject:e,baseField:i});if(["array"].includes(r))return Tk({schemaObject:e,baseField:i});if(["item"].includes(r))return Ek({schemaObject:e,baseField:i})},Gbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return sx(i)?vv(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&sx(a)){const u=FF(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Hbe=["id","type","is_intermediate","metadata"],qbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Wbe=e=>t7(e.components.schemas,(r,i)=>i.includes("Invocation")&&!i.includes("InvocationOutput")&&!qbe.some(o=>i.includes(o))).reduce((r,i)=>{var o,s,a;if(wbe(i)){const l=i.properties.type.default,u=((o=i.ui)==null?void 0:o.title)??i.title.replace("Invocation",""),c=(s=i.ui)==null?void 0:s.type_hints,d={};if(l==="collect"){const m=i.properties.item;d.item={type:"item",name:"item",description:m.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(l==="iterate"){const m=i.properties.collection;d.collection={type:"array",name:"collection",title:m.title??"",default:[],description:m.description??"",inputRequirement:"always",inputKind:"connection"}}else vv(i.properties,(m,S,v)=>{if(!Hbe.includes(v)&&sx(S)){const y=Ube(S,v,c);y&&(m[v]=y)}return m},d);const f=i.output;let h;if(l==="iterate"){const m=e.components.schemas.IterateInvocationOutput;h={item:{name:"item",title:m.title??"",description:m.description??"",type:"array"}}}else h=Gbe(f,e,c);const p={title:u,type:l,tags:((a=i.ui)==null?void 0:a.tags)??[],description:i.description??"",inputs:d,outputs:h};Object.assign(r,{[l]:p})}return r},{}),v_=Se.child({namespace:"schema"}),Kbe=()=>{pe({actionCreator:Ph.fulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=e.payload;v_.info({data:{schemaJSON:r}},"Dereferenced OpenAPI schema");const i=Wbe(r);v_.info({data:{nodeTemplates:i}},`Built ${c7(i)} node templates`),t(k3(i))}}),pe({actionCreator:Ph.rejected,effect:(e,{dispatch:t,getState:n})=>{v_.error("Problem dereferencing OpenAPI Schema")}})},Ybe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Xbe=new Map(Ybe),Qbe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],ax=Symbol(".toJSON was called"),Zbe=e=>{e[ax]=!0;const t=e.toJSON();return delete e[ax],t},Jbe=e=>Xbe.get(e)??Error,BF=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&Pk(e)){const u=Jbe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[ax]!==!0)return Zbe(e);const l=u=>BF({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Qbe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:Pk(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function R3(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?BF({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function Pk(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const jF=Se.child({namespace:"session"}),eSe=()=>{pe({actionCreator:Dl.pending,effect:(e,{getState:t,dispatch:n})=>{}})},tSe=()=>{pe({actionCreator:Dl.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const{session_id:r}=e.meta.arg;jF.debug({data:{session_id:r}},`Session canceled (${r})`)}})},nSe=()=>{pe({actionCreator:Dl.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload;jF.error({data:{arg:r,error:R3(i)}},"Problem canceling session")}}})},VF=Se.child({namespace:"session"}),rSe=()=>{pe({actionCreator:Un.pending,effect:(e,{getState:t,dispatch:n})=>{}})},iSe=()=>{pe({actionCreator:Un.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const r=e.payload;VF.debug({data:{session:r}},`Session created (${r.id})`)}})},oSe=()=>{pe({actionCreator:Un.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload,o=JSON.stringify(i);VF.error({data:{arg:r,error:R3(i)}},`Problem creating session: ${o}`)}}})},zF=Se.child({namespace:"session"}),sSe=()=>{pe({actionCreator:yp.pending,effect:(e,{getState:t,dispatch:n})=>{}})},aSe=()=>{pe({actionCreator:yp.fulfilled,effect:(e,{getState:t,dispatch:n})=>{const{session_id:r}=e.meta.arg;zF.debug({data:{session_id:r}},`Session invoked (${r})`)}})},lSe=()=>{pe({actionCreator:yp.rejected,effect:(e,{getState:t,dispatch:n})=>{if(e.payload){const{arg:r,error:i}=e.payload,o=JSON.stringify(i);zF.error({data:{arg:r,error:R3(i)}},`Problem invoking session: ${o}`)}}})},uSe=Se.child({namespace:"session"}),cSe=()=>{pe({actionCreator:Ll,effect:(e,{getState:t,dispatch:n})=>{const{sessionId:r}=t().system;r&&(uSe.debug({session_id:r},`Session ready to invoke (${r})})`),n(yp({session_id:r})))}})},dSe=Se.child({namespace:"socketio"}),fSe=()=>{pe({actionCreator:xL,effect:(e,{dispatch:t,getState:n})=>{const{timestamp:r}=e.payload;dSe.debug({timestamp:r},"Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ph()),t(CL(e.payload)),t(so.endpoints.getMainModels.initiate()),t(so.endpoints.getControlNetModels.initiate()),t(so.endpoints.getLoRAModels.initiate()),t(so.endpoints.getTextualInversionModels.initiate()),t(so.endpoints.getVaeModels.initiate())}})},hSe=Se.child({namespace:"socketio"}),pSe=()=>{pe({actionCreator:TL,effect:(e,{dispatch:t,getState:n})=>{hSe.debug(e.payload,"Disconnected"),t(EL(e.payload))}})},kk=Se.child({namespace:"socketio"}),gSe=()=>{pe({actionCreator:LL,effect:(e,{dispatch:t,getState:n})=>{if(n().system.canceledSession===e.payload.data.graph_execution_state_id){kk.trace(e.payload,"Ignored generator progress for canceled session");return}kk.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t($L(e.payload))}})},mSe=Se.child({namespace:"socketio"}),ySe=()=>{pe({actionCreator:NL,effect:(e,{dispatch:t,getState:n})=>{mSe.debug(e.payload,`Session invocation complete (${e.payload.data.graph_execution_state_id})`),t(DL(e.payload))}})},vSe=Se.child({namespace:"socketio"}),bSe=["dataURL_image"],SSe=()=>{pe({actionCreator:u3,effect:async(e,{dispatch:t,getState:n,take:r})=>{vSe.debug({data:e.payload},`Invocation complete (${e.payload.data.node.type})`);const i=e.payload.data.graph_execution_state_id,{cancelType:o,isCancelScheduled:s}=n().system;o==="scheduled"&&s&&t(Dl({session_id:i}));const{data:a}=e.payload,{result:l,node:u,graph_execution_state_id:c}=a;if(IF(l)&&!bSe.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(ye.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t(Qfe(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?ye.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):ye.util.updateQueryData("listImages",{board_id:"none",categories:Mi},y=>{const g=y.total,_=lr.addOne(y,p).total-g;y.total=y.total+_})),t(ye.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(Fw(m)),t(Uy("images"))):m||t(Uy("images")),t(ra(p.image_name)))}t(C1e(null))}t(IL(e.payload))}})},_Se=Se.child({namespace:"socketio"}),wSe=()=>{pe({actionCreator:ML,effect:(e,{dispatch:t,getState:n})=>{_Se.error(e.payload,`Invocation error (${e.payload.data.node.type}): ${e.payload.data.error}`),t(c3(e.payload))}})},Ak=Se.child({namespace:"socketio"}),xSe=()=>{pe({actionCreator:OL,effect:(e,{dispatch:t,getState:n})=>{if(n().system.canceledSession===e.payload.data.graph_execution_state_id){Ak.trace(e.payload,"Ignored invocation started for canceled session");return}Ak.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(RL(e.payload))}})},CSe=Se.child({namespace:"socketio"}),TSe=()=>{pe({actionCreator:l3,effect:(e,{dispatch:t,getState:n})=>{CSe.debug(e.payload,`Subscribed (${e.payload.sessionId}))`),t(PL(e.payload))}})},ESe=Se.child({namespace:"socketio"}),PSe=()=>{pe({actionCreator:kL,effect:(e,{dispatch:t,getState:n})=>{ESe.debug(e.payload,`Unsubscribed (${e.payload.sessionId})`),t(AL(e.payload))}})};Se.child({namespace:"canvas"});const kSe=()=>{pe({actionCreator:F1e,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{imageDTO:i}=e.payload;try{const o=await t(ye.endpoints.changeImageIsIntermediate.initiate({imageDTO:i,is_intermediate:!1})).unwrap(),{autoAddBoardId:s}=n().gallery;s&&await t(ye.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s})),t(Vt({title:"Image Saved",status:"success"}))}catch(o){t(Vt({title:"Image Saving Failed",description:o==null?void 0:o.message,status:"error"}))}}})},ASe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},Ok=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var I3={exports:{}},S1={},UF={},Le={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof De<"u"?De:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Le);var Bt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Le;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,C=this.m[1]*_+this.m[3]*w,k=this.m[0]*-w+this.m[2]*_,P=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=C,this.m[2]=k,this.m[3]=P,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,C=this.m[2]+this.m[0]*b,k=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=C,this.m[3]=k,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],C=this.m[1]*b.m[2]+this.m[3]*b.m[3],k=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],P=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=C,this.m[4]=k,this.m[5]=P,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,C=this.m[0]*b,k=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),P=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=C,this.m[4]=k,this.m[5]=P,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],C=this.m[4],k=this.m[5],P=b*x-_*w;let A={x:C,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=P/$,A.skewX=(b*w+_*x)/P,A.skewY=0}else if(w!=0||x!=0){var N=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/N):-Math.acos(w/N)),A.scaleX=P/N,A.scaleY=N,A.skewX=0,A.skewY=(b*w+_*x)/P}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,C=Number(_[2])/100;let k,P,A;if(x===0)return A=C*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};C<.5?k=C*(1+x):k=C+x-C*x;const $=2*C-k,N=[0,0,0];for(let T=0;T<3;T++)P=w+1/3*-(T-1),P<0&&P++,P>1&&P--,6*P<1?A=$+(k-$)*6*P:2*P<1?A=k:3*P<2?A=$+(k-$)*(2/3-P)*6:A=$,N[T]=A*255;return{r:Math.round(N[0]),g:Math.round(N[1]),b:Math.round(N[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(k=_,P=w,A=(_-x)*(_-x)+(w-C)*(w-C)):(k=g+N*(_-g),P=b+N*(w-b),A=(k-x)*(k-x)+(P-C)*(P-C))}return[k,P,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(C,k){if(!(!_&&k===b.length-1)){var P=b[(k+1)%b.length],A=e.Util._getProjectionToSegment(C.x,C.y,P.x,P.y,g.x,g.y),$=A[0],N=A[1],T=A[2];Tb.length){var k=b;b=g,g=k}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,C=0,k=0,P=0;typeof w=="number"?x=C=k=P=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),C=Math.min(w[1]||0,b/2,_/2),P=Math.min(w[2]||0,b/2,_/2),k=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-C,0),g.arc(b-C,C,C,Math.PI*3/2,0,!1),g.lineTo(b,_-P),g.arc(b-P,_-P,P,0,Math.PI/2,!1),g.lineTo(k,_),g.arc(k,_-k,k,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Bt);var At={},Ie={},fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.getComponentValidator=fe.getBooleanValidator=fe.getNumberArrayValidator=fe.getFunctionValidator=fe.getStringOrGradientValidator=fe.getStringValidator=fe.getNumberOrAutoValidator=fe.getNumberOrArrayOfNumbersValidator=fe.getNumberValidator=fe.alphaComponent=fe.RGBComponent=void 0;const ys=Le,Ut=Bt;function vs(e){return Ut.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Ut.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function OSe(e){return e>255?255:e<0?0:Math.round(e)}fe.RGBComponent=OSe;function RSe(e){return e>1?1:e<1e-4?1e-4:e}fe.alphaComponent=RSe;function ISe(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isNumber(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}fe.getNumberValidator=ISe;function MSe(e){if(ys.Konva.isUnminified)return function(t,n){let r=Ut.Util._isNumber(t),i=Ut.Util._isArray(t)&&t.length==e;return!r&&!i&&Ut.Util.warn(vs(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}fe.getNumberOrArrayOfNumbersValidator=MSe;function NSe(){if(ys.Konva.isUnminified)return function(e,t){var n=Ut.Util._isNumber(e),r=e==="auto";return n||r||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}fe.getNumberOrAutoValidator=NSe;function DSe(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isString(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}fe.getStringValidator=DSe;function LSe(){if(ys.Konva.isUnminified)return function(e,t){const n=Ut.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}fe.getStringOrGradientValidator=LSe;function $Se(){if(ys.Konva.isUnminified)return function(e,t){return Ut.Util._isFunction(e)||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}fe.getFunctionValidator=$Se;function FSe(){if(ys.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Ut.Util._isArray(e)?e.forEach(function(r){Ut.Util._isNumber(r)||Ut.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}fe.getNumberArrayValidator=FSe;function BSe(){if(ys.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Ut.Util.warn(vs(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}fe.getBooleanValidator=BSe;function jSe(e){if(ys.Konva.isUnminified)return function(t,n){return t==null||Ut.Util.isObject(t)||Ut.Util.warn(vs(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}fe.getComponentValidator=jSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Bt,n=fe;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Ie);var Bi={},rs={};Object.defineProperty(rs,"__esModule",{value:!0});rs.HitContext=rs.SceneContext=rs.Context=void 0;const GF=Bt,VSe=Le;function zSe(e){var t=[],n=e.length,r=GF.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=USe+u.join(Rk)+GSe)):(o+=a.property,t||(o+=YSe+a.val)),o+=WSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=QSe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=Ik.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=zSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(x1);Object.defineProperty(At,"__esModule",{value:!0});At.Node=void 0;const je=Bt,wp=Ie,kg=Bi,Ba=Le,ti=x1,Yt=fe;var _m="absoluteOpacity",Ag="allEventListeners",Uo="absoluteTransform",Mk="absoluteScale",ja="canvas",o_e="Change",s_e="children",a_e="konva",lx="listening",Nk="mouseenter",Dk="mouseleave",Lk="set",$k="Shape",wm=" ",Fk="stage",Os="transform",l_e="Stage",ux="visible",u_e=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(wm);let c_e=1,Pe=class cx{constructor(t){this._id=c_e++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===Os||t===Uo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===Os||t===Uo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(wm);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(ja)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Uo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(ja)){const{scene:t,filter:n,hit:r}=this._cache.get(ja);je.Util.releaseCanvas(t,n,r),this._cache.delete(ja)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){je.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new kg.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new kg.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new kg.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(ja),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_m),this._clearSelfAndDescendantCache(Mk),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(ja,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(ja)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==s_e&&(r=Lk+je.Util._capitalize(n),je.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(lx,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(ux,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;ti.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!Ba.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==l_e&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Os),this._clearSelfAndDescendantCache(Uo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new je.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(Os);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(Os),this._clearSelfAndDescendantCache(Uo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return je.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return je.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&je.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_m,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=je.Util.isObject(i)&&!je.Util._isPlainObject(i)&&!je.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),je.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,je.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Ba.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;ti.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=ti.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&ti.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return je.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return je.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=cx.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),Ba.Konva[r]||(je.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=Ba.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=b_.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=b_.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hX.indexOf("pointer")>=0?"pointer":X.indexOf("touch")>=0?"touch":"mouse",z=X=>{const F=V(X);if(F==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(F==="touch")return L.touch;if(F==="mouse")return L.mouse};function U(X={}){return(X.clipFunc||X.clipWidth||X.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),X}const K="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class W extends r.Container{constructor(F){super(U(F)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{U(this.attrs)}),this._checkVisibility()}_validateAdd(F){const q=F.getType()==="Layer",Q=F.getType()==="FastLayer";q||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const F=this.visible()?"":"none";this.content.style.display=F}setContainer(F){if(typeof F===c){if(F.charAt(0)==="."){var q=F.slice(1);F=document.getElementsByClassName(q)[0]}else{var Q;F.charAt(0)!=="#"?Q=F:Q=F.slice(1),F=document.getElementById(Q)}if(!F)throw"Can not find container in document with id "+Q}return this._setAttr("container",F),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),F.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var F=this.children,q=F.length,Q;for(Q=0;Q-1&&e.stages.splice(q,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const F=this._pointerPositions[0]||this._changedPointerPositions[0];return F?{x:F.x,y:F.y}:(t.Util.warn(K),null)}_getPointerById(F){return this._pointerPositions.find(q=>q.id===F)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(F){F=F||{},F.x=F.x||0,F.y=F.y||0,F.width=F.width||this.width(),F.height=F.height||this.height();var q=new o.SceneCanvas({width:F.width,height:F.height,pixelRatio:F.pixelRatio||1}),Q=q.getContext()._context,J=this.children;return(F.x||F.y)&&Q.translate(-1*F.x,-1*F.y),J.forEach(function(ne){if(ne.isVisible()){var Z=ne._toKonvaCanvas(F);Q.drawImage(Z._canvas,F.x,F.y,Z.getWidth()/Z.getPixelRatio(),Z.getHeight()/Z.getPixelRatio())}}),q}getIntersection(F){if(!F)return null;var q=this.children,Q=q.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const Z=q[ne].getIntersection(F);if(Z)return Z}return null}_resizeDOM(){var F=this.width(),q=this.height();this.content&&(this.content.style.width=F+d,this.content.style.height=q+d),this.bufferCanvas.setSize(F,q),this.bufferHitCanvas.setSize(F,q),this.children.forEach(Q=>{Q.setSize({width:F,height:q}),Q.draw()})}add(F,...q){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),F.setSize({width:this.width(),height:this.height()}),F.draw(),i.Konva.isBrowser&&this.content.appendChild(F.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(F){return l.hasPointerCapture(F,this)}setPointerCapture(F){l.setPointerCapture(F,this)}releaseCapture(F){l.releaseCapture(F,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([F,q])=>{this.content.addEventListener(F,Q=>{this[q](Q)},{passive:!1})})}_pointerenter(F){this.setPointersPositions(F);const q=z(F.type);this._fire(q.pointerenter,{evt:F,target:this,currentTarget:this})}_pointerover(F){this.setPointersPositions(F);const q=z(F.type);this._fire(q.pointerover,{evt:F,target:this,currentTarget:this})}_getTargetShape(F){let q=this[F+"targetShape"];return q&&!q.getStage()&&(q=null),q}_pointerleave(F){const q=z(F.type),Q=V(F.type);if(q){this.setPointersPositions(F);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(q.pointerout,{evt:F}),J._fireAndBubble(q.pointerleave,{evt:F}),this._fire(q.pointerleave,{evt:F,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(q.pointerleave,{evt:F,target:this,currentTarget:this}),this._fire(q.pointerout,{evt:F,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(F){const q=z(F.type),Q=V(F.type);if(q){this.setPointersPositions(F);var J=!1;this._changedPointerPositions.forEach(ne=>{var Z=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(Z&&Z.isListening()))return;i.Konva.capturePointerEventsEnabled&&Z.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=Z,Z._fireAndBubble(q.pointerdown,{evt:F,pointerId:ne.id}),J=!0;const ae=F.type.indexOf("touch")>=0;Z.preventDefault()&&F.cancelable&&ae&&F.preventDefault()}),J||this._fire(q.pointerdown,{evt:F,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(F){const q=z(F.type),Q=V(F.type);if(!q)return;s.DD.isDragging&&s.DD.node.preventDefault()&&F.cancelable&&F.preventDefault(),this.setPointersPositions(F);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let Z=!1;var ge=this._getTargetShape(Q);this._changedPointerPositions.forEach(ae=>{const oe=l.getCapturedShape(ae.id)||this.getIntersection(ae),Te=ae.id,se={evt:F,pointerId:Te};var We=ge!==oe;if(We&&ge&&(ge._fireAndBubble(q.pointerout,Object.assign({},se),oe),ge._fireAndBubble(q.pointerleave,Object.assign({},se),oe)),oe){if(ne[oe._id])return;ne[oe._id]=!0}oe&&oe.isListening()?(Z=!0,We&&(oe._fireAndBubble(q.pointerover,Object.assign({},se),ge),oe._fireAndBubble(q.pointerenter,Object.assign({},se),ge),this[Q+"targetShape"]=oe),oe._fireAndBubble(q.pointermove,Object.assign({},se))):ge&&(this._fire(q.pointerover,{evt:F,target:this,currentTarget:this,pointerId:Te}),this[Q+"targetShape"]=null)}),Z||this._fire(q.pointermove,{evt:F,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(F){const q=z(F.type),Q=V(F.type);if(!q)return;this.setPointersPositions(F);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var Z={};let ge=!1;this._changedPointerPositions.forEach(ae=>{const oe=l.getCapturedShape(ae.id)||this.getIntersection(ae);if(oe){if(oe.releaseCapture(ae.id),Z[oe._id])return;Z[oe._id]=!0}const Te=ae.id,se={evt:F,pointerId:Te};let We=!1;i.Konva["_"+Q+"InDblClickWindow"]?(We=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),oe&&oe.isListening()?(ge=!0,this[Q+"ClickEndShape"]=oe,oe._fireAndBubble(q.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===oe&&(oe._fireAndBubble(q.pointerclick,Object.assign({},se)),We&&ne&&ne===oe&&oe._fireAndBubble(q.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(q.pointerclick,{evt:F,target:this,currentTarget:this,pointerId:Te}),We&&this._fire(q.pointerdblclick,{evt:F,target:this,currentTarget:this,pointerId:Te}))}),ge||this._fire(q.pointerup,{evt:F,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,F.cancelable&&Q!=="touch"&&F.preventDefault()}_contextmenu(F){this.setPointersPositions(F);var q=this.getIntersection(this.getPointerPosition());q&&q.isListening()?q._fireAndBubble($,{evt:F}):this._fire($,{evt:F,target:this,currentTarget:this})}_wheel(F){this.setPointersPositions(F);var q=this.getIntersection(this.getPointerPosition());q&&q.isListening()?q._fireAndBubble(M,{evt:F}):this._fire(M,{evt:F,target:this,currentTarget:this})}_pointercancel(F){this.setPointersPositions(F);const q=l.getCapturedShape(F.pointerId)||this.getIntersection(this.getPointerPosition());q&&q._fireAndBubble(_,l.createEvent(F)),l.releaseCapture(F.pointerId)}_lostpointercapture(F){l.releaseCapture(F.pointerId)}setPointersPositions(F){var q=this._getContentPosition(),Q=null,J=null;F=F||window.event,F.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(F.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-q.left)/q.scaleX,y:(ne.clientY-q.top)/q.scaleY})}),Array.prototype.forEach.call(F.changedTouches||F.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-q.left)/q.scaleX,y:(ne.clientY-q.top)/q.scaleY})})):(Q=(F.clientX-q.left)/q.scaleX,J=(F.clientY-q.top)/q.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(F)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(F)}])}_setPointerPosition(F){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(F)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var F=this.content.getBoundingClientRect();return{top:F.top,left:F.left,scaleX:F.width/this.content.clientWidth||1,scaleY:F.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var F=this.container();if(!F)throw"Stage has no container. A container is required.";F.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),F.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(F){F.batchDraw()}),this}}e.Stage=W,W.prototype.nodeType=u,(0,a._registerNode)(W),n.Factory.addGetterSetter(W,"container")})(WF);var xp={},pn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Le,n=Bt,r=Ie,i=At,o=fe,s=Le,a=Br;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(k){const P=this.attrs.fillRule;P?k.fill(P):k.fill()}function S(k){k.stroke()}function v(k){k.fill()}function y(k){k.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class C extends i.Node{constructor(P){super(P);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var P=p();const A=P.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const N=$.getMatrix(),T=typeof DOMMatrix>"u"?{a:N[0],b:N[1],c:N[2],d:N[3],e:N[4],f:N[5]}:new DOMMatrix(N);A.setTransform(T)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var P=this.fillLinearGradientColorStops();if(P){for(var A=p(),$=this.fillLinearGradientStartPoint(),N=this.fillLinearGradientEndPoint(),T=A.createLinearGradient($.x,$.y,N.x,N.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const P=this.hitStrokeWidth();return P==="auto"?this.hasStroke():this.strokeEnabled()&&!!P}intersects(P){var A=this.getStage(),$=A.bufferHitCanvas,N;return $.getContext().clear(),this.drawHit($,null,!0),N=$.context.getImageData(Math.round(P.x),Math.round(P.y),1,1).data,N[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(P){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const N=P||this.hasFill(),T=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(N&&T&&O)return!0;const I=this.hasShadow(),M=this.shadowForStrokeEnabled();return!!(N&&T&&I&&M)}setStrokeHitEnabled(P){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),P?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var P=this.size();return{x:this._centroid?-P.width/2:0,y:this._centroid?-P.height/2:0,width:P.width,height:P.height}}getClientRect(P={}){const A=P.skipTransform,$=P.relativeTo,N=this.getSelfRect(),O=!P.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=N.width+O,M=N.height+O,R=!P.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,V=I+Math.abs(D),z=M+Math.abs(L),U=R&&this.shadowBlur()||0,K=V+U*2,W=z+U*2,X={width:K,height:W,x:-(O/2+U)+Math.min(D,0)+N.x,y:-(O/2+U)+Math.min(L,0)+N.y};return A?X:this._transformedRect(X,$)}drawScene(P,A){var $=this.getLayer(),N=P||$.getCanvas(),T=N.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),M=this.hasShadow(),R,D,L,V=N.isCache,z=A===this;if(!this.isVisible()&&!z)return this;if(O){T.save();var U=this.getAbsoluteTransform(A).getMatrix();return T.transform(U[0],U[1],U[2],U[3],U[4],U[5]),this._drawCachedSceneCanvas(T),T.restore(),this}if(!I)return this;if(T.save(),this._useBufferCanvas()&&!V){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var K=this.getAbsoluteTransform(A).getMatrix();L.transform(K[0],K[1],K[2],K[3],K[4],K[5]),I.call(this,L,this),L.restore();var W=D.pixelRatio;M&&T._applyShadow(this),T._applyOpacity(this),T._applyGlobalCompositeOperation(this),T.drawImage(D._canvas,0,0,D.width/W,D.height/W)}else{if(T._applyLineJoin(this),!z){var K=this.getAbsoluteTransform(A).getMatrix();T.transform(K[0],K[1],K[2],K[3],K[4],K[5]),T._applyOpacity(this),T._applyGlobalCompositeOperation(this)}M&&T._applyShadow(this),I.call(this,T,this)}return T.restore(),this}drawHit(P,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var N=this.getLayer(),T=P||N.hitCanvas,O=T&&T.getContext(),I=this.hitFunc()||this.sceneFunc(),M=this._getCanvasCache(),R=M&&M.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var V=this.getAbsoluteTransform(A).getMatrix();O.transform(V[0],V[1],V[2],V[3],V[4],V[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(P=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),N=A.hit,T=N.getContext(),O=N.getWidth(),I=N.getHeight(),M,R,D,L,V,z;T.clear(),T.drawImage($._canvas,0,0,O,I);try{for(M=T.getImageData(0,0,O,I),R=M.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),V=0;VP?(R[V]=L.r,R[V+1]=L.g,R[V+2]=L.b,R[V+3]=255):R[V+3]=0;T.putImageData(M,0,0)}catch(U){n.Util.error("Unable to draw hit graph from cached scene canvas. "+U.message)}return this}hasPointerCapture(P){return a.hasPointerCapture(P,this)}setPointerCapture(P){a.setPointerCapture(P,this)}releaseCapture(P){a.releaseCapture(P,this)}}e.Shape=C,C.prototype._fillFunc=m,C.prototype._strokeFunc=S,C.prototype._fillFuncHit=v,C.prototype._strokeFuncHit=y,C.prototype._centroid=!1,C.prototype.nodeType="Shape",(0,s._registerNode)(C),C.prototype.eventListeners={},C.prototype.on.call(C.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),C.prototype.on.call(C.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),C.prototype.on.call(C.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(C,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(C,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(C,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(C,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(C,"lineJoin"),r.Factory.addGetterSetter(C,"lineCap"),r.Factory.addGetterSetter(C,"sceneFunc"),r.Factory.addGetterSetter(C,"hitFunc"),r.Factory.addGetterSetter(C,"dash"),r.Factory.addGetterSetter(C,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(C,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(C,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternImage"),r.Factory.addGetterSetter(C,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(C,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(C,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(C,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(C,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(C,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(C,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(C,"fillEnabled",!0),r.Factory.addGetterSetter(C,"strokeEnabled",!0),r.Factory.addGetterSetter(C,"shadowEnabled",!0),r.Factory.addGetterSetter(C,"dashEnabled",!0),r.Factory.addGetterSetter(C,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(C,"fillPriority","color"),r.Factory.addComponentsGetterSetter(C,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(C,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(C,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(C,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(C,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(C,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(C,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(C,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(C,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(C,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(C,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(C,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(C,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(C,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(C,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(C,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(C,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(C,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(C,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(C,"fillPatternRotation",0),r.Factory.addGetterSetter(C,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(C,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(pn);Object.defineProperty(xp,"__esModule",{value:!0});xp.Layer=void 0;const jo=Bt,S_=$l,au=At,N3=Ie,Bk=Bi,g_e=fe,m_e=pn,y_e=Le;var v_e="#",b_e="beforeDraw",S_e="draw",XF=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],__e=XF.length;class Xc extends S_.Container{constructor(t){super(t),this.canvas=new Bk.SceneCanvas,this.hitCanvas=new Bk.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i<__e;i++){const o=XF[i],s=this._getIntersection({x:t.x+o.x*n,y:t.y+o.y*n}),a=s.shape;if(a)return a;if(r=!!s.antialiased,!s.antialiased)break}if(r)n+=1;else return null}}_getIntersection(t){const n=this.hitCanvas.pixelRatio,r=this.hitCanvas.context.getImageData(Math.round(t.x*n),Math.round(t.y*n),1,1).data,i=r[3];if(i===255){const o=jo.Util._rgbToHex(r[0],r[1],r[2]),s=m_e.shapes[v_e+o];return s?{shape:s}:{antialiased:!0}}else if(i>0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(b_e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),S_.Container.prototype.drawScene.call(this,i,n),this._fire(S_e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),S_.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){jo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return jo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return jo.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}xp.Layer=Xc;Xc.prototype.nodeType="Layer";(0,y_e._registerNode)(Xc);N3.Factory.addGetterSetter(Xc,"imageSmoothingEnabled",!0);N3.Factory.addGetterSetter(Xc,"clearBeforeDraw",!0);N3.Factory.addGetterSetter(Xc,"hitGraphEnabled",!0,(0,g_e.getBooleanValidator)());var T1={};Object.defineProperty(T1,"__esModule",{value:!0});T1.FastLayer=void 0;const w_e=Bt,x_e=xp,C_e=Le;class D3 extends x_e.Layer{constructor(t){super(t),this.listening(!1),w_e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}T1.FastLayer=D3;D3.prototype.nodeType="FastLayer";(0,C_e._registerNode)(D3);var Qc={};Object.defineProperty(Qc,"__esModule",{value:!0});Qc.Group=void 0;const T_e=Bt,E_e=$l,P_e=Le;class L3 extends E_e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&T_e.Util.throw("You may only add groups and shapes to groups.")}}Qc.Group=L3;L3.prototype.nodeType="Group";(0,P_e._registerNode)(L3);var Zc={};Object.defineProperty(Zc,"__esModule",{value:!0});Zc.Animation=void 0;const __=Le,jk=Bt;var w_=function(){return __.glob.performance&&__.glob.performance.now?function(){return __.glob.performance.now()}:function(){return new Date().getTime()}}();class ao{constructor(t,n){this.id=ao.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:w_(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,C,k;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(C=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}E1.Arc=bs;bs.prototype._centroid=!0;bs.prototype.className="Arc";bs.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,A_e._registerNode)(bs);P1.Factory.addGetterSetter(bs,"innerRadius",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"outerRadius",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"angle",0,(0,k1.getNumberValidator)());P1.Factory.addGetterSetter(bs,"clockwise",!1,(0,k1.getBooleanValidator)());var A1={},Cp={};Object.defineProperty(Cp,"__esModule",{value:!0});Cp.Line=void 0;const O1=Ie,O_e=pn,ZF=fe,R_e=Le;function dx(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function zk(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(JF);Object.defineProperty(Jc,"__esModule",{value:!0});Jc.Path=void 0;const I_e=Ie,M_e=pn,N_e=Le,lu=JF;class ln extends M_e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=ln.parsePathData(this.data()),this.pathLength=ln.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=ln.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return ln.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return ln.getPointOnCubicBezier((0,lu.t2length)(t,ln.getPathLength(n),m=>(0,lu.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return ln.getPointOnQuadraticBezier((0,lu.t2length)(t,ln.getPathLength(n),m=>(0,lu.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,ln.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,C,k,P,A,$,N,T,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),M=p.shift();if(l+=I,u+=M,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+M;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,C=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),C=u+(u-w.points[3])),g.push(x,C,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,C=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),C=u+(u-w.points[3])),g.push(x,C,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,C=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),C=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,C,l,u);break;case"t":x=l,C=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),C=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,C,l,u);break;case"A":k=p.shift(),P=p.shift(),A=p.shift(),$=p.shift(),N=p.shift(),T=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(T,O,l,u,$,N,k,P,A);break;case"a":k=p.shift(),P=p.shift(),A=p.shift(),$=p.shift(),N=p.shift(),T=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(T,O,l,u,$,N,k,P,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=ln;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,lu.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,lu.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(P){return Math.sqrt(P[0]*P[0]+P[1]*P[1])},b=function(P,A){return(P[0]*A[0]+P[1]*A[1])/(g(P)*g(A))},_=function(P,A){return(P[0]*A[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[v,y,a,l,w,k,c,s]}}Jc.Path=ln;ln.prototype.className="Path";ln.prototype._attrsAffectingSize=["data"];(0,N_e._registerNode)(ln);I_e.Factory.addGetterSetter(ln,"data");Object.defineProperty(A1,"__esModule",{value:!0});A1.Arrow=void 0;const R1=Ie,D_e=Cp,eB=fe,L_e=Le,Uk=Jc;class Bl extends D_e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=Uk.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=Uk.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}A1.Arrow=Bl;Bl.prototype.className="Arrow";(0,L_e._registerNode)(Bl);R1.Factory.addGetterSetter(Bl,"pointerLength",10,(0,eB.getNumberValidator)());R1.Factory.addGetterSetter(Bl,"pointerWidth",10,(0,eB.getNumberValidator)());R1.Factory.addGetterSetter(Bl,"pointerAtBeginning",!1);R1.Factory.addGetterSetter(Bl,"pointerAtEnding",!0);var I1={};Object.defineProperty(I1,"__esModule",{value:!0});I1.Circle=void 0;const $_e=Ie,F_e=pn,B_e=fe,j_e=Le;class ed extends F_e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}}I1.Circle=ed;ed.prototype._centroid=!0;ed.prototype.className="Circle";ed.prototype._attrsAffectingSize=["radius"];(0,j_e._registerNode)(ed);$_e.Factory.addGetterSetter(ed,"radius",0,(0,B_e.getNumberValidator)());var M1={};Object.defineProperty(M1,"__esModule",{value:!0});M1.Ellipse=void 0;const $3=Ie,V_e=pn,tB=fe,z_e=Le;class Oa extends V_e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}M1.Ellipse=Oa;Oa.prototype.className="Ellipse";Oa.prototype._centroid=!0;Oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,z_e._registerNode)(Oa);$3.Factory.addComponentsGetterSetter(Oa,"radius",["x","y"]);$3.Factory.addGetterSetter(Oa,"radiusX",0,(0,tB.getNumberValidator)());$3.Factory.addGetterSetter(Oa,"radiusY",0,(0,tB.getNumberValidator)());var N1={};Object.defineProperty(N1,"__esModule",{value:!0});N1.Image=void 0;const x_=Bt,jl=Ie,U_e=pn,G_e=Le,Tp=fe;let Ro=class nB extends U_e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?x_.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?x_.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=x_.Util.createImageElement();i.onload=function(){var o=new nB({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};N1.Image=Ro;Ro.prototype.className="Image";(0,G_e._registerNode)(Ro);jl.Factory.addGetterSetter(Ro,"cornerRadius",0,(0,Tp.getNumberOrArrayOfNumbersValidator)(4));jl.Factory.addGetterSetter(Ro,"image");jl.Factory.addComponentsGetterSetter(Ro,"crop",["x","y","width","height"]);jl.Factory.addGetterSetter(Ro,"cropX",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropY",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropWidth",0,(0,Tp.getNumberValidator)());jl.Factory.addGetterSetter(Ro,"cropHeight",0,(0,Tp.getNumberValidator)());var Dc={};Object.defineProperty(Dc,"__esModule",{value:!0});Dc.Tag=Dc.Label=void 0;const D1=Ie,H_e=pn,q_e=Qc,F3=fe,rB=Le;var iB=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],W_e="Change.konva",K_e="none",fx="up",hx="right",px="down",gx="left",Y_e=iB.length;class B3 extends q_e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}$1.RegularPolygon=zl;zl.prototype.className="RegularPolygon";zl.prototype._centroid=!0;zl.prototype._attrsAffectingSize=["radius"];(0,n2e._registerNode)(zl);oB.Factory.addGetterSetter(zl,"radius",0,(0,sB.getNumberValidator)());oB.Factory.addGetterSetter(zl,"sides",0,(0,sB.getNumberValidator)());var F1={};Object.defineProperty(F1,"__esModule",{value:!0});F1.Ring=void 0;const aB=Ie,r2e=pn,lB=fe,i2e=Le;var Gk=Math.PI*2;class Ul extends r2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,Gk,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),Gk,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}F1.Ring=Ul;Ul.prototype.className="Ring";Ul.prototype._centroid=!0;Ul.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,i2e._registerNode)(Ul);aB.Factory.addGetterSetter(Ul,"innerRadius",0,(0,lB.getNumberValidator)());aB.Factory.addGetterSetter(Ul,"outerRadius",0,(0,lB.getNumberValidator)());var B1={};Object.defineProperty(B1,"__esModule",{value:!0});B1.Sprite=void 0;const Gl=Ie,o2e=pn,s2e=Zc,uB=fe,a2e=Le;class Io extends o2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new s2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Rg;function T_(){return Rg||(Rg=mx.Util.createCanvasElement().getContext(p2e),Rg)}function T2e(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function E2e(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function P2e(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Xt extends c2e.Shape{constructor(t){super(P2e(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=mx.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(g2e,n),this}getWidth(){var t=this.attrs.width===uu||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===uu||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return mx.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=T_(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+Og+this.fontVariant()+Og+(this.fontSize()+b2e)+C2e(this.fontFamily())}_addTextLine(t){this.align()===Rd&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return T_().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==uu&&o!==void 0,l=s!==uu&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==Wk,m=h!==w2e&&p,S=this.ellipsis();this.textArr=[],T_().font=this._getContextFont();for(var v=S?this._getTextWidth(C_):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,C="",k=0;w>>1,A=b.slice(0,P+1),$=this._getTextWidth(A)+v;$<=c?(w=P+1,C=A,k=$):x=P}if(C){if(m){var N,T=b[C.length],O=T===Og||T===Hk;O&&k<=c?N=C.length:N=Math.max(C.lastIndexOf(Og),C.lastIndexOf(Hk))+1,N>0&&(w=N,C=C.slice(0,w),k=this._getTextWidth(C))}C=C.trimRight(),this._addTextLine(C),r=Math.max(r,k),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==uu&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==Wk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==uu&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+C_)n?null:Id.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Id.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${vB}`).join(" "),Xk="nodesRect",D2e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],L2e={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const $2e="ontouchstart"in Ci.Konva._global;function F2e(e,t){if(e==="rotater")return"crosshair";t+=at.Util.degToRad(L2e[e]||0);var n=(at.Util.radToDeg(t)%360+360)%360;return at.Util._inRange(n,315+22.5,360)||at.Util._inRange(n,0,22.5)?"ns-resize":at.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":at.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":at.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":at.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":at.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":at.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":at.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(at.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var a0=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],Qk=1e8;function B2e(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function bB(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function j2e(e,t){const n=B2e(e);return bB(e,t,n)}function V2e(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(at.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(D2e.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(Xk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(Xk,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(Ci.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return bB(c,-Ci.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-Qk,y:-Qk,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new at.Transform;r.rotate(-Ci.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:Ci.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),a0.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new I2e.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:$2e?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=Ci.Konva.getAngle(this.rotation()),o=F2e(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new R2e.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*at.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let N=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(N-=Math.PI);var f=Ci.Konva.getAngle(this.rotation());const T=f+N,O=Ci.Konva.getAngle(this.rotationSnapTolerance()),M=V2e(this.rotationSnaps(),T,O)-d.rotation,R=j2e(d,M);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(at.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(at.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new at.Transform;if(s.rotate(Ci.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:at.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new at.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new at.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new at.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(at.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(at.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*at.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),Yk.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return Kk.Node.prototype.toObject.call(this)}clone(t){var n=Kk.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}z1.Transformer=Je;function z2e(e){return e instanceof Array||at.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){a0.indexOf(t)===-1&&at.Util.warn("Unknown anchor name: "+t+". Available names are: "+a0.join(", "))}),e||[]}Je.prototype.className="Transformer";(0,M2e._registerNode)(Je);st.Factory.addGetterSetter(Je,"enabledAnchors",a0,z2e);st.Factory.addGetterSetter(Je,"flipEnabled",!0,(0,Ma.getBooleanValidator)());st.Factory.addGetterSetter(Je,"resizeEnabled",!0);st.Factory.addGetterSetter(Je,"anchorSize",10,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"rotateEnabled",!0);st.Factory.addGetterSetter(Je,"rotationSnaps",[]);st.Factory.addGetterSetter(Je,"rotateAnchorOffset",50,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"rotationSnapTolerance",5,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderEnabled",!0);st.Factory.addGetterSetter(Je,"anchorStroke","rgb(0, 161, 255)");st.Factory.addGetterSetter(Je,"anchorStrokeWidth",1,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"anchorFill","white");st.Factory.addGetterSetter(Je,"anchorCornerRadius",0,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderStroke","rgb(0, 161, 255)");st.Factory.addGetterSetter(Je,"borderStrokeWidth",1,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"borderDash");st.Factory.addGetterSetter(Je,"keepRatio",!0);st.Factory.addGetterSetter(Je,"shiftBehavior","default");st.Factory.addGetterSetter(Je,"centeredScaling",!1);st.Factory.addGetterSetter(Je,"ignoreStroke",!1);st.Factory.addGetterSetter(Je,"padding",0,(0,Ma.getNumberValidator)());st.Factory.addGetterSetter(Je,"node");st.Factory.addGetterSetter(Je,"nodes");st.Factory.addGetterSetter(Je,"boundBoxFunc");st.Factory.addGetterSetter(Je,"anchorDragBoundFunc");st.Factory.addGetterSetter(Je,"anchorStyleFunc");st.Factory.addGetterSetter(Je,"shouldOverdrawWholeArea",!1);st.Factory.addGetterSetter(Je,"useSingleNodeRotation",!0);st.Factory.backCompat(Je,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var U1={};Object.defineProperty(U1,"__esModule",{value:!0});U1.Wedge=void 0;const G1=Ie,U2e=pn,G2e=Le,SB=fe,H2e=Le;class Ss extends U2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,G2e.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}U1.Wedge=Ss;Ss.prototype.className="Wedge";Ss.prototype._centroid=!0;Ss.prototype._attrsAffectingSize=["radius"];(0,H2e._registerNode)(Ss);G1.Factory.addGetterSetter(Ss,"radius",0,(0,SB.getNumberValidator)());G1.Factory.addGetterSetter(Ss,"angle",0,(0,SB.getNumberValidator)());G1.Factory.addGetterSetter(Ss,"clockwise",!1);G1.Factory.backCompat(Ss,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var H1={};Object.defineProperty(H1,"__esModule",{value:!0});H1.Blur=void 0;const Zk=Ie,q2e=At,W2e=fe;function Jk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var K2e=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Y2e=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function X2e(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,C,k,P,A,$,N=t+t+1,T=r-1,O=i-1,I=t+1,M=I*(I+1)/2,R=new Jk,D=null,L=R,V=null,z=null,U=K2e[t],K=Y2e[t];for(a=1;a>K,A!==0?(A=255/A,n[c]=(f*U>>K)*A,n[c+1]=(h*U>>K)*A,n[c+2]=(p*U>>K)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=V.r,v-=V.g,y-=V.b,g-=V.a,l=d+((l=o+t+1)>K,A>0?(A=255/A,n[l]=(f*U>>K)*A,n[l+1]=(h*U>>K)*A,n[l+2]=(p*U>>K)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=V.r,v-=V.g,y-=V.b,g-=V.a,l=o+((l=s+I)0&&X2e(t,n)};H1.Blur=Q2e;Zk.Factory.addGetterSetter(q2e.Node,"blurRadius",0,(0,W2e.getNumberValidator)(),Zk.Factory.afterSetFilter);var q1={};Object.defineProperty(q1,"__esModule",{value:!0});q1.Brighten=void 0;const eA=Ie,Z2e=At,J2e=fe,ewe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};W1.Contrast=rwe;tA.Factory.addGetterSetter(twe.Node,"contrast",0,(0,nwe.getNumberValidator)(),tA.Factory.afterSetFilter);var K1={};Object.defineProperty(K1,"__esModule",{value:!0});K1.Emboss=void 0;const ba=Ie,Y1=At,iwe=Bt,_B=fe,owe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:iwe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,C=b>0?b:-b,k=_>0?_:-_;if(C>x&&(w=b),k>x&&(w=_),w*=t,i){var P=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=P>255?255:P<0?0:P,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var N=n-w;N<0?N=0:N>255&&(N=255),a[S]=a[S+1]=a[S+2]=N}}while(--m)}while(--d)};K1.Emboss=owe;ba.Factory.addGetterSetter(Y1.Node,"embossStrength",.5,(0,_B.getNumberValidator)(),ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossWhiteLevel",.5,(0,_B.getNumberValidator)(),ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossDirection","top-left",null,ba.Factory.afterSetFilter);ba.Factory.addGetterSetter(Y1.Node,"embossBlend",!1,null,ba.Factory.afterSetFilter);var X1={};Object.defineProperty(X1,"__esModule",{value:!0});X1.Enhance=void 0;const nA=Ie,swe=At,awe=fe;function k_(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const lwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,C;for(_=0;_g?y:g;var b=s,_=o,w,x,C=n.polarRotation||0,k,P;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function xwe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};ib.Pixelate=Rwe;sA.Factory.addGetterSetter(Awe.Node,"pixelSize",8,(0,Owe.getNumberValidator)(),sA.Factory.afterSetFilter);var ob={};Object.defineProperty(ob,"__esModule",{value:!0});ob.Posterize=void 0;const aA=Ie,Iwe=At,Mwe=fe,Nwe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});u0.Factory.addGetterSetter(q3.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});u0.Factory.addGetterSetter(q3.Node,"blue",0,Dwe.RGBComponent,u0.Factory.afterSetFilter);var ab={};Object.defineProperty(ab,"__esModule",{value:!0});ab.RGBA=void 0;const Oh=Ie,lb=At,$we=fe,Fwe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Oh.Factory.addGetterSetter(lb.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Oh.Factory.addGetterSetter(lb.Node,"blue",0,$we.RGBComponent,Oh.Factory.afterSetFilter);Oh.Factory.addGetterSetter(lb.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var ub={};Object.defineProperty(ub,"__esModule",{value:!0});ub.Sepia=void 0;const Bwe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};cb.Solarize=jwe;var db={};Object.defineProperty(db,"__esModule",{value:!0});db.Threshold=void 0;const lA=Ie,Vwe=At,zwe=fe,Uwe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new Nd.Stage({container:o,width:r,height:i}),a=new Nd.Layer,l=new Nd.Layer;return a.add(new Nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new Nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},Axe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),dA=async(e,t)=>{const n=e.toDataURL(t);return await Axe(n,t.width,t.height)},Oxe=Se.child({namespace:"getCanvasDataURLs"}),Rxe=async e=>{const t=b1(),n=B1e();if(!t||!n){Oxe.error("Unable to find canvas / stage");return}const{layerState:{objects:r},boundingBoxCoordinates:i,boundingBoxDimensions:o,isMaskEnabled:s,shouldPreserveMaskedArea:a}=e.canvas,l={...i,...o},u=t.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await o0(u,d),h=await dA(u,d),p=await kxe(s?r.filter(QD):[],l,a),m=await o0(p,l),S=await dA(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},Ixe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=Ixe(e.data),i=Mxe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},CB=me("nodes/textToImageGraphBuilt"),TB=me("nodes/imageToImageGraphBuilt"),EB=me("nodes/canvasGraphBuilt"),PB=me("nodes/nodesGraphBuilt"),Dxe=Hi(CB,TB,EB,PB),Lxe=e=>t7(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Lt="positive_conditioning",Wt="negative_conditioning",_n="text_to_latents",Bn="latents_to_image",Nt="noise",eo="rand_int",Wo="range_of_size",_r="iterate",wt="main_model_loader",Dd="vae_loader",$xe="lora_loader",ft="clip_skip",dr="image_to_latents",tn="latents_to_latents",lo="resize_image",Rs="inpaint",Mg="control_net_collect",A_="dynamic_prompt",fn="metadata_accumulator",fA="esrgan",W3="text_to_image_graph",c0="image_to_image_graph",kB="inpaint_graph",fb=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Lxe(i),s=t.nodes[fn];if(r&&o.length&&o.length){const a={id:Mg,type:"collect",is_intermediate:!0};t.nodes[Mg]=a,t.edges.push({source:{node_id:Mg,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=o5(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Mg,field:"item"}})})}},hb=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[fn];if(a){gZ(t.nodes[Lt],"prompt");const c={id:A_,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:_r,type:"iterate",is_intermediate:!0};if(t.nodes[A_]=c,t.nodes[_r]=d,t.edges.push({source:{node_id:A_,field:"prompt_collection"},destination:{node_id:_r,field:"collection"}},{source:{node_id:_r,field:"item"},destination:{node_id:Lt,field:"prompt"}}),u&&t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:fn,field:"positive_prompt"}}),o){const f={id:eo,type:"rand_int",is_intermediate:!0};t.nodes[eo]=f,t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Nt,field:"seed"}}),u&&t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:fn,field:"seed"}})}else t.nodes[Nt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Wo,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:_r,type:"iterate",is_intermediate:!0};if(t.nodes[_r]=d,t.nodes[Wo]=c,t.edges.push({source:{node_id:Wo,field:"collection"},destination:{node_id:_r,field:"collection"}}),t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:Nt,field:"seed"}}),u&&t.edges.push({source:{node_id:_r,field:"item"},destination:{node_id:fn,field:"seed"}}),o){const f={id:eo,type:"rand_int",is_intermediate:!0};t.nodes[eo]=f,t.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Wo,field:"start"}})}else c.start=i}},Pp=(e,t,n)=>{const{loras:r}=e.lora,i=c7(r),o=t.nodes[fn];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===wt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===ft&&["clip"].includes(l.source.field))));let s="",a=0;bc(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${$xe}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:wt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:ft,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Lt,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Wt,field:"clip"}})),s=f,a+=1})},kp=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[fn];r||(t.nodes[Dd]={type:"vae_loader",id:Dd,is_intermediate:!0,vae_model:n}),(t.id===W3||t.id===c0)&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:Bn,field:"vae"}}),t.id===c0&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:dr,field:"vae"}}),t.id===kB&&t.edges.push({source:{node_id:r?wt:Dd,field:"vae"},destination:{node_id:Rs,field:"vae"}}),n&&i&&(i.vae=n)},Fxe=Se.child({namespace:"nodes"}),Bxe=(e,t)=>{const{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,img2imgStrength:l,clipSkip:u,shouldUseCpuNoise:c,shouldUseNoiseSettings:d}=e.generation,{width:f,height:h}=e.canvas.boundingBoxDimensions,{shouldAutoSave:p}=e.canvas;if(!i)throw Fxe.error("No model found in state"),new Error("No model found in state");const m=d?c:Nl.shouldUseCpuNoise,S={id:c0,nodes:{[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:n},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:r},[Nt]:{type:"noise",id:Nt,is_intermediate:!0,use_cpu:m},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:i},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:u},[Bn]:{is_intermediate:!p,type:"l2i",id:Bn},[tn]:{type:"l2l",id:tn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a,strength:l},[dr]:{type:"i2l",id:dr,is_intermediate:!0}},edges:[{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:tn,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:dr,field:"latents"},destination:{node_id:tn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:tn,field:"noise"}},{source:{node_id:wt,field:"unet"},destination:{node_id:tn,field:"unet"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:tn,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:tn,field:"positive_conditioning"}}]};if(t.width!==f||t.height!==h){const v={id:lo,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:f,height:h};S.nodes[lo]=v,S.edges.push({source:{node_id:lo,field:"image"},destination:{node_id:dr,field:"image"}}),S.edges.push({source:{node_id:lo,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:lo,field:"height"},destination:{node_id:Nt,field:"height"}})}else S.nodes[dr].image={image_name:t.image_name},S.edges.push({source:{node_id:dr,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:dr,field:"height"},destination:{node_id:Nt,field:"height"}});return S.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:h,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:u,strength:l,init_image:t.image_name},S.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,S,tn),kp(e,S),hb(e,S),fb(e,S,tn),S},jxe=Se.child({namespace:"nodes"}),Vxe=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,shouldFitToWidthHeight:c,iterations:d,seed:f,shouldRandomizeSeed:h,seamSize:p,seamBlur:m,seamSteps:S,seamStrength:v,tileSize:y,infillMethod:g,clipSkip:b}=e.generation;if(!o)throw jxe.error("No model found in state"),new Error("No model found in state");const{width:_,height:w}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:x,boundingBoxScaleMethod:C,shouldAutoSave:k}=e.canvas,P={id:kB,nodes:{[Rs]:{is_intermediate:!k,type:"inpaint",id:Rs,steps:l,width:_,height:w,cfg_scale:s,scheduler:a,image:{image_name:t.image_name},strength:u,fit:c,mask:{image_name:n.image_name},seam_size:p,seam_blur:m,seam_strength:v,seam_steps:S,tile_size:g==="tile"?y:void 0,infill_method:g,inpaint_width:C!=="none"?x.width:void 0,inpaint_height:C!=="none"?x.height:void 0},[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:r},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:i},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:o},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:b},[Wo]:{type:"range_of_size",id:Wo,is_intermediate:!0,size:d,step:1},[_r]:{type:"iterate",id:_r,is_intermediate:!0}},edges:[{source:{node_id:wt,field:"unet"},destination:{node_id:Rs,field:"unet"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:Rs,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:Rs,field:"positive_conditioning"}},{source:{node_id:Wo,field:"collection"},destination:{node_id:_r,field:"collection"}},{source:{node_id:_r,field:"item"},destination:{node_id:Rs,field:"seed"}}]};if(Pp(e,P,Rs),kp(e,P),h){const A={id:eo,type:"rand_int"};P.nodes[eo]=A,P.edges.push({source:{node_id:eo,field:"a"},destination:{node_id:Wo,field:"start"}})}else P.nodes[Wo].start=f;return P},zxe=Se.child({namespace:"nodes"}),Uxe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,clipSkip:a,shouldUseCpuNoise:l,shouldUseNoiseSettings:u}=e.generation,{width:c,height:d}=e.canvas.boundingBoxDimensions,{shouldAutoSave:f}=e.canvas;if(!r)throw zxe.error("No model found in state"),new Error("No model found in state");const h=u?l:Nl.shouldUseCpuNoise,p={id:W3,nodes:{[Lt]:{type:"compel",id:Lt,is_intermediate:!0,prompt:t},[Wt]:{type:"compel",id:Wt,is_intermediate:!0,prompt:n},[Nt]:{type:"noise",id:Nt,is_intermediate:!0,width:c,height:d,use_cpu:h},[_n]:{type:"t2l",id:_n,is_intermediate:!0,cfg_scale:i,scheduler:o,steps:s},[wt]:{type:"main_model_loader",id:wt,is_intermediate:!0,model:r},[ft]:{type:"clip_skip",id:ft,is_intermediate:!0,skipped_layers:a},[Bn]:{type:"l2i",id:Bn,is_intermediate:!f}},edges:[{source:{node_id:Wt,field:"conditioning"},destination:{node_id:_n,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:_n,field:"positive_conditioning"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:wt,field:"unet"},destination:{node_id:_n,field:"unet"}},{source:{node_id:_n,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:_n,field:"noise"}}]};return p.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:i,height:d,width:c,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:h?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:a},p.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,p,_n),kp(e,p),hb(e,p),fb(e,p,_n),p};Se.child({namespace:"nodes"});const Gxe=(e,t,n,r)=>{let i;if(t==="txt2img")i=Uxe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=Bxe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=Vxe(e,n,r)}return i},O_=Se.child({namespace:"invoke"}),Hxe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=await Rxe(i);if(!o){O_.error("Unable to create canvas data");return}const{baseBlob:s,baseImageData:a,maskBlob:l,maskImageData:u}=o,c=Nxe(a,u);if(i.system.enableImageDebugging){const v=await Ok(s),y=await Ok(l);ASe([{base64:y,caption:"mask b64"},{base64:v,caption:"image b64"}])}O_.debug(`Generation mode: ${c}`);let d,f;["img2img","inpaint","outpaint"].includes(c)&&(d=await n(ye.endpoints.uploadImage.initiate({file:new File([s],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(c)&&(f=await n(ye.endpoints.uploadImage.initiate({file:new File([l],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const h=Gxe(i,c,d,f);O_.debug({graph:h},"Canvas graph built"),n(EB(h));const{requestId:p}=n(Un({graph:h})),[m]=await r(v=>Un.fulfilled.match(v)&&v.meta.requestId===p),S=m.payload.id;["img2img","inpaint"].includes(c)&&d&&n(ye.endpoints.changeImageSessionId.initiate({imageDTO:d,session_id:S})),["inpaint"].includes(c)&&f&&n(ye.endpoints.changeImageSessionId.initiate({imageDTO:f,session_id:S})),i.canvas.layerState.stagingArea.boundingBox||n(ehe({sessionId:S,boundingBox:{...i.canvas.boundingBoxCoordinates,...i.canvas.boundingBoxDimensions}})),n(the(S)),n(Ll())}})},hA=Se.child({namespace:"nodes"}),qxe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,initialImage:a,img2imgStrength:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p}=e.generation;if(!a)throw hA.error("No initial image found in state"),new Error("No initial image found in state");if(!r)throw hA.error("No model found in state"),new Error("No model found in state");const m=p?h:Nl.shouldUseCpuNoise,S={id:c0,nodes:{[wt]:{type:"main_model_loader",id:wt,model:r},[ft]:{type:"clip_skip",id:ft,skipped_layers:f},[Lt]:{type:"compel",id:Lt,prompt:t},[Wt]:{type:"compel",id:Wt,prompt:n},[Nt]:{type:"noise",id:Nt,use_cpu:m},[Bn]:{type:"l2i",id:Bn},[tn]:{type:"l2l",id:tn,cfg_scale:i,scheduler:o,steps:s,strength:l},[dr]:{type:"i2l",id:dr}},edges:[{source:{node_id:wt,field:"unet"},destination:{node_id:tn,field:"unet"}},{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:tn,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:dr,field:"latents"},destination:{node_id:tn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:tn,field:"noise"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:tn,field:"negative_conditioning"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:tn,field:"positive_conditioning"}}]};if(u&&(a.width!==c||a.height!==d)){const v={id:lo,type:"img_resize",image:{image_name:a.imageName},is_intermediate:!0,width:c,height:d};S.nodes[lo]=v,S.edges.push({source:{node_id:lo,field:"image"},destination:{node_id:dr,field:"image"}}),S.edges.push({source:{node_id:lo,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:lo,field:"height"},destination:{node_id:Nt,field:"height"}})}else S.nodes[dr].image={image_name:a.imageName},S.edges.push({source:{node_id:dr,field:"width"},destination:{node_id:Nt,field:"width"}}),S.edges.push({source:{node_id:dr,field:"height"},destination:{node_id:Nt,field:"height"}});return S.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:i,height:d,width:c,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:m?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:l,init_image:a.imageName},S.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,S,tn),kp(e,S),hb(e,S),fb(e,S,tn),S},Wxe=Se.child({namespace:"invoke"}),Kxe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=qxe(i);n(TB(o)),Wxe.debug({data:o},"Image to Image graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})};let Ng;const Yxe=new Uint8Array(16);function Xxe(){if(!Ng&&(Ng=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ng))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ng(Yxe)}const In=[];for(let e=0;e<256;++e)In.push((e+256).toString(16).slice(1));function Qxe(e,t=0){return(In[e[t+0]]+In[e[t+1]]+In[e[t+2]]+In[e[t+3]]+"-"+In[e[t+4]]+In[e[t+5]]+"-"+In[e[t+6]]+In[e[t+7]]+"-"+In[e[t+8]]+In[e[t+9]]+"-"+In[e[t+10]]+In[e[t+11]]+In[e[t+12]]+In[e[t+13]]+In[e[t+14]]+In[e[t+15]]).toLowerCase()}const Zxe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pA={randomUUID:Zxe};function Jxe(e,t,n){if(pA.randomUUID&&!t&&!e)return pA.randomUUID();e=e||{};const r=e.random||(e.rng||Xxe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Qxe(r)}const eCe=e=>{if(e.type==="color"&&e.value){const t=Yn(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},tCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l,u)=>{const{id:c,data:d}=l,{type:f,inputs:h}=d,p=vv(h,(S,v,y)=>{const g=eCe(v);return S[y]=g,S},{}),m={type:f,id:c,...p};return Object.assign(a,{[c]:m}),a},{}),o=n.reduce((a,l,u)=>{const{source:c,target:d,sourceHandle:f,targetHandle:h}=l;return a.push({source:{node_id:c,field:f},destination:{node_id:d,field:h}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=o5(l,u)}),{id:Jxe(),nodes:i,edges:o}},nCe=Se.child({namespace:"invoke"}),rCe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=tCe(i);n(PB(o)),nCe.debug({data:o},"Nodes graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})},iCe=Se.child({namespace:"nodes"}),oCe=e=>{const{positivePrompt:t,negativePrompt:n,model:r,cfgScale:i,scheduler:o,steps:s,width:a,height:l,clipSkip:u,shouldUseCpuNoise:c,shouldUseNoiseSettings:d}=e.generation,f=d?c:Nl.shouldUseCpuNoise;if(!r)throw iCe.error("No model found in state"),new Error("No model found in state");const h={id:W3,nodes:{[wt]:{type:"main_model_loader",id:wt,model:r},[ft]:{type:"clip_skip",id:ft,skipped_layers:u},[Lt]:{type:"compel",id:Lt,prompt:t},[Wt]:{type:"compel",id:Wt,prompt:n},[Nt]:{type:"noise",id:Nt,width:a,height:l,use_cpu:f},[_n]:{type:"t2l",id:_n,cfg_scale:i,scheduler:o,steps:s},[Bn]:{type:"l2i",id:Bn}},edges:[{source:{node_id:wt,field:"clip"},destination:{node_id:ft,field:"clip"}},{source:{node_id:wt,field:"unet"},destination:{node_id:_n,field:"unet"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Lt,field:"clip"}},{source:{node_id:ft,field:"clip"},destination:{node_id:Wt,field:"clip"}},{source:{node_id:Lt,field:"conditioning"},destination:{node_id:_n,field:"positive_conditioning"}},{source:{node_id:Wt,field:"conditioning"},destination:{node_id:_n,field:"negative_conditioning"}},{source:{node_id:_n,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:Nt,field:"noise"},destination:{node_id:_n,field:"noise"}}]};return h.nodes[fn]={id:fn,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:i,height:l,width:a,positive_prompt:"",negative_prompt:n,model:r,seed:0,steps:s,rand_device:f?"cpu":"cuda",scheduler:o,vae:void 0,controlnets:[],loras:[],clip_skip:u},h.edges.push({source:{node_id:fn,field:"metadata"},destination:{node_id:Bn,field:"metadata"}}),Pp(e,h,_n),kp(e,h),hb(e,h),fb(e,h,_n),h},sCe=Se.child({namespace:"invoke"}),aCe=()=>{pe({predicate:e=>_p.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=t(),o=oCe(i);n(CB(o)),sCe.debug({data:o},"Text to Image graph built"),n(Un({graph:o})),await r(Un.fulfilled.match),n(Ll())}})},lCe=Se.child({namespace:"socketio"}),uCe=()=>{pe({actionCreator:FL,effect:(e,{dispatch:t,getState:n})=>{const{model_name:r,model_type:i,submodel:o}=e.payload.data;let s=`${i} model: ${r}`;o&&(s=s.concat(`, submodel: ${o}`)),lCe.debug(e.payload,`Model load started (${s})`),t(ppe(e.payload))}})},cCe=Se.child({namespace:"socketio"}),dCe=()=>{pe({actionCreator:BL,effect:(e,{dispatch:t,getState:n})=>{const{model_name:r,model_type:i,submodel:o}=e.payload.data;let s=`${i} model: ${r}`;o&&(s=s.concat(`, submodel: ${o}`)),cCe.debug(e.payload,`Model load completed (${s})`),t(gpe(e.payload))}})},fCe=({image_name:e,esrganModelName:t})=>{const n={id:fA,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[fA]:n},edges:[]}};Se.child({namespace:"upscale"});const hCe=me("upscale/upscaleRequested"),pCe=()=>{pe({actionCreator:hCe,effect:async(e,{dispatch:t,getState:n,take:r,unsubscribe:i,subscribe:o})=>{const{image_name:s}=e.payload,{esrganModelName:a}=n().postprocessing,l=fCe({image_name:s,esrganModelName:a});t(Un({graph:l})),await r(Un.fulfilled.match),t(Ll())}})};me("app/appStarted");const gCe=()=>{pe({matcher:ye.endpoints.listImages.matchFulfilled,effect:async(e,{getState:t,dispatch:n,unsubscribe:r,cancelActiveListeners:i})=>{if(e.meta.arg.queryCacheKey!==Ai({board_id:"none",categories:Mi}))return;i(),r();const o=e.payload;o.ids.length>0&&n(ra(o.ids[0]))}})},AB=uI(),pe=AB.startListening;hbe();pbe();ybe();ibe();obe();sbe();abe();M1e();fbe();Hxe();rCe();aCe();Kxe();cSe();X1e();q1e();U1e();K1e();kSe();k1e();gSe();ySe();SSe();wSe();xSe();fSe();pSe();TSe();PSe();uCe();dCe();rSe();iSe();oSe();sSe();aSe();lSe();eSe();tSe();nSe();ebe();J1e();tbe();nbe();cbe();dbe();I1e();Kbe();ube();bbe();R1e();_be();A1e();gCe();pCe();const eke=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],mCe="@@invokeai-",yCe=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],vCe=["pendingControlImages"],bCe=["selection","entities","ids","isLoading","limit","offset","selectedBoardId","galleryView","total","isInitialized"],SCe=["schema","invocationTemplates"],_Ce=[],wCe=[],xCe=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],CCe=["shouldShowImageDetails"],TCe={canvas:yCe,gallery:bCe,generation:_Ce,nodes:SCe,postprocessing:wCe,system:xCe,ui:CCe,controlNet:vCe},ECe=(e,t)=>{const n=o5(e,TCe[t]);return JSON.stringify(n)},PCe={canvas:ZD,gallery:dL,generation:Nl,nodes:bF,postprocessing:wF,system:EF,config:h7,ui:_D,hotkeys:nD,controlNet:Uw},kCe=(e,t)=>EQ(JSON.parse(e),PCe[t]),ACe=e=>{if(Dxe(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ph.fulfilled.match(e)?{...e,payload:""}:k3.match(e)?{...e,payload:""}:e},OCe=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],RCe=e=>e,ICe={canvas:nhe,gallery:npe,generation:_ce,nodes:t1e,postprocessing:n1e,system:T1e,config:bZ,ui:Ece,hotkeys:zle,controlNet:bpe,boards:xpe,dynamicPrompts:_pe,imageDeletion:Epe,lora:Ape,modelmanager:P1e,[ya.reducerPath]:ya.reducer},MCe=Vc(ICe),NCe=FH(MCe),DCe=["canvas","gallery","generation","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],LCe=UR({reducer:NCe,enhancers:e=>e.concat(BH(window.localStorage,DCe,{persistDebounce:300,serialize:ECe,unserialize:kCe,prefix:mCe})).concat(dI()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(ya.middleware).concat(yH).prepend(AB.middleware),devTools:{actionSanitizer:ACe,stateSanitizer:RCe,trace:!0,predicate:(e,t)=>!OCe.includes(t.type)}}),tke=e=>e,$Ce=""+new URL("logo-13003d72.png",import.meta.url).href,FCe=()=>j.jsxs(z5,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[j.jsx(B5,{src:$Ce,w:"8rem",h:"8rem"}),j.jsx(Nv,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),BCe=E.memo(FCe);function yx(e){"@babel/helpers - typeof";return yx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yx(e)}var OB=[],jCe=OB.forEach,VCe=OB.slice;function vx(e){return jCe.call(VCe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function RB(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":yx(XMLHttpRequest))==="object"}function zCe(e){return!!e&&typeof e.then=="function"}function UCe(e){return zCe(e)?e:Promise.resolve(e)}function GCe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bx={exports:{}},Dg={exports:{}},gA;function HCe(){return gA||(gA=1,function(e,t){var n=typeof self<"u"?self:De,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(T){return T&&DataView.prototype.isPrototypeOf(T)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(T){return T&&u.indexOf(Object.prototype.toString.call(T))>-1};function d(T){if(typeof T!="string"&&(T=String(T)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(T))throw new TypeError("Invalid character in header field name");return T.toLowerCase()}function f(T){return typeof T!="string"&&(T=String(T)),T}function h(T){var O={next:function(){var I=T.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(T){this.map={},T instanceof p?T.forEach(function(O,I){this.append(I,O)},this):Array.isArray(T)?T.forEach(function(O){this.append(O[0],O[1])},this):T&&Object.getOwnPropertyNames(T).forEach(function(O){this.append(O,T[O])},this)}p.prototype.append=function(T,O){T=d(T),O=f(O);var I=this.map[T];this.map[T]=I?I+", "+O:O},p.prototype.delete=function(T){delete this.map[d(T)]},p.prototype.get=function(T){return T=d(T),this.has(T)?this.map[T]:null},p.prototype.has=function(T){return this.map.hasOwnProperty(d(T))},p.prototype.set=function(T,O){this.map[d(T)]=f(O)},p.prototype.forEach=function(T,O){for(var I in this.map)this.map.hasOwnProperty(I)&&T.call(O,this.map[I],I,this)},p.prototype.keys=function(){var T=[];return this.forEach(function(O,I){T.push(I)}),h(T)},p.prototype.values=function(){var T=[];return this.forEach(function(O){T.push(O)}),h(T)},p.prototype.entries=function(){var T=[];return this.forEach(function(O,I){T.push([I,O])}),h(T)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(T){if(T.bodyUsed)return Promise.reject(new TypeError("Already read"));T.bodyUsed=!0}function S(T){return new Promise(function(O,I){T.onload=function(){O(T.result)},T.onerror=function(){I(T.error)}})}function v(T){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(T),I}function y(T){var O=new FileReader,I=S(O);return O.readAsText(T),I}function g(T){for(var O=new Uint8Array(T),I=new Array(O.length),M=0;M-1?O:T}function C(T,O){O=O||{};var I=O.body;if(T instanceof C){if(T.bodyUsed)throw new TypeError("Already read");this.url=T.url,this.credentials=T.credentials,O.headers||(this.headers=new p(T.headers)),this.method=T.method,this.mode=T.mode,this.signal=T.signal,!I&&T._bodyInit!=null&&(I=T._bodyInit,T.bodyUsed=!0)}else this.url=String(T);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}C.prototype.clone=function(){return new C(this,{body:this._bodyInit})};function k(T){var O=new FormData;return T.trim().split("&").forEach(function(I){if(I){var M=I.split("="),R=M.shift().replace(/\+/g," "),D=M.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function P(T){var O=new p,I=T.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(M){var R=M.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(C.prototype);function A(T,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(T)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var T=new A(null,{status:0,statusText:""});return T.type="error",T};var $=[301,302,303,307,308];A.redirect=function(T,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:T}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var M=Error(O);this.stack=M.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function N(T,O){return new Promise(function(I,M){var R=new C(T,O);if(R.signal&&R.signal.aborted)return M(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var V={status:D.status,statusText:D.statusText,headers:P(D.getAllResponseHeaders()||"")};V.url="responseURL"in D?D.responseURL:V.headers.get("X-Request-URL");var z="response"in D?D.response:D.responseText;I(new A(z,V))},D.onerror=function(){M(new TypeError("Network request failed"))},D.ontimeout=function(){M(new TypeError("Network request failed"))},D.onabort=function(){M(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(V,z){D.setRequestHeader(z,V)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return N.polyfill=!0,o.fetch||(o.fetch=N,o.Headers=p,o.Request=C,o.Response=A),s.Headers=p,s.Request=C,s.Response=A,s.fetch=N,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Dg,Dg.exports)),Dg.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof De<"u"&&De.fetch?n=De.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof GCe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||HCe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(bx,bx.exports);var IB=bx.exports;const MB=Cl(IB),mA=qA({__proto__:null,default:MB},[IB]);function d0(e){"@babel/helpers - typeof";return d0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d0(e)}var is;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?is=global.fetch:typeof window<"u"&&window.fetch?is=window.fetch:is=fetch);var Rh;RB()&&(typeof global<"u"&&global.XMLHttpRequest?Rh=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Rh=window.XMLHttpRequest));var f0;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?f0=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(f0=window.ActiveXObject));!is&&mA&&!Rh&&!f0&&(is=MB||mA);typeof is!="function"&&(is=void 0);var Sx=function(t,n){if(n&&d0(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},yA=function(t,n,r){is(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},vA=!1,qCe=function(t,n,r,i){t.queryStringParams&&(n=Sx(n,t.queryStringParams));var o=vx({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=vx({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},vA?{}:s);try{yA(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),yA(n,a,i),vA=!0}catch(u){i(u)}}},WCe=function(t,n,r,i){r&&d0(r)==="object"&&(r=Sx("",r).slice(1)),t.queryStringParams&&(n=Sx(n,t.queryStringParams));try{var o;Rh?o=new Rh:o=new f0("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},KCe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},is&&n.indexOf("file:")!==0)return qCe(t,n,r,i);if(RB()||typeof ActiveXObject=="function")return WCe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Ih(e){"@babel/helpers - typeof";return Ih=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ih(e)}function YCe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bA(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};YCe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return XCe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=vx(i,this.options||{},JCe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=UCe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();DB.type="backend";nr.use(DB).use(eue).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const Eo=Object.create(null);Eo.open="0";Eo.close="1";Eo.ping="2";Eo.pong="3";Eo.message="4";Eo.upgrade="5";Eo.noop="6";const xm=Object.create(null);Object.keys(Eo).forEach(e=>{xm[Eo[e]]=e});const e5e={type:"error",data:"parser error"},LB=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",$B=typeof ArrayBuffer=="function",FB=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,K3=({type:e,data:t},n,r)=>LB&&t instanceof Blob?n?r(t):SA(t,r):$B&&(t instanceof ArrayBuffer||FB(t))?n?r(t):SA(new Blob([t]),r):r(Eo[e]+(t||"")),SA=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function _A(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let R_;function t5e(e,t){if(LB&&e.data instanceof Blob)return e.data.arrayBuffer().then(_A).then(t);if($B&&(e.data instanceof ArrayBuffer||FB(e.data)))return t(_A(e.data));K3(e,!1,n=>{R_||(R_=new TextEncoder),t(R_.encode(n))})}const wA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Kd=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;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[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},r5e=typeof ArrayBuffer=="function",Y3=(e,t)=>{if(typeof e!="string")return{type:"message",data:BB(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:i5e(e.substring(1),t)}:xm[n]?e.length>1?{type:xm[n],data:e.substring(1)}:{type:xm[n]}:e5e},i5e=(e,t)=>{if(r5e){const n=n5e(e);return BB(n,t)}else return{base64:!0,data:e}},BB=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},jB=String.fromCharCode(30),o5e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{K3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(jB))})})},s5e=(e,t)=>{const n=e.split(jB),r=[];for(let i=0;i54;return Y3(r?e:I_.decode(e),n)}const VB=4;function sn(e){if(e)return l5e(e)}function l5e(e){for(var t in sn.prototype)e[t]=sn.prototype[t];return e}sn.prototype.on=sn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};sn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};sn.prototype.off=sn.prototype.removeListener=sn.prototype.removeAllListeners=sn.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,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function zB(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const u5e=ai.setTimeout,c5e=ai.clearTimeout;function pb(e,t){t.useNativeTimers?(e.setTimeoutFn=u5e.bind(ai),e.clearTimeoutFn=c5e.bind(ai)):(e.setTimeoutFn=ai.setTimeout.bind(ai),e.clearTimeoutFn=ai.clearTimeout.bind(ai))}const d5e=1.33;function f5e(e){return typeof e=="string"?h5e(e):Math.ceil((e.byteLength||e.size)*d5e)}function h5e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function p5e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function g5e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function GB(){const e=TA(+new Date);return e!==CA?(xA=0,CA=e):e+"."+TA(xA++)}for(;Lg<_x;Lg++)y5e[UB[Lg]]=Lg;let HB=!1;try{HB=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const v5e=HB;function qB(e){const t=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!t||v5e))return new XMLHttpRequest}catch{}if(!t)try{return new ai[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}function b5e(){}const S5e=function(){return new qB({xdomain:!1}).responseType!=null}();class _5e extends X3{constructor(t){if(super(t),this.polling=!1,typeof location<"u"){const r=location.protocol==="https:";let i=location.port;i||(i=r?"443":"80"),this.xd=typeof location<"u"&&t.hostname!==location.hostname||i!==t.port}const n=t&&t.forceBase64;this.supportsBinary=S5e&&!n,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(t){this.readyState="pausing";const n=()=>{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)};s5e(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,o5e(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]=GB()),!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 ic(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,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}}let ic=class Cm extends sn{constructor(t,n){super(),pb(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=zB(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new qB(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}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 i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.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(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=Cm.requestsCount++,Cm.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=b5e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Cm.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()}};ic.requestsCount=0;ic.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",EA);else if(typeof addEventListener=="function"){const e="onpagehide"in ai?"pagehide":"unload";addEventListener(e,EA,!1)}}function EA(){for(let e in ic.requests)ic.requests.hasOwnProperty(e)&&ic.requests[e].abort()}const Q3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),$g=ai.WebSocket||ai.MozWebSocket,PA=!0,w5e="arraybuffer",kA=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class x5e extends X3{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=kA?{}:zB(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=PA&&!kA?n?new $g(t,n):new $g(t):new $g(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||w5e,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 s={};try{PA&&this.ws.send(o)}catch{}i&&Q3(()=>{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]=GB()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!$g}}function C5e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class T5e extends X3{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=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(a5e(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{C5e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&Q3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const E5e={websocket:x5e,webtransport:T5e,polling:_5e},P5e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,k5e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function wx(e){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 i=P5e.exec(e||""),o={},s=14;for(;s--;)o[k5e[s]]=i[s]||"";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=A5e(o,o.path),o.queryKey=O5e(o,o.query),o}function A5e(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 O5e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let WB=class mu extends sn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=wx(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=wx(n.host).host),pb(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=g5e(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=VB,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 E5e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&mu.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;mu.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;mu.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 f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",mu.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,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=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),i&&this.once("flush",i),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){mu.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 i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,KB=Object.prototype.toString,N5e=typeof Blob=="function"||typeof Blob<"u"&&KB.call(Blob)==="[object BlobConstructor]",D5e=typeof File=="function"||typeof File<"u"&&KB.call(File)==="[object FileConstructor]";function Z3(e){return I5e&&(e instanceof ArrayBuffer||M5e(e))||N5e&&e instanceof Blob||D5e&&e instanceof File}function Tm(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 s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),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((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(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:He.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 He.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 He.EVENT:case He.BINARY_EVENT:this.onevent(t);break;case He.ACK:case He.BINARY_ACK:this.onack(t);break;case He.DISCONNECT:this.ondisconnect();break;case He.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(...i){r||(r=!0,n.packet({type:He.ACK,id:t,data:i}))}}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:He.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}td.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};td.prototype.reset=function(){this.attempts=0};td.prototype.setMin=function(e){this.ms=e};td.prototype.setMax=function(e){this.max=e};td.prototype.setJitter=function(e){this.jitter=e};class Tx extends sn{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,pb(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 td({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||z5e;this.encoder=new i.Encoder,this.decoder=new i.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 WB(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Pi(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=Pi(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Pi(t,"ping",this.onping.bind(this)),Pi(t,"data",this.ondata.bind(this)),Pi(t,"error",this.onerror.bind(this)),Pi(t,"close",this.onclose.bind(this)),Pi(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){Q3(()=>{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 YB(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(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):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 Ld={};function Em(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=R5e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=Ld[i]&&o in Ld[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new Tx(r,t):(Ld[i]||(Ld[i]=new Tx(r,t)),l=Ld[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Em,{Manager:Tx,Socket:YB,io:Em,connect:Em});var G5e=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,H5e=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g,q5e=/[^-+\dA-Z]/g;function W5e(e,t,n,r){if(arguments.length===1&&typeof e=="string"&&!/\d/.test(e)&&(t=e,e=void 0),e=e||e===0?e:new Date,e instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");t=String(OA[t]||t||OA.default);var i=t.slice(0,4);(i==="UTC:"||i==="GMT:")&&(t=t.slice(4),n=!0,i==="GMT:"&&(r=!0));var o=function(){return n?"getUTC":"get"},s=function(){return e[o()+"Date"]()},a=function(){return e[o()+"Day"]()},l=function(){return e[o()+"Month"]()},u=function(){return e[o()+"FullYear"]()},c=function(){return e[o()+"Hours"]()},d=function(){return e[o()+"Minutes"]()},f=function(){return e[o()+"Seconds"]()},h=function(){return e[o()+"Milliseconds"]()},p=function(){return n?0:e.getTimezoneOffset()},m=function(){return K5e(e)},S=function(){return Y5e(e)},v={d:function(){return s()},dd:function(){return $r(s())},ddd:function(){return Sr.dayNames[a()]},DDD:function(){return RA({y:u(),m:l(),d:s(),_:o(),dayName:Sr.dayNames[a()],short:!0})},dddd:function(){return Sr.dayNames[a()+7]},DDDD:function(){return RA({y:u(),m:l(),d:s(),_:o(),dayName:Sr.dayNames[a()+7]})},m:function(){return l()+1},mm:function(){return $r(l()+1)},mmm:function(){return Sr.monthNames[l()]},mmmm:function(){return Sr.monthNames[l()+12]},yy:function(){return String(u()).slice(2)},yyyy:function(){return $r(u(),4)},h:function(){return c()%12||12},hh:function(){return $r(c()%12||12)},H:function(){return c()},HH:function(){return $r(c())},M:function(){return d()},MM:function(){return $r(d())},s:function(){return f()},ss:function(){return $r(f())},l:function(){return $r(h(),3)},L:function(){return $r(Math.floor(h()/10))},t:function(){return c()<12?Sr.timeNames[0]:Sr.timeNames[1]},tt:function(){return c()<12?Sr.timeNames[2]:Sr.timeNames[3]},T:function(){return c()<12?Sr.timeNames[4]:Sr.timeNames[5]},TT:function(){return c()<12?Sr.timeNames[6]:Sr.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":X5e(e)},o:function(){return(p()>0?"-":"+")+$r(Math.floor(Math.abs(p())/60)*100+Math.abs(p())%60,4)},p:function(){return(p()>0?"-":"+")+$r(Math.floor(Math.abs(p())/60),2)+":"+$r(Math.floor(Math.abs(p())%60),2)},S:function(){return["th","st","nd","rd"][s()%10>3?0:(s()%100-s()%10!=10)*s()%10]},W:function(){return m()},WW:function(){return $r(m())},N:function(){return S()}};return t.replace(G5e,function(y){return y in v?v[y]():y.slice(1,y.length-1)})}var OA={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},Sr={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]},$r=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(n,"0")},RA=function(t){var n=t.y,r=t.m,i=t.d,o=t._,s=t.dayName,a=t.short,l=a===void 0?!1:a,u=new Date,c=new Date;c.setDate(c[o+"Date"]()-1);var d=new Date;d.setDate(d[o+"Date"]()+1);var f=function(){return u[o+"Date"]()},h=function(){return u[o+"Month"]()},p=function(){return u[o+"FullYear"]()},m=function(){return c[o+"Date"]()},S=function(){return c[o+"Month"]()},v=function(){return c[o+"FullYear"]()},y=function(){return d[o+"Date"]()},g=function(){return d[o+"Month"]()},b=function(){return d[o+"FullYear"]()};return p()===n&&h()===r&&f()===i?l?"Tdy":"Today":v()===n&&S()===r&&m()===i?l?"Ysd":"Yesterday":b()===n&&g()===r&&y()===i?l?"Tmw":"Tomorrow":s},K5e=function(t){var n=new Date(t.getFullYear(),t.getMonth(),t.getDate());n.setDate(n.getDate()-(n.getDay()+6)%7+3);var r=new Date(n.getFullYear(),0,4);r.setDate(r.getDate()-(r.getDay()+6)%7+3);var i=n.getTimezoneOffset()-r.getTimezoneOffset();n.setHours(n.getHours()-i);var o=(n-r)/(864e5*7);return 1+Math.floor(o)},Y5e=function(t){var n=t.getDay();return n===0&&(n=7),n},X5e=function(t){return(String(t).match(H5e)||[""]).pop().replace(q5e,"").replace(/GMT\+0000/g,"UTC")};const ri=()=>W5e(new Date,"yyyy-mm-dd'T'HH:MM:ss:lo"),Q5e=e=>{const{socket:t,storeApi:n,log:r}=e,{dispatch:i,getState:o}=n;t.on("connect",()=>{r.debug("Connected"),i(xL({timestamp:ri()}));const{sessionId:s}=o().system;s&&(t.emit("subscribe",{session:s}),i(l3({sessionId:s,timestamp:ri(),boardId:o().gallery.selectedBoardId})))}),t.on("connect_error",s=>{s&&s.message&&s.data==="ERR_UNAUTHENTICATED"&&i(Vt(sa({title:s.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{i(TL({timestamp:ri()}))}),t.on("invocation_started",s=>{i(OL({data:s,timestamp:ri()}))}),t.on("generator_progress",s=>{i(LL({data:s,timestamp:ri()}))}),t.on("invocation_error",s=>{i(ML({data:s,timestamp:ri()}))}),t.on("invocation_complete",s=>{i(u3({data:s,timestamp:ri()}))}),t.on("graph_execution_state_complete",s=>{i(NL({data:s,timestamp:ri()}))}),t.on("model_load_started",s=>{i(FL({data:s,timestamp:ri()}))}),t.on("model_load_completed",s=>{i(BL({data:s,timestamp:ri()}))})},Z5e=Se.child({namespace:"socketio"}),IA=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=yh.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=mh.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Em(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(Q5e({storeApi:o,socket:r,log:Z5e}),e=!0,r.connect()),Un.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(kL({sessionId:d,timestamp:ri()}))),r.emit("subscribe",{session:c}),l(l3({sessionId:c,timestamp:ri(),boardId:u().gallery.selectedBoardId}))}s(a)}},gb=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function nd(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function e4(e){return"nodeType"in e}function vr(e){var t,n;return e?nd(e)?e:e4(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function t4(e){const{Document:t}=vr(e);return e instanceof t}function Ap(e){return nd(e)?!1:e instanceof vr(e).HTMLElement}function J5e(e){return e instanceof vr(e).SVGElement}function rd(e){return e?nd(e)?e.document:e4(e)?t4(e)?e:Ap(e)?e.ownerDocument:document:document:document}const Po=gb?E.useLayoutEffect:E.useEffect;function mb(e){const t=E.useRef(e);return Po(()=>{t.current=e}),E.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=E.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Mh(e,t){t===void 0&&(t=[e]);const n=E.useRef(e);return Po(()=>{n.current!==e&&(n.current=e)},t),n}function Op(e,t){const n=E.useRef();return E.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function h0(e){const t=mb(e),n=E.useRef(null),r=E.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function p0(e){const t=E.useRef();return E.useEffect(()=>{t.current=e},[e]),t.current}let M_={};function yb(e,t){return E.useMemo(()=>{if(t)return t;const n=M_[e]==null?0:M_[e]+1;return M_[e]=n,e+"-"+n},[e,t])}function XB(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const oc=XB(1),g0=XB(-1);function t3e(e){return"clientX"in e&&"clientY"in e}function n4(e){if(!e)return!1;const{KeyboardEvent:t}=vr(e.target);return t&&e instanceof t}function n3e(e){if(!e)return!1;const{TouchEvent:t}=vr(e.target);return t&&e instanceof t}function Nh(e){if(n3e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return t3e(e)?{x:e.clientX,y:e.clientY}:null}const Dh=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Dh.Translate.toString(e),Dh.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),MA="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function r3e(e){return e.matches(MA)?e:e.querySelector(MA)}const i3e={display:"none"};function o3e(e){let{id:t,value:n}=e;return ze.createElement("div",{id:t,style:i3e},n)}const s3e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function a3e(e){let{id:t,announcement:n}=e;return ze.createElement("div",{id:t,style:s3e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function l3e(){const[e,t]=E.useState("");return{announce:E.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const QB=E.createContext(null);function u3e(e){const t=E.useContext(QB);E.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function c3e(){const[e]=E.useState(()=>new Set),t=E.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[E.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const d3e={draggable:` - To pick up a draggable item, press the space bar. - While dragging, use the arrow keys to move the item. - Press space again to drop the item in its new position, or press escape to cancel. - `},f3e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function h3e(e){let{announcements:t=f3e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=d3e}=e;const{announce:o,announcement:s}=l3e(),a=yb("DndLiveRegion"),[l,u]=E.useState(!1);if(E.useEffect(()=>{u(!0)},[]),u3e(E.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=ze.createElement(ze.Fragment,null,ze.createElement(o3e,{id:r,value:i.draggable}),ze.createElement(a3e,{id:a,announcement:s}));return n?li.createPortal(c,n):c}var cn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(cn||(cn={}));function m0(){}function NA(e,t){return E.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function p3e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Gi=Object.freeze({x:0,y:0});function g3e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function m3e(e,t){const n=Nh(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function y3e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function v3e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function b3e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function S3e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function _3e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=_3e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(v3e)};function x3e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const C3e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&x3e(r,a)){const u=b3e(a).reduce((d,f)=>d+g3e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(y3e)};function T3e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ZB(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Gi}function E3e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const P3e=E3e(1);function JB(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function k3e(e,t,n){const r=JB(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const A3e={ignoreTransform:!1};function Rp(e,t){t===void 0&&(t=A3e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=vr(e).getComputedStyle(e);u&&(n=k3e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function DA(e){return Rp(e,{ignoreTransform:!0})}function O3e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function R3e(e,t){return t===void 0&&(t=vr(e).getComputedStyle(e)),t.position==="fixed"}function I3e(e,t){t===void 0&&(t=vr(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function r4(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(t4(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Ap(i)||J5e(i)||n.includes(i))return n;const o=vr(e).getComputedStyle(i);return i!==e&&I3e(i,o)&&n.push(i),R3e(i,o)?n:r(i.parentNode)}return e?r(e):n}function ej(e){const[t]=r4(e,1);return t??null}function N_(e){return!gb||!e?null:nd(e)?e:e4(e)?t4(e)||e===rd(e).scrollingElement?window:Ap(e)?e:null:null}function tj(e){return nd(e)?e.scrollX:e.scrollLeft}function nj(e){return nd(e)?e.scrollY:e.scrollTop}function Ex(e){return{x:tj(e),y:nj(e)}}var xn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(xn||(xn={}));function rj(e){return!gb||!e?!1:e===document.scrollingElement}function ij(e){const t={x:0,y:0},n=rj(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const M3e={x:.2,y:.2};function N3e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=M3e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=ij(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=xn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=xn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=xn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=xn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function D3e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function oj(e){return e.reduce((t,n)=>oc(t,Ex(n)),Gi)}function L3e(e){return e.reduce((t,n)=>t+tj(n),0)}function $3e(e){return e.reduce((t,n)=>t+nj(n),0)}function sj(e,t){if(t===void 0&&(t=Rp),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);ej(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const F3e=[["x",["left","right"],L3e],["y",["top","bottom"],$3e]];class i4{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=r4(n),i=oj(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of F3e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class mf{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function B3e(e){const{EventTarget:t}=vr(e);return e instanceof t?e:rd(e)}function D_(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var ii;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(ii||(ii={}));function LA(e){e.preventDefault()}function j3e(e){e.stopPropagation()}var gt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(gt||(gt={}));const aj={start:[gt.Space,gt.Enter],cancel:[gt.Esc],end:[gt.Space,gt.Enter]},V3e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case gt.Right:return{...n,x:n.x+25};case gt.Left:return{...n,x:n.x-25};case gt.Down:return{...n,y:n.y+25};case gt.Up:return{...n,y:n.y-25}}};class lj{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new mf(rd(n)),this.windowListeners=new mf(vr(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ii.Resize,this.handleCancel),this.windowListeners.add(ii.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ii.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&sj(r),n(Gi)}handleKeyDown(t){if(n4(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=aj,coordinateGetter:s=V3e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Gi;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=g0(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=ij(m),x=D3e(m),C={x:Math.min(S===gt.Right?x.right-x.width/2:x.right,Math.max(S===gt.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===gt.Down?x.bottom-x.height/2:x.bottom,Math.max(S===gt.Down?x.top:x.top+x.height/2,d.y))},k=S===gt.Right&&!y||S===gt.Left&&!g,P=S===gt.Down&&!b||S===gt.Up&&!v;if(k&&C.x!==d.x){const A=m.scrollLeft+f.x,$=S===gt.Right&&A<=_.x||S===gt.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===gt.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(P&&C.y!==d.y){const A=m.scrollTop+f.y,$=S===gt.Down&&A<=_.y||S===gt.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===gt.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,oc(g0(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}lj.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=aj,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function $A(e){return!!(e&&"distance"in e)}function FA(e){return!!(e&&"delay"in e)}class o4{constructor(t,n,r){var i;r===void 0&&(r=B3e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=rd(s),this.documentListeners=new mf(this.document),this.listeners=new mf(r),this.windowListeners=new mf(vr(s)),this.initialCoordinates=(i=Nh(o))!=null?i:Gi,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(ii.Resize,this.handleCancel),this.windowListeners.add(ii.DragStart,LA),this.windowListeners.add(ii.VisibilityChange,this.handleCancel),this.windowListeners.add(ii.ContextMenu,LA),this.documentListeners.add(ii.Keydown,this.handleKeydown),n){if($A(n))return;if(FA(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(ii.Click,j3e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ii.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Nh(t))!=null?n:Gi,u=g0(i,l);if(!r&&a){if(FA(a))return D_(u,a.tolerance)?this.handleCancel():void 0;if($A(a))return a.tolerance!=null&&D_(u,a.tolerance)?this.handleCancel():D_(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===gt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const z3e={move:{name:"pointermove"},end:{name:"pointerup"}};class uj extends o4{constructor(t){const{event:n}=t,r=rd(n.target);super(t,z3e,r)}}uj.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const U3e={move:{name:"mousemove"},end:{name:"mouseup"}};var Px;(function(e){e[e.RightClick=2]="RightClick"})(Px||(Px={}));class cj extends o4{constructor(t){super(t,U3e,rd(t.event.target))}}cj.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Px.RightClick?!1:(r==null||r({event:n}),!0)}}];const L_={move:{name:"touchmove"},end:{name:"touchend"}};class dj extends o4{constructor(t){super(t,L_)}static setup(){return window.addEventListener(L_.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(L_.move.name,t)};function t(){}}}dj.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var yf;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(yf||(yf={}));var y0;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(y0||(y0={}));function G3e(e){let{acceleration:t,activator:n=yf.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=y0.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=q3e({delta:d,disabled:!o}),[p,m]=e3e(),S=E.useRef({x:0,y:0}),v=E.useRef({x:0,y:0}),y=E.useMemo(()=>{switch(n){case yf.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case yf.DraggableRect:return i}},[n,i,l]),g=E.useRef(null),b=E.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,C=S.current.y*v.current.y;w.scrollBy(x,C)},[]),_=E.useMemo(()=>a===y0.TreeOrder?[...u].reverse():u,[a,u]);E.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),C=c[x];if(!C)continue;const{direction:k,speed:P}=N3e(w,C,y,t,f);for(const A of["x","y"])h[A][k[A]]||(P[A]=0,k[A]=0);if(P.x>0||P.y>0){m(),g.current=w,p(b,s),S.current=P,v.current=k;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const H3e={x:{[xn.Backward]:!1,[xn.Forward]:!1},y:{[xn.Backward]:!1,[xn.Forward]:!1}};function q3e(e){let{delta:t,disabled:n}=e;const r=p0(t);return Op(i=>{if(n||!r||!i)return H3e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[xn.Backward]:i.x[xn.Backward]||o.x===-1,[xn.Forward]:i.x[xn.Forward]||o.x===1},y:{[xn.Backward]:i.y[xn.Backward]||o.y===-1,[xn.Forward]:i.y[xn.Forward]||o.y===1}}},[n,t,r])}function W3e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return Op(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function K3e(e,t){return E.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Lh;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Lh||(Lh={}));var kx;(function(e){e.Optimized="optimized"})(kx||(kx={}));const BA=new Map;function Y3e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=E.useState(null),{frequency:a,measure:l,strategy:u}=i,c=E.useRef(e),d=S(),f=Mh(d),h=E.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=E.useRef(null),m=Op(v=>{if(d&&!n)return BA;if(!v||v===BA||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new i4(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return E.useEffect(()=>{c.current=e},[e]),E.useEffect(()=>{d||h()},[n,d]),E.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),E.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Lh.Always:return!1;case Lh.BeforeDragging:return n;default:return!n}}}function s4(e,t){return Op(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function X3e(e,t){return s4(e,t)}function Q3e(e){let{callback:t,disabled:n}=e;const r=mb(t),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return E.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function vb(e){let{callback:t,disabled:n}=e;const r=mb(t),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return E.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function Z3e(e){return new i4(Rp(e),e)}function jA(e,t,n){t===void 0&&(t=Z3e);const[r,i]=E.useReducer(a,null),o=Q3e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=vb({callback:i});return Po(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function J3e(e){const t=s4(e);return ZB(e,t)}const VA=[];function e4e(e){const t=E.useRef(e),n=Op(r=>e?r&&r!==VA&&e&&t.current&&e.parentNode===t.current.parentNode?r:r4(e):VA,[e]);return E.useEffect(()=>{t.current=e},[e]),n}function t4e(e){const[t,n]=E.useState(null),r=E.useRef(e),i=E.useCallback(o=>{const s=N_(o.target);s&&n(a=>a?(a.set(s,Ex(s)),new Map(a)):null)},[]);return E.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=N_(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,Ex(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=N_(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),E.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>oc(o,s),Gi):oj(e):Gi,[e,t])}function zA(e,t){t===void 0&&(t=[]);const n=E.useRef(null);return E.useEffect(()=>{n.current=null},t),E.useEffect(()=>{const r=e!==Gi;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?g0(e,n.current):Gi}function n4e(e){E.useEffect(()=>{if(!gb)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function r4e(e,t){return E.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function fj(e){return E.useMemo(()=>e?O3e(e):null,[e])}const $_=[];function i4e(e,t){t===void 0&&(t=Rp);const[n]=e,r=fj(n?vr(n):null),[i,o]=E.useReducer(a,$_),s=vb({callback:o});return e.length>0&&i===$_&&o(),Po(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>rj(l)?r:new i4(t(l),l)):$_}}function hj(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Ap(t)?t:e}function o4e(e){let{measure:t}=e;const[n,r]=E.useState(null),i=E.useCallback(u=>{for(const{target:c}of u)if(Ap(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=vb({callback:i}),s=E.useCallback(u=>{const c=hj(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=h0(s);return E.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const s4e=[{sensor:uj,options:{}},{sensor:lj,options:{}}],a4e={current:{}},Pm={draggable:{measure:DA},droppable:{measure:DA,strategy:Lh.WhileDragging,frequency:kx.Optimized},dragOverlay:{measure:Rp}};class vf extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const l4e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new vf,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:m0},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Pm,measureDroppableContainers:m0,windowRect:null,measuringScheduled:!1},pj={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:m0,draggableNodes:new Map,over:null,measureDroppableContainers:m0},Ip=E.createContext(pj),gj=E.createContext(l4e);function u4e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new vf}}}function c4e(e,t){switch(t.type){case cn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case cn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case cn.DragEnd:case cn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case cn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new vf(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case cn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new vf(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case cn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new vf(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function d4e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=E.useContext(Ip),o=p0(r),s=p0(n==null?void 0:n.id);return E.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!n4(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=r3e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function mj(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function f4e(e){return E.useMemo(()=>({draggable:{...Pm.draggable,...e==null?void 0:e.draggable},droppable:{...Pm.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Pm.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function h4e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=E.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;Po(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=ZB(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=ej(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const bb=E.createContext({...Gi,scaleX:1,scaleY:1});var $s;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})($s||($s={}));const p4e=E.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=s4e,collisionDetection:d=w3e,measuring:f,modifiers:h,...p}=t;const m=E.useReducer(c4e,void 0,u4e),[S,v]=m,[y,g]=c3e(),[b,_]=E.useState($s.Uninitialized),w=b===$s.Initialized,{draggable:{active:x,nodes:C,translate:k},droppable:{containers:P}}=S,A=x?C.get(x):null,$=E.useRef({initial:null,translated:null}),N=E.useMemo(()=>{var ct;return x!=null?{id:x,data:(ct=A==null?void 0:A.data)!=null?ct:a4e,rect:$}:null},[x,A]),T=E.useRef(null),[O,I]=E.useState(null),[M,R]=E.useState(null),D=Mh(p,Object.values(p)),L=yb("DndDescribedBy",s),V=E.useMemo(()=>P.getEnabled(),[P]),z=f4e(f),{droppableRects:U,measureDroppableContainers:K,measuringScheduled:W}=Y3e(V,{dragging:w,dependencies:[k.x,k.y],config:z.droppable}),X=W3e(C,x),F=E.useMemo(()=>M?Nh(M):null,[M]),q=No(),Q=X3e(X,z.draggable.measure);h4e({activeNode:x?C.get(x):null,config:q.layoutShiftCompensation,initialRect:Q,measure:z.draggable.measure});const J=jA(X,z.draggable.measure,Q),ne=jA(X?X.parentElement:null),Z=E.useRef({activatorEvent:null,active:null,activeNode:X,collisionRect:null,collisions:null,droppableRects:U,draggableNodes:C,draggingNode:null,draggingNodeRect:null,droppableContainers:P,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ge=P.getNodeFor((n=Z.current.over)==null?void 0:n.id),ae=o4e({measure:z.dragOverlay.measure}),oe=(r=ae.nodeRef.current)!=null?r:X,Te=w?(i=ae.rect)!=null?i:J:null,se=!!(ae.nodeRef.current&&ae.rect),We=J3e(se?null:J),yt=fj(oe?vr(oe):null),Fe=e4e(w?ge??X:null),Be=i4e(Fe),Me=mj(h,{transform:{x:k.x-We.x,y:k.y-We.y,scaleX:1,scaleY:1},activatorEvent:M,active:N,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Te,over:Z.current.over,overlayNodeRect:ae.rect,scrollableAncestors:Fe,scrollableAncestorRects:Be,windowRect:yt}),rt=F?oc(F,k):null,xt=t4e(Fe),mn=zA(xt),an=zA(xt,[J]),Ot=oc(Me,mn),ee=Te?P3e(Te,Me):null,_e=N&&ee?d({active:N,collisionRect:ee,droppableRects:U,droppableContainers:V,pointerCoordinates:rt}):null,Ee=S3e(_e,"id"),[Ne,ie]=E.useState(null),he=se?Me:oc(Me,an),Qt=T3e(he,(o=Ne==null?void 0:Ne.rect)!=null?o:null,J),Rt=E.useCallback((ct,Ke)=>{let{sensor:An,options:yn}=Ke;if(T.current==null)return;const Hn=C.get(T.current);if(!Hn)return;const ir=ct.nativeEvent,br=new An({active:T.current,activeNode:Hn,event:ir,options:yn,context:Z,onStart(or){const On=T.current;if(On==null)return;const Do=C.get(On);if(!Do)return;const{onDragStart:_s}=D.current,ws={active:{id:On,data:Do.data,rect:$}};li.unstable_batchedUpdates(()=>{_s==null||_s(ws),_($s.Initializing),v({type:cn.DragStart,initialCoordinates:or,active:On}),y({type:"onDragStart",event:ws})})},onMove(or){v({type:cn.DragMove,coordinates:or})},onEnd:Ki(cn.DragEnd),onCancel:Ki(cn.DragCancel)});li.unstable_batchedUpdates(()=>{I(br),R(ct.nativeEvent)});function Ki(or){return async function(){const{active:Do,collisions:_s,over:ws,scrollAdjustedTranslate:Hl}=Z.current;let Lo=null;if(Do&&Hl){const{cancelDrop:sr}=D.current;Lo={activatorEvent:ir,active:Do,collisions:_s,delta:Hl,over:ws},or===cn.DragEnd&&typeof sr=="function"&&await Promise.resolve(sr(Lo))&&(or=cn.DragCancel)}T.current=null,li.unstable_batchedUpdates(()=>{v({type:or}),_($s.Uninitialized),ie(null),I(null),R(null);const sr=or===cn.DragEnd?"onDragEnd":"onDragCancel";if(Lo){const Na=D.current[sr];Na==null||Na(Lo),y({type:sr,event:Lo})}})}}},[C]),ut=E.useCallback((ct,Ke)=>(An,yn)=>{const Hn=An.nativeEvent,ir=C.get(yn);if(T.current!==null||!ir||Hn.dndKit||Hn.defaultPrevented)return;const br={active:ir};ct(An,Ke.options,br)===!0&&(Hn.dndKit={capturedBy:Ke.sensor},T.current=yn,Rt(An,Ke))},[C,Rt]),rr=K3e(c,ut);n4e(c),Po(()=>{J&&b===$s.Initializing&&_($s.Initialized)},[J,b]),E.useEffect(()=>{const{onDragMove:ct}=D.current,{active:Ke,activatorEvent:An,collisions:yn,over:Hn}=Z.current;if(!Ke||!An)return;const ir={active:Ke,activatorEvent:An,collisions:yn,delta:{x:Ot.x,y:Ot.y},over:Hn};li.unstable_batchedUpdates(()=>{ct==null||ct(ir),y({type:"onDragMove",event:ir})})},[Ot.x,Ot.y]),E.useEffect(()=>{const{active:ct,activatorEvent:Ke,collisions:An,droppableContainers:yn,scrollAdjustedTranslate:Hn}=Z.current;if(!ct||T.current==null||!Ke||!Hn)return;const{onDragOver:ir}=D.current,br=yn.get(Ee),Ki=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,or={active:ct,activatorEvent:Ke,collisions:An,delta:{x:Hn.x,y:Hn.y},over:Ki};li.unstable_batchedUpdates(()=>{ie(Ki),ir==null||ir(or),y({type:"onDragOver",event:or})})},[Ee]),Po(()=>{Z.current={activatorEvent:M,active:N,activeNode:X,collisionRect:ee,collisions:_e,droppableRects:U,draggableNodes:C,draggingNode:oe,draggingNodeRect:Te,droppableContainers:P,over:Ne,scrollableAncestors:Fe,scrollAdjustedTranslate:Ot},$.current={initial:Te,translated:ee}},[N,X,_e,ee,C,oe,Te,U,P,Ne,Fe,Ot]),G3e({...q,delta:k,draggingRect:ee,pointerCoordinates:rt,scrollableAncestors:Fe,scrollableAncestorRects:Be});const Mo=E.useMemo(()=>({active:N,activeNode:X,activeNodeRect:J,activatorEvent:M,collisions:_e,containerNodeRect:ne,dragOverlay:ae,draggableNodes:C,droppableContainers:P,droppableRects:U,over:Ne,measureDroppableContainers:K,scrollableAncestors:Fe,scrollableAncestorRects:Be,measuringConfiguration:z,measuringScheduled:W,windowRect:yt}),[N,X,J,M,_e,ne,ae,C,P,U,Ne,K,Fe,Be,z,W,yt]),Qr=E.useMemo(()=>({activatorEvent:M,activators:rr,active:N,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:C,over:Ne,measureDroppableContainers:K}),[M,rr,N,J,v,L,C,Ne,K]);return ze.createElement(QB.Provider,{value:g},ze.createElement(Ip.Provider,{value:Qr},ze.createElement(gj.Provider,{value:Mo},ze.createElement(bb.Provider,{value:Qt},u)),ze.createElement(d4e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),ze.createElement(h3e,{...a,hiddenTextDescribedById:L}));function No(){const ct=(O==null?void 0:O.autoScrollEnabled)===!1,Ke=typeof l=="object"?l.enabled===!1:l===!1,An=w&&!ct&&!Ke;return typeof l=="object"?{...l,enabled:An}:{enabled:An}}}),g4e=E.createContext(null),UA="button",m4e="Droppable";function y4e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=yb(m4e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=E.useContext(Ip),{role:h=UA,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=E.useContext(S?bb:g4e),[y,g]=h0(),[b,_]=h0(),w=r4e(s,t),x=Mh(n);Po(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const k=d.get(t);k&&k.key===o&&d.delete(t)}),[d,t]);const C=E.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===UA?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:C,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function v4e(){return E.useContext(gj)}const b4e="Droppable",S4e={timeout:25};function _4e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=yb(b4e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=E.useContext(Ip),c=E.useRef({disabled:n}),d=E.useRef(!1),f=E.useRef(null),h=E.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...S4e,...i},v=Mh(m??r),y=E.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=vb({callback:y,disabled:p||!s}),b=E.useCallback((C,k)=>{g&&(k&&(g.unobserve(k),d.current=!1),C&&g.observe(C))},[g]),[_,w]=h0(b),x=Mh(t);return E.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),Po(()=>(a({type:cn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:cn.UnregisterDroppable,key:o,id:r})),[r]),E.useEffect(()=>{n!==c.current.disabled&&(a({type:cn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function w4e(e){let{animation:t,children:n}=e;const[r,i]=E.useState(null),[o,s]=E.useState(null),a=p0(n);return!n&&!r&&a&&i(a),Po(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),ze.createElement(ze.Fragment,null,n,r?E.cloneElement(r,{ref:s}):null)}const x4e={x:0,y:0,scaleX:1,scaleY:1};function C4e(e){let{children:t}=e;return ze.createElement(Ip.Provider,{value:pj},ze.createElement(bb.Provider,{value:x4e},t))}const T4e={position:"fixed",touchAction:"none"},E4e=e=>n4(e)?"transform 250ms ease":void 0,P4e=E.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=E4e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...T4e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Dh.Transform.toString(d),transformOrigin:i&&r?m3e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return ze.createElement(n,{className:s,style:f,ref:t},o)}),k4e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},A4e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Dh.Transform.toString(t)},{transform:Dh.Transform.toString(n)}]},O4e={duration:250,easing:"ease",keyframes:A4e,sideEffects:k4e({styles:{active:{opacity:"0"}}})};function R4e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return mb((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=hj(s);if(!u)return;const{transform:c}=vr(s).getComputedStyle(s),d=JB(c);if(!d)return;const f=typeof t=="function"?t:I4e(t);return sj(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function I4e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...O4e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let GA=0;function M4e(e){return E.useMemo(()=>{if(e!=null)return GA++,GA},[e])}const N4e=ze.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=v4e(),w=E.useContext(bb),x=M4e(d==null?void 0:d.id),C=mj(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),k=s4(f),P=R4e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=k?S.setRef:void 0;return ze.createElement(C4e,null,ze.createElement(w4e,{animation:P},d&&x?ze.createElement(P4e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:C},n):null))}),D4e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Nh(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},Fg=28,HA={w:Fg,h:Fg,maxW:Fg,maxH:Fg,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},L4e=e=>{if(e.dragData){if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return j.jsx(V5,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:j.jsx(B5,{sx:{...HA},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?j.jsxs(z5,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...HA},children:[j.jsx(xw,{children:e.dragData.payload.image_names.length}),j.jsx(xw,{size:"sm",children:"Images"})]}):null}},$4e=E.memo(L4e);function nke(e){return _4e(e)}function rke(e){return y4e(e)}const ike=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function F4e(e){return j.jsx(p4e,{...e})}const B4e=e=>{const[t,n]=E.useState(null),r=qc(),i=E.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=E.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current),u.active.data.current;const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(DF({overData:c,activeData:t})),n(null))},[t,r]),s=NA(cj,{activationConstraint:{distance:10}}),a=NA(dj,{activationConstraint:{distance:10}}),l=p3e(s,a);return j.jsxs(F4e,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:C3e,children:[e.children,j.jsx(N4e,{dropAnimation:null,modifiers:[D4e],children:j.jsx(L5,{children:t&&j.jsx(D5.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:j.jsx($4e,{dragData:t})},"overlay-drag-image")})})]})},j4e=E.memo(B4e),V4e=E.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),z4e=e=>{const[t,n]=E.useState(),{isOpen:r,onOpen:i,onClose:o}=Cse(),s=qc(),a=E.useCallback(()=>{n(void 0),o()},[o]),l=E.useCallback(c=>{c&&(n(c),i())},[n,i]),u=E.useCallback(c=>{t&&(s(ye.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return j.jsx(V4e.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},U4e=E.lazy(()=>sR(()=>import("./App-06ea4e5e.js"),["./App-06ea4e5e.js","./MantineProvider-b5842fc1.js","./App-6125620a.css"],import.meta.url)),G4e=E.lazy(()=>sR(()=>import("./ThemeLocaleProvider-a6269375.js"),["./ThemeLocaleProvider-a6269375.js","./MantineProvider-b5842fc1.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),H4e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(E.useEffect(()=>(t&&mh.set(t),e&&yh.set(e),fI(),i&&i.length>0?$2(IA(),...i):$2(IA()),()=>{yh.set(void 0),mh.set(void 0)}),[e,t,i]),j.jsx(ze.StrictMode,{children:j.jsx(oG,{store:LCe,children:j.jsx(ze.Suspense,{fallback:j.jsx(BCe,{}),children:j.jsx(G4e,{children:j.jsx(j4e,{children:j.jsx(z4e,{children:j.jsx(U4e,{config:n,headerComponent:r})})})})})})})),q4e=E.memo(H4e);F_.createRoot(document.getElementById("root")).render(j.jsx(q4e,{}));export{hTe as $,ise as A,Dn as B,oTe as C,L5 as D,D5 as E,Ev as F,Ao as G,yTe as H,Ml as I,TN as J,Fn as K,Zf as L,gy as M,Ou as N,aJ as O,sTe as P,am as Q,Yu as R,Wf as S,uo as T,Cl as U,_G as V,ze as W,vse as X,l6 as Y,qee as Z,Zm as _,UC as a,K6 as a$,lse as a0,vTe as a1,Ol as a2,RN as a3,Tse as a4,STe as a5,bTe as a6,Yae as a7,Wae as a8,wv as a9,tr as aA,Oi as aB,c0e as aC,h0e as aD,Dr as aE,ia as aF,Ji as aG,Y6e as aH,F$ as aI,T0e as aJ,tve as aK,Sme as aL,Nc as aM,Vn as aN,wce as aO,n7 as aP,V5 as aQ,z5 as aR,xw as aS,tke as aT,Kc as aU,cy as aV,IEe as aW,h8e as aX,sD as aY,x6e as aZ,Hv as a_,tp as aa,Tie as ab,yN as ac,$n as ad,vo as ae,Dv as af,uTe as ag,tw as ah,iTe as ai,sm as aj,s6 as ak,kle as al,mse as am,a6 as an,ale as ao,Cle as ap,HS as aq,Ql as ar,qS as as,ug as at,lle as au,_Te as av,cp as aw,_i as ax,Kt as ay,nc as az,YC as b,jTe as b$,vPe as b0,li as b1,d5 as b2,Hj as b3,X4e as b4,K4e as b5,Y4e as b6,De as b7,Q5 as b8,bN as b9,C7 as bA,XZ as bB,b4 as bC,T6 as bD,wN as bE,xN as bF,cue as bG,d6e as bH,c6e as bI,Nv as bJ,W4e as bK,IQ as bL,CTe as bM,TTe as bN,qTe as bO,WTe as bP,ATe as bQ,JTe as bR,PTe as bS,BTe as bT,ITe as bU,mbe as bV,kTe as bW,KTe as bX,ETe as bY,iEe as bZ,OTe as b_,Au as ba,o6e as bb,KL as bc,r6e as bd,i6e as be,oue as bf,t6e as bg,lue as bh,qc as bi,z6e as bj,SN as bk,Jxe as bl,nke as bm,ike as bn,_6e as bo,w6e as bp,p6e as bq,e6e as br,Fw as bs,v6e as bt,n6e as bu,B5 as bv,$Ce as bw,CEe as bx,KZ as by,u5 as bz,Uq as c,ye as c$,RTe as c0,VTe as c1,DTe as c2,UTe as c3,gbe as c4,me as c5,V4e as c6,b6e as c7,Tpe as c8,T6e as c9,REe as cA,P8e as cB,g6e as cC,E6e as cD,zL as cE,eL as cF,Vt as cG,Q4e as cH,Z4e as cI,AEe as cJ,C8e as cK,eke as cL,mCe as cM,x8e as cN,k8e as cO,Tce as cP,bEe as cQ,kEe as cR,E8e as cS,Cce as cT,MEe as cU,v8e as cV,bD as cW,gEe as cX,d8e as cY,hCe as cZ,yEe as c_,tL as ca,sPe as cb,xce as cc,Bw as cd,rke as ce,rTe as cf,h6e as cg,l6e as ch,u6e as ci,ra as cj,rbe as ck,m6e as cl,y6e as cm,s6e as cn,Cse as co,Uy as cp,D8e as cq,wEe as cr,Xo as cs,Ppe as ct,g8e as cu,G6e as cv,WL as cw,YL as cx,R8e as cy,nr as cz,PQ as d,GTe as d$,lr as d0,L8e as d1,V6e as d2,F6e as d3,B6e as d4,j6e as d5,q6e as d6,W6e as d7,QL as d8,B8e as d9,k6e as dA,j8e as dB,so as dC,LTe as dD,_p as dE,pEe as dF,oEe as dG,dEe as dH,HTe as dI,fEe as dJ,hEe as dK,uEe as dL,cEe as dM,lEe as dN,aEe as dO,nEe as dP,eEe as dQ,b8e as dR,Dl as dS,_8e as dT,_w as dU,UN as dV,HN as dW,GN as dX,KN as dY,WN as dZ,wTe as d_,bc as da,H6e as db,c7 as dc,xTe as dd,Se as de,NTe as df,F8e as dg,y8 as dh,I6e as di,f3 as dj,ype as dk,gu as dl,v8 as dm,M6e as dn,N6e as dp,IN as dq,D6e as dr,vpe as ds,L6e as dt,VL as du,A6e as dv,R6e as dw,P6e as dx,$6e as dy,Lxe as dz,KI as e,iPe as e$,zv as e0,K8e as e1,sa as e2,$8e as e3,yce as e4,V8e as e5,SD as e6,xD as e7,io as e8,zTe as e9,xR as eA,u8e as eB,n8e as eC,r8e as eD,i8e as eE,a8e as eF,l8e as eG,Ph as eH,o5 as eI,_F as eJ,c8e as eK,Z6e as eL,tCe as eM,X6e as eN,Q6e as eO,e8e as eP,J6e as eQ,t8e as eR,s8e as eS,Zve as eT,yF as eU,UF as eV,hV as eW,Le as eX,TPe as eY,GPe as eZ,UPe as e_,tEe as ea,J4e as eb,yZ as ec,rEe as ed,X8e as ee,H8e as ef,O8e as eg,G8e as eh,Y8e as ei,A8e as ej,W8e as ek,UQ as el,q8e as em,z8e as en,U8e as eo,aF as ep,vv as eq,Q8e as er,Jy as es,ve as et,Z8e as eu,ox as ev,pZ as ew,MTe as ex,eTe as ey,gR as ez,CI as f,D1e as f$,NPe as f0,qPe as f1,B1e as f2,XEe as f3,SPe as f4,Nd as f5,mPe as f6,QEe as f7,b1 as f8,bPe as f9,FEe as fA,BEe as fB,M8e as fC,N8e as fD,gPe as fE,aPe as fF,PPe as fG,MPe as fH,kPe as fI,rPe as fJ,YEe as fK,jPe as fL,BPe as fM,RPe as fN,APe as fO,OPe as fP,QPe as fQ,$Pe as fR,ZPe as fS,pPe as fT,hPe as fU,qEe as fV,HEe as fW,YPe as fX,oPe as fY,$1e as fZ,N1e as f_,WEe as fa,yPe as fb,KEe as fc,ePe as fd,$Ee as fe,LEe as ff,DEe as fg,HPe as fh,QD as fi,mh as fj,zEe as fk,UEe as fl,GEe as fm,zPe as fn,nPe as fo,tPe as fp,Zfe as fq,VPe as fr,F1e as fs,ZEe as ft,lPe as fu,uPe as fv,zd as fw,EPe as fx,CPe as fy,_Pe as fz,SQ as g,L1e as g0,jEe as g1,mEe as g2,I8e as g3,Sce as g4,sEe as g5,VEe as g6,dPe as g7,XPe as g8,YTe as g9,mTe as gA,XTe as ga,QTe as gb,ZTe as gc,fPe as gd,xEe as ge,EEe as gf,TEe as gg,PEe as gh,NEe as gi,vZ as gj,O1e as gk,f8e as gl,nTe as gm,O7 as gn,fTe as go,$ee as gp,cTe as gq,aTe as gr,dTe as gs,co as gt,lTe as gu,tTe as gv,Gee as gw,Iee as gx,dJ as gy,gTe as gz,MI as h,Jn as i,Uc as j,mv as k,En as l,Jh as m,Qh as n,zi as o,Ta as p,TI as q,ko as r,E as s,xS as t,Ze as u,j as v,Si as w,fi as x,Ae as y,Gn as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 802c1f222f..315bad4316 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + diff --git a/invokeai/frontend/web/dist/locales/en.json b/invokeai/frontend/web/dist/locales/en.json index 59cf87fbda..0640ab9ef0 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -102,8 +102,7 @@ "openInNewTab": "Open in New Tab", "dontAskMeAgain": "Don't ask me again", "areYouSure": "Are you sure?", - "imagePrompt": "Image Prompt", - "clearNodes": "Are you sure you want to clear all nodes?" + "imagePrompt": "Image Prompt" }, "gallery": { "generations": "Generations", @@ -615,6 +614,11 @@ "initialImageNotSetDesc": "Could not load initial image", "nodesSaved": "Nodes Saved", "nodesLoaded": "Nodes Loaded", + "nodesNotValidGraph": "Not a valid InvokeAI Node Graph", + "nodesNotValidJSON": "Not a valid JSON", + "nodesCorruptedGraph": "Cannot load. Graph seems to be corrupted.", + "nodesUnrecognizedTypes": "Cannot load. Graph has unrecognized types", + "nodesBrokenConnections": "Cannot load. Some connections are broken.", "nodesLoadedFailed": "Failed To Load Nodes", "nodesCleared": "Nodes Cleared" }, @@ -700,9 +704,10 @@ }, "nodes": { "reloadSchema": "Reload Schema", - "saveNodes": "Save Nodes", - "loadNodes": "Load Nodes", - "clearNodes": "Clear Nodes", + "saveGraph": "Save Graph", + "loadGraph": "Load Graph (saved from Node Editor) (Do not copy-paste metadata)", + "clearGraph": "Clear Graph", + "clearGraphDesc": "Are you sure you want to clear all nodes?", "zoomInNodes": "Zoom In", "zoomOutNodes": "Zoom Out", "fitViewportNodes": "Fit View", diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 05d1f78eea..56952f2766 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1345,7 +1345,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1936,10 +1936,10 @@ export type components = { image2?: components["schemas"]["ImageField"]; }; /** - * ImageNSFWBlur + * ImageNSFWBlurInvocation * @description Add blur to NSFW-flagged images */ - ImageNSFWBlur: { + ImageNSFWBlurInvocation: { /** * Id * @description The id of this node. Must be unique among all nodes. @@ -1959,15 +1959,25 @@ export type components = { type?: "img_nsfw"; /** * Image - * @description The image to pass to the NSFW checker + * @description The image to check */ image?: components["schemas"]["ImageField"]; /** - * Active - * @description Whether the NSFW checker is active - * @default true + * Enabled + * @description Whether the NSFW checker is enabled + * @default false */ - active?: boolean; + enabled?: boolean; + /** + * Metadata + * @description Optional core metadata to be written to the image + */ + metadata?: components["schemas"]["CoreMetadata"]; + /** + * Default Enabled + * @default false + */ + DEFAULT_ENABLED?: boolean; }; /** * ImageOutput @@ -2249,6 +2259,56 @@ export type components = { */ thumbnail_url: string; }; + /** + * ImageWatermarkInvocation + * @description Add an invisible watermark to an image + */ + ImageWatermarkInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_watermark + * @enum {string} + */ + type?: "img_watermark"; + /** + * Image + * @description The image to check + */ + image?: components["schemas"]["ImageField"]; + /** + * Text + * @description Watermark text + * @default InvokeAI + */ + text?: string; + /** + * Enabled + * @description Whether the invisible watermark is enabled + * @default true + */ + enabled?: boolean; + /** + * Metadata + * @description Optional core metadata to be written to the image + */ + metadata?: components["schemas"]["CoreMetadata"]; + /** + * Default Enabled + * @default true + */ + DEFAULT_ENABLED?: boolean; + }; /** * InfillColorInvocation * @description Infills transparent areas of an image with a solid color @@ -2678,7 +2738,7 @@ export type components = { vae?: components["schemas"]["VaeField"]; /** * Tiled - * @description Decode latents by overlaping tiles(less memory consumption) + * @description Decode latents by overlapping tiles(less memory consumption) * @default false */ tiled?: boolean; @@ -5469,6 +5529,12 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; + /** + * StableDiffusion2ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. @@ -5481,12 +5547,6 @@ export type components = { * @enum {string} */ StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion2ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5597,7 +5657,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5634,7 +5694,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlur"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { From 5beb11f4e24570e3e095c5b9d1bb55cdbf44d72b Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 09:23:51 -0400 Subject: [PATCH 023/106] tweaks in response to psychedelicious review of PR --- docs/features/OTHER.md | 47 +++------ .../web => app/assets/images}/caution.png | Bin .../controlnet_image_processors.py | 2 +- invokeai/app/invocations/image.py | 21 ++-- invokeai/app/invocations/image_defs.py | 54 ---------- invokeai/app/models/image.py | 98 +++++++++++++----- .../services/board_image_record_storage.py | 2 - .../buildLinearTextToImageGraph.ts | 2 +- 8 files changed, 96 insertions(+), 130 deletions(-) rename invokeai/{assets/web => app/assets/images}/caution.png (100%) delete mode 100644 invokeai/app/invocations/image_defs.py diff --git a/docs/features/OTHER.md b/docs/features/OTHER.md index 2401f644ba..00bfd05e14 100644 --- a/docs/features/OTHER.md +++ b/docs/features/OTHER.md @@ -16,21 +16,24 @@ Output Example: --- -## **Seamless Tiling** +## **Invisible Watermark** -The seamless tiling mode causes generated images to seamlessly tile -with itself creating repetitive wallpaper-like patterns. To use it, -activate the Seamless Tiling option in the Web GUI and then select -whether to tile on the X (horizontal) and/or Y (vertical) axes. Tiling -will then be active for the next set of generations. +In keeping with the principles for responsible AI generation, and to +help AI researchers avoid synthetic images contaminating their +training sets, InvokeAI adds an invisible watermark to each of the +final images it generates. The watermark consists of the text +"InvokeAI" and can be viewed using the +[invisible-watermarks](https://github.com/ShieldMnt/invisible-watermark) +tool. -A nice prompt to test seamless tiling with is: +Watermarking is controlled using the `invisible-watermark` setting in +`invokeai.yaml`. To turn it off, add the following line under the `Features` +category. ``` -pond garden with lotus by claude monet" +invisible_watermark: false ``` ---- ## **Weighted Prompts** @@ -39,34 +42,10 @@ priority to them, by adding `:` to the end of the section you wish to u example consider this prompt: ```bash -tabby cat:0.25 white duck:0.75 hybrid +(tabby cat):0.25 (white duck):0.75 hybrid ``` This will tell the sampler to invest 25% of its effort on the tabby cat aspect of the image and 75% on the white duck aspect (surprisingly, this example actually works). The prompt weights can use any combination of integers and floating point numbers, and they do not need to add up to 1. -## **Thresholding and Perlin Noise Initialization Options** - -Under the Noise section of the Web UI, you will find two options named -Perlin Noise and Noise Threshold. [Perlin -noise](https://en.wikipedia.org/wiki/Perlin_noise) is a type of -structured noise used to simulate terrain and other natural -textures. The slider controls the percentage of perlin noise that will -be mixed into the image at the beginning of generation. Adding a little -perlin noise to a generation will alter the image substantially. - -The noise threshold limits the range of the latent values during -sampling and helps combat the oversharpening seem with higher CFG -scale values. - -For better intuition into what these options do in practice: - -![here is a graphic demonstrating them both](../assets/truncation_comparison.jpg) - -In generating this graphic, perlin noise at initialization was -programmatically varied going across on the diagram by values 0.0, -0.1, 0.2, 0.4, 0.5, 0.6, 0.8, 0.9, 1.0; and the threshold was varied -going down from 0, 1, 2, 3, 4, 5, 10, 20, 100. The other options are -fixed using the prompt "a portrait of a beautiful young lady" a CFG of -20, 100 steps, and a seed of 1950357039. diff --git a/invokeai/assets/web/caution.png b/invokeai/app/assets/images/caution.png similarity index 100% rename from invokeai/assets/web/caution.png rename to invokeai/app/assets/images/caution.png diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index b04c45ae20..2087594b7b 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -20,7 +20,7 @@ from ...backend.model_management import BaseModelType, ModelType from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import (BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext) -from .image_defs import ImageOutput, PILInvocationConfig +from ..models.image import ImageOutput, PILInvocationConfig CONTROLNET_DEFAULT_MODELS = [ ########################################### diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index cf82148483..50f8a4b627 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -4,24 +4,21 @@ from typing import Literal, Optional import numpy from PIL import Image, ImageFilter, ImageOps, ImageChops -from pydantic import BaseModel, Field +from pydantic import Field from pathlib import Path from typing import Union from invokeai.app.invocations.metadata import CoreMetadata from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker from transformers import AutoFeatureExtractor -from ..models.image import ImageCategory, ImageField, ResourceOrigin +from ..models.image import ( + ImageCategory, ImageField, ResourceOrigin, + PILInvocationConfig, ImageOutput, MaskOutput, +) from .baseinvocation import ( BaseInvocation, - BaseInvocationOutput, InvocationContext, InvocationConfig, ) -from .image_defs import ( - PILInvocationConfig, - ImageOutput, - MaskOutput, - ) from ..services.config import InvokeAIAppConfig from invokeai.backend.util.devices import choose_torch_device from invokeai.backend import SilenceWarnings @@ -644,7 +641,7 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): device = choose_torch_device() if self.enabled: - logger.info("Running NSFW checker") + logger.debug("Running NSFW checker") safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') @@ -681,8 +678,8 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): ) def _get_caution_img(self)->Image: - import invokeai.assets.web as web_assets - caution = Image.open(Path(web_assets.__path__[0]) / 'caution.png') + import invokeai.app.assets.images as image_assets + caution = Image.open(Path(image_assets.__path__[0]) / 'caution.png') return caution.resize((caution.width // 2, caution.height //2)) class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): @@ -716,7 +713,7 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) if self.enabled: - logger.info("Running invisible watermarker") + logger.debug("Running invisible watermarker") bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) wm = self.text encoder = WatermarkEncoder() diff --git a/invokeai/app/invocations/image_defs.py b/invokeai/app/invocations/image_defs.py deleted file mode 100644 index 8bab09debf..0000000000 --- a/invokeai/app/invocations/image_defs.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2023 Lincoln D. Stein and the InvokeAI Team -""" Common classes used by .image and .controlnet; avoids circular import issues """ - -from pydantic import BaseModel, Field -from typing import Literal -from ..models.image import ImageField -from .baseinvocation import ( - BaseInvocationOutput, - InvocationConfig, -) - -class PILInvocationConfig(BaseModel): - """Helper class to provide all PIL invocations with additional config""" - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["PIL", "image"], - }, - } - -class ImageOutput(BaseInvocationOutput): - """Base class for invocations that output an image""" - - # fmt: off - type: Literal["image_output"] = "image_output" - image: ImageField = Field(default=None, description="The output image") - width: int = Field(description="The width of the image in pixels") - height: int = Field(description="The height of the image in pixels") - # fmt: on - - class Config: - schema_extra = {"required": ["type", "image", "width", "height"]} - - -class MaskOutput(BaseInvocationOutput): - """Base class for invocations that output a mask""" - - # fmt: off - type: Literal["mask"] = "mask" - mask: ImageField = Field(default=None, description="The output mask") - width: int = Field(description="The width of the mask in pixels") - height: int = Field(description="The height of the mask in pixels") - # fmt: on - - class Config: - schema_extra = { - "required": [ - "type", - "mask", - ] - } - - diff --git a/invokeai/app/models/image.py b/invokeai/app/models/image.py index 988a3e1447..1183cabc54 100644 --- a/invokeai/app/models/image.py +++ b/invokeai/app/models/image.py @@ -1,9 +1,80 @@ from enum import Enum -from typing import Optional, Tuple +from typing import Optional, Tuple, Literal from pydantic import BaseModel, Field from invokeai.app.util.metaenum import MetaEnum +from ..invocations.baseinvocation import ( + BaseInvocationOutput, + InvocationConfig, +) +class ImageField(BaseModel): + """An image field used for passing image objects between invocations""" + + image_name: Optional[str] = Field(default=None, description="The name of the image") + + class Config: + schema_extra = {"required": ["image_name"]} + + +class ColorField(BaseModel): + r: int = Field(ge=0, le=255, description="The red component") + g: int = Field(ge=0, le=255, description="The green component") + b: int = Field(ge=0, le=255, description="The blue component") + a: int = Field(ge=0, le=255, description="The alpha component") + + def tuple(self) -> Tuple[int, int, int, int]: + return (self.r, self.g, self.b, self.a) + + +class ProgressImage(BaseModel): + """The progress image sent intermittently during processing""" + + width: int = Field(description="The effective width of the image in pixels") + height: int = Field(description="The effective height of the image in pixels") + dataURL: str = Field(description="The image data as a b64 data URL") + +class PILInvocationConfig(BaseModel): + """Helper class to provide all PIL invocations with additional config""" + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "tags": ["PIL", "image"], + }, + } + +class ImageOutput(BaseInvocationOutput): + """Base class for invocations that output an image""" + + # fmt: off + type: Literal["image_output"] = "image_output" + image: ImageField = Field(default=None, description="The output image") + width: int = Field(description="The width of the image in pixels") + height: int = Field(description="The height of the image in pixels") + # fmt: on + + class Config: + schema_extra = {"required": ["type", "image", "width", "height"]} + + +class MaskOutput(BaseInvocationOutput): + """Base class for invocations that output a mask""" + + # fmt: off + type: Literal["mask"] = "mask" + mask: ImageField = Field(default=None, description="The output mask") + width: int = Field(description="The width of the mask in pixels") + height: int = Field(description="The height of the mask in pixels") + # fmt: on + + class Config: + schema_extra = { + "required": [ + "type", + "mask", + ] + } class ResourceOrigin(str, Enum, metaclass=MetaEnum): """The origin of a resource (eg image). @@ -63,28 +134,3 @@ class InvalidImageCategoryException(ValueError): super().__init__(message) -class ImageField(BaseModel): - """An image field used for passing image objects between invocations""" - - image_name: Optional[str] = Field(default=None, description="The name of the image") - - class Config: - schema_extra = {"required": ["image_name"]} - - -class ColorField(BaseModel): - r: int = Field(ge=0, le=255, description="The red component") - g: int = Field(ge=0, le=255, description="The green component") - b: int = Field(ge=0, le=255, description="The blue component") - a: int = Field(ge=0, le=255, description="The alpha component") - - def tuple(self) -> Tuple[int, int, int, int]: - return (self.r, self.g, self.b, self.a) - - -class ProgressImage(BaseModel): - """The progress image sent intermittently during processing""" - - width: int = Field(description="The effective width of the image in pixels") - height: int = Field(description="The effective height of the image in pixels") - dataURL: str = Field(description="The image data as a b64 data URL") diff --git a/invokeai/app/services/board_image_record_storage.py b/invokeai/app/services/board_image_record_storage.py index 693b078589..491972bd32 100644 --- a/invokeai/app/services/board_image_record_storage.py +++ b/invokeai/app/services/board_image_record_storage.py @@ -135,7 +135,6 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): board_id: str, image_name: str, ) -> None: - print(f'DEBUG: board_id={board_id}, image_name={image_name}') try: self._lock.acquire() self._cursor.execute( @@ -147,7 +146,6 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): (board_id, image_name, board_id), ) self._conn.commit() - print('got here') except sqlite3.Error as e: self._conn.rollback() raise e diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 754edae873..cfcb1a98c7 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -49,7 +49,7 @@ export const buildLinearTextToImageGraph = ( } /** -v * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the + * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node * ids. * From 85ad5ef2041df34b0b830b4512a301afb36bd030 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 22:02:57 -0400 Subject: [PATCH 024/106] refactored code; added watermark and nsfw facilities to app config route --- invokeai/app/api/routers/app_info.py | 32 +++++++- invokeai/app/invocations/image.py | 62 +++------------ invokeai/backend/__init__.py | 1 - invokeai/backend/generator/base.py | 8 -- .../backend/image_util/invisible_watermark.py | 34 ++++++++ invokeai/backend/image_util/safety_checker.py | 63 +++++++++++++++ invokeai/backend/safety_checker.py | 77 ------------------- 7 files changed, 139 insertions(+), 138 deletions(-) create mode 100644 invokeai/backend/image_util/invisible_watermark.py create mode 100644 invokeai/backend/image_util/safety_checker.py delete mode 100644 invokeai/backend/safety_checker.py diff --git a/invokeai/app/api/routers/app_info.py b/invokeai/app/api/routers/app_info.py index e1bfeda4a1..ff8198103b 100644 --- a/invokeai/app/api/routers/app_info.py +++ b/invokeai/app/api/routers/app_info.py @@ -1,9 +1,15 @@ +import typing from enum import Enum from fastapi import Body from fastapi.routing import APIRouter +from pathlib import Path from pydantic import BaseModel, Field from invokeai.backend.image_util.patchmatch import PatchMatch +from invokeai.backend.image_util.safety_checker import SafetyChecker +from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark +from invokeai.app.invocations.upscale import ESRGAN_MODELS + from invokeai.version import __version__ from ..dependencies import ApiDependencies @@ -30,6 +36,10 @@ class AppConfig(BaseModel): """App Config Response""" infill_methods: list[str] = Field(description="List of available infill methods") + upscaling_methods: list[str] = Field(description="List of upscaling methods") + upscaling_models: list[str] = Field(description="List of postprocessing methods") + nsfw_methods: list[str] = Field(description="List of NSFW checking methods") + watermarking_methods: list[str] = Field(description="List of invisible watermark methods") @app_router.get( @@ -46,7 +56,27 @@ async def get_config() -> AppConfig: infill_methods = ['tile'] if PatchMatch.patchmatch_available(): infill_methods.append('patchmatch') - return AppConfig(infill_methods=infill_methods) + + upscaling_methods = ['esrgan'] + upscaling_models = [] + for model in typing.get_args(ESRGAN_MODELS): + upscaling_models.append(str(Path(model).stem)) + + nsfw_methods = [] + if SafetyChecker.safety_checker_available(): + nsfw_methods.append('nsfw_checker') + + watermarking_methods = [] + if InvisibleWatermark.invisible_watermark_available(): + watermarking_methods.append('invisible_watermark') + + return AppConfig( + infill_methods=infill_methods, + upscaling_methods=upscaling_methods, + upscaling_models=upscaling_models, + nsfw_methods=nsfw_methods, + watermarking_methods=watermarking_methods, + ) @app_router.get( "/logging", diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 50f8a4b627..26ee9e391d 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -8,8 +8,6 @@ from pydantic import Field from pathlib import Path from typing import Union from invokeai.app.invocations.metadata import CoreMetadata -from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker -from transformers import AutoFeatureExtractor from ..models.image import ( ImageCategory, ImageField, ResourceOrigin, PILInvocationConfig, ImageOutput, MaskOutput, @@ -19,9 +17,8 @@ from .baseinvocation import ( InvocationContext, InvocationConfig, ) -from ..services.config import InvokeAIAppConfig -from invokeai.backend.util.devices import choose_torch_device -from invokeai.backend import SilenceWarnings +from invokeai.backend.image_util.safety_checker import SafetyChecker +from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark class LoadImageInvocation(BaseInvocation): """Load an image and provide it as output.""" @@ -614,14 +611,12 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): """Add blur to NSFW-flagged images""" - DEFAULT_ENABLED = InvokeAIAppConfig.get_config().nsfw_checker # fmt: off type: Literal["img_nsfw"] = "img_nsfw" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") - enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the NSFW checker is enabled") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on @@ -636,30 +631,14 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - config = context.services.configuration logger = context.services.logger - device = choose_torch_device() - - if self.enabled: - logger.debug("Running NSFW checker") - safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / 'core/convert/stable-diffusion-safety-checker') - - features = feature_extractor([image], return_tensors="pt") - features.to(device) - safety_checker.to(device) - - x_image = numpy.array(image).astype(numpy.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - with SilenceWarnings(): - checked_image, has_nsfw_concept = safety_checker(images=x_image, clip_input=features.pixel_values) - - logger.info(f"NSFW scan result: {has_nsfw_concept[0]}") - if has_nsfw_concept[0]: - blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) - caution = self._get_caution_img() - blurry_image.paste(caution,(0,0),caution) - image = blurry_image + logger.debug("Running NSFW checker") + if SafetyChecker.has_nsfw_concept(image): + logger.info("A potentially NSFW image has been detected. Image will be blurred.") + blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) + caution = self._get_caution_img() + blurry_image.paste(caution,(0,0),caution) + image = blurry_image image_dto = context.services.images.create( image=image, @@ -685,16 +664,12 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): """ Add an invisible watermark to an image """ - # to avoid circular import - DEFAULT_ENABLED = InvokeAIAppConfig.get_config().invisible_watermark - # fmt: off type: Literal["img_watermark"] = "img_watermark" # Inputs image: Optional[ImageField] = Field(default=None, description="The image to check") text: str = Field(default='InvokeAI', description="Watermark text") - enabled: bool = Field(default=DEFAULT_ENABLED, description="Whether the invisible watermark is enabled") metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") # fmt: on @@ -707,25 +682,10 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): } def invoke(self, context: InvocationContext) -> ImageOutput: - import cv2 - from imwatermark import WatermarkEncoder - - logger = context.services.logger image = context.services.images.get_pil_image(self.image.image_name) - if self.enabled: - logger.debug("Running invisible watermarker") - bgr = cv2.cvtColor(numpy.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) - wm = self.text - encoder = WatermarkEncoder() - encoder.set_watermark('bytes', wm.encode('utf-8')) - bgr_encoded = encoder.encode(bgr, 'dwtDct') - new_image = Image.fromarray( - cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) - ).convert("RGBA") - image = new_image - + new_image = InvisibleWatermark.add_watermark(image, self.text) image_dto = context.services.images.create( - image=image, + image=new_image, image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, diff --git a/invokeai/backend/__init__.py b/invokeai/backend/__init__.py index cb21f1f9ed..a33b70ceb4 100644 --- a/invokeai/backend/__init__.py +++ b/invokeai/backend/__init__.py @@ -12,5 +12,4 @@ from .model_management import ( ModelManager, ModelCache, BaseModelType, ModelType, SubModelType, ModelInfo ) -from .safety_checker import SafetyChecker from .model_management.models import SilenceWarnings diff --git a/invokeai/backend/generator/base.py b/invokeai/backend/generator/base.py index 99a63d56a3..8af8d399d5 100644 --- a/invokeai/backend/generator/base.py +++ b/invokeai/backend/generator/base.py @@ -28,7 +28,6 @@ from diffusers.schedulers import SchedulerMixin as Scheduler import invokeai.backend.util.logging as logger from ..image_util import configure_model_padding from ..util.util import rand_perlin_2d -from ..safety_checker import SafetyChecker from ..stable_diffusion.diffusers_pipeline import StableDiffusionGeneratorPipeline from ..stable_diffusion.schedulers import SCHEDULER_MAP @@ -52,7 +51,6 @@ class InvokeAIGeneratorBasicParams: v_symmetry_time_pct: Optional[float]=None variation_amount: float = 0.0 with_variations: list=field(default_factory=list) - safety_checker: Optional[SafetyChecker]=None @dataclass class InvokeAIGeneratorOutput: @@ -240,7 +238,6 @@ class Generator: self.seed = None self.latent_channels = model.unet.config.in_channels self.downsampling_factor = downsampling # BUG: should come from model or config - self.safety_checker = None self.perlin = 0.0 self.threshold = 0 self.variation_amount = 0 @@ -277,12 +274,10 @@ class Generator: perlin=0.0, h_symmetry_time_pct=None, v_symmetry_time_pct=None, - safety_checker: SafetyChecker=None, free_gpu_mem: bool = False, **kwargs, ): scope = nullcontext - self.safety_checker = safety_checker self.free_gpu_mem = free_gpu_mem attention_maps_images = [] attention_maps_callback = lambda saver: attention_maps_images.append( @@ -329,9 +324,6 @@ class Generator: # Pass on the seed in case a layer beneath us needs to generate noise on its own. image = make_image(x_T, seed) - if self.safety_checker is not None: - image = self.safety_checker.check(image) - results.append([image, seed, attention_maps_images]) if image_callback is not None: diff --git a/invokeai/backend/image_util/invisible_watermark.py b/invokeai/backend/image_util/invisible_watermark.py new file mode 100644 index 0000000000..0fb72b095d --- /dev/null +++ b/invokeai/backend/image_util/invisible_watermark.py @@ -0,0 +1,34 @@ +""" +This module defines a singleton object, "invisible_watermark" that +wraps the invisible watermark model. It respects the global "invisible_watermark" +configuration variable, that allows the watermarking to be supressed. +""" +import numpy as np +import cv2 +from PIL import Image +from imwatermark import WatermarkEncoder +from invokeai.app.services.config import InvokeAIAppConfig +import invokeai.backend.util.logging as logger +config = InvokeAIAppConfig.get_config() + +class InvisibleWatermark: + """ + Wrapper around InvisibleWatermark module. + """ + + @classmethod + def invisible_watermark_available(self) -> bool: + return config.invisible_watermark + + @classmethod + def add_watermark(self, image: Image, watermark_text:str) -> Image: + if not self.invisible_watermark_available(): + return image + logger.debug(f'Applying invisible watermark "{watermark_text}"') + bgr = cv2.cvtColor(np.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) + encoder = WatermarkEncoder() + encoder.set_watermark('bytes', watermark_text.encode('utf-8')) + bgr_encoded = encoder.encode(bgr, 'dwtDct') + return Image.fromarray( + cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) + ).convert("RGBA") diff --git a/invokeai/backend/image_util/safety_checker.py b/invokeai/backend/image_util/safety_checker.py new file mode 100644 index 0000000000..7a31c9422d --- /dev/null +++ b/invokeai/backend/image_util/safety_checker.py @@ -0,0 +1,63 @@ +""" +This module defines a singleton object, "safety_checker" that +wraps the safety_checker model. It respects the global "nsfw_checker" +configuration variable, that allows the checker to be supressed. +""" +import numpy as np +from PIL import Image +from invokeai.backend import SilenceWarnings +from invokeai.app.services.config import InvokeAIAppConfig +from invokeai.backend.util.devices import choose_torch_device +import invokeai.backend.util.logging as logger +config = InvokeAIAppConfig.get_config() + +CHECKER_PATH = 'core/convert/stable-diffusion-safety-checker' + +class SafetyChecker: + """ + Wrapper around SafetyChecker model. + """ + safety_checker = None + feature_extractor = None + tried_load: bool = False + + @classmethod + def _load_safety_checker(self): + if self.tried_load: + return + + if config.nsfw_checker: + try: + from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker + from transformers import AutoFeatureExtractor + self.safety_checker = StableDiffusionSafetyChecker.from_pretrained( + config.models_path / CHECKER_PATH + ) + self.feature_extractor = AutoFeatureExtractor.from_pretrained( + config.models_path / CHECKER_PATH) + logger.info('NSFW checker initialized') + except Exception as e: + logger.warning(f'Could not load NSFW checker: {str(e)}') + else: + logger.info('NSFW checker loading disabled') + self.tried_load = True + + @classmethod + def safety_checker_available(self) -> bool: + self._load_safety_checker() + return self.safety_checker is not None + + @classmethod + def has_nsfw_concept(self, image: Image) -> bool: + if not self.safety_checker_available(): + return False + + device = choose_torch_device() + features = self.feature_extractor([image], return_tensors="pt") + features.to(device) + self.safety_checker.to(device) + x_image = np.array(image).astype(np.float32) / 255.0 + x_image = x_image[None].transpose(0, 3, 1, 2) + with SilenceWarnings(): + checked_image, has_nsfw_concept = self.safety_checker(images=x_image, clip_input=features.pixel_values) + return has_nsfw_concept[0] diff --git a/invokeai/backend/safety_checker.py b/invokeai/backend/safety_checker.py deleted file mode 100644 index 0a943ad7b6..0000000000 --- a/invokeai/backend/safety_checker.py +++ /dev/null @@ -1,77 +0,0 @@ -''' -SafetyChecker class - checks images against the StabilityAI NSFW filter -and blurs images that contain potential NSFW content. -''' -import diffusers -import numpy as np -import torch -import traceback -from diffusers.pipelines.stable_diffusion.safety_checker import ( - StableDiffusionSafetyChecker, -) -from pathlib import Path -from PIL import Image, ImageFilter -from transformers import AutoFeatureExtractor - -import invokeai.assets.web as web_assets -import invokeai.backend.util.logging as logger -from invokeai.app.services.config import InvokeAIAppConfig -from .util import CPU_DEVICE - -config = InvokeAIAppConfig.get_config() - -class SafetyChecker(object): - CAUTION_IMG = "caution.png" - - def __init__(self, device: torch.device): - path = Path(web_assets.__path__[0]) / self.CAUTION_IMG - caution = Image.open(path) - self.caution_img = caution.resize((caution.width // 2, caution.height // 2)) - self.device = device - - try: - safety_model_id = config.models_path / 'core/convert/stable-diffusion-safety-checker' - feature_extractor_id = config.models_path / 'core/convert/stable-diffusion-safety-checker-extractor' - self.safety_checker = StableDiffusionSafetyChecker.from_pretrained(safety_model_id) - self.safety_feature_extractor = AutoFeatureExtractor.from_pretrained(feature_extractor_id) - except Exception: - logger.error( - "An error was encountered while installing the safety checker:" - ) - print(traceback.format_exc()) - - def check(self, image: Image.Image): - """ - Check provided image against the StabilityAI safety checker and return - - """ - - self.safety_checker.to(self.device) - features = self.safety_feature_extractor([image], return_tensors="pt") - features.to(self.device) - - # unfortunately checker requires the numpy version, so we have to convert back - x_image = np.array(image).astype(np.float32) / 255.0 - x_image = x_image[None].transpose(0, 3, 1, 2) - - diffusers.logging.set_verbosity_error() - checked_image, has_nsfw_concept = self.safety_checker( - images=x_image, clip_input=features.pixel_values - ) - self.safety_checker.to(CPU_DEVICE) # offload - if has_nsfw_concept[0]: - logger.warning( - "An image with potential non-safe content has been detected. A blurred image will be returned." - ) - return self.blur(image) - else: - return image - - def blur(self, input): - blurry = input.filter(filter=ImageFilter.GaussianBlur(radius=32)) - try: - if caution := self.caution_img: - blurry.paste(caution, (0, 0), caution) - except FileNotFoundError: - pass - return blurry From 2c5b539d3a2e83e378d6d8d497bdd532c40c7e25 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 24 Jul 2023 22:17:22 -0400 Subject: [PATCH 025/106] esrgan and its models are now nested in app config route --- invokeai/app/api/routers/app_info.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/invokeai/app/api/routers/app_info.py b/invokeai/app/api/routers/app_info.py index ff8198103b..e37184a77b 100644 --- a/invokeai/app/api/routers/app_info.py +++ b/invokeai/app/api/routers/app_info.py @@ -22,6 +22,10 @@ class LogLevel(int, Enum): Warning = logging.WARNING Error = logging.ERROR Critical = logging.CRITICAL + +class Upscaler(BaseModel): + upscaling_method: str = Field(description="Name of upscaling method") + upscaling_models: list[str] = Field(description="List of upscaling models for this method") app_router = APIRouter(prefix="/v1/app", tags=["app"]) @@ -36,8 +40,7 @@ class AppConfig(BaseModel): """App Config Response""" infill_methods: list[str] = Field(description="List of available infill methods") - upscaling_methods: list[str] = Field(description="List of upscaling methods") - upscaling_models: list[str] = Field(description="List of postprocessing methods") + upscaling_methods: list[Upscaler] = Field(description="List of upscaling methods") nsfw_methods: list[str] = Field(description="List of NSFW checking methods") watermarking_methods: list[str] = Field(description="List of invisible watermark methods") @@ -57,11 +60,15 @@ async def get_config() -> AppConfig: if PatchMatch.patchmatch_available(): infill_methods.append('patchmatch') - upscaling_methods = ['esrgan'] + upscaling_models = [] for model in typing.get_args(ESRGAN_MODELS): upscaling_models.append(str(Path(model).stem)) - + upscaler = Upscaler( + upscaling_method = 'esrgan', + upscaling_models = upscaling_models + ) + nsfw_methods = [] if SafetyChecker.safety_checker_available(): nsfw_methods.append('nsfw_checker') @@ -72,8 +79,7 @@ async def get_config() -> AppConfig: return AppConfig( infill_methods=infill_methods, - upscaling_methods=upscaling_methods, - upscaling_models=upscaling_models, + upscaling_methods=[upscaler], nsfw_methods=nsfw_methods, watermarking_methods=watermarking_methods, ) From 050e5091dbaee7cf88049263c74a3fe932c45a03 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:32:50 +1200 Subject: [PATCH 026/106] feat: Enable the Conversion button for SDXL Models --- .../subpanels/ModelManagerPanel/CheckpointModelEdit.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/CheckpointModelEdit.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/CheckpointModelEdit.tsx index cb297d3afe..6c3ebf2530 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/CheckpointModelEdit.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/CheckpointModelEdit.tsx @@ -1,6 +1,5 @@ import { Badge, Divider, Flex, Text } from '@chakra-ui/react'; import { useForm } from '@mantine/form'; -import { makeToast } from 'features/system/util/makeToast'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import IAIButton from 'common/components/IAIButton'; import IAIMantineTextInput from 'common/components/IAIMantineInput'; @@ -8,6 +7,7 @@ import IAISimpleCheckbox from 'common/components/IAISimpleCheckbox'; import { MODEL_TYPE_MAP } from 'features/parameters/types/constants'; import { selectIsBusy } from 'features/system/store/systemSelectors'; import { addToast } from 'features/system/store/systemSlice'; +import { makeToast } from 'features/system/util/makeToast'; import { useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { @@ -115,7 +115,7 @@ export default function CheckpointModelEdit(props: CheckpointModelEditProps) { {MODEL_TYPE_MAP[model.base_model]} Model - {!['sdxl', 'sdxl-refiner'].includes(model.base_model) ? ( + {![''].includes(model.base_model) ? ( ) : ( Date: Wed, 26 Jul 2023 18:56:52 +1200 Subject: [PATCH 027/106] fix(ui): Rename Aspect Ratio labels to their aspect ratios --- .../components/Parameters/Core/ParamAspectRatio.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamAspectRatio.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamAspectRatio.tsx index 657034e362..41be41ec28 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamAspectRatio.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamAspectRatio.tsx @@ -7,9 +7,9 @@ import { activeTabNameSelector } from '../../../../ui/store/uiSelectors'; const aspectRatios = [ { name: 'Free', value: null }, - { name: 'Portrait', value: 0.67 / 1 }, - { name: 'Wide', value: 16 / 9 }, - { name: 'Square', value: 1 / 1 }, + { name: '2:3', value: 2 / 3 }, + { name: '16:9', value: 16 / 9 }, + { name: '1:1', value: 1 / 1 }, ]; export default function ParamAspectRatio() { From 397604a0942a3b708d1fffb6ce6d19d450b8271f Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 19:08:32 +1200 Subject: [PATCH 028/106] feat: Allow LoRA weights to be more than sliders via input Found some LoRA's that need it. --- .../web/src/common/components/IAISlider.tsx | 14 +++++++++----- .../web/src/features/lora/components/ParamLora.tsx | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/invokeai/frontend/web/src/common/components/IAISlider.tsx b/invokeai/frontend/web/src/common/components/IAISlider.tsx index 53a195c7b7..fd3eed754f 100644 --- a/invokeai/frontend/web/src/common/components/IAISlider.tsx +++ b/invokeai/frontend/web/src/common/components/IAISlider.tsx @@ -114,6 +114,11 @@ const IAISlider = (props: IAIFullSliderProps) => { setLocalInputValue(value); }, [value]); + const numberInputMin = useMemo( + () => (sliderNumberInputProps?.min ? sliderNumberInputProps.min : min), + [min, sliderNumberInputProps?.min] + ); + const numberInputMax = useMemo( () => (sliderNumberInputProps?.max ? sliderNumberInputProps.max : max), [max, sliderNumberInputProps?.max] @@ -129,24 +134,23 @@ const IAISlider = (props: IAIFullSliderProps) => { const handleInputBlur = useCallback( (e: FocusEvent) => { if (e.target.value === '') { - e.target.value = String(min); + e.target.value = String(numberInputMin); } const clamped = clamp( isInteger ? Math.floor(Number(e.target.value)) : Number(localInputValue), - min, + numberInputMin, numberInputMax ); const quantized = roundDownToMultiple(clamped, step); onChange(quantized); setLocalInputValue(quantized); }, - [isInteger, localInputValue, min, numberInputMax, onChange, step] + [isInteger, localInputValue, numberInputMin, numberInputMax, onChange, step] ); const handleInputChange = useCallback((v: number | string) => { - console.log('input'); setLocalInputValue(v); }, []); @@ -310,7 +314,7 @@ const IAISlider = (props: IAIFullSliderProps) => { {withInput && ( { handleReset={handleReset} withSliderMarks sliderMarks={[-1, 0, 1, 2]} + sliderNumberInputProps={{ min: -50, max: 50 }} /> Date: Wed, 26 Jul 2023 18:20:20 +1000 Subject: [PATCH 029/106] feat(ui): add nsfw & watermark to linear ui - add `addNSFWCheckerToGraph` and `addWatermarkerToGraph` functions - use them in all linear graph creation - add state & toggles to settings modal to enable these - trigger queries for app config on socket connect - disable the nsfw/watermark booleans if we get the app config and they are not available --- .../listeners/appConfigReceived.ts | 15 ++- .../listeners/socketio/socketConnected.ts | 24 ++--- .../graphBuilders/addNSFWCheckerToGraph.ts | 70 ++++++++++++++ .../graphBuilders/addWatermarkerToGraph.ts | 95 +++++++++++++++++++ .../buildCanvasImageToImageGraph.ts | 62 ++++-------- .../graphBuilders/buildCanvasInpaintGraph.ts | 13 +++ .../buildCanvasTextToImageGraph.ts | 56 +++-------- .../buildLinearImageToImageGraph.ts | 82 +++------------- .../buildLinearSDXLImageToImageGraph.ts | 13 +++ .../buildLinearSDXLTextToImageGraph.ts | 13 +++ .../buildLinearTextToImageGraph.ts | 46 +++------ .../SettingsModal/SettingsModal.tsx | 35 +++++++ .../src/features/system/store/systemSlice.ts | 12 +++ .../web/src/services/api/endpoints/appInfo.ts | 2 + .../frontend/web/src/services/api/schema.d.ts | 70 +++++++------- .../frontend/web/src/services/api/types.d.ts | 6 ++ 16 files changed, 378 insertions(+), 236 deletions(-) create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/addNSFWCheckerToGraph.ts create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/addWatermarkerToGraph.ts diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts index 68148a192f..ef81377f99 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts @@ -1,4 +1,8 @@ import { setInfillMethod } from 'features/parameters/store/generationSlice'; +import { + shouldUseNSFWCheckerChanged, + shouldUseWatermarkerChanged, +} from 'features/system/store/systemSlice'; import { appInfoApi } from 'services/api/endpoints/appInfo'; import { startAppListening } from '..'; @@ -6,12 +10,21 @@ export const addAppConfigReceivedListener = () => { startAppListening({ matcher: appInfoApi.endpoints.getAppConfig.matchFulfilled, effect: async (action, { getState, dispatch }) => { - const { infill_methods } = action.payload; + const { infill_methods, nsfw_methods, watermarking_methods } = + action.payload; const infillMethod = getState().generation.infillMethod; if (!infill_methods.includes(infillMethod)) { dispatch(setInfillMethod(infill_methods[0])); } + + if (!nsfw_methods.includes('nsfw_checker')) { + dispatch(shouldUseNSFWCheckerChanged(false)); + } + + if (!watermarking_methods.includes('invisible_watermark')) { + dispatch(shouldUseWatermarkerChanged(false)); + } }, }); }; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketConnected.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketConnected.ts index ec310eac4c..32a6cce203 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketConnected.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketConnected.ts @@ -1,13 +1,10 @@ import { logger } from 'app/logging/logger'; +import { LIST_TAG } from 'services/api'; +import { appInfoApi } from 'services/api/endpoints/appInfo'; import { modelsApi } from 'services/api/endpoints/models'; import { receivedOpenAPISchema } from 'services/api/thunks/schema'; import { appSocketConnected, socketConnected } from 'services/events/actions'; import { startAppListening } from '../..'; -import { - ALL_BASE_MODELS, - NON_REFINER_BASE_MODELS, - REFINER_BASE_MODELS, -} from 'services/api/constants'; export const addSocketConnectedEventListener = () => { startAppListening({ @@ -29,15 +26,18 @@ export const addSocketConnectedEventListener = () => { dispatch(appSocketConnected(action.payload)); // update all server state - dispatch(modelsApi.endpoints.getMainModels.initiate(REFINER_BASE_MODELS)); dispatch( - modelsApi.endpoints.getMainModels.initiate(NON_REFINER_BASE_MODELS) + modelsApi.util.invalidateTags([ + { type: 'MainModel', id: LIST_TAG }, + { type: 'SDXLRefinerModel', id: LIST_TAG }, + { type: 'LoRAModel', id: LIST_TAG }, + { type: 'ControlNetModel', id: LIST_TAG }, + { type: 'VaeModel', id: LIST_TAG }, + { type: 'TextualInversionModel', id: LIST_TAG }, + { type: 'ScannedModels', id: LIST_TAG }, + ]) ); - dispatch(modelsApi.endpoints.getMainModels.initiate(ALL_BASE_MODELS)); - dispatch(modelsApi.endpoints.getControlNetModels.initiate()); - dispatch(modelsApi.endpoints.getLoRAModels.initiate()); - dispatch(modelsApi.endpoints.getTextualInversionModels.initiate()); - dispatch(modelsApi.endpoints.getVaeModels.initiate()); + dispatch(appInfoApi.util.invalidateTags(['AppConfig', 'AppVersion'])); }, }); }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addNSFWCheckerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addNSFWCheckerToGraph.ts new file mode 100644 index 0000000000..35e7f3ac38 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addNSFWCheckerToGraph.ts @@ -0,0 +1,70 @@ +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; +import { + ImageNSFWBlurInvocation, + LatentsToImageInvocation, + MetadataAccumulatorInvocation, +} from 'services/api/types'; +import { + LATENTS_TO_IMAGE, + METADATA_ACCUMULATOR, + NSFW_CHECKER, +} from './constants'; + +export const addNSFWCheckerToGraph = ( + state: RootState, + graph: NonNullableGraph, + nodeIdToAddTo = LATENTS_TO_IMAGE +): void => { + const activeTabName = activeTabNameSelector(state); + + const is_intermediate = + activeTabName === 'unifiedCanvas' ? !state.canvas.shouldAutoSave : false; + + const nodeToAddTo = graph.nodes[nodeIdToAddTo] as + | LatentsToImageInvocation + | undefined; + + const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as + | MetadataAccumulatorInvocation + | undefined; + + if (!nodeToAddTo) { + // something has gone terribly awry + return; + } + + nodeToAddTo.is_intermediate = true; + + const nsfwCheckerNode: ImageNSFWBlurInvocation = { + id: NSFW_CHECKER, + type: 'img_nsfw', + is_intermediate, + }; + + graph.nodes[NSFW_CHECKER] = nsfwCheckerNode; + graph.edges.push({ + source: { + node_id: nodeIdToAddTo, + field: 'image', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'image', + }, + }); + + if (metadataAccumulator) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: NSFW_CHECKER, + field: 'metadata', + }, + }); + } +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addWatermarkerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addWatermarkerToGraph.ts new file mode 100644 index 0000000000..f2e8a0aeca --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addWatermarkerToGraph.ts @@ -0,0 +1,95 @@ +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; +import { + ImageNSFWBlurInvocation, + ImageWatermarkInvocation, + LatentsToImageInvocation, + MetadataAccumulatorInvocation, +} from 'services/api/types'; +import { + LATENTS_TO_IMAGE, + METADATA_ACCUMULATOR, + NSFW_CHECKER, + WATERMARKER, +} from './constants'; + +export const addWatermarkerToGraph = ( + state: RootState, + graph: NonNullableGraph, + nodeIdToAddTo = LATENTS_TO_IMAGE +): void => { + const activeTabName = activeTabNameSelector(state); + + const is_intermediate = + activeTabName === 'unifiedCanvas' ? !state.canvas.shouldAutoSave : false; + + const nodeToAddTo = graph.nodes[nodeIdToAddTo] as + | LatentsToImageInvocation + | undefined; + + const nsfwCheckerNode = graph.nodes[NSFW_CHECKER] as + | ImageNSFWBlurInvocation + | undefined; + + const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as + | MetadataAccumulatorInvocation + | undefined; + + if (!nodeToAddTo) { + // something has gone terribly awry + return; + } + + const watermarkerNode: ImageWatermarkInvocation = { + id: WATERMARKER, + type: 'img_watermark', + is_intermediate, + }; + + graph.nodes[WATERMARKER] = watermarkerNode; + + // no matter the situation, we want the l2i node to be intermediate + nodeToAddTo.is_intermediate = true; + + if (nsfwCheckerNode) { + // if we are using NSFW checker, we need to "disable" it output by marking it intermediate, + // then connect it to the watermark node + nsfwCheckerNode.is_intermediate = true; + graph.edges.push({ + source: { + node_id: NSFW_CHECKER, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }); + } else { + // otherwise we just connect to the watermark node + graph.edges.push({ + source: { + node_id: nodeIdToAddTo, + field: 'image', + }, + destination: { + node_id: WATERMARKER, + field: 'image', + }, + }); + } + + if (metadataAccumulator) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: WATERMARKER, + field: 'metadata', + }, + }); + } +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 7920d2638a..81e99e0dd0 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -10,7 +10,9 @@ import { import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, IMAGE_TO_IMAGE_GRAPH, @@ -23,8 +25,6 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, - NSFW_CHECKER, - WATERMARKER, } from './constants'; /** @@ -105,11 +105,6 @@ export const buildCanvasImageToImageGraph = ( is_intermediate: true, skipped_layers: clipSkip, }, - [LATENTS_TO_IMAGE]: { - type: 'l2i', - id: LATENTS_TO_IMAGE, - is_intermediate: true, - }, [LATENTS_TO_LATENTS]: { type: 'l2l', id: LATENTS_TO_LATENTS, @@ -128,15 +123,10 @@ export const buildCanvasImageToImageGraph = ( // image_name: initialImage.image_name, // }, }, - [NSFW_CHECKER]: { - type: 'img_nsfw', - id: NSFW_CHECKER, - is_intermediate: true, - }, - [WATERMARKER]: { + [LATENTS_TO_IMAGE]: { + type: 'l2i', + id: LATENTS_TO_IMAGE, is_intermediate: !shouldAutoSave, - type: 'img_watermark', - id: WATERMARKER, }, }, edges: [ @@ -180,26 +170,6 @@ export const buildCanvasImageToImageGraph = ( field: 'latents', }, }, - { - source: { - node_id: LATENTS_TO_IMAGE, - field: 'image', - }, - destination: { - node_id: NSFW_CHECKER, - field: 'image', - }, - }, - { - source: { - node_id: NSFW_CHECKER, - field: 'image', - }, - destination: { - node_id: WATERMARKER, - field: 'image', - }, - }, { source: { node_id: IMAGE_TO_LATENTS, @@ -342,17 +312,6 @@ export const buildCanvasImageToImageGraph = ( init_image: initialImage.image_name, }; - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: WATERMARKER, - field: 'metadata', - }, - }); - // add LoRA support addLoRAsToGraph(state, graph, LATENTS_TO_LATENTS); @@ -365,5 +324,16 @@ export const buildCanvasImageToImageGraph = ( // add controlnet, mutating `graph` addControlNetToLinearGraph(state, graph, LATENTS_TO_LATENTS); + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index fa6e20aaa4..4154c1b5eb 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -20,6 +20,8 @@ import { RANDOM_INT, RANGE_OF_SIZE, } from './constants'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; /** * Builds the Canvas tab's Inpaint graph. @@ -249,5 +251,16 @@ export const buildCanvasInpaintGraph = ( (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; } + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph, INPAINT); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph, INPAINT); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 88e2f5e70b..597a643367 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -5,7 +5,9 @@ import { initialGenerationState } from 'features/parameters/store/generationSlic import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, LATENTS_TO_IMAGE, @@ -16,8 +18,6 @@ import { POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, - NSFW_CHECKER, - WATERMARKER, } from './constants'; /** @@ -109,16 +109,6 @@ export const buildCanvasTextToImageGraph = ( [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, - is_intermediate: true, - }, - [NSFW_CHECKER]: { - type: 'img_nsfw', - id: NSFW_CHECKER, - is_intermediate: true, - }, - [WATERMARKER]: { - type: 'img_watermark', - id: WATERMARKER, is_intermediate: !shouldAutoSave, }, }, @@ -193,26 +183,6 @@ export const buildCanvasTextToImageGraph = ( field: 'latents', }, }, - { - source: { - node_id: LATENTS_TO_IMAGE, - field: 'image', - }, - destination: { - node_id: NSFW_CHECKER, - field: 'image', - }, - }, - { - source: { - node_id: NSFW_CHECKER, - field: 'image', - }, - destination: { - node_id: WATERMARKER, - field: 'image', - }, - }, { source: { node_id: NOISE, @@ -247,17 +217,6 @@ export const buildCanvasTextToImageGraph = ( clip_skip: clipSkip, }; - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: WATERMARKER, - field: 'metadata', - }, - }); - // add LoRA support addLoRAsToGraph(state, graph, TEXT_TO_LATENTS); @@ -270,5 +229,16 @@ export const buildCanvasTextToImageGraph = ( // add controlnet, mutating `graph` addControlNetToLinearGraph(state, graph, TEXT_TO_LATENTS); + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index c8df39a4d8..d78e2e1356 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -9,7 +9,9 @@ import { import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, IMAGE_TO_IMAGE_GRAPH, @@ -22,8 +24,6 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, - NSFW_CHECKER, - WATERMARKER, } from './constants'; /** @@ -187,26 +187,6 @@ export const buildLinearImageToImageGraph = ( field: 'latents', }, }, - { - source: { - node_id: LATENTS_TO_IMAGE, - field: 'image', - }, - destination: { - node_id: NSFW_CHECKER, - field: 'image', - }, - }, - { - source: { - node_id: NSFW_CHECKER, - field: 'image', - }, - destination: { - node_id: WATERMARKER, - field: 'image', - }, - }, { source: { node_id: IMAGE_TO_LATENTS, @@ -319,42 +299,6 @@ export const buildLinearImageToImageGraph = ( }); } - // TODO: add batch functionality - // if (isBatchEnabled && asInitialImage && batchImageNames.length > 0) { - // // we are going to connect an iterate up to the init image - // delete (graph.nodes[IMAGE_TO_LATENTS] as ImageToLatentsInvocation).image; - - // const imageCollection: ImageCollectionInvocation = { - // id: IMAGE_COLLECTION, - // type: 'image_collection', - // images: batchImageNames.map((image_name) => ({ image_name })), - // }; - - // const imageCollectionIterate: IterateInvocation = { - // id: IMAGE_COLLECTION_ITERATE, - // type: 'iterate', - // }; - - // graph.nodes[IMAGE_COLLECTION] = imageCollection; - // graph.nodes[IMAGE_COLLECTION_ITERATE] = imageCollectionIterate; - - // graph.edges.push({ - // source: { node_id: IMAGE_COLLECTION, field: 'collection' }, - // destination: { - // node_id: IMAGE_COLLECTION_ITERATE, - // field: 'collection', - // }, - // }); - - // graph.edges.push({ - // source: { node_id: IMAGE_COLLECTION_ITERATE, field: 'item' }, - // destination: { - // node_id: IMAGE_TO_LATENTS, - // field: 'image', - // }, - // }); - // } - // add metadata accumulator, which is only mostly populated - some fields are added later graph.nodes[METADATA_ACCUMULATOR] = { id: METADATA_ACCUMULATOR, @@ -378,17 +322,6 @@ export const buildLinearImageToImageGraph = ( init_image: initialImage.imageName, }; - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: WATERMARKER, - field: 'metadata', - }, - }); - // add LoRA support addLoRAsToGraph(state, graph, LATENTS_TO_LATENTS); @@ -401,5 +334,16 @@ export const buildLinearImageToImageGraph = ( // add controlnet, mutating `graph` addControlNetToLinearGraph(state, graph, LATENTS_TO_LATENTS); + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index e80821e060..8c82002b2e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -20,6 +20,8 @@ import { SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER, } from './constants'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; /** * Builds the Image to Image tab graph. @@ -365,5 +367,16 @@ export const buildLinearSDXLImageToImageGraph = ( // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 8efcbf8876..36f35a90de 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -14,6 +14,8 @@ import { SDXL_TEXT_TO_IMAGE_GRAPH, SDXL_TEXT_TO_LATENTS, } from './constants'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; export const buildLinearSDXLTextToImageGraph = ( state: RootState @@ -247,5 +249,16 @@ export const buildLinearSDXLTextToImageGraph = ( // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index cfcb1a98c7..94f35feba0 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -5,7 +5,9 @@ import { initialGenerationState } from 'features/parameters/store/generationSlic import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, LATENTS_TO_IMAGE, @@ -16,8 +18,6 @@ import { POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, - NSFW_CHECKER, - WATERMARKER, } from './constants'; export const buildLinearTextToImageGraph = ( @@ -182,26 +182,6 @@ export const buildLinearTextToImageGraph = ( field: 'noise', }, }, - { - source: { - node_id: LATENTS_TO_IMAGE, - field: 'image', - }, - destination: { - node_id: NSFW_CHECKER, - field: 'image', - }, - }, - { - source: { - node_id: NSFW_CHECKER, - field: 'image', - }, - destination: { - node_id: WATERMARKER, - field: 'image', - }, - }, ], }; @@ -226,17 +206,6 @@ export const buildLinearTextToImageGraph = ( clip_skip: clipSkip, }; - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: WATERMARKER, - field: 'metadata', - }, - }); - // add LoRA support addLoRAsToGraph(state, graph, TEXT_TO_LATENTS); @@ -249,5 +218,16 @@ export const buildLinearTextToImageGraph = ( // add controlnet, mutating `graph` addControlNetToLinearGraph(state, graph, TEXT_TO_LATENTS); + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx index 2deccfa46d..49102a5bbd 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx @@ -26,6 +26,8 @@ import { setShouldConfirmOnDelete, shouldAntialiasProgressImageChanged, shouldLogToConsoleChanged, + shouldUseNSFWCheckerChanged, + shouldUseWatermarkerChanged, } from 'features/system/store/systemSlice'; import { setShouldShowProgressInViewer, @@ -42,6 +44,7 @@ import { } from 'react'; import { useTranslation } from 'react-i18next'; import { LogLevelName } from 'roarr'; +import { useGetAppConfigQuery } from 'services/api/endpoints/appInfo'; import SettingSwitch from './SettingSwitch'; import SettingsClearIntermediates from './SettingsClearIntermediates'; import SettingsSchedulers from './SettingsSchedulers'; @@ -57,6 +60,8 @@ const selector = createSelector( shouldLogToConsole, shouldAntialiasProgressImage, isNodesEnabled, + shouldUseNSFWChecker, + shouldUseWatermarker, } = system; const { @@ -78,6 +83,8 @@ const selector = createSelector( shouldAntialiasProgressImage, shouldShowAdvancedOptions, isNodesEnabled, + shouldUseNSFWChecker, + shouldUseWatermarker, }; }, { @@ -120,6 +127,16 @@ const SettingsModal = ({ children, config }: SettingsModalProps) => { } }, [shouldShowDeveloperSettings, dispatch]); + const { isNSFWCheckerAvailable, isWatermarkerAvailable } = + useGetAppConfigQuery(undefined, { + selectFromResult: ({ data }) => ({ + isNSFWCheckerAvailable: + data?.nsfw_methods.includes('nsfw_checker') ?? false, + isWatermarkerAvailable: + data?.watermarking_methods.includes('invisible_watermark') ?? false, + }), + }); + const { isOpen: isSettingsModalOpen, onOpen: onSettingsModalOpen, @@ -143,6 +160,8 @@ const SettingsModal = ({ children, config }: SettingsModalProps) => { shouldAntialiasProgressImage, shouldShowAdvancedOptions, isNodesEnabled, + shouldUseNSFWChecker, + shouldUseWatermarker, } = useAppSelector(selector); const handleClickResetWebUI = useCallback(() => { @@ -221,6 +240,22 @@ const SettingsModal = ({ children, config }: SettingsModalProps) => { {t('settings.generation')} + ) => + dispatch(shouldUseNSFWCheckerChanged(e.target.checked)) + } + /> + ) => + dispatch(shouldUseWatermarkerChanged(e.target.checked)) + } + /> diff --git a/invokeai/frontend/web/src/features/system/store/systemSlice.ts b/invokeai/frontend/web/src/features/system/store/systemSlice.ts index b7a5e606e2..7189058632 100644 --- a/invokeai/frontend/web/src/features/system/store/systemSlice.ts +++ b/invokeai/frontend/web/src/features/system/store/systemSlice.ts @@ -87,6 +87,8 @@ export interface SystemState { language: keyof typeof LANGUAGES; isUploading: boolean; isNodesEnabled: boolean; + shouldUseNSFWChecker: boolean; + shouldUseWatermarker: boolean; } export const initialSystemState: SystemState = { @@ -119,6 +121,8 @@ export const initialSystemState: SystemState = { language: 'en', isUploading: false, isNodesEnabled: false, + shouldUseNSFWChecker: true, + shouldUseWatermarker: true, }; export const systemSlice = createSlice({ @@ -194,6 +198,12 @@ export const systemSlice = createSlice({ setIsNodesEnabled(state, action: PayloadAction) { state.isNodesEnabled = action.payload; }, + shouldUseNSFWCheckerChanged(state, action: PayloadAction) { + state.shouldUseNSFWChecker = action.payload; + }, + shouldUseWatermarkerChanged(state, action: PayloadAction) { + state.shouldUseWatermarker = action.payload; + }, }, extraReducers(builder) { /** @@ -409,6 +419,8 @@ export const { languageChanged, progressImageSet, setIsNodesEnabled, + shouldUseNSFWCheckerChanged, + shouldUseWatermarkerChanged, } = systemSlice.actions; export default systemSlice.reducer; diff --git a/invokeai/frontend/web/src/services/api/endpoints/appInfo.ts b/invokeai/frontend/web/src/services/api/endpoints/appInfo.ts index f76b56761c..2d3537998d 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/appInfo.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/appInfo.ts @@ -8,6 +8,7 @@ export const appInfoApi = api.injectEndpoints({ url: `app/version`, method: 'GET', }), + providesTags: ['AppVersion'], keepUnusedDataFor: 86400000, // 1 day }), getAppConfig: build.query({ @@ -15,6 +16,7 @@ export const appInfoApi = api.injectEndpoints({ url: `app/config`, method: 'GET', }), + providesTags: ['AppConfig'], keepUnusedDataFor: 86400000, // 1 day }), }), diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 56952f2766..c8e87ef8c5 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -318,6 +318,21 @@ export type components = { * @description List of available infill methods */ infill_methods: (string)[]; + /** + * Upscaling Methods + * @description List of upscaling methods + */ + upscaling_methods: (components["schemas"]["Upscaler"])[]; + /** + * Nsfw Methods + * @description List of NSFW checking methods + */ + nsfw_methods: (string)[]; + /** + * Watermarking Methods + * @description List of invisible watermark methods + */ + watermarking_methods: (string)[]; }; /** * AppVersion @@ -1345,7 +1360,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1388,7 +1403,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -1962,22 +1977,11 @@ export type components = { * @description The image to check */ image?: components["schemas"]["ImageField"]; - /** - * Enabled - * @description Whether the NSFW checker is enabled - * @default false - */ - enabled?: boolean; /** * Metadata * @description Optional core metadata to be written to the image */ metadata?: components["schemas"]["CoreMetadata"]; - /** - * Default Enabled - * @default false - */ - DEFAULT_ENABLED?: boolean; }; /** * ImageOutput @@ -2292,22 +2296,11 @@ export type components = { * @default InvokeAI */ text?: string; - /** - * Enabled - * @description Whether the invisible watermark is enabled - * @default true - */ - enabled?: boolean; /** * Metadata * @description Optional core metadata to be written to the image */ metadata?: components["schemas"]["CoreMetadata"]; - /** - * Default Enabled - * @default true - */ - DEFAULT_ENABLED?: boolean; }; /** * InfillColorInvocation @@ -5403,6 +5396,19 @@ export type components = { */ loras: (components["schemas"]["LoraInfo"])[]; }; + /** Upscaler */ + Upscaler: { + /** + * Upscaling Method + * @description Name of upscaling method + */ + upscaling_method: string; + /** + * Upscaling Models + * @description List of upscaling models for this method + */ + upscaling_models: (string)[]; + }; /** * VAEModelField * @description Vae model field @@ -5529,6 +5535,12 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion2ModelFormat * @description An enumeration. @@ -5541,12 +5553,6 @@ export type components = { * @enum {string} */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5657,7 +5663,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5694,7 +5700,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { diff --git a/invokeai/frontend/web/src/services/api/types.d.ts b/invokeai/frontend/web/src/services/api/types.d.ts index 3e945691f1..7d9040321c 100644 --- a/invokeai/frontend/web/src/services/api/types.d.ts +++ b/invokeai/frontend/web/src/services/api/types.d.ts @@ -134,6 +134,12 @@ export type ESRGANInvocation = TypeReq< export type DivideInvocation = TypeReq< components['schemas']['DivideInvocation'] >; +export type ImageNSFWBlurInvocation = TypeReq< + components['schemas']['ImageNSFWBlurInvocation'] +>; +export type ImageWatermarkInvocation = TypeReq< + components['schemas']['ImageWatermarkInvocation'] +>; // ControlNet Nodes export type ControlNetInvocation = TypeReq< From 6fd8543e6904c75bd7833e83f514e8e09519d047 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 20:33:59 +1200 Subject: [PATCH 030/106] fix: LoRA's not being sorted alphabetically --- .../web/src/features/lora/components/ParamLoraSelect.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx b/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx index 951037f9e3..631047aaab 100644 --- a/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx +++ b/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx @@ -54,7 +54,12 @@ const ParamLoRASelect = () => { }); }); - return data.sort((a, b) => (a.disabled && !b.disabled ? 1 : -1)); + // Sort Alphabetically + data.sort((a, b) => + a.label && b.label ? (a.label?.localeCompare(b.label) ? 1 : -1) : -1 + ); + + return data.sort((a, b) => (a.disabled && !b.disabled ? -1 : 1)); }, [loras, loraModels, currentMainModel?.base_model]); const handleChange = useCallback( From 9e9dce44b43d62649c43b5f5f9853dad0ef6d586 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 20:34:14 +1200 Subject: [PATCH 031/106] fix: Embeddings not being sorted alphabetically --- .../features/embedding/components/ParamEmbeddingPopover.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/invokeai/frontend/web/src/features/embedding/components/ParamEmbeddingPopover.tsx b/invokeai/frontend/web/src/features/embedding/components/ParamEmbeddingPopover.tsx index 69d079034a..4eb9a67de2 100644 --- a/invokeai/frontend/web/src/features/embedding/components/ParamEmbeddingPopover.tsx +++ b/invokeai/frontend/web/src/features/embedding/components/ParamEmbeddingPopover.tsx @@ -57,6 +57,11 @@ const ParamEmbeddingPopover = (props: Props) => { }); }); + // Sort Alphabetically + data.sort((a, b) => + a.label && b.label ? (a.label?.localeCompare(b.label) ? -1 : 1) : -1 + ); + return data.sort((a, b) => (a.disabled && !b.disabled ? 1 : -1)); }, [embeddingQueryData, currentMainModel?.base_model]); From 30c3b7a6fc7934c05ea383fcf1c8362a892c492c Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 26 Jul 2023 18:40:17 +1000 Subject: [PATCH 032/106] fix(ui): fix invoke button being disabled --- invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts b/invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts index 3462a26353..f43ec1851f 100644 --- a/invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts +++ b/invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts @@ -5,8 +5,8 @@ import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; // import { validateSeedWeights } from 'common/util/seedWeightPairs'; import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; import { forEach } from 'lodash-es'; +import { NON_REFINER_BASE_MODELS } from 'services/api/constants'; import { modelsApi } from '../../services/api/endpoints/models'; -import { ALL_BASE_MODELS } from 'services/api/constants'; const readinessSelector = createSelector( [stateSelector, activeTabNameSelector], @@ -25,7 +25,7 @@ const readinessSelector = createSelector( } const { isSuccess: mainModelsSuccessfullyLoaded } = - modelsApi.endpoints.getMainModels.select(ALL_BASE_MODELS)(state); + modelsApi.endpoints.getMainModels.select(NON_REFINER_BASE_MODELS)(state); if (!mainModelsSuccessfullyLoaded) { isReady = false; reasonsWhyNotReady.push('Models are not loaded'); From db0544510325994b78b24d231428d0603c8e624a Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 26 Jul 2023 18:48:43 +1000 Subject: [PATCH 033/106] fix(tests): fix test_path - assets path has changed --- tests/test_path.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_path.py b/tests/test_path.py index 6076c6554f..52936142c7 100644 --- a/tests/test_path.py +++ b/tests/test_path.py @@ -9,7 +9,7 @@ from PIL import Image import invokeai.frontend.web.dist as frontend import invokeai.configs as configs -import invokeai.assets.web as assets_web +import invokeai.app.assets.images as image_assets class ConfigsTestCase(unittest.TestCase): """Test the configuration related imports and objects""" @@ -35,7 +35,7 @@ class ConfigsTestCase(unittest.TestCase): def test_caution_img(self): """Verify the caution image""" - caution_img = Image.open(osp.join(assets_web.__path__[0], "caution.png")) + caution_img = Image.open(osp.join(image_assets.__path__[0], "caution.png")) assert caution_img.width == int(500) assert caution_img.height == int(441) assert caution_img.format == str("PNG") From 513b223ef6ce1a5d8a32e31fce91f033993a68cf Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 26 Jul 2023 18:49:29 +1000 Subject: [PATCH 034/106] fix(test): fix test_graph_subgraph_t2i needed to be updated after adding the nsfw checker node to the graph --- tests/nodes/test_node_graph.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/nodes/test_node_graph.py b/tests/nodes/test_node_graph.py index cd995141ab..e2a4c8b343 100644 --- a/tests/nodes/test_node_graph.py +++ b/tests/nodes/test_node_graph.py @@ -462,16 +462,16 @@ def test_graph_subgraph_t2i(): n4 = ShowImageInvocation(id = "4") g.add_node(n4) - g.add_edge(create_edge("1.7","image","4","image")) + g.add_edge(create_edge("1.8","image","4","image")) # Validate dg = g.nx_graph_flat() - assert set(dg.nodes) == set(['1.width', '1.height', '1.seed', '1.3', '1.4', '1.5', '1.6', '1.7', '2', '3', '4']) + assert set(dg.nodes) == set(['1.width', '1.height', '1.seed', '1.3', '1.4', '1.5', '1.6', '1.7', '1.8', '2', '3', '4']) expected_edges = [(f'1.{e.source.node_id}',f'1.{e.destination.node_id}') for e in lg.graph.edges] expected_edges.extend([ ('2','1.width'), ('3','1.height'), - ('1.7','4') + ('1.8','4') ]) print(expected_edges) print(list(dg.edges)) From 3e206d4d6ab9ddd1ee23b371139117ac7277e417 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 06:53:35 -0400 Subject: [PATCH 035/106] removed nsfw/watermark from invokeai.yaml --- invokeai/app/services/config.py | 24 ++++++++++++------- .../backend/install/invokeai_configure.py | 18 -------------- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index f2652ddd6b..dfcff86ca0 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -28,7 +28,6 @@ InvokeAI: always_use_cpu: false free_gpu_mem: false Features: - nsfw_checker: true restore: true esrgan: true patchmatch: true @@ -92,18 +91,18 @@ Typical usage at the top level file: from invokeai.app.services.config import InvokeAIAppConfig - # get global configuration and print its nsfw_checker value + # get global configuration and print its cache size conf = InvokeAIAppConfig.get_config() conf.parse_args() - print(conf.nsfw_checker) + print(conf.max_cache_size) Typical usage in a backend module: from invokeai.app.services.config import InvokeAIAppConfig - # get global configuration and print its nsfw_checker value + # get global configuration and print its cache size value conf = InvokeAIAppConfig.get_config() - print(conf.nsfw_checker) + print(conf.max_cache_size) Computed properties: @@ -277,7 +276,7 @@ class InvokeAISettings(BaseSettings): @classmethod def _excluded_from_yaml(self)->List[str]: # combination of deprecated parameters and internal ones that shouldn't be exposed as invokeai.yaml options - return ['type','initconf', 'gpu_mem_reserved', 'max_loaded_models', 'version', 'from_file', 'model', 'restore', 'root'] + return ['type','initconf', 'gpu_mem_reserved', 'max_loaded_models', 'version', 'from_file', 'model', 'restore', 'root', 'nsfw_checker'] class Config: env_file_encoding = 'utf-8' @@ -364,8 +363,6 @@ setting environment variables INVOKEAI_. esrgan : bool = Field(default=True, description="Enable/disable upscaling code", category='Features') internet_available : bool = Field(default=True, description="If true, attempt to download models on the fly; otherwise only use local models", category='Features') log_tokenization : bool = Field(default=False, description="Enable logging of parsed prompt tokens.", category='Features') - nsfw_checker : bool = Field(default=True, description="Enable/disable the NSFW checker", category='Features') - invisible_watermark : bool = Field(default=True, description="Enable/disable the invisible watermark", category='Features') patchmatch : bool = Field(default=True, description="Enable/disable patchmatch inpaint code", category='Features') restore : bool = Field(default=True, description="Enable/disable face restoration code (DEPRECATED)", category='DEPRECATED') @@ -375,6 +372,7 @@ setting environment variables INVOKEAI_. max_cache_size : float = Field(default=6.0, gt=0, description="Maximum memory amount used by model cache for rapid switching", category='Memory/Performance') max_vram_cache_size : float = Field(default=2.75, ge=0, description="Amount of VRAM reserved for model storage", category='Memory/Performance') gpu_mem_reserved : float = Field(default=2.75, ge=0, description="DEPRECATED: use max_vram_cache_size. Amount of VRAM reserved for model storage", category='DEPRECATED') + nsfw_checker : bool = Field(default=True, description="DEPRECATED: use Web settings to enable/disable", category='DEPRECATED') precision : Literal[tuple(['auto','float16','float32','autocast'])] = Field(default='auto',description='Floating point precision', category='Memory/Performance') sequential_guidance : bool = Field(default=False, description="Whether to calculate guidance in serial instead of in parallel, lowering memory requirements", category='Memory/Performance') xformers_enabled : bool = Field(default=True, description="Enable/disable memory-efficient attention", category='Memory/Performance') @@ -526,6 +524,16 @@ setting environment variables INVOKEAI_. """Return true if patchmatch true""" return self.patchmatch + @property + def nsfw_checker(self)->bool: + """ NSFW node is always active and disabled from Web UIe""" + return True + + @property + def invisible_watermark(self)->bool: + """ invisible watermark node is always active and disabled from Web UIe""" + return True + @staticmethod def find_root()->Path: ''' diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 1f0e39961b..c5db33d253 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -315,20 +315,6 @@ Use cursor arrows to make a checkbox selection, and space to toggle. scroll_exit=True, ) self.nextrely += 1 - self.add_widget_intelligent( - npyscreen.FixedText, - value="Activate the NSFW checker to blur images showing potential sexual imagery:", - editable=False, - color="CONTROL", - ) - self.nsfw_checker = self.add_widget_intelligent( - npyscreen.Checkbox, - name="NSFW checker", - value=old_opts.nsfw_checker, - relx=5, - scroll_exit=True, - ) - self.nextrely += 1 label = """HuggingFace access token (OPTIONAL) for automatic model downloads. See https://huggingface.co/settings/tokens.""" for line in textwrap.wrap(label,width=window_width-6): self.add_widget_intelligent( @@ -506,7 +492,6 @@ https://huggingface.co/spaces/CompVis/stable-diffusion-license for attr in [ "outdir", - "nsfw_checker", "free_gpu_mem", "max_cache_size", "xformers_enabled", @@ -564,8 +549,6 @@ def edit_opts(program_opts: Namespace, invokeai_opts: Namespace) -> argparse.Nam def default_startup_options(init_file: Path) -> Namespace: opts = InvokeAIAppConfig.get_config() - if not init_file.exists(): - opts.nsfw_checker = True return opts def default_user_selections(program_opts: Namespace) -> InstallSelections: @@ -689,7 +672,6 @@ def migrate_init_file(legacy_format:Path): # a few places where the field names have changed and we have to # manually add in the new names/values - new.nsfw_checker = old.safety_checker new.xformers_enabled = old.xformers new.conf_path = old.conf new.root = legacy_format.parent.resolve() From 0ce8472562a78456d3dfd535db93c7f5193fde69 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 07:29:33 -0400 Subject: [PATCH 036/106] adjust unit test to account for nsfw always being true now --- tests/test_config.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/tests/test_config.py b/tests/test_config.py index d6c9d95d7e..498a47748e 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -13,9 +13,10 @@ init1 = OmegaConf.create( ''' InvokeAI: Features: - nsfw_checker: False + always_use_cpu: false Memory/Performance: max_cache_size: 5 + tiled_decode: false ''' ) @@ -23,9 +24,10 @@ init2 = OmegaConf.create( ''' InvokeAI: Features: - nsfw_checker: true + always_use_cpu: true Memory/Performance: max_cache_size: 2 + tiled_decode: true ''' ) @@ -36,20 +38,21 @@ def test_use_init(): conf1 = InvokeAIAppConfig.get_config() assert conf1 conf1.parse_args(conf=init1,argv=[]) + assert not conf1.tiled_decode assert conf1.max_cache_size==5 - assert not conf1.nsfw_checker + assert not conf1.always_use_cpu conf2 = InvokeAIAppConfig.get_config() assert conf2 conf2.parse_args(conf=init2,argv=[]) - assert conf2.nsfw_checker + assert conf2.tiled_decode assert conf2.max_cache_size==2 assert not hasattr(conf2,'invalid_attribute') def test_argv_override(): conf = InvokeAIAppConfig.get_config() - conf.parse_args(conf=init1,argv=['--nsfw_checker','--max_cache=10']) - assert conf.nsfw_checker + conf.parse_args(conf=init1,argv=['--always_use_cpu','--max_cache=10']) + assert conf.always_use_cpu assert conf.max_cache_size==10 assert conf.outdir==Path('outputs') # this is the default @@ -57,10 +60,10 @@ def test_env_override(): # argv overrides conf = InvokeAIAppConfig() conf.parse_args(conf=init1,argv=['--max_cache=10']) - assert conf.nsfw_checker==False - os.environ['INVOKEAI_nsfw_checker'] = 'True' + assert conf.always_use_cpu==False + os.environ['INVOKEAI_always_use_cpu'] = 'True' conf.parse_args(conf=init1,argv=['--max_cache=10']) - assert conf.nsfw_checker==True + assert conf.always_use_cpu==True # environment variables should be case insensitive os.environ['InvokeAI_Max_Cache_Size'] = '15' @@ -69,8 +72,8 @@ def test_env_override(): assert conf.max_cache_size == 15 conf = InvokeAIAppConfig() - conf.parse_args(conf=init1,argv=['--no-nsfw_checker','--max_cache=10']) - assert conf.nsfw_checker==False + conf.parse_args(conf=init1,argv=['--no-always_use_cpu','--max_cache=10']) + assert conf.always_use_cpu==False assert conf.max_cache_size==10 conf = InvokeAIAppConfig.get_config(max_cache_size=20) From da76f6fee4363b1c6bd1e6707c0092d7cba9377e Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 08:00:19 -0400 Subject: [PATCH 037/106] compress height needed by configure script --- .../backend/install/invokeai_configure.py | 52 +++++-------------- invokeai/frontend/install/model_install.py | 2 +- 2 files changed, 15 insertions(+), 39 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index c5db33d253..be4fa0a6ab 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -287,33 +287,6 @@ Use cursor arrows to make a checkbox selection, and space to toggle. color="CONTROL", ) - self.nextrely += 1 - self.add_widget_intelligent( - npyscreen.TitleFixedText, - name="== BASIC OPTIONS ==", - begin_entry_at=0, - editable=False, - color="CONTROL", - scroll_exit=True, - ) - self.nextrely -= 1 - self.add_widget_intelligent( - npyscreen.FixedText, - value="Select an output directory for images:", - editable=False, - color="CONTROL", - ) - self.outdir = self.add_widget_intelligent( - npyscreen.TitleFilename, - name="( autocompletes, ctrl-N advances):", - value=str(default_output_dir()), - select_dir=True, - must_exist=False, - use_two_lines=False, - labelColor="GOOD", - begin_entry_at=40, - scroll_exit=True, - ) self.nextrely += 1 label = """HuggingFace access token (OPTIONAL) for automatic model downloads. See https://huggingface.co/settings/tokens.""" for line in textwrap.wrap(label,width=window_width-6): @@ -333,15 +306,6 @@ Use cursor arrows to make a checkbox selection, and space to toggle. scroll_exit=True, ) self.nextrely += 1 - self.add_widget_intelligent( - npyscreen.TitleFixedText, - name="== ADVANCED OPTIONS ==", - begin_entry_at=0, - editable=False, - color="CONTROL", - scroll_exit=True, - ) - self.nextrely -= 1 self.add_widget_intelligent( npyscreen.TitleFixedText, name="GPU Management", @@ -401,6 +365,18 @@ Use cursor arrows to make a checkbox selection, and space to toggle. editable=False, color="CONTROL", ) + self.outdir = self.add_widget_intelligent( + FileBox, + name="Output directory for images ( autocompletes, ctrl-N advances):", + value=str(default_output_dir()), + select_dir=True, + must_exist=False, + use_two_lines=False, + labelColor="GOOD", + begin_entry_at=40, + max_height=3, + scroll_exit=True, + ) self.autoimport_dirs = {} self.autoimport_dirs['autoimport_dir'] = self.add_widget_intelligent( FileBox, @@ -527,7 +503,7 @@ class EditOptApplication(npyscreen.NPSAppManaged): "MAIN", editOptsForm, name="InvokeAI Startup Options", - cycle_widgets=True, + cycle_widgets=False, ) if not (self.program_opts.skip_sd_weights or self.program_opts.default_only): self.model_select = self.addForm( @@ -535,7 +511,7 @@ class EditOptApplication(npyscreen.NPSAppManaged): addModelsForm, name="Install Stable Diffusion Models", multipage=True, - cycle_widgets=True, + cycle_widgets=False, ) def new_opts(self): diff --git a/invokeai/frontend/install/model_install.py b/invokeai/frontend/install/model_install.py index c4b19157a4..5c90350ef0 100644 --- a/invokeai/frontend/install/model_install.py +++ b/invokeai/frontend/install/model_install.py @@ -553,7 +553,7 @@ class AddModelApplication(npyscreen.NPSAppManaged): def onStart(self): npyscreen.setTheme(npyscreen.Themes.DefaultTheme) self.main_form = self.addForm( - "MAIN", addModelsForm, name="Install Stable Diffusion Models", cycle_widgets=True, + "MAIN", addModelsForm, name="Install Stable Diffusion Models", cycle_widgets=False, ) class StderrToMessage(): From b8f43f444ac04f1205a8116fc881b69b14b4be43 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 08:26:29 -0400 Subject: [PATCH 038/106] implemented startup sanity checks on core models --- invokeai/app/api_app.py | 5 ++++- invokeai/backend/install/check_root.py | 29 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 invokeai/backend/install/check_root.py diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index 824b697d54..044271779c 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -203,7 +203,10 @@ def invoke_api(): return find_port(port=port + 1) else: return port - + + from invokeai.backend.install.check_root import check_invokeai_root + check_invokeai_root(app_config) # note, may exit with an exception if root not set up + port = find_port(app_config.port) if port != app_config.port: logger.warn(f"Port {app_config.port} in use, using port {port}") diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py new file mode 100644 index 0000000000..4dab16adcc --- /dev/null +++ b/invokeai/backend/install/check_root.py @@ -0,0 +1,29 @@ +""" +Check that the invokeai_root is correctly configured and exit if not. +""" +import sys +from invokeai.app.services.config import ( + InvokeAIAppConfig, +) + +def check_invokeai_root(config: InvokeAIAppConfig): + try: + assert config.model_conf_path.exists() + assert config.db_path.exists() + assert config.models_path.exists() + for model in [ + 'CLIP-ViT-bigG-14-laion2B-39B-b160k', + 'bert-base-uncased', + 'clip-vit-large-patch14', + 'sd-vae-ft-mse', + 'stable-diffusion-2-clip', + 'stable-diffusion-safety-checker']: + assert (config.models_path / f'core/convert/{model}').exists() + except: + print() + print('== STARTUP ABORTED ==') + print('** One or more necessary files is missing from your InvokeAI root directory **') + print('** Please rerun the configuration script to fix this problem. From the launcher, this is option [7] **') + input('Press any key to continue...') + sys.exit(0) + From 58c0bee3254e7e20a189138586cc5da159341933 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 08:30:01 -0400 Subject: [PATCH 039/106] improved error message for running configure --- invokeai/backend/install/check_root.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py index 4dab16adcc..0c24034dc7 100644 --- a/invokeai/backend/install/check_root.py +++ b/invokeai/backend/install/check_root.py @@ -23,7 +23,9 @@ def check_invokeai_root(config: InvokeAIAppConfig): print() print('== STARTUP ABORTED ==') print('** One or more necessary files is missing from your InvokeAI root directory **') - print('** Please rerun the configuration script to fix this problem. From the launcher, this is option [7] **') + print('** Please rerun the configuration script to fix this problem. **') + print('** From the launcher, selection option [7]. **') + print('** From the command line, activate the virtual environment and run "invokeai-configure --yes --skip-sd-weights" **') input('Press any key to continue...') sys.exit(0) From bf0587da5f2d33f4efe7548b4bb9e374b28b0cc8 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 09:09:46 -0400 Subject: [PATCH 040/106] set defaults for watermark and NSFW checker to FALSE --- .../frontend/web/src/features/system/store/systemSlice.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/system/store/systemSlice.ts b/invokeai/frontend/web/src/features/system/store/systemSlice.ts index 7189058632..fba980131e 100644 --- a/invokeai/frontend/web/src/features/system/store/systemSlice.ts +++ b/invokeai/frontend/web/src/features/system/store/systemSlice.ts @@ -121,8 +121,8 @@ export const initialSystemState: SystemState = { language: 'en', isUploading: false, isNodesEnabled: false, - shouldUseNSFWChecker: true, - shouldUseWatermarker: true, + shouldUseNSFWChecker: false, + shouldUseWatermarker: false, }; export const systemSlice = createSlice({ From 6fa42cb10cc718d4cbcdfd2d8fb947cb53d2706d Mon Sep 17 00:00:00 2001 From: Josh Corbett Date: Tue, 25 Jul 2023 23:33:02 -0600 Subject: [PATCH 041/106] feat: :sparkles: consolidated app nav to settings & dropdown --- invokeai/frontend/web/public/locales/ar.json | 1 + invokeai/frontend/web/public/locales/de.json | 1 + invokeai/frontend/web/public/locales/en.json | 1 + invokeai/frontend/web/public/locales/es.json | 1 + invokeai/frontend/web/public/locales/fi.json | 1 + invokeai/frontend/web/public/locales/fr.json | 1 + invokeai/frontend/web/public/locales/he.json | 1 + invokeai/frontend/web/public/locales/it.json | 1 + invokeai/frontend/web/public/locales/ja.json | 1 + invokeai/frontend/web/public/locales/ko.json | 1 + invokeai/frontend/web/public/locales/nl.json | 1 + invokeai/frontend/web/public/locales/pl.json | 1 + invokeai/frontend/web/public/locales/pt.json | 1 + .../frontend/web/public/locales/pt_BR.json | 1 + invokeai/frontend/web/public/locales/ru.json | 1 + invokeai/frontend/web/public/locales/sv.json | 1 + invokeai/frontend/web/public/locales/tr.json | 1 + invokeai/frontend/web/public/locales/uk.json | 1 + .../frontend/web/public/locales/zh_CN.json | 1 + .../frontend/web/public/locales/zh_Hant.json | 1 + .../system/components/ColorModeButton.tsx | 32 ----- .../system/components/LanguagePicker.tsx | 50 ------- .../SettingsModal/SettingsModal.tsx | 33 +++++ .../features/system/components/SiteHeader.tsx | 130 ++++++------------ .../system/components/SiteHeaderMenu.tsx | 111 --------------- invokeai/frontend/web/src/index.ts | 1 - 26 files changed, 97 insertions(+), 280 deletions(-) delete mode 100644 invokeai/frontend/web/src/features/system/components/ColorModeButton.tsx delete mode 100644 invokeai/frontend/web/src/features/system/components/LanguagePicker.tsx delete mode 100644 invokeai/frontend/web/src/features/system/components/SiteHeaderMenu.tsx diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index e5168da4a8..90f9051230 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "مجتمع", "hotkeysLabel": "مفاتيح الأختصار", "themeLabel": "الموضوع", "languagePickerLabel": "منتقي اللغة", diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index cff09d46bb..ca854024b8 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Gemeinschaft", "themeLabel": "Thema", "languagePickerLabel": "Sprachauswahl", "reportBugLabel": "Fehler melden", diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index 0640ab9ef0..b9f75ac30f 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -23,6 +23,7 @@ "menu": "Menu" }, "common": { + "communityLabel": "Community", "hotkeysLabel": "Hotkeys", "darkMode": "Dark Mode", "lightMode": "Light Mode", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index d17cefaad2..2ddf892bf5 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Comunidad", "hotkeysLabel": "Atajos de teclado", "themeLabel": "Tema", "languagePickerLabel": "Selector de idioma", diff --git a/invokeai/frontend/web/public/locales/fi.json b/invokeai/frontend/web/public/locales/fi.json index a6edd6d8b8..cdc28d27a2 100644 --- a/invokeai/frontend/web/public/locales/fi.json +++ b/invokeai/frontend/web/public/locales/fi.json @@ -22,6 +22,7 @@ "showOptionsPanel": "Näytä asetukset" }, "common": { + "communityLabel": "Yhteisö", "postProcessDesc2": "Erillinen käyttöliittymä tullaan julkaisemaan helpottaaksemme työnkulkua jälkikäsittelyssä.", "training": "Kouluta", "statusLoadingModel": "Ladataan mallia", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index cf215d7d06..9821f48567 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Communauté", "hotkeysLabel": "Raccourcis clavier", "themeLabel": "Thème", "languagePickerLabel": "Sélecteur de langue", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index c9b4ff3b17..3ffd0b20e7 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -106,6 +106,7 @@ "modelMergeInterpAddDifferenceHelp": "במצב זה, מודל 3 מופחת תחילה ממודל 2. הגרסה המתקבלת משולבת עם מודל 1 עם קצב האלפא שנקבע לעיל." }, "common": { + "communityLabel": "קהילה", "nodesDesc": "מערכת מבוססת צמתים עבור יצירת תמונות עדיין תחת פיתוח. השארו קשובים לעדכונים עבור הפיצ׳ר המדהים הזה.", "themeLabel": "ערכת נושא", "languagePickerLabel": "בחירת שפה", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 4ac5b6831d..1d85427b8c 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Comunità", "hotkeysLabel": "Tasti di scelta rapida", "themeLabel": "Tema", "languagePickerLabel": "Seleziona lingua", diff --git a/invokeai/frontend/web/public/locales/ja.json b/invokeai/frontend/web/public/locales/ja.json index 007aa9b491..78cf5dcb25 100644 --- a/invokeai/frontend/web/public/locales/ja.json +++ b/invokeai/frontend/web/public/locales/ja.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "コミュニティ", "themeLabel": "テーマ", "languagePickerLabel": "言語選択", "reportBugLabel": "バグ報告", diff --git a/invokeai/frontend/web/public/locales/ko.json b/invokeai/frontend/web/public/locales/ko.json index 47cde5fec3..854583211a 100644 --- a/invokeai/frontend/web/public/locales/ko.json +++ b/invokeai/frontend/web/public/locales/ko.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "지역 사회", "themeLabel": "테마 설정", "languagePickerLabel": "언어 설정", "reportBugLabel": "버그 리포트", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 230e3b5b64..e34cc9aa97 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Gemeenschap", "hotkeysLabel": "Sneltoetsen", "themeLabel": "Thema", "languagePickerLabel": "Taalkeuze", diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 246271658a..8e6f04c297 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Wspólnota", "hotkeysLabel": "Skróty klawiszowe", "themeLabel": "Motyw", "languagePickerLabel": "Wybór języka", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index 6d19e3ad92..3902c04e80 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Comunidade", "greenTheme": "Verde", "langArabic": "العربية", "themeLabel": "Tema", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index e77ef14719..46d6572692 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Comunidade", "hotkeysLabel": "Teclas de atalho", "themeLabel": "Tema", "languagePickerLabel": "Seletor de Idioma", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 822389d78a..1bd5239a83 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Сообщество", "hotkeysLabel": "Горячие клавиши", "themeLabel": "Тема", "languagePickerLabel": "Язык", diff --git a/invokeai/frontend/web/public/locales/sv.json b/invokeai/frontend/web/public/locales/sv.json index da2266135d..cd72516694 100644 --- a/invokeai/frontend/web/public/locales/sv.json +++ b/invokeai/frontend/web/public/locales/sv.json @@ -22,6 +22,7 @@ "showOptionsPanel": "Visa inställningspanelen" }, "common": { + "communityLabel": "Gemenskap", "hotkeysLabel": "Snabbtangenter", "reportBugLabel": "Rapportera bugg", "githubLabel": "Github", diff --git a/invokeai/frontend/web/public/locales/tr.json b/invokeai/frontend/web/public/locales/tr.json index 316908b4a9..bc99ed35b7 100644 --- a/invokeai/frontend/web/public/locales/tr.json +++ b/invokeai/frontend/web/public/locales/tr.json @@ -23,6 +23,7 @@ "showGallery": "Galeriyi Göster" }, "common": { + "communityLabel": "Toplum", "hotkeysLabel": "Kısayol Tuşları", "themeLabel": "Tema", "languagePickerLabel": "Dil Seçimi", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index 8261aa82e0..55ec0262fe 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "Спільнота", "hotkeysLabel": "Гарячi клавіші", "themeLabel": "Тема", "languagePickerLabel": "Мова", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index d4d7746926..b2906497d5 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "社区", "hotkeysLabel": "快捷键", "themeLabel": "主题", "languagePickerLabel": "语言", diff --git a/invokeai/frontend/web/public/locales/zh_Hant.json b/invokeai/frontend/web/public/locales/zh_Hant.json index 98b4882018..5f61cce63b 100644 --- a/invokeai/frontend/web/public/locales/zh_Hant.json +++ b/invokeai/frontend/web/public/locales/zh_Hant.json @@ -1,5 +1,6 @@ { "common": { + "communityLabel": "社區", "nodes": "節點", "img2img": "圖片轉圖片", "langSimplifiedChinese": "簡體中文", diff --git a/invokeai/frontend/web/src/features/system/components/ColorModeButton.tsx b/invokeai/frontend/web/src/features/system/components/ColorModeButton.tsx deleted file mode 100644 index 9bf748146c..0000000000 --- a/invokeai/frontend/web/src/features/system/components/ColorModeButton.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { useColorMode } from '@chakra-ui/react'; -import IAIIconButton from 'common/components/IAIIconButton'; -import { useTranslation } from 'react-i18next'; -import { FaMoon, FaSun } from 'react-icons/fa'; - -const ColorModeButton = () => { - const { colorMode, toggleColorMode } = useColorMode(); - const { t } = useTranslation(); - - return ( - - ) : ( - - ) - } - onClick={toggleColorMode} - variant="link" - /> - ); -}; - -export default ColorModeButton; diff --git a/invokeai/frontend/web/src/features/system/components/LanguagePicker.tsx b/invokeai/frontend/web/src/features/system/components/LanguagePicker.tsx deleted file mode 100644 index 0a88ac9215..0000000000 --- a/invokeai/frontend/web/src/features/system/components/LanguagePicker.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { - IconButton, - Menu, - MenuButton, - MenuItemOption, - MenuList, - MenuOptionGroup, - Tooltip, -} from '@chakra-ui/react'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import { map } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; -import { IoLanguage } from 'react-icons/io5'; -import { LANGUAGES } from '../store/constants'; -import { languageSelector } from '../store/systemSelectors'; -import { languageChanged } from '../store/systemSlice'; - -export default function LanguagePicker() { - const { t } = useTranslation(); - const dispatch = useAppDispatch(); - const language = useAppSelector(languageSelector); - - return ( - - - } - variant="link" - aria-label={t('common.languagePickerLabel')} - fontSize={22} - minWidth={8} - /> - - - - {map(LANGUAGES, (languageName, l: keyof typeof LANGUAGES) => ( - dispatch(languageChanged(l))} - > - {languageName} - - ))} - - - - ); -} diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx index 2deccfa46d..f25d72b082 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx @@ -10,6 +10,7 @@ import { ModalOverlay, Text, useDisclosure, + useColorMode, } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { VALID_LOG_LEVELS } from 'app/logging/logger'; @@ -46,6 +47,10 @@ import SettingSwitch from './SettingSwitch'; import SettingsClearIntermediates from './SettingsClearIntermediates'; import SettingsSchedulers from './SettingsSchedulers'; import StyledFlex from './StyledFlex'; +import { useFeatureStatus } from '../../hooks/useFeatureStatus'; +import { LANGUAGES } from '../../store/constants'; +import { languageChanged } from '../../store/systemSlice'; +import { languageSelector } from '../../store/systemSelectors'; const selector = createSelector( [stateSelector], @@ -166,6 +171,13 @@ const SettingsModal = ({ children, config }: SettingsModalProps) => { [dispatch] ); + const handleLanguageChanged = useCallback( + (l: string) => { + dispatch(languageChanged(l as keyof typeof LANGUAGES)); + }, + [dispatch] + ); + const handleLogToConsoleChanged = useCallback( (e: ChangeEvent) => { dispatch(shouldLogToConsoleChanged(e.target.checked)); @@ -180,6 +192,12 @@ const SettingsModal = ({ children, config }: SettingsModalProps) => { [dispatch] ); + const { colorMode, toggleColorMode } = useColorMode(); + + const isLocalizationEnabled = + useFeatureStatus('localization').isFeatureEnabled; + const language = useAppSelector(languageSelector); + return ( <> {cloneElement(children, { @@ -225,6 +243,11 @@ const SettingsModal = ({ children, config }: SettingsModalProps) => { {t('settings.ui')} + { onChange={handleToggleNodes} /> )} + ({ + value, + label, + }))} + onChange={handleLanguageChanged} + /> {shouldShowDeveloperSettings && ( diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx index 758f03f19a..803dc4c140 100644 --- a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx +++ b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx @@ -1,28 +1,27 @@ -import { Flex, Spacer } from '@chakra-ui/react'; +import { Flex, MenuGroup, Spacer } from '@chakra-ui/react'; import { memo } from 'react'; import StatusIndicator from './StatusIndicator'; -import { Link } from '@chakra-ui/react'; +import { Menu, MenuButton, MenuList, MenuItem } from '@chakra-ui/react'; import IAIIconButton from 'common/components/IAIIconButton'; import { useTranslation } from 'react-i18next'; -import { FaBug, FaDiscord, FaGithub, FaKeyboard } from 'react-icons/fa'; +import { FaBug, FaDiscord, FaGithub, FaKeyboard, FaBars } from 'react-icons/fa'; import { MdSettings } from 'react-icons/md'; import { useFeatureStatus } from '../hooks/useFeatureStatus'; -import ColorModeButton from './ColorModeButton'; import HotkeysModal from './HotkeysModal/HotkeysModal'; import InvokeAILogoComponent from './InvokeAILogoComponent'; -import LanguagePicker from './LanguagePicker'; import SettingsModal from './SettingsModal/SettingsModal'; const SiteHeader = () => { const { t } = useTranslation(); - const isLocalizationEnabled = - useFeatureStatus('localization').isFeatureEnabled; const isBugLinkEnabled = useFeatureStatus('bugLink').isFeatureEnabled; const isDiscordLinkEnabled = useFeatureStatus('discordLink').isFeatureEnabled; const isGithubLinkEnabled = useFeatureStatus('githubLink').isFeatureEnabled; + const githubLink = 'http://github.com/invoke-ai/InvokeAI'; + const discordLink = 'https://discord.gg/ZmtBAhwWhy'; + return ( { - - + } + aria-label={t('accessibility.menu')} + tooltip={t('accessibility.menu')} + icon={} /> - - - {isLocalizationEnabled && } - - {isBugLinkEnabled && ( - - } - /> - - )} - - {isGithubLinkEnabled && ( - - } - /> - - )} - - {isDiscordLinkEnabled && ( - - } - /> - - )} - - - - - } - /> - + + + {isGithubLinkEnabled && ( + }> + {t('common.githubLabel')} + + )} + {isBugLinkEnabled && ( + }> + {t('common.reportBugLabel')} + + )} + {isDiscordLinkEnabled && ( + }> + {t('common.discordLabel')} + + )} + + + + }> + {t('common.hotkeysLabel')} + + + + }> + {t('common.settingsLabel')} + + + + +
); }; diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeaderMenu.tsx b/invokeai/frontend/web/src/features/system/components/SiteHeaderMenu.tsx deleted file mode 100644 index ba135be8d1..0000000000 --- a/invokeai/frontend/web/src/features/system/components/SiteHeaderMenu.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import { Flex, Link } from '@chakra-ui/react'; -import { useTranslation } from 'react-i18next'; -import { FaBug, FaDiscord, FaGithub, FaKeyboard } from 'react-icons/fa'; -import { MdSettings } from 'react-icons/md'; -import HotkeysModal from './HotkeysModal/HotkeysModal'; -import LanguagePicker from './LanguagePicker'; -import SettingsModal from './SettingsModal/SettingsModal'; - -import IAIIconButton from 'common/components/IAIIconButton'; -import { useFeatureStatus } from '../hooks/useFeatureStatus'; - -const SiteHeaderMenu = () => { - const { t } = useTranslation(); - - const isLocalizationEnabled = - useFeatureStatus('localization').isFeatureEnabled; - const isBugLinkEnabled = useFeatureStatus('bugLink').isFeatureEnabled; - const isDiscordLinkEnabled = useFeatureStatus('discordLink').isFeatureEnabled; - const isGithubLinkEnabled = useFeatureStatus('githubLink').isFeatureEnabled; - - return ( - - - } - /> - - - {isLocalizationEnabled && } - - {isBugLinkEnabled && ( - - } - /> - - )} - - {isGithubLinkEnabled && ( - - } - /> - - )} - - {isDiscordLinkEnabled && ( - - } - /> - - )} - - - } - /> - - - ); -}; - -SiteHeaderMenu.displayName = 'SiteHeaderMenu'; -export default SiteHeaderMenu; diff --git a/invokeai/frontend/web/src/index.ts b/invokeai/frontend/web/src/index.ts index add4999b6d..57dbeab0e5 100644 --- a/invokeai/frontend/web/src/index.ts +++ b/invokeai/frontend/web/src/index.ts @@ -3,7 +3,6 @@ export type { PartialAppConfig } from './app/types/invokeai'; export { default as IAIIconButton } from './common/components/IAIIconButton'; export { default as IAIPopover } from './common/components/IAIPopover'; export { default as ParamMainModelSelect } from './features/parameters/components/Parameters/MainModel/ParamMainModelSelect'; -export { default as ColorModeButton } from './features/system/components/ColorModeButton'; export { default as InvokeAiLogoComponent } from './features/system/components/InvokeAILogoComponent'; export { default as SettingsModal } from './features/system/components/SettingsModal/SettingsModal'; export { default as StatusIndicator } from './features/system/components/StatusIndicator'; From 17900e5140724e66940cb8ceac024ba21a79b595 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 18:05:57 +1200 Subject: [PATCH 042/106] fix: Fix Settings dropdown menu icons being too small --- .../features/system/components/SiteHeader.tsx | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx index 803dc4c140..e2ee62328e 100644 --- a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx +++ b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx @@ -2,10 +2,10 @@ import { Flex, MenuGroup, Spacer } from '@chakra-ui/react'; import { memo } from 'react'; import StatusIndicator from './StatusIndicator'; -import { Menu, MenuButton, MenuList, MenuItem } from '@chakra-ui/react'; +import { Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; import IAIIconButton from 'common/components/IAIIconButton'; import { useTranslation } from 'react-i18next'; -import { FaBug, FaDiscord, FaGithub, FaKeyboard, FaBars } from 'react-icons/fa'; +import { FaBars, FaBug, FaDiscord, FaGithub, FaKeyboard } from 'react-icons/fa'; import { MdSettings } from 'react-icons/md'; import { useFeatureStatus } from '../hooks/useFeatureStatus'; import HotkeysModal from './HotkeysModal/HotkeysModal'; @@ -44,29 +44,41 @@ const SiteHeader = () => { {isGithubLinkEnabled && ( - }> + } + > {t('common.githubLabel')} )} {isBugLinkEnabled && ( - }> + } + > {t('common.reportBugLabel')} )} {isDiscordLinkEnabled && ( - }> + } + > {t('common.discordLabel')} )} - }> + }> {t('common.hotkeysLabel')} - }> + }> {t('common.settingsLabel')} From c7d24081e2d42878c93dfab46445c8f927031d28 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 18:06:28 +1200 Subject: [PATCH 043/106] fix: Scheduler list in Settings not displaying labels --- .../system/components/SettingsModal/SettingsSchedulers.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsSchedulers.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsSchedulers.tsx index 6d2e963b6a..0be58a8815 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsSchedulers.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsSchedulers.tsx @@ -10,9 +10,9 @@ import { map } from 'lodash-es'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; -const data = map(SCHEDULER_LABEL_MAP, (value, label) => ({ - value, - label, +const data = map(SCHEDULER_LABEL_MAP, (label, name) => ({ + value: name, + label: label, })).sort((a, b) => a.label.localeCompare(b.label)); export default function SettingsSchedulers() { From a00d1e87e4ce76c20e9cd79a08628f342cd16cba Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 21:18:59 +1200 Subject: [PATCH 044/106] fix: Update Links to Links from Menu Items --- .../features/system/components/SiteHeader.tsx | 44 ++++++++----------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx index e2ee62328e..6770866df0 100644 --- a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx +++ b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx @@ -1,11 +1,11 @@ -import { Flex, MenuGroup, Spacer } from '@chakra-ui/react'; +import { Flex, Link, MenuGroup, Spacer } from '@chakra-ui/react'; import { memo } from 'react'; import StatusIndicator from './StatusIndicator'; import { Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; import IAIIconButton from 'common/components/IAIIconButton'; import { useTranslation } from 'react-i18next'; -import { FaBars, FaBug, FaDiscord, FaGithub, FaKeyboard } from 'react-icons/fa'; +import { FaBars, FaBug, FaDiscord, FaKeyboard } from 'react-icons/fa'; import { MdSettings } from 'react-icons/md'; import { useFeatureStatus } from '../hooks/useFeatureStatus'; import HotkeysModal from './HotkeysModal/HotkeysModal'; @@ -44,41 +44,35 @@ const SiteHeader = () => { {isGithubLinkEnabled && ( - } - > - {t('common.githubLabel')} - + + }> + {t('common.githubLabel')} + + )} {isBugLinkEnabled && ( - } - > - {t('common.reportBugLabel')} - + + }> + {t('common.reportBugLabel')} + + )} {isDiscordLinkEnabled && ( - } - > - {t('common.discordLabel')} - + + }> + {t('common.discordLabel')} + + )} - }> + }> {t('common.hotkeysLabel')} - }> + }> {t('common.settingsLabel')} From a6347a1d3c33ca7ccda93391eaf063800ca1491c Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 21:20:47 +1200 Subject: [PATCH 045/106] revert: Translation strings These needs to be done through weblate. Only en.json needs to updated via the repo --- invokeai/frontend/web/public/locales/ar.json | 1 - invokeai/frontend/web/public/locales/de.json | 1 - invokeai/frontend/web/public/locales/es.json | 1 - invokeai/frontend/web/public/locales/fi.json | 1 - invokeai/frontend/web/public/locales/fr.json | 1 - invokeai/frontend/web/public/locales/he.json | 1 - invokeai/frontend/web/public/locales/it.json | 1 - invokeai/frontend/web/public/locales/ja.json | 1 - invokeai/frontend/web/public/locales/ko.json | 1 - invokeai/frontend/web/public/locales/nl.json | 1 - invokeai/frontend/web/public/locales/pl.json | 1 - invokeai/frontend/web/public/locales/pt.json | 1 - invokeai/frontend/web/public/locales/pt_BR.json | 1 - invokeai/frontend/web/public/locales/ru.json | 1 - invokeai/frontend/web/public/locales/sv.json | 1 - invokeai/frontend/web/public/locales/tr.json | 1 - invokeai/frontend/web/public/locales/uk.json | 1 - invokeai/frontend/web/public/locales/zh_CN.json | 1 - invokeai/frontend/web/public/locales/zh_Hant.json | 1 - 19 files changed, 19 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index 90f9051230..e5168da4a8 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "مجتمع", "hotkeysLabel": "مفاتيح الأختصار", "themeLabel": "الموضوع", "languagePickerLabel": "منتقي اللغة", diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index ca854024b8..cff09d46bb 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Gemeinschaft", "themeLabel": "Thema", "languagePickerLabel": "Sprachauswahl", "reportBugLabel": "Fehler melden", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 2ddf892bf5..d17cefaad2 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Comunidad", "hotkeysLabel": "Atajos de teclado", "themeLabel": "Tema", "languagePickerLabel": "Selector de idioma", diff --git a/invokeai/frontend/web/public/locales/fi.json b/invokeai/frontend/web/public/locales/fi.json index cdc28d27a2..a6edd6d8b8 100644 --- a/invokeai/frontend/web/public/locales/fi.json +++ b/invokeai/frontend/web/public/locales/fi.json @@ -22,7 +22,6 @@ "showOptionsPanel": "Näytä asetukset" }, "common": { - "communityLabel": "Yhteisö", "postProcessDesc2": "Erillinen käyttöliittymä tullaan julkaisemaan helpottaaksemme työnkulkua jälkikäsittelyssä.", "training": "Kouluta", "statusLoadingModel": "Ladataan mallia", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index 9821f48567..cf215d7d06 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Communauté", "hotkeysLabel": "Raccourcis clavier", "themeLabel": "Thème", "languagePickerLabel": "Sélecteur de langue", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index 3ffd0b20e7..c9b4ff3b17 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -106,7 +106,6 @@ "modelMergeInterpAddDifferenceHelp": "במצב זה, מודל 3 מופחת תחילה ממודל 2. הגרסה המתקבלת משולבת עם מודל 1 עם קצב האלפא שנקבע לעיל." }, "common": { - "communityLabel": "קהילה", "nodesDesc": "מערכת מבוססת צמתים עבור יצירת תמונות עדיין תחת פיתוח. השארו קשובים לעדכונים עבור הפיצ׳ר המדהים הזה.", "themeLabel": "ערכת נושא", "languagePickerLabel": "בחירת שפה", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 1d85427b8c..4ac5b6831d 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Comunità", "hotkeysLabel": "Tasti di scelta rapida", "themeLabel": "Tema", "languagePickerLabel": "Seleziona lingua", diff --git a/invokeai/frontend/web/public/locales/ja.json b/invokeai/frontend/web/public/locales/ja.json index 78cf5dcb25..007aa9b491 100644 --- a/invokeai/frontend/web/public/locales/ja.json +++ b/invokeai/frontend/web/public/locales/ja.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "コミュニティ", "themeLabel": "テーマ", "languagePickerLabel": "言語選択", "reportBugLabel": "バグ報告", diff --git a/invokeai/frontend/web/public/locales/ko.json b/invokeai/frontend/web/public/locales/ko.json index 854583211a..47cde5fec3 100644 --- a/invokeai/frontend/web/public/locales/ko.json +++ b/invokeai/frontend/web/public/locales/ko.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "지역 사회", "themeLabel": "테마 설정", "languagePickerLabel": "언어 설정", "reportBugLabel": "버그 리포트", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index e34cc9aa97..230e3b5b64 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Gemeenschap", "hotkeysLabel": "Sneltoetsen", "themeLabel": "Thema", "languagePickerLabel": "Taalkeuze", diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 8e6f04c297..246271658a 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Wspólnota", "hotkeysLabel": "Skróty klawiszowe", "themeLabel": "Motyw", "languagePickerLabel": "Wybór języka", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index 3902c04e80..6d19e3ad92 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Comunidade", "greenTheme": "Verde", "langArabic": "العربية", "themeLabel": "Tema", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index 46d6572692..e77ef14719 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Comunidade", "hotkeysLabel": "Teclas de atalho", "themeLabel": "Tema", "languagePickerLabel": "Seletor de Idioma", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 1bd5239a83..822389d78a 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Сообщество", "hotkeysLabel": "Горячие клавиши", "themeLabel": "Тема", "languagePickerLabel": "Язык", diff --git a/invokeai/frontend/web/public/locales/sv.json b/invokeai/frontend/web/public/locales/sv.json index cd72516694..da2266135d 100644 --- a/invokeai/frontend/web/public/locales/sv.json +++ b/invokeai/frontend/web/public/locales/sv.json @@ -22,7 +22,6 @@ "showOptionsPanel": "Visa inställningspanelen" }, "common": { - "communityLabel": "Gemenskap", "hotkeysLabel": "Snabbtangenter", "reportBugLabel": "Rapportera bugg", "githubLabel": "Github", diff --git a/invokeai/frontend/web/public/locales/tr.json b/invokeai/frontend/web/public/locales/tr.json index bc99ed35b7..316908b4a9 100644 --- a/invokeai/frontend/web/public/locales/tr.json +++ b/invokeai/frontend/web/public/locales/tr.json @@ -23,7 +23,6 @@ "showGallery": "Galeriyi Göster" }, "common": { - "communityLabel": "Toplum", "hotkeysLabel": "Kısayol Tuşları", "themeLabel": "Tema", "languagePickerLabel": "Dil Seçimi", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index 55ec0262fe..8261aa82e0 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "Спільнота", "hotkeysLabel": "Гарячi клавіші", "themeLabel": "Тема", "languagePickerLabel": "Мова", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index b2906497d5..d4d7746926 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "社区", "hotkeysLabel": "快捷键", "themeLabel": "主题", "languagePickerLabel": "语言", diff --git a/invokeai/frontend/web/public/locales/zh_Hant.json b/invokeai/frontend/web/public/locales/zh_Hant.json index 5f61cce63b..98b4882018 100644 --- a/invokeai/frontend/web/public/locales/zh_Hant.json +++ b/invokeai/frontend/web/public/locales/zh_Hant.json @@ -1,6 +1,5 @@ { "common": { - "communityLabel": "社區", "nodes": "節點", "img2img": "圖片轉圖片", "langSimplifiedChinese": "簡體中文", From 989b68c772823240f534853649f8b7e29b8f8867 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed, 26 Jul 2023 21:25:50 +1200 Subject: [PATCH 046/106] fix: Remove menu tooltip and fix incorrect issues page link --- .../frontend/web/src/features/system/components/SiteHeader.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx index 6770866df0..fe15e15d09 100644 --- a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx +++ b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx @@ -38,7 +38,6 @@ const SiteHeader = () => { as={IAIIconButton} variant="link" aria-label={t('accessibility.menu')} - tooltip={t('accessibility.menu')} icon={} /> @@ -51,7 +50,7 @@ const SiteHeader = () => { )} {isBugLinkEnabled && ( - + }> {t('common.reportBugLabel')} From 819136c34551ba1a54d8361a812554ee85d2129c Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 26 Jul 2023 22:53:57 +1000 Subject: [PATCH 047/106] chore(ui): bump chakra versions exposes more menu theming config --- invokeai/frontend/web/package.json | 6 +- invokeai/frontend/web/yarn.lock | 1073 ++++++++++++++-------------- 2 files changed, 544 insertions(+), 535 deletions(-) diff --git a/invokeai/frontend/web/package.json b/invokeai/frontend/web/package.json index c58e7bdc97..481ee8f9e7 100644 --- a/invokeai/frontend/web/package.json +++ b/invokeai/frontend/web/package.json @@ -53,11 +53,11 @@ ] }, "dependencies": { - "@chakra-ui/anatomy": "^2.1.1", + "@chakra-ui/anatomy": "^2.2.0", "@chakra-ui/icons": "^2.0.19", - "@chakra-ui/react": "^2.7.1", + "@chakra-ui/react": "^2.8.0", "@chakra-ui/styled-system": "^2.9.1", - "@chakra-ui/theme-tools": "^2.0.18", + "@chakra-ui/theme-tools": "^2.1.0", "@dagrejs/graphlib": "^2.1.13", "@dnd-kit/core": "^6.0.8", "@dnd-kit/modifiers": "^6.0.1", diff --git a/invokeai/frontend/web/yarn.lock b/invokeai/frontend/web/yarn.lock index 35208003d0..17517ce4e0 100644 --- a/invokeai/frontend/web/yarn.lock +++ b/invokeai/frontend/web/yarn.lock @@ -71,56 +71,51 @@ "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" -"@chakra-ui/accordion@2.2.0": +"@chakra-ui/accordion@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-2.3.0.tgz#2c85fd2d2734b176f019f8db9f4e075007b4e1fb" + integrity sha512-A4TkRw3Jnt+Fam6dSSJ62rskdrvjF3JGctYcfXlojfFIpHPuIw4pDwfZgNAxlaxWkcj0e7JJKlQ88dnZW+QfFg== + dependencies: + "@chakra-ui/descendant" "3.1.0" + "@chakra-ui/icon" "3.1.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/transition" "2.1.0" + +"@chakra-ui/alert@2.2.0": version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-2.2.0.tgz#a38ed8e7d0a7ccc6910282f913c42cf6deea7215" - integrity sha512-2IK1iLzTZ22u8GKPPPn65mqJdZidn4AvkgAbv17ISdKA07VHJ8jSd4QF1T5iCXjKfZ0XaXozmhP4kDhjwF2IbQ== + resolved "https://registry.yarnpkg.com/@chakra-ui/alert/-/alert-2.2.0.tgz#b59eadca4f083674dfcd43651b6c47b953c2c984" + integrity sha512-De+BT88iYOu3Con7MxQeICb1SwgAdVdgpHIYjTh3qvGlNXAQjs81rhG0fONXvwW1FIYletvr9DY2Tlg8xJe7tQ== dependencies: - "@chakra-ui/descendant" "3.0.14" - "@chakra-ui/icon" "3.0.16" - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/react-use-controllable-state" "2.0.8" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/icon" "3.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/transition" "2.0.16" + "@chakra-ui/spinner" "2.1.0" -"@chakra-ui/alert@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/alert/-/alert-2.1.0.tgz#7a234ac6426231b39243088648455cbcf1cbdf24" - integrity sha512-OcfHwoXI5VrmM+tHJTHT62Bx6TfyfCxSa0PWUOueJzSyhlUOKBND5we6UtrOB7D0jwX45qKKEDJOLG5yCG21jQ== +"@chakra-ui/anatomy@2.2.0", "@chakra-ui/anatomy@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/anatomy/-/anatomy-2.2.0.tgz#788229829f853dcd03314cd7ddd4f19f056ec24e" + integrity sha512-cD8Ms5C8+dFda0LrORMdxiFhAZwOIY1BSlCadz6/mHUIgNdQy13AHPrXiq6qWdMslqVHq10k5zH7xMPLt6kjFg== + +"@chakra-ui/avatar@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/avatar/-/avatar-2.3.0.tgz#f018a2714d1e3ba5970bcf66558887925fdfccf4" + integrity sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g== dependencies: - "@chakra-ui/icon" "3.0.16" - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/spinner" "2.0.13" - -"@chakra-ui/anatomy@2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/anatomy/-/anatomy-2.1.2.tgz#ea66b1841e7195da08ddc862daaa3f3e56e565f5" - integrity sha512-pKfOS/mztc4sUXHNc8ypJ1gPWSolWT770jrgVRfolVbYlki8y5Y+As996zMF6k5lewTu6j9DQequ7Cc9a69IVQ== - -"@chakra-ui/anatomy@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/anatomy/-/anatomy-2.1.1.tgz#819a1458ff727157e5500a69fc26bfea6e944495" - integrity sha512-LUHAoqJAgxAqmyckG5bUpBrfEo1FleEyY+1A8hkWciy58gZ+h3GoY9oBpHcdo7XdHPpy3G+3hieK/7i9NLwxAw== - -"@chakra-ui/avatar@2.2.11": - version "2.2.11" - resolved "https://registry.yarnpkg.com/@chakra-ui/avatar/-/avatar-2.2.11.tgz#1e5ded963ab3209fe1d16bba21f0aec616be56da" - integrity sha512-CJFkoWvlCTDJTUBrKA/aVyG5Zz6TBEIVmmsJtqC6VcQuVDTxkWod8ruXnjb0LT2DUveL7xR5qZM9a5IXcsH3zg== - dependencies: - "@chakra-ui/image" "2.0.16" + "@chakra-ui/image" "2.1.0" "@chakra-ui/react-children-utils" "2.0.6" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/breadcrumb@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@chakra-ui/breadcrumb/-/breadcrumb-2.1.5.tgz#a43b22cc8005291a615696a8c88efc37064562f3" - integrity sha512-p3eQQrHQBkRB69xOmNyBJqEdfCrMt+e0eOH+Pm/DjFWfIVIbnIaFbmDCeWClqlLa21Ypc6h1hR9jEmvg8kmOog== +"@chakra-ui/breadcrumb@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/breadcrumb/-/breadcrumb-2.2.0.tgz#751bc48498f3c403f97b5d9aae528ebfd405ef48" + integrity sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA== dependencies: "@chakra-ui/react-children-utils" "2.0.6" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/breakpoint-utils@2.0.8": @@ -130,39 +125,39 @@ dependencies: "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/button@2.0.18": - version "2.0.18" - resolved "https://registry.yarnpkg.com/@chakra-ui/button/-/button-2.0.18.tgz#c13d2e404e22a9873ba5373fde494bedafe32fdd" - integrity sha512-E3c99+lOm6ou4nQVOTLkG+IdOPMjsQK+Qe7VyP8A/xeAMFONuibrWPRPpprr4ZkB4kEoLMfNuyH2+aEza3ScUA== +"@chakra-ui/button@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/button/-/button-2.1.0.tgz#623ed32cc92fc8e52492923e9924791fc6f25447" + integrity sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA== dependencies: - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/spinner" "2.0.13" + "@chakra-ui/spinner" "2.1.0" -"@chakra-ui/card@2.1.6": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@chakra-ui/card/-/card-2.1.6.tgz#27176bdee363ecab7d563c4997c4b2fe9e835ecc" - integrity sha512-fFd/WAdRNVY/WOSQv4skpy0WeVhhI0f7dTY1Sm0jVl0KLmuP/GnpsWtKtqWjNcV00K963EXDyhlk6+9oxbP4gw== +"@chakra-ui/card@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/card/-/card-2.2.0.tgz#b5e59dc51c171fced76ea76bf26088803b8bc184" + integrity sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g== dependencies: "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/checkbox@2.2.15": - version "2.2.15" - resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-2.2.15.tgz#e5ff65159f698d50edecee6b661b87e341eace70" - integrity sha512-Ju2yQjX8azgFa5f6VLPuwdGYobZ+rdbcYqjiks848JvPc75UsPhpS05cb4XlrKT7M16I8txDA5rPJdqqFicHCA== +"@chakra-ui/checkbox@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-2.3.0.tgz#6a103555100008fcde0b25a4f3f87267dd6ea073" + integrity sha512-fX7M5sQK27aFWoj7vqnPkf1Q3AHmML/5dIRYfm7HEIsZXYH2C1CkM6+dijeSWIk6a0mp0r3el6SNDUti2ehH8g== dependencies: - "@chakra-ui/form-control" "2.0.18" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/form-control" "2.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-callback-ref" "2.0.7" - "@chakra-ui/react-use-controllable-state" "2.0.8" - "@chakra-ui/react-use-merge-refs" "2.0.7" - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" - "@chakra-ui/react-use-update-effect" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/visually-hidden" "2.0.15" - "@zag-js/focus-visible" "0.2.2" + "@chakra-ui/visually-hidden" "2.1.0" + "@zag-js/focus-visible" "0.10.5" "@chakra-ui/cli@^2.4.1": version "2.4.1" @@ -177,73 +172,73 @@ esbuild "^0.17.18" prettier "^2.8.8" -"@chakra-ui/clickable@2.0.14": - version "2.0.14" - resolved "https://registry.yarnpkg.com/@chakra-ui/clickable/-/clickable-2.0.14.tgz#88093008672a2a30bdd2a30ff815dcc2c88c01a5" - integrity sha512-jfsM1qaD74ZykLHmvmsKRhDyokLUxEfL8Il1VoZMNX5RBI0xW/56vKpLTFF/v/+vLPLS+Te2cZdD4+2O+G6ulA== +"@chakra-ui/clickable@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/clickable/-/clickable-2.1.0.tgz#800fa8d10cf45a41fc50a3df32c679a3ce1921c3" + integrity sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw== dependencies: - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/close-button@2.0.17": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@chakra-ui/close-button/-/close-button-2.0.17.tgz#d43d3a2ea1f08250f8d0da7704baf0e1fbd91b4b" - integrity sha512-05YPXk456t1Xa3KpqTrvm+7smx+95dmaPiwjiBN3p7LHUQVHJd8ZXSDB0V+WKi419k3cVQeJUdU/azDO2f40sw== +"@chakra-ui/close-button@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/close-button/-/close-button-2.1.0.tgz#5af435a62919793dc713be321eaff1f61749b6d5" + integrity sha512-KfJcz6UAaR2dDWSIv6UrCGkZQS54Fjl+DEEVOUTJ7gf4KOP4FQZCkv8hqsAB9FeCtnwU43adq2oaw3aZH/Uzew== dependencies: - "@chakra-ui/icon" "3.0.16" + "@chakra-ui/icon" "3.1.0" -"@chakra-ui/color-mode@2.1.12": - version "2.1.12" - resolved "https://registry.yarnpkg.com/@chakra-ui/color-mode/-/color-mode-2.1.12.tgz#c0caeadd5f87fadbeefc6826beabac6c4a88d8f5" - integrity sha512-sYyfJGDoJSLYO+V2hxV9r033qhte5Nw/wAn5yRGGZnEEN1dKPEdWQ3XZvglWSDTNd0w9zkoH2w6vP4FBBYb/iw== +"@chakra-ui/color-mode@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz#828d47234c74ba2fb4c5dd63a63331aead20b9f6" + integrity sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg== dependencies: - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" -"@chakra-ui/control-box@2.0.13": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@chakra-ui/control-box/-/control-box-2.0.13.tgz#ffe9634d0c3aecb8e1eb7da19e64fb3d2b181d03" - integrity sha512-FEyrU4crxati80KUF/+1Z1CU3eZK6Sa0Yv7Z/ydtz9/tvGblXW9NFanoomXAOvcIFLbaLQPPATm9Gmpr7VG05A== +"@chakra-ui/control-box@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/control-box/-/control-box-2.1.0.tgz#0f4586797b3154c02463bc5c106782e70c88f04f" + integrity sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg== -"@chakra-ui/counter@2.0.14": - version "2.0.14" - resolved "https://registry.yarnpkg.com/@chakra-ui/counter/-/counter-2.0.14.tgz#6e37a863afd2e87d7c94208245e81777640e76e2" - integrity sha512-KxcSRfUbb94dP77xTip2myoE7P2HQQN4V5fRJmNAGbzcyLciJ+aDylUU/UxgNcEjawUp6Q242NbWb1TSbKoqog== +"@chakra-ui/counter@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/counter/-/counter-2.1.0.tgz#e413a2f1093a18f847bb7aa240117fde788a59e6" + integrity sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw== dependencies: "@chakra-ui/number-utils" "2.0.7" - "@chakra-ui/react-use-callback-ref" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/css-reset@2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/css-reset/-/css-reset-2.1.2.tgz#a4cd1601e8376a74b8dd62a9089cb8aaac1ee800" - integrity sha512-4ySTLd+3iRpp4lX0yI9Yo2uQm2f+qwYGNOZF0cNcfN+4UJCd3IsaWxYRR/Anz+M51NVldZbYzC+TEYC/kpJc4A== +"@chakra-ui/css-reset@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/css-reset/-/css-reset-2.2.0.tgz#7bd8da563941709cd68e2d1cf1e71279bec038ea" + integrity sha512-nn7hjquIrPwCzwI4d/Y4wzM5A5xAeswREOfT8gT0Yd+U+Qnw3pPT8NPLbNJ3DvuOfJaCV6/N5ld/6RRTgYF/sQ== -"@chakra-ui/descendant@3.0.14": - version "3.0.14" - resolved "https://registry.yarnpkg.com/@chakra-ui/descendant/-/descendant-3.0.14.tgz#fe8bac3f0e1ffe562e3e73eac393dbf222d57e13" - integrity sha512-+Ahvp9H4HMpfScIv9w1vaecGz7qWAaK1YFHHolz/SIsGLaLGlbdp+5UNabQC7L6TUnzzJDQDxzwif78rTD7ang== +"@chakra-ui/descendant@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/descendant/-/descendant-3.1.0.tgz#f3b80ed13ffc4bf1d615b3ed5541bd0905375cca" + integrity sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ== dependencies: - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/dom-utils@2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz#d15df89e458ef19756db04c7cfd084eb552454f0" integrity sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ== -"@chakra-ui/editable@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/editable/-/editable-3.0.0.tgz#b61d4fba5a581b41856ebd85fd5d17c96a224323" - integrity sha512-q/7C/TM3iLaoQKlEiM8AY565i9NoaXtS6N6N4HWIEL5mZJPbMeHKxrCHUZlHxYuQJqFOGc09ZPD9fAFx1GkYwQ== +"@chakra-ui/editable@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/editable/-/editable-3.1.0.tgz#065783c2e3389c3bb9ab0582cb50d38e1dc00fa1" + integrity sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg== dependencies: - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-callback-ref" "2.0.7" - "@chakra-ui/react-use-controllable-state" "2.0.8" - "@chakra-ui/react-use-focus-on-pointer-down" "2.0.6" - "@chakra-ui/react-use-merge-refs" "2.0.7" - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" - "@chakra-ui/react-use-update-effect" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-focus-on-pointer-down" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/event-utils@2.0.8": @@ -251,23 +246,23 @@ resolved "https://registry.yarnpkg.com/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz#e6439ba200825a2f15d8f1973d267d1c00a6d1b4" integrity sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw== -"@chakra-ui/focus-lock@2.0.17": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@chakra-ui/focus-lock/-/focus-lock-2.0.17.tgz#c1896a80896e752b88e8681f9c9d626046de6dd5" - integrity sha512-V+m4Ml9E8QY66DUpHX/imInVvz5XJ5zx59Tl0aNancXgeVY1Rt/ZdxuZdPLCAmPC/MF3GUOgnEA+WU8i+VL6Gw== +"@chakra-ui/focus-lock@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz#580e5450fe85356987b9a246abaff8333369c667" + integrity sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w== dependencies: "@chakra-ui/dom-utils" "2.1.0" react-focus-lock "^2.9.4" -"@chakra-ui/form-control@2.0.18": - version "2.0.18" - resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-2.0.18.tgz#1923f293afde70b2b07ca731d98fef3660098c56" - integrity sha512-I0a0jG01IAtRPccOXSNugyRdUAe8Dy40ctqedZvznMweOXzbMCF1m+sHPLdWeWC/VI13VoAispdPY0/zHOdjsQ== +"@chakra-ui/form-control@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-2.1.0.tgz#a48ad454428c03daaaf71671925becd02a2c3f66" + integrity sha512-3QmWG9v6Rx+JOwJP3Wt89+AWZxK0F1NkVAgXP3WVfE9VDXOKFRV/faLT0GEe2V+l7WZHF5PLdEBvKG8Cgw2mkA== dependencies: - "@chakra-ui/icon" "3.0.16" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/icon" "3.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/hooks@2.2.0": @@ -287,6 +282,13 @@ dependencies: "@chakra-ui/shared-utils" "2.0.5" +"@chakra-ui/icon@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/icon/-/icon-3.1.0.tgz#48312c071b3a0ed20ce807c8bd24d5f3e9cfdb7f" + integrity sha512-t6v0lGCXRbwUJycN8A/nDTuLktMP+LRjKbYJnd2oL6Pm2vOl99XwEQ5cAEyEa4XoseYNEgXiLR+2TfvgfNFvcw== + dependencies: + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/icons@^2.0.19": version "2.0.19" resolved "https://registry.yarnpkg.com/@chakra-ui/icons/-/icons-2.0.19.tgz#b4581a59c2e2a2b95b01ab251eabb8cf984bb00f" @@ -294,35 +296,35 @@ dependencies: "@chakra-ui/icon" "3.0.16" -"@chakra-ui/image@2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@chakra-ui/image/-/image-2.0.16.tgz#0e3a48c3caa6dc1d340502ea96766d9ef31e27e8" - integrity sha512-iFypk1slgP3OK7VIPOtkB0UuiqVxNalgA59yoRM43xLIeZAEZpKngUVno4A2kFS61yKN0eIY4hXD3Xjm+25EJA== +"@chakra-ui/image@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/image/-/image-2.1.0.tgz#6c205f1ca148e3bf58345b0b5d4eb3d959eb9f87" + integrity sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA== dependencies: - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/input@2.0.22": - version "2.0.22" - resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-2.0.22.tgz#4c1f166f53555c698bb65950772314f78c147450" - integrity sha512-dCIC0/Q7mjZf17YqgoQsnXn0bus6vgriTRn8VmxOc+WcVl+KBSTBWujGrS5yu85WIFQ0aeqQvziDnDQybPqAbA== +"@chakra-ui/input@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-2.1.0.tgz#45a2e2ccdd65dc9f6dee11b6e3043438864bf806" + integrity sha512-HItI2vq6vupCuixdzof4sIanGdLlszhDtlR5be5z8Nrda1RkXVqI+9CTJPbNsx2nIKEfwPt01pnT9mozoOSMMw== dependencies: - "@chakra-ui/form-control" "2.0.18" + "@chakra-ui/form-control" "2.1.0" "@chakra-ui/object-utils" "2.1.0" "@chakra-ui/react-children-utils" "2.0.6" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/layout@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-2.2.0.tgz#a0832ba419743d8d7e442acfce59740626664d2f" - integrity sha512-WvfsWQjqzbCxv7pbpPGVKxj9eQr7MC2i37ag4Wn7ClIG7uPuwHYTUWOnjnu27O3H/zA4cRVZ4Hs3GpSPbojZFQ== +"@chakra-ui/layout@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-2.3.0.tgz#c53219235db737202006b8b0881b82fedcf3b225" + integrity sha512-tp1/Bn+cHn0Q4HWKY62HtOwzhpH1GUA3i5fvs23HEhOEryTps05hyuQVeJ71fLqSs6f1QEIdm+9It+5WCj64vQ== dependencies: "@chakra-ui/breakpoint-utils" "2.0.8" - "@chakra-ui/icon" "3.0.16" + "@chakra-ui/icon" "3.1.0" "@chakra-ui/object-utils" "2.1.0" "@chakra-ui/react-children-utils" "2.0.6" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/lazy-utils@2.0.5": @@ -330,73 +332,73 @@ resolved "https://registry.yarnpkg.com/@chakra-ui/lazy-utils/-/lazy-utils-2.0.5.tgz#363c3fa1d421362790b416ffa595acb835e1ae5b" integrity sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg== -"@chakra-ui/live-region@2.0.13": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@chakra-ui/live-region/-/live-region-2.0.13.tgz#1d00a637b74372d1ee0b215c649ebd4a33893e58" - integrity sha512-Ja+Slk6ZkxSA5oJzU2VuGU7TpZpbMb/4P4OUhIf2D30ctmIeXkxTWw1Bs1nGJAVtAPcGS5sKA+zb89i8g+0cTQ== +"@chakra-ui/live-region@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/live-region/-/live-region-2.1.0.tgz#02b4b1d997075f19a7a9a87187e08c72e82ef0dd" + integrity sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw== -"@chakra-ui/media-query@3.2.12": - version "3.2.12" - resolved "https://registry.yarnpkg.com/@chakra-ui/media-query/-/media-query-3.2.12.tgz#75e31f3c88818e687a4d90a2993286c2c3ca2453" - integrity sha512-8pSLDf3oxxhFrhd40rs7vSeIBfvOmIKHA7DJlGUC/y+9irD24ZwgmCtFnn+y3gI47hTJsopbSX+wb8nr7XPswA== +"@chakra-ui/media-query@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/media-query/-/media-query-3.3.0.tgz#40f9151dedb6a7af9df3be0474b59a799c92c619" + integrity sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g== dependencies: "@chakra-ui/breakpoint-utils" "2.0.8" - "@chakra-ui/react-env" "3.0.0" + "@chakra-ui/react-env" "3.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/menu@2.1.15": - version "2.1.15" - resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-2.1.15.tgz#116520a2746d848e2a44fdbf03d66353cd1e1b39" - integrity sha512-+1fh7KBKZyhy8wi7Q6nQAzrvjM6xggyhGMnSna0rt6FJVA2jlfkjb5FozyIVPnkfJKjkKd8THVhrs9E7pHNV/w== +"@chakra-ui/menu@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-2.2.0.tgz#ba74b538a3fa3dc46313368ed2878f92b479e6d7" + integrity sha512-l7HQjriW4JGeCyxDdguAzekwwB+kHGDLxACi0DJNp37sil51SRaN1S1OrneISbOHVpHuQB+KVNgU0rqhoglVew== dependencies: - "@chakra-ui/clickable" "2.0.14" - "@chakra-ui/descendant" "3.0.14" + "@chakra-ui/clickable" "2.1.0" + "@chakra-ui/descendant" "3.1.0" "@chakra-ui/lazy-utils" "2.0.5" - "@chakra-ui/popper" "3.0.14" + "@chakra-ui/popper" "3.1.0" "@chakra-ui/react-children-utils" "2.0.6" - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/react-use-animation-state" "2.0.9" - "@chakra-ui/react-use-controllable-state" "2.0.8" - "@chakra-ui/react-use-disclosure" "2.0.8" - "@chakra-ui/react-use-focus-effect" "2.0.11" - "@chakra-ui/react-use-merge-refs" "2.0.7" - "@chakra-ui/react-use-outside-click" "2.1.0" - "@chakra-ui/react-use-update-effect" "2.0.7" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-animation-state" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-disclosure" "2.1.0" + "@chakra-ui/react-use-focus-effect" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-outside-click" "2.2.0" + "@chakra-ui/react-use-update-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/transition" "2.0.16" + "@chakra-ui/transition" "2.1.0" -"@chakra-ui/modal@2.2.12": - version "2.2.12" - resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-2.2.12.tgz#8c6dc66a6db4abdaf6f5e0dae70183ee41ce361a" - integrity sha512-F1nNmYGvyqlmxidbwaBM3y57NhZ/Qeyc8BE9tb1FL1v9nxQhkfrPvMQ9miK0O1syPN6aZ5MMj+uD3AsRFE+/tA== +"@chakra-ui/modal@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-2.3.0.tgz#f7c35bb457c3c4be391c9366f892a5a779af810a" + integrity sha512-S1sITrIeLSf21LJ0Vz8xZhj5fWEud5z5Dl2dmvOEv1ezypgOrCCBdOEnnqCkoEKZDbKvzZWZXWR5791ikLP6+g== dependencies: - "@chakra-ui/close-button" "2.0.17" - "@chakra-ui/focus-lock" "2.0.17" - "@chakra-ui/portal" "2.0.16" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/close-button" "2.1.0" + "@chakra-ui/focus-lock" "2.1.0" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/transition" "2.0.16" + "@chakra-ui/transition" "2.1.0" aria-hidden "^1.2.2" react-remove-scroll "^2.5.5" -"@chakra-ui/number-input@2.0.19": - version "2.0.19" - resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-2.0.19.tgz#82d4522036904c04d07e7050822fc522f9b32233" - integrity sha512-HDaITvtMEqOauOrCPsARDxKD9PSHmhWywpcyCSOX0lMe4xx2aaGhU0QQFhsJsykj8Er6pytMv6t0KZksdDv3YA== +"@chakra-ui/number-input@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-2.1.0.tgz#7812a6602edbed26829a8f7defe8c4f9f175421a" + integrity sha512-/gEAzQHhrMA+1rzyCMaN8OkKtUPuER6iA+nloYEYBoT7dH/EoNlRtBkiIQhDp+E4VpgZJ0SK3OVrm9/eBbtHHg== dependencies: - "@chakra-ui/counter" "2.0.14" - "@chakra-ui/form-control" "2.0.18" - "@chakra-ui/icon" "3.0.16" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/counter" "2.1.0" + "@chakra-ui/form-control" "2.1.0" + "@chakra-ui/icon" "3.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-callback-ref" "2.0.7" - "@chakra-ui/react-use-event-listener" "2.0.7" - "@chakra-ui/react-use-interval" "2.0.5" - "@chakra-ui/react-use-merge-refs" "2.0.7" - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" - "@chakra-ui/react-use-update-effect" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/react-use-event-listener" "2.1.0" + "@chakra-ui/react-use-interval" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/number-utils@2.0.7": @@ -409,216 +411,216 @@ resolved "https://registry.yarnpkg.com/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz#a4ecf9cea92f1de09f5531f53ffdc41e0b19b6c3" integrity sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ== -"@chakra-ui/pin-input@2.0.20": - version "2.0.20" - resolved "https://registry.yarnpkg.com/@chakra-ui/pin-input/-/pin-input-2.0.20.tgz#5bf115bf4282b69fc6532a9c542cbf41f815d200" - integrity sha512-IHVmerrtHN8F+jRB3W1HnMir1S1TUCWhI7qDInxqPtoRffHt6mzZgLZ0izx8p1fD4HkW4c1d4/ZLEz9uH9bBRg== +"@chakra-ui/pin-input@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/pin-input/-/pin-input-2.1.0.tgz#61e6bbf909ec510634307b2861c4f1891a9f8d81" + integrity sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw== dependencies: - "@chakra-ui/descendant" "3.0.14" + "@chakra-ui/descendant" "3.1.0" "@chakra-ui/react-children-utils" "2.0.6" - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/react-use-controllable-state" "2.0.8" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/popover@2.1.12": - version "2.1.12" - resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-2.1.12.tgz#093bb60f7c044f829e2acc3a93f0c1077ba58cfb" - integrity sha512-Corh8trA1f3ydcMQqomgSvYNNhAlpxiBpMY2sglwYazOJcueHA8CI05cJVD0T/wwoTob7BShabhCGFZThn61Ng== +"@chakra-ui/popover@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-2.2.0.tgz#470c4814447010a1b7db6839fcc3e8983cbabb60" + integrity sha512-cTqXdgkU0vgK82AR1nWcC2MJYhEL/y6uTeprvO2+j4o2D0yPrzVMuIZZRl0abrQwiravQyVGEMgA5y0ZLYwbiQ== dependencies: - "@chakra-ui/close-button" "2.0.17" + "@chakra-ui/close-button" "2.1.0" "@chakra-ui/lazy-utils" "2.0.5" - "@chakra-ui/popper" "3.0.14" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/popper" "3.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-animation-state" "2.0.9" - "@chakra-ui/react-use-disclosure" "2.0.8" - "@chakra-ui/react-use-focus-effect" "2.0.11" - "@chakra-ui/react-use-focus-on-pointer-down" "2.0.6" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-use-animation-state" "2.1.0" + "@chakra-ui/react-use-disclosure" "2.1.0" + "@chakra-ui/react-use-focus-effect" "2.1.0" + "@chakra-ui/react-use-focus-on-pointer-down" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/popper@3.0.14": - version "3.0.14" - resolved "https://registry.yarnpkg.com/@chakra-ui/popper/-/popper-3.0.14.tgz#598feec8825df99270585319f7becbb6cf33558a" - integrity sha512-RDMmmSfjsmHJbVn2agDyoJpTbQK33fxx//njwJdeyM0zTG/3/4xjI/Cxru3acJ2Y+1jFGmPqhO81stFjnbtfIw== +"@chakra-ui/popper@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/popper/-/popper-3.1.0.tgz#92a9180c6894763af3b22a6003f9a9d958fe2659" + integrity sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg== dependencies: "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@popperjs/core" "^2.9.3" -"@chakra-ui/portal@2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@chakra-ui/portal/-/portal-2.0.16.tgz#e5ce3f9d9e559f17a95276e0c006d0e9b7703442" - integrity sha512-bVID0qbQ0l4xq38LdqAN4EKD4/uFkDnXzFwOlviC9sl0dNhzICDb1ltuH/Adl1d2HTMqyN60O3GO58eHy7plnQ== +"@chakra-ui/portal@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/portal/-/portal-2.1.0.tgz#9e7f57424d7041738b6563cac80134561080bd27" + integrity sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg== dependencies: - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" -"@chakra-ui/progress@2.1.6": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@chakra-ui/progress/-/progress-2.1.6.tgz#398db20440979c37adb0a34821f805ae3471873b" - integrity sha512-hHh5Ysv4z6bK+j2GJbi/FT9CVyto2PtNUNwBmr3oNMVsoOUMoRjczfXvvYqp0EHr9PCpxqrq7sRwgQXUzhbDSw== +"@chakra-ui/progress@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/progress/-/progress-2.2.0.tgz#67444ea9779631d7c8395b2c9c78e5634f994999" + integrity sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ== dependencies: - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/react-context" "2.1.0" -"@chakra-ui/provider@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-2.3.0.tgz#18b3bdc3087e90569049832b2f0f4f8afd5cedf6" - integrity sha512-vKgmjoLVS3NnHW8RSYwmhhda2ZTi3fQc1egkYSVwngGky4CsN15I+XDhxJitVd66H41cjah/UNJyoeq7ACseLA== +"@chakra-ui/provider@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-2.4.0.tgz#1649e607b7dddd8dd160e624946769a29f67d9a3" + integrity sha512-KJ/TNczpY+EStQXa2Y5PZ+senlBHrY7P+RpBgJLBZLGkQUCS3APw5KvCwgpA0COb2M4AZXCjw+rm+Ko7ontlgA== dependencies: - "@chakra-ui/css-reset" "2.1.2" - "@chakra-ui/portal" "2.0.16" - "@chakra-ui/react-env" "3.0.0" - "@chakra-ui/system" "2.5.8" + "@chakra-ui/css-reset" "2.2.0" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/react-env" "3.1.0" + "@chakra-ui/system" "2.6.0" "@chakra-ui/utils" "2.0.15" -"@chakra-ui/radio@2.0.22": - version "2.0.22" - resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-2.0.22.tgz#fad0ce7c9ba4051991ed517cac4cfe526d6d47d9" - integrity sha512-GsQ5WAnLwivWl6gPk8P1x+tCcpVakCt5R5T0HumF7DGPXKdJbjS+RaFySrbETmyTJsKY4QrfXn+g8CWVrMjPjw== +"@chakra-ui/radio@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-2.1.0.tgz#68b2cb4193570369568052cb1254163224a1479c" + integrity sha512-WiRlSCqKWgy4m9106w4g77kcLYqBxqGhFRO1pTTJp99rxpM6jNadOeK+moEjqj64N9mSz3njEecMJftKKcOYdg== dependencies: - "@chakra-ui/form-control" "2.0.18" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/form-control" "2.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" - "@zag-js/focus-visible" "0.2.2" + "@zag-js/focus-visible" "0.10.5" "@chakra-ui/react-children-utils@2.0.6": version "2.0.6" resolved "https://registry.yarnpkg.com/@chakra-ui/react-children-utils/-/react-children-utils-2.0.6.tgz#6c480c6a60678fcb75cb7d57107c7a79e5179b92" integrity sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA== -"@chakra-ui/react-context@2.0.8": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-context/-/react-context-2.0.8.tgz#5e0ed33ac3995875a21dea0e12b0ee5fc4c2e3cc" - integrity sha512-tRTKdn6lCTXM6WPjSokAAKCw2ioih7Eg8cNgaYRSwKBck8nkz9YqxgIIEj3dJD7MGtpl24S/SNI98iRWkRwR/A== +"@chakra-ui/react-context@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-context/-/react-context-2.1.0.tgz#4858be1d5ff1c8ac0a0ec088d93a3b7f1cbbff99" + integrity sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w== -"@chakra-ui/react-env@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-env/-/react-env-3.0.0.tgz#2c3c9dc0e529b9b474a386a2b24988317b2a0811" - integrity sha512-tfMRO2v508HQWAqSADFrwZgR9oU10qC97oV6zGbjHh9ALP0/IcFR+Bi71KRTveDTm85fMeAzZYGj57P3Dsipkw== +"@chakra-ui/react-env@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-env/-/react-env-3.1.0.tgz#7d3c1c05a501bb369524d9f3d38c9325eb16ab50" + integrity sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw== dependencies: - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" "@chakra-ui/react-types@2.0.7": version "2.0.7" resolved "https://registry.yarnpkg.com/@chakra-ui/react-types/-/react-types-2.0.7.tgz#799c166a44882b23059c8f510eac9bd5d0869ac4" integrity sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ== -"@chakra-ui/react-use-animation-state@2.0.9": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.9.tgz#8e6377e7583cc80c649cdc443c90ab5b48a03e78" - integrity sha512-WFoD5OG03PBmzJCoRwM8rVfU442AvKBPPgA0yGGlKioH29OGuX7W78Ml+cYdXxonTiB03YSRZzUwaUnP4wAy1Q== - dependencies: - "@chakra-ui/dom-utils" "2.1.0" - "@chakra-ui/react-use-event-listener" "2.0.7" - -"@chakra-ui/react-use-callback-ref@2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.7.tgz#9b844a81037d0ecaaa8031979fa050165635e211" - integrity sha512-YjT76nTpfHAK5NxplAlZsQwNju5KmQExnqsWNPFeOR6vvbC34+iPSTr+r91i1Hdy7gBSbevsOsd5Wm6RN3GuMw== - -"@chakra-ui/react-use-controllable-state@2.0.8": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.8.tgz#6b71187e03be632c244dde9f16ed685428087ec9" - integrity sha512-F7rdCbLEmRjwwODqWZ3y+mKgSSHPcLQxeUygwk1BkZPXbKkJJKymOIjIynil2cbH7ku3hcSIWRvuhpCcfQWJ7Q== - dependencies: - "@chakra-ui/react-use-callback-ref" "2.0.7" - -"@chakra-ui/react-use-disclosure@2.0.8": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.8.tgz#e0e0445afc6d6d96bb262b99751e675034c31497" - integrity sha512-2ir/mHe1YND40e+FyLHnDsnDsBQPwzKDLzfe9GZri7y31oU83JSbHdlAXAhp3bpjohslwavtRCp+S/zRxfO9aQ== - dependencies: - "@chakra-ui/react-use-callback-ref" "2.0.7" - -"@chakra-ui/react-use-event-listener@2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.7.tgz#ed08164164e79183d876eeb71e12c6bfaca3ad17" - integrity sha512-4wvpx4yudIO3B31pOrXuTHDErawmwiXnvAN7gLEOVREi16+YGNcFnRJ5X5nRrmB7j2MDUtsEDpRBFfw5Z9xQ5g== - dependencies: - "@chakra-ui/react-use-callback-ref" "2.0.7" - -"@chakra-ui/react-use-focus-effect@2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.11.tgz#9a5c76981677fc356308526c7d2b3dc48101ea06" - integrity sha512-/zadgjaCWD50TfuYsO1vDS2zSBs2p/l8P2DPEIA8FuaowbBubKrk9shKQDWmbfDU7KArGxPxrvo+VXvskPPjHw== - dependencies: - "@chakra-ui/dom-utils" "2.1.0" - "@chakra-ui/react-use-event-listener" "2.0.7" - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" - "@chakra-ui/react-use-update-effect" "2.0.7" - -"@chakra-ui/react-use-focus-on-pointer-down@2.0.6": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.6.tgz#13330eb518c17e591c908cb8f4a30d43a978e3f2" - integrity sha512-OigXiLRVySn3tyVqJ/rn57WGuukW8TQe8fJYiLwXbcNyAMuYYounvRxvCy2b53sQ7QIZamza0N0jhirbH5FNoQ== - dependencies: - "@chakra-ui/react-use-event-listener" "2.0.7" - -"@chakra-ui/react-use-interval@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-interval/-/react-use-interval-2.0.5.tgz#c1a0043bf188b19b790a27668f4e860391335a60" - integrity sha512-1nbdwMi2K87V6p5f5AseOKif2CkldLaJlq1TOqaPRwb7v3aU9rltBtYdf+fIyuHSToNJUV6wd9budCFdLCl3Fg== - dependencies: - "@chakra-ui/react-use-callback-ref" "2.0.7" - -"@chakra-ui/react-use-latest-ref@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.5.tgz#b61dc4dadda340f7b14df0ec1d50ab2e507b3b3e" - integrity sha512-3mIuFzMyIo3Ok/D8uhV9voVg7KkrYVO/pwVvNPJOHsDQqCA6DpYE4WDsrIx+fVcwad3Ta7SupexR5PoI+kq6QQ== - -"@chakra-ui/react-use-merge-refs@2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.7.tgz#1a1fe800fb5501ec3da4088fbac78c03bbad13a7" - integrity sha512-zds4Uhsc+AMzdH8JDDkLVet9baUBgtOjPbhC5r3A0ZXjZvGhCztFAVE3aExYiVoMPoHLKbLcqvCWE6ioFKz1lw== - -"@chakra-ui/react-use-outside-click@2.1.0": +"@chakra-ui/react-use-animation-state@2.1.0": version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.1.0.tgz#f7e27653c470e516c55d79df67ed8b0ba2c4ec8d" - integrity sha512-JanCo4QtWvMl9ZZUpKJKV62RlMWDFdPCE0Q64a7eWTOQgWWcpyBW7TOYRunQTqrK30FqkYFJCOlAWOtn+6Rw7A== + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.1.0.tgz#eab661fbafd96804fe867b0df0c27e78feefe6e2" + integrity sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg== dependencies: - "@chakra-ui/react-use-callback-ref" "2.0.7" + "@chakra-ui/dom-utils" "2.1.0" + "@chakra-ui/react-use-event-listener" "2.1.0" -"@chakra-ui/react-use-pan-event@2.0.9": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.9.tgz#0ff33a285e75a692d1ed52dbb9f3046a593b8004" - integrity sha512-xu35QXkiyrgsHUOnctl+SwNcwf9Rl62uYE5y8soKOZdBm8E+FvZIt2hxUzK1EoekbJCMzEZ0Yv1ZQCssVkSLaQ== +"@chakra-ui/react-use-callback-ref@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz#a508085f4d9e7d84d4ceffdf5f41745c9ac451d7" + integrity sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ== + +"@chakra-ui/react-use-controllable-state@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.1.0.tgz#8fb6fa2f45d0c04173582ae8297e604ffdb9c7d9" + integrity sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-disclosure@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.1.0.tgz#90093eaf45db1bea7a6851dd0ce5cdb3eb66f90a" + integrity sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-event-listener@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.1.0.tgz#afea2645bd9b38f754fc2b8eb858f9bb22385ded" + integrity sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-focus-effect@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.1.0.tgz#963fb790370dfadd51d12666ff2da60706f53a2a" + integrity sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ== + dependencies: + "@chakra-ui/dom-utils" "2.1.0" + "@chakra-ui/react-use-event-listener" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" + +"@chakra-ui/react-use-focus-on-pointer-down@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.1.0.tgz#2fbcf6bc7d06d97606747e231a908d5c387ca0cc" + integrity sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg== + dependencies: + "@chakra-ui/react-use-event-listener" "2.1.0" + +"@chakra-ui/react-use-interval@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-interval/-/react-use-interval-2.1.0.tgz#2602c097b3ab74b6644812e4f5efaad621218d98" + integrity sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-latest-ref@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.1.0.tgz#d1e926130102566ece1d39f8a48ed125e0c8441a" + integrity sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ== + +"@chakra-ui/react-use-merge-refs@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz#c0c233527abdbea9a1348269c192012205762314" + integrity sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ== + +"@chakra-ui/react-use-outside-click@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.2.0.tgz#5570b772a255f6f02b69e967127397c1b5fa3d3c" + integrity sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-pan-event@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.1.0.tgz#51c21bc3c0e9e73d1faef5ea4f7e3c3d071a2758" + integrity sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg== dependencies: "@chakra-ui/event-utils" "2.0.8" - "@chakra-ui/react-use-latest-ref" "2.0.5" + "@chakra-ui/react-use-latest-ref" "2.1.0" framesync "6.1.2" -"@chakra-ui/react-use-previous@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-previous/-/react-use-previous-2.0.5.tgz#65836cc81e3a1bf4252cd08a71094f1be827b56c" - integrity sha512-BIZgjycPE4Xr+MkhKe0h67uHXzQQkBX/u5rYPd65iMGdX1bCkbE0oorZNfOHLKdTmnEb4oVsNvfN6Rfr+Mnbxw== +"@chakra-ui/react-use-previous@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-previous/-/react-use-previous-2.1.0.tgz#f6046e6f7398b1e8d7e66ff7ebb8d61c92a2d3d0" + integrity sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg== -"@chakra-ui/react-use-safe-layout-effect@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.5.tgz#6cf388c37fd2a42b5295a292e149b32f860a00a7" - integrity sha512-MwAQBz3VxoeFLaesaSEN87reVNVbjcQBDex2WGexAg6hUB6n4gc1OWYH/iXp4tzp4kuggBNhEHkk9BMYXWfhJQ== +"@chakra-ui/react-use-safe-layout-effect@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz#3a95f0ba6fd5d2d0aa14919160f2c825f13e686f" + integrity sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw== -"@chakra-ui/react-use-size@2.0.10": - version "2.0.10" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-size/-/react-use-size-2.0.10.tgz#6131950852490c06e5fb3760bf64097c8057391f" - integrity sha512-fdIkH14GDnKQrtQfxX8N3gxbXRPXEl67Y3zeD9z4bKKcQUAYIMqs0MsPZY+FMpGQw8QqafM44nXfL038aIrC5w== +"@chakra-ui/react-use-size@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-size/-/react-use-size-2.1.0.tgz#fcf3070eaade8b4a84af8ce5341c4d5ca0a42bec" + integrity sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A== dependencies: - "@zag-js/element-size" "0.3.2" + "@zag-js/element-size" "0.10.5" -"@chakra-ui/react-use-timeout@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.5.tgz#13c4e48e48d4b84ce1e062f0f1c9ec401ece78c9" - integrity sha512-QqmB+jVphh3h/CS60PieorpY7UqSPkrQCB7f7F+i9vwwIjtP8fxVHMmkb64K7VlzQiMPzv12nlID5dqkzlv0mw== +"@chakra-ui/react-use-timeout@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz#24415f54267d7241a3c1d36a5cae4d472834cef7" + integrity sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ== dependencies: - "@chakra-ui/react-use-callback-ref" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" -"@chakra-ui/react-use-update-effect@2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.7.tgz#f94b7975ebb150c03d410e754b54f0e9dd263134" - integrity sha512-vBM2bmmM83ZdDtasWv3PXPznpTUd+FvqBC8J8rxoRmvdMEfrxTiQRBJhiGHLpS9BPLLPQlosN6KdFU97csB6zg== +"@chakra-ui/react-use-update-effect@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz#5c57cd1f50c2a6a8119e0f57f69510723d69884b" + integrity sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA== "@chakra-ui/react-utils@2.0.12": version "2.0.12" @@ -627,71 +629,71 @@ dependencies: "@chakra-ui/utils" "2.0.15" -"@chakra-ui/react@^2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-2.7.1.tgz#1419a4856b7dd74a558ced97f148a97d4953109e" - integrity sha512-uIYIAg+gnUoRbgdCfSEVvQnrEz0oWWXATGGSQpxmuJovNVyZKnX/Xug7NkWQfBUJPYRSG+VB69ZmsAFpyLSMtA== +"@chakra-ui/react@^2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-2.8.0.tgz#cc76a2448f9bc85f1645a1afb90d5756a5313ac3" + integrity sha512-tV82DaqE4fMbLIWq58BYh4Ol3gAlNEn+qYOzx8bPrZudboEDnboq8aVfSBwWOY++MLWz2Nn7CkT69YRm91e5sg== dependencies: - "@chakra-ui/accordion" "2.2.0" - "@chakra-ui/alert" "2.1.0" - "@chakra-ui/avatar" "2.2.11" - "@chakra-ui/breadcrumb" "2.1.5" - "@chakra-ui/button" "2.0.18" - "@chakra-ui/card" "2.1.6" - "@chakra-ui/checkbox" "2.2.15" - "@chakra-ui/close-button" "2.0.17" - "@chakra-ui/control-box" "2.0.13" - "@chakra-ui/counter" "2.0.14" - "@chakra-ui/css-reset" "2.1.2" - "@chakra-ui/editable" "3.0.0" - "@chakra-ui/focus-lock" "2.0.17" - "@chakra-ui/form-control" "2.0.18" + "@chakra-ui/accordion" "2.3.0" + "@chakra-ui/alert" "2.2.0" + "@chakra-ui/avatar" "2.3.0" + "@chakra-ui/breadcrumb" "2.2.0" + "@chakra-ui/button" "2.1.0" + "@chakra-ui/card" "2.2.0" + "@chakra-ui/checkbox" "2.3.0" + "@chakra-ui/close-button" "2.1.0" + "@chakra-ui/control-box" "2.1.0" + "@chakra-ui/counter" "2.1.0" + "@chakra-ui/css-reset" "2.2.0" + "@chakra-ui/editable" "3.1.0" + "@chakra-ui/focus-lock" "2.1.0" + "@chakra-ui/form-control" "2.1.0" "@chakra-ui/hooks" "2.2.0" - "@chakra-ui/icon" "3.0.16" - "@chakra-ui/image" "2.0.16" - "@chakra-ui/input" "2.0.22" - "@chakra-ui/layout" "2.2.0" - "@chakra-ui/live-region" "2.0.13" - "@chakra-ui/media-query" "3.2.12" - "@chakra-ui/menu" "2.1.15" - "@chakra-ui/modal" "2.2.12" - "@chakra-ui/number-input" "2.0.19" - "@chakra-ui/pin-input" "2.0.20" - "@chakra-ui/popover" "2.1.12" - "@chakra-ui/popper" "3.0.14" - "@chakra-ui/portal" "2.0.16" - "@chakra-ui/progress" "2.1.6" - "@chakra-ui/provider" "2.3.0" - "@chakra-ui/radio" "2.0.22" - "@chakra-ui/react-env" "3.0.0" - "@chakra-ui/select" "2.0.19" - "@chakra-ui/skeleton" "2.0.24" - "@chakra-ui/skip-nav" "2.0.15" - "@chakra-ui/slider" "2.0.25" - "@chakra-ui/spinner" "2.0.13" - "@chakra-ui/stat" "2.0.18" - "@chakra-ui/stepper" "2.2.0" + "@chakra-ui/icon" "3.1.0" + "@chakra-ui/image" "2.1.0" + "@chakra-ui/input" "2.1.0" + "@chakra-ui/layout" "2.3.0" + "@chakra-ui/live-region" "2.1.0" + "@chakra-ui/media-query" "3.3.0" + "@chakra-ui/menu" "2.2.0" + "@chakra-ui/modal" "2.3.0" + "@chakra-ui/number-input" "2.1.0" + "@chakra-ui/pin-input" "2.1.0" + "@chakra-ui/popover" "2.2.0" + "@chakra-ui/popper" "3.1.0" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/progress" "2.2.0" + "@chakra-ui/provider" "2.4.0" + "@chakra-ui/radio" "2.1.0" + "@chakra-ui/react-env" "3.1.0" + "@chakra-ui/select" "2.1.0" + "@chakra-ui/skeleton" "2.1.0" + "@chakra-ui/skip-nav" "2.1.0" + "@chakra-ui/slider" "2.1.0" + "@chakra-ui/spinner" "2.1.0" + "@chakra-ui/stat" "2.1.0" + "@chakra-ui/stepper" "2.3.0" "@chakra-ui/styled-system" "2.9.1" - "@chakra-ui/switch" "2.0.27" - "@chakra-ui/system" "2.5.8" - "@chakra-ui/table" "2.0.17" - "@chakra-ui/tabs" "2.1.9" - "@chakra-ui/tag" "3.0.0" - "@chakra-ui/textarea" "2.0.19" - "@chakra-ui/theme" "3.1.2" - "@chakra-ui/theme-utils" "2.0.18" - "@chakra-ui/toast" "6.1.4" - "@chakra-ui/tooltip" "2.2.9" - "@chakra-ui/transition" "2.0.16" + "@chakra-ui/switch" "2.1.0" + "@chakra-ui/system" "2.6.0" + "@chakra-ui/table" "2.1.0" + "@chakra-ui/tabs" "2.2.0" + "@chakra-ui/tag" "3.1.0" + "@chakra-ui/textarea" "2.1.0" + "@chakra-ui/theme" "3.2.0" + "@chakra-ui/theme-utils" "2.0.19" + "@chakra-ui/toast" "7.0.0" + "@chakra-ui/tooltip" "2.3.0" + "@chakra-ui/transition" "2.1.0" "@chakra-ui/utils" "2.0.15" - "@chakra-ui/visually-hidden" "2.0.15" + "@chakra-ui/visually-hidden" "2.1.0" -"@chakra-ui/select@2.0.19": - version "2.0.19" - resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-2.0.19.tgz#957e95a17a890d8c0a851e2f00a8d8dd17932d66" - integrity sha512-eAlFh+JhwtJ17OrB6fO6gEAGOMH18ERNrXLqWbYLrs674Le7xuREgtuAYDoxUzvYXYYTTdOJtVbcHGriI3o6rA== +"@chakra-ui/select@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-2.1.0.tgz#4c9a6e881281e77ed35ba7a2e343f235b7e0b2fd" + integrity sha512-6GEjCJNOm1pS9E7XRvodoVOuSFl82Jio3MGWgmcQrLznjJAhIZVMq85vCQqzGpjjfbHys/UctfdJY75Ctas/Jg== dependencies: - "@chakra-ui/form-control" "2.0.18" + "@chakra-ui/form-control" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/shared-utils@2.0.5": @@ -699,59 +701,59 @@ resolved "https://registry.yarnpkg.com/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz#cb2b49705e113853647f1822142619570feba081" integrity sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q== -"@chakra-ui/skeleton@2.0.24": - version "2.0.24" - resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-2.0.24.tgz#dc9dcca6fc43005544fabfd38a444943b0a29cad" - integrity sha512-1jXtVKcl/jpbrJlc/TyMsFyI651GTXY5ma30kWyTXoby2E+cxbV6OR8GB/NMZdGxbQBax8/VdtYVjI0n+OBqWA== +"@chakra-ui/skeleton@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-2.1.0.tgz#e3b25dd3afa330029d6d63be0f7cb8d44ad25531" + integrity sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ== dependencies: - "@chakra-ui/media-query" "3.2.12" - "@chakra-ui/react-use-previous" "2.0.5" + "@chakra-ui/media-query" "3.3.0" + "@chakra-ui/react-use-previous" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/skip-nav@2.0.15": - version "2.0.15" - resolved "https://registry.yarnpkg.com/@chakra-ui/skip-nav/-/skip-nav-2.0.15.tgz#cb3b2ffb9c1bc492e66d6b0a189253aa53014257" - integrity sha512-5UtmlnV4BmIgEk6lQ0h81JEYhPX04wJEk5ZMoilQ2zEQYL6TkVVHkhRXyc1Zfq76hmHuZPXZV/yJeTecj6jIrA== +"@chakra-ui/skip-nav@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/skip-nav/-/skip-nav-2.1.0.tgz#cac27eecc6eded1e83c8f0cf7445d727739cb325" + integrity sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug== -"@chakra-ui/slider@2.0.25": - version "2.0.25" - resolved "https://registry.yarnpkg.com/@chakra-ui/slider/-/slider-2.0.25.tgz#2d69af68f4afcc648d14603d7c3163660d35e9eb" - integrity sha512-FnWSi0AIXP+9sHMCPboOKGqm902k8dJtsJ7tu3D0AcKkE62WtYLZ2sTqvwJxCfSl4KqVI1i571SrF9WadnnJ8w== +"@chakra-ui/slider@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/slider/-/slider-2.1.0.tgz#1caeed18761ba2a390777418cc9389ba25e39bce" + integrity sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ== dependencies: "@chakra-ui/number-utils" "2.0.7" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-callback-ref" "2.0.7" - "@chakra-ui/react-use-controllable-state" "2.0.8" - "@chakra-ui/react-use-latest-ref" "2.0.5" - "@chakra-ui/react-use-merge-refs" "2.0.7" - "@chakra-ui/react-use-pan-event" "2.0.9" - "@chakra-ui/react-use-size" "2.0.10" - "@chakra-ui/react-use-update-effect" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-latest-ref" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-pan-event" "2.1.0" + "@chakra-ui/react-use-size" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" -"@chakra-ui/spinner@2.0.13": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@chakra-ui/spinner/-/spinner-2.0.13.tgz#64fe919c18305c653ced046e25d5883ee4c1e7d7" - integrity sha512-T1/aSkVpUIuiYyrjfn1+LsQEG7Onbi1UE9ccS/evgf61Dzy4GgTXQUnDuWFSgpV58owqirqOu6jn/9eCwDlzlg== +"@chakra-ui/spinner@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/spinner/-/spinner-2.1.0.tgz#aa24a3d692c6ac90714e0f0f82c76c12c78c8e60" + integrity sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g== dependencies: "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/stat@2.0.18": - version "2.0.18" - resolved "https://registry.yarnpkg.com/@chakra-ui/stat/-/stat-2.0.18.tgz#9e5d21d162b7cf2cf92065c19291ead2d4660772" - integrity sha512-wKyfBqhVlIs9bkSerUc6F9KJMw0yTIEKArW7dejWwzToCLPr47u+CtYO6jlJHV6lRvkhi4K4Qc6pyvtJxZ3VpA== +"@chakra-ui/stat@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/stat/-/stat-2.1.0.tgz#6643b507358e9cacf008387b3f12b75899497369" + integrity sha512-sqx0/AdFFZ80dsiM5owmhtQyYl+zON1r+IY0m70I/ABRVy+I3br06xdUhoaxh3tcP7c0O/BQgb+VCfXa9Y34CA== dependencies: - "@chakra-ui/icon" "3.0.16" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/icon" "3.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/stepper@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/stepper/-/stepper-2.2.0.tgz#c42562fd1b210595303f14970d9df6b32e1ad5a1" - integrity sha512-8ZLxV39oghSVtOUGK8dX8Z6sWVSQiKVmsK4c3OQDa8y2TvxP0VtFD0Z5U1xJlOjQMryZRWhGj9JBc3iQLukuGg== +"@chakra-ui/stepper@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/stepper/-/stepper-2.3.0.tgz#5714df429936839145a62b5c197cff26b872b660" + integrity sha512-q80QX/NLrjJQIlBP1N+Q8GVJb7/HiOpMoK1PlP4denB/KxkU2K8GEjss8U2vklR1XsWJy1fwfj03+66Q78Uk/Q== dependencies: - "@chakra-ui/icon" "3.0.16" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/icon" "3.1.0" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/styled-system@2.9.1", "@chakra-ui/styled-system@^2.9.1": @@ -763,127 +765,127 @@ csstype "^3.0.11" lodash.mergewith "4.6.2" -"@chakra-ui/switch@2.0.27": - version "2.0.27" - resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-2.0.27.tgz#e76e5afdfc837c83fce34480de4431ff8c19fcb8" - integrity sha512-z76y2fxwMlvRBrC5W8xsZvo3gP+zAEbT3Nqy5P8uh/IPd5OvDsGeac90t5cgnQTyxMOpznUNNK+1eUZqtLxWnQ== +"@chakra-ui/switch@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-2.1.0.tgz#750474ef7f0a9854062e692cbbe9f3ed0cfbc4d8" + integrity sha512-uWHOaIDQdGh+mszxeppj5aYVepbkSK445KZlJJkfr9Bnr6sythTwM63HSufnVDiTEE4uRqegv9jEjZK2JKA+9A== dependencies: - "@chakra-ui/checkbox" "2.2.15" + "@chakra-ui/checkbox" "2.3.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/system@2.5.8": - version "2.5.8" - resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-2.5.8.tgz#9026090b792320683bf1cc3a8f04af7b10c947ce" - integrity sha512-Vy8UUaCxikOzOGE54IP8tKouvU38rEYU1HCSquU9+oe7Jd70HaiLa4vmUKvHyMUmxkOzDHIkgZLbVQCubSnN5w== +"@chakra-ui/system@2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-2.6.0.tgz#29f65bb0887ee0816bbb7b4b098ca5aa4918c409" + integrity sha512-MgAFRz9V1pW0dplwWsB99hx49LCC+LsrkMala7KXcP0OvWdrkjw+iu+voBksO3626+glzgIwlZW113Eja+7JEQ== dependencies: - "@chakra-ui/color-mode" "2.1.12" + "@chakra-ui/color-mode" "2.2.0" "@chakra-ui/object-utils" "2.1.0" "@chakra-ui/react-utils" "2.0.12" "@chakra-ui/styled-system" "2.9.1" - "@chakra-ui/theme-utils" "2.0.18" + "@chakra-ui/theme-utils" "2.0.19" "@chakra-ui/utils" "2.0.15" react-fast-compare "3.2.1" -"@chakra-ui/table@2.0.17": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@chakra-ui/table/-/table-2.0.17.tgz#ad394dc6dcbe5a8a9e6d899997ecca3471603977" - integrity sha512-OScheTEp1LOYvTki2NFwnAYvac8siAhW9BI5RKm5f5ORL2gVJo4I72RUqE0aKe1oboxgm7CYt5afT5PS5cG61A== +"@chakra-ui/table@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/table/-/table-2.1.0.tgz#20dce14c5e4d70dc7c6c0e87cce9b05907ff8c50" + integrity sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ== dependencies: - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/tabs@2.1.9": - version "2.1.9" - resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-2.1.9.tgz#2e5214cb453c6cc0c240e82bd88af1042fc6fe0e" - integrity sha512-Yf8e0kRvaGM6jfkJum0aInQ0U3ZlCafmrYYni2lqjcTtThqu+Yosmo3iYlnullXxCw5MVznfrkb9ySvgQowuYg== +"@chakra-ui/tabs@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-2.2.0.tgz#72b6bf8bff3d3da3effb115991bf24e2157e29d2" + integrity sha512-ulN7McHZ322qlbJXg8S+IwdN8Axh8q0HzYBOHzSdcnVphEytfv9TsfJhN0Hx5yjkpekAzG5fewn33ZdIpIpKyQ== dependencies: - "@chakra-ui/clickable" "2.0.14" - "@chakra-ui/descendant" "3.0.14" + "@chakra-ui/clickable" "2.1.0" + "@chakra-ui/descendant" "3.1.0" "@chakra-ui/lazy-utils" "2.0.5" "@chakra-ui/react-children-utils" "2.0.6" - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/react-use-controllable-state" "2.0.8" - "@chakra-ui/react-use-merge-refs" "2.0.7" - "@chakra-ui/react-use-safe-layout-effect" "2.0.5" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/tag@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-3.0.0.tgz#d86cdab59bb3ff7fc628c2dbe7a5ff1b36bd3e96" - integrity sha512-YWdMmw/1OWRwNkG9pX+wVtZio+B89odaPj6XeMn5nfNN8+jyhIEpouWv34+CO9G0m1lupJTxPSfgLAd7cqXZMA== +"@chakra-ui/tag@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-3.1.0.tgz#b2c06254e1d5aaaf77ff41e5d2e6548b404cabd7" + integrity sha512-Mn2u828z5HvqEBEG+tUJWe3al5tzN87bK2U0QfThx3+zqWbBCWBSCVfnWRtkNh80m+5a1TekexDAPZqu5G8zdw== dependencies: - "@chakra-ui/icon" "3.0.16" - "@chakra-ui/react-context" "2.0.8" + "@chakra-ui/icon" "3.1.0" + "@chakra-ui/react-context" "2.1.0" -"@chakra-ui/textarea@2.0.19": - version "2.0.19" - resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-2.0.19.tgz#470b459f9cb3255d2abbe07d46b0a5b60a6a32c5" - integrity sha512-adJk+qVGsFeJDvfn56CcJKKse8k7oMGlODrmpnpTdF+xvlsiTM+1GfaJvgNSpHHuQFdz/A0z1uJtfGefk0G2ZA== +"@chakra-ui/textarea@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-2.1.0.tgz#d0f157c9a09aea87c372409eead4292bd26999a0" + integrity sha512-4F7X/lPRsY+sPxYrWGrhh1pBtdnFvVllIOapzAwnjYwsflm+vf6c+9ZgoDWobXsNezJ9fcqN0FTPwaBnDvDQRQ== dependencies: - "@chakra-ui/form-control" "2.0.18" + "@chakra-ui/form-control" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/theme-tools@2.0.18", "@chakra-ui/theme-tools@^2.0.18": - version "2.0.18" - resolved "https://registry.yarnpkg.com/@chakra-ui/theme-tools/-/theme-tools-2.0.18.tgz#8160f0abe331e60b56f77426c28ff9a605c1a5c4" - integrity sha512-MbiRuXb2tb41FbnW41zhsYYAU0znlpfYZnu0mxCf8U2otCwPekJCfESUGYypjq4JnydQ7TDOk+Kz/Wi974l4mw== +"@chakra-ui/theme-tools@2.1.0", "@chakra-ui/theme-tools@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme-tools/-/theme-tools-2.1.0.tgz#ad34f2fdda61305ac96f69ad9ce38ad12f8bfdbf" + integrity sha512-TKv4trAY8q8+DWdZrpSabTd3SZtZrnzFDwUdzhbWBhFEDEVR3fAkRTPpnPDtf1X9w1YErWn3QAcMACVFz4+vkw== dependencies: - "@chakra-ui/anatomy" "2.1.2" + "@chakra-ui/anatomy" "2.2.0" "@chakra-ui/shared-utils" "2.0.5" color2k "^2.0.0" -"@chakra-ui/theme-utils@2.0.18": - version "2.0.18" - resolved "https://registry.yarnpkg.com/@chakra-ui/theme-utils/-/theme-utils-2.0.18.tgz#c240545d0f00b6cc059195a784683d1f143a44af" - integrity sha512-aSbkUUiFpc1NHC7lQdA6uYlr6EcZFXz6b4aJ7VRDpqTiywvqYnvfGzhmsB0z94vgtS9qXc6HoIwBp25jYGV2MA== +"@chakra-ui/theme-utils@2.0.19": + version "2.0.19" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme-utils/-/theme-utils-2.0.19.tgz#47e6af43f8ef22403686b779ca1a869ab1b7a5ec" + integrity sha512-UQ+KvozTN86+0oA80rdQd1a++4rm4ulo+DEabkgwNpkK3yaWsucOxkDQpi2sMIMvw5X0oaWvNBZJuVyK7HdOXg== dependencies: "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/styled-system" "2.9.1" - "@chakra-ui/theme" "3.1.2" + "@chakra-ui/theme" "3.2.0" lodash.mergewith "4.6.2" -"@chakra-ui/theme@3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-3.1.2.tgz#1e78a19083adecb38b884c1c2da6dee2c84c81f2" - integrity sha512-ebUXMS3LZw2OZxEQNYaFw3/XuA3jpyprhS/frjHMvZKSOaCjMW+c9z25S0jp1NnpQff08VGI8EWbyVZECXU1QA== +"@chakra-ui/theme@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-3.2.0.tgz#b8232d770e542895cf82535942a74ad803bb7133" + integrity sha512-q9mppdkhmaBnvOT8REr/lVNNBX/prwm50EzObJ+r+ErVhNQDc55gCFmtr+It3xlcCqmOteG6XUdwRCJz8qzOqg== dependencies: - "@chakra-ui/anatomy" "2.1.2" + "@chakra-ui/anatomy" "2.2.0" "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/theme-tools" "2.0.18" + "@chakra-ui/theme-tools" "2.1.0" -"@chakra-ui/toast@6.1.4": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-6.1.4.tgz#853a844408c0e22f15c66b4f2607b8416300c649" - integrity sha512-wAcPHq/N/ar4jQxkUGhnsbp+lx2eKOpHxn1KaWdHXUkqCNUA1z09fvBsoMyzObSiiwbDuQPZG5RxsOhzfPZX4Q== +"@chakra-ui/toast@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-7.0.0.tgz#6c6f1b7b8dc458ed0827b2edc47eb7d4075c95dc" + integrity sha512-XQgSnn4DYRgfOBzBvh8GI/AZ7SfrO8wlVSmChfp92Nfmqm7tRDUT9x8ws/iNKAvMRHkhl7fmRjJ39ipeXYrMvA== dependencies: - "@chakra-ui/alert" "2.1.0" - "@chakra-ui/close-button" "2.0.17" - "@chakra-ui/portal" "2.0.16" - "@chakra-ui/react-context" "2.0.8" - "@chakra-ui/react-use-timeout" "2.0.5" - "@chakra-ui/react-use-update-effect" "2.0.7" + "@chakra-ui/alert" "2.2.0" + "@chakra-ui/close-button" "2.1.0" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-timeout" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/styled-system" "2.9.1" - "@chakra-ui/theme" "3.1.2" + "@chakra-ui/theme" "3.2.0" -"@chakra-ui/tooltip@2.2.9": - version "2.2.9" - resolved "https://registry.yarnpkg.com/@chakra-ui/tooltip/-/tooltip-2.2.9.tgz#a7f25f7e6d1304ea448a3420ed99f79a657537bd" - integrity sha512-ZoksllanqXRUyMDaiogvUVJ+RdFXwZrfrwx3RV22fejYZIQ602hZ3QHtHLB5ZnKFLbvXKMZKM23HxFTSb0Ytqg== +"@chakra-ui/tooltip@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/tooltip/-/tooltip-2.3.0.tgz#88e61a2c5a4d99af805840377dc940d3b17c806e" + integrity sha512-2s23f93YIij1qEDwIK//KtEu4LLYOslhR1cUhDBk/WUzyFR3Ez0Ee+HlqlGEGfGe9x77E6/UXPnSAKKdF/cpsg== dependencies: "@chakra-ui/dom-utils" "2.1.0" - "@chakra-ui/popper" "3.0.14" - "@chakra-ui/portal" "2.0.16" + "@chakra-ui/popper" "3.1.0" + "@chakra-ui/portal" "2.1.0" "@chakra-ui/react-types" "2.0.7" - "@chakra-ui/react-use-disclosure" "2.0.8" - "@chakra-ui/react-use-event-listener" "2.0.7" - "@chakra-ui/react-use-merge-refs" "2.0.7" + "@chakra-ui/react-use-disclosure" "2.1.0" + "@chakra-ui/react-use-event-listener" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/transition@2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@chakra-ui/transition/-/transition-2.0.16.tgz#498c91e6835bb5d950fd1d1402f483b85f7dcd87" - integrity sha512-E+RkwlPc3H7P1crEXmXwDXMB2lqY2LLia2P5siQ4IEnRWIgZXlIw+8Em+NtHNgusel2N+9yuB0wT9SeZZeZ3CQ== +"@chakra-ui/transition@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/transition/-/transition-2.1.0.tgz#c8e95564f7ab356e78119780037bae5ad150c7b3" + integrity sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ== dependencies: "@chakra-ui/shared-utils" "2.0.5" @@ -897,10 +899,10 @@ framesync "6.1.2" lodash.mergewith "4.6.2" -"@chakra-ui/visually-hidden@2.0.15": - version "2.0.15" - resolved "https://registry.yarnpkg.com/@chakra-ui/visually-hidden/-/visually-hidden-2.0.15.tgz#60df64e0ab97d95fee4e6c61ccabd15fd5ace398" - integrity sha512-WWULIiucYRBIewHKFA7BssQ2ABLHLVd9lrUo3N3SZgR0u4ZRDDVEUNOy+r+9ruDze8+36dGbN9wsN1IdELtdOw== +"@chakra-ui/visually-hidden@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/visually-hidden/-/visually-hidden-2.1.0.tgz#9ec573964e5a07f8682574a060140d78e9f91c32" + integrity sha512-3OHKqTz78PX7V4qto+a5Y6VvH6TbU3Pg6Z0Z2KnDkOBP3Po8fiz0kk+/OSPzIwdcSsQKiocLi0c1pnnUPdMZPg== "@dagrejs/graphlib@^2.1.13": version "2.1.13" @@ -2328,15 +2330,22 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -"@zag-js/element-size@0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@zag-js/element-size/-/element-size-0.3.2.tgz#ebb76af2a024230482406db41344598d1a9f54f4" - integrity sha512-bVvvigUGvAuj7PCkE5AbzvTJDTw5f3bg9nQdv+ErhVN8SfPPppLJEmmWdxqsRzrHXgx8ypJt/+Ty0kjtISVDsQ== +"@zag-js/dom-query@0.10.5": + version "0.10.5" + resolved "https://registry.yarnpkg.com/@zag-js/dom-query/-/dom-query-0.10.5.tgz#9fc02a51383989667694d8747925e6d20294af9e" + integrity sha512-zm6wA5+kqU48it6afNjaUhjVSixKZruTKB23z0V1xBqKbuiLOMMOZ5oK26cTPSXtZ5CPhDNZ2Qk4pliS5n9SVw== -"@zag-js/focus-visible@0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@zag-js/focus-visible/-/focus-visible-0.2.2.tgz#56233480ca1275d3218fb2e10696a33d1a6b9e64" - integrity sha512-0j2gZq8HiZ51z4zNnSkF1iSkqlwRDvdH+son3wHdoz+7IUdMN/5Exd4TxMJ+gq2Of1DiXReYLL9qqh2PdQ4wgA== +"@zag-js/element-size@0.10.5": + version "0.10.5" + resolved "https://registry.yarnpkg.com/@zag-js/element-size/-/element-size-0.10.5.tgz#a24bad2eeb7e2c8709e32be5336e158e1a1a174f" + integrity sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w== + +"@zag-js/focus-visible@0.10.5": + version "0.10.5" + resolved "https://registry.yarnpkg.com/@zag-js/focus-visible/-/focus-visible-0.10.5.tgz#643e196ea768bea5ce54771102fae22f5e9ba3c7" + integrity sha512-EhDHKLutMtvLFCjBjyIY6h1JoJJNXG3KJz7Dj1sh4tj4LWAqo/TqLvgHyUTB29XMHwoslFHDJHKVWmLGMi+ULQ== + dependencies: + "@zag-js/dom-query" "0.10.5" acorn-jsx@^5.3.2: version "5.3.2" From dc8c3d80738229f0347f7024576ac780dca21c37 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 26 Jul 2023 22:55:25 +1000 Subject: [PATCH 048/106] feat(ui): tweak menu style, increase icon size feat(ui) use `as` for menuitem links I had requested this be done with the chakra `Link` component, but actually using `as` is correct according to the docs. For other components, you are supposed to use `Link` but looks like `MenuItem` has this built in. Fixed in all places where we use it. Also: - fix github icon - give menu hamburger button padding - add menu motion props so it animates the same as other menus feat(ui): restore ColorModeButton @maryhipp chore(ui): lint feat(ui): remove colormodebutton again sry --- .../SingleSelectionMenuItems.tsx | 34 +++++---- .../features/system/components/SiteHeader.tsx | 71 ++++++++++++------- .../frontend/web/src/theme/components/menu.ts | 6 +- 3 files changed, 73 insertions(+), 38 deletions(-) diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/SingleSelectionMenuItems.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/SingleSelectionMenuItems.tsx index 74fea27927..237a38ca33 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/SingleSelectionMenuItems.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/SingleSelectionMenuItems.tsx @@ -1,5 +1,6 @@ -import { Link, MenuItem } from '@chakra-ui/react'; +import { MenuItem } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; +import { skipToken } from '@reduxjs/toolkit/dist/query'; import { useAppToaster } from 'app/components/Toaster'; import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; @@ -33,10 +34,9 @@ import { useRemoveImageFromBoardMutation, } from 'services/api/endpoints/images'; import { ImageDTO } from 'services/api/types'; +import { useDebounce } from 'use-debounce'; import { AddImageToBoardContext } from '../../../../app/contexts/AddImageToBoardContext'; import { sentImageToCanvas, sentImageToImg2Img } from '../../store/actions'; -import { useDebounce } from 'use-debounce'; -import { skipToken } from '@reduxjs/toolkit/dist/query'; type SingleSelectionMenuItemsProps = { imageDTO: ImageDTO; @@ -154,21 +154,29 @@ const SingleSelectionMenuItems = (props: SingleSelectionMenuItemsProps) => { return ( <> - - }> - {t('common.openInNewTab')} - - + } + > + {t('common.openInNewTab')} + {isClipboardAPIAvailable && ( } onClickCapture={handleCopyImage}> {t('parameters.copyImage')} )} - - } w="100%"> - {t('parameters.downloadImage')} - - + } + w="100%" + > + {t('parameters.downloadImage')} + } onClickCapture={handleRecallPrompt} diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx index fe15e15d09..70f4b12859 100644 --- a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx +++ b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx @@ -1,16 +1,29 @@ -import { Flex, Link, MenuGroup, Spacer } from '@chakra-ui/react'; -import { memo } from 'react'; -import StatusIndicator from './StatusIndicator'; - -import { Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; +import { + Flex, + Menu, + MenuButton, + MenuGroup, + MenuItem, + MenuList, + Spacer, +} from '@chakra-ui/react'; import IAIIconButton from 'common/components/IAIIconButton'; +import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import { FaBars, FaBug, FaDiscord, FaKeyboard } from 'react-icons/fa'; -import { MdSettings } from 'react-icons/md'; +import { + FaBars, + FaBug, + FaCog, + FaDiscord, + FaGithub, + FaKeyboard, +} from 'react-icons/fa'; +import { menuListMotionProps } from 'theme/components/menu'; import { useFeatureStatus } from '../hooks/useFeatureStatus'; import HotkeysModal from './HotkeysModal/HotkeysModal'; import InvokeAILogoComponent from './InvokeAILogoComponent'; import SettingsModal from './SettingsModal/SettingsModal'; +import StatusIndicator from './StatusIndicator'; const SiteHeader = () => { const { t } = useTranslation(); @@ -39,29 +52,39 @@ const SiteHeader = () => { variant="link" aria-label={t('accessibility.menu')} icon={} + sx={{ boxSize: 8 }} /> - + {isGithubLinkEnabled && ( - - }> - {t('common.githubLabel')} - - + } + > + {t('common.githubLabel')} + )} {isBugLinkEnabled && ( - - }> - {t('common.reportBugLabel')} - - + } + > + {t('common.reportBugLabel')} + )} {isDiscordLinkEnabled && ( - - }> - {t('common.discordLabel')} - - + } + > + {t('common.discordLabel')} + )} @@ -71,7 +94,7 @@ const SiteHeader = () => { - }> + }> {t('common.settingsLabel')} diff --git a/invokeai/frontend/web/src/theme/components/menu.ts b/invokeai/frontend/web/src/theme/components/menu.ts index 563c5ce6a9..4ab323bdb5 100644 --- a/invokeai/frontend/web/src/theme/components/menu.ts +++ b/invokeai/frontend/web/src/theme/components/menu.ts @@ -33,12 +33,16 @@ const invokeAI = definePartsStyle((props) => ({ bg: mode('base.200', 'base.800')(props), _hover: { bg: mode('base.300', 'base.700')(props), + svg: { + opacity: 1, + }, }, _focus: { bg: mode('base.400', 'base.600')(props), }, svg: { - opacity: 0.5, + opacity: 0.7, + fontSize: 14, }, }, })); From e6741cee75d23851f254e1f5922b9af97adbf768 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 10:47:37 -0400 Subject: [PATCH 049/106] rebuid front end --- invokeai/backend/install/check_root.py | 12 +- .../frontend/web/dist/assets/App-6757ec55.js | 169 ++++++++++ .../dist/assets/MantineProvider-3c4df448.js | 1 + .../assets/ThemeLocaleProvider-b9e7cc95.js | 302 ++++++++++++++++++ .../web/dist/assets/index-9488b384.js | 125 ++++++++ invokeai/frontend/web/dist/index.html | 2 +- invokeai/frontend/web/dist/locales/en.json | 1 + .../frontend/web/src/services/api/schema.d.ts | 81 +++-- 8 files changed, 660 insertions(+), 33 deletions(-) create mode 100644 invokeai/frontend/web/dist/assets/App-6757ec55.js create mode 100644 invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js create mode 100644 invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js create mode 100644 invokeai/frontend/web/dist/assets/index-9488b384.js diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py index 0c24034dc7..e8dde681bf 100644 --- a/invokeai/backend/install/check_root.py +++ b/invokeai/backend/install/check_root.py @@ -8,9 +8,9 @@ from invokeai.app.services.config import ( def check_invokeai_root(config: InvokeAIAppConfig): try: - assert config.model_conf_path.exists() - assert config.db_path.exists() - assert config.models_path.exists() + assert config.model_conf_path.exists(), f'{config.model_conf_path} not found' + assert config.db_path.parent.exists(), f'{config.db_path.parent} not found' + assert config.models_path.exists(), f'{config.models_path} not found' for model in [ 'CLIP-ViT-bigG-14-laion2B-39B-b160k', 'bert-base-uncased', @@ -18,9 +18,11 @@ def check_invokeai_root(config: InvokeAIAppConfig): 'sd-vae-ft-mse', 'stable-diffusion-2-clip', 'stable-diffusion-safety-checker']: - assert (config.models_path / f'core/convert/{model}').exists() - except: + path = config.models_path / f'core/convert/{model}' + assert path.exists(), f'{path} is missing' + except Exception as e: print() + print(f'An exception has occurred: {str(e)}') print('== STARTUP ABORTED ==') print('** One or more necessary files is missing from your InvokeAI root directory **') print('** Please rerun the configuration script to fix this problem. **') diff --git a/invokeai/frontend/web/dist/assets/App-6757ec55.js b/invokeai/frontend/web/dist/assets/App-6757ec55.js new file mode 100644 index 0000000000..fa005c94d2 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/App-6757ec55.js @@ -0,0 +1,169 @@ +import{t as cv,r as K8,i as uv,a as Rc,b as h_,S as m_,c as g_,d as v_,e as dv,f as b_,g as fv,h as Y8,j as Q8,k as X8,l as J8,m as y_,n as Z8,o as eR,p as tR,q as x_,s as nR,u as rR,v as oR,w as sR,x as aR,y as iR,z as f,A as i,B as Xh,C as Ip,D as lR,E as w_,F as S_,G as cR,P as id,H as M1,I as uR,J as dR,K as fR,L as pR,M as hR,N as mR,O as gR,Q as P2,R as Te,T as vR,U as Ie,V as kt,W as et,X as ld,Y as Fo,Z as Qr,_ as Br,$ as qn,a0 as dl,a1 as $a,a2 as tn,a3 as ns,a4 as Zl,a5 as za,a6 as Jh,a7 as D1,a8 as cd,a9 as or,aa as bR,ab as F,ac as C_,ad as j2,ae as k_,af as pv,ag as Mc,ah as yR,ai as __,aj as P_,ak as Dc,al as xR,am as fe,an as Ge,ao as Xt,ap as L,aq as wR,ar as I2,as as SR,at as CR,au as E2,av as te,aw as kR,ax as Dn,ay as Bn,az as Oe,aA as W,aB as Qs,aC as Ye,aD as Kn,aE as j_,aF as I_,aG as E_,aH as _i,aI as Ds,aJ as T1,aK as _R,aL as PR,aM as jR,aN as Rl,aO as xu,aP as IR,aQ as ER,aR as OR,aS as RR,aT as MR,aU as O2,aV as ui,aW as A1,aX as Ep,aY as Zh,aZ as O_,a_ as os,a$ as R_,b0 as DR,b1 as Tc,b2 as M_,b3 as D_,b4 as Es,b5 as _o,b6 as wu,b7 as TR,b8 as AR,b9 as NR,ba as $R,bb as N1,bc as Op,bd as zR,be as LR,bf as If,bg as Ef,bh as Ru,bi as Mu,bj as R2,bk as Rp,bl as M2,bm as Mp,bn as D2,bo as hv,bp as T2,bq as mv,br as A2,bs as Dp,bt as N2,bu as hc,bv as $2,bw as mc,bx as z2,by as Tp,bz as $1,bA as z1,bB as T_,bC as L1,bD as B1,bE as BR,bF as FR,bG as em,bH as ql,bI as HR,bJ as WR,bK as vp,bL as VR,bM as UR,bN as GR,bO as gv,bP as A_,bQ as qR,bR as N_,bS as $_,bT as ss,bU as L2,bV as La,bW as KR,bX as vv,bY as YR,bZ as z_,b_ as B2,b$ as QR,c0 as XR,c1 as JR,c2 as ZR,c3 as eM,c4 as tM,c5 as F1,c6 as H1,c7 as nM,c8 as Ln,c9 as F2,ca as L_,cb as rM,cc as oM,cd as sM,ce as aM,cf as iM,cg as lM,ch as cM,ci as uM,cj as dM,ck as B_,cl as fM,cm as pM,cn as hM,co as mM,cp as gM,cq as vM,cr as bM,cs as yM,ct as xM,cu as wM,cv as jo,cw as vr,cx as SM,cy as W1,cz as ud,cA as dd,cB as CM,cC as H2,cD as kM,cE as W2,cF as _M,cG as PM,cH as jM,cI as V2,cJ as U2,cK as na,cL as V1,cM as G2,cN as q2,cO as tm,cP as IM,cQ as EM,cR as OM,cS as RM,cT as K2,cU as Y2,cV as MM,cW as Q2,cX as DM,cY as F_,cZ as X2,c_ as TM,c$ as AM,d0 as Ss,d1 as NM,d2 as $M,d3 as H_,d4 as W_,d5 as zM,d6 as J2,d7 as LM,d8 as BM,d9 as V_,da as FM,db as HM,dc as WM,dd as VM,de as UM,df as GM,dg as qM,dh as U_,di as KM,dj as G_,dk as Z2,dl as Of,dm as YM,dn as U1,dp as q_,dq as QM,dr as XM,ds as JM,dt as ls,du as ZM,dv as e7,dw as t7,dx as n7,dy as r7,dz as o7,dA as s7,dB as a7,dC as i7,dD as l7,dE as c7,dF as u7,dG as d7,dH as f7,dI as ew,dJ as tw,dK as p7,dL as K_,dM as Y_,dN as fd,dO as Q_,dP as Hu,dQ as X_,dR as nw,dS as h7,dT as m7,dU as J_,dV as g7,dW as G1,dX as rw,dY as Z_,dZ as v7,d_ as ow,d$ as e3,e0 as Ts,e1 as b7,e2 as t3,e3 as sw,e4 as y7,e5 as x7,e6 as w7,e7 as S7,e8 as C7,e9 as k7,ea as _7,eb as P7,ec as j7,ed as I7,ee as E7,ef as O7,eg as R7,eh as M7,ei as D7,ej as T7,ek as A7,el as N7,em as $7,en as z7,eo as aw,ep as bp,eq as L7,er as Ap,es as n3,et as Wu,eu as B7,ev as F7,ew as ea,ex as r3,ey as q1,ez as pd,eA as H7,eB as W7,eC as V7,eD as Ia,eE as o3,eF as U7,eG as G7,eH as s3,eI as q7,eJ as K7,eK as Y7,eL as Q7,eM as X7,eN as J7,eO as Z7,eP as eD,eQ as tD,eR as nD,eS as iw,eT as rD,eU as oD,eV as sD,eW as aD,eX as iD,eY as lD,eZ as cD,e_ as uD,e$ as a0,f0 as Js,f1 as i0,f2 as l0,f3 as Rf,f4 as lw,f5 as bv,f6 as dD,f7 as fD,f8 as pD,f9 as hD,fa as Np,fb as a3,fc as i3,fd as mD,fe as gD,ff as l3,fg as c3,fh as u3,fi as d3,fj as f3,fk as p3,fl as h3,fm as m3,fn as ec,fo as tc,fp as g3,fq as v3,fr as vD,fs as b3,ft as y3,fu as x3,fv as w3,fw as S3,fx as C3,fy as K1,fz as bD,fA as cw,fB as yD,fC as xD,fD as $p,fE as uw,fF as dw,fG as fw,fH as pw,fI as wD,fJ as SD,fK as CD,fL as kD,fM as _D,fN as PD,fO as jD,fP as ID,fQ as ED}from"./index-9488b384.js";import{I as Kr,u as OD,c as RD,a as Rn,b as rr,d as Ba,P as Vu,C as MD,e as be,m as nm,f as k3,g as Fa,h as DD,r as Ue,i as TD,j as hw,k as Wt,l as wr}from"./MantineProvider-3c4df448.js";function AD(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var mw=1/0,ND=17976931348623157e292;function c0(e){if(!e)return e===0?e:0;if(e=cv(e),e===mw||e===-mw){var t=e<0?-1:1;return t*ND}return e===e?e:0}var $D=function(){return K8.Date.now()};const u0=$D;var zD="Expected a function",LD=Math.max,BD=Math.min;function FD(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(zD);t=cv(t)||0,uv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?LD(cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,T=t-R;return m?BD(T,s-M):T}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=u0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function I(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function P(){return c===void 0?a:_(u0())}function E(){var O=u0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=I,E.flush=P,E}var HD=200;function WD(e,t,n,r){var o=-1,s=g_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Rc(t,h_(n))),r?(s=v_,a=!1):t.length>=HD&&(s=dv,a=!1,t=new m_(t));e:for(;++o=120&&h.length>=120)?new m_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}const _3=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:Xh(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};_3.displayName="MiniMapNode";var cT=f.memo(_3);const uT=e=>e.nodeOrigin,dT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),d0=e=>e instanceof Function?e:()=>e;function fT({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=cT,onClick:a}){const c=Ip(dT,M1),d=Ip(uT),p=d0(t),h=d0(e),m=d0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=lR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var pT=f.memo(fT);const hT=200,mT=150,gT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?fR(pR(t,e.nodeOrigin),n):n,rfId:e.rfId}},vT="react-flow__minimap-desc";function P3({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const I=w_(),P=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Ip(gT,M1),M=(e==null?void 0:e.width)??hT,T=(e==null?void 0:e.height)??mT,A=E.width/M,$=E.height/T,Q=Math.max(A,$),B=Q*M,V=Q*T,q=5*Q,G=E.x-(B-E.width)/2-q,D=E.y-(V-E.height)/2-q,z=B+q*2,H=V+q*2,Y=`${vT}-${R}`,ie=f.useRef(0);ie.current=Q,f.useEffect(()=>{if(P.current){const se=S_(P.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:ce}=I.getState();if(re.sourceEvent.type!=="wheel"||!pe||!ce)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,_e=oe[2]*Math.pow(2,ge);ce.scaleTo(pe,_e)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:ce,translateExtent:ge,width:_e,height:le}=I.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!ce)return;const Se=ie.current*Math.max(1,oe[2])*(k?-1:1),Fe={x:oe[0]-re.sourceEvent.movementX*Se,y:oe[1]-re.sourceEvent.movementY*Se},Ae=[[0,0],[_e,le]],He=uR.translate(Fe.x,Fe.y).scale(oe[2]),Ct=ce.constrain()(He,Ae,ge);ce.transform(pe,Ct)},ae=cR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return se.call(ae),()=>{se.on("zoom",null)}}},[w,y,k,_]);const ye=v?se=>{const K=dR(se);v(se,{x:K[0],y:K[1]})}:void 0,Z=b?(se,K)=>{const U=I.getState().nodeInternals.get(K);b(se,U)}:void 0;return i.jsx(id,{position:m,style:e,className:Xh(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:T,viewBox:`${G} ${D} ${z} ${H}`,role:"img","aria-labelledby":Y,ref:P,onClick:ye,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(pT,{onClick:Z,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${D-q}h${z+q*2}v${H+q*2}h${-z-q*2}z + M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}P3.displayName="MiniMap";var bT=f.memo(P3),Cs;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Cs||(Cs={}));function yT({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function xT({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const wT={[Cs.Dots]:"#91919a",[Cs.Lines]:"#eee",[Cs.Cross]:"#e2e2e2"},ST={[Cs.Dots]:1,[Cs.Lines]:1,[Cs.Cross]:6},CT=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function j3({id:e,variant:t=Cs.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Ip(CT,M1),v=a||wT[t],b=r||ST[t],w=t===Cs.Dots,y=t===Cs.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],I=y?[_,_]:k,P=w?[_/s,_/s]:[I[0]/s,I[1]/s];return i.jsxs("svg",{className:Xh(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${P[0]},-${P[1]})`,children:w?i.jsx(xT,{color:v,radius:_/s}):i.jsx(yT,{dimensions:I,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}j3.displayName="Background";var kT=f.memo(j3),Du;(function(e){e.Line="line",e.Handle="handle"})(Du||(Du={}));function _T({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const I3={width:0,height:0,x:0,y:0},PT={...I3,pointerX:0,pointerY:0,aspectRatio:1};function jT({nodeId:e,position:t,variant:n=Du.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=hR(),k=typeof e=="string"?e:S,_=w_(),I=f.useRef(null),P=f.useRef(PT),E=f.useRef(I3),O=mR(),R=n===Du.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!I.current||!k)return;const Q=S_(I.current),B=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),D=gR().on("start",z=>{const H=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ie}=O(z);E.current={width:(H==null?void 0:H.width)??0,height:(H==null?void 0:H.height)??0,x:(H==null?void 0:H.position.x)??0,y:(H==null?void 0:H.position.y)??0},P.current={...E.current,pointerX:Y,pointerY:ie,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:H,triggerNodeChanges:Y}=_.getState(),{xSnapped:ie,ySnapped:ye}=O(z),Z=H.get(k);if(Z){const se=[],{pointerX:K,pointerY:U,width:ae,height:re,x:oe,y:pe,aspectRatio:ce}=P.current,{x:ge,y:_e,width:le,height:Se}=E.current,Fe=Math.floor(B?ie-K:0),Ae=Math.floor(V?ye-U:0);let He=P2(ae+(q?-Fe:Fe),c,p),Ct=P2(re+(G?-Ae:Ae),d,h);if(m){const Re=He/Ct,Pt=B&&V,At=B&&!V,xe=V&&!B;He=Re<=ce&&Pt||xe?Ct*ce:He,Ct=Re>ce&&Pt||At?He/ce:Ct,He>=p?(He=p,Ct=p/ce):He<=c&&(He=c,Ct=c/ce),Ct>=h?(Ct=h,He=h*ce):Ct<=d&&(Ct=d,He=d*ce)}const ct=He!==le,on=Ct!==Se;if(q||G){const Re=q?oe-(He-ae):oe,Pt=G?pe-(Ct-re):pe,At=Re!==ge&&ct,xe=Pt!==_e&&on;if(At||xe){const ht={id:Z.id,type:"position",position:{x:At?Re:ge,y:xe?Pt:_e}};se.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Re={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:He,height:Ct}};se.push(Re),E.current.width=He,E.current.height=Ct}if(se.length===0)return;const vt=_T({width:E.current.width,prevWidth:le,height:E.current.height,prevHeight:Se,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(z,bt))===!1)return;w==null||w(z,bt),Y(se)}}).on("end",z=>{const H={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([H])});return Q.call(D),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const T=M.split("-"),A=n===Du.Line?"borderColor":"backgroundColor",$=a?{...o,[A]:a}:o;return i.jsx("div",{className:Xh(["react-flow__resize-control","nodrag",...T,n,r]),ref:I,style:$,children:s})}var IT=f.memo(jT);const E3=1/60*1e3,ET=typeof performance<"u"?()=>performance.now():()=>Date.now(),O3=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(ET()),E3);function OT(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=OT(()=>Uu=!0),e),{}),MT=hd.reduce((e,t)=>{const n=rm[t];return e[t]=(r,o=!1,s=!1)=>(Uu||AT(),n.schedule(r,o,s)),e},{}),DT=hd.reduce((e,t)=>(e[t]=rm[t].cancel,e),{});hd.reduce((e,t)=>(e[t]=()=>rm[t].process(nc),e),{});const TT=e=>rm[e].process(nc),R3=e=>{Uu=!1,nc.delta=yv?E3:Math.max(Math.min(e-nc.timestamp,RT),1),nc.timestamp=e,xv=!0,hd.forEach(TT),xv=!1,Uu&&(yv=!1,O3(R3))},AT=()=>{Uu=!0,yv=!0,xv||O3(R3)},bw=()=>nc;function Y1(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function md(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Te((c,d)=>i.jsx(Kr,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function NT(e){const{theme:t}=vR(),n=OD();return f.useMemo(()=>RD(t.direction,{...n,...e}),[e,t.direction,n])}var $T=Object.defineProperty,zT=(e,t,n)=>t in e?$T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gr=(e,t,n)=>(zT(e,typeof t!="symbol"?t+"":t,n),n);function yw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var LT=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function xw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function ww(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var wv=typeof window<"u"?f.useLayoutEffect:f.useEffect,zp=e=>e,BT=class{constructor(){gr(this,"descendants",new Map),gr(this,"register",e=>{if(e!=null)return LT(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),gr(this,"unregister",e=>{this.descendants.delete(e);const t=yw(Array.from(this.descendants.keys()));this.assignIndex(t)}),gr(this,"destroy",()=>{this.descendants.clear()}),gr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),gr(this,"count",()=>this.descendants.size),gr(this,"enabledCount",()=>this.enabledValues().length),gr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),gr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),gr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),gr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),gr(this,"first",()=>this.item(0)),gr(this,"firstEnabled",()=>this.enabledItem(0)),gr(this,"last",()=>this.item(this.descendants.size-1)),gr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),gr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),gr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),gr(this,"next",(e,t=!0)=>{const n=xw(e,this.count(),t);return this.item(n)}),gr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=xw(r,this.enabledCount(),t);return this.enabledItem(o)}),gr(this,"prev",(e,t=!0)=>{const n=ww(e,this.count()-1,t);return this.item(n)}),gr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=ww(r,this.enabledCount()-1,t);return this.enabledItem(o)}),gr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=yw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function FT(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{FT(n,t)})}}function HT(...e){return f.useMemo(()=>cn(...e),e)}function WT(){const e=f.useRef(new BT);return wv(()=>()=>e.current.destroy()),e.current}var[VT,M3]=Rn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function UT(e){const t=M3(),[n,r]=f.useState(-1),o=f.useRef(null);wv(()=>()=>{o.current&&t.unregister(o.current)},[]),wv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=zp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function Q1(){return[zp(VT),()=>zp(M3()),()=>WT(),o=>UT(o)]}var[GT,om]=Rn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[qT,X1]=Rn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[KT,dde,YT,QT]=Q1(),Su=Te(function(t,n){const{getButtonProps:r}=X1(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...om().button};return i.jsx(Ie.button,{...o,className:kt("chakra-accordion__button",t.className),__css:a})});Su.displayName="AccordionButton";function Ac(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=rr(r),a=rr(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=rr(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function XT(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;eA(e),tA(e);const c=YT(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=Ac({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[JT,J1]=Rn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function ZT(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=J1(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;nA(e);const{register:v,index:b,descendants:w}=QT({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);rA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},I=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),P=f.useCallback(M=>{const A={ArrowDown:()=>{const $=w.nextEnabled(b);$==null||$.node.focus()},ArrowUp:()=>{const $=w.prevEnabled(b);$==null||$.node.focus()},Home:()=>{const $=w.firstEnabled();$==null||$.node.focus()},End:()=>{const $=w.lastEnabled();$==null||$.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(T={},A=null){return{...T,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(T.onClick,I),onFocus:et(T.onFocus,E),onKeyDown:et(T.onKeyDown,P)}},[h,t,y,I,E,P,m,v]),R=f.useCallback(function(T={},A=null){return{...T,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function eA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;ld({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function tA(e){ld({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function nA(e){ld({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. + `})}function rA(e){ld({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Cu(e){const{isOpen:t,isDisabled:n}=X1(),{reduceMotion:r}=J1(),o=kt("chakra-accordion__icon",e.className),s=om(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(Kr,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Cu.displayName="AccordionIcon";var ku=Te(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=ZT(t),d={...om().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(qT,{value:p,children:i.jsx(Ie.div,{ref:n,...s,className:kt("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});ku.displayName="AccordionItem";var Gi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},uu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function Sv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return uu.slideRight;case"left":return uu.slideLeft;case"bottom":return uu.slideDown;case"top":return uu.slideUp;default:return uu.slideRight}}var Ki={enter:{duration:.2,ease:Gi.easeOut},exit:{duration:.1,ease:Gi.easeIn}},ks={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},oA=e=>e!=null&&parseInt(e.toString(),10)>0,Sw={exit:{height:{duration:.2,ease:Gi.ease},opacity:{duration:.3,ease:Gi.ease}},enter:{height:{duration:.3,ease:Gi.ease},opacity:{duration:.4,ease:Gi.ease}}},sA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:oA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Sw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:ks.enter(Sw.enter,o)}}},sm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),ld({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(Fo,{initial:!1,custom:y,children:S&&i.jsx(Qr.div,{ref:t,...m,className:kt("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:sA,initial:r?"exit":!1,animate:k,exit:"exit"})})});sm.displayName="Collapse";var aA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:ks.exit(Ki.exit,n),transitionEnd:t==null?void 0:t.exit}}},D3={initial:"exit",animate:"enter",exit:"exit",variants:aA},iA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(Fo,{custom:v,children:m&&i.jsx(Qr.div,{ref:n,className:kt("chakra-fade",s),custom:v,...D3,animate:h,...p})})});iA.displayName="Fade";var lA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:e==null?void 0:e.enter}}},T3={initial:"exit",animate:"enter",exit:"exit",variants:lA},cA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(Fo,{custom:w,children:v&&i.jsx(Qr.div,{ref:n,className:kt("chakra-offset-slide",c),...T3,animate:b,custom:w,...m})})});cA.displayName="ScaleFade";var uA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:ks.exit(Ki.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Cv={initial:"initial",animate:"enter",exit:"exit",variants:uA},dA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(Fo,{custom:y,children:b&&i.jsx(Qr.div,{ref:n,className:kt("chakra-offset-slide",a),custom:y,...Cv,animate:w,...v})})});dA.displayName="SlideFade";var Cw={exit:{duration:.15,ease:Gi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},fA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=Sv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:ks.exit(Cw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=Sv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:ks.enter(Cw.enter,r),transitionEnd:t==null?void 0:t.enter}}},A3=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=Sv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(Fo,{custom:k,children:y&&i.jsx(Qr.div,{...v,ref:n,initial:"exit",className:kt("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:fA,style:w,...m})})});A3.displayName="Slide";var _u=Te(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=J1(),{getPanelProps:c,isOpen:d}=X1(),p=c(s,n),h=kt("chakra-accordion__panel",r),m=om();a||delete p.hidden;const v=i.jsx(Ie.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(sm,{in:d,...o,children:v})});_u.displayName="AccordionPanel";var N3=Te(function({children:t,reduceMotion:n,...r},o){const s=Br("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=XT(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(KT,{value:d,children:i.jsx(JT,{value:h,children:i.jsx(GT,{value:s,children:i.jsx(Ie.div,{ref:o,...c,className:kt("chakra-accordion",r.className),__css:s.root,children:t})})})})});N3.displayName="Accordion";function gd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[pA,hA]=Rn({strict:!1,name:"ButtonGroupContext"}),mA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},gA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},nr=Te(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=kt("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?mA[h]:gA[h](c)};const y=h==="vertical";return i.jsx(pA,{value:b,children:i.jsx(Ie.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});nr.displayName="ButtonGroup";function vA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function kv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=kt("chakra-button__icon",n);return i.jsx(Ie.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}kv.displayName="ButtonIcon";function Lp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(dl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=kt("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(Ie.div,{className:d,...c,__css:h,children:o})}Lp.displayName="ButtonSpinner";var gc=Te((e,t)=>{const n=hA(),r=$a("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:I,type:P}=vA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(Ie.button,{ref:HT(t,I),as:S,type:v??P,"data-active":tn(a),"data-loading":tn(s),__css:_,className:kt("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Lp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(Ie.span,{opacity:0,children:i.jsx(kw,{...E})}):i.jsx(kw,{...E}),s&&w==="end"&&i.jsx(Lp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});gc.displayName="Button";function kw(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(kv,{marginEnd:o,children:t}),r,n&&i.jsx(kv,{marginStart:o,children:n})]})}var Sa=Te((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(gc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});Sa.displayName="IconButton";var[fde,bA]=Rn({name:"CheckboxGroupContext",strict:!1});function yA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function xA(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function wA(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function SA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?wA:xA;return n||t?i.jsx(Ie.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[CA,$3]=Rn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[kA,vd]=Rn({strict:!1,name:"FormControlContext"});function _A(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,T=>{T&&y(!0)})}),[m]),I=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":tn(S),"data-disabled":tn(o),"data-invalid":tn(r),"data-readonly":tn(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),P=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,T=>{T&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:P,getRootProps:E,getLabelProps:I,getRequiredIndicatorProps:O}}var ho=Te(function(t,n){const r=Br("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=_A(o),d=kt("chakra-form-control",t.className);return i.jsx(kA,{value:c,children:i.jsx(CA,{value:r,children:i.jsx(Ie.div,{...s({},n),className:d,__css:r.container})})})});ho.displayName="FormControl";var PA=Te(function(t,n){const r=vd(),o=$3(),s=kt("chakra-form__helper-text",t.className);return i.jsx(Ie.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});PA.displayName="FormHelperText";var zo=Te(function(t,n){var r;const o=$a("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(z3,{}),optionalIndicator:p=null,...h}=s,m=vd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(Ie.label,{...v,className:kt("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});zo.displayName="FormLabel";var z3=Te(function(t,n){const r=vd(),o=$3();if(!(r!=null&&r.isRequired))return null;const s=kt("chakra-form__required-indicator",t.className);return i.jsx(Ie.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});z3.displayName="RequiredIndicator";function Z1(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=eb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":ns(n),"aria-required":ns(o),"aria-readonly":ns(r)}}function eb(e){var t,n,r;const o=vd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var tb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},L3=Ie("span",{baseStyle:tb});L3.displayName="VisuallyHidden";var jA=Ie("input",{baseStyle:tb});jA.displayName="VisuallyHiddenInput";var _w=!1,bd=null,nl=!1,_v=!1,Pv=new Set;function nb(e,t){Pv.forEach(n=>n(e,t))}var IA=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function EA(e){return!(e.metaKey||!IA&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Pw(e){nl=!0,EA(e)&&(bd="keyboard",nb("keyboard",e))}function Dl(e){if(bd="pointer",e.type==="mousedown"||e.type==="pointerdown"){nl=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;nb("pointer",e)}}function OA(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function RA(e){OA(e)&&(nl=!0,bd="virtual")}function MA(e){e.target===window||e.target===document||(!nl&&!_v&&(bd="virtual",nb("virtual",e)),nl=!1,_v=!1)}function DA(){nl=!1,_v=!0}function jw(){return bd!=="pointer"}function TA(){if(typeof window>"u"||_w)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){nl=!0,e.apply(this,n)},document.addEventListener("keydown",Pw,!0),document.addEventListener("keyup",Pw,!0),document.addEventListener("click",RA,!0),window.addEventListener("focus",MA,!0),window.addEventListener("blur",DA,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Dl,!0),document.addEventListener("pointermove",Dl,!0),document.addEventListener("pointerup",Dl,!0)):(document.addEventListener("mousedown",Dl,!0),document.addEventListener("mousemove",Dl,!0),document.addEventListener("mouseup",Dl,!0)),_w=!0}function B3(e){TA(),e(jw());const t=()=>e(jw());return Pv.add(t),()=>{Pv.delete(t)}}function AA(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function F3(e={}){const t=eb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":I,"aria-invalid":P,...E}=e,O=AA(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=rr(b),M=rr(c),T=rr(d),[A,$]=f.useState(!1),[Q,B]=f.useState(!1),[V,q]=f.useState(!1),[G,D]=f.useState(!1);f.useEffect(()=>B3($),[]);const z=f.useRef(null),[H,Y]=f.useState(!0),[ie,ye]=f.useState(!!h),Z=m!==void 0,se=Z?m:ie,K=f.useCallback(le=>{if(r||n){le.preventDefault();return}Z||ye(se?le.target.checked:w?!0:le.target.checked),R==null||R(le)},[r,n,se,Z,w,R]);Zl(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Ba(()=>{n&&B(!1)},[n,B]),Zl(()=>{const le=z.current;le!=null&&le.form&&(le.form.onreset=()=>{ye(!!h)})},[]);const U=n&&!v,ae=f.useCallback(le=>{le.key===" "&&D(!0)},[D]),re=f.useCallback(le=>{le.key===" "&&D(!1)},[D]);Zl(()=>{if(!z.current)return;z.current.checked!==se&&ye(z.current.checked)},[z.current]);const oe=f.useCallback((le={},Se=null)=>{const Fe=Ae=>{Q&&Ae.preventDefault(),D(!0)};return{...le,ref:Se,"data-active":tn(G),"data-hover":tn(V),"data-checked":tn(se),"data-focus":tn(Q),"data-focus-visible":tn(Q&&A),"data-indeterminate":tn(w),"data-disabled":tn(n),"data-invalid":tn(s),"data-readonly":tn(r),"aria-hidden":!0,onMouseDown:et(le.onMouseDown,Fe),onMouseUp:et(le.onMouseUp,()=>D(!1)),onMouseEnter:et(le.onMouseEnter,()=>q(!0)),onMouseLeave:et(le.onMouseLeave,()=>q(!1))}},[G,se,n,Q,A,V,w,s,r]),pe=f.useCallback((le={},Se=null)=>({...O,...le,ref:cn(Se,Fe=>{Fe&&Y(Fe.tagName==="LABEL")}),onClick:et(le.onClick,()=>{var Fe;H||((Fe=z.current)==null||Fe.click(),requestAnimationFrame(()=>{var Ae;(Ae=z.current)==null||Ae.focus({preventScroll:!0})}))}),"data-disabled":tn(n),"data-checked":tn(se),"data-invalid":tn(s)}),[O,n,se,s,H]),ce=f.useCallback((le={},Se=null)=>({...le,ref:cn(z,Se),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(le.onChange,K),onBlur:et(le.onBlur,M,()=>B(!1)),onFocus:et(le.onFocus,T,()=>B(!0)),onKeyDown:et(le.onKeyDown,ae),onKeyUp:et(le.onKeyUp,re),required:o,checked:se,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":I,"aria-invalid":P?!!P:s,"aria-describedby":p,"aria-disabled":n,style:tb}),[y,S,a,K,M,T,ae,re,o,se,U,r,_,I,P,s,p,n,k]),ge=f.useCallback((le={},Se=null)=>({...le,ref:Se,onMouseDown:et(le.onMouseDown,NA),"data-disabled":tn(n),"data-checked":tn(se),"data-invalid":tn(s)}),[se,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:se,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:pe,getCheckboxProps:oe,getInputProps:ce,getLabelProps:ge,htmlProps:O}}function NA(e){e.preventDefault(),e.stopPropagation()}var $A={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},zA={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},LA=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),BA=za({from:{opacity:0},to:{opacity:1}}),FA=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),H3=Te(function(t,n){const r=bA(),o={...r,...t},s=Br("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(SA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let I=y;r!=null&&r.onChange&&a.value&&(I=Jh(r.onChange,y));const{state:P,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=F3({...k,isDisabled:w,isChecked:_,onChange:I}),T=yA(P.isChecked),A=f.useMemo(()=>({animation:T?P.isIndeterminate?`${BA} 20ms linear, ${FA} 200ms linear`:`${LA} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,T,P.isIndeterminate,s.icon]),$=f.cloneElement(v,{__css:A,isIndeterminate:P.isIndeterminate,isChecked:P.isChecked});return i.jsxs(Ie.label,{__css:{...zA,...s.container},className:kt("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(Ie.span,{__css:{...$A,...s.control},className:"chakra-checkbox__control",...O(),children:$}),p&&i.jsx(Ie.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});H3.displayName="Checkbox";function HA(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function rb(e,t){let n=HA(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function jv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Bp(e,t,n){return(e-t)*100/(n-t)}function W3(e,t,n){return(n-t)*e+t}function Iv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=jv(n);return rb(r,o)}function rc(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=f0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=V3(ni(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),ni(A)))},[p,v,b]),k=f.useCallback(A=>{let $=A;return d&&($=rc($,a,c)),rb($,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let $;b===""?$=ni(A):$=ni(b)+A,$=k($),S($)},[k,s,S,b]),I=f.useCallback((A=s)=>{let $;b===""?$=ni(-A):$=ni(b)-A,$=k($),S($)},[k,s,S,b]),P=f.useCallback(()=>{var A;let $;r==null?$="":$=(A=f0(r,s,n))!=null?A:a,S($)},[r,n,s,S,a]),E=f.useCallback(A=>{var $;const Q=($=f0(A,s,y))!=null?$:a;S(Q)},[y,s,S,a]),O=ni(b);return{isOutOfRange:O>c||O" `}),[UA,G3]=Rn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),q3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},K3=Te(function(t,n){const{getInputProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__input",t.className);return i.jsx(Ie.input,{...s,__css:{outline:0,...q3,...o.input},className:a})});K3.displayName="EditableInput";var Y3=Te(function(t,n){const{getPreviewProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__preview",t.className);return i.jsx(Ie.span,{...s,__css:{cursor:"text",display:"inline-block",...q3,...o.preview},className:a})});Y3.displayName="EditablePreview";function Yi(e,t,n,r){const o=rr(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function GA(e){return"current"in e}var Q3=()=>typeof window<"u";function qA(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var KA=e=>Q3()&&e.test(navigator.vendor),YA=e=>Q3()&&e.test(qA()),QA=()=>YA(/mac|iphone|ipad|ipod/i),XA=()=>QA()&&KA(/apple/i);function X3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!XA()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=GA(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Iw(e,t){return e?e===t||e.contains(t):!1}function JA(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=rr(b),k=!!(d&&!a),[_,I]=f.useState(k),[P,E]=Ac({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(P),M=f.useRef(null),T=f.useRef(null),A=f.useRef(null),$=f.useRef(null),Q=f.useRef(null);X3({ref:M,enabled:_,elements:[$,Q]});const B=!_&&!a;Zl(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Ba(()=>{var oe,pe,ce,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(ce=M.current)==null||ce.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{B&&I(!0)},[B]),q=f.useCallback(()=>{R(P)},[P]),G=f.useCallback(()=>{I(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),D=f.useCallback(()=>{I(!1),R(P),r==null||r(P),o==null||o(O)},[P,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const z=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),H=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:_e=>{!_e.shiftKey&&!_e.metaKey&&D()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,D]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ie=P.length===0,ye=f.useCallback(oe=>{var pe;if(!_)return;const ce=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:ce.activeElement,_e=Iw($.current,ge),le=Iw(Q.current,ge);!_e&&!le&&(h?D():G())},[h,D,G,_]),Z=f.useCallback((oe={},pe=null)=>{const ce=B&&p?0:void 0;return{...oe,ref:cn(pe,T),children:ie?v:P,hidden:_,"aria-disabled":ns(a),tabIndex:ce,onFocus:et(oe.onFocus,V,q)}},[a,_,B,p,ie,V,q,v,P]),se=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,H),onFocus:et(oe.onFocus,q)}),[a,_,ye,z,H,q,v,P]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,ye,z,Y,q,v,P]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),ae=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,D),disabled:a}),[D,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn($,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ie,value:P,onEdit:V,onCancel:G,onSubmit:D,getPreviewProps:Z,getInputProps:se,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:ae,getCancelButtonProps:re,htmlProps:y}}var J3=Te(function(t,n){const r=Br("Editable",t),o=qn(t),{htmlProps:s,...a}=JA(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=kt("chakra-editable",t.className),v=D1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(UA,{value:a,children:i.jsx(VA,{value:r,children:i.jsx(Ie.div,{ref:n,...s,className:m,children:v})})})});J3.displayName="Editable";var Z3={exports:{}},ZA="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",e9=ZA,t9=e9;function eP(){}function tP(){}tP.resetWarningCache=eP;var n9=function(){function e(r,o,s,a,c,d){if(d!==t9){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:tP,resetWarningCache:eP};return n.PropTypes=n,n};Z3.exports=n9();var r9=Z3.exports;const zn=cd(r9);var Ev="data-focus-lock",nP="data-focus-lock-disabled",o9="data-no-focus-lock",s9="data-autofocus-inside",a9="data-no-autofocus";function i9(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function l9(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function rP(e,t){return l9(t||null,function(n){return e.forEach(function(r){return i9(r,n)})})}var p0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Xs=function(){return Xs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Ov(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(S9)},C9=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],ib=C9.join(","),k9="".concat(ib,", [data-focus-guard]"),wP=function(e,t){return ia((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?k9:ib)?[r]:[],wP(r))},[])},_9=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?am([e.contentDocument.body],t):[e]},am=function(e,t){return e.reduce(function(n,r){var o,s=wP(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return _9(c,t)}));return n.concat(a,r.parentNode?ia(r.parentNode.querySelectorAll(ib)).filter(function(c){return c===r}):[])},[])},P9=function(e){var t=e.querySelectorAll("[".concat(s9,"]"));return ia(t).map(function(n){return am([n])}).reduce(function(n,r){return n.concat(r)},[])},lb=function(e,t){return ia(e).filter(function(n){return mP(t,n)}).filter(function(n){return y9(n)})},Ow=function(e,t){return t===void 0&&(t=new Map),ia(e).filter(function(n){return gP(t,n)})},Mv=function(e,t,n){return xP(lb(am(e,n),t),!0,n)},Rw=function(e,t){return xP(lb(am(e),t),!1)},j9=function(e,t){return lb(P9(e),t)},oc=function(e,t){return e.shadowRoot?oc(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:ia(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?oc(o,t):!1}return oc(n,t)})},I9=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},SP=function(e){return e.parentNode?SP(e.parentNode):e},cb=function(e){var t=Fp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Ev);return n.push.apply(n,o?I9(ia(SP(r).querySelectorAll("[".concat(Ev,'="').concat(o,'"]:not([').concat(nP,'="disabled"])')))):[r]),n},[])},E9=function(e){try{return e()}catch{return}},Gu=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Gu(t.shadowRoot):t instanceof HTMLIFrameElement&&E9(function(){return t.contentWindow.document})?Gu(t.contentWindow.document):t}},O9=function(e,t){return e===t},R9=function(e,t){return!!ia(e.querySelectorAll("iframe")).some(function(n){return O9(n,t)})},CP=function(e,t){return t===void 0&&(t=Gu(fP(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:cb(e).some(function(n){return oc(n,t)||R9(n,t)})},M9=function(e){e===void 0&&(e=document);var t=Gu(e);return t?ia(e.querySelectorAll("[".concat(o9,"]"))).some(function(n){return oc(n,t)}):!1},D9=function(e,t){return t.filter(yP).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},ub=function(e,t){return yP(e)&&e.name?D9(e,t):e},T9=function(e){var t=new Set;return e.forEach(function(n){return t.add(ub(n,e))}),e.filter(function(n){return t.has(n)})},Mw=function(e){return e[0]&&e.length>1?ub(e[0],e):e[0]},Dw=function(e,t){return e.length>1?e.indexOf(ub(e[t],e)):t},kP="NEW_FOCUS",A9=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=ab(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=T9(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Dw(e,0),_=Dw(e,o-1);if(d===-1||h===-1)return kP;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},N9=function(e){return function(t){var n,r=(n=vP(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},$9=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ow(r.filter(N9(n)));return o&&o.length?Mw(o):Mw(Ow(t))},Dv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Dv(e.parentNode.host||e.parentNode,t),t},h0=function(e,t){for(var n=Dv(e),r=Dv(t),o=0;o=0)return s}return!1},_P=function(e,t,n){var r=Fp(e),o=Fp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=h0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=h0(s,d);p&&(!a||oc(p,a)?a=p:a=h0(p,a))})}),a},z9=function(e,t){return e.reduce(function(n,r){return n.concat(j9(r,t))},[])},L9=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(w9)},B9=function(e,t){var n=Gu(Fp(e).length>0?document:fP(e).ownerDocument),r=cb(e).filter(Hp),o=_P(n||e,e,r),s=new Map,a=Rw(r,s),c=Mv(r,s).filter(function(b){var w=b.node;return Hp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Rw([o],s).map(function(b){var w=b.node;return w}),p=L9(d,c),h=p.map(function(b){var w=b.node;return w}),m=A9(h,d,n,t);if(m===kP){var v=$9(a,h,z9(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},F9=function(e){var t=cb(e).filter(Hp),n=_P(e,e,t),r=new Map,o=Mv([n],r,!0),s=Mv(t,r).filter(function(a){var c=a.node;return Hp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:ab(c)}})},H9=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},m0=0,g0=!1,PP=function(e,t,n){n===void 0&&(n={});var r=B9(e,t);if(!g0&&r){if(m0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),g0=!0,setTimeout(function(){g0=!1},1);return}m0++,H9(r.node,n.focusOptions),m0--}};function db(e){setTimeout(e,1)}var W9=function(){return document&&document.activeElement===document.body},V9=function(){return W9()||M9()},sc=null,Kl=null,ac=null,qu=!1,U9=function(){return!0},G9=function(t){return(sc.whiteList||U9)(t)},q9=function(t,n){ac={observerNode:t,portaledElement:n}},K9=function(t){return ac&&ac.portaledElement===t};function Tw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var Y9=function(t){return t&&"current"in t?t.current:t},Q9=function(t){return t?!!qu:qu==="meanwhile"},X9=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},J9=function(t,n){return n.some(function(r){return X9(t,r,r)})},Wp=function(){var t=!1;if(sc){var n=sc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||ac&&ac.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(Y9).filter(Boolean));if((!h||G9(h))&&(o||Q9(c)||!V9()||!Kl&&s)&&(p&&!(CP(m)||h&&J9(h,m)||K9(h))&&(document&&!Kl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=PP(m,Kl,{focusOptions:d}),ac={})),qu=!1,Kl=document&&document.activeElement),document){var v=document&&document.activeElement,b=F9(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),Tw(w,b.length,1,b),Tw(w,-1,-1,b))}}}return t},jP=function(t){Wp()&&t&&(t.stopPropagation(),t.preventDefault())},fb=function(){return db(Wp)},Z9=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||q9(r,n)},eN=function(){return null},IP=function(){qu="just",db(function(){qu="meanwhile"})},tN=function(){document.addEventListener("focusin",jP),document.addEventListener("focusout",fb),window.addEventListener("blur",IP)},nN=function(){document.removeEventListener("focusin",jP),document.removeEventListener("focusout",fb),window.removeEventListener("blur",IP)};function rN(e){return e.filter(function(t){var n=t.disabled;return!n})}function oN(e){var t=e.slice(-1)[0];t&&!sc&&tN();var n=sc,r=n&&t&&t.id===n.id;sc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Kl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Wp(),db(Wp)):(nN(),Kl=null)}cP.assignSyncMedium(Z9);uP.assignMedium(fb);u9.assignMedium(function(e){return e({moveFocusInside:PP,focusInside:CP})});const sN=h9(rN,oN)(eN);var EP=f.forwardRef(function(t,n){return f.createElement(dP,or({sideCar:sN,ref:n},t))}),OP=dP.propTypes||{};OP.sideCar;AD(OP,["sideCar"]);EP.propTypes={};const Aw=EP;function RP(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function pb(e){var t;if(!RP(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function aN(e){var t,n;return(n=(t=MP(e))==null?void 0:t.defaultView)!=null?n:window}function MP(e){return RP(e)?e.ownerDocument:document}function iN(e){return MP(e).activeElement}function lN(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function cN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function DP(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:pb(e)&&lN(e)?e:DP(cN(e))}var TP=e=>e.hasAttribute("tabindex"),uN=e=>TP(e)&&e.tabIndex===-1;function dN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function AP(e){return e.parentElement&&AP(e.parentElement)?!0:e.hidden}function fN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function NP(e){if(!pb(e)||AP(e)||dN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():fN(e)?!0:TP(e)}function pN(e){return e?pb(e)&&NP(e)&&!uN(e):!1}var hN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],mN=hN.join(),gN=e=>e.offsetWidth>0&&e.offsetHeight>0;function $P(e){const t=Array.from(e.querySelectorAll(mN));return t.unshift(e),t.filter(n=>NP(n)&&gN(n))}var Nw,vN=(Nw=Aw.default)!=null?Nw:Aw,zP=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&$P(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(vN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};zP.displayName="FocusLock";function bN(e,t,n,r){const o=C_(t);return f.useEffect(()=>{var s;const a=(s=j2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=j2(n))!=null?s:document).removeEventListener(e,o,r)}}function yN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=C_(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{v0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&v0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&v0(m,t)&&(a.isPointerDown=!1,o(m))},h=k_(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function v0(e,t){var n;const r=e.target;return r&&!k_(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[xN,wN]=Rn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),LP=Te(function(t,n){const r=Br("Input",t),{children:o,className:s,...a}=qn(t),c=kt("chakra-input__group",s),d={},p=gd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=Y1({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(Ie.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate"},"data-group":!0,...a,children:i.jsx(xN,{value:r,children:m})})});LP.displayName="InputGroup";var SN=Ie("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),im=Te(function(t,n){var r,o;const{placement:s="left",...a}=t,c=wN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(SN,{ref:n,__css:h,...a})});im.id="InputElement";im.displayName="InputElement";var BP=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__left-element",r);return i.jsx(im,{ref:n,placement:"left",className:s,...o})});BP.id="InputLeftElement";BP.displayName="InputLeftElement";var hb=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__right-element",r);return i.jsx(im,{ref:n,placement:"right",className:s,...o})});hb.id="InputRightElement";hb.displayName="InputRightElement";var yd=Te(function(t,n){const{htmlSize:r,...o}=t,s=Br("Input",o),a=qn(o),c=Z1(a),d=kt("chakra-input",t.className);return i.jsx(Ie.input,{size:r,...c,__css:s.field,ref:n,className:d})});yd.displayName="Input";yd.id="Input";var mb=Te(function(t,n){const r=$a("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(Ie.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:kt("chakra-link",o),...a,__css:r})});mb.displayName="Link";var[CN,FP]=Rn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),gb=Te(function(t,n){const r=Br("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=gd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(CN,{value:r,children:i.jsx(Ie.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});gb.displayName="List";var kN=Te((e,t)=>{const{as:n,...r}=e;return i.jsx(gb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});kN.displayName="OrderedList";var vb=Te(function(t,n){const{as:r,...o}=t;return i.jsx(gb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});vb.displayName="UnorderedList";var xa=Te(function(t,n){const r=FP();return i.jsx(Ie.li,{ref:n,...t,__css:r.item})});xa.displayName="ListItem";var _N=Te(function(t,n){const r=FP();return i.jsx(Kr,{ref:n,role:"presentation",...t,__css:r.icon})});_N.displayName="ListIcon";var rl=Te(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(Ie.div,{ref:n,__css:y,...w})});rl.displayName="Grid";function HP(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):pv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var fl=Ie("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});fl.displayName="Spacer";var tt=Te(function(t,n){const r=$a("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=Y1({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(Ie.p,{ref:n,className:kt("chakra-text",t.className),...p,...d,__css:r})});tt.displayName="Text";var WP=e=>i.jsx(Ie.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});WP.displayName="StackItem";function PN(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":HP(n,o=>r[o])}}var bb=Te((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>PN({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const I=gd(d);return S?I:I.map((P,E)=>{const O=typeof P.key<"u"?P.key:E,R=E+1===I.length,T=m?i.jsx(WP,{children:P},O):P;if(!y)return T;const A=f.cloneElement(p,{__css:w}),$=R?null:A;return i.jsxs(f.Fragment,{children:[T,$]},O)})},[p,w,y,S,m,d]),_=kt("chakra-stack",h);return i.jsx(Ie.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});bb.displayName="Stack";var VP=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"column",ref:t}));VP.displayName="VStack";var di=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"row",ref:t}));di.displayName="HStack";function $w(e){return HP(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Tv=Te(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=Y1({gridArea:r,gridColumn:$w(o),gridRow:$w(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(Ie.div,{ref:n,__css:m,...h})});Tv.displayName="GridItem";var pl=Te(function(t,n){const r=$a("Badge",t),{className:o,...s}=qn(t);return i.jsx(Ie.span,{ref:n,className:kt("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});pl.displayName="Badge";var hl=Te(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=$a("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(Ie.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:kt("chakra-divider",m)})});hl.displayName="Divider";function jN(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function IN(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(jN(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function EN(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function ON(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function b0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function UP(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),I=ON(),P=D=>{D&&D.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(D=>{if(n){D.stopPropagation(),D.preventDefault();return}D.currentTarget.focus(),d==null||d(D)},[n,d]),M=f.useCallback(D=>{k&&b0(D)&&(D.preventDefault(),D.stopPropagation(),_(!1),I.remove(document,"keyup",M,!1))},[k,I]),T=f.useCallback(D=>{if(p==null||p(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;const z=o&&D.key==="Enter";s&&D.key===" "&&(D.preventDefault(),_(!0)),z&&(D.preventDefault(),D.currentTarget.click()),I.add(document,"keyup",M,!1)},[n,y,p,o,s,I,M]),A=f.useCallback(D=>{if(h==null||h(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;s&&D.key===" "&&(D.preventDefault(),_(!1),D.currentTarget.click())},[s,y,n,h]),$=f.useCallback(D=>{D.button===0&&(_(!1),I.remove(document,"mouseup",$,!1))},[I]),Q=f.useCallback(D=>{if(D.button!==0)return;if(n){D.stopPropagation(),D.preventDefault();return}y||_(!0),D.currentTarget.focus({preventScroll:!0}),I.add(document,"mouseup",$,!1),a==null||a(D)},[n,y,a,I,$]),B=f.useCallback(D=>{D.button===0&&(y||_(!1),c==null||c(D))},[c,y]),V=f.useCallback(D=>{if(n){D.preventDefault();return}v==null||v(D)},[n,v]),q=f.useCallback(D=>{k&&(D.preventDefault(),_(!1)),b==null||b(D)},[k,b]),G=cn(t,P);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":tn(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:B,onKeyUp:A,onKeyDown:T,onMouseOver:V,onMouseLeave:q}}function RN(e){const t=e.current;if(!t)return!1;const n=iN(t);return!n||t.contains(n)?!1:!!pN(n)}function GP(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Ba(()=>{if(!s||RN(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var MN={preventScroll:!0,shouldFocus:!1};function DN(e,t=MN){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=TN(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);Zl(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=$P(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Ba(()=>{h()},[h]),Yi(a,"transitionend",h)}function TN(e){return"current"in e}var Tl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),_r={arrowShadowColor:Tl("--popper-arrow-shadow-color"),arrowSize:Tl("--popper-arrow-size","8px"),arrowSizeHalf:Tl("--popper-arrow-size-half"),arrowBg:Tl("--popper-arrow-bg"),transformOrigin:Tl("--popper-transform-origin"),arrowOffset:Tl("--popper-arrow-offset")};function AN(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var NN={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},$N=e=>NN[e],zw={scroll:!0,resize:!0};function zN(e){let t;return typeof e=="object"?t={enabled:!0,options:{...zw,...e}}:t={enabled:e,options:zw},t}var LN={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},BN={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Lw(e)},effect:({state:e})=>()=>{Lw(e)}},Lw=e=>{e.elements.popper.style.setProperty(_r.transformOrigin.var,$N(e.placement))},FN={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{HN(e)}},HN=e=>{var t;if(!e.placement)return;const n=WN(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:_r.arrowSize.varRef,height:_r.arrowSize.varRef,zIndex:-1});const r={[_r.arrowSizeHalf.var]:`calc(${_r.arrowSize.varRef} / 2 - 1px)`,[_r.arrowOffset.var]:`calc(${_r.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},WN=e=>{if(e.startsWith("top"))return{property:"bottom",value:_r.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:_r.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:_r.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:_r.arrowOffset.varRef}},VN={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Bw(e)},effect:({state:e})=>()=>{Bw(e)}},Bw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=AN(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:_r.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},UN={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},GN={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function qN(e,t="ltr"){var n,r;const o=((n=UN[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=GN[e])!=null?r:o}var Co="top",as="bottom",is="right",ko="left",yb="auto",xd=[Co,as,is,ko],vc="start",Ku="end",KN="clippingParents",qP="viewport",du="popper",YN="reference",Fw=xd.reduce(function(e,t){return e.concat([t+"-"+vc,t+"-"+Ku])},[]),KP=[].concat(xd,[yb]).reduce(function(e,t){return e.concat([t,t+"-"+vc,t+"-"+Ku])},[]),QN="beforeRead",XN="read",JN="afterRead",ZN="beforeMain",e$="main",t$="afterMain",n$="beforeWrite",r$="write",o$="afterWrite",s$=[QN,XN,JN,ZN,e$,t$,n$,r$,o$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Lo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ol(e){var t=Lo(e).Element;return e instanceof t||e instanceof Element}function rs(e){var t=Lo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function xb(e){if(typeof ShadowRoot>"u")return!1;var t=Lo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function a$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!rs(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function i$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!rs(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const l$={name:"applyStyles",enabled:!0,phase:"write",fn:a$,effect:i$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,Vp=Math.min,bc=Math.round;function Av(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function YP(){return!/^((?!chrome|android).)*safari/i.test(Av())}function yc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&rs(e)&&(o=e.offsetWidth>0&&bc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&bc(r.height)/e.offsetHeight||1);var a=ol(e)?Lo(e):window,c=a.visualViewport,d=!YP()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function wb(e){var t=yc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function QP(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&xb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ea(e){return Lo(e).getComputedStyle(e)}function c$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((ol(e)?e.ownerDocument:e.document)||window.document).documentElement}function lm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(xb(e)?e.host:null)||Pi(e)}function Hw(e){return!rs(e)||Ea(e).position==="fixed"?null:e.offsetParent}function u$(e){var t=/firefox/i.test(Av()),n=/Trident/i.test(Av());if(n&&rs(e)){var r=Ea(e);if(r.position==="fixed")return null}var o=lm(e);for(xb(o)&&(o=o.host);rs(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ea(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function wd(e){for(var t=Lo(e),n=Hw(e);n&&c$(n)&&Ea(n).position==="static";)n=Hw(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ea(n).position==="static")?t:n||u$(e)||t}function Sb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Tu(e,t,n){return Qi(e,Vp(t,n))}function d$(e,t,n){var r=Tu(e,t,n);return r>n?n:r}function XP(){return{top:0,right:0,bottom:0,left:0}}function JP(e){return Object.assign({},XP(),e)}function ZP(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var f$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,JP(typeof t!="number"?t:ZP(t,xd))};function p$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=Sb(c),p=[ko,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=f$(o.padding,n),v=wb(s),b=d==="y"?Co:ko,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=wd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,I=y/2-S/2,P=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+I,R=Tu(P,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function h$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||QP(t.elements.popper,o)&&(t.elements.arrow=o))}const m$={name:"arrow",enabled:!0,phase:"main",fn:p$,effect:h$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xc(e){return e.split("-")[1]}var g$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function v$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:bc(n*o)/o||0,y:bc(r*o)/o||0}}function Ww(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),I=ko,P=Co,E=window;if(p){var O=wd(n),R="clientHeight",M="clientWidth";if(O===Lo(n)&&(O=Pi(n),Ea(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===Co||(o===ko||o===is)&&s===Ku){P=as;var T=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=T-r.height,y*=d?1:-1}if(o===ko||(o===Co||o===as)&&s===Ku){I=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var $=Object.assign({position:c},p&&g$),Q=h===!0?v$({x:b,y},Lo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var B;return Object.assign({},$,(B={},B[P]=_?"0":"",B[I]=k?"0":"",B.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",B))}return Object.assign({},$,(t={},t[P]=_?y+"px":"",t[I]=k?b+"px":"",t.transform="",t))}function b$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:xc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ww(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ww(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const y$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:b$,data:{}};var Mf={passive:!0};function x$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Lo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Mf)}),c&&d.addEventListener("resize",n.update,Mf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Mf)}),c&&d.removeEventListener("resize",n.update,Mf)}}const w$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:x$,data:{}};var S$={left:"right",right:"left",bottom:"top",top:"bottom"};function yp(e){return e.replace(/left|right|bottom|top/g,function(t){return S$[t]})}var C$={start:"end",end:"start"};function Vw(e){return e.replace(/start|end/g,function(t){return C$[t]})}function Cb(e){var t=Lo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function kb(e){return yc(Pi(e)).left+Cb(e).scrollLeft}function k$(e,t){var n=Lo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=YP();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+kb(e),y:d}}function _$(e){var t,n=Pi(e),r=Cb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+kb(e),d=-r.scrollTop;return Ea(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function _b(e){var t=Ea(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function e5(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:rs(e)&&_b(e)?e:e5(lm(e))}function Au(e,t){var n;t===void 0&&(t=[]);var r=e5(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Lo(r),a=o?[s].concat(s.visualViewport||[],_b(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Au(lm(a)))}function Nv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function P$(e,t){var n=yc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Uw(e,t,n){return t===qP?Nv(k$(e,n)):ol(t)?P$(t,n):Nv(_$(Pi(e)))}function j$(e){var t=Au(lm(e)),n=["absolute","fixed"].indexOf(Ea(e).position)>=0,r=n&&rs(e)?wd(e):e;return ol(r)?t.filter(function(o){return ol(o)&&QP(o,r)&&ra(o)!=="body"}):[]}function I$(e,t,n,r){var o=t==="clippingParents"?j$(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=Uw(e,p,r);return d.top=Qi(h.top,d.top),d.right=Vp(h.right,d.right),d.bottom=Vp(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},Uw(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function t5(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?xc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case Co:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case ko:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?Sb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case vc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case Ku:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function Yu(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?KN:c,p=n.rootBoundary,h=p===void 0?qP:p,m=n.elementContext,v=m===void 0?du:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=JP(typeof S!="number"?S:ZP(S,xd)),_=v===du?YN:du,I=e.rects.popper,P=e.elements[w?_:v],E=I$(ol(P)?P:P.contextElement||Pi(e.elements.popper),d,h,a),O=yc(e.elements.reference),R=t5({reference:O,element:I,strategy:"absolute",placement:o}),M=Nv(Object.assign({},I,R)),T=v===du?M:O,A={top:E.top-T.top+k.top,bottom:T.bottom-E.bottom+k.bottom,left:E.left-T.left+k.left,right:T.right-E.right+k.right},$=e.modifiersData.offset;if(v===du&&$){var Q=$[o];Object.keys(A).forEach(function(B){var V=[is,as].indexOf(B)>=0?1:-1,q=[Co,as].indexOf(B)>=0?"y":"x";A[B]+=Q[q]*V})}return A}function E$(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?KP:d,h=xc(r),m=h?c?Fw:Fw.filter(function(w){return xc(w)===h}):xd,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=Yu(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function O$(e){if(ta(e)===yb)return[];var t=yp(e);return[Vw(e),t,Vw(t)]}function R$(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,I=d||(_||!w?[yp(S)]:O$(S)),P=[S].concat(I).reduce(function(se,K){return se.concat(ta(K)===yb?E$(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,T=P[0],A=0;A=0,q=V?"width":"height",G=Yu(t,{placement:$,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),D=V?B?is:ko:B?as:Co;E[q]>O[q]&&(D=yp(D));var z=yp(D),H=[];if(s&&H.push(G[Q]<=0),c&&H.push(G[D]<=0,G[z]<=0),H.every(function(se){return se})){T=$,M=!1;break}R.set($,H)}if(M)for(var Y=w?3:1,ie=function(K){var U=P.find(function(ae){var re=R.get(ae);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return T=U,"break"},ye=Y;ye>0;ye--){var Z=ie(ye);if(Z==="break")break}t.placement!==T&&(t.modifiersData[r]._skip=!0,t.placement=T,t.reset=!0)}}const M$={name:"flip",enabled:!0,phase:"main",fn:R$,requiresIfExists:["offset"],data:{_skip:!1}};function Gw(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function qw(e){return[Co,is,as,ko].some(function(t){return e[t]>=0})}function D$(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=Yu(t,{elementContext:"reference"}),c=Yu(t,{altBoundary:!0}),d=Gw(a,r),p=Gw(c,o,s),h=qw(d),m=qw(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const T$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:D$};function A$(e,t,n){var r=ta(e),o=[ko,Co].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[ko,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function N$(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=KP.reduce(function(h,m){return h[m]=A$(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const $$={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:N$};function z$(e){var t=e.state,n=e.name;t.modifiersData[n]=t5({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const L$={name:"popperOffsets",enabled:!0,phase:"read",fn:z$,data:{}};function B$(e){return e==="x"?"y":"x"}function F$(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=Yu(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=xc(t.placement),I=!_,P=Sb(k),E=B$(P),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,T=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),$=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var B,V=P==="y"?Co:ko,q=P==="y"?as:is,G=P==="y"?"height":"width",D=O[P],z=D+S[V],H=D-S[q],Y=b?-M[G]/2:0,ie=_===vc?R[G]:M[G],ye=_===vc?-M[G]:-R[G],Z=t.elements.arrow,se=b&&Z?wb(Z):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:XP(),U=K[V],ae=K[q],re=Tu(0,R[G],se[G]),oe=I?R[G]/2-Y-re-U-A.mainAxis:ie-re-U-A.mainAxis,pe=I?-R[G]/2+Y+re+ae+A.mainAxis:ye+re+ae+A.mainAxis,ce=t.elements.arrow&&wd(t.elements.arrow),ge=ce?P==="y"?ce.clientTop||0:ce.clientLeft||0:0,_e=(B=$==null?void 0:$[P])!=null?B:0,le=D+oe-_e-ge,Se=D+pe-_e,Fe=Tu(b?Vp(z,le):z,D,b?Qi(H,Se):H);O[P]=Fe,Q[P]=Fe-D}if(c){var Ae,He=P==="x"?Co:ko,Ct=P==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[He],bt=ct-S[Ct],we=[Co,ko].indexOf(k)!==-1,Re=(Ae=$==null?void 0:$[E])!=null?Ae:0,Pt=we?vt:ct-R[on]-M[on]-Re+A.altAxis,At=we?ct+R[on]+M[on]-Re-A.altAxis:bt,xe=b&&we?d$(Pt,ct,At):Tu(b?Pt:vt,ct,b?At:bt);O[E]=xe,Q[E]=xe-ct}t.modifiersData[r]=Q}}const H$={name:"preventOverflow",enabled:!0,phase:"main",fn:F$,requiresIfExists:["offset"]};function W$(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function V$(e){return e===Lo(e)||!rs(e)?Cb(e):W$(e)}function U$(e){var t=e.getBoundingClientRect(),n=bc(t.width)/e.offsetWidth||1,r=bc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function G$(e,t,n){n===void 0&&(n=!1);var r=rs(t),o=rs(t)&&U$(t),s=Pi(t),a=yc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||_b(s))&&(c=V$(t)),rs(t)?(d=yc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=kb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function q$(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function K$(e){var t=q$(e);return s$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function Y$(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Q$(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Kw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),n=0;n{}),I=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=Z$(w.current,y.current,{placement:k,modifiers:[VN,FN,BN,{...LN,enabled:!!v},{name:"eventListeners",...zN(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const P=f.useCallback(A=>{w.current=A,I()},[I]),E=f.useCallback((A={},$=null)=>({...A,ref:cn(P,$)}),[P]),O=f.useCallback(A=>{y.current=A,I()},[I]),R=f.useCallback((A={},$=null)=>({...A,ref:cn(O,$),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},$=null)=>{const{size:Q,shadowColor:B,bg:V,style:q,...G}=A;return{...G,ref:$,"data-popper-arrow":"",style:ez(A)}},[]),T=f.useCallback((A={},$=null)=>({...A,ref:$,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:_r.transformOrigin.varRef,referenceRef:P,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:T,getReferenceProps:E}}function ez(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function jb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=rr(n),a=rr(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(I){var P;(P=_.onClick)==null||P.call(_,I),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function tz(e){const{ref:t,handler:n,enabled:r=!0}=e,o=rr(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{y0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&y0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&y0(m,t)&&(a.isPointerDown=!1,o(m))},h=n5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function y0(e,t){var n;const r=e.target;return r&&!n5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function n5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function r5(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=aN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ib(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[nz,rz,oz,sz]=Q1(),[az,Sd]=Rn({strict:!1,name:"MenuContext"});function iz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function o5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function Qw(e){return o5(e).activeElement===e}function lz(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=oz(),I=f.useCallback(()=>{requestAnimationFrame(()=>{var Z;(Z=S.current)==null||Z.focus({preventScroll:!1})})},[]),P=f.useCallback(()=>{const Z=setTimeout(()=>{var se;if(o)(se=o.current)==null||se.focus();else{const K=_.firstEnabled();K&&B(K.index)}});z.current.add(Z)},[_,o]),E=f.useCallback(()=>{const Z=setTimeout(()=>{const se=_.lastEnabled();se&&B(se.index)});z.current.add(Z)},[_]),O=f.useCallback(()=>{h==null||h(),s?P():I()},[s,P,I,h]),{isOpen:R,onOpen:M,onClose:T,onToggle:A}=jb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});tz({enabled:R&&r,ref:S,handler:Z=>{var se;(se=k.current)!=null&&se.contains(Z.target)||T()}});const $=Pb({...y,enabled:R||w,placement:m,direction:b}),[Q,B]=f.useState(-1);Ba(()=>{R||B(-1)},[R]),GP(S,{focusRef:k,visible:R,shouldFocus:!0});const V=r5({isOpen:R,ref:S}),[q,G]=iz(t,"menu-button","menu-list"),D=f.useCallback(()=>{M(),I()},[M,I]),z=f.useRef(new Set([]));gz(()=>{z.current.forEach(Z=>clearTimeout(Z)),z.current.clear()});const H=f.useCallback(()=>{M(),P()},[P,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ie=f.useCallback(()=>{var Z,se;const K=o5(S.current),U=(Z=S.current)==null?void 0:Z.contains(K.activeElement);if(!(R&&!U))return;const re=(se=_.item(Q))==null?void 0:se.node;re==null||re.focus()},[R,Q,_]),ye=f.useRef(null);return{openAndFocusMenu:D,openAndFocusFirstItem:H,openAndFocusLastItem:Y,onTransitionEnd:ie,unstable__animationState:V,descendants:_,popper:$,buttonId:q,menuId:G,forceUpdate:$.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:T,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:B,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:ye}}function cz(e={},t=null){const n=Sd(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":tn(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function $v(e){var t;return hz(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function uz(e={},t=null){const n=Sd();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=rz(),b=IN({preventDefault:k=>k.key!==" "&&$v(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,P={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(P){k.preventDefault(),P(k);return}const E=b(O=>{const R=EN(v.values(),O,M=>{var T,A;return(A=(T=M==null?void 0:M.node)==null?void 0:T.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});$v(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ib({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function dz(e={}){const{popper:t,isOpen:n}=Sd();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function s5(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Sd(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:I,rafId:P}=v,E=f.useRef(null),O=`${I}-menuitem-${f.useId()}`,{index:R,register:M}=sz({disabled:c&&!d}),T=f.useCallback(D=>{n==null||n(D),!c&&b(R)},[b,R,c,n]),A=f.useCallback(D=>{r==null||r(D),E.current&&!Qw(E.current)&&T(D)},[T,r]),$=f.useCallback(D=>{o==null||o(D),!c&&b(-1)},[b,c,o]),Q=f.useCallback(D=>{s==null||s(D),$v(D.currentTarget)&&(p??y)&&S()},[S,s,y,p]),B=f.useCallback(D=>{a==null||a(D),b(R)},[b,a,R]),V=R===w,q=c&&!d;Ba(()=>{_&&(V&&!q&&E.current?(P.current&&cancelAnimationFrame(P.current),P.current=requestAnimationFrame(()=>{var D;(D=E.current)==null||D.focus(),P.current=null})):k.current&&!Qw(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=UP({onClick:Q,onFocus:B,onMouseEnter:T,onMouseMove:A,onMouseLeave:$,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function fz(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...s5(o,t),role:`menuitem${n}`,"aria-checked":r}}function pz(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=Ac({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=gd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,I;m(w.props.value),(I=(_=w.props).onClick)==null||I.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function hz(e){var t;if(!mz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function mz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function gz(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[vz,Cd]=Rn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),kd=e=>{const{children:t}=e,n=Br("Menu",e),r=qn(e),{direction:o}=Mc(),{descendants:s,...a}=lz({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(nz,{value:s,children:i.jsx(az,{value:c,children:i.jsx(vz,{value:n,children:D1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};kd.displayName="Menu";var a5=Te((e,t)=>{const n=Cd();return i.jsx(Ie.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});a5.displayName="MenuCommand";var i5=Te((e,t)=>{const{type:n,...r}=e,o=Cd(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(Ie.button,{ref:t,type:s,...r,__css:a})}),Eb=e=>{const{className:t,children:n,...r}=e,o=f.Children.only(n),s=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:kt("chakra-menu__icon",o.props.className)}):null,a=kt("chakra-menu__icon-wrapper",t);return i.jsx(Ie.span,{className:a,...r,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s})};Eb.displayName="MenuIcon";var kr=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=s5(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(i5,{...d,className:kt("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(a5,{marginStart:s,children:o})]})});kr.displayName="MenuItem";var bz={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},yz=Ie(Qr.div),zc=Te(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Sd(),m=uz(c,n),v=dz(s),b=Cd();return i.jsx(Ie.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(yz,{variants:bz,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:kt("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:Jh(h.onComplete,m.onAnimationComplete)})})});zc.displayName="MenuList";var Qu=Te((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=kt("chakra-menu__group__title",o),c=Cd();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(Ie.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});Qu.displayName="MenuGroup";var l5=e=>{const{className:t,title:n,...r}=e,o=pz(r);return i.jsx(Qu,{title:n,className:kt("chakra-menu__option-group",t),...o})};l5.displayName="MenuOptionGroup";var xz=Te((e,t)=>{const n=Cd();return i.jsx(Ie.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),_d=Te((e,t)=>{const{children:n,as:r,...o}=e,s=cz(o,t),a=r||xz;return i.jsx(a,{...s,className:kt("chakra-menu__menu-button",e.className),children:i.jsx(Ie.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});_d.displayName="MenuButton";var wz=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),Up=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=fz(o,t);return i.jsxs(i5,{...s,className:kt("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(wz,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});Up.id="MenuItemOption";Up.displayName="MenuItemOption";var Sz={slideInBottom:{...Cv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Cv,custom:{offsetX:16,reverse:!0}},scale:{...T3,custom:{initialScale:.95,reverse:!0}},none:{}},Cz=Ie(Qr.section),kz=e=>Sz[e||"none"],c5=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=kz(n),...o}=e;return i.jsx(Cz,{ref:t,...r,...o})});c5.displayName="ModalTransition";var _z=Object.defineProperty,Pz=(e,t,n)=>t in e?_z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jz=(e,t,n)=>(Pz(e,typeof t!="symbol"?t+"":t,n),n),Iz=class{constructor(){jz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},zv=new Iz;function u5(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=zv.add(o);r(s)}return()=>{zv.remove(o),r(0)}}},[t,e]),n}var Ez=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Al=new WeakMap,Df=new WeakMap,Tf={},x0=0,d5=function(e){return e&&(e.host||d5(e.parentNode))},Oz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=d5(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Rz=function(e,t,n,r){var o=Oz(t,Array.isArray(e)?e:[e]);Tf[n]||(Tf[n]=new WeakMap);var s=Tf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Al.get(v)||0)+1,S=(s.get(v)||0)+1;Al.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Df.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),x0++,function(){a.forEach(function(m){var v=Al.get(m)-1,b=s.get(m)-1;Al.set(m,v),s.set(m,b),v||(Df.has(m)||m.removeAttribute(r),Df.delete(m)),b||m.removeAttribute(n)}),x0--,x0||(Al=new WeakMap,Al=new WeakMap,Df=new WeakMap,Tf={})}},Mz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||Ez(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Rz(r,o,n,"aria-hidden")):function(){return null}};function Dz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=Az(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Tz(p,t&&a);const w=u5(p,t),y=f.useRef(null),S=f.useCallback(T=>{y.current=T.target},[]),k=f.useCallback(T=>{T.key==="Escape"&&(T.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,I]=f.useState(!1),[P,E]=f.useState(!1),O=f.useCallback((T={},A=null)=>({role:"dialog",...T,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":P?b:void 0,onClick:et(T.onClick,$=>$.stopPropagation())}),[b,P,m,v,_]),R=f.useCallback(T=>{T.stopPropagation(),y.current===T.target&&zv.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((T={},A=null)=>({...T,ref:cn(A,h),onClick:et(T.onClick,R),onKeyDown:et(T.onKeyDown,k),onMouseDown:et(T.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:I,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function Tz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return Mz(e.current)},[t,e,n])}function Az(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[Nz,Lc]=Rn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[$z,sl]=Rn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Xu=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Br("Modal",t),k={...Dz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx($z,{value:k,children:i.jsx(Nz,{value:y,children:i.jsx(Fo,{onExitComplete:w,children:k.isOpen&&i.jsx(Vu,{...n,children:r})})})})};Xu.displayName="Modal";var xp="right-scroll-bar-position",wp="width-before-scroll-bar",zz="with-scroll-bars-hidden",Lz="--removed-body-scroll-bar-size",f5=iP(),w0=function(){},cm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:w0,onWheelCapture:w0,onTouchMoveCapture:w0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,I=oP(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=v,E=rP([n,t]),O=Xs(Xs({},I),o);return f.createElement(f.Fragment,null,h&&f.createElement(P,{sideCar:f5,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Xs(Xs({},O),{ref:E})):f.createElement(k,Xs({},O,{className:d,ref:E}),c))});cm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};cm.classNames={fullWidth:wp,zeroRight:xp};var Xw,Bz=function(){if(Xw)return Xw;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Fz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Bz();return t&&e.setAttribute("nonce",t),e}function Hz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Wz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Vz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Fz())&&(Hz(t,n),Wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Uz=function(){var e=Vz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},p5=function(){var e=Uz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},Gz={left:0,top:0,right:0,gap:0},S0=function(e){return parseInt(e||"",10)||0},qz=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[S0(n),S0(r),S0(o)]},Kz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Gz;var t=qz(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Yz=p5(),Qz=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` + .`.concat(zz,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(c,"px ").concat(r,`; + } + body { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(s,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(c,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(xp,` { + right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(wp,` { + margin-right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(xp," .").concat(xp,` { + right: 0 `).concat(r,`; + } + + .`).concat(wp," .").concat(wp,` { + margin-right: 0 `).concat(r,`; + } + + body { + `).concat(Lz,": ").concat(c,`px; + } +`)},Xz=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Kz(o)},[o]);return f.createElement(Yz,{styles:Qz(s,!t,o,n?"":"!important")})},Lv=!1;if(typeof window<"u")try{var Af=Object.defineProperty({},"passive",{get:function(){return Lv=!0,!0}});window.addEventListener("test",Af,Af),window.removeEventListener("test",Af,Af)}catch{Lv=!1}var Nl=Lv?{passive:!1}:!1,Jz=function(e){return e.tagName==="TEXTAREA"},h5=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Jz(e)&&n[t]==="visible")},Zz=function(e){return h5(e,"overflowY")},eL=function(e){return h5(e,"overflowX")},Jw=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=m5(e,r);if(o){var s=g5(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},tL=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},nL=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},m5=function(e,t){return e==="v"?Zz(t):eL(t)},g5=function(e,t){return e==="v"?tL(t):nL(t)},rL=function(e,t){return e==="h"&&t==="rtl"?-1:1},oL=function(e,t,n,r,o){var s=rL(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),p=!1,h=a>0,m=0,v=0;do{var b=g5(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&m5(e,c)&&(m+=k,v+=w),c=c.parentNode}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(h&&(o&&m===0||!o&&a>m)||!h&&(o&&v===0||!o&&-a>v))&&(p=!0),p},Nf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Zw=function(e){return[e.deltaX,e.deltaY]},eS=function(e){return e&&"current"in e?e.current:e},sL=function(e,t){return e[0]===t[0]&&e[1]===t[1]},aL=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},iL=0,$l=[];function lL(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(iL++)[0],s=f.useState(p5)[0],a=f.useRef(e);f.useEffect(function(){a.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var y=Ov([e.lockRef.current],(e.shards||[]).map(eS),!0).filter(Boolean);return y.forEach(function(S){return S.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=f.useCallback(function(y,S){if("touches"in y&&y.touches.length===2)return!a.current.allowPinchZoom;var k=Nf(y),_=n.current,I="deltaX"in y?y.deltaX:_[0]-k[0],P="deltaY"in y?y.deltaY:_[1]-k[1],E,O=y.target,R=Math.abs(I)>Math.abs(P)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=Jw(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=Jw(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(I||P)&&(r.current=E),!E)return!0;var T=r.current||E;return oL(T,S,y,T==="h"?I:P,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!$l.length||$l[$l.length-1]!==s)){var k="deltaY"in S?Zw(S):Nf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&sL(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var I=(a.current.shards||[]).map(eS).filter(Boolean).filter(function(E){return E.contains(S.target)}),P=I.length>0?c(S,I[0]):!a.current.noIsolation;P&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var I={name:y,delta:S,target:k,should:_};t.current.push(I),setTimeout(function(){t.current=t.current.filter(function(P){return P!==I})},1)},[]),h=f.useCallback(function(y){n.current=Nf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,Zw(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Nf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return $l.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,Nl),document.addEventListener("touchmove",d,Nl),document.addEventListener("touchstart",h,Nl),function(){$l=$l.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,Nl),document.removeEventListener("touchmove",d,Nl),document.removeEventListener("touchstart",h,Nl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:aL(o)}):null,b?f.createElement(Xz,{gapMode:e.gapMode}):null)}const cL=c9(f5,lL);var v5=f.forwardRef(function(e,t){return f.createElement(cm,Xs({},e,{ref:t,sideCar:cL}))});v5.classNames=cm.classNames;const uL=v5;function dL(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=sl(),[v,b]=yR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=u5(r,m);return i.jsx(zP,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(uL,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var Ju=Te((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=sl(),p=c(a,t),h=d(o),m=kt("chakra-modal__content",n),v=Lc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},w={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:y}=sl();return i.jsx(dL,{children:i.jsx(Ie.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(c5,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});Ju.displayName="ModalContent";function Pd(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(Xu,{...n,initialFocusRef:t})}var jd=Te((e,t)=>i.jsx(Ju,{ref:t,role:"alertdialog",...e})),Oa=Te((e,t)=>{const{className:n,...r}=e,o=kt("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Lc().footer};return i.jsx(Ie.footer,{ref:t,...r,__css:a,className:o})});Oa.displayName="ModalFooter";var Ra=Te((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=sl();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=kt("chakra-modal__header",n),d={flex:0,...Lc().header};return i.jsx(Ie.header,{ref:t,className:a,id:o,...r,__css:d})});Ra.displayName="ModalHeader";var fL=Ie(Qr.div),Ma=Te((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=kt("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Lc().overlay},{motionPreset:p}=sl(),m=o||(p==="none"?{}:D3);return i.jsx(fL,{...m,__css:d,ref:t,className:a,...s})});Ma.displayName="ModalOverlay";var Da=Te((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=sl();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=kt("chakra-modal__body",n),c=Lc();return i.jsx(Ie.div,{ref:t,className:a,id:o,...r,__css:c.body})});Da.displayName="ModalBody";var Ob=Te((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=sl(),a=kt("chakra-modal__close-btn",r),c=Lc();return i.jsx(MD,{ref:t,__css:c.closeButton,className:a,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});Ob.displayName="ModalCloseButton";var pL=e=>i.jsx(Kr,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),hL=e=>i.jsx(Kr,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function tS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,a=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&a.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:a}),()=>c.disconnect()})}function mL(e,t){const n=rr(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var gL=50,nS=300;function vL(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[a,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);mL(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?gL:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},nS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},nS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var bL=/^[Ee0-9+\-.]$/;function yL(e){return bL.test(e)}function xL(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function wL(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:c,isDisabled:d,isRequired:p,isInvalid:h,pattern:m="[0-9]*(.[0-9]+)?",inputMode:v="decimal",allowMouseWheel:b,id:w,onChange:y,precision:S,name:k,"aria-describedby":_,"aria-label":I,"aria-labelledby":P,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:T,format:A,parse:$,...Q}=e,B=rr(E),V=rr(O),q=rr(R),G=rr(T??yL),D=rr(M),z=WA(e),{update:H,increment:Y,decrement:ie}=z,[ye,Z]=f.useState(!1),se=!(c||d),K=f.useRef(null),U=f.useRef(null),ae=f.useRef(null),re=f.useRef(null),oe=f.useCallback(xe=>xe.split("").filter(G).join(""),[G]),pe=f.useCallback(xe=>{var ht;return(ht=$==null?void 0:$(xe))!=null?ht:xe},[$]),ce=f.useCallback(xe=>{var ht;return((ht=A==null?void 0:A(xe))!=null?ht:xe).toString()},[A]);Ba(()=>{(z.valueAsNumber>s||z.valueAsNumber{if(!K.current)return;if(K.current.value!=z.value){const ht=pe(K.current.value);z.setValue(oe(ht))}},[pe,oe]);const ge=f.useCallback((xe=a)=>{se&&Y(xe)},[Y,se,a]),_e=f.useCallback((xe=a)=>{se&&ie(xe)},[ie,se,a]),le=vL(ge,_e);tS(ae,"disabled",le.stop,le.isSpinning),tS(re,"disabled",le.stop,le.isSpinning);const Se=f.useCallback(xe=>{if(xe.nativeEvent.isComposing)return;const $t=pe(xe.currentTarget.value);H(oe($t)),U.current={start:xe.currentTarget.selectionStart,end:xe.currentTarget.selectionEnd}},[H,oe,pe]),Fe=f.useCallback(xe=>{var ht,$t,zt;B==null||B(xe),U.current&&(xe.target.selectionStart=($t=U.current.start)!=null?$t:(ht=xe.currentTarget.value)==null?void 0:ht.length,xe.currentTarget.selectionEnd=(zt=U.current.end)!=null?zt:xe.currentTarget.selectionStart)},[B]),Ae=f.useCallback(xe=>{if(xe.nativeEvent.isComposing)return;xL(xe,G)||xe.preventDefault();const ht=He(xe)*a,$t=xe.key,Ne={ArrowUp:()=>ge(ht),ArrowDown:()=>_e(ht),Home:()=>H(o),End:()=>H(s)}[$t];Ne&&(xe.preventDefault(),Ne(xe))},[G,a,ge,_e,H,o,s]),He=xe=>{let ht=1;return(xe.metaKey||xe.ctrlKey)&&(ht=.1),xe.shiftKey&&(ht=10),ht},Ct=f.useMemo(()=>{const xe=D==null?void 0:D(z.value);if(xe!=null)return xe;const ht=z.value.toString();return ht||void 0},[z.value,D]),ct=f.useCallback(()=>{let xe=z.value;if(z.value==="")return;/^[eE]/.test(z.value.toString())?z.setValue(""):(z.valueAsNumbers&&(xe=s),z.cast(xe))},[z,s,o]),on=f.useCallback(()=>{Z(!1),n&&ct()},[n,Z,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var xe;(xe=K.current)==null||xe.focus()})},[t]),bt=f.useCallback(xe=>{xe.preventDefault(),le.up(),vt()},[vt,le]),we=f.useCallback(xe=>{xe.preventDefault(),le.down(),vt()},[vt,le]);Yi(()=>K.current,"wheel",xe=>{var ht,$t;const Ne=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Ne)return;xe.preventDefault();const qe=He(xe)*a,Pn=Math.sign(xe.deltaY);Pn===-1?ge(qe):Pn===1&&_e(qe)},{passive:!1});const Re=f.useCallback((xe={},ht=null)=>{const $t=d||r&&z.isAtMax;return{...xe,ref:cn(ht,ae),role:"button",tabIndex:-1,onPointerDown:et(xe.onPointerDown,zt=>{zt.button!==0||$t||bt(zt)}),onPointerLeave:et(xe.onPointerLeave,le.stop),onPointerUp:et(xe.onPointerUp,le.stop),disabled:$t,"aria-disabled":ns($t)}},[z.isAtMax,r,bt,le.stop,d]),Pt=f.useCallback((xe={},ht=null)=>{const $t=d||r&&z.isAtMin;return{...xe,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(xe.onPointerDown,zt=>{zt.button!==0||$t||we(zt)}),onPointerLeave:et(xe.onPointerLeave,le.stop),onPointerUp:et(xe.onPointerUp,le.stop),disabled:$t,"aria-disabled":ns($t)}},[z.isAtMin,r,we,le.stop,d]),At=f.useCallback((xe={},ht=null)=>{var $t,zt,Ne,qe;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":P,"aria-label":I,"aria-describedby":_,id:w,disabled:d,...xe,readOnly:($t=xe.readOnly)!=null?$t:c,"aria-readonly":(zt=xe.readOnly)!=null?zt:c,"aria-required":(Ne=xe.required)!=null?Ne:p,required:(qe=xe.required)!=null?qe:p,ref:cn(K,ht),value:ce(z.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(z.valueAsNumber)?void 0:z.valueAsNumber,"aria-invalid":ns(h??z.isOutOfRange),"aria-valuetext":Ct,autoComplete:"off",autoCorrect:"off",onChange:et(xe.onChange,Se),onKeyDown:et(xe.onKeyDown,Ae),onFocus:et(xe.onFocus,Fe,()=>Z(!0)),onBlur:et(xe.onBlur,V,on)}},[k,v,m,P,I,ce,_,w,d,p,c,h,z.value,z.valueAsNumber,z.isOutOfRange,o,s,Ct,Se,Ae,Fe,V,on]);return{value:ce(z.value),valueAsNumber:z.valueAsNumber,isFocused:ye,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Re,getDecrementButtonProps:Pt,getInputProps:At,htmlProps:Q}}var[SL,um]=Rn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[CL,Rb]=Rn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),dm=Te(function(t,n){const r=Br("NumberInput",t),o=qn(t),s=eb(o),{htmlProps:a,...c}=wL(s),d=f.useMemo(()=>c,[c]);return i.jsx(CL,{value:d,children:i.jsx(SL,{value:r,children:i.jsx(Ie.div,{...a,ref:n,className:kt("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});dm.displayName="NumberInput";var fm=Te(function(t,n){const r=um();return i.jsx(Ie.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});fm.displayName="NumberInputStepper";var pm=Te(function(t,n){const{getInputProps:r}=Rb(),o=r(t,n),s=um();return i.jsx(Ie.input,{...o,className:kt("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});pm.displayName="NumberInputField";var b5=Ie("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),hm=Te(function(t,n){var r;const o=um(),{getDecrementButtonProps:s}=Rb(),a=s(t,n);return i.jsx(b5,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(pL,{})})});hm.displayName="NumberDecrementStepper";var mm=Te(function(t,n){var r;const{getIncrementButtonProps:o}=Rb(),s=o(t,n),a=um();return i.jsx(b5,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(hL,{})})});mm.displayName="NumberIncrementStepper";var[kL,Id]=Rn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[_L,Mb]=Rn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Db(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Id();return f.cloneElement(t,n(t.props,t.ref))}Db.displayName="PopoverTrigger";var zl={click:"click",hover:"hover"};function PL(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=zl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:I}=jb(e),P=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[T,A]=f.useState(!1),[$,Q]=f.useState(!1),B=f.useId(),V=o??B,[q,G,D,z]=["popover-trigger","popover-content","popover-header","popover-body"].map(Se=>`${Se}-${V}`),{referenceRef:H,getArrowProps:Y,getPopperProps:ie,getArrowInnerProps:ye,forceUpdate:Z}=Pb({...y,enabled:S||!!w}),se=r5({isOpen:S,ref:O});X3({enabled:S,ref:E}),GP(O,{focusRef:E,visible:S,shouldFocus:s&&p===zl.click}),DN(O,{focusRef:r,visible:S,shouldFocus:a&&p===zl.click});const K=Ib({wasSelected:M.current,enabled:v,mode:b,isSelected:se.present}),U=f.useCallback((Se={},Fe=null)=>{const Ae={...Se,style:{...Se.style,transformOrigin:_r.transformOrigin.varRef,[_r.arrowSize.var]:c?`${c}px`:void 0,[_r.arrowShadowColor.var]:d},ref:cn(O,Fe),children:K?Se.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(Se.onKeyDown,He=>{n&&He.key==="Escape"&&k()}),onBlur:et(Se.onBlur,He=>{const Ct=rS(He),ct=C0(O.current,Ct),on=C0(E.current,Ct);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":T?D:void 0,"aria-describedby":$?z:void 0};return p===zl.hover&&(Ae.role="tooltip",Ae.onMouseEnter=et(Se.onMouseEnter,()=>{R.current=!0}),Ae.onMouseLeave=et(Se.onMouseLeave,He=>{He.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ae},[K,G,T,D,$,z,p,n,k,S,t,m,d,c]),ae=f.useCallback((Se={},Fe=null)=>ie({...Se,style:{visibility:S?"visible":"hidden",...Se.style}},Fe),[S,ie]),re=f.useCallback((Se,Fe=null)=>({...Se,ref:cn(Fe,P,H)}),[P,H]),oe=f.useRef(),pe=f.useRef(),ce=f.useCallback(Se=>{P.current==null&&H(Se)},[H]),ge=f.useCallback((Se={},Fe=null)=>{const Ae={...Se,ref:cn(E,Fe,ce),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===zl.click&&(Ae.onClick=et(Se.onClick,I)),p===zl.hover&&(Ae.onFocus=et(Se.onFocus,()=>{oe.current===void 0&&_()}),Ae.onBlur=et(Se.onBlur,He=>{const Ct=rS(He),ct=!C0(O.current,Ct);S&&t&&ct&&k()}),Ae.onKeyDown=et(Se.onKeyDown,He=>{He.key==="Escape"&&k()}),Ae.onMouseEnter=et(Se.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ae.onMouseLeave=et(Se.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ae},[q,S,G,p,ce,I,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const _e=f.useCallback((Se={},Fe=null)=>({...Se,id:D,ref:cn(Fe,Ae=>{A(!!Ae)})}),[D]),le=f.useCallback((Se={},Fe=null)=>({...Se,id:z,ref:cn(Fe,Ae=>{Q(!!Ae)})}),[z]);return{forceUpdate:Z,isOpen:S,onAnimationComplete:se.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:ye,getPopoverPositionerProps:ae,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:_e,getBodyProps:le}}function C0(e,t){return e===t||(e==null?void 0:e.contains(t))}function rS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Tb(e){const t=Br("Popover",e),{children:n,...r}=qn(e),o=Mc(),s=PL({...r,direction:o.direction});return i.jsx(kL,{value:s,children:i.jsx(_L,{value:t,children:D1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Tb.displayName="Popover";var k0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function y5(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=Id(),h=Mb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(Ie.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(Ie.div,{className:kt("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":k0("colors",c),"--popper-arrow-bg":k0("colors",m),"--popper-arrow-shadow":k0("shadows",v),...h.arrow}})})}y5.displayName="PopoverArrow";var x5=Te(function(t,n){const{getBodyProps:r}=Id(),o=Mb();return i.jsx(Ie.div,{...r(t,n),className:kt("chakra-popover__body",t.className),__css:o.body})});x5.displayName="PopoverBody";function jL(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var IL={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},EL=Ie(Qr.section),w5=Te(function(t,n){const{variants:r=IL,...o}=t,{isOpen:s}=Id();return i.jsx(EL,{ref:n,variants:jL(r),initial:!1,animate:s?"enter":"exit",...o})});w5.displayName="PopoverTransition";var Ab=Te(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=Id(),p=Mb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(Ie.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(w5,{...o,...a(s,n),onAnimationComplete:Jh(d,s.onAnimationComplete),className:kt("chakra-popover__content",t.className),__css:h})})});Ab.displayName="PopoverContent";function OL(e,t,n){return(e-t)*100/(n-t)}za({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});za({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var RL=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),ML=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function DL(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=OL(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:c},percent:d,value:t}}var[TL,AL]=Rn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),NL=Te((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=DL({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...AL().filledTrack};return i.jsx(Ie.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),S5=Te((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:a,isAnimated:c,children:d,borderRadius:p,isIndeterminate:h,"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,title:w,role:y,...S}=qn(e),k=Br("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),I={animation:`${ML} 1s linear infinite`},O={...!h&&a&&c&&I,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${RL} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return i.jsx(Ie.div,{ref:t,borderRadius:_,__css:R,...S,children:i.jsxs(TL,{value:k,children:[i.jsx(NL,{"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:_,title:w,role:y}),d]})})});S5.displayName="Progress";function $L(e){return e&&pv(e)&&pv(e.target)}function zL(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:a,isNative:c,...d}=e,[p,h]=f.useState(r||""),m=typeof n<"u",v=m?n:p,b=f.useRef(null),w=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const M=E.querySelector(O);M==null||M.focus()},[]),S=`radio-${f.useId()}`,k=o||S,_=f.useCallback(E=>{const O=$L(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),I=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),P=f.useCallback((E={},O=null)=>({...E,ref:O,name:k,[c?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(M){_(M)},"data-radiogroup":!0}),[c,k,_,v]);return{getRootProps:I,getRadioProps:P,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:a,htmlProps:d}}var[LL,C5]=Rn({name:"RadioGroupContext",strict:!1}),Gp=Te((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:a,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=zL(p),y=f.useMemo(()=>({name:b,size:r,onChange:m,colorScheme:n,value:h,variant:o,isDisabled:c,isFocusable:d}),[b,r,m,n,h,o,c,d]);return i.jsx(LL,{value:y,children:i.jsx(Ie.div,{...v(w,t),className:kt("chakra-radio-group",a),children:s})})});Gp.displayName="RadioGroup";var BL={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function FL(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:a,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=vd(),_=!!C5()||!!v;let P=!!S&&!_?S.id:y;P=m??P;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=a??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[T,A]=f.useState(!1),[$,Q]=f.useState(!1),[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,z]=f.useState(!!t),H=typeof n<"u",Y=H?n:D;f.useEffect(()=>B3(A),[]);const ie=f.useCallback(ce=>{if(O||E){ce.preventDefault();return}H||z(ce.target.checked),c==null||c(ce)},[H,E,O,c]),ye=f.useCallback(ce=>{ce.key===" "&&G(!0)},[G]),Z=f.useCallback(ce=>{ce.key===" "&&G(!1)},[G]),se=f.useCallback((ce={},ge=null)=>({...ce,ref:ge,"data-active":tn(q),"data-hover":tn(B),"data-disabled":tn(E),"data-invalid":tn(M),"data-checked":tn(Y),"data-focus":tn($),"data-focus-visible":tn($&&T),"data-readonly":tn(O),"aria-hidden":!0,onMouseDown:et(ce.onMouseDown,()=>G(!0)),onMouseUp:et(ce.onMouseUp,()=>G(!1)),onMouseEnter:et(ce.onMouseEnter,()=>V(!0)),onMouseLeave:et(ce.onMouseLeave,()=>V(!1))}),[q,B,E,M,Y,$,O,T]),{onFocus:K,onBlur:U}=S??{},ae=f.useCallback((ce={},ge=null)=>{const _e=E&&!r;return{...ce,id:P,ref:ge,type:"radio",name:p,value:h,onChange:et(ce.onChange,ie),onBlur:et(U,ce.onBlur,()=>Q(!1)),onFocus:et(K,ce.onFocus,()=>Q(!0)),onKeyDown:et(ce.onKeyDown,ye),onKeyUp:et(ce.onKeyUp,Z),checked:Y,disabled:_e,readOnly:O,required:R,"aria-invalid":ns(M),"aria-disabled":ns(_e),"aria-required":ns(R),"data-readonly":tn(O),"aria-describedby":b,style:BL}},[E,r,P,p,h,ie,U,K,ye,Z,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:$,isChecked:Y,isActive:q,isHovered:B,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:se,getRadioProps:se,getInputProps:ae,getLabelProps:(ce={},ge=null)=>({...ce,ref:ge,onMouseDown:et(ce.onMouseDown,HL),"data-disabled":tn(E),"data-checked":tn(Y),"data-invalid":tn(M)}),getRootProps:(ce,ge=null)=>({...ce,ref:ge,"data-disabled":tn(E),"data-checked":tn(Y),"data-invalid":tn(M)}),htmlProps:w}}function HL(e){e.preventDefault(),e.stopPropagation()}function WL(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var ba=Te((e,t)=>{var n;const r=C5(),{onChange:o,value:s}=e,a=Br("Radio",{...r,...e}),c=qn(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:m=r==null?void 0:r.isFocusable,inputProps:v,...b}=c;let w=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(w=r.value===s);let y=o;r!=null&&r.onChange&&s!=null&&(y=Jh(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:I,getRootProps:P,htmlProps:E}=FL({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=WL(E,__),M=_(R),T=k(v,t),A=I(),$=Object.assign({},O,P()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},B={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(Ie.label,{className:"chakra-radio",...$,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...T}),i.jsx(Ie.span,{className:"chakra-radio__control",...M,__css:B}),p&&i.jsx(Ie.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ba.displayName="Radio";var k5=Te(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(Ie.select,{...a,ref:n,className:kt("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});k5.displayName="SelectField";function VL(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var _5=Te((e,t)=>{var n;const r=Br("Select",e),{rootProps:o,placeholder:s,icon:a,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=VL(w,__),k=Z1(S),_={width:"100%",height:"fit-content",position:"relative",color:c},I={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(Ie.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[i.jsx(k5,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:I,children:e.children}),i.jsx(P5,{"data-disabled":tn(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});_5.displayName="Select";var UL=e=>i.jsx("svg",{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),GL=Ie("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),P5=e=>{const{children:t=i.jsx(UL,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return i.jsx(GL,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};P5.displayName="SelectIcon";function qL(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function KL(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var YL=Ie("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),Bv=P_("skeleton-start-color"),Fv=P_("skeleton-end-color"),QL=za({from:{opacity:0},to:{opacity:1}}),XL=za({from:{borderColor:Bv.reference,background:Bv.reference},to:{borderColor:Fv.reference,background:Fv.reference}}),gm=Te((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=$a("Skeleton",n),o=qL(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=Dc("colors",[s,a]),y=KL(c),S=kt("chakra-skeleton",h),k={...b&&{[Bv.variable]:b},...w&&{[Fv.variable]:w}};if(c){const _=o||y?"none":`${QL} ${d}s`;return i.jsx(Ie.div,{ref:t,className:S,__css:{animation:_},...v})}return i.jsx(YL,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${XL}`}})});gm.displayName="Skeleton";var Jo=e=>e?"":void 0,ic=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function lc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function JL(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function Pu(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Sp={width:0,height:0},$f=e=>e||Sp;function j5(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Sp;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Pu({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${k.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${k.width/2}px)`}})}},a=t==="vertical"?r.reduce((y,S)=>$f(y).height>$f(S).height?y:S,Sp):r.reduce((y,S)=>$f(y).width>$f(S).width?y:S,Sp),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Pu({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},d={position:"absolute",...Pu({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},p=n.length===1,h=[0,o?100-n[0]:n[0]],m=p?h:n;let v=m[0];!p&&o&&(v=100-v);const b=Math.abs(m[m.length-1]-m[0]),w={...d,...Pu({orientation:t,vertical:o?{height:`${b}%`,top:`${v}%`}:{height:`${b}%`,bottom:`${v}%`},horizontal:o?{width:`${b}%`,right:`${v}%`}:{width:`${b}%`,left:`${v}%`}})};return{trackStyle:d,innerTrackStyle:w,rootStyle:c,getThumbStyle:s}}function I5(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function ZL(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function eB(e){const t=nB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function E5(e){return!!e.touches}function tB(e){return E5(e)&&e.touches.length>1}function nB(e){var t;return(t=e.view)!=null?t:window}function rB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function oB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function O5(e,t="page"){return E5(e)?rB(e,t):oB(e,t)}function sB(e){return t=>{const n=eB(t);(!n||n&&t.button===0)&&e(t)}}function aB(e,t=!1){function n(o){e(o,{point:O5(o)})}return t?sB(n):n}function Cp(e,t,n,r){return ZL(e,t,aB(n,t==="pointerdown"),r)}var iB=Object.defineProperty,lB=(e,t,n)=>t in e?iB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bs=(e,t,n)=>(lB(e,typeof t!="symbol"?t+"":t,n),n),cB=class{constructor(e,t,n){bs(this,"history",[]),bs(this,"startEvent",null),bs(this,"lastEvent",null),bs(this,"lastEventInfo",null),bs(this,"handlers",{}),bs(this,"removeListeners",()=>{}),bs(this,"threshold",3),bs(this,"win"),bs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=_0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=pB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=bw();this.history.push({...c.point,timestamp:h});const{onStart:m,onMove:v}=this.handlers;d||(m==null||m(this.lastEvent,c),this.startEvent=this.lastEvent),v==null||v(this.lastEvent,c)}),bs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,MT.update(this.updatePoint,!0)}),bs(this,"onPointerUp",(c,d)=>{const p=_0(d,this.history),{onEnd:h,onSessionEnd:m}=this.handlers;m==null||m(c,p),this.end(),!(!h||!this.startEvent)&&(h==null||h(c,p))});var r;if(this.win=(r=e.view)!=null?r:window,tB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:O5(e)},{timestamp:s}=bw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,_0(o,this.history)),this.removeListeners=fB(Cp(this.win,"pointermove",this.onPointerMove),Cp(this.win,"pointerup",this.onPointerUp),Cp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),DT.update(this.updatePoint)}};function oS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _0(e,t){return{point:e.point,delta:oS(e.point,t[t.length-1]),offset:oS(e.point,t[0]),velocity:dB(t,.1)}}var uB=e=>e*1e3;function dB(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=e[e.length-1];for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>uB(t)));)n--;if(!r)return{x:0,y:0};const s=(o.timestamp-r.timestamp)/1e3;if(s===0)return{x:0,y:0};const a={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function fB(...e){return t=>e.reduce((n,r)=>r(n),t)}function P0(e,t){return Math.abs(e-t)}function sS(e){return"x"in e&&"y"in e}function pB(e,t){if(typeof e=="number"&&typeof t=="number")return P0(e,t);if(sS(e)&&sS(t)){const n=P0(e.x,t.x),r=P0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function R5(e){const t=f.useRef(null);return t.current=e,t}function M5(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:a,threshold:c}=t,d=!!(n||r||o||s||a),p=f.useRef(null),h=R5({onSessionStart:s,onSessionEnd:a,onStart:r,onMove:n,onEnd(m,v){p.current=null,o==null||o(m,v)}});f.useEffect(()=>{var m;(m=p.current)==null||m.updateHandlers(h.current)}),f.useEffect(()=>{const m=e.current;if(!m||!d)return;function v(b){p.current=new cB(b,h.current,c)}return Cp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function hB(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[s]=o;let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;a=p.inlineSize,c=p.blockSize}else a=e.offsetWidth,c=e.offsetHeight;t({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var mB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function gB(e,t){var n,r;if(!e||!e.parentElement)return;const o=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,s=new o.MutationObserver(()=>{t()});return s.observe(e.parentElement,{childList:!0}),()=>{s.disconnect()}}function D5({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return mB(()=>{const a=e(),c=a.map((d,p)=>hB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(gB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function vB(e){return typeof e=="object"&&e!==null&&"current"in e}function bB(e){const[t]=D5({observeMutation:!1,getNodes(){return[vB(e)?e.current:e]}});return t}function yB(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:a,direction:c="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:m,onChangeStart:v,onChangeEnd:b,step:w=1,getAriaValueText:y,"aria-valuetext":S,"aria-label":k,"aria-labelledby":_,name:I,focusThumbOnChange:P=!0,minStepsBetweenThumbs:E=0,...O}=e,R=rr(v),M=rr(b),T=rr(y),A=I5({isReversed:a,direction:c,orientation:d}),[$,Q]=Ac({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray($))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof $}\``);const[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,z]=f.useState(-1),H=!(h||m),Y=f.useRef($),ie=$.map(Pe=>rc(Pe,t,n)),ye=E*w,Z=xB(ie,t,n,ye),se=f.useRef({eventSource:null,value:[],valueBounds:[]});se.current.value=ie,se.current.valueBounds=Z;const K=ie.map(Pe=>n-Pe+t),ae=(A?K:ie).map(Pe=>Bp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),ce=D5({getNodes(){const Pe=pe.current,Je=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Je?Array.from(Je):[]}}),ge=f.useId(),le=JL(p??ge),Se=f.useCallback(Pe=>{var Je,Qe;if(!oe.current)return;se.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:Lt,clientY:lr}=(Qe=(Je=Pe.touches)==null?void 0:Je[0])!=null?Qe:Pe,pn=re?dt.bottom-lr:Lt-dt.left,ln=re?dt.height:dt.width;let Fr=pn/ln;return A&&(Fr=1-Fr),W3(Fr,t,n)},[re,A,n,t]),Fe=(n-t)/10,Ae=w||(n-t)/100,He=f.useMemo(()=>({setValueAtIndex(Pe,Je){if(!H)return;const Qe=se.current.valueBounds[Pe];Je=parseFloat(Iv(Je,Qe.min,Ae)),Je=rc(Je,Qe.min,Qe.max);const dt=[...se.current.value];dt[Pe]=Je,Q(dt)},setActiveIndex:z,stepUp(Pe,Je=Ae){const Qe=se.current.value[Pe],dt=A?Qe-Je:Qe+Je;He.setValueAtIndex(Pe,dt)},stepDown(Pe,Je=Ae){const Qe=se.current.value[Pe],dt=A?Qe+Je:Qe-Je;He.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ae,A,Q,H]),Ct=f.useCallback(Pe=>{const Je=Pe.key,dt={ArrowRight:()=>He.stepUp(D),ArrowUp:()=>He.stepUp(D),ArrowLeft:()=>He.stepDown(D),ArrowDown:()=>He.stepDown(D),PageUp:()=>He.stepUp(D,Fe),PageDown:()=>He.stepDown(D,Fe),Home:()=>{const{min:Lt}=Z[D];He.setValueAtIndex(D,Lt)},End:()=>{const{max:Lt}=Z[D];He.setValueAtIndex(D,Lt)}}[Je];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),se.current.eventSource="keyboard")},[He,D,Fe,Z]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>j5({isReversed:A,orientation:d,thumbRects:ce,thumbPercents:ae}),[A,d,ae,ce]),we=f.useCallback(Pe=>{var Je;const Qe=Pe??D;if(Qe!==-1&&P){const dt=le.getThumb(Qe),Lt=(Je=pe.current)==null?void 0:Je.ownerDocument.getElementById(dt);Lt&&setTimeout(()=>Lt.focus())}},[P,D,le]);Ba(()=>{se.current.eventSource==="keyboard"&&(M==null||M(se.current.value))},[ie,M]);const Re=Pe=>{const Je=Se(Pe)||0,Qe=se.current.value.map(ln=>Math.abs(ln-Je)),dt=Math.min(...Qe);let Lt=Qe.indexOf(dt);const lr=Qe.filter(ln=>ln===dt);lr.length>1&&Je>se.current.value[Lt]&&(Lt=Lt+lr.length-1),z(Lt),He.setValueAtIndex(Lt,Je),we(Lt)},Pt=Pe=>{if(D==-1)return;const Je=Se(Pe)||0;z(D),He.setValueAtIndex(D,Je),we(D)};M5(pe,{onPanSessionStart(Pe){H&&(V(!0),Re(Pe),R==null||R(se.current.value))},onPanSessionEnd(){H&&(V(!1),M==null||M(se.current.value))},onPan(Pe){H&&Pt(Pe)}});const At=f.useCallback((Pe={},Je=null)=>({...Pe,...O,id:le.root,ref:cn(Je,pe),tabIndex:-1,"aria-disabled":ic(h),"data-focused":Jo(q),style:{...Pe.style,...on}}),[O,h,q,on,le]),xe=f.useCallback((Pe={},Je=null)=>({...Pe,ref:cn(Je,oe),id:le.track,"data-disabled":Jo(h),style:{...Pe.style,...vt}}),[h,vt,le]),ht=f.useCallback((Pe={},Je=null)=>({...Pe,ref:Je,id:le.innerTrack,style:{...Pe.style,...bt}}),[bt,le]),$t=f.useCallback((Pe,Je=null)=>{var Qe;const{index:dt,...Lt}=Pe,lr=ie[dt];if(lr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ie.length}`);const pn=Z[dt];return{...Lt,ref:Je,role:"slider",tabIndex:H?0:void 0,id:le.getThumb(dt),"data-active":Jo(B&&D===dt),"aria-valuetext":(Qe=T==null?void 0:T(lr))!=null?Qe:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":lr,"aria-orientation":d,"aria-disabled":ic(h),"aria-readonly":ic(m),"aria-label":k==null?void 0:k[dt],"aria-labelledby":k!=null&&k[dt]||_==null?void 0:_[dt],style:{...Pe.style,...ct(dt)},onKeyDown:lc(Pe.onKeyDown,Ct),onFocus:lc(Pe.onFocus,()=>{G(!0),z(dt)}),onBlur:lc(Pe.onBlur,()=>{G(!1),z(-1)})}},[le,ie,Z,H,B,D,T,S,d,h,m,k,_,ct,Ct,G]),zt=f.useCallback((Pe={},Je=null)=>({...Pe,ref:Je,id:le.output,htmlFor:ie.map((Qe,dt)=>le.getThumb(dt)).join(" "),"aria-live":"off"}),[le,ie]),Ne=f.useCallback((Pe,Je=null)=>{const{value:Qe,...dt}=Pe,Lt=!(Qen),lr=Qe>=ie[0]&&Qe<=ie[ie.length-1];let pn=Bp(Qe,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Pu({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Je,id:le.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Jo(h),"data-invalid":Jo(!Lt),"data-highlighted":Jo(lr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ie,le]),qe=f.useCallback((Pe,Je=null)=>{const{index:Qe,...dt}=Pe;return{...dt,ref:Je,id:le.getInput(Qe),type:"hidden",value:ie[Qe],name:Array.isArray(I)?I[Qe]:`${I}-${Qe}`}},[I,ie,le]);return{state:{value:ie,isFocused:q,isDragging:B,getThumbPercent:Pe=>ae[Pe],getThumbMinValue:Pe=>Z[Pe].min,getThumbMaxValue:Pe=>Z[Pe].max},actions:He,getRootProps:At,getTrackProps:xe,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Ne,getInputProps:qe,getOutputProps:zt}}function xB(e,t,n,r){return e.map((o,s)=>{const a=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:a,max:c}})}var[wB,vm]=Rn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[SB,bm]=Rn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),T5=Te(function(t,n){const r={orientation:"horizontal",...t},o=Br("Slider",r),s=qn(r),{direction:a}=Mc();s.direction=a;const{getRootProps:c,...d}=yB(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(wB,{value:p,children:i.jsx(SB,{value:o,children:i.jsx(Ie.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});T5.displayName="RangeSlider";var Hv=Te(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=vm(),a=bm(),c=r(t,n);return i.jsxs(Ie.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});Hv.displayName="RangeSliderThumb";var A5=Te(function(t,n){const{getTrackProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});A5.displayName="RangeSliderTrack";var N5=Te(function(t,n){const{getInnerTrackProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});N5.displayName="RangeSliderFilledTrack";var kp=Te(function(t,n){const{getMarkerProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});kp.displayName="RangeSliderMark";function CB(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:a,isReversed:c,direction:d="ltr",orientation:p="horizontal",id:h,isDisabled:m,isReadOnly:v,onChangeStart:b,onChangeEnd:w,step:y=1,getAriaValueText:S,"aria-valuetext":k,"aria-label":_,"aria-labelledby":I,name:P,focusThumbOnChange:E=!0,...O}=e,R=rr(b),M=rr(w),T=rr(S),A=I5({isReversed:c,direction:d,orientation:p}),[$,Q]=Ac({value:s,defaultValue:a??_B(n,r),onChange:o}),[B,V]=f.useState(!1),[q,G]=f.useState(!1),D=!(m||v),z=(r-n)/10,H=y||(r-n)/100,Y=rc($,n,r),ie=r-Y+n,Z=Bp(A?ie:Y,n,r),se=p==="vertical",K=R5({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:D,isReversed:A,isVertical:se,eventSource:null,focusThumbOnChange:E,orientation:p}),U=f.useRef(null),ae=f.useRef(null),re=f.useRef(null),oe=f.useId(),pe=h??oe,[ce,ge]=[`slider-thumb-${pe}`,`slider-track-${pe}`],_e=f.useCallback(Ne=>{var qe,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Je=U.current.getBoundingClientRect(),{clientX:Qe,clientY:dt}=(Pn=(qe=Ne.touches)==null?void 0:qe[0])!=null?Pn:Ne,Lt=se?Je.bottom-dt:Qe-Je.left,lr=se?Je.height:Je.width;let pn=Lt/lr;A&&(pn=1-pn);let ln=W3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Iv(ln,Pe.min,Pe.step))),ln=rc(ln,Pe.min,Pe.max),ln},[se,A,K]),le=f.useCallback(Ne=>{const qe=K.current;qe.isInteractive&&(Ne=parseFloat(Iv(Ne,qe.min,H)),Ne=rc(Ne,qe.min,qe.max),Q(Ne))},[H,Q,K]),Se=f.useMemo(()=>({stepUp(Ne=H){const qe=A?Y-Ne:Y+Ne;le(qe)},stepDown(Ne=H){const qe=A?Y+Ne:Y-Ne;le(qe)},reset(){le(a||0)},stepTo(Ne){le(Ne)}}),[le,A,Y,H,a]),Fe=f.useCallback(Ne=>{const qe=K.current,Pe={ArrowRight:()=>Se.stepUp(),ArrowUp:()=>Se.stepUp(),ArrowLeft:()=>Se.stepDown(),ArrowDown:()=>Se.stepDown(),PageUp:()=>Se.stepUp(z),PageDown:()=>Se.stepDown(z),Home:()=>le(qe.min),End:()=>le(qe.max)}[Ne.key];Pe&&(Ne.preventDefault(),Ne.stopPropagation(),Pe(Ne),qe.eventSource="keyboard")},[Se,le,z,K]),Ae=(t=T==null?void 0:T(Y))!=null?t:k,He=bB(ae),{getThumbStyle:Ct,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Ne=K.current,qe=He??{width:0,height:0};return j5({isReversed:A,orientation:Ne.orientation,thumbRects:[qe],thumbPercents:[Z]})},[A,He,Z,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var qe;return(qe=ae.current)==null?void 0:qe.focus()})},[K]);Ba(()=>{const Ne=K.current;bt(),Ne.eventSource==="keyboard"&&(M==null||M(Ne.value))},[Y,M]);function we(Ne){const qe=_e(Ne);qe!=null&&qe!==K.current.value&&Q(qe)}M5(re,{onPanSessionStart(Ne){const qe=K.current;qe.isInteractive&&(V(!0),bt(),we(Ne),R==null||R(qe.value))},onPanSessionEnd(){const Ne=K.current;Ne.isInteractive&&(V(!1),M==null||M(Ne.value))},onPan(Ne){K.current.isInteractive&&we(Ne)}});const Re=f.useCallback((Ne={},qe=null)=>({...Ne,...O,ref:cn(qe,re),tabIndex:-1,"aria-disabled":ic(m),"data-focused":Jo(q),style:{...Ne.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((Ne={},qe=null)=>({...Ne,ref:cn(qe,U),id:ge,"data-disabled":Jo(m),style:{...Ne.style,...on}}),[m,ge,on]),At=f.useCallback((Ne={},qe=null)=>({...Ne,ref:qe,style:{...Ne.style,...vt}}),[vt]),xe=f.useCallback((Ne={},qe=null)=>({...Ne,ref:cn(qe,ae),role:"slider",tabIndex:D?0:void 0,id:ce,"data-active":Jo(B),"aria-valuetext":Ae,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":ic(m),"aria-readonly":ic(v),"aria-label":_,"aria-labelledby":_?void 0:I,style:{...Ne.style,...Ct(0)},onKeyDown:lc(Ne.onKeyDown,Fe),onFocus:lc(Ne.onFocus,()=>G(!0)),onBlur:lc(Ne.onBlur,()=>G(!1))}),[D,ce,B,Ae,n,r,Y,p,m,v,_,I,Ct,Fe]),ht=f.useCallback((Ne,qe=null)=>{const Pn=!(Ne.valuer),Pe=Y>=Ne.value,Je=Bp(Ne.value,n,r),Qe={position:"absolute",pointerEvents:"none",...kB({orientation:p,vertical:{bottom:A?`${100-Je}%`:`${Je}%`},horizontal:{left:A?`${100-Je}%`:`${Je}%`}})};return{...Ne,ref:qe,role:"presentation","aria-hidden":!0,"data-disabled":Jo(m),"data-invalid":Jo(!Pn),"data-highlighted":Jo(Pe),style:{...Ne.style,...Qe}}},[m,A,r,n,p,Y]),$t=f.useCallback((Ne={},qe=null)=>({...Ne,ref:qe,type:"hidden",value:Y,name:P}),[P,Y]);return{state:{value:Y,isFocused:q,isDragging:B},actions:Se,getRootProps:Re,getTrackProps:Pt,getInnerTrackProps:At,getThumbProps:xe,getMarkerProps:ht,getInputProps:$t}}function kB(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function _B(e,t){return t"}),[jB,xm]=Rn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),$5=Te((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Br("Slider",r),s=qn(r),{direction:a}=Mc();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=CB(s),h=d(),m=c({},t);return i.jsx(PB,{value:p,children:i.jsx(jB,{value:o,children:i.jsxs(Ie.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});$5.displayName="Slider";var z5=Te((e,t)=>{const{getThumbProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});z5.displayName="SliderThumb";var L5=Te((e,t)=>{const{getTrackProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});L5.displayName="SliderTrack";var B5=Te((e,t)=>{const{getInnerTrackProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});B5.displayName="SliderFilledTrack";var Vl=Te((e,t)=>{const{getMarkerProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});Vl.displayName="SliderMark";var Nb=Te(function(t,n){const r=Br("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{state:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=F3(a),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return i.jsxs(Ie.label,{...h(),className:kt("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(Ie.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(Ie.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":tn(c.isChecked),"data-hover":tn(c.isHovered)})}),s&&i.jsx(Ie.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Nb.displayName="Switch";var[IB,EB,OB,RB]=Q1();function MB(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:a,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=Ac({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=OB(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:a,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[DB,wm]=Rn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function TB(e){const{focusedIndex:t,orientation:n,direction:r}=wm(),o=EB(),s=f.useCallback(a=>{const c=()=>{var _;const I=o.nextEnabled(t);I&&((_=I.node)==null||_.focus())},d=()=>{var _;const I=o.prevEnabled(t);I&&((_=I.node)==null||_.focus())},p=()=>{var _;const I=o.firstEnabled();I&&((_=I.node)==null||_.focus())},h=()=>{var _;const I=o.lastEnabled();I&&((_=I.node)==null||_.focus())},m=n==="horizontal",v=n==="vertical",b=a.key,w=r==="ltr"?"ArrowLeft":"ArrowRight",y=r==="ltr"?"ArrowRight":"ArrowLeft",k={[w]:()=>m&&d(),[y]:()=>m&&c(),ArrowDown:()=>v&&c(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];k&&(a.preventDefault(),k(a))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:et(e.onKeyDown,s)}}function AB(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=wm(),{index:p,register:h}=RB({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=UP({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:F5(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":H5(a,p),onFocus:t?void 0:et(e.onFocus,b)}}var[NB,$B]=Rn({});function zB(e){const t=wm(),{id:n,selectedIndex:r}=t,s=gd(e.children).map((a,c)=>f.createElement(NB,{key:c,value:{isSelected:c===r,id:H5(n,c),tabId:F5(n,c),selectedIndex:r}},a));return{...e,children:s}}function LB(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=wm(),{isSelected:s,id:a,tabId:c}=$B(),d=f.useRef(!1);s&&(d.current=!0);const p=Ib({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":c,hidden:!s,id:a}}function F5(e,t){return`${e}--tab-${t}`}function H5(e,t){return`${e}--tabpanel-${t}`}var[BB,Sm]=Rn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Ed=Te(function(t,n){const r=Br("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=MB(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(IB,{value:d,children:i.jsx(DB,{value:h,children:i.jsx(BB,{value:r,children:i.jsx(Ie.div,{className:kt("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Ed.displayName="Tabs";var Od=Te(function(t,n){const r=TB({...t,ref:n}),s={display:"flex",...Sm().tablist};return i.jsx(Ie.div,{...r,className:kt("chakra-tabs__tablist",t.className),__css:s})});Od.displayName="TabList";var Cm=Te(function(t,n){const r=LB({...t,ref:n}),o=Sm();return i.jsx(Ie.div,{outline:"0",...r,className:kt("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Cm.displayName="TabPanel";var km=Te(function(t,n){const r=zB(t),o=Sm();return i.jsx(Ie.div,{...r,width:"100%",ref:n,className:kt("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});km.displayName="TabPanels";var wc=Te(function(t,n){const r=Sm(),o=AB({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(Ie.button,{...o,className:kt("chakra-tabs__tab",t.className),__css:s})});wc.displayName="Tab";function FB(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var HB=["h","minH","height","minHeight"],W5=Te((e,t)=>{const n=$a("Textarea",e),{className:r,rows:o,...s}=qn(e),a=Z1(s),c=o?FB(n,HB):n;return i.jsx(Ie.textarea,{ref:t,rows:o,...a,className:kt("chakra-textarea",r),__css:c})});W5.displayName="Textarea";var WB={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},Wv=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},_p=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function VB(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:a=o,closeOnEsc:c=!0,onOpen:d,onClose:p,placement:h,id:m,isOpen:v,defaultIsOpen:b,arrowSize:w=10,arrowShadowColor:y,arrowPadding:S,modifiers:k,isDisabled:_,gutter:I,offset:P,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:T}=jb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:$,getArrowInnerProps:Q,getArrowProps:B}=Pb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:I,offset:P,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,D=f.useRef(null),z=f.useRef(),H=f.useCallback(()=>{z.current&&(clearTimeout(z.current),z.current=void 0)},[]),Y=f.useRef(),ie=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),ye=f.useCallback(()=>{ie(),T()},[T,ie]),Z=UB(D,ye),se=f.useCallback(()=>{if(!_&&!z.current){Z();const ge=_p(D);z.current=ge.setTimeout(M,t)}},[Z,_,M,t]),K=f.useCallback(()=>{H();const ge=_p(D);Y.current=ge.setTimeout(ye,n)},[n,ye,H]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),ae=f.useCallback(()=>{R&&a&&K()},[a,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Yi(()=>Wv(D),"keydown",c?re:void 0),Yi(()=>{const ge=D.current;if(!ge)return null;const _e=DP(ge);return _e.localName==="body"?_p(D):_e},"scroll",()=>{R&&s&&ye()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&(H(),R&&T())},[_,R,T,H]),f.useEffect(()=>()=>{H(),ie()},[H,ie]),Yi(()=>D.current,"pointerleave",K);const oe=f.useCallback((ge={},_e=null)=>({...ge,ref:cn(D,_e,A),onPointerEnter:et(ge.onPointerEnter,Se=>{Se.pointerType!=="touch"&&se()}),onClick:et(ge.onClick,U),onPointerDown:et(ge.onPointerDown,ae),onFocus:et(ge.onFocus,se),onBlur:et(ge.onBlur,K),"aria-describedby":R?G:void 0}),[se,K,ae,R,G,U,A]),pe=f.useCallback((ge={},_e=null)=>$({...ge,style:{...ge.style,[_r.arrowSize.var]:w?`${w}px`:void 0,[_r.arrowShadowColor.var]:y}},_e),[$,w,y]),ce=f.useCallback((ge={},_e=null)=>{const le={...ge.style,position:"relative",transformOrigin:_r.transformOrigin.varRef};return{ref:_e,...O,...ge,id:G,role:"tooltip",style:le}},[O,G]);return{isOpen:R,show:se,hide:K,getTriggerProps:oe,getTooltipProps:ce,getTooltipPositionerProps:pe,getArrowProps:B,getArrowInnerProps:Q}}var j0="chakra-ui:close-tooltip";function UB(e,t){return f.useEffect(()=>{const n=Wv(e);return n.addEventListener(j0,t),()=>n.removeEventListener(j0,t)},[t,e]),()=>{const n=Wv(e),r=_p(e);n.dispatchEvent(new r.CustomEvent(j0))}}function GB(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function qB(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var KB=Ie(Qr.div),wn=Te((e,t)=>{var n,r;const o=$a("Tooltip",e),s=qn(e),a=Mc(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,I=(r=(n=w??y)!=null?n:v)!=null?r:S;if(I){o.bg=I;const $=xR(a,"colors",I);o[_r.arrowBg.var]=$}const P=VB({..._,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(Ie.span,{display:"inline-block",tabIndex:0,...P.getTriggerProps(),children:c});else{const $=f.Children.only(c);O=f.cloneElement($,P.getTriggerProps($.props,$.ref))}const R=!!h,M=P.getTooltipProps({},t),T=R?GB(M,["role","id"]):M,A=qB(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(Fo,{children:P.isOpen&&i.jsx(Vu,{...b,children:i.jsx(Ie.div,{...P.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(KB,{variants:WB,initial:"exit",animate:"enter",exit:"exit",...k,...T,__css:o,children:[d,R&&i.jsx(Ie.span,{srOnly:!0,...A,children:h}),m&&i.jsx(Ie.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(Ie.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});wn.displayName="Tooltip";function YB(e,t={}){let n=f.useCallback(o=>t.keys?lT(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const mo=e=>e.system,QB=e=>e.system.toastQueue,V5=fe(mo,e=>e.language,Ge),jr=fe(e=>e,e=>e.system.isProcessing||!e.system.isConnected),XB=fe(mo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),JB=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=L(XB);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${wR[e]}`)):localStorage.setItem("ROARR_LOG","false"),I2.ROARR.write=SR.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...CR};E2.set(I2.Roarr.child(r))},[]),YB(E2)},ZB=()=>{const e=te(),t=L(QB),n=NT();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(kR())},[e,n,t]),null},Bc=()=>{const e=te();return f.useCallback(n=>e(Dn(Bn(n))),[e])};var eF=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function Rd(e,t){var n=tF(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function tF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=eF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var nF=[".DS_Store","Thumbs.db"];function rF(e){return Nc(this,void 0,void 0,function(){return $c(this,function(t){return qp(e)&&oF(e.dataTransfer)?[2,lF(e.dataTransfer,e.type)]:sF(e)?[2,aF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,iF(e)]:[2,[]]})})}function oF(e){return qp(e)}function sF(e){return qp(e)&&qp(e.target)}function qp(e){return typeof e=="object"&&e!==null}function aF(e){return Vv(e.target.files).map(function(t){return Rd(t)})}function iF(e){return Nc(this,void 0,void 0,function(){var t;return $c(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return Rd(r)})]}})})}function lF(e,t){return Nc(this,void 0,void 0,function(){var n,r;return $c(this,function(o){switch(o.label){case 0:return e.items?(n=Vv(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(cF))]):[3,2];case 1:return r=o.sent(),[2,aS(U5(r))];case 2:return[2,aS(Vv(e.files).map(function(s){return Rd(s)}))]}})})}function aS(e){return e.filter(function(t){return nF.indexOf(t.name)===-1})}function Vv(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,dS(n)];if(e.sizen)return[!1,dS(n)]}return[!0,null]}function Vi(e){return e!=null}function _F(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,a=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(d){var p=Y5(d,n),h=Zu(p,1),m=h[0],v=Q5(d,r,o),b=Zu(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function Kp(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function zf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function pS(e){e.preventDefault()}function PF(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function jF(e){return e.indexOf("Edge/")!==-1}function IF(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return PF(e)||jF(e)}function Gs(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function UF(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var $b=f.forwardRef(function(e,t){var n=e.children,r=Yp(e,TF),o=zb(r),s=o.open,a=Yp(o,AF);return f.useImperativeHandle(t,function(){return{open:s}},[s]),F.createElement(f.Fragment,null,n(dr(dr({},a),{},{open:s})))});$b.displayName="Dropzone";var e6={disabled:!1,getFilesFromEvent:rF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};$b.defaultProps=e6;$b.propTypes={children:zn.func,accept:zn.objectOf(zn.arrayOf(zn.string)),multiple:zn.bool,preventDropOnDocument:zn.bool,noClick:zn.bool,noKeyboard:zn.bool,noDrag:zn.bool,noDragEventsBubbling:zn.bool,minSize:zn.number,maxSize:zn.number,maxFiles:zn.number,disabled:zn.bool,getFilesFromEvent:zn.func,onFileDialogCancel:zn.func,onFileDialogOpen:zn.func,useFsAccessApi:zn.bool,autoFocus:zn.bool,onDragEnter:zn.func,onDragLeave:zn.func,onDragOver:zn.func,onDrop:zn.func,onDropAccepted:zn.func,onDropRejected:zn.func,onError:zn.func,validator:zn.func};var Kv={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function zb(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=dr(dr({},e6),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,m=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,w=t.onDropRejected,y=t.onFileDialogCancel,S=t.onFileDialogOpen,k=t.useFsAccessApi,_=t.autoFocus,I=t.preventDropOnDocument,P=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,T=t.validator,A=f.useMemo(function(){return RF(n)},[n]),$=f.useMemo(function(){return OF(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:mS},[S]),B=f.useMemo(function(){return typeof y=="function"?y:mS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(GF,Kv),D=I0(G,2),z=D[0],H=D[1],Y=z.isFocused,ie=z.isFileDialogActive,ye=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&EF()),Z=function(){!ye.current&&ie&&setTimeout(function(){if(q.current){var Re=q.current.files;Re.length||(H({type:"closeDialog"}),B())}},300)};f.useEffect(function(){return window.addEventListener("focus",Z,!1),function(){window.removeEventListener("focus",Z,!1)}},[q,ie,B,ye]);var se=f.useRef([]),K=function(Re){V.current&&V.current.contains(Re.target)||(Re.preventDefault(),se.current=[])};f.useEffect(function(){return I&&(document.addEventListener("dragover",pS,!1),document.addEventListener("drop",K,!1)),function(){I&&(document.removeEventListener("dragover",pS),document.removeEventListener("drop",K))}},[V,I]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(we){M?M(we):console.error(we)},[M]),ae=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we),se.current=[].concat(zF(se.current),[we.target]),zf(we)&&Promise.resolve(o(we)).then(function(Re){if(!(Kp(we)&&!R)){var Pt=Re.length,At=Pt>0&&_F({files:Re,accept:A,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:T}),xe=Pt>0&&!At;H({isDragAccept:At,isDragReject:xe,isDragActive:!0,type:"setDraggedFiles"}),p&&p(we)}}).catch(function(Re){return U(Re)})},[o,p,U,R,A,a,s,c,d,T]),re=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we);var Re=zf(we);if(Re&&we.dataTransfer)try{we.dataTransfer.dropEffect="copy"}catch{}return Re&&m&&m(we),!1},[m,R]),oe=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we);var Re=se.current.filter(function(At){return V.current&&V.current.contains(At)}),Pt=Re.indexOf(we.target);Pt!==-1&&Re.splice(Pt,1),se.current=Re,!(Re.length>0)&&(H({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),zf(we)&&h&&h(we))},[V,h,R]),pe=f.useCallback(function(we,Re){var Pt=[],At=[];we.forEach(function(xe){var ht=Y5(xe,A),$t=I0(ht,2),zt=$t[0],Ne=$t[1],qe=Q5(xe,a,s),Pn=I0(qe,2),Pe=Pn[0],Je=Pn[1],Qe=T?T(xe):null;if(zt&&Pe&&!Qe)Pt.push(xe);else{var dt=[Ne,Je];Qe&&(dt=dt.concat(Qe)),At.push({file:xe,errors:dt.filter(function(Lt){return Lt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(xe){At.push({file:xe,errors:[kF]})}),Pt.splice(0)),H({acceptedFiles:Pt,fileRejections:At,type:"setFiles"}),v&&v(Pt,At,Re),At.length>0&&w&&w(At,Re),Pt.length>0&&b&&b(Pt,Re)},[H,c,A,a,s,d,v,b,w,T]),ce=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we),se.current=[],zf(we)&&Promise.resolve(o(we)).then(function(Re){Kp(we)&&!R||pe(Re,we)}).catch(function(Re){return U(Re)}),H({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(ye.current){H({type:"openDialog"}),Q();var we={multiple:c,types:$};window.showOpenFilePicker(we).then(function(Re){return o(Re)}).then(function(Re){pe(Re,null),H({type:"closeDialog"})}).catch(function(Re){MF(Re)?(B(Re),H({type:"closeDialog"})):DF(Re)?(ye.current=!1,q.current?(q.current.value=null,q.current.click()):U(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):U(Re)});return}q.current&&(H({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[H,Q,B,k,pe,U,$,c]),_e=f.useCallback(function(we){!V.current||!V.current.isEqualNode(we.target)||(we.key===" "||we.key==="Enter"||we.keyCode===32||we.keyCode===13)&&(we.preventDefault(),ge())},[V,ge]),le=f.useCallback(function(){H({type:"focus"})},[]),Se=f.useCallback(function(){H({type:"blur"})},[]),Fe=f.useCallback(function(){P||(IF()?setTimeout(ge,0):ge())},[P,ge]),Ae=function(Re){return r?null:Re},He=function(Re){return E?null:Ae(Re)},Ct=function(Re){return O?null:Ae(Re)},ct=function(Re){R&&Re.stopPropagation()},on=f.useMemo(function(){return function(){var we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=we.refKey,Pt=Re===void 0?"ref":Re,At=we.role,xe=we.onKeyDown,ht=we.onFocus,$t=we.onBlur,zt=we.onClick,Ne=we.onDragEnter,qe=we.onDragOver,Pn=we.onDragLeave,Pe=we.onDrop,Je=Yp(we,NF);return dr(dr(qv({onKeyDown:He(Gs(xe,_e)),onFocus:He(Gs(ht,le)),onBlur:He(Gs($t,Se)),onClick:Ae(Gs(zt,Fe)),onDragEnter:Ct(Gs(Ne,ae)),onDragOver:Ct(Gs(qe,re)),onDragLeave:Ct(Gs(Pn,oe)),onDrop:Ct(Gs(Pe,ce)),role:typeof At=="string"&&At!==""?At:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Je)}},[V,_e,le,Se,Fe,ae,re,oe,ce,E,O,r]),vt=f.useCallback(function(we){we.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=we.refKey,Pt=Re===void 0?"ref":Re,At=we.onChange,xe=we.onClick,ht=Yp(we,$F),$t=qv({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ae(Gs(At,ce)),onClick:Ae(Gs(xe,vt)),tabIndex:-1},Pt,q);return dr(dr({},$t),ht)}},[q,n,c,ce,r]);return dr(dr({},z),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ae(ge)})}function GF(e,t){switch(t.type){case"focus":return dr(dr({},e),{},{isFocused:!0});case"blur":return dr(dr({},e),{},{isFocused:!1});case"openDialog":return dr(dr({},Kv),{},{isFileDialogActive:!0});case"closeDialog":return dr(dr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return dr(dr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return dr(dr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return dr({},Kv);default:return e}}function mS(){}function Yv(){return Yv=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var ZF=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,a=n.mod,c=n.shift,d=n.ctrl,p=n.keys,h=t.key,m=t.code,v=t.ctrlKey,b=t.metaKey,w=t.shiftKey,y=t.altKey,S=ii(m),k=h.toLowerCase();if(!r){if(o===!y&&k!=="alt"||c===!w&&k!=="shift")return!1;if(a){if(!b&&!v)return!1}else if(s===!b&&k!=="meta"&&k!=="os"||d===!v&&k!=="ctrl"&&k!=="control")return!1}return p&&p.length===1&&(p.includes(k)||p.includes(S))?!0:p?n6(p):!p},eH=f.createContext(void 0),tH=function(){return f.useContext(eH)};function a6(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&a6(e[r],t[r])},!0):e===t}var nH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),rH=function(){return f.useContext(nH)};function oH(e){var t=f.useRef(void 0);return a6(t.current,e)||(t.current=e),t.current}var gS=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},sH=typeof window<"u"?f.useLayoutEffect:f.useEffect;function nt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,c=e instanceof Array?e.join(a==null?void 0:a.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var m=oH(a),v=rH(),b=v.enabledScopes,w=tH();return sH(function(){if(!((m==null?void 0:m.enabled)===!1||!JF(b,m==null?void 0:m.scopes))){var y=function(P,E){var O;if(E===void 0&&(E=!1),!(XF(P)&&!s6(P,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(P))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){gS(P);return}(O=P.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||E0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,T=O0(R,m==null?void 0:m.combinationKey);if(ZF(P,T,m==null?void 0:m.ignoreModifiers)||(M=T.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(YF(P,T,m==null?void 0:m.preventDefault),!QF(P,T,m==null?void 0:m.enabled)){gS(P);return}h.current(P,T),E||(s.current=!0)}})}},S=function(P){P.key!==void 0&&(r6(ii(P.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(P))},k=function(P){P.key!==void 0&&(o6(ii(P.code)),s.current=!1,m!=null&&m.keyup&&y(P,!0))},_=o.current||(a==null?void 0:a.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&E0(c,m==null?void 0:m.splitKey).forEach(function(I){return w.addHotkey(O0(I,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&E0(c,m==null?void 0:m.splitKey).forEach(function(I){return w.removeHotkey(O0(I,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const aH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return nt("esc",()=>{r(!1)}),i.jsxs(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:i.jsx(W,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?i.jsx(Qs,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Qs,{size:"lg",children:"Invalid Upload"}),i.jsx(Qs,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},iH=fe([Ye,Kn],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Ge),lH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=L(iH),o=L(jr),s=Bc(),{t:a}=be(),[c,d]=f.useState(!1),[p]=j_(),h=f.useCallback(I=>{d(!0),s({title:a("toast.uploadFailed"),description:I.errors.map(P=>P.message).join(` +`),status:"error"})},[a,s]),m=f.useCallback(async I=>{p({file:I,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n})},[n,r,p]),v=f.useCallback((I,P)=>{if(P.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}P.forEach(E=>{h(E)}),I.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=zb({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const I=async P=>{var E,O;_.current&&(E=P.clipboardData)!=null&&E.files&&(_.current.files=P.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",I),()=>{document.removeEventListener("paste",I)}},[_]),i.jsxs(Oe,{...b({style:{}}),onKeyDown:I=>{I.key},children:[i.jsx("input",{...w()}),t,i.jsx(Fo,{children:k&&c&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(aH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},cH=f.memo(lH),mn=e=>e.canvas,ir=fe([mn,Kn,mo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),uH=e=>e.canvas.layerState.objects.find(I_),dH=FD(e=>{e(E_(!0))},300),So=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&dH(e)};var fH=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Cr=globalThis&&globalThis.__assign||function(){return Cr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof a>"u"?void 0:Number(a)}},yH=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],wS="__resizable_base__",xH=function(e){mH(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(wS):s.className+=wS,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||gH},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(c){if(typeof n.state[c]>"u"||n.state[c]==="auto")return"auto";if(n.propsSize&&n.propsSize[c]&&n.propsSize[c].toString().endsWith("%")){if(n.state[c].toString().endsWith("%"))return n.state[c].toString();var d=n.getParentSize(),p=Number(n.state[c].toString().replace("px","")),h=p/d[c]*100;return h+"%"}return R0(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?R0(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?R0(r.height):o("height");return{width:s,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,a=o&&Ll("left",s),c=o&&Ll("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=a?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=c?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=c?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=c?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,m=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,w=d||0,y=p||0;if(c){var S=(v-w)*this.ratio+y,k=(b-w)*this.ratio+y,_=(h-y)/this.ratio+w,I=(m-y)/this.ratio+w,P=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,I);n=Bf(n,P,E),r=Bf(r,O,R)}else n=Bf(n,h,m),r=Bf(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),a=s.left,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=a,this.resizableRight=d,this.resizableTop=c,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&vH(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&Ff(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var c,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",c=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var m={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:c};this.setState(m)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Ff(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=Ff(n)?n.touches[0].clientX:n.clientX,h=Ff(n)?n.touches[0].clientY:n.clientY,m=this.state,v=m.direction,b=m.original,w=m.width,y=m.height,S=this.getParentSize(),k=bH(S,this.window.innerWidth,this.window.innerHeight,s,a,c,d);s=k.maxWidth,a=k.maxHeight,c=k.minWidth,d=k.minHeight;var _=this.calculateNewSizeFromDirection(p,h),I=_.newHeight,P=_.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(P=xS(P,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(I=xS(I,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(P,I,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(P=O.newWidth,I=O.newHeight,this.props.grid){var R=yS(P,this.props.grid[0]),M=yS(I,this.props.grid[1]),T=this.props.snapGap||0;P=T===0||Math.abs(R-P)<=T?R:P,I=T===0||Math.abs(M-I)<=T?M:I}var A={width:P-b.width,height:I-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var $=P/S.width*100;P=$+"%"}else if(w.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(w.endsWith("vh")){var B=P/this.window.innerHeight*100;P=B+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var $=I/S.height*100;I=$+"%"}else if(y.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(y.endsWith("vh")){var B=I/this.window.innerHeight*100;I=B+"vh"}}var V={width:this.createSizeForCssProperty(P,"width"),height:this.createSizeForCssProperty(I,"height")};this.flexDir==="row"?V.flexBasis=V.width:this.flexDir==="column"&&(V.flexBasis=V.height),_i.flushSync(function(){r.setState(V)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,A)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,a=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,c),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,a=r.handleClasses,c=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(m){return o[m]!==!1?f.createElement(hH,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:a&&a[m]},p&&p[m]?p[m]:null):null});return f.createElement("div",{className:d,style:c},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,c){return yH.indexOf(c)!==-1||(a[c]=n.props[c]),a},{}),o=qs(qs(qs({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,qs({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const wH=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),SH=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),a=n??(["left","right"].includes(e)?"95vw":void 0),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...a?{maxWidth:a}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},va="0.75rem",Wf="1rem",fu="5px",CH=({isResizable:e,direction:t})=>{const n=`calc((2 * ${va} + ${fu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:fu,paddingBottom:Wf},handleStyles:e?{top:{paddingTop:va,paddingBottom:va,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:fu,paddingInlineEnd:Wf},handleStyles:e?{right:{paddingInlineStart:va,paddingInlineEnd:va,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:fu,paddingTop:Wf},handleStyles:e?{bottom:{paddingTop:va,paddingBottom:va,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:fu,paddingInlineStart:Wf},handleStyles:e?{left:{paddingInlineStart:va,paddingInlineEnd:va,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},kH=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",ze=(e,t)=>n=>n==="light"?e:t,_H=Ie(xH,{shouldForwardProp:e=>!["sx"].includes(e)}),i6=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:a,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=Mc().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),I=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[P,E]=f.useState(_),[O,R]=f.useState(I);yN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?wH({direction:e,langDirection:y}):{},[t,y,e]),T=f.useMemo(()=>SH({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:A,handleStyles:$}=f.useMemo(()=>CH({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>kH(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(A3,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Oe,{ref:k,sx:{width:"full",height:"full"},children:i.jsx(_H,{size:{width:t?P:_,height:t?O:I},enable:M,handleStyles:$,...T,sx:{borderColor:ze("base.200","base.800")(S),p:4,bg:ze("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(B,V,q)=>{m&&m(B,V,q)},onResize:(B,V,q,G)=>{b&&b(B,V,q,G)},onResizeStop:(B,V,q,G)=>{["left","right"].includes(V)&&E(Number(P)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(B,V,q,G)},children:o})})})},PH=Te((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(wn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(gc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),rn=f.memo(PH);var l6={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},SS=F.createContext&&F.createContext(l6),fi=globalThis&&globalThis.__assign||function(){return fi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function ro(e,t){const n=Ii(t);if(Rs(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?jS(e,s,t):t.reduce((a,c)=>(a[c]=jS(e,s,c),a),o)}return o}e&&_n(Bo(t),o=>IW(e,o,t[o]))}const xs=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Dd=()=>typeof window<"u",C6=Dd()&&Node.ELEMENT_NODE,{toString:pW,hasOwnProperty:D0}=Object.prototype,Ha=e=>e===void 0,Pm=e=>e===null,hW=e=>Ha(e)||Pm(e)?`${e}`:pW.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),pi=e=>typeof e=="number",Ii=e=>typeof e=="string",Vb=e=>typeof e=="boolean",Os=e=>typeof e=="function",Rs=e=>Array.isArray(e),ed=e=>typeof e=="object"&&!Rs(e)&&!Pm(e),jm=e=>{const t=!!e&&e.length,n=pi(t)&&t>-1&&t%1==0;return Rs(e)||!Os(e)&&n?t>0&&ed(e)?t-1 in e:!0:!1},Qv=e=>{if(!e||!ed(e)||hW(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=D0.call(e,n),a=o&&D0.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Ha(t)||D0.call(e,t)},Qp=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===C6:!1},Im=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===C6:!1},Ub=(e,t,n)=>e.indexOf(t,n),Mn=(e,t,n)=>(!n&&!Ii(t)&&jm(t)?Array.prototype.push.apply(e,t):e.push(t),e),il=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{Mn(n,r)}):_n(e,r=>{Mn(n,r)}),n)},Gb=e=>!!e&&e.length===0,la=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Em=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Bo=e=>e?Object.keys(e):[],pr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Pm(e))&&!Os(e)&&(e={}),_n(c,d=>{_n(Bo(d),p=>{const h=d[p];if(e===h)return!0;const m=Rs(h);if(h&&(Qv(h)||m)){const v=e[p];let b=v;m&&!Rs(v)?b=[]:!m&&!Qv(v)&&(b={}),e[p]=pr(b,h)}else e[p]=h})}),e},qb=e=>{for(const t in e)return!1;return!0},k6=(e,t,n,r)=>{if(Ha(r))return n?n[e]:t;n&&(Ii(r)||pi(r))&&(n[e]=r)},no=(e,t,n)=>{if(Ha(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},xo=(e,t)=>{e&&e.removeAttribute(t)},Xi=(e,t,n,r)=>{if(n){const o=no(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=il(s).join(" ").trim();no(e,t,a)}},mW=(e,t,n)=>{const r=no(e,t)||"";return new Set(r.split(" ")).has(n)},_s=(e,t)=>k6("scrollLeft",0,e,t),Ca=(e,t)=>k6("scrollTop",0,e,t),Xv=Dd()&&Element.prototype,_6=(e,t)=>{const n=[],r=t?Im(t)?t:null:document;return r?Mn(n,r.querySelectorAll(e)):n},gW=(e,t)=>{const n=t?Im(t)?t:null:document;return n?n.querySelector(e):null},Xp=(e,t)=>Im(e)?(Xv.matches||Xv.msMatchesSelector).call(e,t):!1,Kb=e=>e?il(e.childNodes):[],Ta=e=>e?e.parentElement:null,Yl=(e,t)=>{if(Im(e)){const n=Xv.closest;if(n)return n.call(e,t);do{if(Xp(e,t))return e;e=Ta(e)}while(e)}return null},vW=(e,t,n)=>{const r=e&&Yl(e,t),o=e&&gW(n,r),s=Yl(o,t)===r;return r&&o?r===e||o===e||s&&Yl(Yl(e,n),t)!==r:!1},Yb=(e,t,n)=>{if(n&&e){let r=t,o;jm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ts=(e,t)=>{Yb(e,null,t)},bW=(e,t)=>{Yb(Ta(e),e,t)},kS=(e,t)=>{Yb(Ta(e),e&&e.nextSibling,t)},oa=e=>{if(jm(e))_n(il(e),t=>oa(t));else if(e){const t=Ta(e);t&&t.removeChild(e)}},Ji=e=>{const t=document.createElement("div");return e&&no(t,"class",e),t},P6=e=>{const t=Ji();return t.innerHTML=e.trim(),_n(Kb(t),n=>oa(n))},Jv=e=>e.charAt(0).toUpperCase()+e.slice(1),yW=()=>Ji().style,xW=["-webkit-","-moz-","-o-","-ms-"],wW=["WebKit","Moz","O","MS","webkit","moz","o","ms"],T0={},A0={},SW=e=>{let t=A0[e];if(Em(A0,e))return t;const n=Jv(e),r=yW();return _n(xW,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,Jv(s)+n].find(c=>r[c]!==void 0))}),A0[e]=t||""},Td=e=>{if(Dd()){let t=T0[e]||window[e];return Em(T0,e)||(_n(wW,n=>(t=t||window[n+Jv(e)],!t)),T0[e]=t),t}},CW=Td("MutationObserver"),_S=Td("IntersectionObserver"),Ql=Td("ResizeObserver"),j6=Td("cancelAnimationFrame"),I6=Td("requestAnimationFrame"),Jp=Dd()&&window.setTimeout,Zv=Dd()&&window.clearTimeout,kW=/[^\x20\t\r\n\f]+/g,E6=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ii(t)){const c=t.match(kW)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Qb=(e,t)=>{E6(e,t,(n,r)=>n.remove(r))},ka=(e,t)=>(E6(e,t,(n,r)=>n.add(r)),Qb.bind(0,e,t)),Om=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},O6=(e,t)=>Om(e,t,["w","h"]),R6=(e,t)=>Om(e,t,["x","y"]),_W=(e,t)=>Om(e,t,["t","r","b","l"]),PS=(e,t,n)=>Om(e,t,["width","height"],n&&(r=>Math.round(r))),es=()=>{},Ul=e=>{let t;const n=e?Jp:I6,r=e?Zv:j6;return[o=>{r(t),t=n(o,Os(e)?e():e)},()=>r(t)]},Xb=(e,t)=>{let n,r,o,s=es;const{v:a,g:c,p:d}=t||{},p=function(w){s(),Zv(n),n=r=void 0,s=es,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==es&&p(h(o)||o)},v=function(){const w=il(arguments),y=Os(a)?a():a;if(pi(y)&&y>=0){const k=Os(c)?c():c,_=pi(k)&&k>=0,I=y>0?Jp:I6,P=y>0?Zv:j6,O=h(w)||w,R=p.bind(0,O);s();const M=I(R,y);s=()=>P(M),_&&!n&&(n=Jp(m,k)),r=o=O}else p(w)};return v.m=m,v},PW={opacity:1,zindex:1},Vf=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},jW=(e,t)=>!PW[e.toLowerCase()]&&pi(t)?`${t}px`:t,jS=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],IW=(e,t,n)=>{try{const{style:r}=e;Ha(r[t])?r.setProperty(t,n):r[t]=jW(t,n)}catch{}},td=e=>ro(e,"direction")==="rtl",IS=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=ro(e,[s,a,c,d]);return{t:Vf(p[s],!0),r:Vf(p[a],!0),b:Vf(p[c],!0),l:Vf(p[d],!0)}},{round:ES}=Math,Jb={w:0,h:0},nd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:Jb,Pp=e=>e?{w:e.clientWidth,h:e.clientHeight}:Jb,Zp=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:Jb,eh=e=>{const t=parseFloat(ro(e,"height"))||0,n=parseFloat(ro(e,"width"))||0;return{w:n-ES(n),h:t-ES(t)}},Zs=e=>e.getBoundingClientRect();let Uf;const EW=()=>{if(Ha(Uf)){Uf=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Uf=!0}}))}catch{}}return Uf},M6=e=>e.split(" "),OW=(e,t,n,r)=>{_n(M6(t),o=>{e.removeEventListener(o,n,r)})},Dr=(e,t,n,r)=>{var o;const s=EW(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(M6(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;Mn(p,OW.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),la.bind(0,p)},D6=e=>e.stopPropagation(),T6=e=>e.preventDefault(),RW={x:0,y:0},N0=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:RW},OS=(e,t)=>{_n(Rs(t)?t:[t],e)},Zb=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);OS(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ii(s)){const p=t.get(s)||new Set;return t.set(s,p),OS(h=>{Os(h)&&p.add(h)},a),n.bind(0,s,a)}Vb(a)&&a&&n();const c=Bo(s),d=[];return _n(c,p=>{const h=s[p];h&&Mn(d,r(p,h))}),la.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(il(c),d=>{a&&!Gb(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},RS=e=>JSON.stringify(e,(t,n)=>{if(Os(n))throw new Error;return n}),MW={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},A6=(e,t)=>{const n={},r=Bo(t).concat(Bo(e));return _n(r,o=>{const s=e[o],a=t[o];if(ed(s)&&ed(a))pr(n[o]={},A6(s,a)),qb(n[o])&&delete n[o];else if(Em(t,o)&&a!==s){let c=!0;if(Rs(s)||Rs(a))try{RS(s)===RS(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},N6="os-environment",$6=`${N6}-flexbox-glue`,DW=`${$6}-max`,z6="os-scrollbar-hidden",$0="data-overlayscrollbars-initialize",ws="data-overlayscrollbars",L6=`${ws}-overflow-x`,B6=`${ws}-overflow-y`,cc="overflowVisible",TW="scrollbarHidden",MS="scrollbarPressed",th="updating",oi="data-overlayscrollbars-viewport",z0="arrange",F6="scrollbarHidden",uc=cc,e1="data-overlayscrollbars-padding",AW=uc,DS="data-overlayscrollbars-content",ey="os-size-observer",NW=`${ey}-appear`,$W=`${ey}-listener`,zW="os-trinsic-observer",LW="os-no-css-vars",BW="os-theme-none",Io="os-scrollbar",FW=`${Io}-rtl`,HW=`${Io}-horizontal`,WW=`${Io}-vertical`,H6=`${Io}-track`,ty=`${Io}-handle`,VW=`${Io}-visible`,UW=`${Io}-cornerless`,TS=`${Io}-transitionless`,AS=`${Io}-interaction`,NS=`${Io}-unusable`,$S=`${Io}-auto-hidden`,zS=`${Io}-wheel`,GW=`${H6}-interactive`,qW=`${ty}-interactive`,W6={},ll=()=>W6,KW=e=>{const t=[];return _n(Rs(e)?e:[e],n=>{const r=Bo(n);_n(r,o=>{Mn(t,W6[o]=n[o])})}),t},YW="__osOptionsValidationPlugin",QW="__osSizeObserverPlugin",ny="__osScrollbarsHidingPlugin",XW="__osClickScrollPlugin";let L0;const LS=(e,t,n,r)=>{ts(e,t);const o=Pp(t),s=nd(t),a=eh(n);return r&&oa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},JW=e=>{let t=!1;const n=ka(e,z6);try{t=ro(e,SW("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},ZW=(e,t)=>{const n="hidden";ro(e,{overflowX:n,overflowY:n,direction:"rtl"}),_s(e,0);const r=N0(e),o=N0(t);_s(e,-999);const s=N0(t);return{i:r.x===o.x,n:o.x!==s.x}},eV=(e,t)=>{const n=ka(e,$6),r=Zs(e),o=Zs(t),s=PS(o,r,!0),a=ka(e,DW),c=Zs(e),d=Zs(t),p=PS(d,c,!0);return n(),a(),s&&p},tV=()=>{const{body:e}=document,n=P6(`
`)[0],r=n.firstChild,[o,,s]=Zb(),[a,c]=xs({o:LS(e,n,r),u:R6},LS.bind(0,e,n,r,!0)),[d]=c(),p=JW(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:_=>p&&_===_.ownerDocument.body&&_,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=pr({},MW),b=pr.bind(0,{},v),w=pr.bind(0,{},m),y={k:d,A:h,I:p,L:ro(n,"zIndex")==="-1",B:ZW(n,r),V:eV(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>pr(m,_)&&w(),F:b,G:_=>pr(v,_)&&b(),X:pr({},m),U:pr({},v)},S=window.addEventListener,k=Xb(_=>s(_?"z":"r"),{v:33,g:99});if(xo(n,"style"),oa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const I=ll()[ny];_=_||I&&I.R(),_&&_(y,a,k.bind(0,!0))})}return y},Eo=()=>(L0||(L0=tV()),L0),ry=(e,t)=>Os(t)?t.apply(0,e):t,nV=(e,t,n,r)=>{const o=Ha(r)?n:r;return ry(e,o)||t.apply(0,e)},V6=(e,t,n,r)=>{const o=Ha(r)?n:r,s=ry(e,o);return!!s&&(Qp(s)?s:t.apply(0,e))},rV=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Eo(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ha(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Pm(h)?!a:h);return!!m||!!v},oy=new WeakMap,oV=(e,t)=>{oy.set(e,t)},sV=e=>{oy.delete(e)},U6=e=>oy.get(e),BS=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Em(n,r)?n[r]:void 0,e):void 0,t1=(e,t,n)=>r=>[BS(e,r),n||BS(t,r)!==void 0],G6=e=>{let t=e;return[()=>t,n=>{t=pr({},t,n)}]},Gf="tabindex",qf=Ji.bind(0,""),B0=e=>{ts(Ta(e),Kb(e)),oa(e)},aV=e=>{const t=Eo(),{N:n,I:r}=t,o=ll()[ny],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=Qp(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,I=Xp(_,"textarea"),P=_.ownerDocument,E=P.documentElement,O=_===P.body,R=P.defaultView,M=nV.bind(0,[_]),T=V6.bind(0,[_]),A=ry.bind(0,[_]),$=M.bind(0,qf,p),Q=T.bind(0,qf,h),B=$(S),V=B===_,q=V&&O,G=!V&&Q(k),D=!V&&Qp(B)&&B===G,z=D&&!!A(h),H=z?$():B,Y=z?G:Q(),ye=q?E:D?H:B,Z=I?M(qf,c,w):_,se=q?ye:Z,K=D?Y:G,U=P.activeElement,ae=!V&&R.top===R&&U===_,re={W:_,Z:se,J:ye,K:!V&&T(qf,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:ye,st:q?P:ye,et:R,ct:P,rt:I,it:O,lt:m,ut:V,dt:D,ft:(vt,bt)=>mW(ye,V?ws:oi,V?bt:vt),_t:(vt,bt,we)=>Xi(ye,V?ws:oi,V?bt:vt,we)},oe=Bo(re).reduce((vt,bt)=>{const we=re[bt];return Mn(vt,we&&!Ta(we)?we:!1)},[]),pe=vt=>vt?Ub(oe,vt)>-1:null,{W:ce,Z:ge,K:_e,J:le,tt:Se,nt:Fe}=re,Ae=[()=>{xo(ge,ws),xo(ge,$0),xo(ce,$0),O&&(xo(E,ws),xo(E,$0))}],He=I&&pe(ge);let Ct=I?ce:Kb([Se,le,_e,ge,ce].find(vt=>pe(vt)===!1));const ct=q?ce:Se||le;return[re,()=>{no(ge,ws,V?"viewport":"host"),no(_e,e1,""),no(Se,DS,""),V||no(le,oi,"");const vt=O&&!V?ka(Ta(_),z6):es;if(He&&(kS(ce,ge),Mn(Ae,()=>{kS(ge,ce),oa(ge)})),ts(ct,Ct),ts(ge,_e),ts(_e||ge,!V&&le),ts(le,Se),Mn(Ae,()=>{vt(),xo(_e,e1),xo(Se,DS),xo(le,L6),xo(le,B6),xo(le,oi),pe(Se)&&B0(Se),pe(le)&&B0(le),pe(_e)&&B0(_e)}),r&&!V&&(Xi(le,oi,F6,!0),Mn(Ae,xo.bind(0,le,oi))),Fe&&(bW(le,Fe),Mn(Ae,oa.bind(0,Fe))),ae){const bt=no(le,Gf);no(le,Gf,"-1"),le.focus();const we=()=>bt?no(le,Gf,bt):xo(le,Gf),Re=Dr(P,"pointerdown keydown",()=>{we(),Re()});Mn(Ae,[we,Re])}else U&&U.focus&&U.focus();Ct=0},la.bind(0,Ae)]},iV=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Eo(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&ro(n,{height:a?"":"100%"}),{gt:d,wt:d}}},lV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=xs({u:_W,o:IS()},IS.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Eo(),{bt:k}=n(),{gt:_,wt:I,yt:P}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&I)&&([b,w]=d(v));const M=!c&&(O||P||w);if(M){const T=!E||!s&&!y,A=b.r+b.l,$=b.t+b.b,Q={marginRight:T&&!k?-A:0,marginBottom:T?-$:0,marginLeft:T&&k?-A:0,top:T?-b.t:0,right:T?k?-b.r:"auto":0,left:T?k?"auto":-b.l:0,width:T?`calc(100% + ${A}px)`:""},B={paddingTop:T?b.t:0,paddingRight:T?b.r:0,paddingBottom:T?b.b:0,paddingLeft:T?b.l:0};ro(s||a,Q),ro(a,B),r({K:b,St:!T,P:s?B:pr({},Q,B)})}return{xt:M}}},{max:n1}=Math,si=n1.bind(0,0),q6="visible",FS="hidden",cV=42,Kf={u:O6,o:{w:0,h:0}},uV={u:R6,o:{x:FS,y:FS}},dV=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:si(e.w-t.w),h:si(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},Yf=e=>e.indexOf(q6)===0,fV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Eo(),S=ll()[ny],k=!d&&!w&&(y.x||y.y),_=h&&d,[I,P]=xs(Kf,eh.bind(0,a)),[E,O]=xs(Kf,Zp.bind(0,a)),[R,M]=xs(Kf),[T,A]=xs(Kf),[$]=xs(uV),Q=(z,H)=>{if(ro(a,{height:""}),H){const{St:Y,K:ie}=n(),{$t:ye,D:Z}=z,se=eh(o),K=Pp(o),U=ro(a,"boxSizing")==="content-box",ae=Y||U?ie.b+ie.t:0,re=!(y.x&&U);ro(a,{height:K.h+se.h+(ye.x&&re?Z.x:0)-ae})}},B=(z,H)=>{const Y=!w&&!z?cV:0,ie=(pe,ce,ge)=>{const _e=ro(a,pe),Se=(H?H[pe]:_e)==="scroll";return[_e,Se,Se&&!w?ce?Y:ge:0,ce&&!!Y]},[ye,Z,se,K]=ie("overflowX",y.x,v.x),[U,ae,re,oe]=ie("overflowY",y.y,v.y);return{Ct:{x:ye,y:U},$t:{x:Z,y:ae},D:{x:se,y:re},M:{x:K,y:oe}}},V=(z,H,Y,ie)=>{const ye=(ae,re)=>{const oe=Yf(ae),pe=re&&oe&&ae.replace(`${q6}-`,"")||"";return[re&&!oe?ae:"",Yf(pe)?"hidden":pe]},[Z,se]=ye(Y.x,H.x),[K,U]=ye(Y.y,H.y);return ie.overflowX=se&&K?se:Z,ie.overflowY=U&&Z?U:K,B(z,ie)},q=(z,H,Y,ie)=>{const{D:ye,M:Z}=z,{x:se,y:K}=Z,{x:U,y:ae}=ye,{P:re}=n(),oe=H?"marginLeft":"marginRight",pe=H?"paddingLeft":"paddingRight",ce=re[oe],ge=re.marginBottom,_e=re[pe],le=re.paddingBottom;ie.width=`calc(100% + ${ae+-1*ce}px)`,ie[oe]=-ae+ce,ie.marginBottom=-U+ge,Y&&(ie[pe]=_e+(K?ae:0),ie.paddingBottom=le+(se?U:0))},[G,D]=S?S.H(k,b,a,c,n,B,q):[()=>k,()=>[es]];return(z,H,Y)=>{const{gt:ie,Ot:ye,wt:Z,xt:se,vt:K,yt:U}=z,{ht:ae,bt:re}=n(),[oe,pe]=H("showNativeOverlaidScrollbars"),[ce,ge]=H("overflow"),_e=oe&&y.x&&y.y,le=!d&&!b&&(ie||Z||ye||pe||K),Se=Yf(ce.x),Fe=Yf(ce.y),Ae=Se||Fe;let He=P(Y),Ct=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(F6,TW,!_e),le&&(vt=B(_e),Q(vt,ae)),ie||se||Z||U||pe){Ae&&p(uc,cc,!1);const[Pe,Je]=D(_e,re,vt),[Qe,dt]=He=I(Y),[Lt,lr]=Ct=E(Y),pn=Pp(a);let ln=Lt,Fr=pn;Pe(),(lr||dt||pe)&&Je&&!_e&&G(Je,Lt,Qe,re)&&(Fr=Pp(a),ln=Zp(a));const br={w:si(n1(Lt.w,ln.w)+Qe.w),h:si(n1(Lt.h,ln.h)+Qe.h)},Fn={w:si((_?m.innerWidth:Fr.w+si(pn.w-Lt.w))+Qe.w),h:si((_?m.innerHeight+Qe.h:Fr.h+si(pn.h-Lt.h))+Qe.h)};on=T(Fn),ct=R(dV(br,Fn),Y)}const[bt,we]=on,[Re,Pt]=ct,[At,xe]=Ct,[ht,$t]=He,zt={x:Re.w>0,y:Re.h>0},Ne=Se&&Fe&&(zt.x||zt.y)||Se&&zt.x&&!zt.y||Fe&&zt.y&&!zt.x;if(se||U||$t||xe||we||Pt||ge||pe||le){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Je=V(_e,zt,ce,Pe),Qe=G(Je,At,ht,re);d||q(Je,re,Qe,Pe),le&&Q(Je,ae),d?(no(o,L6,Pe.overflowX),no(o,B6,Pe.overflowY)):ro(a,Pe)}Xi(o,ws,cc,Ne),Xi(s,e1,AW,Ne),d||Xi(a,oi,uc,Ae);const[qe,Pn]=$(B(_e).Ct);return r({Ct:qe,zt:{x:bt.w,y:bt.h},Tt:{x:Re.w,y:Re.h},Et:zt}),{It:Pn,At:we,Lt:Pt}}},HS=(e,t,n)=>{const r={},o=t||{},s=Bo(e).concat(Bo(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},pV=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Eo(),p=!a&&(c.x||c.y),h=[iV(e,t),lV(e,t),fV(e,t)];return(m,v,b)=>{const w=HS(pr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&_s(r),k=y&&Ca(r);o("",th,!0);let _=w;return _n(h,I=>{_=HS(_,I(_,m,!!b)||{},b)}),_s(r,S),Ca(r,k),o("",th),s||(_s(n,0),Ca(n,0)),_}},hV=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):_6(m,e));b&&b.length&&v&&Ii(v)&&Mn(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Dr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,Mn(v,w))}else la(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},WS=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Xb(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=hV(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(I,P)=>{const E=p||es,O=h||es,R=new Set,M=new Set;let T=!1,A=!1;if(_n(I,$=>{const{attributeName:Q,target:B,type:V,oldValue:q,addedNodes:G,removedNodes:D}=$,z=V==="attributes",H=V==="childList",Y=e===B,ie=z&&Ii(Q)?no(B,Q):0,ye=ie!==0&&q!==ie,Z=Ub(y,Q)>-1&&ye;if(t&&(H||!Y)){const se=!z,K=z&&ye,U=K&&d&&Xp(B,d),re=(U?!E(B,Q,q,ie):se||K)&&!O($,!!U,e,r);_n(G,oe=>R.add(oe)),_n(D,oe=>R.add(oe)),A=A||re}!t&&Y&&ye&&!E(B,Q,q,ie)&&(M.add(Q),T=T||Z)}),R.size>0&&b($=>il(R).reduce((Q,B)=>(Mn(Q,_6($,B)),Xp(B,$)?Mn(Q,B):Q),[])),t)return!P&&A&&n(!1),[!1];if(M.size>0||T){const $=[il(M),T];return!P&&n.apply(0,$),$}},_=new CW(I=>k(I));return _.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),_.disconnect(),o=!1)},()=>{if(o){m.m();const I=_.takeRecords();return!Gb(I)&&k(I,!0)}}]},Qf=3333333,Xf=e=>e&&(e.height||e.width),K6=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=ll()[QW],{B:a}=Eo(),d=P6(`
`)[0],p=d.firstChild,h=td.bind(0,e),[m]=xs({o:void 0,_:!0,u:(y,S)=>!(!y||!Xf(y)&&Xf(S))}),v=y=>{const S=Rs(y)&&y.length>0&&ed(y[0]),k=!S&&Vb(y[0]);let _=!1,I=!1,P=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=Xf(E),M=Xf(O);_=!O||!R,I=!M&&R,P=!_}else k?[,P]=y:I=y===!0;if(r&&P){const E=k?y[0]:td(d);_s(d,E?a.n?-Qf:a.i?0:Qf:Qf),Ca(d,Qf)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!I})},b=[];let w=o?v:!1;return[()=>{la(b),oa(d)},()=>{if(Ql){const y=new Ql(v);y.observe(p),Mn(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,Mn(b,S)}if(r){const[y]=xs({o:void 0},h);Mn(b,Dr(d,"scroll",S=>{const k=y(),[_,I,P]=k;I&&(Qb(p,"ltr rtl"),_?ka(p,"rtl"):ka(p,"ltr"),v([!!_,I,P])),D6(S)}))}w&&(ka(d,NW),Mn(b,Dr(d,"animationstart",w,{C:!!Ql}))),(Ql||s)&&ts(e,d)}]},mV=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,gV=(e,t)=>{let n;const r=Ji(zW),o=[],[s]=xs({o:!1}),a=(d,p)=>{if(d){const h=s(mV(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{la(o),oa(r)},()=>{if(_S)n=new _S(d=>c(d),{root:e}),n.observe(r),Mn(o,()=>{n.disconnect()});else{const d=()=>{const m=nd(r);a(m)},[p,h]=K6(r,d);Mn(o,p),h(),d()}ts(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},VS=`[${ws}]`,vV=`[${oi}]`,F0=["tabindex"],US=["wrap","cols","rows"],H0=["id","class","style","open"],bV=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Eo(),[w]=xs({u:O6,o:{w:0,h:0}},()=>{const V=m(uc,cc),q=m(z0,""),G=q&&_s(c),D=q&&Ca(c);v(uc,cc),v(z0,""),v("",th,!0);const z=Zp(d),H=Zp(c),Y=eh(c);return v(uc,cc,V),v(z0,"",q),v("",th),_s(c,G),Ca(c,D),{w:H.w+z.w+Y.w,h:H.h+z.h+Y.h}}),y=p?US:H0.concat(US),S=Xb(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[D]=q;return[Bo(G).concat(Bo(D)).reduce((z,H)=>(z[H]=G[H]||D[H],z),{})]}}),k=V=>{_n(V||F0,q=>{if(Ub(F0,q)>-1){const G=no(a,q);Ii(G)?no(c,q,G):xo(c,q)}})},_=(V,q)=>{const[G,D]=V,z={vt:D};return t({ht:G}),!q&&n(z),z},I=({gt:V,Yt:q,Vt:G})=>{const D=!V||G?n:S;let z=!1;if(q){const[H,Y]=q;z=Y,t({bt:H})}D({gt:V,yt:z})},P=(V,q)=>{const[,G]=w(),D={wt:G};return G&&!q&&(V?n:S)(D),D},E=(V,q,G)=>{const D={Ot:q};return q?!G&&S(D):h||k(V),D},[O,R,M]=d||!b?gV(a,_):[es,es,es],[T,A]=h?[es,es]:K6(a,I,{Vt:!0,Bt:!0}),[$,Q]=WS(a,!1,E,{Pt:H0,Ht:H0.concat(F0)}),B=h&&Ql&&new Ql(I.bind(0,{gt:!0}));return B&&B.observe(a),k(),[()=>{O(),T(),s&&s[0](),B&&B.disconnect(),$()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),D=s&&s[1]();return q&&pr(V,E.apply(0,Mn(q,!0))),G&&pr(V,_.apply(0,Mn(G,!0))),D&&pr(V,P.apply(0,Mn(D,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,D]=V("update.attributes"),[z,H]=V("update.elementEvents"),[Y,ie]=V("update.debounce"),ye=H||D,Z=se=>Os(q)&&q(se);if(ye&&(s&&(s[1](),s[0]()),s=WS(d||c,!0,P,{Ht:y.concat(G||[]),Dt:z,Mt:VS,kt:(se,K)=>{const{target:U,attributeName:ae}=se;return(!K&&ae&&!h?vW(U,VS,vV):!1)||!!Yl(U,`.${Io}`)||!!Z(se)}})),ie)if(S.m(),Rs(Y)){const se=Y[0],K=Y[1];r=pi(se)&&se,o=pi(K)&&K}else pi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},GS={x:0,y:0},yV=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:GS,Tt:GS,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:td(e.Z)}),xV=(e,t)=>{const n=t1(t,{}),[r,o,s]=Zb(),[a,c,d]=aV(e),p=G6(yV(a)),[h,m]=p,v=pV(a,p),b=(I,P,E)=>{const R=Bo(I).some(M=>I[M])||!qb(P)||E;return R&&s("u",[I,P,E]),R},[w,y,S,k]=bV(a,m,I=>b(v(n,I),{},!1)),_=h.bind(0);return _.jt=I=>r("u",I),_.Nt=()=>{const{W:I,J:P}=a,E=_s(I),O=Ca(I);y(),c(),_s(P,E),Ca(P,O)},_.qt=a,[(I,P)=>{const E=t1(t,I,P);return k(E),b(v(E,S(),P),I,!!P)},_,()=>{o(),w(),d()}]},{round:qS}=Math,wV=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=nd(e);return{x:qS(t)/r||1,y:qS(n)/o||1}},SV=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},CV=(e,t)=>Dr(e,"mousedown",Dr.bind(0,t,"click",D6,{C:!0,$:!0}),{$:!0}),KS="pointerup pointerleave pointercancel lostpointercapture",kV=(e,t,n,r,o,s,a)=>{const{B:c}=Eo(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",k=(_,I)=>P=>{const{Tt:E}=s(),O=nd(p)[y]-nd(d)[y],M=I*P/O*E[S],A=td(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Dr(p,"pointerdown",_=>{const I=Yl(_.target,`.${ty}`)===d,P=I?d:p;if(Xi(t,ws,MS,!0),SV(_,e,I)){const E=!I&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=(H,Y)=>(H||O())[w]-(Y||R())[w],T=k(o[m]||0,1/wV(o)[S]),A=_[v],$=O(),Q=R(),B=$[b],V=M($,Q)+B/2,q=A-Q[w],G=I?0:q-V,D=H=>{la(z),P.releasePointerCapture(H.pointerId)},z=[Xi.bind(0,t,ws,MS),Dr(n,KS,D),Dr(n,"selectstart",H=>T6(H),{S:!1}),Dr(p,KS,D),Dr(p,"pointermove",H=>{const Y=H[v]-A;(I||E)&&T(G+Y)})];if(E)T(G);else if(!I){const H=ll()[XW];H&&Mn(z,H.O(T,M,G,B,q))}P.setPointerCapture(_.pointerId)}})},_V=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Ul(333),m=!!a.scrollBy;let v=!0;return la.bind(0,[Dr(d,"pointerenter",()=>{r(AS,!0)}),Dr(d,"pointerleave pointercancel",()=>{r(AS)}),Dr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&Ta(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(zS,!0),p(()=>{v=!0,r(zS)}),T6(b)},{S:!1,$:!0}),CV(d,o),kV(e,s,o,n,a,t,c),h])},{min:r1,max:YS,abs:PV,round:jV}=Math,Y6=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return YS(0,r1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return YS(0,r1(1,s/a))},IV=(e,t,n,r,o,s)=>{const{B:a}=Eo(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=jV(p[c]),m=PV(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=r1(1,(v?b:m)/h),S=Y6(e,t,s);return 1/S*(1-S)*y},EV=(e,t,n)=>{const{N:r,L:o}=Eo(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},k=V6([d,p,h],()=>w&&b?d:p,a,S),_=(G,D,z)=>{const H=z?ka:Qb;_n(G,Y=>{H(Y.Xt,D)})},I=(G,D)=>{_n(G,z=>{const[H,Y]=D(z);ro(H,Y)})},P=(G,D,z)=>{I(G,H=>{const{Ft:Y,Gt:ie}=H;return[Y,{[z?"width":"height"]:`${(100*Y6(Y,ie,z,D)).toFixed(3)}%`}]})},E=(G,D,z)=>{const H=z?"X":"Y";I(G,Y=>{const{Ft:ie,Gt:ye,Xt:Z}=Y,se=IV(ie,ye,v,D,td(Z),z);return[ie,{transform:se===se?`translate${H}(${(100*se).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],T=(G,D,z)=>{const H=Vb(z),Y=H?z:!0,ie=H?!z:!0;Y&&_(R,G,D),ie&&_(M,G,D)},A=G=>{P(R,G,!0),P(M,G)},$=G=>{E(R,G,!0),E(M,G)},Q=G=>{const D=G?HW:WW,z=G?R:M,H=Gb(z)?TS:"",Y=Ji(`${Io} ${D} ${H}`),ie=Ji(H6),ye=Ji(ty),Z={Xt:Y,Gt:ie,Ft:ye};return o||ka(Y,LW),ts(Y,ie),ts(ie,ye),Mn(z,Z),Mn(O,[oa.bind(0,Y),n(Z,T,c,p,v,G)]),Z},B=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ts(k,R[0].Xt),ts(k,M[0].Xt),Jp(()=>{T(TS)},300)};return B(),V(),[{Ut:A,Wt:$,Zt:T,Jt:{Kt:R,Qt:B,tn:I.bind(0,R)},nn:{Kt:M,Qt:V,tn:I.bind(0,M)}},q,la.bind(0,O)]},OV=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=G6({}),[m]=h,[v,b]=Ul(),[w,y]=Ul(),[S,k]=Ul(100),[_,I]=Ul(100),[P,E]=Ul(()=>p),[O,R,M]=EV(e,n.qt,_V(t,n)),{Z:T,J:A,ot:$,st:Q,ut:B,it:V}=n.qt,{Jt:q,nn:G,Zt:D,Ut:z,Wt:H}=O,{tn:Y}=q,{tn:ie}=G,ye=ae=>{const{Xt:re}=ae,oe=B&&!V&&Ta(re)===A&&re;return[oe,{transform:oe?`translate(${_s($)}px, ${Ca($)}px)`:""}]},Z=(ae,re)=>{if(E(),ae)D($S);else{const oe=()=>D($S,!0);p>0&&!re?P(oe):oe()}},se=()=>{c=s,c&&Z(!0)},K=[k,E,I,y,b,M,Dr(T,"pointerover",se,{C:!0}),Dr(T,"pointerenter",se),Dr(T,"pointerleave",()=>{c=!1,s&&Z(!1)}),Dr(T,"pointermove",()=>{o&&v(()=>{k(),Z(!0),_(()=>{o&&Z(!1)})})}),Dr(Q,"scroll",ae=>{w(()=>{H(n()),a&&Z(!0),S(()=>{a&&!c&&Z(!1)})}),r(ae),B&&Y(ye),B&&ie(ye)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(ae,re,oe)=>{const{At:pe,Lt:ce,It:ge,yt:_e}=oe,{A:le}=Eo(),Se=t1(t,ae,re),Fe=n(),{Tt:Ae,Ct:He,bt:Ct}=Fe,[ct,on]=Se("showNativeOverlaidScrollbars"),[vt,bt]=Se("scrollbars.theme"),[we,Re]=Se("scrollbars.visibility"),[Pt,At]=Se("scrollbars.autoHide"),[xe]=Se("scrollbars.autoHideDelay"),[ht,$t]=Se("scrollbars.dragScroll"),[zt,Ne]=Se("scrollbars.clickScroll"),qe=pe||ce||_e,Pn=ge||Re,Pe=ct&&le.x&&le.y,Je=(Qe,dt)=>{const Lt=we==="visible"||we==="auto"&&Qe==="scroll";return D(VW,Lt,dt),Lt};if(p=xe,on&&D(BW,Pe),bt&&(D(d),D(vt,!0),d=vt),At&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",Z(!a,!0)),$t&&D(qW,ht),Ne&&D(GW,zt),Pn){const Qe=Je(He.x,!0),dt=Je(He.y,!1);D(UW,!(Qe&&dt))}qe&&(z(Fe),H(Fe),D(NS,!Ae.x,!0),D(NS,!Ae.y,!1),D(FW,Ct&&!V))},U,la.bind(0,K)]},Q6=(e,t,n)=>{Os(e)&&e(t||void 0,n||void 0)},ci=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Eo(),c=ll(),d=Qp(e),p=d?e:e.target,h=U6(p);if(t&&!h){let m=!1;const v=B=>{const V=ll()[YW],q=V&&V.O;return q?q(B,!0):B},b=pr({},r(),v(t)),[w,y,S]=Zb(n),[k,_,I]=xV(e,b),[P,E,O]=OV(e,b,_,B=>S("scroll",[Q,B])),R=(B,V)=>k(B,!!V),M=R.bind(0,{},!0),T=s(M),A=a(M),$=B=>{sV(p),T(),A(),O(),I(),m=!0,S("destroyed",[Q,!!B]),y()},Q={options(B,V){if(B){const q=V?r():{},G=A6(b,pr(q,v(B)));qb(G)||(pr(b,G),R(G))}return pr({},b)},on:w,off:(B,V)=>{B&&V&&y(B,V)},state(){const{zt:B,Tt:V,Ct:q,Et:G,K:D,St:z,bt:H}=_();return pr({},{overflowEdge:B,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:D,paddingAbsolute:z,directionRTL:H,destroyed:m})},elements(){const{W:B,Z:V,K:q,J:G,tt:D,ot:z,st:H}=_.qt,{Jt:Y,nn:ie}=E.qt,ye=se=>{const{Ft:K,Gt:U,Xt:ae}=se;return{scrollbar:ae,track:U,handle:K}},Z=se=>{const{Kt:K,Qt:U}=se,ae=ye(K[0]);return pr({},ae,{clone:()=>{const re=ye(U());return P({},!0,{}),re}})};return pr({},{target:B,host:V,padding:q||G,viewport:G,content:D||G,scrollOffsetElement:z,scrollEventElement:H,scrollbarHorizontal:Z(Y),scrollbarVertical:Z(ie)})},update:B=>R({},B),destroy:$.bind(0)};return _.jt((B,V,q)=>{P(V,q,B)}),oV(p,Q),_n(Bo(c),B=>Q6(c[B],0,Q)),rV(_.qt.it,o().cancel,!d&&e.cancel)?($(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((B,V,q)=>{const{gt:G,yt:D,vt:z,At:H,Lt:Y,It:ie,wt:ye,Ot:Z}=B;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:D,heightIntrinsicChanged:z,overflowEdgeChanged:H,overflowAmountChanged:Y,overflowStyleChanged:ie,contentMutation:ye,hostMutation:Z},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};ci.plugin=e=>{_n(KW(e),t=>Q6(t,ci))};ci.valid=e=>{const t=e&&e.elements,n=Os(t)&&t();return Qv(n)&&!!U6(n.target)};ci.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Eo();return pr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const RV=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},sy=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(RV,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,ci.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,ci.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(ci.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=ci(h,b,w);v?o(y,v):y()},()=>a.current],[])},MV=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=sy({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),F.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},F.createElement("div",{ref:h},a))},X6=f.forwardRef(MV);var J6={exports:{}},Z6={};const No=T1(_R),pu=T1(PR),DV=T1(jR);(function(e){var t,n,r=Rl&&Rl.__generator||function(X,ee){var he,ke,me,ut,st={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ft(0),throw:Ft(1),return:Ft(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ft(ft){return function(xt){return function(Be){if(he)throw new TypeError("Generator is already executing.");for(;st;)try{if(he=1,ke&&(me=2&Be[0]?ke.return:Be[0]?ke.throw||((me=ke.return)&&me.call(ke),0):ke.next)&&!(me=me.call(ke,Be[1])).done)return me;switch(ke=0,me&&(Be=[2&Be[0],me.value]),Be[0]){case 0:case 1:me=Be;break;case 4:return st.label++,{value:Be[1],done:!1};case 5:st.label++,ke=Be[1],Be=[0];continue;case 7:Be=st.ops.pop(),st.trys.pop();continue;default:if(!((me=(me=st.trys).length>0&&me[me.length-1])||Be[0]!==6&&Be[0]!==2)){st=0;continue}if(Be[0]===3&&(!me||Be[1]>me[0]&&Be[1]=200&&X.status<=299},Q=function(X){return/ion\/(vnd\.api\+)?json/.test(X.get("content-type")||"")};function B(X){if(!(0,T.isPlainObject)(X))return X;for(var ee=S({},X),he=0,ke=Object.entries(ee);he"u"&&st===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(Jt,Vt){return E(ee,null,function(){var $e,yt,Mt,Ht,jn,Ut,un,sn,Ir,Xn,It,In,On,Jn,hr,Tn,An,dn,Sn,En,vn,bn,Ke,Ot,St,at,wt,Bt,mt,ot,Ee,je,Me,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return $e=Vt.signal,yt=Vt.getState,Mt=Vt.extra,Ht=Vt.endpoint,jn=Vt.forced,Ut=Vt.type,Ir=(sn=typeof Jt=="string"?{url:Jt}:Jt).url,It=(Xn=sn.headers)===void 0?new Headers(Gt.headers):Xn,On=(In=sn.params)===void 0?void 0:In,hr=(Jn=sn.responseHandler)===void 0?Et??"json":Jn,An=(Tn=sn.validateStatus)===void 0?Nt??$:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=I(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),vn=S(k(S({},Gt),{signal:$e}),En),It=new Headers(B(It)),bn=vn,[4,me(It,{getState:yt,extra:Mt,endpoint:Ht,forced:jn,type:Ut})];case 1:bn.headers=Rt.sent()||It,Ke=function(Ve){return typeof Ve=="object"&&((0,T.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!vn.headers.has("content-type")&&Ke(vn.body)&&vn.headers.set("content-type",Ce),Ke(vn.body)&&xt(vn.headers)&&(vn.body=JSON.stringify(vn.body,Xe)),On&&(Ot=~Ir.indexOf("?")?"&":"?",St=Ft?Ft(On):new URLSearchParams(B(On)),Ir+=Ot+St),Ir=function(Ve,en){if(!Ve)return en;if(!en)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(en))return en;var yn=Ve.endsWith("/")||!en.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+yn+function(hn){return hn.replace(/^\//,"")}(en)}(he,Ir),at=new Request(Ir,vn),wt=at.clone(),un={request:wt},mt=!1,ot=Sn&&setTimeout(function(){mt=!0,Vt.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,st(at)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Ee=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:un}];case 5:return ot&&clearTimeout(ot),[7];case 6:je=Bt.clone(),un.response=je,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([Zt(Bt,hr).then(function(Ve){return Me=Ve},function(Ve){return Ze=Ve}),je.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),Ze)throw Ze;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,An(Bt,Me)?{data:Me,meta:un}:{error:{status:Bt.status,data:Me},meta:un}]}})})};function Zt(Jt,Vt){return E(this,null,function(){var $e;return r(this,function(yt){switch(yt.label){case 0:return typeof Vt=="function"?[2,Vt(Jt)]:(Vt==="content-type"&&(Vt=xt(Jt.headers)?"json":"text"),Vt!=="json"?[3,2]:[4,Jt.text()]);case 1:return[2,($e=yt.sent()).length?JSON.parse($e):null];case 2:return[2,Jt.text()]}})})}}var q=function(X,ee){ee===void 0&&(ee=void 0),this.value=X,this.meta=ee};function G(X,ee){return X===void 0&&(X=0),ee===void 0&&(ee=5),E(this,null,function(){var he,ke;return r(this,function(me){switch(me.label){case 0:return he=Math.min(X,ee),ke=~~((Math.random()+.4)*(300<=je)}var En=(0,He.createAsyncThunk)(On+"/executeQuery",dn,{getPendingMeta:function(){var Ke;return(Ke={startedTimeStamp:Date.now()})[He.SHOULD_AUTOBATCH]=!0,Ke},condition:function(Ke,Ot){var St,at,wt,Bt=(0,Ot.getState)(),mt=(at=(St=Bt[On])==null?void 0:St.queries)==null?void 0:at[Ke.queryCacheKey],ot=mt==null?void 0:mt.fulfilledTimeStamp,Ee=Ke.originalArgs,je=mt==null?void 0:mt.originalArgs,Me=hr[Ke.endpointName];return!(!Se(Ke)&&((mt==null?void 0:mt.status)==="pending"||!Sn(Ke,Bt)&&(!oe(Me)||!((wt=Me==null?void 0:Me.forceRefetch)!=null&&wt.call(Me,{currentArg:Ee,previousArg:je,endpointState:mt,state:Bt})))&&ot))},dispatchConditionRejection:!0}),vn=(0,He.createAsyncThunk)(On+"/executeMutation",dn,{getPendingMeta:function(){var Ke;return(Ke={startedTimeStamp:Date.now()})[He.SHOULD_AUTOBATCH]=!0,Ke}});function bn(Ke){return function(Ot){var St,at;return((at=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:at.endpointName)===Ke}}return{queryThunk:En,mutationThunk:vn,prefetch:function(Ke,Ot,St){return function(at,wt){var Bt=function(Me){return"force"in Me}(St)&&St.force,mt=function(Me){return"ifOlderThan"in Me}(St)&&St.ifOlderThan,ot=function(Me){return Me===void 0&&(Me=!0),An.endpoints[Ke].initiate(Ot,{forceRefetch:Me})},Ee=An.endpoints[Ke].select(Ot)(wt());if(Bt)at(ot());else if(mt){var je=Ee==null?void 0:Ee.fulfilledTimeStamp;if(!je)return void at(ot());(Number(new Date)-Number(new Date(je)))/1e3>=mt&&at(ot())}else at(ot(!1))}},updateQueryData:function(Ke,Ot,St){return function(at,wt){var Bt,mt,ot=An.endpoints[Ke].select(Ot)(wt()),Ee={patches:[],inversePatches:[],undo:function(){return at(An.util.patchQueryData(Ke,Ot,Ee.inversePatches))}};if(ot.status===t.uninitialized)return Ee;if("data"in ot)if((0,Ae.isDraftable)(ot.data)){var je=(0,Ae.produceWithPatches)(ot.data,St),Me=je[2];(Bt=Ee.patches).push.apply(Bt,je[1]),(mt=Ee.inversePatches).push.apply(mt,Me)}else{var We=St(ot.data);Ee.patches.push({op:"replace",path:[],value:We}),Ee.inversePatches.push({op:"replace",path:[],value:ot.data})}return at(An.util.patchQueryData(Ke,Ot,Ee.patches)),Ee}},upsertQueryData:function(Ke,Ot,St){return function(at){var wt;return at(An.endpoints[Ke].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[le]=function(){return{data:St}},wt)))}},patchQueryData:function(Ke,Ot,St){return function(at){at(An.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:hr[Ke],endpointName:Ke}),patches:St}))}},buildMatchThunkActions:function(Ke,Ot){return{matchPending:(0,Fe.isAllOf)((0,Fe.isPending)(Ke),bn(Ot)),matchFulfilled:(0,Fe.isAllOf)((0,Fe.isFulfilled)(Ke),bn(Ot)),matchRejected:(0,Fe.isAllOf)((0,Fe.isRejected)(Ke),bn(Ot))}}}}({baseQuery:ke,reducerPath:me,context:he,api:X,serializeQueryArgs:ut}),Xe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,Gt=Ce.upsertQueryData,Zt=Ce.prefetch,Jt=Ce.buildMatchThunkActions,Vt=function(It){var In=It.reducerPath,On=It.queryThunk,Jn=It.mutationThunk,hr=It.context,Tn=hr.endpointDefinitions,An=hr.apiUid,dn=hr.extractRehydrationInfo,Sn=hr.hasRehydrationInfo,En=It.assertTagType,vn=It.config,bn=(0,ge.createAction)(In+"/resetApiState"),Ke=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(ot,Ee){delete ot[Ee.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(ot,Ee){var je=Ee.payload,Me=je.patches;bt(ot,je.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,Me.concat())})}},extraReducers:function(ot){ot.addCase(On.pending,function(Ee,je){var Me,We=je.meta,Ze=je.meta.arg,Dt=Se(Ze);(Ze.subscribe||Dt)&&(Ee[Me=Ze.queryCacheKey]!=null||(Ee[Me]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Ee,Ze.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,Ze.originalArgs!==void 0&&(Rt.originalArgs=Ze.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(On.fulfilled,function(Ee,je){var Me=je.meta,We=je.payload;bt(Ee,Me.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===Me.requestId||Se(Me.arg)){var Rt=Tn[Me.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=Me.fulfilledTimeStamp,en=Me.arg,yn=Me.baseQueryMeta,hn=Me.requestId,mr=(0,ge.createNextState)(Ze.data,function(Yn){return Rt(Yn,We,{arg:en.originalArgs,baseQueryMeta:yn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=mr}else Ze.data=We;else Ze.data=(Dt=Tn[Me.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(Ze.data)?(0,vt.original)(Ze.data):Ze.data,We):We;delete Ze.error,Ze.fulfilledTimeStamp=Me.fulfilledTimeStamp}})}).addCase(On.rejected,function(Ee,je){var Me=je.meta,We=Me.condition,Ze=Me.requestId,Dt=je.error,Rt=je.payload;bt(Ee,Me.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Ee,je){for(var Me=dn(je).queries,We=0,Ze=Object.entries(Me);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},vn),reducers:{middlewareRegistered:function(ot,Ee){ot.middlewareRegistered=ot.middlewareRegistered!=="conflict"&&An===Ee.payload||"conflict"}},extraReducers:function(ot){ot.addCase(ye,function(Ee){Ee.online=!0}).addCase(Z,function(Ee){Ee.online=!1}).addCase(Y,function(Ee){Ee.focused=!0}).addCase(ie,function(Ee){Ee.focused=!1}).addMatcher(Sn,function(Ee){return S({},Ee)})}}),mt=(0,ge.combineReducers)({queries:Ke.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(ot,Ee){return mt(bn.match(Ee)?void 0:ot,Ee)},actions:k(S(S(S(S(S({},Bt.actions),Ke.actions),at.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:bn})}}({context:he,queryThunk:Xe,mutationThunk:jt,reducerPath:me,assertTagType:Be,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ft,keepUnusedDataFor:st,reducerPath:me}}),$e=Vt.reducer,yt=Vt.actions;Nr(X.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:Gt,prefetch:Zt,resetApiState:yt.resetApiState}),Nr(X.internalActions,yt);var Mt=function(It){var In=It.reducerPath,On=It.queryThunk,Jn=It.api,hr=It.context,Tn=hr.apiUid,An={invalidateTags:(0,lr.createAction)(In+"/invalidateTags")},dn=[Hr,pn,Fr,br,Wn,Ro];return{middleware:function(En){var vn=!1,bn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),Ke=dn.map(function(at){return at(bn)}),Ot=function(at){var wt=at.api,Bt=at.queryThunk,mt=at.internalState,ot=wt.reducerPath+"/subscriptions",Ee=null,je=!1,Me=wt.internalActions,We=Me.updateSubscriptionOptions,Ze=Me.unsubscribeQueryResult;return function(Dt,Rt){var Ve,en;if(Ee||(Ee=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Ee=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var yn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[yn.queryCacheKey])!=null&&Ve[yn.requestId])]}var hn=function(gn,Vn){var ao,fn,Nn,Vr,Er,Va,Vd,Mo,da;if(We.match(Vn)){var Ls=Vn.payload,fa=Ls.queryCacheKey,io=Ls.requestId;return(ao=gn==null?void 0:gn[fa])!=null&&ao[io]&&(gn[fa][io]=Ls.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[fa=lo.queryCacheKey]&&delete gn[fa][io],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var co=Vn.meta;if(io=co.requestId,(Xr=co.arg).subscribe)return(Ho=(Nn=gn[fn=Xr.queryCacheKey])!=null?Nn:gn[fn]={})[io]=(Er=(Vr=Xr.subscriptionOptions)!=null?Vr:Ho[io])!=null?Er:{},!0}if(Bt.rejected.match(Vn)){var Ho,Do=Vn.meta,Xr=Do.arg;if(io=Do.requestId,Do.condition&&Xr.subscribe)return(Ho=(Vd=gn[Va=Xr.queryCacheKey])!=null?Vd:gn[Va]={})[io]=(da=(Mo=Xr.subscriptionOptions)!=null?Mo:Ho[io])!=null?da:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){je||(fs(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Wr.produceWithPatches)(Ee,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Ee=gn,je=!1}),je=!0);var mr=!!((en=Dt.type)!=null&&en.startsWith(ot)),Yn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!mr&&!Yn,!1]}return[!0,!1]}}(bn),St=function(at){var wt=at.reducerPath,Bt=at.context,mt=at.refetchQuery,ot=at.internalState,Ee=at.api.internalActions.removeQueryResult;function je(Me,We){var Ze=Me.getState()[wt],Dt=Ze.queries,Rt=ot.currentSubscriptions;Bt.batch(function(){for(var Ve=0,en=Object.keys(Rt);Ve{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!xu(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(tt,{children:n}),i.jsxs(vb,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(xa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(xa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(xa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(xa,{children:"Node Editor"})]}),i.jsx(tt,{children:r})]})},ej=f.memo(TV),AV=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=be(),o=L(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=IR((t==null?void 0:t.board_id)??oo.skipToken),c=f.useMemo(()=>fe([Ye],_=>{const I=(s??[]).map(E=>ER(_,E));return{imageUsageSummary:{isInitialImage:xu(I,E=>E.isInitialImage),isCanvasImage:xu(I,E=>E.isCanvasImage),isNodesImage:xu(I,E=>E.isNodesImage),isControlNetImage:xu(I,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=OR(),[h,{isLoading:m}]=RR(),{imageUsageSummary:v}=L(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Pd,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsxs(Ra,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Da,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(gm,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(ej,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(tt,{children:"Deleted boards cannot be restored."}),i.jsx(tt,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Oa,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(rn,{ref:S,onClick:y,children:"Cancel"}),i.jsx(rn,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(rn,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},NV=f.memo(AV),tj=Te((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(wn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(Sa,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});tj.displayName="IAIIconButton";const Le=f.memo(tj),$V="My Board",zV=()=>{const[e,{isLoading:t}]=MR(),n=f.useCallback(()=>{e($V)},[e]);return i.jsx(Le,{icon:i.jsx(ml,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var nj=md({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),ay=md({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),LV=md({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),BV=md({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),FV=md({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const HV=fe([Ye],({boards:e})=>{const{searchText:t}=e;return{searchText:t}},Ge),WV=()=>{const e=te(),{searchText:t}=L(HV),n=f.useRef(null),r=f.useCallback(c=>{e(O2(c))},[e]),o=f.useCallback(()=>{e(O2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(LP,{children:[i.jsx(yd,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(hb,{children:i.jsx(Sa,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(LV,{boxSize:2})})})]})},VV=f.memo(WV),UV=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(ui()),{colorMode:o}=Ds();return i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:ze("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?ze("base.50","base.50")(o):ze("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(tt,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?ze("base.50","base.50")(o):ze("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},nh=f.memo(UV),GV=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(ui()),{isOver:s,setNodeRef:a,active:c}=A1({id:o.current,disabled:r,data:n});return i.jsx(Oe,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(Fo,{children:Ep(n,c)&&i.jsx(nh,{isOver:s,label:t})})})},iy=f.memo(GV),ly=({isSelected:e,isHovered:t})=>i.jsx(Oe,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),rj=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(pl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Nu=globalThis&&globalThis.__assign||function(){return Nu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=Zh(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},qV=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(kr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClick:n,children:"Delete Board"})]})},KV=f.memo(qV),YV=()=>i.jsx(i.Fragment,{}),QV=f.memo(YV),cy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>fe(Ye,({gallery:h})=>({isAutoAdd:h.autoAddBoardId===t})),[t]),{isAutoAdd:a}=L(s),c=Rm(t),d=f.useCallback(()=>{o(O_(t))},[t,o]),p=f.useCallback(h=>{h.preventDefault()},[]);return i.jsx(oj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(zc,{sx:{visibility:"visible !important"},motionProps:nm,onContextMenu:p,children:i.jsxs(Qu,{title:c,children:[i.jsx(kr,{icon:i.jsx(ml,{}),isDisabled:a,onClick:d,children:"Auto-add to this Board"}),!e&&i.jsx(QV,{}),e&&i.jsx(KV,{board:e,setBoardToDelete:n})]})}),children:r})});cy.displayName="HoverableBoard";const sj=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>fe(Ye,({gallery:E})=>({isSelectedForAutoAdd:e.board_id===E.autoAddBoardId}),Ge),[e.board_id]),{isSelectedForAutoAdd:s}=L(o),[a,c]=f.useState(!1),d=f.useCallback(()=>{c(!0)},[]),p=f.useCallback(()=>{c(!1)},[]),{currentData:h}=os(e.cover_image_name??oo.skipToken),{board_name:m,board_id:v}=e,[b,w]=f.useState(m),y=f.useCallback(()=>{r(R_(v))},[v,r]),[S,{isLoading:k}]=DR(),_=f.useMemo(()=>({id:v,actionType:"MOVE_BOARD",context:{boardId:v}}),[v]),I=f.useCallback(async E=>{if(!E.trim()){w(m);return}if(E!==m)try{const{board_name:O}=await S({board_id:v,changes:{board_name:E}}).unwrap();w(O)}catch{w(m)}},[v,m,S]),P=f.useCallback(E=>{w(E)},[]);return i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:d,onMouseOut:p,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(cy,{board:e,board_id:v,setBoardToDelete:n,children:E=>i.jsxs(W,{ref:E,onClick:y,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[h!=null&&h.thumbnail_url?i.jsx(Tc,{src:h==null?void 0:h.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Kr,{boxSize:12,as:fW,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(rj,{}),i.jsx(ly,{isSelected:t,isHovered:a}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(J3,{value:b,isDisabled:k,submitOnBlur:!0,onChange:P,onSubmit:I,sx:{w:"full"},children:[i.jsx(Y3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(K3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(iy,{data:_,dropLabel:i.jsx(tt,{fontSize:"md",children:"Move"})})]})})})})});sj.displayName="HoverableBoard";const XV=fe(Ye,({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),aj=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n}=L(XV),r=Rm(void 0),o=f.useCallback(()=>{t(R_(void 0))},[t]),[s,a]=f.useState(!1),c=f.useCallback(()=>{a(!0)},[]),d=f.useCallback(()=>{a(!1)},[]),p=f.useMemo(()=>({id:"no_board",actionType:"MOVE_BOARD",context:{boardId:void 0}}),[]);return i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:c,onMouseOut:d,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(cy,{children:h=>i.jsxs(W,{ref:h,onClick:o,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Tc,{src:M_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),!n&&i.jsx(rj,{}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:r}),i.jsx(ly,{isSelected:e,isHovered:s}),i.jsx(iy,{data:p,dropLabel:i.jsx(tt,{fontSize:"md",children:"Move"})})]})})})})});aj.displayName="HoverableBoard";const JV=fe([Ye],({boards:e,gallery:t})=>{const{searchText:n}=e,{selectedBoardId:r}=t;return{selectedBoardId:r,searchText:n}},Ge),ZV=e=>{const{isOpen:t}=e,{selectedBoardId:n,searchText:r}=L(JV),{data:o}=Zh(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(sm,{in:t,animateOpacity:!0,children:i.jsxs(W,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(VV,{}),i.jsx(zV,{})]}),i.jsx(X6,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(rl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Tv,{sx:{p:1.5},children:i.jsx(aj,{isSelected:n===void 0})}),s&&s.map(d=>i.jsx(Tv,{sx:{p:1.5},children:i.jsx(sj,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(NV,{boardToDelete:a,setBoardToDelete:c})]})},eU=f.memo(ZV),tU=fe([Ye],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ge),nU=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=L(tU),o=Rm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:gc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(tt,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(ay,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},rU=f.memo(nU);function ij(e){return rt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function lj(e){return rt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const oU=fe([Ye],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ge),sU=()=>{const e=te(),{t}=be(),{shouldPinGallery:n}=L(oU),r=()=>{e(D_()),e(So())};return i.jsx(Le,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(ij,{}):i.jsx(lj,{})})},aU=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Tb,{isLazy:o,...s,children:[i.jsx(Db,{children:t}),i.jsxs(Ab,{shadow:"dark-lg",children:[r&&i.jsx(y5,{}),n]})]})},gl=f.memo(aU),iU=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(H3,{colorScheme:"accent",...n,children:i.jsx(tt,{sx:{fontSize:"sm",color:ze("base.800","base.200")(r)},children:t})})},Gn=f.memo(iU);function lU(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const cU=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:I,sliderFormControlProps:P,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:T,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:$,sliderTooltipProps:Q,sliderIAIIconButtonProps:B,...V}=e,q=te(),{t:G}=be(),[D,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const H=f.useMemo(()=>T!=null&&T.min?T.min:s,[s,T==null?void 0:T.min]),Y=f.useMemo(()=>T!=null&&T.max?T.max:a,[a,T==null?void 0:T.max]),ie=f.useCallback(re=>{d(re)},[d]),ye=f.useCallback(re=>{re.target.value===""&&(re.target.value=String(H));const oe=Es(v?Math.floor(Number(re.target.value)):Number(D),H,Y),pe=wu(oe,c);d(pe),z(pe)},[v,D,H,Y,d,c]),Z=f.useCallback(re=>{z(re)},[]),se=f.useCallback(()=>{I&&I()},[I]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(_o(!0))},[q]),ae=f.useCallback(re=>{re.shiftKey||q(_o(!1))},[q]);return i.jsxs(ho,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...P,children:[r&&i.jsx(zo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(di,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs($5,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ie,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(Vl,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(Vl,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(Vl,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(Vl,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(Vl,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(L5,{...R,children:i.jsx(B5,{})}),i.jsx(wn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(z5,{...M,zIndex:0})})]}),m&&i.jsxs(dm,{min:H,max:Y,step:c,value:D,onChange:Z,onBlur:ye,focusInputOnChange:!1,...T,children:[i.jsx(pm,{onKeyDown:U,onKeyUp:ae,minWidth:b,...A}),i.jsxs(fm,{...$,children:[i.jsx(mm,{onClick:()=>d(Number(D))}),i.jsx(hm,{onClick:()=>d(Number(D))})]})]}),w&&i.jsx(Le,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(lU,{}),isDisabled:k,onClick:se,...B})]})]})},_t=f.memo(cU);function uU(e){const t=f.createContext(null);return[({children:o,value:s})=>F.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function cj(e){return Array.isArray(e)?e:[e]}const dU=()=>{};function fU(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||dU:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function uj({data:e}){const t=[],n=[],r=e.reduce((o,s,a)=>(s.group?o[s.group]?o[s.group].push(a):o[s.group]=[a]:n.push(a),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function dj(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==F.Fragment:!1}function fj(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const mU=TR({key:"mantine",prepend:!0});function gU(){return k3()||mU}var vU=Object.defineProperty,QS=Object.getOwnPropertySymbols,bU=Object.prototype.hasOwnProperty,yU=Object.prototype.propertyIsEnumerable,XS=(e,t,n)=>t in e?vU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xU=(e,t)=>{for(var n in t||(t={}))bU.call(t,n)&&XS(e,n,t[n]);if(QS)for(var n of QS(t))yU.call(t,n)&&XS(e,n,t[n]);return e};const W0="ref";function wU(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(W0 in n))return{args:e,ref:t};t=n[W0];const r=xU({},n);return delete r[W0],{args:[r],ref:t}}const{cssFactory:SU}=(()=>{function e(n,r,o){const s=[],a=$R(n,s,o);return s.length<2?o:a+r(s)}function t(n){const{cache:r}=n,o=(...a)=>{const{ref:c,args:d}=wU(a),p=AR(d,r.registered);return NR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,pj(a))}}return{cssFactory:t}})();function hj(){const e=gU();return hU(()=>SU({cache:e}),[e])}function CU({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const a=n.reduce((c,d)=>(Object.keys(d.classNames).forEach(p=>{typeof c[p]!="string"?c[p]=`${d.classNames[p]}`:c[p]=`${c[p]} ${d.classNames[p]}`}),c),{});return Object.keys(t).reduce((c,d)=>(c[d]=e(t[d],a[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),c),{})}var kU=Object.defineProperty,JS=Object.getOwnPropertySymbols,_U=Object.prototype.hasOwnProperty,PU=Object.prototype.propertyIsEnumerable,ZS=(e,t,n)=>t in e?kU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V0=(e,t)=>{for(var n in t||(t={}))_U.call(t,n)&&ZS(e,n,t[n]);if(JS)for(var n of JS(t))PU.call(t,n)&&ZS(e,n,t[n]);return e};function o1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=V0(V0({},e[n]),t[n]):e[n]=V0({},t[n])}),e}function eC(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,a)=>o1(s,a),{}):o(e)}function jU({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&o1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&o1(s,a.sizes[o](t,n,{variant:r,size:o})),s),{})}function so(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=Fa(),a=DD(o==null?void 0:o.name),c=k3(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=hj(),m=t(s,r,d),v=eC(o==null?void 0:o.styles,s,r,d),b=eC(a,s,r,d),w=jU({ctx:a,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),y=Object.fromEntries(Object.keys(m).map(S=>{const k=h({[p(m[S])]:!(o!=null&&o.unstyled)},p(w[S]),p(b[S]),p(v[S]));return[S,k]}));return{classes:CU({cx:h,classes:y,context:a,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function tC(e){return`___ref-${e||""}`}var IU=Object.defineProperty,EU=Object.defineProperties,OU=Object.getOwnPropertyDescriptors,nC=Object.getOwnPropertySymbols,RU=Object.prototype.hasOwnProperty,MU=Object.prototype.propertyIsEnumerable,rC=(e,t,n)=>t in e?IU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hu=(e,t)=>{for(var n in t||(t={}))RU.call(t,n)&&rC(e,n,t[n]);if(nC)for(var n of nC(t))MU.call(t,n)&&rC(e,n,t[n]);return e},mu=(e,t)=>EU(e,OU(t));const gu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Jf={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:mu(hu({},gu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":mu(hu({},gu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":mu(hu({},gu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":mu(hu({},gu),{common:{transformOrigin:"top left"}}),"pop-top-right":mu(hu({},gu),{common:{transformOrigin:"top right"}})},oC=["mousedown","touchstart"];function DU(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:a}=s??{};if(Array.isArray(n)){const c=(a==null?void 0:a.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(a)&&a.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!c&&e()}else r.current&&!r.current.contains(a)&&e()};return(t||oC).forEach(s=>document.addEventListener(s,o)),()=>{(t||oC).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function TU(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function AU(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function NU(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:AU(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),TU(s.current,a=>o(a.matches))},[e]),r}const mj=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ps(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function $U({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return Ps(()=>{let o=-1;const s=a=>{a.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const zU=/input|select|textarea|button|object/,gj="a, input, select, textarea, button, object, [tabindex]";function LU(e){return e.style.display==="none"}function BU(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(LU(n))return!1;n=n.parentNode}return!0}function vj(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function s1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(vj(e));return(zU.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&BU(e)}function bj(e){const t=vj(e);return(Number.isNaN(t)||t>=0)&&s1(e)}function FU(e){return Array.from(e.querySelectorAll(gj)).filter(bj)}function HU(e,t){const n=FU(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const a=n[t.shiftKey?n.length-1:0];a&&a.focus()}function dy(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function WU(e,t="body > :not(script)"){const n=dy(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const a=o.getAttribute("aria-hidden"),c=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),a===null||a==="false"?o.setAttribute("aria-hidden","true"):!c&&!d&&o.setAttribute("data-hidden",a),{node:o,ariaHidden:c||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function VU(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let a=s.querySelector("[data-autofocus]");if(!a){const c=Array.from(s.querySelectorAll(gj));a=c.find(bj)||c.find(s1)||null,!a&&s1(s)&&(a=s)}a&&a.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=WU(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=a=>{a.key==="Tab"&&t.current&&HU(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const UU=F["useId".toString()]||(()=>{});function GU(){const e=UU();return e?`mantine-${e.replace(/:/g,"")}`:""}function fy(e){const t=GU(),[n,r]=f.useState(t);return mj(()=>{r(dy())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function sC(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function yj(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function qU(...e){return t=>{e.forEach(n=>yj(n,t))}}function Ad(...e){return f.useCallback(qU(...e),e)}function rd({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),a=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,a,!1]}function xj(e,t){return NU("(prefers-reduced-motion: reduce)",e,t)}const KU=e=>e<.5?2*e*e:-1+(4-2*e)*e,YU=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const a=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=m=>p[m]-d[m];if(e==="y"){const m=h("top");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.height*(s?0:1)||!s?b:0}const v=a?d.height:window.innerHeight;if(r==="end"){const b=m+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?m-v/2+p.height/2:0}if(e==="x"){const m=h("left");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.width||!s?b:0}const v=a?d.width:window.innerWidth;if(r==="end"){const b=m+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?m-v/2+p.width/2:0}return 0},QU=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},XU=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function wj({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=KU,offset:o=0,cancelable:s=!0,isList:a=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=xj(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=QU({parent:h.current,axis:t}))!=null?k:0,I=YU({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:_);function P(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+I*r(R);XU({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(P):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}P()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return sC("wheel",y,{passive:!0}),sC("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var aC=Object.getOwnPropertySymbols,JU=Object.prototype.hasOwnProperty,ZU=Object.prototype.propertyIsEnumerable,eG=(e,t)=>{var n={};for(var r in e)JU.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&aC)for(var r of aC(e))t.indexOf(r)<0&&ZU.call(e,r)&&(n[r]=e[r]);return n};function Mm(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:I,fz:P,fw:E,lts:O,ta:R,lh:M,fs:T,tt:A,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:z,bgp:H,bgr:Y,bga:ie,pos:ye,top:Z,left:se,bottom:K,right:U,inset:ae,display:re}=t,oe=eG(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:TD({m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:I,fz:P,fw:E,lts:O,ta:R,lh:M,fs:T,tt:A,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:z,bgp:H,bgr:Y,bga:ie,pos:ye,top:Z,left:se,bottom:K,right:U,inset:ae,display:re}),rest:oe}}function tG(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>hw(Wt({size:r,sizes:t.breakpoints}))-hw(Wt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function nG({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return tG(e,t).reduce((a,c)=>{if(c==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{a[h]=p}),a):(a[r]=p,a)}const d=n(e[c],t);return Array.isArray(r)?(a[t.fn.largerThan(c)]={},r.forEach(p=>{a[t.fn.largerThan(c)][p]=d}),a):(a[t.fn.largerThan(c)]={[r]:d},a)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,a)=>(s[a]=o,s),{}):{[r]:o}}function rG(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function oG(e){return Ue(e)}function sG(e){return e}function aG(e,t){return Wt({size:e,sizes:t.fontSizes})}const iG=["-xs","-sm","-md","-lg","-xl"];function lG(e,t){return iG.includes(e)?`calc(${Wt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Wt({size:e,sizes:t.spacing})}const cG={identity:sG,color:rG,size:oG,fontSize:aG,spacing:lG},uG={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var dG=Object.defineProperty,iC=Object.getOwnPropertySymbols,fG=Object.prototype.hasOwnProperty,pG=Object.prototype.propertyIsEnumerable,lC=(e,t,n)=>t in e?dG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cC=(e,t)=>{for(var n in t||(t={}))fG.call(t,n)&&lC(e,n,t[n]);if(iC)for(var n of iC(t))pG.call(t,n)&&lC(e,n,t[n]);return e};function uC(e,t,n=uG){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(nG({value:e[s],getValue:cG[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(a=>{typeof s[a]=="object"&&s[a]!==null&&a in o?o[a]=cC(cC({},o[a]),s[a]):o[a]=s[a]}),o),{})}function dC(e,t){return typeof e=="function"?e(t):e}function hG(e,t,n){const r=Fa(),{css:o,cx:s}=hj();return Array.isArray(e)?s(n,o(uC(t,r)),e.map(a=>o(dC(a,r)))):s(n,o(dC(e,r)),o(uC(t,r)))}var mG=Object.defineProperty,rh=Object.getOwnPropertySymbols,Sj=Object.prototype.hasOwnProperty,Cj=Object.prototype.propertyIsEnumerable,fC=(e,t,n)=>t in e?mG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gG=(e,t)=>{for(var n in t||(t={}))Sj.call(t,n)&&fC(e,n,t[n]);if(rh)for(var n of rh(t))Cj.call(t,n)&&fC(e,n,t[n]);return e},vG=(e,t)=>{var n={};for(var r in e)Sj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&rh)for(var r of rh(e))t.indexOf(r)<0&&Cj.call(e,r)&&(n[r]=e[r]);return n};const kj=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=vG(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=Mm(c),h=o||"div";return F.createElement(h,gG({ref:t,className:hG(a,d,r),style:s},p))});kj.displayName="@mantine/core/Box";const Po=kj;var bG=Object.defineProperty,yG=Object.defineProperties,xG=Object.getOwnPropertyDescriptors,pC=Object.getOwnPropertySymbols,wG=Object.prototype.hasOwnProperty,SG=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?bG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t)=>{for(var n in t||(t={}))wG.call(t,n)&&hC(e,n,t[n]);if(pC)for(var n of pC(t))SG.call(t,n)&&hC(e,n,t[n]);return e},CG=(e,t)=>yG(e,xG(t)),kG=so(e=>({root:CG(mC(mC({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const _G=kG;var PG=Object.defineProperty,oh=Object.getOwnPropertySymbols,_j=Object.prototype.hasOwnProperty,Pj=Object.prototype.propertyIsEnumerable,gC=(e,t,n)=>t in e?PG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jG=(e,t)=>{for(var n in t||(t={}))_j.call(t,n)&&gC(e,n,t[n]);if(oh)for(var n of oh(t))Pj.call(t,n)&&gC(e,n,t[n]);return e},IG=(e,t)=>{var n={};for(var r in e)_j.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&oh)for(var r of oh(e))t.indexOf(r)<0&&Pj.call(e,r)&&(n[r]=e[r]);return n};const jj=f.forwardRef((e,t)=>{const n=wr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=IG(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=_G(null,{name:"UnstyledButton",unstyled:s,variant:a});return F.createElement(Po,jG({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});jj.displayName="@mantine/core/UnstyledButton";const EG=jj;var OG=Object.defineProperty,RG=Object.defineProperties,MG=Object.getOwnPropertyDescriptors,vC=Object.getOwnPropertySymbols,DG=Object.prototype.hasOwnProperty,TG=Object.prototype.propertyIsEnumerable,bC=(e,t,n)=>t in e?OG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,a1=(e,t)=>{for(var n in t||(t={}))DG.call(t,n)&&bC(e,n,t[n]);if(vC)for(var n of vC(t))TG.call(t,n)&&bC(e,n,t[n]);return e},yC=(e,t)=>RG(e,MG(t));const AG=["subtle","filled","outline","light","default","transparent","gradient"],Zf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function NG({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:AG.includes(e)?a1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var $G=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:yC(a1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Wt({size:s,sizes:Zf}),minHeight:Wt({size:s,sizes:Zf}),width:Wt({size:s,sizes:Zf}),minWidth:Wt({size:s,sizes:Zf})},NG({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":yC(a1({content:'""'},e.fn.cover(Ue(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const zG=$G;var LG=Object.defineProperty,sh=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?LG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wC=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&xC(e,n,t[n]);if(sh)for(var n of sh(t))Ej.call(t,n)&&xC(e,n,t[n]);return e},SC=(e,t)=>{var n={};for(var r in e)Ij.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&sh)for(var r of sh(e))t.indexOf(r)<0&&Ej.call(e,r)&&(n[r]=e[r]);return n};function BG(e){var t=e,{size:n,color:r}=t,o=SC(t,["size","color"]);const s=o,{style:a}=s,c=SC(s,["style"]);return F.createElement("svg",wC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:wC({width:n},a)},c),F.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var FG=Object.defineProperty,ah=Object.getOwnPropertySymbols,Oj=Object.prototype.hasOwnProperty,Rj=Object.prototype.propertyIsEnumerable,CC=(e,t,n)=>t in e?FG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kC=(e,t)=>{for(var n in t||(t={}))Oj.call(t,n)&&CC(e,n,t[n]);if(ah)for(var n of ah(t))Rj.call(t,n)&&CC(e,n,t[n]);return e},_C=(e,t)=>{var n={};for(var r in e)Oj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ah)for(var r of ah(e))t.indexOf(r)<0&&Rj.call(e,r)&&(n[r]=e[r]);return n};function HG(e){var t=e,{size:n,color:r}=t,o=_C(t,["size","color"]);const s=o,{style:a}=s,c=_C(s,["style"]);return F.createElement("svg",kC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:kC({width:n,height:n},a)},c),F.createElement("g",{fill:"none",fillRule:"evenodd"},F.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},F.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),F.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},F.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var WG=Object.defineProperty,ih=Object.getOwnPropertySymbols,Mj=Object.prototype.hasOwnProperty,Dj=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?WG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jC=(e,t)=>{for(var n in t||(t={}))Mj.call(t,n)&&PC(e,n,t[n]);if(ih)for(var n of ih(t))Dj.call(t,n)&&PC(e,n,t[n]);return e},IC=(e,t)=>{var n={};for(var r in e)Mj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ih)for(var r of ih(e))t.indexOf(r)<0&&Dj.call(e,r)&&(n[r]=e[r]);return n};function VG(e){var t=e,{size:n,color:r}=t,o=IC(t,["size","color"]);const s=o,{style:a}=s,c=IC(s,["style"]);return F.createElement("svg",jC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:jC({width:n},a)},c),F.createElement("circle",{cx:"15",cy:"15",r:"15"},F.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},F.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("circle",{cx:"105",cy:"15",r:"15"},F.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var UG=Object.defineProperty,lh=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Aj=Object.prototype.propertyIsEnumerable,EC=(e,t,n)=>t in e?UG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GG=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&EC(e,n,t[n]);if(lh)for(var n of lh(t))Aj.call(t,n)&&EC(e,n,t[n]);return e},qG=(e,t)=>{var n={};for(var r in e)Tj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lh)for(var r of lh(e))t.indexOf(r)<0&&Aj.call(e,r)&&(n[r]=e[r]);return n};const U0={bars:BG,oval:HG,dots:VG},KG={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},YG={size:"md"};function Nj(e){const t=wr("Loader",YG,e),{size:n,color:r,variant:o}=t,s=qG(t,["size","color","variant"]),a=Fa(),c=o in U0?o:a.loader;return F.createElement(Po,GG({role:"presentation",component:U0[c]||U0.bars,size:Wt({size:n,sizes:KG}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}Nj.displayName="@mantine/core/Loader";var QG=Object.defineProperty,ch=Object.getOwnPropertySymbols,$j=Object.prototype.hasOwnProperty,zj=Object.prototype.propertyIsEnumerable,OC=(e,t,n)=>t in e?QG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RC=(e,t)=>{for(var n in t||(t={}))$j.call(t,n)&&OC(e,n,t[n]);if(ch)for(var n of ch(t))zj.call(t,n)&&OC(e,n,t[n]);return e},XG=(e,t)=>{var n={};for(var r in e)$j.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ch)for(var r of ch(e))t.indexOf(r)<0&&zj.call(e,r)&&(n[r]=e[r]);return n};const JG={color:"gray",size:"md",variant:"subtle"},Lj=f.forwardRef((e,t)=>{const n=wr("ActionIcon",JG,e),{className:r,color:o,children:s,radius:a,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=XG(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=zG({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),I=F.createElement(Nj,RC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return F.createElement(EG,RC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?I:s)});Lj.displayName="@mantine/core/ActionIcon";const ZG=Lj;var eq=Object.defineProperty,tq=Object.defineProperties,nq=Object.getOwnPropertyDescriptors,uh=Object.getOwnPropertySymbols,Bj=Object.prototype.hasOwnProperty,Fj=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rq=(e,t)=>{for(var n in t||(t={}))Bj.call(t,n)&&MC(e,n,t[n]);if(uh)for(var n of uh(t))Fj.call(t,n)&&MC(e,n,t[n]);return e},oq=(e,t)=>tq(e,nq(t)),sq=(e,t)=>{var n={};for(var r in e)Bj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uh)for(var r of uh(e))t.indexOf(r)<0&&Fj.call(e,r)&&(n[r]=e[r]);return n};function Hj(e){const t=wr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=sq(t,["children","target","className","innerRef"]),c=Fa(),[d,p]=f.useState(!1),h=f.useRef();return mj(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?_i.createPortal(F.createElement("div",oq(rq({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}Hj.displayName="@mantine/core/Portal";var aq=Object.defineProperty,dh=Object.getOwnPropertySymbols,Wj=Object.prototype.hasOwnProperty,Vj=Object.prototype.propertyIsEnumerable,DC=(e,t,n)=>t in e?aq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iq=(e,t)=>{for(var n in t||(t={}))Wj.call(t,n)&&DC(e,n,t[n]);if(dh)for(var n of dh(t))Vj.call(t,n)&&DC(e,n,t[n]);return e},lq=(e,t)=>{var n={};for(var r in e)Wj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&dh)for(var r of dh(e))t.indexOf(r)<0&&Vj.call(e,r)&&(n[r]=e[r]);return n};function Uj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=lq(t,["withinPortal","children"]);return n?F.createElement(Hj,iq({},o),r):F.createElement(F.Fragment,null,r)}Uj.displayName="@mantine/core/OptionalPortal";var cq=Object.defineProperty,fh=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,TC=(e,t,n)=>t in e?cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AC=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&TC(e,n,t[n]);if(fh)for(var n of fh(t))qj.call(t,n)&&TC(e,n,t[n]);return e},uq=(e,t)=>{var n={};for(var r in e)Gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fh)for(var r of fh(e))t.indexOf(r)<0&&qj.call(e,r)&&(n[r]=e[r]);return n};function Kj(e){const t=e,{width:n,height:r,style:o}=t,s=uq(t,["width","height","style"]);return F.createElement("svg",AC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:AC({width:n,height:r},o)},s),F.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}Kj.displayName="@mantine/core/CloseIcon";var dq=Object.defineProperty,ph=Object.getOwnPropertySymbols,Yj=Object.prototype.hasOwnProperty,Qj=Object.prototype.propertyIsEnumerable,NC=(e,t,n)=>t in e?dq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fq=(e,t)=>{for(var n in t||(t={}))Yj.call(t,n)&&NC(e,n,t[n]);if(ph)for(var n of ph(t))Qj.call(t,n)&&NC(e,n,t[n]);return e},pq=(e,t)=>{var n={};for(var r in e)Yj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ph)for(var r of ph(e))t.indexOf(r)<0&&Qj.call(e,r)&&(n[r]=e[r]);return n};const hq={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},mq={size:"sm"},Xj=f.forwardRef((e,t)=>{const n=wr("CloseButton",mq,e),{iconSize:r,size:o,children:s}=n,a=pq(n,["iconSize","size","children"]),c=Ue(r||hq[o]);return F.createElement(ZG,fq({ref:t,__staticSelector:"CloseButton",size:o},a),s||F.createElement(Kj,{width:c,height:c}))});Xj.displayName="@mantine/core/CloseButton";const Jj=Xj;var gq=Object.defineProperty,vq=Object.defineProperties,bq=Object.getOwnPropertyDescriptors,$C=Object.getOwnPropertySymbols,yq=Object.prototype.hasOwnProperty,xq=Object.prototype.propertyIsEnumerable,zC=(e,t,n)=>t in e?gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ep=(e,t)=>{for(var n in t||(t={}))yq.call(t,n)&&zC(e,n,t[n]);if($C)for(var n of $C(t))xq.call(t,n)&&zC(e,n,t[n]);return e},wq=(e,t)=>vq(e,bq(t));function Sq({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function Cq({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function kq(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function _q({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var Pq=so((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:a,gradient:c,weight:d,transform:p,align:h,strikethrough:m,italic:v},{size:b})=>{const w=e.fn.variant({variant:"gradient",gradient:c});return{root:wq(ep(ep(ep(ep({},e.fn.fontStyles()),e.fn.focusStyles()),kq(n)),_q({theme:e,truncate:r})),{color:Cq({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Wt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:Sq({underline:a,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:w.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const jq=Pq;var Iq=Object.defineProperty,hh=Object.getOwnPropertySymbols,Zj=Object.prototype.hasOwnProperty,eI=Object.prototype.propertyIsEnumerable,LC=(e,t,n)=>t in e?Iq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eq=(e,t)=>{for(var n in t||(t={}))Zj.call(t,n)&&LC(e,n,t[n]);if(hh)for(var n of hh(t))eI.call(t,n)&&LC(e,n,t[n]);return e},Oq=(e,t)=>{var n={};for(var r in e)Zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hh)for(var r of hh(e))t.indexOf(r)<0&&eI.call(e,r)&&(n[r]=e[r]);return n};const Rq={variant:"text"},tI=f.forwardRef((e,t)=>{const n=wr("Text",Rq,e),{className:r,size:o,weight:s,transform:a,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,classNames:_,styles:I,unstyled:P,span:E,__staticSelector:O}=n,R=Oq(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:T}=jq({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,weight:s,transform:a,align:d,gradient:v},{unstyled:P,name:O||"Text",variant:p,size:o});return F.createElement(Po,Eq({ref:t,className:T(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});tI.displayName="@mantine/core/Text";const Sc=tI,tp={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function np(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var Mq=so((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:Ue(1),borderTop:`${Wt({size:n,sizes:tp})} ${r} ${np(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Wt({size:n,sizes:tp})} ${r} ${np(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:Ue(Wt({size:n,sizes:tp})),borderTopColor:np(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Wt({size:n,sizes:tp})),borderLeftColor:np(e,t),borderLeftStyle:r}}));const Dq=Mq;var Tq=Object.defineProperty,Aq=Object.defineProperties,Nq=Object.getOwnPropertyDescriptors,mh=Object.getOwnPropertySymbols,nI=Object.prototype.hasOwnProperty,rI=Object.prototype.propertyIsEnumerable,BC=(e,t,n)=>t in e?Tq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FC=(e,t)=>{for(var n in t||(t={}))nI.call(t,n)&&BC(e,n,t[n]);if(mh)for(var n of mh(t))rI.call(t,n)&&BC(e,n,t[n]);return e},$q=(e,t)=>Aq(e,Nq(t)),zq=(e,t)=>{var n={};for(var r in e)nI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&mh)for(var r of mh(e))t.indexOf(r)<0&&rI.call(e,r)&&(n[r]=e[r]);return n};const Lq={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},i1=f.forwardRef((e,t)=>{const n=wr("Divider",Lq,e),{className:r,color:o,orientation:s,size:a,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=zq(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=Dq({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),k=s==="vertical",_=s==="horizontal",I=!!c&&_,P=!(p!=null&&p.color);return F.createElement(Po,FC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:I},r),role:"separator"},w),I&&F.createElement(Sc,$q(FC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:P})}),c))});i1.displayName="@mantine/core/Divider";var Bq=Object.defineProperty,Fq=Object.defineProperties,Hq=Object.getOwnPropertyDescriptors,HC=Object.getOwnPropertySymbols,Wq=Object.prototype.hasOwnProperty,Vq=Object.prototype.propertyIsEnumerable,WC=(e,t,n)=>t in e?Bq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VC=(e,t)=>{for(var n in t||(t={}))Wq.call(t,n)&&WC(e,n,t[n]);if(HC)for(var n of HC(t))Vq.call(t,n)&&WC(e,n,t[n]);return e},Uq=(e,t)=>Fq(e,Hq(t)),Gq=so((e,t,{size:n})=>({item:Uq(VC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Wt({size:n,sizes:e.spacing})} / 1.5) ${Wt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Wt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":VC({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Wt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Wt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Wt({size:n,sizes:e.spacing})} / 1.5) ${Wt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const qq=Gq;var Kq=Object.defineProperty,UC=Object.getOwnPropertySymbols,Yq=Object.prototype.hasOwnProperty,Qq=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?Kq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xq=(e,t)=>{for(var n in t||(t={}))Yq.call(t,n)&&GC(e,n,t[n]);if(UC)for(var n of UC(t))Qq.call(t,n)&&GC(e,n,t[n]);return e};function py({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:a,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:k}=qq(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),_=[],I=[];let P=null;const E=(R,M)=>{const T=typeof o=="function"?o(R.value):!1;return F.createElement(h,Xq({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&T||void 0,selected:T,onMouseEnter:()=>c(M),id:`${s}-${M}`,role:"option",tabIndex:-1,"aria-selected":t===M,ref:A=>{p&&p.current&&(p.current[R.value]=A)},onMouseDown:R.disabled?null:A=>{A.preventDefault(),d(R)},disabled:R.disabled,variant:S},R))};let O=null;if(e.forEach((R,M)=>{R.creatable?P=M:R.group?(O!==R.group&&(O=R.group,I.push(F.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},F.createElement(i1,{classNames:{label:k.separatorLabel},label:R.group})))),I.push(E(R,M))):_.push(E(R,M))}),b){const R=e[P];_.push(F.createElement("div",{key:dy(),className:k.item,"data-hovered":t===P||void 0,onMouseEnter:()=>c(P),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return I.length>0&&_.length>0&&_.unshift(F.createElement("div",{className:k.separator,key:"empty-group-separator"},F.createElement(i1,null))),I.length>0||_.length>0?F.createElement(F.Fragment,null,I,_):F.createElement(Sc,{size:m,unstyled:y,className:k.nothingFound},v)}py.displayName="@mantine/core/SelectItems";var Jq=Object.defineProperty,gh=Object.getOwnPropertySymbols,oI=Object.prototype.hasOwnProperty,sI=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?Jq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zq=(e,t)=>{for(var n in t||(t={}))oI.call(t,n)&&qC(e,n,t[n]);if(gh)for(var n of gh(t))sI.call(t,n)&&qC(e,n,t[n]);return e},eK=(e,t)=>{var n={};for(var r in e)oI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&gh)for(var r of gh(e))t.indexOf(r)<0&&sI.call(e,r)&&(n[r]=e[r]);return n};const hy=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=eK(n,["label","value"]);return F.createElement("div",Zq({ref:t},s),r||o)});hy.displayName="@mantine/core/DefaultItem";function tK(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function aI(...e){return t=>e.forEach(n=>tK(n,t))}function vl(...e){return f.useCallback(aI(...e),e)}const iI=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(rK);if(s){const a=s.props.children,c=o.map(d=>d===s?f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null:d);return f.createElement(l1,or({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(l1,or({},r,{ref:t}),n)});iI.displayName="Slot";const l1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...oK(r,n.props),ref:aI(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});l1.displayName="SlotClone";const nK=({children:e})=>f.createElement(f.Fragment,null,e);function rK(e){return f.isValidElement(e)&&e.type===nK}function oK(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{s(...c),o(...c)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const sK=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Nd=sK.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?iI:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,or({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),c1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function aK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const $d=e=>{const{present:t,children:n}=e,r=iK(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=vl(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};$d.displayName="Presence";function iK(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=aK(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=rp(r.current);s.current=c==="mounted"?p:"none"},[c]),c1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=rp(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),c1(()=>{if(t){const p=m=>{const b=rp(r.current).includes(m.animationName);m.target===t&&b&&_i.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=rp(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function rp(e){return(e==null?void 0:e.animationName)||"none"}function lK(e,t=[]){let n=[];function r(s,a){const c=f.createContext(a),d=n.length;n=[...n,a];function p(m){const{scope:v,children:b,...w}=m,y=(v==null?void 0:v[e][d])||c,S=f.useMemo(()=>w,Object.values(w));return f.createElement(y.Provider,{value:S},b)}function h(m,v){const b=(v==null?void 0:v[e][d])||c,w=f.useContext(b);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(a=>f.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,cK(o,...t)]}function cK(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Ui(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const uK=f.createContext(void 0);function dK(e){const t=f.useContext(uK);return e||t||"ltr"}function fK(e,[t,n]){return Math.min(n,Math.max(t,e))}function Zi(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function pK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const lI="ScrollArea",[cI,pde]=lK(lI),[hK,ds]=cI(lI),mK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,d]=f.useState(null),[p,h]=f.useState(null),[m,v]=f.useState(null),[b,w]=f.useState(null),[y,S]=f.useState(null),[k,_]=f.useState(0),[I,P]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),T=vl(t,$=>d($)),A=dK(o);return f.createElement(hK,{scope:n,type:r,dir:A,scrollHideDelay:s,scrollArea:c,viewport:p,onViewportChange:h,content:m,onContentChange:v,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:M,onCornerWidthChange:_,onCornerHeightChange:P},f.createElement(Nd.div,or({dir:A},a,{ref:T,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":I+"px",...e.style}})))}),gK="ScrollAreaViewport",vK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=ds(gK,n),a=f.useRef(null),c=vl(t,a,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Nd.div,or({"data-radix-scroll-area-viewport":""},o,{ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Wa="ScrollAreaScrollbar",bK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?f.createElement(yK,or({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(xK,or({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(uI,or({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(my,or({},r,{ref:t})):null}),yK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),[s,a]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),a(!0)},h=()=>{d=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",p),c.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),c.removeEventListener("pointerenter",p),c.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement($d,{present:n||s},f.createElement(uI,or({"data-state":s?"visible":"hidden"},r,{ref:t})))}),xK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),s=e.orientation==="horizontal",a=Tm(()=>d("SCROLL_END"),100),[c,d]=pK("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(c==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[c,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let m=p[h];const v=()=>{const b=p[h];m!==b&&(d("SCROLL"),a()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,a]),f.createElement($d,{present:n||c!=="hidden"},f.createElement(my,or({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Zi(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Zi(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),uI=f.forwardRef((e,t)=>{const n=ds(Wa,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=Tm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=ds(Wa,e.__scopeScrollArea),s=f.useRef(null),a=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=hI(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:v=>a.current=v};function m(v,b){return IK(v,a.current,c,b)}return n==="horizontal"?f.createElement(wK,or({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=KC(v,c,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=m(v,o.dir))}})):n==="vertical"?f.createElement(SK,or({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=KC(v,c);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=m(v))}})):null}),wK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(fI,or({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Dm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),gI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:vh(a.paddingLeft),paddingEnd:vh(a.paddingRight)}})}}))}),SK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(fI,or({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Dm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),gI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:vh(a.paddingTop),paddingEnd:vh(a.paddingBottom)}})}}))}),[CK,dI]=cI(Wa),fI=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=ds(Wa,n),[w,y]=f.useState(null),S=vl(t,T=>y(T)),k=f.useRef(null),_=f.useRef(""),I=b.viewport,P=r.content-r.viewport,E=Ui(h),O=Ui(d),R=Tm(m,10);function M(T){if(k.current){const A=T.clientX-k.current.left,$=T.clientY-k.current.top;p({x:A,y:$})}}return f.useEffect(()=>{const T=A=>{const $=A.target;(w==null?void 0:w.contains($))&&E(A,P)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[I,w,P,E]),f.useEffect(O,[r,O]),Cc(w,R),Cc(b.content,R),f.createElement(CK,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(a),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Nd.div,or({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Zi(e.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(T))}),onPointerMove:Zi(e.onPointerMove,M),onPointerUp:Zi(e.onPointerUp,T=>{const A=T.target;A.hasPointerCapture(T.pointerId)&&A.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),u1="ScrollAreaThumb",kK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=dI(u1,e.__scopeScrollArea);return f.createElement($d,{present:n||o.hasThumb},f.createElement(_K,or({ref:t},r)))}),_K=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=ds(u1,n),a=dI(u1,n),{onThumbPositionChange:c}=a,d=vl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=Tm(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const m=s.viewport;if(m){const v=()=>{if(h(),!p.current){const b=EK(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Nd.div,or({"data-state":a.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Zi(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:Zi(e.onPointerUp,a.onThumbPointerUp)}))}),pI="ScrollAreaCorner",PK=f.forwardRef((e,t)=>{const n=ds(pI,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(jK,or({},e,{ref:t})):null}),jK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=ds(pI,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return Cc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),Cc(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),a(m)}),p?f.createElement(Nd.div,or({},r,{ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function vh(e){return e?parseInt(e,10):0}function hI(e,t){const n=e/t;return isNaN(n)?0:n}function Dm(e){const t=hI(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function IK(e,t,n,r="ltr"){const o=Dm(n),s=o/2,a=t||s,c=o-a,d=n.scrollbar.paddingStart+a,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return mI([d,p],m)(e)}function KC(e,t,n="ltr"){const r=Dm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,a]:[a*-1,0],p=fK(e,d);return mI([0,a],[0,c])(p)}function mI(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function gI(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=n.left!==s.left,c=n.top!==s.top;(a||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Tm(e,t){const n=Ui(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Cc(e,t){const n=Ui(t);c1(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const OK=mK,RK=vK,YC=bK,QC=kK,MK=PK;var DK=so((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?Ue(t):void 0,paddingBottom:n?Ue(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${Ue(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${tC("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:Ue(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:Ue(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:tC("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:Ue(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:Ue(44),minHeight:Ue(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const TK=DK;var AK=Object.defineProperty,NK=Object.defineProperties,$K=Object.getOwnPropertyDescriptors,bh=Object.getOwnPropertySymbols,vI=Object.prototype.hasOwnProperty,bI=Object.prototype.propertyIsEnumerable,XC=(e,t,n)=>t in e?AK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,d1=(e,t)=>{for(var n in t||(t={}))vI.call(t,n)&&XC(e,n,t[n]);if(bh)for(var n of bh(t))bI.call(t,n)&&XC(e,n,t[n]);return e},yI=(e,t)=>NK(e,$K(t)),xI=(e,t)=>{var n={};for(var r in e)vI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bh)for(var r of bh(e))t.indexOf(r)<0&&bI.call(e,r)&&(n[r]=e[r]);return n};const wI={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Am=f.forwardRef((e,t)=>{const n=wr("ScrollArea",wI,e),{children:r,className:o,classNames:s,styles:a,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,k=xI(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,I]=f.useState(!1),P=Fa(),{classes:E,cx:O}=TK({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return F.createElement(OK,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||P.dir,ref:t,asChild:!0},F.createElement(Po,d1({className:O(E.root,o)},k),F.createElement(RK,yI(d1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),F.createElement(YC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},F.createElement(QC,{className:E.thumb})),F.createElement(YC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},F.createElement(QC,{className:E.thumb})),F.createElement(MK,{className:E.corner})))}),SI=f.forwardRef((e,t)=>{const n=wr("ScrollAreaAutosize",wI,e),{children:r,classNames:o,styles:s,scrollbarSize:a,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,k=xI(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return F.createElement(Po,yI(d1({},k),{ref:t,sx:[{display:"flex"},...cj(w)]}),F.createElement(Po,{sx:{display:"flex",flexDirection:"column",flex:1}},F.createElement(Am,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:a,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});SI.displayName="@mantine/core/ScrollAreaAutosize";Am.displayName="@mantine/core/ScrollArea";Am.Autosize=SI;const CI=Am;var zK=Object.defineProperty,LK=Object.defineProperties,BK=Object.getOwnPropertyDescriptors,yh=Object.getOwnPropertySymbols,kI=Object.prototype.hasOwnProperty,_I=Object.prototype.propertyIsEnumerable,JC=(e,t,n)=>t in e?zK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ZC=(e,t)=>{for(var n in t||(t={}))kI.call(t,n)&&JC(e,n,t[n]);if(yh)for(var n of yh(t))_I.call(t,n)&&JC(e,n,t[n]);return e},FK=(e,t)=>LK(e,BK(t)),HK=(e,t)=>{var n={};for(var r in e)kI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yh)for(var r of yh(e))t.indexOf(r)<0&&_I.call(e,r)&&(n[r]=e[r]);return n};const Nm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=HK(n,["style"]);return F.createElement(CI,FK(ZC({},o),{style:ZC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Nm.displayName="@mantine/core/SelectScrollArea";var WK=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const VK=WK;function Hc(e){return e.split("-")[1]}function gy(e){return e==="y"?"height":"width"}function js(e){return e.split("-")[0]}function Ei(e){return["top","bottom"].includes(js(e))?"x":"y"}function e4(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,a=r.y+r.height/2-o.height/2,c=Ei(t),d=gy(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(js(t)){case"top":m={x:s,y:r.y-o.height};break;case"bottom":m={x:s,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-o.width,y:a};break;default:m={x:r.x,y:r.y}}switch(Hc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const UK=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let p=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:m}=e4(p,r,d),v=r,b={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c}=t,{element:d,padding:p=0}=Aa(e,t)||{};if(d==null)return{};const h=vy(p),m={x:n,y:r},v=Ei(o),b=gy(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",I=s.reference[b]+s.reference[v]-m[v]-s.floating[b],P=m[v]-s.reference[v],E=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let O=E?E[_]:0;O&&await(a.isElement==null?void 0:a.isElement(E))||(O=c.floating[_]||s.floating[b]);const R=I/2-P/2,M=O/2-w[b]/2-1,T=gi(h[S],M),A=gi(h[k],M),$=T,Q=O-w[b]-A,B=O/2-w[b]/2+R,V=f1($,B,Q),q=Hc(o)!=null&&B!=V&&s.reference[b]/2-(B<$?T:A)-w[b]/2<0?B<$?$-B:Q-B:0;return{[v]:m[v]-q,data:{[v]:V,centerOffset:B-V+q}}}}),GK=["top","right","bottom","left"];GK.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const qK={left:"right",right:"left",bottom:"top",top:"bottom"};function xh(e){return e.replace(/left|right|bottom|top/g,t=>qK[t])}function KK(e,t,n){n===void 0&&(n=!1);const r=Hc(e),o=Ei(e),s=gy(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=xh(a)),{main:a,cross:xh(a)}}const YK={start:"end",end:"start"};function G0(e){return e.replace(/start|end/g,t=>YK[t])}const QK=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Aa(e,t),S=js(r),k=js(a)===a,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),I=m||(k||!w?[xh(a)]:function($){const Q=xh($);return[G0($),Q,G0(Q)]}(a));m||b==="none"||I.push(...function($,Q,B,V){const q=Hc($);let G=function(D,z,H){const Y=["left","right"],ie=["right","left"],ye=["top","bottom"],Z=["bottom","top"];switch(D){case"top":case"bottom":return H?z?ie:Y:z?Y:ie;case"left":case"right":return z?ye:Z;default:return[]}}(js($),B==="start",V);return q&&(G=G.map(D=>D+"-"+q),Q&&(G=G.concat(G.map(G0)))),G}(a,w,b,_));const P=[a,...I],E=await by(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:$,cross:Q}=KK(r,s,_);O.push(E[$],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every($=>$<=0)){var M,T;const $=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=P[$];if(Q)return{data:{index:$,overflows:R},reset:{placement:Q}};let B=(T=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:T.placement;if(!B)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,D)=>G+D,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(B=V);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function n4(e){const t=gi(...e.map(r=>r.left)),n=gi(...e.map(r=>r.top));return{x:t,y:n,width:Ks(...e.map(r=>r.right))-t,height:Ks(...e.map(r=>r.bottom))-n}}const XK=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:a}=t,{padding:c=2,x:d,y:p}=Aa(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((I,P)=>I.y-P.y),k=[];let _=null;for(let I=0;I_.height/2?k.push([P]):k[k.length-1].push(P),_=P}return k.map(I=>kc(n4(I)))}(h),v=kc(n4(h)),b=vy(c),w=await s.getElementRects({reference:{getBoundingClientRect:function(){if(m.length===2&&m[0].left>m[1].right&&d!=null&&p!=null)return m.find(y=>d>y.left-b.left&&dy.top-b.top&&p=2){if(Ei(n)==="x"){const E=m[0],O=m[m.length-1],R=js(n)==="top",M=E.top,T=O.bottom,A=R?E.left:O.left,$=R?E.right:O.right;return{top:M,bottom:T,left:A,right:$,width:$-A,height:T-M,x:A,y:M}}const y=js(n)==="left",S=Ks(...m.map(E=>E.right)),k=gi(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),I=_[0].top,P=_[_.length-1].bottom;return{top:I,bottom:P,left:k,right:S,width:S-k,height:P-I,x:k,y:I}}return v}},floating:r.floating,strategy:a});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},JK=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,a){const{placement:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=js(c),v=Hc(c),b=Ei(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Aa(a,s);let{mainAxis:k,crossAxis:_,alignmentAxis:I}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof I=="number"&&(_=v==="end"?-1*I:I),b?{x:_*y,y:k*w}:{x:k*w,y:_*y}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function PI(e){return e==="x"?"y":"x"}const ZK=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:S=>{let{x:k,y:_}=S;return{x:k,y:_}}},...d}=Aa(e,t),p={x:n,y:r},h=await by(t,d),m=Ei(js(o)),v=PI(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=f1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=f1(w+h[v==="y"?"top":"left"],w,w-h[S])}const y=c.fn({...t,[m]:b,[v]:w});return{...y,data:{x:y.x-n,y:y.y-r}}}}},eY=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Aa(e,t),h={x:n,y:r},m=Ei(o),v=PI(m);let b=h[m],w=h[v];const y=Aa(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const I=m==="y"?"height":"width",P=s.reference[m]-s.floating[I]+S.mainAxis,E=s.reference[m]+s.reference[I]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const I=m==="y"?"width":"height",P=["top","left"].includes(js(o)),E=s.reference[v]-s.floating[I]+(P&&((k=a.offset)==null?void 0:k[v])||0)+(P?0:S.crossAxis),O=s.reference[v]+s.reference[I]+(P?0:((_=a.offset)==null?void 0:_[v])||0)-(P?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},tY=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:a=()=>{},...c}=Aa(e,t),d=await by(t,c),p=js(n),h=Hc(n),m=Ei(n)==="x",{width:v,height:b}=r.floating;let w,y;p==="top"||p==="bottom"?(w=p,y=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,w=h==="end"?"top":"bottom");const S=b-d[w],k=v-d[y],_=!t.middlewareData.shift;let I=S,P=k;if(m){const O=v-d.left-d.right;P=h||_?gi(k,O):O}else{const O=b-d.top-d.bottom;I=h||_?gi(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),T=Ks(d.bottom,0);m?P=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):I=b-2*(M!==0||T!==0?M+T:Ks(d.top,d.bottom))}await a({...t,availableWidth:P,availableHeight:I});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function $o(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function sa(e){return $o(e).getComputedStyle(e)}function jI(e){return e instanceof $o(e).Node}function vi(e){return jI(e)?(e.nodeName||"").toLowerCase():"#document"}function Ms(e){return e instanceof HTMLElement||e instanceof $o(e).HTMLElement}function r4(e){return typeof ShadowRoot<"u"&&(e instanceof $o(e).ShadowRoot||e instanceof ShadowRoot)}function od(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=sa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function nY(e){return["table","td","th"].includes(vi(e))}function p1(e){const t=yy(),n=sa(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function yy(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function $m(e){return["html","body","#document"].includes(vi(e))}const h1=Math.min,dc=Math.max,wh=Math.round,op=Math.floor,bi=e=>({x:e,y:e});function II(e){const t=sa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Ms(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=wh(n)!==s||wh(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function _a(e){return e instanceof Element||e instanceof $o(e).Element}function xy(e){return _a(e)?e:e.contextElement}function fc(e){const t=xy(e);if(!Ms(t))return bi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=II(t);let a=(s?wh(n.width):n.width)/r,c=(s?wh(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const rY=bi(0);function EI(e){const t=$o(e);return yy()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:rY}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=xy(e);let a=bi(1);t&&(r?_a(r)&&(a=fc(r)):a=fc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==$o(v))&&b}(s,n,r)?EI(s):bi(0);let d=(o.left+c.x)/a.x,p=(o.top+c.y)/a.y,h=o.width/a.x,m=o.height/a.y;if(s){const v=$o(s),b=r&&_a(r)?$o(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=fc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,I=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=I,w=$o(w).frameElement}}return kc({width:h,height:m,x:d,y:p})}function zm(e){return _a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pa(e){var t;return(t=(jI(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function OI(e){return cl(Pa(e)).left+zm(e).scrollLeft}function _c(e){if(vi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||r4(e)&&e.host||Pa(e);return r4(t)?t.host:t}function RI(e){const t=_c(e);return $m(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ms(t)&&od(t)?t:RI(t)}function Sh(e,t){var n;t===void 0&&(t=[]);const r=RI(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=$o(r);return o?t.concat(s,s.visualViewport||[],od(r)?r:[]):t.concat(r,Sh(r))}function o4(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=$o(o),c=Pa(o),d=a.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=yy();(!b||b&&s==="fixed")&&(m=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:m,y:v}}(e,n);else if(t==="document")r=function(o){const s=Pa(o),a=zm(o),c=o.ownerDocument.body,d=dc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=dc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+OI(o);const m=-a.scrollTop;return sa(c).direction==="rtl"&&(h+=dc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(Pa(e));else if(_a(t))r=function(o,s){const a=cl(o,!0,s==="fixed"),c=a.top+o.clientTop,d=a.left+o.clientLeft,p=Ms(o)?fc(o):bi(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:c*p.y}}(t,n);else{const o=EI(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return kc(r)}function MI(e,t){const n=_c(e);return!(n===t||!_a(n)||$m(n))&&(sa(n).position==="fixed"||MI(n,t))}function oY(e,t,n){const r=Ms(t),o=Pa(t),s=n==="fixed",a=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=bi(0);if(r||!r&&!s)if((vi(t)!=="body"||od(o))&&(c=zm(t)),Ms(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=OI(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function s4(e,t){return Ms(e)&&sa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function a4(e,t){const n=$o(e);if(!Ms(e))return n;let r=s4(e,t);for(;r&&nY(r)&&sa(r).position==="static";)r=s4(r,t);return r&&(vi(r)==="html"||vi(r)==="body"&&sa(r).position==="static"&&!p1(r))?n:r||function(o){let s=_c(o);for(;Ms(s)&&!$m(s);){if(p1(s))return s;s=_c(s)}return null}(e)||n}const sY={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Ms(n),s=Pa(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=bi(1);const d=bi(0);if((o||!o&&r!=="fixed")&&((vi(n)!=="body"||od(s))&&(a=zm(n)),Ms(n))){const p=cl(n);c=fc(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+d.x,y:t.y*c.y-a.scrollTop*c.y+d.y}},getDocumentElement:Pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let m=Sh(d).filter(y=>_a(y)&&vi(y)!=="body"),v=null;const b=sa(d).position==="fixed";let w=b?_c(d):d;for(;_a(w)&&!$m(w);){const y=sa(w),S=p1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||od(w)&&!S&&MI(d,w))?m=m.filter(k=>k!==w):v=y,w=_c(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=o4(t,p,o);return d.top=dc(h.top,d.top),d.right=h1(h.right,d.right),d.bottom=h1(h.bottom,d.bottom),d.left=dc(h.left,d.left),d},o4(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:a4,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||a4,s=this.getDimensions;return{reference:oY(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return II(e)},getScale:fc,isElement:_a,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function aY(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=xy(e),h=o||s?[...p?Sh(p):[],...Sh(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,I=null;const P=Pa(S);function E(){clearTimeout(_),I&&I.disconnect(),I=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:T,top:A,width:$,height:Q}=S.getBoundingClientRect();if(R||k(),!$||!Q)return;const B={rootMargin:-op(A)+"px "+-op(P.clientWidth-(T+$))+"px "+-op(P.clientHeight-(A+Q))+"px "+-op(T)+"px",threshold:dc(0,h1(1,M))||1};let V=!0;function q(G){const D=G[0].intersectionRatio;if(D!==M){if(!V)return O();D?O(!1,D):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{I=new IntersectionObserver(q,{...B,root:P.ownerDocument})}catch{I=new IntersectionObserver(q,B)}I.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;a&&(w=new ResizeObserver(S=>{let[k]=S;k&&k.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{w&&w.observe(t)})),n()}),p&&!d&&w.observe(p),w.observe(t));let y=d?cl(e):null;return d&&function S(){const k=cl(e);!y||k.x===y.x&&k.y===y.y&&k.width===y.width&&k.height===y.height||n(),y=k,v=requestAnimationFrame(S)}(),n(),()=>{h.forEach(S=>{o&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(v)}}const iY=(e,t,n)=>{const r=new Map,o={platform:sY,...n},s={...o.platform,_c:r};return UK(e,t,{...o,platform:s})},lY=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?t4({element:t.current,padding:n}).fn(o):{}:t?t4({element:t,padding:n}).fn(o):{}}}};var jp=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ch(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Ch(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!Ch(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function i4(e){const t=f.useRef(e);return jp(()=>{t.current=e}),t}function cY(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:a}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);Ch(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=i4(s),y=i4(o),[S,k]=f.useState(null),[_,I]=f.useState(null),P=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,I(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),iY(m.current,v.current,A).then($=>{const Q={...$,isPositioned:!0};R.current&&!Ch(b.current,Q)&&(b.current=Q,_i.flushSync(()=>{d(Q)}))})},[p,t,n,y]);jp(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[a]);const R=f.useRef(!1);jp(()=>(R.current=!0,()=>{R.current=!1}),[]),jp(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:P,setFloating:E}),[P,E]),T=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:T,reference:P,floating:E}),[c,O,M,T,P,E])}var uY=typeof document<"u"?f.useLayoutEffect:f.useEffect;function dY(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const fY=f.createContext(null),pY=()=>f.useContext(fY);function hY(e){return(e==null?void 0:e.ownerDocument)||document}function mY(e){return hY(e).defaultView||window}function sp(e){return e?e instanceof mY(e).Element:!1}const gY=N1["useInsertionEffect".toString()],vY=gY||(e=>e());function bY(e){const t=f.useRef(()=>{});return vY(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;odY())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=sp(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(sp(k)||k===null)&&(a.current=k,h(k)),(sp(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!sp(k))&&o.refs.setReference(k)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:a}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=bY(n),S=f.useMemo(()=>({...o,refs:b,elements:w,dataRef:c,nodeId:r,events:d,open:t,onOpenChange:y}),[o,r,d,t,y,b,w]);return uY(()=>{const k=s==null?void 0:s.nodesRef.current.find(_=>_.id===r);k&&(k.context=S)}),f.useMemo(()=>({...o,context:S,refs:b,reference:v,positionReference:m}),[o,b,S,v,m])}function xY({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return aY(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),Ps(()=>{t.update()},r),Ps(()=>{s(a=>a+1)},[e])}function wY(e){const t=[JK(e.offset)];return e.middlewares.shift&&t.push(ZK({limiter:eY()})),e.middlewares.flip&&t.push(QK()),e.middlewares.inline&&t.push(XK()),t.push(lY({element:e.arrowRef,padding:e.arrowOffset})),t}function SY(e){const[t,n]=rd({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var a;(a=e.onClose)==null||a.call(e),n(!1)},o=()=>{var a,c;t?((a=e.onClose)==null||a.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=yY({placement:e.position,middleware:[...wY(e),...e.width==="target"?[tY({apply({rects:a}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${a.reference.width}px`})}})]:[]]});return xY({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),Ps(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),Ps(()=>{var a,c;e.opened?(c=e.onOpen)==null||c.call(e):(a=e.onClose)==null||a.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const DI={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[CY,TI]=uU(DI.context);var kY=Object.defineProperty,_Y=Object.defineProperties,PY=Object.getOwnPropertyDescriptors,kh=Object.getOwnPropertySymbols,AI=Object.prototype.hasOwnProperty,NI=Object.prototype.propertyIsEnumerable,l4=(e,t,n)=>t in e?kY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))AI.call(t,n)&&l4(e,n,t[n]);if(kh)for(var n of kh(t))NI.call(t,n)&&l4(e,n,t[n]);return e},jY=(e,t)=>_Y(e,PY(t)),IY=(e,t)=>{var n={};for(var r in e)AI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&kh)for(var r of kh(e))t.indexOf(r)<0&&NI.call(e,r)&&(n[r]=e[r]);return n};const EY={refProp:"ref",popupType:"dialog"},$I=f.forwardRef((e,t)=>{const n=wr("PopoverTarget",EY,e),{children:r,refProp:o,popupType:s}=n,a=IY(n,["children","refProp","popupType"]);if(!dj(r))throw new Error(DI.children);const c=a,d=TI(),p=Ad(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,ap(jY(ap(ap(ap({},c),h),d.targetProps),{className:pj(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});$I.displayName="@mantine/core/PopoverTarget";var OY=so((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const RY=OY;var MY=Object.defineProperty,c4=Object.getOwnPropertySymbols,DY=Object.prototype.hasOwnProperty,TY=Object.prototype.propertyIsEnumerable,u4=(e,t,n)=>t in e?MY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bl=(e,t)=>{for(var n in t||(t={}))DY.call(t,n)&&u4(e,n,t[n]);if(c4)for(var n of c4(t))TY.call(t,n)&&u4(e,n,t[n]);return e};const d4={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function AY({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Jf?Bl(Bl(Bl({transitionProperty:Jf[e].transitionProperty},o),Jf[e].common),Jf[e][d4[t]]):null:Bl(Bl(Bl({transitionProperty:e.transitionProperty},o),e.common),e[d4[t]])}function NY({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Fa(),p=xj(),h=d.respectReducedMotion?p:!1,[m,v]=f.useState(h?0:e),[b,w]=f.useState(r?"entered":"exited"),y=f.useRef(-1),S=k=>{const _=k?o:s,I=k?a:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const P=h?0:k?e:t;if(v(P),P===0)typeof _=="function"&&_(),typeof I=="function"&&I(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof I=="function"&&I(),w(k?"entered":"exited")},P)}};return Ps(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function zI({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=NY({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?F.createElement(F.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:F.createElement(F.Fragment,null,s(AY({transition:t,duration:m,state:v,timingFunction:b})))}zI.displayName="@mantine/core/Transition";function LI({children:e,active:t=!0,refProp:n="ref"}){const r=VU(t),o=Ad(r,e==null?void 0:e.ref);return dj(e)?f.cloneElement(e,{[n]:o}):e}LI.displayName="@mantine/core/FocusTrap";var $Y=Object.defineProperty,zY=Object.defineProperties,LY=Object.getOwnPropertyDescriptors,f4=Object.getOwnPropertySymbols,BY=Object.prototype.hasOwnProperty,FY=Object.prototype.propertyIsEnumerable,p4=(e,t,n)=>t in e?$Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Za=(e,t)=>{for(var n in t||(t={}))BY.call(t,n)&&p4(e,n,t[n]);if(f4)for(var n of f4(t))FY.call(t,n)&&p4(e,n,t[n]);return e},ip=(e,t)=>zY(e,LY(t));function h4(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function m4(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const HY={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function WY({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:a,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[HY[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?ip(Za(Za({},h),h4(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?ip(Za(Za({},h),h4(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?ip(Za(Za({},h),m4(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?ip(Za(Za({},h),m4(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var VY=Object.defineProperty,UY=Object.defineProperties,GY=Object.getOwnPropertyDescriptors,_h=Object.getOwnPropertySymbols,BI=Object.prototype.hasOwnProperty,FI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?VY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qY=(e,t)=>{for(var n in t||(t={}))BI.call(t,n)&&g4(e,n,t[n]);if(_h)for(var n of _h(t))FI.call(t,n)&&g4(e,n,t[n]);return e},KY=(e,t)=>UY(e,GY(t)),YY=(e,t)=>{var n={};for(var r in e)BI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_h)for(var r of _h(e))t.indexOf(r)<0&&FI.call(e,r)&&(n[r]=e[r]);return n};const HI=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=YY(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Fa();return d?F.createElement("div",KY(qY({},m),{ref:t,style:WY({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});HI.displayName="@mantine/core/FloatingArrow";var QY=Object.defineProperty,XY=Object.defineProperties,JY=Object.getOwnPropertyDescriptors,Ph=Object.getOwnPropertySymbols,WI=Object.prototype.hasOwnProperty,VI=Object.prototype.propertyIsEnumerable,v4=(e,t,n)=>t in e?QY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fl=(e,t)=>{for(var n in t||(t={}))WI.call(t,n)&&v4(e,n,t[n]);if(Ph)for(var n of Ph(t))VI.call(t,n)&&v4(e,n,t[n]);return e},lp=(e,t)=>XY(e,JY(t)),ZY=(e,t)=>{var n={};for(var r in e)WI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ph)for(var r of Ph(e))t.indexOf(r)<0&&VI.call(e,r)&&(n[r]=e[r]);return n};const eQ={};function UI(e){var t;const n=wr("PopoverDropdown",eQ,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=ZY(n,["style","className","children","onKeyDownCapture"]),d=TI(),{classes:p,cx:h}=RY({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=$U({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:F.createElement(Uj,lp(Fl({},d.portalProps),{withinPortal:d.withinPortal}),F.createElement(zI,lp(Fl({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var w,y;return F.createElement(LI,{active:d.trapFocus},F.createElement(Po,Fl(lp(Fl({},v),{tabIndex:-1,ref:d.floating,style:lp(Fl(Fl({},r),b),{zIndex:d.zIndex,top:(w=d.y)!=null?w:0,left:(y=d.x)!=null?y:0,width:d.width==="target"?void 0:Ue(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:fU(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,F.createElement(HI,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}UI.displayName="@mantine/core/PopoverDropdown";function tQ(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var b4=Object.getOwnPropertySymbols,nQ=Object.prototype.hasOwnProperty,rQ=Object.prototype.propertyIsEnumerable,oQ=(e,t)=>{var n={};for(var r in e)nQ.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&b4)for(var r of b4(e))t.indexOf(r)<0&&rQ.call(e,r)&&(n[r]=e[r]);return n};const sQ={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:uy("popover"),__staticSelector:"Popover",width:"max-content"};function Wc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=wr("Popover",sQ,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:I,arrowOffset:P,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:T,closeOnClickOutside:A,withinPortal:$,portalProps:Q,closeOnEscape:B,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:D,onChange:z,zIndex:H,radius:Y,shadow:ie,id:ye,defaultOpened:Z,__staticSelector:se,withRoles:K,disabled:U,returnFocus:ae,variant:re,keepMounted:oe}=d,pe=oQ(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[ce,ge]=f.useState(null),[_e,le]=f.useState(null),Se=fy(ye),Fe=Fa(),Ae=SY({middlewares:k,width:S,position:tQ(Fe.dir,h),offset:typeof m=="number"?m+(_?I/2:0):m,arrowRef:c,arrowOffset:P,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:Z,onChange:z,onOpen:D,onClose:G});DU(()=>Ae.opened&&A&&Ae.onClose(),V,[ce,_e]);const He=f.useCallback(ct=>{ge(ct),Ae.floating.reference(ct)},[Ae.floating.reference]),Ct=f.useCallback(ct=>{le(ct),Ae.floating.floating(ct)},[Ae.floating.floating]);return F.createElement(CY,{value:{returnFocus:ae,disabled:U,controlled:Ae.controlled,reference:He,floating:Ct,x:Ae.floating.x,y:Ae.floating.y,arrowX:(r=(n=(t=Ae.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Ae.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Ae.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:I,arrowOffset:P,arrowRadius:E,arrowPosition:O,placement:Ae.floating.placement,trapFocus:q,withinPortal:$,portalProps:Q,zIndex:H,radius:Y,shadow:ie,closeOnEscape:B,onClose:Ae.onClose,onToggle:Ae.onToggle,getTargetId:()=>`${Se}-target`,getDropdownId:()=>`${Se}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:se,classNames:M,styles:T,unstyled:R,variant:re,keepMounted:oe}},p)}Wc.Target=$I;Wc.Dropdown=UI;Wc.displayName="@mantine/core/Popover";var aQ=Object.defineProperty,jh=Object.getOwnPropertySymbols,GI=Object.prototype.hasOwnProperty,qI=Object.prototype.propertyIsEnumerable,y4=(e,t,n)=>t in e?aQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iQ=(e,t)=>{for(var n in t||(t={}))GI.call(t,n)&&y4(e,n,t[n]);if(jh)for(var n of jh(t))qI.call(t,n)&&y4(e,n,t[n]);return e},lQ=(e,t)=>{var n={};for(var r in e)GI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&jh)for(var r of jh(e))t.indexOf(r)<0&&qI.call(e,r)&&(n[r]=e[r]);return n};function cQ(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:a,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=lQ(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=VK(null,{name:d,styles:p,classNames:h,unstyled:m});return F.createElement(Wc.Dropdown,iQ({p:0,onMouseDown:w=>w.preventDefault()},v),F.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},F.createElement(Po,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Nm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},F.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function hi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:a,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return F.createElement(Wc,{unstyled:w,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:m,zIndex:p,__staticSelector:a,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:y,onPositionChange:k=>d&&(c==null?void 0:c(k==="top"?"column-reverse":"column")),variant:S},s)}hi.Target=Wc.Target;hi.Dropdown=cQ;var uQ=Object.defineProperty,dQ=Object.defineProperties,fQ=Object.getOwnPropertyDescriptors,Ih=Object.getOwnPropertySymbols,KI=Object.prototype.hasOwnProperty,YI=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?uQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cp=(e,t)=>{for(var n in t||(t={}))KI.call(t,n)&&x4(e,n,t[n]);if(Ih)for(var n of Ih(t))YI.call(t,n)&&x4(e,n,t[n]);return e},pQ=(e,t)=>dQ(e,fQ(t)),hQ=(e,t)=>{var n={};for(var r in e)KI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ih)for(var r of Ih(e))t.indexOf(r)<0&&YI.call(e,r)&&(n[r]=e[r]);return n};function QI(e,t,n){const r=wr(e,t,n),{label:o,description:s,error:a,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:k,id:_,size:I,style:P,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,T=hQ(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=fy(_),{systemStyles:$,rest:Q}=Mm(T),B=cp({label:o,description:s,error:a,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:A,size:I,style:P,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return pQ(cp({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:cp(cp({},B),$),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:I,__staticSelector:v,error:a,variant:M}})}var mQ=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Wt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const gQ=mQ;var vQ=Object.defineProperty,Eh=Object.getOwnPropertySymbols,XI=Object.prototype.hasOwnProperty,JI=Object.prototype.propertyIsEnumerable,w4=(e,t,n)=>t in e?vQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bQ=(e,t)=>{for(var n in t||(t={}))XI.call(t,n)&&w4(e,n,t[n]);if(Eh)for(var n of Eh(t))JI.call(t,n)&&w4(e,n,t[n]);return e},yQ=(e,t)=>{var n={};for(var r in e)XI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Eh)for(var r of Eh(e))t.indexOf(r)<0&&JI.call(e,r)&&(n[r]=e[r]);return n};const xQ={labelElement:"label",size:"sm"},wy=f.forwardRef((e,t)=>{const n=wr("InputLabel",xQ,e),{labelElement:r,children:o,required:s,size:a,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=yQ(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=gQ(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return F.createElement(Po,bQ({component:r,ref:t,className:k(S.label,h),htmlFor:r==="label"?m:void 0,onMouseDown:_=>{w==null||w(_),!_.defaultPrevented&&_.detail>1&&_.preventDefault()}},y),o,s&&F.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});wy.displayName="@mantine/core/InputLabel";var wQ=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Wt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const SQ=wQ;var CQ=Object.defineProperty,Oh=Object.getOwnPropertySymbols,ZI=Object.prototype.hasOwnProperty,eE=Object.prototype.propertyIsEnumerable,S4=(e,t,n)=>t in e?CQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kQ=(e,t)=>{for(var n in t||(t={}))ZI.call(t,n)&&S4(e,n,t[n]);if(Oh)for(var n of Oh(t))eE.call(t,n)&&S4(e,n,t[n]);return e},_Q=(e,t)=>{var n={};for(var r in e)ZI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Oh)for(var r of Oh(e))t.indexOf(r)<0&&eE.call(e,r)&&(n[r]=e[r]);return n};const PQ={size:"sm"},Sy=f.forwardRef((e,t)=>{const n=wr("InputError",PQ,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=_Q(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=SQ(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return F.createElement(Sc,kQ({className:b(v.error,o),ref:t},m),r)});Sy.displayName="@mantine/core/InputError";var jQ=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Wt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const IQ=jQ;var EQ=Object.defineProperty,Rh=Object.getOwnPropertySymbols,tE=Object.prototype.hasOwnProperty,nE=Object.prototype.propertyIsEnumerable,C4=(e,t,n)=>t in e?EQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OQ=(e,t)=>{for(var n in t||(t={}))tE.call(t,n)&&C4(e,n,t[n]);if(Rh)for(var n of Rh(t))nE.call(t,n)&&C4(e,n,t[n]);return e},RQ=(e,t)=>{var n={};for(var r in e)tE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&nE.call(e,r)&&(n[r]=e[r]);return n};const MQ={size:"sm"},Cy=f.forwardRef((e,t)=>{const n=wr("InputDescription",MQ,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=RQ(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=IQ(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return F.createElement(Sc,OQ({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});Cy.displayName="@mantine/core/InputDescription";const rE=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),DQ=rE.Provider,TQ=()=>f.useContext(rE);function AQ(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var NQ=Object.defineProperty,$Q=Object.defineProperties,zQ=Object.getOwnPropertyDescriptors,k4=Object.getOwnPropertySymbols,LQ=Object.prototype.hasOwnProperty,BQ=Object.prototype.propertyIsEnumerable,_4=(e,t,n)=>t in e?NQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FQ=(e,t)=>{for(var n in t||(t={}))LQ.call(t,n)&&_4(e,n,t[n]);if(k4)for(var n of k4(t))BQ.call(t,n)&&_4(e,n,t[n]);return e},HQ=(e,t)=>$Q(e,zQ(t)),WQ=so(e=>({root:HQ(FQ({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const VQ=WQ;var UQ=Object.defineProperty,GQ=Object.defineProperties,qQ=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,oE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,P4=(e,t,n)=>t in e?UQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ei=(e,t)=>{for(var n in t||(t={}))oE.call(t,n)&&P4(e,n,t[n]);if(Mh)for(var n of Mh(t))sE.call(t,n)&&P4(e,n,t[n]);return e},j4=(e,t)=>GQ(e,qQ(t)),KQ=(e,t)=>{var n={};for(var r in e)oE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mh)for(var r of Mh(e))t.indexOf(r)<0&&sE.call(e,r)&&(n[r]=e[r]);return n};const YQ={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},aE=f.forwardRef((e,t)=>{const n=wr("InputWrapper",YQ,e),{className:r,label:o,children:s,required:a,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:k,__staticSelector:_,unstyled:I,inputWrapperOrder:P,withAsterisk:E,variant:O}=n,R=KQ(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:T}=VQ(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:I,variant:O,size:S}),A={classNames:w,styles:y,unstyled:I,size:S,variant:O,__staticSelector:_},$=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,B=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?B:""}`,G=q.trim().length>0?q.trim():void 0,D=o&&F.createElement(wy,ei(ei({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:$},A),m),o),z=p&&F.createElement(Cy,j4(ei(ei({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||B}),p),H=F.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&F.createElement(Sy,j4(ei(ei({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ie=P.map(ye=>{switch(ye){case"label":return D;case"input":return H;case"description":return z;case"error":return Y;default:return null}});return F.createElement(DQ,{value:ei({describedBy:G},AQ(P,{hasDescription:!!z,hasError:!!Y}))},F.createElement(Po,ei({className:T(M.root,r),ref:t},R),ie))});aE.displayName="@mantine/core/InputWrapper";var QQ=Object.defineProperty,Dh=Object.getOwnPropertySymbols,iE=Object.prototype.hasOwnProperty,lE=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?QQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XQ=(e,t)=>{for(var n in t||(t={}))iE.call(t,n)&&I4(e,n,t[n]);if(Dh)for(var n of Dh(t))lE.call(t,n)&&I4(e,n,t[n]);return e},JQ=(e,t)=>{var n={};for(var r in e)iE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dh)for(var r of Dh(e))t.indexOf(r)<0&&lE.call(e,r)&&(n[r]=e[r]);return n};const ZQ={},cE=f.forwardRef((e,t)=>{const n=wr("InputPlaceholder",ZQ,e),{sx:r}=n,o=JQ(n,["sx"]);return F.createElement(Po,XQ({component:"span",sx:[s=>s.fn.placeholderStyles(),...cj(r)],ref:t},o))});cE.displayName="@mantine/core/InputPlaceholder";var eX=Object.defineProperty,tX=Object.defineProperties,nX=Object.getOwnPropertyDescriptors,E4=Object.getOwnPropertySymbols,rX=Object.prototype.hasOwnProperty,oX=Object.prototype.propertyIsEnumerable,O4=(e,t,n)=>t in e?eX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,up=(e,t)=>{for(var n in t||(t={}))rX.call(t,n)&&O4(e,n,t[n]);if(E4)for(var n of E4(t))oX.call(t,n)&&O4(e,n,t[n]);return e},q0=(e,t)=>tX(e,nX(t));const Qo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},sX=["default","filled","unstyled"];function aX({theme:e,variant:t}){return sX.includes(t)?t==="default"?{border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${Ue(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:Ue(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var iX=so((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:a,offsetBottom:c,offsetTop:d,pointer:p},{variant:h,size:m})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Wt({size:m,sizes:Qo}),paddingLeft:`calc(${Wt({size:m,sizes:Qo})} / 3)`,paddingRight:s?o||Wt({size:m,sizes:Qo}):`calc(${Wt({size:m,sizes:Qo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Wt({size:m,sizes:Qo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:c?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:q0(up(up(q0(up({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Wt({size:m,sizes:Qo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Wt({size:m,sizes:Qo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Wt({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),aX({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof a=="number"?Ue(a):Wt({size:m,sizes:Qo})},"&::placeholder":q0(up({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:a?Ue(a):Wt({size:m,sizes:Qo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Wt({size:m,sizes:Qo})}}});const lX=iX;var cX=Object.defineProperty,uX=Object.defineProperties,dX=Object.getOwnPropertyDescriptors,Th=Object.getOwnPropertySymbols,uE=Object.prototype.hasOwnProperty,dE=Object.prototype.propertyIsEnumerable,R4=(e,t,n)=>t in e?cX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dp=(e,t)=>{for(var n in t||(t={}))uE.call(t,n)&&R4(e,n,t[n]);if(Th)for(var n of Th(t))dE.call(t,n)&&R4(e,n,t[n]);return e},M4=(e,t)=>uX(e,dX(t)),fX=(e,t)=>{var n={};for(var r in e)uE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Th)for(var r of Th(e))t.indexOf(r)<0&&dE.call(e,r)&&(n[r]=e[r]);return n};const pX={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=wr("Input",pX,e),{className:r,error:o,required:s,disabled:a,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:k,styles:_,__staticSelector:I,multiline:P,sx:E,unstyled:O,pointer:R}=n,M=fX(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:T,offsetTop:A,describedBy:$}=TQ(),{classes:Q,cx:B}=lX({radius:w,multiline:P,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:T,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",I],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=Mm(M);return F.createElement(Po,dp(dp({className:B(Q.wrapper,r),sx:E,style:p},V),S),d&&F.createElement("div",{className:Q.icon},d),F.createElement(Po,M4(dp({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":$,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&F.createElement("div",M4(dp({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=aE;bl.Label=wy;bl.Description=Cy;bl.Error=Sy;bl.Placeholder=cE;const Pc=bl;var hX=Object.defineProperty,Ah=Object.getOwnPropertySymbols,fE=Object.prototype.hasOwnProperty,pE=Object.prototype.propertyIsEnumerable,D4=(e,t,n)=>t in e?hX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T4=(e,t)=>{for(var n in t||(t={}))fE.call(t,n)&&D4(e,n,t[n]);if(Ah)for(var n of Ah(t))pE.call(t,n)&&D4(e,n,t[n]);return e},mX=(e,t)=>{var n={};for(var r in e)fE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ah)for(var r of Ah(e))t.indexOf(r)<0&&pE.call(e,r)&&(n[r]=e[r]);return n};const gX={multiple:!1},hE=f.forwardRef((e,t)=>{const n=wr("FileButton",gX,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=mX(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),w=f.useRef(),y=()=>{!h&&w.current.click()},S=_=>{r(s?Array.from(_.currentTarget.files):_.currentTarget.files[0]||null)};return yj(p,()=>{w.current.value=""}),F.createElement(F.Fragment,null,o(T4({onClick:y},b)),F.createElement("input",T4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Ad(t,w),name:c,form:d,capture:m},v)))});hE.displayName="@mantine/core/FileButton";const mE={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},vX={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var bX=so((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Wt({size:o,sizes:mE}),paddingLeft:`calc(${Wt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Wt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Wt({size:o,sizes:vX}),borderRadius:Wt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${Ue(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Wt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const yX=bX;var xX=Object.defineProperty,Nh=Object.getOwnPropertySymbols,gE=Object.prototype.hasOwnProperty,vE=Object.prototype.propertyIsEnumerable,A4=(e,t,n)=>t in e?xX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wX=(e,t)=>{for(var n in t||(t={}))gE.call(t,n)&&A4(e,n,t[n]);if(Nh)for(var n of Nh(t))vE.call(t,n)&&A4(e,n,t[n]);return e},SX=(e,t)=>{var n={};for(var r in e)gE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Nh)for(var r of Nh(e))t.indexOf(r)<0&&vE.call(e,r)&&(n[r]=e[r]);return n};const CX={xs:16,sm:22,md:24,lg:26,xl:30};function bE(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:a,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=SX(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=yX({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return F.createElement("div",wX({className:y(w.defaultValue,s)},b),F.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&F.createElement(Jj,{"aria-hidden":!0,onMouseDown:a,size:CX[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}bE.displayName="@mantine/core/MultiSelect/DefaultValue";function kX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:a}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const c=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&c.push(e[d]),!(c.length>=n));d+=1);return c}var _X=Object.defineProperty,$h=Object.getOwnPropertySymbols,yE=Object.prototype.hasOwnProperty,xE=Object.prototype.propertyIsEnumerable,N4=(e,t,n)=>t in e?_X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$4=(e,t)=>{for(var n in t||(t={}))yE.call(t,n)&&N4(e,n,t[n]);if($h)for(var n of $h(t))xE.call(t,n)&&N4(e,n,t[n]);return e},PX=(e,t)=>{var n={};for(var r in e)yE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$h)for(var r of $h(e))t.indexOf(r)<0&&xE.call(e,r)&&(n[r]=e[r]);return n};const jX={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function IX(e){var t=e,{size:n,error:r,style:o}=t,s=PX(t,["size","error","style"]);const a=Fa(),c=Wt({size:n,sizes:jX});return F.createElement("svg",$4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:$4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),F.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var EX=Object.defineProperty,OX=Object.defineProperties,RX=Object.getOwnPropertyDescriptors,z4=Object.getOwnPropertySymbols,MX=Object.prototype.hasOwnProperty,DX=Object.prototype.propertyIsEnumerable,L4=(e,t,n)=>t in e?EX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TX=(e,t)=>{for(var n in t||(t={}))MX.call(t,n)&&L4(e,n,t[n]);if(z4)for(var n of z4(t))DX.call(t,n)&&L4(e,n,t[n]);return e},AX=(e,t)=>OX(e,RX(t));function wE({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?F.createElement(Jj,AX(TX({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):F.createElement(IX,{error:o,size:r})}wE.displayName="@mantine/core/SelectRightSection";var NX=Object.defineProperty,$X=Object.defineProperties,zX=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,SE=Object.prototype.hasOwnProperty,CE=Object.prototype.propertyIsEnumerable,B4=(e,t,n)=>t in e?NX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,K0=(e,t)=>{for(var n in t||(t={}))SE.call(t,n)&&B4(e,n,t[n]);if(zh)for(var n of zh(t))CE.call(t,n)&&B4(e,n,t[n]);return e},F4=(e,t)=>$X(e,zX(t)),LX=(e,t)=>{var n={};for(var r in e)SE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&zh)for(var r of zh(e))t.indexOf(r)<0&&CE.call(e,r)&&(n[r]=e[r]);return n};function kE(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=LX(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!a.readOnly&&!(a.disabled&&a.shouldClear)&&F.createElement(wE,K0({},a)),styles:F4(K0({},c),{rightSection:F4(K0({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var BX=Object.defineProperty,FX=Object.defineProperties,HX=Object.getOwnPropertyDescriptors,H4=Object.getOwnPropertySymbols,WX=Object.prototype.hasOwnProperty,VX=Object.prototype.propertyIsEnumerable,W4=(e,t,n)=>t in e?BX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UX=(e,t)=>{for(var n in t||(t={}))WX.call(t,n)&&W4(e,n,t[n]);if(H4)for(var n of H4(t))VX.call(t,n)&&W4(e,n,t[n]);return e},GX=(e,t)=>FX(e,HX(t)),qX=so((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Wt({size:n,sizes:Qo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Wt({size:n,sizes:Qo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:GX(UX({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Wt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Wt({size:n,sizes:mE}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const KX=qX;var YX=Object.defineProperty,QX=Object.defineProperties,XX=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,_E=Object.prototype.hasOwnProperty,PE=Object.prototype.propertyIsEnumerable,V4=(e,t,n)=>t in e?YX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))_E.call(t,n)&&V4(e,n,t[n]);if(Lh)for(var n of Lh(t))PE.call(t,n)&&V4(e,n,t[n]);return e},U4=(e,t)=>QX(e,XX(t)),JX=(e,t)=>{var n={};for(var r in e)_E.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Lh)for(var r of Lh(e))t.indexOf(r)<0&&PE.call(e,r)&&(n[r]=e[r]);return n};function ZX(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function eJ(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function G4(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const tJ={size:"sm",valueComponent:bE,itemComponent:hy,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:ZX,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:eJ,switchDirectionOnFlip:!1,zIndex:uy("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},jE=f.forwardRef((e,t)=>{const n=wr("MultiSelect",tJ,e),{className:r,style:o,required:s,label:a,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:k,itemComponent:_,id:I,transitionProps:P,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:T,searchable:A,placeholder:$,filter:Q,limit:B,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:D,onSearchChange:z,searchValue:H,disabled:Y,initiallyOpened:ie,radius:ye,icon:Z,rightSection:se,rightSectionWidth:K,creatable:U,getCreateLabel:ae,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:ce,onDropdownClose:ge,onDropdownOpen:_e,maxSelectedValues:le,withinPortal:Se,portalProps:Fe,switchDirectionOnFlip:Ae,zIndex:He,selectOnBlur:Ct,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:we,form:Re,positionDependencies:Pt,onKeyDown:At,unstyled:xe,inputContainer:ht,inputWrapperOrder:$t,readOnly:zt,withAsterisk:Ne,clearButtonProps:qe,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Je=JX(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Qe,cx:dt,theme:Lt}=KX({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:xe,size:d,variant:D}),{systemStyles:lr,rest:pn}=Mm(Je),ln=f.useRef(),Fr=f.useRef({}),br=fy(I),[Fn,Hn]=f.useState(ie),[Wn,Ar]=f.useState(-1),[Ro,Hr]=f.useState("column"),[Wr,fs]=rd({value:H,defaultValue:"",finalValue:void 0,onChange:z}),[Nr,$s]=f.useState(!1),{scrollIntoView:ps,targetRef:ua,scrollableRef:zs}=wj({duration:0,offset:5,cancelable:!1,isList:!0}),X=U&&typeof ae=="function";let ee=null;const he=y.map($e=>typeof $e=="string"?{label:$e,value:$e}:$e),ke=uj({data:he}),[me,ut]=rd({value:G4(b,y),defaultValue:G4(w,y),finalValue:[],onChange:S}),st=f.useRef(!!le&&le{if(!zt){const yt=me.filter(Mt=>Mt!==$e);ut(yt),le&&yt.length{fs($e.currentTarget.value),!Y&&!st.current&&A&&Hn(!0)},xt=$e=>{typeof M=="function"&&M($e),!Y&&!st.current&&A&&Hn(!0)},Be=kX({data:ke,searchable:A,searchValue:Wr,limit:B,filter:Q,value:me,disableSelectedItemFiltering:Pe});X&&re(Wr,ke)&&(ee=ae(Wr),Be.push({label:Wr,value:Wr,creatable:!0}));const Ce=Math.min(Wn,Be.length-1),Xe=($e,yt,Mt)=>{let Ht=$e;for(;Mt(Ht);)if(Ht=yt(Ht),!Be[Ht].disabled)return Ht;return $e};Ps(()=>{Ar(Pn&&Wr?0:-1)},[Wr,Pn]),Ps(()=>{!Y&&me.length>y.length&&Hn(!1),le&&me.length=le&&(st.current=!0,Hn(!1))},[me]);const jt=$e=>{if(!zt)if(V&&fs(""),me.includes($e.value))Ft($e.value);else{if($e.creatable&&typeof oe=="function"){const yt=oe($e.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,$e.value]);me.length===le-1&&(st.current=!0,Hn(!1)),Be.length===1&&Hn(!1)}},Et=$e=>{typeof T=="function"&&T($e),Ct&&Be[Ce]&&Fn&&jt(Be[Ce]),G&&fs(""),Hn(!1)},Nt=$e=>{if(Nr||(At==null||At($e),zt)||$e.key!=="Backspace"&&le&&st.current)return;const yt=Ro==="column",Mt=()=>{Ar(jn=>{var Ut;const un=Xe(jn,sn=>sn+1,sn=>sn{Ar(jn=>{var Ut;const un=Xe(jn,sn=>sn-1,sn=>sn>0);return Fn&&(ua.current=Fr.current[(Ut=Be[un])==null?void 0:Ut.value],ps({alignment:yt?"start":"end"})),un})};switch($e.key){case"ArrowUp":{$e.preventDefault(),Hn(!0),yt?Ht():Mt();break}case"ArrowDown":{$e.preventDefault(),Hn(!0),yt?Mt():Ht();break}case"Enter":{$e.preventDefault(),Be[Ce]&&Fn?jt(Be[Ce]):Hn(!0);break}case" ":{A||($e.preventDefault(),Be[Ce]&&Fn?jt(Be[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Wr.length===0&&(ut(me.slice(0,-1)),Hn(!0),le&&(st.current=!1));break}case"Home":{if(!A){$e.preventDefault(),Fn||Hn(!0);const jn=Be.findIndex(Ut=>!Ut.disabled);Ar(jn),ps({alignment:yt?"end":"start"})}break}case"End":{if(!A){$e.preventDefault(),Fn||Hn(!0);const jn=Be.map(Ut=>!!Ut.disabled).lastIndexOf(!1);Ar(jn),ps({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},Gt=me.map($e=>{let yt=ke.find(Mt=>Mt.value===$e&&!Mt.disabled);return!yt&&X&&(yt={value:$e,label:$e}),yt}).filter($e=>!!$e).map(($e,yt)=>F.createElement(k,U4(Hl({},$e),{variant:D,disabled:Y,className:Qe.value,readOnly:zt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ft($e.value)},key:$e.value,size:d,styles:m,classNames:h,radius:ye,index:yt}))),Zt=$e=>me.includes($e),Jt=()=>{var $e;fs(""),ut([]),($e=ln.current)==null||$e.focus(),le&&(st.current=!1)},Vt=!zt&&(Be.length>0?Fn:Fn&&!!R);return Ps(()=>{const $e=Vt?_e:ge;typeof $e=="function"&&$e()},[Vt]),F.createElement(Pc.Wrapper,Hl(Hl({required:s,id:br,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:we,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:xe,withAsterisk:Ne,variant:D},lr),v),F.createElement(hi,{opened:Vt,transitionProps:P,shadow:"sm",withinPortal:Se,portalProps:Fe,__staticSelector:"MultiSelect",onDirectionChange:Hr,switchDirectionOnFlip:Ae,zIndex:He,dropdownPosition:on,positionDependencies:[...Pt,Wr],classNames:h,styles:m,unstyled:xe,variant:D},F.createElement(hi.Target,null,F.createElement("div",{className:Qe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Vt?`${br}-items`:null,"aria-controls":br,"aria-expanded":Fn,onMouseLeave:()=>Ar(-1),tabIndex:-1},F.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Re,disabled:Y}),F.createElement(Pc,Hl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:D,disabled:Y,error:p,required:s,radius:ye,icon:Z,unstyled:xe,onMouseDown:$e=>{var yt;$e.preventDefault(),!Y&&!st.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:U4(Hl({},h),{input:dt({[Qe.input]:!A},h==null?void 0:h.input)})},kE({theme:Lt,rightSection:se,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:Jt,error:p,disabled:Y,clearButtonProps:qe,readOnly:zt})),F.createElement("div",{className:Qe.values,"data-clearable":q||void 0},Gt,F.createElement("input",Hl({ref:Ad(t,ln),type:"search",id:br,className:dt(Qe.searchInput,{[Qe.searchInputPointer]:!A,[Qe.searchInputInputHidden]:!Fn&&me.length>0||!A&&me.length>0,[Qe.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Wr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||st.current||zt,placeholder:me.length===0?$:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),F.createElement(hi.Dropdown,{component:ce||Nm,maxHeight:E,direction:Ro,id:br,innerRef:zs,__staticSelector:"MultiSelect",classNames:h,styles:m},F.createElement(py,{data:Be,hovered:Ce,classNames:h,styles:m,uuid:br,__staticSelector:"MultiSelect",onItemHover:Ar,onItemSelect:jt,itemsRefs:Fr,itemComponent:_,size:d,nothingFound:R,isItemSelected:Zt,creatable:U&&!!ee,createLabel:ee,unstyled:xe,variant:D}))))});jE.displayName="@mantine/core/MultiSelect";var nJ=Object.defineProperty,rJ=Object.defineProperties,oJ=Object.getOwnPropertyDescriptors,Bh=Object.getOwnPropertySymbols,IE=Object.prototype.hasOwnProperty,EE=Object.prototype.propertyIsEnumerable,q4=(e,t,n)=>t in e?nJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y0=(e,t)=>{for(var n in t||(t={}))IE.call(t,n)&&q4(e,n,t[n]);if(Bh)for(var n of Bh(t))EE.call(t,n)&&q4(e,n,t[n]);return e},sJ=(e,t)=>rJ(e,oJ(t)),aJ=(e,t)=>{var n={};for(var r in e)IE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bh)for(var r of Bh(e))t.indexOf(r)<0&&EE.call(e,r)&&(n[r]=e[r]);return n};const iJ={type:"text",size:"sm",__staticSelector:"TextInput"},OE=f.forwardRef((e,t)=>{const n=QI("TextInput",iJ,e),{inputProps:r,wrapperProps:o}=n,s=aJ(n,["inputProps","wrapperProps"]);return F.createElement(Pc.Wrapper,Y0({},o),F.createElement(Pc,sJ(Y0(Y0({},r),s),{ref:t})))});OE.displayName="@mantine/core/TextInput";function lJ({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:a}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!a&&(c==null?void 0:c.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(c),h=p+n,m=h-e.length;return m>0?e.slice(p-m):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var cJ=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const uJ=cJ;var dJ=Object.defineProperty,fJ=Object.defineProperties,pJ=Object.getOwnPropertyDescriptors,Fh=Object.getOwnPropertySymbols,RE=Object.prototype.hasOwnProperty,ME=Object.prototype.propertyIsEnumerable,K4=(e,t,n)=>t in e?dJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vu=(e,t)=>{for(var n in t||(t={}))RE.call(t,n)&&K4(e,n,t[n]);if(Fh)for(var n of Fh(t))ME.call(t,n)&&K4(e,n,t[n]);return e},Q0=(e,t)=>fJ(e,pJ(t)),hJ=(e,t)=>{var n={};for(var r in e)RE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fh)for(var r of Fh(e))t.indexOf(r)<0&&ME.call(e,r)&&(n[r]=e[r]);return n};function mJ(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function gJ(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const vJ={required:!1,size:"sm",shadow:"sm",itemComponent:hy,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:mJ,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:gJ,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:uy("popover"),positionDependencies:[],dropdownPosition:"flip"},ky=f.forwardRef((e,t)=>{const n=QI("Select",vJ,e),{inputProps:r,wrapperProps:o,shadow:s,data:a,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:k,styles:_,filter:I,maxDropdownHeight:P,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:T,onSearchChange:A,searchValue:$,rightSection:Q,rightSectionWidth:B,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:D,onCreate:z,dropdownComponent:H,onDropdownClose:Y,onDropdownOpen:ie,withinPortal:ye,portalProps:Z,switchDirectionOnFlip:se,zIndex:K,name:U,dropdownPosition:ae,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:ce,positionDependencies:ge,readOnly:_e,clearButtonProps:le,hoverOnSearchChange:Se}=n,Fe=hJ(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Ae,cx:He,theme:Ct}=uJ(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),we=f.useRef(),Re=f.useRef({}),[Pt,At]=f.useState("column"),xe=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:zt}=wj({duration:0,offset:5,cancelable:!1,isList:!0}),Ne=re===void 0?O:re,qe=ee=>{if(ct!==ee){on(ee);const he=ee?ie:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Je=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Qe=uj({data:Je}),[dt,Lt,lr]=rd({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Qe.find(ee=>ee.value===dt),[ln,Fr]=rd({value:$,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),br=ee=>{Fr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;_e||(Lt(null),lr||br(""),(ee=we.current)==null||ee.focus())};f.useEffect(()=>{const ee=Qe.find(he=>he.value===dt);ee?br(ee.label):(!Pn||!dt)&&br("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&br(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!_e)if(Ne&&(pn==null?void 0:pn.value)===ee.value)Lt(null),qe(!1);else{if(ee.creatable&&typeof z=="function"){const he=z(ee.value);typeof he<"u"&&he!==null&&Lt(typeof he=="string"?he:he.value)}else Lt(ee.value);lr||br(ee.label),bt(-1),qe(!1),we.current.focus()}},Wn=lJ({data:Qe,searchable:E,limit:M,searchValue:ln,filter:I,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Ar=(ee,he,ke)=>{let me=ee;for(;ke(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};Ps(()=>{bt(Se&&ln?0:-1)},[ln,Se]);const Ro=dt?Wn.findIndex(ee=>ee.value===dt):0,Hr=!_e&&(Wn.length>0?ct:ct&&!!R),Wr=()=>{bt(ee=>{var he;const ke=Ar(ee,me=>me-1,me=>me>0);return $t.current=Re.current[(he=Wn[ke])==null?void 0:he.value],Hr&&ht({alignment:xe?"start":"end"}),ke})},fs=()=>{bt(ee=>{var he;const ke=Ar(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Re.current[(ee=Wn[Ro])==null?void 0:ee.value],ht({alignment:xe?"end":"start"})},50);Ps(()=>{Hr&&Nr()},[Hr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?xe?Wr():fs():(bt(Ro),qe(!0),Nr());break}case"ArrowDown":{ee.preventDefault(),ct?xe?fs():Wr():(bt(Ro),qe(!0),Nr());break}case"Home":{if(!E){ee.preventDefault(),ct||qe(!0);const he=Wn.findIndex(ke=>!ke.disabled);bt(he),Hr&&ht({alignment:xe?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||qe(!0);const he=Wn.map(ke=>!!ke.disabled).lastIndexOf(!1);bt(he),Hr&&ht({alignment:xe?"end":"start"})}break}case"Escape":{ee.preventDefault(),qe(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(qe(!0),bt(Ro),Nr()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},ps=ee=>{typeof v=="function"&&v(ee);const he=Qe.find(ke=>ke.value===dt);D&&Wn[vt]&&ct&&Hn(Wn[vt]),br((he==null?void 0:he.label)||""),qe(!1)},ua=ee=>{typeof b=="function"&&b(ee),E&&qe(!0)},zs=ee=>{_e||(br(ee.currentTarget.value),O&&ee.currentTarget.value===""&&Lt(null),bt(-1),qe(!0))},X=()=>{_e||(qe(!ct),dt&&!ct&&bt(Ro))};return F.createElement(Pc.Wrapper,Q0(vu({},o),{__staticSelector:"Select"}),F.createElement(hi,{opened:Hr,transitionProps:w,shadow:s,withinPortal:ye,portalProps:Z,__staticSelector:"Select",onDirectionChange:At,switchDirectionOnFlip:se,zIndex:K,dropdownPosition:ae,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},F.createElement(hi.Target,null,F.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Hr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Hr,onMouseLeave:()=>bt(-1),tabIndex:-1},F.createElement("input",{type:"hidden",name:U,value:dt||"",form:ce,disabled:T}),F.createElement(Pc,vu(Q0(vu(vu({autoComplete:"off",type:"search"},r),Fe),{ref:Ad(t,we),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:zs,"aria-autocomplete":"list","aria-controls":Hr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:X,onBlur:ps,onFocus:ua,readOnly:!E||_e,disabled:T,"data-mantine-stop-propagation":Hr,name:null,classNames:Q0(vu({},k),{input:He({[Ae.input]:!E},k==null?void 0:k.input)})}),kE({theme:Ct,rightSection:Q,rightSectionWidth:B,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:le,disabled:T,readOnly:_e}))))),F.createElement(hi.Dropdown,{component:H||Nm,maxHeight:P,direction:Pt,id:r.id,innerRef:zt,__staticSelector:"Select",classNames:k,styles:_},F.createElement(py,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Re,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});ky.displayName="@mantine/core/Select";const _y=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,k,_,I,P,E,O,R,M,T,A,$,Q,B,V,q,G,D,z,H,Y,ie]=Dc("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:a,base400:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:k,base950:_,accent50:I,accent100:P,accent150:E,accent200:O,accent250:R,accent300:M,accent350:T,accent400:A,accent450:$,accent500:Q,accent550:B,accent600:V,accent650:q,accent700:G,accent750:D,accent800:z,accent850:H,accent900:Y,accent950:ie}},DE=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=_y(),{colorMode:y}=Ds(),[S]=Dc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:ze(c,r)(y)},separatorLabel:{color:ze(s,s)(y),"::after":{borderTopColor:ze(r,c)(y)}},input:{backgroundColor:ze(e,p)(y),borderWidth:"2px",borderColor:ze(n,d)(y),color:ze(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:ze(r,a)(y)},"&:focus":{borderColor:ze(m,w)(y)},"&:is(:focus, :hover)":{borderColor:ze(o,s)(y)},"&:focus-within":{borderColor:ze(h,w)(y)},"&[data-disabled]":{backgroundColor:ze(r,c)(y),color:ze(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:ze(t,p)(y),color:ze(p,t)(y),button:{color:ze(p,t)(y)},"&:hover":{backgroundColor:ze(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:ze(n,d)(y),borderColor:ze(n,d)(y),boxShadow:S},item:{backgroundColor:ze(n,d)(y),color:ze(d,n)(y),padding:6,"&[data-hovered]":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)},"&[data-active]":{backgroundColor:ze(r,c)(y),"&:hover":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)}},"&[data-selected]":{backgroundColor:ze(v,w)(y),color:ze(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:ze(b,b)(y),color:ze("white",e)(y)}},"&[data-disabled]":{color:ze(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:ze(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},bJ=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:a,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(_o(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(_o(!1))},[d]),b=f.useCallback(y=>{h(""),o&&o(y)},[o]),w=DE();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(ky,{ref:r,label:s?i.jsx(ho,{isDisabled:a,children:i.jsx(zo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},sr=f.memo(bJ),TE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(wn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Oe,{ref:s,...o,children:i.jsxs(Oe,{children:[i.jsx(Sc,{children:e}),n&&i.jsx(Sc,{size:"xs",color:"base.600",children:n})]})})}));TE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(TE),yJ=fe([Ye],({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),xJ=()=>{const e=te(),{autoAddBoardId:t}=L(yJ),n=f.useRef(null),{boards:r,hasBoards:o}=Zh(void 0,{selectFromResult:({data:a})=>{const c=[{label:"None",value:"none"}];return a==null||a.forEach(({board_id:d,board_name:p})=>{c.push({label:p,value:d})}),{boards:c,hasBoards:c.length>1}}}),s=f.useCallback(a=>{a&&e(O_(a==="none"?void 0:a))},[e]);return i.jsx(sr,{label:"Auto-Add Board",inputRef:n,autoFocus:!0,placeholder:"Select a Board",value:t,data:r,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!o,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},wJ=fe([Ye],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n}},Ge),SJ=()=>{const e=te(),{t}=be(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r}=L(wJ),o=s=>{e(Op(s))};return i.jsx(gl,{triggerComponent:i.jsx(Le,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:4,children:[i.jsx(_t,{value:n,onChange:o,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:()=>e(Op(64))}),i.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:s=>e(zR(s.target.checked))}),i.jsx(xJ,{})]})})},CJ=e=>e.image?i.jsx(gm,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(W,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(dl,{size:"xl"})}),mi=e=>{const{icon:t=al,boxSize:n=16}=e;return i.jsxs(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(Kr,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(tt,{textAlign:"center",children:e.label})]})},Lm=0,Ri=1,Vc=2,AE=4;function kJ(e,t){return n=>e(t(n))}function _J(e,t){return t(e)}function NE(e,t){return n=>e(t,n)}function Y4(e,t){return()=>e(t)}function Py(e,t){return t(e),e}function yl(...e){return e}function PJ(e){e()}function Q4(e){return()=>e}function jJ(...e){return()=>{e.map(PJ)}}function Bm(){}function po(e,t){return e(Ri,t)}function Mr(e,t){e(Lm,t)}function jy(e){e(Vc)}function Fm(e){return e(AE)}function Un(e,t){return po(e,NE(t,Lm))}function X4(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function xr(){const e=[];return(t,n)=>{switch(t){case Vc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Lm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function qt(e){let t=e;const n=xr();return(r,o)=>{switch(r){case Ri:o(t);break;case Lm:t=o;break;case AE:return t}return n(r,o)}}function IJ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=po(e,s),t):(r(),Bm);case Vc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function $u(e){return Py(xr(),t=>Un(e,t))}function pc(e,t){return Py(qt(t),n=>Un(e,n))}function EJ(...e){return t=>e.reduceRight(_J,t)}function Kt(e,...t){const n=EJ(...t);return(r,o)=>{switch(r){case Ri:return po(e,n(o));case Vc:jy(e);return}}}function $E(e,t){return e===t}function wo(e=$E){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function qr(e){return t=>n=>{e(n)&&t(n)}}function tr(e){return t=>kJ(t,e)}function ai(e){return t=>()=>t(e)}function fp(e,t){return n=>r=>n(t=e(t,r))}function m1(e){return t=>n=>{e>0?e--:t(n)}}function ju(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function J4(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Ys(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);po(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function Z4(...e){return function(t,n){switch(t){case Ri:return jJ(...e.map(r=>po(r,n)));case Vc:return;default:throw new Error(`unrecognized action ${t}`)}}}function xn(e,t=$E){return Kt(e,wo(t))}function wa(...e){const t=xr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);po(s,d=>{n[a]=d,r=r|c,r===o&&Mr(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),po(t,a);case Vc:return jy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ca(e,t=[],{singleton:n}={singleton:!0}){return{id:OJ(),constructor:e,dependencies:t,singleton:n}}const OJ=()=>Symbol();function RJ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function MJ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const I=y[t.methods[k]];Mr(I,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=IJ(y[t.events[k]]),S),{})}return{Component:F.forwardRef((y,S)=>{const{children:k,..._}=y,[I]=F.useState(()=>Py(RJ(e),E=>d(E,_))),[P]=F.useState(Y4(h,I));return pp(()=>{for(const E of a)E in _&&po(P[E],_[E]);return()=>{Object.values(P).map(jy)}},[_,P,I]),pp(()=>{d(I,_)}),F.useImperativeHandle(S,Q4(p(I))),F.createElement(c.Provider,{value:I},n?F.createElement(n,MJ([...r,...o,...a],_),k):k)}),usePublisher:y=>F.useCallback(NE(Mr,F.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=F.useContext(c)[y],[_,I]=F.useState(Y4(Fm,k));return pp(()=>po(k,P=>{P!==_&&I(Q4(P))}),[k,_]),_},useEmitter:(y,S)=>{const _=F.useContext(c)[y];pp(()=>po(_,S),[S,_])}}}const TJ=typeof document<"u"?F.useLayoutEffect:F.useEffect,AJ=TJ;var Iy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Iy||{});const NJ={0:"debug",1:"log",2:"warn",3:"error"},$J=()=>typeof globalThis>"u"?window:globalThis,zE=ca(()=>{const e=qt(3);return{log:qt((n,r,o=1)=>{var s;const a=(s=$J().VIRTUOSO_LOG_LEVEL)!=null?s:Fm(e);o>=a&&console[NJ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function LE(e,t=!0){const n=F.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=F.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function Hm(e,t=!0){return LE(e,t).callbackRef}function Hh(e,t){return Math.round(e.getBoundingClientRect()[t])}function BE(e,t){return Math.abs(e-t)<1.01}function FE(e,t,n,r=Bm,o){const s=F.useRef(null),a=F.useRef(null),c=F.useRef(null),d=F.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():LR.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);F.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(Hh(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=Hh(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),BE(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const Wm=ca(()=>{const e=xr(),t=xr(),n=qt(0),r=xr(),o=qt(0),s=xr(),a=xr(),c=qt(0),d=qt(0),p=qt(0),h=qt(0),m=xr(),v=xr(),b=qt(!1);return Un(Kt(e,tr(({scrollTop:w})=>w)),t),Un(Kt(e,tr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),zJ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function LJ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!zJ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const Wh="up",zu="down",BJ="none",FJ={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},HJ=0,HE=ca(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=qt(!1),c=qt(!0),d=xr(),p=xr(),h=qt(4),m=qt(HJ),v=pc(Kt(Z4(Kt(xn(t),m1(1),ai(!0)),Kt(xn(t),m1(1),ai(!1),J4(100))),wo()),!1),b=pc(Kt(Z4(Kt(s,ai(!0)),Kt(s,ai(!1),J4(200))),wo()),!1);Un(Kt(wa(xn(t),xn(m)),tr(([_,I])=>_<=I),wo()),c),Un(Kt(c,ju(50)),p);const w=$u(Kt(wa(e,xn(n),xn(r),xn(o),xn(h)),fp((_,[{scrollTop:I,scrollHeight:P},E,O,R,M])=>{const T=I+E-P>-M,A={viewportHeight:E,scrollTop:I,scrollHeight:P};if(T){let Q,B;return I>_.state.scrollTop?(Q="SCROLLED_DOWN",B=_.state.scrollTop-I):(Q="SIZE_DECREASED",B=_.state.scrollTop-I||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:B}}let $;return A.scrollHeight>_.state.scrollHeight?$="SIZE_INCREASED":E<_.state.viewportHeight?$="VIEWPORT_HEIGHT_DECREASING":I<_.state.scrollTop?$="SCROLLING_UPWARDS":$="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:$,state:A}},FJ),wo((_,I)=>_&&_.atBottom===I.atBottom))),y=pc(Kt(e,fp((_,{scrollTop:I,scrollHeight:P,viewportHeight:E})=>{if(BE(_.scrollHeight,P))return{scrollTop:I,scrollHeight:P,jump:0,changed:!1};{const O=P-(I+E)<1;return _.scrollTop!==I&&O?{scrollHeight:P,scrollTop:I,jump:_.scrollTop-I,changed:!0}:{scrollHeight:P,scrollTop:I,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),qr(_=>_.changed),tr(_=>_.jump)),0);Un(Kt(w,tr(_=>_.atBottom)),a),Un(Kt(a,ju(50)),d);const S=qt(zu);Un(Kt(e,tr(({scrollTop:_})=>_),wo(),fp((_,I)=>Fm(b)?{direction:_.direction,prevScrollTop:I}:{direction:I<_.prevScrollTop?Wh:zu,prevScrollTop:I},{direction:zu,prevScrollTop:0}),tr(_=>_.direction)),S),Un(Kt(e,ju(50),ai(BJ)),S);const k=qt(0);return Un(Kt(v,qr(_=>!_),ai(0)),k),Un(Kt(t,ju(100),Ys(v),qr(([_,I])=>!!I),fp(([_,I],[P])=>[I,P],[0,0]),tr(([_,I])=>I-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},yl(Wm)),WJ=ca(([{log:e}])=>{const t=qt(!1),n=$u(Kt(t,qr(r=>r),wo()));return po(t,r=>{r&&Fm(e)("props updated",{},Iy.DEBUG)}),{propsReady:t,didMount:n}},yl(zE),{singleton:!0});function WE(e,t){e==0?t():requestAnimationFrame(()=>WE(e-1,t))}function VJ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function g1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function UJ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const Vh="top",Uh="bottom",ek="none";function tk(e,t,n){return typeof e=="number"?n===Wh&&t===Vh||n===zu&&t===Uh?e:0:n===Wh?t===Vh?e.main:e.reverse:t===Uh?e.main:e.reverse}function nk(e,t){return typeof e=="number"?e:e[t]||0}const GJ=ca(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=xr(),a=qt(0),c=qt(0),d=qt(0),p=pc(Kt(wa(xn(e),xn(t),xn(r),xn(s,g1),xn(d),xn(a),xn(o),xn(n),xn(c)),tr(([h,m,v,[b,w],y,S,k,_,I])=>{const P=h-_,E=S+k,O=Math.max(v-P,0);let R=ek;const M=nk(I,Vh),T=nk(I,Uh);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=Wh),wh!=null),wo(g1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},yl(Wm),{singleton:!0}),qJ=ca(([{scrollVelocity:e}])=>{const t=qt(!1),n=xr(),r=qt(!1);return Un(Kt(e,Ys(r,t,n),qr(([o,s])=>!!s),tr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),wo()),t),po(Kt(wa(t,e,n),Ys(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},yl(HE),{singleton:!0});function KJ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const YJ=ca(([{scrollTo:e,scrollContainerState:t}])=>{const n=xr(),r=xr(),o=xr(),s=qt(!1),a=qt(void 0);return Un(Kt(wa(n,r),tr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Kt(e,Ys(r),tr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},yl(Wm)),X0="-webkit-sticky",rk="sticky",VE=KJ(()=>{if(typeof document>"u")return rk;const e=document.createElement("div");return e.style.position=X0,e.style.position===X0?X0:rk});function QJ(e,t){const n=F.useRef(null),r=F.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=LE(r),a=F.useCallback(()=>{r(s.current)},[r,s]);return F.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}F.createContext(void 0);const UE=F.createContext(void 0);function XJ(e){return e}VE();const JJ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},GE={width:"100%",height:"100%",position:"absolute",top:0};VE();function el(e,t){if(typeof e!="string")return{context:t}}function ZJ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return F.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=FE(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),F.createElement(p,{ref:b,style:{...JJ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...el(p,v)},a)})}function eZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return F.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=FE(d,h,p,Bm,b);return AJ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),F.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...el(p,w)},a)})}const ok={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},tZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:sk,ceil:ak,floor:Gh,min:J0,max:Lu}=Math;function nZ(e){return{...tZ,items:e}}function ik(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function rZ(e,t){return e&&e.column===t.column&&e.row===t.row}function hp(e,t){return e&&e.width===t.width&&e.height===t.height}const oZ=ca(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:I},P])=>{const E=qt(0),O=qt(0),R=qt(ok),M=qt({height:0,width:0}),T=qt({height:0,width:0}),A=xr(),$=xr(),Q=qt(0),B=qt(null),V=qt({row:0,column:0}),q=xr(),G=xr(),D=qt(!1),z=qt(0),H=qt(!0),Y=qt(!1);po(Kt(w,Ys(z),qr(([U,ae])=>!!ae)),()=>{Mr(H,!1),Mr(O,0)}),po(Kt(wa(w,H,T,M,z,Y),qr(([U,ae,re,oe,,pe])=>U&&!ae&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Mr(Y,!0),WE(1,()=>{Mr(A,U)}),X4(Kt(r),()=>{Mr(n,[0,0]),Mr(H,!0)})}),Un(Kt(G,qr(U=>U!=null&&U.scrollTop>0),ai(0)),O),po(Kt(w,Ys(G),qr(([,U])=>U!=null)),([,U])=>{U&&(Mr(M,U.viewport),Mr(T,U==null?void 0:U.item),Mr(V,U.gap),U.scrollTop>0&&(Mr(D,!0),X4(Kt(r,m1(1)),ae=>{Mr(D,!1)}),Mr(a,{top:U.scrollTop})))}),Un(Kt(M,tr(({height:U})=>U)),o),Un(Kt(wa(xn(M,hp),xn(T,hp),xn(V,(U,ae)=>U&&U.column===ae.column&&U.row===ae.row),xn(r)),tr(([U,ae,re,oe])=>({viewport:U,item:ae,gap:re,scrollTop:oe}))),q),Un(Kt(wa(xn(E),t,xn(V,rZ),xn(T,hp),xn(M,hp),xn(B),xn(O),xn(D),xn(H),xn(z)),qr(([,,,,,,,U])=>!U),tr(([U,[ae,re],oe,pe,ce,ge,_e,,le,Se])=>{const{row:Fe,column:Ae}=oe,{height:He,width:Ct}=pe,{width:ct}=ce;if(_e===0&&(U===0||ct===0))return ok;if(Ct===0){const $t=VJ(Se,U),zt=$t===0?Math.max(_e-1,0):$t;return nZ(ik($t,zt,ge))}const on=qE(ct,Ct,Ae);let vt,bt;le?ae===0&&re===0&&_e>0?(vt=0,bt=_e-1):(vt=on*Gh((ae+Fe)/(He+Fe)),bt=on*ak((re+Fe)/(He+Fe))-1,bt=J0(U-1,Lu(bt,on-1)),vt=J0(bt,Lu(0,vt))):(vt=0,bt=-1);const we=ik(vt,bt,ge),{top:Re,bottom:Pt}=lk(ce,oe,pe,we),At=ak(U/on),ht=At*He+(At-1)*Fe-Pt;return{items:we,offsetTop:Re,offsetBottom:ht,top:Re,bottom:Pt,itemHeight:He,itemWidth:Ct}})),R),Un(Kt(B,qr(U=>U!==null),tr(U=>U.length)),E),Un(Kt(wa(M,T,R,V),qr(([U,ae,{items:re}])=>re.length>0&&ae.height!==0&&U.height!==0),tr(([U,ae,{items:re},oe])=>{const{top:pe,bottom:ce}=lk(U,oe,ae,re);return[pe,ce]}),wo(g1)),n);const ie=qt(!1);Un(Kt(r,Ys(ie),tr(([U,ae])=>ae||U!==0)),ie);const ye=$u(Kt(xn(R),qr(({items:U})=>U.length>0),Ys(E,ie),qr(([{items:U},ae,re])=>re&&U[U.length-1].index===ae-1),tr(([,U])=>U-1),wo())),Z=$u(Kt(xn(R),qr(({items:U})=>U.length>0&&U[0].index===0),ai(0),wo())),se=$u(Kt(xn(R),Ys(D),qr(([{items:U},ae])=>U.length>0&&!ae),tr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),wo(UJ),ju(0)));Un(se,v.scrollSeekRangeChanged),Un(Kt(A,Ys(M,T,E,V),tr(([U,ae,re,oe,pe])=>{const ce=LJ(U),{align:ge,behavior:_e,offset:le}=ce;let Se=ce.index;Se==="LAST"&&(Se=oe-1),Se=Lu(0,Se,J0(oe-1,Se));let Fe=v1(ae,pe,re,Se);return ge==="end"?Fe=sk(Fe-ae.height+re.height):ge==="center"&&(Fe=sk(Fe-ae.height/2+re.height/2)),le&&(Fe+=le),{top:Fe,behavior:_e}})),a);const K=pc(Kt(R,tr(U=>U.offsetBottom+U.bottom)),0);return Un(Kt(y,tr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:B,totalCount:E,viewportDimensions:M,itemDimensions:T,scrollTop:r,scrollHeight:$,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:I,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:z,gridState:R,totalListHeight:K,...m,startReached:Z,endReached:ye,rangeChanged:se,stateChanged:q,propsReady:b,stateRestoreInProgress:D,...P}},yl(GJ,Wm,HE,qJ,WJ,YJ,zE));function lk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=v1(e,t,n,r[0].index),a=v1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function v1(e,t,n,r){const o=qE(e.width,n.width,t.column),s=Gh(r/o),a=s*n.height+Lu(0,s-1)*t.row;return a>0?a+t.row:a}function qE(e,t,n){return Lu(1,Gh((e+n)/(Gh(t)+n)))}const sZ=ca(()=>{const e=qt(p=>`Item ${p}`),t=qt({}),n=qt(null),r=qt("virtuoso-grid-item"),o=qt("virtuoso-grid-list"),s=qt(XJ),a=qt("div"),c=qt(Bm),d=(p,h=null)=>pc(Kt(t,tr(m=>m[p]),wo()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),aZ=ca(([e,t])=>({...e,...t}),yl(oZ,sZ)),iZ=F.memo(function(){const t=fr("gridState"),n=fr("listClassName"),r=fr("itemClassName"),o=fr("itemContent"),s=fr("computeItemKey"),a=fr("isSeeking"),c=Is("scrollHeight"),d=fr("ItemComponent"),p=fr("ListComponent"),h=fr("ScrollSeekPlaceholder"),m=fr("context"),v=Is("itemDimensions"),b=Is("gap"),w=fr("log"),y=fr("stateRestoreInProgress"),S=Hm(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const I=k.firstChild;if(I){const{width:P,height:E}=I.getBoundingClientRect();v({width:P,height:E})}b({row:ck("row-gap",getComputedStyle(k).rowGap,w),column:ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:F.createElement(p,{ref:S,className:n,...el(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?F.createElement(h,{key:_,...el(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):F.createElement(d,{...el(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),lZ=F.memo(function(){const t=fr("HeaderComponent"),n=Is("headerHeight"),r=fr("headerFooterTag"),o=Hm(a=>n(Hh(a,"height"))),s=fr("context");return t?F.createElement(r,{ref:o},F.createElement(t,el(t,s))):null}),cZ=F.memo(function(){const t=fr("FooterComponent"),n=Is("footerHeight"),r=fr("headerFooterTag"),o=Hm(a=>n(Hh(a,"height"))),s=fr("context");return t?F.createElement(r,{ref:o},F.createElement(t,el(t,s))):null}),uZ=({children:e})=>{const t=F.useContext(UE),n=Is("itemDimensions"),r=Is("viewportDimensions"),o=Hm(s=>{r(s.getBoundingClientRect())});return F.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),F.createElement("div",{style:GE,ref:o},e)},dZ=({children:e})=>{const t=F.useContext(UE),n=Is("windowViewportRect"),r=Is("itemDimensions"),o=fr("customScrollParent"),s=QJ(n,o);return F.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),F.createElement("div",{ref:s,style:GE},e)},fZ=F.memo(function({...t}){const n=fr("useWindowScroll"),r=fr("customScrollParent"),o=r||n?mZ:hZ,s=r||n?dZ:uZ;return F.createElement(o,{...t},F.createElement(s,null,F.createElement(lZ,null),F.createElement(iZ,null),F.createElement(cZ,null)))}),{Component:pZ,usePublisher:Is,useEmitterValue:fr,useEmitter:KE}=DJ(aZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},fZ),hZ=ZJ({usePublisher:Is,useEmitterValue:fr,useEmitter:KE}),mZ=eZ({usePublisher:Is,useEmitterValue:fr,useEmitter:KE});function ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Iy.WARN),t==="normal"?0:parseInt(t??"0",10)}const YE=pZ,gZ=({imageDTO:e})=>i.jsx(W,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(pl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),Vm=({postUploadAction:e,isDisabled:t})=>{const n=L(d=>d.gallery.autoAddBoardId),[r]=j_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=zb({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Ey=()=>{const e=te(),t=Bc(),{t:n}=be(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((P,E)=>{if(If(P)||Ef(E)){If(P)&&e(Ru(P)),Ef(E)&&e(Mu(E)),r();return}o()},[e,r,o]),d=f.useCallback(P=>{if(!If(P)){o();return}e(Ru(P)),r()},[e,r,o]),p=f.useCallback(P=>{if(!Ef(P)){o();return}e(Mu(P)),r()},[e,r,o]),h=f.useCallback(P=>{if(!R2(P)){o();return}e(Rp(P)),r()},[e,r,o]),m=f.useCallback(P=>{if(!M2(P)){o();return}e(Mp(P)),r()},[e,r,o]),v=f.useCallback(P=>{if(!D2(P)){o();return}e(hv(P)),r()},[e,r,o]),b=f.useCallback(P=>{if(!T2(P)){o();return}e(mv(P)),r()},[e,r,o]),w=f.useCallback(P=>{if(!A2(P)){o();return}e(Dp(P)),r()},[e,r,o]),y=f.useCallback(P=>{if(!N2(P)){o();return}e(hc(P)),r()},[e,r,o]),S=f.useCallback(P=>{if(!$2(P)){o();return}e(mc(P)),r()},[e,r,o]),k=f.useCallback(P=>{if(!z2(P)){o();return}e(Tp(P)),r()},[e,r,o]),_=f.useCallback(P=>{e($1(P))},[e]),I=f.useCallback(P=>{if(!P){a();return}const{cfg_scale:E,height:O,model:R,positive_prompt:M,negative_prompt:T,scheduler:A,seed:$,steps:Q,width:B,strength:V}=P;M2(E)&&e(Mp(E)),D2(R)&&e(hv(R)),If(M)&&e(Ru(M)),Ef(T)&&e(Mu(T)),T2(A)&&e(mv(A)),R2($)&&e(Rp($)),A2(Q)&&e(Dp(Q)),N2(B)&&e(hc(B)),$2(O)&&e(mc(O)),z2(V)&&e(Tp(V)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSeed:h,recallCfgScale:m,recallModel:v,recallScheduler:b,recallSteps:w,recallWidth:y,recallHeight:S,recallStrength:k,recallAllParameters:I,sendToImageToImage:_}},ar=e=>{const t=L(a=>a.config.disabledTabs),n=L(a=>a.config.disabledFeatures),r=L(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},Oy=()=>{const e=Bc(),{t}=be(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function vZ(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var T=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,T)},I=function(M,T){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,T)},P=function(M){if(!m.current)return!1;var T=M-o.current;return!o.current||T>=t||T<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var T=Date.now();if(P(T))return E(T);if(m.current){var A=t-(T-o.current),$=y?Math.min(A,S-(T-s.current)):A;I(M,$)}},R=function(){var M=Date.now(),T=P(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,T){if(!a.current&&m.current)return s.current=o.current,I(O,t),b?_(o.current):p.current;if(y)return I(O,t),_(o.current)}return a.current||I(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function bZ(e,t){return e===t}function uk(e){return typeof e=="function"?function(){return e}:e}function Ry(e,t,n){var r,o,s=n&&n.equalityFn||bZ,a=(r=f.useState(uk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(uk(m))},[])]),c=a[0],d=a[1],p=vZ(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}z1("gallery/requestedBoardImagesDeletion");const yZ=z1("gallery/sentImageToCanvas"),QE=z1("gallery/sentImageToImg2Img"),xZ=e=>{const{imageDTO:t}=e,n=f.useMemo(()=>fe([Ye],({gallery:V})=>({isInBatch:V.batchImageNames.includes(t.image_name)}),Ge),[t.image_name]),{isInBatch:r}=L(n),o=te(),{t:s}=be(),a=Bc(),c=ar("unifiedCanvas").isFeatureEnabled,d=ar("batches").isFeatureEnabled,{onClickAddToBoard:p}=f.useContext(T_),[h,m]=Ry(t.image_name,500),{currentData:v}=L1(m.isPending()?oo.skipToken:h??oo.skipToken),{isClipboardAPIAvailable:b,copyImageToClipboard:w}=Oy(),y=v==null?void 0:v.metadata,S=f.useCallback(()=>{t&&o(B1(t))},[o,t]),{recallBothPrompts:k,recallSeed:_,recallAllParameters:I}=Ey(),[P]=BR(),E=f.useCallback(()=>{k(y==null?void 0:y.positive_prompt,y==null?void 0:y.negative_prompt)},[y==null?void 0:y.negative_prompt,y==null?void 0:y.positive_prompt,k]),O=f.useCallback(()=>{_(y==null?void 0:y.seed)},[y==null?void 0:y.seed,_]),R=f.useCallback(()=>{o(QE()),o($1(t))},[o,t]),M=f.useCallback(()=>{o(yZ()),o(FR(t)),o(em()),o(ql("unifiedCanvas")),a({title:s("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[o,t,s,a]),T=f.useCallback(()=>{console.log(y),I(y)},[y,I]),A=f.useCallback(()=>{p(t)},[t,p]),$=f.useCallback(()=>{t.board_id&&P({imageDTO:t})},[t,P]),Q=f.useCallback(()=>{o(HR([t.image_name]))},[o,t.image_name]),B=f.useCallback(()=>{w(t.image_url)},[w,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(kr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(GH,{}),children:s("common.openInNewTab")}),b&&i.jsx(kr,{icon:i.jsx(Fc,{}),onClickCapture:B,children:s("parameters.copyImage")}),i.jsx(kr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(Bb,{}),w:"100%",children:s("parameters.downloadImage")}),i.jsx(kr,{icon:i.jsx(x6,{}),onClickCapture:E,isDisabled:(y==null?void 0:y.positive_prompt)===void 0&&(y==null?void 0:y.negative_prompt)===void 0,children:s("parameters.usePrompt")}),i.jsx(kr,{icon:i.jsx(w6,{}),onClickCapture:O,isDisabled:(y==null?void 0:y.seed)===void 0,children:s("parameters.useSeed")}),i.jsx(kr,{icon:i.jsx(d6,{}),onClickCapture:T,isDisabled:!y,children:s("parameters.useAll")}),i.jsx(kr,{icon:i.jsx(CS,{}),onClickCapture:R,id:"send-to-img2img",children:s("parameters.sendToImg2Img")}),c&&i.jsx(kr,{icon:i.jsx(CS,{}),onClickCapture:M,id:"send-to-canvas",children:s("parameters.sendToUnifiedCanvas")}),d&&i.jsx(kr,{icon:i.jsx(M0,{}),isDisabled:r,onClickCapture:Q,children:"Add to Batch"}),i.jsx(kr,{icon:i.jsx(M0,{}),onClickCapture:A,children:t.board_id?"Change Board":"Add to Board"}),t.board_id&&i.jsx(kr,{icon:i.jsx(M0,{}),onClickCapture:$,children:"Remove from Board"}),i.jsx(kr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClickCapture:S,children:s("gallery.deleteImage")})]})},XE=f.memo(xZ),wZ=({imageDTO:e,children:t})=>{const n=f.useCallback(r=>{r.preventDefault()},[]);return i.jsx(oj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?i.jsx(zc,{sx:{visibility:"visible !important"},motionProps:nm,onContextMenu:n,children:i.jsx(XE,{imageDTO:e})}):null,children:t})},JE=f.memo(wZ),SZ=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(ui()),{attributes:s,listeners:a,setNodeRef:c}=WR({id:o.current,disabled:n,data:t});return i.jsx(Oe,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},CZ=f.memo(SZ),kZ=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:I="Reset",resetIcon:P=i.jsx(Hb,{}),noContentFallback:E=i.jsx(mi,{icon:al}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[T,A]=f.useState(!1),$=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:B,getUploadInputProps:V}=Vm({postUploadAction:m,isDisabled:p}),q=vp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:ze("base.200","base.800")(M),_hover:{bg:ze("base.300","base.650")(M),color:ze("base.500","base.300")(M)}};return i.jsx(JE,{imageDTO:t,children:D=>i.jsxs(W,{ref:D,onMouseOver:$,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(W,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Tc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(CJ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(gZ,{imageDTO:t}),i.jsx(ly,{isSelected:k,isHovered:R?T:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:ze("base.500","base.500")(M),...G},...B(),children:[i.jsx("input",{...V()}),i.jsx(Kr,{as:Md,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(CZ,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(iy,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(Le,{onClick:n,"aria-label":I,tooltip:I,icon:P,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},yi=f.memo(kZ),_Z=()=>i.jsx(Oe,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.100",color:"base.500",_dark:{color:"base.700",bg:"base.850"}},children:i.jsx(Kr,{as:WH,boxSize:16,opacity:.7})})}),ZE=()=>i.jsx(gm,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),PZ=e=>fe([Ye],t=>({selectionCount:t.gallery.selection.length,selection:t.gallery.selection,isSelected:t.gallery.selection.includes(e)}),Ge),jZ=e=>{const t=te(),{imageName:n}=e,{currentData:r,isLoading:o,isError:s}=os(n),a=f.useMemo(()=>PZ(n),[n]),{isSelected:c,selectionCount:d,selection:p}=L(a),h=f.useCallback(()=>{t(VR([n]))},[t,n]),m=f.useMemo(()=>{if(d>1)return{id:"batch",payloadType:"IMAGE_NAMES",payload:{image_names:p}};if(r)return{id:"batch",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,p,d]);return o?i.jsx(ZE,{}):s||!r?i.jsx(_Z,{}):i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(JE,{imageDTO:r,children:v=>i.jsx(Oe,{position:"relative",userSelect:"none",ref:v,sx:{display:"flex",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{imageDTO:r,draggableData:m,isSelected:c,minSize:0,onClickReset:h,isDropDisabled:!0,imageSx:{w:"full",h:"full"},isUploadDisabled:!0,resetTooltip:"Remove from batch",withResetIcon:!0,thumbnail:!0})},n)})})},IZ=f.memo(jZ),eO=Te((e,t)=>i.jsx(Oe,{className:"item-container",ref:t,p:1.5,children:e.children})),tO=Te((e,t)=>{const n=L(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(rl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),EZ=fe([Ye],e=>({imageNames:e.gallery.batchImageNames}),Ge),OZ=()=>{const{t:e}=be(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=sy({defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}}),{imageNames:a}=L(EZ);return f.useEffect(()=>{const{current:c}=t;return n&&c&&o({target:c,elements:{viewport:n}}),()=>{var d;return(d=s())==null?void 0:d.destroy()}},[n,o,s]),a.length?i.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(YE,{style:{height:"100%"},data:a,components:{Item:eO,List:tO},scrollerRef:r,itemContent:(c,d)=>i.jsx(IZ,{imageName:d},d)})}):i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:al})},RZ=f.memo(OZ),MZ=e=>{const t=L(s=>s.gallery.galleryView),{data:n}=UR(e),{data:r}=GR(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},DZ=e=>fe([Ye],({gallery:t})=>({isSelected:t.selection.includes(e),selectionCount:t.selection.length,selection:t.selection}),Ge),TZ=e=>{const t=te(),{imageName:n}=e,{currentData:r}=os(n),o=f.useMemo(()=>DZ(n),[n]),{isSelected:s,selectionCount:a,selection:c}=L(o),d=f.useCallback(()=>{t(gv(n))},[t,n]),p=f.useCallback(m=>{m.stopPropagation(),r&&t(B1(r))},[t,r]),h=f.useMemo(()=>{if(a>1)return{id:"gallery-image",payloadType:"IMAGE_NAMES",payload:{image_names:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,a]);return r?i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(W,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{onClick:d,imageDTO:r,draggableData:h,isSelected:s,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0})})}):i.jsx(ZE,{})},AZ=f.memo(TZ),NZ={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},$Z=()=>{const{t:e}=be(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=sy(NZ),a=L(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=MZ(a),d=L(A_),{currentData:p,isFetching:h,isSuccess:m,isError:v}=qR(d),[b]=N_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:$_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:al})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(YE,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:eO,List:tO},scrollerRef:r,itemContent:(S,k)=>i.jsx(AZ,{imageName:k},k)})}),i.jsx(rn,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Oe,{sx:{w:"full",h:"full"},children:i.jsx(mi,{label:"Unable to load Gallery",icon:h6})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:"Loading...",icon:al})})},zZ=f.memo($Z),LZ=fe([Ye],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{selectedBoardId:t,galleryView:n}},Ge),BZ=()=>{const e=f.useRef(null),t=f.useRef(null),{selectedBoardId:n,galleryView:r}=L(LZ),o=te(),{isOpen:s,onToggle:a}=ss(),c=f.useCallback(()=>{o(L2("images"))},[o]),d=f.useCallback(()=>{o(L2("assets"))},[o]);return i.jsxs(VP,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Oe,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(rU,{isOpen:s,onToggle:a}),i.jsx(SJ,{}),i.jsx(sU,{})]}),i.jsx(Oe,{children:i.jsx(eU,{isOpen:s})})]}),i.jsxs(W,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(W,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx(Ed,{index:r==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(Od,{children:i.jsxs(nr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(wc,{as:rn,size:"sm",isChecked:r==="images",onClick:c,sx:{w:"full"},leftIcon:i.jsx(XH,{}),children:"Images"}),i.jsx(wc,{as:rn,size:"sm",isChecked:r==="assets",onClick:d,sx:{w:"full"},leftIcon:i.jsx(lW,{}),children:"Assets"})]})})})}),n==="batch"?i.jsx(RZ,{}):i.jsx(zZ,{})]})]})},nO=f.memo(BZ),FZ=fe([Kn,La,KR,ir],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Xt}}),HZ=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=L(FZ),o=()=>{e(vv(!1)),t&&e(So())};nt("esc",()=>{e(vv(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return nt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Op(a))}},[r]),nt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Op(a))}},[r]),t?null:i.jsx(i6,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(nO,{})})},WZ=f.memo(HZ),VZ=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(wn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(ho,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(zo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Nb,{...c})]})})},Pr=f.memo(VZ),UZ=fe([Ye,YR],({system:e,config:t,imageDeletion:n},r)=>{const{shouldConfirmOnDelete:o}=e,{canRestoreDeletedImagesFromBin:s}=t,{imageToDelete:a,isModalOpen:c}=n;return{shouldConfirmOnDelete:o,canRestoreDeletedImagesFromBin:s,imageToDelete:a,imageUsage:r,isModalOpen:c}},Ge),GZ=()=>{const e=te(),{t}=be(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imageToDelete:o,imageUsage:s,isModalOpen:a}=L(UZ),c=f.useCallback(m=>e(z_(!m.target.checked)),[e]),d=f.useCallback(()=>{e(B2()),e(QR(!1))},[e]),p=f.useCallback(()=>{!o||!s||(e(B2()),e(XR({imageDTO:o,imageUsage:s})))},[e,o,s]),h=f.useRef(null);return i.jsx(Pd,{isOpen:a,onClose:d,leastDestructiveRef:h,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Da,{children:i.jsxs(W,{direction:"column",gap:3,children:[i.jsx(ej,{imageUsage:s}),i.jsx(hl,{}),i.jsx(tt,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(tt,{children:t("common.areYouSure")}),i.jsx(Pr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:c})]})}),i.jsxs(Oa,{children:[i.jsx(rn,{ref:h,onClick:d,children:"Cancel"}),i.jsx(rn,{colorScheme:"error",onClick:p,ml:3,children:"Delete"})]})]})})})},qZ=f.memo(GZ);function KZ(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(rl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(rl,{children:[i.jsx(tt,{fontWeight:600,children:t}),r&&i.jsx(tt,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Oe,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function YZ({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=be(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(W,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(W,{flexDir:"column",px:2,gap:4,children:[i.jsx(KZ,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=JR(),n=f.useRef(null),r=rO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Tc,{src:M_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(W,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(tt,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(Fo,{children:e&&r&&t&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(tt,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},nee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=DE();return i.jsx(wn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(ky,{label:r?i.jsx(ho,{isRequired:s,isDisabled:o,children:i.jsx(zo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Yr=f.memo(nee);function Yo(e){const{t}=be(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(W,{justifyContent:"space-between",py:1,children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(tt,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(pl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(Pr,{...c})]})}const Gl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function ree(){const e=te(),{data:t,refetch:n}=ZR(),[r,{isLoading:o}]=eM(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(tM()),e(F1()),e(Dn({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:"Clear Intermediates"}),i.jsx(rn,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(tt,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(tt,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(tt,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const oee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=_y(),{colorMode:y}=Ds(),[S]=Dc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:ze(c,r)(y)},separatorLabel:{color:ze(s,s)(y),"::after":{borderTopColor:ze(r,c)(y)}},searchInput:{":placeholder":{color:ze(r,c)(y)}},input:{backgroundColor:ze(e,p)(y),borderWidth:"2px",borderColor:ze(n,d)(y),color:ze(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:ze(r,a)(y)},"&:focus":{borderColor:ze(m,w)(y)},"&:is(:focus, :hover)":{borderColor:ze(o,s)(y)},"&:focus-within":{borderColor:ze(h,w)(y)},"&[data-disabled]":{backgroundColor:ze(r,c)(y),color:ze(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:ze(n,d)(y),color:ze(p,t)(y),button:{color:ze(p,t)(y)},"&:hover":{backgroundColor:ze(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:ze(n,d)(y),borderColor:ze(n,d)(y),boxShadow:S},item:{backgroundColor:ze(n,d)(y),color:ze(d,n)(y),padding:6,"&[data-hovered]":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)},"&[data-active]":{backgroundColor:ze(r,c)(y),"&:hover":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)}},"&[data-selected]":{backgroundColor:ze(v,w)(y),color:ze(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:ze(b,b)(y),color:ze("white",e)(y)}},"&[data-disabled]":{color:ze(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:ze(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},see=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(_o(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(_o(!1))},[c]),h=oee();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(jE,{label:o?i.jsx(ho,{isDisabled:s,children:i.jsx(zo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},aee=f.memo(see),iee=cs(H1,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function lee(){const e=te(),{t}=be(),n=L(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(nM(o))},[e]);return i.jsx(aee,{label:t("settings.favoriteSchedulers"),value:n,data:iee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const cee={ar:Ln.t("common.langArabic",{lng:"ar"}),nl:Ln.t("common.langDutch",{lng:"nl"}),en:Ln.t("common.langEnglish",{lng:"en"}),fr:Ln.t("common.langFrench",{lng:"fr"}),de:Ln.t("common.langGerman",{lng:"de"}),he:Ln.t("common.langHebrew",{lng:"he"}),it:Ln.t("common.langItalian",{lng:"it"}),ja:Ln.t("common.langJapanese",{lng:"ja"}),ko:Ln.t("common.langKorean",{lng:"ko"}),pl:Ln.t("common.langPolish",{lng:"pl"}),pt_BR:Ln.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Ln.t("common.langPortuguese",{lng:"pt"}),ru:Ln.t("common.langRussian",{lng:"ru"}),zh_CN:Ln.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Ln.t("common.langSpanish",{lng:"es"}),uk:Ln.t("common.langUkranian",{lng:"ua"})},uee=fe([Ye],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Xt}}),dee=({children:e,config:t})=>{const n=te(),{t:r}=be(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0;f.useEffect(()=>{s||n(F2(!1))},[s,n]);const{isNSFWCheckerAvailable:h,isWatermarkerAvailable:m}=L_(void 0,{selectFromResult:({data:Z})=>({isNSFWCheckerAvailable:(Z==null?void 0:Z.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(Z==null?void 0:Z.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:v,onOpen:b,onClose:w}=ss(),{isOpen:y,onOpen:S,onClose:k}=ss(),{shouldConfirmOnDelete:_,enableImageDebugging:I,shouldUseCanvasBetaLayout:P,shouldUseSliders:E,shouldShowProgressInViewer:O,consoleLogLevel:R,shouldLogToConsole:M,shouldAntialiasProgressImage:T,shouldShowAdvancedOptions:A,isNodesEnabled:$,shouldUseNSFWChecker:Q,shouldUseWatermarker:B}=L(uee),V=f.useCallback(()=>{Object.keys(window.localStorage).forEach(Z=>{(rM.includes(Z)||Z.startsWith(oM))&&localStorage.removeItem(Z)}),w(),S()},[w,S]),q=f.useCallback(Z=>{n(sM(Z))},[n]),G=f.useCallback(Z=>{n(aM(Z))},[n]),D=f.useCallback(Z=>{n(F2(Z.target.checked))},[n]),z=f.useCallback(Z=>{n(iM(Z.target.checked))},[n]),{colorMode:H,toggleColorMode:Y}=Ds(),ie=ar("localization").isFeatureEnabled,ye=L(V5);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:b}),i.jsxs(Xu,{isOpen:v,onClose:w,size:"2xl",isCentered:!0,children:[i.jsx(Ma,{}),i.jsxs(Ju,{children:[i.jsx(Ra,{bg:"none",children:r("common.settingsLabel")}),i.jsx(Ob,{}),i.jsx(Da,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:_,onChange:Z=>n(z_(Z.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:A,onChange:Z=>n(lM(Z.target.checked))})]}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.generation")}),i.jsx(lee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!h,isChecked:Q,onChange:Z=>n(cM(Z.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!m,isChecked:B,onChange:Z=>n(uM(Z.target.checked))})]}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:H==="dark",onChange:Y}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:E,onChange:Z=>n(dM(Z.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:O,onChange:Z=>n(B_(Z.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:T,onChange:Z=>n(fM(Z.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:P,onChange:Z=>n(pM(Z.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:$,onChange:z}),i.jsx(Yr,{disabled:!ie,label:r("common.languagePickerLabel"),value:ye,data:Object.entries(cee).map(([Z,se])=>({value:Z,label:se})),onChange:G})]}),s&&i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:M,onChange:D}),i.jsx(Yr,{disabled:!M,label:r("settings.consoleLogLevel"),onChange:q,value:R,data:hM.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:Z=>n(mM(Z.target.checked))})]}),d&&i.jsx(ree,{}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(rn,{colorScheme:"error",onClick:V,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(tt,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(tt,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Oa,{children:i.jsx(rn,{onClick:w,children:r("common.close")})})]})]}),i.jsxs(Xu,{closeOnOverlayClick:!1,isOpen:y,onClose:k,isCentered:!0,children:[i.jsx(Ma,{backdropFilter:"blur(40px)"}),i.jsxs(Ju,{children:[i.jsx(Ra,{}),i.jsx(Da,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(tt,{fontSize:"lg",children:i.jsx(tt,{children:r("settings.resetComplete")})})})}),i.jsx(Oa,{})]})]})]})},fee=fe(mo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Ge),pk={ok:"green.400",working:"yellow.400",error:"red.400"},hk={ok:"green.600",working:"yellow.500",error:"red.500"},pee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=L(fee),{t:s}=be(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=rO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(Fo,{children:p&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(tt,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:hk[c],_dark:{color:pk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(Kr,{as:BH,sx:{boxSize:"0.5rem",color:hk[c],_dark:{color:pk[c]}}})]})},hee=()=>{const{t:e}=be(),t=ar("bugLink").isFeatureEnabled,n=ar("discordLink").isFeatureEnabled,r=ar("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(oO,{}),i.jsx(fl,{}),i.jsx(pee,{}),i.jsxs(kd,{children:[i.jsx(_d,{as:Le,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx($H,{}),sx:{boxSize:8}}),i.jsxs(zc,{motionProps:nm,children:[i.jsxs(Qu,{title:e("common.communityLabel"),children:[r&&i.jsx(kr,{as:"a",href:o,target:"_blank",icon:i.jsx(OH,{}),children:e("common.githubLabel")}),t&&i.jsx(kr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(zH,{}),children:e("common.reportBugLabel")}),n&&i.jsx(kr,{as:"a",href:s,target:"_blank",icon:i.jsx(EH,{}),children:e("common.discordLabel")})]}),i.jsxs(Qu,{title:e("common.settingsLabel"),children:[i.jsx(YZ,{children:i.jsx(kr,{as:"button",icon:i.jsx(eW,{}),children:e("common.hotkeysLabel")})}),i.jsx(dee,{children:i.jsx(kr,{as:"button",icon:i.jsx(FH,{}),children:e("common.settingsLabel")})})]})]})]})]})},mee=f.memo(hee);function gee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function vee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function bee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function yee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function xee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function sO(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const wee=fe(mo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),See=()=>{const{shouldShow:e,tooltip:t}=L(wee);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(wn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(dl,{})})}):null},Cee=f.memo(See),aO=e=>e.config,{createElement:jc,createContext:kee,forwardRef:iO,useCallback:ri,useContext:lO,useEffect:ja,useImperativeHandle:cO,useLayoutEffect:_ee,useMemo:Pee,useRef:Zo,useState:Bu}=N1,mk=N1["useId".toString()],jee=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",qh=jee?_ee:()=>{},Iee=typeof mk=="function"?mk:()=>null;let Eee=0;function My(e=null){const t=Iee(),n=Zo(e||t||null);return n.current===null&&(n.current=""+Eee++),n.current}const Um=kee(null);Um.displayName="PanelGroupContext";function uO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=lO(Um);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=My(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:I,resizePanel:P,unregisterPanel:E}=w,O=Zo({onCollapse:p,onResize:h});if(ja(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=Zo({size:gk(R)}),T=Zo({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return qh(()=>{M.current.size=gk(R),T.current.callbacksRef=O,T.current.collapsedSize=n,T.current.collapsible=r,T.current.defaultSize=o,T.current.id=y,T.current.maxSize=c,T.current.minSize=d,T.current.order=m}),qh(()=>(I(y,T),()=>{E(y)}),[m,y,I,E]),cO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>P(y,A)}),[S,k,y,P]),jc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const sd=iO((e,t)=>jc(uO,{...e,forwardedRef:t}));uO.displayName="Panel";sd.displayName="forwardRef(Panel)";function gk(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const ul=10;function Iu(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Xo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(P=>P.current.id===y),k=h[S],_=p[S],I=vk(k,Math.abs(o),_,e);if(_===I)return p;I===0&&_>0&&a.set(y,_),o=o<0?_-I:I-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=vk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(ul).localeCompare(Math.abs(o).toPrecision(ul),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Wl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function Z0(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function dO(e,t,n){if(e.size===1)return"100";const o=Xo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(ul)}function Oee(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Dy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function Gm(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function Ree(e){return fO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function fO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function pO(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Ty(e,t,n){var d,p,h,m;const r=Gm(t),o=pO(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Xo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function vk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Dy(t),{height:p,width:h}=d.getBoundingClientRect(),v=pO(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Xo(c),[S,k]=Ty(t,w,y);if(S==null||k==null)return()=>{};let _=0,I=100,P=0,E=0;y.forEach($=>{$.current.id===S?(I=$.current.maxSize,_=$.current.minSize):(P+=$.current.minSize,E+=$.current.maxSize)});const O=Math.min(I,100-P),R=Math.max(_,(y.length-1)*100-E),M=dO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const T=$=>{if(!$.defaultPrevented)switch($.key){case"Enter":{$.preventDefault();const Q=y.findIndex(B=>B.current.id===S);if(Q>=0){const B=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(ul)<=B.current.minSize.toPrecision(ul)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Iu($,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",T);const A=Oee(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",T),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function Dee({disabled:e,handleId:t,resizeHandler:n}){ja(()=>{if(e||n==null)return;const r=Gm(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=fO(),c=Ree(t);hO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function Tee(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===P),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(ul)===O.current.minSize.toPrecision(ul))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return mO(e,n,o,c,d)}function Nee(e){return e.type==="keydown"}function b1(e){return e.type.startsWith("mouse")}function y1(e){return e.type.startsWith("touch")}let x1=null,qi=null;function gO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function $ee(){qi!==null&&(document.head.removeChild(qi),x1=null,qi=null)}function ev(e){if(x1===e)return;x1=e;const t=gO(e);qi===null&&(qi=document.createElement("style"),document.head.appendChild(qi)),qi.innerHTML=`*{cursor: ${t}!important;}`}function zee(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function vO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function bO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function Lee(e,t,n){const r=bO(e,n);if(r){const o=vO(t);return r[o]??null}return null}function Bee(e,t,n,r){const o=vO(t),s=bO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const tv={};function bk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Eu={getItem:e=>(bk(Eu),Eu.getItem(e)),setItem:(e,t)=>{bk(Eu),Eu.setItem(e,t)}};function yO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Eu,style:p={},tagName:h="div"}){const m=My(a),[v,b]=Bu(null),[w,y]=Bu(new Map),S=Zo(null),k=Zo({onLayout:c});ja(()=>{k.current.onLayout=c});const _=Zo({}),[I,P]=Bu([]),E=Zo(new Map),O=Zo(0),R=Zo({direction:r,panels:w,sizes:I});cO(s,()=>({getLayout:()=>{const{sizes:D}=R.current;return D},setLayout:D=>{const z=D.reduce((ye,Z)=>ye+Z,0);hO(z===100,"Panel sizes must add up to 100%");const{panels:H}=R.current,Y=_.current,ie=Xo(H);P(D),Wl(ie,D,Y)}}),[]),qh(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=I}),Mee({committedValuesRef:R,groupId:m,panels:w,setSizes:P,sizes:I,panelSizeBeforeCollapse:E}),ja(()=>{const{onLayout:D}=k.current,{panels:z,sizes:H}=R.current;if(H.length>0){D&&D(H);const Y=_.current,ie=Xo(z);Wl(ie,H,Y)}},[I]),qh(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const H=Xo(w);z=Lee(e,H,d)}if(z!=null)P(z);else{const H=Xo(w);let Y=0,ie=0,ye=0;if(H.forEach(Z=>{ye+=Z.current.minSize,Z.current.defaultSize===null?Y++:ie+=Z.current.defaultSize}),ie>100)throw new Error("Default panel sizes cannot exceed 100%");if(H.length>1&&Y===0&&ie!==100)throw new Error("Invalid default sizes specified for panels");if(ye>100)throw new Error("Minimum panel sizes cannot exceed 100%");P(H.map(Z=>Z.current.defaultSize===null?(100-ie)/Y:Z.current.defaultSize))}},[e,w,d]),ja(()=>{if(e){if(I.length===0||I.length!==w.size)return;const D=Xo(w);tv[e]||(tv[e]=zee(Bee,100)),tv[e](e,D,I,d)}},[e,w,I,d]);const M=ri((D,z)=>{const{panels:H}=R.current;return H.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:dO(H,D,I),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,I]),T=ri((D,z)=>{y(H=>{if(H.has(D))return H;const Y=new Map(H);return Y.set(D,z),Y})},[]),A=ri(D=>H=>{H.preventDefault();const{direction:Y,panels:ie,sizes:ye}=R.current,Z=Xo(ie),[se,K]=Ty(m,D,Z);if(se==null||K==null)return;let U=Aee(H,m,D,Z,Y,ye,S.current);if(U===0)return;const re=Dy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,ce=U/pe*100,ge=Iu(H,ie,se,K,ce,ye,E.current,S.current),_e=!Tee(ye,ge);if((b1(H)||y1(H))&&O.current!=ce&&ev(_e?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),_e){const le=_.current;P(ge),Wl(Z,ge,le)}O.current=ce},[m]),$=ri(D=>{y(z=>{if(!z.has(D))return z;const H=new Map(z);return H.delete(D),H})},[]),Q=ri(D=>{const{panels:z,sizes:H}=R.current,Y=z.get(D);if(Y==null)return;const{collapsedSize:ie,collapsible:ye}=Y.current;if(!ye)return;const Z=Xo(z),se=Z.indexOf(Y);if(se<0)return;const K=H[se];if(K===ie)return;E.current.set(D,K);const[U,ae]=Z0(D,Z);if(U==null||ae==null)return;const oe=se===Z.length-1?K:ie-K,pe=Iu(null,z,U,ae,oe,H,E.current,null);if(H!==pe){const ce=_.current;P(pe),Wl(Z,pe,ce)}},[]),B=ri(D=>{const{panels:z,sizes:H}=R.current,Y=z.get(D);if(Y==null)return;const{collapsedSize:ie,minSize:ye}=Y.current,Z=E.current.get(D)||ye;if(!Z)return;const se=Xo(z),K=se.indexOf(Y);if(K<0||H[K]!==ie)return;const[ae,re]=Z0(D,se);if(ae==null||re==null)return;const pe=K===se.length-1?ie-Z:Z,ce=Iu(null,z,ae,re,pe,H,E.current,null);if(H!==ce){const ge=_.current;P(ce),Wl(se,ce,ge)}},[]),V=ri((D,z)=>{const{panels:H,sizes:Y}=R.current,ie=H.get(D);if(ie==null)return;const{collapsedSize:ye,collapsible:Z,maxSize:se,minSize:K}=ie.current,U=Xo(H),ae=U.indexOf(ie);if(ae<0)return;const re=Y[ae];if(re===z)return;Z&&z===ye||(z=Math.min(se,Math.max(K,z)));const[oe,pe]=Z0(D,U);if(oe==null||pe==null)return;const ge=ae===U.length-1?re-z:z-re,_e=Iu(null,H,oe,pe,ge,Y,E.current,null);if(Y!==_e){const le=_.current;P(_e),Wl(U,_e,le)}},[]),q=Pee(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:B,getPanelStyle:M,groupId:m,registerPanel:T,registerResizeHandle:A,resizePanel:V,startDragging:(D,z)=>{if(b(D),b1(z)||y1(z)){const H=Gm(D);S.current={dragHandleRect:H.getBoundingClientRect(),dragOffset:mO(z,D,r),sizes:R.current.sizes}}},stopDragging:()=>{$ee(),b(null),S.current=null},unregisterPanel:$}),[v,Q,r,B,M,m,T,A,V,$]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return jc(Um.Provider,{children:jc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Ay=iO((e,t)=>jc(yO,{...e,forwardedRef:t}));yO.displayName="PanelGroup";Ay.displayName="forwardRef(PanelGroup)";function w1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=Zo(null),d=Zo({onDragging:o});ja(()=>{d.current.onDragging=o});const p=lO(Um);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=My(r),k=h===S,[_,I]=Bu(!1),[P,E]=Bu(null),O=ri(()=>{c.current.blur(),y();const{onDragging:T}=d.current;T&&T(!1)},[y]);ja(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),ja(()=>{if(n||P==null||!k)return;const M=Q=>{P(Q)},T=Q=>{P(Q)},$=c.current.ownerDocument;return $.body.addEventListener("contextmenu",O),$.body.addEventListener("mousemove",M),$.body.addEventListener("touchmove",M),$.body.addEventListener("mouseleave",T),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{$.body.removeEventListener("contextmenu",O),$.body.removeEventListener("mousemove",M),$.body.removeEventListener("touchmove",M),$.body.removeEventListener("mouseleave",T),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,P,O]),Dee({disabled:n,handleId:S,resizeHandler:P});const R={cursor:gO(m),touchAction:"none",userSelect:"none"};return jc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>I(!1),onFocus:()=>I(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}w1.displayName="PanelResizeHandle";const Fee=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Hee=fe([Ye],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ge),Wee=()=>{const{initialImage:e}=L(Hee),{currentData:t}=os((e==null?void 0:e.imageName)??oo.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(yi,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(mi,{label:"No initial image selected"})})},Vee=fe([Ye],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ge),Uee={type:"SET_INITIAL_IMAGE"},Gee=()=>{const{isResetButtonDisabled:e}=L(Vee),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=Vm({postUploadAction:Uee}),o=f.useCallback(()=>{t(gM())},[t]);return i.jsxs(W,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(W,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(tt,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(fl,{}),i.jsx(Le,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Md,{}),...n()}),i.jsx(Le,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(Hb,{}),onClick:o,isDisabled:e})]}),i.jsx(Wee,{}),i.jsx("input",{...r()})]})},qee=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Oe,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?ze("base.200","base.750")(c):ze("base.150","base.800")(c),color:ze("base.900","base.100")(c),_hover:{bg:s?ze("base.250","base.700")(c):ze("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(Fo,{children:n&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(tt,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(fl,{}),i.jsx(ay,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(sm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Oe,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Oo=f.memo(qee),Kee=fe(Ye,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ge),Yee=()=>{const{combinatorial:e,isDisabled:t}=L(Kee),n=te(),r=f.useCallback(()=>{n(vM())},[n]);return i.jsx(Pr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Qee=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ge),Xee=()=>{const e=te(),{isEnabled:t}=L(Qee),n=f.useCallback(()=>{e(bM())},[e]);return i.jsx(Pr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Jee=fe(Ye,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Ge),Zee=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=L(Jee),s=te(),a=f.useCallback(d=>{s(yM(d))},[s]),c=f.useCallback(()=>{s(xM())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},ete=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ge),zd=()=>{const{activeLabel:e}=L(ete);return ar("dynamicPrompting").isFeatureEnabled?i.jsx(Oo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Xee,{}),i.jsx(Yee,{}),i.jsx(Zee,{})]})}):null},Ny=e=>{e.stopPropagation()},tte=Te((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(_o(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(_o(!1))},[n]);return i.jsx(W5,{ref:t,onPaste:Ny,onKeyDown:r,onKeyUp:o,...e})}),qm=f.memo(tte),nte=e=>{const{onClick:t}=e;return i.jsx(Le,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(Lb,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},Km=f.memo(nte),$y="28rem",Ym=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=wM(),a=f.useRef(null),c=L(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return jo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:vr[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Tb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Db,{children:o}),i.jsx(Ab,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(x5,{sx:{p:0,w:`calc(${$y} - 2rem )`},children:d.length===0?i.jsx(W,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(tt,{children:"No Embeddings Loaded"})}):i.jsx(sr,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},Ld=()=>{const e=L(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=be(),c=f.useCallback(m=>{s(Mu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),_i.flushSync(()=>{s(Mu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ar("embedding").isFeatureEnabled;return i.jsxs(ho,{children:[i.jsx(Ym,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(qm,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:o})})]})},rte=fe([Ye,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=SM.endpoints.getMainModels.select(W1)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),jo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Ge),Bd=()=>{const{isReady:e}=L(rte);return e},ote=fe([Ye,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Xt}}),Fd=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=L(ote),o=Bd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=be(),h=f.useCallback(w=>{e(Ru(w.target.value))},[e]);nt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),_i.flushSync(()=>{e(Ru(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ar("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(ud()),e(dd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Oe,{sx:{position:"absolute",top:n?6:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:d})})]})},ste=fe(Ye,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ge),ate=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=L(ste),r=o=>e(CM(o.target.checked));return i.jsx(Pr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},ite=fe(Ye,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ge);function lte(){const e=te(),{threshold:t,isDisabled:n}=L(ite),{t:r}=be();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(H2(o)),handleReset:()=>e(H2(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const cte=()=>{const e=te(),t=L(r=>r.generation.shouldUseNoiseSettings),n=r=>e(kM(r.target.checked));return i.jsx(Pr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},ute=fe(Ye,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ge);function dte(){const e=te(),{perlin:t,isDisabled:n}=L(ute),{t:r}=be();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(W2(o)),handleReset:()=>e(W2(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const fte=fe(Ye,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ge),pte=()=>{const{t:e}=be(),t=ar("noise").isFeatureEnabled,n=ar("perlinNoise").isFeatureEnabled,r=ar("noiseThreshold").isFeatureEnabled,{activeLabel:o}=L(fte);return t?i.jsx(Oo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(cte,{}),i.jsx(ate,{}),n&&i.jsx(dte,{}),r&&i.jsx(lte,{})]})}):null},Qm=f.memo(pte),hte=fe(mo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Xt}}),mte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=L(hte),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(_M());return}t(PM({session_id:p}))}},[t,p,c]),{t:m}=be(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(jM(S))},[t]);nt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Lp,{}):c==="immediate"?i.jsx(xee,{}):i.jsx(gee,{}),[c,d]);return i.jsxs(nr,{isAttached:!0,width:n,children:[i.jsx(Le,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(kd,{closeOnSelect:!1,children:[i.jsx(_d,{as:Le,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(FV,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(zc,{minWidth:"240px",children:i.jsxs(l5,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(Up,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(Up,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},Xm=f.memo(mte),gte=fe(mo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Xt}}),vte=()=>{const{t:e}=be(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=L(gte),s=n?Math.round(n*100/r):0;return i.jsx(S5,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},xO=f.memo(vte),yk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},bte=fe([Ye,Kn,jr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ge);function zy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Bd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=L(bte),d=Rm(a),p=f.useCallback(()=>{r(ud()),r(dd(c))},[r,c]),{t:h}=be();return nt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Oe,{style:{flexGrow:4},position:"relative",children:i.jsxs(Oe,{style:{position:"relative"},children:[!o&&i.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(xO,{})}),i.jsx(wn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(Le,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(y6,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?yk:{}}}):i.jsx(rn,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?yk:{}},children:"Invoke"})})]})})}const Hd=()=>i.jsxs(W,{gap:2,children:[i.jsx(zy,{}),i.jsx(Xm,{})]}),yte=fe([Ye,Kn],({sdxl:e},t)=>({prompt:e.negativeStylePrompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Xt}}),wO=()=>{const e=te(),{prompt:t,activeTabName:n}=L(yte),r=Bd(),o=f.useRef(null),{isOpen:s,onClose:a,onOpen:c}=ss(),d=f.useCallback(v=>{e(V2(v.target.value))},[e]),p=f.useCallback(v=>{if(!o.current)return;const b=o.current.selectionStart;if(b===void 0)return;let w=t.slice(0,b);w[w.length-1]!=="<"&&(w+="<"),w+=`${v}>`;const y=w.length;w+=t.slice(b),_i.flushSync(()=>{e(V2(w))}),o.current.selectionStart=y,o.current.selectionEnd=y,a()},[e,a,t]),h=ar("embedding").isFeatureEnabled,m=f.useCallback(v=>{v.key==="Enter"&&v.shiftKey===!1&&r&&(v.preventDefault(),e(ud()),e(dd(n))),h&&v.key==="<"&&c()},[r,e,n,c,h]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:s,onClose:a,onSelect:p,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:o,value:t,placeholder:"Negative Style Prompt",onChange:d,onKeyDown:m,resize:"vertical",fontSize:"sm",minH:16})})}),!s&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:c})})]})},xte=fe([Ye,Kn],({sdxl:e},t)=>({prompt:e.positiveStylePrompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Xt}}),SO=()=>{const e=te(),{prompt:t,activeTabName:n}=L(xte),r=Bd(),o=f.useRef(null),{isOpen:s,onClose:a,onOpen:c}=ss(),d=f.useCallback(v=>{e(U2(v.target.value))},[e]),p=f.useCallback(v=>{if(!o.current)return;const b=o.current.selectionStart;if(b===void 0)return;let w=t.slice(0,b);w[w.length-1]!=="<"&&(w+="<"),w+=`${v}>`;const y=w.length;w+=t.slice(b),_i.flushSync(()=>{e(U2(w))}),o.current.selectionStart=y,o.current.selectionEnd=y,a()},[e,a,t]),h=ar("embedding").isFeatureEnabled,m=f.useCallback(v=>{v.key==="Enter"&&v.shiftKey===!1&&r&&(v.preventDefault(),e(ud()),e(dd(n))),h&&v.key==="<"&&c()},[r,e,n,c,h]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:s,onClose:a,onSelect:p,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:o,value:t,placeholder:"Positive Style Prompt",onChange:d,onKeyDown:m,resize:"vertical",minH:16})})}),!s&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:c})})]})},Uc=()=>{const{isRefinerAvailable:e}=na(V1,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},wte=fe([Ye],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Ge),Ste=()=>{const{refinerAestheticScore:e,shift:t}=L(wte),n=Uc(),r=te(),o=f.useCallback(a=>r(G2(a)),[r]),s=f.useCallback(()=>r(G2(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},Cte=f.memo(Ste),Kh=/^-?(0\.)?\.?$/,kte=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(Kh)&&s!==Number(k)&&_(String(s))},[s,k]);const I=R=>{_(R),R.match(Kh)||a(p?Math.floor(Number(R)):Number(R))},P=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(_o(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(_o(!1))},[S]);return i.jsx(wn,{...w,children:i.jsxs(ho,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(zo,{...m,children:t}),i.jsxs(dm,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:I,onBlur:P,...y,onPaste:Ny,children:[i.jsx(pm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(fm,{children:[i.jsx(mm,{...b}),i.jsx(hm,{...b})]})]})]})})},Gc=f.memo(kte),_te=fe([Ye],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Ge),Pte=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=L(_te),r=Uc(),o=te(),{t:s}=be(),a=f.useCallback(d=>o(q2(d)),[o]),c=f.useCallback(()=>o(q2(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Gc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},jte=f.memo(Pte),Jm=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=IM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Wd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=be(),[o,{isLoading:s}]=EM(),a=()=>{o().unwrap().then(c=>{n(Dn(Bn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(Dn(Bn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(Le,{icon:i.jsx(S6,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(rn,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const Ite=fe(Ye,e=>({model:e.sdxl.refinerModel}),Ge),Ete=()=>{const e=te(),t=ar("syncModels").isFeatureEnabled,{model:n}=L(Ite),{data:r,isLoading:o}=na(V1),s=f.useMemo(()=>{if(!r)return[];const d=[];return jo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:vr[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=Jm(d);p&&e(OM(p))},[e]);return o?i.jsx(sr,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Ote=f.memo(Ete),Rte=fe(Ye,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(H1,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Ge),Mte=()=>{const e=te(),{t}=be(),{refinerScheduler:n,data:r}=L(Rte),o=Uc(),s=f.useCallback(a=>{a&&e(RM(a))},[e]);return i.jsx(sr,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},Dte=f.memo(Mte),Tte=fe([Ye],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Ge),Ate=()=>{const{refinerStart:e}=L(Tte),t=te(),n=Uc(),r=f.useCallback(s=>t(K2(s)),[t]),o=f.useCallback(()=>t(K2(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},Nte=f.memo(Ate),$te=fe([Ye],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Ge),zte=()=>{const{refinerSteps:e,shouldUseSliders:t}=L($te),n=Uc(),r=te(),{t:o}=be(),s=f.useCallback(c=>{r(Y2(c))},[r]),a=f.useCallback(()=>{r(Y2(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Gc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},Lte=f.memo(zte);function Bte(){const e=L(o=>o.sdxl.shouldUseSDXLRefiner),t=Uc(),n=te(),r=o=>{n(MM(o.target.checked))};return i.jsx(Pr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Fte=fe(Ye,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Ge),CO=()=>{const{activeLabel:e,shouldUseSliders:t}=L(Fte);return i.jsx(Oo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Bte,{}),i.jsx(Ote,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(Lte,{}),i.jsx(jte,{})]}),i.jsx(Dte,{}),i.jsx(Cte,{}),i.jsx(Nte,{})]})})},Hte=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Ge),Wte=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=L(Hte),c=te(),{t:d}=be(),p=f.useCallback(m=>c(Mp(m)),[c]),h=f.useCallback(()=>c(Mp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Gc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(Wte),Vte=fe([Ye],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ge),Ute=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=L(Vte),d=te(),{t:p}=be(),h=f.useCallback(v=>{d(Q2(v))},[d]),m=f.useCallback(()=>{d(Q2(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Gc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(Ute),Gte=fe(Ye,e=>({model:e.generation.model}),Ge),qte=()=>{const e=te(),{t}=be(),{model:n}=L(Gte),r=ar("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(W1),a=L(Kn),c=f.useMemo(()=>{if(!o)return[];const h=[];return jo(o.entities,(m,v)=>{!m||a==="unifiedCanvas"&&m.base_model==="sdxl"||h.push({value:v,label:m.model_name,group:vr[m.base_model]})}),h},[o,a]),d=f.useMemo(()=>(o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[o==null?void 0:o.entities,n]),p=f.useCallback(h=>{if(!h)return;const m=Jm(h);m&&e(hv(m))},[e]);return s?i.jsx(sr,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(sr,{tooltip:d==null?void 0:d.description,label:t("modelManager.model"),value:d==null?void 0:d.id,placeholder:c.length>0?"Select a model":"No models available",data:c,error:c.length===0,disabled:c.length===0,onChange:p,w:"100%"}),r&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Kte=f.memo(qte),kO=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=DM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Yte=fe(Ye,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ge),Qte=()=>{const e=te(),{t}=be(),{model:n,vae:r}=L(Yte),{data:o}=F_(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return jo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:vr[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(X2(null));return}const p=kO(d);p&&e(X2(p))},[e]);return i.jsx(sr,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Xte=f.memo(Qte),Mi=e=>e.generation,Jte=fe([La,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(H1,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Ge),Zte=()=>{const e=te(),{t}=be(),{scheduler:n,data:r}=L(Jte),o=f.useCallback(s=>{s&&e(mv(s))},[e]);return i.jsx(sr,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},ene=f.memo(Zte),tne=fe(Ye,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Ge),nne=["fp16","fp32"],rne=()=>{const e=te(),{vaePrecision:t}=L(tne),n=f.useCallback(r=>{r&&e(TM(r))},[e]);return i.jsx(Yr,{label:"VAE Precision",value:t,data:nne,onChange:n})},one=f.memo(rne),sne=()=>{const e=ar("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Oe,{w:"full",children:i.jsx(Kte,{})}),i.jsx(Oe,{w:"full",children:i.jsx(ene,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Xte,{}),i.jsx(one,{})]})]})},Si=f.memo(sne),ane=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function _O(){const e=L(o=>o.generation.aspectRatio),t=te(),n=L(o=>o.generation.shouldFitToWidthHeight),r=L(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(nr,{isAttached:!0,children:ane.map(o=>i.jsx(rn,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(AM(o.value)),children:o.name},o.name))})})}const ine=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),lne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=L(ine),d=te(),{t:p}=be(),h=f.useCallback(v=>{if(d(mc(v)),c){const b=Ss(v*c,8);d(hc(b))}},[d,c]),m=f.useCallback(()=>{if(d(mc(n)),c){const v=Ss(n*c,8);d(hc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},cne=f.memo(lne),une=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),dne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=L(une),d=te(),{t:p}=be(),h=f.useCallback(v=>{if(d(hc(v)),c){const b=Ss(v/c,8);d(mc(b))}},[d,c]),m=f.useCallback(()=>{if(d(hc(n)),c){const v=Ss(n/c,8);d(mc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},fne=f.memo(dne);function Ic(){const{t:e}=be(),t=te(),n=L(o=>o.generation.shouldFitToWidthHeight),r=L(Kn);return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(tt,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(fl,{}),i.jsx(_O,{}),i.jsx(Le,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(sO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(NM())})]}),i.jsx(W,{gap:2,alignItems:"center",children:i.jsxs(W,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(fne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(cne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const pne=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Ge),hne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=L(pne),c=te(),{t:d}=be(),p=f.useCallback(v=>{c(Dp(v))},[c]),h=f.useCallback(()=>{c(Dp(t))},[c,t]),m=f.useCallback(()=>{c(ud())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Gc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(hne);function PO(){const e=te(),t=L(o=>o.generation.shouldFitToWidthHeight),n=o=>e($M(o.target.checked)),{t:r}=be();return i.jsx(Pr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function mne(){const e=L(a=>a.generation.seed),t=L(a=>a.generation.shouldRandomizeSeed),n=L(a=>a.generation.shouldGenerateVariations),{t:r}=be(),o=te(),s=a=>o(Rp(a));return i.jsx(Gc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:H_,max:W_,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const gne=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function vne(){const e=te(),t=L(o=>o.generation.shouldRandomizeSeed),{t:n}=be(),r=()=>e(Rp(gne(H_,W_)));return i.jsx(Le,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(sW,{})})}const bne=()=>{const e=te(),{t}=be(),n=L(o=>o.generation.shouldRandomizeSeed),r=o=>e(zM(o.target.checked));return i.jsx(Pr,{label:t("common.random"),isChecked:n,onChange:r})},yne=f.memo(bne),xne=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(mne,{}),i.jsx(vne,{}),i.jsx(yne,{})]}),ki=f.memo(xne),wne=fe([Ye],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Ge),Sne=()=>{const{sdxlImg2ImgDenoisingStrength:e}=L(wne),t=te(),{t:n}=be(),r=f.useCallback(s=>t(J2(s)),[t]),o=f.useCallback(()=>{t(J2(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},Cne=f.memo(Sne),kne=fe([La,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),_ne=()=>{const{shouldUseSliders:e,activeLabel:t}=L(kne);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}),i.jsx(Cne,{}),i.jsx(PO,{})]})})},Pne=f.memo(_ne),jne=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(SO,{}),i.jsx(Ld,{}),i.jsx(wO,{}),i.jsx(Hd,{}),i.jsx(Pne,{}),i.jsx(CO,{}),i.jsx(zd,{}),i.jsx(Qm,{})]}),jO=e=>{const{sx:t}=e,n=te(),r=L(a=>a.ui.shouldPinParametersPanel),{t:o}=be(),s=()=>{n(LM(!r)),n(So())};return i.jsx(Le,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(ij,{}):i.jsx(lj,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},Ine=fe(La,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),Ene=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=L(Ine);return t&&n?i.jsxs(Oe,{sx:{position:"relative",h:"full",w:$y,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(jO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},Ly=f.memo(Ene),One=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx(w1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Oe,{sx:{w:.5,h:"calc(100% - 4px)",bg:ze("base.100","base.850")(r)}})})}):i.jsx(w1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Oe,{sx:{w:"calc(100% - 4px)",h:.5,bg:ze("base.100","base.850")(r)}})})})},IO=f.memo(One),Rne=fe([Ye],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),Mne=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=be(),o=L(Rne);return i.jsx(Le,{onClick:t,icon:i.jsx(us,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},Dne=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function Tne(){const e=L(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(BM(r));return i.jsx(Yr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:Dne})}const Ane=e=>{const{imageDTO:t}=e,n=te(),r=L(jr),{t:o}=be(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(V_({image_name:t.image_name}))},[n,t,c]);return i.jsx(gl,{isOpen:s,onClose:c,triggerComponent:i.jsx(Le,{onClick:a,icon:i.jsx(VH,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(Tne,{}),i.jsx(rn,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Nne=fe([Ye,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Xt}}),$ne=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=L(Nne),d=ar("upscaling").isFeatureEnabled,p=Bc(),{t:h}=be(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Ey(),[w,y]=Ry(a,500),{currentData:S}=os(a??oo.skipToken),{currentData:k}=L1(y.isPending()?oo.skipToken:w??oo.skipToken),_=k==null?void 0:k.metadata,I=f.useCallback(()=>{b(_)},[_,b]);nt("a",()=>{},[_,b]);const P=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);nt("s",P,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,m]);nt("p",E,[S]);const O=f.useCallback(()=>{t(QE()),t($1(S))},[t,S]);nt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(V_({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(B1(S))},[t,S]);nt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const T=f.useCallback(()=>t(FM(!s)),[t,s]);nt("i",()=>{S?T():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),nt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(B_(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(nr,{isAttached:!0,isDisabled:o,children:i.jsxs(kd,{children:[i.jsx(_d,{as:Le,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(cW,{})}),i.jsx(zc,{motionProps:nm,children:S&&i.jsx(XE,{imageDTO:S})})]})}),i.jsxs(nr,{isAttached:!0,isDisabled:o,children:[i.jsx(Le,{icon:i.jsx(x6,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(Le,{icon:i.jsx(w6,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:P}),i.jsx(Le,{icon:i.jsx(d6,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:I})]}),d&&i.jsx(nr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(Ane,{imageDTO:S})}),i.jsx(nr,{isAttached:!0,isDisabled:o,children:i.jsx(Le,{icon:i.jsx(Lb,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:T})}),i.jsx(nr,{isAttached:!0,children:i.jsx(Le,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(QH,{}),isChecked:c,onClick:A})}),i.jsx(nr,{isAttached:!0,children:i.jsx(Mne,{onClick:M,isDisabled:o})})]})})},zne=fe([Ye,A_],(e,t)=>{var k,_;const{data:n,status:r}=HM.endpoints.listImages.select(t)(e),o=e.gallery.selection[e.gallery.selection.length-1],s=r==="pending";if(!n||!o||n.total===0)return{isFetching:s,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const a={...t,offset:n.ids.length,limit:$_},c=WM.getSelectors(),d=c.selectAll(n),p=d.findIndex(I=>I.image_name===o),h=Es(p+1,0,d.length-1),m=Es(p-1,0,d.length-1),v=(k=d[h])==null?void 0:k.image_name,b=(_=d[m])==null?void 0:_.image_name,w=c.selectById(n,v),y=c.selectById(n,b),S=d.length;return{isOnFirstImage:p===0,isOnLastImage:!isNaN(p)&&p===S-1,areMoreImagesAvailable:((n==null?void 0:n.total)??0)>S,isFetching:r==="pending",nextImage:w,prevImage:y,nextImageId:v,prevImageId:b,queryArgs:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),EO=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,isFetching:a,queryArgs:c}=L(zne),d=f.useCallback(()=>{o&&e(gv(o))},[e,o]),p=f.useCallback(()=>{r&&e(gv(r))},[e,r]),[h]=N_(),m=f.useCallback(()=>{h(c)},[h,c]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,handleLoadMoreImages:m,isFetching:a}};function Lne(e){return rt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const ys=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=be();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(wn,{label:`Recall ${e}`,children:i.jsx(Sa,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Lne,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(wn,{label:`Copy ${e}`,children:i.jsx(Sa,{"aria-label":`Copy ${e}`,icon:i.jsx(Fc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(tt,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(mb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(nj,{mx:"2px"})]}):i.jsx(tt,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Bne=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Ey(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),I=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),P=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(ys,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(ys,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(ys,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(ys,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(ys,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(ys,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(ys,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(ys,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(ys,{label:"Steps",value:t.steps,onClick:I}),t.cfg_scale!==void 0&&i.jsx(ys,{label:"CFG scale",value:t.cfg_scale,onClick:P}),t.strength&&i.jsx(ys,{label:"Image to image strength",value:t.strength,onClick:E})]})},Fne=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(W,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Oe,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(X6,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(wn,{label:t,children:i.jsx(Sa,{"aria-label":t,icon:i.jsx(Fc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Hne=({image:e})=>{const[t,n]=Ry(e.image_name,500),{currentData:r}=L1(n.isPending()?oo.skipToken:t??oo.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(W,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(W,{gap:2,children:[i.jsx(tt,{fontWeight:"semibold",children:"File:"}),i.jsxs(mb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(nj,{mx:"2px"})]})]}),i.jsx(Bne,{metadata:o}),i.jsxs(Ed,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(Od,{children:a.map(c=>i.jsx(wc,{sx:{borderTopRadius:"base"},children:i.jsx(tt,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx(km,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Cm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(Fne,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Wne=f.memo(Hne),nv={color:"base.100",pointerEvents:"auto"},Vne=()=>{const{t:e}=be(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=EO();return i.jsxs(Oe,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(Sa,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(DH,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:nv})}),i.jsxs(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(Sa,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(TH,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:nv}),o&&a&&!c&&i.jsx(Sa,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(MH,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:nv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(dl,{opacity:.5,size:"xl"})})]})]})},Une=f.memo(Vne),Gne=fe([Ye,VM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Xt}}),qne=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=L(Gne),{handlePrevImage:s,handleNextImage:a,prevImageId:c,nextImageId:d,isOnLastImage:p,handleLoadMoreImages:h,areMoreImagesAvailable:m,isFetching:v}=EO();nt("left",()=>{s()},[c]),nt("right",()=>{if(p&&m&&!v){h();return}p||a()},[d,p,m,h,v]);const{currentData:b}=os(t??oo.skipToken),w=f.useMemo(()=>{if(b)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:b}}},[b]),y=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[S,k]=f.useState(!1),_=f.useRef(0),I=f.useCallback(()=>{k(!0),window.clearTimeout(_.current)},[]),P=f.useCallback(()=>{_.current=window.setTimeout(()=>{k(!1)},500)},[]);return i.jsxs(W,{onMouseOver:I,onMouseOut:P,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Tc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(yi,{imageDTO:b,droppableData:y,draggableData:w,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(mi,{icon:al,label:"No image selected"})}),e&&b&&i.jsx(Oe,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(Wne,{image:b})}),i.jsx(Fo,{children:!e&&b&&S&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx(Une,{})},"nextPrevButtons")})]})},Kne=f.memo(qne),Yne=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx($ne,{}),i.jsx(Kne,{})]}),OO=()=>i.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(W,{sx:{width:"100%",height:"100%"},children:i.jsx(Yne,{})})}),Qne=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(UM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(GM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(qM(n.id))},[t,n.id]);return i.jsxs(W,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(Le,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(us,{}),colorScheme:"error"})]})},Xne=f.memo(Qne),Jne=fe(Ye,({lora:e})=>{const{loras:t}=e;return{loras:t}},Ge),Zne=()=>{const{loras:e}=L(Jne);return i.jsx(i.Fragment,{children:cs(e,t=>i.jsx(Xne,{lora:t},t.model_name))})},ere=fe(Ye,({lora:e})=>({loras:e.loras}),Ge),tre=()=>{const e=te(),{loras:t}=L(ere),{data:n}=U_(),r=L(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return jo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:vr[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(KM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(tt,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(sr,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},nre=fe(Ye,e=>{const t=G_(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ge),rre=()=>{const{activeLabel:e}=L(nre);return ar("lora").isFeatureEnabled?i.jsx(Oo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(tre,{}),i.jsx(Zne,{})]})}):null},By=f.memo(rre);function ore(){const e=L(d=>d.generation.clipSkip),{model:t}=L(d=>d.generation),n=te(),{t:r}=be(),o=f.useCallback(d=>{n(Z2(d))},[n]),s=f.useCallback(()=>{n(Z2(0))},[n]),a=f.useMemo(()=>t?Of[t.base_model].maxClip:Of["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Of[t.base_model].markers:Of["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const sre=fe(Ye,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ge);function Fy(){const{activeLabel:e}=L(sre);return L(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Oo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(ore,{})})}):null}const RO=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=YM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},are=e=>{const{controlNetId:t}=e,n=te(),r=L(jr),o=f.useMemo(()=>fe(Ye,({generation:v,controlNet:b})=>{var k,_;const{model:w}=v,y=(k=b.controlNets[t])==null?void 0:k.model,S=(_=b.controlNets[t])==null?void 0:_.isEnabled;return{mainModel:w,controlNetModel:y,isEnabled:S}},Ge),[t]),{mainModel:s,controlNetModel:a,isEnabled:c}=L(o),{data:d}=U1(),p=f.useMemo(()=>{if(!d)return[];const v=[];return jo(d.entities,(b,w)=>{if(!b)return;const y=(b==null?void 0:b.base_model)!==(s==null?void 0:s.base_model);v.push({value:w,label:b.model_name,group:vr[b.base_model],disabled:y,tooltip:y?`Incompatible base model: ${b.base_model}`:void 0})}),v},[d,s==null?void 0:s.base_model]),h=f.useMemo(()=>(d==null?void 0:d.entities[`${a==null?void 0:a.base_model}/controlnet/${a==null?void 0:a.model_name}`])??null,[a==null?void 0:a.base_model,a==null?void 0:a.model_name,d==null?void 0:d.entities]),m=f.useCallback(v=>{if(!v)return;const b=RO(v);b&&n(q_({controlNetId:t,model:b}))},[t,n]);return i.jsx(sr,{itemComponent:Oi,data:p,error:!h||(s==null?void 0:s.base_model)!==h.base_model,placeholder:"Select a model",value:(h==null?void 0:h.id)??null,onChange:m,disabled:r||!c,tooltip:h==null?void 0:h.description})},ire=f.memo(are),lre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{weight:d,isEnabled:p}=c.controlNets[t];return{weight:d,isEnabled:p}},Ge),[t]),{weight:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(QM({controlNetId:t,weight:c}))},[t,n]);return i.jsx(_t,{isDisabled:!s,label:"Weight",value:o,onChange:a,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},cre=f.memo(lre),ure=e=>{const{height:t,controlNetId:n}=e,r=te(),o=f.useMemo(()=>fe(Ye,({controlNet:E})=>{const{pendingControlImages:O}=E,{controlImage:R,processedControlImage:M,processorType:T,isEnabled:A}=E.controlNets[n];return{controlImageName:R,processedControlImageName:M,processorType:T,isEnabled:A,pendingControlImages:O}},Ge),[n]),{controlImageName:s,processedControlImageName:a,processorType:c,pendingControlImages:d,isEnabled:p}=L(o),[h,m]=f.useState(!1),{currentData:v}=os(s??oo.skipToken),{currentData:b}=os(a??oo.skipToken),w=f.useCallback(()=>{r(XM({controlNetId:n,controlImage:null}))},[n,r]),y=f.useCallback(()=>{m(!0)},[]),S=f.useCallback(()=>{m(!1)},[]),k=f.useMemo(()=>{if(v)return{id:n,payloadType:"IMAGE_DTO",payload:{imageDTO:v}}},[v,n]),_=f.useMemo(()=>({id:n,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:n}}),[n]),I=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:n}),[n]),P=v&&b&&!h&&!d.includes(n)&&c!=="none";return i.jsxs(W,{onMouseEnter:y,onMouseLeave:S,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:p?"auto":"none",opacity:p?1:.5},children:[i.jsx(yi,{draggableData:k,droppableData:_,imageDTO:v,isDropDisabled:P||!p,onClickReset:w,postUploadAction:I,resetTooltip:"Reset Control Image",withResetIcon:!!v}),i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(yi,{draggableData:k,droppableData:_,imageDTO:b,isUploadDisabled:!0,isDropDisabled:!p,onClickReset:w,resetTooltip:"Reset Control Image",withResetIcon:!!v})}),d.includes(n)&&i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(dl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},xk=f.memo(ure),As=()=>{const e=te();return f.useCallback((n,r)=>{e(JM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const wk=ls.canny_image_processor.default,dre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=L(jr),c=As(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:wk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:wk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},fre=f.memo(dre),bu=ls.content_shuffle_image_processor.default,pre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=As(),h=L(jr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:bu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:bu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:bu.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:bu.h})},[t,p]),I=f.useCallback(E=>{p(t,{f:E})},[t,p]),P=f.useCallback(()=>{p(t,{f:bu.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:I,handleReset:P,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},hre=f.memo(pre),Sk=ls.hed_image_processor.default,mre=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=L(jr),c=As(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Sk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Sk.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(Pr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},gre=f.memo(mre),Ck=ls.lineart_anime_image_processor.default,vre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Ck.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Ck.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},bre=f.memo(vre),kk=ls.lineart_image_processor.default,yre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=As(),d=L(jr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:kk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:kk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(Pr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},xre=f.memo(yre),_k=ls.mediapipe_face_processor.default,wre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:_k.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:_k.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Sre=f.memo(wre),Pk=ls.midas_depth_image_processor.default,Cre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Pk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Pk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},kre=f.memo(Cre),mp=ls.mlsd_image_processor.default,_re=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=As(),p=L(jr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:mp.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:mp.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:mp.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:mp.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},Pre=f.memo(_re),jk=ls.normalbae_image_processor.default,jre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:jk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:jk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Ire=f.memo(jre),Ik=ls.openpose_image_processor.default,Ere=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=As(),d=L(jr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Ik.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Ik.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(Pr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},Ore=f.memo(Ere),Ek=ls.pidi_image_processor.default,Rre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=As(),p=L(jr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Ek.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Ek.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(Pr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(Pr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},Mre=f.memo(Rre),Dre=e=>null,Tre=f.memo(Dre),Are=e=>{const{controlNetId:t}=e,n=f.useMemo(()=>fe(Ye,({controlNet:s})=>{const{isEnabled:a,processorNode:c}=s.controlNets[t];return{isEnabled:a,processorNode:c}},Ge),[t]),{isEnabled:r,processorNode:o}=L(n);return o.type==="canny_image_processor"?i.jsx(fre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="hed_image_processor"?i.jsx(gre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_image_processor"?i.jsx(xre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="content_shuffle_image_processor"?i.jsx(hre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_anime_image_processor"?i.jsx(bre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mediapipe_face_processor"?i.jsx(Sre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="midas_depth_image_processor"?i.jsx(kre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mlsd_image_processor"?i.jsx(Pre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="normalbae_image_processor"?i.jsx(Ire,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="openpose_image_processor"?i.jsx(Ore,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="pidi_image_processor"?i.jsx(Mre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="zoe_depth_image_processor"?i.jsx(Tre,{controlNetId:t,processorNode:o,isEnabled:r}):null},Nre=f.memo(Are),$re=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{isEnabled:p,shouldAutoConfig:h}=d.controlNets[t];return{isEnabled:p,shouldAutoConfig:h}},Ge),[t]),{isEnabled:o,shouldAutoConfig:s}=L(r),a=L(jr),c=f.useCallback(()=>{n(ZM({controlNetId:t}))},[t,n]);return i.jsx(Pr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:s,onChange:c,isDisabled:a||!o})},zre=f.memo($re),Ok=e=>`${Math.round(e*100)}%`,Lre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{beginStepPct:p,endStepPct:h,isEnabled:m}=d.controlNets[t];return{beginStepPct:p,endStepPct:h,isEnabled:m}},Ge),[t]),{beginStepPct:o,endStepPct:s,isEnabled:a}=L(r),c=f.useCallback(d=>{n(e7({controlNetId:t,beginStepPct:d[0]})),n(t7({controlNetId:t,endStepPct:d[1]}))},[t,n]);return i.jsxs(ho,{isDisabled:!a,children:[i.jsx(zo,{children:"Begin / End Step Percentage"}),i.jsx(di,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(T5,{"aria-label":["Begin Step %","End Step %"],value:[o,s],onChange:c,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!a,children:[i.jsx(A5,{children:i.jsx(N5,{})}),i.jsx(wn,{label:Ok(o),placement:"top",hasArrow:!0,children:i.jsx(Hv,{index:0})}),i.jsx(wn,{label:Ok(s),placement:"top",hasArrow:!0,children:i.jsx(Hv,{index:1})}),i.jsx(kp,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(kp,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(kp,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Bre=f.memo(Lre),Fre=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Hre(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{controlMode:d,isEnabled:p}=c.controlNets[t];return{controlMode:d,isEnabled:p}},Ge),[t]),{controlMode:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(n7({controlNetId:t,controlMode:c}))},[t,n]);return i.jsx(Yr,{disabled:!s,label:"Control Mode",data:Fre,value:String(o),onChange:a})}const Wre=fe(aO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Ge),Vre=e=>{const t=te(),{controlNetId:n}=e,r=f.useMemo(()=>fe(Ye,({controlNet:p})=>{const{isEnabled:h,processorNode:m}=p.controlNets[n];return{isEnabled:h,processorNode:m}},Ge),[n]),o=L(jr),s=L(Wre),{isEnabled:a,processorNode:c}=L(r),d=f.useCallback(p=>{t(r7({controlNetId:n,processorType:p}))},[n,t]);return i.jsx(sr,{label:"Processor",value:c.type??"canny_image_processor",data:s,onChange:d,disabled:o||!a})},Ure=f.memo(Vre),Gre=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function qre(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{resizeMode:d,isEnabled:p}=c.controlNets[t];return{resizeMode:d,isEnabled:p}},Ge),[t]),{resizeMode:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(o7({controlNetId:t,resizeMode:c}))},[t,n]);return i.jsx(Yr,{disabled:!s,label:"Resize Mode",data:Gre,value:String(o),onChange:a})}const Kre=e=>{const{controlNetId:t}=e,n=te(),r=fe(Ye,({controlNet:m})=>{const{isEnabled:v,shouldAutoConfig:b}=m.controlNets[t];return{isEnabled:v,shouldAutoConfig:b}},Ge),{isEnabled:o,shouldAutoConfig:s}=L(r),[a,c]=JZ(!1),d=f.useCallback(()=>{n(s7({controlNetId:t}))},[t,n]),p=f.useCallback(()=>{n(a7({sourceControlNetId:t,newControlNetId:ui()}))},[t,n]),h=f.useCallback(()=>{n(i7({controlNetId:t}))},[t,n]);return i.jsxs(W,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(Pr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:o,onChange:h}),i.jsx(Oe,{sx:{w:"full",minW:0,opacity:o?1:.5,pointerEvents:o?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(ire,{controlNetId:t})}),i.jsx(Le,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:p,icon:i.jsx(Fc,{})}),i.jsx(Le,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:d,icon:i.jsx(us,{})}),i.jsx(Le,{size:"sm",tooltip:a?"Hide Advanced":"Show Advanced","aria-label":a?"Hide Advanced":"Show Advanced",onClick:c,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(ay,{sx:{boxSize:4,color:"base.700",transform:a?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!s&&i.jsx(Oe,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(W,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(W,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(W,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:a?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(cre,{controlNetId:t}),i.jsx(Bre,{controlNetId:t})]}),!a&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(xk,{controlNetId:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Hre,{controlNetId:t}),i.jsx(qre,{controlNetId:t})]}),i.jsx(Ure,{controlNetId:t})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx(xk,{controlNetId:t,height:"392px"}),i.jsx(zre,{controlNetId:t}),i.jsx(Nre,{controlNetId:t})]})]})},Yre=f.memo(Kre),Qre=fe(Ye,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ge),Xre=()=>{const{isEnabled:e}=L(Qre),t=te(),n=f.useCallback(()=>{t(l7())},[t]);return i.jsx(Pr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Jre=fe([Ye],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=c7(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Ge),Zre=()=>{const{controlNetsArray:e,activeLabel:t}=L(Jre),n=ar("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=U1(void 0,{selectFromResult:a=>{var d,p;return{firstModel:(p=a.data)==null?void 0:p.entities[(d=a.data)==null?void 0:d.ids[0]]}}}),s=f.useCallback(()=>{if(!o)return;const a=ui();r(u7({controlNetId:a})),r(q_({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Oo,{label:"ControlNet",activeLabel:t,children:i.jsxs(W,{sx:{flexDir:"column",gap:3},children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(W,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx(Xre,{})}),i.jsx(Le,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(ml,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(hl,{}),i.jsx(Yre,{controlNetId:a.controlNetId})]},a.controlNetId))]})})},Hy=f.memo(Zre),eoe=fe(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ge),toe=()=>{const{t:e}=be(),{seamlessXAxis:t}=L(eoe),n=te(),r=f.useCallback(o=>{n(d7(o.target.checked))},[n]);return i.jsx(Pr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},noe=f.memo(toe),roe=fe(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ge),ooe=()=>{const{t:e}=be(),{seamlessYAxis:t}=L(roe),n=te(),r=f.useCallback(o=>{n(f7(o.target.checked))},[n]);return i.jsx(Pr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},soe=f.memo(ooe),aoe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},ioe=fe(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:aoe(t,n)}},Ge),loe=()=>{const{t:e}=be(),{activeLabel:t}=L(ioe);return ar("seamless").isFeatureEnabled?i.jsx(Oo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Oe,{flexGrow:1,children:i.jsx(noe,{})}),i.jsx(Oe,{flexGrow:1,children:i.jsx(soe,{})})]})}):null},MO=f.memo(loe);function coe(){const e=L(o=>o.generation.horizontalSymmetrySteps),t=L(o=>o.generation.steps),n=te(),{t:r}=be();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(ew(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(ew(0))})}function uoe(){const e=L(o=>o.generation.verticalSymmetrySteps),t=L(o=>o.generation.steps),n=te(),{t:r}=be();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(tw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(tw(0))})}function doe(){const e=L(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(Pr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(p7(n.target.checked))})}const foe=fe(Ye,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ge),poe=()=>{const{t:e}=be(),{activeLabel:t}=L(foe);return ar("symmetry").isFeatureEnabled?i.jsx(Oo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(doe,{}),i.jsx(coe,{}),i.jsx(uoe,{})]})}):null},Wy=f.memo(poe),hoe=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Ge),moe=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=L(hoe),a=te(),{t:c}=be(),d=f.useCallback(h=>a(Tp(h)),[a]),p=f.useCallback(()=>{a(Tp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},DO=f.memo(moe),goe=fe([La,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),voe=()=>{const{shouldUseSliders:e,activeLabel:t}=L(goe);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}),i.jsx(DO,{}),i.jsx(PO,{})]})})},boe=f.memo(voe),TO=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(boe,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Qm,{}),i.jsx(Wy,{}),i.jsx(MO,{}),i.jsx(Fy,{})]}),yoe=()=>{const e=te(),t=f.useRef(null),n=L(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:n&&n.base_model==="sdxl"?i.jsx(jne,{}):i.jsx(TO,{})}),i.jsx(Oe,{sx:{w:"full",h:"full"},children:i.jsxs(Ay,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(sd,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(Gee,{})}),i.jsx(IO,{onDoubleClick:r}),i.jsx(sd,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(So())},children:i.jsx(OO,{})})]})})]})},xoe=f.memo(yoe);var woe=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Rk=cd(woe);function S1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var Soe=Object.defineProperty,Mk=Object.getOwnPropertySymbols,Coe=Object.prototype.hasOwnProperty,koe=Object.prototype.propertyIsEnumerable,Dk=(e,t,n)=>t in e?Soe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_oe=(e,t)=>{for(var n in t||(t={}))Coe.call(t,n)&&Dk(e,n,t[n]);if(Mk)for(var n of Mk(t))koe.call(t,n)&&Dk(e,n,t[n]);return e};function AO(e,t){if(t===null||typeof t!="object")return{};const n=_oe({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const Poe="__MANTINE_FORM_INDEX__";function Tk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${Poe}`)):!1:!1}function Ak(e,t,n){typeof n.value=="object"&&(n.value=Xl(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function Xl(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(Xl(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(Xl(c),Xl(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(Xl(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function C1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=ya(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>C1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||C1(a,t,c,o)),o},r)}function k1(e,t){return Nk(typeof e=="function"?e(t):C1(e,t))}function gp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=k1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function joe(e,{from:t,to:n},r){const o=ya(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),Zm(e,s,r)}var Ioe=Object.defineProperty,$k=Object.getOwnPropertySymbols,Eoe=Object.prototype.hasOwnProperty,Ooe=Object.prototype.propertyIsEnumerable,zk=(e,t,n)=>t in e?Ioe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Roe=(e,t)=>{for(var n in t||(t={}))Eoe.call(t,n)&&zk(e,n,t[n]);if($k)for(var n of $k(t))Ooe.call(t,n)&&zk(e,n,t[n]);return e};function Moe(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=Roe({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function Doe(e,t,n){const r=ya(e,n);return Array.isArray(r)?Zm(e,r.filter((o,s)=>s!==t),n):n}var Toe=Object.defineProperty,Lk=Object.getOwnPropertySymbols,Aoe=Object.prototype.hasOwnProperty,Noe=Object.prototype.propertyIsEnumerable,Bk=(e,t,n)=>t in e?Toe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$oe=(e,t)=>{for(var n in t||(t={}))Aoe.call(t,n)&&Bk(e,n,t[n]);if(Lk)for(var n of Lk(t))Noe.call(t,n)&&Bk(e,n,t[n]);return e};function Fk(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function Hk(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=AO(`${o}.${t}`,s));const a=$oe({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=Fk(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=Fk(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function zoe(e,t,n,r){const o=ya(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),Zm(e,s,r)}function Wk(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function Loe(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Boe=Object.defineProperty,Foe=Object.defineProperties,Hoe=Object.getOwnPropertyDescriptors,Vk=Object.getOwnPropertySymbols,Woe=Object.prototype.hasOwnProperty,Voe=Object.prototype.propertyIsEnumerable,Uk=(e,t,n)=>t in e?Boe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))Woe.call(t,n)&&Uk(e,n,t[n]);if(Vk)for(var n of Vk(t))Voe.call(t,n)&&Uk(e,n,t[n]);return e},rv=(e,t)=>Foe(e,Hoe(t));function qc({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(S1(t)),k=f.useRef(e),_=K=>{k.current=K},I=f.useCallback(()=>h({}),[]),P=K=>{const U=K?ti(ti({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>S1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),I()},[]),M=f.useCallback((K,U)=>E(ae=>rv(ti({},ae),{[K]:U})),[]),T=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const ae=ti({},U);return delete ae[K],ae}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const ae=AO(K,U);return delete ae[K],ae}),[]),$=f.useCallback((K,U)=>{const ae=Tk(K,s);A(K),h(re=>rv(ti({},re),{[K]:!0})),w(re=>{const oe=Zm(K,U,re);if(ae){const pe=gp(K,d,oe);pe.hasError?M(K,pe.error):T(K)}return oe}),!ae&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const ae=typeof K=="function"?K(U):K;return ti(ti({},U),ae)}),o&&O()},[]),B=f.useCallback((K,U)=>{A(K),w(ae=>joe(K,U,ae)),S(ae=>Moe(K,U,ae))},[]),V=f.useCallback((K,U)=>{A(K),w(ae=>Doe(K,U,ae)),S(ae=>Hk(K,U,ae,-1))},[]),q=f.useCallback((K,U,ae)=>{A(K),w(re=>zoe(K,U,ae,re)),S(re=>Hk(K,ae,re,1))},[]),G=f.useCallback(()=>{const K=k1(d,b);return S(K.errors),K},[b,d]),D=f.useCallback(K=>{const U=gp(K,d,b);return U.hasError?M(K,U.error):T(K),U},[b,d]),z=(K,{type:U="input",withError:ae=!0,withFocus:re=!0}={})=>{const pe={onChange:Loe(ce=>$(K,ce))};return ae&&(pe.error=y[K]),U==="checkbox"?pe.checked=ya(K,b):pe.value=ya(K,b),re&&(pe.onFocus=()=>h(ce=>rv(ti({},ce),{[K]:!0})),pe.onBlur=()=>{if(Tk(K,a)){const ce=gp(K,d,b);ce.hasError?M(K,ce.error):T(K)}}),pe},H=(K,U)=>ae=>{ae==null||ae.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,ae):K==null||K(c(b),ae)},Y=K=>c(K||b),ie=f.useCallback(K=>{K.preventDefault(),R()},[]),ye=K=>{if(K){const ae=ya(K,m);if(typeof ae=="boolean")return ae;const re=ya(K,b),oe=ya(K,k.current);return!Rk(re,oe)}return Object.keys(m).length>0?Wk(m):!Rk(b,k.current)},Z=f.useCallback(K=>Wk(p,K),[p]),se=f.useCallback(K=>K?!gp(K,d,b).hasError:!k1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:$,setFieldError:M,clearFieldError:T,clearErrors:O,reset:R,validate:G,validateField:D,reorderListItem:B,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:H,onReset:ie,isDirty:ye,isTouched:Z,setTouched:h,setDirty:v,resetTouched:I,resetDirty:P,isValid:se,getTransformedValues:Y}}function Tr(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=_y(),{colorMode:m}=Ds();return i.jsx(OE,{styles:()=>({input:{color:ze(d,r)(m),backgroundColor:ze(n,d)(m),borderColor:ze(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:ze(h,p)(m)}},label:{color:ze(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Uoe=[{value:"sd-1",label:vr["sd-1"]},{value:"sd-2",label:vr["sd-2"]},{value:"sdxl",label:vr.sdxl},{value:"sdxl-refiner",label:vr["sdxl-refiner"]}];function eg(e){const{...t}=e,{t:n}=be();return i.jsx(Yr,{label:n("modelManager.baseModel"),data:Uoe,...t})}function $O(e){const{data:t}=K_(),{...n}=e;return i.jsx(Yr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Goe=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function tg(e){const{...t}=e,{t:n}=be();return i.jsx(Yr,{label:n("modelManager.variant"),data:Goe,...t})}function zO(e){const{t}=be(),n=te(),{model_path:r}=e,o=qc({initialValues:{model_name:r?r.split("\\").splice(-1)[0].split(".")[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=Y_(),[a,c]=f.useState(!1),d=p=>{s({body:p}).unwrap().then(h=>{n(Dn(Bn({title:`Model Added: ${p.model_name}`,status:"success"}))),o.reset(),r&&n(fd(null))}).catch(h=>{h&&n(Dn(Bn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(p=>d(p)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Tr,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(eg,{...o.getInputProps("base_model")}),i.jsx(Tr,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(Tr,{label:"Description",...o.getInputProps("description")}),i.jsx(Tr,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(tg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(Tr,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx($O,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(rn,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function LO(e){const{t}=be(),n=te(),{model_path:r}=e,[o]=Y_(),s=qc({initialValues:{model_name:r?r.split("\\").splice(-1)[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(Dn(Bn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(fd(null))}).catch(d=>{d&&n(Dn(Bn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Tr,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(eg,{...s.getInputProps("base_model")}),i.jsx(Tr,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(Tr,{label:"Description",...s.getInputProps("description")}),i.jsx(Tr,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(tg,{...s.getInputProps("variant")}),i.jsx(rn,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const BO=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function qoe(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Yr,{label:"Model Type",value:e,data:BO,onChange:n=>{n&&t(n)}}),i.jsxs(W,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(LO,{}),e==="checkpoint"&&i.jsx(zO,{})]})]})}const Koe=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Yoe(){const e=te(),{t}=be(),n=L(c=>c.system.isProcessing),[r,{isLoading:o}]=Q_(),s=qc({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(Dn(Bn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(Dn(Bn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(Tr,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Yr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Koe,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(rn,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Qoe(){const[e,t]=f.useState("simple");return i.jsxs(W,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(rn,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(W,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Yoe,{}),e==="advanced"&&i.jsx(qoe,{})]})]})}const Xoe={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Joe=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(_o(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(_o(!1))},[c]);return i.jsxs(ho,{isInvalid:o,isDisabled:r,...s,style:n==="side"?Xoe:void 0,children:[t!==""&&i.jsx(zo,{children:t}),i.jsx(yd,{...a,onPaste:Ny,onKeyDown:d,onKeyUp:p})]})},Ec=f.memo(Joe);function Zoe(e){const{...t}=e;return i.jsx(CI,{w:"100%",...t,children:e.children})}function ese(){const e=L(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Hu),{foundModels:o,alreadyInstalled:s,filteredModels:a}=X_({search_path:e||""},{selectFromResult:({data:y})=>{const S=KD(r==null?void 0:r.entities),k=cs(S,"path"),_=UD(y,k),I=ZD(y,k);return{foundModels:y,alreadyInstalled:Gk(I,t),filteredModels:Gk(_,t)}}}),[c,{isLoading:d}]=Q_(),p=te(),{t:h}=be(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(Dn(Bn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(Dn(Bn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(W,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(tt,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(tt,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(rn,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(rn,{onClick:()=>p(fd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(tt,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(tt,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Ec,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(tt,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(tt,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(Zoe,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const Gk=(e,t)=>{const n=[];return jo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function tse(){const e=L(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Oe,{as:Qr.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(tt,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(Le,{icon:i.jsx(dW,{}),"aria-label":"Close Advanced",onClick:()=>s(fd(null)),size:"sm"})]}),i.jsx(Yr,{label:"Model Type",value:t,data:BO,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(zO,{model_path:e},e):i.jsx(LO,{model_path:e},e)]}):null}function nse(){const e=te(),{t}=be(),n=L(c=>c.modelmanager.searchFolder),{refetch:r}=X_({search_path:n||""}),o=qc({initialValues:{folder:""}}),s=f.useCallback(c=>{e(nw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(W,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(W,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(tt,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(W,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Ec,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(Le,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(S6,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(Le,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(iW,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(Le,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(us,{}),size:"sm",onClick:()=>{e(nw(null)),e(fd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const rse=f.memo(nse);function ose(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(rse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(ese,{})}),i.jsx(tse,{})]})]})}function sse(){const[e,t]=f.useState("add"),{t:n}=be();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(rn,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Qoe,{}),e=="scan"&&i.jsx(ose,{})]})}const ase=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function ise(){const{t:e}=be(),t=te(),{data:n}=na(Hu),[r,{isLoading:o}]=h7(),[s,a]=f.useState("sd-1"),c=gw(n==null?void 0:n.entities,(D,z)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-1"),d=gw(n==null?void 0:n.entities,(D,z)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(Object.keys(p[s])[0]),[v,b]=f.useState(Object.keys(p[s])[1]),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,I]=f.useState(.5),[P,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,T]=f.useState(""),[A,$]=f.useState(!1),Q=Object.keys(p[s]).filter(D=>D!==v&&D!==w),B=Object.keys(p[s]).filter(D=>D!==h&&D!==w),V=Object.keys(p[s]).filter(D=>D!==h&&D!==v),q=D=>{a(D),m(null),b(null)},G=()=>{const D=[];let z=[h,v,w];z=z.filter(Y=>Y!==null),z.forEach(Y=>{Y&&D.push(Y==null?void 0:Y.split("/")[2])});const H={model_names:D,merged_model_name:S!==""?S:D.join("-"),alpha:_,interp:P,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:H}).unwrap().then(Y=>{t(Dn(Bn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(Y=>{Y&&t(Dn(Bn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsxs(W,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(tt,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(tt,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Yr,{label:"Model Type",w:"100%",data:ase,value:s,onChange:q}),i.jsx(sr,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:D=>m(D)}),i.jsx(sr,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:B,onChange:D=>b(D)}),i.jsx(sr,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:D=>{D?(y(D),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Ec,{label:e("modelManager.mergedModelName"),value:S,onChange:D=>k(D.target.value)}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:D=>I(D),withInput:!0,withReset:!0,handleReset:()=>I(.5),withSliderMarks:!0}),i.jsx(tt,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(W,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(tt,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(Gp,{value:P,onChange:D=>E(D),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ba,{value:"weighted_sum",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ba,{value:"sigmoid",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ba,{value:"inv_sigmoid",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ba,{value:"add_difference",children:i.jsx(wn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(W,{columnGap:4,children:[i.jsx(tt,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(Gp,{value:O,onChange:D=>R(D),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ba,{value:"root",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ba,{value:"custom",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Ec,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:D=>T(D.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:D=>$(D.target.checked),fontWeight:"500"}),i.jsx(rn,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const lse=Te((e,t)=>{const{t:n}=be(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Pd,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Da,{children:c}),i.jsxs(Oa,{children:[i.jsx(rn,{ref:b,onClick:y,children:s}),i.jsx(rn,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),Vy=f.memo(lse);function cse(e){const{model:t}=e,n=te(),{t:r}=be(),[o,{isLoading:s}]=m7(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,params:{convert_dest_directory:a==="Custom"?d:void 0}};if(a==="Custom"&&d===""){n(Dn(Bn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(Dn(Bn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"success"}))),o(v).unwrap().then(b=>{n(Dn(Bn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(b=>{n(Dn(Bn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(Vy,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(rn,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsx(tt,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(vb,{children:[i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(tt,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(tt,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(Gp,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ba,{value:"InvokeAIRoot",children:i.jsx(wn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ba,{value:"Custom",children:i.jsx(wn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(tt,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Ec,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function use(e){const t=L(jr),{model:n}=e,[r,{isLoading:o}]=J_(),{data:s}=K_(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=be(),h=qc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(Dn(Bn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(Dn(Bn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(tt,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(tt,{fontSize:"sm",color:"base.400",children:[vr[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(pl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(cse,{model:n})]}),i.jsx(hl,{}),i.jsx(W,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(Tr,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(Tr,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(eg,{required:!0,...h.getInputProps("base_model")}),i.jsx(tg,{required:!0,...h.getInputProps("variant")}),i.jsx(Tr,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(Tr,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(Tr,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx($O,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(rn,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function dse(e){const t=L(jr),{model:n}=e,[r,{isLoading:o}]=J_(),s=te(),{t:a}=be(),c=qc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(Dn(Bn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(Dn(Bn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(tt,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(tt,{fontSize:"sm",color:"base.400",children:[vr[n.base_model]," Model"]})]}),i.jsx(hl,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(Tr,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(Tr,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(eg,{required:!0,...c.getInputProps("base_model")}),i.jsx(tg,{required:!0,...c.getInputProps("variant")}),i.jsx(Tr,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Tr,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(rn,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}const fse={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"};function qk(e){const t=L(jr),{t:n}=be(),r=te(),[o]=g7(),{model:s,isSelected:a,setSelectedModelId:c}=e,d=f.useCallback(()=>{c(s.id)},[s.id,c]),p=f.useCallback(()=>{o(s).unwrap().then(h=>{r(Dn(Bn({title:`${n("modelManager.modelDeleted")}: ${s.model_name}`,status:"success"})))}).catch(h=>{h&&r(Dn(Bn({title:`${n("modelManager.modelDeleteFailed")}: ${s.model_name}`,status:"success"})))}),c(void 0)},[o,s,c,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:rn,isChecked:a,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:a?"accent.400":"base.100",color:a?"base.50":"base.800",_hover:{bg:a?"accent.500":"base.300",color:a?"base.50":"base.800"},_dark:{color:a?"base.50":"base.100",bg:a?"accent.600":"base.850",_hover:{color:a?"base.50":"base.100",bg:a?"accent.550":"base.700"}}},onClick:d,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(pl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:fse[s.base_model]}),i.jsx(wn,{label:s.description,hasArrow:!0,placement:"bottom",children:i.jsx(tt,{sx:{fontWeight:500},children:s.model_name})})]})}),i.jsx(Vy,{title:n("modelManager.deleteModel"),acceptCallback:p,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(Le,{icon:i.jsx(BV,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(W,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const pse=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=be(),[o,s]=f.useState(""),[a,c]=f.useState("images"),{filteredDiffusersModels:d}=na(Hu,{selectFromResult:({data:m})=>({filteredDiffusersModels:Kk(m,"diffusers",o)})}),{filteredCheckpointModels:p}=na(Hu,{selectFromResult:({data:m})=>({filteredCheckpointModels:Kk(m,"checkpoint",o)})}),h=f.useCallback(m=>{s(m.target.value)},[]);return i.jsx(W,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(W,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{onClick:()=>c("images"),isChecked:a==="images",size:"sm",children:r("modelManager.allModels")}),i.jsx(rn,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(rn,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")})]}),i.jsx(Ec,{onChange:h,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[["images","diffusers"].includes(a)&&d.length>0&&i.jsx(Yk,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tt,{variant:"subtext",fontSize:"sm",children:"Diffusers"}),d.map(m=>i.jsx(qk,{model:m,isSelected:t===m.id,setSelectedModelId:n},m.id))]})}),["images","checkpoint"].includes(a)&&p.length>0&&i.jsx(Yk,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tt,{variant:"subtext",fontSize:"sm",children:"Checkpoints"}),p.map(m=>i.jsx(qk,{model:m,isSelected:t===m.id,setSelectedModelId:n},m.id))]})})]})]})})},Kk=(e,t,n)=>{const r=[];return jo(e==null?void 0:e.entities,o=>{if(!o)return;const s=o.model_name.toLowerCase().includes(n.toLowerCase()),a=o.model_format===t;s&&a&&r.push(o)}),r},Yk=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function hse(){const[e,t]=f.useState(),{model:n}=na(Hu,{selectFromResult:({data:r})=>({model:e?r==null?void 0:r.entities[e]:void 0})});return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(pse,{selectedModelId:e,setSelectedModelId:t}),i.jsx(mse,{model:n})]})}const mse=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(use,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(dse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(tt,{variant:"subtext",children:"No Model Selected"})})};function gse(){const{t:e}=be();return i.jsxs(W,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(tt,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(tt,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Wd,{})]})}function vse(){return i.jsx(W,{children:i.jsx(gse,{})})}const Qk=[{id:"modelManager",label:Ln.t("modelManager.modelManager"),content:i.jsx(hse,{})},{id:"importModels",label:Ln.t("modelManager.importModels"),content:i.jsx(sse,{})},{id:"mergeModels",label:Ln.t("modelManager.mergeModels"),content:i.jsx(ise,{})},{id:"settings",label:Ln.t("modelManager.settings"),content:i.jsx(vse,{})}],bse=()=>i.jsxs(Ed,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(Od,{children:Qk.map(e=>i.jsx(wc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx(km,{sx:{w:"full",h:"full"},children:Qk.map(e=>i.jsx(Cm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),yse=f.memo(bse);const xse=e=>fe([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),wse=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},Sse=fe([e=>e.nodes],e=>e.invocationTemplates),Uy="node-drag-handle",Xk={dragHandle:`.${Uy}`},Cse=()=>{const e=L(Sse),t=G1();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...Xk,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=ui(),s=rw(r.inputs,(h,m,v)=>{const b=ui(),w=wse(b,m);return h[v]=w,h},{}),a=rw(r.outputs,(h,m,v)=>{const w={id:ui(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...Xk,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},kse=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:Uy,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(wn,{label:t,children:i.jsx(Qs,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(wn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(Kr,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:JH})})]})},FO=f.memo(kse),HO=()=>()=>!0,_se={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},Pse={left:"-1rem"},jse={right:"-0.5rem"},Ise=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(wn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:Z_,children:i.jsx(v7,{type:r,id:s,isValidConnection:n,position:r==="target"?ow.Left:ow.Right,style:{backgroundColor:e3[a].colorCssVar,...o,..._se,...r==="target"?Pse:jse}})})},WO=f.memo(Ise),Ese=e=>i.jsx(tW,{}),Ose=f.memo(Ese),Rse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Nb,{onChange:o,isChecked:n.value})},Mse=f.memo(Rse),Dse=e=>null,Tse=f.memo(Dse);function ng(){return(ng=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function _1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Oc=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(Jk(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=P1(o.current),I=S?_.addEventListener:_.removeEventListener;I(k?"touchmove":"mousemove",b),I(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(Zk(k),!function(P,E){return E&&!Fu(P)}(k,d.current)&&_)){if(Fu(k)){d.current=!0;var I=k.changedTouches||[];I.length&&(c.current=I[0].identifier)}_.focus(),s(Jk(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),F.createElement("div",ng({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),rg=function(e){return e.filter(Boolean).join(" ")},qy=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=rg(["react-colorful__pointer",e.className]);return F.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},F.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},fo=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},UO=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:fo(e.h),s:fo(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:fo(o/2),a:fo(r,2)}},j1=function(e){var t=UO(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},ov=function(e){var t=UO(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Ase=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:fo(255*[r,c,a,a,d,r][p]),g:fo(255*[d,r,r,c,a,a][p]),b:fo(255*[a,a,d,r,r,c][p]),a:fo(o,2)}},Nse=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:fo(60*(c<0?c+6:c)),s:fo(s?a/s*100:0),v:fo(s/255*100),a:o}},$se=F.memo(function(e){var t=e.hue,n=e.onChange,r=rg(["react-colorful__hue",e.className]);return F.createElement("div",{className:r},F.createElement(Gy,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Oc(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":fo(t),"aria-valuemax":"360","aria-valuemin":"0"},F.createElement(qy,{className:"react-colorful__hue-pointer",left:t/360,color:j1({h:t,s:100,v:100,a:1})})))}),zse=F.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:j1({h:t.h,s:100,v:100,a:1})};return F.createElement("div",{className:"react-colorful__saturation",style:r},F.createElement(Gy,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Oc(t.s+100*o.left,0,100),v:Oc(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+fo(t.s)+"%, Brightness "+fo(t.v)+"%"},F.createElement(qy,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:j1(t)})))}),GO=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Lse(e,t,n){var r=_1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;GO(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var Bse=typeof window<"u"?f.useLayoutEffect:f.useEffect,Fse=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},e_=new Map,Hse=function(e){Bse(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!e_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,e_.set(t,n);var r=Fse();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Wse=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+ov(Object.assign({},n,{a:0}))+", "+ov(Object.assign({},n,{a:1}))+")"},s=rg(["react-colorful__alpha",t]),a=fo(100*n.a);return F.createElement("div",{className:s},F.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),F.createElement(Gy,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Oc(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},F.createElement(qy,{className:"react-colorful__alpha-pointer",left:n.a,color:ov(n)})))},Vse=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=VO(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Hse(c);var d=Lse(n,o,s),p=d[0],h=d[1],m=rg(["react-colorful",t]);return F.createElement("div",ng({},a,{ref:c,className:m}),F.createElement(zse,{hsva:p,onChange:h}),F.createElement($se,{hue:p.h,onChange:h}),F.createElement(Wse,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Use={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Nse,fromHsva:Ase,equal:GO},qO=function(e){return F.createElement(Vse,ng({},e,{colorModel:Use}))};const Gse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(qO,{className:"nodrag",color:n.value,onChange:o})},qse=f.memo(Gse),Kse=e=>null,Yse=f.memo(Kse),Qse=e=>null,Xse=f.memo(Qse),Jse=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=U1(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=RO(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Yr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&vr[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Zse=f.memo(Jse),eae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(Ts({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(_5,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},tae=f.memo(eae),nae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=A1({id:`node_${t}`,data:r});return i.jsxs(W,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(oae,{imageName:d},d)),Ep(r,a)&&i.jsx(nh,{isOver:o})]})},rae=f.memo(nae),oae=e=>{const{currentData:t}=os(e.imageName);return i.jsx(yi,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},sae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=os(((p=n.value)==null?void 0:p.image_name)??oo.skipToken),s=f.useCallback(()=>{r(Ts({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(yi,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},aae=f.memo(sae),iae=e=>i.jsx(RH,{}),t_=f.memo(iae),lae=e=>null,cae=f.memo(lae),uae=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=b7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},dae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=U_(),a=f.useMemo(()=>{if(!s)return[];const p=[];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=uae(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(tt,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(sr,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&vr[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},fae=f.memo(dae),pae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=be(),s=ar("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(W1),d=f.useMemo(()=>{if(!a)return[];const b=[];return jo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:vr[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=Jm(b);w&&r(Ts({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(sr,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&vr[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},hae=f.memo(pae),mae=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(Kh)||r(Ts({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(Kh)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(dm,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(pm,{}),i.jsxs(fm,{children:[i.jsx(mm,{}),i.jsx(hm,{})]})]})},gae=f.memo(mae),vae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s.target.value}))};return i.jsx(yd,{onChange:o,value:n.value})},bae=f.memo(vae),yae=e=>null,xae=f.memo(yae),wae=e=>null,Sae=f.memo(wae),Cae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=F_(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=kO(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(sr,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&vr[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},kae=f.memo(Cae),_ae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=be(),s=ar("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(V1),d=f.useMemo(()=>{if(!a)return[];const b=[];return jo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:vr[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=Jm(b);w&&r(Ts({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(sr,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&vr[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Pae=f.memo(_ae),jae=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(bae,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(Mse,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(gae,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(tae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(aae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(cae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Yse,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(xae,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(Tse,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(Sae,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Xse,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(hae,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(Pae,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(kae,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(fae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Zse,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(Ose,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(t_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(qse,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(t_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(rae,{nodeId:t,field:n,template:r}):i.jsxs(Oe,{p:2,children:["Unknown field type: ",o]})},Iae=f.memo(jae);function Eae(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=HO();return i.jsx(Oe,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(ho,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(di,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(di,{children:i.jsx(wn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:Z_,children:i.jsx(zo,{children:r==null?void 0:r.title})})}),i.jsx(Iae,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(WO,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(di,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(zo,{children:["Unknown input: ",n.name]})})})})}const Oae=e=>{const{nodeId:t,template:n,inputs:r}=e,o=L(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=L(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(Mae,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},Tae=f.memo(Dae),Aae=e=>{const{...t}=e;return i.jsx(IT,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:t3,...t})},I1=f.memo(Aae),E1=e=>{const[t,n]=Dc("shadows",["nodeSelectedOutline","dark-lg"]),r=L(o=>o.hotkeys.shift);return i.jsx(Oe,{className:r?Uy:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:t3,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},KO=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>xse(o),[o]),d=L(c);return d?i.jsxs(E1,{selected:r,children:[i.jsx(FO,{nodeId:t,title:d.title,description:d.description}),i.jsxs(W,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(Tae,{nodeId:t,outputs:a,template:d}),i.jsx(Rae,{nodeId:t,inputs:s,template:d})]}),i.jsx(I1,{})]}):i.jsx(E1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(Kr,{as:h6,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(I1,{})]})})});KO.displayName="InvocationComponent";const Nae=e=>{const t=sw(a=>a.system.progressImage),n=sw(a=>a.nodes.progressNodeSize),r=y7(),{selected:o}=e,s=(a,c)=>{r(x7(c))};return i.jsxs(E1,{selected:o,children:[i.jsx(FO,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(W,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Tc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(W,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(mi,{})})}),i.jsx(I1,{onResize:s})]})},$ae=f.memo(Nae),zae=()=>{const{t:e}=be(),{zoomIn:t,zoomOut:n,fitView:r}=G1(),o=te(),s=L(w=>w.nodes.shouldShowGraphOverlay),a=L(w=>w.nodes.shouldShowFieldTypeLegend),c=L(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(w7(!s))},[s,o]),v=f.useCallback(()=>{o(S7(!a))},[a,o]),b=f.useCallback(()=>{o(C7(!c))},[c,o]);return i.jsxs(nr,{isAttached:!0,orientation:"vertical",children:[i.jsx(wn,{label:e("nodes.zoomInNodes"),children:i.jsx(Le,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(ml,{})})}),i.jsx(wn,{label:e("nodes.zoomOutNodes"),children:i.jsx(Le,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(oW,{})})}),i.jsx(wn,{label:e("nodes.fitViewportNodes"),children:i.jsx(Le,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(UH,{})})}),i.jsx(wn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(Le,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(Lb,{})})}),i.jsx(wn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(Le,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(ZH,{})})}),i.jsx(wn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(Le,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(nW,{})})})]})},Lae=f.memo(zae),Bae=()=>i.jsx(id,{position:"bottom-left",children:i.jsx(Lae,{})}),Fae=f.memo(Bae),Hae=()=>{const e=vp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=L(o=>o.nodes.shouldShowMinimapPanel),n=vp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=vp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(bT,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Wae=f.memo(Hae),Vae=()=>{const{t:e}=be(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=L(d=>d.nodes.nodes),c=f.useCallback(()=>{t(k7()),t(Dn(Bn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(Le,{icon:i.jsx(us,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Pd,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Ma,{}),i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Da,{children:i.jsx(tt,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Oa,{children:[i.jsx(gc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(gc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Uae=f.memo(Vae);function Gae(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Ln.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Ln.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Ln.t("toast.nodesLoaded")}}const qae=()=>{const{t:e}=be(),t=te(),{fitView:n}=G1(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Gae(p);h?(t(_7(p.nodes)),t(P7(p.edges)),n(),t(Dn(Bn({title:m,status:"success"})))):t(Dn(Bn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(Dn(Bn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(hE,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(Le,{icon:i.jsx(Md,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Kae=f.memo(qae);function Yae(e){const{iconButton:t=!1,...n}=e,r=te(),o=L(Kn),s=Bd(),a=f.useCallback(()=>{r(dd("nodes"))},[r]),{t:c}=be();return nt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Oe,{style:{flexGrow:4},position:"relative",children:i.jsxs(Oe,{style:{position:"relative"},children:[!s&&i.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(xO,{})}),t?i.jsx(Le,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(y6,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(rn,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function Qae(){const{t:e}=be(),t=te(),n=f.useCallback(()=>{t(j7())},[t]);return i.jsx(Le,{icon:i.jsx(uW,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Xae=()=>{const{t:e}=be(),t=L(o=>o.nodes.editorInstance),n=L(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>I7(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(Le,{icon:i.jsx(_m,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},Jae=f.memo(Xae),Zae=()=>i.jsx(id,{position:"top-center",children:i.jsxs(di,{children:[i.jsx(Yae,{}),i.jsx(Xm,{}),i.jsx(Qae,{}),i.jsx(Jae,{}),i.jsx(Kae,{}),i.jsx(Uae,{})]})}),eie=f.memo(Zae),tie=fe([Ye],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Ge),nie=()=>{const e=te(),{data:t}=L(tie),n=Cse(),r=Bc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(E7(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(sr,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:YO,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},YO=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(tt,{fontWeight:600,children:e}),i.jsx(tt,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));YO.displayName="SelectItem";const rie=()=>i.jsx(id,{position:"top-left",children:i.jsx(nie,{})}),oie=f.memo(rie),sie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(e3,({title:e,description:t,color:n},r)=>i.jsx(wn,{label:t,children:i.jsx(pl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),aie=f.memo(sie),iie=()=>{const e=L(n=>n),t=O7(e);return i.jsx(Oe,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},lie=f.memo(iie),cie=()=>{const e=L(n=>n.nodes.shouldShowGraphOverlay),t=L(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(id,{position:"top-right",children:[t&&i.jsx(aie,{}),e&&i.jsx(lie,{})]})},uie=f.memo(cie),die={invocation:KO,progress_image:$ae},fie=()=>{const e=te(),t=L(p=>p.nodes.nodes),n=L(p=>p.nodes.edges),r=f.useCallback(p=>{e(R7(p))},[e]),o=f.useCallback(p=>{e(M7(p))},[e]),s=f.useCallback((p,h)=>{e(D7(h))},[e]),a=f.useCallback(p=>{e(T7(p))},[e]),c=f.useCallback(()=>{e(A7())},[e]),d=f.useCallback(p=>{e(N7(p)),p&&p.fitView()},[e]);return i.jsxs($7,{nodeTypes:die,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(oie,{}),i.jsx(eie,{}),i.jsx(uie,{}),i.jsx(Fae,{}),i.jsx(kT,{}),i.jsx(Wae,{})]})},pie=()=>i.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(z7,{children:i.jsx(fie,{})})}),hie=f.memo(pie),mie=()=>i.jsx(hie,{}),gie=f.memo(mie),vie=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),bie=()=>{const{shouldUseSliders:e,activeLabel:t}=L(vie);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(W,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]})})})},QO=f.memo(bie),yie=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(SO,{}),i.jsx(Ld,{}),i.jsx(wO,{}),i.jsx(Hd,{}),i.jsx(QO,{}),i.jsx(CO,{}),i.jsx(zd,{}),i.jsx(Qm,{})]}),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(QO,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Qm,{}),i.jsx(Wy,{}),i.jsx(MO,{}),i.jsx(Fy,{})]}),xie=()=>{const e=L(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:e&&e.base_model==="sdxl"?i.jsx(yie,{}):i.jsx(XO,{})}),i.jsx(OO,{})]})},wie=f.memo(xie);var O1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=aw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=aw;e.exports=r.Konva})(O1,O1.exports);var Sie=O1.exports;const ad=cd(Sie);var JO={exports:{}};/** + * @license React + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Cie=function(t){var n={},r=f,o=bp,s=Object.assign;function a(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,g=1;gJ||C[N]!==j[J]){var de=` +`+C[N].replace(" at new "," at ");return l.displayName&&de.includes("")&&(de=de.replace("",l.displayName)),de}while(1<=N&&0<=J);break}}}finally{Gt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var Jt=Object.prototype.hasOwnProperty,Vt=[],$e=-1;function yt(l){return{current:l}}function Mt(l){0>$e||(l.current=Vt[$e],Vt[$e]=null,$e--)}function Ht(l,u){$e++,Vt[$e]=l.current,l.current=u}var jn={},Ut=yt(jn),un=yt(!1),sn=jn;function Ir(l,u){var g=l.type.contextTypes;if(!g)return jn;var x=l.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===u)return x.__reactInternalMemoizedMaskedChildContext;var C={},j;for(j in g)C[j]=u[j];return x&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=C),C}function Xn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Ut)}function In(l,u,g){if(Ut.current!==jn)throw Error(a(168));Ht(Ut,u),Ht(un,g)}function On(l,u,g){var x=l.stateNode;if(u=u.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var C in x)if(!(C in u))throw Error(a(108,M(l)||"Unknown",C));return s({},g,x)}function Jn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Ut.current,Ht(Ut,l),Ht(un,un.current),!0}function hr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=On(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Ut),Ht(Ut,l)):Mt(un),Ht(un,g)}var Tn=Math.clz32?Math.clz32:Sn,An=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(An(l)/dn|0)|0}var En=64,vn=4194304;function bn(l){switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function Ke(l,u){var g=l.pendingLanes;if(g===0)return 0;var x=0,C=l.suspendedLanes,j=l.pingedLanes,N=g&268435455;if(N!==0){var J=N&~C;J!==0?x=bn(J):(j&=N,j!==0&&(x=bn(j)))}else N=g&~C,N!==0?x=bn(N):j!==0&&(x=bn(j));if(x===0)return 0;if(u!==0&&u!==x&&!(u&C)&&(C=x&-x,j=u&-u,C>=j||C===16&&(j&4194240)!==0))return u;if(x&4&&(x|=g&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=x;0g;g++)u.push(l);return u}function mt(l,u,g){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-Tn(u),l[u]=g}function ot(l,u){var g=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var x=l.eventTimes;for(l=l.expirationTimes;0>=N,C-=N,Do=1<<32-Tn(u)+C|g<Cn?(Lr=Qt,Qt=null):Lr=Qt.sibling;var kn=it(ue,Qt,ve[Cn],lt);if(kn===null){Qt===null&&(Qt=Lr);break}l&&Qt&&kn.alternate===null&&u(ue,Qt),ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn,Qt=Lr}if(Cn===ve.length)return g(ue,Qt),Zn&&Ti(ue,Cn),Tt;if(Qt===null){for(;CnCn?(Lr=Qt,Qt=null):Lr=Qt.sibling;var Ja=it(ue,Qt,kn.value,lt);if(Ja===null){Qt===null&&(Qt=Lr);break}l&&Qt&&Ja.alternate===null&&u(ue,Qt),ne=j(Ja,ne,Cn),nn===null?Tt=Ja:nn.sibling=Ja,nn=Ja,Qt=Lr}if(kn.done)return g(ue,Qt),Zn&&Ti(ue,Cn),Tt;if(Qt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Yt(ue,kn.value,lt),kn!==null&&(ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn);return Zn&&Ti(ue,Cn),Tt}for(Qt=x(ue,Qt);!kn.done;Cn++,kn=ve.next())kn=Qn(Qt,ue,Cn,kn.value,lt),kn!==null&&(l&&kn.alternate!==null&&Qt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn);return l&&Qt.forEach(function(q8){return u(ue,q8)}),Zn&&Ti(ue,Cn),Tt}function ga(ue,ne,ve,lt){if(typeof ve=="object"&&ve!==null&&ve.type===h&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case d:e:{for(var Tt=ve.key,nn=ne;nn!==null;){if(nn.key===Tt){if(Tt=ve.type,Tt===h){if(nn.tag===7){g(ue,nn.sibling),ne=C(nn,ve.props.children),ne.return=ue,ue=ne;break e}}else if(nn.elementType===Tt||typeof Tt=="object"&&Tt!==null&&Tt.$$typeof===I&&dx(Tt)===nn.type){g(ue,nn.sibling),ne=C(nn,ve.props),ne.ref=Yc(ue,nn,ve),ne.return=ue,ue=ne;break e}g(ue,nn);break}else u(ue,nn);nn=nn.sibling}ve.type===h?(ne=Fi(ve.props.children,ue.mode,lt,ve.key),ne.return=ue,ue=ne):(lt=_f(ve.type,ve.key,ve.props,null,ue.mode,lt),lt.ref=Yc(ue,ne,ve),lt.return=ue,ue=lt)}return N(ue);case p:e:{for(nn=ve.key;ne!==null;){if(ne.key===nn)if(ne.tag===4&&ne.stateNode.containerInfo===ve.containerInfo&&ne.stateNode.implementation===ve.implementation){g(ue,ne.sibling),ne=C(ne,ve.children||[]),ne.return=ue,ue=ne;break e}else{g(ue,ne);break}else u(ue,ne);ne=ne.sibling}ne=s0(ve,ue.mode,lt),ne.return=ue,ue=ne}return N(ue);case I:return nn=ve._init,ga(ue,ne,nn(ve._payload),lt)}if(q(ve))return $n(ue,ne,ve,lt);if(O(ve))return yo(ue,ne,ve,lt);Jd(ue,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ne!==null&&ne.tag===6?(g(ue,ne.sibling),ne=C(ne,ve),ne.return=ue,ue=ne):(g(ue,ne),ne=o0(ve,ue.mode,lt),ne.return=ue,ue=ne),N(ue)):g(ue,ne)}return ga}var kl=fx(!0),px=fx(!1),Qc={},Uo=yt(Qc),Xc=yt(Qc),_l=yt(Qc);function Fs(l){if(l===Qc)throw Error(a(174));return l}function bg(l,u){Ht(_l,u),Ht(Xc,l),Ht(Uo,Qc),l=D(u),Mt(Uo),Ht(Uo,l)}function Pl(){Mt(Uo),Mt(Xc),Mt(_l)}function hx(l){var u=Fs(_l.current),g=Fs(Uo.current);u=z(g,l.type,u),g!==u&&(Ht(Xc,l),Ht(Uo,u))}function yg(l){Xc.current===l&&(Mt(Uo),Mt(Xc))}var cr=yt(0);function Zd(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||Nr(g)||$s(g)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var xg=[];function wg(){for(var l=0;lg?g:4,l(!0);var x=Sg.transition;Sg.transition={};try{l(!1),u()}finally{je=g,Sg.transition=x}}function Mx(){return Go().memoizedState}function x8(l,u,g){var x=Ya(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Dx(l))Tx(u,g);else if(g=rx(l,u,g,x),g!==null){var C=to();qo(g,l,x,C),Ax(g,u,x)}}function w8(l,u,g){var x=Ya(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Dx(l))Tx(u,C);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=u.lastRenderedReducer,j!==null))try{var N=u.lastRenderedState,J=j(N,g);if(C.hasEagerState=!0,C.eagerState=J,fn(J,N)){var de=u.interleaved;de===null?(C.next=C,hg(u)):(C.next=de.next,de.next=C),u.interleaved=C;return}}catch{}finally{}g=rx(l,u,C,x),g!==null&&(C=to(),qo(g,l,x,C),Ax(g,u,x))}}function Dx(l){var u=l.alternate;return l===ur||u!==null&&u===ur}function Tx(l,u){Jc=tf=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Ax(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Ee(l,g)}}var of={readContext:Vo,useCallback:Jr,useContext:Jr,useEffect:Jr,useImperativeHandle:Jr,useInsertionEffect:Jr,useLayoutEffect:Jr,useMemo:Jr,useReducer:Jr,useRef:Jr,useState:Jr,useDebugValue:Jr,useDeferredValue:Jr,useTransition:Jr,useMutableSource:Jr,useSyncExternalStore:Jr,useId:Jr,unstable_isNewReconciler:!1},S8={readContext:Vo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Vo,useEffect:kx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,nf(4194308,4,jx.bind(null,u,l),g)},useLayoutEffect:function(l,u){return nf(4194308,4,l,u)},useInsertionEffect:function(l,u){return nf(4,2,l,u)},useMemo:function(l,u){var g=Hs();return u=u===void 0?null:u,l=l(),g.memoizedState=[l,u],l},useReducer:function(l,u,g){var x=Hs();return u=g!==void 0?g(u):u,x.memoizedState=x.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},x.queue=l,l=l.dispatch=x8.bind(null,ur,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Sx,useDebugValue:Eg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Sx(!1),u=l[0];return l=y8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=ur,C=Hs();if(Zn){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),zr===null)throw Error(a(349));Ni&30||vx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,kx(yx.bind(null,x,j,l),[l]),x.flags|=2048,tu(9,bx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(Zn){var g=Xr,x=Do;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=Zc++,0Qg&&(u.flags|=128,x=!0,ou(C,!1),u.lanes=4194304)}else{if(!x)if(l=Zd(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),ou(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!Zn)return Zr(u),null}else 2*Ve()-C.renderingStartTime>Qg&&g!==1073741824&&(u.flags|=128,x=!0,ou(C,!1),u.lanes=4194304);C.isBackwards?(j.sibling=u.child,u.child=j):(l=C.last,l!==null?l.sibling=j:u.child=j,C.last=j)}return C.tail!==null?(u=C.tail,C.rendering=u,C.tail=u.sibling,C.renderingStartTime=Ve(),u.sibling=null,l=cr.current,Ht(cr,x?l&1|2:l&1),u):(Zr(u),null);case 22:case 23:return t0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?Ao&1073741824&&(Zr(u),ce&&u.subtreeFlags&6&&(u.flags|=8192)):Zr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function O8(l,u){switch(ag(u),u.tag){case 1:return Xn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return Pl(),Mt(un),Mt(Ut),wg(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return yg(u),null;case 13:if(Mt(cr),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));wl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(cr),null;case 4:return Pl(),null;case 10:return fg(u.type._context),null;case 22:case 23:return t0(),null;case 24:return null;default:return null}}var uf=!1,eo=!1,R8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Il(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){er(l,u,x)}else g.current=null}function zg(l,u,g){try{g()}catch(x){er(l,u,x)}}var e2=!1;function M8(l,u){for(H(l.containerInfo),pt=u;pt!==null;)if(l=pt,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,pt=u;else for(;pt!==null;){l=pt;try{var g=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,C=g.memoizedState,j=l.stateNode,N=j.getSnapshotBeforeUpdate(l.elementType===l.type?x:ms(l.type,x),C);j.__reactInternalSnapshotBeforeUpdate=N}break;case 3:ce&&ln(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(J){er(l,l.return,J)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=e2,e2=!1,g}function su(l,u,g){var x=u.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var C=x=x.next;do{if((C.tag&l)===l){var j=C.destroy;C.destroy=void 0,j!==void 0&&zg(u,g,j)}C=C.next}while(C!==x)}}function df(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&l)===l){var x=g.create;g.destroy=x()}g=g.next}while(g!==u)}}function Lg(l){var u=l.ref;if(u!==null){var g=l.stateNode;switch(l.tag){case 5:l=G(g);break;default:l=g}typeof u=="function"?u(l):u.current=l}}function t2(l){var u=l.alternate;u!==null&&(l.alternate=null,t2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ae(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function n2(l){return l.tag===5||l.tag===3||l.tag===4}function r2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||n2(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Bg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Pn(g,l,u):ht(g,l);else if(x!==4&&(l=l.child,l!==null))for(Bg(l,u,g),l=l.sibling;l!==null;)Bg(l,u,g),l=l.sibling}function Fg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?qe(g,l,u):xe(g,l);else if(x!==4&&(l=l.child,l!==null))for(Fg(l,u,g),l=l.sibling;l!==null;)Fg(l,u,g),l=l.sibling}var Ur=null,gs=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Hg(l,u,g),g=g.sibling}function Hg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Yn,g)}catch{}switch(g.tag){case 5:eo||Il(g,u);case 6:if(ce){var x=Ur,C=gs;Ur=null,Vs(l,u,g),Ur=x,gs=C,Ur!==null&&(gs?Je(Ur,g.stateNode):Pe(Ur,g.stateNode))}else Vs(l,u,g);break;case 18:ce&&Ur!==null&&(gs?Be(Ur,g.stateNode):xt(Ur,g.stateNode));break;case 4:ce?(x=Ur,C=gs,Ur=g.stateNode.containerInfo,gs=!0,Vs(l,u,g),Ur=x,gs=C):(ge&&(x=g.stateNode.containerInfo,C=br(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!eo&&(x=g.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){C=x=x.next;do{var j=C,N=j.destroy;j=j.tag,N!==void 0&&(j&2||j&4)&&zg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!eo&&(Il(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(J){er(g,u,J)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(eo=(x=eo)||g.memoizedState!==null,Vs(l,u,g),eo=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function o2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new R8),u.forEach(function(x){var C=F8.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function vs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case pf:return":has("+(Ug(l)||"")+")";case hf:return'[role="'+l.value+'"]';case gf:return'"'+l.value+'"';case mf:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function u2(l,u){var g=[];l=[l,0];for(var x=0;xC&&(C=N),x&=~j}if(x=C,x=Ve()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*T8(x/1960))-x,10l?16:l,Ka===null)var x=!1;else{if(l=Ka,Ka=null,wf=0,an&6)throw Error(a(331));var C=an;for(an|=4,pt=l.current;pt!==null;){var j=pt,N=j.child;if(pt.flags&16){var J=j.deletions;if(J!==null){for(var de=0;deVe()-Yg?zi(l,0):Kg|=g),bo(l,u)}function y2(l,u){u===0&&(l.mode&1?(u=vn,vn<<=1,!(vn&130023424)&&(vn=4194304)):u=1);var g=to();l=Bs(l,u),l!==null&&(mt(l,u,g),bo(l,g))}function B8(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),y2(l,g)}function F8(l,u){var g=0;switch(l.tag){case 13:var x=l.stateNode,C=l.memoizedState;C!==null&&(g=C.retryLane);break;case 19:x=l.stateNode;break;default:throw Error(a(314))}x!==null&&x.delete(u),y2(l,g)}var x2;x2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)go=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return go=!1,I8(l,u,g);go=!!(l.flags&131072)}else go=!1,Zn&&u.flags&1048576&&Xy(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;af(l,u),l=u.pendingProps;var C=Ir(u,Ut.current);Cl(u,g),C=kg(null,u,x,l,C,g);var j=_g();return u.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Xn(x)?(j=!0,Jn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,mg(u),C.updater=Xd,u.stateNode=C,C._reactInternals=u,vg(u,x,l,g),u=Dg(null,u,x,!0,j,g)):(u.tag=0,Zn&&j&&sg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(af(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=W8(x),l=ms(x,l),C){case 0:u=Mg(null,u,x,l,g);break e;case 1:u=Gx(null,u,x,l,g);break e;case 11:u=Fx(null,u,x,l,g);break e;case 14:u=Hx(null,u,x,ms(x.type,l),g);break e}throw Error(a(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Mg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Gx(l,u,x,C,g);case 3:e:{if(qx(u),l===null)throw Error(a(387));x=u.pendingProps,j=u.memoizedState,C=j.element,ox(l,u),Qd(u,x,null,g);var N=u.memoizedState;if(x=N.element,_e&&j.isDehydrated)if(j={element:x,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},u.updateQueue.baseState=j,u.memoizedState=j,u.flags&256){C=jl(Error(a(423)),u),u=Kx(l,u,x,g,C);break e}else if(x!==C){C=jl(Error(a(424)),u),u=Kx(l,u,x,g,C);break e}else for(_e&&(Wo=ee(u.stateNode.containerInfo),To=u,Zn=!0,hs=null,Kc=!1),g=px(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(wl(),x===C){u=ha(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return hx(u),l===null&&lg(u),x=u.type,C=u.pendingProps,j=l!==null?l.memoizedProps:null,N=C.children,K(x,C)?N=null:j!==null&&K(x,j)&&(u.flags|=32),Ux(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&lg(u),null;case 13:return Yx(l,u,g);case 4:return bg(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=kl(u,null,x,g):uo(l,u,x,g),u.child;case 11:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Fx(l,u,x,C,g);case 7:return uo(l,u,u.pendingProps,g),u.child;case 8:return uo(l,u,u.pendingProps.children,g),u.child;case 12:return uo(l,u,u.pendingProps.children,g),u.child;case 10:e:{if(x=u.type._context,C=u.pendingProps,j=u.memoizedProps,N=C.value,nx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=ha(l,u,g);break e}}else for(j=u.child,j!==null&&(j.return=u);j!==null;){var J=j.dependencies;if(J!==null){N=j.child;for(var de=J.firstContext;de!==null;){if(de.context===x){if(j.tag===1){de=pa(-1,g&-g),de.tag=2;var De=j.updateQueue;if(De!==null){De=De.shared;var gt=De.pending;gt===null?de.next=de:(de.next=gt.next,gt.next=de),De.pending=de}}j.lanes|=g,de=j.alternate,de!==null&&(de.lanes|=g),pg(j.return,g,u),J.lanes|=g;break}de=de.next}}else if(j.tag===10)N=j.type===u.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(a(341));N.lanes|=g,J=N.alternate,J!==null&&(J.lanes|=g),pg(N,g,u),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===u){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}uo(l,u,C.children,g),u=u.child}return u;case 9:return C=u.type,x=u.pendingProps.children,Cl(u,g),C=Vo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=ms(x,u.pendingProps),C=ms(x.type,C),Hx(l,u,x,C,g);case 15:return Wx(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),af(l,u),u.tag=1,Xn(x)?(l=!0,Jn(u)):l=!1,Cl(u,g),cx(u,x,C),vg(u,x,C,g),Dg(null,u,x,!0,l,g);case 19:return Xx(l,u,g);case 22:return Vx(l,u,g)}throw Error(a(156,u.tag))};function w2(l,u){return We(l,u)}function H8(l,u,g,x){this.tag=l,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ko(l,u,g,x){return new H8(l,u,g,x)}function r0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function W8(l){if(typeof l=="function")return r0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function Xa(l,u){var g=l.alternate;return g===null?(g=Ko(l.tag,u,l.key,l.mode),g.elementType=l.elementType,g.type=l.type,g.stateNode=l.stateNode,g.alternate=l,l.alternate=g):(g.pendingProps=u,g.type=l.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=l.flags&14680064,g.childLanes=l.childLanes,g.lanes=l.lanes,g.child=l.child,g.memoizedProps=l.memoizedProps,g.memoizedState=l.memoizedState,g.updateQueue=l.updateQueue,u=l.dependencies,g.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},g.sibling=l.sibling,g.index=l.index,g.ref=l.ref,g}function _f(l,u,g,x,C,j){var N=2;if(x=l,typeof l=="function")r0(l)&&(N=1);else if(typeof l=="string")N=5;else e:switch(l){case h:return Fi(g.children,C,j,u);case m:N=8,C|=8;break;case v:return l=Ko(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Ko(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Ko(19,g,u,C),l.elementType=k,l.lanes=j,l;case P:return Pf(g,C,j,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:N=10;break e;case w:N=9;break e;case y:N=11;break e;case _:N=14;break e;case I:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Ko(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Ko(7,l,x,u),l.lanes=g,l}function Pf(l,u,g,x){return l=Ko(22,l,x,u),l.elementType=P,l.lanes=g,l.stateNode={isHidden:!1},l}function o0(l,u,g){return l=Ko(6,l,null,u),l.lanes=g,l}function s0(l,u,g){return u=Ko(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function V8(l,u,g,x,C){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=oe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=x,this.onRecoverableError=C,_e&&(this.mutableSourceEagerHydrationData=null)}function S2(l,u,g,x,C,j,N,J,de){return l=new V8(l,u,g,J,de),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Ko(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},mg(j),l}function C2(l){if(!l)return jn;l=l._reactInternals;e:{if(T(l)!==l||l.tag!==1)throw Error(a(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Xn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(a(171))}if(l.tag===1){var g=l.type;if(Xn(g))return On(l,g,u)}return u}function k2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(a(188)):(l=Object.keys(l).join(","),Error(a(268,l)));return l=Q(u),l===null?null:l.stateNode}function _2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=De&&j>=Yt&&C<=gt&&N<=it){l.splice(u,1);break}else if(x!==De||g.width!==de.width||itN){if(!(j!==Yt||g.height!==de.height||gtC)){De>x&&(de.width+=De-x,de.x=x),gtj&&(de.height+=Yt-j,de.y=j),itg&&(g=N)),N ")+` + +No matching component was found for: + `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return G(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:U8,findFiberByHostInstance:l.findFiberByHostInstance||G8,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Yn=u.inject(l),gn=u}catch{}l=!!u.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,u,g,x){if(!ct)throw Error(a(363));l=Gg(l,u);var C=At(l,g,x).disconnect;return{disconnect:function(){C()}}},n.registerMutableSourceForHydration=function(l,u){var g=u._getVersion;g=g(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,g]:l.mutableSourceEagerHydrationData.push(u,g)},n.runWithPriority=function(l,u){var g=je;try{return je=l,u()}finally{je=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=to(),N=Ya(C);return g=C2(g),u.context===null?u.context=g:u.pendingContext=g,u=pa(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=Ga(C,u,N),l!==null&&(qo(l,C,N,j),Yd(l,C,N)),N},n};JO.exports=Cie;var kie=JO.exports;const _ie=cd(kie);var ZO={exports:{}},xl={};/** + * @license React + * react-reconciler-constants.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */xl.ConcurrentRoot=1;xl.ContinuousEventPriority=4;xl.DefaultEventPriority=16;xl.DiscreteEventPriority=1;xl.IdleEventPriority=536870912;xl.LegacyRoot=0;ZO.exports=xl;var e8=ZO.exports;const n_={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let r_=!1,o_=!1;const Ky=".react-konva-event",Pie=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. +Position of a node will be changed during drag&drop, so you should update state of the react app as well. +Consider to add onDragMove or onDragEnd events. +For more info see: https://github.com/konvajs/react-konva/issues/256 +`,jie=`ReactKonva: You are using "zIndex" attribute for a Konva node. +react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. +For more info see: https://github.com/konvajs/react-konva/issues/194 +`,Iie={};function og(e,t,n=Iie){if(!r_&&"zIndex"in t&&(console.warn(jie),r_=!0),!o_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(Pie),o_=!0)}for(var s in n)if(!n_[s]){var a=s.slice(0,2)==="on",c=n[s]!==t[s];if(a&&c){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,m={},v=!1;const b={};for(var s in t)if(!n_[s]){var a=s.slice(0,2)==="on",w=n[s]!==t[s];if(a&&w){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!a&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,m[s]=t[s])}v&&(e.setAttrs(m),Di(e));for(var d in b)e.on(d+Ky,b[d])}function Di(e){if(!L7.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const t8={},Eie={};ad.Node.prototype._applyProps=og;function Oie(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),Di(e)}function Rie(e,t,n){let r=ad[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=ad.Group);const o={},s={};for(var a in t){var c=a.slice(0,2)==="on";c?s[a]=t[a]:o[a]=t[a]}const d=new r(o);return og(d,s),d}function Mie(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function Die(e,t,n){return!1}function Tie(e){return e}function Aie(){return null}function Nie(){return null}function $ie(e,t,n,r){return Eie}function zie(){}function Lie(e){}function Bie(e,t){return!1}function Fie(){return t8}function Hie(){return t8}const Wie=setTimeout,Vie=clearTimeout,Uie=-1;function Gie(e,t){return!1}const qie=!1,Kie=!0,Yie=!0;function Qie(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function Xie(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function n8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function Jie(e,t,n){n8(e,t,n)}function Zie(e,t){t.destroy(),t.off(Ky),Di(e)}function ele(e,t){t.destroy(),t.off(Ky),Di(e)}function tle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function nle(e,t,n){}function rle(e,t,n,r,o){og(e,o,r)}function ole(e){e.hide(),Di(e)}function sle(e){}function ale(e,t){(t.visible==null||t.visible)&&e.show()}function ile(e,t){}function lle(e){}function cle(){}const ule=()=>e8.DefaultEventPriority,dle=Object.freeze(Object.defineProperty({__proto__:null,appendChild:Qie,appendChildToContainer:Xie,appendInitialChild:Oie,cancelTimeout:Vie,clearContainer:lle,commitMount:nle,commitTextUpdate:tle,commitUpdate:rle,createInstance:Rie,createTextInstance:Mie,detachDeletedInstance:cle,finalizeInitialChildren:Die,getChildHostContext:Hie,getCurrentEventPriority:ule,getPublicInstance:Tie,getRootHostContext:Fie,hideInstance:ole,hideTextInstance:sle,idlePriority:bp.unstable_IdlePriority,insertBefore:n8,insertInContainerBefore:Jie,isPrimaryRenderer:qie,noTimeout:Uie,now:bp.unstable_now,prepareForCommit:Aie,preparePortalMount:Nie,prepareUpdate:$ie,removeChild:Zie,removeChildFromContainer:ele,resetAfterCommit:zie,resetTextContent:Lie,run:bp.unstable_runWithPriority,scheduleTimeout:Wie,shouldDeprioritizeSubtree:Bie,shouldSetTextContent:Gie,supportsMutation:Yie,unhideInstance:ale,unhideTextInstance:ile,warnsIfNotActing:Kie},Symbol.toStringTag,{value:"Module"}));var fle=Object.defineProperty,ple=Object.defineProperties,hle=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,mle=Object.prototype.hasOwnProperty,gle=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?fle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i_=(e,t)=>{for(var n in t||(t={}))mle.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))gle.call(t,n)&&a_(e,n,t[n]);return e},vle=(e,t)=>ple(e,hle(t));function r8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=r8(r,t,n);if(o)return o;r=t?null:r.sibling}}function o8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const Yy=o8(f.createContext(null));class s8 extends f.Component{render(){return f.createElement(Yy.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:l_,ReactCurrentDispatcher:c_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function ble(){const e=f.useContext(Yy);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[l_==null?void 0:l_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=r8(r,!1,s=>{let a=s.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(o)return o}},[e,t])}function yle(){var e,t;const n=ble(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==Yy&&!r.has(s)&&r.set(s,(t=c_==null?void 0:c_.current)==null?void 0:t.readContext(o8(s))),o=o.return}return r}function xle(){const e=yle();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,vle(i_({},r),{value:e.get(n)}))),t=>f.createElement(s8,i_({},t))),[e])}function wle(e){const t=F.useRef({});return F.useLayoutEffect(()=>{t.current=e}),F.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const Sle=e=>{const t=F.useRef(),n=F.useRef(),r=F.useRef(),o=wle(e),s=xle(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return F.useLayoutEffect(()=>(n.current=new ad.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=Ou.createContainer(n.current,e8.LegacyRoot,!1,null),Ou.updateContainer(F.createElement(s,{},e.children),r.current),()=>{ad.isBrowser&&(a(null),Ou.updateContainer(null,r.current,null),n.current.destroy())}),[]),F.useLayoutEffect(()=>{a(n.current),og(n.current,e,o),Ou.updateContainer(F.createElement(s,{},e.children),r.current,null)}),F.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},yu="Layer",Na="Group",aa="Rect",Hi="Circle",Yh="Line",a8="Image",Cle="Transformer",Ou=_ie(dle);Ou.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:F.version,rendererPackageName:"react-konva"});const kle=F.forwardRef((e,t)=>F.createElement(s8,{},F.createElement(Sle,{...e,forwardedRef:t}))),_le=fe([mn,ir],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ple=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=L(_le);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Ap(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(n3(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Ap(!1))},[e,r,n,t])}},jle=fe([mn,Kn,ir],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ile=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=L(jle),c=f.useRef(null),d=r3(),p=()=>e(q1());nt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(pd(!s));nt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),nt(["n"],()=>{e(Wu(!a))},{enabled:!0,preventDefault:!0},[a]),nt("esc",()=>{e(B7())},{enabled:()=>!0,preventDefault:!0}),nt("shift+h",()=>{e(F7(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),nt(["space"],m=>{m.repeat||(d==null||d.container().focus(),r!=="move"&&(c.current=r,e(ea("move"))),r==="move"&&c.current&&c.current!=="move"&&(e(ea(c.current)),c.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,c])},Qy=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},i8=()=>{const e=te(),t=Ia(),n=r3();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=H7.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;e(W7({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(V7())}}},Ele=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ole=e=>{const t=te(),{tool:n,isStaging:r}=L(Ele),{commitColorUnderCursor:o}=i8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Ap(!0));return}if(n==="colorPicker"){o();return}const a=Qy(e.current);a&&(s.evt.preventDefault(),t(o3(!0)),t(U7([a.x,a.y])))},[e,n,r,t,o])},Rle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Mle=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=L(Rle),{updateColorUnderCursor:c}=i8();return f.useCallback(()=>{if(!e.current)return;const d=Qy(e.current);if(d){if(r(G7(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(s3([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},Dle=()=>{const e=te();return f.useCallback(()=>{e(q7())},[e])},Tle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ale=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=L(Tle);return f.useCallback(()=>{if(r==="move"||s){n(Ap(!1));return}if(!t.current&&o&&e.current){const a=Qy(e.current);if(!a)return;n(s3([a.x,a.y]))}else t.current=!1;n(o3(!1))},[t,n,o,s,e,r])},Nle=fe([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),$le=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=L(Nle);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const a={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*Q7**c,Y7,K7),p={x:s.x-a.x*d,y:s.y-a.y*d};t(X7(d)),t(n3(p))},[e,n,r,t])},zle=fe(mn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Xt}}),Lle=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=L(zle);return i.jsxs(Na,{children:[i.jsx(aa,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),i.jsx(aa,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},Ble=fe([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Fle=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=L(Ble),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=Dc("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:m,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(m),y:d(v)}},w={x:Math.ceil(d(m)/64)*64,y:Math.ceil(d(v)/64)*64},y={x1:-w.x,y1:-w.y,x2:d(p)-w.x+64,y2:d(h)-w.y+64},k={x1:Math.min(b.x1,y.x1),y1:Math.min(b.y1,y.y1),x2:Math.max(b.x2,y.x2),y2:Math.max(b.y2,y.y2)},_=k.x2-k.x1,I=k.y2-k.y1,P=Math.round(_/64)+1,E=Math.round(I/64)+1,O=vw(0,P).map(M=>i.jsx(Yh,{x:k.x1+M*64,y:k.y1,points:[0,0,0,I],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=vw(0,E).map(M=>i.jsx(Yh,{x:k.x1,y:k.y1+M*64,points:[0,0,_,0],stroke:r==="dark"?a:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,a,c]),i.jsx(Na,{children:o})},Hle=fe([mo,mn],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Xt}}),Wle=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=L(Hle),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const a=new Image;a.onload=()=>{s(a)},a.src=n.dataURL},[n]),n&&r&&o?i.jsx(a8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},tl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},Vle=fe(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:tl(t)}}),u_=e=>`data:image/svg+xml;utf8, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`.replaceAll("black",e),Ule=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=L(Vle),[a,c]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),m=f.useCallback(()=>{p(d+1),setTimeout(m,500)},[d]);return f.useEffect(()=>{if(a)return;const v=new Image;v.onload=()=>{c(v)},v.src=u_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=u_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Ml(r.x)||!Ml(r.y)||!Ml(s)||!Ml(o.width)||!Ml(o.height)?null:i.jsx(aa,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:a,fillPatternOffsetY:Ml(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},Gle=fe([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Xt}}),qle=e=>{const{...t}=e,{objects:n}=L(Gle);return i.jsx(Na,{listening:!1,...t,children:n.filter(J7).map((r,o)=>i.jsx(Yh,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var Wi=f,Kle=function(t,n,r){const o=Wi.useRef("loading"),s=Wi.useRef(),[a,c]=Wi.useState(0),d=Wi.useRef(),p=Wi.useRef(),h=Wi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),Wi.useLayoutEffect(function(){if(!t)return;var m=document.createElement("img");function v(){o.current="loaded",s.current=m,c(Math.random())}function b(){o.current="failed",s.current=void 0,c(Math.random())}return m.addEventListener("load",v),m.addEventListener("error",b),n&&(m.crossOrigin=n),r&&(m.referrerPolicy=r),m.src=t,function(){m.removeEventListener("load",v),m.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const Yle=cd(Kle),l8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=os(s??oo.skipToken),[d]=Yle((a==null?void 0:a.image_url)??"",Z7.get()?"use-credentials":"anonymous");return c?i.jsx(aa,{x:r,y:o,width:t,height:n,fill:"red"}):i.jsx(a8,{x:r,y:o,image:d,listening:!1})},Qle=fe([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Xt}}),Xle=()=>{const{objects:e}=L(Qle);return e?i.jsx(Na,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(I_(t))return i.jsx(l8,{canvasImage:t},n);if(eD(t)){const r=i.jsx(Yh,{points:t.points,stroke:t.color?tl(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?i.jsx(Na,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(tD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:tl(t.color)},n);if(nD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},Jle=fe([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:a,height:c}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:a,height:c}},{memoizeOptions:{resultEqualityCheck:Xt}}),Zle=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=L(Jle);return i.jsxs(Na,{...t,children:[r&&n&&i.jsx(l8,{canvasImage:n}),o&&i.jsxs(Na,{children:[i.jsx(aa,{x:s,y:a,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),i.jsx(aa,{x:s,y:a,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},ece=fe([mn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),tce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=L(ece),{t:a}=be(),c=f.useCallback(()=>{e(iw(!0))},[e]),d=f.useCallback(()=>{e(iw(!1))},[e]);nt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),nt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),nt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(rD()),[e]),h=f.useCallback(()=>e(oD()),[e]),m=f.useCallback(()=>e(sD(s)),[e,s]),{data:v}=os((r==null?void 0:r.imageName)??oo.skipToken);return r?i.jsx(W,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:c,onMouseOut:d,children:i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(AH,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(NH,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(LH,{}),onClick:m,colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(KH,{}):i.jsx(qH,{}),onClick:()=>e(aD(!o)),colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(_m,{}),onClick:()=>{v&&e(iD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(lD()),colorScheme:"error",fontSize:20})]})}):null},nce=()=>{const e=L(c=>c.canvas.layerState),t=L(c=>c.canvas.boundingBoxCoordinates),n=L(c=>c.canvas.boundingBoxDimensions),r=L(c=>c.canvas.isMaskEnabled),o=L(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),eee(async()=>{const c=await cD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=uD(d,p);a(h)},1e3,[e,t,n,r,o]),s},rce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},oce=()=>{const e=nce();return i.jsxs(Oe,{children:["Mode: ",e?rce[e]:"..."]})},Jl=e=>Math.round(e*100)/100,sce=fe([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${Jl(n)}, ${Jl(r)})`}},{memoizeOptions:{resultEqualityCheck:Xt}});function ace(){const{cursorCoordinatesString:e}=L(sce),{t}=be();return i.jsx(Oe,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const R1="var(--invokeai-colors-warning-500)",ice=fe([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:a},scaledBoundingBoxDimensions:{width:c,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:m,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:w,shouldPreserveMaskedArea:y}=e;let S="inherit";return(w==="none"&&(s<512||a<512)||w==="manual"&&c*d<512*512)&&(S=R1),{activeLayerColor:b==="mask"?R1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${Jl(p)}, ${Jl(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${Jl(r)}×${Jl(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Xt}}),lce=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:a,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=L(ice),{t:b}=be();return i.jsxs(W,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(oce,{}),i.jsx(Oe,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Oe,{style:{color:R1},children:"Preserve Masked Area: On"}),m&&i.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Oe,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(ace,{})]})]})},cce=fe([Ye],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:a,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:a,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Xt}}),uce=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:a,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=L(cce),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var B;!b.current||!w.current||(b.current.nodes([w.current]),(B=b.current.getLayer())==null||B.batchDraw())},[]);const k=64*d;nt("N",()=>{n(Wu(!p))});const _=f.useCallback(B=>{if(!p){n(a0({x:Math.floor(B.target.x()),y:Math.floor(B.target.y())}));return}const V=B.target.x(),q=B.target.y(),G=Ss(V,64),D=Ss(q,64);B.target.x(G),B.target.y(D),n(a0({x:G,y:D}))},[n,p]),I=f.useCallback(()=>{if(!w.current)return;const B=w.current,V=B.scaleX(),q=B.scaleY(),G=Math.round(B.width()*V),D=Math.round(B.height()*q),z=Math.round(B.x()),H=Math.round(B.y());if(v){const Y=Ss(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:D}));n(a0({x:p?wu(z,64):z,y:p?wu(H,64):H})),B.scaleX(1),B.scaleY(1)},[n,p,v]),P=f.useCallback((B,V,q)=>{const G=B.x%k,D=B.y%k;return{x:wu(V.x,k)+G,y:wu(V.y,k)+D}},[k]),E=()=>{n(i0(!0))},O=()=>{n(i0(!1)),n(l0(!1)),n(Rf(!1)),S(!1)},R=()=>{n(l0(!0))},M=()=>{n(i0(!1)),n(l0(!1)),n(Rf(!1)),S(!1)},T=()=>{S(!0)},A=()=>{!c&&!a&&S(!1)},$=()=>{n(Rf(!0))},Q=()=>{n(Rf(!1))};return i.jsxs(Na,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:$,onMouseOver:$,onMouseLeave:Q,onMouseOut:Q}),i.jsx(aa,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:_,onMouseDown:R,onMouseOut:A,onMouseOver:T,onMouseEnter:T,onMouseUp:M,onTransform:I,onTransformEnd:O,ref:w,stroke:y?"rgba(255,255,255,0.7)":"white",strokeWidth:(y?8:1)/d,width:o.width,x:r.x,y:r.y}),i.jsx(Cle,{anchorCornerRadius:3,anchorDragBoundFunc:P,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},dce=fe(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:a,layer:c,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:m,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:w,shouldRestrictStrokesToBox:y}=e,S=y?{clipX:b.x,clipY:b.y,clipWidth:w.width,clipHeight:w.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:lw/m,colorPickerInnerRadius:(lw-bv+1)/m,maskColorString:tl({...o,a:.5}),brushColorString:tl(s),colorPickerColorString:tl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Xt}}),fce=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:a,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=L(dce);return d?i.jsxs(Na,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:bv,strokeScaleEnabled:!1}),i.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:bv,strokeScaleEnabled:!1})]}):i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),i.jsx(Hi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),i.jsx(Hi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},pce=fe([mn,ir],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:a,isMovingBoundingBox:c,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:m,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:w,shouldAntialias:y}=e;let S="none";return h==="move"||t?m?S="grabbing":S="grab":s?S=void 0:w&&!a&&(S="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||c,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:S,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:y}},Ge),hce=Ie(kle,{shouldForwardProp:e=>!["sx"].includes(e)}),d_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:a,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=L(pce);Ile();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{fD(A),v.current=A},[]),y=f.useCallback(A=>{dD(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=$le(v),I=Ole(v),P=Ale(v,k),E=Mle(v,k,S),O=Dle(),{handleDragStart:R,handleDragMove:M,handleDragEnd:T}=Ple();return i.jsx(W,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Oe,{sx:{position:"relative"},children:[i.jsxs(hce,{tabIndex:-1,ref:w,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:a.width,height:a.height,scale:{x:c,y:c},onTouchStart:I,onTouchMove:E,onTouchEnd:P,onMouseDown:I,onMouseLeave:O,onMouseMove:E,onMouseUp:P,onDragStart:R,onDragMove:M,onDragEnd:T,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[i.jsx(yu,{id:"grid",visible:r,children:i.jsx(Fle,{})}),i.jsx(yu,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx(Xle,{})}),i.jsxs(yu,{id:"mask",visible:e,listening:!1,children:[i.jsx(qle,{visible:!0,listening:!1}),i.jsx(Ule,{listening:!1})]}),i.jsx(yu,{children:i.jsx(Lle,{})}),i.jsxs(yu,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(fce,{visible:d!=="move",listening:!1}),i.jsx(Zle,{visible:p}),h&&i.jsx(Wle,{}),i.jsx(uce,{visible:n&&!p})]})]}),i.jsx(lce,{}),i.jsx(tce,{})]})})},mce=fe(mn,uH,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),f_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=L(mce),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(pD({width:a,height:c})),e(o?hD():em()),e(E_(!1))},0)},[e,r,t,n,o]),i.jsx(W,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:i.jsx(dl,{thickness:"2px",size:"xl"})})};function c8(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const gce=Ie(qO,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),sv={width:6,height:6,borderColor:"base.100"},vce=e=>{const{styleClass:t="",...n}=e;return i.jsx(gce,{sx:{".react-colorful__hue-pointer":sv,".react-colorful__saturation-pointer":sv,".react-colorful__alpha-pointer":sv},className:t,...n})},Qh=f.memo(vce),bce=fe([mn,ir],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:tl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}}),yce=()=>{const e=te(),{t}=be(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=L(bce);nt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),nt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),nt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(Np(n==="mask"?"base":"mask"))},d=()=>e(q1()),p=()=>e(pd(!o));return i.jsx(gl,{triggerComponent:i.jsx(nr,{children:i.jsx(Le,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(rW,{}),isChecked:n==="mask",isDisabled:a})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),i.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(a3(h.target.checked))}),i.jsx(Qh,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(i3(h))}),i.jsxs(rn,{size:"sm",leftIcon:i.jsx(us,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},xce=fe([mn,Kn,mo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function u8(){const e=te(),{canRedo:t,activeTabName:n}=L(xce),{t:r}=be(),o=()=>{e(mD())};return nt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(Le,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(aW,{}),onClick:o,isDisabled:!t})}const d8=()=>{const e=L(ir),t=te(),{t:n}=be();return i.jsxs(Vy,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(gD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(rn,{size:"sm",leftIcon:i.jsx(us,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},wce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Xt}}),Sce=()=>{const e=te(),{t}=be(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=L(wce);nt(["n"],()=>{e(Wu(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Wu(v.target.checked));return i.jsx(gl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(l3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(c3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),i.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(u3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(d3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(f3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(p3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(h3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(m3(v.target.checked))}),i.jsx(d8,{})]})})},Cce=fe([mn,ir,mo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:a}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),kce=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=L(Cce),{t:s}=be();nt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),nt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),nt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),nt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),nt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),nt(["BracketLeft"],()=>{e(ec(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),nt(["BracketRight"],()=>{e(ec(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),nt(["Shift+BracketLeft"],()=>{e(tc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),nt(["Shift+BracketRight"],()=>{e(tc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const a=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(g3()),h=()=>e(v3());return i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(b6,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(p6,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(g6,{}),isDisabled:o,onClick:p}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(m6,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(gl,{triggerComponent:i.jsx(Le,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(Fb,{})}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[i.jsx(W,{gap:4,justifyContent:"space-between",children:i.jsx(_t,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(ec(m)),sliderNumberInputProps:{max:500}})}),i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(tc(m))})]})})]})},_ce=fe([mn,Kn,mo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function f8(){const e=te(),{t}=be(),{canUndo:n,activeTabName:r}=L(_ce),o=()=>{e(vD())};return nt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(Hb,{}),onClick:o,isDisabled:!n})}const Pce=fe([mo,mn,ir],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:a,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:a,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Xt}}),jce=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=L(Pce),a=Ia(),{t:c}=be(),{isClipboardAPIAvailable:d}=Oy(),{getUploadButtonProps:p,getUploadInputProps:h}=Vm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});nt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),nt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),nt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),nt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),nt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),nt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=c8(()=>b(!1),()=>b(!0)),b=(P=!1)=>{const E=Ia();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(b3({contentRect:O,shouldScaleTo1:P}))},w=()=>{e(F1()),e(em())},y=()=>{e(y3())},S=()=>{e(x3())},k=()=>{d&&e(w3())},_=()=>{e(S3())},I=P=>{const E=P;e(Np(E)),E==="mask"&&!r&&e(pd(!0))};return i.jsxs(W,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Oe,{w:24,children:i.jsx(Yr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:C3,onChange:I,disabled:n})}),i.jsx(yce,{}),i.jsx(kce,{}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(u6,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(f6,{}),onClick:v})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(v6,{}),onClick:y,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(_m,{}),onClick:S,isDisabled:n}),d&&i.jsx(Le,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Fc,{}),onClick:k,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(Bb,{}),onClick:_,isDisabled:n})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(f8,{}),i.jsx(u8,{})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(Md,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(us,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(nr,{isAttached:!0,children:i.jsx(Sce,{})})]})};function Ice(){const e=te(),t=L(o=>o.canvas.brushSize),{t:n}=be(),r=L(ir);return nt(["BracketLeft"],()=>{e(ec(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),nt(["BracketRight"],()=>{e(ec(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(ec(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Ece=fe([mn,ir],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function Oce(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=L(Ece),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return nt(["shift+BracketLeft"],()=>{e(tc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),nt(["shift+BracketRight"],()=>{e(tc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(gl,{triggerComponent:i.jsx(Oe,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(tc(a))}),r==="mask"&&i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(i3(a))})]})})}function p8(){return i.jsxs(W,{columnGap:4,alignItems:"center",children:[i.jsx(Ice,{}),i.jsx(Oce,{})]})}function Rce(){const e=te(),t=L(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(p3(r.target.checked))})}function Mce(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(p8,{}),i.jsx(Rce,{})]})}function Dce(){const e=te(),{t}=be(),n=()=>e(q1());return i.jsx(rn,{size:"sm",leftIcon:i.jsx(us,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function Tce(){const e=L(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=be(),r=()=>t(pd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function Ace(){const e=te(),{t}=be(),n=L(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(a3(r.target.checked))})}function Nce(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(p8,{}),i.jsx(Tce,{}),i.jsx(Ace,{}),i.jsx(Dce,{})]})}function $ce(){const e=L(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(u3(r.target.checked))})}function zce(){const e=L(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(c3(r.target.checked))})}function Lce(){const e=L(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=be(),r=o=>t(Wu(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Bce(){return i.jsxs(W,{alignItems:"center",gap:4,children:[i.jsx(zce,{}),i.jsx(Lce,{}),i.jsx($ce,{})]})}const Fce=fe([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Xt}});function Hce(){const{tool:e,layer:t}=L(Fce);return i.jsxs(W,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Mce,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Nce,{}),e=="move"&&i.jsx(Bce,{})]})}const Wce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Xt}}),Vce=()=>{const e=te(),{t}=be(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=L(Wce);return i.jsx(gl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(l3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(d3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(f3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(h3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(m3(c.target.checked))}),i.jsx(d8,{})]})})};function Uce(){const e=L(ir),t=Ia(),{isClipboardAPIAvailable:n}=Oy(),r=L(c=>c.system.isProcessing),o=te(),{t:s}=be();nt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(w3())},[o,n]);return n?i.jsx(Le,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Fc,{}),onClick:a,isDisabled:e}):null}function Gce(){const e=te(),{t}=be(),n=Ia(),r=L(ir);nt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(S3())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(Bb,{}),onClick:o,isDisabled:r})}function qce(){const e=L(ir),{getUploadButtonProps:t,getUploadInputProps:n}=Vm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=be();return i.jsxs(i.Fragment,{children:[i.jsx(Le,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(Md,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const Kce=fe([mn,ir],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function Yce(){const e=te(),{t}=be(),{layer:n,isMaskEnabled:r,isStaging:o}=L(Kce),s=()=>{e(Np(n==="mask"?"base":"mask"))};nt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(Np(d)),d==="mask"&&!r&&e(pd(!0))};return i.jsx(Yr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:C3,onChange:a,disabled:o,w:"full"})}function Qce(){const e=te(),{t}=be(),n=Ia(),r=L(ir),o=L(a=>a.system.isProcessing);nt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(y3())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(v6,{}),onClick:s,isDisabled:r})}function Xce(){const e=L(s=>s.canvas.tool),t=L(ir),n=te(),{t:r}=be();nt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(Le,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(u6,{}),isChecked:e==="move"||t,onClick:o})}function Jce(){const e=L(s=>s.ui.shouldPinParametersPanel),t=L(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=be(),o=()=>{n(K1(!0)),e&&n(So())};return!e||!t?i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Le,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(Fb,{})}),i.jsx(W,{children:i.jsx(zy,{iconButton:!0})}),i.jsx(W,{children:i.jsx(Xm,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function Zce(){const e=te(),{t}=be(),n=L(ir),r=()=>{e(F1()),e(em())};return i.jsx(Le,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(us,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function eue(){const e=Ia(),t=te(),{t:n}=be();nt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=c8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Ia();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(b3({contentRect:c,shouldScaleTo1:s}))};return i.jsx(Le,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(f6,{}),onClick:r})}function tue(){const e=L(ir),t=Ia(),n=L(a=>a.system.isProcessing),r=te(),{t:o}=be();nt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(x3())};return i.jsx(Le,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(_m,{}),onClick:s,isDisabled:e})}const nue=fe([mn,ir,mo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),rue=()=>{const e=te(),{t}=be(),{tool:n,isStaging:r}=L(nue);nt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),nt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),nt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),nt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),nt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(g3()),d=()=>e(v3());return i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsxs(nr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(b6,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(p6,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(nr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(g6,{}),isDisabled:r,onClick:c}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(m6,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},oue=()=>i.jsxs(W,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(Yce,{}),i.jsx(rue,{}),i.jsxs(W,{gap:2,children:[i.jsx(Xce,{}),i.jsx(eue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Qce,{}),i.jsx(tue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Uce,{}),i.jsx(Gce,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(f8,{}),i.jsx(u8,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(qce,{}),i.jsx(Zce,{})]}),i.jsx(Vce,{}),i.jsx(Jce,{})]}),sue=fe([mn,La],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ge),av={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},aue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=L(sue),{isOver:r,setNodeRef:o,active:s}=A1({id:"unifiedCanvas",data:av});return f.useLayoutEffect(()=>{const a=()=>{e(So())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Oe,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{w:"full",h:"full",gap:4},children:[i.jsx(oue,{}),i.jsxs(W,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(Hce,{}),i.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(f_,{}):i.jsx(d_,{}),Ep(av,s)&&i.jsx(nh,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Oe,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[i.jsx(jce,{}),i.jsx(W,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(f_,{}):i.jsx(d_,{}),Ep(av,s)&&i.jsx(nh,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},iue=f.memo(aue),lue=fe([Ye],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ge),cue=()=>{const e=te(),{infillMethod:t}=L(lue),{data:n,isLoading:r}=L_(),o=n==null?void 0:n.infill_methods,{t:s}=be(),a=f.useCallback(c=>{e(bD(c))},[e]);return i.jsx(Yr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},uue=f.memo(cue),due=fe([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ge),fue=()=>{const e=te(),{tileSize:t,infillMethod:n}=L(due),{t:r}=be(),o=f.useCallback(a=>{e(cw(a))},[e]),s=f.useCallback(()=>{e(cw(32))},[e]);return i.jsx(_t,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},pue=f.memo(fue),hue=fe([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ge),mue=()=>{const e=te(),{boundingBoxScale:t}=L(hue),{t:n}=be(),r=o=>{e(xD(o))};return i.jsx(sr,{label:n("parameters.scaleBeforeProcessing"),data:yD,value:t,onChange:r})},gue=f.memo(mue),vue=fe([Mi,mo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ge),bue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=L(vue),{t:r}=be(),o=a=>{e($p({...n,height:Math.floor(a)}))},s=()=>{e($p({...n,height:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},yue=f.memo(bue),xue=fe([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ge),wue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=L(xue),{t:r}=be(),o=a=>{e($p({...n,width:Math.floor(a)}))},s=()=>{e($p({...n,width:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Sue=f.memo(wue),Cue=()=>{const{t:e}=be();return i.jsx(Oo,{label:e("parameters.infillScalingHeader"),children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(uue,{}),i.jsx(pue,{}),i.jsx(gue,{}),i.jsx(Sue,{}),i.jsx(yue,{})]})})},kue=f.memo(Cue);function _ue(){const e=te(),t=L(r=>r.generation.seamBlur),{t:n}=be();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(uw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(uw(16))}})}function Pue(){const e=te(),{t}=be(),n=L(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(dw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(dw(96))})}function jue(){const{t:e}=be(),t=L(r=>r.generation.seamSteps),n=te();return i.jsx(_t,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(fw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(fw(30))}})}function Iue(){const e=te(),{t}=be(),n=L(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(pw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(pw(.7))}})}const Eue=()=>{const{t:e}=be();return i.jsxs(Oo,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(Pue,{}),i.jsx(_ue,{}),i.jsx(Iue,{}),i.jsx(jue,{})]})},Oue=f.memo(Eue),Rue=fe([Ye,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),Mue=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=L(Rue),{t:o}=be(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=Ss(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=Ss(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return i.jsx(_t,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Due=f.memo(Mue),Tue=fe([Ye,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),Aue=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=L(Tue),{t:o}=be(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=Ss(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=Ss(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return i.jsx(_t,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Nue=f.memo(Aue);function p_(){const e=te(),{t}=be();return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(tt,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(fl,{}),i.jsx(_O,{}),i.jsx(Le,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(sO,{}),fontSize:20,onClick:()=>e(wD())})]}),i.jsx(Nue,{}),i.jsx(Due,{})]})}const $ue=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),zue=()=>{const{shouldUseSliders:e,activeLabel:t}=L($ue);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(p_,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(p_,{})]}),i.jsx(DO,{})]})})},Lue=f.memo(zue),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(Lue,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Wy,{}),i.jsx(Oue,{}),i.jsx(kue,{}),i.jsx(Fy,{})]}),Bue=()=>i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:i.jsx(h8,{})}),i.jsx(iue,{})]}),Fue=f.memo(Bue),Hue=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(Kr,{as:YH,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(wie,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(Kr,{as:al,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(xoe,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(Kr,{as:bee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Fue,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(Kr,{as:vee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(gie,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(Kr,{as:HH,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(yse,{})}],Wue=fe([aO,mo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Hue.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Xt}}),Vue=350,iv=20,m8=["modelManager"],Uue=()=>{const e=L(SD),t=L(Kn),n=L(Wue),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=L(y=>y.ui),{t:a}=be(),c=te();nt("f",()=>{c(CD()),(r||o)&&c(So())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(So())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(wn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(wc,{onClick:p,children:[i.jsx(L3,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Cm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=Fee(Vue,iv,"app"),w=f.useCallback(y=>{const S=kD[y];S&&c(ql(S))},[c]);return i.jsxs(Ed,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(Od,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(fl,{}),i.jsx(Cee,{})]}),i.jsxs(Ay,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(sd,{id:"main",children:i.jsx(km,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!m8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(IO,{}),i.jsx(sd,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>iv?b:iv,minSize:b,maxSize:50,children:i.jsx(nO,{})})]})]})]})},Gue=f.memo(Uue),que=fe([Kn,La],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:m8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Kue=()=>{const{t:e}=be(),{shouldPinGallery:t,shouldShowGalleryButton:n}=L(que),r=te(),o=()=>{r(vv(!0)),t&&r(So())};return n?i.jsx(Le,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:i.jsx(yee,{})}):null},Yue=f.memo(Kue),lv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Que=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",a=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),Xue=()=>{const e=te(),{t}=be(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=L(Que),s=()=>{e(K1(!0)),o&&e(So())};return r?i.jsxs(W,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[i.jsx(Le,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:lv,children:i.jsx(Fb,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(zy,{iconButton:!0,sx:lv}),i.jsx(Xm,{sx:lv})]})]}):null},Jue=f.memo(Xue),Zue=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ge),ede=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=L(Zue),o=()=>{e(K1(!1))},s=f.useMemo(()=>r==="txt2img"?i.jsx(XO,{}):r==="img2img"?i.jsx(TO,{}):r==="unifiedCanvas"?i.jsx(h8,{}):null,[r]);return t?null:i.jsx(i6,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(W,{sx:{flexDir:"column",h:"full",w:$y,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(W,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(oO,{}),i.jsx(jO,{})]}),i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:s})]})})},tde=f.memo(ede),nde=()=>{const{data:e,isFetching:t}=Zh(),{isOpen:n,onClose:r,handleAddToBoard:o,image:s}=f.useContext(T_),[a,c]=f.useState(),d=f.useRef(null),p=e==null?void 0:e.find(h=>h.board_id===(s==null?void 0:s.board_id));return i.jsx(Pd,{isOpen:n,leastDestructiveRef:d,onClose:r,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:p?"Move Image to Board":"Add Image to Board"}),i.jsx(Da,{children:i.jsx(Oe,{children:i.jsxs(W,{direction:"column",gap:3,children:[p&&i.jsxs(tt,{children:["Moving this image from"," ",i.jsx("strong",{children:p.board_name})," to"]}),t?i.jsx(dl,{}):i.jsx(sr,{placeholder:"Select Board",onChange:h=>c(h),value:a,data:(e??[]).map(h=>({label:h.board_name,value:h.board_id}))})]})})}),i.jsxs(Oa,{children:[i.jsx(rn,{onClick:r,children:"Cancel"}),i.jsx(rn,{isDisabled:!a,colorScheme:"accent",onClick:()=>{a&&o(a)},ml:3,children:p?"Move":"Add"})]})]})})})},rde=f.memo(nde),ode=fe([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),sde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=L(ode),o=L(Kn);return nt("*",()=>{n6("shift")?!t&&e(_o(!0)):t&&e(_o(!1))},{keyup:!0,keydown:!0},[t]),nt("o",()=>{e(_D()),o==="unifiedCanvas"&&n&&e(So())}),nt(["shift+o"],()=>{e(PD()),o==="unifiedCanvas"&&e(So())}),nt("g",()=>{e(jD()),o==="unifiedCanvas"&&r&&e(So())}),nt(["shift+g"],()=>{e(D_()),o==="unifiedCanvas"&&e(So())}),nt("1",()=>{e(ql("txt2img"))}),nt("2",()=>{e(ql("img2img"))}),nt("3",()=>{e(ql("unifiedCanvas"))}),nt("4",()=>{e(ql("nodes"))}),null},ade=f.memo(sde),ide={},lde=({config:e=ide,headerComponent:t})=>{const n=L(V5),r=JB(),o=te();return f.useEffect(()=>{Ln.changeLanguage(n)},[n]),f.useEffect(()=>{G_(e)&&(r.info({namespace:"App",config:e},"Received config"),o(ID(e)))},[o,e,r]),f.useEffect(()=>{o(ED())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(rl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(cH,{children:i.jsxs(rl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(mee,{}),i.jsx(W,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(Gue,{})})]})}),i.jsx(WZ,{}),i.jsx(tde,{}),i.jsx(Vu,{children:i.jsx(Jue,{})}),i.jsx(Vu,{children:i.jsx(Yue,{})})]}),i.jsx(qZ,{}),i.jsx(rde,{}),i.jsx(ZB,{}),i.jsx(ade,{})]})},hde=f.memo(lde);export{hde as default}; diff --git a/invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js b/invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js new file mode 100644 index 0000000000..317f406e68 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js @@ -0,0 +1 @@ +import{z as p,A as d,a4 as Z,aH as xe,g0 as We,Z as De,U as E,a7 as q,R as z,V as R,a1 as _e,a0 as Be,$ as Ce,_ as Ge,Y as Ue,g1 as Ve,g2 as Ze,fT as qe,ab as j,fR as B,fZ as Xe}from"./index-9488b384.js";function Ye(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Ye(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Je,Ke]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Je,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),Y="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ke();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=Y,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=Y),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=Y;G.selector=tt;G.displayName="Portal";function P(e,t){return r=>r.colorMode==="dark"?t:e}function Or(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var at=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(at(o,t))return r}function st(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function it(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function lt(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ct(e,t){const r=lt(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var ut={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=ut,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const v=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ct(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>st(s),[s]);return d.jsx(De.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:v,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(E.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function dt(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},v=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(E.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(E.svg,{verticalAlign:"middle",viewBox:v,...g,...c,children:$})});L.displayName="Icon";function ft(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[mt,J]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[gt,K]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),je={info:{icon:pt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:ft,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:Be,colorScheme:"blue"}};function bt(e){return je[e].colorScheme}function yt(e){return je[e].icon}var Ee=z(function(t,r){const o=K(),{status:a}=J(),n={display:"inline",...o.description};return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});Ee.displayName="AlertDescription";function Ae(e){const{status:t}=J(),r=yt(t),o=K(),a=t==="loading"?o.spinner:o.icon;return d.jsx(E.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ae.displayName="AlertIcon";var Ne=z(function(t,r){const o=K(),{status:a}=J();return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:bt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(mt,{value:{status:a},children:d.jsx(gt,{value:l,children:d.jsx(E.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(E.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var vt={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=St(vt);function St(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=xt(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function xt(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var _t=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ae,{children:c}),d.jsxs(E.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(Ee,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=_t}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function zr(e,t){const r=a=>{var n;return{...t,...a,position:dt((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[Rr,Mr]=M({name:"ToastOptionsContext",strict:!1}),Lr=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${i}`,style:it(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function Ct(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function kt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):kt(e,t,r)}const Pt=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function Fr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(Pt)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const h=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[h,{},!1];return k.t=h,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(h=>wt(h,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let v=c.join();t.lng&&(v=`${t.lng}${v}`);const $=Et(v),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:h,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==v&&S.current&&g(f);function w(){S.current&&g(f)}return h&&n&&n.on(h,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,h&&n&&h.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,v]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(h=>{t.lng?ce(n,t.lng,c,()=>h()):le(n,c,()=>h())})}function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Hr=m("accordion").parts("root","container","button","panel").extend("icon");m("alert").parts("title","description","container").extend("icon","spinner");m("avatar").parts("label","badge","container").extend("excessLabel","group");m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Wr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var Dr=m("editable").parts("preview","input","textarea");m("form").parts("container","requiredIndicator","helperText");m("formError").parts("text","icon");var Br=m("input").parts("addon","field","element");m("list").parts("container","item","icon");var At=m("menu").parts("button","list","item").extend("groupTitle","command","divider"),Gr=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Ur=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Vr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Zr=m("progress").parts("label","filledTrack","track");m("radio").parts("container","control","label");var qr=m("select").parts("field","icon"),Xr=m("slider").parts("container","track","thumb","filledTrack","mark");m("stat").parts("container","label","helpText","number","icon");var Yr=m("switch").parts("container","track","thumb");m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var Jr=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");m("tag").parts("container","label","closeButton");m("card").parts("container","header","body","footer");const{definePartsStyle:Nt,defineMultiStyleConfig:$t}=qe(At.keys),Tt=Nt(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),Kr=$t({variants:{invokeAI:Tt},defaultProps:{variant:"invokeAI"}}),Qr={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},It={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function Ot(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var zt=Object.defineProperty,ue=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))Rt.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Mt.call(t,r)&&de(e,r,t[r]);return e};function Lt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const A=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):A(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Wt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Dt(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Bt(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Gt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Ut(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Bt(e)?Gt(e):e.startsWith("rgb")?Ut(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Vt(e=0){return{position:"absolute",top:A(e),right:A(e),left:A(e),bottom:A(e)}}function Zt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function qt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Xt(e){return t=>{if(typeof t=="number")return A(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Yt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function Jt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Yt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Kt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Qt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function er(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function tr(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:Ot,themeColor:Q,focusStyles:Lt,linearGradient:Ft,radialGradient:Ht,smallerThan:Dt,largerThan:Wt,rgba:T,cover:Vt,darken:Zt,lighten:qt,radius:Xt,variant:Jt,primaryShade:F,hover:Qt,gradient:Re,primaryColor:Kt,placeholderStyles:er,dimmed:tr};var rr=Object.defineProperty,nr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ir=(e,t)=>{for(var r in t||(t={}))ar.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))sr.call(t,r)&&me(e,r,t[r]);return e},lr=(e,t)=>nr(e,or(t));function Fe(e){return lr(ir({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const cr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:It,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(cr);var ur=Object.defineProperty,dr=Object.defineProperties,fr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gr=(e,t)=>{for(var r in t||(t={}))pr.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))mr.call(t,r)&&be(e,r,t[r]);return e},br=(e,t)=>dr(e,fr(t));function yr({theme:e}){return j.createElement(B,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:br(gr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=A){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function hr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),j.createElement(B,{styles:{":root":t}})}var vr=Object.defineProperty,Sr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,he=(e,t,r)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))_r.call(t,r)&&he(e,r,t[r]);if(ye)for(var r of ye(t))Cr.call(t,r)&&he(e,r,t[r]);return e},V=(e,t)=>Sr(e,xr(t));function kr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function wr(e,t){return Fe(kr(e,t))}function Pr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${A(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Er(){return j.createElement(B,{styles:jr})}var Ar=Object.defineProperty,ve=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Nr.call(t,r)&&Se(e,r,t[r]);if(ve)for(var r of ve(t))$r.call(t,r)&&Se(e,r,t[r]);return e};const D=p.createContext({theme:te});function He(){var e;return((e=p.useContext(D))==null?void 0:e.theme)||te}function en(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function tn(){var e;return(e=p.useContext(D))==null?void 0:e.emotionCache}function rn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Pr(r))}function Tr({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(D),l=wr(te,n?O(O({},i.theme),e):e);return j.createElement(Xe,{theme:l},j.createElement(D.Provider,{value:{theme:l,emotionCache:t}},r&&j.createElement(Er,null),o&&j.createElement(yr,{theme:l}),a&&j.createElement(hr,{theme:l}),typeof l.globalStyles=="function"&&j.createElement(B,{styles:l.globalStyles(l)}),s))}Tr.displayName="@mantine/core/MantineProvider";export{Zr as A,qr as B,Te as C,Xr as D,Yr as E,Jr as F,Kr as G,L as I,Tr as M,G as P,Rr as T,M as a,lt as b,zr as c,ne as d,Fr as e,tn as f,He as g,en as h,Pr as i,W as j,Le as k,rn as l,Qr as m,P as n,Or as o,Qe as p,Lr as q,A as r,Hr as s,Wr as t,Mr as u,Dr as v,Br as w,Gr as x,Ur as y,Vr as z}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js new file mode 100644 index 0000000000..ed67c5d588 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js @@ -0,0 +1,302 @@ +import{A as g,fR as Xe,z as x,a4 as Ba,fS as Ea,af as ca,aj as c,fT as b,al as Da,fU as t,fV as Ra,fW as h,fX as ba,fY as ja,fZ as Ha,aI as Wa,f_ as Va,ad as La,f$ as qa}from"./index-9488b384.js";import{n,o as Sr,p as Oa,T as Na,q as Ga,s as Ua,t as Ya,v as Xa,w as Ka,x as Za,y as Ja,z as Qa,A as et,B as rt,D as at,E as tt,F as ot,G as nt,e as it,M as lt}from"./MantineProvider-3c4df448.js";var va=String.raw,ua=va` + :root, + :host { + --chakra-vh: 100vh; + } + + @supports (height: -webkit-fill-available) { + :root, + :host { + --chakra-vh: -webkit-fill-available; + } + } + + @supports (height: -moz-fill-available) { + :root, + :host { + --chakra-vh: -moz-fill-available; + } + } + + @supports (height: 100dvh) { + :root, + :host { + --chakra-vh: 100dvh; + } + } +`,st=()=>g.jsx(Xe,{styles:ua}),dt=({scope:e=""})=>g.jsx(Xe,{styles:va` + html { + line-height: 1.5; + -webkit-text-size-adjust: 100%; + font-family: system-ui, sans-serif; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + -moz-osx-font-smoothing: grayscale; + touch-action: manipulation; + } + + body { + position: relative; + min-height: 100%; + margin: 0; + font-feature-settings: "kern"; + } + + ${e} :where(*, *::before, *::after) { + border-width: 0; + border-style: solid; + box-sizing: border-box; + word-wrap: break-word; + } + + main { + display: block; + } + + ${e} hr { + border-top-width: 1px; + box-sizing: content-box; + height: 0; + overflow: visible; + } + + ${e} :where(pre, code, kbd,samp) { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; + font-size: 1em; + } + + ${e} a { + background-color: transparent; + color: inherit; + text-decoration: inherit; + } + + ${e} abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + } + + ${e} :where(b, strong) { + font-weight: bold; + } + + ${e} small { + font-size: 80%; + } + + ${e} :where(sub,sup) { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + ${e} sub { + bottom: -0.25em; + } + + ${e} sup { + top: -0.5em; + } + + ${e} img { + border-style: none; + } + + ${e} :where(button, input, optgroup, select, textarea) { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; + } + + ${e} :where(button, input) { + overflow: visible; + } + + ${e} :where(button, select) { + text-transform: none; + } + + ${e} :where( + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner + ) { + border-style: none; + padding: 0; + } + + ${e} fieldset { + padding: 0.35em 0.75em 0.625em; + } + + ${e} legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; + } + + ${e} progress { + vertical-align: baseline; + } + + ${e} textarea { + overflow: auto; + } + + ${e} :where([type="checkbox"], [type="radio"]) { + box-sizing: border-box; + padding: 0; + } + + ${e} input[type="number"]::-webkit-inner-spin-button, + ${e} input[type="number"]::-webkit-outer-spin-button { + -webkit-appearance: none !important; + } + + ${e} input[type="number"] { + -moz-appearance: textfield; + } + + ${e} input[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; + } + + ${e} input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none !important; + } + + ${e} ::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; + } + + ${e} details { + display: block; + } + + ${e} summary { + display: list-item; + } + + template { + display: none; + } + + [hidden] { + display: none !important; + } + + ${e} :where( + blockquote, + dl, + dd, + h1, + h2, + h3, + h4, + h5, + h6, + hr, + figure, + p, + pre + ) { + margin: 0; + } + + ${e} button { + background: transparent; + padding: 0; + } + + ${e} fieldset { + margin: 0; + padding: 0; + } + + ${e} :where(ol, ul) { + margin: 0; + padding: 0; + } + + ${e} textarea { + resize: vertical; + } + + ${e} :where(button, [role="button"]) { + cursor: pointer; + } + + ${e} button::-moz-focus-inner { + border: 0 !important; + } + + ${e} table { + border-collapse: collapse; + } + + ${e} :where(h1, h2, h3, h4, h5, h6) { + font-size: inherit; + font-weight: inherit; + } + + ${e} :where(button, input, optgroup, select, textarea) { + padding: 0; + line-height: inherit; + color: inherit; + } + + ${e} :where(img, svg, video, canvas, audio, iframe, embed, object) { + display: block; + } + + ${e} :where(img, video) { + max-width: 100%; + height: auto; + } + + [data-js-focus-visible] + :focus:not([data-focus-visible-added]):not( + [data-focus-visible-disabled] + ) { + outline: none; + box-shadow: none; + } + + ${e} select::-ms-expand { + display: none; + } + + ${ua} + `}),_e={light:"chakra-ui-light",dark:"chakra-ui-dark"};function ct(e={}){const{preventTransition:r=!0}=e,a={setDataset:o=>{const i=r?a.preventTransition():void 0;document.documentElement.dataset.theme=o,document.documentElement.style.colorScheme=o,i==null||i()},setClassName(o){document.body.classList.add(o?_e.dark:_e.light),document.body.classList.remove(o?_e.light:_e.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(o){var i;return((i=a.query().matches)!=null?i:o==="dark")?"dark":"light"},addListener(o){const i=a.query(),l=s=>{o(s.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(l):i.addEventListener("change",l),()=>{typeof i.removeListener=="function"?i.removeListener(l):i.removeEventListener("change",l)}},preventTransition(){const o=document.createElement("style");return o.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(o),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(o)})})}}};return a}var bt="chakra-ui-color-mode";function fa(e){return{ssr:!1,type:"localStorage",get(r){if(!(globalThis!=null&&globalThis.document))return r;let a;try{a=localStorage.getItem(e)||r}catch{}return a||r},set(r){try{localStorage.setItem(e,r)}catch{}}}}var vt=fa(bt),Cr=()=>{};function Ar(e,r){return e.type==="cookie"&&e.ssr?e.get(r):r}function ma(e){const{value:r,children:a,options:{useSystemColorMode:o,initialColorMode:i,disableTransitionOnChange:l}={},colorModeManager:s=vt}=e,d=i==="dark"?"dark":"light",[v,$]=x.useState(()=>Ar(s,d)),[p,S]=x.useState(()=>Ar(s)),{getSystemTheme:T,setClassName:L,setDataset:Qe,addListener:wr}=x.useMemo(()=>ct({preventTransition:l}),[l]),$e=i==="system"&&!v?p:v,F=x.useCallback(te=>{const ke=te==="system"?T():te;$(ke),L(ke==="dark"),Qe(ke),s.set(ke)},[s,T,L,Qe]);Ba(()=>{i==="system"&&S(T())},[]),x.useEffect(()=>{const te=s.get();if(te){F(te);return}if(i==="system"){F("system");return}F(d)},[s,d,i,F]);const zr=x.useCallback(()=>{F($e==="dark"?"light":"dark")},[$e,F]);x.useEffect(()=>{if(o)return wr(F)},[o,wr,F]);const Ma=x.useMemo(()=>({colorMode:r??$e,toggleColorMode:r?Cr:zr,setColorMode:r?Cr:F,forced:r!==void 0}),[$e,zr,F,r]);return g.jsx(Ea.Provider,{value:Ma,children:a})}ma.displayName="ColorModeProvider";var ut=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function ft(e){return ca(e)?ut.every(r=>Object.prototype.hasOwnProperty.call(e,r)):!1}var mt={common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},ht={"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},gt={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},yt={property:mt,easing:ht,duration:gt},pt=yt,St={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},xt=St,$t={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},kt=$t,_t={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},wt=_t,zt={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},Ct=zt,At={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},Pt=At,Tt={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},Ft=Tt,It={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},Mt=It,Bt={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},ha=Bt,ga={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Et={max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch"},Dt={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},Rt={...ga,...Et,container:Dt},ya=Rt,jt={breakpoints:wt,zIndices:xt,radii:Pt,blur:Mt,colors:Ct,...ha,sizes:ya,shadows:Ft,space:ga,borders:kt,transition:pt},{defineMultiStyleConfig:Ht,definePartsStyle:le}=b(["stepper","step","title","description","indicator","separator","icon","number"]),B=c("stepper-indicator-size"),X=c("stepper-icon-size"),K=c("stepper-title-font-size"),se=c("stepper-description-font-size"),oe=c("stepper-accent-color"),Wt=le(({colorScheme:e})=>({stepper:{display:"flex",justifyContent:"space-between",gap:"4","&[data-orientation=vertical]":{flexDirection:"column",alignItems:"flex-start"},"&[data-orientation=horizontal]":{flexDirection:"row",alignItems:"center"},[oe.variable]:`colors.${e}.500`,_dark:{[oe.variable]:`colors.${e}.200`}},title:{fontSize:K.reference,fontWeight:"medium"},description:{fontSize:se.reference,color:"chakra-subtle-text"},number:{fontSize:K.reference},step:{flexShrink:0,position:"relative",display:"flex",gap:"2","&[data-orientation=horizontal]":{alignItems:"center"},flex:"1","&:last-of-type:not([data-stretch])":{flex:"initial"}},icon:{flexShrink:0,width:X.reference,height:X.reference},indicator:{flexShrink:0,borderRadius:"full",width:B.reference,height:B.reference,display:"flex",justifyContent:"center",alignItems:"center","&[data-status=active]":{borderWidth:"2px",borderColor:oe.reference},"&[data-status=complete]":{bg:oe.reference,color:"chakra-inverse-text"},"&[data-status=incomplete]":{borderWidth:"2px"}},separator:{bg:"chakra-border-color",flex:"1","&[data-status=complete]":{bg:oe.reference},"&[data-orientation=horizontal]":{width:"100%",height:"2px",marginStart:"2"},"&[data-orientation=vertical]":{width:"2px",position:"absolute",height:"100%",maxHeight:`calc(100% - ${B.reference} - 8px)`,top:`calc(${B.reference} + 4px)`,insetStart:`calc(${B.reference} / 2 - 1px)`}}})),Vt=Ht({baseStyle:Wt,sizes:{xs:le({stepper:{[B.variable]:"sizes.4",[X.variable]:"sizes.3",[K.variable]:"fontSizes.xs",[se.variable]:"fontSizes.xs"}}),sm:le({stepper:{[B.variable]:"sizes.6",[X.variable]:"sizes.4",[K.variable]:"fontSizes.sm",[se.variable]:"fontSizes.xs"}}),md:le({stepper:{[B.variable]:"sizes.8",[X.variable]:"sizes.5",[K.variable]:"fontSizes.md",[se.variable]:"fontSizes.sm"}}),lg:le({stepper:{[B.variable]:"sizes.10",[X.variable]:"sizes.6",[K.variable]:"fontSizes.lg",[se.variable]:"fontSizes.md"}})},defaultProps:{size:"md",colorScheme:"blue"}});function f(e,r={}){let a=!1;function o(){if(!a){a=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...p){o();for(const S of p)r[S]=v(S);return f(e,r)}function l(...p){for(const S of p)S in r||(r[S]=v(S));return f(e,r)}function s(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.selector]))}function d(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.className]))}function v(p){const L=`chakra-${(["container","root"].includes(p??"")?[e]:[e,p]).filter(Boolean).join("__")}`;return{className:L,selector:`.${L}`,toString:()=>p}}return{parts:i,toPart:v,extend:l,selectors:s,classnames:d,get keys(){return Object.keys(r)},__type:{}}}var Lt=f("accordion").parts("root","container","button","panel").extend("icon"),qt=f("alert").parts("title","description","container").extend("icon","spinner"),Ot=f("avatar").parts("label","badge","container").extend("excessLabel","group"),Nt=f("breadcrumb").parts("link","item","container").extend("separator");f("button").parts();var Gt=f("checkbox").parts("control","icon","container").extend("label");f("progress").parts("track","filledTrack").extend("label");var Ut=f("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Yt=f("editable").parts("preview","input","textarea"),Xt=f("form").parts("container","requiredIndicator","helperText"),Kt=f("formError").parts("text","icon"),Zt=f("input").parts("addon","field","element"),Jt=f("list").parts("container","item","icon"),Qt=f("menu").parts("button","list","item").extend("groupTitle","command","divider"),eo=f("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),ro=f("numberinput").parts("root","field","stepperGroup","stepper");f("pininput").parts("field");var ao=f("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),to=f("progress").parts("label","filledTrack","track"),oo=f("radio").parts("container","control","label"),no=f("select").parts("field","icon"),io=f("slider").parts("container","track","thumb","filledTrack","mark"),lo=f("stat").parts("container","label","helpText","number","icon"),so=f("switch").parts("container","track","thumb"),co=f("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),bo=f("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),vo=f("tag").parts("container","label","closeButton"),uo=f("card").parts("container","header","body","footer");function O(e,r,a){return Math.min(Math.max(e,a),r)}class fo extends Error{constructor(r){super(`Failed to parse color: "${r}"`)}}var de=fo;function xr(e){if(typeof e!="string")throw new de(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let r=e.trim();r=$o.test(e)?go(e):e;const a=yo.exec(r);if(a){const s=Array.from(a).slice(1);return[...s.slice(0,3).map(d=>parseInt(ge(d,2),16)),parseInt(ge(s[3]||"f",2),16)/255]}const o=po.exec(r);if(o){const s=Array.from(o).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,16)),parseInt(s[3]||"ff",16)/255]}const i=So.exec(r);if(i){const s=Array.from(i).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,10)),parseFloat(s[3]||"1")]}const l=xo.exec(r);if(l){const[s,d,v,$]=Array.from(l).slice(1).map(parseFloat);if(O(0,100,d)!==d)throw new de(e);if(O(0,100,v)!==v)throw new de(e);return[...ko(s,d,v),Number.isNaN($)?1:$]}throw new de(e)}function mo(e){let r=5381,a=e.length;for(;a;)r=r*33^e.charCodeAt(--a);return(r>>>0)%2341}const Pr=e=>parseInt(e.replace(/_/g,""),36),ho="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e,r)=>{const a=Pr(r.substring(0,3)),o=Pr(r.substring(3)).toString(16);let i="";for(let l=0;l<6-o.length;l++)i+="0";return e[a]=`${i}${o}`,e},{});function go(e){const r=e.toLowerCase().trim(),a=ho[mo(r)];if(!a)throw new de(e);return`#${a}`}const ge=(e,r)=>Array.from(Array(r)).map(()=>e).join(""),yo=new RegExp(`^#${ge("([a-f0-9])",3)}([a-f0-9])?$`,"i"),po=new RegExp(`^#${ge("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),So=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${ge(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),xo=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,$o=/^[a-z]+$/i,Tr=e=>Math.round(e*255),ko=(e,r,a)=>{let o=a/100;if(r===0)return[o,o,o].map(Tr);const i=(e%360+360)%360/60,l=(1-Math.abs(2*o-1))*(r/100),s=l*(1-Math.abs(i%2-1));let d=0,v=0,$=0;i>=0&&i<1?(d=l,v=s):i>=1&&i<2?(d=s,v=l):i>=2&&i<3?(v=l,$=s):i>=3&&i<4?(v=s,$=l):i>=4&&i<5?(d=s,$=l):i>=5&&i<6&&(d=l,$=s);const p=o-l/2,S=d+p,T=v+p,L=$+p;return[S,T,L].map(Tr)};function _o(e,r,a,o){return`rgba(${O(0,255,e).toFixed()}, ${O(0,255,r).toFixed()}, ${O(0,255,a).toFixed()}, ${parseFloat(O(0,1,o).toFixed(3))})`}function wo(e,r){const[a,o,i,l]=xr(e);return _o(a,o,i,l-r)}function zo(e){const[r,a,o,i]=xr(e);let l=s=>{const d=O(0,255,s).toString(16);return d.length===1?`0${d}`:d};return`#${l(r)}${l(a)}${l(o)}${i<1?l(Math.round(i*255)):""}`}function Co(e,r,a,o,i){for(r=r.split?r.split("."):r,o=0;oObject.keys(e).length===0,Ne=(e,r,a)=>{const o=Co(e,`colors.${r}`,r);try{return zo(o),o}catch{return a??"#000000"}},P=(e,r,a)=>{var o;return(o=Da(e,"colors",r))!=null?o:a},Po=e=>{const[r,a,o]=xr(e);return(r*299+a*587+o*114)/1e3},To=e=>r=>{const a=Ne(r,e);return Po(a)<128?"dark":"light"},Fo=e=>r=>To(e)(r)==="dark",re=(e,r)=>a=>{const o=Ne(a,e);return wo(o,1-r)};function Fr(e="1rem",r="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( + 45deg, + ${r} 25%, + transparent 25%, + transparent 50%, + ${r} 50%, + ${r} 75%, + transparent 75%, + transparent + )`,backgroundSize:`${e} ${e}`}}var Io=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function Mo(e){const r=Io();return!e||Ao(e)?r:e.string&&e.colors?Eo(e.string,e.colors):e.string&&!e.colors?Bo(e.string):e.colors&&!e.string?Do(e.colors):r}function Bo(e){let r=0;if(e.length===0)return r.toString();for(let o=0;o>o*8&255;a+=`00${i.toString(16)}`.substr(-2)}return a}function Eo(e,r){let a=0;if(e.length===0)return r[0];for(let o=0;or.map(pa).join(` ${e} `).replace(/calc/g,""),Ir=(...e)=>`calc(${Ke("+",...e)})`,Mr=(...e)=>`calc(${Ke("-",...e)})`,hr=(...e)=>`calc(${Ke("*",...e)})`,Br=(...e)=>`calc(${Ke("/",...e)})`,Er=e=>{const r=pa(e);return r!=null&&!Number.isNaN(parseFloat(r))?String(r).startsWith("-")?String(r).slice(1):`-${r}`:hr(r,-1)},E=Object.assign(e=>({add:(...r)=>E(Ir(e,...r)),subtract:(...r)=>E(Mr(e,...r)),multiply:(...r)=>E(hr(e,...r)),divide:(...r)=>E(Br(e,...r)),negate:()=>E(Er(e)),toString:()=>e.toString()}),{add:Ir,subtract:Mr,multiply:hr,divide:Br,negate:Er});function Ro(e){return!Number.isInteger(parseFloat(e.toString()))}function jo(e,r="-"){return e.replace(/\s+/g,r)}function Sa(e){const r=jo(e.toString());return r.includes("\\.")?e:Ro(e)?r.replace(".","\\."):e}function Ho(e,r=""){return[r,Sa(e)].filter(Boolean).join("-")}function Wo(e,r){return`var(${Sa(e)}${r?`, ${r}`:""})`}function Vo(e,r=""){return`--${Ho(e,r)}`}function m(e,r){const a=Vo(e,r==null?void 0:r.prefix);return{variable:a,reference:Wo(a,Lo(r==null?void 0:r.fallback))}}function Lo(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:qo,definePartsStyle:Re}=b(so.keys),ve=m("switch-track-width"),N=m("switch-track-height"),er=m("switch-track-diff"),Oo=E.subtract(ve,N),gr=m("switch-thumb-x"),ne=m("switch-bg"),No=t(e=>{const{colorScheme:r}=e;return{borderRadius:"full",p:"0.5",width:[ve.reference],height:[N.reference],transitionProperty:"common",transitionDuration:"fast",[ne.variable]:"colors.gray.300",_dark:{[ne.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[ne.variable]:`colors.${r}.500`,_dark:{[ne.variable]:`colors.${r}.200`}},bg:ne.reference}}),Go=t({bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[N.reference],height:[N.reference],_checked:{transform:`translateX(${gr.reference})`}}),Uo=Re(e=>({container:{[er.variable]:Oo,[gr.variable]:er.reference,_rtl:{[gr.variable]:E(er).negate().toString()}},track:No(e),thumb:Go})),Yo={sm:Re({container:{[ve.variable]:"1.375rem",[N.variable]:"sizes.3"}}),md:Re({container:{[ve.variable]:"1.875rem",[N.variable]:"sizes.4"}}),lg:Re({container:{[ve.variable]:"2.875rem",[N.variable]:"sizes.6"}})},Xo=qo({baseStyle:Uo,sizes:Yo,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Ko,definePartsStyle:Z}=b(co.keys),Zo=Z({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),Ge=t({"&[data-is-numeric=true]":{textAlign:"end"}}),Jo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Qo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e)},td:{background:n(`${r}.100`,`${r}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),en={simple:Jo,striped:Qo,unstyled:t({})},rn={sm:Z({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:Z({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:Z({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},an=Ko({baseStyle:Zo,variants:en,sizes:rn,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),_=c("tabs-color"),A=c("tabs-bg"),we=c("tabs-border-color"),{defineMultiStyleConfig:tn,definePartsStyle:M}=b(bo.keys),on=t(e=>{const{orientation:r}=e;return{display:r==="vertical"?"flex":"block"}}),nn=t(e=>{const{isFitted:r}=e;return{flex:r?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}}),ln=t(e=>{const{align:r="start",orientation:a}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[r],flexDirection:a==="vertical"?"column":"row"}}),sn=t({p:4}),dn=M(e=>({root:on(e),tab:nn(e),tablist:ln(e),tabpanel:sn})),cn={sm:M({tab:{py:1,px:4,fontSize:"sm"}}),md:M({tab:{fontSize:"md",py:2,px:4}}),lg:M({tab:{fontSize:"lg",py:3,px:4}})},bn=M(e=>{const{colorScheme:r,orientation:a}=e,o=a==="vertical",i=o?"borderStart":"borderBottom",l=o?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[l]:"-2px",_selected:{[_.variable]:`colors.${r}.600`,_dark:{[_.variable]:`colors.${r}.300`},borderColor:"currentColor"},_active:{[A.variable]:"colors.gray.200",_dark:{[A.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:_.reference,bg:A.reference}}}),vn=M(e=>{const{colorScheme:r}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[we.variable]:"transparent",_selected:{[_.variable]:`colors.${r}.600`,[we.variable]:"colors.white",_dark:{[_.variable]:`colors.${r}.300`,[we.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:we.reference},color:_.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),un=M(e=>{const{colorScheme:r}=e;return{tab:{border:"1px solid",borderColor:"inherit",[A.variable]:"colors.gray.50",_dark:{[A.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[A.variable]:"colors.white",[_.variable]:`colors.${r}.600`,_dark:{[A.variable]:"colors.gray.800",[_.variable]:`colors.${r}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:_.reference,bg:A.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),fn=M(e=>{const{colorScheme:r,theme:a}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Ne(a,`${r}.700`),bg:Ne(a,`${r}.100`)}}}}),mn=M(e=>{const{colorScheme:r}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[_.variable]:"colors.gray.600",_dark:{[_.variable]:"inherit"},_selected:{[_.variable]:"colors.white",[A.variable]:`colors.${r}.600`,_dark:{[_.variable]:"colors.gray.800",[A.variable]:`colors.${r}.300`}},color:_.reference,bg:A.reference}}}),hn=M({}),gn={line:bn,enclosed:vn,"enclosed-colored":un,"soft-rounded":fn,"solid-rounded":mn,unstyled:hn},yn=tn({baseStyle:dn,sizes:cn,variants:gn,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),y=Ra("badge",["bg","color","shadow"]),pn=t({px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Sn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.500`,.6)(a);return{[y.bg.variable]:`colors.${r}.500`,[y.color.variable]:"colors.white",_dark:{[y.bg.variable]:o,[y.color.variable]:"colors.whiteAlpha.800"}}}),xn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.16)(a);return{[y.bg.variable]:`colors.${r}.100`,[y.color.variable]:`colors.${r}.800`,_dark:{[y.bg.variable]:o,[y.color.variable]:`colors.${r}.200`}}}),$n=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.8)(a);return{[y.color.variable]:`colors.${r}.500`,_dark:{[y.color.variable]:o},[y.shadow.variable]:`inset 0 0 0px 1px ${y.color.reference}`}}),kn={solid:Sn,subtle:xn,outline:$n},ue=h({baseStyle:pn,variants:kn,defaultProps:{variant:"subtle",colorScheme:"gray"}}),{defineMultiStyleConfig:_n,definePartsStyle:G}=b(vo.keys),Dr=c("tag-bg"),Rr=c("tag-color"),rr=c("tag-shadow"),je=c("tag-min-height"),He=c("tag-min-width"),We=c("tag-font-size"),Ve=c("tag-padding-inline"),wn=t({fontWeight:"medium",lineHeight:1.2,outline:0,[Rr.variable]:y.color.reference,[Dr.variable]:y.bg.reference,[rr.variable]:y.shadow.reference,color:Rr.reference,bg:Dr.reference,boxShadow:rr.reference,borderRadius:"md",minH:je.reference,minW:He.reference,fontSize:We.reference,px:Ve.reference,_focusVisible:{[rr.variable]:"shadows.outline"}}),zn=t({lineHeight:1.2,overflow:"visible"}),Cn=t({fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}}),An=G({container:wn,label:zn,closeButton:Cn}),Pn={sm:G({container:{[je.variable]:"sizes.5",[He.variable]:"sizes.5",[We.variable]:"fontSizes.xs",[Ve.variable]:"space.2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:G({container:{[je.variable]:"sizes.6",[He.variable]:"sizes.6",[We.variable]:"fontSizes.sm",[Ve.variable]:"space.2"}}),lg:G({container:{[je.variable]:"sizes.8",[He.variable]:"sizes.8",[We.variable]:"fontSizes.md",[Ve.variable]:"space.3"}})},Tn={subtle:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.subtle(e)}}),solid:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.solid(e)}}),outline:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.outline(e)}})},Fn=_n({variants:Tn,baseStyle:An,sizes:Pn,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:D,defineMultiStyleConfig:In}=b(Zt.keys),Mn=D({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),H={lg:t({fontSize:"lg",px:"4",h:"12",borderRadius:"md"}),md:t({fontSize:"md",px:"4",h:"10",borderRadius:"md"}),sm:t({fontSize:"sm",px:"3",h:"8",borderRadius:"sm"}),xs:t({fontSize:"xs",px:"2",h:"6",borderRadius:"sm"})},Bn={lg:D({field:H.lg,addon:H.lg}),md:D({field:H.md,addon:H.md}),sm:D({field:H.sm,addon:H.sm}),xs:D({field:H.xs,addon:H.xs})};function $r(e){const{focusBorderColor:r,errorBorderColor:a}=e;return{focusBorderColor:r||n("blue.500","blue.300")(e),errorBorderColor:a||n("red.500","red.300")(e)}}var En=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:n("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0 0 0 1px ${P(r,o)}`},_focusVisible:{zIndex:1,borderColor:P(r,a),boxShadow:`0 0 0 1px ${P(r,a)}`}},addon:{border:"1px solid",borderColor:n("inherit","whiteAlpha.50")(e),bg:n("gray.100","whiteAlpha.300")(e)}}}),Dn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e),_hover:{bg:n("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o)},_focusVisible:{bg:"transparent",borderColor:P(r,a)}},addon:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e)}}}),Rn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0px 1px 0px 0px ${P(r,o)}`},_focusVisible:{borderColor:P(r,a),boxShadow:`0px 1px 0px 0px ${P(r,a)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),jn=D({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),Hn={outline:En,filled:Dn,flushed:Rn,unstyled:jn},u=In({baseStyle:Mn,sizes:Bn,variants:Hn,defaultProps:{size:"md",variant:"outline"}}),jr,Wn=t({...(jr=u.baseStyle)==null?void 0:jr.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"}),Hr,Wr,Vn={outline:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.outline(e).field)!=null?a:{}}),flushed:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.flushed(e).field)!=null?a:{}}),filled:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.filled(e).field)!=null?a:{}}),unstyled:(Wr=(Hr=u.variants)==null?void 0:Hr.unstyled.field)!=null?Wr:{}},Vr,Lr,qr,Or,Nr,Gr,Ur,Yr,Ln={xs:(Lr=(Vr=u.sizes)==null?void 0:Vr.xs.field)!=null?Lr:{},sm:(Or=(qr=u.sizes)==null?void 0:qr.sm.field)!=null?Or:{},md:(Gr=(Nr=u.sizes)==null?void 0:Nr.md.field)!=null?Gr:{},lg:(Yr=(Ur=u.sizes)==null?void 0:Ur.lg.field)!=null?Yr:{}},qn=h({baseStyle:Wn,sizes:Ln,variants:Vn,defaultProps:{size:"md",variant:"outline"}}),ze=m("tooltip-bg"),ar=m("tooltip-fg"),On=m("popper-arrow-bg"),Nn=t({bg:ze.reference,color:ar.reference,[ze.variable]:"colors.gray.700",[ar.variable]:"colors.whiteAlpha.900",_dark:{[ze.variable]:"colors.gray.300",[ar.variable]:"colors.gray.900"},[On.variable]:ze.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"}),Gn=h({baseStyle:Nn}),{defineMultiStyleConfig:Un,definePartsStyle:ce}=b(to.keys),Yn=t(e=>{const{colorScheme:r,theme:a,isIndeterminate:o,hasStripe:i}=e,l=n(Fr(),Fr("1rem","rgba(0,0,0,0.1)"))(e),s=n(`${r}.500`,`${r}.200`)(e),d=`linear-gradient( + to right, + transparent 0%, + ${P(a,s)} 50%, + transparent 100% + )`;return{...!o&&i&&l,...o?{bgImage:d}:{bgColor:s}}}),Xn=t({lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"}),Kn=t(e=>({bg:n("gray.100","whiteAlpha.300")(e)})),Zn=t(e=>({transitionProperty:"common",transitionDuration:"slow",...Yn(e)})),Jn=ce(e=>({label:Xn,filledTrack:Zn(e),track:Kn(e)})),Qn={xs:ce({track:{h:"1"}}),sm:ce({track:{h:"2"}}),md:ce({track:{h:"3"}}),lg:ce({track:{h:"4"}})},ei=Un({sizes:Qn,baseStyle:Jn,defaultProps:{size:"md",colorScheme:"blue"}}),ri=e=>typeof e=="function";function k(e,...r){return ri(e)?e(...r):e}var{definePartsStyle:Le,defineMultiStyleConfig:ai}=b(Gt.keys),fe=c("checkbox-size"),ti=t(e=>{const{colorScheme:r}=e;return{w:fe.reference,h:fe.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e),_hover:{bg:n(`${r}.600`,`${r}.300`)(e),borderColor:n(`${r}.600`,`${r}.300`)(e)},_disabled:{borderColor:n("gray.200","transparent")(e),bg:n("gray.200","whiteAlpha.300")(e),color:n("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e)},_disabled:{bg:n("gray.100","whiteAlpha.100")(e),borderColor:n("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("red.500","red.300")(e)}}}),oi=t({_disabled:{cursor:"not-allowed"}}),ni=t({userSelect:"none",_disabled:{opacity:.4}}),ii=t({transitionProperty:"transform",transitionDuration:"normal"}),li=Le(e=>({icon:ii,container:oi,control:k(ti,e),label:ni})),si={sm:Le({control:{[fe.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Le({control:{[fe.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Le({control:{[fe.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},Ue=ai({baseStyle:li,sizes:si,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:di,definePartsStyle:qe}=b(oo.keys),ci=t(e=>{var r;const a=(r=k(Ue.baseStyle,e))==null?void 0:r.control;return{...a,borderRadius:"full",_checked:{...a==null?void 0:a._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}}),bi=qe(e=>{var r,a,o,i;return{label:(a=(r=Ue).baseStyle)==null?void 0:a.call(r,e).label,container:(i=(o=Ue).baseStyle)==null?void 0:i.call(o,e).container,control:ci(e)}}),vi={md:qe({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qe({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qe({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},ui=di({baseStyle:bi,sizes:vi,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:fi,definePartsStyle:mi}=b(no.keys),Ce=c("select-bg"),Xr,hi=t({...(Xr=u.baseStyle)==null?void 0:Xr.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Ce.reference,[Ce.variable]:"colors.white",_dark:{[Ce.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Ce.reference}}),gi=t({width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}}),yi=mi({field:hi,icon:gi}),Ae=t({paddingInlineEnd:"8"}),Kr,Zr,Jr,Qr,ea,ra,aa,ta,pi={lg:{...(Kr=u.sizes)==null?void 0:Kr.lg,field:{...(Zr=u.sizes)==null?void 0:Zr.lg.field,...Ae}},md:{...(Jr=u.sizes)==null?void 0:Jr.md,field:{...(Qr=u.sizes)==null?void 0:Qr.md.field,...Ae}},sm:{...(ea=u.sizes)==null?void 0:ea.sm,field:{...(ra=u.sizes)==null?void 0:ra.sm.field,...Ae}},xs:{...(aa=u.sizes)==null?void 0:aa.xs,field:{...(ta=u.sizes)==null?void 0:ta.xs.field,...Ae},icon:{insetEnd:"1"}}},Si=fi({baseStyle:yi,sizes:pi,variants:u.variants,defaultProps:u.defaultProps}),tr=c("skeleton-start-color"),or=c("skeleton-end-color"),xi=t({[tr.variable]:"colors.gray.100",[or.variable]:"colors.gray.400",_dark:{[tr.variable]:"colors.gray.800",[or.variable]:"colors.gray.600"},background:tr.reference,borderColor:or.reference,opacity:.7,borderRadius:"sm"}),$i=h({baseStyle:xi}),nr=c("skip-link-bg"),ki=t({borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[nr.variable]:"colors.white",_dark:{[nr.variable]:"colors.gray.700"},bg:nr.reference}}),_i=h({baseStyle:ki}),{defineMultiStyleConfig:wi,definePartsStyle:Ze}=b(io.keys),ye=c("slider-thumb-size"),pe=c("slider-track-size"),V=c("slider-bg"),zi=t(e=>{const{orientation:r}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...Sr({orientation:r,vertical:{h:"100%"},horizontal:{w:"100%"}})}}),Ci=t(e=>({...Sr({orientation:e.orientation,horizontal:{h:pe.reference},vertical:{w:pe.reference}}),overflow:"hidden",borderRadius:"sm",[V.variable]:"colors.gray.200",_dark:{[V.variable]:"colors.whiteAlpha.200"},_disabled:{[V.variable]:"colors.gray.300",_dark:{[V.variable]:"colors.whiteAlpha.300"}},bg:V.reference})),Ai=t(e=>{const{orientation:r}=e;return{...Sr({orientation:r,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:ye.reference,h:ye.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}}),Pi=t(e=>{const{colorScheme:r}=e;return{width:"inherit",height:"inherit",[V.variable]:`colors.${r}.500`,_dark:{[V.variable]:`colors.${r}.200`},bg:V.reference}}),Ti=Ze(e=>({container:zi(e),track:Ci(e),thumb:Ai(e),filledTrack:Pi(e)})),Fi=Ze({container:{[ye.variable]:"sizes.4",[pe.variable]:"sizes.1"}}),Ii=Ze({container:{[ye.variable]:"sizes.3.5",[pe.variable]:"sizes.1"}}),Mi=Ze({container:{[ye.variable]:"sizes.2.5",[pe.variable]:"sizes.0.5"}}),Bi={lg:Fi,md:Ii,sm:Mi},Ei=wi({baseStyle:Ti,sizes:Bi,defaultProps:{size:"md",colorScheme:"blue"}}),q=m("spinner-size"),Di=t({width:[q.reference],height:[q.reference]}),Ri={xs:t({[q.variable]:"sizes.3"}),sm:t({[q.variable]:"sizes.4"}),md:t({[q.variable]:"sizes.6"}),lg:t({[q.variable]:"sizes.8"}),xl:t({[q.variable]:"sizes.12"})},ji=h({baseStyle:Di,sizes:Ri,defaultProps:{size:"md"}}),{defineMultiStyleConfig:Hi,definePartsStyle:xa}=b(lo.keys),Wi=t({fontWeight:"medium"}),Vi=t({opacity:.8,marginBottom:"2"}),Li=t({verticalAlign:"baseline",fontWeight:"semibold"}),qi=t({marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"}),Oi=xa({container:{},label:Wi,helpText:Vi,number:Li,icon:qi}),Ni={md:xa({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Gi=Hi({baseStyle:Oi,sizes:Ni,defaultProps:{size:"md"}}),ir=c("kbd-bg"),Ui=t({[ir.variable]:"colors.gray.100",_dark:{[ir.variable]:"colors.whiteAlpha.100"},bg:ir.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}),Yi=h({baseStyle:Ui}),Xi=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}}),Ki=h({baseStyle:Xi}),{defineMultiStyleConfig:Zi,definePartsStyle:Ji}=b(Jt.keys),Qi=t({marginEnd:"2",display:"inline",verticalAlign:"text-bottom"}),el=Ji({icon:Qi}),rl=Zi({baseStyle:el}),{defineMultiStyleConfig:al,definePartsStyle:tl}=b(Qt.keys),I=c("menu-bg"),lr=c("menu-shadow"),ol=t({[I.variable]:"#fff",[lr.variable]:"shadows.sm",_dark:{[I.variable]:"colors.gray.700",[lr.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:I.reference,boxShadow:lr.reference}),nl=t({py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_active:{[I.variable]:"colors.gray.200",_dark:{[I.variable]:"colors.whiteAlpha.200"}},_expanded:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:I.reference}),il=t({mx:4,my:2,fontWeight:"semibold",fontSize:"sm"}),ll=t({opacity:.6}),sl=t({border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6}),dl=t({transitionProperty:"common",transitionDuration:"normal"}),cl=tl({button:dl,list:ol,item:nl,groupTitle:il,command:ll,divider:sl}),bl=al({baseStyle:cl}),{defineMultiStyleConfig:vl,definePartsStyle:yr}=b(eo.keys),sr=c("modal-bg"),dr=c("modal-shadow"),ul=t({bg:"blackAlpha.600",zIndex:"modal"}),fl=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:r?"center":"flex-start",overflow:a==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}}),ml=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{borderRadius:"md",color:"inherit",my:r?"auto":"16",mx:r?"auto":void 0,zIndex:"modal",maxH:a==="inside"?"calc(100% - 7.5rem)":void 0,[sr.variable]:"colors.white",[dr.variable]:"shadows.lg",_dark:{[sr.variable]:"colors.gray.700",[dr.variable]:"shadows.dark-lg"},bg:sr.reference,boxShadow:dr.reference}}),hl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),gl=t({position:"absolute",top:"2",insetEnd:"3"}),yl=t(e=>{const{scrollBehavior:r}=e;return{px:"6",py:"2",flex:"1",overflow:r==="inside"?"auto":void 0}}),pl=t({px:"6",py:"4"}),Sl=yr(e=>({overlay:ul,dialogContainer:k(fl,e),dialog:k(ml,e),header:hl,closeButton:gl,body:k(yl,e),footer:pl}));function C(e){return yr(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var xl={xs:C("xs"),sm:C("sm"),md:C("md"),lg:C("lg"),xl:C("xl"),"2xl":C("2xl"),"3xl":C("3xl"),"4xl":C("4xl"),"5xl":C("5xl"),"6xl":C("6xl"),full:C("full")},$l=vl({baseStyle:Sl,sizes:xl,defaultProps:{size:"md"}}),{defineMultiStyleConfig:kl,definePartsStyle:$a}=b(ro.keys),kr=m("number-input-stepper-width"),ka=m("number-input-input-padding"),_l=E(kr).add("0.5rem").toString(),cr=m("number-input-bg"),br=m("number-input-color"),vr=m("number-input-border-color"),wl=t({[kr.variable]:"sizes.6",[ka.variable]:_l}),zl=t(e=>{var r,a;return(a=(r=k(u.baseStyle,e))==null?void 0:r.field)!=null?a:{}}),Cl=t({width:kr.reference}),Al=t({borderStart:"1px solid",borderStartColor:vr.reference,color:br.reference,bg:cr.reference,[br.variable]:"colors.chakra-body-text",[vr.variable]:"colors.chakra-border-color",_dark:{[br.variable]:"colors.whiteAlpha.800",[vr.variable]:"colors.whiteAlpha.300"},_active:{[cr.variable]:"colors.gray.200",_dark:{[cr.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}}),Pl=$a(e=>{var r;return{root:wl,field:(r=k(zl,e))!=null?r:{},stepperGroup:Cl,stepper:Al}});function Pe(e){var r,a,o;const i=(r=u.sizes)==null?void 0:r[e],l={lg:"md",md:"md",sm:"sm",xs:"sm"},s=(o=(a=i.field)==null?void 0:a.fontSize)!=null?o:"md",d=ha.fontSizes[s];return $a({field:{...i.field,paddingInlineEnd:ka.reference,verticalAlign:"top"},stepper:{fontSize:E(d).multiply(.75).toString(),_first:{borderTopEndRadius:l[e]},_last:{borderBottomEndRadius:l[e],mt:"-1px",borderTopWidth:1}}})}var Tl={xs:Pe("xs"),sm:Pe("sm"),md:Pe("md"),lg:Pe("lg")},Fl=kl({baseStyle:Pl,sizes:Tl,variants:u.variants,defaultProps:u.defaultProps}),oa,Il=t({...(oa=u.baseStyle)==null?void 0:oa.field,textAlign:"center"}),Ml={lg:t({fontSize:"lg",w:12,h:12,borderRadius:"md"}),md:t({fontSize:"md",w:10,h:10,borderRadius:"md"}),sm:t({fontSize:"sm",w:8,h:8,borderRadius:"sm"}),xs:t({fontSize:"xs",w:6,h:6,borderRadius:"sm"})},na,ia,Bl={outline:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.outline,e))==null?void 0:a.field)!=null?o:{}}),flushed:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.flushed,e))==null?void 0:a.field)!=null?o:{}}),filled:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.filled,e))==null?void 0:a.field)!=null?o:{}}),unstyled:(ia=(na=u.variants)==null?void 0:na.unstyled.field)!=null?ia:{}},El=h({baseStyle:Il,sizes:Ml,variants:Bl,defaultProps:u.defaultProps}),{defineMultiStyleConfig:Dl,definePartsStyle:Rl}=b(ao.keys),Te=m("popper-bg"),jl=m("popper-arrow-bg"),la=m("popper-arrow-shadow-color"),Hl=t({zIndex:10}),Wl=t({[Te.variable]:"colors.white",bg:Te.reference,[jl.variable]:Te.reference,[la.variable]:"colors.gray.200",_dark:{[Te.variable]:"colors.gray.700",[la.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}}),Vl=t({px:3,py:2,borderBottomWidth:"1px"}),Ll=t({px:3,py:2}),ql=t({px:3,py:2,borderTopWidth:"1px"}),Ol=t({position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2}),Nl=Rl({popper:Hl,content:Wl,header:Vl,body:Ll,footer:ql,closeButton:Ol}),Gl=Dl({baseStyle:Nl}),{definePartsStyle:pr,defineMultiStyleConfig:Ul}=b(Ut.keys),ur=c("drawer-bg"),fr=c("drawer-box-shadow");function Y(e){return pr(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var Yl=t({bg:"blackAlpha.600",zIndex:"overlay"}),Xl=t({display:"flex",zIndex:"modal",justifyContent:"center"}),Kl=t(e=>{const{isFullHeight:r}=e;return{...r&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[ur.variable]:"colors.white",[fr.variable]:"shadows.lg",_dark:{[ur.variable]:"colors.gray.700",[fr.variable]:"shadows.dark-lg"},bg:ur.reference,boxShadow:fr.reference}}),Zl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),Jl=t({position:"absolute",top:"2",insetEnd:"3"}),Ql=t({px:"6",py:"2",flex:"1",overflow:"auto"}),es=t({px:"6",py:"4"}),rs=pr(e=>({overlay:Yl,dialogContainer:Xl,dialog:k(Kl,e),header:Zl,closeButton:Jl,body:Ql,footer:es})),as={xs:Y("xs"),sm:Y("md"),md:Y("lg"),lg:Y("2xl"),xl:Y("4xl"),full:Y("full")},ts=Ul({baseStyle:rs,sizes:as,defaultProps:{size:"xs"}}),{definePartsStyle:os,defineMultiStyleConfig:ns}=b(Yt.keys),is=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ls=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ss=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ds=os({preview:is,input:ls,textarea:ss}),cs=ns({baseStyle:ds}),{definePartsStyle:bs,defineMultiStyleConfig:vs}=b(Xt.keys),J=c("form-control-color"),us=t({marginStart:"1",[J.variable]:"colors.red.500",_dark:{[J.variable]:"colors.red.300"},color:J.reference}),fs=t({mt:"2",[J.variable]:"colors.gray.600",_dark:{[J.variable]:"colors.whiteAlpha.600"},color:J.reference,lineHeight:"normal",fontSize:"sm"}),ms=bs({container:{width:"100%",position:"relative"},requiredIndicator:us,helperText:fs}),hs=vs({baseStyle:ms}),{definePartsStyle:gs,defineMultiStyleConfig:ys}=b(Kt.keys),Q=c("form-error-color"),ps=t({[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference,mt:"2",fontSize:"sm",lineHeight:"normal"}),Ss=t({marginEnd:"0.5em",[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference}),xs=gs({text:ps,icon:Ss}),$s=ys({baseStyle:xs}),ks=t({fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}}),_s=h({baseStyle:ks}),ws=t({fontFamily:"heading",fontWeight:"bold"}),zs={"4xl":t({fontSize:["6xl",null,"7xl"],lineHeight:1}),"3xl":t({fontSize:["5xl",null,"6xl"],lineHeight:1}),"2xl":t({fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]}),xl:t({fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]}),lg:t({fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]}),md:t({fontSize:"xl",lineHeight:1.2}),sm:t({fontSize:"md",lineHeight:1.2}),xs:t({fontSize:"sm",lineHeight:1.2})},Cs=h({baseStyle:ws,sizes:zs,defaultProps:{size:"xl"}}),{defineMultiStyleConfig:As,definePartsStyle:Ps}=b(Nt.keys),mr=c("breadcrumb-link-decor"),Ts=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",outline:"none",color:"inherit",textDecoration:mr.reference,[mr.variable]:"none","&:not([aria-current=page])":{cursor:"pointer",_hover:{[mr.variable]:"underline"},_focusVisible:{boxShadow:"outline"}}}),Fs=Ps({link:Ts}),Is=As({baseStyle:Fs}),Ms=t({lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}}),_a=t(e=>{const{colorScheme:r,theme:a}=e;if(r==="gray")return{color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.100","whiteAlpha.200")(e)},_active:{bg:n("gray.200","whiteAlpha.300")(e)}};const o=re(`${r}.200`,.12)(a),i=re(`${r}.200`,.24)(a);return{color:n(`${r}.600`,`${r}.200`)(e),bg:"transparent",_hover:{bg:n(`${r}.50`,o)(e)},_active:{bg:n(`${r}.100`,i)(e)}}}),Bs=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...k(_a,e)}}),Es={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},Ds=t(e=>{var r;const{colorScheme:a}=e;if(a==="gray"){const v=n("gray.100","whiteAlpha.200")(e);return{bg:v,color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.200","whiteAlpha.300")(e),_disabled:{bg:v}},_active:{bg:n("gray.300","whiteAlpha.400")(e)}}}const{bg:o=`${a}.500`,color:i="white",hoverBg:l=`${a}.600`,activeBg:s=`${a}.700`}=(r=Es[a])!=null?r:{},d=n(o,`${a}.200`)(e);return{bg:d,color:n(i,"gray.800")(e),_hover:{bg:n(l,`${a}.300`)(e),_disabled:{bg:d}},_active:{bg:n(s,`${a}.400`)(e)}}}),Rs=t(e=>{const{colorScheme:r}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:n(`${r}.500`,`${r}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:n(`${r}.700`,`${r}.500`)(e)}}}),js=t({bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"}),Hs={ghost:_a,outline:Bs,solid:Ds,link:Rs,unstyled:js},Ws={lg:t({h:"12",minW:"12",fontSize:"lg",px:"6"}),md:t({h:"10",minW:"10",fontSize:"md",px:"4"}),sm:t({h:"8",minW:"8",fontSize:"sm",px:"3"}),xs:t({h:"6",minW:"6",fontSize:"xs",px:"2"})},Vs=h({baseStyle:Ms,variants:Hs,sizes:Ws,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}}),{definePartsStyle:U,defineMultiStyleConfig:Ls}=b(uo.keys),Ye=c("card-bg"),R=c("card-padding"),wa=c("card-shadow"),Oe=c("card-radius"),za=c("card-border-width","0"),Ca=c("card-border-color"),qs=U({container:{[Ye.variable]:"colors.chakra-body-bg",backgroundColor:Ye.reference,boxShadow:wa.reference,borderRadius:Oe.reference,color:"chakra-body-text",borderWidth:za.reference,borderColor:Ca.reference},body:{padding:R.reference,flex:"1 1 0%"},header:{padding:R.reference},footer:{padding:R.reference}}),Os={sm:U({container:{[Oe.variable]:"radii.base",[R.variable]:"space.3"}}),md:U({container:{[Oe.variable]:"radii.md",[R.variable]:"space.5"}}),lg:U({container:{[Oe.variable]:"radii.xl",[R.variable]:"space.7"}})},Ns={elevated:U({container:{[wa.variable]:"shadows.base",_dark:{[Ye.variable]:"colors.gray.700"}}}),outline:U({container:{[za.variable]:"1px",[Ca.variable]:"colors.chakra-border-color"}}),filled:U({container:{[Ye.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[R.variable]:0},header:{[R.variable]:0},footer:{[R.variable]:0}}},Gs=Ls({baseStyle:qs,variants:Ns,sizes:Os,defaultProps:{variant:"elevated",size:"md"}}),me=m("close-button-size"),ie=m("close-button-bg"),Us=t({w:[me.reference],h:[me.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[ie.variable]:"colors.blackAlpha.100",_dark:{[ie.variable]:"colors.whiteAlpha.100"}},_active:{[ie.variable]:"colors.blackAlpha.200",_dark:{[ie.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:ie.reference}),Ys={lg:t({[me.variable]:"sizes.10",fontSize:"md"}),md:t({[me.variable]:"sizes.8",fontSize:"xs"}),sm:t({[me.variable]:"sizes.6",fontSize:"2xs"})},Xs=h({baseStyle:Us,sizes:Ys,defaultProps:{size:"md"}}),{variants:Ks,defaultProps:Zs}=ue,Js=t({fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Qs=h({baseStyle:Js,variants:Ks,defaultProps:Zs}),e0=t({w:"100%",mx:"auto",maxW:"prose",px:"4"}),r0=h({baseStyle:e0}),a0=t({opacity:.6,borderColor:"inherit"}),t0=t({borderStyle:"solid"}),o0=t({borderStyle:"dashed"}),n0={solid:t0,dashed:o0},i0=h({baseStyle:a0,variants:n0,defaultProps:{variant:"solid"}}),{definePartsStyle:l0,defineMultiStyleConfig:s0}=b(Lt.keys),d0=t({borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}}),c0=t({transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"}),b0=t({pt:"2",px:"4",pb:"5"}),v0=t({fontSize:"1.25em"}),u0=l0({container:d0,button:c0,panel:b0,icon:v0}),f0=s0({baseStyle:u0}),{definePartsStyle:xe,defineMultiStyleConfig:m0}=b(qt.keys),w=c("alert-fg"),j=c("alert-bg"),h0=xe({container:{bg:j.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function _r(e){const{theme:r,colorScheme:a}=e,o=re(`${a}.200`,.16)(r);return{light:`colors.${a}.100`,dark:o}}var g0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark}}}}),y0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:w.reference}}}),p0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},pt:"2",borderTopWidth:"4px",borderTopColor:w.reference}}}),S0=xe(e=>{const{colorScheme:r}=e;return{container:{[w.variable]:"colors.white",[j.variable]:`colors.${r}.500`,_dark:{[w.variable]:"colors.gray.900",[j.variable]:`colors.${r}.200`},color:w.reference}}}),x0={subtle:g0,"left-accent":y0,"top-accent":p0,solid:S0},$0=m0({baseStyle:h0,variants:x0,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:Aa,defineMultiStyleConfig:k0}=b(Ot.keys),ee=c("avatar-border-color"),he=c("avatar-bg"),Se=c("avatar-font-size"),ae=c("avatar-size"),_0=t({borderRadius:"full",border:"0.2em solid",borderColor:ee.reference,[ee.variable]:"white",_dark:{[ee.variable]:"colors.gray.800"}}),w0=t({bg:he.reference,fontSize:Se.reference,width:ae.reference,height:ae.reference,lineHeight:"1",[he.variable]:"colors.gray.200",_dark:{[he.variable]:"colors.whiteAlpha.400"}}),z0=t(e=>{const{name:r,theme:a}=e,o=r?Mo({string:r}):"colors.gray.400",i=Fo(o)(a);let l="white";return i||(l="gray.800"),{bg:he.reference,fontSize:Se.reference,color:l,borderColor:ee.reference,verticalAlign:"top",width:ae.reference,height:ae.reference,"&:not([data-loaded])":{[he.variable]:o},[ee.variable]:"colors.white",_dark:{[ee.variable]:"colors.gray.800"}}}),C0=t({fontSize:Se.reference,lineHeight:"1"}),A0=Aa(e=>({badge:k(_0,e),excessLabel:k(w0,e),container:k(z0,e),label:C0}));function W(e){const r=e!=="100%"?ya[e]:void 0;return Aa({container:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`},excessLabel:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`}})}var P0={"2xs":W(4),xs:W(6),sm:W(8),md:W(12),lg:W(16),xl:W(24),"2xl":W(32),full:W("100%")},T0=k0({baseStyle:A0,sizes:P0,defaultProps:{size:"md"}}),F0={Accordion:f0,Alert:$0,Avatar:T0,Badge:ue,Breadcrumb:Is,Button:Vs,Checkbox:Ue,CloseButton:Xs,Code:Qs,Container:r0,Divider:i0,Drawer:ts,Editable:cs,Form:hs,FormError:$s,FormLabel:_s,Heading:Cs,Input:u,Kbd:Yi,Link:Ki,List:rl,Menu:bl,Modal:$l,NumberInput:Fl,PinInput:El,Popover:Gl,Progress:ei,Radio:ui,Select:Si,Skeleton:$i,SkipLink:_i,Slider:Ei,Spinner:ji,Stat:Gi,Switch:Xo,Table:an,Tabs:yn,Tag:Fn,Textarea:qn,Tooltip:Gn,Card:Gs,Stepper:Vt},I0={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-inverse-text":{_light:"white",_dark:"gray.800"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-subtle-text":{_light:"gray.600",_dark:"gray.400"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},M0={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color"}}},B0="ltr",E0={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},Pa={semanticTokens:I0,direction:B0,...jt,components:F0,styles:M0,config:E0};function be(e){return typeof e=="function"}function D0(...e){return r=>e.reduce((a,o)=>o(a),r)}var R0=e=>function(...a){let o=[...a],i=a[a.length-1];return ft(i)&&o.length>1?o=o.slice(0,o.length-1):i=e,D0(...o.map(l=>s=>be(l)?l(s):H0(s,l)))(i)},j0=R0(Pa);function H0(...e){return ba({},...e,Ta)}function Ta(e,r,a,o){if((be(e)||be(r))&&Object.prototype.hasOwnProperty.call(o,a))return(...i)=>{const l=be(e)?e(...i):e,s=be(r)?r(...i):r;return ba({},l,s,Ta)}}function W0(e={}){const{strict:r=!0,errorMessage:a="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:o}=e,i=x.createContext(void 0);i.displayName=o;function l(){var s;const d=x.useContext(i);if(!d&&r){const v=new Error(a);throw v.name="ContextError",(s=Error.captureStackTrace)==null||s.call(Error,v,l),v}return d}return[i.Provider,l,i]}function V0(e){const{cssVarsRoot:r,theme:a,children:o}=e,i=x.useMemo(()=>ja(a),[a]);return g.jsxs(Ha,{theme:i,children:[g.jsx(L0,{root:r}),o]})}function L0({root:e=":host, :root"}){const r=[e,"[data-theme]"].join(",");return g.jsx(Xe,{styles:a=>({[r]:a.__cssVars})})}W0({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function q0(){const{colorMode:e}=Wa();return g.jsx(Xe,{styles:r=>{const a=Va(r,"styles.global"),o=La(a,{theme:r,colorMode:e});return o?qa(o)(r):void 0}})}var Fa=x.createContext({getDocument(){return document},getWindow(){return window}});Fa.displayName="EnvironmentContext";function Ia(e){const{children:r,environment:a,disabled:o}=e,i=x.useRef(null),l=x.useMemo(()=>a||{getDocument:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument)!=null?v:document},getWindow:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument.defaultView)!=null?v:window}},[a]),s=!o||!a;return g.jsxs(Fa.Provider,{value:l,children:[r,s&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}Ia.displayName="EnvironmentProvider";var O0=e=>{const{children:r,colorModeManager:a,portalZIndex:o,resetScope:i,resetCSS:l=!0,theme:s={},environment:d,cssVarsRoot:v,disableEnvironment:$,disableGlobalStyle:p}=e,S=g.jsx(Ia,{environment:d,disabled:$,children:r});return g.jsx(V0,{theme:s,cssVarsRoot:v,children:g.jsxs(ma,{colorModeManager:a,options:s.config,children:[l?g.jsx(dt,{scope:i}):g.jsx(st,{}),!p&&g.jsx(q0,{}),o?g.jsx(Oa,{zIndex:o,children:S}):S]})})},N0=e=>function({children:a,theme:o=e,toastOptions:i,...l}){return g.jsxs(O0,{theme:o,...l,children:[g.jsx(Na,{value:i==null?void 0:i.defaultOptions,children:a}),g.jsx(Ga,{...i})]})},G0=N0(Pa);function z(e,r,a=!1){e=String(e),r=String(r);const o=Array.from({length:21},(s,d)=>d*50),i=[0,5,10,15,20,25,30,35,40,45,50,55,59,64,68,73,77,82,86,95,100];return o.reduce((s,d,v)=>{const $=a?i[v]/100:1,p=a?50:i[o.length-1-v];return s[d]=`hsl(${e} ${r}% ${p}% / ${$})`,s},{})}const Fe={H:220,S:16},Ie={H:250,S:42},Me={H:47,S:42},Be={H:28,S:42},Ee={H:113,S:42},De={H:0,S:42},U0={base:z(Fe.H,Fe.S),baseAlpha:z(Fe.H,Fe.S,!0),accent:z(Ie.H,Ie.S),accentAlpha:z(Ie.H,Ie.S,!0),working:z(Me.H,Me.S),workingAlpha:z(Me.H,Me.S,!0),warning:z(Be.H,Be.S),warningAlpha:z(Be.H,Be.S,!0),ok:z(Ee.H,Ee.S),okAlpha:z(Ee.H,Ee.S,!0),error:z(De.H,De.S),errorAlpha:z(De.H,De.S,!0)},{definePartsStyle:Y0,defineMultiStyleConfig:X0}=b(Ua.keys),K0=t({border:"none"}),Z0=t(e=>{const{colorScheme:r}=e;return{fontWeight:"600",fontSize:"sm",border:"none",borderRadius:"base",bg:n(`${r}.200`,`${r}.700`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.250`,`${r}.650`)(e)},_expanded:{bg:n(`${r}.250`,`${r}.650`)(e),borderBottomRadius:"none",_hover:{bg:n(`${r}.300`,`${r}.600`)(e)}}}}),J0=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.100`,`${r}.800`)(e),borderRadius:"base",borderTopRadius:"none"}}),Q0=t({}),ed=Y0(e=>({container:K0,button:Z0(e),panel:J0(e),icon:Q0})),rd=X0({variants:{invokeAI:ed},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),ad=t(e=>{const{colorScheme:r}=e;if(r==="base"){const o={bg:n("base.150","base.700")(e),color:n("base.500","base.500")(e),svg:{fill:n("base.500","base.500")(e)},opacity:1};return{bg:n("base.250","base.600")(e),color:n("base.850","base.100")(e),borderRadius:"base",svg:{fill:n("base.850","base.100")(e)},_hover:{bg:n("base.300","base.500")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.900","base.50")(e)},_disabled:o},_disabled:o}}const a={bg:n(`${r}.250`,`${r}.700`)(e),color:n(`${r}.50`,`${r}.500`)(e),svg:{fill:n(`${r}.50`,`${r}.500`)(e),filter:"unset"},opacity:1,filter:n(void 0,"saturate(65%)")(e)};return{bg:n(`${r}.400`,`${r}.600`)(e),color:n("base.50","base.100")(e),borderRadius:"base",svg:{fill:n("base.50","base.100")(e)},_disabled:a,_hover:{bg:n(`${r}.500`,`${r}.500`)(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)},_disabled:a}}}),td=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"}}}),od=h({variants:{invokeAI:ad,invokeAIOutline:td},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),{definePartsStyle:nd,defineMultiStyleConfig:id}=b(Ya.keys),ld=t(e=>{const{colorScheme:r}=e;return{bg:n("base.200","base.700")(e),borderColor:n("base.200","base.700")(e),color:n("base.900","base.100")(e),_checked:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.400`,`${r}.500`)(e),borderColor:n(`${r}.400`,`${r}.500`)(e)},_disabled:{borderColor:"transparent",bg:"whiteAlpha.300",color:"whiteAlpha.500"}},_indeterminate:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e)},_disabled:{bg:"whiteAlpha.100",borderColor:"transparent"},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("error.600","error.300")(e)}}}),sd=nd(e=>({control:ld(e)})),dd=id({variants:{invokeAI:sd},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{definePartsStyle:cd,defineMultiStyleConfig:bd}=b(Xa.keys),vd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ud=t(e=>({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6},"::selection":{color:n("accent.900","accent.50")(e),bg:n("accent.200","accent.400")(e)}})),fd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),md=cd(e=>({preview:vd,input:ud(e),textarea:fd})),hd=bd({variants:{invokeAI:md},defaultProps:{size:"sm",variant:"invokeAI"}}),gd=t(e=>({fontSize:"sm",marginEnd:0,mb:1,fontWeight:"400",transitionProperty:"common",transitionDuration:"normal",whiteSpace:"nowrap",_disabled:{opacity:.4},color:n("base.700","base.300")(e)})),yd=h({variants:{invokeAI:gd},defaultProps:{variant:"invokeAI"}}),Je=e=>({outline:"none",borderWidth:2,borderStyle:"solid",borderColor:n("base.200","base.800")(e),bg:n("base.50","base.900")(e),borderRadius:"base",color:n("base.900","base.100")(e),boxShadow:"none",_hover:{borderColor:n("base.300","base.600")(e)},_focus:{borderColor:n("accent.200","accent.600")(e),boxShadow:"none",_hover:{borderColor:n("accent.300","accent.500")(e)}},_invalid:{borderColor:n("error.300","error.600")(e),boxShadow:"none",_hover:{borderColor:n("error.400","error.500")(e)}},_disabled:{borderColor:n("base.300","base.700")(e),bg:n("base.300","base.700")(e),color:n("base.600","base.400")(e),_hover:{borderColor:n("base.300","base.700")(e)}},_placeholder:{color:n("base.700","base.400")(e)},"::selection":{bg:n("accent.200","accent.400")(e)}}),{definePartsStyle:pd,defineMultiStyleConfig:Sd}=b(Ka.keys),xd=pd(e=>({field:Je(e)})),$d=Sd({variants:{invokeAI:xd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:kd,definePartsStyle:_d}=b(Za.keys),wd=t(e=>({bg:n("blackAlpha.700","blackAlpha.700")(e)})),zd=t({}),Cd=t(()=>({layerStyle:"first",maxH:"80vh"})),Ad=t(()=>({fontWeight:"600",fontSize:"lg",layerStyle:"first",borderTopRadius:"base",borderInlineEndRadius:"base"})),Pd=t({}),Td=t({overflowY:"scroll"}),Fd=t({}),Id=_d(e=>({overlay:wd(e),dialogContainer:zd,dialog:Cd(),header:Ad(),closeButton:Pd,body:Td,footer:Fd})),Md=kd({variants:{invokeAI:Id},defaultProps:{variant:"invokeAI",size:"lg"}}),{defineMultiStyleConfig:Bd,definePartsStyle:Ed}=b(Ja.keys),Dd=t(e=>({height:8})),Rd=t(e=>({border:"none",fontWeight:"600",height:"auto",py:1,ps:2,pe:6,...Je(e)})),jd=t(e=>({display:"flex"})),Hd=t(e=>({border:"none",px:2,py:0,mx:-2,my:0,svg:{color:n("base.700","base.300")(e),width:2.5,height:2.5,_hover:{color:n("base.900","base.100")(e)}}})),Wd=Ed(e=>({root:Dd(e),field:Rd(e),stepperGroup:jd(e),stepper:Hd(e)})),Vd=Bd({variants:{invokeAI:Wd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:Ld,definePartsStyle:qd}=b(Qa.keys),Od=m("popper-bg"),Nd=m("popper-arrow-bg"),Gd=m("popper-arrow-shadow-color"),Ud=t(e=>({[Nd.variable]:n("colors.base.100","colors.base.800")(e),[Od.variable]:n("colors.base.100","colors.base.800")(e),[Gd.variable]:n("colors.base.400","colors.base.600")(e),minW:"unset",width:"unset",p:4,bg:n("base.100","base.800")(e),border:"none",shadow:"dark-lg"})),Yd=qd(e=>({content:Ud(e)})),Xd=Ld({variants:{invokeAI:Yd},defaultProps:{variant:"invokeAI"}}),{defineMultiStyleConfig:Kd,definePartsStyle:Zd}=b(et.keys),Jd=t(e=>({bg:"accentAlpha.500"})),Qd=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.200`,`${r}.700`)(e)}}),ec=Zd(e=>({filledTrack:Jd(e),track:Qd(e)})),rc=Kd({variants:{invokeAI:ec},defaultProps:{variant:"invokeAI"}}),ac={"::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"},{definePartsStyle:tc,defineMultiStyleConfig:oc}=b(rt.keys),nc=t(e=>({color:n("base.200","base.300")(e)})),ic=t(e=>({fontWeight:"600",...Je(e)})),lc=tc(e=>({field:ic(e),icon:nc(e)})),sc=oc({variants:{invokeAI:lc},defaultProps:{size:"sm",variant:"invokeAI"}}),sa=c("skeleton-start-color"),da=c("skeleton-end-color"),dc=t({borderRadius:"base",maxW:"full",maxH:"full",_light:{[sa.variable]:"colors.base.250",[da.variable]:"colors.base.450"},_dark:{[sa.variable]:"colors.base.700",[da.variable]:"colors.base.500"}}),cc=h({variants:{invokeAI:dc},defaultProps:{variant:"invokeAI"}}),{definePartsStyle:bc,defineMultiStyleConfig:vc}=b(at.keys),uc=t(e=>({bg:n("base.400","base.600")(e),h:1.5})),fc=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.400`,`${r}.600`)(e),h:1.5}}),mc=t(e=>({w:2,h:4,bg:n("base.50","base.100")(e)})),hc=t(e=>({fontSize:"2xs",fontWeight:"500",color:n("base.700","base.400")(e),mt:2,insetInlineStart:"unset"})),gc=bc(e=>({container:{_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"}},track:uc(e),filledTrack:fc(e),thumb:mc(e),mark:hc(e)})),yc=vc({variants:{invokeAI:gc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:pc,definePartsStyle:Sc}=b(tt.keys),xc=t(e=>{const{colorScheme:r}=e;return{bg:n("base.300","base.600")(e),_focusVisible:{boxShadow:"none"},_checked:{bg:n(`${r}.400`,`${r}.500`)(e)}}}),$c=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.50`,`${r}.50`)(e)}}),kc=Sc(e=>({container:{},track:xc(e),thumb:$c(e)})),_c=pc({variants:{invokeAI:kc},defaultProps:{size:"md",variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:wc,definePartsStyle:zc}=b(ot.keys),Cc=t(e=>({display:"flex",columnGap:4})),Ac=t(e=>({})),Pc=t(e=>{const{colorScheme:r}=e;return{display:"flex",flexDirection:"column",gap:1,color:n("base.700","base.400")(e),button:{fontSize:"sm",padding:2,borderRadius:"base",textShadow:n("0 0 0.3rem var(--invokeai-colors-accent-100)","0 0 0.3rem var(--invokeai-colors-accent-900)")(e),svg:{fill:n("base.700","base.300")(e)},_selected:{bg:n("accent.400","accent.600")(e),color:n("base.50","base.100")(e),svg:{fill:n("base.50","base.100")(e),filter:n(`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-600))`,`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-800))`)(e)},_hover:{bg:n("accent.500","accent.500")(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)}}},_hover:{bg:n("base.100","base.800")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.800","base.100")(e)}}}}}),Tc=t(e=>({padding:0,height:"100%"})),Fc=zc(e=>({root:Cc(e),tab:Ac(e),tablist:Pc(e),tabpanel:Tc(e)})),Ic=wc({variants:{invokeAI:Fc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),Mc=t(e=>({color:n("base.500","base.400")(e)})),Bc=h({variants:{subtext:Mc}}),Ec=t(e=>({...Je(e),"::-webkit-scrollbar":{display:"initial"},"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, + var(--invokeai-colors-base-50) 0%, + var(--invokeai-colors-base-50) 70%, + var(--invokeai-colors-base-200) 70%, + var(--invokeai-colors-base-200) 100%)`},_dark:{"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, + var(--invokeai-colors-base-900) 0%, + var(--invokeai-colors-base-900) 70%, + var(--invokeai-colors-base-800) 70%, + var(--invokeai-colors-base-800) 100%)`}}})),Dc=h({variants:{invokeAI:Ec},defaultProps:{size:"md",variant:"invokeAI"}}),Rc=m("popper-arrow-bg"),jc=t(e=>({borderRadius:"base",shadow:"dark-lg",bg:n("base.700","base.200")(e),[Rc.variable]:n("colors.base.700","colors.base.200")(e),pb:1.5})),Hc=h({baseStyle:jc}),Wc={config:{cssVarPrefix:"invokeai",initialColorMode:"dark",useSystemColorMode:!1},layerStyles:{body:{bg:"base.50",color:"base.900",".chakra-ui-dark &":{bg:"base.900",color:"base.50"}},first:{bg:"base.100",color:"base.900",".chakra-ui-dark &":{bg:"base.850",color:"base.100"}},second:{bg:"base.200",color:"base.900",".chakra-ui-dark &":{bg:"base.800",color:"base.100"}}},styles:{global:()=>({layerStyle:"body","*":{...ac}})},direction:"ltr",fonts:{body:"'Inter Variable', sans-serif"},shadows:{light:{accent:"0 0 10px 0 var(--invokeai-colors-accent-300)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-400)",ok:"0 0 7px var(--invokeai-colors-ok-600)",working:"0 0 7px var(--invokeai-colors-working-600)",error:"0 0 7px var(--invokeai-colors-error-600)"},dark:{accent:"0 0 10px 0 var(--invokeai-colors-accent-600)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-500)",ok:"0 0 7px var(--invokeai-colors-ok-400)",working:"0 0 7px var(--invokeai-colors-working-400)",error:"0 0 7px var(--invokeai-colors-error-400)"},selected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-400)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-500)"},hoverSelected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-400)"},hoverUnselected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 3px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 3px var(--invokeai-colors-accent-400)"},nodeSelectedOutline:"0 0 0 2px var(--invokeai-colors-accent-450)"},colors:U0,components:{Button:od,Input:$d,Editable:hd,Textarea:Dc,Tabs:Ic,Progress:rc,Accordion:rd,FormLabel:yd,Switch:_c,NumberInput:Vd,Select:sc,Skeleton:cc,Slider:yc,Popover:Xd,Modal:Md,Checkbox:dd,Menu:nt,Text:Bc,Tooltip:Hc}};const Vc=()=>x.useMemo(()=>({colorScheme:"dark",fontFamily:"'Inter Variable', sans-serif",components:{ScrollArea:{defaultProps:{scrollbarSize:10},styles:{scrollbar:{"&:hover":{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}},thumb:{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}}}}}),[]),Lc=fa("@@invokeai-color-mode");function Nc({children:e}){const{i18n:r}=it(),a=r.dir(),o=x.useMemo(()=>j0({...Wc,direction:a}),[a]);x.useEffect(()=>{document.body.dir=a},[a]);const i=Vc();return g.jsx(lt,{theme:i,children:g.jsx(G0,{theme:o,colorModeManager:Lc,children:e})})}export{Nc as default}; diff --git a/invokeai/frontend/web/dist/assets/index-9488b384.js b/invokeai/frontend/web/dist/assets/index-9488b384.js new file mode 100644 index 0000000000..ff81ab4dfd --- /dev/null +++ b/invokeai/frontend/web/dist/assets/index-9488b384.js @@ -0,0 +1,125 @@ +function OP(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function nF(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var RP={exports:{}},Sy={},IP={exports:{}},Re={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Jf=Symbol.for("react.element"),rF=Symbol.for("react.portal"),iF=Symbol.for("react.fragment"),oF=Symbol.for("react.strict_mode"),sF=Symbol.for("react.profiler"),aF=Symbol.for("react.provider"),lF=Symbol.for("react.context"),uF=Symbol.for("react.forward_ref"),cF=Symbol.for("react.suspense"),dF=Symbol.for("react.memo"),fF=Symbol.for("react.lazy"),N3=Symbol.iterator;function hF(e){return e===null||typeof e!="object"?null:(e=N3&&e[N3]||e["@@iterator"],typeof e=="function"?e:null)}var MP={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},NP=Object.assign,DP={};function dc(e,t,n){this.props=e,this.context=t,this.refs=DP,this.updater=n||MP}dc.prototype.isReactComponent={};dc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};dc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function LP(){}LP.prototype=dc.prototype;function lw(e,t,n){this.props=e,this.context=t,this.refs=DP,this.updater=n||MP}var uw=lw.prototype=new LP;uw.constructor=lw;NP(uw,dc.prototype);uw.isPureReactComponent=!0;var D3=Array.isArray,$P=Object.prototype.hasOwnProperty,cw={current:null},FP={key:!0,ref:!0,__self:!0,__source:!0};function BP(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)$P.call(t,r)&&!FP.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,U=R[j];if(0>>1;ji(X,L))Yi(B,X)?(R[j]=B,R[Y]=L,j=Y):(R[j]=X,R[W]=L,j=W);else if(Yi(B,L))R[j]=B,R[Y]=L,j=Y;else break e}}return D}function i(R,D){var L=R.sortIndex-D.sortIndex;return L!==0?L:R.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,f=3,h=!1,p=!1,m=!1,S=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(R){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=R)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function b(R){if(m=!1,g(R),!p)if(n(l)!==null)p=!0,I(_);else{var D=n(u);D!==null&&N(b,D.startTime-R)}}function _(R,D){p=!1,m&&(m=!1,v(T),T=-1),h=!0;var L=f;try{for(g(D),d=n(l);d!==null&&(!(d.expirationTime>D)||R&&!A());){var j=d.callback;if(typeof j=="function"){d.callback=null,f=d.priorityLevel;var U=j(d.expirationTime<=D);D=e.unstable_now(),typeof U=="function"?d.callback=U:d===n(l)&&r(l),g(D)}else r(l);d=n(l)}if(d!==null)var G=!0;else{var W=n(u);W!==null&&N(b,W.startTime-D),G=!1}return G}finally{d=null,f=L,h=!1}}var w=!1,x=null,T=-1,P=5,E=-1;function A(){return!(e.unstable_now()-ER||125j?(R.sortIndex=L,t(u,R),n(l)===null&&R===n(u)&&(m?(v(T),T=-1):m=!0,N(b,L-j))):(R.sortIndex=U,t(l,R),p||h||(p=!0,I(_))),R},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(R){var D=f;return function(){var L=f;f=D;try{return R.apply(this,arguments)}finally{f=L}}}})(UP);zP.exports=UP;var CF=zP.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var GP=k,kr=CF;function Z(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),CS=Object.prototype.hasOwnProperty,TF=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,F3={},B3={};function EF(e){return CS.call(B3,e)?!0:CS.call(F3,e)?!1:TF.test(e)?B3[e]=!0:(F3[e]=!0,!1)}function PF(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function AF(e,t,n,r){if(t===null||typeof t>"u"||PF(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function rr(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kn[e]=new rr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kn[t]=new rr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kn[e]=new rr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kn[e]=new rr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){kn[e]=new rr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kn[e]=new rr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kn[e]=new rr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kn[e]=new rr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kn[e]=new rr(e,5,!1,e.toLowerCase(),null,!1,!1)});var fw=/[\-:]([a-z])/g;function hw(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!1,!1)});kn.xlinkHref=new rr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!0,!0)});function pw(e,t,n,r){var i=kn.hasOwnProperty(t)?kn[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` +`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{D1=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ad(e):""}function kF(e){switch(e.tag){case 5:return ad(e.type);case 16:return ad("Lazy");case 13:return ad("Suspense");case 19:return ad("SuspenseList");case 0:case 2:case 15:return e=L1(e.type,!1),e;case 11:return e=L1(e.type.render,!1),e;case 1:return e=L1(e.type,!0),e;default:return""}}function AS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case eu:return"Fragment";case Jl:return"Portal";case TS:return"Profiler";case gw:return"StrictMode";case ES:return"Suspense";case PS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case WP:return(e.displayName||"Context")+".Consumer";case qP:return(e._context.displayName||"Context")+".Provider";case mw:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yw:return t=e.displayName||null,t!==null?t:AS(e.type)||"Memo";case ls:t=e._payload,e=e._init;try{return AS(e(t))}catch{}}return null}function OF(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return AS(t);case 8:return t===gw?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ls(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function XP(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function RF(e){var t=XP(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qh(e){e._valueTracker||(e._valueTracker=RF(e))}function YP(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=XP(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mg(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function kS(e,t){var n=t.checked;return Ot({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function V3(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ls(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function QP(e,t){t=t.checked,t!=null&&pw(e,"checked",t,!1)}function OS(e,t){QP(e,t);var n=Ls(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?RS(e,t.type,n):t.hasOwnProperty("defaultValue")&&RS(e,t.type,Ls(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function z3(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function RS(e,t,n){(t!=="number"||Mg(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ld=Array.isArray;function yu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Zh.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bd(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},IF=["Webkit","ms","Moz","O"];Object.keys(yd).forEach(function(e){IF.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),yd[t]=yd[e]})});function tA(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||yd.hasOwnProperty(e)&&yd[e]?(""+t).trim():t+"px"}function nA(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=tA(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var MF=Ot({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function NS(e,t){if(t){if(MF[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Z(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Z(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Z(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Z(62))}}function DS(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var LS=null;function vw(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $S=null,vu=null,bu=null;function H3(e){if(e=nh(e)){if(typeof $S!="function")throw Error(Z(280));var t=e.stateNode;t&&(t=Ty(t),$S(e.stateNode,e.type,t))}}function rA(e){vu?bu?bu.push(e):bu=[e]:vu=e}function iA(){if(vu){var e=vu,t=bu;if(bu=vu=null,H3(e),t)for(e=0;e>>=0,e===0?32:31-(GF(e)/HF|0)|0}var Jh=64,ep=4194304;function ud(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $g(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=ud(a):(o&=s,o!==0&&(r=ud(o)))}else s=n&~i,s!==0?r=ud(s):o!==0&&(r=ud(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function eh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mi(t),e[t]=n}function XF(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=bd),e5=String.fromCharCode(32),t5=!1;function CA(e,t){switch(e){case"keyup":return xB.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function TA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var tu=!1;function TB(e,t){switch(e){case"compositionend":return TA(t);case"keypress":return t.which!==32?null:(t5=!0,e5);case"textInput":return e=t.data,e===e5&&t5?null:e;default:return null}}function EB(e,t){if(tu)return e==="compositionend"||!Ew&&CA(e,t)?(e=wA(),eg=xw=vs=null,tu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=o5(n)}}function kA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?kA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function OA(){for(var e=window,t=Mg();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mg(e.document)}return t}function Pw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function DB(e){var t=OA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&kA(n.ownerDocument.documentElement,n)){if(r!==null&&Pw(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=s5(n,o);var s=s5(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,nu=null,US=null,_d=null,GS=!1;function a5(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;GS||nu==null||nu!==Mg(r)||(r=nu,"selectionStart"in r&&Pw(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_d&&Hd(_d,r)||(_d=r,r=jg(US,"onSelect"),0ou||(e.current=YS[ou],YS[ou]=null,ou--)}function at(e,t){ou++,YS[ou]=e.current,e.current=t}var $s={},Bn=Qs($s),pr=Qs(!1),Ha=$s;function ju(e,t){var n=e.type.contextTypes;if(!n)return $s;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function gr(e){return e=e.childContextTypes,e!=null}function zg(){ht(pr),ht(Bn)}function p5(e,t,n){if(Bn.current!==$s)throw Error(Z(168));at(Bn,t),at(pr,n)}function BA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Z(108,OF(e)||"Unknown",i));return Ot({},n,r)}function Ug(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$s,Ha=Bn.current,at(Bn,e),at(pr,pr.current),!0}function g5(e,t,n){var r=e.stateNode;if(!r)throw Error(Z(169));n?(e=BA(e,t,Ha),r.__reactInternalMemoizedMergedChildContext=e,ht(pr),ht(Bn),at(Bn,e)):ht(pr),at(pr,n)}var _o=null,Ey=!1,Y1=!1;function jA(e){_o===null?_o=[e]:_o.push(e)}function WB(e){Ey=!0,jA(e)}function Zs(){if(!Y1&&_o!==null){Y1=!0;var e=0,t=Ke;try{var n=_o;for(Ke=1;e>=s,i-=s,To=1<<32-mi(t)+i|n<T?(P=x,x=null):P=x.sibling;var E=f(v,x,g[T],b);if(E===null){x===null&&(x=P);break}e&&x&&E.alternate===null&&t(v,x),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E,x=P}if(T===g.length)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;TT?(P=x,x=null):P=x.sibling;var A=f(v,x,E.value,b);if(A===null){x===null&&(x=P);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,T),w===null?_=A:w.sibling=A,w=A,x=P}if(E.done)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;!E.done;T++,E=g.next())E=d(v,E.value,b),E!==null&&(y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return St&&Sa(v,T),_}for(x=r(v,x);!E.done;T++,E=g.next())E=h(x,v,T,E.value,b),E!==null&&(e&&E.alternate!==null&&x.delete(E.key===null?T:E.key),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return e&&x.forEach(function($){return t(v,$)}),St&&Sa(v,T),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===eu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yh:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===eu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===ls&&w5(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=$c(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===eu?(y=$a(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=lg(g.type,g.key,g.props,null,v.mode,b),b.ref=$c(v,y,g),b.return=v,v=b)}return s(v);case Jl:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=ib(g,v.mode,b),y.return=v,v=y}return s(v);case ls:return w=g._init,S(v,y,w(g._payload),b)}if(ld(g))return p(v,y,g,b);if(Ic(g))return m(v,y,g,b);ap(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=rb(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var zu=KA(!0),XA=KA(!1),rh={},Xi=Qs(rh),Xd=Qs(rh),Yd=Qs(rh);function Oa(e){if(e===rh)throw Error(Z(174));return e}function Lw(e,t){switch(at(Yd,t),at(Xd,e),at(Xi,rh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:MS(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=MS(t,e)}ht(Xi),at(Xi,t)}function Uu(){ht(Xi),ht(Xd),ht(Yd)}function YA(e){Oa(Yd.current);var t=Oa(Xi.current),n=MS(t,e.type);t!==n&&(at(Xd,e),at(Xi,n))}function $w(e){Xd.current===e&&(ht(Xi),ht(Xd))}var Et=Qs(0);function Xg(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Q1=[];function Fw(){for(var e=0;en?n:4,e(!0);var r=Z1.transition;Z1.transition={};try{e(!1),t()}finally{Ke=n,Z1.transition=r}}function f9(){return Qr().memoizedState}function QB(e,t,n){var r=As(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},h9(e))p9(t,n);else if(n=GA(e,t,n,r),n!==null){var i=Zn();yi(n,e,r,i),g9(n,t,r)}}function ZB(e,t,n){var r=As(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(h9(e))p9(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,wi(a,s)){var l=t.interleaved;l===null?(i.next=i,Nw(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=GA(e,t,i,r),n!==null&&(i=Zn(),yi(n,e,r,i),g9(n,t,r))}}function h9(e){var t=e.alternate;return e===kt||t!==null&&t===kt}function p9(e,t){wd=Yg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function g9(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Sw(e,n)}}var Qg={readContext:Yr,useCallback:Mn,useContext:Mn,useEffect:Mn,useImperativeHandle:Mn,useInsertionEffect:Mn,useLayoutEffect:Mn,useMemo:Mn,useReducer:Mn,useRef:Mn,useState:Mn,useDebugValue:Mn,useDeferredValue:Mn,useTransition:Mn,useMutableSource:Mn,useSyncExternalStore:Mn,useId:Mn,unstable_isNewReconciler:!1},JB={readContext:Yr,useCallback:function(e,t){return Di().memoizedState=[e,t===void 0?null:t],e},useContext:Yr,useEffect:C5,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ig(4194308,4,a9.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ig(4194308,4,e,t)},useInsertionEffect:function(e,t){return ig(4,2,e,t)},useMemo:function(e,t){var n=Di();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Di();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=QB.bind(null,kt,e),[r.memoizedState,e]},useRef:function(e){var t=Di();return e={current:e},t.memoizedState=e},useState:x5,useDebugValue:Uw,useDeferredValue:function(e){return Di().memoizedState=e},useTransition:function(){var e=x5(!1),t=e[0];return e=YB.bind(null,e[1]),Di().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=kt,i=Di();if(St){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=t(),gn===null)throw Error(Z(349));Wa&30||JA(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,C5(t9.bind(null,r,o,e),[e]),r.flags|=2048,Jd(9,e9.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Di(),t=gn.identifierPrefix;if(St){var n=Eo,r=To;n=(r&~(1<<32-mi(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qd++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Vi]=t,e[Kd]=r,C9(e,t,!1,!1),t.stateNode=e;e:{switch(s=DS(n,r),n){case"dialog":ct("cancel",e),ct("close",e),i=r;break;case"iframe":case"object":case"embed":ct("load",e),i=r;break;case"video":case"audio":for(i=0;iHu&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xg(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fc(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!St)return Nn(t),null}else 2*Bt()-o.renderingStartTime>Hu&&n!==1073741824&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Bt(),t.sibling=null,n=Et.current,at(Et,r?n&1|2:n&1),t):(Nn(t),null);case 22:case 23:return Xw(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Cr&1073741824&&(Nn(t),t.subtreeFlags&6&&(t.flags|=8192)):Nn(t),null;case 24:return null;case 25:return null}throw Error(Z(156,t.tag))}function aj(e,t){switch(kw(t),t.tag){case 1:return gr(t.type)&&zg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Uu(),ht(pr),ht(Bn),Fw(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $w(t),null;case 13:if(ht(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Z(340));Vu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ht(Et),null;case 4:return Uu(),null;case 10:return Mw(t.type._context),null;case 22:case 23:return Xw(),null;case 24:return null;default:return null}}var up=!1,Fn=!1,lj=typeof WeakSet=="function"?WeakSet:Set,ae=null;function uu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Mt(e,t,r)}else n.current=null}function l_(e,t,n){try{n()}catch(r){Mt(e,t,r)}}var M5=!1;function uj(e,t){if(HS=Fg,e=OA(),Pw(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(qS={focusedElem:e,selectionRange:n},Fg=!1,ae=t;ae!==null;)if(t=ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ae=e;else for(;ae!==null;){t=ae;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ai(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(b){Mt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,ae=e;break}ae=t.return}return p=M5,M5=!1,p}function xd(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&l_(t,n,o)}i=i.next}while(i!==r)}}function ky(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function u_(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function P9(e){var t=e.alternate;t!==null&&(e.alternate=null,P9(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vi],delete t[Kd],delete t[XS],delete t[HB],delete t[qB])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function A9(e){return e.tag===5||e.tag===3||e.tag===4}function N5(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||A9(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function c_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vg));else if(r!==4&&(e=e.child,e!==null))for(c_(e,t,n),e=e.sibling;e!==null;)c_(e,t,n),e=e.sibling}function d_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(d_(e,t,n),e=e.sibling;e!==null;)d_(e,t,n),e=e.sibling}var Tn=null,li=!1;function ts(e,t,n){for(n=n.child;n!==null;)k9(e,t,n),n=n.sibling}function k9(e,t,n){if(Ki&&typeof Ki.onCommitFiberUnmount=="function")try{Ki.onCommitFiberUnmount(_y,n)}catch{}switch(n.tag){case 5:Fn||uu(n,t);case 6:var r=Tn,i=li;Tn=null,ts(e,t,n),Tn=r,li=i,Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tn.removeChild(n.stateNode));break;case 18:Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?X1(e.parentNode,n):e.nodeType===1&&X1(e,n),Ud(e)):X1(Tn,n.stateNode));break;case 4:r=Tn,i=li,Tn=n.stateNode.containerInfo,li=!0,ts(e,t,n),Tn=r,li=i;break;case 0:case 11:case 14:case 15:if(!Fn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&l_(n,t,s),i=i.next}while(i!==r)}ts(e,t,n);break;case 1:if(!Fn&&(uu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Mt(n,t,a)}ts(e,t,n);break;case 21:ts(e,t,n);break;case 22:n.mode&1?(Fn=(r=Fn)||n.memoizedState!==null,ts(e,t,n),Fn=r):ts(e,t,n);break;default:ts(e,t,n)}}function D5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new lj),t.forEach(function(r){var i=vj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function oi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Bt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dj(r/1960))-r,10e?16:e,bs===null)var r=!1;else{if(e=bs,bs=null,em=0,$e&6)throw Error(Z(331));var i=$e;for($e|=4,ae=e.current;ae!==null;){var o=ae,s=o.child;if(ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lBt()-Ww?La(e,0):qw|=n),mr(e,t)}function $9(e,t){t===0&&(e.mode&1?(t=ep,ep<<=1,!(ep&130023424)&&(ep=4194304)):t=1);var n=Zn();e=Fo(e,t),e!==null&&(eh(e,t,n),mr(e,n))}function yj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$9(e,n)}function vj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(t),$9(e,n)}var F9;F9=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pr.current)dr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return dr=!1,oj(e,t,n);dr=!!(e.flags&131072)}else dr=!1,St&&t.flags&1048576&&VA(t,Hg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;og(e,t),e=t.pendingProps;var i=ju(t,Bn.current);_u(t,n),i=jw(null,t,r,e,i,n);var o=Vw();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,gr(r)?(o=!0,Ug(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Dw(t),i.updater=Py,t.stateNode=i,i._reactInternals=t,t_(t,r,e,n),t=i_(null,t,r,!0,o,n)):(t.tag=0,St&&o&&Aw(t),Yn(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(og(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Sj(r),e=ai(r,e),i){case 0:t=r_(null,t,r,e,n);break e;case 1:t=O5(null,t,r,e,n);break e;case 11:t=A5(null,t,r,e,n);break e;case 14:t=k5(null,t,r,ai(r.type,e),n);break e}throw Error(Z(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),r_(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),O5(e,t,r,i,n);case 3:e:{if(_9(t),e===null)throw Error(Z(387));r=t.pendingProps,o=t.memoizedState,i=o.element,HA(e,t),Kg(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Gu(Error(Z(423)),t),t=R5(e,t,r,n,i);break e}else if(r!==i){i=Gu(Error(Z(424)),t),t=R5(e,t,r,n,i);break e}else for(Er=Ts(t.stateNode.containerInfo.firstChild),Pr=t,St=!0,ci=null,n=XA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Vu(),r===i){t=Bo(e,t,n);break e}Yn(e,t,r,n)}t=t.child}return t;case 5:return YA(t),e===null&&ZS(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,WS(r,i)?s=null:o!==null&&WS(r,o)&&(t.flags|=32),S9(e,t),Yn(e,t,s,n),t.child;case 6:return e===null&&ZS(t),null;case 13:return w9(e,t,n);case 4:return Lw(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=zu(t,null,r,n):Yn(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),A5(e,t,r,i,n);case 7:return Yn(e,t,t.pendingProps,n),t.child;case 8:return Yn(e,t,t.pendingProps.children,n),t.child;case 12:return Yn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,at(qg,r._currentValue),r._currentValue=s,o!==null)if(wi(o.value,s)){if(o.children===i.children&&!pr.current){t=Bo(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ko(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),JS(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(Z(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),JS(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Yn(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,_u(t,n),i=Yr(i),r=r(i),t.flags|=1,Yn(e,t,r,n),t.child;case 14:return r=t.type,i=ai(r,t.pendingProps),i=ai(r.type,i),k5(e,t,r,i,n);case 15:return v9(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),og(e,t),t.tag=1,gr(r)?(e=!0,Ug(t)):e=!1,_u(t,n),WA(t,r,i),t_(t,r,i,n),i_(null,t,r,!0,e,n);case 19:return x9(e,t,n);case 22:return b9(e,t,n)}throw Error(Z(156,t.tag))};function B9(e,t){return dA(e,t)}function bj(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wr(e,t,n,r){return new bj(e,t,n,r)}function Qw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sj(e){if(typeof e=="function")return Qw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===mw)return 11;if(e===yw)return 14}return 2}function ks(e,t){var n=e.alternate;return n===null?(n=Wr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")Qw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case eu:return $a(n.children,i,o,t);case gw:s=8,i|=8;break;case TS:return e=Wr(12,n,t,i|2),e.elementType=TS,e.lanes=o,e;case ES:return e=Wr(13,n,t,i),e.elementType=ES,e.lanes=o,e;case PS:return e=Wr(19,n,t,i),e.elementType=PS,e.lanes=o,e;case KP:return Ry(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qP:s=10;break e;case WP:s=9;break e;case mw:s=11;break e;case yw:s=14;break e;case ls:s=16,r=null;break e}throw Error(Z(130,e==null?e:typeof e,""))}return t=Wr(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function $a(e,t,n,r){return e=Wr(7,e,r,t),e.lanes=n,e}function Ry(e,t,n,r){return e=Wr(22,e,r,t),e.elementType=KP,e.lanes=n,e.stateNode={isHidden:!1},e}function rb(e,t,n){return e=Wr(6,e,null,t),e.lanes=n,e}function ib(e,t,n){return t=Wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _j(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=F1(0),this.expirationTimes=F1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=F1(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Zw(e,t,n,r,i,o,s,a,l){return e=new _j(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Wr(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Dw(o),e}function wj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(U9)}catch(e){console.error(e)}}U9(),VP.exports=Mr;var zi=VP.exports;const cwe=al(zi);var U5=zi;xS.createRoot=U5.createRoot,xS.hydrateRoot=U5.hydrateRoot;const Pj="modulepreload",Aj=function(e,t){return new URL(e,t).href},G5={},G9=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Aj(o,r),o in G5)return;G5[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Pj,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var H9={exports:{}},q9={};/** + * @license React + * use-sync-external-store-shim.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var qu=k;function kj(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Oj=typeof Object.is=="function"?Object.is:kj,Rj=qu.useState,Ij=qu.useEffect,Mj=qu.useLayoutEffect,Nj=qu.useDebugValue;function Dj(e,t){var n=t(),r=Rj({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Mj(function(){i.value=n,i.getSnapshot=t,ob(i)&&o({inst:i})},[e,n,t]),Ij(function(){return ob(i)&&o({inst:i}),e(function(){ob(i)&&o({inst:i})})},[e]),Nj(n),n}function ob(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Oj(e,n)}catch{return!0}}function Lj(e,t){return t()}var $j=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Lj:Dj;q9.useSyncExternalStore=qu.useSyncExternalStore!==void 0?qu.useSyncExternalStore:$j;H9.exports=q9;var Fj=H9.exports,W9={exports:{}},K9={};/** + * @license React + * use-sync-external-store-shim/with-selector.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ly=k,Bj=Fj;function jj(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Vj=typeof Object.is=="function"?Object.is:jj,zj=Bj.useSyncExternalStore,Uj=Ly.useRef,Gj=Ly.useEffect,Hj=Ly.useMemo,qj=Ly.useDebugValue;K9.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Uj(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=Hj(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return d=p}return d=h}if(p=d,Vj(c,h))return p;var m=r(h);return i!==void 0&&i(p,m)?p:(c=h,d=m)}var u=!1,c,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var a=zj(e,o[0],o[1]);return Gj(function(){s.hasValue=!0,s.value=a},[a]),qj(a),a};W9.exports=K9;var X9=W9.exports;const Wj=al(X9);function Kj(e){e()}let Y9=Kj;const Xj=e=>Y9=e,Yj=()=>Y9,H5=Symbol.for(`react-redux-context-${k.version}`),q5=globalThis;function Qj(){let e=q5[H5];return e||(e=k.createContext(null),q5[H5]=e),e}const Fs=new Proxy({},new Proxy({},{get(e,t){const n=Qj();return(r,...i)=>Reflect[t](n,...i)}}));function nx(e=Fs){return function(){return k.useContext(e)}}const Q9=nx(),Zj=()=>{throw new Error("uSES not initialized!")};let Z9=Zj;const Jj=e=>{Z9=e},eV=(e,t)=>e===t;function tV(e=Fs){const t=e===Fs?Q9:nx(e);return function(r,i={}){const{equalityFn:o=eV,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:c,stabilityCheck:d,noopCheck:f}=t();k.useRef(!0);const h=k.useCallback({[r.name](m){return r(m)}}[r.name],[r,d,s]),p=Z9(u.addNestedSub,l.getState,c||l.getState,h,o);return k.useDebugValue(p),p}}const J9=tV();function rm(){return rm=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const W5={notify(){},get:()=>[]};function hV(e,t){let n,r=W5;function i(d){return l(),r.subscribe(d)}function o(){r.notify()}function s(){c.onStateChange&&c.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=fV())}function u(){n&&(n(),n=void 0,r.clear(),r=W5)}const c={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return c}const pV=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",gV=pV?k.useLayoutEffect:k.useEffect;function K5(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function im(e,t){if(K5(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=hV(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=k.useMemo(()=>e.getState(),[e]);gV(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Fs;return We.createElement(l.Provider,{value:s},n)}function ok(e=Fs){const t=e===Fs?Q9:nx(e);return function(){const{store:r}=t();return r}}const sk=ok();function yV(e=Fs){const t=e===Fs?sk:ok(e);return function(){return t().dispatch}}const ak=yV();Jj(X9.useSyncExternalStoreWithSelector);Xj(zi.unstable_batchedUpdates);function pn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:r0(e)?2:i0(e)?3:0}function Os(e,t){return Bs(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function ug(e,t){return Bs(e)===2?e.get(t):e[t]}function lk(e,t,n){var r=Bs(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function uk(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function r0(e){return xV&&e instanceof Map}function i0(e){return CV&&e instanceof Set}function un(e){return e.o||e.t}function ux(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=dk(e);delete t[_e];for(var n=Cu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=vV),Object.freeze(e),t&&jo(e,function(n,r){return ih(r,!0)},!0)),e}function vV(){pn(2)}function cx(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Yi(e){var t=y_[e];return t||pn(18,e),t}function dx(e,t){y_[e]||(y_[e]=t)}function tf(){return rf}function sb(e,t){t&&(Yi("Patches"),e.u=[],e.s=[],e.v=t)}function om(e){m_(e),e.p.forEach(bV),e.p=null}function m_(e){e===rf&&(rf=e.l)}function X5(e){return rf={p:[],l:rf,h:e,m:!0,_:0}}function bV(e){var t=e[_e];t.i===0||t.i===1?t.j():t.g=!0}function ab(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Yi("ES5").S(t,e,r),r?(n[_e].P&&(om(t),pn(4)),yr(e)&&(e=sm(t,e),t.l||am(t,e)),t.u&&Yi("Patches").M(n[_e].t,e,t.u,t.s)):e=sm(t,n,[]),om(t),t.u&&t.v(t.u,t.s),e!==s0?e:void 0}function sm(e,t,n){if(cx(t))return t;var r=t[_e];if(!r)return jo(t,function(a,l){return Y5(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return am(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=ux(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),jo(o,function(a,l){return Y5(e,r,i,a,l,n,s)}),am(e,i,!1),n&&e.u&&Yi("Patches").N(r,n,e.u,e.s)}return r.o}function Y5(e,t,n,r,i,o,s){if(er(i)){var a=sm(e,i,o&&t&&t.i!==3&&!Os(t.R,r)?o.concat(r):void 0);if(lk(n,r,a),!er(a))return;e.m=!1}else s&&n.add(i);if(yr(i)&&!cx(i)){if(!e.h.D&&e._<1)return;sm(e,i),t&&t.A.l||am(e,i)}}function am(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&ih(t,n)}function lb(e,t){var n=e[_e];return(n?un(n):e)[t]}function Q5(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function cr(e){e.P||(e.P=!0,e.l&&cr(e.l))}function ub(e){e.o||(e.o=ux(e.t))}function nf(e,t,n){var r=r0(t)?Yi("MapSet").F(t,n):i0(t)?Yi("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:tf(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=of;s&&(l=[a],u=dd);var c=Proxy.revocable(l,u),d=c.revoke,f=c.proxy;return a.k=f,a.j=d,f}(t,n):Yi("ES5").J(t,n);return(n?n.A:tf()).p.push(r),r}function o0(e){return er(e)||pn(22,e),function t(n){if(!yr(n))return n;var r,i=n[_e],o=Bs(n);if(i){if(!i.P&&(i.i<4||!Yi("ES5").K(i)))return i.t;i.I=!0,r=Z5(n,o),i.I=!1}else r=Z5(n,o);return jo(r,function(s,a){i&&ug(i.t,s)===a||lk(r,s,t(a))}),o===3?new Set(r):r}(e)}function Z5(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ux(e)}function fx(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[_e];return of.get(l,o)},set:function(l){var u=this[_e];of.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][_e];if(!a.P)switch(a.i){case 5:r(a)&&cr(a);break;case 4:n(a)&&cr(a)}}}function n(o){for(var s=o.t,a=o.k,l=Cu(a),u=l.length-1;u>=0;u--){var c=l[u];if(c!==_e){var d=s[c];if(d===void 0&&!Os(s,c))return!0;var f=a[c],h=f&&f[_e];if(h?h.t!==d:!uk(f,d))return!0}}var p=!!s[_e];return l.length!==Cu(s).length+(p?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?v-1:0),g=1;g1?c-1:0),f=1;f=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Yi("Patches").$;return er(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Or=new fk,hk=Or.produce,gx=Or.produceWithPatches.bind(Or),EV=Or.setAutoFreeze.bind(Or),PV=Or.setUseProxies.bind(Or),v_=Or.applyPatches.bind(Or),AV=Or.createDraft.bind(Or),kV=Or.finishDraft.bind(Or);const Js=hk,dwe=Object.freeze(Object.defineProperty({__proto__:null,Immer:fk,applyPatches:v_,castDraft:_V,castImmutable:wV,createDraft:AV,current:o0,default:Js,enableAllPlugins:SV,enableES5:fx,enableMapSet:ck,enablePatches:hx,finishDraft:kV,freeze:ih,immerable:xu,isDraft:er,isDraftable:yr,nothing:s0,original:lx,produce:hk,produceWithPatches:gx,setAutoFreeze:EV,setUseProxies:PV},Symbol.toStringTag,{value:"Module"}));function sf(e){"@babel/helpers - typeof";return sf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sf(e)}function OV(e,t){if(sf(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(sf(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function RV(e){var t=OV(e,"string");return sf(t)==="symbol"?t:String(t)}function IV(e,t,n){return t=RV(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function n4(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(En(1));return n(oh)(e,t)}if(typeof e!="function")throw new Error(En(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function c(){if(l)throw new Error(En(3));return o}function d(m){if(typeof m!="function")throw new Error(En(4));if(l)throw new Error(En(5));var S=!0;return u(),a.push(m),function(){if(S){if(l)throw new Error(En(6));S=!1,u();var y=a.indexOf(m);a.splice(y,1),s=null}}}function f(m){if(!MV(m))throw new Error(En(7));if(typeof m.type>"u")throw new Error(En(8));if(l)throw new Error(En(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var S=s=a,v=0;v"u")throw new Error(En(12));if(typeof n(void 0,{type:Wu.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(En(13))})}function pc(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(En(14));d[h]=S,c=c||S!==m}return c=c||o.length!==Object.keys(l).length,c?d:l}}function i4(e,t){return function(){return t(e.apply(this,arguments))}}function gk(e,t){if(typeof e=="function")return i4(e,t);if(typeof e!="object"||e===null)throw new Error(En(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=i4(i,t))}return n}function Ku(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return lm}function i(a,l){r(a)===lm&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var mk=function(t,n){return t===n};function FV(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(S,v){var y=t?t+"."+S:S;if(l){var g=i.some(function(b){return b instanceof RegExp?b.test(y):y===b});if(g)return"continue"}if(!n(v))return{value:{keyPath:y,value:v}};if(typeof v=="object"&&(s=Ck(v,y,n,r,i,o),s))return{value:s}},c=0,d=a;c-1}function ez(e){return""+e}function kk(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function tz(e){return typeof e=="function"}function Ok(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?kk(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(tz(e))l=function(){return b_(e())};else{var u=b_(e);l=function(){return u}}function c(d,f){d===void 0&&(d=l());var h=js([o[f.type]],s.filter(function(p){var m=p.matcher;return m(f)}).map(function(p){var m=p.reducer;return m}));return h.filter(function(p){return!!p}).length===0&&(h=[a]),h.reduce(function(p,m){if(m)if(er(p)){var S=p,v=m(S,f);return v===void 0?p:v}else{if(yr(p))return Js(p,function(y){return m(y,f)});var v=m(p,f);if(v===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}return p},d)}return c.getInitialState=l,c}function nz(e,t){return e+"/"+t}function Pt(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:b_(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(c){var d=r[c],f=nz(t,c),h,p;"reducer"in d?(h=d.reducer,p=d.prepare):h=d,o[c]=h,s[f]=h,a[c]=p?ue(f,p):ue(f)});function l(){var c=typeof e.extraReducers=="function"?kk(e.extraReducers):[e.extraReducers],d=c[0],f=d===void 0?{}:d,h=c[1],p=h===void 0?[]:h,m=c[2],S=m===void 0?void 0:m,v=fr(fr({},f),s);return Ok(n,function(y){for(var g in v)y.addCase(g,v[g]);for(var b=0,_=p;b<_.length;b++){var w=_[b];y.addMatcher(w.matcher,w.reducer)}S&&y.addDefaultCase(S)})}var u;return{name:t,reducer:function(c,d){return u||(u=l()),u(c,d)},actions:a,caseReducers:o,getInitialState:function(){return u||(u=l()),u.getInitialState()}}}function rz(){return{ids:[],entities:{}}}function iz(){function e(t){return t===void 0&&(t={}),Object.assign(rz(),t)}return{getInitialState:e}}function oz(){function e(t){var n=function(u){return u.ids},r=function(u){return u.entities},i=yo(n,r,function(u,c){return u.map(function(d){return c[d]})}),o=function(u,c){return c},s=function(u,c){return u[c]},a=yo(n,function(u){return u.length});if(!t)return{selectIds:n,selectEntities:r,selectAll:i,selectTotal:a,selectById:yo(r,o,s)};var l=yo(t,r);return{selectIds:yo(t,n),selectEntities:l,selectAll:yo(t,i),selectTotal:yo(t,a),selectById:yo(l,o,s)}}return{getSelectors:e}}function sz(e){var t=Lt(function(n,r){return e(r)});return function(r){return t(r,void 0)}}function Lt(e){return function(n,r){function i(s){return Ak(s)}var o=function(s){i(r)?e(r.payload,s):e(r,s)};return er(n)?(o(n),n):Js(n,o)}}function Ed(e,t){var n=t(e);return n}function Fa(e){return Array.isArray(e)||(e=Object.values(e)),e}function Rk(e,t,n){e=Fa(e);for(var r=[],i=[],o=0,s=e;o0;if(y){var g=p.filter(function(b){return u(S,b,m)}).length>0;g&&(m.ids=Object.keys(m.entities))}}function f(p,m){return h([p],m)}function h(p,m){var S=Rk(p,e,m),v=S[0],y=S[1];d(y,m),n(v,m)}return{removeAll:sz(l),addOne:Lt(t),addMany:Lt(n),setOne:Lt(r),setMany:Lt(i),setAll:Lt(o),updateOne:Lt(c),updateMany:Lt(d),upsertOne:Lt(f),upsertMany:Lt(h),removeOne:Lt(s),removeMany:Lt(a)}}function az(e,t){var n=Ik(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(y,g){return a([y],g)}function a(y,g){y=Fa(y);var b=y.filter(function(_){return!(Ed(_,e)in g.entities)});b.length!==0&&S(b,g)}function l(y,g){return u([y],g)}function u(y,g){y=Fa(y),y.length!==0&&S(y,g)}function c(y,g){y=Fa(y),g.entities={},g.ids=[],a(y,g)}function d(y,g){return f([y],g)}function f(y,g){for(var b=!1,_=0,w=y;_-1;return n&&r}function lh(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function u0(){for(var e=[],t=0;t0)for(var g=h.getState(),b=Array.from(n.values()),_=0,w=b;_Math.floor(e/t)*t,Ui=(e,t)=>Math.round(e/t)*t;var Tz=typeof global=="object"&&global&&global.Object===Object&&global;const Yk=Tz;var Ez=typeof self=="object"&&self&&self.Object===Object&&self,Pz=Yk||Ez||Function("return this")();const oo=Pz;var Az=oo.Symbol;const Zr=Az;var Qk=Object.prototype,kz=Qk.hasOwnProperty,Oz=Qk.toString,jc=Zr?Zr.toStringTag:void 0;function Rz(e){var t=kz.call(e,jc),n=e[jc];try{e[jc]=void 0;var r=!0}catch{}var i=Oz.call(e);return r&&(t?e[jc]=n:delete e[jc]),i}var Iz=Object.prototype,Mz=Iz.toString;function Nz(e){return Mz.call(e)}var Dz="[object Null]",Lz="[object Undefined]",f4=Zr?Zr.toStringTag:void 0;function ta(e){return e==null?e===void 0?Lz:Dz:f4&&f4 in Object(e)?Rz(e):Nz(e)}function Ci(e){return e!=null&&typeof e=="object"}var $z="[object Symbol]";function c0(e){return typeof e=="symbol"||Ci(e)&&ta(e)==$z}function Zk(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=gU)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bU(e){return function(){return e}}var SU=function(){try{var e=fl(Object,"defineProperty");return e({},"",{}),e}catch{}}();const fm=SU;var _U=fm?function(e,t){return fm(e,"toString",{configurable:!0,enumerable:!1,value:bU(t),writable:!0})}:d0;const wU=_U;var xU=vU(wU);const nO=xU;function rO(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var kU=9007199254740991,OU=/^(?:0|[1-9]\d*)$/;function _x(e,t){var n=typeof e;return t=t??kU,!!t&&(n=="number"||n!="symbol"&&OU.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MU}function mc(e){return e!=null&&xx(e.length)&&!Sx(e)}function aO(e,t,n){if(!vr(n))return!1;var r=typeof t;return(r=="number"?mc(n)&&_x(t,n.length):r=="string"&&t in n)?fh(n[t],e):!1}function lO(e){return sO(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&aO(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function KG(e,t){var n=this.__data__,r=f0(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ho(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?gO(a,t-1,n,r,i):Ox(i,a):r||(i[i.length]=a)}return i}function fH(e){var t=e==null?0:e.length;return t?gO(e,1):[]}function hH(e){return nO(oO(e,void 0,fH),e+"")}var pH=hO(Object.getPrototypeOf,Object);const Rx=pH;var gH="[object Object]",mH=Function.prototype,yH=Object.prototype,mO=mH.toString,vH=yH.hasOwnProperty,bH=mO.call(Object);function yO(e){if(!Ci(e)||ta(e)!=gH)return!1;var t=Rx(e);if(t===null)return!0;var n=vH.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&mO.call(n)==bH}function vO(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:vO(e,t,n)}var _H="\\ud800-\\udfff",wH="\\u0300-\\u036f",xH="\\ufe20-\\ufe2f",CH="\\u20d0-\\u20ff",TH=wH+xH+CH,EH="\\ufe0e\\ufe0f",PH="\\u200d",AH=RegExp("["+PH+_H+TH+EH+"]");function Ix(e){return AH.test(e)}function kH(e){return e.split("")}var bO="\\ud800-\\udfff",OH="\\u0300-\\u036f",RH="\\ufe20-\\ufe2f",IH="\\u20d0-\\u20ff",MH=OH+RH+IH,NH="\\ufe0e\\ufe0f",DH="["+bO+"]",x_="["+MH+"]",C_="\\ud83c[\\udffb-\\udfff]",LH="(?:"+x_+"|"+C_+")",SO="[^"+bO+"]",_O="(?:\\ud83c[\\udde6-\\uddff]){2}",wO="[\\ud800-\\udbff][\\udc00-\\udfff]",$H="\\u200d",xO=LH+"?",CO="["+NH+"]?",FH="(?:"+$H+"(?:"+[SO,_O,wO].join("|")+")"+CO+xO+")*",BH=CO+xO+FH,jH="(?:"+[SO+x_+"?",x_,_O,wO,DH].join("|")+")",VH=RegExp(C_+"(?="+C_+")|"+jH+BH,"g");function zH(e){return e.match(VH)||[]}function UH(e){return Ix(e)?zH(e):kH(e)}function GH(e){return function(t){t=p0(t);var n=Ix(t)?UH(t):void 0,r=n?n[0]:t.charAt(0),i=n?SH(n,1).join(""):t.slice(1);return r[e]()+i}}var HH=GH("toUpperCase");const qH=HH;function TO(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function Ss(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=hb(n),n=n===n?n:0),t!==void 0&&(t=hb(t),t=t===t?t:0),Lq(hb(e),t,n)}function $q(){this.__data__=new Ho,this.size=0}function Fq(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Bq(e){return this.__data__.get(e)}function jq(e){return this.__data__.has(e)}var Vq=200;function zq(e,t){var n=this.__data__;if(n instanceof Ho){var r=n.__data__;if(!cf||r.lengtha))return!1;var u=o.get(e),c=o.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=n&wK?new df:void 0;for(o.set(e,t),o.set(t,e);++d1),o}),gc(e,HO(e),n),r&&(n=Ad(n,EX|PX|AX,TX));for(var i=t.length;i--;)sR(n,t[i]);return n});const _0=kX;var OX=nR("length");const RX=OX;var aR="\\ud800-\\udfff",IX="\\u0300-\\u036f",MX="\\ufe20-\\ufe2f",NX="\\u20d0-\\u20ff",DX=IX+MX+NX,LX="\\ufe0e\\ufe0f",$X="["+aR+"]",O_="["+DX+"]",R_="\\ud83c[\\udffb-\\udfff]",FX="(?:"+O_+"|"+R_+")",lR="[^"+aR+"]",uR="(?:\\ud83c[\\udde6-\\uddff]){2}",cR="[\\ud800-\\udbff][\\udc00-\\udfff]",BX="\\u200d",dR=FX+"?",fR="["+LX+"]?",jX="(?:"+BX+"(?:"+[lR,uR,cR].join("|")+")"+fR+dR+")*",VX=fR+dR+jX,zX="(?:"+[lR+O_+"?",O_,uR,cR,$X].join("|")+")",H4=RegExp(R_+"(?="+R_+")|"+zX+VX,"g");function UX(e){for(var t=H4.lastIndex=0;H4.test(e);)++t;return t}function GX(e){return Ix(e)?UX(e):RX(e)}function HX(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function Lx(e,t,n){var r=mn(e)?TO:HX,i=arguments.length<3;return r(e,y0(t),n,i,v0)}var qX="[object Map]",WX="[object Set]";function hR(e){if(e==null)return 0;if(mc(e))return _X(e)?GX(e):e.length;var t=Qu(e);return t==qX||t==WX?e.size:pO(e).length}function KX(e,t){var n;return v0(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function Ea(e,t,n){var r=mn(e)?QO:KX;return n&&aO(e,t,n)&&(t=void 0),r(e,y0(t))}var XX=Dq(function(e,t,n){return e+(n?" ":"")+qH(t)});const YX=XX;var QX=1/0,ZX=Au&&1/Dx(new Au([,-0]))[1]==QX?function(e){return new Au(e)}:pU;const JX=ZX;var eY=200;function pR(e,t,n){var r=-1,i=AU,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=mX;else if(o>=eY){var u=t?null:JX(e);if(u)return Dx(u);s=!1,i=ZO,l=new df}else l=t?[]:a;e:for(;++r{CX(e,t.payload)}}}),{configChanged:iY}=mR.actions,oY=mR.reducer,pwe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},sY={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},gwe=0,aY=4294967295;var Ve;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(Ve||(Ve={}));var I_;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(I_||(I_={}));const re=Ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ms=e=>{switch(typeof e){case"undefined":return re.undefined;case"string":return re.string;case"number":return isNaN(e)?re.nan:re.number;case"boolean":return re.boolean;case"function":return re.function;case"bigint":return re.bigint;case"symbol":return re.symbol;case"object":return Array.isArray(e)?re.array:e===null?re.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?re.promise:typeof Map<"u"&&e instanceof Map?re.map:typeof Set<"u"&&e instanceof Set?re.set:typeof Date<"u"&&e instanceof Date?re.date:re.object;default:return re.unknown}},ee=Ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),lY=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class bi extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}bi.create=e=>new bi(e);const ff=(e,t)=>{let n;switch(e.code){case ee.invalid_type:e.received===re.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case ee.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ve.jsonStringifyReplacer)}`;break;case ee.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ve.joinValues(e.keys,", ")}`;break;case ee.invalid_union:n="Invalid input";break;case ee.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ve.joinValues(e.options)}`;break;case ee.invalid_enum_value:n=`Invalid enum value. Expected ${Ve.joinValues(e.options)}, received '${e.received}'`;break;case ee.invalid_arguments:n="Invalid function arguments";break;case ee.invalid_return_type:n="Invalid function return type";break;case ee.invalid_date:n="Invalid date";break;case ee.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ve.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case ee.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case ee.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case ee.custom:n="Invalid input";break;case ee.invalid_intersection_types:n="Intersection results could not be merged";break;case ee.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ee.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ve.assertNever(e)}return{message:n}};let yR=ff;function uY(e){yR=e}function pm(){return yR}const gm=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},cY=[];function oe(e,t){const n=gm({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,pm(),ff].filter(r=>!!r)});e.common.issues.push(n)}class jn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return be;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return jn.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return be;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const be=Object.freeze({status:"aborted"}),vR=e=>({status:"dirty",value:e}),tr=e=>({status:"valid",value:e}),M_=e=>e.status==="aborted",N_=e=>e.status==="dirty",mm=e=>e.status==="valid",ym=e=>typeof Promise<"u"&&e instanceof Promise;var ge;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ge||(ge={}));class eo{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const q4=(e,t)=>{if(mm(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new bi(e.common.issues);return this._error=n,this._error}}};function we(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class Ce{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ms(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new jn,ctx:{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(ym(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},o=this._parseSync({data:t,path:i.path,parent:i});return q4(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(ym(i)?i:Promise.resolve(i));return q4(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:ee.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ti({schema:this,typeName:ye.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return Oo.create(this,this._def)}nullable(){return el.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Si.create(this,this._def)}promise(){return Ju.create(this,this._def)}or(t){return mf.create([this,t],this._def)}and(t){return yf.create(this,t,this._def)}transform(t){return new Ti({...we(this._def),schema:this,typeName:ye.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new wf({...we(this._def),innerType:this,defaultValue:n,typeName:ye.ZodDefault})}brand(){return new SR({typeName:ye.ZodBranded,type:this,...we(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _m({...we(this._def),innerType:this,catchValue:n,typeName:ye.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return mh.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const dY=/^c[^\s-]{8,}$/i,fY=/^[a-z][a-z0-9]*$/,hY=/[0-9A-HJKMNP-TV-Z]{26}/,pY=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,gY=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,mY=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,yY=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,vY=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,bY=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function SY(e,t){return!!((t==="v4"||!t)&&yY.test(e)||(t==="v6"||!t)&&vY.test(e))}class pi extends Ce{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:ee.invalid_string,...ge.errToObj(r)}),this.nonempty=t=>this.min(1,ge.errToObj(t)),this.trim=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==re.string){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.string,received:o.parsedType}),be}const r=new jn;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...ge.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ge.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...ge.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ge.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ge.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ge.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ge.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ge.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new pi({checks:[],typeName:ye.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};function _Y(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zs extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==re.number){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.number,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="int"?Ve.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?_Y(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_finite,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new zs({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new zs({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ge.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ge.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&Ve.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zs({checks:[],typeName:ye.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Us extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==re.bigint){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.bigint,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Us({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Us({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Us({checks:[],typeName:ye.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};class hf extends Ce{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==re.boolean){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.boolean,received:r.parsedType}),be}return tr(t.data)}}hf.create=e=>new hf({typeName:ye.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Za extends Ce{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==re.date){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.date,received:o.parsedType}),be}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_date}),be}const r=new jn;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):Ve.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Za({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ge.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ge.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew Za({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:ye.ZodDate,...we(e)});class vm extends Ce{_parse(t){if(this._getType(t)!==re.symbol){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.symbol,received:r.parsedType}),be}return tr(t.data)}}vm.create=e=>new vm({typeName:ye.ZodSymbol,...we(e)});class pf extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.undefined,received:r.parsedType}),be}return tr(t.data)}}pf.create=e=>new pf({typeName:ye.ZodUndefined,...we(e)});class gf extends Ce{_parse(t){if(this._getType(t)!==re.null){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.null,received:r.parsedType}),be}return tr(t.data)}}gf.create=e=>new gf({typeName:ye.ZodNull,...we(e)});class Zu extends Ce{constructor(){super(...arguments),this._any=!0}_parse(t){return tr(t.data)}}Zu.create=e=>new Zu({typeName:ye.ZodAny,...we(e)});class Ba extends Ce{constructor(){super(...arguments),this._unknown=!0}_parse(t){return tr(t.data)}}Ba.create=e=>new Ba({typeName:ye.ZodUnknown,...we(e)});class Vo extends Ce{_parse(t){const n=this._getOrReturnCtx(t);return oe(n,{code:ee.invalid_type,expected:re.never,received:n.parsedType}),be}}Vo.create=e=>new Vo({typeName:ye.ZodNever,...we(e)});class bm extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.void,received:r.parsedType}),be}return tr(t.data)}}bm.create=e=>new bm({typeName:ye.ZodVoid,...we(e)});class Si extends Ce{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==re.array)return oe(n,{code:ee.invalid_type,expected:re.array,received:n.parsedType}),be;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(oe(n,{code:ee.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new eo(n,s,n.path,a)))).then(s=>jn.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new eo(n,s,n.path,a)));return jn.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Si({...this._def,minLength:{value:t,message:ge.toString(n)}})}max(t,n){return new Si({...this._def,maxLength:{value:t,message:ge.toString(n)}})}length(t,n){return new Si({...this._def,exactLength:{value:t,message:ge.toString(n)}})}nonempty(t){return this.min(1,t)}}Si.create=(e,t)=>new Si({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ye.ZodArray,...we(t)});function Wl(e){if(e instanceof Tt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Oo.create(Wl(r))}return new Tt({...e._def,shape:()=>t})}else return e instanceof Si?new Si({...e._def,type:Wl(e.element)}):e instanceof Oo?Oo.create(Wl(e.unwrap())):e instanceof el?el.create(Wl(e.unwrap())):e instanceof to?to.create(e.items.map(t=>Wl(t))):e}class Tt extends Ce{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Ve.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==re.object){const u=this._getOrReturnCtx(t);return oe(u,{code:ee.invalid_type,expected:re.object,received:u.parsedType}),be}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Vo&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const c=o[u],d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new eo(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Vo){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(u==="strict")a.length>0&&(oe(i,{code:ee.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new eo(i,d,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of l){const d=await c.key;u.push({key:d,value:await c.value,alwaysSet:c.alwaysSet})}return u}).then(u=>jn.mergeObjectSync(r,u)):jn.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return ge.errToObj,new Tt({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=ge.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new Tt({...this._def,unknownKeys:"strip"})}passthrough(){return new Tt({...this._def,unknownKeys:"passthrough"})}extend(t){return new Tt({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Tt({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ye.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Tt({...this._def,catchall:t})}pick(t){const n={};return Ve.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}omit(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}deepPartial(){return Wl(this)}partial(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new Tt({...this._def,shape:()=>n})}required(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof Oo;)o=o._def.innerType;n[r]=o}}),new Tt({...this._def,shape:()=>n})}keyof(){return bR(Ve.objectKeys(this.shape))}}Tt.create=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.strictCreate=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strict",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.lazycreate=(e,t)=>new Tt({shape:e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});class mf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new bi(a.ctx.common.issues));return oe(n,{code:ee.invalid_union,unionErrors:s}),be}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new bi(l));return oe(n,{code:ee.invalid_union,unionErrors:a}),be}}get options(){return this._def.options}}mf.create=(e,t)=>new mf({options:e,typeName:ye.ZodUnion,...we(t)});const dg=e=>e instanceof bf?dg(e.schema):e instanceof Ti?dg(e.innerType()):e instanceof Sf?[e.value]:e instanceof Gs?e.options:e instanceof _f?Object.keys(e.enum):e instanceof wf?dg(e._def.innerType):e instanceof pf?[void 0]:e instanceof gf?[null]:null;class w0 extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.object)return oe(n,{code:ee.invalid_type,expected:re.object,received:n.parsedType}),be;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(oe(n,{code:ee.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),be)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=dg(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new w0({typeName:ye.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...we(r)})}}function D_(e,t){const n=ms(e),r=ms(t);if(e===t)return{valid:!0,data:e};if(n===re.object&&r===re.object){const i=Ve.objectKeys(t),o=Ve.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=D_(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===re.array&&r===re.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(M_(o)||M_(s))return be;const a=D_(o.value,s.value);return a.valid?((N_(o)||N_(s))&&n.dirty(),{status:n.value,value:a.data}):(oe(r,{code:ee.invalid_intersection_types}),be)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}yf.create=(e,t,n)=>new yf({left:e,right:t,typeName:ye.ZodIntersection,...we(n)});class to extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.array)return oe(r,{code:ee.invalid_type,expected:re.array,received:r.parsedType}),be;if(r.data.lengththis._def.items.length&&(oe(r,{code:ee.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new eo(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>jn.mergeArray(n,s)):jn.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new to({...this._def,rest:t})}}to.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new to({items:e,typeName:ye.ZodTuple,rest:null,...we(t)})};class vf extends Ce{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.object)return oe(r,{code:ee.invalid_type,expected:re.object,received:r.parsedType}),be;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new eo(r,a,r.path,a)),value:s._parse(new eo(r,r.data[a],r.path,a))});return r.common.async?jn.mergeObjectAsync(n,i):jn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ce?new vf({keyType:t,valueType:n,typeName:ye.ZodRecord,...we(r)}):new vf({keyType:pi.create(),valueType:t,typeName:ye.ZodRecord,...we(n)})}}class Sm extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.map)return oe(r,{code:ee.invalid_type,expected:re.map,received:r.parsedType}),be;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new eo(r,a,r.path,[u,"key"])),value:o._parse(new eo(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}}Sm.create=(e,t,n)=>new Sm({valueType:t,keyType:e,typeName:ye.ZodMap,...we(n)});class Ja extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.set)return oe(r,{code:ee.invalid_type,expected:re.set,received:r.parsedType}),be;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(oe(r,{code:ee.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const c of l){if(c.status==="aborted")return be;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new eo(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new Ja({...this._def,minSize:{value:t,message:ge.toString(n)}})}max(t,n){return new Ja({...this._def,maxSize:{value:t,message:ge.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Ja.create=(e,t)=>new Ja({valueType:e,minSize:null,maxSize:null,typeName:ye.ZodSet,...we(t)});class ku extends Ce{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.function)return oe(n,{code:ee.invalid_type,expected:re.function,received:n.parsedType}),be;function r(a,l){return gm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,pm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_arguments,argumentsError:l}})}function i(a,l){return gm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,pm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof Ju?tr(async(...a)=>{const l=new bi([]),u=await this._def.args.parseAsync(a,o).catch(f=>{throw l.addIssue(r(a,f)),l}),c=await s(...u);return await this._def.returns._def.type.parseAsync(c,o).catch(f=>{throw l.addIssue(i(c,f)),l})}):tr((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new bi([r(a,l.error)]);const u=s(...l.data),c=this._def.returns.safeParse(u,o);if(!c.success)throw new bi([i(u,c.error)]);return c.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new ku({...this._def,args:to.create(t).rest(Ba.create())})}returns(t){return new ku({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new ku({args:t||to.create([]).rest(Ba.create()),returns:n||Ba.create(),typeName:ye.ZodFunction,...we(r)})}}class bf extends Ce{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}bf.create=(e,t)=>new bf({getter:e,typeName:ye.ZodLazy,...we(t)});class Sf extends Ce{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return oe(n,{received:n.data,code:ee.invalid_literal,expected:this._def.value}),be}return{status:"valid",value:t.data}}get value(){return this._def.value}}Sf.create=(e,t)=>new Sf({value:e,typeName:ye.ZodLiteral,...we(t)});function bR(e,t){return new Gs({values:e,typeName:ye.ZodEnum,...we(t)})}class Gs extends Ce{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{expected:Ve.joinValues(r),received:n.parsedType,code:ee.invalid_type}),be}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{received:n.data,code:ee.invalid_enum_value,options:r}),be}return tr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return Gs.create(t)}exclude(t){return Gs.create(this.options.filter(n=>!t.includes(n)))}}Gs.create=bR;class _f extends Ce{_parse(t){const n=Ve.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==re.string&&r.parsedType!==re.number){const i=Ve.objectValues(n);return oe(r,{expected:Ve.joinValues(i),received:r.parsedType,code:ee.invalid_type}),be}if(n.indexOf(t.data)===-1){const i=Ve.objectValues(n);return oe(r,{received:r.data,code:ee.invalid_enum_value,options:i}),be}return tr(t.data)}get enum(){return this._def.values}}_f.create=(e,t)=>new _f({values:e,typeName:ye.ZodNativeEnum,...we(t)});class Ju extends Ce{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.promise&&n.common.async===!1)return oe(n,{code:ee.invalid_type,expected:re.promise,received:n.parsedType}),be;const r=n.parsedType===re.promise?n.data:Promise.resolve(n.data);return tr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Ju.create=(e,t)=>new Ju({type:e,typeName:ye.ZodPromise,...we(t)});class Ti extends Ce{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ye.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{oe(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!mm(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>mm(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);Ve.assertNever(i)}}Ti.create=(e,t,n)=>new Ti({schema:e,typeName:ye.ZodEffects,effect:t,...we(n)});Ti.createWithPreprocess=(e,t,n)=>new Ti({schema:t,effect:{type:"preprocess",transform:e},typeName:ye.ZodEffects,...we(n)});class Oo extends Ce{_parse(t){return this._getType(t)===re.undefined?tr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Oo.create=(e,t)=>new Oo({innerType:e,typeName:ye.ZodOptional,...we(t)});class el extends Ce{_parse(t){return this._getType(t)===re.null?tr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}el.create=(e,t)=>new el({innerType:e,typeName:ye.ZodNullable,...we(t)});class wf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===re.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}wf.create=(e,t)=>new wf({innerType:e,typeName:ye.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...we(t)});class _m extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return ym(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_m.create=(e,t)=>new _m({innerType:e,typeName:ye.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...we(t)});class wm extends Ce{_parse(t){if(this._getType(t)!==re.nan){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.nan,received:r.parsedType}),be}return{status:"valid",value:t.data}}}wm.create=e=>new wm({typeName:ye.ZodNaN,...we(e)});const wY=Symbol("zod_brand");class SR extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class mh extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?be:o.status==="dirty"?(n.dirty(),vR(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?be:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new mh({in:t,out:n,typeName:ye.ZodPipeline})}}const _R=(e,t={},n)=>e?Zu.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Zu.create(),xY={object:Tt.lazycreate};var ye;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(ye||(ye={}));const CY=(e,t={message:`Input not instance of ${e.name}`})=>_R(n=>n instanceof e,t),wR=pi.create,xR=zs.create,TY=wm.create,EY=Us.create,CR=hf.create,PY=Za.create,AY=vm.create,kY=pf.create,OY=gf.create,RY=Zu.create,IY=Ba.create,MY=Vo.create,NY=bm.create,DY=Si.create,LY=Tt.create,$Y=Tt.strictCreate,FY=mf.create,BY=w0.create,jY=yf.create,VY=to.create,zY=vf.create,UY=Sm.create,GY=Ja.create,HY=ku.create,qY=bf.create,WY=Sf.create,KY=Gs.create,XY=_f.create,YY=Ju.create,W4=Ti.create,QY=Oo.create,ZY=el.create,JY=Ti.createWithPreprocess,eQ=mh.create,tQ=()=>wR().optional(),nQ=()=>xR().optional(),rQ=()=>CR().optional(),iQ={string:e=>pi.create({...e,coerce:!0}),number:e=>zs.create({...e,coerce:!0}),boolean:e=>hf.create({...e,coerce:!0}),bigint:e=>Us.create({...e,coerce:!0}),date:e=>Za.create({...e,coerce:!0})},oQ=be;var jt=Object.freeze({__proto__:null,defaultErrorMap:ff,setErrorMap:uY,getErrorMap:pm,makeIssue:gm,EMPTY_PATH:cY,addIssueToContext:oe,ParseStatus:jn,INVALID:be,DIRTY:vR,OK:tr,isAborted:M_,isDirty:N_,isValid:mm,isAsync:ym,get util(){return Ve},get objectUtil(){return I_},ZodParsedType:re,getParsedType:ms,ZodType:Ce,ZodString:pi,ZodNumber:zs,ZodBigInt:Us,ZodBoolean:hf,ZodDate:Za,ZodSymbol:vm,ZodUndefined:pf,ZodNull:gf,ZodAny:Zu,ZodUnknown:Ba,ZodNever:Vo,ZodVoid:bm,ZodArray:Si,ZodObject:Tt,ZodUnion:mf,ZodDiscriminatedUnion:w0,ZodIntersection:yf,ZodTuple:to,ZodRecord:vf,ZodMap:Sm,ZodSet:Ja,ZodFunction:ku,ZodLazy:bf,ZodLiteral:Sf,ZodEnum:Gs,ZodNativeEnum:_f,ZodPromise:Ju,ZodEffects:Ti,ZodTransformer:Ti,ZodOptional:Oo,ZodNullable:el,ZodDefault:wf,ZodCatch:_m,ZodNaN:wm,BRAND:wY,ZodBranded:SR,ZodPipeline:mh,custom:_R,Schema:Ce,ZodSchema:Ce,late:xY,get ZodFirstPartyTypeKind(){return ye},coerce:iQ,any:RY,array:DY,bigint:EY,boolean:CR,date:PY,discriminatedUnion:BY,effect:W4,enum:KY,function:HY,instanceof:CY,intersection:jY,lazy:qY,literal:WY,map:UY,nan:TY,nativeEnum:XY,never:MY,null:OY,nullable:ZY,number:xR,object:LY,oboolean:rQ,onumber:nQ,optional:QY,ostring:tQ,pipeline:eQ,preprocess:JY,promise:YY,record:zY,set:GY,strictObject:$Y,string:wR,symbol:AY,transformer:W4,tuple:VY,undefined:kY,union:FY,unknown:IY,void:NY,NEVER:oQ,ZodIssueCode:ee,quotelessJson:lY,ZodError:bi});const sQ=jt.string(),mwe=e=>sQ.safeParse(e).success,aQ=jt.string(),ywe=e=>aQ.safeParse(e).success;jt.string();jt.string();const lQ=jt.number().int().min(1),vwe=e=>lQ.safeParse(e).success,uQ=jt.number().min(1),bwe=e=>uQ.safeParse(e).success,cQ=jt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),Swe=e=>cQ.safeParse(e).success,_we={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},dQ=jt.number().int().min(0).max(aY),wwe=e=>dQ.safeParse(e).success,fQ=jt.number().multipleOf(8).min(64),xwe=e=>fQ.safeParse(e).success,hQ=jt.number().multipleOf(8).min(64),Cwe=e=>hQ.safeParse(e).success,x0=jt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),xf=jt.object({model_name:jt.string().min(1),base_model:x0}),Twe=e=>xf.safeParse(e).success,pQ=jt.object({model_name:jt.string().min(1),base_model:x0}),Ewe=jt.object({model_name:jt.string().min(1),base_model:x0}),Pwe=jt.object({model_name:jt.string().min(1),base_model:x0}),gQ=jt.number().min(0).max(1),Awe=e=>gQ.safeParse(e).success;jt.enum(["fp16","fp32"]);const Wo={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},mQ=Wo,TR=Pt({name:"generation",initialState:mQ,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Ss(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Ss(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Wo}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=sY[e.model.base_model];e.clipSkip=Ss(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ui(e.width/n,8))}},extraReducers:e=>{e.addCase(iY,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=xf.safeParse({model_name:a,base_model:o});l.success&&(t.model=l.data)}}),e.addCase(vQ,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:kwe,clearInitialImage:ER,resetParametersState:Owe,resetSeed:Rwe,setCfgScale:Iwe,setWidth:Mwe,setHeight:Nwe,toggleSize:Dwe,setImg2imgStrength:Lwe,setInfillMethod:yQ,setIterations:$we,setPerlin:Fwe,setPositivePrompt:Bwe,setNegativePrompt:jwe,setScheduler:Vwe,setSeamBlur:zwe,setSeamSize:Uwe,setSeamSteps:Gwe,setSeamStrength:Hwe,setSeed:qwe,setSeedWeights:Wwe,setShouldFitToWidthHeight:Kwe,setShouldGenerateVariations:Xwe,setShouldRandomizeSeed:Ywe,setSteps:Qwe,setThreshold:Zwe,setTileSize:Jwe,setVariationAmount:exe,setShouldUseSymmetry:txe,setHorizontalSymmetrySteps:nxe,setVerticalSymmetrySteps:rxe,initialImageChanged:C0,modelChanged:ja,vaeSelected:PR,setShouldUseNoiseSettings:ixe,setSeamlessXAxis:oxe,setSeamlessYAxis:sxe,setClipSkip:axe,shouldUseCpuNoiseChanged:lxe,setShouldShowAdvancedOptions:vQ,setAspectRatio:bQ,vaePrecisionChanged:uxe}=TR.actions,SQ=TR.reducer,AR=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],K4=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=AR.indexOf(t)},kR={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},OR=Pt({name:"ui",initialState:kR,reducers:{setActiveTab:(e,t)=>{K4(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(C0,t=>{K4(t,"img2img")})}}),{setActiveTab:RR,setShouldPinParametersPanel:cxe,setShouldShowParametersPanel:dxe,setShouldShowImageDetails:fxe,setShouldUseCanvasBetaLayout:_Q,setShouldShowExistingModelsInSearch:hxe,setShouldUseSliders:pxe,setShouldHidePreview:gxe,setShouldShowGallery:mxe,togglePanels:yxe,togglePinGalleryPanel:vxe,togglePinParametersPanel:bxe,toggleParametersPanel:Sxe,toggleGalleryPanel:_xe,setShouldShowProgressInViewer:wxe,favoriteSchedulersChanged:xxe,toggleEmbeddingPicker:Cxe}=OR.actions,wQ=OR.reducer;let Wn=[],T0=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!Wn.length;for(let s=0;s(e.events=e.events||{},e.events[n+mp]||(e.events[n+mp]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+mp](),delete e.events[n+mp])}),TQ=1e3,EQ=(e,t)=>CQ(e,r=>{let i=t(r);i&&e.events[gp].push(i)},xQ,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[gp]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[gp])s();e.events[gp]=[]}},TQ)},()=>{e.listen=i,e.off=o}}),PQ=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=T0(void 0,Math.max(...e.map(o=>o.l))+1);return EQ(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const AQ={"Content-Type":"application/json"},kQ=/\/*$/;function OQ(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function RQ(e){return JSON.stringify(e)}function IQ(e,t){let n=`${t.baseUrl?t.baseUrl.replace(kQ,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function MQ(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...AQ,...i.headers??{}});async function s(a,l){const{headers:u,body:c,params:d={},parseAs:f="json",querySerializer:h=n??OQ,bodySerializer:p=r??RQ,...m}=l||{},S=IQ(a,{baseUrl:i.baseUrl,params:d,querySerializer:h}),v=new Headers(o),y=new Headers(u);for(const[w,x]of y.entries())x==null?v.delete(w):v.set(w,x);const g={redirect:"follow",...i,...m,headers:v};c&&(g.body=p(c)),g.body instanceof FormData&&v.delete("Content-Type");const b=await t(S,g);if(b.status===204||b.headers.get("Content-Length")==="0")return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok){let w=b.body;if(f!=="stream"){const x=b.clone();w=typeof x[f]=="function"?await x[f]():await x.text()}return{data:w,response:b}}let _={};try{_=await b.clone().json()}catch{_=await b.clone().text()}return{error:_,response:b}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Cf=T0(),Tf=T0(),E0=PQ([Cf,Tf],(e,t)=>MQ({headers:e?{Authorization:`Bearer ${e}`}:{},baseUrl:`${t??""}`})),On=Vs("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),NQ=e=>vr(e)&&"status"in e,yh=Vs("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return NQ(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),hl=Vs("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Vs("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const IR=ei(On.rejected,yh.rejected),Ml=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},Nl=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},Txe=.999,Exe=.1,Pxe=20,Vc=.95,Axe=30,kxe=10,X4=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),pa=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ui(a/o,64)):o<1&&(r.height=a,r.width=Ui(a*o,64)),s=r.width*r.height;return r},DQ=e=>({width:Ui(e.width,64),height:Ui(e.height,64)}),Oxe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],Rxe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],MR=e=>e.kind==="line"&&e.layer==="mask",Ixe=e=>e.kind==="line"&&e.layer==="base",Y4=e=>e.kind==="image"&&e.layer==="base",Mxe=e=>e.kind==="fillRect"&&e.layer==="base",Nxe=e=>e.kind==="eraseRect"&&e.layer==="base",LQ=e=>e.kind==="line",Kl={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},NR={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:Kl,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},DR=Pt({name:"canvas",initialState:NR,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!MR(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:hp(Ss(r,64,512),64),height:hp(Ss(i,64,512),64)},a={x:Ui(r/2-s.width/2,64),y:Ui(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const c=pa(s);e.scaledBoundingBoxDimensions=c}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ln(e.layerState)),e.layerState={...Kl,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=Nl(o.width,o.height,r,i,Vc),u=Ml(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=DQ(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=pa(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=X4(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...Kl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(LQ);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ln(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState=Kl,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(Y4),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const c=Nl(i.width,i.height,512,512,Vc),d=Ml(i.width,i.height,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=pa(f);e.scaledBoundingBoxDimensions=h}return}const{width:o,height:s}=r,l=Nl(t,n,o,s,.95),u=Ml(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=X4(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(Y4)){const i=Nl(r.width,r.height,512,512,Vc),o=Ml(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=pa(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const c=r?1:Nl(i,o,l,u,Vc),d=Ml(i,o,s,a,l,u,c);e.stageScale=c,e.stageCoordinates=d}else{const c=Nl(i,o,512,512,Vc),d=Ml(i,o,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=pa(f);e.scaledBoundingBoxDimensions=h}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...n[r]}),e.layerState.stagingArea={...Kl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:hp(Ss(o,64,512),64),height:hp(Ss(s,64,512),64)},l={x:Ui(o/2-a.width/2,64),y:Ui(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=pa(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=pa(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ln(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(hl.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=Kl.stagingArea)}),e.addCase(_Q,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(RR,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(bQ,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ui(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:Dxe,addFillRect:Lxe,addImageToStagingArea:$Q,addLine:$xe,addPointToCurrentLine:Fxe,clearCanvasHistory:Bxe,clearMask:jxe,commitColorPickerColor:Vxe,commitStagingAreaImage:FQ,discardStagedImages:zxe,fitBoundingBoxToStage:Uxe,mouseLeftCanvas:Gxe,nextStagingAreaImage:Hxe,prevStagingAreaImage:qxe,redo:Wxe,resetCanvas:LR,resetCanvasInteractionState:Kxe,resetCanvasView:Xxe,resizeAndScaleCanvas:Yxe,resizeCanvas:Qxe,setBoundingBoxCoordinates:Zxe,setBoundingBoxDimensions:Jxe,setBoundingBoxPreviewFill:eCe,setBoundingBoxScaleMethod:tCe,flipBoundingBoxAxes:nCe,setBrushColor:rCe,setBrushSize:iCe,setCanvasContainerDimensions:oCe,setColorPickerColor:sCe,setCursorPosition:aCe,setDoesCanvasNeedScaling:lCe,setInitialCanvasImage:$R,setIsDrawing:uCe,setIsMaskEnabled:cCe,setIsMouseOverBoundingBox:dCe,setIsMoveBoundingBoxKeyHeld:fCe,setIsMoveStageKeyHeld:hCe,setIsMovingBoundingBox:pCe,setIsMovingStage:gCe,setIsTransformingBoundingBox:mCe,setLayer:yCe,setMaskColor:vCe,setMergedCanvas:BQ,setShouldAutoSave:bCe,setShouldCropToBoundingBoxOnSave:SCe,setShouldDarkenOutsideBoundingBox:_Ce,setShouldLockBoundingBox:wCe,setShouldPreserveMaskedArea:xCe,setShouldShowBoundingBox:CCe,setShouldShowBrush:TCe,setShouldShowBrushPreview:ECe,setShouldShowCanvasDebugInfo:PCe,setShouldShowCheckboardTransparency:ACe,setShouldShowGrid:kCe,setShouldShowIntermediates:OCe,setShouldShowStagingImage:RCe,setShouldShowStagingOutline:ICe,setShouldSnapToGrid:MCe,setStageCoordinates:NCe,setStageScale:DCe,setTool:LCe,toggleShouldLockBoundingBox:$Ce,toggleTool:FCe,undo:BCe,setScaledBoundingBoxDimensions:jCe,setShouldRestrictStrokesToBox:VCe,stagingAreaInitialized:jQ,canvasSessionIdChanged:VQ,setShouldAntialias:zCe}=DR.actions,zQ=DR.reducer,UQ=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,YQ=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),$_=Symbol("encodeFragmentIdentifier");function QQ(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),"[",i,"]"].join("")]:[...n,[qt(t,e),"[",qt(i,e),"]=",qt(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),"[]"].join("")]:[...n,[qt(t,e),"[]=",qt(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),":list="].join("")]:[...n,[qt(t,e),":list=",qt(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[qt(n,e),t,qt(i,e)].join("")]:[[r,qt(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,qt(t,e)]:[...n,[qt(t,e),"=",qt(r,e)].join("")]}}function ZQ(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&wo(r,e).includes(e.arrayFormatSeparator);r=s?wo(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>wo(l,e)):r===null?r:wo(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&wo(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>wo(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function jR(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function qt(e,t){return t.encode?t.strict?YQ(e):encodeURIComponent(e):e}function wo(e,t){return t.decode?WQ(e):e}function VR(e){return Array.isArray(e)?e.sort():typeof e=="object"?VR(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function zR(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function JQ(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function J4(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function $x(e){e=zR(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function Fx(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},jR(t.arrayFormatSeparator);const n=ZQ(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=BR(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:wo(a,t),n(wo(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=J4(a,t);else r[i]=J4(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=VR(s):i[o]=s,i},Object.create(null))}function UR(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},jR(t.arrayFormatSeparator);const n=s=>t.skipNull&&XQ(e[s])||t.skipEmptyString&&e[s]==="",r=QQ(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?qt(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?qt(s,t)+"[]":a.reduce(r(s),[]).join("&"):qt(s,t)+"="+qt(a,t)}).filter(s=>s.length>0).join("&")}function GR(e,t){var i;t={decode:!0,...t};let[n,r]=BR(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Fx($x(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:wo(r,t)}:{}}}function HR(e,t){t={encode:!0,strict:!0,[$_]:!0,...t};const n=zR(e.url).split("?")[0]||"",r=$x(e.url),i={...Fx(r,{sort:!1}),...e.query};let o=UR(i,t);o&&(o=`?${o}`);let s=JQ(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[$_]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function qR(e,t,n){n={parseFragmentIdentifier:!0,[$_]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=GR(e,n);return HR({url:r,query:KQ(i,t),fragmentIdentifier:o},n)}function eZ(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return qR(e,r,n)}const F_=Object.freeze(Object.defineProperty({__proto__:null,exclude:eZ,extract:$x,parse:Fx,parseUrl:GR,pick:qR,stringify:UR,stringifyUrl:HR},Symbol.toStringTag,{value:"Module"}));var xm=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function cZ(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var rT=xi;function XR(e,t){if(e===t||!(rT(e)&&rT(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},fZ=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function oT(e){if(!xi(e))return e;for(var t=$t({},e),n=0,r=Object.entries(t);n"u"&&a===iT&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(g,b){return Em(t,null,function(){var _,w,x,T,P,E,A,$,M,C,O,I,N,R,D,L,j,U,G,W,X,Y,B,H,Q,J,ne,te,xe,ve,ce,Ne,se,gt,vn,It;return xm(this,function(ut){switch(ut.label){case 0:return _=b.signal,w=b.getState,x=b.extra,T=b.endpoint,P=b.forced,E=b.type,$=typeof g=="string"?{url:g}:g,M=$.url,C=$.headers,O=C===void 0?new Headers(v.headers):C,I=$.params,N=I===void 0?void 0:I,R=$.responseHandler,D=R===void 0?m??"json":R,L=$.validateStatus,j=L===void 0?S??dZ:L,U=$.timeout,G=U===void 0?p:U,W=tT($,["url","headers","params","responseHandler","validateStatus","timeout"]),X=$t(Hi($t({},v),{signal:_}),W),O=new Headers(oT(O)),Y=X,[4,o(O,{getState:w,extra:x,endpoint:T,forced:P,type:E})];case 1:Y.headers=ut.sent()||O,B=function(Je){return typeof Je=="object"&&(xi(Je)||Array.isArray(Je)||typeof Je.toJSON=="function")},!X.headers.has("content-type")&&B(X.body)&&X.headers.set("content-type",f),B(X.body)&&c(X.headers)&&(X.body=JSON.stringify(X.body,h)),N&&(H=~M.indexOf("?")?"&":"?",Q=l?l(N):new URLSearchParams(oT(N)),M+=H+Q),M=lZ(r,M),J=new Request(M,X),ne=J.clone(),A={request:ne},xe=!1,ve=G&&setTimeout(function(){xe=!0,b.abort()},G),ut.label=2;case 2:return ut.trys.push([2,4,5,6]),[4,a(J)];case 3:return te=ut.sent(),[3,6];case 4:return ce=ut.sent(),[2,{error:{status:xe?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(ce)},meta:A}];case 5:return ve&&clearTimeout(ve),[7];case 6:Ne=te.clone(),A.response=Ne,gt="",ut.label=7;case 7:return ut.trys.push([7,9,,10]),[4,Promise.all([y(te,D).then(function(Je){return se=Je},function(Je){return vn=Je}),Ne.text().then(function(Je){return gt=Je},function(){})])];case 8:if(ut.sent(),vn)throw vn;return[3,10];case 9:return It=ut.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:te.status,data:gt,error:String(It)},meta:A}];case 10:return[2,j(te,se)?{data:se,meta:A}:{error:{status:te.status,data:se},meta:A}]}})})};function y(g,b){return Em(this,null,function(){var _;return xm(this,function(w){switch(w.label){case 0:return typeof b=="function"?[2,b(g)]:(b==="content-type"&&(b=c(g.headers)?"json":"text"),b!=="json"?[3,2]:[4,g.text()]);case 1:return _=w.sent(),[2,_.length?JSON.parse(_):null];case 2:return[2,g.text()]}})})}}var sT=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),Bx=ue("__rtkq/focused"),YR=ue("__rtkq/unfocused"),jx=ue("__rtkq/online"),QR=ue("__rtkq/offline"),no;(function(e){e.query="query",e.mutation="mutation"})(no||(no={}));function ZR(e){return e.type===no.query}function pZ(e){return e.type===no.mutation}function JR(e,t,n,r,i,o){return gZ(e)?e(t,n,r,i).map(B_).map(o):Array.isArray(e)?e.map(B_).map(o):[]}function gZ(e){return typeof e=="function"}function B_(e){return typeof e=="string"?{type:e}:e}function yb(e){return e!=null}var Ef=Symbol("forceQueryFn"),j_=function(e){return typeof e[Ef]=="function"};function mZ(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,c=l.removeMutationResult,d=l.updateSubscriptionOptions;return{buildInitiateQuery:y,buildInitiateMutation:g,getRunningQueryThunk:p,getRunningMutationThunk:m,getRunningQueriesThunk:S,getRunningMutationsThunk:v,getRunningOperationPromises:h,removalWarning:f};function f(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. + Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. + See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function h(){typeof process<"u";var b=function(_){return Array.from(_.values()).flatMap(function(w){return w?Object.values(w):[]})};return Cm(Cm([],b(s)),b(a)).filter(yb)}function p(b,_){return function(w){var x,T=o.endpointDefinitions[b],P=t({queryArgs:_,endpointDefinition:T,endpointName:b});return(x=s.get(w))==null?void 0:x[P]}}function m(b,_){return function(w){var x;return(x=a.get(w))==null?void 0:x[_]}}function S(){return function(b){return Object.values(s.get(b)||{}).filter(yb)}}function v(){return function(b){return Object.values(a.get(b)||{}).filter(yb)}}function y(b,_){var w=function(x,T){var P=T===void 0?{}:T,E=P.subscribe,A=E===void 0?!0:E,$=P.forceRefetch,M=P.subscriptionOptions,C=Ef,O=P[C];return function(I,N){var R,D,L=t({queryArgs:x,endpointDefinition:_,endpointName:b}),j=n((R={type:"query",subscribe:A,forceRefetch:$,subscriptionOptions:M,endpointName:b,originalArgs:x,queryCacheKey:L},R[Ef]=O,R)),U=i.endpoints[b].select(x),G=I(j),W=U(N()),X=G.requestId,Y=G.abort,B=W.requestId!==X,H=(D=s.get(I))==null?void 0:D[L],Q=function(){return U(N())},J=Object.assign(O?G.then(Q):B&&!H?Promise.resolve(W):Promise.all([H,G]).then(Q),{arg:x,requestId:X,subscriptionOptions:M,queryCacheKey:L,abort:Y,unwrap:function(){return Em(this,null,function(){var te;return xm(this,function(xe){switch(xe.label){case 0:return[4,J];case 1:if(te=xe.sent(),te.isError)throw te.error;return[2,te.data]}})})},refetch:function(){return I(w(x,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){A&&I(u({queryCacheKey:L,requestId:X}))},updateSubscriptionOptions:function(te){J.subscriptionOptions=te,I(d({endpointName:b,requestId:X,queryCacheKey:L,options:te}))}});if(!H&&!B&&!O){var ne=s.get(I)||{};ne[L]=J,s.set(I,ne),J.then(function(){delete ne[L],Object.keys(ne).length||s.delete(I)})}return J}};return w}function g(b){return function(_,w){var x=w===void 0?{}:w,T=x.track,P=T===void 0?!0:T,E=x.fixedCacheKey;return function(A,$){var M=r({type:"mutation",endpointName:b,originalArgs:_,track:P,fixedCacheKey:E}),C=A(M),O=C.requestId,I=C.abort,N=C.unwrap,R=C.unwrap().then(function(U){return{data:U}}).catch(function(U){return{error:U}}),D=function(){A(c({requestId:O,fixedCacheKey:E}))},L=Object.assign(R,{arg:C.arg,requestId:O,abort:I,unwrap:N,unsubscribe:D,reset:D}),j=a.get(A)||{};return a.set(A,j),j[O]=L,L.then(function(){delete j[O],Object.keys(j).length||a.delete(A)}),E&&(j[E]=L,L.then(function(){j[E]===L&&(delete j[E],Object.keys(j).length||a.delete(A))})),L}}}}function aT(e){return e}function yZ(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(g,b,_){return function(w){var x=i[g];w(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:b,endpointDefinition:x,endpointName:g}),patches:_}))}},l=function(g,b,_){return function(w,x){var T,P,E=s.endpoints[g].select(b)(x()),A={patches:[],inversePatches:[],undo:function(){return w(s.util.patchQueryData(g,b,A.inversePatches))}};if(E.status===vt.uninitialized)return A;if("data"in E)if(yr(E.data)){var $=gx(E.data,_),M=$[1],C=$[2];(T=A.patches).push.apply(T,M),(P=A.inversePatches).push.apply(P,C)}else{var O=_(E.data);A.patches.push({op:"replace",path:[],value:O}),A.inversePatches.push({op:"replace",path:[],value:E.data})}return w(s.util.patchQueryData(g,b,A.patches)),A}},u=function(g,b,_){return function(w){var x;return w(s.endpoints[g].initiate(b,(x={subscribe:!1,forceRefetch:!0},x[Ef]=function(){return{data:_}},x)))}},c=function(g,b){return Em(t,[g,b],function(_,w){var x,T,P,E,A,$,M,C,O,I,N,R,D,L,j,U,G,W,X=w.signal,Y=w.abort,B=w.rejectWithValue,H=w.fulfillWithValue,Q=w.dispatch,J=w.getState,ne=w.extra;return xm(this,function(te){switch(te.label){case 0:x=i[_.endpointName],te.label=1;case 1:return te.trys.push([1,8,,13]),T=aT,P=void 0,E={signal:X,abort:Y,dispatch:Q,getState:J,extra:ne,endpoint:_.endpointName,type:_.type,forced:_.type==="query"?d(_,J()):void 0},A=_.type==="query"?_[Ef]:void 0,A?(P=A(),[3,6]):[3,2];case 2:return x.query?[4,r(x.query(_.originalArgs),E,x.extraOptions)]:[3,4];case 3:return P=te.sent(),x.transformResponse&&(T=x.transformResponse),[3,6];case 4:return[4,x.queryFn(_.originalArgs,E,x.extraOptions,function(xe){return r(xe,E,x.extraOptions)})];case 5:P=te.sent(),te.label=6;case 6:if(typeof process<"u",P.error)throw new sT(P.error,P.meta);return N=H,[4,T(P.data,P.meta,_.originalArgs)];case 7:return[2,N.apply(void 0,[te.sent(),(G={fulfilledTimeStamp:Date.now(),baseQueryMeta:P.meta},G[Ra]=!0,G)])];case 8:if(R=te.sent(),D=R,!(D instanceof sT))return[3,12];L=aT,x.query&&x.transformErrorResponse&&(L=x.transformErrorResponse),te.label=9;case 9:return te.trys.push([9,11,,12]),j=B,[4,L(D.value,D.meta,_.originalArgs)];case 10:return[2,j.apply(void 0,[te.sent(),(W={baseQueryMeta:D.meta},W[Ra]=!0,W)])];case 11:return U=te.sent(),D=U,[3,12];case 12:throw typeof process<"u",console.error(D),D;case 13:return[2]}})})};function d(g,b){var _,w,x,T,P=(w=(_=b[n])==null?void 0:_.queries)==null?void 0:w[g.queryCacheKey],E=(x=b[n])==null?void 0:x.config.refetchOnMountOrArgChange,A=P==null?void 0:P.fulfilledTimeStamp,$=(T=g.forceRefetch)!=null?T:g.subscribe&&E;return $?$===!0||(Number(new Date)-Number(A))/1e3>=$:!1}var f=Vs(n+"/executeQuery",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ra]=!0,g},condition:function(g,b){var _=b.getState,w,x,T,P=_(),E=(x=(w=P[n])==null?void 0:w.queries)==null?void 0:x[g.queryCacheKey],A=E==null?void 0:E.fulfilledTimeStamp,$=g.originalArgs,M=E==null?void 0:E.originalArgs,C=i[g.endpointName];return j_(g)?!0:(E==null?void 0:E.status)==="pending"?!1:d(g,P)||ZR(C)&&((T=C==null?void 0:C.forceRefetch)!=null&&T.call(C,{currentArg:$,previousArg:M,endpointState:E,state:P}))?!0:!A},dispatchConditionRejection:!0}),h=Vs(n+"/executeMutation",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ra]=!0,g}}),p=function(g){return"force"in g},m=function(g){return"ifOlderThan"in g},S=function(g,b,_){return function(w,x){var T=p(_)&&_.force,P=m(_)&&_.ifOlderThan,E=function(C){return C===void 0&&(C=!0),s.endpoints[g].initiate(b,{forceRefetch:C})},A=s.endpoints[g].select(b)(x());if(T)w(E());else if(P){var $=A==null?void 0:A.fulfilledTimeStamp;if(!$){w(E());return}var M=(Number(new Date)-Number(new Date($)))/1e3>=P;M&&w(E())}else w(E(!1))}};function v(g){return function(b){var _,w;return((w=(_=b==null?void 0:b.meta)==null?void 0:_.arg)==null?void 0:w.endpointName)===g}}function y(g,b){return{matchPending:Tu(u0(g),v(b)),matchFulfilled:Tu(ea(g),v(b)),matchRejected:Tu(Xu(g),v(b))}}return{queryThunk:f,mutationThunk:h,prefetch:S,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:y}}function e7(e,t,n,r){return JR(n[e.meta.arg.endpointName][t],ea(e)?e.payload:void 0,uh(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function yp(e,t,n){var r=e[t];r&&n(r)}function Pf(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function lT(e,t,n){var r=e[Pf(t)];r&&n(r)}var zc={};function vZ(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,c=e.config,d=ue(t+"/resetApiState"),f=Pt({name:t+"/queries",initialState:zc,reducers:{removeQueryResult:{reducer:function(_,w){var x=w.payload.queryCacheKey;delete _[x]},prepare:cg()},queryResultPatched:function(_,w){var x=w.payload,T=x.queryCacheKey,P=x.patches;yp(_,T,function(E){E.data=v_(E.data,P.concat())})}},extraReducers:function(_){_.addCase(n.pending,function(w,x){var T=x.meta,P=x.meta.arg,E,A,$=j_(P);(P.subscribe||$)&&((A=w[E=P.queryCacheKey])!=null||(w[E]={status:vt.uninitialized,endpointName:P.endpointName})),yp(w,P.queryCacheKey,function(M){M.status=vt.pending,M.requestId=$&&M.requestId?M.requestId:T.requestId,P.originalArgs!==void 0&&(M.originalArgs=P.originalArgs),M.startedTimeStamp=T.startedTimeStamp})}).addCase(n.fulfilled,function(w,x){var T=x.meta,P=x.payload;yp(w,T.arg.queryCacheKey,function(E){var A;if(!(E.requestId!==T.requestId&&!j_(T.arg))){var $=o[T.arg.endpointName].merge;if(E.status=vt.fulfilled,$)if(E.data!==void 0){var M=T.fulfilledTimeStamp,C=T.arg,O=T.baseQueryMeta,I=T.requestId,N=Js(E.data,function(R){return $(R,P,{arg:C.originalArgs,baseQueryMeta:O,fulfilledTimeStamp:M,requestId:I})});E.data=N}else E.data=P;else E.data=(A=o[T.arg.endpointName].structuralSharing)==null||A?XR(er(E.data)?lx(E.data):E.data,P):P;delete E.error,E.fulfilledTimeStamp=T.fulfilledTimeStamp}})}).addCase(n.rejected,function(w,x){var T=x.meta,P=T.condition,E=T.arg,A=T.requestId,$=x.error,M=x.payload;yp(w,E.queryCacheKey,function(C){if(!P){if(C.requestId!==A)return;C.status=vt.rejected,C.error=M??$}})}).addMatcher(l,function(w,x){for(var T=a(x).queries,P=0,E=Object.entries(T);P{const r=Tf.get(),i=Cf.get();return hZ({baseUrl:`${r??""}/api/v1`,prepareHeaders:s=>(i&&s.set("Authorization",`Bearer ${i}`),s)})(e,t,n)},Hs=XZ({baseQuery:QZ,reducerPath:"api",tagTypes:YZ,endpoints:()=>({})}),_b=(e,t)=>{if(!e)return!1;const n=V_.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=new Date(n[n.length-1].created_at);return r>=i}else if([0,1].includes(n.length))return!0;return!1},Uc=e=>gi.includes(e.image_category)?gi:_s,Kn=cl({selectId:e=>e.image_name,sortComparer:(e,t)=>UQ(t.updated_at,e.updated_at)}),V_=Kn.getSelectors(),di=e=>`images/?${F_.stringify(e,{arrayFormat:"none"})}`,he=Hs.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:di(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:di({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return di({board_id:n,categories:r})},transformResponse(t){const{total:n,items:r}=t;return Kn.addMany(Kn.getInitialState({total:n}),r)},merge:(t,n)=>{Kn.addMany(t,V_.selectAll(n)),t.total=n.total},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;V_.selectAll(i).forEach(o=>{n(he.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:di({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/${t}`}),providesTags:(t,n,r)=>{const i=[{type:"Image",id:r}];return t!=null&&t.board_id&&i.push({type:"Board",id:t.board_id}),i},keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),getBoardImagesTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:gi,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:_s,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s=[],a=Uc(t);s.push(n(he.util.updateQueryData("listImages",{board_id:o??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,i).total-u;l.total=l.total+d})));try{await r}catch{s.forEach(l=>l.undo())}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=Uc(t);if(n)s.push(r(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,t.image_name).total-u;l.total=l.total+d})));else{console.log(t);const l={board_id:t.board_id??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=_b(u.data,t);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.upsertOne(f,t).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(he.util.upsertQueryData("getImageDTO",u.image_name,u));const c=Uc(u);a(he.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:c},d=>{const f=d.total,p=Kn.addOne(d,u).total-f;d.total=d.total+p})),a(he.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:r},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=Uc(n);if(s.push(r(he.util.updateQueryData("getImageDTO",n.image_name,l=>{Object.assign(l,{board_id:t})}))),!n.is_intermediate){s.push(r(he.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},f=>{const h=f.total,m=Kn.removeOne(f,n.image_name).total-h;f.total=f.total+m})));const l={board_id:t??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=_b(u.data,n);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.addOne(f,n).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{board_id:n,image_name:r}=t;return{url:"board_images/",method:"DELETE",body:{board_id:n,image_name:r}}},invalidatesTags:(t,n,{imageDTO:r})=>[{type:"Board",id:r.board_id},{type:"BoardImagesTotal",id:r.board_id},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:r.board_id},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=Uc(t),s=[];s.push(n(he.util.updateQueryData("getImageDTO",t.image_name,d=>{Object.assign(d,{board_id:void 0})}))),s.push(n(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},d=>{const f=d.total,p=Kn.removeOne(d,t.image_name).total-f;d.total=d.total+p})));const a={board_id:"none",categories:o},l=he.endpoints.listImages.select(a)(i()),u=l.data&&l.data.ids.length>=l.data.total,c=_b(l.data,t);(u||c)&&s.push(n(he.util.updateQueryData("listImages",a,d=>{const f=d.total,p=Kn.upsertOne(d,t).total-f;d.total=d.total+p})));try{await r}catch{s.forEach(d=>d.undo())}}})})}),{useGetIntermediatesCountQuery:GCe,useListImagesQuery:HCe,useLazyListImagesQuery:qCe,useGetImageDTOQuery:WCe,useGetImageMetadataQuery:KCe,useDeleteImageMutation:XCe,useGetBoardImagesTotalQuery:YCe,useGetBoardAssetsTotalQuery:QCe,useUploadImageMutation:ZCe,useAddImageToBoardMutation:JCe,useRemoveImageFromBoardMutation:e3e,useClearIntermediatesMutation:t3e}=he,n7=ue("socket/socketConnected"),r7=ue("socket/appSocketConnected"),i7=ue("socket/socketDisconnected"),o7=ue("socket/appSocketDisconnected"),Vx=ue("socket/socketSubscribed"),s7=ue("socket/appSocketSubscribed"),a7=ue("socket/socketUnsubscribed"),l7=ue("socket/appSocketUnsubscribed"),u7=ue("socket/socketInvocationStarted"),c7=ue("socket/appSocketInvocationStarted"),zx=ue("socket/socketInvocationComplete"),d7=ue("socket/appSocketInvocationComplete"),f7=ue("socket/socketInvocationError"),Ux=ue("socket/appSocketInvocationError"),h7=ue("socket/socketGraphExecutionStateComplete"),p7=ue("socket/appSocketGraphExecutionStateComplete"),g7=ue("socket/socketGeneratorProgress"),m7=ue("socket/appSocketGeneratorProgress"),y7=ue("socket/socketModelLoadStarted"),ZZ=ue("socket/appSocketModelLoadStarted"),v7=ue("socket/socketModelLoadCompleted"),JZ=ue("socket/appSocketModelLoadCompleted"),b7=ue("socket/socketSessionRetrievalError"),S7=ue("socket/appSocketSessionRetrievalError"),_7=ue("socket/socketInvocationRetrievalError"),w7=ue("socket/appSocketInvocationRetrievalError"),Gx=ue("controlNet/imageProcessed"),Xl={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},_p={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},vT={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:Xl.canny_image_processor.default,shouldAutoConfig:!0},z_={controlNets:{},isEnabled:!1,pendingControlImages:[]},x7=Pt({name:"controlNet",initialState:z_,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??vT,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=Ln(e.controlNets[n]);i.controlNetId=r,e.controlNets[r]=i},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...vT,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload;e.controlNets[n].isEnabled=!e.controlNets[n].isEnabled},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n].controlImage=r,e.controlNets[n].processedControlImage=null,r!==null&&e.controlNets[n].processorType!=="none"&&e.pendingControlImages.push(n)},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload;e.controlNets[n].processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(i=>i!==n)},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload;if(e.controlNets[n].model=r,e.controlNets[n].processedControlImage=null,e.controlNets[n].shouldAutoConfig){let i;for(const o in _p)if(r.model_name.includes(o)){i=_p[o];break}i?(e.controlNets[n].processorType=i,e.controlNets[n].processorNode=Xl[i].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Xl.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload;e.controlNets[n].weight=r},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload;e.controlNets[n].beginStepPct=r},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload;e.controlNets[n].endStepPct=r},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload;e.controlNets[n].controlMode=r},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload;e.controlNets[n].resizeMode=r},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n].processorNode;e.controlNets[n].processorNode={...i,...r},e.controlNets[n].shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload;e.controlNets[n].processedControlImage=null,e.controlNets[n].processorType=r,e.controlNets[n].processorNode=Xl[r].default,e.controlNets[n].shouldAutoConfig=!1},controlNetAutoConfigToggled:(e,t)=>{var i;const{controlNetId:n}=t.payload,r=!e.controlNets[n].shouldAutoConfig;if(r){let o;for(const s in _p)if((i=e.controlNets[n].model)!=null&&i.model_name.includes(s)){o=_p[s];break}o?(e.controlNets[n].processorType=o,e.controlNets[n].processorNode=Xl[o].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Xl.none.default)}e.controlNets[n].shouldAutoConfig=r},controlNetReset:()=>({...z_})},extraReducers:e=>{e.addCase(Gx,(t,n)=>{t.controlNets[n.payload.controlNetId].controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(Ux,t=>{t.pendingControlImages=[]}),e.addMatcher(IR,t=>{t.pendingControlImages=[]}),e.addMatcher(he.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;Qa(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:n3e,controlNetAdded:r3e,controlNetDuplicated:i3e,controlNetAddedFromImage:o3e,controlNetRemoved:C7,controlNetImageChanged:Hx,controlNetProcessedImageChanged:eJ,controlNetToggled:s3e,controlNetModelChanged:bT,controlNetWeightChanged:a3e,controlNetBeginStepPctChanged:l3e,controlNetEndStepPctChanged:u3e,controlNetControlModeChanged:c3e,controlNetResizeModeChanged:d3e,controlNetProcessorParamsChanged:tJ,controlNetProcessorTypeChanged:nJ,controlNetReset:T7,controlNetAutoConfigToggled:ST}=x7.actions,rJ=x7.reducer,E7={isEnabled:!1,maxPrompts:100,combinatorial:!0},iJ=E7,P7=Pt({name:"dynamicPrompts",initialState:iJ,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=E7.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:f3e,maxPromptsChanged:h3e,maxPromptsReset:p3e,combinatorialToggled:g3e}=P7.actions,oJ=P7.reducer,sJ={updateBoardModalOpen:!1,searchText:""},A7=Pt({name:"boards",initialState:sJ,reducers:{setBoardSearchText:(e,t)=>{e.searchText=t.payload},setUpdateBoardModalOpen:(e,t)=>{e.updateBoardModalOpen=t.payload}}}),{setBoardSearchText:m3e,setUpdateBoardModalOpen:y3e}=A7.actions,aJ=A7.reducer,ec=Hs.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Be}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Be}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Be}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Be},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(he.util.updateQueryData("getImageDTO",u,c=>{c.board_id=void 0}))});const a=[{categories:gi},{categories:_s}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(he.util.updateQueryData("listImages",u,c=>{const d=c.total,h=Kn.updateMany(c,l).total-d;c.total=c.total+h}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Be},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:gi},{categories:_s}].forEach(l=>{n(he.util.updateQueryData("listImages",l,u=>{const c=u.total,f=Kn.removeMany(u,s).total-c;u.total=u.total+f}))})}catch{}}})})}),{useListBoardsQuery:v3e,useListAllBoardsQuery:b3e,useCreateBoardMutation:S3e,useUpdateBoardMutation:_3e,useDeleteBoardMutation:w3e,useDeleteBoardAndImagesMutation:x3e,useListAllImageNamesForBoardQuery:C3e}=ec,k7={selection:[],shouldAutoSwitch:!0,autoAddBoardId:void 0,galleryImageMinimumWidth:96,selectedBoardId:void 0,galleryView:"images",batchImageNames:[],isBatchEnabled:!1},O7=Pt({name:"gallery",initialState:k7,reducers:{imageRangeEndSelected:()=>{},imageSelectionToggled:()=>{},imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},isBatchEnabledChanged:(e,t)=>{e.isBatchEnabled=t.payload},imagesAddedToBatch:(e,t)=>{e.batchImageNames=tY(e.batchImageNames.concat(t.payload))},imagesRemovedFromBatch:(e,t)=>{e.batchImageNames=e.batchImageNames.filter(r=>!t.payload.includes(r));const n=e.selection.filter(r=>!t.payload.includes(r));if(n.length){e.selection=n;return}e.selection=[e.batchImageNames[0]]},batchReset:e=>{e.batchImageNames=[],e.selection=[]},autoAddBoardIdChanged:(e,t)=>{e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload}},extraReducers:e=>{e.addMatcher(uJ,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId=void 0,t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId=void 0)}),e.addMatcher(ec.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId=void 0))})}}),{imageRangeEndSelected:T3e,imageSelectionToggled:E3e,imageSelected:Rs,shouldAutoSwitchChanged:P3e,setGalleryImageMinimumWidth:A3e,boardIdSelected:U_,isBatchEnabledChanged:k3e,imagesAddedToBatch:G_,imagesRemovedFromBatch:O3e,autoAddBoardIdChanged:R3e,galleryViewChanged:Am}=O7.actions,lJ=O7.reducer,uJ=ei(ec.endpoints.deleteBoard.matchFulfilled,ec.endpoints.deleteBoardAndImages.matchFulfilled),cJ={imageToDelete:null,isModalOpen:!1},R7=Pt({name:"imageDeletion",initialState:cJ,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imageToDeleteSelected:(e,t)=>{e.imageToDelete=t.payload},imageToDeleteCleared:e=>{e.imageToDelete=null,e.isModalOpen=!1}}}),{isModalOpenChanged:I7,imageToDeleteSelected:dJ,imageToDeleteCleared:I3e}=R7.actions,fJ=R7.reducer,_T={weight:.75},hJ={loras:{}},M7=Pt({name:"lora",initialState:hJ,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,..._T}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload;e.loras[n].weight=r},loraWeightReset:(e,t)=>{const n=t.payload;e.loras[n].weight=_T.weight}}}),{loraAdded:M3e,loraRemoved:N7,loraWeightChanged:N3e,loraWeightReset:D3e,lorasCleared:L3e}=M7.actions,pJ=M7.reducer;function ti(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(!Object.is(c,t)){const d=t;t=u??typeof c!="object"?c:Object.assign({},t,c),n.forEach(f=>f(t,d))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},gJ=e=>e?wT(e):wT,{useSyncExternalStoreWithSelector:mJ}=Wj;function yJ(e,t=e.getState,n){const r=mJ(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return k.useDebugValue(r),r}function br(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function P0(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hg.prototype=P0.prototype={constructor:hg,on:function(e,t){var n=this._,r=bJ(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),CT.hasOwnProperty(t)?{space:CT[t],local:e}:e}function _J(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H_&&t.documentElement.namespaceURI===H_?t.createElement(e):t.createElementNS(n,e)}}function wJ(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function D7(e){var t=A0(e);return(t.local?wJ:_J)(t)}function xJ(){}function qx(e){return e==null?xJ:function(){return this.querySelector(e)}}function CJ(e){typeof e!="function"&&(e=qx(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=g&&(g=y+1);!(_=S[g])&&++g=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function XJ(e){e||(e=YJ);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function QJ(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ZJ(){return Array.from(this)}function JJ(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?cee:typeof t=="function"?fee:dee)(e,t,n??"")):tc(this.node(),e)}function tc(e,t){return e.style.getPropertyValue(t)||j7(e).getComputedStyle(e,null).getPropertyValue(t)}function pee(e){return function(){delete this[e]}}function gee(e,t){return function(){this[e]=t}}function mee(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function yee(e,t){return arguments.length>1?this.each((t==null?pee:typeof t=="function"?mee:gee)(e,t)):this.node()[e]}function V7(e){return e.trim().split(/^|\s+/)}function Wx(e){return e.classList||new z7(e)}function z7(e){this._node=e,this._names=V7(e.getAttribute("class")||"")}z7.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function U7(e,t){for(var n=Wx(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Hee(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function q_(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}q_.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function tte(e){return!e.ctrlKey&&!e.button}function nte(){return this.parentNode}function rte(e,t){return t??{x:e.x,y:e.y}}function ite(){return navigator.maxTouchPoints||"ontouchstart"in this}function ote(){var e=tte,t=nte,n=rte,r=ite,i={},o=P0("start","drag","end"),s=0,a,l,u,c,d=0;function f(b){b.on("mousedown.drag",h).filter(r).on("touchstart.drag",S).on("touchmove.drag",v,ete).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(b,_){if(!(c||!e.call(this,b,_))){var w=g(this,t.call(this,b,_),b,_,"mouse");w&&(fi(b.view).on("mousemove.drag",p,Af).on("mouseup.drag",m,Af),W7(b.view),wb(b),u=!1,a=b.clientX,l=b.clientY,w("start",b))}}function p(b){if(Ou(b),!u){var _=b.clientX-a,w=b.clientY-l;u=_*_+w*w>d}i.mouse("drag",b)}function m(b){fi(b.view).on("mousemove.drag mouseup.drag",null),K7(b.view,u),Ou(b),i.mouse("end",b)}function S(b,_){if(e.call(this,b,_)){var w=b.changedTouches,x=t.call(this,b,_),T=w.length,P,E;for(P=0;P>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?xp(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?xp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ate.exec(e))?new hr(t[1],t[2],t[3],1):(t=lte.exec(e))?new hr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ute.exec(e))?xp(t[1],t[2],t[3],t[4]):(t=cte.exec(e))?xp(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=dte.exec(e))?RT(t[1],t[2]/100,t[3]/100,1):(t=fte.exec(e))?RT(t[1],t[2]/100,t[3]/100,t[4]):TT.hasOwnProperty(e)?AT(TT[e]):e==="transparent"?new hr(NaN,NaN,NaN,0):null}function AT(e){return new hr(e>>16&255,e>>8&255,e&255,1)}function xp(e,t,n,r){return r<=0&&(e=t=n=NaN),new hr(e,t,n,r)}function gte(e){return e instanceof bh||(e=Rf(e)),e?(e=e.rgb(),new hr(e.r,e.g,e.b,e.opacity)):new hr}function W_(e,t,n,r){return arguments.length===1?gte(e):new hr(e,t,n,r??1)}function hr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Kx(hr,W_,X7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hr(Va(this.r),Va(this.g),Va(this.b),Rm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kT,formatHex:kT,formatHex8:mte,formatRgb:OT,toString:OT}));function kT(){return`#${Ma(this.r)}${Ma(this.g)}${Ma(this.b)}`}function mte(){return`#${Ma(this.r)}${Ma(this.g)}${Ma(this.b)}${Ma((isNaN(this.opacity)?1:this.opacity)*255)}`}function OT(){const e=Rm(this.opacity);return`${e===1?"rgb(":"rgba("}${Va(this.r)}, ${Va(this.g)}, ${Va(this.b)}${e===1?")":`, ${e})`}`}function Rm(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Va(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ma(e){return e=Va(e),(e<16?"0":"")+e.toString(16)}function RT(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hi(e,t,n,r)}function Y7(e){if(e instanceof hi)return new hi(e.h,e.s,e.l,e.opacity);if(e instanceof bh||(e=Rf(e)),!e)return new hi;if(e instanceof hi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new hi(s,a,l,e.opacity)}function yte(e,t,n,r){return arguments.length===1?Y7(e):new hi(e,t,n,r??1)}function hi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Kx(hi,yte,X7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new hr(xb(e>=240?e-240:e+120,i,r),xb(e,i,r),xb(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new hi(IT(this.h),Cp(this.s),Cp(this.l),Rm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Rm(this.opacity);return`${e===1?"hsl(":"hsla("}${IT(this.h)}, ${Cp(this.s)*100}%, ${Cp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function IT(e){return e=(e||0)%360,e<0?e+360:e}function Cp(e){return Math.max(0,Math.min(1,e||0))}function xb(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Q7=e=>()=>e;function vte(e,t){return function(n){return e+n*t}}function bte(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Ste(e){return(e=+e)==1?Z7:function(t,n){return n-t?bte(t,n,e):Q7(isNaN(t)?n:t)}}function Z7(e,t){var n=t-e;return n?vte(e,n):Q7(isNaN(e)?t:e)}const MT=function e(t){var n=Ste(t);function r(i,o){var s=n((i=W_(i)).r,(o=W_(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=Z7(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=e,r}(1);function cs(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var K_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Cb=new RegExp(K_.source,"g");function _te(e){return function(){return e}}function wte(e){return function(t){return e(t)+""}}function xte(e,t){var n=K_.lastIndex=Cb.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=K_.exec(e))&&(i=Cb.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cs(r,i)})),n=Cb.lastIndex;return n180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:cs(u,c)})):c&&d.push(i(d)+"rotate("+c+r)}function a(u,c,d,f){u!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:cs(u,c)}):c&&d.push(i(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:cs(u,d)},{i:m-2,x:cs(c,f)})}else(d!==1||f!==1)&&h.push(i(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),s(u.rotate,c.rotate,d,f),a(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,m=f.length,S;++p=0&&e._call.call(void 0,t),e=e._next;--nc}function LT(){tl=(Mm=If.now())+k0,nc=fd=0;try{Mte()}finally{nc=0,Dte(),tl=0}}function Nte(){var e=If.now(),t=e-Mm;t>tI&&(k0-=t,Mm=e)}function Dte(){for(var e,t=Im,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Im=n);hd=e,Y_(r)}function Y_(e){if(!nc){fd&&(fd=clearTimeout(fd));var t=e-tl;t>24?(e<1/0&&(fd=setTimeout(LT,e-If.now()-k0)),Gc&&(Gc=clearInterval(Gc))):(Gc||(Mm=If.now(),Gc=setInterval(Nte,tI)),nc=1,nI(LT))}}function $T(e,t,n){var r=new Nm;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Lte=P0("start","end","cancel","interrupt"),$te=[],iI=0,FT=1,Q_=2,pg=3,BT=4,Z_=5,gg=6;function O0(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Fte(e,n,{name:t,index:r,group:i,on:Lte,tween:$te,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:iI})}function Yx(e,t){var n=Pi(e,t);if(n.state>iI)throw new Error("too late; already scheduled");return n}function so(e,t){var n=Pi(e,t);if(n.state>pg)throw new Error("too late; already running");return n}function Pi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Fte(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=rI(o,0,n.time);function o(u){n.state=FT,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,f,h;if(n.state!==FT)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===pg)return $T(s);h.state===BT?(h.state=gg,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+cQ_&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function pne(e,t,n){var r,i,o=hne(t)?Yx:so;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function gne(e,t){var n=this._id;return arguments.length<2?Pi(this.node(),n).on.on(e):this.each(pne(n,e,t))}function mne(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function yne(){return this.on("end.remove",mne(this._id))}function vne(e){var t=this._name,n=this._id;typeof e!="function"&&(e=qx(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Une(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Po(e,t,n){this.k=e,this.x=t,this.y=n}Po.prototype={constructor:Po,scale:function(e){return e===1?this:new Po(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Po(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Is=new Po(1,0,0);Po.prototype;function Tb(e){e.stopImmediatePropagation()}function Hc(e){e.preventDefault(),e.stopImmediatePropagation()}function Gne(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Hne(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function jT(){return this.__zoom||Is}function qne(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Wne(){return navigator.maxTouchPoints||"ontouchstart"in this}function Kne(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Xne(){var e=Gne,t=Hne,n=Kne,r=qne,i=Wne,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Rte,u=P0("start","zoom","end"),c,d,f,h=500,p=150,m=0,S=10;function v(C){C.property("__zoom",jT).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",P).on("dblclick.zoom",E).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}v.transform=function(C,O,I,N){var R=C.selection?C.selection():C;R.property("__zoom",jT),C!==R?_(C,O,I,N):R.interrupt().each(function(){w(this,arguments).event(N).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},v.scaleBy=function(C,O,I,N){v.scaleTo(C,function(){var R=this.__zoom.k,D=typeof O=="function"?O.apply(this,arguments):O;return R*D},I,N)},v.scaleTo=function(C,O,I,N){v.transform(C,function(){var R=t.apply(this,arguments),D=this.__zoom,L=I==null?b(R):typeof I=="function"?I.apply(this,arguments):I,j=D.invert(L),U=typeof O=="function"?O.apply(this,arguments):O;return n(g(y(D,U),L,j),R,s)},I,N)},v.translateBy=function(C,O,I,N){v.transform(C,function(){return n(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof I=="function"?I.apply(this,arguments):I),t.apply(this,arguments),s)},null,N)},v.translateTo=function(C,O,I,N,R){v.transform(C,function(){var D=t.apply(this,arguments),L=this.__zoom,j=N==null?b(D):typeof N=="function"?N.apply(this,arguments):N;return n(Is.translate(j[0],j[1]).scale(L.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof I=="function"?-I.apply(this,arguments):-I),D,s)},N,R)};function y(C,O){return O=Math.max(o[0],Math.min(o[1],O)),O===C.k?C:new Po(O,C.x,C.y)}function g(C,O,I){var N=O[0]-I[0]*C.k,R=O[1]-I[1]*C.k;return N===C.x&&R===C.y?C:new Po(C.k,N,R)}function b(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function _(C,O,I,N){C.on("start.zoom",function(){w(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(N).end()}).tween("zoom",function(){var R=this,D=arguments,L=w(R,D).event(N),j=t.apply(R,D),U=I==null?b(j):typeof I=="function"?I.apply(R,D):I,G=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),W=R.__zoom,X=typeof O=="function"?O.apply(R,D):O,Y=l(W.invert(U).concat(G/W.k),X.invert(U).concat(G/X.k));return function(B){if(B===1)B=X;else{var H=Y(B),Q=G/H[2];B=new Po(Q,U[0]-H[0]*Q,U[1]-H[1]*Q)}L.zoom(null,B)}})}function w(C,O,I){return!I&&C.__zooming||new x(C,O)}function x(C,O){this.that=C,this.args=O,this.active=0,this.sourceEvent=null,this.extent=t.apply(C,O),this.taps=0}x.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,O){return this.mouse&&C!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var O=fi(this.that).datum();u.call(C,this.that,new Une(C,{sourceEvent:this.sourceEvent,target:v,type:C,transform:this.that.__zoom,dispatch:u}),O)}};function T(C,...O){if(!e.apply(this,arguments))return;var I=w(this,O).event(C),N=this.__zoom,R=Math.max(o[0],Math.min(o[1],N.k*Math.pow(2,r.apply(this,arguments)))),D=$i(C);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=N.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(N.k===R)return;I.mouse=[D,N.invert(D)],mg(this),I.start()}Hc(C),I.wheel=setTimeout(L,p),I.zoom("mouse",n(g(y(N,R),I.mouse[0],I.mouse[1]),I.extent,s));function L(){I.wheel=null,I.end()}}function P(C,...O){if(f||!e.apply(this,arguments))return;var I=C.currentTarget,N=w(this,O,!0).event(C),R=fi(C.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",G,!0),D=$i(C,I),L=C.clientX,j=C.clientY;W7(C.view),Tb(C),N.mouse=[D,this.__zoom.invert(D)],mg(this),N.start();function U(W){if(Hc(W),!N.moved){var X=W.clientX-L,Y=W.clientY-j;N.moved=X*X+Y*Y>m}N.event(W).zoom("mouse",n(g(N.that.__zoom,N.mouse[0]=$i(W,I),N.mouse[1]),N.extent,s))}function G(W){R.on("mousemove.zoom mouseup.zoom",null),K7(W.view,N.moved),Hc(W),N.event(W).end()}}function E(C,...O){if(e.apply(this,arguments)){var I=this.__zoom,N=$i(C.changedTouches?C.changedTouches[0]:C,this),R=I.invert(N),D=I.k*(C.shiftKey?.5:2),L=n(g(y(I,D),N,R),t.apply(this,O),s);Hc(C),a>0?fi(this).transition().duration(a).call(_,L,N,C):fi(this).call(v.transform,L,N,C)}}function A(C,...O){if(e.apply(this,arguments)){var I=C.touches,N=I.length,R=w(this,O,C.changedTouches.length===N).event(C),D,L,j,U;for(Tb(C),L=0;L"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},lI=qs.error001();function Vt(e,t){const n=k.useContext(R0);if(n===null)throw new Error(lI);return yJ(n,e,t)}const Vn=()=>{const e=k.useContext(R0);if(e===null)throw new Error(lI);return k.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Qne=e=>e.userSelectionActive?"none":"all";function Zne({position:e,children:t,className:n,style:r,...i}){const o=Vt(Qne),s=`${e}`.split("-");return K.jsx("div",{className:ti(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Jne({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:K.jsx(Zne,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:K.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const ere=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...c})=>{const d=k.useRef(null),[f,h]=k.useState({x:0,y:0,width:0,height:0}),p=ti(["react-flow__edge-textwrapper",u]);return k.useEffect(()=>{if(d.current){const m=d.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:K.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c,children:[i&&K.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),K.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r,children:n}),l]})};var tre=k.memo(ere);const Zx=e=>({width:e.offsetWidth,height:e.offsetHeight}),rc=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Jx=(e={x:0,y:0},t)=>({x:rc(e.x,t[0][0],t[1][0]),y:rc(e.y,t[0][1],t[1][1])}),VT=(e,t,n)=>en?-rc(Math.abs(e-n),1,50)/50:0,uI=(e,t)=>{const n=VT(e.x,35,t.width-35)*20,r=VT(e.y,35,t.height-35)*20;return[n,r]},cI=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},dI=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Dm=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),fI=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),zT=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),$3e=(e,t)=>fI(dI(Dm(e),Dm(t))),J_=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},nre=e=>Kr(e.width)&&Kr(e.height)&&Kr(e.x)&&Kr(e.y),Kr=e=>!isNaN(e)&&isFinite(e),on=Symbol.for("internals"),hI=["Enter"," ","Escape"],rre=(e,t)=>{},ire=e=>"nativeEvent"in e;function e2(e){var i,o;const t=ire(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const pI=e=>"clientX"in e,Ms=(e,t)=>{var o,s;const n=pI(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Sh=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>K.jsxs(K.Fragment,{children:[K.jsx("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&K.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&Kr(n)&&Kr(r)?K.jsx(tre,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Sh.displayName="BaseEdge";function qc(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function gI({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[S,v,y]=yI({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return K.jsx(Sh,{path:S,labelX:v,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:m})});eC.displayName="SimpleBezierEdge";const GT={[pe.Left]:{x:-1,y:0},[pe.Right]:{x:1,y:0},[pe.Top]:{x:0,y:-1},[pe.Bottom]:{x:0,y:1}},ore=({source:e,sourcePosition:t=pe.Bottom,target:n})=>t===pe.Left||t===pe.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function sre({source:e,sourcePosition:t=pe.Bottom,target:n,targetPosition:r=pe.Top,center:i,offset:o}){const s=GT[t],a=GT[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},c=ore({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",f=c[d];let h=[],p,m;const[S,v,y,g]=gI({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){p=i.x||S,m=i.y||v;const _=[{x:p,y:l.y},{x:p,y:u.y}],w=[{x:l.x,y:m},{x:u.x,y:m}];s[d]===f?h=d==="x"?_:w:h=d==="x"?w:_}else{const _=[{x:l.x,y:u.y}],w=[{x:u.x,y:l.y}];if(d==="x"?h=s.x===f?w:_:h=s.y===f?_:w,t!==r){const x=d==="x"?"y":"x",T=s[d]===a[x],P=l[x]>u[x],E=l[x]{let g="";return y>0&&y{const[v,y,g]=t2({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return K.jsx(Sh,{path:v,labelX:y,labelY:g,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:p,interactionWidth:S})});I0.displayName="SmoothStepEdge";const tC=k.memo(e=>{var t;return K.jsx(I0,{...e,pathOptions:k.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});tC.displayName="StepEdge";function lre({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=gI({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const nC=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{const[p,m,S]=lre({sourceX:e,sourceY:t,targetX:n,targetY:r});return K.jsx(Sh,{path:p,labelX:m,labelY:S,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});nC.displayName="StraightEdge";function Pp(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function qT({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case pe.Left:return[t-Pp(t-r,o),n];case pe.Right:return[t+Pp(r-t,o),n];case pe.Top:return[t,n-Pp(n-i,o)];case pe.Bottom:return[t,n+Pp(i-n,o)]}}function vI({sourceX:e,sourceY:t,sourcePosition:n=pe.Bottom,targetX:r,targetY:i,targetPosition:o=pe.Top,curvature:s=.25}){const[a,l]=qT({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,c]=qT({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[d,f,h,p]=mI({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${l} ${u},${c} ${r},${i}`,d,f,h,p]}const $m=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=pe.Bottom,targetPosition:o=pe.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,pathOptions:m,interactionWidth:S})=>{const[v,y,g]=vI({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return K.jsx(Sh,{path:v,labelX:y,labelY:g,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:S})});$m.displayName="BezierEdge";const rC=k.createContext(null),ure=rC.Provider;rC.Consumer;const cre=()=>k.useContext(rC),dre=e=>"id"in e&&"source"in e&&"target"in e,fre=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,n2=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,hre=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),bI=(e,t)=>{if(!e.source||!e.target)return t;let n;return dre(e)?n={...e}:n={...e,id:fre(e)},hre(n,t)?t:t.concat(n)},SI=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},pre=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Mu=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},_I=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=Mu(i,t).positionAbsolute;return dI(r,Dm({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return fI(n)},wI=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(c=>{const{width:d,height:f,selectable:h=!0,hidden:p=!1}=c;if(s&&!h||p)return!1;const{positionAbsolute:m}=Mu(c,a),S={x:m.x,y:m.y,width:d||0,height:f||0},v=J_(l,S),y=typeof d>"u"||typeof f>"u"||d===null||f===null,g=o&&v>0,b=(d||0)*(f||0);(y||g||v>=b||c.dragging)&&u.push(c)}),u},xI=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},CI=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=rc(l,r,i),c=e.x+e.width/2,d=e.y+e.height/2,f=t/2-c*u,h=n/2-d*u;return[f,h,u]},xa=(e,t=0)=>e.transition().duration(t);function WT(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function gre(e,t,n,r,i,o){const{x:s,y:a}=Ms(e),u=t.elementsFromPoint(s,a).find(p=>p.classList.contains("react-flow__handle"));if(u){const p=u.getAttribute("data-nodeid");if(p){const m=iC(void 0,u),S=u.getAttribute("data-handleid"),v=o({nodeId:p,id:S,type:m});if(v)return{handle:{id:S,type:m,nodeId:p,x:n.x,y:n.y},validHandleResult:v}}}let c=[],d=1/0;if(i.forEach(p=>{const m=Math.sqrt((p.x-n.x)**2+(p.y-n.y)**2);if(m<=r){const S=o(p);m<=d&&(mp.isValid),h=c.some(({handle:p})=>p.type==="target");return c.find(({handle:p,validHandleResult:m})=>h?p.type==="target":f?m.isValid:!0)||c[0]}const mre={source:null,target:null,sourceHandle:null,targetHandle:null},TI=()=>({handleDomNode:null,isValid:!1,connection:mre,endHandle:null});function EI(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...TI(),handleDomNode:l};if(l){const c=iC(void 0,l),d=l.getAttribute("data-nodeid"),f=l.getAttribute("data-handleid"),h=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),m={source:a?d:n,sourceHandle:a?f:r,target:a?n:d,targetHandle:a?r:f};u.connection=m,h&&p&&(t===nl.Strict?a&&c==="source"||!a&&c==="target":d!==n||f!==r)&&(u.endHandle={nodeId:d,handleId:f,type:c},u.isValid=o(m))}return u}function yre({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[on]){const{handleBounds:s}=o[on];let a=[],l=[];s&&(a=WT(o,s,"source",`${t}-${n}-${r}`),l=WT(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function iC(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Eb(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function vre(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function PI({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const c=cI(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:h,connectionRadius:p,onConnectStart:m,panBy:S,getNodes:v,cancelConnection:y}=o();let g=0,b;const{x:_,y:w}=Ms(e),x=c==null?void 0:c.elementFromPoint(_,w),T=iC(l,x),P=f==null?void 0:f.getBoundingClientRect();if(!P||!T)return;let E,A=Ms(e,P),$=!1,M=null,C=!1,O=null;const I=yre({nodes:v(),nodeId:n,handleId:t,handleType:T}),N=()=>{if(!h)return;const[L,j]=uI(A,P);S({x:L,y:j}),g=requestAnimationFrame(N)};s({connectionPosition:A,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:T,connectionStartHandle:{nodeId:n,handleId:t,type:T},connectionEndHandle:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:T});function R(L){const{transform:j}=o();A=Ms(L,P);const{handle:U,validHandleResult:G}=gre(L,c,SI(A,j,!1,[1,1]),p,I,W=>EI(W,d,n,t,i?"target":"source",a,c));if(b=U,$||(N(),$=!0),O=G.handleDomNode,M=G.connection,C=G.isValid,s({connectionPosition:b&&C?pre({x:b.x,y:b.y},j):A,connectionStatus:vre(!!b,C),connectionEndHandle:G.endHandle}),!b&&!C&&!O)return Eb(E);M.source!==M.target&&O&&(Eb(E),E=O,O.classList.add("connecting","react-flow__handle-connecting"),O.classList.toggle("valid",C),O.classList.toggle("react-flow__handle-valid",C))}function D(L){var j,U;(b||O)&&M&&C&&(r==null||r(M)),(U=(j=o()).onConnectEnd)==null||U.call(j,L),l&&(u==null||u(L)),Eb(E),y(),cancelAnimationFrame(g),$=!1,C=!1,M=null,O=null,c.removeEventListener("mousemove",R),c.removeEventListener("mouseup",D),c.removeEventListener("touchmove",R),c.removeEventListener("touchend",D)}c.addEventListener("mousemove",R),c.addEventListener("mouseup",D),c.addEventListener("touchmove",R),c.addEventListener("touchend",D)}const KT=()=>!0,bre=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Sre=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},AI=k.forwardRef(({type:e="source",position:t=pe.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{var P,E;const p=s||null,m=e==="target",S=Vn(),v=cre(),{connectOnClick:y,noPanClassName:g}=Vt(bre,br),{connecting:b,clickConnecting:_}=Vt(Sre(v,p,e),br);v||(E=(P=S.getState()).onError)==null||E.call(P,"010",qs.error010());const w=A=>{const{defaultEdgeOptions:$,onConnect:M,hasDefaultEdges:C}=S.getState(),O={...$,...A};if(C){const{edges:I,setEdges:N}=S.getState();N(bI(O,I))}M==null||M(O),a==null||a(O)},x=A=>{if(!v)return;const $=pI(A);i&&($&&A.button===0||!$)&&PI({event:A,handleId:p,nodeId:v,onConnect:w,isTarget:m,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||KT}),$?c==null||c(A):d==null||d(A)},T=A=>{const{onClickConnectStart:$,onClickConnectEnd:M,connectionClickStartHandle:C,connectionMode:O,isValidConnection:I}=S.getState();if(!v||!C&&!i)return;if(!C){$==null||$(A,{nodeId:v,handleId:p,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:p}});return}const N=cI(A.target),R=n||I||KT,{connection:D,isValid:L}=EI({nodeId:v,id:p,type:e},O,C.nodeId,C.handleId||null,C.type,R,N);L&&w(D),M==null||M(A),S.setState({connectionClickStartHandle:null})};return K.jsx("div",{"data-handleid":p,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${p}-${e}`,className:ti(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:o,connecting:_,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:x,onTouchStart:x,onClick:y?T:void 0,ref:h,...f,children:l})});AI.displayName="Handle";var Fm=k.memo(AI);const kI=({data:e,isConnectable:t,targetPosition:n=pe.Top,sourcePosition:r=pe.Bottom})=>K.jsxs(K.Fragment,{children:[K.jsx(Fm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,K.jsx(Fm,{type:"source",position:r,isConnectable:t})]});kI.displayName="DefaultNode";var r2=k.memo(kI);const OI=({data:e,isConnectable:t,sourcePosition:n=pe.Bottom})=>K.jsxs(K.Fragment,{children:[e==null?void 0:e.label,K.jsx(Fm,{type:"source",position:n,isConnectable:t})]});OI.displayName="InputNode";var RI=k.memo(OI);const II=({data:e,isConnectable:t,targetPosition:n=pe.Top})=>K.jsxs(K.Fragment,{children:[K.jsx(Fm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});II.displayName="OutputNode";var MI=k.memo(II);const oC=()=>null;oC.displayName="GroupNode";const _re=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Ap=e=>e.id;function wre(e,t){return br(e.selectedNodes.map(Ap),t.selectedNodes.map(Ap))&&br(e.selectedEdges.map(Ap),t.selectedEdges.map(Ap))}const NI=k.memo(({onSelectionChange:e})=>{const t=Vn(),{selectedNodes:n,selectedEdges:r}=Vt(_re,wre);return k.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});NI.displayName="SelectionListener";const xre=e=>!!e.onSelectionChange;function Cre({onSelectionChange:e}){const t=Vt(xre);return e||t?K.jsx(NI,{onSelectionChange:e}):null}const Tre=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Dl(e,t){k.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function Ae(e,t,n){k.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const Ere=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:S,nodeExtent:v,onNodesChange:y,onEdgesChange:g,elementsSelectable:b,connectionMode:_,snapGrid:w,snapToGrid:x,translateExtent:T,connectOnClick:P,defaultEdgeOptions:E,fitView:A,fitViewOptions:$,onNodesDelete:M,onEdgesDelete:C,onNodeDrag:O,onNodeDragStart:I,onNodeDragStop:N,onSelectionDrag:R,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:j,nodeOrigin:U,rfId:G,autoPanOnConnect:W,autoPanOnNodeDrag:X,onError:Y,connectionRadius:B,isValidConnection:H})=>{const{setNodes:Q,setEdges:J,setDefaultNodesAndEdges:ne,setMinZoom:te,setMaxZoom:xe,setTranslateExtent:ve,setNodeExtent:ce,reset:Ne}=Vt(Tre,br),se=Vn();return k.useEffect(()=>{const gt=r==null?void 0:r.map(vn=>({...vn,...E}));return ne(n,gt),()=>{Ne()}},[]),Ae("defaultEdgeOptions",E,se.setState),Ae("connectionMode",_,se.setState),Ae("onConnect",i,se.setState),Ae("onConnectStart",o,se.setState),Ae("onConnectEnd",s,se.setState),Ae("onClickConnectStart",a,se.setState),Ae("onClickConnectEnd",l,se.setState),Ae("nodesDraggable",u,se.setState),Ae("nodesConnectable",c,se.setState),Ae("nodesFocusable",d,se.setState),Ae("edgesFocusable",f,se.setState),Ae("edgesUpdatable",h,se.setState),Ae("elementsSelectable",b,se.setState),Ae("elevateNodesOnSelect",p,se.setState),Ae("snapToGrid",x,se.setState),Ae("snapGrid",w,se.setState),Ae("onNodesChange",y,se.setState),Ae("onEdgesChange",g,se.setState),Ae("connectOnClick",P,se.setState),Ae("fitViewOnInit",A,se.setState),Ae("fitViewOnInitOptions",$,se.setState),Ae("onNodesDelete",M,se.setState),Ae("onEdgesDelete",C,se.setState),Ae("onNodeDrag",O,se.setState),Ae("onNodeDragStart",I,se.setState),Ae("onNodeDragStop",N,se.setState),Ae("onSelectionDrag",R,se.setState),Ae("onSelectionDragStart",D,se.setState),Ae("onSelectionDragStop",L,se.setState),Ae("noPanClassName",j,se.setState),Ae("nodeOrigin",U,se.setState),Ae("rfId",G,se.setState),Ae("autoPanOnConnect",W,se.setState),Ae("autoPanOnNodeDrag",X,se.setState),Ae("onError",Y,se.setState),Ae("connectionRadius",B,se.setState),Ae("isValidConnection",H,se.setState),Dl(e,Q),Dl(t,J),Dl(m,te),Dl(S,xe),Dl(T,ve),Dl(v,ce),null},XT={display:"none"},Pre={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},DI="react-flow__node-desc",LI="react-flow__edge-desc",Are="react-flow__aria-live",kre=e=>e.ariaLiveMessage;function Ore({rfId:e}){const t=Vt(kre);return K.jsx("div",{id:`${Are}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Pre,children:t})}function Rre({rfId:e,disableKeyboardA11y:t}){return K.jsxs(K.Fragment,{children:[K.jsxs("div",{id:`${DI}-${e}`,style:XT,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),K.jsx("div",{id:`${LI}-${e}`,style:XT,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&K.jsx(Ore,{rfId:e})]})}const Ire=(e,t,n)=>n===pe.Left?e-t:n===pe.Right?e+t:e,Mre=(e,t,n)=>n===pe.Top?e-t:n===pe.Bottom?e+t:e,YT="react-flow__edgeupdater",QT=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>K.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:ti([YT,`${YT}-${a}`]),cx:Ire(t,r,e),cy:Mre(n,r,e),r,stroke:"transparent",fill:"transparent"}),Nre=()=>!0;var Ll=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:S,source:v,target:y,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,elementsSelectable:P,hidden:E,sourceHandleId:A,targetHandleId:$,onContextMenu:M,onMouseEnter:C,onMouseMove:O,onMouseLeave:I,edgeUpdaterRadius:N,onEdgeUpdate:R,onEdgeUpdateStart:D,onEdgeUpdateEnd:L,markerEnd:j,markerStart:U,rfId:G,ariaLabel:W,isFocusable:X,isUpdatable:Y,pathOptions:B,interactionWidth:H})=>{const Q=k.useRef(null),[J,ne]=k.useState(!1),[te,xe]=k.useState(!1),ve=Vn(),ce=k.useMemo(()=>`url(#${n2(U,G)})`,[U,G]),Ne=k.useMemo(()=>`url(#${n2(j,G)})`,[j,G]);if(E)return null;const se=Ht=>{const{edges:xt,addSelectedEdges:wr}=ve.getState();if(P&&(ve.setState({nodesSelectionActive:!1}),wr([n])),s){const $r=xt.find(ri=>ri.id===n);s(Ht,$r)}},gt=qc(n,ve.getState,a),vn=qc(n,ve.getState,M),It=qc(n,ve.getState,C),ut=qc(n,ve.getState,O),Je=qc(n,ve.getState,I),Gt=(Ht,xt)=>{if(Ht.button!==0)return;const{edges:wr,isValidConnection:$r}=ve.getState(),ri=xt?y:v,uo=(xt?$:A)||null,Sn=xt?"target":"source",ii=$r||Nre,ca=xt,ki=wr.find(et=>et.id===n);xe(!0),D==null||D(Ht,ki,Sn);const da=et=>{xe(!1),L==null||L(et,ki,Sn)};PI({event:Ht,handleId:uo,nodeId:ri,onConnect:et=>R==null?void 0:R(ki,et),isTarget:ca,getState:ve.getState,setState:ve.setState,isValidConnection:ii,edgeUpdaterType:Sn,onEdgeUpdateEnd:da})},sr=Ht=>Gt(Ht,!0),ni=Ht=>Gt(Ht,!1),Lr=()=>ne(!0),Rn=()=>ne(!1),bn=!P&&!s,Un=Ht=>{var xt;if(hI.includes(Ht.key)&&P){const{unselectNodesAndEdges:wr,addSelectedEdges:$r,edges:ri}=ve.getState();Ht.key==="Escape"?((xt=Q.current)==null||xt.blur(),wr({edges:[ri.find(Sn=>Sn.id===n)]})):$r([n])}};return K.jsxs("g",{className:ti(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:bn,updating:J}]),onClick:se,onDoubleClick:gt,onContextMenu:vn,onMouseEnter:It,onMouseMove:ut,onMouseLeave:Je,onKeyDown:X?Un:void 0,tabIndex:X?0:void 0,role:X?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":W===null?void 0:W||`Edge from ${v} to ${y}`,"aria-describedby":X?`${LI}-${G}`:void 0,ref:Q,children:[!te&&K.jsx(e,{id:n,source:v,target:y,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,data:o,style:S,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,sourceHandleId:A,targetHandleId:$,markerStart:ce,markerEnd:Ne,pathOptions:B,interactionWidth:H}),Y&&K.jsxs(K.Fragment,{children:[(Y==="source"||Y===!0)&&K.jsx(QT,{position:x,centerX:g,centerY:b,radius:N,onMouseDown:sr,onMouseEnter:Lr,onMouseOut:Rn,type:"source"}),(Y==="target"||Y===!0)&&K.jsx(QT,{position:T,centerX:_,centerY:w,radius:N,onMouseDown:ni,onMouseEnter:Lr,onMouseOut:Rn,type:"target"})]})]})};return t.displayName="EdgeWrapper",k.memo(t)};function Dre(e){const t={default:Ll(e.default||$m),straight:Ll(e.bezier||nC),step:Ll(e.step||tC),smoothstep:Ll(e.step||I0),simplebezier:Ll(e.simplebezier||eC)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Ll(e[o]||$m),i),n);return{...t,...r}}function ZT(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case pe.Top:return{x:r+o/2,y:i};case pe.Right:return{x:r+o,y:i+s/2};case pe.Bottom:return{x:r+o/2,y:i+s};case pe.Left:return{x:r,y:i+s/2}}}function JT(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Lre=(e,t,n,r,i,o)=>{const s=ZT(n,e,t),a=ZT(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function $re({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Dm({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),f=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*f)>0}function eE(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[on])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function $I(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:$I(n,t):!1}function tE(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Fre(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!$I(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Bre(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function FI(e,t,n,r,i=[0,0],o){const s=Bre(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:d,y:f}=Mu(c,i).positionAbsolute;a=c&&Kr(d)&&Kr(f)&&Kr(c.width)&&Kr(c.height)?[[d+e.width*i[0],f+e.height*i[1]],[d+c.width-e.width+e.width*i[0],f+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",qs.error005()),a=s;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:d,y:f}=Mu(c,i).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+f],[e.extent[1][0]+d,e.extent[1][1]+f]]}let l={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);l=Mu(c,i).positionAbsolute}const u=a?Jx(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Pb({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const nE=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...Zx(l)}})};function Wc(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function i2({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function jre(){const e=Vn();return k.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Ab(e){return(t,n,r)=>e==null?void 0:e(t,r)}function BI({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=Vn(),[l,u]=k.useState(!1),c=k.useRef([]),d=k.useRef({x:null,y:null}),f=k.useRef(0),h=k.useRef(null),p=k.useRef({x:0,y:0}),m=k.useRef(null),S=k.useRef(!1),v=jre();return k.useEffect(()=>{if(e!=null&&e.current){const y=fi(e.current),g=({x:_,y:w})=>{const{nodeInternals:x,onNodeDrag:T,onSelectionDrag:P,updateNodePositions:E,nodeExtent:A,snapGrid:$,snapToGrid:M,nodeOrigin:C,onError:O}=a.getState();d.current={x:_,y:w};let I=!1;if(c.current=c.current.map(R=>{const D={x:_-R.distance.x,y:w-R.distance.y};M&&(D.x=$[0]*Math.round(D.x/$[0]),D.y=$[1]*Math.round(D.y/$[1]));const L=FI(R,D,x,A,C,O);return I=I||R.position.x!==L.position.x||R.position.y!==L.position.y,R.position=L.position,R.positionAbsolute=L.positionAbsolute,R}),!I)return;E(c.current,!0,!0),u(!0);const N=i?T:Ab(P);if(N&&m.current){const[R,D]=Pb({nodeId:i,dragItems:c.current,nodeInternals:x});N(m.current,R,D)}},b=()=>{if(!h.current)return;const[_,w]=uI(p.current,h.current);if(_!==0||w!==0){const{transform:x,panBy:T}=a.getState();d.current.x=(d.current.x??0)-_/x[2],d.current.y=(d.current.y??0)-w/x[2],T({x:_,y:w})&&g(d.current)}f.current=requestAnimationFrame(b)};if(t)y.on(".drag",null);else{const _=ote().on("start",w=>{var I;const{nodeInternals:x,multiSelectionActive:T,domNode:P,nodesDraggable:E,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:M}=a.getState(),C=i?$:Ab(M);!s&&!T&&i&&((I=x.get(i))!=null&&I.selected||A()),i&&o&&s&&i2({id:i,store:a,nodeRef:e});const O=v(w);if(d.current=O,c.current=Fre(x,E,O,i),C&&c.current){const[N,R]=Pb({nodeId:i,dragItems:c.current,nodeInternals:x});C(w.sourceEvent,N,R)}h.current=(P==null?void 0:P.getBoundingClientRect())||null,p.current=Ms(w.sourceEvent,h.current)}).on("drag",w=>{const x=v(w),{autoPanOnNodeDrag:T}=a.getState();!S.current&&T&&(S.current=!0,b()),(d.current.x!==x.xSnapped||d.current.y!==x.ySnapped)&&c.current&&(m.current=w.sourceEvent,p.current=Ms(w.sourceEvent,h.current),g(x))}).on("end",w=>{if(u(!1),S.current=!1,cancelAnimationFrame(f.current),c.current){const{updateNodePositions:x,nodeInternals:T,onNodeDragStop:P,onSelectionDragStop:E}=a.getState(),A=i?P:Ab(E);if(x(c.current,!1,!1),A){const[$,M]=Pb({nodeId:i,dragItems:c.current,nodeInternals:T});A(w.sourceEvent,$,M)}}}).filter(w=>{const x=w.target;return!w.button&&(!n||!tE(x,`.${n}`,e))&&(!r||tE(x,r,e))});return y.call(_),()=>{y.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,v]),l}function jI(){const e=Vn();return k.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:c}=e.getState(),d=s().filter(y=>y.selected&&(y.draggable||c&&typeof y.draggable>"u")),f=a?l[0]:5,h=a?l[1]:5,p=n.isShiftPressed?4:1,m=n.x*f*p,S=n.y*h*p,v=d.map(y=>{if(y.positionAbsolute){const g={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+S};a&&(g.x=l[0]*Math.round(g.x/l[0]),g.y=l[1]*Math.round(g.y/l[1]));const{positionAbsolute:b,position:_}=FI(y,g,r,i,void 0,u);y.position=_,y.positionAbsolute=b}return y});o(v,!0,!1)},[])}const Nu={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kc=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:c,onMouseEnter:d,onMouseMove:f,onMouseLeave:h,onContextMenu:p,onDoubleClick:m,style:S,className:v,isDraggable:y,isSelectable:g,isConnectable:b,isFocusable:_,selectNodesOnDrag:w,sourcePosition:x,targetPosition:T,hidden:P,resizeObserver:E,dragHandle:A,zIndex:$,isParent:M,noDragClassName:C,noPanClassName:O,initialized:I,disableKeyboardA11y:N,ariaLabel:R,rfId:D})=>{const L=Vn(),j=k.useRef(null),U=k.useRef(x),G=k.useRef(T),W=k.useRef(r),X=g||y||c||d||f||h,Y=jI(),B=Wc(n,L.getState,d),H=Wc(n,L.getState,f),Q=Wc(n,L.getState,h),J=Wc(n,L.getState,p),ne=Wc(n,L.getState,m),te=ce=>{if(g&&(!w||!y)&&i2({id:n,store:L,nodeRef:j}),c){const Ne=L.getState().nodeInternals.get(n);c(ce,{...Ne})}},xe=ce=>{if(!e2(ce))if(hI.includes(ce.key)&&g){const Ne=ce.key==="Escape";i2({id:n,store:L,unselect:Ne,nodeRef:j})}else!N&&y&&u&&Object.prototype.hasOwnProperty.call(Nu,ce.key)&&(L.setState({ariaLiveMessage:`Moved selected node ${ce.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),Y({x:Nu[ce.key].x,y:Nu[ce.key].y,isShiftPressed:ce.shiftKey}))};k.useEffect(()=>{if(j.current&&!P){const ce=j.current;return E==null||E.observe(ce),()=>E==null?void 0:E.unobserve(ce)}},[P]),k.useEffect(()=>{const ce=W.current!==r,Ne=U.current!==x,se=G.current!==T;j.current&&(ce||Ne||se)&&(ce&&(W.current=r),Ne&&(U.current=x),se&&(G.current=T),L.getState().updateNodeDimensions([{id:n,nodeElement:j.current,forceUpdate:!0}]))},[n,r,x,T]);const ve=BI({nodeRef:j,disabled:P||!y,noDragClassName:C,handleSelector:A,nodeId:n,isSelectable:g,selectNodesOnDrag:w});return P?null:K.jsx("div",{className:ti(["react-flow__node",`react-flow__node-${r}`,{[O]:y},v,{selected:u,selectable:g,parent:M,dragging:ve}]),ref:j,style:{zIndex:$,transform:`translate(${a}px,${l}px)`,pointerEvents:X?"all":"none",visibility:I?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:B,onMouseMove:H,onMouseLeave:Q,onContextMenu:J,onClick:te,onDoubleClick:ne,onKeyDown:_?xe:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":N?void 0:`${DI}-${D}`,"aria-label":R,children:K.jsx(ure,{value:n,children:K.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:b,sourcePosition:x,targetPosition:T,dragging:ve,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",k.memo(t)};function Vre(e){const t={input:Kc(e.input||RI),default:Kc(e.default||r2),output:Kc(e.output||MI),group:Kc(e.group||oC)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kc(e[o]||r2),i),n);return{...t,...r}}const zre=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Ure=typeof document<"u"?document:null;var Nf=(e=null,t={target:Ure})=>{const[n,r]=k.useState(!1),i=k.useRef(!1),o=k.useRef(new Set([])),[s,a]=k.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.split("+")),c=u.reduce((d,f)=>d.concat(...f),[]);return[u,c]}return[[],[]]},[e]);return k.useEffect(()=>{var l,u;if(e!==null){const c=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,!i.current&&e2(h))return!1;const p=iE(h.code,a);o.current.add(h[p]),rE(s,o.current,!1)&&(h.preventDefault(),r(!0))},d=h=>{if(!i.current&&e2(h))return!1;const p=iE(h.code,a);rE(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(h[p]),i.current=!1},f=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",d),window.addEventListener("blur",f),()=>{var h,p;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",c),(p=t==null?void 0:t.target)==null||p.removeEventListener("keyup",d),window.removeEventListener("blur",f)}}},[e,r]),n};function rE(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function iE(e,t){return t.includes(e)?"code":"key"}function VI(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Mu(i,r);return VI(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[on])==null?void 0:s.z)??0)>(n.z??0)?((a=i[on])==null?void 0:a.z)??0:n.z??0},r)}function zI(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=VI(r,e,{...r.position,z:((i=r[on])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[on].z=a,n!=null&&n[r.id]&&(r[on].isParent=!0)}})}function kb(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var d;const l=(Kr(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),c={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(c.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(c,on,{enumerable:!1,value:{handleBounds:(d=u==null?void 0:u[on])==null?void 0:d.handleBounds,z:l}}),i.set(a.id,c)}),zI(i,n,o),i}function UI(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(a&&l&&(f||!t.initial)){const p=n().filter(S=>{var y;const v=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(y=t.nodes)!=null&&y.length?v&&t.nodes.some(g=>g.id===S.id):v}),m=p.every(S=>S.width&&S.height);if(p.length>0&&m){const S=_I(p,d),[v,y,g]=CI(S,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),b=Is.translate(v,y).scale(g);return typeof t.duration=="number"&&t.duration>0?a.transform(xa(l,t.duration),b):a.transform(l,b),!0}}return!1}function Gre(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[on]:r[on],selected:n.selected})}),new Map(t)}function Hre(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function kp({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Gre(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Hre(t,o)}),a==null||a(t))}const $l=()=>{},qre={zoomIn:$l,zoomOut:$l,zoomTo:$l,getZoom:()=>1,setViewport:$l,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:$l,fitBounds:$l,project:e=>e,viewportInitialized:!1},Wre=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Kre=()=>{const e=Vn(),{d3Zoom:t,d3Selection:n}=Vt(Wre,br);return k.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(xa(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(xa(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(xa(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Is.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(xa(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>UI(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,d=a/2-i*c,f=l/2-o*c,h=Is.translate(d,f).scale(c);t.transform(xa(n,s==null?void 0:s.duration),h)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[c,d,f]=CI(i,s,a,l,u,(o==null?void 0:o.padding)??.1),h=Is.translate(c,d).scale(f);t.transform(xa(n,o==null?void 0:o.duration),h)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return SI(i,o,s,a)},viewportInitialized:!0}:qre,[t,n])};function GI(){const e=Kre(),t=Vn(),n=k.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=k.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=k.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(S=>({...S}))},[]),o=k.useCallback(m=>{const{edges:S=[]}=t.getState();return S.find(v=>v.id===m)},[]),s=k.useCallback(m=>{const{getNodes:S,setNodes:v,hasDefaultNodes:y,onNodesChange:g}=t.getState(),b=S(),_=typeof m=="function"?m(b):m;if(y)v(_);else if(g){const w=_.length===0?b.map(x=>({type:"remove",id:x.id})):_.map(x=>({item:x,type:"reset"}));g(w)}},[]),a=k.useCallback(m=>{const{edges:S=[],setEdges:v,hasDefaultEdges:y,onEdgesChange:g}=t.getState(),b=typeof m=="function"?m(S):m;if(y)v(b);else if(g){const _=b.length===0?S.map(w=>({type:"remove",id:w.id})):b.map(w=>({item:w,type:"reset"}));g(_)}},[]),l=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{getNodes:v,setNodes:y,hasDefaultNodes:g,onNodesChange:b}=t.getState();if(g){const w=[...v(),...S];y(w)}else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),u=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{edges:v=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:b}=t.getState();if(g)y([...v,...S]);else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),c=k.useCallback(()=>{const{getNodes:m,edges:S=[],transform:v}=t.getState(),[y,g,b]=v;return{nodes:m().map(_=>({..._})),edges:S.map(_=>({..._})),viewport:{x:y,y:g,zoom:b}}},[]),d=k.useCallback(({nodes:m,edges:S})=>{const{nodeInternals:v,getNodes:y,edges:g,hasDefaultNodes:b,hasDefaultEdges:_,onNodesDelete:w,onEdgesDelete:x,onNodesChange:T,onEdgesChange:P}=t.getState(),E=(m||[]).map(O=>O.id),A=(S||[]).map(O=>O.id),$=y().reduce((O,I)=>{const N=!E.includes(I.id)&&I.parentNode&&O.find(D=>D.id===I.parentNode);return(typeof I.deletable=="boolean"?I.deletable:!0)&&(E.includes(I.id)||N)&&O.push(I),O},[]),M=g.filter(O=>typeof O.deletable=="boolean"?O.deletable:!0),C=M.filter(O=>A.includes(O.id));if($||C){const O=xI($,M),I=[...C,...O],N=I.reduce((R,D)=>(R.includes(D.id)||R.push(D.id),R),[]);if((_||b)&&(_&&t.setState({edges:g.filter(R=>!N.includes(R.id))}),b&&($.forEach(R=>{v.delete(R.id)}),t.setState({nodeInternals:new Map(v)}))),N.length>0&&(x==null||x(I),P&&P(N.map(R=>({id:R,type:"remove"})))),$.length>0&&(w==null||w($),T)){const R=$.map(D=>({id:D.id,type:"remove"}));T(R)}}},[]),f=k.useCallback(m=>{const S=nre(m),v=S?null:t.getState().nodeInternals.get(m.id);return[S?m:zT(v),v,S]},[]),h=k.useCallback((m,S=!0,v)=>{const[y,g,b]=f(m);return y?(v||t.getState().getNodes()).filter(_=>{if(!b&&(_.id===g.id||!_.positionAbsolute))return!1;const w=zT(_),x=J_(w,y);return S&&x>0||x>=m.width*m.height}):[]},[]),p=k.useCallback((m,S,v=!0)=>{const[y]=f(m);if(!y)return!1;const g=J_(y,S);return v&&g>0||g>=m.width*m.height},[]);return k.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,i,o,s,a,l,u,c,d,h,p])}var Xre=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Vn(),{deleteElements:r}=GI(),i=Nf(e),o=Nf(t);k.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(c=>c.selected),u=s.filter(c=>c.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),k.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function Yre(e){const t=Vn();k.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=Zx(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",qs.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const sC={position:"absolute",width:"100%",height:"100%",top:0,left:0},Qre=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Ob=e=>({x:e.x,y:e.y,zoom:e.k}),Fl=(e,t)=>e.target.closest(`.${t}`),oE=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Zre=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Jre=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=Iu.Free,zoomOnDoubleClick:u=!0,elementsSelectable:c,panOnDrag:d=!0,defaultViewport:f,translateExtent:h,minZoom:p,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:v=!0,children:y,noWheelClassName:g,noPanClassName:b})=>{const _=k.useRef(),w=Vn(),x=k.useRef(!1),T=k.useRef(!1),P=k.useRef(null),E=k.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:M,userSelectionActive:C}=Vt(Zre,br),O=Nf(S),I=k.useRef(0);return Yre(P),k.useEffect(()=>{if(P.current){const N=P.current.getBoundingClientRect(),R=Xne().scaleExtent([p,m]).translateExtent(h),D=fi(P.current).call(R),L=Is.translate(f.x,f.y).scale(rc(f.zoom,p,m)),j=[[0,0],[N.width,N.height]],U=R.constrain()(L,j,h);R.transform(D,U),w.setState({d3Zoom:R,d3Selection:D,d3ZoomHandler:D.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:P.current.closest(".react-flow")})}},[]),k.useEffect(()=>{$&&A&&(s&&!O&&!C?$.on("wheel.zoom",N=>{if(Fl(N,g))return!1;N.preventDefault(),N.stopImmediatePropagation();const R=$.property("__zoom").k||1;if(N.ctrlKey&&o){const U=$i(N),G=-N.deltaY*(N.deltaMode===1?.05:N.deltaMode?1:.002)*10,W=R*Math.pow(2,G);A.scaleTo($,W,U);return}const D=N.deltaMode===1?20:1,L=l===Iu.Vertical?0:N.deltaX*D,j=l===Iu.Horizontal?0:N.deltaY*D;A.translateBy($,-(L/R)*a,-(j/R)*a)},{passive:!1}):typeof M<"u"&&$.on("wheel.zoom",function(N,R){if(!v||Fl(N,g))return null;N.preventDefault(),M.call(this,N,R)},{passive:!1}))},[C,s,l,$,A,M,O,o,v,g]),k.useEffect(()=>{A&&A.on("start",N=>{var D;if(!N.sourceEvent)return null;I.current=N.sourceEvent.button;const{onViewportChangeStart:R}=w.getState();if(x.current=!0,((D=N.sourceEvent)==null?void 0:D.type)==="mousedown"&&w.setState({paneDragging:!0}),t||R){const L=Ob(N.transform);E.current=L,R==null||R(L),t==null||t(N.sourceEvent,L)}})},[A,t]),k.useEffect(()=>{A&&(C&&!x.current?A.on("zoom",null):C||A.on("zoom",N=>{const{onViewportChange:R}=w.getState();if(w.setState({transform:[N.transform.x,N.transform.y,N.transform.k]}),T.current=!!(r&&oE(d,I.current??0)),e||R){const D=Ob(N.transform);R==null||R(D),e==null||e(N.sourceEvent,D)}}))},[C,A,e,d,r]),k.useEffect(()=>{A&&A.on("end",N=>{if(!N.sourceEvent)return null;const{onViewportChangeEnd:R}=w.getState();if(x.current=!1,w.setState({paneDragging:!1}),r&&oE(d,I.current??0)&&!T.current&&r(N.sourceEvent),T.current=!1,(n||R)&&Qre(E.current,N.transform)){const D=Ob(N.transform);E.current=D,clearTimeout(_.current),_.current=setTimeout(()=>{R==null||R(D),n==null||n(N.sourceEvent,D)},s?150:0)}})},[A,s,d,n,r]),k.useEffect(()=>{A&&A.filter(N=>{const R=O||i,D=o&&N.ctrlKey;if(N.button===1&&N.type==="mousedown"&&(Fl(N,"react-flow__node")||Fl(N,"react-flow__edge")))return!0;if(!d&&!R&&!s&&!u&&!o||C||!u&&N.type==="dblclick"||Fl(N,g)&&N.type==="wheel"||Fl(N,b)&&N.type!=="wheel"||!o&&N.ctrlKey&&N.type==="wheel"||!R&&!s&&!D&&N.type==="wheel"||!d&&(N.type==="mousedown"||N.type==="touchstart")||Array.isArray(d)&&!d.includes(N.button)&&(N.type==="mousedown"||N.type==="touchstart"))return!1;const L=Array.isArray(d)&&d.includes(N.button)||!N.button||N.button<=1;return(!N.ctrlKey||N.type==="wheel")&&L})},[C,A,i,o,s,u,d,c,O]),K.jsx("div",{className:"react-flow__renderer",ref:P,style:sC,children:y})},eie=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function tie(){const{userSelectionActive:e,userSelectionRect:t}=Vt(eie,br);return e&&t?K.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function sE(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function HI(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&sE(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&sE(r,s);break}case"remove":return r}return r.push(s),r},n)}function qI(e,t){return HI(e,t)}function nie(e,t){return HI(e,t)}const ds=(e,t)=>({id:e,type:"select",selected:t});function du(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(ds(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(ds(r.id,!1))),n},[])}const Rb=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},rie=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),WI=k.memo(({isSelecting:e,selectionMode:t=Mf.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:c,children:d})=>{const f=k.useRef(null),h=Vn(),p=k.useRef(0),m=k.useRef(0),S=k.useRef(),{userSelectionActive:v,elementsSelectable:y,dragging:g}=Vt(rie,br),b=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,m.current=0},_=M=>{o==null||o(M),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},w=M=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){M.preventDefault();return}s==null||s(M)},x=a?M=>a(M):void 0,T=M=>{const{resetSelectedElements:C,domNode:O}=h.getState();if(S.current=O==null?void 0:O.getBoundingClientRect(),!y||!e||M.button!==0||M.target!==f.current||!S.current)return;const{x:I,y:N}=Ms(M,S.current);C(),h.setState({userSelectionRect:{width:0,height:0,startX:I,startY:N,x:I,y:N}}),r==null||r(M)},P=M=>{const{userSelectionRect:C,nodeInternals:O,edges:I,transform:N,onNodesChange:R,onEdgesChange:D,nodeOrigin:L,getNodes:j}=h.getState();if(!e||!S.current||!C)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});const U=Ms(M,S.current),G=C.startX??0,W=C.startY??0,X={...C,x:U.xJ.id),Q=B.map(J=>J.id);if(p.current!==Q.length){p.current=Q.length;const J=du(Y,Q);J.length&&(R==null||R(J))}if(m.current!==H.length){m.current=H.length;const J=du(I,H);J.length&&(D==null||D(J))}h.setState({userSelectionRect:X})},E=M=>{if(M.button!==0)return;const{userSelectionRect:C}=h.getState();!v&&C&&M.target===f.current&&(_==null||_(M)),h.setState({nodesSelectionActive:p.current>0}),b(),i==null||i(M)},A=M=>{v&&(h.setState({nodesSelectionActive:p.current>0}),i==null||i(M)),b()},$=y&&(e||v);return K.jsxs("div",{className:ti(["react-flow__pane",{dragging:g,selection:e}]),onClick:$?void 0:Rb(_,f),onContextMenu:Rb(w,f),onWheel:Rb(x,f),onMouseEnter:$?void 0:l,onMouseDown:$?T:void 0,onMouseMove:$?P:u,onMouseUp:$?E:void 0,onMouseLeave:$?A:c,ref:f,style:sC,children:[d,K.jsx(tie,{})]})});WI.displayName="Pane";const iie=e=>{const t=e.getNodes().filter(n=>n.selected);return{..._I(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function oie({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Vn(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Vt(iie,br),c=jI(),d=k.useRef(null);if(k.useEffect(()=>{var p;n||(p=d.current)==null||p.focus({preventScroll:!0})},[n]),BI({nodeRef:d}),u||!i||!o)return null;const f=e?p=>{const m=r.getState().getNodes().filter(S=>S.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(Nu,p.key)&&c({x:Nu[p.key].x,y:Nu[p.key].y,isShiftPressed:p.shiftKey})};return K.jsx("div",{className:ti(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:K.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:o,top:a,left:s}})})}var sie=k.memo(oie);const aie=e=>e.nodesSelectionActive,KI=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:v,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:E,defaultViewport:A,translateExtent:$,minZoom:M,maxZoom:C,preventScrolling:O,onSelectionContextMenu:I,noWheelClassName:N,noPanClassName:R,disableKeyboardA11y:D})=>{const L=Vt(aie),j=Nf(d),G=Nf(v)||E,W=j||f&&G!==!0;return Xre({deleteKeyCode:a,multiSelectionKeyCode:S}),K.jsx(Jre,{onMove:l,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:o,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:!j&&G,defaultViewport:A,translateExtent:$,minZoom:M,maxZoom:C,zoomActivationKeyCode:y,preventScrolling:O,noWheelClassName:N,noPanClassName:R,children:K.jsxs(WI,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:G,isSelecting:!!W,selectionMode:h,children:[e,L&&K.jsx(sie,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:D})]})})};KI.displayName="FlowRenderer";var lie=k.memo(KI);function uie(e){return Vt(k.useCallback(n=>e?wI(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const cie=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),XI=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Vt(cie,br),a=uie(e.onlyRenderVisibleElements),l=k.useRef(),u=k.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(d=>{const f=d.map(h=>({id:h.target.getAttribute("data-id"),nodeElement:h.target,forceUpdate:!0}));o(f)});return l.current=c,c},[]);return k.useEffect(()=>()=>{var c;(c=l==null?void 0:l.current)==null||c.disconnect()},[]),K.jsx("div",{className:"react-flow__nodes",style:sC,children:a.map(c=>{var _,w;let d=c.type||"default";e.nodeTypes[d]||(s==null||s("003",qs.error003(d)),d="default");const f=e.nodeTypes[d]||e.nodeTypes.default,h=!!(c.draggable||t&&typeof c.draggable>"u"),p=!!(c.selectable||i&&typeof c.selectable>"u"),m=!!(c.connectable||n&&typeof c.connectable>"u"),S=!!(c.focusable||r&&typeof c.focusable>"u"),v=e.nodeExtent?Jx(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,y=(v==null?void 0:v.x)??0,g=(v==null?void 0:v.y)??0,b=zre({x:y,y:g,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return K.jsx(f,{id:c.id,className:c.className,style:c.style,type:d,data:c.data,sourcePosition:c.sourcePosition||pe.Bottom,targetPosition:c.targetPosition||pe.Top,hidden:c.hidden,xPos:y,yPos:g,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:h,isSelectable:p,isConnectable:m,isFocusable:S,resizeObserver:u,dragHandle:c.dragHandle,zIndex:((_=c[on])==null?void 0:_.z)??0,isParent:!!((w=c[on])!=null&&w.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel},c.id)})})};XI.displayName="NodeRenderer";var die=k.memo(XI);const fie=[{level:0,isMaxLevel:!0,edges:[]}];function hie(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var c,d;const l=Kr(a.zIndex);let u=l?a.zIndex:0;if(n){const f=t.get(a.target),h=t.get(a.source),p=a.selected||(f==null?void 0:f.selected)||(h==null?void 0:h.selected),m=Math.max(((c=h==null?void 0:h[on])==null?void 0:c.z)||0,((d=f==null?void 0:f[on])==null?void 0:d.z)||0,1e3);u=(l?a.zIndex:0)+(p?m:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?fie:o}function pie(e,t,n){const r=Vt(k.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&$re({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return hie(r,t,n)}const gie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),mie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),aE={[Lm.Arrow]:gie,[Lm.ArrowClosed]:mie};function yie(e){const t=Vn();return k.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(aE,e)?aE[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",qs.error009(e)),null)},[e])}const vie=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=yie(t);return l?K.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:K.jsx(l,{color:n,strokeWidth:s})}):null},bie=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=n2(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},YI=({defaultColor:e,rfId:t})=>{const n=Vt(k.useCallback(bie({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return K.jsx("defs",{children:n.map(r=>K.jsx(vie,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};YI.displayName="MarkerDefinitions";var Sie=k.memo(YI);const _ie=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),QI=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:c,onEdgeClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,children:S})=>{const{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:g,width:b,height:_,connectionMode:w,nodeInternals:x,onError:T}=Vt(_ie,br),P=pie(t,x,n);return b?K.jsxs(K.Fragment,{children:[P.map(({level:E,edges:A,isMaxLevel:$})=>K.jsxs("svg",{style:{zIndex:E},width:b,height:_,className:"react-flow__edges react-flow__container",children:[$&&K.jsx(Sie,{defaultColor:e,rfId:r}),K.jsx("g",{children:A.map(M=>{const[C,O,I]=eE(x.get(M.source)),[N,R,D]=eE(x.get(M.target));if(!I||!D)return null;let L=M.type||"default";i[L]||(T==null||T("011",qs.error011(L)),L="default");const j=i[L]||i.default,U=w===nl.Strict?R.target:(R.target??[]).concat(R.source??[]),G=JT(O.source,M.sourceHandle),W=JT(U,M.targetHandle),X=(G==null?void 0:G.position)||pe.Bottom,Y=(W==null?void 0:W.position)||pe.Top,B=!!(M.focusable||v&&typeof M.focusable>"u"),H=typeof s<"u"&&(M.updatable||y&&typeof M.updatable>"u");if(!G||!W)return T==null||T("008",qs.error008(G,M)),null;const{sourceX:Q,sourceY:J,targetX:ne,targetY:te}=Lre(C,G,X,N,W,Y);return K.jsx(j,{id:M.id,className:ti([M.className,o]),type:L,data:M.data,selected:!!M.selected,animated:!!M.animated,hidden:!!M.hidden,label:M.label,labelStyle:M.labelStyle,labelShowBg:M.labelShowBg,labelBgStyle:M.labelBgStyle,labelBgPadding:M.labelBgPadding,labelBgBorderRadius:M.labelBgBorderRadius,style:M.style,source:M.source,target:M.target,sourceHandleId:M.sourceHandle,targetHandleId:M.targetHandle,markerEnd:M.markerEnd,markerStart:M.markerStart,sourceX:Q,sourceY:J,targetX:ne,targetY:te,sourcePosition:X,targetPosition:Y,elementsSelectable:g,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:c,onClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,rfId:r,ariaLabel:M.ariaLabel,isFocusable:B,isUpdatable:H,pathOptions:"pathOptions"in M?M.pathOptions:void 0,interactionWidth:M.interactionWidth},M.id)})})]},E)),S]}):null};QI.displayName="EdgeRenderer";var wie=k.memo(QI);const xie=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Cie({children:e}){const t=Vt(xie);return K.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Tie(e){const t=GI(),n=k.useRef(!1);k.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Eie={[pe.Left]:pe.Right,[pe.Right]:pe.Left,[pe.Top]:pe.Bottom,[pe.Bottom]:pe.Top},ZI=({nodeId:e,handleType:t,style:n,type:r=ys.Bezier,CustomComponent:i,connectionStatus:o})=>{var w,x,T;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:c}=Vt(k.useCallback(P=>({fromNode:P.nodeInternals.get(e),handleId:P.connectionHandleId,toX:(P.connectionPosition.x-P.transform[0])/P.transform[2],toY:(P.connectionPosition.y-P.transform[1])/P.transform[2],connectionMode:P.connectionMode}),[e]),br),d=(w=s==null?void 0:s[on])==null?void 0:w.handleBounds;let f=d==null?void 0:d[t];if(c===nl.Loose&&(f=f||(d==null?void 0:d[t==="source"?"target":"source"])),!s||!f)return null;const h=a?f.find(P=>P.id===a):f[0],p=h?h.x+h.width/2:(s.width??0)/2,m=h?h.y+h.height/2:s.height??0,S=(((x=s.positionAbsolute)==null?void 0:x.x)??0)+p,v=(((T=s.positionAbsolute)==null?void 0:T.y)??0)+m,y=h==null?void 0:h.position,g=y?Eie[y]:null;if(!y||!g)return null;if(i)return K.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:h,fromX:S,fromY:v,toX:l,toY:u,fromPosition:y,toPosition:g,connectionStatus:o});let b="";const _={sourceX:S,sourceY:v,sourcePosition:y,targetX:l,targetY:u,targetPosition:g};return r===ys.Bezier?[b]=vI(_):r===ys.Step?[b]=t2({..._,borderRadius:0}):r===ys.SmoothStep?[b]=t2(_):r===ys.SimpleBezier?[b]=yI(_):b=`M${S},${v} ${l},${u}`,K.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};ZI.displayName="ConnectionLine";const Pie=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Aie({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Vt(Pie,br);return!(i&&o&&a&&s)?null:K.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:K.jsx("g",{className:ti(["react-flow__connection",u]),children:K.jsx(ZI,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const JI=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:S,connectionLineType:v,connectionLineStyle:y,connectionLineComponent:g,connectionLineContainerStyle:b,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:M,selectNodesOnDrag:C,defaultViewport:O,translateExtent:I,minZoom:N,maxZoom:R,preventScrolling:D,defaultMarkerColor:L,zoomOnScroll:j,zoomOnPinch:U,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,zoomOnDoubleClick:Y,panOnDrag:B,onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:te,onPaneContextMenu:xe,onEdgeUpdate:ve,onEdgeContextMenu:ce,onEdgeMouseEnter:Ne,onEdgeMouseMove:se,onEdgeMouseLeave:gt,edgeUpdaterRadius:vn,onEdgeUpdateStart:It,onEdgeUpdateEnd:ut,noDragClassName:Je,noWheelClassName:Gt,noPanClassName:sr,elevateEdgesOnSelect:ni,disableKeyboardA11y:Lr,nodeOrigin:Rn,nodeExtent:bn,rfId:Un})=>(Tie(o),K.jsx(lie,{onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:xe,onPaneScroll:te,deleteKeyCode:A,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,elementsSelectable:M,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:j,zoomOnPinch:U,zoomOnDoubleClick:Y,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,panOnDrag:B,defaultViewport:O,translateExtent:I,minZoom:N,maxZoom:R,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:Je,noWheelClassName:Gt,noPanClassName:sr,disableKeyboardA11y:Lr,children:K.jsxs(Cie,{children:[K.jsx(wie,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:ve,onlyRenderVisibleElements:$,onEdgeContextMenu:ce,onEdgeMouseEnter:Ne,onEdgeMouseMove:se,onEdgeMouseLeave:gt,onEdgeUpdateStart:It,onEdgeUpdateEnd:ut,edgeUpdaterRadius:vn,defaultMarkerColor:L,noPanClassName:sr,elevateEdgesOnSelect:!!ni,disableKeyboardA11y:Lr,rfId:Un,children:K.jsx(Aie,{style:y,type:v,component:g,containerStyle:b})}),K.jsx("div",{className:"react-flow__edgelabel-renderer"}),K.jsx(die,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:C,onlyRenderVisibleElements:$,noPanClassName:sr,noDragClassName:Je,disableKeyboardA11y:Lr,nodeOrigin:Rn,nodeExtent:bn,rfId:Un})]})}));JI.displayName="GraphView";var kie=k.memo(JI);const o2=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],rs={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:o2,nodeExtent:o2,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:nl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:rre,isValidConnection:void 0},Oie=()=>gJ((e,t)=>({...rs,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:kb(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?kb(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),c=l==null?void 0:l.querySelector(".react-flow__viewport");if(!c)return;const d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((m,S)=>{const v=i.get(S.id);if(v){const y=Zx(S.nodeElement);!!(y.width&&y.height&&(v.width!==y.width||v.height!==y.height||S.forceUpdate))&&(i.set(v.id,{...v,[on]:{...v[on],handleBounds:{source:nE(".source",S.nodeElement,f,u),target:nE(".target",S.nodeElement,f,u)}},...y}),m.push({id:v.id,type:"dimensions",dimensions:y}))}return m},[]);zI(i,u);const p=s||o&&!s&&UI(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),(h==null?void 0:h.length)>0&&(r==null||r(h))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=qI(n,a()),c=kb(u,i,s,l);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=du(o(),n),a=du(i,[])),kp({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=du(i,n),a=du(o(),[])),kp({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(c=>(c.selected=!1,ds(c.id,!1))),u=a.map(c=>ds(c.id,!1));kp({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>ds(a.id,!1)),s=n.filter(a=>a.selected).map(a=>ds(a.id,!1));kp({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=Jx(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=Is.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[i,o]],d=s==null?void 0:s.constrain()(u,c,l);return s.transform(a,d),r[0]!==d.x||r[1]!==d.y||r[2]!==d.k},cancelConnection:()=>e({connectionNodeId:rs.connectionNodeId,connectionHandleId:rs.connectionHandleId,connectionHandleType:rs.connectionHandleType,connectionStatus:rs.connectionStatus,connectionStartHandle:rs.connectionStartHandle,connectionEndHandle:rs.connectionEndHandle}),reset:()=>e({...rs})})),eM=({children:e})=>{const t=k.useRef(null);return t.current||(t.current=Oie()),K.jsx(Yne,{value:t.current,children:e})};eM.displayName="ReactFlowProvider";const tM=({children:e})=>k.useContext(R0)?K.jsx(K.Fragment,{children:e}):K.jsx(eM,{children:e});tM.displayName="ReactFlowWrapper";function lE(e,t){return k.useRef(null),k.useMemo(()=>t(e),[e])}const Rie={input:RI,default:r2,output:MI,group:oC},Iie={default:$m,straight:nC,step:tC,smoothstep:I0,simplebezier:eC},Mie=[0,0],Nie=[15,15],Die={x:0,y:0,zoom:1},Lie={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},$ie=k.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Rie,edgeTypes:s=Iie,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onNodesDelete:E,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:M,onSelectionDrag:C,onSelectionDragStop:O,onSelectionContextMenu:I,onSelectionStart:N,onSelectionEnd:R,connectionMode:D=nl.Strict,connectionLineType:L=ys.Bezier,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,deleteKeyCode:W="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:Y=!1,selectionMode:B=Mf.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:Q="Meta",zoomActivationKeyCode:J="Meta",snapToGrid:ne=!1,snapGrid:te=Nie,onlyRenderVisibleElements:xe=!1,selectNodesOnDrag:ve=!0,nodesDraggable:ce,nodesConnectable:Ne,nodesFocusable:se,nodeOrigin:gt=Mie,edgesFocusable:vn,edgesUpdatable:It,elementsSelectable:ut,defaultViewport:Je=Die,minZoom:Gt=.5,maxZoom:sr=2,translateExtent:ni=o2,preventScrolling:Lr=!0,nodeExtent:Rn,defaultMarkerColor:bn="#b1b1b7",zoomOnScroll:Un=!0,zoomOnPinch:Ht=!0,panOnScroll:xt=!1,panOnScrollSpeed:wr=.5,panOnScrollMode:$r=Iu.Free,zoomOnDoubleClick:ri=!0,panOnDrag:uo=!0,onPaneClick:Sn,onPaneMouseEnter:ii,onPaneMouseMove:ca,onPaneMouseLeave:ki,onPaneScroll:da,onPaneContextMenu:Ct,children:et,onEdgeUpdate:_n,onEdgeContextMenu:ln,onEdgeDoubleClick:In,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Oi,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:wn,edgeUpdaterRadius:co=10,onNodesChange:Zo,onEdgesChange:Jo,noDragClassName:Al="nodrag",noWheelClassName:fo="nowheel",noPanClassName:qn="nopan",fitView:fa=!1,fitViewOptions:h1,connectOnClick:p1=!0,attributionPosition:g1,proOptions:m1,defaultEdgeOptions:es,elevateNodesOnSelect:y1=!0,elevateEdgesOnSelect:v1=!1,disableKeyboardA11y:Hh=!1,autoPanOnConnect:b1=!0,autoPanOnNodeDrag:S1=!0,connectionRadius:_1=20,isValidConnection:Ac,onError:w1,style:kl,id:Ol,...x1},Rl)=>{const qh=lE(o,Vre),C1=lE(s,Dre),kc=Ol||"1";return K.jsx("div",{...x1,style:{...kl,...Lie},ref:Rl,className:ti(["react-flow",i]),"data-testid":"rf__wrapper",id:Ol,children:K.jsxs(tM,{children:[K.jsx(kie,{onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,nodeTypes:qh,edgeTypes:C1,connectionLineType:L,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,selectionKeyCode:X,selectionOnDrag:Y,selectionMode:B,deleteKeyCode:W,multiSelectionKeyCode:Q,panActivationKeyCode:H,zoomActivationKeyCode:J,onlyRenderVisibleElements:xe,selectNodesOnDrag:ve,defaultViewport:Je,translateExtent:ni,minZoom:Gt,maxZoom:sr,preventScrolling:Lr,zoomOnScroll:Un,zoomOnPinch:Ht,zoomOnDoubleClick:ri,panOnScroll:xt,panOnScrollSpeed:wr,panOnScrollMode:$r,panOnDrag:uo,onPaneClick:Sn,onPaneMouseEnter:ii,onPaneMouseMove:ca,onPaneMouseLeave:ki,onPaneScroll:da,onPaneContextMenu:Ct,onSelectionContextMenu:I,onSelectionStart:N,onSelectionEnd:R,onEdgeUpdate:_n,onEdgeContextMenu:ln,onEdgeDoubleClick:In,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Oi,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:wn,edgeUpdaterRadius:co,defaultMarkerColor:bn,noDragClassName:Al,noWheelClassName:fo,noPanClassName:qn,elevateEdgesOnSelect:v1,rfId:kc,disableKeyboardA11y:Hh,nodeOrigin:gt,nodeExtent:Rn}),K.jsx(Ere,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,nodesDraggable:ce,nodesConnectable:Ne,nodesFocusable:se,edgesFocusable:vn,edgesUpdatable:It,elementsSelectable:ut,elevateNodesOnSelect:y1,minZoom:Gt,maxZoom:sr,nodeExtent:Rn,onNodesChange:Zo,onEdgesChange:Jo,snapToGrid:ne,snapGrid:te,connectionMode:D,translateExtent:ni,connectOnClick:p1,defaultEdgeOptions:es,fitView:fa,fitViewOptions:h1,onNodesDelete:E,onEdgesDelete:A,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onSelectionDrag:C,onSelectionDragStart:M,onSelectionDragStop:O,noPanClassName:qn,nodeOrigin:gt,rfId:kc,autoPanOnConnect:b1,autoPanOnNodeDrag:S1,onError:w1,connectionRadius:_1,isValidConnection:Ac}),K.jsx(Cre,{onSelectionChange:$}),et,K.jsx(Jne,{proOptions:m1,position:g1}),K.jsx(Rre,{rfId:kc,disableKeyboardA11y:Hh})]})})});$ie.displayName="ReactFlow";var nM={},M0={},N0={};Object.defineProperty(N0,"__esModule",{value:!0});N0.createLogMethods=void 0;var Fie=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};N0.createLogMethods=Fie;var aC={},D0={};Object.defineProperty(D0,"__esModule",{value:!0});D0.boolean=void 0;const Bie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};D0.boolean=Bie;var L0={};Object.defineProperty(L0,"__esModule",{value:!0});L0.isBooleanable=void 0;const jie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};L0.isBooleanable=jie;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=D0;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=L0;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(aC);var uE=Object.prototype.toString,rM=function(t){var n=uE.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&uE.call(t.callee)==="[object Function]"),r},Ib,cE;function Vie(){if(cE)return Ib;cE=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=rM,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(f){var h=f.constructor;return h&&h.prototype===f},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},c=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!u["$"+f]&&t.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{l(window[f])}catch{return!0}}catch{return!0}return!1}(),d=function(f){if(typeof window>"u"||!c)return l(f);try{return l(f)}catch{return!1}};e=function(h){var p=h!==null&&typeof h=="object",m=n.call(h)==="[object Function]",S=r(h),v=p&&n.call(h)==="[object String]",y=[];if(!p&&!m&&!S)throw new TypeError("Object.keys called on a non-object");var g=s&&m;if(v&&h.length>0&&!t.call(h,0))for(var b=0;b0)for(var _=0;_"u"||!cn?Oe:cn(Uint8Array),Ua={"%AggregateError%":typeof AggregateError>"u"?Oe:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Oe:ArrayBuffer,"%ArrayIteratorPrototype%":Bl&&cn?cn([][Symbol.iterator]()):Oe,"%AsyncFromSyncIteratorPrototype%":Oe,"%AsyncFunction%":Yl,"%AsyncGenerator%":Yl,"%AsyncGeneratorFunction%":Yl,"%AsyncIteratorPrototype%":Yl,"%Atomics%":typeof Atomics>"u"?Oe:Atomics,"%BigInt%":typeof BigInt>"u"?Oe:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Oe:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Oe:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Oe:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Oe:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Oe:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Oe:FinalizationRegistry,"%Function%":oM,"%GeneratorFunction%":Yl,"%Int8Array%":typeof Int8Array>"u"?Oe:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Oe:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Oe:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Bl&&cn?cn(cn([][Symbol.iterator]())):Oe,"%JSON%":typeof JSON=="object"?JSON:Oe,"%Map%":typeof Map>"u"?Oe:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Bl||!cn?Oe:cn(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Oe:Promise,"%Proxy%":typeof Proxy>"u"?Oe:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Oe:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Oe:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Bl||!cn?Oe:cn(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Oe:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Bl&&cn?cn(""[Symbol.iterator]()):Oe,"%Symbol%":Bl?Symbol:Oe,"%SyntaxError%":ic,"%ThrowTypeError%":roe,"%TypedArray%":ooe,"%TypeError%":Du,"%Uint8Array%":typeof Uint8Array>"u"?Oe:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Oe:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Oe:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Oe:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Oe:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Oe:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Oe:WeakSet};if(cn)try{null.error}catch(e){var soe=cn(cn(e));Ua["%Error.prototype%"]=soe}var aoe=function e(t){var n;if(t==="%AsyncFunction%")n=Nb("async function () {}");else if(t==="%GeneratorFunction%")n=Nb("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Nb("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&cn&&(n=cn(i.prototype))}return Ua[t]=n,n},gE={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},_h=iM,Bm=noe,loe=_h.call(Function.call,Array.prototype.concat),uoe=_h.call(Function.apply,Array.prototype.splice),mE=_h.call(Function.call,String.prototype.replace),jm=_h.call(Function.call,String.prototype.slice),coe=_h.call(Function.call,RegExp.prototype.exec),doe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,foe=/\\(\\)?/g,hoe=function(t){var n=jm(t,0,1),r=jm(t,-1);if(n==="%"&&r!=="%")throw new ic("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new ic("invalid intrinsic syntax, expected opening `%`");var i=[];return mE(t,doe,function(o,s,a,l){i[i.length]=a?mE(l,foe,"$1"):s||o}),i},poe=function(t,n){var r=t,i;if(Bm(gE,r)&&(i=gE[r],r="%"+i[0]+"%"),Bm(Ua,r)){var o=Ua[r];if(o===Yl&&(o=aoe(r)),typeof o>"u"&&!n)throw new Du("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new ic("intrinsic "+t+" does not exist!")},goe=function(t,n){if(typeof t!="string"||t.length===0)throw new Du("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Du('"allowMissing" argument must be a boolean');if(coe(/^%?[^%]*%?$/,t)===null)throw new ic("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=hoe(t),i=r.length>0?r[0]:"",o=poe("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],uoe(r,loe([0,1],u)));for(var c=1,d=!0;c=r.length){var m=za(a,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?a=m.get:a=a[f]}else d=Bm(a,f),a=a[f];d&&!l&&(Ua[s]=a)}}return a},moe=goe,s2=moe("%Object.defineProperty%",!0),a2=function(){if(s2)try{return s2({},"a",{value:1}),!0}catch{return!1}return!1};a2.hasArrayLengthDefineBug=function(){if(!a2())return null;try{return s2([],"length",{value:1}).length!==1}catch{return!0}};var yoe=a2,voe=Gie,boe=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",Soe=Object.prototype.toString,_oe=Array.prototype.concat,sM=Object.defineProperty,woe=function(e){return typeof e=="function"&&Soe.call(e)==="[object Function]"},xoe=yoe(),aM=sM&&xoe,Coe=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!woe(r)||!r())return}aM?sM(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},lM=function(e,t){var n=arguments.length>2?arguments[2]:{},r=voe(t);boe&&(r=_oe.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};j0.testComparisonRange=Hoe;var V0={};Object.defineProperty(V0,"__esModule",{value:!0});V0.testRange=void 0;var qoe=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};V0.testRange=qoe;(function(e){var t=Ee&&Ee.__assign||function(){return t=Object.assign||function(c){for(var d,f=1,h=arguments.length;f0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,Xoe.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};z0.highlight=Qoe;var U0={},gM={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(Ee,function(){function t(u,c,d){return this.id=++t.highestId,this.name=u,this.symbols=c,this.postprocess=d,this}t.highestId=0,t.prototype.toString=function(u){var c=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+c};function n(u,c,d,f){this.rule=u,this.dot=c,this.reference=d,this.data=[],this.wantedBy=f,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var c=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return c.left=this,c.right=u,c.isComplete&&(c.data=c.build(),c.right=void 0),c},n.prototype.build=function(){var u=[],c=this;do u.push(c.right.data),c=c.left;while(c.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,c){this.grammar=u,this.index=c,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var c=this.states,d=this.wants,f=this.completed,h=0;h0&&c.push(" ^ "+f+" more lines identical to this"),f=0,c.push(" "+m)),d=m}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,c){if(c.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var d=u.wantedBy[0],f=[u].concat(c),h=this.buildFirstStateStack(d,f);return h===null?null:[u].concat(h)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var c=u.index;this.current=c,this.table[c]=u,this.table.splice(c+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],c=this.grammar.start,d=this.table[this.table.length-1];return d.states.forEach(function(f){f.rule.name===c&&f.dot===f.rule.symbols.length&&f.reference===0&&f.data!==s.fail&&u.push(f)}),u.map(function(f){return f.data})};function a(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(gM);var Zoe=gM.exports,rl={},mM={},na={};na.__esModule=void 0;na.__esModule=!0;var Joe=typeof Object.setPrototypeOf=="function",ese=typeof Object.getPrototypeOf=="function",tse=typeof Object.defineProperty=="function",nse=typeof Object.create=="function",rse=typeof Object.prototype.hasOwnProperty=="function",ise=function(t,n){Joe?Object.setPrototypeOf(t,n):t.__proto__=n};na.setPrototypeOf=ise;var ose=function(t){return ese?Object.getPrototypeOf(t):t.__proto__||t.prototype};na.getPrototypeOf=ose;var yE=!1,sse=function e(t,n,r){if(tse&&!yE)try{Object.defineProperty(t,n,r)}catch{yE=!0,e(t,n,r)}else t[n]=r.value};na.defineProperty=sse;var yM=function(t,n){return rse?t.hasOwnProperty(t,n):t[n]===void 0};na.hasOwnProperty=yM;var ase=function(t,n){if(nse)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)yM(n,o)&&(i[o]=n[o].value);return i};na.objectCreate=ase;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=na,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var c=this.constructor,d=c.name||function(){var S=c.toString().match(/^function\s*([^\s(]+)/);return S===null?a||"Error":S[1]}(),f=d==="Error",h=f?a:d,p=Error.apply(this,arguments);if(n(p,r(this)),!(p instanceof c)||!(p instanceof l)){var p=this;Error.apply(this,arguments),i(p,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(p,"name",{configurable:!0,enumerable:!1,value:h,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(p,f?l:c),p.stack===void 0){var m=new Error(u);m.name=p.name,p.stack=m.stack}return s&&i(p,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),p}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(mM);var vM=Ee&&Ee.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(rl,"__esModule",{value:!0});rl.SyntaxError=rl.LiqeError=void 0;var lse=mM,bM=function(e){vM(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(lse.ExtendableError);rl.LiqeError=bM;var use=function(e){vM(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(bM);rl.SyntaxError=use;var cC={},Vm=Ee&&Ee.__assign||function(){return Vm=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:po},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};cC.default=cse;var SM={},G0={},Ch={};Object.defineProperty(Ch,"__esModule",{value:!0});Ch.isSafePath=void 0;var dse=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,fse=function(e){return dse.test(e)};Ch.isSafePath=fse;Object.defineProperty(G0,"__esModule",{value:!0});G0.createGetValueFunctionBody=void 0;var hse=Ch,pse=function(e){if(!(0,hse.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};G0.createGetValueFunctionBody=pse;(function(e){var t=Ee&&Ee.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,Sse=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new wM.default.Parser(vse),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(bse);throw r?new gse.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,yse.hydrateAst)(n[0]);return i};U0.parse=Sse;var H0={};Object.defineProperty(H0,"__esModule",{value:!0});H0.test=void 0;var _se=wh,wse=function(e,t){return(0,_se.filter)(e,[t]).length===1};H0.test=wse;var xM={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,c=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(c?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,c=" ".repeat(a.location.start-l.location.end);return u+l.operator+c+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(xM);var q0={};Object.defineProperty(q0,"__esModule",{value:!0});q0.isSafeUnquotedExpression=void 0;var xse=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};q0.isSafeUnquotedExpression=xse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=wh;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=z0;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=U0;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=H0;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=rl;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=xM;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=q0;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(pM);var Th={},CM={},il={};Object.defineProperty(il,"__esModule",{value:!0});il.ROARR_LOG_FORMAT_VERSION=il.ROARR_VERSION=void 0;il.ROARR_VERSION="5.0.0";il.ROARR_LOG_FORMAT_VERSION="2.0.0";var Eh={};Object.defineProperty(Eh,"__esModule",{value:!0});Eh.logLevels=void 0;Eh.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var TM={},W0={};Object.defineProperty(W0,"__esModule",{value:!0});W0.hasOwnProperty=void 0;const Cse=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);W0.hasOwnProperty=Cse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=W0;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(TM);var EM={},K0={},X0={};Object.defineProperty(X0,"__esModule",{value:!0});X0.tokenize=void 0;const Tse=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,Ese=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Tse.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};X0.tokenize=Ese;Object.defineProperty(K0,"__esModule",{value:!0});K0.createPrintf=void 0;const vE=aC,Pse=X0,Ase=(e,t)=>t.placeholder,kse=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Ase,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Pse.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let c=s[u.position];if(c===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=vE.boolean(c)?"true":"false";else if(u.conversion==="B")l+=vE.boolean(c)?"TRUE":"FALSE";else if(u.conversion==="c")l+=c;else if(u.conversion==="C")l+=String(c).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")c=String(Math.trunc(c)),u.width!==null&&(c=n(c,u.width,u.flag)),l+=c;else if(u.conversion==="e")l+=Number(c).toExponential();else if(u.conversion==="E")l+=Number(c).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(c=Number(c).toFixed(u.precision)),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="o")l+=(Number.parseInt(String(c),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="S")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=String(c).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(c),10)>>>0;else if(u.conversion==="x")c=(Number.parseInt(String(c),10)>>>0).toString(16),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else throw new Error("Unknown format specifier.")}return l}};K0.createPrintf=kse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=K0;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(EM);var l2={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=S();r.configure=S,r.stringify=r,r.default=r,t.stringify=r,t.configure=S,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(v){return v.length<5e3&&!i.test(v)?`"${v}"`:JSON.stringify(v)}function s(v){if(v.length>200)return v.sort();for(let y=1;yg;)v[b]=v[b-1],b--;v[b]=g}return v}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(v){return a.call(v)!==void 0&&v.length!==0}function u(v,y,g){v.length= 1`)}return g===void 0?1/0:g}function h(v){return v===1?"1 item":`${v} items`}function p(v){const y=new Set;for(const g of v)(typeof g=="string"||typeof g=="number")&&y.add(String(g));return y}function m(v){if(n.call(v,"strict")){const y=v.strict;if(typeof y!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(y)return g=>{let b=`Object can not safely be stringified. Received type ${typeof g}`;throw typeof g!="function"&&(b+=` (${g.toString()})`),new Error(b)}}}function S(v){v={...v};const y=m(v);y&&(v.bigint===void 0&&(v.bigint=!1),"circularValue"in v||(v.circularValue=Error));const g=c(v),b=d(v,"bigint"),_=d(v,"deterministic"),w=f(v,"maximumDepth"),x=f(v,"maximumBreadth");function T(M,C,O,I,N,R){let D=C[M];switch(typeof D=="object"&&D!==null&&typeof D.toJSON=="function"&&(D=D.toJSON(M)),D=I.call(C,M,D),typeof D){case"string":return o(D);case"object":{if(D===null)return"null";if(O.indexOf(D)!==-1)return g;let L="",j=",";const U=R;if(Array.isArray(D)){if(D.length===0)return"[]";if(wx){const ne=D.length-x-1;L+=`${j}"... ${h(ne)} not stringified"`}return N!==""&&(L+=` +${U}`),O.pop(),`[${L}]`}let G=Object.keys(D);const W=G.length;if(W===0)return"{}";if(wx){const H=W-x;L+=`${Y}"...":${X}"${h(H)} not stringified"`,Y=j}return N!==""&&Y.length>1&&(L=` +${R}${L} +${U}`),O.pop(),`{${L}}`}case"number":return isFinite(D)?String(D):y?y(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(D);default:return y?y(D):void 0}}function P(M,C,O,I,N,R){switch(typeof C=="object"&&C!==null&&typeof C.toJSON=="function"&&(C=C.toJSON(M)),typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(O.indexOf(C)!==-1)return g;const D=R;let L="",j=",";if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const B=C.length-x-1;L+=`${j}"... ${h(B)} not stringified"`}return N!==""&&(L+=` +${D}`),O.pop(),`[${L}]`}O.push(C);let U="";N!==""&&(R+=N,j=`, +${R}`,U=" ");let G="";for(const W of I){const X=P(W,C[W],O,I,N,R);X!==void 0&&(L+=`${G}${o(W)}:${U}${X}`,G=j)}return N!==""&&G.length>1&&(L=` +${R}${L} +${D}`),O.pop(),`{${L}}`}case"number":return isFinite(C)?String(C):y?y(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return y?y(C):void 0}}function E(M,C,O,I,N){switch(typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(typeof C.toJSON=="function"){if(C=C.toJSON(M),typeof C!="object")return E(M,C,O,I,N);if(C===null)return"null"}if(O.indexOf(C)!==-1)return g;const R=N;if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const J=C.length-x-1;X+=`${Y}"... ${h(J)} not stringified"`}return X+=` +${R}`,O.pop(),`[${X}]`}let D=Object.keys(C);const L=D.length;if(L===0)return"{}";if(wx){const X=L-x;U+=`${G}"...": "${h(X)} not stringified"`,G=j}return G!==""&&(U=` +${N}${U} +${R}`),O.pop(),`{${U}}`}case"number":return isFinite(C)?String(C):y?y(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return y?y(C):void 0}}function A(M,C,O){switch(typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(typeof C.toJSON=="function"){if(C=C.toJSON(M),typeof C!="object")return A(M,C,O);if(C===null)return"null"}if(O.indexOf(C)!==-1)return g;let I="";if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const W=C.length-x-1;I+=`,"... ${h(W)} not stringified"`}return O.pop(),`[${I}]`}let N=Object.keys(C);const R=N.length;if(R===0)return"{}";if(wx){const j=R-x;I+=`${D}"...":"${h(j)} not stringified"`}return O.pop(),`{${I}}`}case"number":return isFinite(C)?String(C):y?y(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return y?y(C):void 0}}function $(M,C,O){if(arguments.length>1){let I="";if(typeof O=="number"?I=" ".repeat(Math.min(O,10)):typeof O=="string"&&(I=O.slice(0,10)),C!=null){if(typeof C=="function")return T("",{"":M},[],C,I,"");if(Array.isArray(C))return P("",M,[],p(C),I,"")}if(I.length!==0)return E("",M,[],I,"")}return A("",M,[])}return $}})(l2,l2.exports);var Ose=l2.exports;(function(e){var t=Ee&&Ee.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=il,r=Eh,i=TM,o=EM,s=t(lC),a=t(Ose);let l=!1;const u=(0,s.default)(),c=()=>u.ROARR,d=()=>({messageContext:{},transforms:[]}),f=()=>{const g=c().asyncLocalStorage;if(!g)throw new Error("AsyncLocalContext is unavailable.");const b=g.getStore();return b||d()},h=()=>!!c().asyncLocalStorage,p=()=>{if(h()){const g=f();return(0,i.hasOwnProperty)(g,"sequenceRoot")&&(0,i.hasOwnProperty)(g,"sequence")&&typeof g.sequence=="number"?String(g.sequenceRoot)+"."+String(g.sequence++):String(c().sequence++)}return String(c().sequence++)},m=(g,b)=>(_,w,x,T,P,E,A,$,M,C)=>{g.child({logLevel:b})(_,w,x,T,P,E,A,$,M,C)},S=1e3,v=(g,b)=>(_,w,x,T,P,E,A,$,M,C)=>{const O=(0,a.default)({a:_,b:w,c:x,d:T,e:P,f:E,g:A,h:$,i:M,j:C,logLevel:b});if(!O)throw new Error("Expected key to be a string");const I=c().onceLog;I.has(O)||(I.add(O),I.size>S&&I.clear(),g.child({logLevel:b})(_,w,x,T,P,E,A,$,M,C))},y=(g,b={},_=[])=>{const w=(x,T,P,E,A,$,M,C,O,I)=>{const N=Date.now(),R=p();let D;h()?D=f():D=d();let L,j;if(typeof x=="string"?L={...D.messageContext,...b}:L={...D.messageContext,...b,...x},typeof x=="string"&&T===void 0)j=x;else if(typeof x=="string"){if(!x.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");j=(0,o.printf)(x,T,P,E,A,$,M,C,O,I)}else{let G=T;if(typeof T!="string")if(T===void 0)G="";else throw new TypeError("Message must be a string. Received "+typeof T+".");j=(0,o.printf)(G,P,E,A,$,M,C,O,I)}let U={context:L,message:j,sequence:R,time:N,version:n.ROARR_LOG_FORMAT_VERSION};for(const G of[...D.transforms,..._])if(U=G(U),typeof U!="object"||U===null)throw new Error("Message transform function must return a message object.");g(U)};return w.child=x=>{let T;return h()?T=f():T=d(),typeof x=="function"?(0,e.createLogger)(g,{...T.messageContext,...b,...x},[x,..._]):(0,e.createLogger)(g,{...T.messageContext,...b,...x},_)},w.getContext=()=>{let x;return h()?x=f():x=d(),{...x.messageContext,...b}},w.adopt=async(x,T)=>{if(!h())return l===!1&&(l=!0,g({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:p(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),x();const P=f();let E;(0,i.hasOwnProperty)(P,"sequenceRoot")&&(0,i.hasOwnProperty)(P,"sequence")&&typeof P.sequence=="number"?E=P.sequenceRoot+"."+String(P.sequence++):E=String(c().sequence++);let A={...P.messageContext};const $=[...P.transforms];typeof T=="function"?$.push(T):A={...A,...T};const M=c().asyncLocalStorage;if(!M)throw new Error("Async local context unavailable.");return M.run({messageContext:A,sequence:0,sequenceRoot:E,transforms:$},()=>x())},w.debug=m(w,r.logLevels.debug),w.debugOnce=v(w,r.logLevels.debug),w.error=m(w,r.logLevels.error),w.errorOnce=v(w,r.logLevels.error),w.fatal=m(w,r.logLevels.fatal),w.fatalOnce=v(w,r.logLevels.fatal),w.info=m(w,r.logLevels.info),w.infoOnce=v(w,r.logLevels.info),w.trace=m(w,r.logLevels.trace),w.traceOnce=v(w,r.logLevels.trace),w.warn=m(w,r.logLevels.warn),w.warnOnce=v(w,r.logLevels.warn),w};e.createLogger=y})(CM);var Y0={},Rse=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Ise=Ee&&Ee.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Y0,"__esModule",{value:!0});Y0.createRoarrInitialGlobalStateBrowser=void 0;const bE=il,SE=Ise(Rse),Mse=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(SE.default),t.includes(bE.ROARR_VERSION)||t.push(bE.ROARR_VERSION),t.sort(SE.default),{sequence:0,...e,versions:t}};Y0.createRoarrInitialGlobalStateBrowser=Mse;var Q0={};Object.defineProperty(Q0,"__esModule",{value:!0});Q0.getLogLevelName=void 0;const Nse=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Q0.getLogLevelName=Nse;(function(e){var t=Ee&&Ee.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=CM,r=Y0,o=(0,t(lC).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=d=>JSON.stringify(d),l=(0,n.createLogger)(d=>{var f;s.write&&s.write(((f=s.serializeMessage)!==null&&f!==void 0?f:a)(d))});e.Roarr=l;var u=Eh;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var c=Q0;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return c.getLogLevelName}})})(Th);var Dse=Ee&&Ee.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,v,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,v)}}};M0.createLogWriter=Gse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=M0;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(nM);Th.ROARR.write=nM.createLogWriter();const AM={};Th.Roarr.child(AM);const Z0=T0(Th.Roarr.child(AM)),fe=e=>Z0.get().child({namespace:e}),F3e=["trace","debug","info","warn","error","fatal"],B3e={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Hse(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Df=Vs("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=fe("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Hse()))}catch(i){return n({error:i})}}),kM={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},OM=Pt({name:"nodes",initialState:kM,reducers:{nodesChanged:(e,t)=>{e.nodes=qI(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=nie(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=bI(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Ln(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=nY(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Df.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:j3e,edgesChanged:V3e,nodeAdded:z3e,fieldValueChanged:u2,connectionMade:U3e,connectionStarted:G3e,connectionEnded:H3e,shouldShowGraphOverlayChanged:q3e,shouldShowFieldTypeLegendChanged:W3e,shouldShowMinimapPanelChanged:K3e,nodeTemplatesBuilt:dC,nodeEditorReset:RM,imageCollectionFieldValueChanged:X3e,setEditorInstance:Y3e,loadFileNodes:Q3e,loadFileEdges:Z3e,setProgressNodeSize:J3e}=OM.actions,qse=OM.reducer,IM={esrganModelName:"RealESRGAN_x4plus.pth"},MM=Pt({name:"postprocessing",initialState:IM,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:e5e}=MM.actions,Wse=MM.reducer,Kse={positiveStylePrompt:"",negativeStylePrompt:"",shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},NM=Pt({name:"sdxl",initialState:Kse,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:t5e,setNegativeStylePromptSDXL:n5e,setShouldUseSDXLRefiner:Xse,setSDXLImg2ImgDenoisingStrength:r5e,refinerModelChanged:wE,setRefinerSteps:i5e,setRefinerCFGScale:o5e,setRefinerScheduler:s5e,setRefinerAestheticScore:a5e,setRefinerStart:l5e}=NM.actions,Yse=NM.reducer,Ph=ue("app/userInvoked"),Qse={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class zm{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Qse,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xc(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function xE(e){return e==null?"":""+e}function Zse(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function fC(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function CE(e,t,n){const{obj:r,k:i}=fC(e,t,Object);r[i]=n}function Jse(e,t,n,r){const{obj:i,k:o}=fC(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function Um(e,t){const{obj:n,k:r}=fC(e,t);if(n)return n[r]}function eae(e,t,n){const r=Um(e,n);return r!==void 0?r:Um(t,n)}function DM(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):DM(e[r],t[r],n):e[r]=t[r]);return e}function jl(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var tae={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function nae(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>tae[t]):e}const rae=[" ",",","?","!",";"];function iae(e,t,n){t=t||"",n=n||"";const r=rae.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function Gm(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?Gm(l,u,n):void 0}i=i[r[o]]}return i}function Hm(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class TE extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=Um(this.data,a);return l||!s||typeof r!="string"?l:Gm(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),CE(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=Um(this.data,a)||{};i?DM(l,r,o):l={...l,...r},CE(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var LM={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const EE={};class qm extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Zse(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=qi.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!iae(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],v=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof v=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const T=`${w}${o}${x}`;_[x]=this.translate(T,{...n,joinArrays:!1,ns:a}),_[x]===T&&(_[x]=f[x])}f=_}}else if(y&&typeof v=="string"&&m==="[object Array]")f=f.join(v),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=qm.hasDefaultValue(n),T=w?this.pluralResolver.getSuffix(u,n.count,n):"",P=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",E=n[`defaultValue${T}`]||n[`defaultValue${P}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=E),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,M=x&&E!==f&&this.options.updateMissing;if(_||b||M){if(this.logger.log(M?"updateKey":"missingKey",u,l,s,M?E:f),o){const N=this.resolve(s,{...n,keySeparator:!1});N&&N.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let C=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let N=0;N{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,R,L,M,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,R,L,M,n),this.emit("missingKey",N,l,R,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?C.forEach(N=>{this.pluralResolver.getSuffixes(N,n).forEach(R=>{I([N],s+R,n[`defaultValue${R}`]||E)})}):I(C,s,E))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!EE[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(EE[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(v=>{if(this.isValidLookup(r))return;s=v;const y=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,v,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(v,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(c+b),n.ordinal&&b.indexOf(w)===0&&y.push(c+b.replace(w,this.options.pluralSeparator)),h&&y.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;y.push(x),f&&(y.push(x+b),n.ordinal&&b.indexOf(w)===0&&y.push(x+b.replace(w,this.options.pluralSeparator)),h&&y.push(x+_))}}let g;for(;g=y.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(v,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function $b(e){return e.charAt(0).toUpperCase()+e.slice(1)}class PE{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=qi.create("languageUtils")}getScriptPartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=$b(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let oae=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],sae={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const aae=["v1","v2","v3"],lae=["v4"],AE={zero:0,one:1,two:2,few:3,many:4,other:5};function uae(){const e={};return oae.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:sae[t.fc]}})}),e}class cae{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=qi.create("pluralResolver"),(!this.options.compatibilityJSON||lae.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=uae()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(Hm(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>AE[i]-AE[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!aae.includes(this.options.compatibilityJSON)}}function kE(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=eae(e,t,n);return!o&&i&&typeof n=="string"&&(o=Gm(e,n,r),o===void 0&&(o=Gm(t,n,r))),o}class dae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:nae,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?jl(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?jl(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?jl(n.nestingPrefix):n.nestingPrefixEscaped||jl("$t("),this.nestingSuffix=n.nestingSuffix?jl(n.nestingSuffix):n.nestingSuffixEscaped||jl(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const y=kE(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...i,...n,interpolationkey:p}):y}const m=p.split(this.formatSeparator),S=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(kE(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const v=d(t,o,i);s=typeof v=="string"?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=xE(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=xE(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function fae(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function Vl(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(Hm(i),o),t[s]=a),a(r)}}class hae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("formatter"),this.options=t,this.formats={number:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:Vl((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:Vl((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:Vl((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=Vl(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=fae(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function pae(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class gae extends J0{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=qi.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Jse(l.loaded,[o],s),pae(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function OE(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function RE(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Op(){}function mae(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Lf extends J0{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=RE(t),this.services={},this.logger=qi,this.modules={external:[]},mae(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=OE();this.options={...i,...this.options,...RE(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?qi.init(o(this.modules.logger),this.options):qi.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=hae);const d=new PE(this.options);this.store=new TE(this.options.resources,this.options);const f=this.services;f.logger=qi,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new cae(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new dae(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new gae(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Op),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Xc(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xc();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Op),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&LM.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xc();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xc();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xc();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new PE(OE());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Lf(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Lf(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new TE(this.store.data,i),o.services.resourceStore=o.store),o.translator=new qm(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},$M={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},FM=Pt({name:"system",initialState:$M,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(s7,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(l7,t=>{t.sessionId=null}),e.addCase(r7,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(o7,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(c7,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(m7,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(d7,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(p7,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Ph,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(hl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.canceled"),status:"warning"}))}),e.addCase(dC,t=>{t.wasSchemaParsed=!0}),e.addMatcher(IR,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(_ae,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:YX(n.payload.data.error_type)}))})}}),{setIsProcessing:u5e,setShouldConfirmOnDelete:c5e,setCurrentStatus:d5e,setIsCancelable:f5e,setEnableImageDebugging:h5e,addToast:Ft,clearToastQueue:p5e,cancelScheduled:g5e,scheduledCancelAborted:m5e,cancelTypeChanged:y5e,subscribedNodeIdsSet:v5e,consoleLogLevelChanged:b5e,shouldLogToConsoleChanged:S5e,isPersistedChanged:_5e,shouldAntialiasProgressImageChanged:w5e,languageChanged:x5e,progressImageSet:yae,setIsNodesEnabled:C5e,shouldUseNSFWCheckerChanged:vae,shouldUseWatermarkerChanged:bae}=FM.actions,Sae=FM.reducer,_ae=ei(Ux,S7,w7),wae={searchFolder:null,advancedAddScanModel:null},BM=Pt({name:"modelmanager",initialState:wae,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:T5e,setAdvancedAddScanModel:E5e}=BM.actions,xae=BM.reducer,jM={shift:!1},VM=Pt({name:"hotkeys",initialState:jM,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:P5e}=VM.actions,Cae=VM.reducer,Tae=nF(DV);zM=c2=void 0;var Eae=Tae,Pae=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(c){return function(d){return Eae.compose.apply(void 0,n)(c)(d)}}},o=function(){for(var u,c,d=arguments.length,f=Array(d),h=0;h=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function GM(e,t){if(e){if(typeof e=="string")return ME(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ME(e,t)}}function ME(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?Vae:zae;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function $E(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function FE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){$E(o,r,i,s,a,"next",l)}function a(l){$E(o,r,i,s,a,"throw",l)}s(void 0)})}}var Gae=function(){var e=FE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield Lae(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=FE(function*(){var p=UM(t.getState(),n);yield Uae(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),pC(p,d)||t.dispatch({type:Rae,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(Mae(f,u)):t.subscribe(Iae(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const Hae=Gae;function $f(e){"@babel/helpers - typeof";return $f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$f(e)}function BE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jb(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=jb({},r));var o=typeof t=="function"?t:pc(t);switch(i.type){case d2:return n.state=o(jb(jb({},n.state),i.payload||{}),{type:d2}),n.state;default:return o(r,i)}}},Yae=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return Hae(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const A5e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],Qae="@@invokeai-",Zae=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],Jae=["pendingControlImages"],ele=["selection","selectedBoardId","galleryView"],tle=["schema","invocationTemplates"],nle=[],rle=[],ile=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],ole=["shouldShowImageDetails"],sle={canvas:Zae,gallery:ele,generation:nle,nodes:tle,postprocessing:rle,system:ile,ui:ole,controlNet:Jae},ale=(e,t)=>{const n=_0(e,sle[t]);return JSON.stringify(n)},lle={canvas:NR,gallery:k7,generation:Wo,nodes:kM,postprocessing:IM,system:$M,config:gR,ui:kR,hotkeys:jM,controlNet:z_},ule=(e,t)=>gX(JSON.parse(e),lle[t]),qM=ue("nodes/textToImageGraphBuilt"),WM=ue("nodes/imageToImageGraphBuilt"),KM=ue("nodes/canvasGraphBuilt"),XM=ue("nodes/nodesGraphBuilt"),cle=ei(qM,WM,KM,XM),dle=e=>{if(cle(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Df.fulfilled.match(e)?{...e,payload:""}:dC.match(e)?{...e,payload:""}:e},fle=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],hle=e=>e,ple=()=>{le({actionCreator:FQ,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(hl({session_id:o}))}}})};ue("app/appStarted");const gle=()=>{le({matcher:he.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==di({board_id:"none",categories:gi}))return;r(),n();const i=e.payload;i.ids.length>0&&t(Rs(i.ids[0]))}})},gC=Hs.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:k5e,useGetAppConfigQuery:O5e}=gC,mle=()=>{le({matcher:gC.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r,nsfw_methods:i,watermarking_methods:o}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(yQ(r[0])),i.includes("nsfw_checker")||n(vae(!1)),o.includes("invisible_watermark")||n(bae(!1))}})},yle=ue("app/appStarted"),vle=()=>{le({actionCreator:yle,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},mC={memoizeOptions:{resultEqualityCheck:S0}},YM=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Ea(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Ea(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},ble=Jn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return YM(e,n)},mC),Sle=()=>{le({matcher:ec.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const c=YM(l,u);c.isInitialImage&&!i&&(t(ER()),i=!0),c.isCanvasImage&&!o&&(t(LR()),o=!0),c.isNodesImage&&!s&&(t(RM()),s=!0),c.isControlNetImage&&!a&&(t(T7()),a=!0)})}})},_le=()=>{le({matcher:ei(U_,Am),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=U_.match(e)?e.payload:o.gallery.selectedBoardId,l=(Am.match(e)?e.payload:o.gallery.galleryView)==="images"?gi:_s,u={board_id:s??"none",categories:l};if(await r(()=>he.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=he.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(Rs(d.ids[0]??null)):n(Rs(null))}else n(Rs(null))}})},wle=ue("canvas/canvasSavedToGallery"),xle=ue("canvas/canvasCopiedToClipboard"),Cle=ue("canvas/canvasDownloadedAsImage"),Tle=ue("canvas/canvasMerged"),Ele=ue("canvas/stagingAreaImageSaved");let QM=null,ZM=null;const R5e=e=>{QM=e},tv=()=>QM,I5e=e=>{ZM=e},Ple=()=>ZM,Ale=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Km=async(e,t)=>await Ale(e.toCanvas(t)),yC=async e=>{const t=tv();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Km(o,a)},kle=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},Ole=()=>{le({actionCreator:xle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}kle(o),t(Ft({title:"Canvas Copied to Clipboard",status:"success"}))}})},Rle=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},Ile=()=>{le({actionCreator:Cle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}Rle(o,"canvas.png"),t(Ft({title:"Canvas Downloaded",status:"success"}))}})},Mle=async()=>{const e=tv();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Km(t,t.getClientRect())},Nle=()=>{le({actionCreator:Tle,effect:async(e,{dispatch:t})=>{const n=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await Mle();if(!r){n.error("Problem getting base layer blob"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=tv();if(!i){n.error("Problem getting canvas base layer"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(he.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(BQ({kind:"image",layer:"base",imageName:a,...o}))}})},Dle=()=>{le({actionCreator:wle,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(he.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Lle=(e,t,n)=>{if(!(tJ.match(e)||bT.match(e)||Hx.match(e)||nJ.match(e)||ST.match(e))||ST.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(bT.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},$le=()=>{le({predicate:Lle,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=fe("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(Gx({controlNetId:o}))}})},pl=ue("system/sessionReadyToInvoke"),JM=e=>(e==null?void 0:e.type)==="image_output",Fle=()=>{le({actionCreator:Gx,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=fe("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!s.controlImage){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(On({graph:a})),[u]=await r(f=>On.fulfilled.match(f)&&f.meta.requestId===l.requestId),c=u.payload.id;t(pl());const[d]=await r(f=>zx.match(f)&&f.payload.data.graph_execution_state_id===c);if(JM(d.payload.data.result)){const{image_name:f}=d.payload.data.result.image,[{payload:h}]=await r(m=>he.endpoints.getImageDTO.matchFulfilled(m)&&m.payload.image_name===f),p=h;i.debug({controlNetId:e.payload,processedControlImage:p},"ControlNet image processed"),t(eJ({controlNetId:o,processedControlImage:p.image_name}))}}})},Ble=()=>{le({matcher:he.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},jle=()=>{le({matcher:he.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},M5e=e=>e.gallery,N5e=Jn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],mC),Vle=Jn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?gi:_s,offset:0,limit:GQ,is_intermediate:!1}},mC),eN=ue("imageDeletion/imageDeletionConfirmed"),zle=()=>{le({actionCreator:eN,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(I7(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=Vle(a),{data:f}=he.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Ss(p,0,m.length-1),v=m[S];t(Rs(v||null))}o.isCanvasImage&&t(LR()),o.isControlNetImage&&t(T7()),o.isInitialImage&&t(ER()),o.isNodesImage&&t(RM());const{requestId:u}=t(he.endpoints.deleteImage.initiate(i));await r(d=>he.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(Hs.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},Ule=()=>{le({matcher:he.endpoints.deleteImage.matchPending,effect:()=>{}})},Gle=()=>{le({matcher:he.endpoints.deleteImage.matchFulfilled,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},Hle=()=>{le({matcher:he.endpoints.deleteImage.matchRejected,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},tN=ue("dnd/dndDropped"),qle=()=>{le({actionCreator:tN,effect:async(e,{dispatch:t})=>{const n=fe("images"),{activeData:r,overData:i}=e.payload;if(n.debug({activeData:r,overData:i},"Image or selection dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO.image_name));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(C0(r.payload.imageDTO));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(G_([r.payload.imageDTO.image_name]));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_NAMES"){t(G_(r.payload.image_names));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(Hx({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t($R(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="SET_MULTI_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:[r.payload.imageDTO]}));return}if(i.actionType==="MOVE_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;if(!s){t(he.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}t(he.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}}})},Wle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},Kle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},Xle=()=>{le({actionCreator:dJ,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=ble(n());if(!s)return;const a=s.isCanvasImage||s.isInitialImage||s.isControlNetImage||s.isNodesImage;if(o||a){t(I7(!0));return}t(eN({imageDTO:r,imageUsage:s}))}})},ga={title:"Image Uploaded",status:"success"},Yle=()=>{le({matcher:he.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=fe("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Ft({...ga,...l}));else{t(he.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=ec.endpoints.listAllBoards.select()(o),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Ft({...ga,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t($R(i)),t(Ft({...ga,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(Hx({controlNetId:l,controlImage:i.image_name})),t(Ft({...ga,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(C0(i)),t(Ft({...ga,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(u2({nodeId:l,fieldName:u,value:i})),t(Ft({...ga,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(G_([i.image_name])),t(Ft({...ga,description:"Added to batch"}));return}}}})},Qle=()=>{le({matcher:he.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=fe("images"),r={arg:{..._0(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Ft({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},Zle=ue("generation/initialImageSelected"),Jle=ue("generation/modelSelected"),eue=()=>{le({actionCreator:Zle,effect:(e,{dispatch:t})=>{if(!e.payload){t(Ft(Ga({title:kd("toast.imageNotLoadedDesc"),status:"error"})));return}t(C0(e.payload)),t(Ft(Ga(kd("toast.sentToImageToImage"))))}})},tue=()=>{le({actionCreator:Jle,effect:(e,{getState:t,dispatch:n})=>{var l;const r=fe("models"),i=t(),o=xf.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Qa(i.lora.loras,(f,h)=>{f.base_model!==a&&(n(N7(h)),u+=1)});const{vae:c}=i.generation;c&&c.base_model!==a&&(n(PR(null)),u+=1);const{controlNets:d}=i.controlNet;Qa(d,(f,h)=>{var p;((p=f.model)==null?void 0:p.base_model)!==a&&(n(C7({controlNetId:h})),u+=1)}),u>0&&n(Ft(Ga({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(ja(s))}})},jE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),VE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),zE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),UE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),GE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),nue=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Yc=e=>{const t=[];return e.forEach(n=>{const r={...Ln(n),id:nue(n)};t.push(r)}),t},xo=Hs.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${F_.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return jE.setAll(jE.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return VE.setAll(VE.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return zE.setAll(zE.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return GE.setAll(GE.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return UE.setAll(UE.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${F_.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Be}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:D5e,useGetControlNetModelsQuery:L5e,useGetLoRAModelsQuery:$5e,useGetTextualInversionModelsQuery:F5e,useGetVaeModelsQuery:B5e,useUpdateMainModelsMutation:j5e,useDeleteMainModelsMutation:V5e,useImportMainModelsMutation:z5e,useAddMainModelsMutation:U5e,useConvertMainModelsMutation:G5e,useMergeMainModelsMutation:H5e,useSyncModelsMutation:q5e,useGetModelsInFolderQuery:W5e,useGetCheckpointConfigsQuery:K5e}=xo,rue=()=>{le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(ja(l.data))}}),le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(wE(null)),n(Xse(!1));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(wE(l.data))}}),le({matcher:xo.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=pQ.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse VAE model");return}n(PR(l.data))}}),le({matcher:xo.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(N7(s))})}}),le({matcher:xo.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>{var u,c;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((c=o==null?void 0:o.model)==null?void 0:c.base_model)})||n(C7({controlNetId:s}))})}}),le({matcher:xo.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{fe("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},ra=e=>JSON.parse(JSON.stringify(e)),h2=e=>!("$ref"in e),iue=e=>!("$ref"in e),X5e=500,oue={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},sue=500,Dt=e=>`var(--invokeai-colors-${e}-${sue})`,Y5e={integer:{color:"red",colorCssVar:Dt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Dt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Dt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Dt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Dt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Dt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Dt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Dt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Dt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Dt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Dt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Dt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Dt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Dt("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Dt("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Dt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Dt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Dt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Dt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Dt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Dt("gray"),title:"Color",description:"A RGBA color."}},Q5e=250,Vb=e=>e.$ref.split("/").slice(-1)[0],aue=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},lue=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},uue=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},cue=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),due=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fue=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),hue=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),pue=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),gue=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),mue=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),yue=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),vue=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bue=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Sue=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_ue=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),wue=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),xue=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Cue=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},HE=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),qE=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Tue=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),nN=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Vb(e.allOf[0]):e.anyOf?r=Vb(e.anyOf[0]):e.oneOf&&(r=Vb(e.oneOf[0]));const i=oue[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Eue=(e,t,n)=>{const r=nN(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return mue({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return yue({schemaObject:e,baseField:i});if(["latents"].includes(r))return vue({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return bue({schemaObject:e,baseField:i});if(["unet"].includes(r))return Sue({schemaObject:e,baseField:i});if(["clip"].includes(r))return _ue({schemaObject:e,baseField:i});if(["vae"].includes(r))return wue({schemaObject:e,baseField:i});if(["control"].includes(r))return xue({schemaObject:e,baseField:i});if(["model"].includes(r))return due({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return fue({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return hue({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return pue({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return gue({schemaObject:e,baseField:i});if(["enum"].includes(r))return Cue({schemaObject:e,baseField:i});if(["integer"].includes(r))return aue({schemaObject:e,baseField:i});if(["number","float"].includes(r))return lue({schemaObject:e,baseField:i});if(["string"].includes(r))return uue({schemaObject:e,baseField:i});if(["boolean"].includes(r))return cue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i});if(["color"].includes(r))return Tue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i})},Pue=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return h2(i)?Lx(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&h2(a)){const u=nN(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Aue=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],kue=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Oue=e=>{var r;return oR((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!kue.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,c;if(iue(o)){const d=o.properties.type.default,f=Aue(d),h=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),p=(a=o.ui)==null?void 0:a.type_hints,m={};if(d==="collect"){const g=o.properties.item;m.item={type:"item",name:"item",description:g.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(d==="iterate"){const g=o.properties.collection;m.collection={type:"array",name:"collection",title:g.title??"",default:[],description:g.description??"",inputRequirement:"always",inputKind:"connection"}}else Lx(o.properties,(g,b,_)=>{if(!f.includes(_)&&h2(b)){const w=Eue(b,_,p);w&&(g[_]=w)}return g},m);const S=o.output;let v;if(d==="iterate"){const g=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;v={item:{name:"item",title:(g==null?void 0:g.title)??"",description:(g==null?void 0:g.description)??"",type:"array"}}}else v=Pue(S,e,p);const y={title:h,type:d,tags:((c=o.ui)==null?void 0:c.tags)??[],description:o.description??"",inputs:m,outputs:v};Object.assign(i,{[d]:y})}return i},{})},Rue=()=>{le({actionCreator:Df.fulfilled,effect:(e,{dispatch:t})=>{const n=fe("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Oue(r);n.debug({nodeTemplates:ra(i)},`Built ${hR(i)} node templates`),t(dC(i))}}),le({actionCreator:Df.rejected,effect:()=>{fe("system").error("Problem dereferencing OpenAPI Schema")}})},Iue=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Mue=new Map(Iue),Nue=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],p2=Symbol(".toJSON was called"),Due=e=>{e[p2]=!0;const t=e.toJSON();return delete e[p2],t},Lue=e=>Mue.get(e)??Error,rN=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&WE(e)){const u=Lue(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[p2]!==!0)return Due(e);const l=u=>rN({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Nue)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:WE(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function vC(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?rN({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function WE(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const $ue=()=>{le({actionCreator:hl.pending,effect:()=>{}})},Fue=()=>{le({actionCreator:hl.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Bue=()=>{le({actionCreator:hl.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem canceling session")}}})},jue=()=>{le({actionCreator:On.pending,effect:()=>{}})},Vue=()=>{le({actionCreator:On.fulfilled,effect:e=>{const t=fe("session"),n=e.payload;t.debug({session:ra(n)},`Session created (${n.id})`)}})},zue=()=>{le({actionCreator:On.rejected,effect:e=>{const t=fe("session");if(e.payload){const{error:n,status:r}=e.payload,i=ra(e.meta.arg);t.error({graph:i,status:r,error:vC(n)},"Problem creating session")}}})},Uue=()=>{le({actionCreator:yh.pending,effect:()=>{}})},Gue=()=>{le({actionCreator:yh.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Hue=()=>{le({actionCreator:yh.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem invoking session")}}})},que=()=>{le({actionCreator:pl,effect:(e,{getState:t,dispatch:n})=>{const r=fe("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(yh({session_id:i})))}})},Wue=()=>{le({actionCreator:n7,effect:(e,{dispatch:t,getState:n})=>{fe("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Df()),t(r7(e.payload)),t(xo.util.invalidateTags([{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be},{type:"LoRAModel",id:Be},{type:"ControlNetModel",id:Be},{type:"VaeModel",id:Be},{type:"TextualInversionModel",id:Be},{type:"ScannedModels",id:Be}])),t(gC.util.invalidateTags(["AppConfig","AppVersion"]))}})},Kue=()=>{le({actionCreator:i7,effect:(e,{dispatch:t})=>{fe("socketio").debug("Disconnected"),t(o7(e.payload))}})},Xue=()=>{le({actionCreator:g7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(m7(e.payload))}})},Yue=()=>{le({actionCreator:h7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Session complete"),t(p7(e.payload))}})},Que=["dataURL_image"],Zue=()=>{le({actionCreator:zx,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("socketio"),{data:i}=e.payload;r.debug({data:ra(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(hl({session_id:o}));const{result:l,node:u,graph_execution_state_id:c}=i;if(JM(l)&&!Que.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(he.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t($Q(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?he.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):he.util.updateQueryData("listImages",{board_id:"none",categories:gi},y=>{const g=y.total,_=Kn.addOne(y,p).total-g;y.total=y.total+_})),t(he.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(U_(m)),t(Am("images"))):m||t(Am("images")),t(Rs(p.image_name)))}t(yae(null))}t(d7(e.payload))}})},Jue=()=>{le({actionCreator:f7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(Ux(e.payload))}})},ece=()=>{le({actionCreator:_7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(w7(e.payload))}})},tce=()=>{le({actionCreator:u7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(c7(e.payload))}})},nce=()=>{le({actionCreator:y7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(ZZ(e.payload))}}),le({actionCreator:v7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(JZ(e.payload))}})},rce=()=>{le({actionCreator:b7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(S7(e.payload))}})},ice=()=>{le({actionCreator:Vx,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Subscribed"),t(s7(e.payload))}})},oce=()=>{le({actionCreator:a7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Unsubscribed"),t(l7(e.payload))}})},sce=()=>{le({actionCreator:Ele,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(he.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(he.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Ft({title:"Image Saved",status:"success"}))}catch(i){t(Ft({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},Z5e=["sd-1","sd-2","sdxl","sdxl-refiner"],ace=["sd-1","sd-2","sdxl"],J5e=["sdxl-refiner"],lce=()=>{le({actionCreator:RR,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=xo.endpoints.getMainModels.select(ace)(t());if(!i){n(ja(null));return}const o=[];Qa(i.entities,u=>{u&&["sd-1","sd-2"].includes(u.base_model)&&o.push(u)});const s=o[0];if(!s){n(ja(null));return}const{base_model:a,model_name:l}=s;n(ja({base_model:a,model_name:l}))}}})},Fe="positive_conditioning",qe="negative_conditioning",dn="text_to_latents",nt="latents_to_image",fu="nsfw_checker",Qc="invisible_watermark",Le="noise",Fi="rand_int",Co="range_of_size",lr="iterate",pt="main_model_loader",Zc="vae_loader",uce="lora_loader",rt="clip_skip",bt="image_to_latents",Kt="latents_to_latents",Qn="resize_image",Mi="inpaint",Rp="control_net_collect",zb="dynamic_prompt",lt="metadata_accumulator",KE="esrgan",en="sdxl_model_loader",is="t2l_sdxl",Ni="l2l_sdxl",zl="sdxl_refiner_model_loader",Ip="sdxl_refiner_positive_conditioning",Mp="sdxl_refiner_negative_conditioning",ma="l2l_sdxl_refiner",bC="text_to_image_graph",cce="sdxl_text_to_image_graph",dce="sxdl_image_to_image_graph",Xm="image_to_image_graph",iN="inpaint_graph",fce=({image_name:e,esrganModelName:t})=>{const n={id:KE,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[KE]:n},edges:[]}},hce=ue("upscale/upscaleRequested"),pce=()=>{le({actionCreator:hce,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=fce({image_name:i,esrganModelName:o});t(On({graph:s})),await r(On.fulfilled.match),t(pl())}})},gce=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},XE=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var SC={exports:{}},nv={},oN={},Pe={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof Ee<"u"?Ee:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Pe);var Rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Pe;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,T=this.m[1]*_+this.m[3]*w,P=this.m[0]*-w+this.m[2]*_,E=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=T,this.m[2]=P,this.m[3]=E,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,T=this.m[2]+this.m[0]*b,P=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=T,this.m[3]=P,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],T=this.m[1]*b.m[2]+this.m[3]*b.m[3],P=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],E=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,T=this.m[0]*b,P=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),E=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],T=this.m[4],P=this.m[5],E=b*x-_*w;let A={x:T,y:P,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=E/$,A.skewX=(b*w+_*x)/E,A.skewY=0}else if(w!=0||x!=0){var M=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/M):-Math.acos(w/M)),A.scaleX=E/M,A.scaleY=M,A.skewX=0,A.skewY=(b*w+_*x)/E}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,T=Number(_[2])/100;let P,E,A;if(x===0)return A=T*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};T<.5?P=T*(1+x):P=T+x-T*x;const $=2*T-P,M=[0,0,0];for(let C=0;C<3;C++)E=w+1/3*-(C-1),E<0&&E++,E>1&&E--,6*E<1?A=$+(P-$)*6*E:2*E<1?A=P:3*E<2?A=$+(P-$)*(2/3-E)*6:A=$,M[C]=A*255;return{r:Math.round(M[0]),g:Math.round(M[1]),b:Math.round(M[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(P=_,E=w,A=(_-x)*(_-x)+(w-T)*(w-T)):(P=g+M*(_-g),E=b+M*(w-b),A=(P-x)*(P-x)+(E-T)*(E-T))}return[P,E,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(T,P){if(!(!_&&P===b.length-1)){var E=b[(P+1)%b.length],A=e.Util._getProjectionToSegment(T.x,T.y,E.x,E.y,g.x,g.y),$=A[0],M=A[1],C=A[2];Cb.length){var P=b;b=g,g=P}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,T=0,P=0,E=0;typeof w=="number"?x=T=P=E=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),T=Math.min(w[1]||0,b/2,_/2),E=Math.min(w[2]||0,b/2,_/2),P=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-T,0),g.arc(b-T,T,T,Math.PI*3/2,0,!1),g.lineTo(b,_-E),g.arc(b-E,_-E,E,0,Math.PI/2,!1),g.lineTo(P,_),g.arc(P,_-P,P,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Rt);var wt={},Te={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.getComponentValidator=de.getBooleanValidator=de.getNumberArrayValidator=de.getFunctionValidator=de.getStringOrGradientValidator=de.getStringValidator=de.getNumberOrAutoValidator=de.getNumberOrArrayOfNumbersValidator=de.getNumberValidator=de.alphaComponent=de.RGBComponent=void 0;const Ko=Pe,Nt=Rt;function Xo(e){return Nt.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nt.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function mce(e){return e>255?255:e<0?0:Math.round(e)}de.RGBComponent=mce;function yce(e){return e>1?1:e<1e-4?1e-4:e}de.alphaComponent=yce;function vce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isNumber(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}de.getNumberValidator=vce;function bce(e){if(Ko.Konva.isUnminified)return function(t,n){let r=Nt.Util._isNumber(t),i=Nt.Util._isArray(t)&&t.length==e;return!r&&!i&&Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}de.getNumberOrArrayOfNumbersValidator=bce;function Sce(){if(Ko.Konva.isUnminified)return function(e,t){var n=Nt.Util._isNumber(e),r=e==="auto";return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}de.getNumberOrAutoValidator=Sce;function _ce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isString(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}de.getStringValidator=_ce;function wce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Nt.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}de.getStringOrGradientValidator=wce;function xce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isFunction(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}de.getFunctionValidator=xce;function Cce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nt.Util._isArray(e)?e.forEach(function(r){Nt.Util._isNumber(r)||Nt.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}de.getNumberArrayValidator=Cce;function Tce(){if(Ko.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}de.getBooleanValidator=Tce;function Ece(e){if(Ko.Konva.isUnminified)return function(t,n){return t==null||Nt.Util.isObject(t)||Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}de.getComponentValidator=Ece;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Rt,n=de;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Te);var _i={},Ro={};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.HitContext=Ro.SceneContext=Ro.Context=void 0;const sN=Rt,Pce=Pe;function Ace(e){var t=[],n=e.length,r=sN.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=kce+u.join(YE)+Oce)):(o+=a.property,t||(o+=Dce+a.val)),o+=Mce;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=$ce&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=QE.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=Ace(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(ov);Object.defineProperty(wt,"__esModule",{value:!0});wt.Node=void 0;const ke=Rt,Ah=Te,Dp=_i,ya=Pe,Br=ov,zt=de;var bg="absoluteOpacity",Lp="allEventListeners",bo="absoluteTransform",ZE="absoluteScale",va="canvas",Hce="Change",qce="children",Wce="konva",g2="listening",JE="mouseenter",e6="mouseleave",t6="set",n6="Shape",Sg=" ",r6="stage",ss="transform",Kce="Stage",m2="visible",Xce=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(Sg);let Yce=1,Se=class y2{constructor(t){this._id=Yce++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===ss||t===bo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===ss||t===bo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(Sg);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(va)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===bo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(va)){const{scene:t,filter:n,hit:r}=this._cache.get(va);ke.Util.releaseCanvas(t,n,r),this._cache.delete(va)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){ke.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new Dp.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new Dp.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new Dp.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(va),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(bg),this._clearSelfAndDescendantCache(ZE),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(va,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(va)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==qce&&(r=t6+ke.Util._capitalize(n),ke.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(g2,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(m2,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Br.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!ya.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==Kce&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(ss),this._clearSelfAndDescendantCache(bo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ke.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(ss);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(ss),this._clearSelfAndDescendantCache(bo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ke.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ke.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ke.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(bg,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ke.Util.isObject(i)&&!ke.Util._isPlainObject(i)&&!ke.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ke.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ke.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():ya.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;Br.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Br.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Br.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ke.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ke.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=y2.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),ya.Konva[r]||(ke.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ya.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Ub.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Ub.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hY.indexOf("pointer")>=0?"pointer":Y.indexOf("touch")>=0?"touch":"mouse",U=Y=>{const B=j(Y);if(B==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(B==="touch")return L.touch;if(B==="mouse")return L.mouse};function G(Y={}){return(Y.clipFunc||Y.clipWidth||Y.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),Y}const W="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class X extends r.Container{constructor(B){super(G(B)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{G(this.attrs)}),this._checkVisibility()}_validateAdd(B){const H=B.getType()==="Layer",Q=B.getType()==="FastLayer";H||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const B=this.visible()?"":"none";this.content.style.display=B}setContainer(B){if(typeof B===c){if(B.charAt(0)==="."){var H=B.slice(1);B=document.getElementsByClassName(H)[0]}else{var Q;B.charAt(0)!=="#"?Q=B:Q=B.slice(1),B=document.getElementById(Q)}if(!B)throw"Can not find container in document with id "+Q}return this._setAttr("container",B),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),B.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var B=this.children,H=B.length,Q;for(Q=0;Q-1&&e.stages.splice(H,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const B=this._pointerPositions[0]||this._changedPointerPositions[0];return B?{x:B.x,y:B.y}:(t.Util.warn(W),null)}_getPointerById(B){return this._pointerPositions.find(H=>H.id===B)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(B){B=B||{},B.x=B.x||0,B.y=B.y||0,B.width=B.width||this.width(),B.height=B.height||this.height();var H=new o.SceneCanvas({width:B.width,height:B.height,pixelRatio:B.pixelRatio||1}),Q=H.getContext()._context,J=this.children;return(B.x||B.y)&&Q.translate(-1*B.x,-1*B.y),J.forEach(function(ne){if(ne.isVisible()){var te=ne._toKonvaCanvas(B);Q.drawImage(te._canvas,B.x,B.y,te.getWidth()/te.getPixelRatio(),te.getHeight()/te.getPixelRatio())}}),H}getIntersection(B){if(!B)return null;var H=this.children,Q=H.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const te=H[ne].getIntersection(B);if(te)return te}return null}_resizeDOM(){var B=this.width(),H=this.height();this.content&&(this.content.style.width=B+d,this.content.style.height=H+d),this.bufferCanvas.setSize(B,H),this.bufferHitCanvas.setSize(B,H),this.children.forEach(Q=>{Q.setSize({width:B,height:H}),Q.draw()})}add(B,...H){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),B.setSize({width:this.width(),height:this.height()}),B.draw(),i.Konva.isBrowser&&this.content.appendChild(B.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(B){return l.hasPointerCapture(B,this)}setPointerCapture(B){l.setPointerCapture(B,this)}releaseCapture(B){l.releaseCapture(B,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([B,H])=>{this.content.addEventListener(B,Q=>{this[H](Q)},{passive:!1})})}_pointerenter(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerenter,{evt:B,target:this,currentTarget:this})}_pointerover(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerover,{evt:B,target:this,currentTarget:this})}_getTargetShape(B){let H=this[B+"targetShape"];return H&&!H.getStage()&&(H=null),H}_pointerleave(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(H.pointerout,{evt:B}),J._fireAndBubble(H.pointerleave,{evt:B}),this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this._fire(H.pointerout,{evt:B,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=!1;this._changedPointerPositions.forEach(ne=>{var te=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(te&&te.isListening()))return;i.Konva.capturePointerEventsEnabled&&te.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=te,te._fireAndBubble(H.pointerdown,{evt:B,pointerId:ne.id}),J=!0;const ve=B.type.indexOf("touch")>=0;te.preventDefault()&&B.cancelable&&ve&&B.preventDefault()}),J||this._fire(H.pointerdown,{evt:B,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(B){const H=U(B.type),Q=j(B.type);if(!H)return;s.DD.isDragging&&s.DD.node.preventDefault()&&B.cancelable&&B.preventDefault(),this.setPointersPositions(B);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let te=!1;var xe=this._getTargetShape(Q);this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve),Ne=ve.id,se={evt:B,pointerId:Ne};var gt=xe!==ce;if(gt&&xe&&(xe._fireAndBubble(H.pointerout,Object.assign({},se),ce),xe._fireAndBubble(H.pointerleave,Object.assign({},se),ce)),ce){if(ne[ce._id])return;ne[ce._id]=!0}ce&&ce.isListening()?(te=!0,gt&&(ce._fireAndBubble(H.pointerover,Object.assign({},se),xe),ce._fireAndBubble(H.pointerenter,Object.assign({},se),xe),this[Q+"targetShape"]=ce),ce._fireAndBubble(H.pointermove,Object.assign({},se))):xe&&(this._fire(H.pointerover,{evt:B,target:this,currentTarget:this,pointerId:Ne}),this[Q+"targetShape"]=null)}),te||this._fire(H.pointermove,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(B){const H=U(B.type),Q=j(B.type);if(!H)return;this.setPointersPositions(B);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var te={};let xe=!1;this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve);if(ce){if(ce.releaseCapture(ve.id),te[ce._id])return;te[ce._id]=!0}const Ne=ve.id,se={evt:B,pointerId:Ne};let gt=!1;i.Konva["_"+Q+"InDblClickWindow"]?(gt=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),ce&&ce.isListening()?(xe=!0,this[Q+"ClickEndShape"]=ce,ce._fireAndBubble(H.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===ce&&(ce._fireAndBubble(H.pointerclick,Object.assign({},se)),gt&&ne&&ne===ce&&ce._fireAndBubble(H.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(H.pointerclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}),gt&&this._fire(H.pointerdblclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}))}),xe||this._fire(H.pointerup,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,B.cancelable&&Q!=="touch"&&B.preventDefault()}_contextmenu(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble($,{evt:B}):this._fire($,{evt:B,target:this,currentTarget:this})}_wheel(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble(N,{evt:B}):this._fire(N,{evt:B,target:this,currentTarget:this})}_pointercancel(B){this.setPointersPositions(B);const H=l.getCapturedShape(B.pointerId)||this.getIntersection(this.getPointerPosition());H&&H._fireAndBubble(_,l.createEvent(B)),l.releaseCapture(B.pointerId)}_lostpointercapture(B){l.releaseCapture(B.pointerId)}setPointersPositions(B){var H=this._getContentPosition(),Q=null,J=null;B=B||window.event,B.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(B.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})}),Array.prototype.forEach.call(B.changedTouches||B.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})})):(Q=(B.clientX-H.left)/H.scaleX,J=(B.clientY-H.top)/H.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}])}_setPointerPosition(B){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(B)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var B=this.content.getBoundingClientRect();return{top:B.top,left:B.left,scaleX:B.width/this.content.clientWidth||1,scaleY:B.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var B=this.container();if(!B)throw"Stage has no container. A container is required.";B.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),B.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(B){B.batchDraw()}),this}}e.Stage=X,X.prototype.nodeType=u,(0,a._registerNode)(X),n.Factory.addGetterSetter(X,"container")})(uN);var kh={},sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Pe,n=Rt,r=Te,i=wt,o=de,s=Pe,a=Tr;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(P){const E=this.attrs.fillRule;E?P.fill(E):P.fill()}function S(P){P.stroke()}function v(P){P.fill()}function y(P){P.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class T extends i.Node{constructor(E){super(E);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var E=p();const A=E.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const M=$.getMatrix(),C=typeof DOMMatrix>"u"?{a:M[0],b:M[1],c:M[2],d:M[3],e:M[4],f:M[5]}:new DOMMatrix(M);A.setTransform(C)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var E=this.fillLinearGradientColorStops();if(E){for(var A=p(),$=this.fillLinearGradientStartPoint(),M=this.fillLinearGradientEndPoint(),C=A.createLinearGradient($.x,$.y,M.x,M.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const E=this.hitStrokeWidth();return E==="auto"?this.hasStroke():this.strokeEnabled()&&!!E}intersects(E){var A=this.getStage(),$=A.bufferHitCanvas,M;return $.getContext().clear(),this.drawHit($,null,!0),M=$.context.getImageData(Math.round(E.x),Math.round(E.y),1,1).data,M[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(E){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const M=E||this.hasFill(),C=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(M&&C&&O)return!0;const I=this.hasShadow(),N=this.shadowForStrokeEnabled();return!!(M&&C&&I&&N)}setStrokeHitEnabled(E){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),E?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var E=this.size();return{x:this._centroid?-E.width/2:0,y:this._centroid?-E.height/2:0,width:E.width,height:E.height}}getClientRect(E={}){const A=E.skipTransform,$=E.relativeTo,M=this.getSelfRect(),O=!E.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=M.width+O,N=M.height+O,R=!E.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,j=I+Math.abs(D),U=N+Math.abs(L),G=R&&this.shadowBlur()||0,W=j+G*2,X=U+G*2,Y={width:W,height:X,x:-(O/2+G)+Math.min(D,0)+M.x,y:-(O/2+G)+Math.min(L,0)+M.y};return A?Y:this._transformedRect(Y,$)}drawScene(E,A){var $=this.getLayer(),M=E||$.getCanvas(),C=M.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),N=this.hasShadow(),R,D,L,j=M.isCache,U=A===this;if(!this.isVisible()&&!U)return this;if(O){C.save();var G=this.getAbsoluteTransform(A).getMatrix();return C.transform(G[0],G[1],G[2],G[3],G[4],G[5]),this._drawCachedSceneCanvas(C),C.restore(),this}if(!I)return this;if(C.save(),this._useBufferCanvas()&&!j){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var W=this.getAbsoluteTransform(A).getMatrix();L.transform(W[0],W[1],W[2],W[3],W[4],W[5]),I.call(this,L,this),L.restore();var X=D.pixelRatio;N&&C._applyShadow(this),C._applyOpacity(this),C._applyGlobalCompositeOperation(this),C.drawImage(D._canvas,0,0,D.width/X,D.height/X)}else{if(C._applyLineJoin(this),!U){var W=this.getAbsoluteTransform(A).getMatrix();C.transform(W[0],W[1],W[2],W[3],W[4],W[5]),C._applyOpacity(this),C._applyGlobalCompositeOperation(this)}N&&C._applyShadow(this),I.call(this,C,this)}return C.restore(),this}drawHit(E,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var M=this.getLayer(),C=E||M.hitCanvas,O=C&&C.getContext(),I=this.hitFunc()||this.sceneFunc(),N=this._getCanvasCache(),R=N&&N.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var j=this.getAbsoluteTransform(A).getMatrix();O.transform(j[0],j[1],j[2],j[3],j[4],j[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(E=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),M=A.hit,C=M.getContext(),O=M.getWidth(),I=M.getHeight(),N,R,D,L,j,U;C.clear(),C.drawImage($._canvas,0,0,O,I);try{for(N=C.getImageData(0,0,O,I),R=N.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),j=0;jE?(R[j]=L.r,R[j+1]=L.g,R[j+2]=L.b,R[j+3]=255):R[j+3]=0;C.putImageData(N,0,0)}catch(G){n.Util.error("Unable to draw hit graph from cached scene canvas. "+G.message)}return this}hasPointerCapture(E){return a.hasPointerCapture(E,this)}setPointerCapture(E){a.setPointerCapture(E,this)}releaseCapture(E){a.releaseCapture(E,this)}}e.Shape=T,T.prototype._fillFunc=m,T.prototype._strokeFunc=S,T.prototype._fillFuncHit=v,T.prototype._strokeFuncHit=y,T.prototype._centroid=!1,T.prototype.nodeType="Shape",(0,s._registerNode)(T),T.prototype.eventListeners={},T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(T,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(T,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(T,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"lineJoin"),r.Factory.addGetterSetter(T,"lineCap"),r.Factory.addGetterSetter(T,"sceneFunc"),r.Factory.addGetterSetter(T,"hitFunc"),r.Factory.addGetterSetter(T,"dash"),r.Factory.addGetterSetter(T,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(T,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(T,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternImage"),r.Factory.addGetterSetter(T,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(T,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(T,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(T,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(T,"fillEnabled",!0),r.Factory.addGetterSetter(T,"strokeEnabled",!0),r.Factory.addGetterSetter(T,"shadowEnabled",!0),r.Factory.addGetterSetter(T,"dashEnabled",!0),r.Factory.addGetterSetter(T,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(T,"fillPriority","color"),r.Factory.addComponentsGetterSetter(T,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(T,"fillPatternRotation",0),r.Factory.addGetterSetter(T,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(T,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(sn);Object.defineProperty(kh,"__esModule",{value:!0});kh.Layer=void 0;const go=Rt,Gb=gl,Ul=wt,wC=Te,i6=_i,tde=de,nde=sn,rde=Pe;var ide="#",ode="beforeDraw",sde="draw",fN=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],ade=fN.length;class vc extends Gb.Container{constructor(t){super(t),this.canvas=new i6.SceneCanvas,this.hitCanvas=new i6.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ode,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Gb.Container.prototype.drawScene.call(this,i,n),this._fire(sde,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Gb.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return go.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}kh.Layer=vc;vc.prototype.nodeType="Layer";(0,rde._registerNode)(vc);wC.Factory.addGetterSetter(vc,"imageSmoothingEnabled",!0);wC.Factory.addGetterSetter(vc,"clearBeforeDraw",!0);wC.Factory.addGetterSetter(vc,"hitGraphEnabled",!0,(0,tde.getBooleanValidator)());var av={};Object.defineProperty(av,"__esModule",{value:!0});av.FastLayer=void 0;const lde=Rt,ude=kh,cde=Pe;class xC extends ude.Layer{constructor(t){super(t),this.listening(!1),lde.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}av.FastLayer=xC;xC.prototype.nodeType="FastLayer";(0,cde._registerNode)(xC);var bc={};Object.defineProperty(bc,"__esModule",{value:!0});bc.Group=void 0;const dde=Rt,fde=gl,hde=Pe;class CC extends fde.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&dde.Util.throw("You may only add groups and shapes to groups.")}}bc.Group=CC;CC.prototype.nodeType="Group";(0,hde._registerNode)(CC);var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0});Sc.Animation=void 0;const Hb=Pe,o6=Rt;var qb=function(){return Hb.glob.performance&&Hb.glob.performance.now?function(){return Hb.glob.performance.now()}:function(){return new Date().getTime()}}();class Gi{constructor(t,n){this.id=Gi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:qb(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,T,P;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(T=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}lv.Arc=Yo;Yo.prototype._centroid=!0;Yo.prototype.className="Arc";Yo.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,gde._registerNode)(Yo);uv.Factory.addGetterSetter(Yo,"innerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"outerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"angle",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"clockwise",!1,(0,cv.getBooleanValidator)());var dv={},Oh={};Object.defineProperty(Oh,"__esModule",{value:!0});Oh.Line=void 0;const fv=Te,mde=sn,pN=de,yde=Pe;function v2(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function a6(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(gN);Object.defineProperty(_c,"__esModule",{value:!0});_c.Path=void 0;const vde=Te,bde=sn,Sde=Pe,Gl=gN;class Jt extends bde.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Jt.parsePathData(this.data()),this.pathLength=Jt.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=Jt.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Jt.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Jt.getPointOnCubicBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Jt.getPointOnQuadraticBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,Jt.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,T,P,E,A,$,M,C,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),N=p.shift();if(l+=I,u+=N,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+N;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,T,l,u);break;case"t":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,T,l,u);break;case"A":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break;case"a":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Jt;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,Gl.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Gl.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(E){return Math.sqrt(E[0]*E[0]+E[1]*E[1])},b=function(E,A){return(E[0]*A[0]+E[1]*A[1])/(g(E)*g(A))},_=function(E,A){return(E[0]*A[1]=1&&(P=0),s===0&&P>0&&(P=P-2*Math.PI),s===1&&P<0&&(P=P+2*Math.PI),[v,y,a,l,w,P,c,s]}}_c.Path=Jt;Jt.prototype.className="Path";Jt.prototype._attrsAffectingSize=["data"];(0,Sde._registerNode)(Jt);vde.Factory.addGetterSetter(Jt,"data");Object.defineProperty(dv,"__esModule",{value:!0});dv.Arrow=void 0;const hv=Te,_de=Oh,mN=de,wde=Pe,l6=_c;class yl extends _de.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=l6.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=l6.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}dv.Arrow=yl;yl.prototype.className="Arrow";(0,wde._registerNode)(yl);hv.Factory.addGetterSetter(yl,"pointerLength",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerWidth",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerAtBeginning",!1);hv.Factory.addGetterSetter(yl,"pointerAtEnding",!0);var pv={};Object.defineProperty(pv,"__esModule",{value:!0});pv.Circle=void 0;const xde=Te,Cde=sn,Tde=de,Ede=Pe;let wc=class extends Cde.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};pv.Circle=wc;wc.prototype._centroid=!0;wc.prototype.className="Circle";wc.prototype._attrsAffectingSize=["radius"];(0,Ede._registerNode)(wc);xde.Factory.addGetterSetter(wc,"radius",0,(0,Tde.getNumberValidator)());var gv={};Object.defineProperty(gv,"__esModule",{value:!0});gv.Ellipse=void 0;const TC=Te,Pde=sn,yN=de,Ade=Pe;class oa extends Pde.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}gv.Ellipse=oa;oa.prototype.className="Ellipse";oa.prototype._centroid=!0;oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,Ade._registerNode)(oa);TC.Factory.addComponentsGetterSetter(oa,"radius",["x","y"]);TC.Factory.addGetterSetter(oa,"radiusX",0,(0,yN.getNumberValidator)());TC.Factory.addGetterSetter(oa,"radiusY",0,(0,yN.getNumberValidator)());var mv={};Object.defineProperty(mv,"__esModule",{value:!0});mv.Image=void 0;const Wb=Rt,vl=Te,kde=sn,Ode=Pe,Rh=de;let ao=class vN extends kde.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Wb.Util.createImageElement();i.onload=function(){var o=new vN({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};mv.Image=ao;ao.prototype.className="Image";(0,Ode._registerNode)(ao);vl.Factory.addGetterSetter(ao,"cornerRadius",0,(0,Rh.getNumberOrArrayOfNumbersValidator)(4));vl.Factory.addGetterSetter(ao,"image");vl.Factory.addComponentsGetterSetter(ao,"crop",["x","y","width","height"]);vl.Factory.addGetterSetter(ao,"cropX",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropY",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropWidth",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropHeight",0,(0,Rh.getNumberValidator)());var oc={};Object.defineProperty(oc,"__esModule",{value:!0});oc.Tag=oc.Label=void 0;const yv=Te,Rde=sn,Ide=bc,EC=de,bN=Pe;var SN=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Mde="Change.konva",Nde="none",b2="up",S2="right",_2="down",w2="left",Dde=SN.length;class PC extends Ide.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bv.RegularPolygon=Sl;Sl.prototype.className="RegularPolygon";Sl.prototype._centroid=!0;Sl.prototype._attrsAffectingSize=["radius"];(0,zde._registerNode)(Sl);_N.Factory.addGetterSetter(Sl,"radius",0,(0,wN.getNumberValidator)());_N.Factory.addGetterSetter(Sl,"sides",0,(0,wN.getNumberValidator)());var Sv={};Object.defineProperty(Sv,"__esModule",{value:!0});Sv.Ring=void 0;const xN=Te,Ude=sn,CN=de,Gde=Pe;var u6=Math.PI*2;class _l extends Ude.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,u6,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),u6,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}Sv.Ring=_l;_l.prototype.className="Ring";_l.prototype._centroid=!0;_l.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,Gde._registerNode)(_l);xN.Factory.addGetterSetter(_l,"innerRadius",0,(0,CN.getNumberValidator)());xN.Factory.addGetterSetter(_l,"outerRadius",0,(0,CN.getNumberValidator)());var _v={};Object.defineProperty(_v,"__esModule",{value:!0});_v.Sprite=void 0;const wl=Te,Hde=sn,qde=Sc,TN=de,Wde=Pe;class lo extends Hde.Shape{constructor(t){super(t),this._updated=!0,this.anim=new qde.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Fp;function Xb(){return Fp||(Fp=x2.Util.createCanvasElement().getContext(efe),Fp)}function dfe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function ffe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function hfe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Ut extends Yde.Shape{constructor(t){super(hfe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=x2.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(tfe,n),this}getWidth(){var t=this.attrs.width===Hl||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Hl||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return x2.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Xb(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+$p+this.fontVariant()+$p+(this.fontSize()+ofe)+cfe(this.fontFamily())}_addTextLine(t){this.align()===Jc&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Xb().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==Hl&&o!==void 0,l=s!==Hl&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==f6,m=h!==lfe&&p,S=this.ellipsis();this.textArr=[],Xb().font=this._getContextFont();for(var v=S?this._getTextWidth(Kb):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,T="",P=0;w>>1,A=b.slice(0,E+1),$=this._getTextWidth(A)+v;$<=c?(w=E+1,T=A,P=$):x=E}if(T){if(m){var M,C=b[T.length],O=C===$p||C===c6;O&&P<=c?M=T.length:M=Math.max(T.lastIndexOf($p),T.lastIndexOf(c6))+1,M>0&&(w=M,T=T.slice(0,w),P=this._getTextWidth(T))}T=T.trimRight(),this._addTextLine(T),r=Math.max(r,P),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Hl&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==f6;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Hl&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Kb)n?null:ed.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=ed.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${NN}`).join(" "),g6="nodesRect",_fe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],wfe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const xfe="ontouchstart"in si.Konva._global;function Cfe(e,t){if(e==="rotater")return"crosshair";t+=Qe.Util.degToRad(wfe[e]||0);var n=(Qe.Util.radToDeg(t)%360+360)%360;return Qe.Util._inRange(n,315+22.5,360)||Qe.Util._inRange(n,0,22.5)?"ns-resize":Qe.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":Qe.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":Qe.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":Qe.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":Qe.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":Qe.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":Qe.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(Qe.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var Qm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],m6=1e8;function Tfe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function DN(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Efe(e,t){const n=Tfe(e);return DN(e,t,n)}function Pfe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Qe.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(_fe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(g6),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(g6,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(si.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return DN(c,-si.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-m6,y:-m6,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new Qe.Transform;r.rotate(-si.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:si.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Qm.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new vfe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:xfe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=si.Konva.getAngle(this.rotation()),o=Cfe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new yfe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*Qe.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let M=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(M-=Math.PI);var f=si.Konva.getAngle(this.rotation());const C=f+M,O=si.Konva.getAngle(this.rotationSnapTolerance()),N=Pfe(this.rotationSnaps(),C,O)-d.rotation,R=Efe(d,N);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Qe.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Qe.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new Qe.Transform;if(s.rotate(si.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:Qe.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new Qe.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new Qe.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new Qe.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(Qe.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Qe.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Qe.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),p6.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return h6.Node.prototype.toObject.call(this)}clone(t){var n=h6.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Cv.Transformer=ze;function Afe(e){return e instanceof Array||Qe.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Qm.indexOf(t)===-1&&Qe.Util.warn("Unknown anchor name: "+t+". Available names are: "+Qm.join(", "))}),e||[]}ze.prototype.className="Transformer";(0,bfe._registerNode)(ze);Ye.Factory.addGetterSetter(ze,"enabledAnchors",Qm,Afe);Ye.Factory.addGetterSetter(ze,"flipEnabled",!0,(0,la.getBooleanValidator)());Ye.Factory.addGetterSetter(ze,"resizeEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorSize",10,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotateEnabled",!0);Ye.Factory.addGetterSetter(ze,"rotationSnaps",[]);Ye.Factory.addGetterSetter(ze,"rotateAnchorOffset",50,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotationSnapTolerance",5,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"anchorStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"anchorFill","white");Ye.Factory.addGetterSetter(ze,"anchorCornerRadius",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"borderStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderDash");Ye.Factory.addGetterSetter(ze,"keepRatio",!0);Ye.Factory.addGetterSetter(ze,"shiftBehavior","default");Ye.Factory.addGetterSetter(ze,"centeredScaling",!1);Ye.Factory.addGetterSetter(ze,"ignoreStroke",!1);Ye.Factory.addGetterSetter(ze,"padding",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"node");Ye.Factory.addGetterSetter(ze,"nodes");Ye.Factory.addGetterSetter(ze,"boundBoxFunc");Ye.Factory.addGetterSetter(ze,"anchorDragBoundFunc");Ye.Factory.addGetterSetter(ze,"anchorStyleFunc");Ye.Factory.addGetterSetter(ze,"shouldOverdrawWholeArea",!1);Ye.Factory.addGetterSetter(ze,"useSingleNodeRotation",!0);Ye.Factory.backCompat(ze,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Tv={};Object.defineProperty(Tv,"__esModule",{value:!0});Tv.Wedge=void 0;const Ev=Te,kfe=sn,Ofe=Pe,LN=de,Rfe=Pe;class Qo extends kfe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Ofe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Tv.Wedge=Qo;Qo.prototype.className="Wedge";Qo.prototype._centroid=!0;Qo.prototype._attrsAffectingSize=["radius"];(0,Rfe._registerNode)(Qo);Ev.Factory.addGetterSetter(Qo,"radius",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"angle",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"clockwise",!1);Ev.Factory.backCompat(Qo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var Pv={};Object.defineProperty(Pv,"__esModule",{value:!0});Pv.Blur=void 0;const y6=Te,Ife=wt,Mfe=de;function v6(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Nfe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Dfe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Lfe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,T,P,E,A,$,M=t+t+1,C=r-1,O=i-1,I=t+1,N=I*(I+1)/2,R=new v6,D=null,L=R,j=null,U=null,G=Nfe[t],W=Dfe[t];for(a=1;a>W,A!==0?(A=255/A,n[c]=(f*G>>W)*A,n[c+1]=(h*G>>W)*A,n[c+2]=(p*G>>W)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=d+((l=o+t+1)>W,A>0?(A=255/A,n[l]=(f*G>>W)*A,n[l+1]=(h*G>>W)*A,n[l+2]=(p*G>>W)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=o+((l=s+I)0&&Lfe(t,n)};Pv.Blur=$fe;y6.Factory.addGetterSetter(Ife.Node,"blurRadius",0,(0,Mfe.getNumberValidator)(),y6.Factory.afterSetFilter);var Av={};Object.defineProperty(Av,"__esModule",{value:!0});Av.Brighten=void 0;const b6=Te,Ffe=wt,Bfe=de,jfe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};kv.Contrast=Ufe;S6.Factory.addGetterSetter(Vfe.Node,"contrast",0,(0,zfe.getNumberValidator)(),S6.Factory.afterSetFilter);var Ov={};Object.defineProperty(Ov,"__esModule",{value:!0});Ov.Emboss=void 0;const Ws=Te,Rv=wt,Gfe=Rt,$N=de,Hfe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Gfe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,T=b>0?b:-b,P=_>0?_:-_;if(T>x&&(w=b),P>x&&(w=_),w*=t,i){var E=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=E>255?255:E<0?0:E,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var M=n-w;M<0?M=0:M>255&&(M=255),a[S]=a[S+1]=a[S+2]=M}}while(--m)}while(--d)};Ov.Emboss=Hfe;Ws.Factory.addGetterSetter(Rv.Node,"embossStrength",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossWhiteLevel",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossDirection","top-left",null,Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossBlend",!1,null,Ws.Factory.afterSetFilter);var Iv={};Object.defineProperty(Iv,"__esModule",{value:!0});Iv.Enhance=void 0;const _6=Te,qfe=wt,Wfe=de;function Zb(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const Kfe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,T;for(_=0;_g?y:g;var b=s,_=o,w,x,T=n.polarRotation||0,P,E;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function uhe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};jv.Pixelate=yhe;T6.Factory.addGetterSetter(ghe.Node,"pixelSize",8,(0,mhe.getNumberValidator)(),T6.Factory.afterSetFilter);var Vv={};Object.defineProperty(Vv,"__esModule",{value:!0});Vv.Posterize=void 0;const E6=Te,vhe=wt,bhe=de,She=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"blue",0,_he.RGBComponent,Jm.Factory.afterSetFilter);var Uv={};Object.defineProperty(Uv,"__esModule",{value:!0});Uv.RGBA=void 0;const Bf=Te,Gv=wt,xhe=de,Che=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"blue",0,xhe.RGBComponent,Bf.Factory.afterSetFilter);Bf.Factory.addGetterSetter(Gv.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var Hv={};Object.defineProperty(Hv,"__esModule",{value:!0});Hv.Sepia=void 0;const The=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};qv.Solarize=Ehe;var Wv={};Object.defineProperty(Wv,"__esModule",{value:!0});Wv.Threshold=void 0;const P6=Te,Phe=wt,Ahe=de,khe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new nd.Stage({container:o,width:r,height:i}),a=new nd.Layer,l=new nd.Layer;return a.add(new nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},gpe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),O6=async(e,t)=>{const n=e.toDataURL(t);return await gpe(n,t.width,t.height)},mpe=async(e,t,n,r,i)=>{const o=fe("canvas"),s=tv(),a=Ple();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await Km(u,d),h=await O6(u,d),p=await ppe(r?e.objects.filter(MR):[],l,i),m=await Km(p,l),S=await O6(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},ype=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=ype(e.data),i=vpe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},Spe=e=>oR(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Kv=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Spe(i),s=t.nodes[lt];if(r&&o.length&&o.length){const a={id:Rp,type:"collect",is_intermediate:!0};t.nodes[Rp]=a,t.edges.push({source:{node_id:Rp,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=_0(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Rp,field:"item"}})})}},xc=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[lt];if(a){rY(t.nodes[Fe],"prompt");const c={id:zb,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[zb]=c,t.nodes[lr]=d,t.edges.push({source:{node_id:zb,field:"prompt_collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Fe,field:"prompt"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"positive_prompt"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:lt,field:"seed"}})}else t.nodes[Le].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Co,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[lr]=d,t.nodes[Co]=c,t.edges.push({source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}}),t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"seed"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else c.start=i}},Mh=(e,t,n)=>{const{loras:r}=e.lora,i=hR(r),o=t.nodes[lt];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===pt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===rt&&["clip"].includes(l.source.field))));let s="",a=0;Qa(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${uce}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:pt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:rt,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Fe,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:qe,field:"clip"}})),s=f,a+=1})},jN=Jn(e=>e.ui,e=>AR[e.activeTab],{memoizeOptions:{equalityCheck:S0}}),n4e=Jn(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:S0}}),r4e=Jn(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:S0}}),xl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[lt];if(!o)return;o.is_intermediate=!0;const a={id:fu,type:"img_nsfw",is_intermediate:i};t.nodes[fu]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:fu,field:"image"}}),s&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:fu,field:"metadata"}})},Nh=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[lt];r||(t.nodes[Zc]={type:"vae_loader",id:Zc,is_intermediate:!0,vae_model:n}),(t.id===bC||t.id===Xm)&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:nt,field:"vae"}}),t.id===Xm&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.id===iN&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:Mi,field:"vae"}}),n&&i&&(i.vae=n)},Cl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[fu],a=t.nodes[lt];if(!o)return;const l={id:Qc,type:"img_watermark",is_intermediate:i};t.nodes[Qc]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:fu,field:"image"},destination:{node_id:Qc,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Qc,field:"image"}}),a&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:Qc,field:"metadata"}})},_pe=(e,t)=>{const n=fe("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f}=e.generation,{width:h,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:m}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const S=f?d:Wo.shouldUseCpuNoise,v={id:Xm,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:r},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:i},[Le]:{type:"noise",id:Le,is_intermediate:!0,use_cpu:S},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:o},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:c},[Kt]:{type:"l2l",id:Kt,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[bt]:{type:"i2l",id:bt,is_intermediate:!0},[nt]:{type:"l2i",id:nt,is_intermediate:!m}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(t.width!==h||t.height!==p){const y={id:Qn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:h,height:p};v.nodes[Qn]=y,v.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),v.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else v.nodes[bt].image={image_name:t.image_name},v.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return v.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:p,width:h,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:S?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:c,strength:u,init_image:t.image_name},Mh(e,v,Kt),Nh(e,v),xc(e,v),Kv(e,v,Kt),e.system.shouldUseNSFWChecker&&xl(e,v),e.system.shouldUseWatermarker&&Cl(e,v),v},wpe=(e,t,n)=>{const r=fe("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:c,shouldFitToWidthHeight:d,iterations:f,seed:h,shouldRandomizeSeed:p,seamSize:m,seamBlur:S,seamSteps:v,seamStrength:y,tileSize:g,infillMethod:b,clipSkip:_}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:w,height:x}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:T,boundingBoxScaleMethod:P,shouldAutoSave:E}=e.canvas,A={id:iN,nodes:{[Mi]:{is_intermediate:!E,type:"inpaint",id:Mi,steps:u,width:w,height:x,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:c,fit:d,mask:{image_name:n.image_name},seam_size:m,seam_blur:S,seam_strength:y,seam_steps:v,tile_size:b==="tile"?g:void 0,infill_method:b,inpaint_width:P!=="none"?T.width:void 0,inpaint_height:P!=="none"?T.height:void 0},[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:i},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:o},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:s},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:_},[Co]:{type:"range_of_size",id:Co,is_intermediate:!0,size:f,step:1},[lr]:{type:"iterate",id:lr,is_intermediate:!0}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Mi,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Mi,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Mi,field:"positive_conditioning"}},{source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Mi,field:"seed"}}]};if(Mh(e,A,Mi),Nh(e,A),p){const $={id:Fi,type:"rand_int"};A.nodes[Fi]=$,A.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else A.nodes[Co].start=h;return e.system.shouldUseNSFWChecker&&xl(e,A,Mi),e.system.shouldUseWatermarker&&Cl(e,A,Mi),A},xpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:c}=e.generation,{width:d,height:f}=e.canvas.boundingBoxDimensions,{shouldAutoSave:h}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const p=c?u:Wo.shouldUseCpuNoise,m={id:bC,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:n},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:r},[Le]:{type:"noise",id:Le,is_intermediate:!0,width:d,height:f,use_cpu:p},[dn]:{type:"t2l",id:dn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:i},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:l},[nt]:{type:"l2i",id:nt,is_intermediate:!h}},edges:[{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Cpe=(e,t,n,r)=>{let i;if(t==="txt2img")i=xpe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=_pe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=wpe(e,n,r)}return i},Tpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:c}=o.canvas,d=await mpe(s,a,l,u,c);if(!d){i.error("Unable to create canvas data");return}const{baseBlob:f,baseImageData:h,maskBlob:p,maskImageData:m}=d,S=bpe(h,m);if(o.system.enableImageDebugging){const x=await XE(f),T=await XE(p);gce([{base64:T,caption:"mask b64"},{base64:x,caption:"image b64"}])}i.debug(`Generation mode: ${S}`);let v,y;["img2img","inpaint","outpaint"].includes(S)&&(v=await n(he.endpoints.uploadImage.initiate({file:new File([f],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(S)&&(y=await n(he.endpoints.uploadImage.initiate({file:new File([p],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const g=Cpe(o,S,v,y);i.debug({graph:ra(g)},"Canvas graph built"),n(KM(g));const{requestId:b}=n(On({graph:g})),[_]=await r(x=>On.fulfilled.match(x)&&x.meta.requestId===b),w=_.payload.id;["img2img","inpaint"].includes(S)&&v&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:v,session_id:w})),["inpaint"].includes(S)&&y&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:y,session_id:w})),o.canvas.layerState.stagingArea.boundingBox||n(jQ({sessionId:w,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(VQ(w)),n(pl())}})},Epe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:c,width:d,height:f,clipSkip:h,shouldUseCpuNoise:p,shouldUseNoiseSettings:m,vaePrecision:S}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=m?p:Wo.shouldUseCpuNoise,y={id:Xm,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:h},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,use_cpu:v},[nt]:{type:"l2i",id:nt,fp32:S==="fp32"},[Kt]:{type:"l2l",id:Kt,cfg_scale:o,scheduler:s,steps:a,strength:u},[bt]:{type:"i2l",id:bt,fp32:S==="fp32"}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(c&&(l.width!==d||l.height!==f)){const g={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};y.nodes[Qn]=g,y.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),y.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else y.nodes[bt].image={image_name:l.imageName},y.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return y.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:v?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:h,strength:u,init_image:l.imageName},Mh(e,y,Kt),Nh(e,y),xc(e,y),Kv(e,y,Kt),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},VN=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:c,refinerCFGScale:d,refinerStart:f}=e.sdxl;if(!o)return;const h=t.nodes[lt];h&&(h.refiner_model=o,h.refiner_aesthetic_store=s,h.refiner_cfg_scale=d,h.refiner_scheduler=c,h.refiner_start=f,h.refiner_steps=u),t.edges=t.edges.filter(p=>!(p.source.node_id===n&&["latents"].includes(p.source.field))),t.edges=t.edges.filter(p=>!(p.source.node_id===en&&["vae"].includes(p.source.field))),n===Ni&&t.edges.push({source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.nodes[zl]={type:"sdxl_refiner_model_loader",id:zl,model:o},t.nodes[Ip]={type:"sdxl_refiner_compel_prompt",id:Ip,style:`${r} ${a}`,aesthetic_score:s},t.nodes[Mp]={type:"sdxl_refiner_compel_prompt",id:Mp,style:`${i} ${l}`,aesthetic_score:s},t.nodes[ma]={type:"l2l_sdxl",id:ma,cfg_scale:d,steps:u/(1-Math.min(f,.99)),scheduler:c,denoising_start:f,denoising_end:1},t.edges.push({source:{node_id:zl,field:"unet"},destination:{node_id:ma,field:"unet"}},{source:{node_id:zl,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Ip,field:"clip2"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Mp,field:"clip2"}},{source:{node_id:Ip,field:"conditioning"},destination:{node_id:ma,field:"positive_conditioning"}},{source:{node_id:Mp,field:"conditioning"},destination:{node_id:ma,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:ma,field:"latents"}},{source:{node_id:ma,field:"latents"},destination:{node_id:nt,field:"latents"}})},Ppe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p,vaePrecision:m}=e.generation,{positiveStylePrompt:S,negativeStylePrompt:v,shouldUseSDXLRefiner:y,refinerStart:g,sdxlImg2ImgDenoisingStrength:b}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=p?h:Wo.shouldUseCpuNoise,w={id:dce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:S},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:v},[Le]:{type:"noise",id:Le,use_cpu:_},[nt]:{type:"l2i",id:nt,fp32:m==="fp32"},[Ni]:{type:"l2l_sdxl",id:Ni,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(g,1-b):1-b,denoising_end:y?g:1},[bt]:{type:"i2l",id:bt,fp32:m==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:Ni,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Ni,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Ni,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Ni,field:"noise"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Ni,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Ni,field:"negative_conditioning"}}]};if(u&&(l.width!==c||l.height!==d)){const x={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:c,height:d};w.nodes[Qn]=x,w.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),w.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),w.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else w.nodes[bt].image={image_name:l.imageName},w.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),w.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return w.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:d,width:c,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:b,init_image:l.imageName,positive_style_prompt:S,negative_style_prompt:v},w.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),y&&VN(e,w,Ni),xc(e,w),e.system.shouldUseNSFWChecker&&xl(e,w),e.system.shouldUseWatermarker&&Cl(e,w),w},Ape=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=Ppe(o):a=Epe(o),n(WM(a)),i.debug({graph:ra(a)},"Image to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})};let jp;const kpe=new Uint8Array(16);function Ope(){if(!jp&&(jp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!jp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return jp(kpe)}const Cn=[];for(let e=0;e<256;++e)Cn.push((e+256).toString(16).slice(1));function Rpe(e,t=0){return(Cn[e[t+0]]+Cn[e[t+1]]+Cn[e[t+2]]+Cn[e[t+3]]+"-"+Cn[e[t+4]]+Cn[e[t+5]]+"-"+Cn[e[t+6]]+Cn[e[t+7]]+"-"+Cn[e[t+8]]+Cn[e[t+9]]+"-"+Cn[e[t+10]]+Cn[e[t+11]]+Cn[e[t+12]]+Cn[e[t+13]]+Cn[e[t+14]]+Cn[e[t+15]]).toLowerCase()}const Ipe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),R6={randomUUID:Ipe};function Mpe(e,t,n){if(R6.randomUUID&&!t&&!e)return R6.randomUUID();e=e||{};const r=e.random||(e.rng||Ope)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Rpe(r)}const Npe=e=>{if(e.type==="color"&&e.value){const t=Ln(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},Dpe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:c}=l,{type:d,inputs:f}=c,h=Lx(f,(m,S,v)=>{const y=Npe(S);return m[v]=y,m},{}),p={type:d,id:u,...h};return Object.assign(a,{[u]:p}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:c,sourceHandle:d,targetHandle:f}=l;return a.push({source:{node_id:u,field:d},destination:{node_id:c,field:f}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=_0(l,u)}),{id:Mpe(),nodes:i,edges:o}},Lpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=Dpe(o);n(XM(s)),i.debug({graph:ra(s)},"Nodes graph built"),n(On({graph:s})),await r(On.fulfilled.match),n(pl())}})},$pe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,{positiveStylePrompt:p,negativeStylePrompt:m,shouldUseSDXLRefiner:S,refinerStart:v}=e.sdxl,y=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const g={id:cce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:p},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:m},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:y},[is]:{type:"t2l_sdxl",id:is,cfg_scale:o,scheduler:s,steps:a,denoising_end:S?v:1},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:is,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:is,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:is,field:"negative_conditioning"}},{source:{node_id:Le,field:"noise"},destination:{node_id:is,field:"noise"}},{source:{node_id:is,field:"latents"},destination:{node_id:nt,field:"latents"}}]};return g.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c,positive_style_prompt:p,negative_style_prompt:m},g.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),S&&VN(e,g,is),xc(e,g),e.system.shouldUseNSFWChecker&&xl(e,g),e.system.shouldUseWatermarker&&Cl(e,g),g},Fpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,p=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m={id:bC,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:c},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:p},[dn]:{type:"t2l",id:dn,cfg_scale:o,scheduler:s,steps:a},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Bpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=$pe(o):a=Fpe(o),n(qM(a)),i.debug({graph:ra(a)},"Text to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})},zN=Wk(),le=zN.startListening;Yle();Qle();eue();zle();Ule();Gle();Hle();Sle();Xle();Tpe();Lpe();Bpe();Ape();que();Dle();Ile();Ole();Nle();sce();ple();Xue();Yue();Zue();Jue();tce();Wue();Kue();ice();oce();nce();rce();ece();jue();Vue();zue();Uue();Gue();Hue();$ue();Fue();Bue();Fle();$le();Ble();jle();Wle();Kle();_le();Rue();qle();tue();vle();rue();mle();gle();pce();lce();const jpe={canvas:zQ,gallery:lJ,generation:SQ,nodes:qse,postprocessing:Wse,system:Sae,config:oY,ui:wQ,hotkeys:Cae,controlNet:rJ,boards:aJ,dynamicPrompts:oJ,imageDeletion:fJ,lora:pJ,modelmanager:xae,sdxl:Yse,[Hs.reducerPath]:Hs.reducer},Vpe=pc(jpe),zpe=Xae(Vpe),Upe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],Gpe=Pk({reducer:zpe,enhancers:e=>e.concat(Yae(window.localStorage,Upe,{persistDebounce:300,serialize:ale,unserialize:ule,prefix:Qae})).concat(Xk()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hs.middleware).concat(Aae).prepend(zN.middleware),devTools:{actionSanitizer:dle,stateSanitizer:hle,trace:!0,predicate:(e,t)=>!fle.includes(t.type)}}),i4e=e=>e;function Hpe(e){if(e.sheet)return e.sheet;for(var t=0;t0?Pn(Cc,--Sr):0,lc--,Xt===10&&(lc=1,Yv--),Xt}function Ar(){return Xt=Sr2||Vf(Xt)>3?"":" "}function ige(e,t){for(;--t&&Ar()&&!(Xt<48||Xt>102||Xt>57&&Xt<65||Xt>70&&Xt<97););return Dh(e,_g()+(t<6&&Zi()==32&&Ar()==32))}function T2(e){for(;Ar();)switch(Xt){case e:return Sr;case 34:case 39:e!==34&&e!==39&&T2(Xt);break;case 40:e===41&&T2(e);break;case 92:Ar();break}return Sr}function oge(e,t){for(;Ar()&&e+Xt!==47+10;)if(e+Xt===42+42&&Zi()===47)break;return"/*"+Dh(t,Sr-1)+"*"+Xv(e===47?e:Ar())}function sge(e){for(;!Vf(Zi());)Ar();return Dh(e,Sr)}function age(e){return KN(xg("",null,null,null,[""],e=WN(e),0,[0],e))}function xg(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=Ar()){case 40:if(p!=108&&Pn(x,d-1)==58){C2(x+=He(wg(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=wg(y);break;case 9:case 10:case 13:case 32:x+=rge(p);break;case 92:x+=ige(_g()-1,7);continue;case 47:switch(Zi()){case 42:case 47:Vp(lge(oge(Ar(),_g()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=Bi(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=He(x,/\f/g,"")),h>0&&Bi(x)-d&&Vp(h>32?M6(x+";",r,n,d-1):M6(He(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(Vp(w=I6(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)xg(x,t,w,w,b,o,d,a,_);else switch(f===99&&Pn(x,3)===110?100:f){case 100:case 108:case 109:case 115:xg(e,w,w,r&&Vp(I6(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:xg(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+Bi(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&nge()==125)continue}switch(x+=Xv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(Bi(x)-1)*v,v=1;break;case 64:Zi()===45&&(x+=wg(Ar())),f=Zi(),c=d=Bi(g=x+=sge(_g())),y++;break;case 45:p===45&&Bi(x)==2&&(m=0)}}return o}function I6(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=$C(f),p=0,m=0,S=0;p0?f[v]+" "+y:He(y,/&\f/g,f[v])))&&(l[S++]=g);return Qv(e,t,n,i===0?DC:a,l,u,c)}function lge(e,t,n){return Qv(e,t,n,UN,Xv(tge()),jf(e,2,-2),0)}function M6(e,t,n,r){return Qv(e,t,n,LC,jf(e,0,r),jf(e,r+1,-1),r)}function Lu(e,t){for(var n="",r=$C(e),i=0;i6)switch(Pn(e,t+1)){case 109:if(Pn(e,t+4)!==45)break;case 102:return He(e,/(.+:)(.+)-([^]+)/,"$1"+Ge+"$2-$3$1"+ey+(Pn(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~C2(e,"stretch")?YN(He(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Pn(e,t+1)!==115)break;case 6444:switch(Pn(e,Bi(e)-3-(~C2(e,"!important")&&10))){case 107:return He(e,":",":"+Ge)+e;case 101:return He(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ge+(Pn(e,14)===45?"inline-":"")+"box$3$1"+Ge+"$2$3$1"+Dn+"$2box$3")+e}break;case 5936:switch(Pn(e,t+11)){case 114:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Ge+e+Dn+e+e}return e}var yge=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case LC:t.return=YN(t.value,t.length);break;case GN:return Lu([rd(t,{value:He(t.value,"@","@"+Ge)})],i);case DC:if(t.length)return ege(t.props,function(o){switch(Jpe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Lu([rd(t,{props:[He(o,/:(read-\w+)/,":"+ey+"$1")]})],i);case"::placeholder":return Lu([rd(t,{props:[He(o,/:(plac\w+)/,":"+Ge+"input-$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,":"+ey+"$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,Dn+"input-$1")]})],i)}return""})}},vge=[yge],bge=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||vge,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var xge={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Cge=/[A-Z]|^ms/g,Tge=/_EMO_([^_]+?)_([^]*?)_EMO_/g,JN=function(t){return t.charCodeAt(1)===45},L6=function(t){return t!=null&&typeof t!="boolean"},Jb=XN(function(e){return JN(e)?e:e.replace(Cge,"-$&").toLowerCase()}),$6=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Tge,function(r,i,o){return ji={name:i,styles:o,next:ji},i})}return xge[t]!==1&&!JN(t)&&typeof n=="number"&&n!==0?n+"px":n};function zf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return ji={name:n.name,styles:n.styles,next:ji},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ji={name:r.name,styles:r.styles,next:ji},r=r.next;var i=n.styles+";";return i}return Ege(e,t,n)}case"function":{if(e!==void 0){var o=ji,s=n(e);return ji=o,zf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function Ege(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var iD=k.createContext({});iD.displayName="ColorModeContext";function BC(){const e=k.useContext(iD);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function a4e(e,t){const{colorMode:n}=BC();return n==="dark"?t:e}function Nge(){const e=BC(),t=rD();return{...e,theme:t}}function Dge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function Lge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function l4e(e,t,n){const r=rD();return $ge(e,t,n)(r)}function $ge(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return Dge(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return Lge(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var oD=(...e)=>e.filter(Boolean).join(" ");function Fge(){return!1}function Io(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var u4e=e=>{const{condition:t,message:n}=e;t&&Fge()&&console.warn(n)};function Na(e,...t){return Bge(e)?e(...t):e}var Bge=e=>typeof e=="function",c4e=e=>e?"":void 0,d4e=e=>e?!0:void 0;function f4e(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function h4e(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var ty={exports:{}};ty.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",T="[object WeakMap]",P="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",M="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",N="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,j=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,G={};G[A]=G[$]=G[M]=G[C]=G[O]=G[I]=G[N]=G[R]=G[D]=!0,G[a]=G[l]=G[P]=G[c]=G[E]=G[d]=G[f]=G[h]=G[m]=G[S]=G[y]=G[b]=G[_]=G[w]=G[T]=!1;var W=typeof Ee=="object"&&Ee&&Ee.Object===Object&&Ee,X=typeof self=="object"&&self&&self.Object===Object&&self,Y=W||X||Function("return this")(),B=t&&!t.nodeType&&t,H=B&&!0&&e&&!e.nodeType&&e,Q=H&&H.exports===B,J=Q&&W.process,ne=function(){try{var F=H&&H.require&&H.require("util").types;return F||J&&J.binding&&J.binding("util")}catch{}}(),te=ne&&ne.isTypedArray;function xe(F,V,q){switch(q.length){case 0:return F.call(V);case 1:return F.call(V,q[0]);case 2:return F.call(V,q[0],q[1]);case 3:return F.call(V,q[0],q[1],q[2])}return F.apply(V,q)}function ve(F,V){for(var q=-1,ie=Array(F);++q-1}function fo(F,V){var q=this.__data__,ie=kl(q,F);return ie<0?(++this.size,q.push([F,V])):q[ie][1]=V,this}wn.prototype.clear=co,wn.prototype.delete=Zo,wn.prototype.get=Jo,wn.prototype.has=Al,wn.prototype.set=fo;function qn(F){var V=-1,q=F==null?0:F.length;for(this.clear();++V1?q[De-1]:void 0,mt=De>2?q[2]:void 0;for(tt=F.length>3&&typeof tt=="function"?(De--,tt):void 0,mt&&V$(q[0],q[1],mt)&&(tt=De<3?void 0:tt,De=1),V=Object(V);++ie-1&&F%1==0&&F0){if(++V>=i)return arguments[0]}else V=0;return F.apply(void 0,arguments)}}function X$(F){if(F!=null){try{return Je.call(F)}catch{}try{return F+""}catch{}}return""}function Kh(F,V){return F===V||F!==F&&V!==V}var P1=qh(function(){return arguments}())?qh:function(F){return Oc(F)&&Gt.call(F,"callee")&&!ri.call(F,"callee")},A1=Array.isArray;function k1(F){return F!=null&&k3(F.length)&&!O1(F)}function Y$(F){return Oc(F)&&k1(F)}var A3=ca||tF;function O1(F){if(!ha(F))return!1;var V=Rl(F);return V==h||V==p||V==u||V==g}function k3(F){return typeof F=="number"&&F>-1&&F%1==0&&F<=s}function ha(F){var V=typeof F;return F!=null&&(V=="object"||V=="function")}function Oc(F){return F!=null&&typeof F=="object"}function Q$(F){if(!Oc(F)||Rl(F)!=y)return!1;var V=wr(F);if(V===null)return!0;var q=Gt.call(V,"constructor")&&V.constructor;return typeof q=="function"&&q instanceof q&&Je.call(q)==Lr}var O3=te?ce(te):kc;function Z$(F){return L$(F,R3(F))}function R3(F){return k1(F)?_1(F,!0):A$(F)}var J$=$$(function(F,V,q,ie){T3(F,V,q,ie)});function eF(F){return function(){return F}}function I3(F){return F}function tF(){return!1}e.exports=J$})(ty,ty.exports);var jge=ty.exports;const Wi=al(jge);var Vge=e=>/!(important)?$/.test(e),j6=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,zge=(e,t)=>n=>{const r=String(t),i=Vge(r),o=j6(r),s=e?`${e}.${o}`:o;let a=Io(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=j6(a),i?`${a} !important`:a};function jC(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=zge(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var zp=(...e)=>t=>e.reduce((n,r)=>r(n),t);function jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=jC({scale:e,transform:t}),r}}var Uge=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function Gge(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Uge(t),transform:n?jC({scale:n,compose:r}):r}}var sD=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Hge(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...sD].join(" ")}function qge(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...sD].join(" ")}var Wge={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Kge={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function Xge(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Yge={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},E2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Qge=new Set(Object.values(E2)),P2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Zge=e=>e.trim();function Jge(e,t){if(e==null||P2.has(e))return e;if(!(A2(e)||P2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(Zge).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in E2?E2[l]:l;u.unshift(c);const d=u.map(f=>{if(Qge.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=A2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var A2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),eme=(e,t)=>Jge(e,t??{});function tme(e){return/^var\(--.+\)$/.test(e)}var nme=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Ii=e=>t=>`${e}(${t})`,je={filter(e){return e!=="auto"?e:Wge},backdropFilter(e){return e!=="auto"?e:Kge},ring(e){return Xge(je.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Hge():e==="auto-gpu"?qge():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=nme(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(tme(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:eme,blur:Ii("blur"),opacity:Ii("opacity"),brightness:Ii("brightness"),contrast:Ii("contrast"),dropShadow:Ii("drop-shadow"),grayscale:Ii("grayscale"),hueRotate:Ii("hue-rotate"),invert:Ii("invert"),saturate:Ii("saturate"),sepia:Ii("sepia"),bgImage(e){return e==null||A2(e)||P2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=Yge[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},z={borderWidths:jr("borderWidths"),borderStyles:jr("borderStyles"),colors:jr("colors"),borders:jr("borders"),gradients:jr("gradients",je.gradient),radii:jr("radii",je.px),space:jr("space",zp(je.vh,je.px)),spaceT:jr("space",zp(je.vh,je.px)),degreeT(e){return{property:e,transform:je.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:jC({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:jr("sizes",zp(je.vh,je.px)),sizesT:jr("sizes",zp(je.vh,je.fraction)),shadows:jr("shadows"),logical:Gge,blur:jr("blur",je.blur)},Cg={background:z.colors("background"),backgroundColor:z.colors("backgroundColor"),backgroundImage:z.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:je.bgClip},bgSize:z.prop("backgroundSize"),bgPosition:z.prop("backgroundPosition"),bg:z.colors("background"),bgColor:z.colors("backgroundColor"),bgPos:z.prop("backgroundPosition"),bgRepeat:z.prop("backgroundRepeat"),bgAttachment:z.prop("backgroundAttachment"),bgGradient:z.gradients("backgroundImage"),bgClip:{transform:je.bgClip}};Object.assign(Cg,{bgImage:Cg.backgroundImage,bgImg:Cg.backgroundImage});var Ue={border:z.borders("border"),borderWidth:z.borderWidths("borderWidth"),borderStyle:z.borderStyles("borderStyle"),borderColor:z.colors("borderColor"),borderRadius:z.radii("borderRadius"),borderTop:z.borders("borderTop"),borderBlockStart:z.borders("borderBlockStart"),borderTopLeftRadius:z.radii("borderTopLeftRadius"),borderStartStartRadius:z.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:z.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:z.radii("borderTopRightRadius"),borderStartEndRadius:z.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:z.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:z.borders("borderRight"),borderInlineEnd:z.borders("borderInlineEnd"),borderBottom:z.borders("borderBottom"),borderBlockEnd:z.borders("borderBlockEnd"),borderBottomLeftRadius:z.radii("borderBottomLeftRadius"),borderBottomRightRadius:z.radii("borderBottomRightRadius"),borderLeft:z.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:z.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:z.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:z.borders(["borderLeft","borderRight"]),borderInline:z.borders("borderInline"),borderY:z.borders(["borderTop","borderBottom"]),borderBlock:z.borders("borderBlock"),borderTopWidth:z.borderWidths("borderTopWidth"),borderBlockStartWidth:z.borderWidths("borderBlockStartWidth"),borderTopColor:z.colors("borderTopColor"),borderBlockStartColor:z.colors("borderBlockStartColor"),borderTopStyle:z.borderStyles("borderTopStyle"),borderBlockStartStyle:z.borderStyles("borderBlockStartStyle"),borderBottomWidth:z.borderWidths("borderBottomWidth"),borderBlockEndWidth:z.borderWidths("borderBlockEndWidth"),borderBottomColor:z.colors("borderBottomColor"),borderBlockEndColor:z.colors("borderBlockEndColor"),borderBottomStyle:z.borderStyles("borderBottomStyle"),borderBlockEndStyle:z.borderStyles("borderBlockEndStyle"),borderLeftWidth:z.borderWidths("borderLeftWidth"),borderInlineStartWidth:z.borderWidths("borderInlineStartWidth"),borderLeftColor:z.colors("borderLeftColor"),borderInlineStartColor:z.colors("borderInlineStartColor"),borderLeftStyle:z.borderStyles("borderLeftStyle"),borderInlineStartStyle:z.borderStyles("borderInlineStartStyle"),borderRightWidth:z.borderWidths("borderRightWidth"),borderInlineEndWidth:z.borderWidths("borderInlineEndWidth"),borderRightColor:z.colors("borderRightColor"),borderInlineEndColor:z.colors("borderInlineEndColor"),borderRightStyle:z.borderStyles("borderRightStyle"),borderInlineEndStyle:z.borderStyles("borderInlineEndStyle"),borderTopRadius:z.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:z.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:z.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:z.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Ue,{rounded:Ue.borderRadius,roundedTop:Ue.borderTopRadius,roundedTopLeft:Ue.borderTopLeftRadius,roundedTopRight:Ue.borderTopRightRadius,roundedTopStart:Ue.borderStartStartRadius,roundedTopEnd:Ue.borderStartEndRadius,roundedBottom:Ue.borderBottomRadius,roundedBottomLeft:Ue.borderBottomLeftRadius,roundedBottomRight:Ue.borderBottomRightRadius,roundedBottomStart:Ue.borderEndStartRadius,roundedBottomEnd:Ue.borderEndEndRadius,roundedLeft:Ue.borderLeftRadius,roundedRight:Ue.borderRightRadius,roundedStart:Ue.borderInlineStartRadius,roundedEnd:Ue.borderInlineEndRadius,borderStart:Ue.borderInlineStart,borderEnd:Ue.borderInlineEnd,borderTopStartRadius:Ue.borderStartStartRadius,borderTopEndRadius:Ue.borderStartEndRadius,borderBottomStartRadius:Ue.borderEndStartRadius,borderBottomEndRadius:Ue.borderEndEndRadius,borderStartRadius:Ue.borderInlineStartRadius,borderEndRadius:Ue.borderInlineEndRadius,borderStartWidth:Ue.borderInlineStartWidth,borderEndWidth:Ue.borderInlineEndWidth,borderStartColor:Ue.borderInlineStartColor,borderEndColor:Ue.borderInlineEndColor,borderStartStyle:Ue.borderInlineStartStyle,borderEndStyle:Ue.borderInlineEndStyle});var rme={color:z.colors("color"),textColor:z.colors("color"),fill:z.colors("fill"),stroke:z.colors("stroke")},k2={boxShadow:z.shadows("boxShadow"),mixBlendMode:!0,blendMode:z.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:z.prop("backgroundBlendMode"),opacity:!0};Object.assign(k2,{shadow:k2.boxShadow});var ime={filter:{transform:je.filter},blur:z.blur("--chakra-blur"),brightness:z.propT("--chakra-brightness",je.brightness),contrast:z.propT("--chakra-contrast",je.contrast),hueRotate:z.degreeT("--chakra-hue-rotate"),invert:z.propT("--chakra-invert",je.invert),saturate:z.propT("--chakra-saturate",je.saturate),dropShadow:z.propT("--chakra-drop-shadow",je.dropShadow),backdropFilter:{transform:je.backdropFilter},backdropBlur:z.blur("--chakra-backdrop-blur"),backdropBrightness:z.propT("--chakra-backdrop-brightness",je.brightness),backdropContrast:z.propT("--chakra-backdrop-contrast",je.contrast),backdropHueRotate:z.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:z.propT("--chakra-backdrop-invert",je.invert),backdropSaturate:z.propT("--chakra-backdrop-saturate",je.saturate)},ny={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:je.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:z.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:z.space("gap"),rowGap:z.space("rowGap"),columnGap:z.space("columnGap")};Object.assign(ny,{flexDir:ny.flexDirection});var aD={gridGap:z.space("gridGap"),gridColumnGap:z.space("gridColumnGap"),gridRowGap:z.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},ome={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:je.outline},outlineOffset:!0,outlineColor:z.colors("outlineColor")},zr={width:z.sizesT("width"),inlineSize:z.sizesT("inlineSize"),height:z.sizes("height"),blockSize:z.sizes("blockSize"),boxSize:z.sizes(["width","height"]),minWidth:z.sizes("minWidth"),minInlineSize:z.sizes("minInlineSize"),minHeight:z.sizes("minHeight"),minBlockSize:z.sizes("minBlockSize"),maxWidth:z.sizes("maxWidth"),maxInlineSize:z.sizes("maxInlineSize"),maxHeight:z.sizes("maxHeight"),maxBlockSize:z.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:z.propT("float",je.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(zr,{w:zr.width,h:zr.height,minW:zr.minWidth,maxW:zr.maxWidth,minH:zr.minHeight,maxH:zr.maxHeight,overscroll:zr.overscrollBehavior,overscrollX:zr.overscrollBehaviorX,overscrollY:zr.overscrollBehaviorY});var sme={listStyleType:!0,listStylePosition:!0,listStylePos:z.prop("listStylePosition"),listStyleImage:!0,listStyleImg:z.prop("listStyleImage")};function ame(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},ume=lme(ame),cme={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},dme={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},eS=(e,t,n)=>{const r={},i=ume(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},fme={srOnly:{transform(e){return e===!0?cme:e==="focusable"?dme:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>eS(t,e,n)}},Od={position:!0,pos:z.prop("position"),zIndex:z.prop("zIndex","zIndices"),inset:z.spaceT("inset"),insetX:z.spaceT(["left","right"]),insetInline:z.spaceT("insetInline"),insetY:z.spaceT(["top","bottom"]),insetBlock:z.spaceT("insetBlock"),top:z.spaceT("top"),insetBlockStart:z.spaceT("insetBlockStart"),bottom:z.spaceT("bottom"),insetBlockEnd:z.spaceT("insetBlockEnd"),left:z.spaceT("left"),insetInlineStart:z.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:z.spaceT("right"),insetInlineEnd:z.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Od,{insetStart:Od.insetInlineStart,insetEnd:Od.insetInlineEnd});var hme={ring:{transform:je.ring},ringColor:z.colors("--chakra-ring-color"),ringOffset:z.prop("--chakra-ring-offset-width"),ringOffsetColor:z.colors("--chakra-ring-offset-color"),ringInset:z.prop("--chakra-ring-inset")},dt={margin:z.spaceT("margin"),marginTop:z.spaceT("marginTop"),marginBlockStart:z.spaceT("marginBlockStart"),marginRight:z.spaceT("marginRight"),marginInlineEnd:z.spaceT("marginInlineEnd"),marginBottom:z.spaceT("marginBottom"),marginBlockEnd:z.spaceT("marginBlockEnd"),marginLeft:z.spaceT("marginLeft"),marginInlineStart:z.spaceT("marginInlineStart"),marginX:z.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:z.spaceT("marginInline"),marginY:z.spaceT(["marginTop","marginBottom"]),marginBlock:z.spaceT("marginBlock"),padding:z.space("padding"),paddingTop:z.space("paddingTop"),paddingBlockStart:z.space("paddingBlockStart"),paddingRight:z.space("paddingRight"),paddingBottom:z.space("paddingBottom"),paddingBlockEnd:z.space("paddingBlockEnd"),paddingLeft:z.space("paddingLeft"),paddingInlineStart:z.space("paddingInlineStart"),paddingInlineEnd:z.space("paddingInlineEnd"),paddingX:z.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:z.space("paddingInline"),paddingY:z.space(["paddingTop","paddingBottom"]),paddingBlock:z.space("paddingBlock")};Object.assign(dt,{m:dt.margin,mt:dt.marginTop,mr:dt.marginRight,me:dt.marginInlineEnd,marginEnd:dt.marginInlineEnd,mb:dt.marginBottom,ml:dt.marginLeft,ms:dt.marginInlineStart,marginStart:dt.marginInlineStart,mx:dt.marginX,my:dt.marginY,p:dt.padding,pt:dt.paddingTop,py:dt.paddingY,px:dt.paddingX,pb:dt.paddingBottom,pl:dt.paddingLeft,ps:dt.paddingInlineStart,paddingStart:dt.paddingInlineStart,pr:dt.paddingRight,pe:dt.paddingInlineEnd,paddingEnd:dt.paddingInlineEnd});var pme={textDecorationColor:z.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:z.shadows("textShadow")},gme={clipPath:!0,transform:z.propT("transform",je.transform),transformOrigin:!0,translateX:z.spaceT("--chakra-translate-x"),translateY:z.spaceT("--chakra-translate-y"),skewX:z.degreeT("--chakra-skew-x"),skewY:z.degreeT("--chakra-skew-y"),scaleX:z.prop("--chakra-scale-x"),scaleY:z.prop("--chakra-scale-y"),scale:z.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:z.degreeT("--chakra-rotate")},mme={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:z.prop("transitionDuration","transition.duration"),transitionProperty:z.prop("transitionProperty","transition.property"),transitionTimingFunction:z.prop("transitionTimingFunction","transition.easing")},yme={fontFamily:z.prop("fontFamily","fonts"),fontSize:z.prop("fontSize","fontSizes",je.px),fontWeight:z.prop("fontWeight","fontWeights"),lineHeight:z.prop("lineHeight","lineHeights"),letterSpacing:z.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},vme={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:z.spaceT("scrollMargin"),scrollMarginTop:z.spaceT("scrollMarginTop"),scrollMarginBottom:z.spaceT("scrollMarginBottom"),scrollMarginLeft:z.spaceT("scrollMarginLeft"),scrollMarginRight:z.spaceT("scrollMarginRight"),scrollMarginX:z.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:z.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:z.spaceT("scrollPadding"),scrollPaddingTop:z.spaceT("scrollPaddingTop"),scrollPaddingBottom:z.spaceT("scrollPaddingBottom"),scrollPaddingLeft:z.spaceT("scrollPaddingLeft"),scrollPaddingRight:z.spaceT("scrollPaddingRight"),scrollPaddingX:z.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:z.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function lD(e){return Io(e)&&e.reference?e.reference:String(e)}var Zv=(e,...t)=>t.map(lD).join(` ${e} `).replace(/calc/g,""),V6=(...e)=>`calc(${Zv("+",...e)})`,z6=(...e)=>`calc(${Zv("-",...e)})`,O2=(...e)=>`calc(${Zv("*",...e)})`,U6=(...e)=>`calc(${Zv("/",...e)})`,G6=e=>{const t=lD(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:O2(t,-1)},Pa=Object.assign(e=>({add:(...t)=>Pa(V6(e,...t)),subtract:(...t)=>Pa(z6(e,...t)),multiply:(...t)=>Pa(O2(e,...t)),divide:(...t)=>Pa(U6(e,...t)),negate:()=>Pa(G6(e)),toString:()=>e.toString()}),{add:V6,subtract:z6,multiply:O2,divide:U6,negate:G6});function bme(e,t="-"){return e.replace(/\s+/g,t)}function Sme(e){const t=bme(e.toString());return wme(_me(t))}function _me(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function wme(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function xme(e,t=""){return[t,e].filter(Boolean).join("-")}function Cme(e,t){return`var(${e}${t?`, ${t}`:""})`}function Tme(e,t=""){return Sme(`--${xme(e,t)}`)}function R2(e,t,n){const r=Tme(e,n);return{variable:r,reference:Cme(r,t)}}function p4e(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=R2(`${e}-${i}`,o);continue}n[r]=R2(`${e}-${r}`)}return n}function Eme(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Pme(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function I2(e){if(e==null)return e;const{unitless:t}=Pme(e);return t||typeof e=="number"?`${e}px`:e}var uD=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,VC=e=>Object.fromEntries(Object.entries(e).sort(uD));function H6(e){const t=VC(e);return Object.assign(Object.values(t),t)}function Ame(e){const t=Object.keys(VC(e));return new Set(t)}function q6(e){var t;if(!e)return e;e=(t=I2(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pd(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${I2(e)})`),t&&n.push("and",`(max-width: ${I2(t)})`),n.join(" ")}function kme(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=H6(e),r=Object.entries(e).sort(uD).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?q6(d):void 0,{_minW:q6(a),breakpoint:s,minW:a,maxW:d,maxWQuery:pd(null,d),minWQuery:pd(a),minMaxQuery:pd(a,d)}}),i=Ame(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:VC(e),asArray:H6(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pd(s)).slice(1)],toArrayValue(s){if(!Io(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;Eme(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var xn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},os=e=>cD(t=>e(t,"&"),"[role=group]","[data-group]",".group"),mo=e=>cD(t=>e(t,"~ &"),"[data-peer]",".peer"),cD=(e,...t)=>t.map(e).join(", "),Jv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:os(xn.hover),_peerHover:mo(xn.hover),_groupFocus:os(xn.focus),_peerFocus:mo(xn.focus),_groupFocusVisible:os(xn.focusVisible),_peerFocusVisible:mo(xn.focusVisible),_groupActive:os(xn.active),_peerActive:mo(xn.active),_groupDisabled:os(xn.disabled),_peerDisabled:mo(xn.disabled),_groupInvalid:os(xn.invalid),_peerInvalid:mo(xn.invalid),_groupChecked:os(xn.checked),_peerChecked:mo(xn.checked),_groupFocusWithin:os(xn.focusWithin),_peerFocusWithin:mo(xn.focusWithin),_peerPlaceholderShown:mo(xn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},dD=Object.keys(Jv);function W6(e,t){return R2(String(e).replace(/\./g,"-"),void 0,t)}function Ome(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=W6(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Pa.negate(a),v=Pa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=W6(p,t==null?void 0:t.cssVarPrefix);return S},d=Io(a)?a:{default:a};n=Wi(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Jv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Rme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Ime(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Mme(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function K6(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(Mme(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var Nme=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Dme(e){return Ime(e,Nme)}function Lme(e){return e.semanticTokens}function $me(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var Fme=e=>dD.includes(e)||e==="default";function Bme({tokens:e,semanticTokens:t}){const n={};return K6(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),K6(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(Fme)}),n}function g4e(e){var t;const n=$me(e),r=Dme(n),i=Lme(n),o=Bme({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=Ome(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:kme(n.breakpoints)}),n}var zC=Wi({},Cg,Ue,rme,ny,zr,ime,hme,ome,aD,fme,Od,k2,dt,vme,yme,pme,gme,sme,mme),jme=Object.assign({},dt,zr,ny,aD,Od),m4e=Object.keys(jme),Vme=[...Object.keys(zC),...dD],zme={...zC,...Jv},Ume=e=>e in zme,Gme=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Na(e[s],t);if(a==null)continue;if(a=Io(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!qme(t),Kme=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Hme(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Xme(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=Na(o,r),d=Gme(c)(r);let f={};for(let h in d){const p=d[h];let m=Na(p,r);h in n&&(h=n[h]),Wme(h,m)&&(m=Kme(r,m));let S=t[h];if(S===!0&&(S={property:h}),Io(m)){f[h]=(a=f[h])!=null?a:{},f[h]=Wi({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=Na(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=Na(S.static,r);f=Wi({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&Io(v)?f=Wi({},f,v):f[y]=v;continue}if(Io(v)){f=Wi({},f,v);continue}f[h]=v}return f};return i}var Yme=e=>t=>Xme({theme:t,pseudos:Jv,configs:zC})(e);function y4e(e){return e}function v4e(e){return e}function b4e(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Qme(e,t){if(Array.isArray(e))return e;if(Io(e))return t(e);if(e!=null)return[e]}function Zme(e,t){for(let n=t+1;n{Wi(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?Wi(u,y):u[v]=y;continue}u[v]=y}}return u}}function eye(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Jme(o);return Wi({},Na((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function S4e(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function fD(e){return Rme(e,["styleConfig","size","variant","colorScheme"])}function tye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function _4e(e){var t;return tye(e)&&(t=e.ownerDocument)!=null?t:document}function nye(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var rye=nye();function iye(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function oye(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},aye=sye(oye);function hD(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var pD=e=>hD(e,t=>t!=null);function lye(e){return typeof e=="function"}function uye(e,...t){return lye(e)?e(...t):e}function cye(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var dye=typeof Element<"u",fye=typeof Map=="function",hye=typeof Set=="function",pye=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Tg(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Tg(e[r],t[r]))return!1;return!0}var o;if(fye&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Tg(r.value[1],t.get(r.value[0])))return!1;return!0}if(hye&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(pye&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(dye&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Tg(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var gye=function(t,n){try{return Tg(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const mye=al(gye);function gD(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=Nge(),a=e?aye(o,`components.${e}`):void 0,l=r||a,u=Wi({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},pD(iye(i,["children"]))),c=k.useRef({});if(l){const f=eye(l)(u);mye(c.current,f)||(c.current=f)}return c.current}function mD(e,t={}){return gD(e,t)}function w4e(e,t={}){return gD(e,t)}var yye=new Set([...Vme,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),vye=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function bye(e){return vye.has(e)||!yye.has(e)}function Sye(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var _ye=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,wye=XN(function(e){return _ye.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),xye=wye,Cye=function(t){return t!=="theme"},X6=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?xye:Cye},Y6=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Tye=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return QN(n,r,i),Age(function(){return ZN(n,r,i)}),null},Eye=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Y6(t,n,r),l=a||X6(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=hD(s,(d,f)=>Ume(f)),l=uye(e,t),u=Sye({},i,l,pD(a),o),c=Yme(u)(t.theme);return r?[c,r]:c};function tS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=bye);const i=kye({baseStyle:n}),o=Aye(e,r)(i);return We.forwardRef(function(l,u){const{colorMode:c,forced:d}=BC();return We.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Oye(){const e=new Map;return new Proxy(tS,{apply(t,n,r){return tS(...r)},get(t,n){return e.has(n)||e.set(n,tS(n)),e.get(n)}})}var sl=Oye();function Tl(e){return k.forwardRef(e)}const yD=k.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),e1=k.createContext({}),Lh=k.createContext(null),t1=typeof document<"u",iy=t1?k.useLayoutEffect:k.useEffect,vD=k.createContext({strict:!1});function Rye(e,t,n,r){const{visualElement:i}=k.useContext(e1),o=k.useContext(vD),s=k.useContext(Lh),a=k.useContext(yD).reducedMotion,l=k.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return k.useInsertionEffect(()=>{u&&u.update(n,s)}),iy(()=>{u&&u.render()}),k.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?iy:k.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function hu(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Iye(e,t,n){return k.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):hu(n)&&(n.current=r))},[t])}function Gf(e){return typeof e=="string"||Array.isArray(e)}function n1(e){return typeof e=="object"&&typeof e.start=="function"}const UC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],GC=["initial",...UC];function r1(e){return n1(e.animate)||GC.some(t=>Gf(e[t]))}function bD(e){return!!(r1(e)||e.variants)}function Mye(e,t){if(r1(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Gf(n)?n:void 0,animate:Gf(r)?r:void 0}}return e.inherit!==!1?t:{}}function Nye(e){const{initial:t,animate:n}=Mye(e,k.useContext(e1));return k.useMemo(()=>({initial:t,animate:n}),[Z6(t),Z6(n)])}function Z6(e){return Array.isArray(e)?e.join(" "):e}const J6={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Hf={};for(const e in J6)Hf[e]={isEnabled:t=>J6[e].some(n=>!!t[n])};function Dye(e){for(const t in e)Hf[t]={...Hf[t],...e[t]}}const HC=k.createContext({}),SD=k.createContext({}),Lye=Symbol.for("motionComponentSymbol");function $ye({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Dye(e);function o(a,l){let u;const c={...k.useContext(yD),...a,layoutId:Fye(a)},{isStatic:d}=c,f=Nye(a),h=r(a,d);if(!d&&t1){f.visualElement=Rye(i,h,c,t);const p=k.useContext(SD),m=k.useContext(vD).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return k.createElement(e1.Provider,{value:f},u&&f.visualElement?k.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Iye(h,f.visualElement,l),h,d,f.visualElement))}const s=k.forwardRef(o);return s[Lye]=i,s}function Fye({layoutId:e}){const t=k.useContext(HC).id;return t&&e!==void 0?t+"-"+e:e}function Bye(e){function t(r,i={}){return $ye(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const jye=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function qC(e){return typeof e!="string"||e.includes("-")?!1:!!(jye.indexOf(e)>-1||/[A-Z]/.test(e))}const oy={};function Vye(e){Object.assign(oy,e)}const $h=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],El=new Set($h);function _D(e,{layout:t,layoutId:n}){return El.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!oy[e]||e==="opacity")}const _r=e=>!!(e&&e.getVelocity),zye={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Uye=$h.length;function Gye(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),xD=wD("--"),M2=wD("var(--"),Hye=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,qye=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Ks=(e,t,n)=>Math.min(Math.max(n,e),t),Pl={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Rd={...Pl,transform:e=>Ks(0,1,e)},Up={...Pl,default:1},Id=e=>Math.round(e*1e5)/1e5,i1=/(-)?([\d]*\.?[\d])+/g,CD=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Wye=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Fh(e){return typeof e=="string"}const Bh=e=>({test:t=>Fh(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),as=Bh("deg"),Ji=Bh("%"),me=Bh("px"),Kye=Bh("vh"),Xye=Bh("vw"),e8={...Ji,parse:e=>Ji.parse(e)/100,transform:e=>Ji.transform(e*100)},t8={...Pl,transform:Math.round},TD={borderWidth:me,borderTopWidth:me,borderRightWidth:me,borderBottomWidth:me,borderLeftWidth:me,borderRadius:me,radius:me,borderTopLeftRadius:me,borderTopRightRadius:me,borderBottomRightRadius:me,borderBottomLeftRadius:me,width:me,maxWidth:me,height:me,maxHeight:me,size:me,top:me,right:me,bottom:me,left:me,padding:me,paddingTop:me,paddingRight:me,paddingBottom:me,paddingLeft:me,margin:me,marginTop:me,marginRight:me,marginBottom:me,marginLeft:me,rotate:as,rotateX:as,rotateY:as,rotateZ:as,scale:Up,scaleX:Up,scaleY:Up,scaleZ:Up,skew:as,skewX:as,skewY:as,distance:me,translateX:me,translateY:me,translateZ:me,x:me,y:me,z:me,perspective:me,transformPerspective:me,opacity:Rd,originX:e8,originY:e8,originZ:me,zIndex:t8,fillOpacity:Rd,strokeOpacity:Rd,numOctaves:t8};function WC(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(xD(d)){o[d]=f;continue}const h=TD[d],p=qye(f,h);if(El.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Gye(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const KC=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ED(e,t,n){for(const r in t)!_r(t[r])&&!_D(r,n)&&(e[r]=t[r])}function Yye({transformTemplate:e},t,n){return k.useMemo(()=>{const r=KC();return WC(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Qye(e,t,n){const r=e.style||{},i={};return ED(i,r,e),Object.assign(i,Yye(e,t,n)),e.transformValues?e.transformValues(i):i}function Zye(e,t,n){const r={},i=Qye(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Jye=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function sy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Jye.has(e)}let PD=e=>!sy(e);function e0e(e){e&&(PD=t=>t.startsWith("on")?!sy(t):e(t))}try{e0e(require("@emotion/is-prop-valid").default)}catch{}function t0e(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(PD(i)||n===!0&&sy(i)||!t&&!sy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function n8(e,t,n){return typeof e=="string"?e:me.transform(t+n*e)}function n0e(e,t,n){const r=n8(t,e.x,e.width),i=n8(n,e.y,e.height);return`${r} ${i}`}const r0e={offset:"stroke-dashoffset",array:"stroke-dasharray"},i0e={offset:"strokeDashoffset",array:"strokeDasharray"};function o0e(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?r0e:i0e;e[o.offset]=me.transform(-r);const s=me.transform(t),a=me.transform(n);e[o.array]=`${s} ${a}`}function XC(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(WC(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=n0e(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&o0e(h,s,a,l,!1)}const AD=()=>({...KC(),attrs:{}}),YC=e=>typeof e=="string"&&e.toLowerCase()==="svg";function s0e(e,t,n,r){const i=k.useMemo(()=>{const o=AD();return XC(o,t,{enableHardwareAcceleration:!1},YC(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};ED(o,e.style,e),i.style={...o,...i.style}}return i}function a0e(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(qC(n)?s0e:Zye)(r,o,s,n),c={...t0e(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=k.useMemo(()=>_r(d)?d.get():d,[d]);return k.createElement(n,{...c,children:f})}}const QC=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kD(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const OD=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function RD(e,t,n,r){kD(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(OD.has(i)?i:QC(i),t.attrs[i])}function ZC(e,t){const{style:n}=e,r={};for(const i in n)(_r(n[i])||t.style&&_r(t.style[i])||_D(i,e))&&(r[i]=n[i]);return r}function ID(e,t){const n=ZC(e,t);for(const r in e)if(_r(e[r])||_r(t[r])){const i=$h.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function JC(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function MD(e){const t=k.useRef(null);return t.current===null&&(t.current=e()),t.current}const ay=e=>Array.isArray(e),l0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),u0e=e=>ay(e)?e[e.length-1]||0:e;function Eg(e){const t=_r(e)?e.get():e;return l0e(t)?t.toValue():t}function c0e({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:d0e(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const ND=e=>(t,n)=>{const r=k.useContext(e1),i=k.useContext(Lh),o=()=>c0e(e,t,r,i);return n?o():MD(o)};function d0e(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=Eg(o[f]);let{initial:s,animate:a}=e;const l=r1(e),u=bD(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!n1(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=JC(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const f0e={useVisualState:ND({scrapeMotionValuesFromProps:ID,createRenderState:AD,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}XC(n,r,{enableHardwareAcceleration:!1},YC(t.tagName),e.transformTemplate),RD(t,n)}})},h0e={useVisualState:ND({scrapeMotionValuesFromProps:ZC,createRenderState:KC})};function p0e(e,{forwardMotionProps:t=!1},n,r){return{...qC(e)?f0e:h0e,preloadedFeatures:n,useRender:a0e(t),createVisualElement:r,Component:e}}function Ao(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const DD=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function o1(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const g0e=e=>t=>DD(t)&&e(t,o1(t));function Mo(e,t,n,r){return Ao(e,t,g0e(n),r)}const m0e=(e,t)=>n=>t(e(n)),Ns=(...e)=>e.reduce(m0e);function LD(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const r8=LD("dragHorizontal"),i8=LD("dragVertical");function $D(e){let t=!1;if(e==="y")t=i8();else if(e==="x")t=r8();else{const n=r8(),r=i8();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function FD(){const e=$D(!0);return e?(e(),!1):!0}class ua{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Qt=e=>e;function y0e(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=y0e(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,v0e),1),i.timestamp=d,i.isProcessing=!0,Gp.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:Gp.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>Gp.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:_t,cancel:Uo,state:$n,steps:nS}=b0e(typeof requestAnimationFrame<"u"?requestAnimationFrame:Qt,!0);function o8(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||FD())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&_t.update(()=>a[r](o,s))};return Mo(e.current,n,i,{passive:!e.getProps()[r]})}class S0e extends ua{mount(){this.unmount=Ns(o8(this.node,!0),o8(this.node,!1))}unmount(){}}class _0e extends ua{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ns(Ao(this.node.current,"focus",()=>this.onFocus()),Ao(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const BD=(e,t)=>t?e===t?!0:BD(e,t.parentElement):!1;function rS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,o1(n))}class w0e extends ua{constructor(){super(...arguments),this.removeStartListeners=Qt,this.removeEndListeners=Qt,this.removeAccessibleListeners=Qt,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Mo(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();_t.update(()=>{BD(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Mo(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ns(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||rS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&_t.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Ao(this.node.current,"keyup",s),rS("down",(a,l)=>{this.startPress(a,l)})},n=Ao(this.node.current,"keydown",t),r=()=>{this.isPressing&&rS("cancel",(o,s)=>this.cancelPress(o,s))},i=Ao(this.node.current,"blur",r);this.removeAccessibleListeners=Ns(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&_t.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!FD()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&_t.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Mo(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Ao(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ns(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const N2=new WeakMap,iS=new WeakMap,x0e=e=>{const t=N2.get(e.target);t&&t(e)},C0e=e=>{e.forEach(x0e)};function T0e({root:e,...t}){const n=e||document;iS.has(n)||iS.set(n,{});const r=iS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(C0e,{root:e,...t})),r[i]}function E0e(e,t,n){const r=T0e(t);return N2.set(e,n),r.observe(e),()=>{N2.delete(e),r.unobserve(e)}}const P0e={some:0,all:1};class A0e extends ua{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:P0e[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return E0e(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(k0e(t,n))&&this.startObserver()}unmount(){}}function k0e({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const O0e={inView:{Feature:A0e},tap:{Feature:w0e},focus:{Feature:_0e},hover:{Feature:S0e}};function jD(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function I0e(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function s1(e,t,n){const r=e.getProps();return JC(r,t,n!==void 0?n:r.custom,R0e(e),I0e(e))}const M0e="framerAppearId",N0e="data-"+QC(M0e);let D0e=Qt,e3=Qt;const Ds=e=>e*1e3,No=e=>e/1e3,L0e={current:!1},VD=e=>Array.isArray(e)&&typeof e[0]=="number";function zD(e){return!!(!e||typeof e=="string"&&UD[e]||VD(e)||Array.isArray(e)&&e.every(zD))}const gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,UD={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gd([0,.65,.55,1]),circOut:gd([.55,0,1,.45]),backIn:gd([.31,.01,.66,-.59]),backOut:gd([.33,1.53,.69,.99])};function GD(e){if(e)return VD(e)?gd(e):Array.isArray(e)?e.map(GD):UD[e]}function $0e(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=GD(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const s8={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},oS={},HD={};for(const e in s8)HD[e]=()=>(oS[e]===void 0&&(oS[e]=s8[e]()),oS[e]);function F0e(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const qD=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,B0e=1e-7,j0e=12;function V0e(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=qD(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>B0e&&++aV0e(o,0,1,e,n);return o=>o===0||o===1?o:qD(i(o),t,r)}const z0e=jh(.42,0,1,1),U0e=jh(0,0,.58,1),WD=jh(.42,0,.58,1),G0e=e=>Array.isArray(e)&&typeof e[0]!="number",KD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,XD=e=>t=>1-e(1-t),YD=e=>1-Math.sin(Math.acos(e)),t3=XD(YD),H0e=KD(t3),QD=jh(.33,1.53,.69,.99),n3=XD(QD),q0e=KD(n3),W0e=e=>(e*=2)<1?.5*n3(e):.5*(2-Math.pow(2,-10*(e-1))),K0e={linear:Qt,easeIn:z0e,easeInOut:WD,easeOut:U0e,circIn:YD,circInOut:H0e,circOut:t3,backIn:n3,backInOut:q0e,backOut:QD,anticipate:W0e},a8=e=>{if(Array.isArray(e)){e3(e.length===4);const[t,n,r,i]=e;return jh(t,n,r,i)}else if(typeof e=="string")return K0e[e];return e},r3=(e,t)=>n=>!!(Fh(n)&&Wye.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ZD=(e,t,n)=>r=>{if(!Fh(r))return r;const[i,o,s,a]=r.match(i1);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},X0e=e=>Ks(0,255,e),sS={...Pl,transform:e=>Math.round(X0e(e))},Da={test:r3("rgb","red"),parse:ZD("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+sS.transform(e)+", "+sS.transform(t)+", "+sS.transform(n)+", "+Id(Rd.transform(r))+")"};function Y0e(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const D2={test:r3("#"),parse:Y0e,transform:Da.transform},pu={test:r3("hsl","hue"),parse:ZD("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Ji.transform(Id(t))+", "+Ji.transform(Id(n))+", "+Id(Rd.transform(r))+")"},Xn={test:e=>Da.test(e)||D2.test(e)||pu.test(e),parse:e=>Da.test(e)?Da.parse(e):pu.test(e)?pu.parse(e):D2.parse(e),transform:e=>Fh(e)?e:e.hasOwnProperty("red")?Da.transform(e):pu.transform(e)},At=(e,t,n)=>-n*e+n*t+e;function aS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Q0e({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=aS(l,a,e+1/3),o=aS(l,a,e),s=aS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const lS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Z0e=[D2,Da,pu],J0e=e=>Z0e.find(t=>t.test(e));function l8(e){const t=J0e(e);let n=t.parse(e);return t===pu&&(n=Q0e(n)),n}const JD=(e,t)=>{const n=l8(e),r=l8(t),i={...n};return o=>(i.red=lS(n.red,r.red,o),i.green=lS(n.green,r.green,o),i.blue=lS(n.blue,r.blue,o),i.alpha=At(n.alpha,r.alpha,o),Da.transform(i))};function eve(e){var t,n;return isNaN(e)&&Fh(e)&&(((t=e.match(i1))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(CD))===null||n===void 0?void 0:n.length)||0)>0}const eL={regex:Hye,countKey:"Vars",token:"${v}",parse:Qt},tL={regex:CD,countKey:"Colors",token:"${c}",parse:Xn.parse},nL={regex:i1,countKey:"Numbers",token:"${n}",parse:Pl.parse};function uS(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function ly(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&uS(n,eL),uS(n,tL),uS(n,nL),n}function rL(e){return ly(e).values}function iL(e){const{values:t,numColors:n,numVars:r,tokenised:i}=ly(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function nve(e){const t=rL(e);return iL(e)(t.map(tve))}const Xs={test:eve,parse:rL,createTransformer:iL,getAnimatableNone:nve},oL=(e,t)=>n=>`${n>0?t:e}`;function sL(e,t){return typeof e=="number"?n=>At(e,t,n):Xn.test(e)?JD(e,t):e.startsWith("var(")?oL(e,t):lL(e,t)}const aL=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>sL(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=sL(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},lL=(e,t)=>{const n=Xs.createTransformer(t),r=ly(e),i=ly(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ns(aL(r.values,i.values),n):oL(e,t)},qf=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},u8=(e,t)=>n=>At(e,t,n);function ive(e){return typeof e=="number"?u8:typeof e=="string"?Xn.test(e)?JD:lL:Array.isArray(e)?aL:typeof e=="object"?rve:u8}function ove(e,t,n){const r=[],i=n||ive(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=ove(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(Ks(e[0],e[o-1],u)):l}function sve(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=qf(0,t,r);e.push(At(n,1,i))}}function ave(e){const t=[0];return sve(t,e.length-1),t}function lve(e,t){return e.map(n=>n*t)}function uve(e,t){return e.map(()=>t||WD).splice(0,e.length-1)}function uy({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=G0e(r)?r.map(a8):a8(r),o={done:!1,value:t[0]},s=lve(n&&n.length===t.length?n:ave(t),e),a=uL(s,t,{ease:Array.isArray(i)?i:uve(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function cL(e,t){return t?e*(1e3/t):0}const cve=5;function dL(e,t,n){const r=Math.max(t-cve,0);return cL(n-e(r),t-r)}const cS=.001,dve=.01,c8=10,fve=.05,hve=1;function pve({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;D0e(e<=Ds(c8));let s=1-t;s=Ks(fve,hve,s),e=Ks(dve,c8,No(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=L2(u,s),p=Math.exp(-d);return cS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=L2(Math.pow(u,2),s);return(-i(u)+cS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-cS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=mve(i,o,a);if(e=Ds(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const gve=12;function mve(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function bve(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!d8(e,vve)&&d8(e,yve)){const n=pve(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function fL({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=bve(r),h=c?-No(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=No(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=L2(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=dL(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function f8({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=T=>a!==void 0&&Tl,p=T=>a===void 0?l:l===void 0||Math.abs(a-T)-m*Math.exp(-T/r),g=T=>v+y(T),b=T=>{const P=y(T),E=g(T);f.done=Math.abs(P)<=u,f.value=f.done?v:E};let _,w;const x=T=>{h(f.value)&&(_=T,w=fL({keyframes:[f.value,p(f.value)],velocity:dL(g,T,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:T=>{let P=!1;return!w&&_===void 0&&(P=!0,b(T),x(T)),_!==void 0&&T>_?w.next(T-_):(!P&&b(T),f)}}}const Sve=e=>{const t=({timestamp:n})=>e(n);return{start:()=>_t.update(t,!0),stop:()=>Uo(t),now:()=>$n.isProcessing?$n.timestamp:performance.now()}},h8=2e4;function p8(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=h8?1/0:t}const _ve={decay:f8,inertia:f8,tween:uy,keyframes:uy,spring:fL};function cy({autoplay:e=!0,delay:t=0,driver:n=Sve,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(j=>{m=j})};v();let y;const g=_ve[i]||uy;let b;g!==uy&&typeof r[0]!="number"&&(b=uL([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",T=null,P=null,E=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=p8(_));const{calculatedDuration:A}=_;let $=1/0,M=1/0;A!==null&&($=A+s,M=$*(o+1)-s);let C=0;const O=j=>{if(P===null)return;h>0&&(P=Math.min(P,j)),h<0&&(P=Math.min(j-M/h,P)),T!==null?C=T:C=Math.round(j-P)*h;const U=C-t*(h>=0?1:-1),G=h>=0?U<0:U>M;C=Math.max(U,0),x==="finished"&&T===null&&(C=M);let W=C,X=_;if(o){const Q=C/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const te=!!(J%2);te&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(X=w));let xe=Ks(0,1,ne);C>M&&(xe=a==="reverse"&&te?1:0),W=xe*$}const Y=G?{done:!1,value:r[0]}:X.next(W);b&&(Y.value=b(Y.value));let{done:B}=Y;!G&&A!==null&&(B=h>=0?C>=M:C<=0);const H=T===null&&(x==="finished"||x==="running"&&B);return d&&d(Y.value),H&&R(),Y},I=()=>{y&&y.stop(),y=void 0},N=()=>{x="idle",I(),m(),v(),P=E=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const j=y.now();l&&l(),T!==null?P=j-T:(!P||x==="finished")&&(P=j),x==="finished"&&v(),E=P,T=null,x="running",y.start()};e&&D();const L={then(j,U){return S.then(j,U)},get time(){return No(C)},set time(j){j=Ds(j),C=j,T!==null||!y||h===0?T=j:P=y.now()-j/h},get duration(){const j=_.calculatedDuration===null?p8(_):_.calculatedDuration;return No(j)},get speed(){return h},set speed(j){j===h||!y||(h=j,L.time=No(C))},get state(){return x},play:D,pause:()=>{x="paused",T=C},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),N())},cancel:()=>{E!==null&&O(E),N()},complete:()=>{x="finished"},sample:j=>(P=0,O(j))};return L}const wve=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Hp=10,xve=2e4,Cve=(e,t)=>t.type==="spring"||e==="backgroundColor"||!zD(t.ease);function Tve(e,t,{onUpdate:n,onComplete:r,...i}){if(!(HD.waapi()&&wve.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(Cve(t,i)){const v=cy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{_t.update(m),a(),u()};return p.onfinish=()=>{e.set(F0e(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return No(p.currentTime||0)},set time(v){p.currentTime=Ds(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return No(d)},play:()=>{s||(p.play(),Uo(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=cy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-Hp).value,y.sample(v).value,Hp)}S()},complete:()=>p.finish(),cancel:S}}function Eve({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Qt,pause:Qt,stop:Qt,then:o=>(o(),Promise.resolve()),cancel:Qt,complete:Qt});return t?cy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const Pve={type:"spring",stiffness:500,damping:25,restSpeed:10},Ave=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),kve={type:"keyframes",duration:.8},Ove={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Rve=(e,{keyframes:t})=>t.length>2?kve:El.has(e)?e.startsWith("scale")?Ave(t[1]):Pve:Ove,$2=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xs.test(t)||t==="0")&&!t.startsWith("url(")),Ive=new Set(["brightness","contrast","saturate","opacity"]);function Mve(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(i1)||[];if(!r)return e;const i=n.replace(r,"");let o=Ive.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const Nve=/([a-z-]*)\(.*?\)/g,F2={...Xs,getAnimatableNone:e=>{const t=e.match(Nve);return t?t.map(Mve).join(" "):e}},Dve={...TD,color:Xn,backgroundColor:Xn,outlineColor:Xn,fill:Xn,stroke:Xn,borderColor:Xn,borderTopColor:Xn,borderRightColor:Xn,borderBottomColor:Xn,borderLeftColor:Xn,filter:F2,WebkitFilter:F2},i3=e=>Dve[e];function hL(e,t){let n=i3(e);return n!==F2&&(n=Xs),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const pL=e=>/^0[^.\s]+$/.test(e);function Lve(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||pL(e)}function $ve(e,t,n,r){const i=$2(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=gL(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ds(s);const l=$ve(t,e,n,o),u=l[0],c=l[l.length-1],d=$2(e,u),f=$2(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Fve(o)||(h={...h,...Rve(e,h)}),h.duration&&(h.duration=Ds(h.duration)),h.repeatDelay&&(h.repeatDelay=Ds(h.repeatDelay)),!d||!f||L0e.current||o.type===!1)return Eve(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=Tve(t,e,h);if(p)return p}return cy(h)};function dy(e){return!!(_r(e)&&e.add)}const Bve=e=>/^\-?\d*\.?\d+$/.test(e);function s3(e,t){e.indexOf(t)===-1&&e.push(t)}function a3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class l3{constructor(){this.subscriptions=[]}add(t){return s3(this.subscriptions,t),()=>a3(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Vve{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=$n;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,_t.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>_t.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=jve(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new l3);const r=this.events[t].add(n);return t==="change"?()=>{r(),_t.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?cL(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function uc(e,t){return new Vve(e,t)}const mL=e=>t=>t.test(e),zve={test:e=>e==="auto",parse:e=>e},yL=[Pl,me,Ji,as,Xye,Kye,zve],id=e=>yL.find(mL(e)),Uve=[...yL,Xn,Xs],Gve=e=>Uve.find(mL(e));function Hve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,uc(n))}function qve(e,t){const n=s1(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=u0e(o[s]);Hve(e,s,a)}}function Wve(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&qve(e,s)}),u}function B2(e,t,n={}){const r=s1(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(vL(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Qve(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Qve(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(Zve).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(B2(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function Zve(e,t){return e.sortNodePosition(t)}function Jve(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>B2(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=B2(e,t,n);else{const i=typeof t=="function"?s1(e,t,n.custom):t;r=Promise.all(vL(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const e1e=[...UC].reverse(),t1e=UC.length;function n1e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Jve(e,n,r)))}function r1e(e){let t=n1e(e);const n=o1e();let r=!0;const i=(l,u)=>{const c=s1(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const E=Array.isArray(b)?b:[b];let A=E.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,M={...$,...A},C=O=>{P=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in M){const I=A[O],N=$[O];p.hasOwnProperty(O)||(I!==N?ay(I)&&ay(N)?!jD(I,N)||T?C(O):g.protectedKeys[O]=!0:I!==void 0?C(O):h.add(O):I!==void 0&&h.has(O)?C(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(P=!1),P&&!x&&f.push(...E.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function i1e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!jD(t,e):!1}function ba(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function o1e(){return{animate:ba(!0),whileInView:ba(),whileHover:ba(),whileTap:ba(),whileDrag:ba(),whileFocus:ba(),exit:ba()}}class s1e extends ua{constructor(t){super(t),t.animationState||(t.animationState=r1e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),n1(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let a1e=0;class l1e extends ua{constructor(){super(...arguments),this.id=a1e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const u1e={animation:{Feature:s1e},exit:{Feature:l1e}},g8=(e,t)=>Math.abs(e-t);function c1e(e,t){const n=g8(e.x,t.x),r=g8(e.y,t.y);return Math.sqrt(n**2+r**2)}class bL{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=fS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=c1e(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=$n;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=dS(c,this.transformPagePoint),_t.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=fS(u.type==="pointercancel"?this.lastMoveEventInfo:dS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!DD(t))return;this.handlers=n,this.transformPagePoint=r;const i=o1(t),o=dS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=$n;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,fS(o,this.history)),this.removeListeners=Ns(Mo(window,"pointermove",this.handlePointerMove),Mo(window,"pointerup",this.handlePointerUp),Mo(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Uo(this.updatePoint)}}function dS(e,t){return t?{point:t(e.point)}:e}function m8(e,t){return{x:e.x-t.x,y:e.y-t.y}}function fS({point:e},t){return{point:e,delta:m8(e,SL(t)),offset:m8(e,d1e(t)),velocity:f1e(t,.1)}}function d1e(e){return e[0]}function SL(e){return e[e.length-1]}function f1e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=SL(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ds(t)));)n--;if(!r)return{x:0,y:0};const o=No(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Ir(e){return e.max-e.min}function j2(e,t=0,n=.01){return Math.abs(e-t)<=n}function y8(e,t,n,r=.5){e.origin=r,e.originPoint=At(t.min,t.max,e.origin),e.scale=Ir(n)/Ir(t),(j2(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=At(n.min,n.max,e.origin)-e.originPoint,(j2(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Md(e,t,n,r){y8(e.x,t.x,n.x,r?r.originX:void 0),y8(e.y,t.y,n.y,r?r.originY:void 0)}function v8(e,t,n){e.min=n.min+t.min,e.max=e.min+Ir(t)}function h1e(e,t,n){v8(e.x,t.x,n.x),v8(e.y,t.y,n.y)}function b8(e,t,n){e.min=t.min-n.min,e.max=e.min+Ir(t)}function Nd(e,t,n){b8(e.x,t.x,n.x),b8(e.y,t.y,n.y)}function p1e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?At(n,e,r.max):Math.min(e,n)),e}function S8(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function g1e(e,{top:t,left:n,bottom:r,right:i}){return{x:S8(e.x,n,i),y:S8(e.y,t,r)}}function _8(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=qf(t.min,t.max-r,e.min):r>i&&(n=qf(e.min,e.max-i,t.min)),Ks(0,1,n)}function v1e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const V2=.35;function b1e(e=V2){return e===!1?e=0:e===!0&&(e=V2),{x:w8(e,"left","right"),y:w8(e,"top","bottom")}}function w8(e,t,n){return{min:x8(e,t),max:x8(e,n)}}function x8(e,t){return typeof e=="number"?e:e[t]||0}const C8=()=>({translate:0,scale:1,origin:0,originPoint:0}),gu=()=>({x:C8(),y:C8()}),T8=()=>({min:0,max:0}),Wt=()=>({x:T8(),y:T8()});function Li(e){return[e("x"),e("y")]}function _L({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function S1e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function _1e(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function hS(e){return e===void 0||e===1}function z2({scale:e,scaleX:t,scaleY:n}){return!hS(e)||!hS(t)||!hS(n)}function Ca(e){return z2(e)||wL(e)||e.z||e.rotate||e.rotateX||e.rotateY}function wL(e){return E8(e.x)||E8(e.y)}function E8(e){return e&&e!=="0%"}function fy(e,t,n){const r=e-n,i=t*r;return n+i}function P8(e,t,n,r,i){return i!==void 0&&(e=fy(e,i,r)),fy(e,n,r)+t}function U2(e,t=0,n=1,r,i){e.min=P8(e.min,t,n,r,i),e.max=P8(e.max,t,n,r,i)}function xL(e,{x:t,y:n}){U2(e.x,t.translate,t.scale,t.originPoint),U2(e.y,n.translate,n.scale,n.originPoint)}function w1e(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fs(e,t){e.min=e.min+t,e.max=e.max+t}function k8(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=At(e.min,e.max,o);U2(e,t[n],t[r],s,t.scale)}const x1e=["x","scaleX","originX"],C1e=["y","scaleY","originY"];function mu(e,t){k8(e.x,t,x1e),k8(e.y,t,C1e)}function CL(e,t){return _L(_1e(e.getBoundingClientRect(),t))}function T1e(e,t,n){const r=CL(e,n),{scroll:i}=t;return i&&(fs(r.x,i.offset.x),fs(r.y,i.offset.y)),r}const E1e=new WeakMap;class P1e{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Wt(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(o1(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=$D(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Li(p=>{let m=this.getAxisMotionValue(p).get()||0;if(Ji.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Ir(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&_t.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=A1e(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new bL(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&_t.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!qp(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=p1e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&hu(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=g1e(r.layoutBox,t):this.constraints=!1,this.elastic=b1e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Li(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=v1e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!hu(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=T1e(r,i.root,this.visualElement.getTransformPagePoint());let s=m1e(i.layout.layoutBox,o);if(n){const a=n(S1e(s));this.hasMutatedConstraints=!!a,a&&(s=_L(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Li(c=>{if(!qp(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(o3(t,r,0,n))}stopAnimation(){Li(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Li(n=>{const{drag:r}=this.getProps();if(!qp(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-At(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!hu(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Li(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=y1e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Li(s=>{if(!qp(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(At(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;E1e.set(this.visualElement,this);const t=this.visualElement.current,n=Mo(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();hu(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Ao(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Li(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=V2,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function qp(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function A1e(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class k1e extends ua{constructor(t){super(t),this.removeGroupControls=Qt,this.removeListeners=Qt,this.controls=new P1e(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Qt}unmount(){this.removeGroupControls(),this.removeListeners()}}const O8=e=>(t,n)=>{e&&_t.update(()=>e(t,n))};class O1e extends ua{constructor(){super(...arguments),this.removePointerDownListener=Qt}onPointerDown(t){this.session=new bL(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:O8(t),onStart:O8(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&_t.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Mo(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function R1e(){const e=k.useContext(Lh);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=k.useId();return k.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function x4e(){return I1e(k.useContext(Lh))}function I1e(e){return e===null?!0:e.isPresent}const Pg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function R8(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const od={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(me.test(e))e=parseFloat(e);else return e;const n=R8(e,t.target.x),r=R8(e,t.target.y);return`${n}% ${r}%`}},M1e={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xs.parse(e);if(i.length>5)return r;const o=Xs.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=At(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class N1e extends We.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Vye(D1e),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Pg.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||_t.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function TL(e){const[t,n]=R1e(),r=k.useContext(HC);return We.createElement(N1e,{...e,layoutGroup:r,switchLayoutGroup:k.useContext(SD),isPresent:t,safeToRemove:n})}const D1e={borderRadius:{...od,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:od,borderTopRightRadius:od,borderBottomLeftRadius:od,borderBottomRightRadius:od,boxShadow:M1e},EL=["TopLeft","TopRight","BottomLeft","BottomRight"],L1e=EL.length,I8=e=>typeof e=="string"?parseFloat(e):e,M8=e=>typeof e=="number"||me.test(e);function $1e(e,t,n,r,i,o){i?(e.opacity=At(0,n.opacity!==void 0?n.opacity:1,F1e(r)),e.opacityExit=At(t.opacity!==void 0?t.opacity:1,0,B1e(r))):o&&(e.opacity=At(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(qf(e,t,r))}function D8(e,t){e.min=t.min,e.max=t.max}function Vr(e,t){D8(e.x,t.x),D8(e.y,t.y)}function L8(e,t,n,r,i){return e-=t,e=fy(e,1/n,r),i!==void 0&&(e=fy(e,1/i,r)),e}function j1e(e,t=0,n=1,r=.5,i,o=e,s=e){if(Ji.test(t)&&(t=parseFloat(t),t=At(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=At(o.min,o.max,r);e===o&&(a-=t),e.min=L8(e.min,t,n,a,i),e.max=L8(e.max,t,n,a,i)}function $8(e,t,[n,r,i],o,s){j1e(e,t[n],t[r],t[i],t.scale,o,s)}const V1e=["x","scaleX","originX"],z1e=["y","scaleY","originY"];function F8(e,t,n,r){$8(e.x,t,V1e,n?n.x:void 0,r?r.x:void 0),$8(e.y,t,z1e,n?n.y:void 0,r?r.y:void 0)}function B8(e){return e.translate===0&&e.scale===1}function AL(e){return B8(e.x)&&B8(e.y)}function G2(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function j8(e){return Ir(e.x)/Ir(e.y)}class U1e{constructor(){this.members=[]}add(t){s3(this.members,t),t.scheduleRender()}remove(t){if(a3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function V8(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const G1e=(e,t)=>e.depth-t.depth;class H1e{constructor(){this.children=[],this.isDirty=!1}add(t){s3(this.children,t),this.isDirty=!0}remove(t){a3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(G1e),this.isDirty=!1,this.children.forEach(t)}}function q1e(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Uo(r),e(o-t))};return _t.read(r,!0),()=>Uo(r)}function W1e(e){window.MotionDebug&&window.MotionDebug.record(e)}function K1e(e){return e instanceof SVGElement&&e.tagName!=="svg"}function X1e(e,t,n){const r=_r(e)?e:uc(e);return r.start(o3("",r,t,n)),r.animation}const z8=["","X","Y","Z"],U8=1e3;let Y1e=0;const Ta={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kL({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Y1e++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ta.totalNodes=Ta.resolvedTargetDeltas=Ta.recalculatedProjection=0,this.nodes.forEach(J1e),this.nodes.forEach(ibe),this.nodes.forEach(obe),this.nodes.forEach(ebe),W1e(Ta)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=q1e(f,250),Pg.hasAnimatedSinceResize&&(Pg.hasAnimatedSinceResize=!1,this.nodes.forEach(H8))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||cbe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!G2(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...gL(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||H8(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Uo(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(sbe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(tbe),this.sharedNodes.forEach(abe)}scheduleUpdateProjection(){_t.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){_t.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;q8(d.x,s.x,_),q8(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Nd(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),lbe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&G2(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=Wt()),Vr(g,this.relativeTarget)),m&&(this.animationValues=c,$1e(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Uo(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=_t.update(()=>{Pg.hasAnimatedSinceResize=!0,this.currentAnimation=X1e(0,U8,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(U8),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&OL(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Wt();const d=Ir(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Ir(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}Vr(a,l),mu(a,c),Md(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new U1e),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(G8),this.root.sharedNodes.clear()}}}function Q1e(e){e.updateLayout()}function Z1e(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(f);f.min=r[d].min,f.max=f.min+h}):OL(o,n.layoutBox,r)&&Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=gu();Md(a,r,n.layoutBox);const l=gu();s?Md(l,e.applyTransform(i,!0),n.measuredBox):Md(l,r,n.layoutBox);const u=!AL(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=Wt();Nd(p,n.layoutBox,f.layoutBox);const m=Wt();Nd(m,r,h.layoutBox),G2(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function J1e(e){Ta.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function ebe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function tbe(e){e.clearSnapshot()}function G8(e){e.clearMeasurements()}function nbe(e){e.isLayoutDirty=!1}function rbe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function H8(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function ibe(e){e.resolveTargetDelta()}function obe(e){e.calcProjection()}function sbe(e){e.resetRotation()}function abe(e){e.removeLeadSnapshot()}function q8(e,t,n){e.translate=At(t.translate,0,n),e.scale=At(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function W8(e,t,n,r){e.min=At(t.min,n.min,r),e.max=At(t.max,n.max,r)}function lbe(e,t,n,r){W8(e.x,t.x,n.x,r),W8(e.y,t.y,n.y,r)}function ube(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const cbe={duration:.45,ease:[.4,0,.1,1]};function K8(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function dbe(e){K8(e.x),K8(e.y)}function OL(e,t,n){return e==="position"||e==="preserve-aspect"&&!j2(j8(t),j8(n),.2)}const fbe=kL({attachResizeListener:(e,t)=>Ao(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),pS={current:void 0},RL=kL({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!pS.current){const e=new fbe({});e.mount(window),e.setOptions({layoutScroll:!0}),pS.current=e}return pS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),hbe={pan:{Feature:O1e},drag:{Feature:k1e,ProjectionNode:RL,MeasureLayout:TL}},pbe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function gbe(e){const t=pbe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function H2(e,t,n=1){const[r,i]=gbe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():M2(i)?H2(i,t,n+1):i}function mbe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!M2(o))return;const s=H2(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!M2(o))continue;const s=H2(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const ybe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),IL=e=>ybe.has(e),vbe=e=>Object.keys(e).some(IL),X8=e=>e===Pl||e===me,Y8=(e,t)=>parseFloat(e.split(", ")[t]),Q8=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return Y8(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?Y8(o[1],e):0}},bbe=new Set(["x","y","z"]),Sbe=$h.filter(e=>!bbe.has(e));function _be(e){const t=[];return Sbe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const cc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:Q8(4,13),y:Q8(5,14)};cc.translateX=cc.x;cc.translateY=cc.y;const wbe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=cc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=cc[u](l,o)}),e},xbe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(IL);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=id(c);const f=t[l];let h;if(ay(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=id(c);for(let S=m;S=0?window.pageYOffset:null,u=wbe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),t1&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Cbe(e,t,n,r){return vbe(t)?xbe(e,t,n,r):{target:t,transitionEnd:r}}const Tbe=(e,t,n,r)=>{const i=mbe(e,t,r);return t=i.target,r=i.transitionEnd,Cbe(e,t,n,r)},q2={current:null},ML={current:!1};function Ebe(){if(ML.current=!0,!!t1)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>q2.current=e.matches;e.addListener(t),t()}else q2.current=!1}function Pbe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(_r(o))e.addValue(i,o),dy(r)&&r.add(i);else if(_r(s))e.addValue(i,uc(o,{owner:e})),dy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,uc(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const Z8=new WeakMap,NL=Object.keys(Hf),Abe=NL.length,J8=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],kbe=GC.length;class Obe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>_t.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=r1(n),this.isVariantNode=bD(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&_r(f)&&(f.set(a[d],!1),dy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,Z8.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),ML.current||Ebe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:q2.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){Z8.delete(this.current),this.projection&&this.projection.unmount(),Uo(this.notifyUpdate),Uo(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=El.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&_t.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Wt()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=uc(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=JC(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!_r(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new l3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class DL extends Obe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Xve(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Wve(this,r,s);const a=Tbe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Rbe(e){return window.getComputedStyle(e)}class Ibe extends DL{readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}else{const r=Rbe(t),i=(xD(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return CL(t,n)}build(t,n,r,i){WC(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return ZC(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;_r(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kD(t,n,r,i)}}class Mbe extends DL{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}return n=OD.has(n)?n:QC(n),t.getAttribute(n)}measureInstanceViewportBox(){return Wt()}scrapeMotionValuesFromProps(t,n){return ID(t,n)}build(t,n,r,i){XC(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){RD(t,n,r,i)}mount(t){this.isSVGTag=YC(t.tagName),super.mount(t)}}const Nbe=(e,t)=>qC(e)?new Mbe(t,{enableHardwareAcceleration:!1}):new Ibe(t,{enableHardwareAcceleration:!0}),Dbe={layout:{ProjectionNode:RL,MeasureLayout:TL}},Lbe={...u1e,...O0e,...hbe,...Dbe},$be=Bye((e,t)=>p0e(e,t,Lbe,Nbe));function LL(){const e=k.useRef(!1);return iy(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Fbe(){const e=LL(),[t,n]=k.useState(0),r=k.useCallback(()=>{e.current&&n(t+1)},[t]);return[k.useCallback(()=>_t.postRender(r),[r]),t]}class Bbe extends k.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function jbe({children:e,isPresent:t}){const n=k.useId(),r=k.useRef(null),i=k.useRef({width:0,height:0,top:0,left:0});return k.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` + [data-motion-pop-id="${n}"] { + position: absolute !important; + width: ${o}px !important; + height: ${s}px !important; + top: ${a}px !important; + left: ${l}px !important; + } + `),()=>{document.head.removeChild(u)}},[t]),k.createElement(Bbe,{isPresent:t,childRef:r,sizeRef:i},k.cloneElement(e,{ref:r}))}const gS=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=MD(Vbe),l=k.useId(),u=k.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return k.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),k.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=k.createElement(jbe,{isPresent:n},e)),k.createElement(Lh.Provider,{value:u},e)};function Vbe(){return new Map}function zbe(e){return k.useEffect(()=>()=>e(),[])}const Ql=e=>e.key||"";function Ube(e,t){e.forEach(n=>{const r=Ql(n);t.set(r,n)})}function Gbe(e){const t=[];return k.Children.forEach(e,n=>{k.isValidElement(n)&&t.push(n)}),t}const Hbe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=k.useContext(HC).forceRender||Fbe()[0],l=LL(),u=Gbe(e);let c=u;const d=k.useRef(new Map).current,f=k.useRef(c),h=k.useRef(new Map).current,p=k.useRef(!0);if(iy(()=>{p.current=!1,Ube(u,h),f.current=c}),zbe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return k.createElement(k.Fragment,null,c.map(y=>k.createElement(gS,{key:Ql(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(Ql),S=u.map(Ql),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const T=f.current.findIndex(P=>P.key===g);if(f.current.splice(T,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=k.createElement(gS,{key:Ql(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:k.createElement(gS,{key:Ql(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),k.createElement(k.Fragment,null,d.size?c:c.map(y=>k.cloneElement(y)))};var qbe=Ige({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),$L=Tl((e,t)=>{const n=mD("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=fD(e),u=oD("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${qbe} ${o} linear infinite`,...n};return K.jsx(sl.div,{ref:t,__css:c,className:u,...l,children:r&&K.jsx(sl.span,{srOnly:!0,children:r})})});$L.displayName="Spinner";var W2=Tl(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return K.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});W2.displayName="NativeImage";function Wbe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=k.useState("pending");k.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=k.useRef(),f=k.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Mge(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var Kbe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function Xbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var u3=Tl(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=Wbe({...t,crossOrigin:d,ignoreFallback:S}),y=Kbe(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:Xbe(p,["onError","onLoad"])};return y?i||K.jsx(sl.img,{as:W2,className:"chakra-image__placeholder",src:r,...g}):K.jsx(sl.img,{as:W2,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});u3.displayName="Image";var Ybe=rye?k.useLayoutEffect:k.useEffect;function eP(e,t=[]){const n=k.useRef(e);return Ybe(()=>{n.current=e}),k.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Qbe(e,t){const n=k.useId();return k.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function Zbe(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Jbe(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=eP(n),s=eP(t),[a,l]=k.useState(e.defaultIsOpen||!1),[u,c]=Zbe(r,a),d=Qbe(i,"disclosure"),f=k.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=k.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=k.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:cye(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}var K2=Tl(function(t,n){const r=mD("Heading",t),{className:i,...o}=fD(t);return K.jsx(sl.h2,{ref:n,className:oD("chakra-heading",t.className),...o,__css:r})});K2.displayName="Heading";var c3=sl("div");c3.displayName="Box";var FL=Tl(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return K.jsx(c3,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});FL.displayName="Square";var eSe=Tl(function(t,n){const{size:r,...i}=t;return K.jsx(FL,{size:r,ref:n,borderRadius:"9999px",...i})});eSe.displayName="Circle";var d3=Tl(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return K.jsx(sl.div,{ref:n,__css:d,...c})});d3.displayName="Flex";const tSe=""+new URL("logo-13003d72.png",import.meta.url).href,nSe=()=>K.jsxs(d3,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[K.jsx(u3,{src:tSe,w:"8rem",h:"8rem"}),K.jsx($L,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),rSe=k.memo(nSe);function X2(e){"@babel/helpers - typeof";return X2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X2(e)}var BL=[],iSe=BL.forEach,oSe=BL.slice;function Y2(e){return iSe.call(oSe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function jL(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":X2(XMLHttpRequest))==="object"}function sSe(e){return!!e&&typeof e.then=="function"}function aSe(e){return sSe(e)?e:Promise.resolve(e)}function lSe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Q2={exports:{}},Wp={exports:{}},tP;function uSe(){return tP||(tP=1,function(e,t){var n=typeof self<"u"?self:Ee,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(C){return C&&DataView.prototype.isPrototypeOf(C)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(C){return C&&u.indexOf(Object.prototype.toString.call(C))>-1};function d(C){if(typeof C!="string"&&(C=String(C)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(C))throw new TypeError("Invalid character in header field name");return C.toLowerCase()}function f(C){return typeof C!="string"&&(C=String(C)),C}function h(C){var O={next:function(){var I=C.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(C){this.map={},C instanceof p?C.forEach(function(O,I){this.append(I,O)},this):Array.isArray(C)?C.forEach(function(O){this.append(O[0],O[1])},this):C&&Object.getOwnPropertyNames(C).forEach(function(O){this.append(O,C[O])},this)}p.prototype.append=function(C,O){C=d(C),O=f(O);var I=this.map[C];this.map[C]=I?I+", "+O:O},p.prototype.delete=function(C){delete this.map[d(C)]},p.prototype.get=function(C){return C=d(C),this.has(C)?this.map[C]:null},p.prototype.has=function(C){return this.map.hasOwnProperty(d(C))},p.prototype.set=function(C,O){this.map[d(C)]=f(O)},p.prototype.forEach=function(C,O){for(var I in this.map)this.map.hasOwnProperty(I)&&C.call(O,this.map[I],I,this)},p.prototype.keys=function(){var C=[];return this.forEach(function(O,I){C.push(I)}),h(C)},p.prototype.values=function(){var C=[];return this.forEach(function(O){C.push(O)}),h(C)},p.prototype.entries=function(){var C=[];return this.forEach(function(O,I){C.push([I,O])}),h(C)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(C){if(C.bodyUsed)return Promise.reject(new TypeError("Already read"));C.bodyUsed=!0}function S(C){return new Promise(function(O,I){C.onload=function(){O(C.result)},C.onerror=function(){I(C.error)}})}function v(C){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(C),I}function y(C){var O=new FileReader,I=S(O);return O.readAsText(C),I}function g(C){for(var O=new Uint8Array(C),I=new Array(O.length),N=0;N-1?O:C}function T(C,O){O=O||{};var I=O.body;if(C instanceof T){if(C.bodyUsed)throw new TypeError("Already read");this.url=C.url,this.credentials=C.credentials,O.headers||(this.headers=new p(C.headers)),this.method=C.method,this.mode=C.mode,this.signal=C.signal,!I&&C._bodyInit!=null&&(I=C._bodyInit,C.bodyUsed=!0)}else this.url=String(C);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})};function P(C){var O=new FormData;return C.trim().split("&").forEach(function(I){if(I){var N=I.split("="),R=N.shift().replace(/\+/g," "),D=N.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function E(C){var O=new p,I=C.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(N){var R=N.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(T.prototype);function A(C,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(C)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var C=new A(null,{status:0,statusText:""});return C.type="error",C};var $=[301,302,303,307,308];A.redirect=function(C,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:C}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var N=Error(O);this.stack=N.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function M(C,O){return new Promise(function(I,N){var R=new T(C,O);if(R.signal&&R.signal.aborted)return N(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var j={status:D.status,statusText:D.statusText,headers:E(D.getAllResponseHeaders()||"")};j.url="responseURL"in D?D.responseURL:j.headers.get("X-Request-URL");var U="response"in D?D.response:D.responseText;I(new A(U,j))},D.onerror=function(){N(new TypeError("Network request failed"))},D.ontimeout=function(){N(new TypeError("Network request failed"))},D.onabort=function(){N(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(j,U){D.setRequestHeader(U,j)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return M.polyfill=!0,o.fetch||(o.fetch=M,o.Headers=p,o.Request=T,o.Response=A),s.Headers=p,s.Request=T,s.Response=A,s.fetch=M,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Wp,Wp.exports)),Wp.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ee<"u"&&Ee.fetch?n=Ee.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof lSe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||uSe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Q2,Q2.exports);var VL=Q2.exports;const zL=al(VL),nP=OP({__proto__:null,default:zL},[VL]);function hy(e){"@babel/helpers - typeof";return hy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hy(e)}var Do;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Do=global.fetch:typeof window<"u"&&window.fetch?Do=window.fetch:Do=fetch);var Wf;jL()&&(typeof global<"u"&&global.XMLHttpRequest?Wf=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Wf=window.XMLHttpRequest));var py;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?py=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(py=window.ActiveXObject));!Do&&nP&&!Wf&&!py&&(Do=zL||nP);typeof Do!="function"&&(Do=void 0);var Z2=function(t,n){if(n&&hy(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},rP=function(t,n,r){Do(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},iP=!1,cSe=function(t,n,r,i){t.queryStringParams&&(n=Z2(n,t.queryStringParams));var o=Y2({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=Y2({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},iP?{}:s);try{rP(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),rP(n,a,i),iP=!0}catch(u){i(u)}}},dSe=function(t,n,r,i){r&&hy(r)==="object"&&(r=Z2("",r).slice(1)),t.queryStringParams&&(n=Z2(n,t.queryStringParams));try{var o;Wf?o=new Wf:o=new py("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},fSe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Do&&n.indexOf("file:")!==0)return cSe(t,n,r,i);if(jL()||typeof ActiveXObject=="function")return dSe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Kf(e){"@babel/helpers - typeof";return Kf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kf(e)}function hSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oP(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};hSe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return pSe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Y2(i,this.options||{},ySe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=aSe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();GL.type="backend";const vSe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,bSe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},SSe=e=>bSe[e],_Se=e=>e.replace(vSe,SSe);let J2={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:_Se};function wSe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};J2={...J2,...e}}function T4e(){return J2}let HL;function xSe(e){HL=e}function E4e(){return HL}const CSe={type:"3rdParty",init(e){wSe(e.options.react),xSe(e)}};zn.use(GL).use(CSe).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const TSe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{fe("socketio").debug("Connected"),r(n7());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(Vx({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Ft(Ga({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(i7())}),t.on("invocation_started",o=>{r(u7({data:o}))}),t.on("generator_progress",o=>{r(g7({data:o}))}),t.on("invocation_error",o=>{r(f7({data:o}))}),t.on("invocation_complete",o=>{r(zx({data:o}))}),t.on("graph_execution_state_complete",o=>{r(h7({data:o}))}),t.on("model_load_started",o=>{r(y7({data:o}))}),t.on("model_load_completed",o=>{r(v7({data:o}))}),t.on("session_retrieval_error",o=>{r(b7({data:o}))}),t.on("invocation_retrieval_error",o=>{r(_7({data:o}))})},ro=Object.create(null);ro.open="0";ro.close="1";ro.ping="2";ro.pong="3";ro.message="4";ro.upgrade="5";ro.noop="6";const Ag=Object.create(null);Object.keys(ro).forEach(e=>{Ag[ro[e]]=e});const ESe={type:"error",data:"parser error"},qL=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",WL=typeof ArrayBuffer=="function",KL=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f3=({type:e,data:t},n,r)=>qL&&t instanceof Blob?n?r(t):sP(t,r):WL&&(t instanceof ArrayBuffer||KL(t))?n?r(t):sP(new Blob([t]),r):r(ro[e]+(t||"")),sP=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function aP(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let mS;function PSe(e,t){if(qL&&e.data instanceof Blob)return e.data.arrayBuffer().then(aP).then(t);if(WL&&(e.data instanceof ArrayBuffer||KL(e.data)))return t(aP(e.data));f3(e,!1,n=>{mS||(mS=new TextEncoder),t(mS.encode(n))})}const lP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",md=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;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[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},kSe=typeof ArrayBuffer=="function",h3=(e,t)=>{if(typeof e!="string")return{type:"message",data:XL(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:OSe(e.substring(1),t)}:Ag[n]?e.length>1?{type:Ag[n],data:e.substring(1)}:{type:Ag[n]}:ESe},OSe=(e,t)=>{if(kSe){const n=ASe(e);return XL(n,t)}else return{base64:!0,data:e}},XL=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},YL=String.fromCharCode(30),RSe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{f3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(YL))})})},ISe=(e,t)=>{const n=e.split(YL),r=[];for(let i=0;i54;return h3(r?e:yS.decode(e),n)}const QL=4;function Zt(e){if(e)return NSe(e)}function NSe(e){for(var t in Zt.prototype)e[t]=Zt.prototype[t];return e}Zt.prototype.on=Zt.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Zt.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Zt.prototype.off=Zt.prototype.removeListener=Zt.prototype.removeAllListeners=Zt.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,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function ZL(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const DSe=qr.setTimeout,LSe=qr.clearTimeout;function a1(e,t){t.useNativeTimers?(e.setTimeoutFn=DSe.bind(qr),e.clearTimeoutFn=LSe.bind(qr)):(e.setTimeoutFn=qr.setTimeout.bind(qr),e.clearTimeoutFn=qr.clearTimeout.bind(qr))}const $Se=1.33;function FSe(e){return typeof e=="string"?BSe(e):Math.ceil((e.byteLength||e.size)*$Se)}function BSe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function jSe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function VSe(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function e$(){const e=dP(+new Date);return e!==cP?(uP=0,cP=e):e+"."+dP(uP++)}for(;Kp{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)};ISe(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,RSe(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]=e$()),!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 $u(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,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}}let $u=class kg extends Zt{constructor(t,n){super(),a1(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=ZL(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new n$(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}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 i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.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(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=kg.requestsCount++,kg.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=HSe,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete kg.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()}};$u.requestsCount=0;$u.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",fP);else if(typeof addEventListener=="function"){const e="onpagehide"in qr?"pagehide":"unload";addEventListener(e,fP,!1)}}function fP(){for(let e in $u.requests)$u.requests.hasOwnProperty(e)&&$u.requests[e].abort()}const g3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),Xp=qr.WebSocket||qr.MozWebSocket,hP=!0,KSe="arraybuffer",pP=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class XSe extends p3{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=pP?{}:ZL(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=hP&&!pP?n?new Xp(t,n):new Xp(t):new Xp(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||KSe,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 s={};try{hP&&this.ws.send(o)}catch{}i&&g3(()=>{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]=e$()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!Xp}}function YSe(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class QSe extends p3{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=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(MSe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{YSe(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&g3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const ZSe={websocket:XSe,webtransport:QSe,polling:WSe},JSe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e_e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function tw(e){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 i=JSe.exec(e||""),o={},s=14;for(;s--;)o[e_e[s]]=i[s]||"";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=t_e(o,o.path),o.queryKey=n_e(o,o.query),o}function t_e(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 n_e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let r$=class Zl extends Zt{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=tw(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=tw(n.host).host),a1(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=VSe(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=QL,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 ZSe[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Zl.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;Zl.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Zl.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 f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Zl.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,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=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),i&&this.once("flush",i),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){Zl.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 i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,i$=Object.prototype.toString,s_e=typeof Blob=="function"||typeof Blob<"u"&&i$.call(Blob)==="[object BlobConstructor]",a_e=typeof File=="function"||typeof File<"u"&&i$.call(File)==="[object FileConstructor]";function m3(e){return i_e&&(e instanceof ArrayBuffer||o_e(e))||s_e&&e instanceof Blob||a_e&&e instanceof File}function Og(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 s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),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((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(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:Me.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 Me.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 Me.EVENT:case Me.BINARY_EVENT:this.onevent(t);break;case Me.ACK:case Me.BINARY_ACK:this.onack(t);break;case Me.DISCONNECT:this.ondisconnect();break;case Me.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(...i){r||(r=!0,n.packet({type:Me.ACK,id:t,data:i}))}}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:Me.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}Tc.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};Tc.prototype.reset=function(){this.attempts=0};Tc.prototype.setMin=function(e){this.ms=e};Tc.prototype.setMax=function(e){this.max=e};Tc.prototype.setJitter=function(e){this.jitter=e};class iw extends Zt{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,a1(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 Tc({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||p_e;this.encoder=new i.Encoder,this.decoder=new i.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 r$(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=ui(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=ui(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(ui(t,"ping",this.onping.bind(this)),ui(t,"data",this.ondata.bind(this)),ui(t,"error",this.onerror.bind(this)),ui(t,"close",this.onclose.bind(this)),ui(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){g3(()=>{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 o$(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(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):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 sd={};function Rg(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=r_e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=sd[i]&&o in sd[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new iw(r,t):(sd[i]||(sd[i]=new iw(r,t)),l=sd[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Rg,{Manager:iw,Socket:o$,io:Rg,connect:Rg});const mP=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=Tf.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=Cf.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Rg(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(TSe({storeApi:o,socket:r}),e=!0,r.connect()),On.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(a7({sessionId:d}))),r.emit("subscribe",{session:c}),l(Vx({sessionId:c}))}s(a)}},l1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Ec(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function v3(e){return"nodeType"in e}function or(e){var t,n;return e?Ec(e)?e:v3(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function b3(e){const{Document:t}=or(e);return e instanceof t}function Vh(e){return Ec(e)?!1:e instanceof or(e).HTMLElement}function m_e(e){return e instanceof or(e).SVGElement}function Pc(e){return e?Ec(e)?e.document:v3(e)?b3(e)?e:Vh(e)?e.ownerDocument:document:document:document}const io=l1?k.useLayoutEffect:k.useEffect;function u1(e){const t=k.useRef(e);return io(()=>{t.current=e}),k.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=k.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xf(e,t){t===void 0&&(t=[e]);const n=k.useRef(e);return io(()=>{n.current!==e&&(n.current=e)},t),n}function zh(e,t){const n=k.useRef();return k.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function gy(e){const t=u1(e),n=k.useRef(null),r=k.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function my(e){const t=k.useRef();return k.useEffect(()=>{t.current=e},[e]),t.current}let vS={};function c1(e,t){return k.useMemo(()=>{if(t)return t;const n=vS[e]==null?0:vS[e]+1;return vS[e]=n,e+"-"+n},[e,t])}function s$(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const Fu=s$(1),yy=s$(-1);function v_e(e){return"clientX"in e&&"clientY"in e}function S3(e){if(!e)return!1;const{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function b_e(e){if(!e)return!1;const{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Yf(e){if(b_e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return v_e(e)?{x:e.clientX,y:e.clientY}:null}const Qf=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qf.Translate.toString(e),Qf.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),yP="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function S_e(e){return e.matches(yP)?e:e.querySelector(yP)}const __e={display:"none"};function w_e(e){let{id:t,value:n}=e;return We.createElement("div",{id:t,style:__e},n)}const x_e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function C_e(e){let{id:t,announcement:n}=e;return We.createElement("div",{id:t,style:x_e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function T_e(){const[e,t]=k.useState("");return{announce:k.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const a$=k.createContext(null);function E_e(e){const t=k.useContext(a$);k.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function P_e(){const[e]=k.useState(()=>new Set),t=k.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[k.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const A_e={draggable:` + To pick up a draggable item, press the space bar. + While dragging, use the arrow keys to move the item. + Press space again to drop the item in its new position, or press escape to cancel. + `},k_e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function O_e(e){let{announcements:t=k_e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=A_e}=e;const{announce:o,announcement:s}=T_e(),a=c1("DndLiveRegion"),[l,u]=k.useState(!1);if(k.useEffect(()=>{u(!0)},[]),E_e(k.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=We.createElement(We.Fragment,null,We.createElement(w_e,{id:r,value:i.draggable}),We.createElement(C_e,{id:a,announcement:s}));return n?zi.createPortal(c,n):c}var nn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(nn||(nn={}));function vy(){}function vP(e,t){return k.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function R_e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Ei=Object.freeze({x:0,y:0});function I_e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function M_e(e,t){const n=Yf(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function N_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function D_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function L_e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function $_e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function F_e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=F_e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(D_e)};function j_e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const V_e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&j_e(r,a)){const u=L_e(a).reduce((d,f)=>d+I_e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(N_e)};function z_e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function l$(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ei}function U_e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const G_e=U_e(1);function u$(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function H_e(e,t,n){const r=u$(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const q_e={ignoreTransform:!1};function Uh(e,t){t===void 0&&(t=q_e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=or(e).getComputedStyle(e);u&&(n=H_e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function bP(e){return Uh(e,{ignoreTransform:!0})}function W_e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function K_e(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position==="fixed"}function X_e(e,t){t===void 0&&(t=or(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _3(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(b3(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Vh(i)||m_e(i)||n.includes(i))return n;const o=or(e).getComputedStyle(i);return i!==e&&X_e(i,o)&&n.push(i),K_e(i,o)?n:r(i.parentNode)}return e?r(e):n}function c$(e){const[t]=_3(e,1);return t??null}function bS(e){return!l1||!e?null:Ec(e)?e:v3(e)?b3(e)||e===Pc(e).scrollingElement?window:Vh(e)?e:null:null}function d$(e){return Ec(e)?e.scrollX:e.scrollLeft}function f$(e){return Ec(e)?e.scrollY:e.scrollTop}function ow(e){return{x:d$(e),y:f$(e)}}var hn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(hn||(hn={}));function h$(e){return!l1||!e?!1:e===document.scrollingElement}function p$(e){const t={x:0,y:0},n=h$(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const Y_e={x:.2,y:.2};function Q_e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=Y_e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=p$(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=hn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=hn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=hn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=hn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function Z_e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function g$(e){return e.reduce((t,n)=>Fu(t,ow(n)),Ei)}function J_e(e){return e.reduce((t,n)=>t+d$(n),0)}function e2e(e){return e.reduce((t,n)=>t+f$(n),0)}function m$(e,t){if(t===void 0&&(t=Uh),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);c$(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const t2e=[["x",["left","right"],J_e],["y",["top","bottom"],e2e]];class w3{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_3(n),i=g$(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of t2e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Dd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function n2e(e){const{EventTarget:t}=or(e);return e instanceof t?e:Pc(e)}function SS(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var Ur;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ur||(Ur={}));function SP(e){e.preventDefault()}function r2e(e){e.stopPropagation()}var st;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(st||(st={}));const y$={start:[st.Space,st.Enter],cancel:[st.Esc],end:[st.Space,st.Enter]},i2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case st.Right:return{...n,x:n.x+25};case st.Left:return{...n,x:n.x-25};case st.Down:return{...n,y:n.y+25};case st.Up:return{...n,y:n.y-25}}};class v${constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Dd(Pc(n)),this.windowListeners=new Dd(or(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ur.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&m$(r),n(Ei)}handleKeyDown(t){if(S3(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=y$,coordinateGetter:s=i2e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Ei;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=yy(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=p$(m),x=Z_e(m),T={x:Math.min(S===st.Right?x.right-x.width/2:x.right,Math.max(S===st.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===st.Down?x.bottom-x.height/2:x.bottom,Math.max(S===st.Down?x.top:x.top+x.height/2,d.y))},P=S===st.Right&&!y||S===st.Left&&!g,E=S===st.Down&&!b||S===st.Up&&!v;if(P&&T.x!==d.x){const A=m.scrollLeft+f.x,$=S===st.Right&&A<=_.x||S===st.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===st.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(E&&T.y!==d.y){const A=m.scrollTop+f.y,$=S===st.Down&&A<=_.y||S===st.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===st.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Fu(yy(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}v$.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=y$,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function _P(e){return!!(e&&"distance"in e)}function wP(e){return!!(e&&"delay"in e)}class x3{constructor(t,n,r){var i;r===void 0&&(r=n2e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Pc(s),this.documentListeners=new Dd(this.document),this.listeners=new Dd(r),this.windowListeners=new Dd(or(s)),this.initialCoordinates=(i=Yf(o))!=null?i:Ei,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.DragStart,SP),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),this.windowListeners.add(Ur.ContextMenu,SP),this.documentListeners.add(Ur.Keydown,this.handleKeydown),n){if(_P(n))return;if(wP(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ur.Click,r2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ur.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Yf(t))!=null?n:Ei,u=yy(i,l);if(!r&&a){if(wP(a))return SS(u,a.tolerance)?this.handleCancel():void 0;if(_P(a))return a.tolerance!=null&&SS(u,a.tolerance)?this.handleCancel():SS(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===st.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const o2e={move:{name:"pointermove"},end:{name:"pointerup"}};class b$ extends x3{constructor(t){const{event:n}=t,r=Pc(n.target);super(t,o2e,r)}}b$.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const s2e={move:{name:"mousemove"},end:{name:"mouseup"}};var sw;(function(e){e[e.RightClick=2]="RightClick"})(sw||(sw={}));class S$ extends x3{constructor(t){super(t,s2e,Pc(t.event.target))}}S$.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===sw.RightClick?!1:(r==null||r({event:n}),!0)}}];const _S={move:{name:"touchmove"},end:{name:"touchend"}};class _$ extends x3{constructor(t){super(t,_S)}static setup(){return window.addEventListener(_S.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(_S.move.name,t)};function t(){}}}_$.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Ld;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Ld||(Ld={}));var by;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(by||(by={}));function a2e(e){let{acceleration:t,activator:n=Ld.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=by.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=u2e({delta:d,disabled:!o}),[p,m]=y_e(),S=k.useRef({x:0,y:0}),v=k.useRef({x:0,y:0}),y=k.useMemo(()=>{switch(n){case Ld.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Ld.DraggableRect:return i}},[n,i,l]),g=k.useRef(null),b=k.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,T=S.current.y*v.current.y;w.scrollBy(x,T)},[]),_=k.useMemo(()=>a===by.TreeOrder?[...u].reverse():u,[a,u]);k.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),T=c[x];if(!T)continue;const{direction:P,speed:E}=Q_e(w,T,y,t,f);for(const A of["x","y"])h[A][P[A]]||(E[A]=0,P[A]=0);if(E.x>0||E.y>0){m(),g.current=w,p(b,s),S.current=E,v.current=P;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const l2e={x:{[hn.Backward]:!1,[hn.Forward]:!1},y:{[hn.Backward]:!1,[hn.Forward]:!1}};function u2e(e){let{delta:t,disabled:n}=e;const r=my(t);return zh(i=>{if(n||!r||!i)return l2e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[hn.Backward]:i.x[hn.Backward]||o.x===-1,[hn.Forward]:i.x[hn.Forward]||o.x===1},y:{[hn.Backward]:i.y[hn.Backward]||o.y===-1,[hn.Forward]:i.y[hn.Forward]||o.y===1}}},[n,t,r])}function c2e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zh(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function d2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Zf;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Zf||(Zf={}));var aw;(function(e){e.Optimized="optimized"})(aw||(aw={}));const xP=new Map;function f2e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=k.useState(null),{frequency:a,measure:l,strategy:u}=i,c=k.useRef(e),d=S(),f=Xf(d),h=k.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=k.useRef(null),m=zh(v=>{if(d&&!n)return xP;if(!v||v===xP||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new w3(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return k.useEffect(()=>{c.current=e},[e]),k.useEffect(()=>{d||h()},[n,d]),k.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),k.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Zf.Always:return!1;case Zf.BeforeDragging:return n;default:return!n}}}function C3(e,t){return zh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function h2e(e,t){return C3(e,t)}function p2e(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function d1(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function g2e(e){return new w3(Uh(e),e)}function CP(e,t,n){t===void 0&&(t=g2e);const[r,i]=k.useReducer(a,null),o=p2e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=d1({callback:i});return io(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function m2e(e){const t=C3(e);return l$(e,t)}const TP=[];function y2e(e){const t=k.useRef(e),n=zh(r=>e?r&&r!==TP&&e&&t.current&&e.parentNode===t.current.parentNode?r:_3(e):TP,[e]);return k.useEffect(()=>{t.current=e},[e]),n}function v2e(e){const[t,n]=k.useState(null),r=k.useRef(e),i=k.useCallback(o=>{const s=bS(o.target);s&&n(a=>a?(a.set(s,ow(s)),new Map(a)):null)},[]);return k.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=bS(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,ow(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=bS(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),k.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>Fu(o,s),Ei):g$(e):Ei,[e,t])}function EP(e,t){t===void 0&&(t=[]);const n=k.useRef(null);return k.useEffect(()=>{n.current=null},t),k.useEffect(()=>{const r=e!==Ei;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?yy(e,n.current):Ei}function b2e(e){k.useEffect(()=>{if(!l1)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function S2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function w$(e){return k.useMemo(()=>e?W_e(e):null,[e])}const wS=[];function _2e(e,t){t===void 0&&(t=Uh);const[n]=e,r=w$(n?or(n):null),[i,o]=k.useReducer(a,wS),s=d1({callback:o});return e.length>0&&i===wS&&o(),io(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>h$(l)?r:new w3(t(l),l)):wS}}function x$(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Vh(t)?t:e}function w2e(e){let{measure:t}=e;const[n,r]=k.useState(null),i=k.useCallback(u=>{for(const{target:c}of u)if(Vh(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=d1({callback:i}),s=k.useCallback(u=>{const c=x$(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=gy(s);return k.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const x2e=[{sensor:b$,options:{}},{sensor:v$,options:{}}],C2e={current:{}},Ig={draggable:{measure:bP},droppable:{measure:bP,strategy:Zf.WhileDragging,frequency:aw.Optimized},dragOverlay:{measure:Uh}};class $d extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const T2e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new $d,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:vy},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ig,measureDroppableContainers:vy,windowRect:null,measuringScheduled:!1},C$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:vy,draggableNodes:new Map,over:null,measureDroppableContainers:vy},Gh=k.createContext(C$),T$=k.createContext(T2e);function E2e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new $d}}}function P2e(e,t){switch(t.type){case nn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case nn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case nn.DragEnd:case nn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case nn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new $d(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case nn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new $d(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case nn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new $d(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function A2e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=k.useContext(Gh),o=my(r),s=my(n==null?void 0:n.id);return k.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!S3(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=S_e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function E$(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function k2e(e){return k.useMemo(()=>({draggable:{...Ig.draggable,...e==null?void 0:e.draggable},droppable:{...Ig.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Ig.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function O2e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=k.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;io(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=l$(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=c$(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const f1=k.createContext({...Ei,scaleX:1,scaleY:1});var hs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hs||(hs={}));const R2e=k.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=x2e,collisionDetection:d=B_e,measuring:f,modifiers:h,...p}=t;const m=k.useReducer(P2e,void 0,E2e),[S,v]=m,[y,g]=P_e(),[b,_]=k.useState(hs.Uninitialized),w=b===hs.Initialized,{draggable:{active:x,nodes:T,translate:P},droppable:{containers:E}}=S,A=x?T.get(x):null,$=k.useRef({initial:null,translated:null}),M=k.useMemo(()=>{var Ct;return x!=null?{id:x,data:(Ct=A==null?void 0:A.data)!=null?Ct:C2e,rect:$}:null},[x,A]),C=k.useRef(null),[O,I]=k.useState(null),[N,R]=k.useState(null),D=Xf(p,Object.values(p)),L=c1("DndDescribedBy",s),j=k.useMemo(()=>E.getEnabled(),[E]),U=k2e(f),{droppableRects:G,measureDroppableContainers:W,measuringScheduled:X}=f2e(j,{dragging:w,dependencies:[P.x,P.y],config:U.droppable}),Y=c2e(T,x),B=k.useMemo(()=>N?Yf(N):null,[N]),H=da(),Q=h2e(Y,U.draggable.measure);O2e({activeNode:x?T.get(x):null,config:H.layoutShiftCompensation,initialRect:Q,measure:U.draggable.measure});const J=CP(Y,U.draggable.measure,Q),ne=CP(Y?Y.parentElement:null),te=k.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:G,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),xe=E.getNodeFor((n=te.current.over)==null?void 0:n.id),ve=w2e({measure:U.dragOverlay.measure}),ce=(r=ve.nodeRef.current)!=null?r:Y,Ne=w?(i=ve.rect)!=null?i:J:null,se=!!(ve.nodeRef.current&&ve.rect),gt=m2e(se?null:J),vn=w$(ce?or(ce):null),It=y2e(w?xe??Y:null),ut=_2e(It),Je=E$(h,{transform:{x:P.x-gt.x,y:P.y-gt.y,scaleX:1,scaleY:1},activatorEvent:N,active:M,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Ne,over:te.current.over,overlayNodeRect:ve.rect,scrollableAncestors:It,scrollableAncestorRects:ut,windowRect:vn}),Gt=B?Fu(B,P):null,sr=v2e(It),ni=EP(sr),Lr=EP(sr,[J]),Rn=Fu(Je,ni),bn=Ne?G_e(Ne,Je):null,Un=M&&bn?d({active:M,collisionRect:bn,droppableRects:G,droppableContainers:j,pointerCoordinates:Gt}):null,Ht=$_e(Un,"id"),[xt,wr]=k.useState(null),$r=se?Je:Fu(Je,Lr),ri=z_e($r,(o=xt==null?void 0:xt.rect)!=null?o:null,J),uo=k.useCallback((Ct,et)=>{let{sensor:_n,options:ln}=et;if(C.current==null)return;const In=T.get(C.current);if(!In)return;const Gn=Ct.nativeEvent,ar=new _n({active:C.current,activeNode:In,event:Gn,options:ln,context:te,onStart(Hn){const wn=C.current;if(wn==null)return;const co=T.get(wn);if(!co)return;const{onDragStart:Zo}=D.current,Jo={active:{id:wn,data:co.data,rect:$}};zi.unstable_batchedUpdates(()=>{Zo==null||Zo(Jo),_(hs.Initializing),v({type:nn.DragStart,initialCoordinates:Hn,active:wn}),y({type:"onDragStart",event:Jo})})},onMove(Hn){v({type:nn.DragMove,coordinates:Hn})},onEnd:Oi(nn.DragEnd),onCancel:Oi(nn.DragCancel)});zi.unstable_batchedUpdates(()=>{I(ar),R(Ct.nativeEvent)});function Oi(Hn){return async function(){const{active:co,collisions:Zo,over:Jo,scrollAdjustedTranslate:Al}=te.current;let fo=null;if(co&&Al){const{cancelDrop:qn}=D.current;fo={activatorEvent:Gn,active:co,collisions:Zo,delta:Al,over:Jo},Hn===nn.DragEnd&&typeof qn=="function"&&await Promise.resolve(qn(fo))&&(Hn=nn.DragCancel)}C.current=null,zi.unstable_batchedUpdates(()=>{v({type:Hn}),_(hs.Uninitialized),wr(null),I(null),R(null);const qn=Hn===nn.DragEnd?"onDragEnd":"onDragCancel";if(fo){const fa=D.current[qn];fa==null||fa(fo),y({type:qn,event:fo})}})}}},[T]),Sn=k.useCallback((Ct,et)=>(_n,ln)=>{const In=_n.nativeEvent,Gn=T.get(ln);if(C.current!==null||!Gn||In.dndKit||In.defaultPrevented)return;const ar={active:Gn};Ct(_n,et.options,ar)===!0&&(In.dndKit={capturedBy:et.sensor},C.current=ln,uo(_n,et))},[T,uo]),ii=d2e(c,Sn);b2e(c),io(()=>{J&&b===hs.Initializing&&_(hs.Initialized)},[J,b]),k.useEffect(()=>{const{onDragMove:Ct}=D.current,{active:et,activatorEvent:_n,collisions:ln,over:In}=te.current;if(!et||!_n)return;const Gn={active:et,activatorEvent:_n,collisions:ln,delta:{x:Rn.x,y:Rn.y},over:In};zi.unstable_batchedUpdates(()=>{Ct==null||Ct(Gn),y({type:"onDragMove",event:Gn})})},[Rn.x,Rn.y]),k.useEffect(()=>{const{active:Ct,activatorEvent:et,collisions:_n,droppableContainers:ln,scrollAdjustedTranslate:In}=te.current;if(!Ct||C.current==null||!et||!In)return;const{onDragOver:Gn}=D.current,ar=ln.get(Ht),Oi=ar&&ar.rect.current?{id:ar.id,rect:ar.rect.current,data:ar.data,disabled:ar.disabled}:null,Hn={active:Ct,activatorEvent:et,collisions:_n,delta:{x:In.x,y:In.y},over:Oi};zi.unstable_batchedUpdates(()=>{wr(Oi),Gn==null||Gn(Hn),y({type:"onDragOver",event:Hn})})},[Ht]),io(()=>{te.current={activatorEvent:N,active:M,activeNode:Y,collisionRect:bn,collisions:Un,droppableRects:G,draggableNodes:T,draggingNode:ce,draggingNodeRect:Ne,droppableContainers:E,over:xt,scrollableAncestors:It,scrollAdjustedTranslate:Rn},$.current={initial:Ne,translated:bn}},[M,Y,Un,bn,T,ce,Ne,G,E,xt,It,Rn]),a2e({...H,delta:P,draggingRect:bn,pointerCoordinates:Gt,scrollableAncestors:It,scrollableAncestorRects:ut});const ca=k.useMemo(()=>({active:M,activeNode:Y,activeNodeRect:J,activatorEvent:N,collisions:Un,containerNodeRect:ne,dragOverlay:ve,draggableNodes:T,droppableContainers:E,droppableRects:G,over:xt,measureDroppableContainers:W,scrollableAncestors:It,scrollableAncestorRects:ut,measuringConfiguration:U,measuringScheduled:X,windowRect:vn}),[M,Y,J,N,Un,ne,ve,T,E,G,xt,W,It,ut,U,X,vn]),ki=k.useMemo(()=>({activatorEvent:N,activators:ii,active:M,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:T,over:xt,measureDroppableContainers:W}),[N,ii,M,J,v,L,T,xt,W]);return We.createElement(a$.Provider,{value:g},We.createElement(Gh.Provider,{value:ki},We.createElement(T$.Provider,{value:ca},We.createElement(f1.Provider,{value:ri},u)),We.createElement(A2e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),We.createElement(O_e,{...a,hiddenTextDescribedById:L}));function da(){const Ct=(O==null?void 0:O.autoScrollEnabled)===!1,et=typeof l=="object"?l.enabled===!1:l===!1,_n=w&&!Ct&&!et;return typeof l=="object"?{...l,enabled:_n}:{enabled:_n}}}),I2e=k.createContext(null),PP="button",M2e="Droppable";function N2e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=c1(M2e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=k.useContext(Gh),{role:h=PP,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=k.useContext(S?f1:I2e),[y,g]=gy(),[b,_]=gy(),w=S2e(s,t),x=Xf(n);io(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const P=d.get(t);P&&P.key===o&&d.delete(t)}),[d,t]);const T=k.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===PP?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:T,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function D2e(){return k.useContext(T$)}const L2e="Droppable",$2e={timeout:25};function F2e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=c1(L2e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=k.useContext(Gh),c=k.useRef({disabled:n}),d=k.useRef(!1),f=k.useRef(null),h=k.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...$2e,...i},v=Xf(m??r),y=k.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=d1({callback:y,disabled:p||!s}),b=k.useCallback((T,P)=>{g&&(P&&(g.unobserve(P),d.current=!1),T&&g.observe(T))},[g]),[_,w]=gy(b),x=Xf(t);return k.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),io(()=>(a({type:nn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:nn.UnregisterDroppable,key:o,id:r})),[r]),k.useEffect(()=>{n!==c.current.disabled&&(a({type:nn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function B2e(e){let{animation:t,children:n}=e;const[r,i]=k.useState(null),[o,s]=k.useState(null),a=my(n);return!n&&!r&&a&&i(a),io(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),We.createElement(We.Fragment,null,n,r?k.cloneElement(r,{ref:s}):null)}const j2e={x:0,y:0,scaleX:1,scaleY:1};function V2e(e){let{children:t}=e;return We.createElement(Gh.Provider,{value:C$},We.createElement(f1.Provider,{value:j2e},t))}const z2e={position:"fixed",touchAction:"none"},U2e=e=>S3(e)?"transform 250ms ease":void 0,G2e=k.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=U2e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...z2e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Qf.Transform.toString(d),transformOrigin:i&&r?M_e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return We.createElement(n,{className:s,style:f,ref:t},o)}),H2e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},q2e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Qf.Transform.toString(t)},{transform:Qf.Transform.toString(n)}]},W2e={duration:250,easing:"ease",keyframes:q2e,sideEffects:H2e({styles:{active:{opacity:"0"}}})};function K2e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return u1((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=x$(s);if(!u)return;const{transform:c}=or(s).getComputedStyle(s),d=u$(c);if(!d)return;const f=typeof t=="function"?t:X2e(t);return m$(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function X2e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...W2e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let AP=0;function Y2e(e){return k.useMemo(()=>{if(e!=null)return AP++,AP},[e])}const Q2e=We.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=D2e(),w=k.useContext(f1),x=Y2e(d==null?void 0:d.id),T=E$(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),P=C3(f),E=K2e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=P?S.setRef:void 0;return We.createElement(V2e,null,We.createElement(B2e,{animation:E},d&&x?We.createElement(G2e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:P,style:{zIndex:u,...i},transform:T},n):null))}),Z2e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Yf(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},P$=()=>ak(),P4e=J9,Yp=28,kP={w:Yp,h:Yp,maxW:Yp,maxH:Yp,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},J2e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return K.jsx(c3,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:K.jsx(u3,{sx:{...kP},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?K.jsxs(d3,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...kP},children:[K.jsx(K2,{children:e.dragData.payload.image_names.length}),K.jsx(K2,{size:"sm",children:"Images"})]}):null},ewe=k.memo(J2e);function A4e(e){return F2e(e)}function k4e(e){return N2e(e)}const O4e=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function twe(e){return K.jsx(R2e,{...e})}const nwe=e=>{const[t,n]=k.useState(null),r=P$(),i=k.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=k.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current);const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(tN({overData:c,activeData:t})),n(null))},[t,r]),s=vP(S$,{activationConstraint:{distance:10}}),a=vP(_$,{activationConstraint:{distance:10}}),l=R_e(s,a);return K.jsxs(twe,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:V_e,children:[e.children,K.jsx(Q2e,{dropAnimation:null,modifiers:[Z2e],children:K.jsx(Hbe,{children:t&&K.jsx($be.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:K.jsx(ewe,{dragData:t})},"overlay-drag-image")})})]})},rwe=k.memo(nwe),iwe=k.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),owe=e=>{const[t,n]=k.useState(),{isOpen:r,onOpen:i,onClose:o}=Jbe(),s=P$(),a=k.useCallback(()=>{n(void 0),o()},[o]),l=k.useCallback(c=>{c&&(n(c),i())},[n,i]),u=k.useCallback(c=>{t&&(s(he.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return K.jsx(iwe.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},swe=k.lazy(()=>G9(()=>import("./App-6757ec55.js"),["./App-6757ec55.js","./MantineProvider-3c4df448.js","./App-6125620a.css"],import.meta.url)),awe=k.lazy(()=>G9(()=>import("./ThemeLocaleProvider-b9e7cc95.js"),["./ThemeLocaleProvider-b9e7cc95.js","./MantineProvider-3c4df448.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),lwe=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(k.useEffect(()=>(t&&Cf.set(t),e&&Tf.set(e),zM(),i&&i.length>0?c2(mP(),...i):c2(mP()),()=>{Tf.set(void 0),Cf.set(void 0)}),[e,t,i]),K.jsx(We.StrictMode,{children:K.jsx(mV,{store:Gpe,children:K.jsx(We.Suspense,{fallback:K.jsx(rSe,{}),children:K.jsx(awe,{children:K.jsx(rwe,{children:K.jsx(owe,{children:K.jsx(swe,{config:n,headerComponent:r})})})})})})})),uwe=k.memo(lwe);xS.createRoot(document.getElementById("root")).render(K.jsx(uwe,{}));export{fD as $,K as A,ti as B,Vt as C,Mu as D,Vn as E,fi as F,Xne as G,br as H,Is as I,$i as J,$3e as K,_I as L,cre as M,jre as N,ote as O,Zne as P,rc as Q,Tl as R,df as S,Nge as T,sl as U,oD as V,f4e as W,u4e as X,Hbe as Y,$be as Z,w4e as _,Zk as a,U_ as a$,$L as a0,mD as a1,c4e as a2,d4e as a3,Mge as a4,Ige as a5,h4e as a6,Na as a7,al as a8,rm as a9,d3 as aA,K2 as aB,i4e as aC,jN as aD,ZCe as aE,Y4 as aF,lCe as aG,zi as aH,BC as aI,nF as aJ,hwe as aK,dwe as aL,fwe as aM,Ee as aN,Ea as aO,C3e as aP,YM as aQ,w3e as aR,x3e as aS,S3e as aT,m3e as aU,Mpe as aV,A4e as aW,O4e as aX,b3e as aY,R3e as aZ,WCe as a_,IV as aa,We as ab,eP as ac,uye as ad,_4e as ae,Io as af,rD as ag,R1e as ah,m4e as ai,R2 as aj,l4e as ak,S4e as al,Jn as am,mC as an,S0 as ao,P4e as ap,B3e as aq,Th as ar,nM as as,AM as at,Z0 as au,P$ as av,p5e as aw,Ft as ax,Ga as ay,c3 as az,Tx as b,I7 as b$,_3e as b0,u3 as b1,tSe as b2,vxe as b3,Ss as b4,P5e as b5,hp as b6,bge as b7,FC as b8,ZN as b9,ue as bA,iwe as bB,KCe as bC,dJ as bD,e3e as bE,$R as bF,Yxe as bG,RR as bH,G_ as bI,k4e as bJ,a4e as bK,O3e as bL,YCe as bM,QCe as bN,Rs as bO,Vle as bP,HCe as bQ,qCe as bR,UCe as bS,Jbe as bT,Am as bU,r4e as bV,M5e as bW,mxe as bX,ble as bY,c5e as bZ,I3e as b_,_ge as ba,$3 as bb,A3e as bc,P3e as bd,cwe as be,mwe as bf,ywe as bg,Bwe as bh,jwe as bi,wwe as bj,qwe as bk,bwe as bl,Iwe as bm,Twe as bn,Jle as bo,Swe as bp,Vwe as bq,vwe as br,Qwe as bs,xwe as bt,Mwe as bu,Cwe as bv,Nwe as bw,Awe as bx,Lwe as by,Zle as bz,AU as c,bQ as c$,eN as c0,k5e as c1,GCe as c2,t3e as c3,T7 as c4,LR as c5,_we as c6,xxe as c7,zn as c8,S5e as c9,Ph as cA,lxe as cB,Zwe as cC,ixe as cD,Fwe as cE,g5e as cF,hl as cG,y5e as cH,n5e as cI,t5e as cJ,D5e as cK,J5e as cL,a5e as cM,o5e as cN,fe as cO,xf as cP,q5e as cQ,wE as cR,s5e as cS,l5e as cT,i5e as cU,Xse as cV,$we as cW,pQ as cX,B5e as cY,PR as cZ,uxe as c_,O5e as ca,A5e as cb,Qae as cc,b5e as cd,x5e as ce,C5e as cf,vQ as cg,vae as ch,bae as ci,pxe as cj,wxe as ck,w5e as cl,_Q as cm,F3e as cn,h5e as co,ER as cp,g3e as cq,f3e as cr,h3e as cs,p3e as ct,F5e as cu,Qa as cv,pwe as cw,xo as cx,ace as cy,kwe as cz,mX as d,Y5e as d$,Ui as d0,Dwe as d1,Kwe as d2,gwe as d3,aY as d4,Ywe as d5,r5e as d6,cxe as d7,e5e as d8,hce as d9,C7 as dA,i3e as dB,s3e as dC,n3e as dD,Spe as dE,r3e as dF,oxe as dG,sxe as dH,nxe as dI,rxe as dJ,txe as dK,K5e as dL,U5e as dM,E5e as dN,z5e as dO,Z5e as dP,W5e as dQ,T5e as dR,H5e as dS,G5e as dT,j5e as dU,V5e as dV,GI as dW,Lx as dX,X5e as dY,Fm as dZ,pe as d_,fxe as da,he as db,Kn as dc,N5e as dd,N3e as de,D3e as df,N7 as dg,$5e as dh,M3e as di,hR as dj,axe as dk,sY as dl,Pwe as dm,L5e as dn,bT as dp,a3e as dq,Hx as dr,tJ as ds,Xl as dt,ST as du,l3e as dv,u3e as dw,c3e as dx,nJ as dy,d3e as dz,ZO as e,Zxe as e$,u2 as e0,Ewe as e1,Q5e as e2,J9 as e3,ak as e4,J3e as e5,q3e as e6,W3e as e7,K3e as e8,RM as e9,nd as eA,sCe as eB,Vxe as eC,tv as eD,uCe as eE,$xe as eF,aCe as eG,Fxe as eH,Gxe as eI,Pxe as eJ,Exe as eK,Txe as eL,DCe as eM,MR as eN,Cf as eO,Ixe as eP,Mxe as eQ,Nxe as eR,ICe as eS,qxe as eT,Hxe as eU,FQ as eV,RCe as eW,Ele as eX,zxe as eY,mpe as eZ,bpe as e_,Q3e as ea,Z3e as eb,Df as ec,_0 as ed,z3e as ee,Dpe as ef,j3e as eg,V3e as eh,G3e as ei,U3e as ej,H3e as ek,Y3e as el,$ie as em,eM as en,oN as eo,CF as ep,Pe as eq,gCe as er,NCe as es,MCe as et,Kxe as eu,CCe as ev,LCe as ew,Ple as ex,jxe as ey,cCe as ez,sO as f,Yme as f$,Jxe as f0,mCe as f1,pCe as f2,dCe as f3,Axe as f4,kxe as f5,R5e as f6,I5e as f7,oCe as f8,Qxe as f9,Jwe as fA,Rxe as fB,tCe as fC,jCe as fD,zwe as fE,Uwe as fF,Gwe as fG,Hwe as fH,nCe as fI,n4e as fJ,yxe as fK,AR as fL,Sxe as fM,bxe as fN,_xe as fO,iY as fP,yle as fQ,s4e as fR,iD as fS,b4e as fT,y4e as fU,p4e as fV,v4e as fW,Wi as fX,g4e as fY,o4e as fZ,aye as f_,yCe as fa,xCe as fb,vCe as fc,Wxe as fd,Bxe as fe,OCe as ff,kCe as fg,_Ce as fh,bCe as fi,SCe as fj,VCe as fk,PCe as fl,zCe as fm,iCe as fn,rCe as fo,Lxe as fp,Dxe as fq,BCe as fr,Xxe as fs,Tle as ft,wle as fu,xle as fv,Cle as fw,Oxe as fx,dxe as fy,yQ as fz,uX as g,x4e as g0,T4e as g1,E4e as g2,gO as h,vr as i,mc as j,v0 as k,mn as l,y0 as m,hh as n,Ci as o,ta as p,g0 as q,oo as r,gh as s,hb as t,_x as u,iO as v,kx as w,HO as x,aO as y,k as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 315bad4316..e59b4aed36 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + diff --git a/invokeai/frontend/web/dist/locales/en.json b/invokeai/frontend/web/dist/locales/en.json index 0640ab9ef0..b9f75ac30f 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -23,6 +23,7 @@ "menu": "Menu" }, "common": { + "communityLabel": "Community", "hotkeysLabel": "Hotkeys", "darkMode": "Dark Mode", "lightMode": "Light Mode", diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index c8e87ef8c5..8d3b55aa88 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -901,8 +901,8 @@ export type components = { */ resize_mode?: "just_resize" | "crop_resize" | "fill_resize" | "just_resize_simple"; }; - /** ControlNetModelConfig */ - ControlNetModelConfig: { + /** ControlNetModelCheckpointConfig */ + ControlNetModelCheckpointConfig: { /** Model Name */ model_name: string; base_model: components["schemas"]["BaseModelType"]; @@ -915,7 +915,34 @@ export type components = { path: string; /** Description */ description?: string; - model_format: components["schemas"]["ControlNetModelFormat"]; + /** + * Model Format + * @enum {string} + */ + model_format: "checkpoint"; + error?: components["schemas"]["ModelError"]; + /** Config */ + config: string; + }; + /** ControlNetModelDiffusersConfig */ + ControlNetModelDiffusersConfig: { + /** Model Name */ + model_name: string; + base_model: components["schemas"]["BaseModelType"]; + /** + * Model Type + * @enum {string} + */ + model_type: "controlnet"; + /** Path */ + path: string; + /** Description */ + description?: string; + /** + * Model Format + * @enum {string} + */ + model_format: "diffusers"; error?: components["schemas"]["ModelError"]; }; /** @@ -931,12 +958,6 @@ export type components = { /** @description Base model */ base_model: components["schemas"]["BaseModelType"]; }; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: "checkpoint" | "diffusers"; /** * ControlOutput * @description node output for ControlNet info @@ -1360,7 +1381,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1403,7 +1424,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -3607,7 +3628,7 @@ export type components = { /** ModelsList */ ModelsList: { /** Models */ - models: (components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"])[]; + models: (components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"])[]; }; /** * MultiplyInvocation @@ -5535,24 +5556,30 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion2ModelFormat * @description An enumeration. * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. * @enum {string} */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5663,7 +5690,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5700,7 +5727,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5964,14 +5991,14 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; responses: { /** @description The model was updated successfully */ 200: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Bad request */ @@ -6002,7 +6029,7 @@ export type operations = { /** @description The model imported successfully */ 201: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description The model could not be found */ @@ -6028,14 +6055,14 @@ export type operations = { add_model: { requestBody: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; responses: { /** @description The model added successfully */ 201: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description The model could not be found */ @@ -6075,7 +6102,7 @@ export type operations = { /** @description Model converted successfully */ 200: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Bad request */ @@ -6164,7 +6191,7 @@ export type operations = { /** @description Model converted successfully */ 200: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Incompatible models */ From f86d0d1b69b40d560191f99d200ca74a4e684793 Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Wed, 26 Jul 2023 10:55:38 -0400 Subject: [PATCH 050/106] hide localization toggle --- .../SettingsModal/SettingsModal.tsx | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx index ede125592a..af810f7836 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx @@ -104,6 +104,7 @@ type ConfigOptions = { shouldShowAdvancedOptionsSettings: boolean; shouldShowClearIntermediates: boolean; shouldShowNodesToggle: boolean; + shouldShowLocalizationToggle: boolean; }; type SettingsModalProps = { @@ -125,6 +126,8 @@ const SettingsModal = ({ children, config }: SettingsModalProps) => { const shouldShowClearIntermediates = config?.shouldShowClearIntermediates ?? true; const shouldShowNodesToggle = config?.shouldShowNodesToggle ?? true; + const shouldShowLocalizationToggle = + config?.shouldShowLocalizationToggle ?? true; useEffect(() => { if (!shouldShowDeveloperSettings) { @@ -325,16 +328,18 @@ const SettingsModal = ({ children, config }: SettingsModalProps) => { onChange={handleToggleNodes} /> )} - ({ - value, - label, - }))} - onChange={handleLanguageChanged} - /> + {shouldShowLocalizationToggle && ( + ({ + value, + label, + }))} + onChange={handleLanguageChanged} + /> + )} {shouldShowDeveloperSettings && ( From af8fc6ff825d8704354e515454ca5221964bcaa5 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 10:47:37 -0400 Subject: [PATCH 051/106] final polish before release candidate - Fix issue that prevented web ui from starting if ROOT/databases/invokeai.db not found. - Rebuild front end --- invokeai/backend/install/check_root.py | 12 +- .../frontend/web/dist/assets/App-6757ec55.js | 169 ++++++++++ .../dist/assets/MantineProvider-3c4df448.js | 1 + .../assets/ThemeLocaleProvider-b9e7cc95.js | 302 ++++++++++++++++++ .../web/dist/assets/index-9488b384.js | 125 ++++++++ invokeai/frontend/web/dist/index.html | 2 +- invokeai/frontend/web/dist/locales/en.json | 1 + .../frontend/web/src/services/api/schema.d.ts | 81 +++-- 8 files changed, 660 insertions(+), 33 deletions(-) create mode 100644 invokeai/frontend/web/dist/assets/App-6757ec55.js create mode 100644 invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js create mode 100644 invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js create mode 100644 invokeai/frontend/web/dist/assets/index-9488b384.js diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py index 0c24034dc7..e8dde681bf 100644 --- a/invokeai/backend/install/check_root.py +++ b/invokeai/backend/install/check_root.py @@ -8,9 +8,9 @@ from invokeai.app.services.config import ( def check_invokeai_root(config: InvokeAIAppConfig): try: - assert config.model_conf_path.exists() - assert config.db_path.exists() - assert config.models_path.exists() + assert config.model_conf_path.exists(), f'{config.model_conf_path} not found' + assert config.db_path.parent.exists(), f'{config.db_path.parent} not found' + assert config.models_path.exists(), f'{config.models_path} not found' for model in [ 'CLIP-ViT-bigG-14-laion2B-39B-b160k', 'bert-base-uncased', @@ -18,9 +18,11 @@ def check_invokeai_root(config: InvokeAIAppConfig): 'sd-vae-ft-mse', 'stable-diffusion-2-clip', 'stable-diffusion-safety-checker']: - assert (config.models_path / f'core/convert/{model}').exists() - except: + path = config.models_path / f'core/convert/{model}' + assert path.exists(), f'{path} is missing' + except Exception as e: print() + print(f'An exception has occurred: {str(e)}') print('== STARTUP ABORTED ==') print('** One or more necessary files is missing from your InvokeAI root directory **') print('** Please rerun the configuration script to fix this problem. **') diff --git a/invokeai/frontend/web/dist/assets/App-6757ec55.js b/invokeai/frontend/web/dist/assets/App-6757ec55.js new file mode 100644 index 0000000000..fa005c94d2 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/App-6757ec55.js @@ -0,0 +1,169 @@ +import{t as cv,r as K8,i as uv,a as Rc,b as h_,S as m_,c as g_,d as v_,e as dv,f as b_,g as fv,h as Y8,j as Q8,k as X8,l as J8,m as y_,n as Z8,o as eR,p as tR,q as x_,s as nR,u as rR,v as oR,w as sR,x as aR,y as iR,z as f,A as i,B as Xh,C as Ip,D as lR,E as w_,F as S_,G as cR,P as id,H as M1,I as uR,J as dR,K as fR,L as pR,M as hR,N as mR,O as gR,Q as P2,R as Te,T as vR,U as Ie,V as kt,W as et,X as ld,Y as Fo,Z as Qr,_ as Br,$ as qn,a0 as dl,a1 as $a,a2 as tn,a3 as ns,a4 as Zl,a5 as za,a6 as Jh,a7 as D1,a8 as cd,a9 as or,aa as bR,ab as F,ac as C_,ad as j2,ae as k_,af as pv,ag as Mc,ah as yR,ai as __,aj as P_,ak as Dc,al as xR,am as fe,an as Ge,ao as Xt,ap as L,aq as wR,ar as I2,as as SR,at as CR,au as E2,av as te,aw as kR,ax as Dn,ay as Bn,az as Oe,aA as W,aB as Qs,aC as Ye,aD as Kn,aE as j_,aF as I_,aG as E_,aH as _i,aI as Ds,aJ as T1,aK as _R,aL as PR,aM as jR,aN as Rl,aO as xu,aP as IR,aQ as ER,aR as OR,aS as RR,aT as MR,aU as O2,aV as ui,aW as A1,aX as Ep,aY as Zh,aZ as O_,a_ as os,a$ as R_,b0 as DR,b1 as Tc,b2 as M_,b3 as D_,b4 as Es,b5 as _o,b6 as wu,b7 as TR,b8 as AR,b9 as NR,ba as $R,bb as N1,bc as Op,bd as zR,be as LR,bf as If,bg as Ef,bh as Ru,bi as Mu,bj as R2,bk as Rp,bl as M2,bm as Mp,bn as D2,bo as hv,bp as T2,bq as mv,br as A2,bs as Dp,bt as N2,bu as hc,bv as $2,bw as mc,bx as z2,by as Tp,bz as $1,bA as z1,bB as T_,bC as L1,bD as B1,bE as BR,bF as FR,bG as em,bH as ql,bI as HR,bJ as WR,bK as vp,bL as VR,bM as UR,bN as GR,bO as gv,bP as A_,bQ as qR,bR as N_,bS as $_,bT as ss,bU as L2,bV as La,bW as KR,bX as vv,bY as YR,bZ as z_,b_ as B2,b$ as QR,c0 as XR,c1 as JR,c2 as ZR,c3 as eM,c4 as tM,c5 as F1,c6 as H1,c7 as nM,c8 as Ln,c9 as F2,ca as L_,cb as rM,cc as oM,cd as sM,ce as aM,cf as iM,cg as lM,ch as cM,ci as uM,cj as dM,ck as B_,cl as fM,cm as pM,cn as hM,co as mM,cp as gM,cq as vM,cr as bM,cs as yM,ct as xM,cu as wM,cv as jo,cw as vr,cx as SM,cy as W1,cz as ud,cA as dd,cB as CM,cC as H2,cD as kM,cE as W2,cF as _M,cG as PM,cH as jM,cI as V2,cJ as U2,cK as na,cL as V1,cM as G2,cN as q2,cO as tm,cP as IM,cQ as EM,cR as OM,cS as RM,cT as K2,cU as Y2,cV as MM,cW as Q2,cX as DM,cY as F_,cZ as X2,c_ as TM,c$ as AM,d0 as Ss,d1 as NM,d2 as $M,d3 as H_,d4 as W_,d5 as zM,d6 as J2,d7 as LM,d8 as BM,d9 as V_,da as FM,db as HM,dc as WM,dd as VM,de as UM,df as GM,dg as qM,dh as U_,di as KM,dj as G_,dk as Z2,dl as Of,dm as YM,dn as U1,dp as q_,dq as QM,dr as XM,ds as JM,dt as ls,du as ZM,dv as e7,dw as t7,dx as n7,dy as r7,dz as o7,dA as s7,dB as a7,dC as i7,dD as l7,dE as c7,dF as u7,dG as d7,dH as f7,dI as ew,dJ as tw,dK as p7,dL as K_,dM as Y_,dN as fd,dO as Q_,dP as Hu,dQ as X_,dR as nw,dS as h7,dT as m7,dU as J_,dV as g7,dW as G1,dX as rw,dY as Z_,dZ as v7,d_ as ow,d$ as e3,e0 as Ts,e1 as b7,e2 as t3,e3 as sw,e4 as y7,e5 as x7,e6 as w7,e7 as S7,e8 as C7,e9 as k7,ea as _7,eb as P7,ec as j7,ed as I7,ee as E7,ef as O7,eg as R7,eh as M7,ei as D7,ej as T7,ek as A7,el as N7,em as $7,en as z7,eo as aw,ep as bp,eq as L7,er as Ap,es as n3,et as Wu,eu as B7,ev as F7,ew as ea,ex as r3,ey as q1,ez as pd,eA as H7,eB as W7,eC as V7,eD as Ia,eE as o3,eF as U7,eG as G7,eH as s3,eI as q7,eJ as K7,eK as Y7,eL as Q7,eM as X7,eN as J7,eO as Z7,eP as eD,eQ as tD,eR as nD,eS as iw,eT as rD,eU as oD,eV as sD,eW as aD,eX as iD,eY as lD,eZ as cD,e_ as uD,e$ as a0,f0 as Js,f1 as i0,f2 as l0,f3 as Rf,f4 as lw,f5 as bv,f6 as dD,f7 as fD,f8 as pD,f9 as hD,fa as Np,fb as a3,fc as i3,fd as mD,fe as gD,ff as l3,fg as c3,fh as u3,fi as d3,fj as f3,fk as p3,fl as h3,fm as m3,fn as ec,fo as tc,fp as g3,fq as v3,fr as vD,fs as b3,ft as y3,fu as x3,fv as w3,fw as S3,fx as C3,fy as K1,fz as bD,fA as cw,fB as yD,fC as xD,fD as $p,fE as uw,fF as dw,fG as fw,fH as pw,fI as wD,fJ as SD,fK as CD,fL as kD,fM as _D,fN as PD,fO as jD,fP as ID,fQ as ED}from"./index-9488b384.js";import{I as Kr,u as OD,c as RD,a as Rn,b as rr,d as Ba,P as Vu,C as MD,e as be,m as nm,f as k3,g as Fa,h as DD,r as Ue,i as TD,j as hw,k as Wt,l as wr}from"./MantineProvider-3c4df448.js";function AD(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var mw=1/0,ND=17976931348623157e292;function c0(e){if(!e)return e===0?e:0;if(e=cv(e),e===mw||e===-mw){var t=e<0?-1:1;return t*ND}return e===e?e:0}var $D=function(){return K8.Date.now()};const u0=$D;var zD="Expected a function",LD=Math.max,BD=Math.min;function FD(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(zD);t=cv(t)||0,uv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?LD(cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,T=t-R;return m?BD(T,s-M):T}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=u0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function I(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function P(){return c===void 0?a:_(u0())}function E(){var O=u0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=I,E.flush=P,E}var HD=200;function WD(e,t,n,r){var o=-1,s=g_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Rc(t,h_(n))),r?(s=v_,a=!1):t.length>=HD&&(s=dv,a=!1,t=new m_(t));e:for(;++o=120&&h.length>=120)?new m_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}const _3=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:Xh(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};_3.displayName="MiniMapNode";var cT=f.memo(_3);const uT=e=>e.nodeOrigin,dT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),d0=e=>e instanceof Function?e:()=>e;function fT({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=cT,onClick:a}){const c=Ip(dT,M1),d=Ip(uT),p=d0(t),h=d0(e),m=d0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=lR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var pT=f.memo(fT);const hT=200,mT=150,gT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?fR(pR(t,e.nodeOrigin),n):n,rfId:e.rfId}},vT="react-flow__minimap-desc";function P3({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const I=w_(),P=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Ip(gT,M1),M=(e==null?void 0:e.width)??hT,T=(e==null?void 0:e.height)??mT,A=E.width/M,$=E.height/T,Q=Math.max(A,$),B=Q*M,V=Q*T,q=5*Q,G=E.x-(B-E.width)/2-q,D=E.y-(V-E.height)/2-q,z=B+q*2,H=V+q*2,Y=`${vT}-${R}`,ie=f.useRef(0);ie.current=Q,f.useEffect(()=>{if(P.current){const se=S_(P.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:ce}=I.getState();if(re.sourceEvent.type!=="wheel"||!pe||!ce)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,_e=oe[2]*Math.pow(2,ge);ce.scaleTo(pe,_e)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:ce,translateExtent:ge,width:_e,height:le}=I.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!ce)return;const Se=ie.current*Math.max(1,oe[2])*(k?-1:1),Fe={x:oe[0]-re.sourceEvent.movementX*Se,y:oe[1]-re.sourceEvent.movementY*Se},Ae=[[0,0],[_e,le]],He=uR.translate(Fe.x,Fe.y).scale(oe[2]),Ct=ce.constrain()(He,Ae,ge);ce.transform(pe,Ct)},ae=cR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return se.call(ae),()=>{se.on("zoom",null)}}},[w,y,k,_]);const ye=v?se=>{const K=dR(se);v(se,{x:K[0],y:K[1]})}:void 0,Z=b?(se,K)=>{const U=I.getState().nodeInternals.get(K);b(se,U)}:void 0;return i.jsx(id,{position:m,style:e,className:Xh(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:T,viewBox:`${G} ${D} ${z} ${H}`,role:"img","aria-labelledby":Y,ref:P,onClick:ye,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(pT,{onClick:Z,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${D-q}h${z+q*2}v${H+q*2}h${-z-q*2}z + M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}P3.displayName="MiniMap";var bT=f.memo(P3),Cs;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Cs||(Cs={}));function yT({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function xT({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const wT={[Cs.Dots]:"#91919a",[Cs.Lines]:"#eee",[Cs.Cross]:"#e2e2e2"},ST={[Cs.Dots]:1,[Cs.Lines]:1,[Cs.Cross]:6},CT=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function j3({id:e,variant:t=Cs.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Ip(CT,M1),v=a||wT[t],b=r||ST[t],w=t===Cs.Dots,y=t===Cs.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],I=y?[_,_]:k,P=w?[_/s,_/s]:[I[0]/s,I[1]/s];return i.jsxs("svg",{className:Xh(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${P[0]},-${P[1]})`,children:w?i.jsx(xT,{color:v,radius:_/s}):i.jsx(yT,{dimensions:I,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}j3.displayName="Background";var kT=f.memo(j3),Du;(function(e){e.Line="line",e.Handle="handle"})(Du||(Du={}));function _T({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const I3={width:0,height:0,x:0,y:0},PT={...I3,pointerX:0,pointerY:0,aspectRatio:1};function jT({nodeId:e,position:t,variant:n=Du.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=hR(),k=typeof e=="string"?e:S,_=w_(),I=f.useRef(null),P=f.useRef(PT),E=f.useRef(I3),O=mR(),R=n===Du.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!I.current||!k)return;const Q=S_(I.current),B=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),D=gR().on("start",z=>{const H=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ie}=O(z);E.current={width:(H==null?void 0:H.width)??0,height:(H==null?void 0:H.height)??0,x:(H==null?void 0:H.position.x)??0,y:(H==null?void 0:H.position.y)??0},P.current={...E.current,pointerX:Y,pointerY:ie,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:H,triggerNodeChanges:Y}=_.getState(),{xSnapped:ie,ySnapped:ye}=O(z),Z=H.get(k);if(Z){const se=[],{pointerX:K,pointerY:U,width:ae,height:re,x:oe,y:pe,aspectRatio:ce}=P.current,{x:ge,y:_e,width:le,height:Se}=E.current,Fe=Math.floor(B?ie-K:0),Ae=Math.floor(V?ye-U:0);let He=P2(ae+(q?-Fe:Fe),c,p),Ct=P2(re+(G?-Ae:Ae),d,h);if(m){const Re=He/Ct,Pt=B&&V,At=B&&!V,xe=V&&!B;He=Re<=ce&&Pt||xe?Ct*ce:He,Ct=Re>ce&&Pt||At?He/ce:Ct,He>=p?(He=p,Ct=p/ce):He<=c&&(He=c,Ct=c/ce),Ct>=h?(Ct=h,He=h*ce):Ct<=d&&(Ct=d,He=d*ce)}const ct=He!==le,on=Ct!==Se;if(q||G){const Re=q?oe-(He-ae):oe,Pt=G?pe-(Ct-re):pe,At=Re!==ge&&ct,xe=Pt!==_e&&on;if(At||xe){const ht={id:Z.id,type:"position",position:{x:At?Re:ge,y:xe?Pt:_e}};se.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Re={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:He,height:Ct}};se.push(Re),E.current.width=He,E.current.height=Ct}if(se.length===0)return;const vt=_T({width:E.current.width,prevWidth:le,height:E.current.height,prevHeight:Se,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(z,bt))===!1)return;w==null||w(z,bt),Y(se)}}).on("end",z=>{const H={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([H])});return Q.call(D),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const T=M.split("-"),A=n===Du.Line?"borderColor":"backgroundColor",$=a?{...o,[A]:a}:o;return i.jsx("div",{className:Xh(["react-flow__resize-control","nodrag",...T,n,r]),ref:I,style:$,children:s})}var IT=f.memo(jT);const E3=1/60*1e3,ET=typeof performance<"u"?()=>performance.now():()=>Date.now(),O3=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(ET()),E3);function OT(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=OT(()=>Uu=!0),e),{}),MT=hd.reduce((e,t)=>{const n=rm[t];return e[t]=(r,o=!1,s=!1)=>(Uu||AT(),n.schedule(r,o,s)),e},{}),DT=hd.reduce((e,t)=>(e[t]=rm[t].cancel,e),{});hd.reduce((e,t)=>(e[t]=()=>rm[t].process(nc),e),{});const TT=e=>rm[e].process(nc),R3=e=>{Uu=!1,nc.delta=yv?E3:Math.max(Math.min(e-nc.timestamp,RT),1),nc.timestamp=e,xv=!0,hd.forEach(TT),xv=!1,Uu&&(yv=!1,O3(R3))},AT=()=>{Uu=!0,yv=!0,xv||O3(R3)},bw=()=>nc;function Y1(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function md(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Te((c,d)=>i.jsx(Kr,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function NT(e){const{theme:t}=vR(),n=OD();return f.useMemo(()=>RD(t.direction,{...n,...e}),[e,t.direction,n])}var $T=Object.defineProperty,zT=(e,t,n)=>t in e?$T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gr=(e,t,n)=>(zT(e,typeof t!="symbol"?t+"":t,n),n);function yw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var LT=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function xw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function ww(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var wv=typeof window<"u"?f.useLayoutEffect:f.useEffect,zp=e=>e,BT=class{constructor(){gr(this,"descendants",new Map),gr(this,"register",e=>{if(e!=null)return LT(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),gr(this,"unregister",e=>{this.descendants.delete(e);const t=yw(Array.from(this.descendants.keys()));this.assignIndex(t)}),gr(this,"destroy",()=>{this.descendants.clear()}),gr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),gr(this,"count",()=>this.descendants.size),gr(this,"enabledCount",()=>this.enabledValues().length),gr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),gr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),gr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),gr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),gr(this,"first",()=>this.item(0)),gr(this,"firstEnabled",()=>this.enabledItem(0)),gr(this,"last",()=>this.item(this.descendants.size-1)),gr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),gr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),gr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),gr(this,"next",(e,t=!0)=>{const n=xw(e,this.count(),t);return this.item(n)}),gr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=xw(r,this.enabledCount(),t);return this.enabledItem(o)}),gr(this,"prev",(e,t=!0)=>{const n=ww(e,this.count()-1,t);return this.item(n)}),gr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=ww(r,this.enabledCount()-1,t);return this.enabledItem(o)}),gr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=yw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function FT(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{FT(n,t)})}}function HT(...e){return f.useMemo(()=>cn(...e),e)}function WT(){const e=f.useRef(new BT);return wv(()=>()=>e.current.destroy()),e.current}var[VT,M3]=Rn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function UT(e){const t=M3(),[n,r]=f.useState(-1),o=f.useRef(null);wv(()=>()=>{o.current&&t.unregister(o.current)},[]),wv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=zp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function Q1(){return[zp(VT),()=>zp(M3()),()=>WT(),o=>UT(o)]}var[GT,om]=Rn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[qT,X1]=Rn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[KT,dde,YT,QT]=Q1(),Su=Te(function(t,n){const{getButtonProps:r}=X1(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...om().button};return i.jsx(Ie.button,{...o,className:kt("chakra-accordion__button",t.className),__css:a})});Su.displayName="AccordionButton";function Ac(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=rr(r),a=rr(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=rr(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function XT(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;eA(e),tA(e);const c=YT(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=Ac({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[JT,J1]=Rn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function ZT(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=J1(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;nA(e);const{register:v,index:b,descendants:w}=QT({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);rA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},I=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),P=f.useCallback(M=>{const A={ArrowDown:()=>{const $=w.nextEnabled(b);$==null||$.node.focus()},ArrowUp:()=>{const $=w.prevEnabled(b);$==null||$.node.focus()},Home:()=>{const $=w.firstEnabled();$==null||$.node.focus()},End:()=>{const $=w.lastEnabled();$==null||$.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(T={},A=null){return{...T,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(T.onClick,I),onFocus:et(T.onFocus,E),onKeyDown:et(T.onKeyDown,P)}},[h,t,y,I,E,P,m,v]),R=f.useCallback(function(T={},A=null){return{...T,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function eA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;ld({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function tA(e){ld({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function nA(e){ld({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. + `})}function rA(e){ld({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Cu(e){const{isOpen:t,isDisabled:n}=X1(),{reduceMotion:r}=J1(),o=kt("chakra-accordion__icon",e.className),s=om(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(Kr,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Cu.displayName="AccordionIcon";var ku=Te(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=ZT(t),d={...om().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(qT,{value:p,children:i.jsx(Ie.div,{ref:n,...s,className:kt("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});ku.displayName="AccordionItem";var Gi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},uu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function Sv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return uu.slideRight;case"left":return uu.slideLeft;case"bottom":return uu.slideDown;case"top":return uu.slideUp;default:return uu.slideRight}}var Ki={enter:{duration:.2,ease:Gi.easeOut},exit:{duration:.1,ease:Gi.easeIn}},ks={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},oA=e=>e!=null&&parseInt(e.toString(),10)>0,Sw={exit:{height:{duration:.2,ease:Gi.ease},opacity:{duration:.3,ease:Gi.ease}},enter:{height:{duration:.3,ease:Gi.ease},opacity:{duration:.4,ease:Gi.ease}}},sA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:oA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Sw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:ks.enter(Sw.enter,o)}}},sm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),ld({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(Fo,{initial:!1,custom:y,children:S&&i.jsx(Qr.div,{ref:t,...m,className:kt("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:sA,initial:r?"exit":!1,animate:k,exit:"exit"})})});sm.displayName="Collapse";var aA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:ks.exit(Ki.exit,n),transitionEnd:t==null?void 0:t.exit}}},D3={initial:"exit",animate:"enter",exit:"exit",variants:aA},iA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(Fo,{custom:v,children:m&&i.jsx(Qr.div,{ref:n,className:kt("chakra-fade",s),custom:v,...D3,animate:h,...p})})});iA.displayName="Fade";var lA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:e==null?void 0:e.enter}}},T3={initial:"exit",animate:"enter",exit:"exit",variants:lA},cA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(Fo,{custom:w,children:v&&i.jsx(Qr.div,{ref:n,className:kt("chakra-offset-slide",c),...T3,animate:b,custom:w,...m})})});cA.displayName="ScaleFade";var uA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:ks.exit(Ki.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Cv={initial:"initial",animate:"enter",exit:"exit",variants:uA},dA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(Fo,{custom:y,children:b&&i.jsx(Qr.div,{ref:n,className:kt("chakra-offset-slide",a),custom:y,...Cv,animate:w,...v})})});dA.displayName="SlideFade";var Cw={exit:{duration:.15,ease:Gi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},fA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=Sv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:ks.exit(Cw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=Sv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:ks.enter(Cw.enter,r),transitionEnd:t==null?void 0:t.enter}}},A3=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=Sv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(Fo,{custom:k,children:y&&i.jsx(Qr.div,{...v,ref:n,initial:"exit",className:kt("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:fA,style:w,...m})})});A3.displayName="Slide";var _u=Te(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=J1(),{getPanelProps:c,isOpen:d}=X1(),p=c(s,n),h=kt("chakra-accordion__panel",r),m=om();a||delete p.hidden;const v=i.jsx(Ie.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(sm,{in:d,...o,children:v})});_u.displayName="AccordionPanel";var N3=Te(function({children:t,reduceMotion:n,...r},o){const s=Br("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=XT(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(KT,{value:d,children:i.jsx(JT,{value:h,children:i.jsx(GT,{value:s,children:i.jsx(Ie.div,{ref:o,...c,className:kt("chakra-accordion",r.className),__css:s.root,children:t})})})})});N3.displayName="Accordion";function gd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[pA,hA]=Rn({strict:!1,name:"ButtonGroupContext"}),mA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},gA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},nr=Te(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=kt("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?mA[h]:gA[h](c)};const y=h==="vertical";return i.jsx(pA,{value:b,children:i.jsx(Ie.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});nr.displayName="ButtonGroup";function vA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function kv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=kt("chakra-button__icon",n);return i.jsx(Ie.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}kv.displayName="ButtonIcon";function Lp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(dl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=kt("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(Ie.div,{className:d,...c,__css:h,children:o})}Lp.displayName="ButtonSpinner";var gc=Te((e,t)=>{const n=hA(),r=$a("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:I,type:P}=vA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(Ie.button,{ref:HT(t,I),as:S,type:v??P,"data-active":tn(a),"data-loading":tn(s),__css:_,className:kt("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Lp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(Ie.span,{opacity:0,children:i.jsx(kw,{...E})}):i.jsx(kw,{...E}),s&&w==="end"&&i.jsx(Lp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});gc.displayName="Button";function kw(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(kv,{marginEnd:o,children:t}),r,n&&i.jsx(kv,{marginStart:o,children:n})]})}var Sa=Te((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(gc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});Sa.displayName="IconButton";var[fde,bA]=Rn({name:"CheckboxGroupContext",strict:!1});function yA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function xA(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function wA(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function SA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?wA:xA;return n||t?i.jsx(Ie.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[CA,$3]=Rn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[kA,vd]=Rn({strict:!1,name:"FormControlContext"});function _A(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,T=>{T&&y(!0)})}),[m]),I=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":tn(S),"data-disabled":tn(o),"data-invalid":tn(r),"data-readonly":tn(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),P=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,T=>{T&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:P,getRootProps:E,getLabelProps:I,getRequiredIndicatorProps:O}}var ho=Te(function(t,n){const r=Br("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=_A(o),d=kt("chakra-form-control",t.className);return i.jsx(kA,{value:c,children:i.jsx(CA,{value:r,children:i.jsx(Ie.div,{...s({},n),className:d,__css:r.container})})})});ho.displayName="FormControl";var PA=Te(function(t,n){const r=vd(),o=$3(),s=kt("chakra-form__helper-text",t.className);return i.jsx(Ie.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});PA.displayName="FormHelperText";var zo=Te(function(t,n){var r;const o=$a("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(z3,{}),optionalIndicator:p=null,...h}=s,m=vd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(Ie.label,{...v,className:kt("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});zo.displayName="FormLabel";var z3=Te(function(t,n){const r=vd(),o=$3();if(!(r!=null&&r.isRequired))return null;const s=kt("chakra-form__required-indicator",t.className);return i.jsx(Ie.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});z3.displayName="RequiredIndicator";function Z1(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=eb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":ns(n),"aria-required":ns(o),"aria-readonly":ns(r)}}function eb(e){var t,n,r;const o=vd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var tb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},L3=Ie("span",{baseStyle:tb});L3.displayName="VisuallyHidden";var jA=Ie("input",{baseStyle:tb});jA.displayName="VisuallyHiddenInput";var _w=!1,bd=null,nl=!1,_v=!1,Pv=new Set;function nb(e,t){Pv.forEach(n=>n(e,t))}var IA=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function EA(e){return!(e.metaKey||!IA&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Pw(e){nl=!0,EA(e)&&(bd="keyboard",nb("keyboard",e))}function Dl(e){if(bd="pointer",e.type==="mousedown"||e.type==="pointerdown"){nl=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;nb("pointer",e)}}function OA(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function RA(e){OA(e)&&(nl=!0,bd="virtual")}function MA(e){e.target===window||e.target===document||(!nl&&!_v&&(bd="virtual",nb("virtual",e)),nl=!1,_v=!1)}function DA(){nl=!1,_v=!0}function jw(){return bd!=="pointer"}function TA(){if(typeof window>"u"||_w)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){nl=!0,e.apply(this,n)},document.addEventListener("keydown",Pw,!0),document.addEventListener("keyup",Pw,!0),document.addEventListener("click",RA,!0),window.addEventListener("focus",MA,!0),window.addEventListener("blur",DA,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Dl,!0),document.addEventListener("pointermove",Dl,!0),document.addEventListener("pointerup",Dl,!0)):(document.addEventListener("mousedown",Dl,!0),document.addEventListener("mousemove",Dl,!0),document.addEventListener("mouseup",Dl,!0)),_w=!0}function B3(e){TA(),e(jw());const t=()=>e(jw());return Pv.add(t),()=>{Pv.delete(t)}}function AA(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function F3(e={}){const t=eb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":I,"aria-invalid":P,...E}=e,O=AA(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=rr(b),M=rr(c),T=rr(d),[A,$]=f.useState(!1),[Q,B]=f.useState(!1),[V,q]=f.useState(!1),[G,D]=f.useState(!1);f.useEffect(()=>B3($),[]);const z=f.useRef(null),[H,Y]=f.useState(!0),[ie,ye]=f.useState(!!h),Z=m!==void 0,se=Z?m:ie,K=f.useCallback(le=>{if(r||n){le.preventDefault();return}Z||ye(se?le.target.checked:w?!0:le.target.checked),R==null||R(le)},[r,n,se,Z,w,R]);Zl(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Ba(()=>{n&&B(!1)},[n,B]),Zl(()=>{const le=z.current;le!=null&&le.form&&(le.form.onreset=()=>{ye(!!h)})},[]);const U=n&&!v,ae=f.useCallback(le=>{le.key===" "&&D(!0)},[D]),re=f.useCallback(le=>{le.key===" "&&D(!1)},[D]);Zl(()=>{if(!z.current)return;z.current.checked!==se&&ye(z.current.checked)},[z.current]);const oe=f.useCallback((le={},Se=null)=>{const Fe=Ae=>{Q&&Ae.preventDefault(),D(!0)};return{...le,ref:Se,"data-active":tn(G),"data-hover":tn(V),"data-checked":tn(se),"data-focus":tn(Q),"data-focus-visible":tn(Q&&A),"data-indeterminate":tn(w),"data-disabled":tn(n),"data-invalid":tn(s),"data-readonly":tn(r),"aria-hidden":!0,onMouseDown:et(le.onMouseDown,Fe),onMouseUp:et(le.onMouseUp,()=>D(!1)),onMouseEnter:et(le.onMouseEnter,()=>q(!0)),onMouseLeave:et(le.onMouseLeave,()=>q(!1))}},[G,se,n,Q,A,V,w,s,r]),pe=f.useCallback((le={},Se=null)=>({...O,...le,ref:cn(Se,Fe=>{Fe&&Y(Fe.tagName==="LABEL")}),onClick:et(le.onClick,()=>{var Fe;H||((Fe=z.current)==null||Fe.click(),requestAnimationFrame(()=>{var Ae;(Ae=z.current)==null||Ae.focus({preventScroll:!0})}))}),"data-disabled":tn(n),"data-checked":tn(se),"data-invalid":tn(s)}),[O,n,se,s,H]),ce=f.useCallback((le={},Se=null)=>({...le,ref:cn(z,Se),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(le.onChange,K),onBlur:et(le.onBlur,M,()=>B(!1)),onFocus:et(le.onFocus,T,()=>B(!0)),onKeyDown:et(le.onKeyDown,ae),onKeyUp:et(le.onKeyUp,re),required:o,checked:se,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":I,"aria-invalid":P?!!P:s,"aria-describedby":p,"aria-disabled":n,style:tb}),[y,S,a,K,M,T,ae,re,o,se,U,r,_,I,P,s,p,n,k]),ge=f.useCallback((le={},Se=null)=>({...le,ref:Se,onMouseDown:et(le.onMouseDown,NA),"data-disabled":tn(n),"data-checked":tn(se),"data-invalid":tn(s)}),[se,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:se,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:pe,getCheckboxProps:oe,getInputProps:ce,getLabelProps:ge,htmlProps:O}}function NA(e){e.preventDefault(),e.stopPropagation()}var $A={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},zA={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},LA=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),BA=za({from:{opacity:0},to:{opacity:1}}),FA=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),H3=Te(function(t,n){const r=bA(),o={...r,...t},s=Br("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(SA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let I=y;r!=null&&r.onChange&&a.value&&(I=Jh(r.onChange,y));const{state:P,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=F3({...k,isDisabled:w,isChecked:_,onChange:I}),T=yA(P.isChecked),A=f.useMemo(()=>({animation:T?P.isIndeterminate?`${BA} 20ms linear, ${FA} 200ms linear`:`${LA} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,T,P.isIndeterminate,s.icon]),$=f.cloneElement(v,{__css:A,isIndeterminate:P.isIndeterminate,isChecked:P.isChecked});return i.jsxs(Ie.label,{__css:{...zA,...s.container},className:kt("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(Ie.span,{__css:{...$A,...s.control},className:"chakra-checkbox__control",...O(),children:$}),p&&i.jsx(Ie.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});H3.displayName="Checkbox";function HA(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function rb(e,t){let n=HA(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function jv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Bp(e,t,n){return(e-t)*100/(n-t)}function W3(e,t,n){return(n-t)*e+t}function Iv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=jv(n);return rb(r,o)}function rc(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=f0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=V3(ni(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),ni(A)))},[p,v,b]),k=f.useCallback(A=>{let $=A;return d&&($=rc($,a,c)),rb($,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let $;b===""?$=ni(A):$=ni(b)+A,$=k($),S($)},[k,s,S,b]),I=f.useCallback((A=s)=>{let $;b===""?$=ni(-A):$=ni(b)-A,$=k($),S($)},[k,s,S,b]),P=f.useCallback(()=>{var A;let $;r==null?$="":$=(A=f0(r,s,n))!=null?A:a,S($)},[r,n,s,S,a]),E=f.useCallback(A=>{var $;const Q=($=f0(A,s,y))!=null?$:a;S(Q)},[y,s,S,a]),O=ni(b);return{isOutOfRange:O>c||O" `}),[UA,G3]=Rn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),q3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},K3=Te(function(t,n){const{getInputProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__input",t.className);return i.jsx(Ie.input,{...s,__css:{outline:0,...q3,...o.input},className:a})});K3.displayName="EditableInput";var Y3=Te(function(t,n){const{getPreviewProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__preview",t.className);return i.jsx(Ie.span,{...s,__css:{cursor:"text",display:"inline-block",...q3,...o.preview},className:a})});Y3.displayName="EditablePreview";function Yi(e,t,n,r){const o=rr(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function GA(e){return"current"in e}var Q3=()=>typeof window<"u";function qA(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var KA=e=>Q3()&&e.test(navigator.vendor),YA=e=>Q3()&&e.test(qA()),QA=()=>YA(/mac|iphone|ipad|ipod/i),XA=()=>QA()&&KA(/apple/i);function X3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!XA()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=GA(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Iw(e,t){return e?e===t||e.contains(t):!1}function JA(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=rr(b),k=!!(d&&!a),[_,I]=f.useState(k),[P,E]=Ac({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(P),M=f.useRef(null),T=f.useRef(null),A=f.useRef(null),$=f.useRef(null),Q=f.useRef(null);X3({ref:M,enabled:_,elements:[$,Q]});const B=!_&&!a;Zl(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Ba(()=>{var oe,pe,ce,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(ce=M.current)==null||ce.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{B&&I(!0)},[B]),q=f.useCallback(()=>{R(P)},[P]),G=f.useCallback(()=>{I(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),D=f.useCallback(()=>{I(!1),R(P),r==null||r(P),o==null||o(O)},[P,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const z=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),H=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:_e=>{!_e.shiftKey&&!_e.metaKey&&D()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,D]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ie=P.length===0,ye=f.useCallback(oe=>{var pe;if(!_)return;const ce=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:ce.activeElement,_e=Iw($.current,ge),le=Iw(Q.current,ge);!_e&&!le&&(h?D():G())},[h,D,G,_]),Z=f.useCallback((oe={},pe=null)=>{const ce=B&&p?0:void 0;return{...oe,ref:cn(pe,T),children:ie?v:P,hidden:_,"aria-disabled":ns(a),tabIndex:ce,onFocus:et(oe.onFocus,V,q)}},[a,_,B,p,ie,V,q,v,P]),se=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,H),onFocus:et(oe.onFocus,q)}),[a,_,ye,z,H,q,v,P]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,ye,z,Y,q,v,P]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),ae=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,D),disabled:a}),[D,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn($,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ie,value:P,onEdit:V,onCancel:G,onSubmit:D,getPreviewProps:Z,getInputProps:se,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:ae,getCancelButtonProps:re,htmlProps:y}}var J3=Te(function(t,n){const r=Br("Editable",t),o=qn(t),{htmlProps:s,...a}=JA(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=kt("chakra-editable",t.className),v=D1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(UA,{value:a,children:i.jsx(VA,{value:r,children:i.jsx(Ie.div,{ref:n,...s,className:m,children:v})})})});J3.displayName="Editable";var Z3={exports:{}},ZA="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",e9=ZA,t9=e9;function eP(){}function tP(){}tP.resetWarningCache=eP;var n9=function(){function e(r,o,s,a,c,d){if(d!==t9){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:tP,resetWarningCache:eP};return n.PropTypes=n,n};Z3.exports=n9();var r9=Z3.exports;const zn=cd(r9);var Ev="data-focus-lock",nP="data-focus-lock-disabled",o9="data-no-focus-lock",s9="data-autofocus-inside",a9="data-no-autofocus";function i9(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function l9(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function rP(e,t){return l9(t||null,function(n){return e.forEach(function(r){return i9(r,n)})})}var p0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Xs=function(){return Xs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Ov(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(S9)},C9=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],ib=C9.join(","),k9="".concat(ib,", [data-focus-guard]"),wP=function(e,t){return ia((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?k9:ib)?[r]:[],wP(r))},[])},_9=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?am([e.contentDocument.body],t):[e]},am=function(e,t){return e.reduce(function(n,r){var o,s=wP(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return _9(c,t)}));return n.concat(a,r.parentNode?ia(r.parentNode.querySelectorAll(ib)).filter(function(c){return c===r}):[])},[])},P9=function(e){var t=e.querySelectorAll("[".concat(s9,"]"));return ia(t).map(function(n){return am([n])}).reduce(function(n,r){return n.concat(r)},[])},lb=function(e,t){return ia(e).filter(function(n){return mP(t,n)}).filter(function(n){return y9(n)})},Ow=function(e,t){return t===void 0&&(t=new Map),ia(e).filter(function(n){return gP(t,n)})},Mv=function(e,t,n){return xP(lb(am(e,n),t),!0,n)},Rw=function(e,t){return xP(lb(am(e),t),!1)},j9=function(e,t){return lb(P9(e),t)},oc=function(e,t){return e.shadowRoot?oc(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:ia(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?oc(o,t):!1}return oc(n,t)})},I9=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},SP=function(e){return e.parentNode?SP(e.parentNode):e},cb=function(e){var t=Fp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Ev);return n.push.apply(n,o?I9(ia(SP(r).querySelectorAll("[".concat(Ev,'="').concat(o,'"]:not([').concat(nP,'="disabled"])')))):[r]),n},[])},E9=function(e){try{return e()}catch{return}},Gu=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Gu(t.shadowRoot):t instanceof HTMLIFrameElement&&E9(function(){return t.contentWindow.document})?Gu(t.contentWindow.document):t}},O9=function(e,t){return e===t},R9=function(e,t){return!!ia(e.querySelectorAll("iframe")).some(function(n){return O9(n,t)})},CP=function(e,t){return t===void 0&&(t=Gu(fP(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:cb(e).some(function(n){return oc(n,t)||R9(n,t)})},M9=function(e){e===void 0&&(e=document);var t=Gu(e);return t?ia(e.querySelectorAll("[".concat(o9,"]"))).some(function(n){return oc(n,t)}):!1},D9=function(e,t){return t.filter(yP).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},ub=function(e,t){return yP(e)&&e.name?D9(e,t):e},T9=function(e){var t=new Set;return e.forEach(function(n){return t.add(ub(n,e))}),e.filter(function(n){return t.has(n)})},Mw=function(e){return e[0]&&e.length>1?ub(e[0],e):e[0]},Dw=function(e,t){return e.length>1?e.indexOf(ub(e[t],e)):t},kP="NEW_FOCUS",A9=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=ab(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=T9(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Dw(e,0),_=Dw(e,o-1);if(d===-1||h===-1)return kP;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},N9=function(e){return function(t){var n,r=(n=vP(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},$9=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ow(r.filter(N9(n)));return o&&o.length?Mw(o):Mw(Ow(t))},Dv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Dv(e.parentNode.host||e.parentNode,t),t},h0=function(e,t){for(var n=Dv(e),r=Dv(t),o=0;o=0)return s}return!1},_P=function(e,t,n){var r=Fp(e),o=Fp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=h0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=h0(s,d);p&&(!a||oc(p,a)?a=p:a=h0(p,a))})}),a},z9=function(e,t){return e.reduce(function(n,r){return n.concat(j9(r,t))},[])},L9=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(w9)},B9=function(e,t){var n=Gu(Fp(e).length>0?document:fP(e).ownerDocument),r=cb(e).filter(Hp),o=_P(n||e,e,r),s=new Map,a=Rw(r,s),c=Mv(r,s).filter(function(b){var w=b.node;return Hp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Rw([o],s).map(function(b){var w=b.node;return w}),p=L9(d,c),h=p.map(function(b){var w=b.node;return w}),m=A9(h,d,n,t);if(m===kP){var v=$9(a,h,z9(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},F9=function(e){var t=cb(e).filter(Hp),n=_P(e,e,t),r=new Map,o=Mv([n],r,!0),s=Mv(t,r).filter(function(a){var c=a.node;return Hp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:ab(c)}})},H9=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},m0=0,g0=!1,PP=function(e,t,n){n===void 0&&(n={});var r=B9(e,t);if(!g0&&r){if(m0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),g0=!0,setTimeout(function(){g0=!1},1);return}m0++,H9(r.node,n.focusOptions),m0--}};function db(e){setTimeout(e,1)}var W9=function(){return document&&document.activeElement===document.body},V9=function(){return W9()||M9()},sc=null,Kl=null,ac=null,qu=!1,U9=function(){return!0},G9=function(t){return(sc.whiteList||U9)(t)},q9=function(t,n){ac={observerNode:t,portaledElement:n}},K9=function(t){return ac&&ac.portaledElement===t};function Tw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var Y9=function(t){return t&&"current"in t?t.current:t},Q9=function(t){return t?!!qu:qu==="meanwhile"},X9=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},J9=function(t,n){return n.some(function(r){return X9(t,r,r)})},Wp=function(){var t=!1;if(sc){var n=sc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||ac&&ac.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(Y9).filter(Boolean));if((!h||G9(h))&&(o||Q9(c)||!V9()||!Kl&&s)&&(p&&!(CP(m)||h&&J9(h,m)||K9(h))&&(document&&!Kl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=PP(m,Kl,{focusOptions:d}),ac={})),qu=!1,Kl=document&&document.activeElement),document){var v=document&&document.activeElement,b=F9(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),Tw(w,b.length,1,b),Tw(w,-1,-1,b))}}}return t},jP=function(t){Wp()&&t&&(t.stopPropagation(),t.preventDefault())},fb=function(){return db(Wp)},Z9=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||q9(r,n)},eN=function(){return null},IP=function(){qu="just",db(function(){qu="meanwhile"})},tN=function(){document.addEventListener("focusin",jP),document.addEventListener("focusout",fb),window.addEventListener("blur",IP)},nN=function(){document.removeEventListener("focusin",jP),document.removeEventListener("focusout",fb),window.removeEventListener("blur",IP)};function rN(e){return e.filter(function(t){var n=t.disabled;return!n})}function oN(e){var t=e.slice(-1)[0];t&&!sc&&tN();var n=sc,r=n&&t&&t.id===n.id;sc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Kl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Wp(),db(Wp)):(nN(),Kl=null)}cP.assignSyncMedium(Z9);uP.assignMedium(fb);u9.assignMedium(function(e){return e({moveFocusInside:PP,focusInside:CP})});const sN=h9(rN,oN)(eN);var EP=f.forwardRef(function(t,n){return f.createElement(dP,or({sideCar:sN,ref:n},t))}),OP=dP.propTypes||{};OP.sideCar;AD(OP,["sideCar"]);EP.propTypes={};const Aw=EP;function RP(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function pb(e){var t;if(!RP(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function aN(e){var t,n;return(n=(t=MP(e))==null?void 0:t.defaultView)!=null?n:window}function MP(e){return RP(e)?e.ownerDocument:document}function iN(e){return MP(e).activeElement}function lN(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function cN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function DP(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:pb(e)&&lN(e)?e:DP(cN(e))}var TP=e=>e.hasAttribute("tabindex"),uN=e=>TP(e)&&e.tabIndex===-1;function dN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function AP(e){return e.parentElement&&AP(e.parentElement)?!0:e.hidden}function fN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function NP(e){if(!pb(e)||AP(e)||dN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():fN(e)?!0:TP(e)}function pN(e){return e?pb(e)&&NP(e)&&!uN(e):!1}var hN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],mN=hN.join(),gN=e=>e.offsetWidth>0&&e.offsetHeight>0;function $P(e){const t=Array.from(e.querySelectorAll(mN));return t.unshift(e),t.filter(n=>NP(n)&&gN(n))}var Nw,vN=(Nw=Aw.default)!=null?Nw:Aw,zP=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&$P(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(vN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};zP.displayName="FocusLock";function bN(e,t,n,r){const o=C_(t);return f.useEffect(()=>{var s;const a=(s=j2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=j2(n))!=null?s:document).removeEventListener(e,o,r)}}function yN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=C_(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{v0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&v0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&v0(m,t)&&(a.isPointerDown=!1,o(m))},h=k_(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function v0(e,t){var n;const r=e.target;return r&&!k_(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[xN,wN]=Rn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),LP=Te(function(t,n){const r=Br("Input",t),{children:o,className:s,...a}=qn(t),c=kt("chakra-input__group",s),d={},p=gd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=Y1({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(Ie.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate"},"data-group":!0,...a,children:i.jsx(xN,{value:r,children:m})})});LP.displayName="InputGroup";var SN=Ie("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),im=Te(function(t,n){var r,o;const{placement:s="left",...a}=t,c=wN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(SN,{ref:n,__css:h,...a})});im.id="InputElement";im.displayName="InputElement";var BP=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__left-element",r);return i.jsx(im,{ref:n,placement:"left",className:s,...o})});BP.id="InputLeftElement";BP.displayName="InputLeftElement";var hb=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__right-element",r);return i.jsx(im,{ref:n,placement:"right",className:s,...o})});hb.id="InputRightElement";hb.displayName="InputRightElement";var yd=Te(function(t,n){const{htmlSize:r,...o}=t,s=Br("Input",o),a=qn(o),c=Z1(a),d=kt("chakra-input",t.className);return i.jsx(Ie.input,{size:r,...c,__css:s.field,ref:n,className:d})});yd.displayName="Input";yd.id="Input";var mb=Te(function(t,n){const r=$a("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(Ie.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:kt("chakra-link",o),...a,__css:r})});mb.displayName="Link";var[CN,FP]=Rn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),gb=Te(function(t,n){const r=Br("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=gd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(CN,{value:r,children:i.jsx(Ie.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});gb.displayName="List";var kN=Te((e,t)=>{const{as:n,...r}=e;return i.jsx(gb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});kN.displayName="OrderedList";var vb=Te(function(t,n){const{as:r,...o}=t;return i.jsx(gb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});vb.displayName="UnorderedList";var xa=Te(function(t,n){const r=FP();return i.jsx(Ie.li,{ref:n,...t,__css:r.item})});xa.displayName="ListItem";var _N=Te(function(t,n){const r=FP();return i.jsx(Kr,{ref:n,role:"presentation",...t,__css:r.icon})});_N.displayName="ListIcon";var rl=Te(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(Ie.div,{ref:n,__css:y,...w})});rl.displayName="Grid";function HP(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):pv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var fl=Ie("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});fl.displayName="Spacer";var tt=Te(function(t,n){const r=$a("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=Y1({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(Ie.p,{ref:n,className:kt("chakra-text",t.className),...p,...d,__css:r})});tt.displayName="Text";var WP=e=>i.jsx(Ie.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});WP.displayName="StackItem";function PN(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":HP(n,o=>r[o])}}var bb=Te((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>PN({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const I=gd(d);return S?I:I.map((P,E)=>{const O=typeof P.key<"u"?P.key:E,R=E+1===I.length,T=m?i.jsx(WP,{children:P},O):P;if(!y)return T;const A=f.cloneElement(p,{__css:w}),$=R?null:A;return i.jsxs(f.Fragment,{children:[T,$]},O)})},[p,w,y,S,m,d]),_=kt("chakra-stack",h);return i.jsx(Ie.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});bb.displayName="Stack";var VP=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"column",ref:t}));VP.displayName="VStack";var di=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"row",ref:t}));di.displayName="HStack";function $w(e){return HP(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Tv=Te(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=Y1({gridArea:r,gridColumn:$w(o),gridRow:$w(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(Ie.div,{ref:n,__css:m,...h})});Tv.displayName="GridItem";var pl=Te(function(t,n){const r=$a("Badge",t),{className:o,...s}=qn(t);return i.jsx(Ie.span,{ref:n,className:kt("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});pl.displayName="Badge";var hl=Te(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=$a("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(Ie.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:kt("chakra-divider",m)})});hl.displayName="Divider";function jN(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function IN(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(jN(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function EN(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function ON(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function b0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function UP(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),I=ON(),P=D=>{D&&D.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(D=>{if(n){D.stopPropagation(),D.preventDefault();return}D.currentTarget.focus(),d==null||d(D)},[n,d]),M=f.useCallback(D=>{k&&b0(D)&&(D.preventDefault(),D.stopPropagation(),_(!1),I.remove(document,"keyup",M,!1))},[k,I]),T=f.useCallback(D=>{if(p==null||p(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;const z=o&&D.key==="Enter";s&&D.key===" "&&(D.preventDefault(),_(!0)),z&&(D.preventDefault(),D.currentTarget.click()),I.add(document,"keyup",M,!1)},[n,y,p,o,s,I,M]),A=f.useCallback(D=>{if(h==null||h(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;s&&D.key===" "&&(D.preventDefault(),_(!1),D.currentTarget.click())},[s,y,n,h]),$=f.useCallback(D=>{D.button===0&&(_(!1),I.remove(document,"mouseup",$,!1))},[I]),Q=f.useCallback(D=>{if(D.button!==0)return;if(n){D.stopPropagation(),D.preventDefault();return}y||_(!0),D.currentTarget.focus({preventScroll:!0}),I.add(document,"mouseup",$,!1),a==null||a(D)},[n,y,a,I,$]),B=f.useCallback(D=>{D.button===0&&(y||_(!1),c==null||c(D))},[c,y]),V=f.useCallback(D=>{if(n){D.preventDefault();return}v==null||v(D)},[n,v]),q=f.useCallback(D=>{k&&(D.preventDefault(),_(!1)),b==null||b(D)},[k,b]),G=cn(t,P);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":tn(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:B,onKeyUp:A,onKeyDown:T,onMouseOver:V,onMouseLeave:q}}function RN(e){const t=e.current;if(!t)return!1;const n=iN(t);return!n||t.contains(n)?!1:!!pN(n)}function GP(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Ba(()=>{if(!s||RN(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var MN={preventScroll:!0,shouldFocus:!1};function DN(e,t=MN){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=TN(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);Zl(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=$P(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Ba(()=>{h()},[h]),Yi(a,"transitionend",h)}function TN(e){return"current"in e}var Tl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),_r={arrowShadowColor:Tl("--popper-arrow-shadow-color"),arrowSize:Tl("--popper-arrow-size","8px"),arrowSizeHalf:Tl("--popper-arrow-size-half"),arrowBg:Tl("--popper-arrow-bg"),transformOrigin:Tl("--popper-transform-origin"),arrowOffset:Tl("--popper-arrow-offset")};function AN(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var NN={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},$N=e=>NN[e],zw={scroll:!0,resize:!0};function zN(e){let t;return typeof e=="object"?t={enabled:!0,options:{...zw,...e}}:t={enabled:e,options:zw},t}var LN={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},BN={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Lw(e)},effect:({state:e})=>()=>{Lw(e)}},Lw=e=>{e.elements.popper.style.setProperty(_r.transformOrigin.var,$N(e.placement))},FN={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{HN(e)}},HN=e=>{var t;if(!e.placement)return;const n=WN(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:_r.arrowSize.varRef,height:_r.arrowSize.varRef,zIndex:-1});const r={[_r.arrowSizeHalf.var]:`calc(${_r.arrowSize.varRef} / 2 - 1px)`,[_r.arrowOffset.var]:`calc(${_r.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},WN=e=>{if(e.startsWith("top"))return{property:"bottom",value:_r.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:_r.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:_r.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:_r.arrowOffset.varRef}},VN={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Bw(e)},effect:({state:e})=>()=>{Bw(e)}},Bw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=AN(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:_r.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},UN={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},GN={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function qN(e,t="ltr"){var n,r;const o=((n=UN[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=GN[e])!=null?r:o}var Co="top",as="bottom",is="right",ko="left",yb="auto",xd=[Co,as,is,ko],vc="start",Ku="end",KN="clippingParents",qP="viewport",du="popper",YN="reference",Fw=xd.reduce(function(e,t){return e.concat([t+"-"+vc,t+"-"+Ku])},[]),KP=[].concat(xd,[yb]).reduce(function(e,t){return e.concat([t,t+"-"+vc,t+"-"+Ku])},[]),QN="beforeRead",XN="read",JN="afterRead",ZN="beforeMain",e$="main",t$="afterMain",n$="beforeWrite",r$="write",o$="afterWrite",s$=[QN,XN,JN,ZN,e$,t$,n$,r$,o$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Lo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ol(e){var t=Lo(e).Element;return e instanceof t||e instanceof Element}function rs(e){var t=Lo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function xb(e){if(typeof ShadowRoot>"u")return!1;var t=Lo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function a$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!rs(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function i$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!rs(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const l$={name:"applyStyles",enabled:!0,phase:"write",fn:a$,effect:i$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,Vp=Math.min,bc=Math.round;function Av(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function YP(){return!/^((?!chrome|android).)*safari/i.test(Av())}function yc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&rs(e)&&(o=e.offsetWidth>0&&bc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&bc(r.height)/e.offsetHeight||1);var a=ol(e)?Lo(e):window,c=a.visualViewport,d=!YP()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function wb(e){var t=yc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function QP(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&xb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ea(e){return Lo(e).getComputedStyle(e)}function c$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((ol(e)?e.ownerDocument:e.document)||window.document).documentElement}function lm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(xb(e)?e.host:null)||Pi(e)}function Hw(e){return!rs(e)||Ea(e).position==="fixed"?null:e.offsetParent}function u$(e){var t=/firefox/i.test(Av()),n=/Trident/i.test(Av());if(n&&rs(e)){var r=Ea(e);if(r.position==="fixed")return null}var o=lm(e);for(xb(o)&&(o=o.host);rs(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ea(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function wd(e){for(var t=Lo(e),n=Hw(e);n&&c$(n)&&Ea(n).position==="static";)n=Hw(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ea(n).position==="static")?t:n||u$(e)||t}function Sb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Tu(e,t,n){return Qi(e,Vp(t,n))}function d$(e,t,n){var r=Tu(e,t,n);return r>n?n:r}function XP(){return{top:0,right:0,bottom:0,left:0}}function JP(e){return Object.assign({},XP(),e)}function ZP(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var f$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,JP(typeof t!="number"?t:ZP(t,xd))};function p$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=Sb(c),p=[ko,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=f$(o.padding,n),v=wb(s),b=d==="y"?Co:ko,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=wd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,I=y/2-S/2,P=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+I,R=Tu(P,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function h$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||QP(t.elements.popper,o)&&(t.elements.arrow=o))}const m$={name:"arrow",enabled:!0,phase:"main",fn:p$,effect:h$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xc(e){return e.split("-")[1]}var g$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function v$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:bc(n*o)/o||0,y:bc(r*o)/o||0}}function Ww(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),I=ko,P=Co,E=window;if(p){var O=wd(n),R="clientHeight",M="clientWidth";if(O===Lo(n)&&(O=Pi(n),Ea(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===Co||(o===ko||o===is)&&s===Ku){P=as;var T=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=T-r.height,y*=d?1:-1}if(o===ko||(o===Co||o===as)&&s===Ku){I=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var $=Object.assign({position:c},p&&g$),Q=h===!0?v$({x:b,y},Lo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var B;return Object.assign({},$,(B={},B[P]=_?"0":"",B[I]=k?"0":"",B.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",B))}return Object.assign({},$,(t={},t[P]=_?y+"px":"",t[I]=k?b+"px":"",t.transform="",t))}function b$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:xc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ww(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ww(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const y$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:b$,data:{}};var Mf={passive:!0};function x$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Lo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Mf)}),c&&d.addEventListener("resize",n.update,Mf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Mf)}),c&&d.removeEventListener("resize",n.update,Mf)}}const w$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:x$,data:{}};var S$={left:"right",right:"left",bottom:"top",top:"bottom"};function yp(e){return e.replace(/left|right|bottom|top/g,function(t){return S$[t]})}var C$={start:"end",end:"start"};function Vw(e){return e.replace(/start|end/g,function(t){return C$[t]})}function Cb(e){var t=Lo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function kb(e){return yc(Pi(e)).left+Cb(e).scrollLeft}function k$(e,t){var n=Lo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=YP();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+kb(e),y:d}}function _$(e){var t,n=Pi(e),r=Cb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+kb(e),d=-r.scrollTop;return Ea(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function _b(e){var t=Ea(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function e5(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:rs(e)&&_b(e)?e:e5(lm(e))}function Au(e,t){var n;t===void 0&&(t=[]);var r=e5(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Lo(r),a=o?[s].concat(s.visualViewport||[],_b(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Au(lm(a)))}function Nv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function P$(e,t){var n=yc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Uw(e,t,n){return t===qP?Nv(k$(e,n)):ol(t)?P$(t,n):Nv(_$(Pi(e)))}function j$(e){var t=Au(lm(e)),n=["absolute","fixed"].indexOf(Ea(e).position)>=0,r=n&&rs(e)?wd(e):e;return ol(r)?t.filter(function(o){return ol(o)&&QP(o,r)&&ra(o)!=="body"}):[]}function I$(e,t,n,r){var o=t==="clippingParents"?j$(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=Uw(e,p,r);return d.top=Qi(h.top,d.top),d.right=Vp(h.right,d.right),d.bottom=Vp(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},Uw(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function t5(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?xc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case Co:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case ko:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?Sb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case vc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case Ku:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function Yu(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?KN:c,p=n.rootBoundary,h=p===void 0?qP:p,m=n.elementContext,v=m===void 0?du:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=JP(typeof S!="number"?S:ZP(S,xd)),_=v===du?YN:du,I=e.rects.popper,P=e.elements[w?_:v],E=I$(ol(P)?P:P.contextElement||Pi(e.elements.popper),d,h,a),O=yc(e.elements.reference),R=t5({reference:O,element:I,strategy:"absolute",placement:o}),M=Nv(Object.assign({},I,R)),T=v===du?M:O,A={top:E.top-T.top+k.top,bottom:T.bottom-E.bottom+k.bottom,left:E.left-T.left+k.left,right:T.right-E.right+k.right},$=e.modifiersData.offset;if(v===du&&$){var Q=$[o];Object.keys(A).forEach(function(B){var V=[is,as].indexOf(B)>=0?1:-1,q=[Co,as].indexOf(B)>=0?"y":"x";A[B]+=Q[q]*V})}return A}function E$(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?KP:d,h=xc(r),m=h?c?Fw:Fw.filter(function(w){return xc(w)===h}):xd,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=Yu(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function O$(e){if(ta(e)===yb)return[];var t=yp(e);return[Vw(e),t,Vw(t)]}function R$(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,I=d||(_||!w?[yp(S)]:O$(S)),P=[S].concat(I).reduce(function(se,K){return se.concat(ta(K)===yb?E$(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,T=P[0],A=0;A=0,q=V?"width":"height",G=Yu(t,{placement:$,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),D=V?B?is:ko:B?as:Co;E[q]>O[q]&&(D=yp(D));var z=yp(D),H=[];if(s&&H.push(G[Q]<=0),c&&H.push(G[D]<=0,G[z]<=0),H.every(function(se){return se})){T=$,M=!1;break}R.set($,H)}if(M)for(var Y=w?3:1,ie=function(K){var U=P.find(function(ae){var re=R.get(ae);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return T=U,"break"},ye=Y;ye>0;ye--){var Z=ie(ye);if(Z==="break")break}t.placement!==T&&(t.modifiersData[r]._skip=!0,t.placement=T,t.reset=!0)}}const M$={name:"flip",enabled:!0,phase:"main",fn:R$,requiresIfExists:["offset"],data:{_skip:!1}};function Gw(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function qw(e){return[Co,is,as,ko].some(function(t){return e[t]>=0})}function D$(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=Yu(t,{elementContext:"reference"}),c=Yu(t,{altBoundary:!0}),d=Gw(a,r),p=Gw(c,o,s),h=qw(d),m=qw(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const T$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:D$};function A$(e,t,n){var r=ta(e),o=[ko,Co].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[ko,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function N$(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=KP.reduce(function(h,m){return h[m]=A$(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const $$={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:N$};function z$(e){var t=e.state,n=e.name;t.modifiersData[n]=t5({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const L$={name:"popperOffsets",enabled:!0,phase:"read",fn:z$,data:{}};function B$(e){return e==="x"?"y":"x"}function F$(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=Yu(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=xc(t.placement),I=!_,P=Sb(k),E=B$(P),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,T=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),$=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var B,V=P==="y"?Co:ko,q=P==="y"?as:is,G=P==="y"?"height":"width",D=O[P],z=D+S[V],H=D-S[q],Y=b?-M[G]/2:0,ie=_===vc?R[G]:M[G],ye=_===vc?-M[G]:-R[G],Z=t.elements.arrow,se=b&&Z?wb(Z):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:XP(),U=K[V],ae=K[q],re=Tu(0,R[G],se[G]),oe=I?R[G]/2-Y-re-U-A.mainAxis:ie-re-U-A.mainAxis,pe=I?-R[G]/2+Y+re+ae+A.mainAxis:ye+re+ae+A.mainAxis,ce=t.elements.arrow&&wd(t.elements.arrow),ge=ce?P==="y"?ce.clientTop||0:ce.clientLeft||0:0,_e=(B=$==null?void 0:$[P])!=null?B:0,le=D+oe-_e-ge,Se=D+pe-_e,Fe=Tu(b?Vp(z,le):z,D,b?Qi(H,Se):H);O[P]=Fe,Q[P]=Fe-D}if(c){var Ae,He=P==="x"?Co:ko,Ct=P==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[He],bt=ct-S[Ct],we=[Co,ko].indexOf(k)!==-1,Re=(Ae=$==null?void 0:$[E])!=null?Ae:0,Pt=we?vt:ct-R[on]-M[on]-Re+A.altAxis,At=we?ct+R[on]+M[on]-Re-A.altAxis:bt,xe=b&&we?d$(Pt,ct,At):Tu(b?Pt:vt,ct,b?At:bt);O[E]=xe,Q[E]=xe-ct}t.modifiersData[r]=Q}}const H$={name:"preventOverflow",enabled:!0,phase:"main",fn:F$,requiresIfExists:["offset"]};function W$(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function V$(e){return e===Lo(e)||!rs(e)?Cb(e):W$(e)}function U$(e){var t=e.getBoundingClientRect(),n=bc(t.width)/e.offsetWidth||1,r=bc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function G$(e,t,n){n===void 0&&(n=!1);var r=rs(t),o=rs(t)&&U$(t),s=Pi(t),a=yc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||_b(s))&&(c=V$(t)),rs(t)?(d=yc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=kb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function q$(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function K$(e){var t=q$(e);return s$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function Y$(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Q$(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Kw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),n=0;n{}),I=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=Z$(w.current,y.current,{placement:k,modifiers:[VN,FN,BN,{...LN,enabled:!!v},{name:"eventListeners",...zN(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const P=f.useCallback(A=>{w.current=A,I()},[I]),E=f.useCallback((A={},$=null)=>({...A,ref:cn(P,$)}),[P]),O=f.useCallback(A=>{y.current=A,I()},[I]),R=f.useCallback((A={},$=null)=>({...A,ref:cn(O,$),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},$=null)=>{const{size:Q,shadowColor:B,bg:V,style:q,...G}=A;return{...G,ref:$,"data-popper-arrow":"",style:ez(A)}},[]),T=f.useCallback((A={},$=null)=>({...A,ref:$,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:_r.transformOrigin.varRef,referenceRef:P,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:T,getReferenceProps:E}}function ez(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function jb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=rr(n),a=rr(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(I){var P;(P=_.onClick)==null||P.call(_,I),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function tz(e){const{ref:t,handler:n,enabled:r=!0}=e,o=rr(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{y0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&y0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&y0(m,t)&&(a.isPointerDown=!1,o(m))},h=n5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function y0(e,t){var n;const r=e.target;return r&&!n5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function n5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function r5(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=aN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ib(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[nz,rz,oz,sz]=Q1(),[az,Sd]=Rn({strict:!1,name:"MenuContext"});function iz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function o5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function Qw(e){return o5(e).activeElement===e}function lz(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=oz(),I=f.useCallback(()=>{requestAnimationFrame(()=>{var Z;(Z=S.current)==null||Z.focus({preventScroll:!1})})},[]),P=f.useCallback(()=>{const Z=setTimeout(()=>{var se;if(o)(se=o.current)==null||se.focus();else{const K=_.firstEnabled();K&&B(K.index)}});z.current.add(Z)},[_,o]),E=f.useCallback(()=>{const Z=setTimeout(()=>{const se=_.lastEnabled();se&&B(se.index)});z.current.add(Z)},[_]),O=f.useCallback(()=>{h==null||h(),s?P():I()},[s,P,I,h]),{isOpen:R,onOpen:M,onClose:T,onToggle:A}=jb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});tz({enabled:R&&r,ref:S,handler:Z=>{var se;(se=k.current)!=null&&se.contains(Z.target)||T()}});const $=Pb({...y,enabled:R||w,placement:m,direction:b}),[Q,B]=f.useState(-1);Ba(()=>{R||B(-1)},[R]),GP(S,{focusRef:k,visible:R,shouldFocus:!0});const V=r5({isOpen:R,ref:S}),[q,G]=iz(t,"menu-button","menu-list"),D=f.useCallback(()=>{M(),I()},[M,I]),z=f.useRef(new Set([]));gz(()=>{z.current.forEach(Z=>clearTimeout(Z)),z.current.clear()});const H=f.useCallback(()=>{M(),P()},[P,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ie=f.useCallback(()=>{var Z,se;const K=o5(S.current),U=(Z=S.current)==null?void 0:Z.contains(K.activeElement);if(!(R&&!U))return;const re=(se=_.item(Q))==null?void 0:se.node;re==null||re.focus()},[R,Q,_]),ye=f.useRef(null);return{openAndFocusMenu:D,openAndFocusFirstItem:H,openAndFocusLastItem:Y,onTransitionEnd:ie,unstable__animationState:V,descendants:_,popper:$,buttonId:q,menuId:G,forceUpdate:$.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:T,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:B,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:ye}}function cz(e={},t=null){const n=Sd(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":tn(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function $v(e){var t;return hz(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function uz(e={},t=null){const n=Sd();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=rz(),b=IN({preventDefault:k=>k.key!==" "&&$v(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,P={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(P){k.preventDefault(),P(k);return}const E=b(O=>{const R=EN(v.values(),O,M=>{var T,A;return(A=(T=M==null?void 0:M.node)==null?void 0:T.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});$v(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ib({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function dz(e={}){const{popper:t,isOpen:n}=Sd();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function s5(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Sd(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:I,rafId:P}=v,E=f.useRef(null),O=`${I}-menuitem-${f.useId()}`,{index:R,register:M}=sz({disabled:c&&!d}),T=f.useCallback(D=>{n==null||n(D),!c&&b(R)},[b,R,c,n]),A=f.useCallback(D=>{r==null||r(D),E.current&&!Qw(E.current)&&T(D)},[T,r]),$=f.useCallback(D=>{o==null||o(D),!c&&b(-1)},[b,c,o]),Q=f.useCallback(D=>{s==null||s(D),$v(D.currentTarget)&&(p??y)&&S()},[S,s,y,p]),B=f.useCallback(D=>{a==null||a(D),b(R)},[b,a,R]),V=R===w,q=c&&!d;Ba(()=>{_&&(V&&!q&&E.current?(P.current&&cancelAnimationFrame(P.current),P.current=requestAnimationFrame(()=>{var D;(D=E.current)==null||D.focus(),P.current=null})):k.current&&!Qw(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=UP({onClick:Q,onFocus:B,onMouseEnter:T,onMouseMove:A,onMouseLeave:$,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function fz(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...s5(o,t),role:`menuitem${n}`,"aria-checked":r}}function pz(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=Ac({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=gd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,I;m(w.props.value),(I=(_=w.props).onClick)==null||I.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function hz(e){var t;if(!mz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function mz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function gz(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[vz,Cd]=Rn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),kd=e=>{const{children:t}=e,n=Br("Menu",e),r=qn(e),{direction:o}=Mc(),{descendants:s,...a}=lz({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(nz,{value:s,children:i.jsx(az,{value:c,children:i.jsx(vz,{value:n,children:D1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};kd.displayName="Menu";var a5=Te((e,t)=>{const n=Cd();return i.jsx(Ie.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});a5.displayName="MenuCommand";var i5=Te((e,t)=>{const{type:n,...r}=e,o=Cd(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(Ie.button,{ref:t,type:s,...r,__css:a})}),Eb=e=>{const{className:t,children:n,...r}=e,o=f.Children.only(n),s=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:kt("chakra-menu__icon",o.props.className)}):null,a=kt("chakra-menu__icon-wrapper",t);return i.jsx(Ie.span,{className:a,...r,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s})};Eb.displayName="MenuIcon";var kr=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=s5(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(i5,{...d,className:kt("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(a5,{marginStart:s,children:o})]})});kr.displayName="MenuItem";var bz={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},yz=Ie(Qr.div),zc=Te(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Sd(),m=uz(c,n),v=dz(s),b=Cd();return i.jsx(Ie.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(yz,{variants:bz,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:kt("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:Jh(h.onComplete,m.onAnimationComplete)})})});zc.displayName="MenuList";var Qu=Te((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=kt("chakra-menu__group__title",o),c=Cd();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(Ie.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});Qu.displayName="MenuGroup";var l5=e=>{const{className:t,title:n,...r}=e,o=pz(r);return i.jsx(Qu,{title:n,className:kt("chakra-menu__option-group",t),...o})};l5.displayName="MenuOptionGroup";var xz=Te((e,t)=>{const n=Cd();return i.jsx(Ie.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),_d=Te((e,t)=>{const{children:n,as:r,...o}=e,s=cz(o,t),a=r||xz;return i.jsx(a,{...s,className:kt("chakra-menu__menu-button",e.className),children:i.jsx(Ie.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});_d.displayName="MenuButton";var wz=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),Up=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=fz(o,t);return i.jsxs(i5,{...s,className:kt("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(wz,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});Up.id="MenuItemOption";Up.displayName="MenuItemOption";var Sz={slideInBottom:{...Cv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Cv,custom:{offsetX:16,reverse:!0}},scale:{...T3,custom:{initialScale:.95,reverse:!0}},none:{}},Cz=Ie(Qr.section),kz=e=>Sz[e||"none"],c5=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=kz(n),...o}=e;return i.jsx(Cz,{ref:t,...r,...o})});c5.displayName="ModalTransition";var _z=Object.defineProperty,Pz=(e,t,n)=>t in e?_z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jz=(e,t,n)=>(Pz(e,typeof t!="symbol"?t+"":t,n),n),Iz=class{constructor(){jz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},zv=new Iz;function u5(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=zv.add(o);r(s)}return()=>{zv.remove(o),r(0)}}},[t,e]),n}var Ez=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Al=new WeakMap,Df=new WeakMap,Tf={},x0=0,d5=function(e){return e&&(e.host||d5(e.parentNode))},Oz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=d5(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Rz=function(e,t,n,r){var o=Oz(t,Array.isArray(e)?e:[e]);Tf[n]||(Tf[n]=new WeakMap);var s=Tf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Al.get(v)||0)+1,S=(s.get(v)||0)+1;Al.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Df.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),x0++,function(){a.forEach(function(m){var v=Al.get(m)-1,b=s.get(m)-1;Al.set(m,v),s.set(m,b),v||(Df.has(m)||m.removeAttribute(r),Df.delete(m)),b||m.removeAttribute(n)}),x0--,x0||(Al=new WeakMap,Al=new WeakMap,Df=new WeakMap,Tf={})}},Mz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||Ez(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Rz(r,o,n,"aria-hidden")):function(){return null}};function Dz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=Az(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Tz(p,t&&a);const w=u5(p,t),y=f.useRef(null),S=f.useCallback(T=>{y.current=T.target},[]),k=f.useCallback(T=>{T.key==="Escape"&&(T.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,I]=f.useState(!1),[P,E]=f.useState(!1),O=f.useCallback((T={},A=null)=>({role:"dialog",...T,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":P?b:void 0,onClick:et(T.onClick,$=>$.stopPropagation())}),[b,P,m,v,_]),R=f.useCallback(T=>{T.stopPropagation(),y.current===T.target&&zv.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((T={},A=null)=>({...T,ref:cn(A,h),onClick:et(T.onClick,R),onKeyDown:et(T.onKeyDown,k),onMouseDown:et(T.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:I,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function Tz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return Mz(e.current)},[t,e,n])}function Az(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[Nz,Lc]=Rn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[$z,sl]=Rn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Xu=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Br("Modal",t),k={...Dz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx($z,{value:k,children:i.jsx(Nz,{value:y,children:i.jsx(Fo,{onExitComplete:w,children:k.isOpen&&i.jsx(Vu,{...n,children:r})})})})};Xu.displayName="Modal";var xp="right-scroll-bar-position",wp="width-before-scroll-bar",zz="with-scroll-bars-hidden",Lz="--removed-body-scroll-bar-size",f5=iP(),w0=function(){},cm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:w0,onWheelCapture:w0,onTouchMoveCapture:w0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,I=oP(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=v,E=rP([n,t]),O=Xs(Xs({},I),o);return f.createElement(f.Fragment,null,h&&f.createElement(P,{sideCar:f5,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Xs(Xs({},O),{ref:E})):f.createElement(k,Xs({},O,{className:d,ref:E}),c))});cm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};cm.classNames={fullWidth:wp,zeroRight:xp};var Xw,Bz=function(){if(Xw)return Xw;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Fz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Bz();return t&&e.setAttribute("nonce",t),e}function Hz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Wz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Vz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Fz())&&(Hz(t,n),Wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Uz=function(){var e=Vz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},p5=function(){var e=Uz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},Gz={left:0,top:0,right:0,gap:0},S0=function(e){return parseInt(e||"",10)||0},qz=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[S0(n),S0(r),S0(o)]},Kz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Gz;var t=qz(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Yz=p5(),Qz=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` + .`.concat(zz,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(c,"px ").concat(r,`; + } + body { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(s,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(c,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(xp,` { + right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(wp,` { + margin-right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(xp," .").concat(xp,` { + right: 0 `).concat(r,`; + } + + .`).concat(wp," .").concat(wp,` { + margin-right: 0 `).concat(r,`; + } + + body { + `).concat(Lz,": ").concat(c,`px; + } +`)},Xz=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Kz(o)},[o]);return f.createElement(Yz,{styles:Qz(s,!t,o,n?"":"!important")})},Lv=!1;if(typeof window<"u")try{var Af=Object.defineProperty({},"passive",{get:function(){return Lv=!0,!0}});window.addEventListener("test",Af,Af),window.removeEventListener("test",Af,Af)}catch{Lv=!1}var Nl=Lv?{passive:!1}:!1,Jz=function(e){return e.tagName==="TEXTAREA"},h5=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Jz(e)&&n[t]==="visible")},Zz=function(e){return h5(e,"overflowY")},eL=function(e){return h5(e,"overflowX")},Jw=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=m5(e,r);if(o){var s=g5(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},tL=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},nL=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},m5=function(e,t){return e==="v"?Zz(t):eL(t)},g5=function(e,t){return e==="v"?tL(t):nL(t)},rL=function(e,t){return e==="h"&&t==="rtl"?-1:1},oL=function(e,t,n,r,o){var s=rL(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),p=!1,h=a>0,m=0,v=0;do{var b=g5(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&m5(e,c)&&(m+=k,v+=w),c=c.parentNode}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(h&&(o&&m===0||!o&&a>m)||!h&&(o&&v===0||!o&&-a>v))&&(p=!0),p},Nf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Zw=function(e){return[e.deltaX,e.deltaY]},eS=function(e){return e&&"current"in e?e.current:e},sL=function(e,t){return e[0]===t[0]&&e[1]===t[1]},aL=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},iL=0,$l=[];function lL(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(iL++)[0],s=f.useState(p5)[0],a=f.useRef(e);f.useEffect(function(){a.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var y=Ov([e.lockRef.current],(e.shards||[]).map(eS),!0).filter(Boolean);return y.forEach(function(S){return S.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=f.useCallback(function(y,S){if("touches"in y&&y.touches.length===2)return!a.current.allowPinchZoom;var k=Nf(y),_=n.current,I="deltaX"in y?y.deltaX:_[0]-k[0],P="deltaY"in y?y.deltaY:_[1]-k[1],E,O=y.target,R=Math.abs(I)>Math.abs(P)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=Jw(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=Jw(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(I||P)&&(r.current=E),!E)return!0;var T=r.current||E;return oL(T,S,y,T==="h"?I:P,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!$l.length||$l[$l.length-1]!==s)){var k="deltaY"in S?Zw(S):Nf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&sL(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var I=(a.current.shards||[]).map(eS).filter(Boolean).filter(function(E){return E.contains(S.target)}),P=I.length>0?c(S,I[0]):!a.current.noIsolation;P&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var I={name:y,delta:S,target:k,should:_};t.current.push(I),setTimeout(function(){t.current=t.current.filter(function(P){return P!==I})},1)},[]),h=f.useCallback(function(y){n.current=Nf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,Zw(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Nf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return $l.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,Nl),document.addEventListener("touchmove",d,Nl),document.addEventListener("touchstart",h,Nl),function(){$l=$l.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,Nl),document.removeEventListener("touchmove",d,Nl),document.removeEventListener("touchstart",h,Nl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:aL(o)}):null,b?f.createElement(Xz,{gapMode:e.gapMode}):null)}const cL=c9(f5,lL);var v5=f.forwardRef(function(e,t){return f.createElement(cm,Xs({},e,{ref:t,sideCar:cL}))});v5.classNames=cm.classNames;const uL=v5;function dL(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=sl(),[v,b]=yR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=u5(r,m);return i.jsx(zP,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(uL,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var Ju=Te((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=sl(),p=c(a,t),h=d(o),m=kt("chakra-modal__content",n),v=Lc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},w={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:y}=sl();return i.jsx(dL,{children:i.jsx(Ie.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(c5,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});Ju.displayName="ModalContent";function Pd(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(Xu,{...n,initialFocusRef:t})}var jd=Te((e,t)=>i.jsx(Ju,{ref:t,role:"alertdialog",...e})),Oa=Te((e,t)=>{const{className:n,...r}=e,o=kt("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Lc().footer};return i.jsx(Ie.footer,{ref:t,...r,__css:a,className:o})});Oa.displayName="ModalFooter";var Ra=Te((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=sl();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=kt("chakra-modal__header",n),d={flex:0,...Lc().header};return i.jsx(Ie.header,{ref:t,className:a,id:o,...r,__css:d})});Ra.displayName="ModalHeader";var fL=Ie(Qr.div),Ma=Te((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=kt("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Lc().overlay},{motionPreset:p}=sl(),m=o||(p==="none"?{}:D3);return i.jsx(fL,{...m,__css:d,ref:t,className:a,...s})});Ma.displayName="ModalOverlay";var Da=Te((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=sl();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=kt("chakra-modal__body",n),c=Lc();return i.jsx(Ie.div,{ref:t,className:a,id:o,...r,__css:c.body})});Da.displayName="ModalBody";var Ob=Te((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=sl(),a=kt("chakra-modal__close-btn",r),c=Lc();return i.jsx(MD,{ref:t,__css:c.closeButton,className:a,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});Ob.displayName="ModalCloseButton";var pL=e=>i.jsx(Kr,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),hL=e=>i.jsx(Kr,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function tS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,a=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&a.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:a}),()=>c.disconnect()})}function mL(e,t){const n=rr(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var gL=50,nS=300;function vL(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[a,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);mL(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?gL:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},nS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},nS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var bL=/^[Ee0-9+\-.]$/;function yL(e){return bL.test(e)}function xL(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function wL(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:c,isDisabled:d,isRequired:p,isInvalid:h,pattern:m="[0-9]*(.[0-9]+)?",inputMode:v="decimal",allowMouseWheel:b,id:w,onChange:y,precision:S,name:k,"aria-describedby":_,"aria-label":I,"aria-labelledby":P,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:T,format:A,parse:$,...Q}=e,B=rr(E),V=rr(O),q=rr(R),G=rr(T??yL),D=rr(M),z=WA(e),{update:H,increment:Y,decrement:ie}=z,[ye,Z]=f.useState(!1),se=!(c||d),K=f.useRef(null),U=f.useRef(null),ae=f.useRef(null),re=f.useRef(null),oe=f.useCallback(xe=>xe.split("").filter(G).join(""),[G]),pe=f.useCallback(xe=>{var ht;return(ht=$==null?void 0:$(xe))!=null?ht:xe},[$]),ce=f.useCallback(xe=>{var ht;return((ht=A==null?void 0:A(xe))!=null?ht:xe).toString()},[A]);Ba(()=>{(z.valueAsNumber>s||z.valueAsNumber{if(!K.current)return;if(K.current.value!=z.value){const ht=pe(K.current.value);z.setValue(oe(ht))}},[pe,oe]);const ge=f.useCallback((xe=a)=>{se&&Y(xe)},[Y,se,a]),_e=f.useCallback((xe=a)=>{se&&ie(xe)},[ie,se,a]),le=vL(ge,_e);tS(ae,"disabled",le.stop,le.isSpinning),tS(re,"disabled",le.stop,le.isSpinning);const Se=f.useCallback(xe=>{if(xe.nativeEvent.isComposing)return;const $t=pe(xe.currentTarget.value);H(oe($t)),U.current={start:xe.currentTarget.selectionStart,end:xe.currentTarget.selectionEnd}},[H,oe,pe]),Fe=f.useCallback(xe=>{var ht,$t,zt;B==null||B(xe),U.current&&(xe.target.selectionStart=($t=U.current.start)!=null?$t:(ht=xe.currentTarget.value)==null?void 0:ht.length,xe.currentTarget.selectionEnd=(zt=U.current.end)!=null?zt:xe.currentTarget.selectionStart)},[B]),Ae=f.useCallback(xe=>{if(xe.nativeEvent.isComposing)return;xL(xe,G)||xe.preventDefault();const ht=He(xe)*a,$t=xe.key,Ne={ArrowUp:()=>ge(ht),ArrowDown:()=>_e(ht),Home:()=>H(o),End:()=>H(s)}[$t];Ne&&(xe.preventDefault(),Ne(xe))},[G,a,ge,_e,H,o,s]),He=xe=>{let ht=1;return(xe.metaKey||xe.ctrlKey)&&(ht=.1),xe.shiftKey&&(ht=10),ht},Ct=f.useMemo(()=>{const xe=D==null?void 0:D(z.value);if(xe!=null)return xe;const ht=z.value.toString();return ht||void 0},[z.value,D]),ct=f.useCallback(()=>{let xe=z.value;if(z.value==="")return;/^[eE]/.test(z.value.toString())?z.setValue(""):(z.valueAsNumbers&&(xe=s),z.cast(xe))},[z,s,o]),on=f.useCallback(()=>{Z(!1),n&&ct()},[n,Z,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var xe;(xe=K.current)==null||xe.focus()})},[t]),bt=f.useCallback(xe=>{xe.preventDefault(),le.up(),vt()},[vt,le]),we=f.useCallback(xe=>{xe.preventDefault(),le.down(),vt()},[vt,le]);Yi(()=>K.current,"wheel",xe=>{var ht,$t;const Ne=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Ne)return;xe.preventDefault();const qe=He(xe)*a,Pn=Math.sign(xe.deltaY);Pn===-1?ge(qe):Pn===1&&_e(qe)},{passive:!1});const Re=f.useCallback((xe={},ht=null)=>{const $t=d||r&&z.isAtMax;return{...xe,ref:cn(ht,ae),role:"button",tabIndex:-1,onPointerDown:et(xe.onPointerDown,zt=>{zt.button!==0||$t||bt(zt)}),onPointerLeave:et(xe.onPointerLeave,le.stop),onPointerUp:et(xe.onPointerUp,le.stop),disabled:$t,"aria-disabled":ns($t)}},[z.isAtMax,r,bt,le.stop,d]),Pt=f.useCallback((xe={},ht=null)=>{const $t=d||r&&z.isAtMin;return{...xe,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(xe.onPointerDown,zt=>{zt.button!==0||$t||we(zt)}),onPointerLeave:et(xe.onPointerLeave,le.stop),onPointerUp:et(xe.onPointerUp,le.stop),disabled:$t,"aria-disabled":ns($t)}},[z.isAtMin,r,we,le.stop,d]),At=f.useCallback((xe={},ht=null)=>{var $t,zt,Ne,qe;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":P,"aria-label":I,"aria-describedby":_,id:w,disabled:d,...xe,readOnly:($t=xe.readOnly)!=null?$t:c,"aria-readonly":(zt=xe.readOnly)!=null?zt:c,"aria-required":(Ne=xe.required)!=null?Ne:p,required:(qe=xe.required)!=null?qe:p,ref:cn(K,ht),value:ce(z.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(z.valueAsNumber)?void 0:z.valueAsNumber,"aria-invalid":ns(h??z.isOutOfRange),"aria-valuetext":Ct,autoComplete:"off",autoCorrect:"off",onChange:et(xe.onChange,Se),onKeyDown:et(xe.onKeyDown,Ae),onFocus:et(xe.onFocus,Fe,()=>Z(!0)),onBlur:et(xe.onBlur,V,on)}},[k,v,m,P,I,ce,_,w,d,p,c,h,z.value,z.valueAsNumber,z.isOutOfRange,o,s,Ct,Se,Ae,Fe,V,on]);return{value:ce(z.value),valueAsNumber:z.valueAsNumber,isFocused:ye,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Re,getDecrementButtonProps:Pt,getInputProps:At,htmlProps:Q}}var[SL,um]=Rn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[CL,Rb]=Rn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),dm=Te(function(t,n){const r=Br("NumberInput",t),o=qn(t),s=eb(o),{htmlProps:a,...c}=wL(s),d=f.useMemo(()=>c,[c]);return i.jsx(CL,{value:d,children:i.jsx(SL,{value:r,children:i.jsx(Ie.div,{...a,ref:n,className:kt("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});dm.displayName="NumberInput";var fm=Te(function(t,n){const r=um();return i.jsx(Ie.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});fm.displayName="NumberInputStepper";var pm=Te(function(t,n){const{getInputProps:r}=Rb(),o=r(t,n),s=um();return i.jsx(Ie.input,{...o,className:kt("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});pm.displayName="NumberInputField";var b5=Ie("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),hm=Te(function(t,n){var r;const o=um(),{getDecrementButtonProps:s}=Rb(),a=s(t,n);return i.jsx(b5,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(pL,{})})});hm.displayName="NumberDecrementStepper";var mm=Te(function(t,n){var r;const{getIncrementButtonProps:o}=Rb(),s=o(t,n),a=um();return i.jsx(b5,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(hL,{})})});mm.displayName="NumberIncrementStepper";var[kL,Id]=Rn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[_L,Mb]=Rn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Db(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Id();return f.cloneElement(t,n(t.props,t.ref))}Db.displayName="PopoverTrigger";var zl={click:"click",hover:"hover"};function PL(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=zl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:I}=jb(e),P=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[T,A]=f.useState(!1),[$,Q]=f.useState(!1),B=f.useId(),V=o??B,[q,G,D,z]=["popover-trigger","popover-content","popover-header","popover-body"].map(Se=>`${Se}-${V}`),{referenceRef:H,getArrowProps:Y,getPopperProps:ie,getArrowInnerProps:ye,forceUpdate:Z}=Pb({...y,enabled:S||!!w}),se=r5({isOpen:S,ref:O});X3({enabled:S,ref:E}),GP(O,{focusRef:E,visible:S,shouldFocus:s&&p===zl.click}),DN(O,{focusRef:r,visible:S,shouldFocus:a&&p===zl.click});const K=Ib({wasSelected:M.current,enabled:v,mode:b,isSelected:se.present}),U=f.useCallback((Se={},Fe=null)=>{const Ae={...Se,style:{...Se.style,transformOrigin:_r.transformOrigin.varRef,[_r.arrowSize.var]:c?`${c}px`:void 0,[_r.arrowShadowColor.var]:d},ref:cn(O,Fe),children:K?Se.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(Se.onKeyDown,He=>{n&&He.key==="Escape"&&k()}),onBlur:et(Se.onBlur,He=>{const Ct=rS(He),ct=C0(O.current,Ct),on=C0(E.current,Ct);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":T?D:void 0,"aria-describedby":$?z:void 0};return p===zl.hover&&(Ae.role="tooltip",Ae.onMouseEnter=et(Se.onMouseEnter,()=>{R.current=!0}),Ae.onMouseLeave=et(Se.onMouseLeave,He=>{He.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ae},[K,G,T,D,$,z,p,n,k,S,t,m,d,c]),ae=f.useCallback((Se={},Fe=null)=>ie({...Se,style:{visibility:S?"visible":"hidden",...Se.style}},Fe),[S,ie]),re=f.useCallback((Se,Fe=null)=>({...Se,ref:cn(Fe,P,H)}),[P,H]),oe=f.useRef(),pe=f.useRef(),ce=f.useCallback(Se=>{P.current==null&&H(Se)},[H]),ge=f.useCallback((Se={},Fe=null)=>{const Ae={...Se,ref:cn(E,Fe,ce),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===zl.click&&(Ae.onClick=et(Se.onClick,I)),p===zl.hover&&(Ae.onFocus=et(Se.onFocus,()=>{oe.current===void 0&&_()}),Ae.onBlur=et(Se.onBlur,He=>{const Ct=rS(He),ct=!C0(O.current,Ct);S&&t&&ct&&k()}),Ae.onKeyDown=et(Se.onKeyDown,He=>{He.key==="Escape"&&k()}),Ae.onMouseEnter=et(Se.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ae.onMouseLeave=et(Se.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ae},[q,S,G,p,ce,I,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const _e=f.useCallback((Se={},Fe=null)=>({...Se,id:D,ref:cn(Fe,Ae=>{A(!!Ae)})}),[D]),le=f.useCallback((Se={},Fe=null)=>({...Se,id:z,ref:cn(Fe,Ae=>{Q(!!Ae)})}),[z]);return{forceUpdate:Z,isOpen:S,onAnimationComplete:se.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:ye,getPopoverPositionerProps:ae,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:_e,getBodyProps:le}}function C0(e,t){return e===t||(e==null?void 0:e.contains(t))}function rS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Tb(e){const t=Br("Popover",e),{children:n,...r}=qn(e),o=Mc(),s=PL({...r,direction:o.direction});return i.jsx(kL,{value:s,children:i.jsx(_L,{value:t,children:D1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Tb.displayName="Popover";var k0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function y5(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=Id(),h=Mb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(Ie.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(Ie.div,{className:kt("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":k0("colors",c),"--popper-arrow-bg":k0("colors",m),"--popper-arrow-shadow":k0("shadows",v),...h.arrow}})})}y5.displayName="PopoverArrow";var x5=Te(function(t,n){const{getBodyProps:r}=Id(),o=Mb();return i.jsx(Ie.div,{...r(t,n),className:kt("chakra-popover__body",t.className),__css:o.body})});x5.displayName="PopoverBody";function jL(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var IL={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},EL=Ie(Qr.section),w5=Te(function(t,n){const{variants:r=IL,...o}=t,{isOpen:s}=Id();return i.jsx(EL,{ref:n,variants:jL(r),initial:!1,animate:s?"enter":"exit",...o})});w5.displayName="PopoverTransition";var Ab=Te(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=Id(),p=Mb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(Ie.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(w5,{...o,...a(s,n),onAnimationComplete:Jh(d,s.onAnimationComplete),className:kt("chakra-popover__content",t.className),__css:h})})});Ab.displayName="PopoverContent";function OL(e,t,n){return(e-t)*100/(n-t)}za({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});za({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var RL=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),ML=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function DL(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=OL(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:c},percent:d,value:t}}var[TL,AL]=Rn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),NL=Te((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=DL({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...AL().filledTrack};return i.jsx(Ie.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),S5=Te((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:a,isAnimated:c,children:d,borderRadius:p,isIndeterminate:h,"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,title:w,role:y,...S}=qn(e),k=Br("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),I={animation:`${ML} 1s linear infinite`},O={...!h&&a&&c&&I,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${RL} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return i.jsx(Ie.div,{ref:t,borderRadius:_,__css:R,...S,children:i.jsxs(TL,{value:k,children:[i.jsx(NL,{"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:_,title:w,role:y}),d]})})});S5.displayName="Progress";function $L(e){return e&&pv(e)&&pv(e.target)}function zL(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:a,isNative:c,...d}=e,[p,h]=f.useState(r||""),m=typeof n<"u",v=m?n:p,b=f.useRef(null),w=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const M=E.querySelector(O);M==null||M.focus()},[]),S=`radio-${f.useId()}`,k=o||S,_=f.useCallback(E=>{const O=$L(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),I=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),P=f.useCallback((E={},O=null)=>({...E,ref:O,name:k,[c?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(M){_(M)},"data-radiogroup":!0}),[c,k,_,v]);return{getRootProps:I,getRadioProps:P,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:a,htmlProps:d}}var[LL,C5]=Rn({name:"RadioGroupContext",strict:!1}),Gp=Te((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:a,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=zL(p),y=f.useMemo(()=>({name:b,size:r,onChange:m,colorScheme:n,value:h,variant:o,isDisabled:c,isFocusable:d}),[b,r,m,n,h,o,c,d]);return i.jsx(LL,{value:y,children:i.jsx(Ie.div,{...v(w,t),className:kt("chakra-radio-group",a),children:s})})});Gp.displayName="RadioGroup";var BL={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function FL(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:a,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=vd(),_=!!C5()||!!v;let P=!!S&&!_?S.id:y;P=m??P;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=a??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[T,A]=f.useState(!1),[$,Q]=f.useState(!1),[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,z]=f.useState(!!t),H=typeof n<"u",Y=H?n:D;f.useEffect(()=>B3(A),[]);const ie=f.useCallback(ce=>{if(O||E){ce.preventDefault();return}H||z(ce.target.checked),c==null||c(ce)},[H,E,O,c]),ye=f.useCallback(ce=>{ce.key===" "&&G(!0)},[G]),Z=f.useCallback(ce=>{ce.key===" "&&G(!1)},[G]),se=f.useCallback((ce={},ge=null)=>({...ce,ref:ge,"data-active":tn(q),"data-hover":tn(B),"data-disabled":tn(E),"data-invalid":tn(M),"data-checked":tn(Y),"data-focus":tn($),"data-focus-visible":tn($&&T),"data-readonly":tn(O),"aria-hidden":!0,onMouseDown:et(ce.onMouseDown,()=>G(!0)),onMouseUp:et(ce.onMouseUp,()=>G(!1)),onMouseEnter:et(ce.onMouseEnter,()=>V(!0)),onMouseLeave:et(ce.onMouseLeave,()=>V(!1))}),[q,B,E,M,Y,$,O,T]),{onFocus:K,onBlur:U}=S??{},ae=f.useCallback((ce={},ge=null)=>{const _e=E&&!r;return{...ce,id:P,ref:ge,type:"radio",name:p,value:h,onChange:et(ce.onChange,ie),onBlur:et(U,ce.onBlur,()=>Q(!1)),onFocus:et(K,ce.onFocus,()=>Q(!0)),onKeyDown:et(ce.onKeyDown,ye),onKeyUp:et(ce.onKeyUp,Z),checked:Y,disabled:_e,readOnly:O,required:R,"aria-invalid":ns(M),"aria-disabled":ns(_e),"aria-required":ns(R),"data-readonly":tn(O),"aria-describedby":b,style:BL}},[E,r,P,p,h,ie,U,K,ye,Z,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:$,isChecked:Y,isActive:q,isHovered:B,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:se,getRadioProps:se,getInputProps:ae,getLabelProps:(ce={},ge=null)=>({...ce,ref:ge,onMouseDown:et(ce.onMouseDown,HL),"data-disabled":tn(E),"data-checked":tn(Y),"data-invalid":tn(M)}),getRootProps:(ce,ge=null)=>({...ce,ref:ge,"data-disabled":tn(E),"data-checked":tn(Y),"data-invalid":tn(M)}),htmlProps:w}}function HL(e){e.preventDefault(),e.stopPropagation()}function WL(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var ba=Te((e,t)=>{var n;const r=C5(),{onChange:o,value:s}=e,a=Br("Radio",{...r,...e}),c=qn(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:m=r==null?void 0:r.isFocusable,inputProps:v,...b}=c;let w=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(w=r.value===s);let y=o;r!=null&&r.onChange&&s!=null&&(y=Jh(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:I,getRootProps:P,htmlProps:E}=FL({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=WL(E,__),M=_(R),T=k(v,t),A=I(),$=Object.assign({},O,P()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},B={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(Ie.label,{className:"chakra-radio",...$,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...T}),i.jsx(Ie.span,{className:"chakra-radio__control",...M,__css:B}),p&&i.jsx(Ie.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ba.displayName="Radio";var k5=Te(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(Ie.select,{...a,ref:n,className:kt("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});k5.displayName="SelectField";function VL(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var _5=Te((e,t)=>{var n;const r=Br("Select",e),{rootProps:o,placeholder:s,icon:a,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=VL(w,__),k=Z1(S),_={width:"100%",height:"fit-content",position:"relative",color:c},I={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(Ie.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[i.jsx(k5,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:I,children:e.children}),i.jsx(P5,{"data-disabled":tn(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});_5.displayName="Select";var UL=e=>i.jsx("svg",{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),GL=Ie("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),P5=e=>{const{children:t=i.jsx(UL,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return i.jsx(GL,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};P5.displayName="SelectIcon";function qL(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function KL(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var YL=Ie("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),Bv=P_("skeleton-start-color"),Fv=P_("skeleton-end-color"),QL=za({from:{opacity:0},to:{opacity:1}}),XL=za({from:{borderColor:Bv.reference,background:Bv.reference},to:{borderColor:Fv.reference,background:Fv.reference}}),gm=Te((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=$a("Skeleton",n),o=qL(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=Dc("colors",[s,a]),y=KL(c),S=kt("chakra-skeleton",h),k={...b&&{[Bv.variable]:b},...w&&{[Fv.variable]:w}};if(c){const _=o||y?"none":`${QL} ${d}s`;return i.jsx(Ie.div,{ref:t,className:S,__css:{animation:_},...v})}return i.jsx(YL,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${XL}`}})});gm.displayName="Skeleton";var Jo=e=>e?"":void 0,ic=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function lc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function JL(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function Pu(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Sp={width:0,height:0},$f=e=>e||Sp;function j5(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Sp;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Pu({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${k.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${k.width/2}px)`}})}},a=t==="vertical"?r.reduce((y,S)=>$f(y).height>$f(S).height?y:S,Sp):r.reduce((y,S)=>$f(y).width>$f(S).width?y:S,Sp),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Pu({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},d={position:"absolute",...Pu({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},p=n.length===1,h=[0,o?100-n[0]:n[0]],m=p?h:n;let v=m[0];!p&&o&&(v=100-v);const b=Math.abs(m[m.length-1]-m[0]),w={...d,...Pu({orientation:t,vertical:o?{height:`${b}%`,top:`${v}%`}:{height:`${b}%`,bottom:`${v}%`},horizontal:o?{width:`${b}%`,right:`${v}%`}:{width:`${b}%`,left:`${v}%`}})};return{trackStyle:d,innerTrackStyle:w,rootStyle:c,getThumbStyle:s}}function I5(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function ZL(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function eB(e){const t=nB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function E5(e){return!!e.touches}function tB(e){return E5(e)&&e.touches.length>1}function nB(e){var t;return(t=e.view)!=null?t:window}function rB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function oB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function O5(e,t="page"){return E5(e)?rB(e,t):oB(e,t)}function sB(e){return t=>{const n=eB(t);(!n||n&&t.button===0)&&e(t)}}function aB(e,t=!1){function n(o){e(o,{point:O5(o)})}return t?sB(n):n}function Cp(e,t,n,r){return ZL(e,t,aB(n,t==="pointerdown"),r)}var iB=Object.defineProperty,lB=(e,t,n)=>t in e?iB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bs=(e,t,n)=>(lB(e,typeof t!="symbol"?t+"":t,n),n),cB=class{constructor(e,t,n){bs(this,"history",[]),bs(this,"startEvent",null),bs(this,"lastEvent",null),bs(this,"lastEventInfo",null),bs(this,"handlers",{}),bs(this,"removeListeners",()=>{}),bs(this,"threshold",3),bs(this,"win"),bs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=_0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=pB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=bw();this.history.push({...c.point,timestamp:h});const{onStart:m,onMove:v}=this.handlers;d||(m==null||m(this.lastEvent,c),this.startEvent=this.lastEvent),v==null||v(this.lastEvent,c)}),bs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,MT.update(this.updatePoint,!0)}),bs(this,"onPointerUp",(c,d)=>{const p=_0(d,this.history),{onEnd:h,onSessionEnd:m}=this.handlers;m==null||m(c,p),this.end(),!(!h||!this.startEvent)&&(h==null||h(c,p))});var r;if(this.win=(r=e.view)!=null?r:window,tB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:O5(e)},{timestamp:s}=bw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,_0(o,this.history)),this.removeListeners=fB(Cp(this.win,"pointermove",this.onPointerMove),Cp(this.win,"pointerup",this.onPointerUp),Cp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),DT.update(this.updatePoint)}};function oS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _0(e,t){return{point:e.point,delta:oS(e.point,t[t.length-1]),offset:oS(e.point,t[0]),velocity:dB(t,.1)}}var uB=e=>e*1e3;function dB(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=e[e.length-1];for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>uB(t)));)n--;if(!r)return{x:0,y:0};const s=(o.timestamp-r.timestamp)/1e3;if(s===0)return{x:0,y:0};const a={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function fB(...e){return t=>e.reduce((n,r)=>r(n),t)}function P0(e,t){return Math.abs(e-t)}function sS(e){return"x"in e&&"y"in e}function pB(e,t){if(typeof e=="number"&&typeof t=="number")return P0(e,t);if(sS(e)&&sS(t)){const n=P0(e.x,t.x),r=P0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function R5(e){const t=f.useRef(null);return t.current=e,t}function M5(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:a,threshold:c}=t,d=!!(n||r||o||s||a),p=f.useRef(null),h=R5({onSessionStart:s,onSessionEnd:a,onStart:r,onMove:n,onEnd(m,v){p.current=null,o==null||o(m,v)}});f.useEffect(()=>{var m;(m=p.current)==null||m.updateHandlers(h.current)}),f.useEffect(()=>{const m=e.current;if(!m||!d)return;function v(b){p.current=new cB(b,h.current,c)}return Cp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function hB(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[s]=o;let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;a=p.inlineSize,c=p.blockSize}else a=e.offsetWidth,c=e.offsetHeight;t({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var mB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function gB(e,t){var n,r;if(!e||!e.parentElement)return;const o=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,s=new o.MutationObserver(()=>{t()});return s.observe(e.parentElement,{childList:!0}),()=>{s.disconnect()}}function D5({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return mB(()=>{const a=e(),c=a.map((d,p)=>hB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(gB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function vB(e){return typeof e=="object"&&e!==null&&"current"in e}function bB(e){const[t]=D5({observeMutation:!1,getNodes(){return[vB(e)?e.current:e]}});return t}function yB(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:a,direction:c="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:m,onChangeStart:v,onChangeEnd:b,step:w=1,getAriaValueText:y,"aria-valuetext":S,"aria-label":k,"aria-labelledby":_,name:I,focusThumbOnChange:P=!0,minStepsBetweenThumbs:E=0,...O}=e,R=rr(v),M=rr(b),T=rr(y),A=I5({isReversed:a,direction:c,orientation:d}),[$,Q]=Ac({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray($))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof $}\``);const[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,z]=f.useState(-1),H=!(h||m),Y=f.useRef($),ie=$.map(Pe=>rc(Pe,t,n)),ye=E*w,Z=xB(ie,t,n,ye),se=f.useRef({eventSource:null,value:[],valueBounds:[]});se.current.value=ie,se.current.valueBounds=Z;const K=ie.map(Pe=>n-Pe+t),ae=(A?K:ie).map(Pe=>Bp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),ce=D5({getNodes(){const Pe=pe.current,Je=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Je?Array.from(Je):[]}}),ge=f.useId(),le=JL(p??ge),Se=f.useCallback(Pe=>{var Je,Qe;if(!oe.current)return;se.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:Lt,clientY:lr}=(Qe=(Je=Pe.touches)==null?void 0:Je[0])!=null?Qe:Pe,pn=re?dt.bottom-lr:Lt-dt.left,ln=re?dt.height:dt.width;let Fr=pn/ln;return A&&(Fr=1-Fr),W3(Fr,t,n)},[re,A,n,t]),Fe=(n-t)/10,Ae=w||(n-t)/100,He=f.useMemo(()=>({setValueAtIndex(Pe,Je){if(!H)return;const Qe=se.current.valueBounds[Pe];Je=parseFloat(Iv(Je,Qe.min,Ae)),Je=rc(Je,Qe.min,Qe.max);const dt=[...se.current.value];dt[Pe]=Je,Q(dt)},setActiveIndex:z,stepUp(Pe,Je=Ae){const Qe=se.current.value[Pe],dt=A?Qe-Je:Qe+Je;He.setValueAtIndex(Pe,dt)},stepDown(Pe,Je=Ae){const Qe=se.current.value[Pe],dt=A?Qe+Je:Qe-Je;He.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ae,A,Q,H]),Ct=f.useCallback(Pe=>{const Je=Pe.key,dt={ArrowRight:()=>He.stepUp(D),ArrowUp:()=>He.stepUp(D),ArrowLeft:()=>He.stepDown(D),ArrowDown:()=>He.stepDown(D),PageUp:()=>He.stepUp(D,Fe),PageDown:()=>He.stepDown(D,Fe),Home:()=>{const{min:Lt}=Z[D];He.setValueAtIndex(D,Lt)},End:()=>{const{max:Lt}=Z[D];He.setValueAtIndex(D,Lt)}}[Je];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),se.current.eventSource="keyboard")},[He,D,Fe,Z]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>j5({isReversed:A,orientation:d,thumbRects:ce,thumbPercents:ae}),[A,d,ae,ce]),we=f.useCallback(Pe=>{var Je;const Qe=Pe??D;if(Qe!==-1&&P){const dt=le.getThumb(Qe),Lt=(Je=pe.current)==null?void 0:Je.ownerDocument.getElementById(dt);Lt&&setTimeout(()=>Lt.focus())}},[P,D,le]);Ba(()=>{se.current.eventSource==="keyboard"&&(M==null||M(se.current.value))},[ie,M]);const Re=Pe=>{const Je=Se(Pe)||0,Qe=se.current.value.map(ln=>Math.abs(ln-Je)),dt=Math.min(...Qe);let Lt=Qe.indexOf(dt);const lr=Qe.filter(ln=>ln===dt);lr.length>1&&Je>se.current.value[Lt]&&(Lt=Lt+lr.length-1),z(Lt),He.setValueAtIndex(Lt,Je),we(Lt)},Pt=Pe=>{if(D==-1)return;const Je=Se(Pe)||0;z(D),He.setValueAtIndex(D,Je),we(D)};M5(pe,{onPanSessionStart(Pe){H&&(V(!0),Re(Pe),R==null||R(se.current.value))},onPanSessionEnd(){H&&(V(!1),M==null||M(se.current.value))},onPan(Pe){H&&Pt(Pe)}});const At=f.useCallback((Pe={},Je=null)=>({...Pe,...O,id:le.root,ref:cn(Je,pe),tabIndex:-1,"aria-disabled":ic(h),"data-focused":Jo(q),style:{...Pe.style,...on}}),[O,h,q,on,le]),xe=f.useCallback((Pe={},Je=null)=>({...Pe,ref:cn(Je,oe),id:le.track,"data-disabled":Jo(h),style:{...Pe.style,...vt}}),[h,vt,le]),ht=f.useCallback((Pe={},Je=null)=>({...Pe,ref:Je,id:le.innerTrack,style:{...Pe.style,...bt}}),[bt,le]),$t=f.useCallback((Pe,Je=null)=>{var Qe;const{index:dt,...Lt}=Pe,lr=ie[dt];if(lr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ie.length}`);const pn=Z[dt];return{...Lt,ref:Je,role:"slider",tabIndex:H?0:void 0,id:le.getThumb(dt),"data-active":Jo(B&&D===dt),"aria-valuetext":(Qe=T==null?void 0:T(lr))!=null?Qe:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":lr,"aria-orientation":d,"aria-disabled":ic(h),"aria-readonly":ic(m),"aria-label":k==null?void 0:k[dt],"aria-labelledby":k!=null&&k[dt]||_==null?void 0:_[dt],style:{...Pe.style,...ct(dt)},onKeyDown:lc(Pe.onKeyDown,Ct),onFocus:lc(Pe.onFocus,()=>{G(!0),z(dt)}),onBlur:lc(Pe.onBlur,()=>{G(!1),z(-1)})}},[le,ie,Z,H,B,D,T,S,d,h,m,k,_,ct,Ct,G]),zt=f.useCallback((Pe={},Je=null)=>({...Pe,ref:Je,id:le.output,htmlFor:ie.map((Qe,dt)=>le.getThumb(dt)).join(" "),"aria-live":"off"}),[le,ie]),Ne=f.useCallback((Pe,Je=null)=>{const{value:Qe,...dt}=Pe,Lt=!(Qen),lr=Qe>=ie[0]&&Qe<=ie[ie.length-1];let pn=Bp(Qe,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Pu({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Je,id:le.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Jo(h),"data-invalid":Jo(!Lt),"data-highlighted":Jo(lr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ie,le]),qe=f.useCallback((Pe,Je=null)=>{const{index:Qe,...dt}=Pe;return{...dt,ref:Je,id:le.getInput(Qe),type:"hidden",value:ie[Qe],name:Array.isArray(I)?I[Qe]:`${I}-${Qe}`}},[I,ie,le]);return{state:{value:ie,isFocused:q,isDragging:B,getThumbPercent:Pe=>ae[Pe],getThumbMinValue:Pe=>Z[Pe].min,getThumbMaxValue:Pe=>Z[Pe].max},actions:He,getRootProps:At,getTrackProps:xe,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Ne,getInputProps:qe,getOutputProps:zt}}function xB(e,t,n,r){return e.map((o,s)=>{const a=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:a,max:c}})}var[wB,vm]=Rn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[SB,bm]=Rn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),T5=Te(function(t,n){const r={orientation:"horizontal",...t},o=Br("Slider",r),s=qn(r),{direction:a}=Mc();s.direction=a;const{getRootProps:c,...d}=yB(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(wB,{value:p,children:i.jsx(SB,{value:o,children:i.jsx(Ie.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});T5.displayName="RangeSlider";var Hv=Te(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=vm(),a=bm(),c=r(t,n);return i.jsxs(Ie.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});Hv.displayName="RangeSliderThumb";var A5=Te(function(t,n){const{getTrackProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});A5.displayName="RangeSliderTrack";var N5=Te(function(t,n){const{getInnerTrackProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});N5.displayName="RangeSliderFilledTrack";var kp=Te(function(t,n){const{getMarkerProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});kp.displayName="RangeSliderMark";function CB(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:a,isReversed:c,direction:d="ltr",orientation:p="horizontal",id:h,isDisabled:m,isReadOnly:v,onChangeStart:b,onChangeEnd:w,step:y=1,getAriaValueText:S,"aria-valuetext":k,"aria-label":_,"aria-labelledby":I,name:P,focusThumbOnChange:E=!0,...O}=e,R=rr(b),M=rr(w),T=rr(S),A=I5({isReversed:c,direction:d,orientation:p}),[$,Q]=Ac({value:s,defaultValue:a??_B(n,r),onChange:o}),[B,V]=f.useState(!1),[q,G]=f.useState(!1),D=!(m||v),z=(r-n)/10,H=y||(r-n)/100,Y=rc($,n,r),ie=r-Y+n,Z=Bp(A?ie:Y,n,r),se=p==="vertical",K=R5({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:D,isReversed:A,isVertical:se,eventSource:null,focusThumbOnChange:E,orientation:p}),U=f.useRef(null),ae=f.useRef(null),re=f.useRef(null),oe=f.useId(),pe=h??oe,[ce,ge]=[`slider-thumb-${pe}`,`slider-track-${pe}`],_e=f.useCallback(Ne=>{var qe,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Je=U.current.getBoundingClientRect(),{clientX:Qe,clientY:dt}=(Pn=(qe=Ne.touches)==null?void 0:qe[0])!=null?Pn:Ne,Lt=se?Je.bottom-dt:Qe-Je.left,lr=se?Je.height:Je.width;let pn=Lt/lr;A&&(pn=1-pn);let ln=W3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Iv(ln,Pe.min,Pe.step))),ln=rc(ln,Pe.min,Pe.max),ln},[se,A,K]),le=f.useCallback(Ne=>{const qe=K.current;qe.isInteractive&&(Ne=parseFloat(Iv(Ne,qe.min,H)),Ne=rc(Ne,qe.min,qe.max),Q(Ne))},[H,Q,K]),Se=f.useMemo(()=>({stepUp(Ne=H){const qe=A?Y-Ne:Y+Ne;le(qe)},stepDown(Ne=H){const qe=A?Y+Ne:Y-Ne;le(qe)},reset(){le(a||0)},stepTo(Ne){le(Ne)}}),[le,A,Y,H,a]),Fe=f.useCallback(Ne=>{const qe=K.current,Pe={ArrowRight:()=>Se.stepUp(),ArrowUp:()=>Se.stepUp(),ArrowLeft:()=>Se.stepDown(),ArrowDown:()=>Se.stepDown(),PageUp:()=>Se.stepUp(z),PageDown:()=>Se.stepDown(z),Home:()=>le(qe.min),End:()=>le(qe.max)}[Ne.key];Pe&&(Ne.preventDefault(),Ne.stopPropagation(),Pe(Ne),qe.eventSource="keyboard")},[Se,le,z,K]),Ae=(t=T==null?void 0:T(Y))!=null?t:k,He=bB(ae),{getThumbStyle:Ct,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Ne=K.current,qe=He??{width:0,height:0};return j5({isReversed:A,orientation:Ne.orientation,thumbRects:[qe],thumbPercents:[Z]})},[A,He,Z,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var qe;return(qe=ae.current)==null?void 0:qe.focus()})},[K]);Ba(()=>{const Ne=K.current;bt(),Ne.eventSource==="keyboard"&&(M==null||M(Ne.value))},[Y,M]);function we(Ne){const qe=_e(Ne);qe!=null&&qe!==K.current.value&&Q(qe)}M5(re,{onPanSessionStart(Ne){const qe=K.current;qe.isInteractive&&(V(!0),bt(),we(Ne),R==null||R(qe.value))},onPanSessionEnd(){const Ne=K.current;Ne.isInteractive&&(V(!1),M==null||M(Ne.value))},onPan(Ne){K.current.isInteractive&&we(Ne)}});const Re=f.useCallback((Ne={},qe=null)=>({...Ne,...O,ref:cn(qe,re),tabIndex:-1,"aria-disabled":ic(m),"data-focused":Jo(q),style:{...Ne.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((Ne={},qe=null)=>({...Ne,ref:cn(qe,U),id:ge,"data-disabled":Jo(m),style:{...Ne.style,...on}}),[m,ge,on]),At=f.useCallback((Ne={},qe=null)=>({...Ne,ref:qe,style:{...Ne.style,...vt}}),[vt]),xe=f.useCallback((Ne={},qe=null)=>({...Ne,ref:cn(qe,ae),role:"slider",tabIndex:D?0:void 0,id:ce,"data-active":Jo(B),"aria-valuetext":Ae,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":ic(m),"aria-readonly":ic(v),"aria-label":_,"aria-labelledby":_?void 0:I,style:{...Ne.style,...Ct(0)},onKeyDown:lc(Ne.onKeyDown,Fe),onFocus:lc(Ne.onFocus,()=>G(!0)),onBlur:lc(Ne.onBlur,()=>G(!1))}),[D,ce,B,Ae,n,r,Y,p,m,v,_,I,Ct,Fe]),ht=f.useCallback((Ne,qe=null)=>{const Pn=!(Ne.valuer),Pe=Y>=Ne.value,Je=Bp(Ne.value,n,r),Qe={position:"absolute",pointerEvents:"none",...kB({orientation:p,vertical:{bottom:A?`${100-Je}%`:`${Je}%`},horizontal:{left:A?`${100-Je}%`:`${Je}%`}})};return{...Ne,ref:qe,role:"presentation","aria-hidden":!0,"data-disabled":Jo(m),"data-invalid":Jo(!Pn),"data-highlighted":Jo(Pe),style:{...Ne.style,...Qe}}},[m,A,r,n,p,Y]),$t=f.useCallback((Ne={},qe=null)=>({...Ne,ref:qe,type:"hidden",value:Y,name:P}),[P,Y]);return{state:{value:Y,isFocused:q,isDragging:B},actions:Se,getRootProps:Re,getTrackProps:Pt,getInnerTrackProps:At,getThumbProps:xe,getMarkerProps:ht,getInputProps:$t}}function kB(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function _B(e,t){return t"}),[jB,xm]=Rn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),$5=Te((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Br("Slider",r),s=qn(r),{direction:a}=Mc();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=CB(s),h=d(),m=c({},t);return i.jsx(PB,{value:p,children:i.jsx(jB,{value:o,children:i.jsxs(Ie.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});$5.displayName="Slider";var z5=Te((e,t)=>{const{getThumbProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});z5.displayName="SliderThumb";var L5=Te((e,t)=>{const{getTrackProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});L5.displayName="SliderTrack";var B5=Te((e,t)=>{const{getInnerTrackProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});B5.displayName="SliderFilledTrack";var Vl=Te((e,t)=>{const{getMarkerProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});Vl.displayName="SliderMark";var Nb=Te(function(t,n){const r=Br("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{state:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=F3(a),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return i.jsxs(Ie.label,{...h(),className:kt("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(Ie.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(Ie.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":tn(c.isChecked),"data-hover":tn(c.isHovered)})}),s&&i.jsx(Ie.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Nb.displayName="Switch";var[IB,EB,OB,RB]=Q1();function MB(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:a,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=Ac({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=OB(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:a,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[DB,wm]=Rn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function TB(e){const{focusedIndex:t,orientation:n,direction:r}=wm(),o=EB(),s=f.useCallback(a=>{const c=()=>{var _;const I=o.nextEnabled(t);I&&((_=I.node)==null||_.focus())},d=()=>{var _;const I=o.prevEnabled(t);I&&((_=I.node)==null||_.focus())},p=()=>{var _;const I=o.firstEnabled();I&&((_=I.node)==null||_.focus())},h=()=>{var _;const I=o.lastEnabled();I&&((_=I.node)==null||_.focus())},m=n==="horizontal",v=n==="vertical",b=a.key,w=r==="ltr"?"ArrowLeft":"ArrowRight",y=r==="ltr"?"ArrowRight":"ArrowLeft",k={[w]:()=>m&&d(),[y]:()=>m&&c(),ArrowDown:()=>v&&c(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];k&&(a.preventDefault(),k(a))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:et(e.onKeyDown,s)}}function AB(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=wm(),{index:p,register:h}=RB({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=UP({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:F5(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":H5(a,p),onFocus:t?void 0:et(e.onFocus,b)}}var[NB,$B]=Rn({});function zB(e){const t=wm(),{id:n,selectedIndex:r}=t,s=gd(e.children).map((a,c)=>f.createElement(NB,{key:c,value:{isSelected:c===r,id:H5(n,c),tabId:F5(n,c),selectedIndex:r}},a));return{...e,children:s}}function LB(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=wm(),{isSelected:s,id:a,tabId:c}=$B(),d=f.useRef(!1);s&&(d.current=!0);const p=Ib({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":c,hidden:!s,id:a}}function F5(e,t){return`${e}--tab-${t}`}function H5(e,t){return`${e}--tabpanel-${t}`}var[BB,Sm]=Rn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Ed=Te(function(t,n){const r=Br("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=MB(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(IB,{value:d,children:i.jsx(DB,{value:h,children:i.jsx(BB,{value:r,children:i.jsx(Ie.div,{className:kt("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Ed.displayName="Tabs";var Od=Te(function(t,n){const r=TB({...t,ref:n}),s={display:"flex",...Sm().tablist};return i.jsx(Ie.div,{...r,className:kt("chakra-tabs__tablist",t.className),__css:s})});Od.displayName="TabList";var Cm=Te(function(t,n){const r=LB({...t,ref:n}),o=Sm();return i.jsx(Ie.div,{outline:"0",...r,className:kt("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Cm.displayName="TabPanel";var km=Te(function(t,n){const r=zB(t),o=Sm();return i.jsx(Ie.div,{...r,width:"100%",ref:n,className:kt("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});km.displayName="TabPanels";var wc=Te(function(t,n){const r=Sm(),o=AB({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(Ie.button,{...o,className:kt("chakra-tabs__tab",t.className),__css:s})});wc.displayName="Tab";function FB(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var HB=["h","minH","height","minHeight"],W5=Te((e,t)=>{const n=$a("Textarea",e),{className:r,rows:o,...s}=qn(e),a=Z1(s),c=o?FB(n,HB):n;return i.jsx(Ie.textarea,{ref:t,rows:o,...a,className:kt("chakra-textarea",r),__css:c})});W5.displayName="Textarea";var WB={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},Wv=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},_p=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function VB(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:a=o,closeOnEsc:c=!0,onOpen:d,onClose:p,placement:h,id:m,isOpen:v,defaultIsOpen:b,arrowSize:w=10,arrowShadowColor:y,arrowPadding:S,modifiers:k,isDisabled:_,gutter:I,offset:P,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:T}=jb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:$,getArrowInnerProps:Q,getArrowProps:B}=Pb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:I,offset:P,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,D=f.useRef(null),z=f.useRef(),H=f.useCallback(()=>{z.current&&(clearTimeout(z.current),z.current=void 0)},[]),Y=f.useRef(),ie=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),ye=f.useCallback(()=>{ie(),T()},[T,ie]),Z=UB(D,ye),se=f.useCallback(()=>{if(!_&&!z.current){Z();const ge=_p(D);z.current=ge.setTimeout(M,t)}},[Z,_,M,t]),K=f.useCallback(()=>{H();const ge=_p(D);Y.current=ge.setTimeout(ye,n)},[n,ye,H]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),ae=f.useCallback(()=>{R&&a&&K()},[a,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Yi(()=>Wv(D),"keydown",c?re:void 0),Yi(()=>{const ge=D.current;if(!ge)return null;const _e=DP(ge);return _e.localName==="body"?_p(D):_e},"scroll",()=>{R&&s&&ye()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&(H(),R&&T())},[_,R,T,H]),f.useEffect(()=>()=>{H(),ie()},[H,ie]),Yi(()=>D.current,"pointerleave",K);const oe=f.useCallback((ge={},_e=null)=>({...ge,ref:cn(D,_e,A),onPointerEnter:et(ge.onPointerEnter,Se=>{Se.pointerType!=="touch"&&se()}),onClick:et(ge.onClick,U),onPointerDown:et(ge.onPointerDown,ae),onFocus:et(ge.onFocus,se),onBlur:et(ge.onBlur,K),"aria-describedby":R?G:void 0}),[se,K,ae,R,G,U,A]),pe=f.useCallback((ge={},_e=null)=>$({...ge,style:{...ge.style,[_r.arrowSize.var]:w?`${w}px`:void 0,[_r.arrowShadowColor.var]:y}},_e),[$,w,y]),ce=f.useCallback((ge={},_e=null)=>{const le={...ge.style,position:"relative",transformOrigin:_r.transformOrigin.varRef};return{ref:_e,...O,...ge,id:G,role:"tooltip",style:le}},[O,G]);return{isOpen:R,show:se,hide:K,getTriggerProps:oe,getTooltipProps:ce,getTooltipPositionerProps:pe,getArrowProps:B,getArrowInnerProps:Q}}var j0="chakra-ui:close-tooltip";function UB(e,t){return f.useEffect(()=>{const n=Wv(e);return n.addEventListener(j0,t),()=>n.removeEventListener(j0,t)},[t,e]),()=>{const n=Wv(e),r=_p(e);n.dispatchEvent(new r.CustomEvent(j0))}}function GB(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function qB(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var KB=Ie(Qr.div),wn=Te((e,t)=>{var n,r;const o=$a("Tooltip",e),s=qn(e),a=Mc(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,I=(r=(n=w??y)!=null?n:v)!=null?r:S;if(I){o.bg=I;const $=xR(a,"colors",I);o[_r.arrowBg.var]=$}const P=VB({..._,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(Ie.span,{display:"inline-block",tabIndex:0,...P.getTriggerProps(),children:c});else{const $=f.Children.only(c);O=f.cloneElement($,P.getTriggerProps($.props,$.ref))}const R=!!h,M=P.getTooltipProps({},t),T=R?GB(M,["role","id"]):M,A=qB(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(Fo,{children:P.isOpen&&i.jsx(Vu,{...b,children:i.jsx(Ie.div,{...P.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(KB,{variants:WB,initial:"exit",animate:"enter",exit:"exit",...k,...T,__css:o,children:[d,R&&i.jsx(Ie.span,{srOnly:!0,...A,children:h}),m&&i.jsx(Ie.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(Ie.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});wn.displayName="Tooltip";function YB(e,t={}){let n=f.useCallback(o=>t.keys?lT(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const mo=e=>e.system,QB=e=>e.system.toastQueue,V5=fe(mo,e=>e.language,Ge),jr=fe(e=>e,e=>e.system.isProcessing||!e.system.isConnected),XB=fe(mo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),JB=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=L(XB);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${wR[e]}`)):localStorage.setItem("ROARR_LOG","false"),I2.ROARR.write=SR.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...CR};E2.set(I2.Roarr.child(r))},[]),YB(E2)},ZB=()=>{const e=te(),t=L(QB),n=NT();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(kR())},[e,n,t]),null},Bc=()=>{const e=te();return f.useCallback(n=>e(Dn(Bn(n))),[e])};var eF=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function Rd(e,t){var n=tF(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function tF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=eF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var nF=[".DS_Store","Thumbs.db"];function rF(e){return Nc(this,void 0,void 0,function(){return $c(this,function(t){return qp(e)&&oF(e.dataTransfer)?[2,lF(e.dataTransfer,e.type)]:sF(e)?[2,aF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,iF(e)]:[2,[]]})})}function oF(e){return qp(e)}function sF(e){return qp(e)&&qp(e.target)}function qp(e){return typeof e=="object"&&e!==null}function aF(e){return Vv(e.target.files).map(function(t){return Rd(t)})}function iF(e){return Nc(this,void 0,void 0,function(){var t;return $c(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return Rd(r)})]}})})}function lF(e,t){return Nc(this,void 0,void 0,function(){var n,r;return $c(this,function(o){switch(o.label){case 0:return e.items?(n=Vv(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(cF))]):[3,2];case 1:return r=o.sent(),[2,aS(U5(r))];case 2:return[2,aS(Vv(e.files).map(function(s){return Rd(s)}))]}})})}function aS(e){return e.filter(function(t){return nF.indexOf(t.name)===-1})}function Vv(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,dS(n)];if(e.sizen)return[!1,dS(n)]}return[!0,null]}function Vi(e){return e!=null}function _F(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,a=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(d){var p=Y5(d,n),h=Zu(p,1),m=h[0],v=Q5(d,r,o),b=Zu(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function Kp(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function zf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function pS(e){e.preventDefault()}function PF(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function jF(e){return e.indexOf("Edge/")!==-1}function IF(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return PF(e)||jF(e)}function Gs(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function UF(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var $b=f.forwardRef(function(e,t){var n=e.children,r=Yp(e,TF),o=zb(r),s=o.open,a=Yp(o,AF);return f.useImperativeHandle(t,function(){return{open:s}},[s]),F.createElement(f.Fragment,null,n(dr(dr({},a),{},{open:s})))});$b.displayName="Dropzone";var e6={disabled:!1,getFilesFromEvent:rF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};$b.defaultProps=e6;$b.propTypes={children:zn.func,accept:zn.objectOf(zn.arrayOf(zn.string)),multiple:zn.bool,preventDropOnDocument:zn.bool,noClick:zn.bool,noKeyboard:zn.bool,noDrag:zn.bool,noDragEventsBubbling:zn.bool,minSize:zn.number,maxSize:zn.number,maxFiles:zn.number,disabled:zn.bool,getFilesFromEvent:zn.func,onFileDialogCancel:zn.func,onFileDialogOpen:zn.func,useFsAccessApi:zn.bool,autoFocus:zn.bool,onDragEnter:zn.func,onDragLeave:zn.func,onDragOver:zn.func,onDrop:zn.func,onDropAccepted:zn.func,onDropRejected:zn.func,onError:zn.func,validator:zn.func};var Kv={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function zb(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=dr(dr({},e6),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,m=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,w=t.onDropRejected,y=t.onFileDialogCancel,S=t.onFileDialogOpen,k=t.useFsAccessApi,_=t.autoFocus,I=t.preventDropOnDocument,P=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,T=t.validator,A=f.useMemo(function(){return RF(n)},[n]),$=f.useMemo(function(){return OF(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:mS},[S]),B=f.useMemo(function(){return typeof y=="function"?y:mS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(GF,Kv),D=I0(G,2),z=D[0],H=D[1],Y=z.isFocused,ie=z.isFileDialogActive,ye=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&EF()),Z=function(){!ye.current&&ie&&setTimeout(function(){if(q.current){var Re=q.current.files;Re.length||(H({type:"closeDialog"}),B())}},300)};f.useEffect(function(){return window.addEventListener("focus",Z,!1),function(){window.removeEventListener("focus",Z,!1)}},[q,ie,B,ye]);var se=f.useRef([]),K=function(Re){V.current&&V.current.contains(Re.target)||(Re.preventDefault(),se.current=[])};f.useEffect(function(){return I&&(document.addEventListener("dragover",pS,!1),document.addEventListener("drop",K,!1)),function(){I&&(document.removeEventListener("dragover",pS),document.removeEventListener("drop",K))}},[V,I]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(we){M?M(we):console.error(we)},[M]),ae=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we),se.current=[].concat(zF(se.current),[we.target]),zf(we)&&Promise.resolve(o(we)).then(function(Re){if(!(Kp(we)&&!R)){var Pt=Re.length,At=Pt>0&&_F({files:Re,accept:A,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:T}),xe=Pt>0&&!At;H({isDragAccept:At,isDragReject:xe,isDragActive:!0,type:"setDraggedFiles"}),p&&p(we)}}).catch(function(Re){return U(Re)})},[o,p,U,R,A,a,s,c,d,T]),re=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we);var Re=zf(we);if(Re&&we.dataTransfer)try{we.dataTransfer.dropEffect="copy"}catch{}return Re&&m&&m(we),!1},[m,R]),oe=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we);var Re=se.current.filter(function(At){return V.current&&V.current.contains(At)}),Pt=Re.indexOf(we.target);Pt!==-1&&Re.splice(Pt,1),se.current=Re,!(Re.length>0)&&(H({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),zf(we)&&h&&h(we))},[V,h,R]),pe=f.useCallback(function(we,Re){var Pt=[],At=[];we.forEach(function(xe){var ht=Y5(xe,A),$t=I0(ht,2),zt=$t[0],Ne=$t[1],qe=Q5(xe,a,s),Pn=I0(qe,2),Pe=Pn[0],Je=Pn[1],Qe=T?T(xe):null;if(zt&&Pe&&!Qe)Pt.push(xe);else{var dt=[Ne,Je];Qe&&(dt=dt.concat(Qe)),At.push({file:xe,errors:dt.filter(function(Lt){return Lt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(xe){At.push({file:xe,errors:[kF]})}),Pt.splice(0)),H({acceptedFiles:Pt,fileRejections:At,type:"setFiles"}),v&&v(Pt,At,Re),At.length>0&&w&&w(At,Re),Pt.length>0&&b&&b(Pt,Re)},[H,c,A,a,s,d,v,b,w,T]),ce=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we),se.current=[],zf(we)&&Promise.resolve(o(we)).then(function(Re){Kp(we)&&!R||pe(Re,we)}).catch(function(Re){return U(Re)}),H({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(ye.current){H({type:"openDialog"}),Q();var we={multiple:c,types:$};window.showOpenFilePicker(we).then(function(Re){return o(Re)}).then(function(Re){pe(Re,null),H({type:"closeDialog"})}).catch(function(Re){MF(Re)?(B(Re),H({type:"closeDialog"})):DF(Re)?(ye.current=!1,q.current?(q.current.value=null,q.current.click()):U(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):U(Re)});return}q.current&&(H({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[H,Q,B,k,pe,U,$,c]),_e=f.useCallback(function(we){!V.current||!V.current.isEqualNode(we.target)||(we.key===" "||we.key==="Enter"||we.keyCode===32||we.keyCode===13)&&(we.preventDefault(),ge())},[V,ge]),le=f.useCallback(function(){H({type:"focus"})},[]),Se=f.useCallback(function(){H({type:"blur"})},[]),Fe=f.useCallback(function(){P||(IF()?setTimeout(ge,0):ge())},[P,ge]),Ae=function(Re){return r?null:Re},He=function(Re){return E?null:Ae(Re)},Ct=function(Re){return O?null:Ae(Re)},ct=function(Re){R&&Re.stopPropagation()},on=f.useMemo(function(){return function(){var we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=we.refKey,Pt=Re===void 0?"ref":Re,At=we.role,xe=we.onKeyDown,ht=we.onFocus,$t=we.onBlur,zt=we.onClick,Ne=we.onDragEnter,qe=we.onDragOver,Pn=we.onDragLeave,Pe=we.onDrop,Je=Yp(we,NF);return dr(dr(qv({onKeyDown:He(Gs(xe,_e)),onFocus:He(Gs(ht,le)),onBlur:He(Gs($t,Se)),onClick:Ae(Gs(zt,Fe)),onDragEnter:Ct(Gs(Ne,ae)),onDragOver:Ct(Gs(qe,re)),onDragLeave:Ct(Gs(Pn,oe)),onDrop:Ct(Gs(Pe,ce)),role:typeof At=="string"&&At!==""?At:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Je)}},[V,_e,le,Se,Fe,ae,re,oe,ce,E,O,r]),vt=f.useCallback(function(we){we.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=we.refKey,Pt=Re===void 0?"ref":Re,At=we.onChange,xe=we.onClick,ht=Yp(we,$F),$t=qv({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ae(Gs(At,ce)),onClick:Ae(Gs(xe,vt)),tabIndex:-1},Pt,q);return dr(dr({},$t),ht)}},[q,n,c,ce,r]);return dr(dr({},z),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ae(ge)})}function GF(e,t){switch(t.type){case"focus":return dr(dr({},e),{},{isFocused:!0});case"blur":return dr(dr({},e),{},{isFocused:!1});case"openDialog":return dr(dr({},Kv),{},{isFileDialogActive:!0});case"closeDialog":return dr(dr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return dr(dr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return dr(dr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return dr({},Kv);default:return e}}function mS(){}function Yv(){return Yv=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var ZF=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,a=n.mod,c=n.shift,d=n.ctrl,p=n.keys,h=t.key,m=t.code,v=t.ctrlKey,b=t.metaKey,w=t.shiftKey,y=t.altKey,S=ii(m),k=h.toLowerCase();if(!r){if(o===!y&&k!=="alt"||c===!w&&k!=="shift")return!1;if(a){if(!b&&!v)return!1}else if(s===!b&&k!=="meta"&&k!=="os"||d===!v&&k!=="ctrl"&&k!=="control")return!1}return p&&p.length===1&&(p.includes(k)||p.includes(S))?!0:p?n6(p):!p},eH=f.createContext(void 0),tH=function(){return f.useContext(eH)};function a6(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&a6(e[r],t[r])},!0):e===t}var nH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),rH=function(){return f.useContext(nH)};function oH(e){var t=f.useRef(void 0);return a6(t.current,e)||(t.current=e),t.current}var gS=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},sH=typeof window<"u"?f.useLayoutEffect:f.useEffect;function nt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,c=e instanceof Array?e.join(a==null?void 0:a.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var m=oH(a),v=rH(),b=v.enabledScopes,w=tH();return sH(function(){if(!((m==null?void 0:m.enabled)===!1||!JF(b,m==null?void 0:m.scopes))){var y=function(P,E){var O;if(E===void 0&&(E=!1),!(XF(P)&&!s6(P,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(P))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){gS(P);return}(O=P.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||E0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,T=O0(R,m==null?void 0:m.combinationKey);if(ZF(P,T,m==null?void 0:m.ignoreModifiers)||(M=T.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(YF(P,T,m==null?void 0:m.preventDefault),!QF(P,T,m==null?void 0:m.enabled)){gS(P);return}h.current(P,T),E||(s.current=!0)}})}},S=function(P){P.key!==void 0&&(r6(ii(P.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(P))},k=function(P){P.key!==void 0&&(o6(ii(P.code)),s.current=!1,m!=null&&m.keyup&&y(P,!0))},_=o.current||(a==null?void 0:a.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&E0(c,m==null?void 0:m.splitKey).forEach(function(I){return w.addHotkey(O0(I,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&E0(c,m==null?void 0:m.splitKey).forEach(function(I){return w.removeHotkey(O0(I,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const aH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return nt("esc",()=>{r(!1)}),i.jsxs(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:i.jsx(W,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?i.jsx(Qs,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Qs,{size:"lg",children:"Invalid Upload"}),i.jsx(Qs,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},iH=fe([Ye,Kn],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Ge),lH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=L(iH),o=L(jr),s=Bc(),{t:a}=be(),[c,d]=f.useState(!1),[p]=j_(),h=f.useCallback(I=>{d(!0),s({title:a("toast.uploadFailed"),description:I.errors.map(P=>P.message).join(` +`),status:"error"})},[a,s]),m=f.useCallback(async I=>{p({file:I,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n})},[n,r,p]),v=f.useCallback((I,P)=>{if(P.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}P.forEach(E=>{h(E)}),I.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=zb({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const I=async P=>{var E,O;_.current&&(E=P.clipboardData)!=null&&E.files&&(_.current.files=P.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",I),()=>{document.removeEventListener("paste",I)}},[_]),i.jsxs(Oe,{...b({style:{}}),onKeyDown:I=>{I.key},children:[i.jsx("input",{...w()}),t,i.jsx(Fo,{children:k&&c&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(aH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},cH=f.memo(lH),mn=e=>e.canvas,ir=fe([mn,Kn,mo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),uH=e=>e.canvas.layerState.objects.find(I_),dH=FD(e=>{e(E_(!0))},300),So=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&dH(e)};var fH=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Cr=globalThis&&globalThis.__assign||function(){return Cr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof a>"u"?void 0:Number(a)}},yH=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],wS="__resizable_base__",xH=function(e){mH(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(wS):s.className+=wS,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||gH},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(c){if(typeof n.state[c]>"u"||n.state[c]==="auto")return"auto";if(n.propsSize&&n.propsSize[c]&&n.propsSize[c].toString().endsWith("%")){if(n.state[c].toString().endsWith("%"))return n.state[c].toString();var d=n.getParentSize(),p=Number(n.state[c].toString().replace("px","")),h=p/d[c]*100;return h+"%"}return R0(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?R0(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?R0(r.height):o("height");return{width:s,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,a=o&&Ll("left",s),c=o&&Ll("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=a?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=c?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=c?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=c?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,m=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,w=d||0,y=p||0;if(c){var S=(v-w)*this.ratio+y,k=(b-w)*this.ratio+y,_=(h-y)/this.ratio+w,I=(m-y)/this.ratio+w,P=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,I);n=Bf(n,P,E),r=Bf(r,O,R)}else n=Bf(n,h,m),r=Bf(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),a=s.left,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=a,this.resizableRight=d,this.resizableTop=c,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&vH(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&Ff(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var c,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",c=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var m={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:c};this.setState(m)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Ff(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=Ff(n)?n.touches[0].clientX:n.clientX,h=Ff(n)?n.touches[0].clientY:n.clientY,m=this.state,v=m.direction,b=m.original,w=m.width,y=m.height,S=this.getParentSize(),k=bH(S,this.window.innerWidth,this.window.innerHeight,s,a,c,d);s=k.maxWidth,a=k.maxHeight,c=k.minWidth,d=k.minHeight;var _=this.calculateNewSizeFromDirection(p,h),I=_.newHeight,P=_.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(P=xS(P,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(I=xS(I,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(P,I,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(P=O.newWidth,I=O.newHeight,this.props.grid){var R=yS(P,this.props.grid[0]),M=yS(I,this.props.grid[1]),T=this.props.snapGap||0;P=T===0||Math.abs(R-P)<=T?R:P,I=T===0||Math.abs(M-I)<=T?M:I}var A={width:P-b.width,height:I-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var $=P/S.width*100;P=$+"%"}else if(w.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(w.endsWith("vh")){var B=P/this.window.innerHeight*100;P=B+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var $=I/S.height*100;I=$+"%"}else if(y.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(y.endsWith("vh")){var B=I/this.window.innerHeight*100;I=B+"vh"}}var V={width:this.createSizeForCssProperty(P,"width"),height:this.createSizeForCssProperty(I,"height")};this.flexDir==="row"?V.flexBasis=V.width:this.flexDir==="column"&&(V.flexBasis=V.height),_i.flushSync(function(){r.setState(V)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,A)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,a=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,c),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,a=r.handleClasses,c=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(m){return o[m]!==!1?f.createElement(hH,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:a&&a[m]},p&&p[m]?p[m]:null):null});return f.createElement("div",{className:d,style:c},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,c){return yH.indexOf(c)!==-1||(a[c]=n.props[c]),a},{}),o=qs(qs(qs({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,qs({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const wH=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),SH=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),a=n??(["left","right"].includes(e)?"95vw":void 0),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...a?{maxWidth:a}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},va="0.75rem",Wf="1rem",fu="5px",CH=({isResizable:e,direction:t})=>{const n=`calc((2 * ${va} + ${fu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:fu,paddingBottom:Wf},handleStyles:e?{top:{paddingTop:va,paddingBottom:va,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:fu,paddingInlineEnd:Wf},handleStyles:e?{right:{paddingInlineStart:va,paddingInlineEnd:va,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:fu,paddingTop:Wf},handleStyles:e?{bottom:{paddingTop:va,paddingBottom:va,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:fu,paddingInlineStart:Wf},handleStyles:e?{left:{paddingInlineStart:va,paddingInlineEnd:va,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},kH=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",ze=(e,t)=>n=>n==="light"?e:t,_H=Ie(xH,{shouldForwardProp:e=>!["sx"].includes(e)}),i6=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:a,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=Mc().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),I=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[P,E]=f.useState(_),[O,R]=f.useState(I);yN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?wH({direction:e,langDirection:y}):{},[t,y,e]),T=f.useMemo(()=>SH({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:A,handleStyles:$}=f.useMemo(()=>CH({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>kH(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(A3,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Oe,{ref:k,sx:{width:"full",height:"full"},children:i.jsx(_H,{size:{width:t?P:_,height:t?O:I},enable:M,handleStyles:$,...T,sx:{borderColor:ze("base.200","base.800")(S),p:4,bg:ze("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(B,V,q)=>{m&&m(B,V,q)},onResize:(B,V,q,G)=>{b&&b(B,V,q,G)},onResizeStop:(B,V,q,G)=>{["left","right"].includes(V)&&E(Number(P)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(B,V,q,G)},children:o})})})},PH=Te((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(wn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(gc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),rn=f.memo(PH);var l6={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},SS=F.createContext&&F.createContext(l6),fi=globalThis&&globalThis.__assign||function(){return fi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function ro(e,t){const n=Ii(t);if(Rs(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?jS(e,s,t):t.reduce((a,c)=>(a[c]=jS(e,s,c),a),o)}return o}e&&_n(Bo(t),o=>IW(e,o,t[o]))}const xs=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Dd=()=>typeof window<"u",C6=Dd()&&Node.ELEMENT_NODE,{toString:pW,hasOwnProperty:D0}=Object.prototype,Ha=e=>e===void 0,Pm=e=>e===null,hW=e=>Ha(e)||Pm(e)?`${e}`:pW.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),pi=e=>typeof e=="number",Ii=e=>typeof e=="string",Vb=e=>typeof e=="boolean",Os=e=>typeof e=="function",Rs=e=>Array.isArray(e),ed=e=>typeof e=="object"&&!Rs(e)&&!Pm(e),jm=e=>{const t=!!e&&e.length,n=pi(t)&&t>-1&&t%1==0;return Rs(e)||!Os(e)&&n?t>0&&ed(e)?t-1 in e:!0:!1},Qv=e=>{if(!e||!ed(e)||hW(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=D0.call(e,n),a=o&&D0.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Ha(t)||D0.call(e,t)},Qp=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===C6:!1},Im=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===C6:!1},Ub=(e,t,n)=>e.indexOf(t,n),Mn=(e,t,n)=>(!n&&!Ii(t)&&jm(t)?Array.prototype.push.apply(e,t):e.push(t),e),il=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{Mn(n,r)}):_n(e,r=>{Mn(n,r)}),n)},Gb=e=>!!e&&e.length===0,la=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Em=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Bo=e=>e?Object.keys(e):[],pr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Pm(e))&&!Os(e)&&(e={}),_n(c,d=>{_n(Bo(d),p=>{const h=d[p];if(e===h)return!0;const m=Rs(h);if(h&&(Qv(h)||m)){const v=e[p];let b=v;m&&!Rs(v)?b=[]:!m&&!Qv(v)&&(b={}),e[p]=pr(b,h)}else e[p]=h})}),e},qb=e=>{for(const t in e)return!1;return!0},k6=(e,t,n,r)=>{if(Ha(r))return n?n[e]:t;n&&(Ii(r)||pi(r))&&(n[e]=r)},no=(e,t,n)=>{if(Ha(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},xo=(e,t)=>{e&&e.removeAttribute(t)},Xi=(e,t,n,r)=>{if(n){const o=no(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=il(s).join(" ").trim();no(e,t,a)}},mW=(e,t,n)=>{const r=no(e,t)||"";return new Set(r.split(" ")).has(n)},_s=(e,t)=>k6("scrollLeft",0,e,t),Ca=(e,t)=>k6("scrollTop",0,e,t),Xv=Dd()&&Element.prototype,_6=(e,t)=>{const n=[],r=t?Im(t)?t:null:document;return r?Mn(n,r.querySelectorAll(e)):n},gW=(e,t)=>{const n=t?Im(t)?t:null:document;return n?n.querySelector(e):null},Xp=(e,t)=>Im(e)?(Xv.matches||Xv.msMatchesSelector).call(e,t):!1,Kb=e=>e?il(e.childNodes):[],Ta=e=>e?e.parentElement:null,Yl=(e,t)=>{if(Im(e)){const n=Xv.closest;if(n)return n.call(e,t);do{if(Xp(e,t))return e;e=Ta(e)}while(e)}return null},vW=(e,t,n)=>{const r=e&&Yl(e,t),o=e&&gW(n,r),s=Yl(o,t)===r;return r&&o?r===e||o===e||s&&Yl(Yl(e,n),t)!==r:!1},Yb=(e,t,n)=>{if(n&&e){let r=t,o;jm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ts=(e,t)=>{Yb(e,null,t)},bW=(e,t)=>{Yb(Ta(e),e,t)},kS=(e,t)=>{Yb(Ta(e),e&&e.nextSibling,t)},oa=e=>{if(jm(e))_n(il(e),t=>oa(t));else if(e){const t=Ta(e);t&&t.removeChild(e)}},Ji=e=>{const t=document.createElement("div");return e&&no(t,"class",e),t},P6=e=>{const t=Ji();return t.innerHTML=e.trim(),_n(Kb(t),n=>oa(n))},Jv=e=>e.charAt(0).toUpperCase()+e.slice(1),yW=()=>Ji().style,xW=["-webkit-","-moz-","-o-","-ms-"],wW=["WebKit","Moz","O","MS","webkit","moz","o","ms"],T0={},A0={},SW=e=>{let t=A0[e];if(Em(A0,e))return t;const n=Jv(e),r=yW();return _n(xW,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,Jv(s)+n].find(c=>r[c]!==void 0))}),A0[e]=t||""},Td=e=>{if(Dd()){let t=T0[e]||window[e];return Em(T0,e)||(_n(wW,n=>(t=t||window[n+Jv(e)],!t)),T0[e]=t),t}},CW=Td("MutationObserver"),_S=Td("IntersectionObserver"),Ql=Td("ResizeObserver"),j6=Td("cancelAnimationFrame"),I6=Td("requestAnimationFrame"),Jp=Dd()&&window.setTimeout,Zv=Dd()&&window.clearTimeout,kW=/[^\x20\t\r\n\f]+/g,E6=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ii(t)){const c=t.match(kW)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Qb=(e,t)=>{E6(e,t,(n,r)=>n.remove(r))},ka=(e,t)=>(E6(e,t,(n,r)=>n.add(r)),Qb.bind(0,e,t)),Om=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},O6=(e,t)=>Om(e,t,["w","h"]),R6=(e,t)=>Om(e,t,["x","y"]),_W=(e,t)=>Om(e,t,["t","r","b","l"]),PS=(e,t,n)=>Om(e,t,["width","height"],n&&(r=>Math.round(r))),es=()=>{},Ul=e=>{let t;const n=e?Jp:I6,r=e?Zv:j6;return[o=>{r(t),t=n(o,Os(e)?e():e)},()=>r(t)]},Xb=(e,t)=>{let n,r,o,s=es;const{v:a,g:c,p:d}=t||{},p=function(w){s(),Zv(n),n=r=void 0,s=es,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==es&&p(h(o)||o)},v=function(){const w=il(arguments),y=Os(a)?a():a;if(pi(y)&&y>=0){const k=Os(c)?c():c,_=pi(k)&&k>=0,I=y>0?Jp:I6,P=y>0?Zv:j6,O=h(w)||w,R=p.bind(0,O);s();const M=I(R,y);s=()=>P(M),_&&!n&&(n=Jp(m,k)),r=o=O}else p(w)};return v.m=m,v},PW={opacity:1,zindex:1},Vf=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},jW=(e,t)=>!PW[e.toLowerCase()]&&pi(t)?`${t}px`:t,jS=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],IW=(e,t,n)=>{try{const{style:r}=e;Ha(r[t])?r.setProperty(t,n):r[t]=jW(t,n)}catch{}},td=e=>ro(e,"direction")==="rtl",IS=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=ro(e,[s,a,c,d]);return{t:Vf(p[s],!0),r:Vf(p[a],!0),b:Vf(p[c],!0),l:Vf(p[d],!0)}},{round:ES}=Math,Jb={w:0,h:0},nd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:Jb,Pp=e=>e?{w:e.clientWidth,h:e.clientHeight}:Jb,Zp=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:Jb,eh=e=>{const t=parseFloat(ro(e,"height"))||0,n=parseFloat(ro(e,"width"))||0;return{w:n-ES(n),h:t-ES(t)}},Zs=e=>e.getBoundingClientRect();let Uf;const EW=()=>{if(Ha(Uf)){Uf=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Uf=!0}}))}catch{}}return Uf},M6=e=>e.split(" "),OW=(e,t,n,r)=>{_n(M6(t),o=>{e.removeEventListener(o,n,r)})},Dr=(e,t,n,r)=>{var o;const s=EW(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(M6(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;Mn(p,OW.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),la.bind(0,p)},D6=e=>e.stopPropagation(),T6=e=>e.preventDefault(),RW={x:0,y:0},N0=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:RW},OS=(e,t)=>{_n(Rs(t)?t:[t],e)},Zb=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);OS(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ii(s)){const p=t.get(s)||new Set;return t.set(s,p),OS(h=>{Os(h)&&p.add(h)},a),n.bind(0,s,a)}Vb(a)&&a&&n();const c=Bo(s),d=[];return _n(c,p=>{const h=s[p];h&&Mn(d,r(p,h))}),la.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(il(c),d=>{a&&!Gb(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},RS=e=>JSON.stringify(e,(t,n)=>{if(Os(n))throw new Error;return n}),MW={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},A6=(e,t)=>{const n={},r=Bo(t).concat(Bo(e));return _n(r,o=>{const s=e[o],a=t[o];if(ed(s)&&ed(a))pr(n[o]={},A6(s,a)),qb(n[o])&&delete n[o];else if(Em(t,o)&&a!==s){let c=!0;if(Rs(s)||Rs(a))try{RS(s)===RS(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},N6="os-environment",$6=`${N6}-flexbox-glue`,DW=`${$6}-max`,z6="os-scrollbar-hidden",$0="data-overlayscrollbars-initialize",ws="data-overlayscrollbars",L6=`${ws}-overflow-x`,B6=`${ws}-overflow-y`,cc="overflowVisible",TW="scrollbarHidden",MS="scrollbarPressed",th="updating",oi="data-overlayscrollbars-viewport",z0="arrange",F6="scrollbarHidden",uc=cc,e1="data-overlayscrollbars-padding",AW=uc,DS="data-overlayscrollbars-content",ey="os-size-observer",NW=`${ey}-appear`,$W=`${ey}-listener`,zW="os-trinsic-observer",LW="os-no-css-vars",BW="os-theme-none",Io="os-scrollbar",FW=`${Io}-rtl`,HW=`${Io}-horizontal`,WW=`${Io}-vertical`,H6=`${Io}-track`,ty=`${Io}-handle`,VW=`${Io}-visible`,UW=`${Io}-cornerless`,TS=`${Io}-transitionless`,AS=`${Io}-interaction`,NS=`${Io}-unusable`,$S=`${Io}-auto-hidden`,zS=`${Io}-wheel`,GW=`${H6}-interactive`,qW=`${ty}-interactive`,W6={},ll=()=>W6,KW=e=>{const t=[];return _n(Rs(e)?e:[e],n=>{const r=Bo(n);_n(r,o=>{Mn(t,W6[o]=n[o])})}),t},YW="__osOptionsValidationPlugin",QW="__osSizeObserverPlugin",ny="__osScrollbarsHidingPlugin",XW="__osClickScrollPlugin";let L0;const LS=(e,t,n,r)=>{ts(e,t);const o=Pp(t),s=nd(t),a=eh(n);return r&&oa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},JW=e=>{let t=!1;const n=ka(e,z6);try{t=ro(e,SW("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},ZW=(e,t)=>{const n="hidden";ro(e,{overflowX:n,overflowY:n,direction:"rtl"}),_s(e,0);const r=N0(e),o=N0(t);_s(e,-999);const s=N0(t);return{i:r.x===o.x,n:o.x!==s.x}},eV=(e,t)=>{const n=ka(e,$6),r=Zs(e),o=Zs(t),s=PS(o,r,!0),a=ka(e,DW),c=Zs(e),d=Zs(t),p=PS(d,c,!0);return n(),a(),s&&p},tV=()=>{const{body:e}=document,n=P6(`
`)[0],r=n.firstChild,[o,,s]=Zb(),[a,c]=xs({o:LS(e,n,r),u:R6},LS.bind(0,e,n,r,!0)),[d]=c(),p=JW(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:_=>p&&_===_.ownerDocument.body&&_,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=pr({},MW),b=pr.bind(0,{},v),w=pr.bind(0,{},m),y={k:d,A:h,I:p,L:ro(n,"zIndex")==="-1",B:ZW(n,r),V:eV(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>pr(m,_)&&w(),F:b,G:_=>pr(v,_)&&b(),X:pr({},m),U:pr({},v)},S=window.addEventListener,k=Xb(_=>s(_?"z":"r"),{v:33,g:99});if(xo(n,"style"),oa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const I=ll()[ny];_=_||I&&I.R(),_&&_(y,a,k.bind(0,!0))})}return y},Eo=()=>(L0||(L0=tV()),L0),ry=(e,t)=>Os(t)?t.apply(0,e):t,nV=(e,t,n,r)=>{const o=Ha(r)?n:r;return ry(e,o)||t.apply(0,e)},V6=(e,t,n,r)=>{const o=Ha(r)?n:r,s=ry(e,o);return!!s&&(Qp(s)?s:t.apply(0,e))},rV=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Eo(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ha(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Pm(h)?!a:h);return!!m||!!v},oy=new WeakMap,oV=(e,t)=>{oy.set(e,t)},sV=e=>{oy.delete(e)},U6=e=>oy.get(e),BS=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Em(n,r)?n[r]:void 0,e):void 0,t1=(e,t,n)=>r=>[BS(e,r),n||BS(t,r)!==void 0],G6=e=>{let t=e;return[()=>t,n=>{t=pr({},t,n)}]},Gf="tabindex",qf=Ji.bind(0,""),B0=e=>{ts(Ta(e),Kb(e)),oa(e)},aV=e=>{const t=Eo(),{N:n,I:r}=t,o=ll()[ny],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=Qp(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,I=Xp(_,"textarea"),P=_.ownerDocument,E=P.documentElement,O=_===P.body,R=P.defaultView,M=nV.bind(0,[_]),T=V6.bind(0,[_]),A=ry.bind(0,[_]),$=M.bind(0,qf,p),Q=T.bind(0,qf,h),B=$(S),V=B===_,q=V&&O,G=!V&&Q(k),D=!V&&Qp(B)&&B===G,z=D&&!!A(h),H=z?$():B,Y=z?G:Q(),ye=q?E:D?H:B,Z=I?M(qf,c,w):_,se=q?ye:Z,K=D?Y:G,U=P.activeElement,ae=!V&&R.top===R&&U===_,re={W:_,Z:se,J:ye,K:!V&&T(qf,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:ye,st:q?P:ye,et:R,ct:P,rt:I,it:O,lt:m,ut:V,dt:D,ft:(vt,bt)=>mW(ye,V?ws:oi,V?bt:vt),_t:(vt,bt,we)=>Xi(ye,V?ws:oi,V?bt:vt,we)},oe=Bo(re).reduce((vt,bt)=>{const we=re[bt];return Mn(vt,we&&!Ta(we)?we:!1)},[]),pe=vt=>vt?Ub(oe,vt)>-1:null,{W:ce,Z:ge,K:_e,J:le,tt:Se,nt:Fe}=re,Ae=[()=>{xo(ge,ws),xo(ge,$0),xo(ce,$0),O&&(xo(E,ws),xo(E,$0))}],He=I&&pe(ge);let Ct=I?ce:Kb([Se,le,_e,ge,ce].find(vt=>pe(vt)===!1));const ct=q?ce:Se||le;return[re,()=>{no(ge,ws,V?"viewport":"host"),no(_e,e1,""),no(Se,DS,""),V||no(le,oi,"");const vt=O&&!V?ka(Ta(_),z6):es;if(He&&(kS(ce,ge),Mn(Ae,()=>{kS(ge,ce),oa(ge)})),ts(ct,Ct),ts(ge,_e),ts(_e||ge,!V&&le),ts(le,Se),Mn(Ae,()=>{vt(),xo(_e,e1),xo(Se,DS),xo(le,L6),xo(le,B6),xo(le,oi),pe(Se)&&B0(Se),pe(le)&&B0(le),pe(_e)&&B0(_e)}),r&&!V&&(Xi(le,oi,F6,!0),Mn(Ae,xo.bind(0,le,oi))),Fe&&(bW(le,Fe),Mn(Ae,oa.bind(0,Fe))),ae){const bt=no(le,Gf);no(le,Gf,"-1"),le.focus();const we=()=>bt?no(le,Gf,bt):xo(le,Gf),Re=Dr(P,"pointerdown keydown",()=>{we(),Re()});Mn(Ae,[we,Re])}else U&&U.focus&&U.focus();Ct=0},la.bind(0,Ae)]},iV=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Eo(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&ro(n,{height:a?"":"100%"}),{gt:d,wt:d}}},lV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=xs({u:_W,o:IS()},IS.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Eo(),{bt:k}=n(),{gt:_,wt:I,yt:P}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&I)&&([b,w]=d(v));const M=!c&&(O||P||w);if(M){const T=!E||!s&&!y,A=b.r+b.l,$=b.t+b.b,Q={marginRight:T&&!k?-A:0,marginBottom:T?-$:0,marginLeft:T&&k?-A:0,top:T?-b.t:0,right:T?k?-b.r:"auto":0,left:T?k?"auto":-b.l:0,width:T?`calc(100% + ${A}px)`:""},B={paddingTop:T?b.t:0,paddingRight:T?b.r:0,paddingBottom:T?b.b:0,paddingLeft:T?b.l:0};ro(s||a,Q),ro(a,B),r({K:b,St:!T,P:s?B:pr({},Q,B)})}return{xt:M}}},{max:n1}=Math,si=n1.bind(0,0),q6="visible",FS="hidden",cV=42,Kf={u:O6,o:{w:0,h:0}},uV={u:R6,o:{x:FS,y:FS}},dV=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:si(e.w-t.w),h:si(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},Yf=e=>e.indexOf(q6)===0,fV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Eo(),S=ll()[ny],k=!d&&!w&&(y.x||y.y),_=h&&d,[I,P]=xs(Kf,eh.bind(0,a)),[E,O]=xs(Kf,Zp.bind(0,a)),[R,M]=xs(Kf),[T,A]=xs(Kf),[$]=xs(uV),Q=(z,H)=>{if(ro(a,{height:""}),H){const{St:Y,K:ie}=n(),{$t:ye,D:Z}=z,se=eh(o),K=Pp(o),U=ro(a,"boxSizing")==="content-box",ae=Y||U?ie.b+ie.t:0,re=!(y.x&&U);ro(a,{height:K.h+se.h+(ye.x&&re?Z.x:0)-ae})}},B=(z,H)=>{const Y=!w&&!z?cV:0,ie=(pe,ce,ge)=>{const _e=ro(a,pe),Se=(H?H[pe]:_e)==="scroll";return[_e,Se,Se&&!w?ce?Y:ge:0,ce&&!!Y]},[ye,Z,se,K]=ie("overflowX",y.x,v.x),[U,ae,re,oe]=ie("overflowY",y.y,v.y);return{Ct:{x:ye,y:U},$t:{x:Z,y:ae},D:{x:se,y:re},M:{x:K,y:oe}}},V=(z,H,Y,ie)=>{const ye=(ae,re)=>{const oe=Yf(ae),pe=re&&oe&&ae.replace(`${q6}-`,"")||"";return[re&&!oe?ae:"",Yf(pe)?"hidden":pe]},[Z,se]=ye(Y.x,H.x),[K,U]=ye(Y.y,H.y);return ie.overflowX=se&&K?se:Z,ie.overflowY=U&&Z?U:K,B(z,ie)},q=(z,H,Y,ie)=>{const{D:ye,M:Z}=z,{x:se,y:K}=Z,{x:U,y:ae}=ye,{P:re}=n(),oe=H?"marginLeft":"marginRight",pe=H?"paddingLeft":"paddingRight",ce=re[oe],ge=re.marginBottom,_e=re[pe],le=re.paddingBottom;ie.width=`calc(100% + ${ae+-1*ce}px)`,ie[oe]=-ae+ce,ie.marginBottom=-U+ge,Y&&(ie[pe]=_e+(K?ae:0),ie.paddingBottom=le+(se?U:0))},[G,D]=S?S.H(k,b,a,c,n,B,q):[()=>k,()=>[es]];return(z,H,Y)=>{const{gt:ie,Ot:ye,wt:Z,xt:se,vt:K,yt:U}=z,{ht:ae,bt:re}=n(),[oe,pe]=H("showNativeOverlaidScrollbars"),[ce,ge]=H("overflow"),_e=oe&&y.x&&y.y,le=!d&&!b&&(ie||Z||ye||pe||K),Se=Yf(ce.x),Fe=Yf(ce.y),Ae=Se||Fe;let He=P(Y),Ct=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(F6,TW,!_e),le&&(vt=B(_e),Q(vt,ae)),ie||se||Z||U||pe){Ae&&p(uc,cc,!1);const[Pe,Je]=D(_e,re,vt),[Qe,dt]=He=I(Y),[Lt,lr]=Ct=E(Y),pn=Pp(a);let ln=Lt,Fr=pn;Pe(),(lr||dt||pe)&&Je&&!_e&&G(Je,Lt,Qe,re)&&(Fr=Pp(a),ln=Zp(a));const br={w:si(n1(Lt.w,ln.w)+Qe.w),h:si(n1(Lt.h,ln.h)+Qe.h)},Fn={w:si((_?m.innerWidth:Fr.w+si(pn.w-Lt.w))+Qe.w),h:si((_?m.innerHeight+Qe.h:Fr.h+si(pn.h-Lt.h))+Qe.h)};on=T(Fn),ct=R(dV(br,Fn),Y)}const[bt,we]=on,[Re,Pt]=ct,[At,xe]=Ct,[ht,$t]=He,zt={x:Re.w>0,y:Re.h>0},Ne=Se&&Fe&&(zt.x||zt.y)||Se&&zt.x&&!zt.y||Fe&&zt.y&&!zt.x;if(se||U||$t||xe||we||Pt||ge||pe||le){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Je=V(_e,zt,ce,Pe),Qe=G(Je,At,ht,re);d||q(Je,re,Qe,Pe),le&&Q(Je,ae),d?(no(o,L6,Pe.overflowX),no(o,B6,Pe.overflowY)):ro(a,Pe)}Xi(o,ws,cc,Ne),Xi(s,e1,AW,Ne),d||Xi(a,oi,uc,Ae);const[qe,Pn]=$(B(_e).Ct);return r({Ct:qe,zt:{x:bt.w,y:bt.h},Tt:{x:Re.w,y:Re.h},Et:zt}),{It:Pn,At:we,Lt:Pt}}},HS=(e,t,n)=>{const r={},o=t||{},s=Bo(e).concat(Bo(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},pV=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Eo(),p=!a&&(c.x||c.y),h=[iV(e,t),lV(e,t),fV(e,t)];return(m,v,b)=>{const w=HS(pr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&_s(r),k=y&&Ca(r);o("",th,!0);let _=w;return _n(h,I=>{_=HS(_,I(_,m,!!b)||{},b)}),_s(r,S),Ca(r,k),o("",th),s||(_s(n,0),Ca(n,0)),_}},hV=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):_6(m,e));b&&b.length&&v&&Ii(v)&&Mn(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Dr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,Mn(v,w))}else la(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},WS=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Xb(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=hV(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(I,P)=>{const E=p||es,O=h||es,R=new Set,M=new Set;let T=!1,A=!1;if(_n(I,$=>{const{attributeName:Q,target:B,type:V,oldValue:q,addedNodes:G,removedNodes:D}=$,z=V==="attributes",H=V==="childList",Y=e===B,ie=z&&Ii(Q)?no(B,Q):0,ye=ie!==0&&q!==ie,Z=Ub(y,Q)>-1&&ye;if(t&&(H||!Y)){const se=!z,K=z&&ye,U=K&&d&&Xp(B,d),re=(U?!E(B,Q,q,ie):se||K)&&!O($,!!U,e,r);_n(G,oe=>R.add(oe)),_n(D,oe=>R.add(oe)),A=A||re}!t&&Y&&ye&&!E(B,Q,q,ie)&&(M.add(Q),T=T||Z)}),R.size>0&&b($=>il(R).reduce((Q,B)=>(Mn(Q,_6($,B)),Xp(B,$)?Mn(Q,B):Q),[])),t)return!P&&A&&n(!1),[!1];if(M.size>0||T){const $=[il(M),T];return!P&&n.apply(0,$),$}},_=new CW(I=>k(I));return _.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),_.disconnect(),o=!1)},()=>{if(o){m.m();const I=_.takeRecords();return!Gb(I)&&k(I,!0)}}]},Qf=3333333,Xf=e=>e&&(e.height||e.width),K6=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=ll()[QW],{B:a}=Eo(),d=P6(`
`)[0],p=d.firstChild,h=td.bind(0,e),[m]=xs({o:void 0,_:!0,u:(y,S)=>!(!y||!Xf(y)&&Xf(S))}),v=y=>{const S=Rs(y)&&y.length>0&&ed(y[0]),k=!S&&Vb(y[0]);let _=!1,I=!1,P=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=Xf(E),M=Xf(O);_=!O||!R,I=!M&&R,P=!_}else k?[,P]=y:I=y===!0;if(r&&P){const E=k?y[0]:td(d);_s(d,E?a.n?-Qf:a.i?0:Qf:Qf),Ca(d,Qf)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!I})},b=[];let w=o?v:!1;return[()=>{la(b),oa(d)},()=>{if(Ql){const y=new Ql(v);y.observe(p),Mn(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,Mn(b,S)}if(r){const[y]=xs({o:void 0},h);Mn(b,Dr(d,"scroll",S=>{const k=y(),[_,I,P]=k;I&&(Qb(p,"ltr rtl"),_?ka(p,"rtl"):ka(p,"ltr"),v([!!_,I,P])),D6(S)}))}w&&(ka(d,NW),Mn(b,Dr(d,"animationstart",w,{C:!!Ql}))),(Ql||s)&&ts(e,d)}]},mV=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,gV=(e,t)=>{let n;const r=Ji(zW),o=[],[s]=xs({o:!1}),a=(d,p)=>{if(d){const h=s(mV(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{la(o),oa(r)},()=>{if(_S)n=new _S(d=>c(d),{root:e}),n.observe(r),Mn(o,()=>{n.disconnect()});else{const d=()=>{const m=nd(r);a(m)},[p,h]=K6(r,d);Mn(o,p),h(),d()}ts(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},VS=`[${ws}]`,vV=`[${oi}]`,F0=["tabindex"],US=["wrap","cols","rows"],H0=["id","class","style","open"],bV=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Eo(),[w]=xs({u:O6,o:{w:0,h:0}},()=>{const V=m(uc,cc),q=m(z0,""),G=q&&_s(c),D=q&&Ca(c);v(uc,cc),v(z0,""),v("",th,!0);const z=Zp(d),H=Zp(c),Y=eh(c);return v(uc,cc,V),v(z0,"",q),v("",th),_s(c,G),Ca(c,D),{w:H.w+z.w+Y.w,h:H.h+z.h+Y.h}}),y=p?US:H0.concat(US),S=Xb(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[D]=q;return[Bo(G).concat(Bo(D)).reduce((z,H)=>(z[H]=G[H]||D[H],z),{})]}}),k=V=>{_n(V||F0,q=>{if(Ub(F0,q)>-1){const G=no(a,q);Ii(G)?no(c,q,G):xo(c,q)}})},_=(V,q)=>{const[G,D]=V,z={vt:D};return t({ht:G}),!q&&n(z),z},I=({gt:V,Yt:q,Vt:G})=>{const D=!V||G?n:S;let z=!1;if(q){const[H,Y]=q;z=Y,t({bt:H})}D({gt:V,yt:z})},P=(V,q)=>{const[,G]=w(),D={wt:G};return G&&!q&&(V?n:S)(D),D},E=(V,q,G)=>{const D={Ot:q};return q?!G&&S(D):h||k(V),D},[O,R,M]=d||!b?gV(a,_):[es,es,es],[T,A]=h?[es,es]:K6(a,I,{Vt:!0,Bt:!0}),[$,Q]=WS(a,!1,E,{Pt:H0,Ht:H0.concat(F0)}),B=h&&Ql&&new Ql(I.bind(0,{gt:!0}));return B&&B.observe(a),k(),[()=>{O(),T(),s&&s[0](),B&&B.disconnect(),$()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),D=s&&s[1]();return q&&pr(V,E.apply(0,Mn(q,!0))),G&&pr(V,_.apply(0,Mn(G,!0))),D&&pr(V,P.apply(0,Mn(D,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,D]=V("update.attributes"),[z,H]=V("update.elementEvents"),[Y,ie]=V("update.debounce"),ye=H||D,Z=se=>Os(q)&&q(se);if(ye&&(s&&(s[1](),s[0]()),s=WS(d||c,!0,P,{Ht:y.concat(G||[]),Dt:z,Mt:VS,kt:(se,K)=>{const{target:U,attributeName:ae}=se;return(!K&&ae&&!h?vW(U,VS,vV):!1)||!!Yl(U,`.${Io}`)||!!Z(se)}})),ie)if(S.m(),Rs(Y)){const se=Y[0],K=Y[1];r=pi(se)&&se,o=pi(K)&&K}else pi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},GS={x:0,y:0},yV=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:GS,Tt:GS,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:td(e.Z)}),xV=(e,t)=>{const n=t1(t,{}),[r,o,s]=Zb(),[a,c,d]=aV(e),p=G6(yV(a)),[h,m]=p,v=pV(a,p),b=(I,P,E)=>{const R=Bo(I).some(M=>I[M])||!qb(P)||E;return R&&s("u",[I,P,E]),R},[w,y,S,k]=bV(a,m,I=>b(v(n,I),{},!1)),_=h.bind(0);return _.jt=I=>r("u",I),_.Nt=()=>{const{W:I,J:P}=a,E=_s(I),O=Ca(I);y(),c(),_s(P,E),Ca(P,O)},_.qt=a,[(I,P)=>{const E=t1(t,I,P);return k(E),b(v(E,S(),P),I,!!P)},_,()=>{o(),w(),d()}]},{round:qS}=Math,wV=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=nd(e);return{x:qS(t)/r||1,y:qS(n)/o||1}},SV=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},CV=(e,t)=>Dr(e,"mousedown",Dr.bind(0,t,"click",D6,{C:!0,$:!0}),{$:!0}),KS="pointerup pointerleave pointercancel lostpointercapture",kV=(e,t,n,r,o,s,a)=>{const{B:c}=Eo(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",k=(_,I)=>P=>{const{Tt:E}=s(),O=nd(p)[y]-nd(d)[y],M=I*P/O*E[S],A=td(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Dr(p,"pointerdown",_=>{const I=Yl(_.target,`.${ty}`)===d,P=I?d:p;if(Xi(t,ws,MS,!0),SV(_,e,I)){const E=!I&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=(H,Y)=>(H||O())[w]-(Y||R())[w],T=k(o[m]||0,1/wV(o)[S]),A=_[v],$=O(),Q=R(),B=$[b],V=M($,Q)+B/2,q=A-Q[w],G=I?0:q-V,D=H=>{la(z),P.releasePointerCapture(H.pointerId)},z=[Xi.bind(0,t,ws,MS),Dr(n,KS,D),Dr(n,"selectstart",H=>T6(H),{S:!1}),Dr(p,KS,D),Dr(p,"pointermove",H=>{const Y=H[v]-A;(I||E)&&T(G+Y)})];if(E)T(G);else if(!I){const H=ll()[XW];H&&Mn(z,H.O(T,M,G,B,q))}P.setPointerCapture(_.pointerId)}})},_V=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Ul(333),m=!!a.scrollBy;let v=!0;return la.bind(0,[Dr(d,"pointerenter",()=>{r(AS,!0)}),Dr(d,"pointerleave pointercancel",()=>{r(AS)}),Dr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&Ta(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(zS,!0),p(()=>{v=!0,r(zS)}),T6(b)},{S:!1,$:!0}),CV(d,o),kV(e,s,o,n,a,t,c),h])},{min:r1,max:YS,abs:PV,round:jV}=Math,Y6=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return YS(0,r1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return YS(0,r1(1,s/a))},IV=(e,t,n,r,o,s)=>{const{B:a}=Eo(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=jV(p[c]),m=PV(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=r1(1,(v?b:m)/h),S=Y6(e,t,s);return 1/S*(1-S)*y},EV=(e,t,n)=>{const{N:r,L:o}=Eo(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},k=V6([d,p,h],()=>w&&b?d:p,a,S),_=(G,D,z)=>{const H=z?ka:Qb;_n(G,Y=>{H(Y.Xt,D)})},I=(G,D)=>{_n(G,z=>{const[H,Y]=D(z);ro(H,Y)})},P=(G,D,z)=>{I(G,H=>{const{Ft:Y,Gt:ie}=H;return[Y,{[z?"width":"height"]:`${(100*Y6(Y,ie,z,D)).toFixed(3)}%`}]})},E=(G,D,z)=>{const H=z?"X":"Y";I(G,Y=>{const{Ft:ie,Gt:ye,Xt:Z}=Y,se=IV(ie,ye,v,D,td(Z),z);return[ie,{transform:se===se?`translate${H}(${(100*se).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],T=(G,D,z)=>{const H=Vb(z),Y=H?z:!0,ie=H?!z:!0;Y&&_(R,G,D),ie&&_(M,G,D)},A=G=>{P(R,G,!0),P(M,G)},$=G=>{E(R,G,!0),E(M,G)},Q=G=>{const D=G?HW:WW,z=G?R:M,H=Gb(z)?TS:"",Y=Ji(`${Io} ${D} ${H}`),ie=Ji(H6),ye=Ji(ty),Z={Xt:Y,Gt:ie,Ft:ye};return o||ka(Y,LW),ts(Y,ie),ts(ie,ye),Mn(z,Z),Mn(O,[oa.bind(0,Y),n(Z,T,c,p,v,G)]),Z},B=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ts(k,R[0].Xt),ts(k,M[0].Xt),Jp(()=>{T(TS)},300)};return B(),V(),[{Ut:A,Wt:$,Zt:T,Jt:{Kt:R,Qt:B,tn:I.bind(0,R)},nn:{Kt:M,Qt:V,tn:I.bind(0,M)}},q,la.bind(0,O)]},OV=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=G6({}),[m]=h,[v,b]=Ul(),[w,y]=Ul(),[S,k]=Ul(100),[_,I]=Ul(100),[P,E]=Ul(()=>p),[O,R,M]=EV(e,n.qt,_V(t,n)),{Z:T,J:A,ot:$,st:Q,ut:B,it:V}=n.qt,{Jt:q,nn:G,Zt:D,Ut:z,Wt:H}=O,{tn:Y}=q,{tn:ie}=G,ye=ae=>{const{Xt:re}=ae,oe=B&&!V&&Ta(re)===A&&re;return[oe,{transform:oe?`translate(${_s($)}px, ${Ca($)}px)`:""}]},Z=(ae,re)=>{if(E(),ae)D($S);else{const oe=()=>D($S,!0);p>0&&!re?P(oe):oe()}},se=()=>{c=s,c&&Z(!0)},K=[k,E,I,y,b,M,Dr(T,"pointerover",se,{C:!0}),Dr(T,"pointerenter",se),Dr(T,"pointerleave",()=>{c=!1,s&&Z(!1)}),Dr(T,"pointermove",()=>{o&&v(()=>{k(),Z(!0),_(()=>{o&&Z(!1)})})}),Dr(Q,"scroll",ae=>{w(()=>{H(n()),a&&Z(!0),S(()=>{a&&!c&&Z(!1)})}),r(ae),B&&Y(ye),B&&ie(ye)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(ae,re,oe)=>{const{At:pe,Lt:ce,It:ge,yt:_e}=oe,{A:le}=Eo(),Se=t1(t,ae,re),Fe=n(),{Tt:Ae,Ct:He,bt:Ct}=Fe,[ct,on]=Se("showNativeOverlaidScrollbars"),[vt,bt]=Se("scrollbars.theme"),[we,Re]=Se("scrollbars.visibility"),[Pt,At]=Se("scrollbars.autoHide"),[xe]=Se("scrollbars.autoHideDelay"),[ht,$t]=Se("scrollbars.dragScroll"),[zt,Ne]=Se("scrollbars.clickScroll"),qe=pe||ce||_e,Pn=ge||Re,Pe=ct&&le.x&&le.y,Je=(Qe,dt)=>{const Lt=we==="visible"||we==="auto"&&Qe==="scroll";return D(VW,Lt,dt),Lt};if(p=xe,on&&D(BW,Pe),bt&&(D(d),D(vt,!0),d=vt),At&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",Z(!a,!0)),$t&&D(qW,ht),Ne&&D(GW,zt),Pn){const Qe=Je(He.x,!0),dt=Je(He.y,!1);D(UW,!(Qe&&dt))}qe&&(z(Fe),H(Fe),D(NS,!Ae.x,!0),D(NS,!Ae.y,!1),D(FW,Ct&&!V))},U,la.bind(0,K)]},Q6=(e,t,n)=>{Os(e)&&e(t||void 0,n||void 0)},ci=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Eo(),c=ll(),d=Qp(e),p=d?e:e.target,h=U6(p);if(t&&!h){let m=!1;const v=B=>{const V=ll()[YW],q=V&&V.O;return q?q(B,!0):B},b=pr({},r(),v(t)),[w,y,S]=Zb(n),[k,_,I]=xV(e,b),[P,E,O]=OV(e,b,_,B=>S("scroll",[Q,B])),R=(B,V)=>k(B,!!V),M=R.bind(0,{},!0),T=s(M),A=a(M),$=B=>{sV(p),T(),A(),O(),I(),m=!0,S("destroyed",[Q,!!B]),y()},Q={options(B,V){if(B){const q=V?r():{},G=A6(b,pr(q,v(B)));qb(G)||(pr(b,G),R(G))}return pr({},b)},on:w,off:(B,V)=>{B&&V&&y(B,V)},state(){const{zt:B,Tt:V,Ct:q,Et:G,K:D,St:z,bt:H}=_();return pr({},{overflowEdge:B,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:D,paddingAbsolute:z,directionRTL:H,destroyed:m})},elements(){const{W:B,Z:V,K:q,J:G,tt:D,ot:z,st:H}=_.qt,{Jt:Y,nn:ie}=E.qt,ye=se=>{const{Ft:K,Gt:U,Xt:ae}=se;return{scrollbar:ae,track:U,handle:K}},Z=se=>{const{Kt:K,Qt:U}=se,ae=ye(K[0]);return pr({},ae,{clone:()=>{const re=ye(U());return P({},!0,{}),re}})};return pr({},{target:B,host:V,padding:q||G,viewport:G,content:D||G,scrollOffsetElement:z,scrollEventElement:H,scrollbarHorizontal:Z(Y),scrollbarVertical:Z(ie)})},update:B=>R({},B),destroy:$.bind(0)};return _.jt((B,V,q)=>{P(V,q,B)}),oV(p,Q),_n(Bo(c),B=>Q6(c[B],0,Q)),rV(_.qt.it,o().cancel,!d&&e.cancel)?($(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((B,V,q)=>{const{gt:G,yt:D,vt:z,At:H,Lt:Y,It:ie,wt:ye,Ot:Z}=B;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:D,heightIntrinsicChanged:z,overflowEdgeChanged:H,overflowAmountChanged:Y,overflowStyleChanged:ie,contentMutation:ye,hostMutation:Z},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};ci.plugin=e=>{_n(KW(e),t=>Q6(t,ci))};ci.valid=e=>{const t=e&&e.elements,n=Os(t)&&t();return Qv(n)&&!!U6(n.target)};ci.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Eo();return pr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const RV=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},sy=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(RV,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,ci.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,ci.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(ci.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=ci(h,b,w);v?o(y,v):y()},()=>a.current],[])},MV=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=sy({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),F.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},F.createElement("div",{ref:h},a))},X6=f.forwardRef(MV);var J6={exports:{}},Z6={};const No=T1(_R),pu=T1(PR),DV=T1(jR);(function(e){var t,n,r=Rl&&Rl.__generator||function(X,ee){var he,ke,me,ut,st={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ft(0),throw:Ft(1),return:Ft(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ft(ft){return function(xt){return function(Be){if(he)throw new TypeError("Generator is already executing.");for(;st;)try{if(he=1,ke&&(me=2&Be[0]?ke.return:Be[0]?ke.throw||((me=ke.return)&&me.call(ke),0):ke.next)&&!(me=me.call(ke,Be[1])).done)return me;switch(ke=0,me&&(Be=[2&Be[0],me.value]),Be[0]){case 0:case 1:me=Be;break;case 4:return st.label++,{value:Be[1],done:!1};case 5:st.label++,ke=Be[1],Be=[0];continue;case 7:Be=st.ops.pop(),st.trys.pop();continue;default:if(!((me=(me=st.trys).length>0&&me[me.length-1])||Be[0]!==6&&Be[0]!==2)){st=0;continue}if(Be[0]===3&&(!me||Be[1]>me[0]&&Be[1]=200&&X.status<=299},Q=function(X){return/ion\/(vnd\.api\+)?json/.test(X.get("content-type")||"")};function B(X){if(!(0,T.isPlainObject)(X))return X;for(var ee=S({},X),he=0,ke=Object.entries(ee);he"u"&&st===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(Jt,Vt){return E(ee,null,function(){var $e,yt,Mt,Ht,jn,Ut,un,sn,Ir,Xn,It,In,On,Jn,hr,Tn,An,dn,Sn,En,vn,bn,Ke,Ot,St,at,wt,Bt,mt,ot,Ee,je,Me,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return $e=Vt.signal,yt=Vt.getState,Mt=Vt.extra,Ht=Vt.endpoint,jn=Vt.forced,Ut=Vt.type,Ir=(sn=typeof Jt=="string"?{url:Jt}:Jt).url,It=(Xn=sn.headers)===void 0?new Headers(Gt.headers):Xn,On=(In=sn.params)===void 0?void 0:In,hr=(Jn=sn.responseHandler)===void 0?Et??"json":Jn,An=(Tn=sn.validateStatus)===void 0?Nt??$:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=I(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),vn=S(k(S({},Gt),{signal:$e}),En),It=new Headers(B(It)),bn=vn,[4,me(It,{getState:yt,extra:Mt,endpoint:Ht,forced:jn,type:Ut})];case 1:bn.headers=Rt.sent()||It,Ke=function(Ve){return typeof Ve=="object"&&((0,T.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!vn.headers.has("content-type")&&Ke(vn.body)&&vn.headers.set("content-type",Ce),Ke(vn.body)&&xt(vn.headers)&&(vn.body=JSON.stringify(vn.body,Xe)),On&&(Ot=~Ir.indexOf("?")?"&":"?",St=Ft?Ft(On):new URLSearchParams(B(On)),Ir+=Ot+St),Ir=function(Ve,en){if(!Ve)return en;if(!en)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(en))return en;var yn=Ve.endsWith("/")||!en.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+yn+function(hn){return hn.replace(/^\//,"")}(en)}(he,Ir),at=new Request(Ir,vn),wt=at.clone(),un={request:wt},mt=!1,ot=Sn&&setTimeout(function(){mt=!0,Vt.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,st(at)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Ee=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:un}];case 5:return ot&&clearTimeout(ot),[7];case 6:je=Bt.clone(),un.response=je,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([Zt(Bt,hr).then(function(Ve){return Me=Ve},function(Ve){return Ze=Ve}),je.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),Ze)throw Ze;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,An(Bt,Me)?{data:Me,meta:un}:{error:{status:Bt.status,data:Me},meta:un}]}})})};function Zt(Jt,Vt){return E(this,null,function(){var $e;return r(this,function(yt){switch(yt.label){case 0:return typeof Vt=="function"?[2,Vt(Jt)]:(Vt==="content-type"&&(Vt=xt(Jt.headers)?"json":"text"),Vt!=="json"?[3,2]:[4,Jt.text()]);case 1:return[2,($e=yt.sent()).length?JSON.parse($e):null];case 2:return[2,Jt.text()]}})})}}var q=function(X,ee){ee===void 0&&(ee=void 0),this.value=X,this.meta=ee};function G(X,ee){return X===void 0&&(X=0),ee===void 0&&(ee=5),E(this,null,function(){var he,ke;return r(this,function(me){switch(me.label){case 0:return he=Math.min(X,ee),ke=~~((Math.random()+.4)*(300<=je)}var En=(0,He.createAsyncThunk)(On+"/executeQuery",dn,{getPendingMeta:function(){var Ke;return(Ke={startedTimeStamp:Date.now()})[He.SHOULD_AUTOBATCH]=!0,Ke},condition:function(Ke,Ot){var St,at,wt,Bt=(0,Ot.getState)(),mt=(at=(St=Bt[On])==null?void 0:St.queries)==null?void 0:at[Ke.queryCacheKey],ot=mt==null?void 0:mt.fulfilledTimeStamp,Ee=Ke.originalArgs,je=mt==null?void 0:mt.originalArgs,Me=hr[Ke.endpointName];return!(!Se(Ke)&&((mt==null?void 0:mt.status)==="pending"||!Sn(Ke,Bt)&&(!oe(Me)||!((wt=Me==null?void 0:Me.forceRefetch)!=null&&wt.call(Me,{currentArg:Ee,previousArg:je,endpointState:mt,state:Bt})))&&ot))},dispatchConditionRejection:!0}),vn=(0,He.createAsyncThunk)(On+"/executeMutation",dn,{getPendingMeta:function(){var Ke;return(Ke={startedTimeStamp:Date.now()})[He.SHOULD_AUTOBATCH]=!0,Ke}});function bn(Ke){return function(Ot){var St,at;return((at=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:at.endpointName)===Ke}}return{queryThunk:En,mutationThunk:vn,prefetch:function(Ke,Ot,St){return function(at,wt){var Bt=function(Me){return"force"in Me}(St)&&St.force,mt=function(Me){return"ifOlderThan"in Me}(St)&&St.ifOlderThan,ot=function(Me){return Me===void 0&&(Me=!0),An.endpoints[Ke].initiate(Ot,{forceRefetch:Me})},Ee=An.endpoints[Ke].select(Ot)(wt());if(Bt)at(ot());else if(mt){var je=Ee==null?void 0:Ee.fulfilledTimeStamp;if(!je)return void at(ot());(Number(new Date)-Number(new Date(je)))/1e3>=mt&&at(ot())}else at(ot(!1))}},updateQueryData:function(Ke,Ot,St){return function(at,wt){var Bt,mt,ot=An.endpoints[Ke].select(Ot)(wt()),Ee={patches:[],inversePatches:[],undo:function(){return at(An.util.patchQueryData(Ke,Ot,Ee.inversePatches))}};if(ot.status===t.uninitialized)return Ee;if("data"in ot)if((0,Ae.isDraftable)(ot.data)){var je=(0,Ae.produceWithPatches)(ot.data,St),Me=je[2];(Bt=Ee.patches).push.apply(Bt,je[1]),(mt=Ee.inversePatches).push.apply(mt,Me)}else{var We=St(ot.data);Ee.patches.push({op:"replace",path:[],value:We}),Ee.inversePatches.push({op:"replace",path:[],value:ot.data})}return at(An.util.patchQueryData(Ke,Ot,Ee.patches)),Ee}},upsertQueryData:function(Ke,Ot,St){return function(at){var wt;return at(An.endpoints[Ke].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[le]=function(){return{data:St}},wt)))}},patchQueryData:function(Ke,Ot,St){return function(at){at(An.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:hr[Ke],endpointName:Ke}),patches:St}))}},buildMatchThunkActions:function(Ke,Ot){return{matchPending:(0,Fe.isAllOf)((0,Fe.isPending)(Ke),bn(Ot)),matchFulfilled:(0,Fe.isAllOf)((0,Fe.isFulfilled)(Ke),bn(Ot)),matchRejected:(0,Fe.isAllOf)((0,Fe.isRejected)(Ke),bn(Ot))}}}}({baseQuery:ke,reducerPath:me,context:he,api:X,serializeQueryArgs:ut}),Xe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,Gt=Ce.upsertQueryData,Zt=Ce.prefetch,Jt=Ce.buildMatchThunkActions,Vt=function(It){var In=It.reducerPath,On=It.queryThunk,Jn=It.mutationThunk,hr=It.context,Tn=hr.endpointDefinitions,An=hr.apiUid,dn=hr.extractRehydrationInfo,Sn=hr.hasRehydrationInfo,En=It.assertTagType,vn=It.config,bn=(0,ge.createAction)(In+"/resetApiState"),Ke=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(ot,Ee){delete ot[Ee.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(ot,Ee){var je=Ee.payload,Me=je.patches;bt(ot,je.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,Me.concat())})}},extraReducers:function(ot){ot.addCase(On.pending,function(Ee,je){var Me,We=je.meta,Ze=je.meta.arg,Dt=Se(Ze);(Ze.subscribe||Dt)&&(Ee[Me=Ze.queryCacheKey]!=null||(Ee[Me]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Ee,Ze.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,Ze.originalArgs!==void 0&&(Rt.originalArgs=Ze.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(On.fulfilled,function(Ee,je){var Me=je.meta,We=je.payload;bt(Ee,Me.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===Me.requestId||Se(Me.arg)){var Rt=Tn[Me.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=Me.fulfilledTimeStamp,en=Me.arg,yn=Me.baseQueryMeta,hn=Me.requestId,mr=(0,ge.createNextState)(Ze.data,function(Yn){return Rt(Yn,We,{arg:en.originalArgs,baseQueryMeta:yn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=mr}else Ze.data=We;else Ze.data=(Dt=Tn[Me.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(Ze.data)?(0,vt.original)(Ze.data):Ze.data,We):We;delete Ze.error,Ze.fulfilledTimeStamp=Me.fulfilledTimeStamp}})}).addCase(On.rejected,function(Ee,je){var Me=je.meta,We=Me.condition,Ze=Me.requestId,Dt=je.error,Rt=je.payload;bt(Ee,Me.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Ee,je){for(var Me=dn(je).queries,We=0,Ze=Object.entries(Me);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},vn),reducers:{middlewareRegistered:function(ot,Ee){ot.middlewareRegistered=ot.middlewareRegistered!=="conflict"&&An===Ee.payload||"conflict"}},extraReducers:function(ot){ot.addCase(ye,function(Ee){Ee.online=!0}).addCase(Z,function(Ee){Ee.online=!1}).addCase(Y,function(Ee){Ee.focused=!0}).addCase(ie,function(Ee){Ee.focused=!1}).addMatcher(Sn,function(Ee){return S({},Ee)})}}),mt=(0,ge.combineReducers)({queries:Ke.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(ot,Ee){return mt(bn.match(Ee)?void 0:ot,Ee)},actions:k(S(S(S(S(S({},Bt.actions),Ke.actions),at.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:bn})}}({context:he,queryThunk:Xe,mutationThunk:jt,reducerPath:me,assertTagType:Be,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ft,keepUnusedDataFor:st,reducerPath:me}}),$e=Vt.reducer,yt=Vt.actions;Nr(X.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:Gt,prefetch:Zt,resetApiState:yt.resetApiState}),Nr(X.internalActions,yt);var Mt=function(It){var In=It.reducerPath,On=It.queryThunk,Jn=It.api,hr=It.context,Tn=hr.apiUid,An={invalidateTags:(0,lr.createAction)(In+"/invalidateTags")},dn=[Hr,pn,Fr,br,Wn,Ro];return{middleware:function(En){var vn=!1,bn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),Ke=dn.map(function(at){return at(bn)}),Ot=function(at){var wt=at.api,Bt=at.queryThunk,mt=at.internalState,ot=wt.reducerPath+"/subscriptions",Ee=null,je=!1,Me=wt.internalActions,We=Me.updateSubscriptionOptions,Ze=Me.unsubscribeQueryResult;return function(Dt,Rt){var Ve,en;if(Ee||(Ee=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Ee=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var yn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[yn.queryCacheKey])!=null&&Ve[yn.requestId])]}var hn=function(gn,Vn){var ao,fn,Nn,Vr,Er,Va,Vd,Mo,da;if(We.match(Vn)){var Ls=Vn.payload,fa=Ls.queryCacheKey,io=Ls.requestId;return(ao=gn==null?void 0:gn[fa])!=null&&ao[io]&&(gn[fa][io]=Ls.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[fa=lo.queryCacheKey]&&delete gn[fa][io],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var co=Vn.meta;if(io=co.requestId,(Xr=co.arg).subscribe)return(Ho=(Nn=gn[fn=Xr.queryCacheKey])!=null?Nn:gn[fn]={})[io]=(Er=(Vr=Xr.subscriptionOptions)!=null?Vr:Ho[io])!=null?Er:{},!0}if(Bt.rejected.match(Vn)){var Ho,Do=Vn.meta,Xr=Do.arg;if(io=Do.requestId,Do.condition&&Xr.subscribe)return(Ho=(Vd=gn[Va=Xr.queryCacheKey])!=null?Vd:gn[Va]={})[io]=(da=(Mo=Xr.subscriptionOptions)!=null?Mo:Ho[io])!=null?da:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){je||(fs(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Wr.produceWithPatches)(Ee,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Ee=gn,je=!1}),je=!0);var mr=!!((en=Dt.type)!=null&&en.startsWith(ot)),Yn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!mr&&!Yn,!1]}return[!0,!1]}}(bn),St=function(at){var wt=at.reducerPath,Bt=at.context,mt=at.refetchQuery,ot=at.internalState,Ee=at.api.internalActions.removeQueryResult;function je(Me,We){var Ze=Me.getState()[wt],Dt=Ze.queries,Rt=ot.currentSubscriptions;Bt.batch(function(){for(var Ve=0,en=Object.keys(Rt);Ve{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!xu(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(tt,{children:n}),i.jsxs(vb,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(xa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(xa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(xa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(xa,{children:"Node Editor"})]}),i.jsx(tt,{children:r})]})},ej=f.memo(TV),AV=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=be(),o=L(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=IR((t==null?void 0:t.board_id)??oo.skipToken),c=f.useMemo(()=>fe([Ye],_=>{const I=(s??[]).map(E=>ER(_,E));return{imageUsageSummary:{isInitialImage:xu(I,E=>E.isInitialImage),isCanvasImage:xu(I,E=>E.isCanvasImage),isNodesImage:xu(I,E=>E.isNodesImage),isControlNetImage:xu(I,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=OR(),[h,{isLoading:m}]=RR(),{imageUsageSummary:v}=L(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Pd,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsxs(Ra,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Da,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(gm,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(ej,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(tt,{children:"Deleted boards cannot be restored."}),i.jsx(tt,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Oa,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(rn,{ref:S,onClick:y,children:"Cancel"}),i.jsx(rn,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(rn,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},NV=f.memo(AV),tj=Te((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(wn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(Sa,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});tj.displayName="IAIIconButton";const Le=f.memo(tj),$V="My Board",zV=()=>{const[e,{isLoading:t}]=MR(),n=f.useCallback(()=>{e($V)},[e]);return i.jsx(Le,{icon:i.jsx(ml,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var nj=md({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),ay=md({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),LV=md({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),BV=md({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),FV=md({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const HV=fe([Ye],({boards:e})=>{const{searchText:t}=e;return{searchText:t}},Ge),WV=()=>{const e=te(),{searchText:t}=L(HV),n=f.useRef(null),r=f.useCallback(c=>{e(O2(c))},[e]),o=f.useCallback(()=>{e(O2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(LP,{children:[i.jsx(yd,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(hb,{children:i.jsx(Sa,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(LV,{boxSize:2})})})]})},VV=f.memo(WV),UV=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(ui()),{colorMode:o}=Ds();return i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:ze("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?ze("base.50","base.50")(o):ze("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(tt,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?ze("base.50","base.50")(o):ze("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},nh=f.memo(UV),GV=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(ui()),{isOver:s,setNodeRef:a,active:c}=A1({id:o.current,disabled:r,data:n});return i.jsx(Oe,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(Fo,{children:Ep(n,c)&&i.jsx(nh,{isOver:s,label:t})})})},iy=f.memo(GV),ly=({isSelected:e,isHovered:t})=>i.jsx(Oe,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),rj=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(pl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Nu=globalThis&&globalThis.__assign||function(){return Nu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=Zh(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},qV=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(kr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClick:n,children:"Delete Board"})]})},KV=f.memo(qV),YV=()=>i.jsx(i.Fragment,{}),QV=f.memo(YV),cy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>fe(Ye,({gallery:h})=>({isAutoAdd:h.autoAddBoardId===t})),[t]),{isAutoAdd:a}=L(s),c=Rm(t),d=f.useCallback(()=>{o(O_(t))},[t,o]),p=f.useCallback(h=>{h.preventDefault()},[]);return i.jsx(oj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(zc,{sx:{visibility:"visible !important"},motionProps:nm,onContextMenu:p,children:i.jsxs(Qu,{title:c,children:[i.jsx(kr,{icon:i.jsx(ml,{}),isDisabled:a,onClick:d,children:"Auto-add to this Board"}),!e&&i.jsx(QV,{}),e&&i.jsx(KV,{board:e,setBoardToDelete:n})]})}),children:r})});cy.displayName="HoverableBoard";const sj=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>fe(Ye,({gallery:E})=>({isSelectedForAutoAdd:e.board_id===E.autoAddBoardId}),Ge),[e.board_id]),{isSelectedForAutoAdd:s}=L(o),[a,c]=f.useState(!1),d=f.useCallback(()=>{c(!0)},[]),p=f.useCallback(()=>{c(!1)},[]),{currentData:h}=os(e.cover_image_name??oo.skipToken),{board_name:m,board_id:v}=e,[b,w]=f.useState(m),y=f.useCallback(()=>{r(R_(v))},[v,r]),[S,{isLoading:k}]=DR(),_=f.useMemo(()=>({id:v,actionType:"MOVE_BOARD",context:{boardId:v}}),[v]),I=f.useCallback(async E=>{if(!E.trim()){w(m);return}if(E!==m)try{const{board_name:O}=await S({board_id:v,changes:{board_name:E}}).unwrap();w(O)}catch{w(m)}},[v,m,S]),P=f.useCallback(E=>{w(E)},[]);return i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:d,onMouseOut:p,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(cy,{board:e,board_id:v,setBoardToDelete:n,children:E=>i.jsxs(W,{ref:E,onClick:y,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[h!=null&&h.thumbnail_url?i.jsx(Tc,{src:h==null?void 0:h.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Kr,{boxSize:12,as:fW,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(rj,{}),i.jsx(ly,{isSelected:t,isHovered:a}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(J3,{value:b,isDisabled:k,submitOnBlur:!0,onChange:P,onSubmit:I,sx:{w:"full"},children:[i.jsx(Y3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(K3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(iy,{data:_,dropLabel:i.jsx(tt,{fontSize:"md",children:"Move"})})]})})})})});sj.displayName="HoverableBoard";const XV=fe(Ye,({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),aj=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n}=L(XV),r=Rm(void 0),o=f.useCallback(()=>{t(R_(void 0))},[t]),[s,a]=f.useState(!1),c=f.useCallback(()=>{a(!0)},[]),d=f.useCallback(()=>{a(!1)},[]),p=f.useMemo(()=>({id:"no_board",actionType:"MOVE_BOARD",context:{boardId:void 0}}),[]);return i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:c,onMouseOut:d,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(cy,{children:h=>i.jsxs(W,{ref:h,onClick:o,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Tc,{src:M_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),!n&&i.jsx(rj,{}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:r}),i.jsx(ly,{isSelected:e,isHovered:s}),i.jsx(iy,{data:p,dropLabel:i.jsx(tt,{fontSize:"md",children:"Move"})})]})})})})});aj.displayName="HoverableBoard";const JV=fe([Ye],({boards:e,gallery:t})=>{const{searchText:n}=e,{selectedBoardId:r}=t;return{selectedBoardId:r,searchText:n}},Ge),ZV=e=>{const{isOpen:t}=e,{selectedBoardId:n,searchText:r}=L(JV),{data:o}=Zh(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(sm,{in:t,animateOpacity:!0,children:i.jsxs(W,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(VV,{}),i.jsx(zV,{})]}),i.jsx(X6,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(rl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Tv,{sx:{p:1.5},children:i.jsx(aj,{isSelected:n===void 0})}),s&&s.map(d=>i.jsx(Tv,{sx:{p:1.5},children:i.jsx(sj,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(NV,{boardToDelete:a,setBoardToDelete:c})]})},eU=f.memo(ZV),tU=fe([Ye],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ge),nU=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=L(tU),o=Rm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:gc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(tt,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(ay,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},rU=f.memo(nU);function ij(e){return rt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function lj(e){return rt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const oU=fe([Ye],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ge),sU=()=>{const e=te(),{t}=be(),{shouldPinGallery:n}=L(oU),r=()=>{e(D_()),e(So())};return i.jsx(Le,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(ij,{}):i.jsx(lj,{})})},aU=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Tb,{isLazy:o,...s,children:[i.jsx(Db,{children:t}),i.jsxs(Ab,{shadow:"dark-lg",children:[r&&i.jsx(y5,{}),n]})]})},gl=f.memo(aU),iU=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(H3,{colorScheme:"accent",...n,children:i.jsx(tt,{sx:{fontSize:"sm",color:ze("base.800","base.200")(r)},children:t})})},Gn=f.memo(iU);function lU(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const cU=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:I,sliderFormControlProps:P,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:T,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:$,sliderTooltipProps:Q,sliderIAIIconButtonProps:B,...V}=e,q=te(),{t:G}=be(),[D,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const H=f.useMemo(()=>T!=null&&T.min?T.min:s,[s,T==null?void 0:T.min]),Y=f.useMemo(()=>T!=null&&T.max?T.max:a,[a,T==null?void 0:T.max]),ie=f.useCallback(re=>{d(re)},[d]),ye=f.useCallback(re=>{re.target.value===""&&(re.target.value=String(H));const oe=Es(v?Math.floor(Number(re.target.value)):Number(D),H,Y),pe=wu(oe,c);d(pe),z(pe)},[v,D,H,Y,d,c]),Z=f.useCallback(re=>{z(re)},[]),se=f.useCallback(()=>{I&&I()},[I]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(_o(!0))},[q]),ae=f.useCallback(re=>{re.shiftKey||q(_o(!1))},[q]);return i.jsxs(ho,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...P,children:[r&&i.jsx(zo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(di,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs($5,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ie,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(Vl,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(Vl,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(Vl,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(Vl,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(Vl,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(L5,{...R,children:i.jsx(B5,{})}),i.jsx(wn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(z5,{...M,zIndex:0})})]}),m&&i.jsxs(dm,{min:H,max:Y,step:c,value:D,onChange:Z,onBlur:ye,focusInputOnChange:!1,...T,children:[i.jsx(pm,{onKeyDown:U,onKeyUp:ae,minWidth:b,...A}),i.jsxs(fm,{...$,children:[i.jsx(mm,{onClick:()=>d(Number(D))}),i.jsx(hm,{onClick:()=>d(Number(D))})]})]}),w&&i.jsx(Le,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(lU,{}),isDisabled:k,onClick:se,...B})]})]})},_t=f.memo(cU);function uU(e){const t=f.createContext(null);return[({children:o,value:s})=>F.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function cj(e){return Array.isArray(e)?e:[e]}const dU=()=>{};function fU(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||dU:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function uj({data:e}){const t=[],n=[],r=e.reduce((o,s,a)=>(s.group?o[s.group]?o[s.group].push(a):o[s.group]=[a]:n.push(a),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function dj(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==F.Fragment:!1}function fj(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const mU=TR({key:"mantine",prepend:!0});function gU(){return k3()||mU}var vU=Object.defineProperty,QS=Object.getOwnPropertySymbols,bU=Object.prototype.hasOwnProperty,yU=Object.prototype.propertyIsEnumerable,XS=(e,t,n)=>t in e?vU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xU=(e,t)=>{for(var n in t||(t={}))bU.call(t,n)&&XS(e,n,t[n]);if(QS)for(var n of QS(t))yU.call(t,n)&&XS(e,n,t[n]);return e};const W0="ref";function wU(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(W0 in n))return{args:e,ref:t};t=n[W0];const r=xU({},n);return delete r[W0],{args:[r],ref:t}}const{cssFactory:SU}=(()=>{function e(n,r,o){const s=[],a=$R(n,s,o);return s.length<2?o:a+r(s)}function t(n){const{cache:r}=n,o=(...a)=>{const{ref:c,args:d}=wU(a),p=AR(d,r.registered);return NR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,pj(a))}}return{cssFactory:t}})();function hj(){const e=gU();return hU(()=>SU({cache:e}),[e])}function CU({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const a=n.reduce((c,d)=>(Object.keys(d.classNames).forEach(p=>{typeof c[p]!="string"?c[p]=`${d.classNames[p]}`:c[p]=`${c[p]} ${d.classNames[p]}`}),c),{});return Object.keys(t).reduce((c,d)=>(c[d]=e(t[d],a[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),c),{})}var kU=Object.defineProperty,JS=Object.getOwnPropertySymbols,_U=Object.prototype.hasOwnProperty,PU=Object.prototype.propertyIsEnumerable,ZS=(e,t,n)=>t in e?kU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V0=(e,t)=>{for(var n in t||(t={}))_U.call(t,n)&&ZS(e,n,t[n]);if(JS)for(var n of JS(t))PU.call(t,n)&&ZS(e,n,t[n]);return e};function o1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=V0(V0({},e[n]),t[n]):e[n]=V0({},t[n])}),e}function eC(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,a)=>o1(s,a),{}):o(e)}function jU({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&o1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&o1(s,a.sizes[o](t,n,{variant:r,size:o})),s),{})}function so(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=Fa(),a=DD(o==null?void 0:o.name),c=k3(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=hj(),m=t(s,r,d),v=eC(o==null?void 0:o.styles,s,r,d),b=eC(a,s,r,d),w=jU({ctx:a,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),y=Object.fromEntries(Object.keys(m).map(S=>{const k=h({[p(m[S])]:!(o!=null&&o.unstyled)},p(w[S]),p(b[S]),p(v[S]));return[S,k]}));return{classes:CU({cx:h,classes:y,context:a,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function tC(e){return`___ref-${e||""}`}var IU=Object.defineProperty,EU=Object.defineProperties,OU=Object.getOwnPropertyDescriptors,nC=Object.getOwnPropertySymbols,RU=Object.prototype.hasOwnProperty,MU=Object.prototype.propertyIsEnumerable,rC=(e,t,n)=>t in e?IU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hu=(e,t)=>{for(var n in t||(t={}))RU.call(t,n)&&rC(e,n,t[n]);if(nC)for(var n of nC(t))MU.call(t,n)&&rC(e,n,t[n]);return e},mu=(e,t)=>EU(e,OU(t));const gu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Jf={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:mu(hu({},gu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":mu(hu({},gu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":mu(hu({},gu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":mu(hu({},gu),{common:{transformOrigin:"top left"}}),"pop-top-right":mu(hu({},gu),{common:{transformOrigin:"top right"}})},oC=["mousedown","touchstart"];function DU(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:a}=s??{};if(Array.isArray(n)){const c=(a==null?void 0:a.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(a)&&a.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!c&&e()}else r.current&&!r.current.contains(a)&&e()};return(t||oC).forEach(s=>document.addEventListener(s,o)),()=>{(t||oC).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function TU(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function AU(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function NU(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:AU(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),TU(s.current,a=>o(a.matches))},[e]),r}const mj=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ps(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function $U({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return Ps(()=>{let o=-1;const s=a=>{a.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const zU=/input|select|textarea|button|object/,gj="a, input, select, textarea, button, object, [tabindex]";function LU(e){return e.style.display==="none"}function BU(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(LU(n))return!1;n=n.parentNode}return!0}function vj(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function s1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(vj(e));return(zU.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&BU(e)}function bj(e){const t=vj(e);return(Number.isNaN(t)||t>=0)&&s1(e)}function FU(e){return Array.from(e.querySelectorAll(gj)).filter(bj)}function HU(e,t){const n=FU(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const a=n[t.shiftKey?n.length-1:0];a&&a.focus()}function dy(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function WU(e,t="body > :not(script)"){const n=dy(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const a=o.getAttribute("aria-hidden"),c=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),a===null||a==="false"?o.setAttribute("aria-hidden","true"):!c&&!d&&o.setAttribute("data-hidden",a),{node:o,ariaHidden:c||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function VU(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let a=s.querySelector("[data-autofocus]");if(!a){const c=Array.from(s.querySelectorAll(gj));a=c.find(bj)||c.find(s1)||null,!a&&s1(s)&&(a=s)}a&&a.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=WU(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=a=>{a.key==="Tab"&&t.current&&HU(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const UU=F["useId".toString()]||(()=>{});function GU(){const e=UU();return e?`mantine-${e.replace(/:/g,"")}`:""}function fy(e){const t=GU(),[n,r]=f.useState(t);return mj(()=>{r(dy())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function sC(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function yj(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function qU(...e){return t=>{e.forEach(n=>yj(n,t))}}function Ad(...e){return f.useCallback(qU(...e),e)}function rd({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),a=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,a,!1]}function xj(e,t){return NU("(prefers-reduced-motion: reduce)",e,t)}const KU=e=>e<.5?2*e*e:-1+(4-2*e)*e,YU=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const a=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=m=>p[m]-d[m];if(e==="y"){const m=h("top");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.height*(s?0:1)||!s?b:0}const v=a?d.height:window.innerHeight;if(r==="end"){const b=m+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?m-v/2+p.height/2:0}if(e==="x"){const m=h("left");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.width||!s?b:0}const v=a?d.width:window.innerWidth;if(r==="end"){const b=m+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?m-v/2+p.width/2:0}return 0},QU=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},XU=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function wj({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=KU,offset:o=0,cancelable:s=!0,isList:a=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=xj(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=QU({parent:h.current,axis:t}))!=null?k:0,I=YU({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:_);function P(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+I*r(R);XU({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(P):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}P()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return sC("wheel",y,{passive:!0}),sC("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var aC=Object.getOwnPropertySymbols,JU=Object.prototype.hasOwnProperty,ZU=Object.prototype.propertyIsEnumerable,eG=(e,t)=>{var n={};for(var r in e)JU.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&aC)for(var r of aC(e))t.indexOf(r)<0&&ZU.call(e,r)&&(n[r]=e[r]);return n};function Mm(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:I,fz:P,fw:E,lts:O,ta:R,lh:M,fs:T,tt:A,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:z,bgp:H,bgr:Y,bga:ie,pos:ye,top:Z,left:se,bottom:K,right:U,inset:ae,display:re}=t,oe=eG(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:TD({m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:I,fz:P,fw:E,lts:O,ta:R,lh:M,fs:T,tt:A,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:z,bgp:H,bgr:Y,bga:ie,pos:ye,top:Z,left:se,bottom:K,right:U,inset:ae,display:re}),rest:oe}}function tG(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>hw(Wt({size:r,sizes:t.breakpoints}))-hw(Wt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function nG({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return tG(e,t).reduce((a,c)=>{if(c==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{a[h]=p}),a):(a[r]=p,a)}const d=n(e[c],t);return Array.isArray(r)?(a[t.fn.largerThan(c)]={},r.forEach(p=>{a[t.fn.largerThan(c)][p]=d}),a):(a[t.fn.largerThan(c)]={[r]:d},a)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,a)=>(s[a]=o,s),{}):{[r]:o}}function rG(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function oG(e){return Ue(e)}function sG(e){return e}function aG(e,t){return Wt({size:e,sizes:t.fontSizes})}const iG=["-xs","-sm","-md","-lg","-xl"];function lG(e,t){return iG.includes(e)?`calc(${Wt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Wt({size:e,sizes:t.spacing})}const cG={identity:sG,color:rG,size:oG,fontSize:aG,spacing:lG},uG={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var dG=Object.defineProperty,iC=Object.getOwnPropertySymbols,fG=Object.prototype.hasOwnProperty,pG=Object.prototype.propertyIsEnumerable,lC=(e,t,n)=>t in e?dG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cC=(e,t)=>{for(var n in t||(t={}))fG.call(t,n)&&lC(e,n,t[n]);if(iC)for(var n of iC(t))pG.call(t,n)&&lC(e,n,t[n]);return e};function uC(e,t,n=uG){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(nG({value:e[s],getValue:cG[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(a=>{typeof s[a]=="object"&&s[a]!==null&&a in o?o[a]=cC(cC({},o[a]),s[a]):o[a]=s[a]}),o),{})}function dC(e,t){return typeof e=="function"?e(t):e}function hG(e,t,n){const r=Fa(),{css:o,cx:s}=hj();return Array.isArray(e)?s(n,o(uC(t,r)),e.map(a=>o(dC(a,r)))):s(n,o(dC(e,r)),o(uC(t,r)))}var mG=Object.defineProperty,rh=Object.getOwnPropertySymbols,Sj=Object.prototype.hasOwnProperty,Cj=Object.prototype.propertyIsEnumerable,fC=(e,t,n)=>t in e?mG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gG=(e,t)=>{for(var n in t||(t={}))Sj.call(t,n)&&fC(e,n,t[n]);if(rh)for(var n of rh(t))Cj.call(t,n)&&fC(e,n,t[n]);return e},vG=(e,t)=>{var n={};for(var r in e)Sj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&rh)for(var r of rh(e))t.indexOf(r)<0&&Cj.call(e,r)&&(n[r]=e[r]);return n};const kj=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=vG(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=Mm(c),h=o||"div";return F.createElement(h,gG({ref:t,className:hG(a,d,r),style:s},p))});kj.displayName="@mantine/core/Box";const Po=kj;var bG=Object.defineProperty,yG=Object.defineProperties,xG=Object.getOwnPropertyDescriptors,pC=Object.getOwnPropertySymbols,wG=Object.prototype.hasOwnProperty,SG=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?bG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t)=>{for(var n in t||(t={}))wG.call(t,n)&&hC(e,n,t[n]);if(pC)for(var n of pC(t))SG.call(t,n)&&hC(e,n,t[n]);return e},CG=(e,t)=>yG(e,xG(t)),kG=so(e=>({root:CG(mC(mC({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const _G=kG;var PG=Object.defineProperty,oh=Object.getOwnPropertySymbols,_j=Object.prototype.hasOwnProperty,Pj=Object.prototype.propertyIsEnumerable,gC=(e,t,n)=>t in e?PG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jG=(e,t)=>{for(var n in t||(t={}))_j.call(t,n)&&gC(e,n,t[n]);if(oh)for(var n of oh(t))Pj.call(t,n)&&gC(e,n,t[n]);return e},IG=(e,t)=>{var n={};for(var r in e)_j.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&oh)for(var r of oh(e))t.indexOf(r)<0&&Pj.call(e,r)&&(n[r]=e[r]);return n};const jj=f.forwardRef((e,t)=>{const n=wr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=IG(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=_G(null,{name:"UnstyledButton",unstyled:s,variant:a});return F.createElement(Po,jG({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});jj.displayName="@mantine/core/UnstyledButton";const EG=jj;var OG=Object.defineProperty,RG=Object.defineProperties,MG=Object.getOwnPropertyDescriptors,vC=Object.getOwnPropertySymbols,DG=Object.prototype.hasOwnProperty,TG=Object.prototype.propertyIsEnumerable,bC=(e,t,n)=>t in e?OG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,a1=(e,t)=>{for(var n in t||(t={}))DG.call(t,n)&&bC(e,n,t[n]);if(vC)for(var n of vC(t))TG.call(t,n)&&bC(e,n,t[n]);return e},yC=(e,t)=>RG(e,MG(t));const AG=["subtle","filled","outline","light","default","transparent","gradient"],Zf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function NG({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:AG.includes(e)?a1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var $G=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:yC(a1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Wt({size:s,sizes:Zf}),minHeight:Wt({size:s,sizes:Zf}),width:Wt({size:s,sizes:Zf}),minWidth:Wt({size:s,sizes:Zf})},NG({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":yC(a1({content:'""'},e.fn.cover(Ue(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const zG=$G;var LG=Object.defineProperty,sh=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?LG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wC=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&xC(e,n,t[n]);if(sh)for(var n of sh(t))Ej.call(t,n)&&xC(e,n,t[n]);return e},SC=(e,t)=>{var n={};for(var r in e)Ij.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&sh)for(var r of sh(e))t.indexOf(r)<0&&Ej.call(e,r)&&(n[r]=e[r]);return n};function BG(e){var t=e,{size:n,color:r}=t,o=SC(t,["size","color"]);const s=o,{style:a}=s,c=SC(s,["style"]);return F.createElement("svg",wC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:wC({width:n},a)},c),F.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var FG=Object.defineProperty,ah=Object.getOwnPropertySymbols,Oj=Object.prototype.hasOwnProperty,Rj=Object.prototype.propertyIsEnumerable,CC=(e,t,n)=>t in e?FG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kC=(e,t)=>{for(var n in t||(t={}))Oj.call(t,n)&&CC(e,n,t[n]);if(ah)for(var n of ah(t))Rj.call(t,n)&&CC(e,n,t[n]);return e},_C=(e,t)=>{var n={};for(var r in e)Oj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ah)for(var r of ah(e))t.indexOf(r)<0&&Rj.call(e,r)&&(n[r]=e[r]);return n};function HG(e){var t=e,{size:n,color:r}=t,o=_C(t,["size","color"]);const s=o,{style:a}=s,c=_C(s,["style"]);return F.createElement("svg",kC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:kC({width:n,height:n},a)},c),F.createElement("g",{fill:"none",fillRule:"evenodd"},F.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},F.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),F.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},F.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var WG=Object.defineProperty,ih=Object.getOwnPropertySymbols,Mj=Object.prototype.hasOwnProperty,Dj=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?WG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jC=(e,t)=>{for(var n in t||(t={}))Mj.call(t,n)&&PC(e,n,t[n]);if(ih)for(var n of ih(t))Dj.call(t,n)&&PC(e,n,t[n]);return e},IC=(e,t)=>{var n={};for(var r in e)Mj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ih)for(var r of ih(e))t.indexOf(r)<0&&Dj.call(e,r)&&(n[r]=e[r]);return n};function VG(e){var t=e,{size:n,color:r}=t,o=IC(t,["size","color"]);const s=o,{style:a}=s,c=IC(s,["style"]);return F.createElement("svg",jC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:jC({width:n},a)},c),F.createElement("circle",{cx:"15",cy:"15",r:"15"},F.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},F.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("circle",{cx:"105",cy:"15",r:"15"},F.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var UG=Object.defineProperty,lh=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Aj=Object.prototype.propertyIsEnumerable,EC=(e,t,n)=>t in e?UG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GG=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&EC(e,n,t[n]);if(lh)for(var n of lh(t))Aj.call(t,n)&&EC(e,n,t[n]);return e},qG=(e,t)=>{var n={};for(var r in e)Tj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lh)for(var r of lh(e))t.indexOf(r)<0&&Aj.call(e,r)&&(n[r]=e[r]);return n};const U0={bars:BG,oval:HG,dots:VG},KG={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},YG={size:"md"};function Nj(e){const t=wr("Loader",YG,e),{size:n,color:r,variant:o}=t,s=qG(t,["size","color","variant"]),a=Fa(),c=o in U0?o:a.loader;return F.createElement(Po,GG({role:"presentation",component:U0[c]||U0.bars,size:Wt({size:n,sizes:KG}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}Nj.displayName="@mantine/core/Loader";var QG=Object.defineProperty,ch=Object.getOwnPropertySymbols,$j=Object.prototype.hasOwnProperty,zj=Object.prototype.propertyIsEnumerable,OC=(e,t,n)=>t in e?QG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RC=(e,t)=>{for(var n in t||(t={}))$j.call(t,n)&&OC(e,n,t[n]);if(ch)for(var n of ch(t))zj.call(t,n)&&OC(e,n,t[n]);return e},XG=(e,t)=>{var n={};for(var r in e)$j.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ch)for(var r of ch(e))t.indexOf(r)<0&&zj.call(e,r)&&(n[r]=e[r]);return n};const JG={color:"gray",size:"md",variant:"subtle"},Lj=f.forwardRef((e,t)=>{const n=wr("ActionIcon",JG,e),{className:r,color:o,children:s,radius:a,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=XG(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=zG({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),I=F.createElement(Nj,RC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return F.createElement(EG,RC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?I:s)});Lj.displayName="@mantine/core/ActionIcon";const ZG=Lj;var eq=Object.defineProperty,tq=Object.defineProperties,nq=Object.getOwnPropertyDescriptors,uh=Object.getOwnPropertySymbols,Bj=Object.prototype.hasOwnProperty,Fj=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rq=(e,t)=>{for(var n in t||(t={}))Bj.call(t,n)&&MC(e,n,t[n]);if(uh)for(var n of uh(t))Fj.call(t,n)&&MC(e,n,t[n]);return e},oq=(e,t)=>tq(e,nq(t)),sq=(e,t)=>{var n={};for(var r in e)Bj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uh)for(var r of uh(e))t.indexOf(r)<0&&Fj.call(e,r)&&(n[r]=e[r]);return n};function Hj(e){const t=wr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=sq(t,["children","target","className","innerRef"]),c=Fa(),[d,p]=f.useState(!1),h=f.useRef();return mj(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?_i.createPortal(F.createElement("div",oq(rq({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}Hj.displayName="@mantine/core/Portal";var aq=Object.defineProperty,dh=Object.getOwnPropertySymbols,Wj=Object.prototype.hasOwnProperty,Vj=Object.prototype.propertyIsEnumerable,DC=(e,t,n)=>t in e?aq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iq=(e,t)=>{for(var n in t||(t={}))Wj.call(t,n)&&DC(e,n,t[n]);if(dh)for(var n of dh(t))Vj.call(t,n)&&DC(e,n,t[n]);return e},lq=(e,t)=>{var n={};for(var r in e)Wj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&dh)for(var r of dh(e))t.indexOf(r)<0&&Vj.call(e,r)&&(n[r]=e[r]);return n};function Uj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=lq(t,["withinPortal","children"]);return n?F.createElement(Hj,iq({},o),r):F.createElement(F.Fragment,null,r)}Uj.displayName="@mantine/core/OptionalPortal";var cq=Object.defineProperty,fh=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,TC=(e,t,n)=>t in e?cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AC=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&TC(e,n,t[n]);if(fh)for(var n of fh(t))qj.call(t,n)&&TC(e,n,t[n]);return e},uq=(e,t)=>{var n={};for(var r in e)Gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fh)for(var r of fh(e))t.indexOf(r)<0&&qj.call(e,r)&&(n[r]=e[r]);return n};function Kj(e){const t=e,{width:n,height:r,style:o}=t,s=uq(t,["width","height","style"]);return F.createElement("svg",AC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:AC({width:n,height:r},o)},s),F.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}Kj.displayName="@mantine/core/CloseIcon";var dq=Object.defineProperty,ph=Object.getOwnPropertySymbols,Yj=Object.prototype.hasOwnProperty,Qj=Object.prototype.propertyIsEnumerable,NC=(e,t,n)=>t in e?dq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fq=(e,t)=>{for(var n in t||(t={}))Yj.call(t,n)&&NC(e,n,t[n]);if(ph)for(var n of ph(t))Qj.call(t,n)&&NC(e,n,t[n]);return e},pq=(e,t)=>{var n={};for(var r in e)Yj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ph)for(var r of ph(e))t.indexOf(r)<0&&Qj.call(e,r)&&(n[r]=e[r]);return n};const hq={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},mq={size:"sm"},Xj=f.forwardRef((e,t)=>{const n=wr("CloseButton",mq,e),{iconSize:r,size:o,children:s}=n,a=pq(n,["iconSize","size","children"]),c=Ue(r||hq[o]);return F.createElement(ZG,fq({ref:t,__staticSelector:"CloseButton",size:o},a),s||F.createElement(Kj,{width:c,height:c}))});Xj.displayName="@mantine/core/CloseButton";const Jj=Xj;var gq=Object.defineProperty,vq=Object.defineProperties,bq=Object.getOwnPropertyDescriptors,$C=Object.getOwnPropertySymbols,yq=Object.prototype.hasOwnProperty,xq=Object.prototype.propertyIsEnumerable,zC=(e,t,n)=>t in e?gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ep=(e,t)=>{for(var n in t||(t={}))yq.call(t,n)&&zC(e,n,t[n]);if($C)for(var n of $C(t))xq.call(t,n)&&zC(e,n,t[n]);return e},wq=(e,t)=>vq(e,bq(t));function Sq({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function Cq({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function kq(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function _q({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var Pq=so((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:a,gradient:c,weight:d,transform:p,align:h,strikethrough:m,italic:v},{size:b})=>{const w=e.fn.variant({variant:"gradient",gradient:c});return{root:wq(ep(ep(ep(ep({},e.fn.fontStyles()),e.fn.focusStyles()),kq(n)),_q({theme:e,truncate:r})),{color:Cq({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Wt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:Sq({underline:a,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:w.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const jq=Pq;var Iq=Object.defineProperty,hh=Object.getOwnPropertySymbols,Zj=Object.prototype.hasOwnProperty,eI=Object.prototype.propertyIsEnumerable,LC=(e,t,n)=>t in e?Iq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eq=(e,t)=>{for(var n in t||(t={}))Zj.call(t,n)&&LC(e,n,t[n]);if(hh)for(var n of hh(t))eI.call(t,n)&&LC(e,n,t[n]);return e},Oq=(e,t)=>{var n={};for(var r in e)Zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hh)for(var r of hh(e))t.indexOf(r)<0&&eI.call(e,r)&&(n[r]=e[r]);return n};const Rq={variant:"text"},tI=f.forwardRef((e,t)=>{const n=wr("Text",Rq,e),{className:r,size:o,weight:s,transform:a,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,classNames:_,styles:I,unstyled:P,span:E,__staticSelector:O}=n,R=Oq(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:T}=jq({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,weight:s,transform:a,align:d,gradient:v},{unstyled:P,name:O||"Text",variant:p,size:o});return F.createElement(Po,Eq({ref:t,className:T(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});tI.displayName="@mantine/core/Text";const Sc=tI,tp={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function np(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var Mq=so((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:Ue(1),borderTop:`${Wt({size:n,sizes:tp})} ${r} ${np(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Wt({size:n,sizes:tp})} ${r} ${np(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:Ue(Wt({size:n,sizes:tp})),borderTopColor:np(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Wt({size:n,sizes:tp})),borderLeftColor:np(e,t),borderLeftStyle:r}}));const Dq=Mq;var Tq=Object.defineProperty,Aq=Object.defineProperties,Nq=Object.getOwnPropertyDescriptors,mh=Object.getOwnPropertySymbols,nI=Object.prototype.hasOwnProperty,rI=Object.prototype.propertyIsEnumerable,BC=(e,t,n)=>t in e?Tq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FC=(e,t)=>{for(var n in t||(t={}))nI.call(t,n)&&BC(e,n,t[n]);if(mh)for(var n of mh(t))rI.call(t,n)&&BC(e,n,t[n]);return e},$q=(e,t)=>Aq(e,Nq(t)),zq=(e,t)=>{var n={};for(var r in e)nI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&mh)for(var r of mh(e))t.indexOf(r)<0&&rI.call(e,r)&&(n[r]=e[r]);return n};const Lq={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},i1=f.forwardRef((e,t)=>{const n=wr("Divider",Lq,e),{className:r,color:o,orientation:s,size:a,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=zq(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=Dq({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),k=s==="vertical",_=s==="horizontal",I=!!c&&_,P=!(p!=null&&p.color);return F.createElement(Po,FC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:I},r),role:"separator"},w),I&&F.createElement(Sc,$q(FC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:P})}),c))});i1.displayName="@mantine/core/Divider";var Bq=Object.defineProperty,Fq=Object.defineProperties,Hq=Object.getOwnPropertyDescriptors,HC=Object.getOwnPropertySymbols,Wq=Object.prototype.hasOwnProperty,Vq=Object.prototype.propertyIsEnumerable,WC=(e,t,n)=>t in e?Bq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VC=(e,t)=>{for(var n in t||(t={}))Wq.call(t,n)&&WC(e,n,t[n]);if(HC)for(var n of HC(t))Vq.call(t,n)&&WC(e,n,t[n]);return e},Uq=(e,t)=>Fq(e,Hq(t)),Gq=so((e,t,{size:n})=>({item:Uq(VC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Wt({size:n,sizes:e.spacing})} / 1.5) ${Wt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Wt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":VC({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Wt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Wt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Wt({size:n,sizes:e.spacing})} / 1.5) ${Wt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const qq=Gq;var Kq=Object.defineProperty,UC=Object.getOwnPropertySymbols,Yq=Object.prototype.hasOwnProperty,Qq=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?Kq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xq=(e,t)=>{for(var n in t||(t={}))Yq.call(t,n)&&GC(e,n,t[n]);if(UC)for(var n of UC(t))Qq.call(t,n)&&GC(e,n,t[n]);return e};function py({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:a,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:k}=qq(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),_=[],I=[];let P=null;const E=(R,M)=>{const T=typeof o=="function"?o(R.value):!1;return F.createElement(h,Xq({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&T||void 0,selected:T,onMouseEnter:()=>c(M),id:`${s}-${M}`,role:"option",tabIndex:-1,"aria-selected":t===M,ref:A=>{p&&p.current&&(p.current[R.value]=A)},onMouseDown:R.disabled?null:A=>{A.preventDefault(),d(R)},disabled:R.disabled,variant:S},R))};let O=null;if(e.forEach((R,M)=>{R.creatable?P=M:R.group?(O!==R.group&&(O=R.group,I.push(F.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},F.createElement(i1,{classNames:{label:k.separatorLabel},label:R.group})))),I.push(E(R,M))):_.push(E(R,M))}),b){const R=e[P];_.push(F.createElement("div",{key:dy(),className:k.item,"data-hovered":t===P||void 0,onMouseEnter:()=>c(P),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return I.length>0&&_.length>0&&_.unshift(F.createElement("div",{className:k.separator,key:"empty-group-separator"},F.createElement(i1,null))),I.length>0||_.length>0?F.createElement(F.Fragment,null,I,_):F.createElement(Sc,{size:m,unstyled:y,className:k.nothingFound},v)}py.displayName="@mantine/core/SelectItems";var Jq=Object.defineProperty,gh=Object.getOwnPropertySymbols,oI=Object.prototype.hasOwnProperty,sI=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?Jq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zq=(e,t)=>{for(var n in t||(t={}))oI.call(t,n)&&qC(e,n,t[n]);if(gh)for(var n of gh(t))sI.call(t,n)&&qC(e,n,t[n]);return e},eK=(e,t)=>{var n={};for(var r in e)oI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&gh)for(var r of gh(e))t.indexOf(r)<0&&sI.call(e,r)&&(n[r]=e[r]);return n};const hy=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=eK(n,["label","value"]);return F.createElement("div",Zq({ref:t},s),r||o)});hy.displayName="@mantine/core/DefaultItem";function tK(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function aI(...e){return t=>e.forEach(n=>tK(n,t))}function vl(...e){return f.useCallback(aI(...e),e)}const iI=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(rK);if(s){const a=s.props.children,c=o.map(d=>d===s?f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null:d);return f.createElement(l1,or({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(l1,or({},r,{ref:t}),n)});iI.displayName="Slot";const l1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...oK(r,n.props),ref:aI(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});l1.displayName="SlotClone";const nK=({children:e})=>f.createElement(f.Fragment,null,e);function rK(e){return f.isValidElement(e)&&e.type===nK}function oK(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{s(...c),o(...c)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const sK=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Nd=sK.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?iI:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,or({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),c1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function aK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const $d=e=>{const{present:t,children:n}=e,r=iK(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=vl(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};$d.displayName="Presence";function iK(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=aK(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=rp(r.current);s.current=c==="mounted"?p:"none"},[c]),c1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=rp(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),c1(()=>{if(t){const p=m=>{const b=rp(r.current).includes(m.animationName);m.target===t&&b&&_i.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=rp(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function rp(e){return(e==null?void 0:e.animationName)||"none"}function lK(e,t=[]){let n=[];function r(s,a){const c=f.createContext(a),d=n.length;n=[...n,a];function p(m){const{scope:v,children:b,...w}=m,y=(v==null?void 0:v[e][d])||c,S=f.useMemo(()=>w,Object.values(w));return f.createElement(y.Provider,{value:S},b)}function h(m,v){const b=(v==null?void 0:v[e][d])||c,w=f.useContext(b);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(a=>f.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,cK(o,...t)]}function cK(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Ui(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const uK=f.createContext(void 0);function dK(e){const t=f.useContext(uK);return e||t||"ltr"}function fK(e,[t,n]){return Math.min(n,Math.max(t,e))}function Zi(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function pK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const lI="ScrollArea",[cI,pde]=lK(lI),[hK,ds]=cI(lI),mK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,d]=f.useState(null),[p,h]=f.useState(null),[m,v]=f.useState(null),[b,w]=f.useState(null),[y,S]=f.useState(null),[k,_]=f.useState(0),[I,P]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),T=vl(t,$=>d($)),A=dK(o);return f.createElement(hK,{scope:n,type:r,dir:A,scrollHideDelay:s,scrollArea:c,viewport:p,onViewportChange:h,content:m,onContentChange:v,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:M,onCornerWidthChange:_,onCornerHeightChange:P},f.createElement(Nd.div,or({dir:A},a,{ref:T,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":I+"px",...e.style}})))}),gK="ScrollAreaViewport",vK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=ds(gK,n),a=f.useRef(null),c=vl(t,a,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Nd.div,or({"data-radix-scroll-area-viewport":""},o,{ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Wa="ScrollAreaScrollbar",bK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?f.createElement(yK,or({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(xK,or({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(uI,or({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(my,or({},r,{ref:t})):null}),yK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),[s,a]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),a(!0)},h=()=>{d=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",p),c.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),c.removeEventListener("pointerenter",p),c.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement($d,{present:n||s},f.createElement(uI,or({"data-state":s?"visible":"hidden"},r,{ref:t})))}),xK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),s=e.orientation==="horizontal",a=Tm(()=>d("SCROLL_END"),100),[c,d]=pK("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(c==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[c,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let m=p[h];const v=()=>{const b=p[h];m!==b&&(d("SCROLL"),a()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,a]),f.createElement($d,{present:n||c!=="hidden"},f.createElement(my,or({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Zi(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Zi(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),uI=f.forwardRef((e,t)=>{const n=ds(Wa,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=Tm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=ds(Wa,e.__scopeScrollArea),s=f.useRef(null),a=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=hI(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:v=>a.current=v};function m(v,b){return IK(v,a.current,c,b)}return n==="horizontal"?f.createElement(wK,or({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=KC(v,c,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=m(v,o.dir))}})):n==="vertical"?f.createElement(SK,or({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=KC(v,c);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=m(v))}})):null}),wK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(fI,or({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Dm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),gI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:vh(a.paddingLeft),paddingEnd:vh(a.paddingRight)}})}}))}),SK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(fI,or({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Dm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),gI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:vh(a.paddingTop),paddingEnd:vh(a.paddingBottom)}})}}))}),[CK,dI]=cI(Wa),fI=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=ds(Wa,n),[w,y]=f.useState(null),S=vl(t,T=>y(T)),k=f.useRef(null),_=f.useRef(""),I=b.viewport,P=r.content-r.viewport,E=Ui(h),O=Ui(d),R=Tm(m,10);function M(T){if(k.current){const A=T.clientX-k.current.left,$=T.clientY-k.current.top;p({x:A,y:$})}}return f.useEffect(()=>{const T=A=>{const $=A.target;(w==null?void 0:w.contains($))&&E(A,P)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[I,w,P,E]),f.useEffect(O,[r,O]),Cc(w,R),Cc(b.content,R),f.createElement(CK,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(a),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Nd.div,or({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Zi(e.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(T))}),onPointerMove:Zi(e.onPointerMove,M),onPointerUp:Zi(e.onPointerUp,T=>{const A=T.target;A.hasPointerCapture(T.pointerId)&&A.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),u1="ScrollAreaThumb",kK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=dI(u1,e.__scopeScrollArea);return f.createElement($d,{present:n||o.hasThumb},f.createElement(_K,or({ref:t},r)))}),_K=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=ds(u1,n),a=dI(u1,n),{onThumbPositionChange:c}=a,d=vl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=Tm(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const m=s.viewport;if(m){const v=()=>{if(h(),!p.current){const b=EK(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Nd.div,or({"data-state":a.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Zi(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:Zi(e.onPointerUp,a.onThumbPointerUp)}))}),pI="ScrollAreaCorner",PK=f.forwardRef((e,t)=>{const n=ds(pI,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(jK,or({},e,{ref:t})):null}),jK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=ds(pI,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return Cc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),Cc(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),a(m)}),p?f.createElement(Nd.div,or({},r,{ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function vh(e){return e?parseInt(e,10):0}function hI(e,t){const n=e/t;return isNaN(n)?0:n}function Dm(e){const t=hI(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function IK(e,t,n,r="ltr"){const o=Dm(n),s=o/2,a=t||s,c=o-a,d=n.scrollbar.paddingStart+a,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return mI([d,p],m)(e)}function KC(e,t,n="ltr"){const r=Dm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,a]:[a*-1,0],p=fK(e,d);return mI([0,a],[0,c])(p)}function mI(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function gI(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=n.left!==s.left,c=n.top!==s.top;(a||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Tm(e,t){const n=Ui(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Cc(e,t){const n=Ui(t);c1(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const OK=mK,RK=vK,YC=bK,QC=kK,MK=PK;var DK=so((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?Ue(t):void 0,paddingBottom:n?Ue(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${Ue(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${tC("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:Ue(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:Ue(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:tC("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:Ue(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:Ue(44),minHeight:Ue(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const TK=DK;var AK=Object.defineProperty,NK=Object.defineProperties,$K=Object.getOwnPropertyDescriptors,bh=Object.getOwnPropertySymbols,vI=Object.prototype.hasOwnProperty,bI=Object.prototype.propertyIsEnumerable,XC=(e,t,n)=>t in e?AK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,d1=(e,t)=>{for(var n in t||(t={}))vI.call(t,n)&&XC(e,n,t[n]);if(bh)for(var n of bh(t))bI.call(t,n)&&XC(e,n,t[n]);return e},yI=(e,t)=>NK(e,$K(t)),xI=(e,t)=>{var n={};for(var r in e)vI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bh)for(var r of bh(e))t.indexOf(r)<0&&bI.call(e,r)&&(n[r]=e[r]);return n};const wI={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Am=f.forwardRef((e,t)=>{const n=wr("ScrollArea",wI,e),{children:r,className:o,classNames:s,styles:a,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,k=xI(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,I]=f.useState(!1),P=Fa(),{classes:E,cx:O}=TK({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return F.createElement(OK,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||P.dir,ref:t,asChild:!0},F.createElement(Po,d1({className:O(E.root,o)},k),F.createElement(RK,yI(d1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),F.createElement(YC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},F.createElement(QC,{className:E.thumb})),F.createElement(YC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},F.createElement(QC,{className:E.thumb})),F.createElement(MK,{className:E.corner})))}),SI=f.forwardRef((e,t)=>{const n=wr("ScrollAreaAutosize",wI,e),{children:r,classNames:o,styles:s,scrollbarSize:a,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,k=xI(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return F.createElement(Po,yI(d1({},k),{ref:t,sx:[{display:"flex"},...cj(w)]}),F.createElement(Po,{sx:{display:"flex",flexDirection:"column",flex:1}},F.createElement(Am,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:a,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});SI.displayName="@mantine/core/ScrollAreaAutosize";Am.displayName="@mantine/core/ScrollArea";Am.Autosize=SI;const CI=Am;var zK=Object.defineProperty,LK=Object.defineProperties,BK=Object.getOwnPropertyDescriptors,yh=Object.getOwnPropertySymbols,kI=Object.prototype.hasOwnProperty,_I=Object.prototype.propertyIsEnumerable,JC=(e,t,n)=>t in e?zK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ZC=(e,t)=>{for(var n in t||(t={}))kI.call(t,n)&&JC(e,n,t[n]);if(yh)for(var n of yh(t))_I.call(t,n)&&JC(e,n,t[n]);return e},FK=(e,t)=>LK(e,BK(t)),HK=(e,t)=>{var n={};for(var r in e)kI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yh)for(var r of yh(e))t.indexOf(r)<0&&_I.call(e,r)&&(n[r]=e[r]);return n};const Nm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=HK(n,["style"]);return F.createElement(CI,FK(ZC({},o),{style:ZC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Nm.displayName="@mantine/core/SelectScrollArea";var WK=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const VK=WK;function Hc(e){return e.split("-")[1]}function gy(e){return e==="y"?"height":"width"}function js(e){return e.split("-")[0]}function Ei(e){return["top","bottom"].includes(js(e))?"x":"y"}function e4(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,a=r.y+r.height/2-o.height/2,c=Ei(t),d=gy(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(js(t)){case"top":m={x:s,y:r.y-o.height};break;case"bottom":m={x:s,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-o.width,y:a};break;default:m={x:r.x,y:r.y}}switch(Hc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const UK=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let p=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:m}=e4(p,r,d),v=r,b={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c}=t,{element:d,padding:p=0}=Aa(e,t)||{};if(d==null)return{};const h=vy(p),m={x:n,y:r},v=Ei(o),b=gy(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",I=s.reference[b]+s.reference[v]-m[v]-s.floating[b],P=m[v]-s.reference[v],E=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let O=E?E[_]:0;O&&await(a.isElement==null?void 0:a.isElement(E))||(O=c.floating[_]||s.floating[b]);const R=I/2-P/2,M=O/2-w[b]/2-1,T=gi(h[S],M),A=gi(h[k],M),$=T,Q=O-w[b]-A,B=O/2-w[b]/2+R,V=f1($,B,Q),q=Hc(o)!=null&&B!=V&&s.reference[b]/2-(B<$?T:A)-w[b]/2<0?B<$?$-B:Q-B:0;return{[v]:m[v]-q,data:{[v]:V,centerOffset:B-V+q}}}}),GK=["top","right","bottom","left"];GK.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const qK={left:"right",right:"left",bottom:"top",top:"bottom"};function xh(e){return e.replace(/left|right|bottom|top/g,t=>qK[t])}function KK(e,t,n){n===void 0&&(n=!1);const r=Hc(e),o=Ei(e),s=gy(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=xh(a)),{main:a,cross:xh(a)}}const YK={start:"end",end:"start"};function G0(e){return e.replace(/start|end/g,t=>YK[t])}const QK=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Aa(e,t),S=js(r),k=js(a)===a,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),I=m||(k||!w?[xh(a)]:function($){const Q=xh($);return[G0($),Q,G0(Q)]}(a));m||b==="none"||I.push(...function($,Q,B,V){const q=Hc($);let G=function(D,z,H){const Y=["left","right"],ie=["right","left"],ye=["top","bottom"],Z=["bottom","top"];switch(D){case"top":case"bottom":return H?z?ie:Y:z?Y:ie;case"left":case"right":return z?ye:Z;default:return[]}}(js($),B==="start",V);return q&&(G=G.map(D=>D+"-"+q),Q&&(G=G.concat(G.map(G0)))),G}(a,w,b,_));const P=[a,...I],E=await by(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:$,cross:Q}=KK(r,s,_);O.push(E[$],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every($=>$<=0)){var M,T;const $=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=P[$];if(Q)return{data:{index:$,overflows:R},reset:{placement:Q}};let B=(T=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:T.placement;if(!B)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,D)=>G+D,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(B=V);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function n4(e){const t=gi(...e.map(r=>r.left)),n=gi(...e.map(r=>r.top));return{x:t,y:n,width:Ks(...e.map(r=>r.right))-t,height:Ks(...e.map(r=>r.bottom))-n}}const XK=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:a}=t,{padding:c=2,x:d,y:p}=Aa(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((I,P)=>I.y-P.y),k=[];let _=null;for(let I=0;I_.height/2?k.push([P]):k[k.length-1].push(P),_=P}return k.map(I=>kc(n4(I)))}(h),v=kc(n4(h)),b=vy(c),w=await s.getElementRects({reference:{getBoundingClientRect:function(){if(m.length===2&&m[0].left>m[1].right&&d!=null&&p!=null)return m.find(y=>d>y.left-b.left&&dy.top-b.top&&p=2){if(Ei(n)==="x"){const E=m[0],O=m[m.length-1],R=js(n)==="top",M=E.top,T=O.bottom,A=R?E.left:O.left,$=R?E.right:O.right;return{top:M,bottom:T,left:A,right:$,width:$-A,height:T-M,x:A,y:M}}const y=js(n)==="left",S=Ks(...m.map(E=>E.right)),k=gi(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),I=_[0].top,P=_[_.length-1].bottom;return{top:I,bottom:P,left:k,right:S,width:S-k,height:P-I,x:k,y:I}}return v}},floating:r.floating,strategy:a});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},JK=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,a){const{placement:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=js(c),v=Hc(c),b=Ei(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Aa(a,s);let{mainAxis:k,crossAxis:_,alignmentAxis:I}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof I=="number"&&(_=v==="end"?-1*I:I),b?{x:_*y,y:k*w}:{x:k*w,y:_*y}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function PI(e){return e==="x"?"y":"x"}const ZK=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:S=>{let{x:k,y:_}=S;return{x:k,y:_}}},...d}=Aa(e,t),p={x:n,y:r},h=await by(t,d),m=Ei(js(o)),v=PI(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=f1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=f1(w+h[v==="y"?"top":"left"],w,w-h[S])}const y=c.fn({...t,[m]:b,[v]:w});return{...y,data:{x:y.x-n,y:y.y-r}}}}},eY=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Aa(e,t),h={x:n,y:r},m=Ei(o),v=PI(m);let b=h[m],w=h[v];const y=Aa(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const I=m==="y"?"height":"width",P=s.reference[m]-s.floating[I]+S.mainAxis,E=s.reference[m]+s.reference[I]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const I=m==="y"?"width":"height",P=["top","left"].includes(js(o)),E=s.reference[v]-s.floating[I]+(P&&((k=a.offset)==null?void 0:k[v])||0)+(P?0:S.crossAxis),O=s.reference[v]+s.reference[I]+(P?0:((_=a.offset)==null?void 0:_[v])||0)-(P?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},tY=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:a=()=>{},...c}=Aa(e,t),d=await by(t,c),p=js(n),h=Hc(n),m=Ei(n)==="x",{width:v,height:b}=r.floating;let w,y;p==="top"||p==="bottom"?(w=p,y=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,w=h==="end"?"top":"bottom");const S=b-d[w],k=v-d[y],_=!t.middlewareData.shift;let I=S,P=k;if(m){const O=v-d.left-d.right;P=h||_?gi(k,O):O}else{const O=b-d.top-d.bottom;I=h||_?gi(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),T=Ks(d.bottom,0);m?P=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):I=b-2*(M!==0||T!==0?M+T:Ks(d.top,d.bottom))}await a({...t,availableWidth:P,availableHeight:I});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function $o(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function sa(e){return $o(e).getComputedStyle(e)}function jI(e){return e instanceof $o(e).Node}function vi(e){return jI(e)?(e.nodeName||"").toLowerCase():"#document"}function Ms(e){return e instanceof HTMLElement||e instanceof $o(e).HTMLElement}function r4(e){return typeof ShadowRoot<"u"&&(e instanceof $o(e).ShadowRoot||e instanceof ShadowRoot)}function od(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=sa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function nY(e){return["table","td","th"].includes(vi(e))}function p1(e){const t=yy(),n=sa(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function yy(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function $m(e){return["html","body","#document"].includes(vi(e))}const h1=Math.min,dc=Math.max,wh=Math.round,op=Math.floor,bi=e=>({x:e,y:e});function II(e){const t=sa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Ms(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=wh(n)!==s||wh(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function _a(e){return e instanceof Element||e instanceof $o(e).Element}function xy(e){return _a(e)?e:e.contextElement}function fc(e){const t=xy(e);if(!Ms(t))return bi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=II(t);let a=(s?wh(n.width):n.width)/r,c=(s?wh(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const rY=bi(0);function EI(e){const t=$o(e);return yy()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:rY}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=xy(e);let a=bi(1);t&&(r?_a(r)&&(a=fc(r)):a=fc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==$o(v))&&b}(s,n,r)?EI(s):bi(0);let d=(o.left+c.x)/a.x,p=(o.top+c.y)/a.y,h=o.width/a.x,m=o.height/a.y;if(s){const v=$o(s),b=r&&_a(r)?$o(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=fc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,I=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=I,w=$o(w).frameElement}}return kc({width:h,height:m,x:d,y:p})}function zm(e){return _a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pa(e){var t;return(t=(jI(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function OI(e){return cl(Pa(e)).left+zm(e).scrollLeft}function _c(e){if(vi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||r4(e)&&e.host||Pa(e);return r4(t)?t.host:t}function RI(e){const t=_c(e);return $m(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ms(t)&&od(t)?t:RI(t)}function Sh(e,t){var n;t===void 0&&(t=[]);const r=RI(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=$o(r);return o?t.concat(s,s.visualViewport||[],od(r)?r:[]):t.concat(r,Sh(r))}function o4(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=$o(o),c=Pa(o),d=a.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=yy();(!b||b&&s==="fixed")&&(m=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:m,y:v}}(e,n);else if(t==="document")r=function(o){const s=Pa(o),a=zm(o),c=o.ownerDocument.body,d=dc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=dc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+OI(o);const m=-a.scrollTop;return sa(c).direction==="rtl"&&(h+=dc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(Pa(e));else if(_a(t))r=function(o,s){const a=cl(o,!0,s==="fixed"),c=a.top+o.clientTop,d=a.left+o.clientLeft,p=Ms(o)?fc(o):bi(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:c*p.y}}(t,n);else{const o=EI(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return kc(r)}function MI(e,t){const n=_c(e);return!(n===t||!_a(n)||$m(n))&&(sa(n).position==="fixed"||MI(n,t))}function oY(e,t,n){const r=Ms(t),o=Pa(t),s=n==="fixed",a=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=bi(0);if(r||!r&&!s)if((vi(t)!=="body"||od(o))&&(c=zm(t)),Ms(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=OI(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function s4(e,t){return Ms(e)&&sa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function a4(e,t){const n=$o(e);if(!Ms(e))return n;let r=s4(e,t);for(;r&&nY(r)&&sa(r).position==="static";)r=s4(r,t);return r&&(vi(r)==="html"||vi(r)==="body"&&sa(r).position==="static"&&!p1(r))?n:r||function(o){let s=_c(o);for(;Ms(s)&&!$m(s);){if(p1(s))return s;s=_c(s)}return null}(e)||n}const sY={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Ms(n),s=Pa(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=bi(1);const d=bi(0);if((o||!o&&r!=="fixed")&&((vi(n)!=="body"||od(s))&&(a=zm(n)),Ms(n))){const p=cl(n);c=fc(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+d.x,y:t.y*c.y-a.scrollTop*c.y+d.y}},getDocumentElement:Pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let m=Sh(d).filter(y=>_a(y)&&vi(y)!=="body"),v=null;const b=sa(d).position==="fixed";let w=b?_c(d):d;for(;_a(w)&&!$m(w);){const y=sa(w),S=p1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||od(w)&&!S&&MI(d,w))?m=m.filter(k=>k!==w):v=y,w=_c(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=o4(t,p,o);return d.top=dc(h.top,d.top),d.right=h1(h.right,d.right),d.bottom=h1(h.bottom,d.bottom),d.left=dc(h.left,d.left),d},o4(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:a4,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||a4,s=this.getDimensions;return{reference:oY(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return II(e)},getScale:fc,isElement:_a,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function aY(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=xy(e),h=o||s?[...p?Sh(p):[],...Sh(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,I=null;const P=Pa(S);function E(){clearTimeout(_),I&&I.disconnect(),I=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:T,top:A,width:$,height:Q}=S.getBoundingClientRect();if(R||k(),!$||!Q)return;const B={rootMargin:-op(A)+"px "+-op(P.clientWidth-(T+$))+"px "+-op(P.clientHeight-(A+Q))+"px "+-op(T)+"px",threshold:dc(0,h1(1,M))||1};let V=!0;function q(G){const D=G[0].intersectionRatio;if(D!==M){if(!V)return O();D?O(!1,D):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{I=new IntersectionObserver(q,{...B,root:P.ownerDocument})}catch{I=new IntersectionObserver(q,B)}I.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;a&&(w=new ResizeObserver(S=>{let[k]=S;k&&k.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{w&&w.observe(t)})),n()}),p&&!d&&w.observe(p),w.observe(t));let y=d?cl(e):null;return d&&function S(){const k=cl(e);!y||k.x===y.x&&k.y===y.y&&k.width===y.width&&k.height===y.height||n(),y=k,v=requestAnimationFrame(S)}(),n(),()=>{h.forEach(S=>{o&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(v)}}const iY=(e,t,n)=>{const r=new Map,o={platform:sY,...n},s={...o.platform,_c:r};return UK(e,t,{...o,platform:s})},lY=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?t4({element:t.current,padding:n}).fn(o):{}:t?t4({element:t,padding:n}).fn(o):{}}}};var jp=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ch(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Ch(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!Ch(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function i4(e){const t=f.useRef(e);return jp(()=>{t.current=e}),t}function cY(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:a}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);Ch(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=i4(s),y=i4(o),[S,k]=f.useState(null),[_,I]=f.useState(null),P=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,I(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),iY(m.current,v.current,A).then($=>{const Q={...$,isPositioned:!0};R.current&&!Ch(b.current,Q)&&(b.current=Q,_i.flushSync(()=>{d(Q)}))})},[p,t,n,y]);jp(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[a]);const R=f.useRef(!1);jp(()=>(R.current=!0,()=>{R.current=!1}),[]),jp(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:P,setFloating:E}),[P,E]),T=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:T,reference:P,floating:E}),[c,O,M,T,P,E])}var uY=typeof document<"u"?f.useLayoutEffect:f.useEffect;function dY(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const fY=f.createContext(null),pY=()=>f.useContext(fY);function hY(e){return(e==null?void 0:e.ownerDocument)||document}function mY(e){return hY(e).defaultView||window}function sp(e){return e?e instanceof mY(e).Element:!1}const gY=N1["useInsertionEffect".toString()],vY=gY||(e=>e());function bY(e){const t=f.useRef(()=>{});return vY(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;odY())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=sp(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(sp(k)||k===null)&&(a.current=k,h(k)),(sp(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!sp(k))&&o.refs.setReference(k)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:a}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=bY(n),S=f.useMemo(()=>({...o,refs:b,elements:w,dataRef:c,nodeId:r,events:d,open:t,onOpenChange:y}),[o,r,d,t,y,b,w]);return uY(()=>{const k=s==null?void 0:s.nodesRef.current.find(_=>_.id===r);k&&(k.context=S)}),f.useMemo(()=>({...o,context:S,refs:b,reference:v,positionReference:m}),[o,b,S,v,m])}function xY({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return aY(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),Ps(()=>{t.update()},r),Ps(()=>{s(a=>a+1)},[e])}function wY(e){const t=[JK(e.offset)];return e.middlewares.shift&&t.push(ZK({limiter:eY()})),e.middlewares.flip&&t.push(QK()),e.middlewares.inline&&t.push(XK()),t.push(lY({element:e.arrowRef,padding:e.arrowOffset})),t}function SY(e){const[t,n]=rd({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var a;(a=e.onClose)==null||a.call(e),n(!1)},o=()=>{var a,c;t?((a=e.onClose)==null||a.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=yY({placement:e.position,middleware:[...wY(e),...e.width==="target"?[tY({apply({rects:a}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${a.reference.width}px`})}})]:[]]});return xY({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),Ps(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),Ps(()=>{var a,c;e.opened?(c=e.onOpen)==null||c.call(e):(a=e.onClose)==null||a.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const DI={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[CY,TI]=uU(DI.context);var kY=Object.defineProperty,_Y=Object.defineProperties,PY=Object.getOwnPropertyDescriptors,kh=Object.getOwnPropertySymbols,AI=Object.prototype.hasOwnProperty,NI=Object.prototype.propertyIsEnumerable,l4=(e,t,n)=>t in e?kY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))AI.call(t,n)&&l4(e,n,t[n]);if(kh)for(var n of kh(t))NI.call(t,n)&&l4(e,n,t[n]);return e},jY=(e,t)=>_Y(e,PY(t)),IY=(e,t)=>{var n={};for(var r in e)AI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&kh)for(var r of kh(e))t.indexOf(r)<0&&NI.call(e,r)&&(n[r]=e[r]);return n};const EY={refProp:"ref",popupType:"dialog"},$I=f.forwardRef((e,t)=>{const n=wr("PopoverTarget",EY,e),{children:r,refProp:o,popupType:s}=n,a=IY(n,["children","refProp","popupType"]);if(!dj(r))throw new Error(DI.children);const c=a,d=TI(),p=Ad(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,ap(jY(ap(ap(ap({},c),h),d.targetProps),{className:pj(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});$I.displayName="@mantine/core/PopoverTarget";var OY=so((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const RY=OY;var MY=Object.defineProperty,c4=Object.getOwnPropertySymbols,DY=Object.prototype.hasOwnProperty,TY=Object.prototype.propertyIsEnumerable,u4=(e,t,n)=>t in e?MY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bl=(e,t)=>{for(var n in t||(t={}))DY.call(t,n)&&u4(e,n,t[n]);if(c4)for(var n of c4(t))TY.call(t,n)&&u4(e,n,t[n]);return e};const d4={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function AY({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Jf?Bl(Bl(Bl({transitionProperty:Jf[e].transitionProperty},o),Jf[e].common),Jf[e][d4[t]]):null:Bl(Bl(Bl({transitionProperty:e.transitionProperty},o),e.common),e[d4[t]])}function NY({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Fa(),p=xj(),h=d.respectReducedMotion?p:!1,[m,v]=f.useState(h?0:e),[b,w]=f.useState(r?"entered":"exited"),y=f.useRef(-1),S=k=>{const _=k?o:s,I=k?a:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const P=h?0:k?e:t;if(v(P),P===0)typeof _=="function"&&_(),typeof I=="function"&&I(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof I=="function"&&I(),w(k?"entered":"exited")},P)}};return Ps(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function zI({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=NY({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?F.createElement(F.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:F.createElement(F.Fragment,null,s(AY({transition:t,duration:m,state:v,timingFunction:b})))}zI.displayName="@mantine/core/Transition";function LI({children:e,active:t=!0,refProp:n="ref"}){const r=VU(t),o=Ad(r,e==null?void 0:e.ref);return dj(e)?f.cloneElement(e,{[n]:o}):e}LI.displayName="@mantine/core/FocusTrap";var $Y=Object.defineProperty,zY=Object.defineProperties,LY=Object.getOwnPropertyDescriptors,f4=Object.getOwnPropertySymbols,BY=Object.prototype.hasOwnProperty,FY=Object.prototype.propertyIsEnumerable,p4=(e,t,n)=>t in e?$Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Za=(e,t)=>{for(var n in t||(t={}))BY.call(t,n)&&p4(e,n,t[n]);if(f4)for(var n of f4(t))FY.call(t,n)&&p4(e,n,t[n]);return e},ip=(e,t)=>zY(e,LY(t));function h4(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function m4(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const HY={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function WY({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:a,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[HY[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?ip(Za(Za({},h),h4(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?ip(Za(Za({},h),h4(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?ip(Za(Za({},h),m4(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?ip(Za(Za({},h),m4(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var VY=Object.defineProperty,UY=Object.defineProperties,GY=Object.getOwnPropertyDescriptors,_h=Object.getOwnPropertySymbols,BI=Object.prototype.hasOwnProperty,FI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?VY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qY=(e,t)=>{for(var n in t||(t={}))BI.call(t,n)&&g4(e,n,t[n]);if(_h)for(var n of _h(t))FI.call(t,n)&&g4(e,n,t[n]);return e},KY=(e,t)=>UY(e,GY(t)),YY=(e,t)=>{var n={};for(var r in e)BI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_h)for(var r of _h(e))t.indexOf(r)<0&&FI.call(e,r)&&(n[r]=e[r]);return n};const HI=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=YY(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Fa();return d?F.createElement("div",KY(qY({},m),{ref:t,style:WY({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});HI.displayName="@mantine/core/FloatingArrow";var QY=Object.defineProperty,XY=Object.defineProperties,JY=Object.getOwnPropertyDescriptors,Ph=Object.getOwnPropertySymbols,WI=Object.prototype.hasOwnProperty,VI=Object.prototype.propertyIsEnumerable,v4=(e,t,n)=>t in e?QY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fl=(e,t)=>{for(var n in t||(t={}))WI.call(t,n)&&v4(e,n,t[n]);if(Ph)for(var n of Ph(t))VI.call(t,n)&&v4(e,n,t[n]);return e},lp=(e,t)=>XY(e,JY(t)),ZY=(e,t)=>{var n={};for(var r in e)WI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ph)for(var r of Ph(e))t.indexOf(r)<0&&VI.call(e,r)&&(n[r]=e[r]);return n};const eQ={};function UI(e){var t;const n=wr("PopoverDropdown",eQ,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=ZY(n,["style","className","children","onKeyDownCapture"]),d=TI(),{classes:p,cx:h}=RY({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=$U({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:F.createElement(Uj,lp(Fl({},d.portalProps),{withinPortal:d.withinPortal}),F.createElement(zI,lp(Fl({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var w,y;return F.createElement(LI,{active:d.trapFocus},F.createElement(Po,Fl(lp(Fl({},v),{tabIndex:-1,ref:d.floating,style:lp(Fl(Fl({},r),b),{zIndex:d.zIndex,top:(w=d.y)!=null?w:0,left:(y=d.x)!=null?y:0,width:d.width==="target"?void 0:Ue(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:fU(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,F.createElement(HI,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}UI.displayName="@mantine/core/PopoverDropdown";function tQ(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var b4=Object.getOwnPropertySymbols,nQ=Object.prototype.hasOwnProperty,rQ=Object.prototype.propertyIsEnumerable,oQ=(e,t)=>{var n={};for(var r in e)nQ.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&b4)for(var r of b4(e))t.indexOf(r)<0&&rQ.call(e,r)&&(n[r]=e[r]);return n};const sQ={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:uy("popover"),__staticSelector:"Popover",width:"max-content"};function Wc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=wr("Popover",sQ,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:I,arrowOffset:P,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:T,closeOnClickOutside:A,withinPortal:$,portalProps:Q,closeOnEscape:B,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:D,onChange:z,zIndex:H,radius:Y,shadow:ie,id:ye,defaultOpened:Z,__staticSelector:se,withRoles:K,disabled:U,returnFocus:ae,variant:re,keepMounted:oe}=d,pe=oQ(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[ce,ge]=f.useState(null),[_e,le]=f.useState(null),Se=fy(ye),Fe=Fa(),Ae=SY({middlewares:k,width:S,position:tQ(Fe.dir,h),offset:typeof m=="number"?m+(_?I/2:0):m,arrowRef:c,arrowOffset:P,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:Z,onChange:z,onOpen:D,onClose:G});DU(()=>Ae.opened&&A&&Ae.onClose(),V,[ce,_e]);const He=f.useCallback(ct=>{ge(ct),Ae.floating.reference(ct)},[Ae.floating.reference]),Ct=f.useCallback(ct=>{le(ct),Ae.floating.floating(ct)},[Ae.floating.floating]);return F.createElement(CY,{value:{returnFocus:ae,disabled:U,controlled:Ae.controlled,reference:He,floating:Ct,x:Ae.floating.x,y:Ae.floating.y,arrowX:(r=(n=(t=Ae.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Ae.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Ae.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:I,arrowOffset:P,arrowRadius:E,arrowPosition:O,placement:Ae.floating.placement,trapFocus:q,withinPortal:$,portalProps:Q,zIndex:H,radius:Y,shadow:ie,closeOnEscape:B,onClose:Ae.onClose,onToggle:Ae.onToggle,getTargetId:()=>`${Se}-target`,getDropdownId:()=>`${Se}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:se,classNames:M,styles:T,unstyled:R,variant:re,keepMounted:oe}},p)}Wc.Target=$I;Wc.Dropdown=UI;Wc.displayName="@mantine/core/Popover";var aQ=Object.defineProperty,jh=Object.getOwnPropertySymbols,GI=Object.prototype.hasOwnProperty,qI=Object.prototype.propertyIsEnumerable,y4=(e,t,n)=>t in e?aQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iQ=(e,t)=>{for(var n in t||(t={}))GI.call(t,n)&&y4(e,n,t[n]);if(jh)for(var n of jh(t))qI.call(t,n)&&y4(e,n,t[n]);return e},lQ=(e,t)=>{var n={};for(var r in e)GI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&jh)for(var r of jh(e))t.indexOf(r)<0&&qI.call(e,r)&&(n[r]=e[r]);return n};function cQ(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:a,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=lQ(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=VK(null,{name:d,styles:p,classNames:h,unstyled:m});return F.createElement(Wc.Dropdown,iQ({p:0,onMouseDown:w=>w.preventDefault()},v),F.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},F.createElement(Po,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Nm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},F.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function hi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:a,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return F.createElement(Wc,{unstyled:w,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:m,zIndex:p,__staticSelector:a,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:y,onPositionChange:k=>d&&(c==null?void 0:c(k==="top"?"column-reverse":"column")),variant:S},s)}hi.Target=Wc.Target;hi.Dropdown=cQ;var uQ=Object.defineProperty,dQ=Object.defineProperties,fQ=Object.getOwnPropertyDescriptors,Ih=Object.getOwnPropertySymbols,KI=Object.prototype.hasOwnProperty,YI=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?uQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cp=(e,t)=>{for(var n in t||(t={}))KI.call(t,n)&&x4(e,n,t[n]);if(Ih)for(var n of Ih(t))YI.call(t,n)&&x4(e,n,t[n]);return e},pQ=(e,t)=>dQ(e,fQ(t)),hQ=(e,t)=>{var n={};for(var r in e)KI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ih)for(var r of Ih(e))t.indexOf(r)<0&&YI.call(e,r)&&(n[r]=e[r]);return n};function QI(e,t,n){const r=wr(e,t,n),{label:o,description:s,error:a,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:k,id:_,size:I,style:P,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,T=hQ(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=fy(_),{systemStyles:$,rest:Q}=Mm(T),B=cp({label:o,description:s,error:a,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:A,size:I,style:P,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return pQ(cp({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:cp(cp({},B),$),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:I,__staticSelector:v,error:a,variant:M}})}var mQ=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Wt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const gQ=mQ;var vQ=Object.defineProperty,Eh=Object.getOwnPropertySymbols,XI=Object.prototype.hasOwnProperty,JI=Object.prototype.propertyIsEnumerable,w4=(e,t,n)=>t in e?vQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bQ=(e,t)=>{for(var n in t||(t={}))XI.call(t,n)&&w4(e,n,t[n]);if(Eh)for(var n of Eh(t))JI.call(t,n)&&w4(e,n,t[n]);return e},yQ=(e,t)=>{var n={};for(var r in e)XI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Eh)for(var r of Eh(e))t.indexOf(r)<0&&JI.call(e,r)&&(n[r]=e[r]);return n};const xQ={labelElement:"label",size:"sm"},wy=f.forwardRef((e,t)=>{const n=wr("InputLabel",xQ,e),{labelElement:r,children:o,required:s,size:a,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=yQ(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=gQ(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return F.createElement(Po,bQ({component:r,ref:t,className:k(S.label,h),htmlFor:r==="label"?m:void 0,onMouseDown:_=>{w==null||w(_),!_.defaultPrevented&&_.detail>1&&_.preventDefault()}},y),o,s&&F.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});wy.displayName="@mantine/core/InputLabel";var wQ=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Wt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const SQ=wQ;var CQ=Object.defineProperty,Oh=Object.getOwnPropertySymbols,ZI=Object.prototype.hasOwnProperty,eE=Object.prototype.propertyIsEnumerable,S4=(e,t,n)=>t in e?CQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kQ=(e,t)=>{for(var n in t||(t={}))ZI.call(t,n)&&S4(e,n,t[n]);if(Oh)for(var n of Oh(t))eE.call(t,n)&&S4(e,n,t[n]);return e},_Q=(e,t)=>{var n={};for(var r in e)ZI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Oh)for(var r of Oh(e))t.indexOf(r)<0&&eE.call(e,r)&&(n[r]=e[r]);return n};const PQ={size:"sm"},Sy=f.forwardRef((e,t)=>{const n=wr("InputError",PQ,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=_Q(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=SQ(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return F.createElement(Sc,kQ({className:b(v.error,o),ref:t},m),r)});Sy.displayName="@mantine/core/InputError";var jQ=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Wt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const IQ=jQ;var EQ=Object.defineProperty,Rh=Object.getOwnPropertySymbols,tE=Object.prototype.hasOwnProperty,nE=Object.prototype.propertyIsEnumerable,C4=(e,t,n)=>t in e?EQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OQ=(e,t)=>{for(var n in t||(t={}))tE.call(t,n)&&C4(e,n,t[n]);if(Rh)for(var n of Rh(t))nE.call(t,n)&&C4(e,n,t[n]);return e},RQ=(e,t)=>{var n={};for(var r in e)tE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&nE.call(e,r)&&(n[r]=e[r]);return n};const MQ={size:"sm"},Cy=f.forwardRef((e,t)=>{const n=wr("InputDescription",MQ,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=RQ(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=IQ(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return F.createElement(Sc,OQ({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});Cy.displayName="@mantine/core/InputDescription";const rE=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),DQ=rE.Provider,TQ=()=>f.useContext(rE);function AQ(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var NQ=Object.defineProperty,$Q=Object.defineProperties,zQ=Object.getOwnPropertyDescriptors,k4=Object.getOwnPropertySymbols,LQ=Object.prototype.hasOwnProperty,BQ=Object.prototype.propertyIsEnumerable,_4=(e,t,n)=>t in e?NQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FQ=(e,t)=>{for(var n in t||(t={}))LQ.call(t,n)&&_4(e,n,t[n]);if(k4)for(var n of k4(t))BQ.call(t,n)&&_4(e,n,t[n]);return e},HQ=(e,t)=>$Q(e,zQ(t)),WQ=so(e=>({root:HQ(FQ({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const VQ=WQ;var UQ=Object.defineProperty,GQ=Object.defineProperties,qQ=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,oE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,P4=(e,t,n)=>t in e?UQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ei=(e,t)=>{for(var n in t||(t={}))oE.call(t,n)&&P4(e,n,t[n]);if(Mh)for(var n of Mh(t))sE.call(t,n)&&P4(e,n,t[n]);return e},j4=(e,t)=>GQ(e,qQ(t)),KQ=(e,t)=>{var n={};for(var r in e)oE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mh)for(var r of Mh(e))t.indexOf(r)<0&&sE.call(e,r)&&(n[r]=e[r]);return n};const YQ={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},aE=f.forwardRef((e,t)=>{const n=wr("InputWrapper",YQ,e),{className:r,label:o,children:s,required:a,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:k,__staticSelector:_,unstyled:I,inputWrapperOrder:P,withAsterisk:E,variant:O}=n,R=KQ(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:T}=VQ(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:I,variant:O,size:S}),A={classNames:w,styles:y,unstyled:I,size:S,variant:O,__staticSelector:_},$=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,B=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?B:""}`,G=q.trim().length>0?q.trim():void 0,D=o&&F.createElement(wy,ei(ei({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:$},A),m),o),z=p&&F.createElement(Cy,j4(ei(ei({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||B}),p),H=F.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&F.createElement(Sy,j4(ei(ei({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ie=P.map(ye=>{switch(ye){case"label":return D;case"input":return H;case"description":return z;case"error":return Y;default:return null}});return F.createElement(DQ,{value:ei({describedBy:G},AQ(P,{hasDescription:!!z,hasError:!!Y}))},F.createElement(Po,ei({className:T(M.root,r),ref:t},R),ie))});aE.displayName="@mantine/core/InputWrapper";var QQ=Object.defineProperty,Dh=Object.getOwnPropertySymbols,iE=Object.prototype.hasOwnProperty,lE=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?QQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XQ=(e,t)=>{for(var n in t||(t={}))iE.call(t,n)&&I4(e,n,t[n]);if(Dh)for(var n of Dh(t))lE.call(t,n)&&I4(e,n,t[n]);return e},JQ=(e,t)=>{var n={};for(var r in e)iE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dh)for(var r of Dh(e))t.indexOf(r)<0&&lE.call(e,r)&&(n[r]=e[r]);return n};const ZQ={},cE=f.forwardRef((e,t)=>{const n=wr("InputPlaceholder",ZQ,e),{sx:r}=n,o=JQ(n,["sx"]);return F.createElement(Po,XQ({component:"span",sx:[s=>s.fn.placeholderStyles(),...cj(r)],ref:t},o))});cE.displayName="@mantine/core/InputPlaceholder";var eX=Object.defineProperty,tX=Object.defineProperties,nX=Object.getOwnPropertyDescriptors,E4=Object.getOwnPropertySymbols,rX=Object.prototype.hasOwnProperty,oX=Object.prototype.propertyIsEnumerable,O4=(e,t,n)=>t in e?eX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,up=(e,t)=>{for(var n in t||(t={}))rX.call(t,n)&&O4(e,n,t[n]);if(E4)for(var n of E4(t))oX.call(t,n)&&O4(e,n,t[n]);return e},q0=(e,t)=>tX(e,nX(t));const Qo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},sX=["default","filled","unstyled"];function aX({theme:e,variant:t}){return sX.includes(t)?t==="default"?{border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${Ue(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:Ue(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var iX=so((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:a,offsetBottom:c,offsetTop:d,pointer:p},{variant:h,size:m})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Wt({size:m,sizes:Qo}),paddingLeft:`calc(${Wt({size:m,sizes:Qo})} / 3)`,paddingRight:s?o||Wt({size:m,sizes:Qo}):`calc(${Wt({size:m,sizes:Qo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Wt({size:m,sizes:Qo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:c?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:q0(up(up(q0(up({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Wt({size:m,sizes:Qo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Wt({size:m,sizes:Qo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Wt({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),aX({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof a=="number"?Ue(a):Wt({size:m,sizes:Qo})},"&::placeholder":q0(up({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:a?Ue(a):Wt({size:m,sizes:Qo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Wt({size:m,sizes:Qo})}}});const lX=iX;var cX=Object.defineProperty,uX=Object.defineProperties,dX=Object.getOwnPropertyDescriptors,Th=Object.getOwnPropertySymbols,uE=Object.prototype.hasOwnProperty,dE=Object.prototype.propertyIsEnumerable,R4=(e,t,n)=>t in e?cX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dp=(e,t)=>{for(var n in t||(t={}))uE.call(t,n)&&R4(e,n,t[n]);if(Th)for(var n of Th(t))dE.call(t,n)&&R4(e,n,t[n]);return e},M4=(e,t)=>uX(e,dX(t)),fX=(e,t)=>{var n={};for(var r in e)uE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Th)for(var r of Th(e))t.indexOf(r)<0&&dE.call(e,r)&&(n[r]=e[r]);return n};const pX={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=wr("Input",pX,e),{className:r,error:o,required:s,disabled:a,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:k,styles:_,__staticSelector:I,multiline:P,sx:E,unstyled:O,pointer:R}=n,M=fX(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:T,offsetTop:A,describedBy:$}=TQ(),{classes:Q,cx:B}=lX({radius:w,multiline:P,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:T,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",I],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=Mm(M);return F.createElement(Po,dp(dp({className:B(Q.wrapper,r),sx:E,style:p},V),S),d&&F.createElement("div",{className:Q.icon},d),F.createElement(Po,M4(dp({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":$,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&F.createElement("div",M4(dp({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=aE;bl.Label=wy;bl.Description=Cy;bl.Error=Sy;bl.Placeholder=cE;const Pc=bl;var hX=Object.defineProperty,Ah=Object.getOwnPropertySymbols,fE=Object.prototype.hasOwnProperty,pE=Object.prototype.propertyIsEnumerable,D4=(e,t,n)=>t in e?hX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T4=(e,t)=>{for(var n in t||(t={}))fE.call(t,n)&&D4(e,n,t[n]);if(Ah)for(var n of Ah(t))pE.call(t,n)&&D4(e,n,t[n]);return e},mX=(e,t)=>{var n={};for(var r in e)fE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ah)for(var r of Ah(e))t.indexOf(r)<0&&pE.call(e,r)&&(n[r]=e[r]);return n};const gX={multiple:!1},hE=f.forwardRef((e,t)=>{const n=wr("FileButton",gX,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=mX(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),w=f.useRef(),y=()=>{!h&&w.current.click()},S=_=>{r(s?Array.from(_.currentTarget.files):_.currentTarget.files[0]||null)};return yj(p,()=>{w.current.value=""}),F.createElement(F.Fragment,null,o(T4({onClick:y},b)),F.createElement("input",T4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Ad(t,w),name:c,form:d,capture:m},v)))});hE.displayName="@mantine/core/FileButton";const mE={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},vX={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var bX=so((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Wt({size:o,sizes:mE}),paddingLeft:`calc(${Wt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Wt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Wt({size:o,sizes:vX}),borderRadius:Wt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${Ue(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Wt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const yX=bX;var xX=Object.defineProperty,Nh=Object.getOwnPropertySymbols,gE=Object.prototype.hasOwnProperty,vE=Object.prototype.propertyIsEnumerable,A4=(e,t,n)=>t in e?xX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wX=(e,t)=>{for(var n in t||(t={}))gE.call(t,n)&&A4(e,n,t[n]);if(Nh)for(var n of Nh(t))vE.call(t,n)&&A4(e,n,t[n]);return e},SX=(e,t)=>{var n={};for(var r in e)gE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Nh)for(var r of Nh(e))t.indexOf(r)<0&&vE.call(e,r)&&(n[r]=e[r]);return n};const CX={xs:16,sm:22,md:24,lg:26,xl:30};function bE(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:a,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=SX(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=yX({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return F.createElement("div",wX({className:y(w.defaultValue,s)},b),F.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&F.createElement(Jj,{"aria-hidden":!0,onMouseDown:a,size:CX[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}bE.displayName="@mantine/core/MultiSelect/DefaultValue";function kX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:a}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const c=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&c.push(e[d]),!(c.length>=n));d+=1);return c}var _X=Object.defineProperty,$h=Object.getOwnPropertySymbols,yE=Object.prototype.hasOwnProperty,xE=Object.prototype.propertyIsEnumerable,N4=(e,t,n)=>t in e?_X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$4=(e,t)=>{for(var n in t||(t={}))yE.call(t,n)&&N4(e,n,t[n]);if($h)for(var n of $h(t))xE.call(t,n)&&N4(e,n,t[n]);return e},PX=(e,t)=>{var n={};for(var r in e)yE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$h)for(var r of $h(e))t.indexOf(r)<0&&xE.call(e,r)&&(n[r]=e[r]);return n};const jX={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function IX(e){var t=e,{size:n,error:r,style:o}=t,s=PX(t,["size","error","style"]);const a=Fa(),c=Wt({size:n,sizes:jX});return F.createElement("svg",$4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:$4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),F.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var EX=Object.defineProperty,OX=Object.defineProperties,RX=Object.getOwnPropertyDescriptors,z4=Object.getOwnPropertySymbols,MX=Object.prototype.hasOwnProperty,DX=Object.prototype.propertyIsEnumerable,L4=(e,t,n)=>t in e?EX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TX=(e,t)=>{for(var n in t||(t={}))MX.call(t,n)&&L4(e,n,t[n]);if(z4)for(var n of z4(t))DX.call(t,n)&&L4(e,n,t[n]);return e},AX=(e,t)=>OX(e,RX(t));function wE({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?F.createElement(Jj,AX(TX({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):F.createElement(IX,{error:o,size:r})}wE.displayName="@mantine/core/SelectRightSection";var NX=Object.defineProperty,$X=Object.defineProperties,zX=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,SE=Object.prototype.hasOwnProperty,CE=Object.prototype.propertyIsEnumerable,B4=(e,t,n)=>t in e?NX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,K0=(e,t)=>{for(var n in t||(t={}))SE.call(t,n)&&B4(e,n,t[n]);if(zh)for(var n of zh(t))CE.call(t,n)&&B4(e,n,t[n]);return e},F4=(e,t)=>$X(e,zX(t)),LX=(e,t)=>{var n={};for(var r in e)SE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&zh)for(var r of zh(e))t.indexOf(r)<0&&CE.call(e,r)&&(n[r]=e[r]);return n};function kE(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=LX(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!a.readOnly&&!(a.disabled&&a.shouldClear)&&F.createElement(wE,K0({},a)),styles:F4(K0({},c),{rightSection:F4(K0({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var BX=Object.defineProperty,FX=Object.defineProperties,HX=Object.getOwnPropertyDescriptors,H4=Object.getOwnPropertySymbols,WX=Object.prototype.hasOwnProperty,VX=Object.prototype.propertyIsEnumerable,W4=(e,t,n)=>t in e?BX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UX=(e,t)=>{for(var n in t||(t={}))WX.call(t,n)&&W4(e,n,t[n]);if(H4)for(var n of H4(t))VX.call(t,n)&&W4(e,n,t[n]);return e},GX=(e,t)=>FX(e,HX(t)),qX=so((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Wt({size:n,sizes:Qo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Wt({size:n,sizes:Qo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:GX(UX({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Wt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Wt({size:n,sizes:mE}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const KX=qX;var YX=Object.defineProperty,QX=Object.defineProperties,XX=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,_E=Object.prototype.hasOwnProperty,PE=Object.prototype.propertyIsEnumerable,V4=(e,t,n)=>t in e?YX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))_E.call(t,n)&&V4(e,n,t[n]);if(Lh)for(var n of Lh(t))PE.call(t,n)&&V4(e,n,t[n]);return e},U4=(e,t)=>QX(e,XX(t)),JX=(e,t)=>{var n={};for(var r in e)_E.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Lh)for(var r of Lh(e))t.indexOf(r)<0&&PE.call(e,r)&&(n[r]=e[r]);return n};function ZX(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function eJ(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function G4(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const tJ={size:"sm",valueComponent:bE,itemComponent:hy,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:ZX,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:eJ,switchDirectionOnFlip:!1,zIndex:uy("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},jE=f.forwardRef((e,t)=>{const n=wr("MultiSelect",tJ,e),{className:r,style:o,required:s,label:a,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:k,itemComponent:_,id:I,transitionProps:P,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:T,searchable:A,placeholder:$,filter:Q,limit:B,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:D,onSearchChange:z,searchValue:H,disabled:Y,initiallyOpened:ie,radius:ye,icon:Z,rightSection:se,rightSectionWidth:K,creatable:U,getCreateLabel:ae,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:ce,onDropdownClose:ge,onDropdownOpen:_e,maxSelectedValues:le,withinPortal:Se,portalProps:Fe,switchDirectionOnFlip:Ae,zIndex:He,selectOnBlur:Ct,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:we,form:Re,positionDependencies:Pt,onKeyDown:At,unstyled:xe,inputContainer:ht,inputWrapperOrder:$t,readOnly:zt,withAsterisk:Ne,clearButtonProps:qe,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Je=JX(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Qe,cx:dt,theme:Lt}=KX({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:xe,size:d,variant:D}),{systemStyles:lr,rest:pn}=Mm(Je),ln=f.useRef(),Fr=f.useRef({}),br=fy(I),[Fn,Hn]=f.useState(ie),[Wn,Ar]=f.useState(-1),[Ro,Hr]=f.useState("column"),[Wr,fs]=rd({value:H,defaultValue:"",finalValue:void 0,onChange:z}),[Nr,$s]=f.useState(!1),{scrollIntoView:ps,targetRef:ua,scrollableRef:zs}=wj({duration:0,offset:5,cancelable:!1,isList:!0}),X=U&&typeof ae=="function";let ee=null;const he=y.map($e=>typeof $e=="string"?{label:$e,value:$e}:$e),ke=uj({data:he}),[me,ut]=rd({value:G4(b,y),defaultValue:G4(w,y),finalValue:[],onChange:S}),st=f.useRef(!!le&&le{if(!zt){const yt=me.filter(Mt=>Mt!==$e);ut(yt),le&&yt.length{fs($e.currentTarget.value),!Y&&!st.current&&A&&Hn(!0)},xt=$e=>{typeof M=="function"&&M($e),!Y&&!st.current&&A&&Hn(!0)},Be=kX({data:ke,searchable:A,searchValue:Wr,limit:B,filter:Q,value:me,disableSelectedItemFiltering:Pe});X&&re(Wr,ke)&&(ee=ae(Wr),Be.push({label:Wr,value:Wr,creatable:!0}));const Ce=Math.min(Wn,Be.length-1),Xe=($e,yt,Mt)=>{let Ht=$e;for(;Mt(Ht);)if(Ht=yt(Ht),!Be[Ht].disabled)return Ht;return $e};Ps(()=>{Ar(Pn&&Wr?0:-1)},[Wr,Pn]),Ps(()=>{!Y&&me.length>y.length&&Hn(!1),le&&me.length=le&&(st.current=!0,Hn(!1))},[me]);const jt=$e=>{if(!zt)if(V&&fs(""),me.includes($e.value))Ft($e.value);else{if($e.creatable&&typeof oe=="function"){const yt=oe($e.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,$e.value]);me.length===le-1&&(st.current=!0,Hn(!1)),Be.length===1&&Hn(!1)}},Et=$e=>{typeof T=="function"&&T($e),Ct&&Be[Ce]&&Fn&&jt(Be[Ce]),G&&fs(""),Hn(!1)},Nt=$e=>{if(Nr||(At==null||At($e),zt)||$e.key!=="Backspace"&&le&&st.current)return;const yt=Ro==="column",Mt=()=>{Ar(jn=>{var Ut;const un=Xe(jn,sn=>sn+1,sn=>sn{Ar(jn=>{var Ut;const un=Xe(jn,sn=>sn-1,sn=>sn>0);return Fn&&(ua.current=Fr.current[(Ut=Be[un])==null?void 0:Ut.value],ps({alignment:yt?"start":"end"})),un})};switch($e.key){case"ArrowUp":{$e.preventDefault(),Hn(!0),yt?Ht():Mt();break}case"ArrowDown":{$e.preventDefault(),Hn(!0),yt?Mt():Ht();break}case"Enter":{$e.preventDefault(),Be[Ce]&&Fn?jt(Be[Ce]):Hn(!0);break}case" ":{A||($e.preventDefault(),Be[Ce]&&Fn?jt(Be[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Wr.length===0&&(ut(me.slice(0,-1)),Hn(!0),le&&(st.current=!1));break}case"Home":{if(!A){$e.preventDefault(),Fn||Hn(!0);const jn=Be.findIndex(Ut=>!Ut.disabled);Ar(jn),ps({alignment:yt?"end":"start"})}break}case"End":{if(!A){$e.preventDefault(),Fn||Hn(!0);const jn=Be.map(Ut=>!!Ut.disabled).lastIndexOf(!1);Ar(jn),ps({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},Gt=me.map($e=>{let yt=ke.find(Mt=>Mt.value===$e&&!Mt.disabled);return!yt&&X&&(yt={value:$e,label:$e}),yt}).filter($e=>!!$e).map(($e,yt)=>F.createElement(k,U4(Hl({},$e),{variant:D,disabled:Y,className:Qe.value,readOnly:zt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ft($e.value)},key:$e.value,size:d,styles:m,classNames:h,radius:ye,index:yt}))),Zt=$e=>me.includes($e),Jt=()=>{var $e;fs(""),ut([]),($e=ln.current)==null||$e.focus(),le&&(st.current=!1)},Vt=!zt&&(Be.length>0?Fn:Fn&&!!R);return Ps(()=>{const $e=Vt?_e:ge;typeof $e=="function"&&$e()},[Vt]),F.createElement(Pc.Wrapper,Hl(Hl({required:s,id:br,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:we,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:xe,withAsterisk:Ne,variant:D},lr),v),F.createElement(hi,{opened:Vt,transitionProps:P,shadow:"sm",withinPortal:Se,portalProps:Fe,__staticSelector:"MultiSelect",onDirectionChange:Hr,switchDirectionOnFlip:Ae,zIndex:He,dropdownPosition:on,positionDependencies:[...Pt,Wr],classNames:h,styles:m,unstyled:xe,variant:D},F.createElement(hi.Target,null,F.createElement("div",{className:Qe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Vt?`${br}-items`:null,"aria-controls":br,"aria-expanded":Fn,onMouseLeave:()=>Ar(-1),tabIndex:-1},F.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Re,disabled:Y}),F.createElement(Pc,Hl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:D,disabled:Y,error:p,required:s,radius:ye,icon:Z,unstyled:xe,onMouseDown:$e=>{var yt;$e.preventDefault(),!Y&&!st.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:U4(Hl({},h),{input:dt({[Qe.input]:!A},h==null?void 0:h.input)})},kE({theme:Lt,rightSection:se,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:Jt,error:p,disabled:Y,clearButtonProps:qe,readOnly:zt})),F.createElement("div",{className:Qe.values,"data-clearable":q||void 0},Gt,F.createElement("input",Hl({ref:Ad(t,ln),type:"search",id:br,className:dt(Qe.searchInput,{[Qe.searchInputPointer]:!A,[Qe.searchInputInputHidden]:!Fn&&me.length>0||!A&&me.length>0,[Qe.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Wr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||st.current||zt,placeholder:me.length===0?$:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),F.createElement(hi.Dropdown,{component:ce||Nm,maxHeight:E,direction:Ro,id:br,innerRef:zs,__staticSelector:"MultiSelect",classNames:h,styles:m},F.createElement(py,{data:Be,hovered:Ce,classNames:h,styles:m,uuid:br,__staticSelector:"MultiSelect",onItemHover:Ar,onItemSelect:jt,itemsRefs:Fr,itemComponent:_,size:d,nothingFound:R,isItemSelected:Zt,creatable:U&&!!ee,createLabel:ee,unstyled:xe,variant:D}))))});jE.displayName="@mantine/core/MultiSelect";var nJ=Object.defineProperty,rJ=Object.defineProperties,oJ=Object.getOwnPropertyDescriptors,Bh=Object.getOwnPropertySymbols,IE=Object.prototype.hasOwnProperty,EE=Object.prototype.propertyIsEnumerable,q4=(e,t,n)=>t in e?nJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y0=(e,t)=>{for(var n in t||(t={}))IE.call(t,n)&&q4(e,n,t[n]);if(Bh)for(var n of Bh(t))EE.call(t,n)&&q4(e,n,t[n]);return e},sJ=(e,t)=>rJ(e,oJ(t)),aJ=(e,t)=>{var n={};for(var r in e)IE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bh)for(var r of Bh(e))t.indexOf(r)<0&&EE.call(e,r)&&(n[r]=e[r]);return n};const iJ={type:"text",size:"sm",__staticSelector:"TextInput"},OE=f.forwardRef((e,t)=>{const n=QI("TextInput",iJ,e),{inputProps:r,wrapperProps:o}=n,s=aJ(n,["inputProps","wrapperProps"]);return F.createElement(Pc.Wrapper,Y0({},o),F.createElement(Pc,sJ(Y0(Y0({},r),s),{ref:t})))});OE.displayName="@mantine/core/TextInput";function lJ({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:a}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!a&&(c==null?void 0:c.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(c),h=p+n,m=h-e.length;return m>0?e.slice(p-m):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var cJ=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const uJ=cJ;var dJ=Object.defineProperty,fJ=Object.defineProperties,pJ=Object.getOwnPropertyDescriptors,Fh=Object.getOwnPropertySymbols,RE=Object.prototype.hasOwnProperty,ME=Object.prototype.propertyIsEnumerable,K4=(e,t,n)=>t in e?dJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vu=(e,t)=>{for(var n in t||(t={}))RE.call(t,n)&&K4(e,n,t[n]);if(Fh)for(var n of Fh(t))ME.call(t,n)&&K4(e,n,t[n]);return e},Q0=(e,t)=>fJ(e,pJ(t)),hJ=(e,t)=>{var n={};for(var r in e)RE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fh)for(var r of Fh(e))t.indexOf(r)<0&&ME.call(e,r)&&(n[r]=e[r]);return n};function mJ(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function gJ(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const vJ={required:!1,size:"sm",shadow:"sm",itemComponent:hy,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:mJ,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:gJ,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:uy("popover"),positionDependencies:[],dropdownPosition:"flip"},ky=f.forwardRef((e,t)=>{const n=QI("Select",vJ,e),{inputProps:r,wrapperProps:o,shadow:s,data:a,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:k,styles:_,filter:I,maxDropdownHeight:P,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:T,onSearchChange:A,searchValue:$,rightSection:Q,rightSectionWidth:B,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:D,onCreate:z,dropdownComponent:H,onDropdownClose:Y,onDropdownOpen:ie,withinPortal:ye,portalProps:Z,switchDirectionOnFlip:se,zIndex:K,name:U,dropdownPosition:ae,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:ce,positionDependencies:ge,readOnly:_e,clearButtonProps:le,hoverOnSearchChange:Se}=n,Fe=hJ(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Ae,cx:He,theme:Ct}=uJ(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),we=f.useRef(),Re=f.useRef({}),[Pt,At]=f.useState("column"),xe=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:zt}=wj({duration:0,offset:5,cancelable:!1,isList:!0}),Ne=re===void 0?O:re,qe=ee=>{if(ct!==ee){on(ee);const he=ee?ie:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Je=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Qe=uj({data:Je}),[dt,Lt,lr]=rd({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Qe.find(ee=>ee.value===dt),[ln,Fr]=rd({value:$,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),br=ee=>{Fr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;_e||(Lt(null),lr||br(""),(ee=we.current)==null||ee.focus())};f.useEffect(()=>{const ee=Qe.find(he=>he.value===dt);ee?br(ee.label):(!Pn||!dt)&&br("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&br(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!_e)if(Ne&&(pn==null?void 0:pn.value)===ee.value)Lt(null),qe(!1);else{if(ee.creatable&&typeof z=="function"){const he=z(ee.value);typeof he<"u"&&he!==null&&Lt(typeof he=="string"?he:he.value)}else Lt(ee.value);lr||br(ee.label),bt(-1),qe(!1),we.current.focus()}},Wn=lJ({data:Qe,searchable:E,limit:M,searchValue:ln,filter:I,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Ar=(ee,he,ke)=>{let me=ee;for(;ke(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};Ps(()=>{bt(Se&&ln?0:-1)},[ln,Se]);const Ro=dt?Wn.findIndex(ee=>ee.value===dt):0,Hr=!_e&&(Wn.length>0?ct:ct&&!!R),Wr=()=>{bt(ee=>{var he;const ke=Ar(ee,me=>me-1,me=>me>0);return $t.current=Re.current[(he=Wn[ke])==null?void 0:he.value],Hr&&ht({alignment:xe?"start":"end"}),ke})},fs=()=>{bt(ee=>{var he;const ke=Ar(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Re.current[(ee=Wn[Ro])==null?void 0:ee.value],ht({alignment:xe?"end":"start"})},50);Ps(()=>{Hr&&Nr()},[Hr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?xe?Wr():fs():(bt(Ro),qe(!0),Nr());break}case"ArrowDown":{ee.preventDefault(),ct?xe?fs():Wr():(bt(Ro),qe(!0),Nr());break}case"Home":{if(!E){ee.preventDefault(),ct||qe(!0);const he=Wn.findIndex(ke=>!ke.disabled);bt(he),Hr&&ht({alignment:xe?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||qe(!0);const he=Wn.map(ke=>!!ke.disabled).lastIndexOf(!1);bt(he),Hr&&ht({alignment:xe?"end":"start"})}break}case"Escape":{ee.preventDefault(),qe(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(qe(!0),bt(Ro),Nr()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},ps=ee=>{typeof v=="function"&&v(ee);const he=Qe.find(ke=>ke.value===dt);D&&Wn[vt]&&ct&&Hn(Wn[vt]),br((he==null?void 0:he.label)||""),qe(!1)},ua=ee=>{typeof b=="function"&&b(ee),E&&qe(!0)},zs=ee=>{_e||(br(ee.currentTarget.value),O&&ee.currentTarget.value===""&&Lt(null),bt(-1),qe(!0))},X=()=>{_e||(qe(!ct),dt&&!ct&&bt(Ro))};return F.createElement(Pc.Wrapper,Q0(vu({},o),{__staticSelector:"Select"}),F.createElement(hi,{opened:Hr,transitionProps:w,shadow:s,withinPortal:ye,portalProps:Z,__staticSelector:"Select",onDirectionChange:At,switchDirectionOnFlip:se,zIndex:K,dropdownPosition:ae,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},F.createElement(hi.Target,null,F.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Hr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Hr,onMouseLeave:()=>bt(-1),tabIndex:-1},F.createElement("input",{type:"hidden",name:U,value:dt||"",form:ce,disabled:T}),F.createElement(Pc,vu(Q0(vu(vu({autoComplete:"off",type:"search"},r),Fe),{ref:Ad(t,we),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:zs,"aria-autocomplete":"list","aria-controls":Hr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:X,onBlur:ps,onFocus:ua,readOnly:!E||_e,disabled:T,"data-mantine-stop-propagation":Hr,name:null,classNames:Q0(vu({},k),{input:He({[Ae.input]:!E},k==null?void 0:k.input)})}),kE({theme:Ct,rightSection:Q,rightSectionWidth:B,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:le,disabled:T,readOnly:_e}))))),F.createElement(hi.Dropdown,{component:H||Nm,maxHeight:P,direction:Pt,id:r.id,innerRef:zt,__staticSelector:"Select",classNames:k,styles:_},F.createElement(py,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Re,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});ky.displayName="@mantine/core/Select";const _y=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,k,_,I,P,E,O,R,M,T,A,$,Q,B,V,q,G,D,z,H,Y,ie]=Dc("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:a,base400:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:k,base950:_,accent50:I,accent100:P,accent150:E,accent200:O,accent250:R,accent300:M,accent350:T,accent400:A,accent450:$,accent500:Q,accent550:B,accent600:V,accent650:q,accent700:G,accent750:D,accent800:z,accent850:H,accent900:Y,accent950:ie}},DE=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=_y(),{colorMode:y}=Ds(),[S]=Dc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:ze(c,r)(y)},separatorLabel:{color:ze(s,s)(y),"::after":{borderTopColor:ze(r,c)(y)}},input:{backgroundColor:ze(e,p)(y),borderWidth:"2px",borderColor:ze(n,d)(y),color:ze(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:ze(r,a)(y)},"&:focus":{borderColor:ze(m,w)(y)},"&:is(:focus, :hover)":{borderColor:ze(o,s)(y)},"&:focus-within":{borderColor:ze(h,w)(y)},"&[data-disabled]":{backgroundColor:ze(r,c)(y),color:ze(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:ze(t,p)(y),color:ze(p,t)(y),button:{color:ze(p,t)(y)},"&:hover":{backgroundColor:ze(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:ze(n,d)(y),borderColor:ze(n,d)(y),boxShadow:S},item:{backgroundColor:ze(n,d)(y),color:ze(d,n)(y),padding:6,"&[data-hovered]":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)},"&[data-active]":{backgroundColor:ze(r,c)(y),"&:hover":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)}},"&[data-selected]":{backgroundColor:ze(v,w)(y),color:ze(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:ze(b,b)(y),color:ze("white",e)(y)}},"&[data-disabled]":{color:ze(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:ze(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},bJ=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:a,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(_o(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(_o(!1))},[d]),b=f.useCallback(y=>{h(""),o&&o(y)},[o]),w=DE();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(ky,{ref:r,label:s?i.jsx(ho,{isDisabled:a,children:i.jsx(zo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},sr=f.memo(bJ),TE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(wn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Oe,{ref:s,...o,children:i.jsxs(Oe,{children:[i.jsx(Sc,{children:e}),n&&i.jsx(Sc,{size:"xs",color:"base.600",children:n})]})})}));TE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(TE),yJ=fe([Ye],({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),xJ=()=>{const e=te(),{autoAddBoardId:t}=L(yJ),n=f.useRef(null),{boards:r,hasBoards:o}=Zh(void 0,{selectFromResult:({data:a})=>{const c=[{label:"None",value:"none"}];return a==null||a.forEach(({board_id:d,board_name:p})=>{c.push({label:p,value:d})}),{boards:c,hasBoards:c.length>1}}}),s=f.useCallback(a=>{a&&e(O_(a==="none"?void 0:a))},[e]);return i.jsx(sr,{label:"Auto-Add Board",inputRef:n,autoFocus:!0,placeholder:"Select a Board",value:t,data:r,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!o,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},wJ=fe([Ye],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n}},Ge),SJ=()=>{const e=te(),{t}=be(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r}=L(wJ),o=s=>{e(Op(s))};return i.jsx(gl,{triggerComponent:i.jsx(Le,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:4,children:[i.jsx(_t,{value:n,onChange:o,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:()=>e(Op(64))}),i.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:s=>e(zR(s.target.checked))}),i.jsx(xJ,{})]})})},CJ=e=>e.image?i.jsx(gm,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(W,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(dl,{size:"xl"})}),mi=e=>{const{icon:t=al,boxSize:n=16}=e;return i.jsxs(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(Kr,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(tt,{textAlign:"center",children:e.label})]})},Lm=0,Ri=1,Vc=2,AE=4;function kJ(e,t){return n=>e(t(n))}function _J(e,t){return t(e)}function NE(e,t){return n=>e(t,n)}function Y4(e,t){return()=>e(t)}function Py(e,t){return t(e),e}function yl(...e){return e}function PJ(e){e()}function Q4(e){return()=>e}function jJ(...e){return()=>{e.map(PJ)}}function Bm(){}function po(e,t){return e(Ri,t)}function Mr(e,t){e(Lm,t)}function jy(e){e(Vc)}function Fm(e){return e(AE)}function Un(e,t){return po(e,NE(t,Lm))}function X4(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function xr(){const e=[];return(t,n)=>{switch(t){case Vc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Lm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function qt(e){let t=e;const n=xr();return(r,o)=>{switch(r){case Ri:o(t);break;case Lm:t=o;break;case AE:return t}return n(r,o)}}function IJ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=po(e,s),t):(r(),Bm);case Vc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function $u(e){return Py(xr(),t=>Un(e,t))}function pc(e,t){return Py(qt(t),n=>Un(e,n))}function EJ(...e){return t=>e.reduceRight(_J,t)}function Kt(e,...t){const n=EJ(...t);return(r,o)=>{switch(r){case Ri:return po(e,n(o));case Vc:jy(e);return}}}function $E(e,t){return e===t}function wo(e=$E){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function qr(e){return t=>n=>{e(n)&&t(n)}}function tr(e){return t=>kJ(t,e)}function ai(e){return t=>()=>t(e)}function fp(e,t){return n=>r=>n(t=e(t,r))}function m1(e){return t=>n=>{e>0?e--:t(n)}}function ju(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function J4(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Ys(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);po(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function Z4(...e){return function(t,n){switch(t){case Ri:return jJ(...e.map(r=>po(r,n)));case Vc:return;default:throw new Error(`unrecognized action ${t}`)}}}function xn(e,t=$E){return Kt(e,wo(t))}function wa(...e){const t=xr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);po(s,d=>{n[a]=d,r=r|c,r===o&&Mr(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),po(t,a);case Vc:return jy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ca(e,t=[],{singleton:n}={singleton:!0}){return{id:OJ(),constructor:e,dependencies:t,singleton:n}}const OJ=()=>Symbol();function RJ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function MJ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const I=y[t.methods[k]];Mr(I,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=IJ(y[t.events[k]]),S),{})}return{Component:F.forwardRef((y,S)=>{const{children:k,..._}=y,[I]=F.useState(()=>Py(RJ(e),E=>d(E,_))),[P]=F.useState(Y4(h,I));return pp(()=>{for(const E of a)E in _&&po(P[E],_[E]);return()=>{Object.values(P).map(jy)}},[_,P,I]),pp(()=>{d(I,_)}),F.useImperativeHandle(S,Q4(p(I))),F.createElement(c.Provider,{value:I},n?F.createElement(n,MJ([...r,...o,...a],_),k):k)}),usePublisher:y=>F.useCallback(NE(Mr,F.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=F.useContext(c)[y],[_,I]=F.useState(Y4(Fm,k));return pp(()=>po(k,P=>{P!==_&&I(Q4(P))}),[k,_]),_},useEmitter:(y,S)=>{const _=F.useContext(c)[y];pp(()=>po(_,S),[S,_])}}}const TJ=typeof document<"u"?F.useLayoutEffect:F.useEffect,AJ=TJ;var Iy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Iy||{});const NJ={0:"debug",1:"log",2:"warn",3:"error"},$J=()=>typeof globalThis>"u"?window:globalThis,zE=ca(()=>{const e=qt(3);return{log:qt((n,r,o=1)=>{var s;const a=(s=$J().VIRTUOSO_LOG_LEVEL)!=null?s:Fm(e);o>=a&&console[NJ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function LE(e,t=!0){const n=F.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=F.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function Hm(e,t=!0){return LE(e,t).callbackRef}function Hh(e,t){return Math.round(e.getBoundingClientRect()[t])}function BE(e,t){return Math.abs(e-t)<1.01}function FE(e,t,n,r=Bm,o){const s=F.useRef(null),a=F.useRef(null),c=F.useRef(null),d=F.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():LR.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);F.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(Hh(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=Hh(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),BE(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const Wm=ca(()=>{const e=xr(),t=xr(),n=qt(0),r=xr(),o=qt(0),s=xr(),a=xr(),c=qt(0),d=qt(0),p=qt(0),h=qt(0),m=xr(),v=xr(),b=qt(!1);return Un(Kt(e,tr(({scrollTop:w})=>w)),t),Un(Kt(e,tr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),zJ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function LJ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!zJ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const Wh="up",zu="down",BJ="none",FJ={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},HJ=0,HE=ca(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=qt(!1),c=qt(!0),d=xr(),p=xr(),h=qt(4),m=qt(HJ),v=pc(Kt(Z4(Kt(xn(t),m1(1),ai(!0)),Kt(xn(t),m1(1),ai(!1),J4(100))),wo()),!1),b=pc(Kt(Z4(Kt(s,ai(!0)),Kt(s,ai(!1),J4(200))),wo()),!1);Un(Kt(wa(xn(t),xn(m)),tr(([_,I])=>_<=I),wo()),c),Un(Kt(c,ju(50)),p);const w=$u(Kt(wa(e,xn(n),xn(r),xn(o),xn(h)),fp((_,[{scrollTop:I,scrollHeight:P},E,O,R,M])=>{const T=I+E-P>-M,A={viewportHeight:E,scrollTop:I,scrollHeight:P};if(T){let Q,B;return I>_.state.scrollTop?(Q="SCROLLED_DOWN",B=_.state.scrollTop-I):(Q="SIZE_DECREASED",B=_.state.scrollTop-I||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:B}}let $;return A.scrollHeight>_.state.scrollHeight?$="SIZE_INCREASED":E<_.state.viewportHeight?$="VIEWPORT_HEIGHT_DECREASING":I<_.state.scrollTop?$="SCROLLING_UPWARDS":$="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:$,state:A}},FJ),wo((_,I)=>_&&_.atBottom===I.atBottom))),y=pc(Kt(e,fp((_,{scrollTop:I,scrollHeight:P,viewportHeight:E})=>{if(BE(_.scrollHeight,P))return{scrollTop:I,scrollHeight:P,jump:0,changed:!1};{const O=P-(I+E)<1;return _.scrollTop!==I&&O?{scrollHeight:P,scrollTop:I,jump:_.scrollTop-I,changed:!0}:{scrollHeight:P,scrollTop:I,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),qr(_=>_.changed),tr(_=>_.jump)),0);Un(Kt(w,tr(_=>_.atBottom)),a),Un(Kt(a,ju(50)),d);const S=qt(zu);Un(Kt(e,tr(({scrollTop:_})=>_),wo(),fp((_,I)=>Fm(b)?{direction:_.direction,prevScrollTop:I}:{direction:I<_.prevScrollTop?Wh:zu,prevScrollTop:I},{direction:zu,prevScrollTop:0}),tr(_=>_.direction)),S),Un(Kt(e,ju(50),ai(BJ)),S);const k=qt(0);return Un(Kt(v,qr(_=>!_),ai(0)),k),Un(Kt(t,ju(100),Ys(v),qr(([_,I])=>!!I),fp(([_,I],[P])=>[I,P],[0,0]),tr(([_,I])=>I-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},yl(Wm)),WJ=ca(([{log:e}])=>{const t=qt(!1),n=$u(Kt(t,qr(r=>r),wo()));return po(t,r=>{r&&Fm(e)("props updated",{},Iy.DEBUG)}),{propsReady:t,didMount:n}},yl(zE),{singleton:!0});function WE(e,t){e==0?t():requestAnimationFrame(()=>WE(e-1,t))}function VJ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function g1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function UJ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const Vh="top",Uh="bottom",ek="none";function tk(e,t,n){return typeof e=="number"?n===Wh&&t===Vh||n===zu&&t===Uh?e:0:n===Wh?t===Vh?e.main:e.reverse:t===Uh?e.main:e.reverse}function nk(e,t){return typeof e=="number"?e:e[t]||0}const GJ=ca(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=xr(),a=qt(0),c=qt(0),d=qt(0),p=pc(Kt(wa(xn(e),xn(t),xn(r),xn(s,g1),xn(d),xn(a),xn(o),xn(n),xn(c)),tr(([h,m,v,[b,w],y,S,k,_,I])=>{const P=h-_,E=S+k,O=Math.max(v-P,0);let R=ek;const M=nk(I,Vh),T=nk(I,Uh);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=Wh),wh!=null),wo(g1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},yl(Wm),{singleton:!0}),qJ=ca(([{scrollVelocity:e}])=>{const t=qt(!1),n=xr(),r=qt(!1);return Un(Kt(e,Ys(r,t,n),qr(([o,s])=>!!s),tr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),wo()),t),po(Kt(wa(t,e,n),Ys(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},yl(HE),{singleton:!0});function KJ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const YJ=ca(([{scrollTo:e,scrollContainerState:t}])=>{const n=xr(),r=xr(),o=xr(),s=qt(!1),a=qt(void 0);return Un(Kt(wa(n,r),tr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Kt(e,Ys(r),tr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},yl(Wm)),X0="-webkit-sticky",rk="sticky",VE=KJ(()=>{if(typeof document>"u")return rk;const e=document.createElement("div");return e.style.position=X0,e.style.position===X0?X0:rk});function QJ(e,t){const n=F.useRef(null),r=F.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=LE(r),a=F.useCallback(()=>{r(s.current)},[r,s]);return F.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}F.createContext(void 0);const UE=F.createContext(void 0);function XJ(e){return e}VE();const JJ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},GE={width:"100%",height:"100%",position:"absolute",top:0};VE();function el(e,t){if(typeof e!="string")return{context:t}}function ZJ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return F.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=FE(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),F.createElement(p,{ref:b,style:{...JJ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...el(p,v)},a)})}function eZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return F.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=FE(d,h,p,Bm,b);return AJ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),F.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...el(p,w)},a)})}const ok={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},tZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:sk,ceil:ak,floor:Gh,min:J0,max:Lu}=Math;function nZ(e){return{...tZ,items:e}}function ik(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function rZ(e,t){return e&&e.column===t.column&&e.row===t.row}function hp(e,t){return e&&e.width===t.width&&e.height===t.height}const oZ=ca(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:I},P])=>{const E=qt(0),O=qt(0),R=qt(ok),M=qt({height:0,width:0}),T=qt({height:0,width:0}),A=xr(),$=xr(),Q=qt(0),B=qt(null),V=qt({row:0,column:0}),q=xr(),G=xr(),D=qt(!1),z=qt(0),H=qt(!0),Y=qt(!1);po(Kt(w,Ys(z),qr(([U,ae])=>!!ae)),()=>{Mr(H,!1),Mr(O,0)}),po(Kt(wa(w,H,T,M,z,Y),qr(([U,ae,re,oe,,pe])=>U&&!ae&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Mr(Y,!0),WE(1,()=>{Mr(A,U)}),X4(Kt(r),()=>{Mr(n,[0,0]),Mr(H,!0)})}),Un(Kt(G,qr(U=>U!=null&&U.scrollTop>0),ai(0)),O),po(Kt(w,Ys(G),qr(([,U])=>U!=null)),([,U])=>{U&&(Mr(M,U.viewport),Mr(T,U==null?void 0:U.item),Mr(V,U.gap),U.scrollTop>0&&(Mr(D,!0),X4(Kt(r,m1(1)),ae=>{Mr(D,!1)}),Mr(a,{top:U.scrollTop})))}),Un(Kt(M,tr(({height:U})=>U)),o),Un(Kt(wa(xn(M,hp),xn(T,hp),xn(V,(U,ae)=>U&&U.column===ae.column&&U.row===ae.row),xn(r)),tr(([U,ae,re,oe])=>({viewport:U,item:ae,gap:re,scrollTop:oe}))),q),Un(Kt(wa(xn(E),t,xn(V,rZ),xn(T,hp),xn(M,hp),xn(B),xn(O),xn(D),xn(H),xn(z)),qr(([,,,,,,,U])=>!U),tr(([U,[ae,re],oe,pe,ce,ge,_e,,le,Se])=>{const{row:Fe,column:Ae}=oe,{height:He,width:Ct}=pe,{width:ct}=ce;if(_e===0&&(U===0||ct===0))return ok;if(Ct===0){const $t=VJ(Se,U),zt=$t===0?Math.max(_e-1,0):$t;return nZ(ik($t,zt,ge))}const on=qE(ct,Ct,Ae);let vt,bt;le?ae===0&&re===0&&_e>0?(vt=0,bt=_e-1):(vt=on*Gh((ae+Fe)/(He+Fe)),bt=on*ak((re+Fe)/(He+Fe))-1,bt=J0(U-1,Lu(bt,on-1)),vt=J0(bt,Lu(0,vt))):(vt=0,bt=-1);const we=ik(vt,bt,ge),{top:Re,bottom:Pt}=lk(ce,oe,pe,we),At=ak(U/on),ht=At*He+(At-1)*Fe-Pt;return{items:we,offsetTop:Re,offsetBottom:ht,top:Re,bottom:Pt,itemHeight:He,itemWidth:Ct}})),R),Un(Kt(B,qr(U=>U!==null),tr(U=>U.length)),E),Un(Kt(wa(M,T,R,V),qr(([U,ae,{items:re}])=>re.length>0&&ae.height!==0&&U.height!==0),tr(([U,ae,{items:re},oe])=>{const{top:pe,bottom:ce}=lk(U,oe,ae,re);return[pe,ce]}),wo(g1)),n);const ie=qt(!1);Un(Kt(r,Ys(ie),tr(([U,ae])=>ae||U!==0)),ie);const ye=$u(Kt(xn(R),qr(({items:U})=>U.length>0),Ys(E,ie),qr(([{items:U},ae,re])=>re&&U[U.length-1].index===ae-1),tr(([,U])=>U-1),wo())),Z=$u(Kt(xn(R),qr(({items:U})=>U.length>0&&U[0].index===0),ai(0),wo())),se=$u(Kt(xn(R),Ys(D),qr(([{items:U},ae])=>U.length>0&&!ae),tr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),wo(UJ),ju(0)));Un(se,v.scrollSeekRangeChanged),Un(Kt(A,Ys(M,T,E,V),tr(([U,ae,re,oe,pe])=>{const ce=LJ(U),{align:ge,behavior:_e,offset:le}=ce;let Se=ce.index;Se==="LAST"&&(Se=oe-1),Se=Lu(0,Se,J0(oe-1,Se));let Fe=v1(ae,pe,re,Se);return ge==="end"?Fe=sk(Fe-ae.height+re.height):ge==="center"&&(Fe=sk(Fe-ae.height/2+re.height/2)),le&&(Fe+=le),{top:Fe,behavior:_e}})),a);const K=pc(Kt(R,tr(U=>U.offsetBottom+U.bottom)),0);return Un(Kt(y,tr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:B,totalCount:E,viewportDimensions:M,itemDimensions:T,scrollTop:r,scrollHeight:$,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:I,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:z,gridState:R,totalListHeight:K,...m,startReached:Z,endReached:ye,rangeChanged:se,stateChanged:q,propsReady:b,stateRestoreInProgress:D,...P}},yl(GJ,Wm,HE,qJ,WJ,YJ,zE));function lk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=v1(e,t,n,r[0].index),a=v1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function v1(e,t,n,r){const o=qE(e.width,n.width,t.column),s=Gh(r/o),a=s*n.height+Lu(0,s-1)*t.row;return a>0?a+t.row:a}function qE(e,t,n){return Lu(1,Gh((e+n)/(Gh(t)+n)))}const sZ=ca(()=>{const e=qt(p=>`Item ${p}`),t=qt({}),n=qt(null),r=qt("virtuoso-grid-item"),o=qt("virtuoso-grid-list"),s=qt(XJ),a=qt("div"),c=qt(Bm),d=(p,h=null)=>pc(Kt(t,tr(m=>m[p]),wo()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),aZ=ca(([e,t])=>({...e,...t}),yl(oZ,sZ)),iZ=F.memo(function(){const t=fr("gridState"),n=fr("listClassName"),r=fr("itemClassName"),o=fr("itemContent"),s=fr("computeItemKey"),a=fr("isSeeking"),c=Is("scrollHeight"),d=fr("ItemComponent"),p=fr("ListComponent"),h=fr("ScrollSeekPlaceholder"),m=fr("context"),v=Is("itemDimensions"),b=Is("gap"),w=fr("log"),y=fr("stateRestoreInProgress"),S=Hm(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const I=k.firstChild;if(I){const{width:P,height:E}=I.getBoundingClientRect();v({width:P,height:E})}b({row:ck("row-gap",getComputedStyle(k).rowGap,w),column:ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:F.createElement(p,{ref:S,className:n,...el(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?F.createElement(h,{key:_,...el(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):F.createElement(d,{...el(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),lZ=F.memo(function(){const t=fr("HeaderComponent"),n=Is("headerHeight"),r=fr("headerFooterTag"),o=Hm(a=>n(Hh(a,"height"))),s=fr("context");return t?F.createElement(r,{ref:o},F.createElement(t,el(t,s))):null}),cZ=F.memo(function(){const t=fr("FooterComponent"),n=Is("footerHeight"),r=fr("headerFooterTag"),o=Hm(a=>n(Hh(a,"height"))),s=fr("context");return t?F.createElement(r,{ref:o},F.createElement(t,el(t,s))):null}),uZ=({children:e})=>{const t=F.useContext(UE),n=Is("itemDimensions"),r=Is("viewportDimensions"),o=Hm(s=>{r(s.getBoundingClientRect())});return F.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),F.createElement("div",{style:GE,ref:o},e)},dZ=({children:e})=>{const t=F.useContext(UE),n=Is("windowViewportRect"),r=Is("itemDimensions"),o=fr("customScrollParent"),s=QJ(n,o);return F.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),F.createElement("div",{ref:s,style:GE},e)},fZ=F.memo(function({...t}){const n=fr("useWindowScroll"),r=fr("customScrollParent"),o=r||n?mZ:hZ,s=r||n?dZ:uZ;return F.createElement(o,{...t},F.createElement(s,null,F.createElement(lZ,null),F.createElement(iZ,null),F.createElement(cZ,null)))}),{Component:pZ,usePublisher:Is,useEmitterValue:fr,useEmitter:KE}=DJ(aZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},fZ),hZ=ZJ({usePublisher:Is,useEmitterValue:fr,useEmitter:KE}),mZ=eZ({usePublisher:Is,useEmitterValue:fr,useEmitter:KE});function ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Iy.WARN),t==="normal"?0:parseInt(t??"0",10)}const YE=pZ,gZ=({imageDTO:e})=>i.jsx(W,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(pl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),Vm=({postUploadAction:e,isDisabled:t})=>{const n=L(d=>d.gallery.autoAddBoardId),[r]=j_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=zb({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Ey=()=>{const e=te(),t=Bc(),{t:n}=be(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((P,E)=>{if(If(P)||Ef(E)){If(P)&&e(Ru(P)),Ef(E)&&e(Mu(E)),r();return}o()},[e,r,o]),d=f.useCallback(P=>{if(!If(P)){o();return}e(Ru(P)),r()},[e,r,o]),p=f.useCallback(P=>{if(!Ef(P)){o();return}e(Mu(P)),r()},[e,r,o]),h=f.useCallback(P=>{if(!R2(P)){o();return}e(Rp(P)),r()},[e,r,o]),m=f.useCallback(P=>{if(!M2(P)){o();return}e(Mp(P)),r()},[e,r,o]),v=f.useCallback(P=>{if(!D2(P)){o();return}e(hv(P)),r()},[e,r,o]),b=f.useCallback(P=>{if(!T2(P)){o();return}e(mv(P)),r()},[e,r,o]),w=f.useCallback(P=>{if(!A2(P)){o();return}e(Dp(P)),r()},[e,r,o]),y=f.useCallback(P=>{if(!N2(P)){o();return}e(hc(P)),r()},[e,r,o]),S=f.useCallback(P=>{if(!$2(P)){o();return}e(mc(P)),r()},[e,r,o]),k=f.useCallback(P=>{if(!z2(P)){o();return}e(Tp(P)),r()},[e,r,o]),_=f.useCallback(P=>{e($1(P))},[e]),I=f.useCallback(P=>{if(!P){a();return}const{cfg_scale:E,height:O,model:R,positive_prompt:M,negative_prompt:T,scheduler:A,seed:$,steps:Q,width:B,strength:V}=P;M2(E)&&e(Mp(E)),D2(R)&&e(hv(R)),If(M)&&e(Ru(M)),Ef(T)&&e(Mu(T)),T2(A)&&e(mv(A)),R2($)&&e(Rp($)),A2(Q)&&e(Dp(Q)),N2(B)&&e(hc(B)),$2(O)&&e(mc(O)),z2(V)&&e(Tp(V)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSeed:h,recallCfgScale:m,recallModel:v,recallScheduler:b,recallSteps:w,recallWidth:y,recallHeight:S,recallStrength:k,recallAllParameters:I,sendToImageToImage:_}},ar=e=>{const t=L(a=>a.config.disabledTabs),n=L(a=>a.config.disabledFeatures),r=L(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},Oy=()=>{const e=Bc(),{t}=be(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function vZ(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var T=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,T)},I=function(M,T){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,T)},P=function(M){if(!m.current)return!1;var T=M-o.current;return!o.current||T>=t||T<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var T=Date.now();if(P(T))return E(T);if(m.current){var A=t-(T-o.current),$=y?Math.min(A,S-(T-s.current)):A;I(M,$)}},R=function(){var M=Date.now(),T=P(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,T){if(!a.current&&m.current)return s.current=o.current,I(O,t),b?_(o.current):p.current;if(y)return I(O,t),_(o.current)}return a.current||I(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function bZ(e,t){return e===t}function uk(e){return typeof e=="function"?function(){return e}:e}function Ry(e,t,n){var r,o,s=n&&n.equalityFn||bZ,a=(r=f.useState(uk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(uk(m))},[])]),c=a[0],d=a[1],p=vZ(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}z1("gallery/requestedBoardImagesDeletion");const yZ=z1("gallery/sentImageToCanvas"),QE=z1("gallery/sentImageToImg2Img"),xZ=e=>{const{imageDTO:t}=e,n=f.useMemo(()=>fe([Ye],({gallery:V})=>({isInBatch:V.batchImageNames.includes(t.image_name)}),Ge),[t.image_name]),{isInBatch:r}=L(n),o=te(),{t:s}=be(),a=Bc(),c=ar("unifiedCanvas").isFeatureEnabled,d=ar("batches").isFeatureEnabled,{onClickAddToBoard:p}=f.useContext(T_),[h,m]=Ry(t.image_name,500),{currentData:v}=L1(m.isPending()?oo.skipToken:h??oo.skipToken),{isClipboardAPIAvailable:b,copyImageToClipboard:w}=Oy(),y=v==null?void 0:v.metadata,S=f.useCallback(()=>{t&&o(B1(t))},[o,t]),{recallBothPrompts:k,recallSeed:_,recallAllParameters:I}=Ey(),[P]=BR(),E=f.useCallback(()=>{k(y==null?void 0:y.positive_prompt,y==null?void 0:y.negative_prompt)},[y==null?void 0:y.negative_prompt,y==null?void 0:y.positive_prompt,k]),O=f.useCallback(()=>{_(y==null?void 0:y.seed)},[y==null?void 0:y.seed,_]),R=f.useCallback(()=>{o(QE()),o($1(t))},[o,t]),M=f.useCallback(()=>{o(yZ()),o(FR(t)),o(em()),o(ql("unifiedCanvas")),a({title:s("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[o,t,s,a]),T=f.useCallback(()=>{console.log(y),I(y)},[y,I]),A=f.useCallback(()=>{p(t)},[t,p]),$=f.useCallback(()=>{t.board_id&&P({imageDTO:t})},[t,P]),Q=f.useCallback(()=>{o(HR([t.image_name]))},[o,t.image_name]),B=f.useCallback(()=>{w(t.image_url)},[w,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(kr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(GH,{}),children:s("common.openInNewTab")}),b&&i.jsx(kr,{icon:i.jsx(Fc,{}),onClickCapture:B,children:s("parameters.copyImage")}),i.jsx(kr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(Bb,{}),w:"100%",children:s("parameters.downloadImage")}),i.jsx(kr,{icon:i.jsx(x6,{}),onClickCapture:E,isDisabled:(y==null?void 0:y.positive_prompt)===void 0&&(y==null?void 0:y.negative_prompt)===void 0,children:s("parameters.usePrompt")}),i.jsx(kr,{icon:i.jsx(w6,{}),onClickCapture:O,isDisabled:(y==null?void 0:y.seed)===void 0,children:s("parameters.useSeed")}),i.jsx(kr,{icon:i.jsx(d6,{}),onClickCapture:T,isDisabled:!y,children:s("parameters.useAll")}),i.jsx(kr,{icon:i.jsx(CS,{}),onClickCapture:R,id:"send-to-img2img",children:s("parameters.sendToImg2Img")}),c&&i.jsx(kr,{icon:i.jsx(CS,{}),onClickCapture:M,id:"send-to-canvas",children:s("parameters.sendToUnifiedCanvas")}),d&&i.jsx(kr,{icon:i.jsx(M0,{}),isDisabled:r,onClickCapture:Q,children:"Add to Batch"}),i.jsx(kr,{icon:i.jsx(M0,{}),onClickCapture:A,children:t.board_id?"Change Board":"Add to Board"}),t.board_id&&i.jsx(kr,{icon:i.jsx(M0,{}),onClickCapture:$,children:"Remove from Board"}),i.jsx(kr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClickCapture:S,children:s("gallery.deleteImage")})]})},XE=f.memo(xZ),wZ=({imageDTO:e,children:t})=>{const n=f.useCallback(r=>{r.preventDefault()},[]);return i.jsx(oj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?i.jsx(zc,{sx:{visibility:"visible !important"},motionProps:nm,onContextMenu:n,children:i.jsx(XE,{imageDTO:e})}):null,children:t})},JE=f.memo(wZ),SZ=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(ui()),{attributes:s,listeners:a,setNodeRef:c}=WR({id:o.current,disabled:n,data:t});return i.jsx(Oe,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},CZ=f.memo(SZ),kZ=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:I="Reset",resetIcon:P=i.jsx(Hb,{}),noContentFallback:E=i.jsx(mi,{icon:al}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[T,A]=f.useState(!1),$=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:B,getUploadInputProps:V}=Vm({postUploadAction:m,isDisabled:p}),q=vp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:ze("base.200","base.800")(M),_hover:{bg:ze("base.300","base.650")(M),color:ze("base.500","base.300")(M)}};return i.jsx(JE,{imageDTO:t,children:D=>i.jsxs(W,{ref:D,onMouseOver:$,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(W,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Tc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(CJ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(gZ,{imageDTO:t}),i.jsx(ly,{isSelected:k,isHovered:R?T:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:ze("base.500","base.500")(M),...G},...B(),children:[i.jsx("input",{...V()}),i.jsx(Kr,{as:Md,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(CZ,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(iy,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(Le,{onClick:n,"aria-label":I,tooltip:I,icon:P,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},yi=f.memo(kZ),_Z=()=>i.jsx(Oe,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.100",color:"base.500",_dark:{color:"base.700",bg:"base.850"}},children:i.jsx(Kr,{as:WH,boxSize:16,opacity:.7})})}),ZE=()=>i.jsx(gm,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),PZ=e=>fe([Ye],t=>({selectionCount:t.gallery.selection.length,selection:t.gallery.selection,isSelected:t.gallery.selection.includes(e)}),Ge),jZ=e=>{const t=te(),{imageName:n}=e,{currentData:r,isLoading:o,isError:s}=os(n),a=f.useMemo(()=>PZ(n),[n]),{isSelected:c,selectionCount:d,selection:p}=L(a),h=f.useCallback(()=>{t(VR([n]))},[t,n]),m=f.useMemo(()=>{if(d>1)return{id:"batch",payloadType:"IMAGE_NAMES",payload:{image_names:p}};if(r)return{id:"batch",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,p,d]);return o?i.jsx(ZE,{}):s||!r?i.jsx(_Z,{}):i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(JE,{imageDTO:r,children:v=>i.jsx(Oe,{position:"relative",userSelect:"none",ref:v,sx:{display:"flex",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{imageDTO:r,draggableData:m,isSelected:c,minSize:0,onClickReset:h,isDropDisabled:!0,imageSx:{w:"full",h:"full"},isUploadDisabled:!0,resetTooltip:"Remove from batch",withResetIcon:!0,thumbnail:!0})},n)})})},IZ=f.memo(jZ),eO=Te((e,t)=>i.jsx(Oe,{className:"item-container",ref:t,p:1.5,children:e.children})),tO=Te((e,t)=>{const n=L(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(rl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),EZ=fe([Ye],e=>({imageNames:e.gallery.batchImageNames}),Ge),OZ=()=>{const{t:e}=be(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=sy({defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}}),{imageNames:a}=L(EZ);return f.useEffect(()=>{const{current:c}=t;return n&&c&&o({target:c,elements:{viewport:n}}),()=>{var d;return(d=s())==null?void 0:d.destroy()}},[n,o,s]),a.length?i.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(YE,{style:{height:"100%"},data:a,components:{Item:eO,List:tO},scrollerRef:r,itemContent:(c,d)=>i.jsx(IZ,{imageName:d},d)})}):i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:al})},RZ=f.memo(OZ),MZ=e=>{const t=L(s=>s.gallery.galleryView),{data:n}=UR(e),{data:r}=GR(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},DZ=e=>fe([Ye],({gallery:t})=>({isSelected:t.selection.includes(e),selectionCount:t.selection.length,selection:t.selection}),Ge),TZ=e=>{const t=te(),{imageName:n}=e,{currentData:r}=os(n),o=f.useMemo(()=>DZ(n),[n]),{isSelected:s,selectionCount:a,selection:c}=L(o),d=f.useCallback(()=>{t(gv(n))},[t,n]),p=f.useCallback(m=>{m.stopPropagation(),r&&t(B1(r))},[t,r]),h=f.useMemo(()=>{if(a>1)return{id:"gallery-image",payloadType:"IMAGE_NAMES",payload:{image_names:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,a]);return r?i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(W,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{onClick:d,imageDTO:r,draggableData:h,isSelected:s,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0})})}):i.jsx(ZE,{})},AZ=f.memo(TZ),NZ={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},$Z=()=>{const{t:e}=be(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=sy(NZ),a=L(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=MZ(a),d=L(A_),{currentData:p,isFetching:h,isSuccess:m,isError:v}=qR(d),[b]=N_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:$_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:al})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(YE,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:eO,List:tO},scrollerRef:r,itemContent:(S,k)=>i.jsx(AZ,{imageName:k},k)})}),i.jsx(rn,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Oe,{sx:{w:"full",h:"full"},children:i.jsx(mi,{label:"Unable to load Gallery",icon:h6})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:"Loading...",icon:al})})},zZ=f.memo($Z),LZ=fe([Ye],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{selectedBoardId:t,galleryView:n}},Ge),BZ=()=>{const e=f.useRef(null),t=f.useRef(null),{selectedBoardId:n,galleryView:r}=L(LZ),o=te(),{isOpen:s,onToggle:a}=ss(),c=f.useCallback(()=>{o(L2("images"))},[o]),d=f.useCallback(()=>{o(L2("assets"))},[o]);return i.jsxs(VP,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Oe,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(rU,{isOpen:s,onToggle:a}),i.jsx(SJ,{}),i.jsx(sU,{})]}),i.jsx(Oe,{children:i.jsx(eU,{isOpen:s})})]}),i.jsxs(W,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(W,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx(Ed,{index:r==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(Od,{children:i.jsxs(nr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(wc,{as:rn,size:"sm",isChecked:r==="images",onClick:c,sx:{w:"full"},leftIcon:i.jsx(XH,{}),children:"Images"}),i.jsx(wc,{as:rn,size:"sm",isChecked:r==="assets",onClick:d,sx:{w:"full"},leftIcon:i.jsx(lW,{}),children:"Assets"})]})})})}),n==="batch"?i.jsx(RZ,{}):i.jsx(zZ,{})]})]})},nO=f.memo(BZ),FZ=fe([Kn,La,KR,ir],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Xt}}),HZ=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=L(FZ),o=()=>{e(vv(!1)),t&&e(So())};nt("esc",()=>{e(vv(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return nt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Op(a))}},[r]),nt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Op(a))}},[r]),t?null:i.jsx(i6,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(nO,{})})},WZ=f.memo(HZ),VZ=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(wn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(ho,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(zo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Nb,{...c})]})})},Pr=f.memo(VZ),UZ=fe([Ye,YR],({system:e,config:t,imageDeletion:n},r)=>{const{shouldConfirmOnDelete:o}=e,{canRestoreDeletedImagesFromBin:s}=t,{imageToDelete:a,isModalOpen:c}=n;return{shouldConfirmOnDelete:o,canRestoreDeletedImagesFromBin:s,imageToDelete:a,imageUsage:r,isModalOpen:c}},Ge),GZ=()=>{const e=te(),{t}=be(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imageToDelete:o,imageUsage:s,isModalOpen:a}=L(UZ),c=f.useCallback(m=>e(z_(!m.target.checked)),[e]),d=f.useCallback(()=>{e(B2()),e(QR(!1))},[e]),p=f.useCallback(()=>{!o||!s||(e(B2()),e(XR({imageDTO:o,imageUsage:s})))},[e,o,s]),h=f.useRef(null);return i.jsx(Pd,{isOpen:a,onClose:d,leastDestructiveRef:h,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Da,{children:i.jsxs(W,{direction:"column",gap:3,children:[i.jsx(ej,{imageUsage:s}),i.jsx(hl,{}),i.jsx(tt,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(tt,{children:t("common.areYouSure")}),i.jsx(Pr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:c})]})}),i.jsxs(Oa,{children:[i.jsx(rn,{ref:h,onClick:d,children:"Cancel"}),i.jsx(rn,{colorScheme:"error",onClick:p,ml:3,children:"Delete"})]})]})})})},qZ=f.memo(GZ);function KZ(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(rl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(rl,{children:[i.jsx(tt,{fontWeight:600,children:t}),r&&i.jsx(tt,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Oe,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function YZ({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=be(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(W,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(W,{flexDir:"column",px:2,gap:4,children:[i.jsx(KZ,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=JR(),n=f.useRef(null),r=rO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Tc,{src:M_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(W,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(tt,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(Fo,{children:e&&r&&t&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(tt,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},nee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=DE();return i.jsx(wn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(ky,{label:r?i.jsx(ho,{isRequired:s,isDisabled:o,children:i.jsx(zo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Yr=f.memo(nee);function Yo(e){const{t}=be(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(W,{justifyContent:"space-between",py:1,children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(tt,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(pl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(Pr,{...c})]})}const Gl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function ree(){const e=te(),{data:t,refetch:n}=ZR(),[r,{isLoading:o}]=eM(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(tM()),e(F1()),e(Dn({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:"Clear Intermediates"}),i.jsx(rn,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(tt,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(tt,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(tt,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const oee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=_y(),{colorMode:y}=Ds(),[S]=Dc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:ze(c,r)(y)},separatorLabel:{color:ze(s,s)(y),"::after":{borderTopColor:ze(r,c)(y)}},searchInput:{":placeholder":{color:ze(r,c)(y)}},input:{backgroundColor:ze(e,p)(y),borderWidth:"2px",borderColor:ze(n,d)(y),color:ze(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:ze(r,a)(y)},"&:focus":{borderColor:ze(m,w)(y)},"&:is(:focus, :hover)":{borderColor:ze(o,s)(y)},"&:focus-within":{borderColor:ze(h,w)(y)},"&[data-disabled]":{backgroundColor:ze(r,c)(y),color:ze(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:ze(n,d)(y),color:ze(p,t)(y),button:{color:ze(p,t)(y)},"&:hover":{backgroundColor:ze(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:ze(n,d)(y),borderColor:ze(n,d)(y),boxShadow:S},item:{backgroundColor:ze(n,d)(y),color:ze(d,n)(y),padding:6,"&[data-hovered]":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)},"&[data-active]":{backgroundColor:ze(r,c)(y),"&:hover":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)}},"&[data-selected]":{backgroundColor:ze(v,w)(y),color:ze(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:ze(b,b)(y),color:ze("white",e)(y)}},"&[data-disabled]":{color:ze(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:ze(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},see=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(_o(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(_o(!1))},[c]),h=oee();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(jE,{label:o?i.jsx(ho,{isDisabled:s,children:i.jsx(zo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},aee=f.memo(see),iee=cs(H1,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function lee(){const e=te(),{t}=be(),n=L(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(nM(o))},[e]);return i.jsx(aee,{label:t("settings.favoriteSchedulers"),value:n,data:iee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const cee={ar:Ln.t("common.langArabic",{lng:"ar"}),nl:Ln.t("common.langDutch",{lng:"nl"}),en:Ln.t("common.langEnglish",{lng:"en"}),fr:Ln.t("common.langFrench",{lng:"fr"}),de:Ln.t("common.langGerman",{lng:"de"}),he:Ln.t("common.langHebrew",{lng:"he"}),it:Ln.t("common.langItalian",{lng:"it"}),ja:Ln.t("common.langJapanese",{lng:"ja"}),ko:Ln.t("common.langKorean",{lng:"ko"}),pl:Ln.t("common.langPolish",{lng:"pl"}),pt_BR:Ln.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Ln.t("common.langPortuguese",{lng:"pt"}),ru:Ln.t("common.langRussian",{lng:"ru"}),zh_CN:Ln.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Ln.t("common.langSpanish",{lng:"es"}),uk:Ln.t("common.langUkranian",{lng:"ua"})},uee=fe([Ye],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Xt}}),dee=({children:e,config:t})=>{const n=te(),{t:r}=be(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0;f.useEffect(()=>{s||n(F2(!1))},[s,n]);const{isNSFWCheckerAvailable:h,isWatermarkerAvailable:m}=L_(void 0,{selectFromResult:({data:Z})=>({isNSFWCheckerAvailable:(Z==null?void 0:Z.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(Z==null?void 0:Z.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:v,onOpen:b,onClose:w}=ss(),{isOpen:y,onOpen:S,onClose:k}=ss(),{shouldConfirmOnDelete:_,enableImageDebugging:I,shouldUseCanvasBetaLayout:P,shouldUseSliders:E,shouldShowProgressInViewer:O,consoleLogLevel:R,shouldLogToConsole:M,shouldAntialiasProgressImage:T,shouldShowAdvancedOptions:A,isNodesEnabled:$,shouldUseNSFWChecker:Q,shouldUseWatermarker:B}=L(uee),V=f.useCallback(()=>{Object.keys(window.localStorage).forEach(Z=>{(rM.includes(Z)||Z.startsWith(oM))&&localStorage.removeItem(Z)}),w(),S()},[w,S]),q=f.useCallback(Z=>{n(sM(Z))},[n]),G=f.useCallback(Z=>{n(aM(Z))},[n]),D=f.useCallback(Z=>{n(F2(Z.target.checked))},[n]),z=f.useCallback(Z=>{n(iM(Z.target.checked))},[n]),{colorMode:H,toggleColorMode:Y}=Ds(),ie=ar("localization").isFeatureEnabled,ye=L(V5);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:b}),i.jsxs(Xu,{isOpen:v,onClose:w,size:"2xl",isCentered:!0,children:[i.jsx(Ma,{}),i.jsxs(Ju,{children:[i.jsx(Ra,{bg:"none",children:r("common.settingsLabel")}),i.jsx(Ob,{}),i.jsx(Da,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:_,onChange:Z=>n(z_(Z.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:A,onChange:Z=>n(lM(Z.target.checked))})]}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.generation")}),i.jsx(lee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!h,isChecked:Q,onChange:Z=>n(cM(Z.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!m,isChecked:B,onChange:Z=>n(uM(Z.target.checked))})]}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:H==="dark",onChange:Y}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:E,onChange:Z=>n(dM(Z.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:O,onChange:Z=>n(B_(Z.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:T,onChange:Z=>n(fM(Z.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:P,onChange:Z=>n(pM(Z.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:$,onChange:z}),i.jsx(Yr,{disabled:!ie,label:r("common.languagePickerLabel"),value:ye,data:Object.entries(cee).map(([Z,se])=>({value:Z,label:se})),onChange:G})]}),s&&i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:M,onChange:D}),i.jsx(Yr,{disabled:!M,label:r("settings.consoleLogLevel"),onChange:q,value:R,data:hM.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:Z=>n(mM(Z.target.checked))})]}),d&&i.jsx(ree,{}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(rn,{colorScheme:"error",onClick:V,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(tt,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(tt,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Oa,{children:i.jsx(rn,{onClick:w,children:r("common.close")})})]})]}),i.jsxs(Xu,{closeOnOverlayClick:!1,isOpen:y,onClose:k,isCentered:!0,children:[i.jsx(Ma,{backdropFilter:"blur(40px)"}),i.jsxs(Ju,{children:[i.jsx(Ra,{}),i.jsx(Da,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(tt,{fontSize:"lg",children:i.jsx(tt,{children:r("settings.resetComplete")})})})}),i.jsx(Oa,{})]})]})]})},fee=fe(mo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Ge),pk={ok:"green.400",working:"yellow.400",error:"red.400"},hk={ok:"green.600",working:"yellow.500",error:"red.500"},pee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=L(fee),{t:s}=be(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=rO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(Fo,{children:p&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(tt,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:hk[c],_dark:{color:pk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(Kr,{as:BH,sx:{boxSize:"0.5rem",color:hk[c],_dark:{color:pk[c]}}})]})},hee=()=>{const{t:e}=be(),t=ar("bugLink").isFeatureEnabled,n=ar("discordLink").isFeatureEnabled,r=ar("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(oO,{}),i.jsx(fl,{}),i.jsx(pee,{}),i.jsxs(kd,{children:[i.jsx(_d,{as:Le,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx($H,{}),sx:{boxSize:8}}),i.jsxs(zc,{motionProps:nm,children:[i.jsxs(Qu,{title:e("common.communityLabel"),children:[r&&i.jsx(kr,{as:"a",href:o,target:"_blank",icon:i.jsx(OH,{}),children:e("common.githubLabel")}),t&&i.jsx(kr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(zH,{}),children:e("common.reportBugLabel")}),n&&i.jsx(kr,{as:"a",href:s,target:"_blank",icon:i.jsx(EH,{}),children:e("common.discordLabel")})]}),i.jsxs(Qu,{title:e("common.settingsLabel"),children:[i.jsx(YZ,{children:i.jsx(kr,{as:"button",icon:i.jsx(eW,{}),children:e("common.hotkeysLabel")})}),i.jsx(dee,{children:i.jsx(kr,{as:"button",icon:i.jsx(FH,{}),children:e("common.settingsLabel")})})]})]})]})]})},mee=f.memo(hee);function gee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function vee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function bee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function yee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function xee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function sO(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const wee=fe(mo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),See=()=>{const{shouldShow:e,tooltip:t}=L(wee);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(wn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(dl,{})})}):null},Cee=f.memo(See),aO=e=>e.config,{createElement:jc,createContext:kee,forwardRef:iO,useCallback:ri,useContext:lO,useEffect:ja,useImperativeHandle:cO,useLayoutEffect:_ee,useMemo:Pee,useRef:Zo,useState:Bu}=N1,mk=N1["useId".toString()],jee=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",qh=jee?_ee:()=>{},Iee=typeof mk=="function"?mk:()=>null;let Eee=0;function My(e=null){const t=Iee(),n=Zo(e||t||null);return n.current===null&&(n.current=""+Eee++),n.current}const Um=kee(null);Um.displayName="PanelGroupContext";function uO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=lO(Um);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=My(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:I,resizePanel:P,unregisterPanel:E}=w,O=Zo({onCollapse:p,onResize:h});if(ja(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=Zo({size:gk(R)}),T=Zo({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return qh(()=>{M.current.size=gk(R),T.current.callbacksRef=O,T.current.collapsedSize=n,T.current.collapsible=r,T.current.defaultSize=o,T.current.id=y,T.current.maxSize=c,T.current.minSize=d,T.current.order=m}),qh(()=>(I(y,T),()=>{E(y)}),[m,y,I,E]),cO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>P(y,A)}),[S,k,y,P]),jc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const sd=iO((e,t)=>jc(uO,{...e,forwardedRef:t}));uO.displayName="Panel";sd.displayName="forwardRef(Panel)";function gk(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const ul=10;function Iu(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Xo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(P=>P.current.id===y),k=h[S],_=p[S],I=vk(k,Math.abs(o),_,e);if(_===I)return p;I===0&&_>0&&a.set(y,_),o=o<0?_-I:I-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=vk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(ul).localeCompare(Math.abs(o).toPrecision(ul),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Wl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function Z0(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function dO(e,t,n){if(e.size===1)return"100";const o=Xo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(ul)}function Oee(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Dy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function Gm(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function Ree(e){return fO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function fO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function pO(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Ty(e,t,n){var d,p,h,m;const r=Gm(t),o=pO(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Xo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function vk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Dy(t),{height:p,width:h}=d.getBoundingClientRect(),v=pO(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Xo(c),[S,k]=Ty(t,w,y);if(S==null||k==null)return()=>{};let _=0,I=100,P=0,E=0;y.forEach($=>{$.current.id===S?(I=$.current.maxSize,_=$.current.minSize):(P+=$.current.minSize,E+=$.current.maxSize)});const O=Math.min(I,100-P),R=Math.max(_,(y.length-1)*100-E),M=dO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const T=$=>{if(!$.defaultPrevented)switch($.key){case"Enter":{$.preventDefault();const Q=y.findIndex(B=>B.current.id===S);if(Q>=0){const B=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(ul)<=B.current.minSize.toPrecision(ul)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Iu($,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",T);const A=Oee(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",T),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function Dee({disabled:e,handleId:t,resizeHandler:n}){ja(()=>{if(e||n==null)return;const r=Gm(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=fO(),c=Ree(t);hO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function Tee(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===P),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(ul)===O.current.minSize.toPrecision(ul))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return mO(e,n,o,c,d)}function Nee(e){return e.type==="keydown"}function b1(e){return e.type.startsWith("mouse")}function y1(e){return e.type.startsWith("touch")}let x1=null,qi=null;function gO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function $ee(){qi!==null&&(document.head.removeChild(qi),x1=null,qi=null)}function ev(e){if(x1===e)return;x1=e;const t=gO(e);qi===null&&(qi=document.createElement("style"),document.head.appendChild(qi)),qi.innerHTML=`*{cursor: ${t}!important;}`}function zee(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function vO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function bO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function Lee(e,t,n){const r=bO(e,n);if(r){const o=vO(t);return r[o]??null}return null}function Bee(e,t,n,r){const o=vO(t),s=bO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const tv={};function bk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Eu={getItem:e=>(bk(Eu),Eu.getItem(e)),setItem:(e,t)=>{bk(Eu),Eu.setItem(e,t)}};function yO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Eu,style:p={},tagName:h="div"}){const m=My(a),[v,b]=Bu(null),[w,y]=Bu(new Map),S=Zo(null),k=Zo({onLayout:c});ja(()=>{k.current.onLayout=c});const _=Zo({}),[I,P]=Bu([]),E=Zo(new Map),O=Zo(0),R=Zo({direction:r,panels:w,sizes:I});cO(s,()=>({getLayout:()=>{const{sizes:D}=R.current;return D},setLayout:D=>{const z=D.reduce((ye,Z)=>ye+Z,0);hO(z===100,"Panel sizes must add up to 100%");const{panels:H}=R.current,Y=_.current,ie=Xo(H);P(D),Wl(ie,D,Y)}}),[]),qh(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=I}),Mee({committedValuesRef:R,groupId:m,panels:w,setSizes:P,sizes:I,panelSizeBeforeCollapse:E}),ja(()=>{const{onLayout:D}=k.current,{panels:z,sizes:H}=R.current;if(H.length>0){D&&D(H);const Y=_.current,ie=Xo(z);Wl(ie,H,Y)}},[I]),qh(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const H=Xo(w);z=Lee(e,H,d)}if(z!=null)P(z);else{const H=Xo(w);let Y=0,ie=0,ye=0;if(H.forEach(Z=>{ye+=Z.current.minSize,Z.current.defaultSize===null?Y++:ie+=Z.current.defaultSize}),ie>100)throw new Error("Default panel sizes cannot exceed 100%");if(H.length>1&&Y===0&&ie!==100)throw new Error("Invalid default sizes specified for panels");if(ye>100)throw new Error("Minimum panel sizes cannot exceed 100%");P(H.map(Z=>Z.current.defaultSize===null?(100-ie)/Y:Z.current.defaultSize))}},[e,w,d]),ja(()=>{if(e){if(I.length===0||I.length!==w.size)return;const D=Xo(w);tv[e]||(tv[e]=zee(Bee,100)),tv[e](e,D,I,d)}},[e,w,I,d]);const M=ri((D,z)=>{const{panels:H}=R.current;return H.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:dO(H,D,I),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,I]),T=ri((D,z)=>{y(H=>{if(H.has(D))return H;const Y=new Map(H);return Y.set(D,z),Y})},[]),A=ri(D=>H=>{H.preventDefault();const{direction:Y,panels:ie,sizes:ye}=R.current,Z=Xo(ie),[se,K]=Ty(m,D,Z);if(se==null||K==null)return;let U=Aee(H,m,D,Z,Y,ye,S.current);if(U===0)return;const re=Dy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,ce=U/pe*100,ge=Iu(H,ie,se,K,ce,ye,E.current,S.current),_e=!Tee(ye,ge);if((b1(H)||y1(H))&&O.current!=ce&&ev(_e?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),_e){const le=_.current;P(ge),Wl(Z,ge,le)}O.current=ce},[m]),$=ri(D=>{y(z=>{if(!z.has(D))return z;const H=new Map(z);return H.delete(D),H})},[]),Q=ri(D=>{const{panels:z,sizes:H}=R.current,Y=z.get(D);if(Y==null)return;const{collapsedSize:ie,collapsible:ye}=Y.current;if(!ye)return;const Z=Xo(z),se=Z.indexOf(Y);if(se<0)return;const K=H[se];if(K===ie)return;E.current.set(D,K);const[U,ae]=Z0(D,Z);if(U==null||ae==null)return;const oe=se===Z.length-1?K:ie-K,pe=Iu(null,z,U,ae,oe,H,E.current,null);if(H!==pe){const ce=_.current;P(pe),Wl(Z,pe,ce)}},[]),B=ri(D=>{const{panels:z,sizes:H}=R.current,Y=z.get(D);if(Y==null)return;const{collapsedSize:ie,minSize:ye}=Y.current,Z=E.current.get(D)||ye;if(!Z)return;const se=Xo(z),K=se.indexOf(Y);if(K<0||H[K]!==ie)return;const[ae,re]=Z0(D,se);if(ae==null||re==null)return;const pe=K===se.length-1?ie-Z:Z,ce=Iu(null,z,ae,re,pe,H,E.current,null);if(H!==ce){const ge=_.current;P(ce),Wl(se,ce,ge)}},[]),V=ri((D,z)=>{const{panels:H,sizes:Y}=R.current,ie=H.get(D);if(ie==null)return;const{collapsedSize:ye,collapsible:Z,maxSize:se,minSize:K}=ie.current,U=Xo(H),ae=U.indexOf(ie);if(ae<0)return;const re=Y[ae];if(re===z)return;Z&&z===ye||(z=Math.min(se,Math.max(K,z)));const[oe,pe]=Z0(D,U);if(oe==null||pe==null)return;const ge=ae===U.length-1?re-z:z-re,_e=Iu(null,H,oe,pe,ge,Y,E.current,null);if(Y!==_e){const le=_.current;P(_e),Wl(U,_e,le)}},[]),q=Pee(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:B,getPanelStyle:M,groupId:m,registerPanel:T,registerResizeHandle:A,resizePanel:V,startDragging:(D,z)=>{if(b(D),b1(z)||y1(z)){const H=Gm(D);S.current={dragHandleRect:H.getBoundingClientRect(),dragOffset:mO(z,D,r),sizes:R.current.sizes}}},stopDragging:()=>{$ee(),b(null),S.current=null},unregisterPanel:$}),[v,Q,r,B,M,m,T,A,V,$]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return jc(Um.Provider,{children:jc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Ay=iO((e,t)=>jc(yO,{...e,forwardedRef:t}));yO.displayName="PanelGroup";Ay.displayName="forwardRef(PanelGroup)";function w1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=Zo(null),d=Zo({onDragging:o});ja(()=>{d.current.onDragging=o});const p=lO(Um);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=My(r),k=h===S,[_,I]=Bu(!1),[P,E]=Bu(null),O=ri(()=>{c.current.blur(),y();const{onDragging:T}=d.current;T&&T(!1)},[y]);ja(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),ja(()=>{if(n||P==null||!k)return;const M=Q=>{P(Q)},T=Q=>{P(Q)},$=c.current.ownerDocument;return $.body.addEventListener("contextmenu",O),$.body.addEventListener("mousemove",M),$.body.addEventListener("touchmove",M),$.body.addEventListener("mouseleave",T),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{$.body.removeEventListener("contextmenu",O),$.body.removeEventListener("mousemove",M),$.body.removeEventListener("touchmove",M),$.body.removeEventListener("mouseleave",T),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,P,O]),Dee({disabled:n,handleId:S,resizeHandler:P});const R={cursor:gO(m),touchAction:"none",userSelect:"none"};return jc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>I(!1),onFocus:()=>I(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}w1.displayName="PanelResizeHandle";const Fee=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Hee=fe([Ye],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ge),Wee=()=>{const{initialImage:e}=L(Hee),{currentData:t}=os((e==null?void 0:e.imageName)??oo.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(yi,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(mi,{label:"No initial image selected"})})},Vee=fe([Ye],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ge),Uee={type:"SET_INITIAL_IMAGE"},Gee=()=>{const{isResetButtonDisabled:e}=L(Vee),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=Vm({postUploadAction:Uee}),o=f.useCallback(()=>{t(gM())},[t]);return i.jsxs(W,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(W,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(tt,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(fl,{}),i.jsx(Le,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Md,{}),...n()}),i.jsx(Le,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(Hb,{}),onClick:o,isDisabled:e})]}),i.jsx(Wee,{}),i.jsx("input",{...r()})]})},qee=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Oe,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?ze("base.200","base.750")(c):ze("base.150","base.800")(c),color:ze("base.900","base.100")(c),_hover:{bg:s?ze("base.250","base.700")(c):ze("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(Fo,{children:n&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(tt,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(fl,{}),i.jsx(ay,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(sm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Oe,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Oo=f.memo(qee),Kee=fe(Ye,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ge),Yee=()=>{const{combinatorial:e,isDisabled:t}=L(Kee),n=te(),r=f.useCallback(()=>{n(vM())},[n]);return i.jsx(Pr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Qee=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ge),Xee=()=>{const e=te(),{isEnabled:t}=L(Qee),n=f.useCallback(()=>{e(bM())},[e]);return i.jsx(Pr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Jee=fe(Ye,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Ge),Zee=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=L(Jee),s=te(),a=f.useCallback(d=>{s(yM(d))},[s]),c=f.useCallback(()=>{s(xM())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},ete=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ge),zd=()=>{const{activeLabel:e}=L(ete);return ar("dynamicPrompting").isFeatureEnabled?i.jsx(Oo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Xee,{}),i.jsx(Yee,{}),i.jsx(Zee,{})]})}):null},Ny=e=>{e.stopPropagation()},tte=Te((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(_o(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(_o(!1))},[n]);return i.jsx(W5,{ref:t,onPaste:Ny,onKeyDown:r,onKeyUp:o,...e})}),qm=f.memo(tte),nte=e=>{const{onClick:t}=e;return i.jsx(Le,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(Lb,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},Km=f.memo(nte),$y="28rem",Ym=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=wM(),a=f.useRef(null),c=L(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return jo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:vr[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Tb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Db,{children:o}),i.jsx(Ab,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(x5,{sx:{p:0,w:`calc(${$y} - 2rem )`},children:d.length===0?i.jsx(W,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(tt,{children:"No Embeddings Loaded"})}):i.jsx(sr,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},Ld=()=>{const e=L(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=be(),c=f.useCallback(m=>{s(Mu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),_i.flushSync(()=>{s(Mu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ar("embedding").isFeatureEnabled;return i.jsxs(ho,{children:[i.jsx(Ym,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(qm,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:o})})]})},rte=fe([Ye,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=SM.endpoints.getMainModels.select(W1)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),jo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Ge),Bd=()=>{const{isReady:e}=L(rte);return e},ote=fe([Ye,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Xt}}),Fd=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=L(ote),o=Bd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=be(),h=f.useCallback(w=>{e(Ru(w.target.value))},[e]);nt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),_i.flushSync(()=>{e(Ru(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ar("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(ud()),e(dd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Oe,{sx:{position:"absolute",top:n?6:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:d})})]})},ste=fe(Ye,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ge),ate=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=L(ste),r=o=>e(CM(o.target.checked));return i.jsx(Pr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},ite=fe(Ye,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ge);function lte(){const e=te(),{threshold:t,isDisabled:n}=L(ite),{t:r}=be();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(H2(o)),handleReset:()=>e(H2(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const cte=()=>{const e=te(),t=L(r=>r.generation.shouldUseNoiseSettings),n=r=>e(kM(r.target.checked));return i.jsx(Pr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},ute=fe(Ye,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ge);function dte(){const e=te(),{perlin:t,isDisabled:n}=L(ute),{t:r}=be();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(W2(o)),handleReset:()=>e(W2(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const fte=fe(Ye,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ge),pte=()=>{const{t:e}=be(),t=ar("noise").isFeatureEnabled,n=ar("perlinNoise").isFeatureEnabled,r=ar("noiseThreshold").isFeatureEnabled,{activeLabel:o}=L(fte);return t?i.jsx(Oo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(cte,{}),i.jsx(ate,{}),n&&i.jsx(dte,{}),r&&i.jsx(lte,{})]})}):null},Qm=f.memo(pte),hte=fe(mo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Xt}}),mte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=L(hte),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(_M());return}t(PM({session_id:p}))}},[t,p,c]),{t:m}=be(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(jM(S))},[t]);nt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Lp,{}):c==="immediate"?i.jsx(xee,{}):i.jsx(gee,{}),[c,d]);return i.jsxs(nr,{isAttached:!0,width:n,children:[i.jsx(Le,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(kd,{closeOnSelect:!1,children:[i.jsx(_d,{as:Le,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(FV,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(zc,{minWidth:"240px",children:i.jsxs(l5,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(Up,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(Up,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},Xm=f.memo(mte),gte=fe(mo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Xt}}),vte=()=>{const{t:e}=be(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=L(gte),s=n?Math.round(n*100/r):0;return i.jsx(S5,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},xO=f.memo(vte),yk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},bte=fe([Ye,Kn,jr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ge);function zy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Bd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=L(bte),d=Rm(a),p=f.useCallback(()=>{r(ud()),r(dd(c))},[r,c]),{t:h}=be();return nt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Oe,{style:{flexGrow:4},position:"relative",children:i.jsxs(Oe,{style:{position:"relative"},children:[!o&&i.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(xO,{})}),i.jsx(wn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(Le,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(y6,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?yk:{}}}):i.jsx(rn,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?yk:{}},children:"Invoke"})})]})})}const Hd=()=>i.jsxs(W,{gap:2,children:[i.jsx(zy,{}),i.jsx(Xm,{})]}),yte=fe([Ye,Kn],({sdxl:e},t)=>({prompt:e.negativeStylePrompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Xt}}),wO=()=>{const e=te(),{prompt:t,activeTabName:n}=L(yte),r=Bd(),o=f.useRef(null),{isOpen:s,onClose:a,onOpen:c}=ss(),d=f.useCallback(v=>{e(V2(v.target.value))},[e]),p=f.useCallback(v=>{if(!o.current)return;const b=o.current.selectionStart;if(b===void 0)return;let w=t.slice(0,b);w[w.length-1]!=="<"&&(w+="<"),w+=`${v}>`;const y=w.length;w+=t.slice(b),_i.flushSync(()=>{e(V2(w))}),o.current.selectionStart=y,o.current.selectionEnd=y,a()},[e,a,t]),h=ar("embedding").isFeatureEnabled,m=f.useCallback(v=>{v.key==="Enter"&&v.shiftKey===!1&&r&&(v.preventDefault(),e(ud()),e(dd(n))),h&&v.key==="<"&&c()},[r,e,n,c,h]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:s,onClose:a,onSelect:p,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:o,value:t,placeholder:"Negative Style Prompt",onChange:d,onKeyDown:m,resize:"vertical",fontSize:"sm",minH:16})})}),!s&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:c})})]})},xte=fe([Ye,Kn],({sdxl:e},t)=>({prompt:e.positiveStylePrompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Xt}}),SO=()=>{const e=te(),{prompt:t,activeTabName:n}=L(xte),r=Bd(),o=f.useRef(null),{isOpen:s,onClose:a,onOpen:c}=ss(),d=f.useCallback(v=>{e(U2(v.target.value))},[e]),p=f.useCallback(v=>{if(!o.current)return;const b=o.current.selectionStart;if(b===void 0)return;let w=t.slice(0,b);w[w.length-1]!=="<"&&(w+="<"),w+=`${v}>`;const y=w.length;w+=t.slice(b),_i.flushSync(()=>{e(U2(w))}),o.current.selectionStart=y,o.current.selectionEnd=y,a()},[e,a,t]),h=ar("embedding").isFeatureEnabled,m=f.useCallback(v=>{v.key==="Enter"&&v.shiftKey===!1&&r&&(v.preventDefault(),e(ud()),e(dd(n))),h&&v.key==="<"&&c()},[r,e,n,c,h]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:s,onClose:a,onSelect:p,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:o,value:t,placeholder:"Positive Style Prompt",onChange:d,onKeyDown:m,resize:"vertical",minH:16})})}),!s&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:c})})]})},Uc=()=>{const{isRefinerAvailable:e}=na(V1,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},wte=fe([Ye],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Ge),Ste=()=>{const{refinerAestheticScore:e,shift:t}=L(wte),n=Uc(),r=te(),o=f.useCallback(a=>r(G2(a)),[r]),s=f.useCallback(()=>r(G2(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},Cte=f.memo(Ste),Kh=/^-?(0\.)?\.?$/,kte=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(Kh)&&s!==Number(k)&&_(String(s))},[s,k]);const I=R=>{_(R),R.match(Kh)||a(p?Math.floor(Number(R)):Number(R))},P=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(_o(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(_o(!1))},[S]);return i.jsx(wn,{...w,children:i.jsxs(ho,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(zo,{...m,children:t}),i.jsxs(dm,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:I,onBlur:P,...y,onPaste:Ny,children:[i.jsx(pm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(fm,{children:[i.jsx(mm,{...b}),i.jsx(hm,{...b})]})]})]})})},Gc=f.memo(kte),_te=fe([Ye],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Ge),Pte=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=L(_te),r=Uc(),o=te(),{t:s}=be(),a=f.useCallback(d=>o(q2(d)),[o]),c=f.useCallback(()=>o(q2(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Gc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},jte=f.memo(Pte),Jm=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=IM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Wd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=be(),[o,{isLoading:s}]=EM(),a=()=>{o().unwrap().then(c=>{n(Dn(Bn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(Dn(Bn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(Le,{icon:i.jsx(S6,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(rn,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const Ite=fe(Ye,e=>({model:e.sdxl.refinerModel}),Ge),Ete=()=>{const e=te(),t=ar("syncModels").isFeatureEnabled,{model:n}=L(Ite),{data:r,isLoading:o}=na(V1),s=f.useMemo(()=>{if(!r)return[];const d=[];return jo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:vr[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=Jm(d);p&&e(OM(p))},[e]);return o?i.jsx(sr,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Ote=f.memo(Ete),Rte=fe(Ye,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(H1,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Ge),Mte=()=>{const e=te(),{t}=be(),{refinerScheduler:n,data:r}=L(Rte),o=Uc(),s=f.useCallback(a=>{a&&e(RM(a))},[e]);return i.jsx(sr,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},Dte=f.memo(Mte),Tte=fe([Ye],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Ge),Ate=()=>{const{refinerStart:e}=L(Tte),t=te(),n=Uc(),r=f.useCallback(s=>t(K2(s)),[t]),o=f.useCallback(()=>t(K2(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},Nte=f.memo(Ate),$te=fe([Ye],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Ge),zte=()=>{const{refinerSteps:e,shouldUseSliders:t}=L($te),n=Uc(),r=te(),{t:o}=be(),s=f.useCallback(c=>{r(Y2(c))},[r]),a=f.useCallback(()=>{r(Y2(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Gc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},Lte=f.memo(zte);function Bte(){const e=L(o=>o.sdxl.shouldUseSDXLRefiner),t=Uc(),n=te(),r=o=>{n(MM(o.target.checked))};return i.jsx(Pr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Fte=fe(Ye,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Ge),CO=()=>{const{activeLabel:e,shouldUseSliders:t}=L(Fte);return i.jsx(Oo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Bte,{}),i.jsx(Ote,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(Lte,{}),i.jsx(jte,{})]}),i.jsx(Dte,{}),i.jsx(Cte,{}),i.jsx(Nte,{})]})})},Hte=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Ge),Wte=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=L(Hte),c=te(),{t:d}=be(),p=f.useCallback(m=>c(Mp(m)),[c]),h=f.useCallback(()=>c(Mp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Gc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(Wte),Vte=fe([Ye],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ge),Ute=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=L(Vte),d=te(),{t:p}=be(),h=f.useCallback(v=>{d(Q2(v))},[d]),m=f.useCallback(()=>{d(Q2(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Gc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(Ute),Gte=fe(Ye,e=>({model:e.generation.model}),Ge),qte=()=>{const e=te(),{t}=be(),{model:n}=L(Gte),r=ar("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(W1),a=L(Kn),c=f.useMemo(()=>{if(!o)return[];const h=[];return jo(o.entities,(m,v)=>{!m||a==="unifiedCanvas"&&m.base_model==="sdxl"||h.push({value:v,label:m.model_name,group:vr[m.base_model]})}),h},[o,a]),d=f.useMemo(()=>(o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[o==null?void 0:o.entities,n]),p=f.useCallback(h=>{if(!h)return;const m=Jm(h);m&&e(hv(m))},[e]);return s?i.jsx(sr,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(sr,{tooltip:d==null?void 0:d.description,label:t("modelManager.model"),value:d==null?void 0:d.id,placeholder:c.length>0?"Select a model":"No models available",data:c,error:c.length===0,disabled:c.length===0,onChange:p,w:"100%"}),r&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Kte=f.memo(qte),kO=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=DM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Yte=fe(Ye,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ge),Qte=()=>{const e=te(),{t}=be(),{model:n,vae:r}=L(Yte),{data:o}=F_(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return jo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:vr[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(X2(null));return}const p=kO(d);p&&e(X2(p))},[e]);return i.jsx(sr,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Xte=f.memo(Qte),Mi=e=>e.generation,Jte=fe([La,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(H1,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Ge),Zte=()=>{const e=te(),{t}=be(),{scheduler:n,data:r}=L(Jte),o=f.useCallback(s=>{s&&e(mv(s))},[e]);return i.jsx(sr,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},ene=f.memo(Zte),tne=fe(Ye,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Ge),nne=["fp16","fp32"],rne=()=>{const e=te(),{vaePrecision:t}=L(tne),n=f.useCallback(r=>{r&&e(TM(r))},[e]);return i.jsx(Yr,{label:"VAE Precision",value:t,data:nne,onChange:n})},one=f.memo(rne),sne=()=>{const e=ar("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Oe,{w:"full",children:i.jsx(Kte,{})}),i.jsx(Oe,{w:"full",children:i.jsx(ene,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Xte,{}),i.jsx(one,{})]})]})},Si=f.memo(sne),ane=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function _O(){const e=L(o=>o.generation.aspectRatio),t=te(),n=L(o=>o.generation.shouldFitToWidthHeight),r=L(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(nr,{isAttached:!0,children:ane.map(o=>i.jsx(rn,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(AM(o.value)),children:o.name},o.name))})})}const ine=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),lne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=L(ine),d=te(),{t:p}=be(),h=f.useCallback(v=>{if(d(mc(v)),c){const b=Ss(v*c,8);d(hc(b))}},[d,c]),m=f.useCallback(()=>{if(d(mc(n)),c){const v=Ss(n*c,8);d(hc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},cne=f.memo(lne),une=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),dne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=L(une),d=te(),{t:p}=be(),h=f.useCallback(v=>{if(d(hc(v)),c){const b=Ss(v/c,8);d(mc(b))}},[d,c]),m=f.useCallback(()=>{if(d(hc(n)),c){const v=Ss(n/c,8);d(mc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},fne=f.memo(dne);function Ic(){const{t:e}=be(),t=te(),n=L(o=>o.generation.shouldFitToWidthHeight),r=L(Kn);return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(tt,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(fl,{}),i.jsx(_O,{}),i.jsx(Le,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(sO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(NM())})]}),i.jsx(W,{gap:2,alignItems:"center",children:i.jsxs(W,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(fne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(cne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const pne=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Ge),hne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=L(pne),c=te(),{t:d}=be(),p=f.useCallback(v=>{c(Dp(v))},[c]),h=f.useCallback(()=>{c(Dp(t))},[c,t]),m=f.useCallback(()=>{c(ud())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Gc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(hne);function PO(){const e=te(),t=L(o=>o.generation.shouldFitToWidthHeight),n=o=>e($M(o.target.checked)),{t:r}=be();return i.jsx(Pr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function mne(){const e=L(a=>a.generation.seed),t=L(a=>a.generation.shouldRandomizeSeed),n=L(a=>a.generation.shouldGenerateVariations),{t:r}=be(),o=te(),s=a=>o(Rp(a));return i.jsx(Gc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:H_,max:W_,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const gne=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function vne(){const e=te(),t=L(o=>o.generation.shouldRandomizeSeed),{t:n}=be(),r=()=>e(Rp(gne(H_,W_)));return i.jsx(Le,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(sW,{})})}const bne=()=>{const e=te(),{t}=be(),n=L(o=>o.generation.shouldRandomizeSeed),r=o=>e(zM(o.target.checked));return i.jsx(Pr,{label:t("common.random"),isChecked:n,onChange:r})},yne=f.memo(bne),xne=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(mne,{}),i.jsx(vne,{}),i.jsx(yne,{})]}),ki=f.memo(xne),wne=fe([Ye],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Ge),Sne=()=>{const{sdxlImg2ImgDenoisingStrength:e}=L(wne),t=te(),{t:n}=be(),r=f.useCallback(s=>t(J2(s)),[t]),o=f.useCallback(()=>{t(J2(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},Cne=f.memo(Sne),kne=fe([La,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),_ne=()=>{const{shouldUseSliders:e,activeLabel:t}=L(kne);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}),i.jsx(Cne,{}),i.jsx(PO,{})]})})},Pne=f.memo(_ne),jne=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(SO,{}),i.jsx(Ld,{}),i.jsx(wO,{}),i.jsx(Hd,{}),i.jsx(Pne,{}),i.jsx(CO,{}),i.jsx(zd,{}),i.jsx(Qm,{})]}),jO=e=>{const{sx:t}=e,n=te(),r=L(a=>a.ui.shouldPinParametersPanel),{t:o}=be(),s=()=>{n(LM(!r)),n(So())};return i.jsx(Le,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(ij,{}):i.jsx(lj,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},Ine=fe(La,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),Ene=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=L(Ine);return t&&n?i.jsxs(Oe,{sx:{position:"relative",h:"full",w:$y,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(jO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},Ly=f.memo(Ene),One=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx(w1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Oe,{sx:{w:.5,h:"calc(100% - 4px)",bg:ze("base.100","base.850")(r)}})})}):i.jsx(w1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Oe,{sx:{w:"calc(100% - 4px)",h:.5,bg:ze("base.100","base.850")(r)}})})})},IO=f.memo(One),Rne=fe([Ye],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),Mne=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=be(),o=L(Rne);return i.jsx(Le,{onClick:t,icon:i.jsx(us,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},Dne=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function Tne(){const e=L(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(BM(r));return i.jsx(Yr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:Dne})}const Ane=e=>{const{imageDTO:t}=e,n=te(),r=L(jr),{t:o}=be(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(V_({image_name:t.image_name}))},[n,t,c]);return i.jsx(gl,{isOpen:s,onClose:c,triggerComponent:i.jsx(Le,{onClick:a,icon:i.jsx(VH,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(Tne,{}),i.jsx(rn,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Nne=fe([Ye,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Xt}}),$ne=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=L(Nne),d=ar("upscaling").isFeatureEnabled,p=Bc(),{t:h}=be(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Ey(),[w,y]=Ry(a,500),{currentData:S}=os(a??oo.skipToken),{currentData:k}=L1(y.isPending()?oo.skipToken:w??oo.skipToken),_=k==null?void 0:k.metadata,I=f.useCallback(()=>{b(_)},[_,b]);nt("a",()=>{},[_,b]);const P=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);nt("s",P,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,m]);nt("p",E,[S]);const O=f.useCallback(()=>{t(QE()),t($1(S))},[t,S]);nt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(V_({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(B1(S))},[t,S]);nt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const T=f.useCallback(()=>t(FM(!s)),[t,s]);nt("i",()=>{S?T():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),nt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(B_(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(nr,{isAttached:!0,isDisabled:o,children:i.jsxs(kd,{children:[i.jsx(_d,{as:Le,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(cW,{})}),i.jsx(zc,{motionProps:nm,children:S&&i.jsx(XE,{imageDTO:S})})]})}),i.jsxs(nr,{isAttached:!0,isDisabled:o,children:[i.jsx(Le,{icon:i.jsx(x6,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(Le,{icon:i.jsx(w6,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:P}),i.jsx(Le,{icon:i.jsx(d6,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:I})]}),d&&i.jsx(nr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(Ane,{imageDTO:S})}),i.jsx(nr,{isAttached:!0,isDisabled:o,children:i.jsx(Le,{icon:i.jsx(Lb,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:T})}),i.jsx(nr,{isAttached:!0,children:i.jsx(Le,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(QH,{}),isChecked:c,onClick:A})}),i.jsx(nr,{isAttached:!0,children:i.jsx(Mne,{onClick:M,isDisabled:o})})]})})},zne=fe([Ye,A_],(e,t)=>{var k,_;const{data:n,status:r}=HM.endpoints.listImages.select(t)(e),o=e.gallery.selection[e.gallery.selection.length-1],s=r==="pending";if(!n||!o||n.total===0)return{isFetching:s,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const a={...t,offset:n.ids.length,limit:$_},c=WM.getSelectors(),d=c.selectAll(n),p=d.findIndex(I=>I.image_name===o),h=Es(p+1,0,d.length-1),m=Es(p-1,0,d.length-1),v=(k=d[h])==null?void 0:k.image_name,b=(_=d[m])==null?void 0:_.image_name,w=c.selectById(n,v),y=c.selectById(n,b),S=d.length;return{isOnFirstImage:p===0,isOnLastImage:!isNaN(p)&&p===S-1,areMoreImagesAvailable:((n==null?void 0:n.total)??0)>S,isFetching:r==="pending",nextImage:w,prevImage:y,nextImageId:v,prevImageId:b,queryArgs:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),EO=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,isFetching:a,queryArgs:c}=L(zne),d=f.useCallback(()=>{o&&e(gv(o))},[e,o]),p=f.useCallback(()=>{r&&e(gv(r))},[e,r]),[h]=N_(),m=f.useCallback(()=>{h(c)},[h,c]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,handleLoadMoreImages:m,isFetching:a}};function Lne(e){return rt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const ys=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=be();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(wn,{label:`Recall ${e}`,children:i.jsx(Sa,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Lne,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(wn,{label:`Copy ${e}`,children:i.jsx(Sa,{"aria-label":`Copy ${e}`,icon:i.jsx(Fc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(tt,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(mb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(nj,{mx:"2px"})]}):i.jsx(tt,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Bne=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Ey(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),I=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),P=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(ys,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(ys,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(ys,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(ys,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(ys,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(ys,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(ys,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(ys,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(ys,{label:"Steps",value:t.steps,onClick:I}),t.cfg_scale!==void 0&&i.jsx(ys,{label:"CFG scale",value:t.cfg_scale,onClick:P}),t.strength&&i.jsx(ys,{label:"Image to image strength",value:t.strength,onClick:E})]})},Fne=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(W,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Oe,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(X6,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(wn,{label:t,children:i.jsx(Sa,{"aria-label":t,icon:i.jsx(Fc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Hne=({image:e})=>{const[t,n]=Ry(e.image_name,500),{currentData:r}=L1(n.isPending()?oo.skipToken:t??oo.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(W,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(W,{gap:2,children:[i.jsx(tt,{fontWeight:"semibold",children:"File:"}),i.jsxs(mb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(nj,{mx:"2px"})]})]}),i.jsx(Bne,{metadata:o}),i.jsxs(Ed,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(Od,{children:a.map(c=>i.jsx(wc,{sx:{borderTopRadius:"base"},children:i.jsx(tt,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx(km,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Cm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(Fne,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Wne=f.memo(Hne),nv={color:"base.100",pointerEvents:"auto"},Vne=()=>{const{t:e}=be(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=EO();return i.jsxs(Oe,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(Sa,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(DH,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:nv})}),i.jsxs(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(Sa,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(TH,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:nv}),o&&a&&!c&&i.jsx(Sa,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(MH,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:nv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(dl,{opacity:.5,size:"xl"})})]})]})},Une=f.memo(Vne),Gne=fe([Ye,VM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Xt}}),qne=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=L(Gne),{handlePrevImage:s,handleNextImage:a,prevImageId:c,nextImageId:d,isOnLastImage:p,handleLoadMoreImages:h,areMoreImagesAvailable:m,isFetching:v}=EO();nt("left",()=>{s()},[c]),nt("right",()=>{if(p&&m&&!v){h();return}p||a()},[d,p,m,h,v]);const{currentData:b}=os(t??oo.skipToken),w=f.useMemo(()=>{if(b)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:b}}},[b]),y=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[S,k]=f.useState(!1),_=f.useRef(0),I=f.useCallback(()=>{k(!0),window.clearTimeout(_.current)},[]),P=f.useCallback(()=>{_.current=window.setTimeout(()=>{k(!1)},500)},[]);return i.jsxs(W,{onMouseOver:I,onMouseOut:P,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Tc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(yi,{imageDTO:b,droppableData:y,draggableData:w,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(mi,{icon:al,label:"No image selected"})}),e&&b&&i.jsx(Oe,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(Wne,{image:b})}),i.jsx(Fo,{children:!e&&b&&S&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx(Une,{})},"nextPrevButtons")})]})},Kne=f.memo(qne),Yne=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx($ne,{}),i.jsx(Kne,{})]}),OO=()=>i.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(W,{sx:{width:"100%",height:"100%"},children:i.jsx(Yne,{})})}),Qne=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(UM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(GM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(qM(n.id))},[t,n.id]);return i.jsxs(W,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(Le,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(us,{}),colorScheme:"error"})]})},Xne=f.memo(Qne),Jne=fe(Ye,({lora:e})=>{const{loras:t}=e;return{loras:t}},Ge),Zne=()=>{const{loras:e}=L(Jne);return i.jsx(i.Fragment,{children:cs(e,t=>i.jsx(Xne,{lora:t},t.model_name))})},ere=fe(Ye,({lora:e})=>({loras:e.loras}),Ge),tre=()=>{const e=te(),{loras:t}=L(ere),{data:n}=U_(),r=L(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return jo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:vr[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(KM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(tt,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(sr,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},nre=fe(Ye,e=>{const t=G_(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ge),rre=()=>{const{activeLabel:e}=L(nre);return ar("lora").isFeatureEnabled?i.jsx(Oo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(tre,{}),i.jsx(Zne,{})]})}):null},By=f.memo(rre);function ore(){const e=L(d=>d.generation.clipSkip),{model:t}=L(d=>d.generation),n=te(),{t:r}=be(),o=f.useCallback(d=>{n(Z2(d))},[n]),s=f.useCallback(()=>{n(Z2(0))},[n]),a=f.useMemo(()=>t?Of[t.base_model].maxClip:Of["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Of[t.base_model].markers:Of["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const sre=fe(Ye,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ge);function Fy(){const{activeLabel:e}=L(sre);return L(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Oo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(ore,{})})}):null}const RO=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=YM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},are=e=>{const{controlNetId:t}=e,n=te(),r=L(jr),o=f.useMemo(()=>fe(Ye,({generation:v,controlNet:b})=>{var k,_;const{model:w}=v,y=(k=b.controlNets[t])==null?void 0:k.model,S=(_=b.controlNets[t])==null?void 0:_.isEnabled;return{mainModel:w,controlNetModel:y,isEnabled:S}},Ge),[t]),{mainModel:s,controlNetModel:a,isEnabled:c}=L(o),{data:d}=U1(),p=f.useMemo(()=>{if(!d)return[];const v=[];return jo(d.entities,(b,w)=>{if(!b)return;const y=(b==null?void 0:b.base_model)!==(s==null?void 0:s.base_model);v.push({value:w,label:b.model_name,group:vr[b.base_model],disabled:y,tooltip:y?`Incompatible base model: ${b.base_model}`:void 0})}),v},[d,s==null?void 0:s.base_model]),h=f.useMemo(()=>(d==null?void 0:d.entities[`${a==null?void 0:a.base_model}/controlnet/${a==null?void 0:a.model_name}`])??null,[a==null?void 0:a.base_model,a==null?void 0:a.model_name,d==null?void 0:d.entities]),m=f.useCallback(v=>{if(!v)return;const b=RO(v);b&&n(q_({controlNetId:t,model:b}))},[t,n]);return i.jsx(sr,{itemComponent:Oi,data:p,error:!h||(s==null?void 0:s.base_model)!==h.base_model,placeholder:"Select a model",value:(h==null?void 0:h.id)??null,onChange:m,disabled:r||!c,tooltip:h==null?void 0:h.description})},ire=f.memo(are),lre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{weight:d,isEnabled:p}=c.controlNets[t];return{weight:d,isEnabled:p}},Ge),[t]),{weight:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(QM({controlNetId:t,weight:c}))},[t,n]);return i.jsx(_t,{isDisabled:!s,label:"Weight",value:o,onChange:a,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},cre=f.memo(lre),ure=e=>{const{height:t,controlNetId:n}=e,r=te(),o=f.useMemo(()=>fe(Ye,({controlNet:E})=>{const{pendingControlImages:O}=E,{controlImage:R,processedControlImage:M,processorType:T,isEnabled:A}=E.controlNets[n];return{controlImageName:R,processedControlImageName:M,processorType:T,isEnabled:A,pendingControlImages:O}},Ge),[n]),{controlImageName:s,processedControlImageName:a,processorType:c,pendingControlImages:d,isEnabled:p}=L(o),[h,m]=f.useState(!1),{currentData:v}=os(s??oo.skipToken),{currentData:b}=os(a??oo.skipToken),w=f.useCallback(()=>{r(XM({controlNetId:n,controlImage:null}))},[n,r]),y=f.useCallback(()=>{m(!0)},[]),S=f.useCallback(()=>{m(!1)},[]),k=f.useMemo(()=>{if(v)return{id:n,payloadType:"IMAGE_DTO",payload:{imageDTO:v}}},[v,n]),_=f.useMemo(()=>({id:n,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:n}}),[n]),I=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:n}),[n]),P=v&&b&&!h&&!d.includes(n)&&c!=="none";return i.jsxs(W,{onMouseEnter:y,onMouseLeave:S,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:p?"auto":"none",opacity:p?1:.5},children:[i.jsx(yi,{draggableData:k,droppableData:_,imageDTO:v,isDropDisabled:P||!p,onClickReset:w,postUploadAction:I,resetTooltip:"Reset Control Image",withResetIcon:!!v}),i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(yi,{draggableData:k,droppableData:_,imageDTO:b,isUploadDisabled:!0,isDropDisabled:!p,onClickReset:w,resetTooltip:"Reset Control Image",withResetIcon:!!v})}),d.includes(n)&&i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(dl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},xk=f.memo(ure),As=()=>{const e=te();return f.useCallback((n,r)=>{e(JM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const wk=ls.canny_image_processor.default,dre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=L(jr),c=As(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:wk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:wk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},fre=f.memo(dre),bu=ls.content_shuffle_image_processor.default,pre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=As(),h=L(jr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:bu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:bu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:bu.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:bu.h})},[t,p]),I=f.useCallback(E=>{p(t,{f:E})},[t,p]),P=f.useCallback(()=>{p(t,{f:bu.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:I,handleReset:P,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},hre=f.memo(pre),Sk=ls.hed_image_processor.default,mre=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=L(jr),c=As(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Sk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Sk.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(Pr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},gre=f.memo(mre),Ck=ls.lineart_anime_image_processor.default,vre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Ck.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Ck.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},bre=f.memo(vre),kk=ls.lineart_image_processor.default,yre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=As(),d=L(jr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:kk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:kk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(Pr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},xre=f.memo(yre),_k=ls.mediapipe_face_processor.default,wre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:_k.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:_k.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Sre=f.memo(wre),Pk=ls.midas_depth_image_processor.default,Cre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Pk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Pk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},kre=f.memo(Cre),mp=ls.mlsd_image_processor.default,_re=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=As(),p=L(jr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:mp.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:mp.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:mp.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:mp.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},Pre=f.memo(_re),jk=ls.normalbae_image_processor.default,jre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:jk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:jk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Ire=f.memo(jre),Ik=ls.openpose_image_processor.default,Ere=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=As(),d=L(jr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Ik.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Ik.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(Pr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},Ore=f.memo(Ere),Ek=ls.pidi_image_processor.default,Rre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=As(),p=L(jr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Ek.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Ek.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(Pr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(Pr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},Mre=f.memo(Rre),Dre=e=>null,Tre=f.memo(Dre),Are=e=>{const{controlNetId:t}=e,n=f.useMemo(()=>fe(Ye,({controlNet:s})=>{const{isEnabled:a,processorNode:c}=s.controlNets[t];return{isEnabled:a,processorNode:c}},Ge),[t]),{isEnabled:r,processorNode:o}=L(n);return o.type==="canny_image_processor"?i.jsx(fre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="hed_image_processor"?i.jsx(gre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_image_processor"?i.jsx(xre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="content_shuffle_image_processor"?i.jsx(hre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_anime_image_processor"?i.jsx(bre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mediapipe_face_processor"?i.jsx(Sre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="midas_depth_image_processor"?i.jsx(kre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mlsd_image_processor"?i.jsx(Pre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="normalbae_image_processor"?i.jsx(Ire,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="openpose_image_processor"?i.jsx(Ore,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="pidi_image_processor"?i.jsx(Mre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="zoe_depth_image_processor"?i.jsx(Tre,{controlNetId:t,processorNode:o,isEnabled:r}):null},Nre=f.memo(Are),$re=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{isEnabled:p,shouldAutoConfig:h}=d.controlNets[t];return{isEnabled:p,shouldAutoConfig:h}},Ge),[t]),{isEnabled:o,shouldAutoConfig:s}=L(r),a=L(jr),c=f.useCallback(()=>{n(ZM({controlNetId:t}))},[t,n]);return i.jsx(Pr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:s,onChange:c,isDisabled:a||!o})},zre=f.memo($re),Ok=e=>`${Math.round(e*100)}%`,Lre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{beginStepPct:p,endStepPct:h,isEnabled:m}=d.controlNets[t];return{beginStepPct:p,endStepPct:h,isEnabled:m}},Ge),[t]),{beginStepPct:o,endStepPct:s,isEnabled:a}=L(r),c=f.useCallback(d=>{n(e7({controlNetId:t,beginStepPct:d[0]})),n(t7({controlNetId:t,endStepPct:d[1]}))},[t,n]);return i.jsxs(ho,{isDisabled:!a,children:[i.jsx(zo,{children:"Begin / End Step Percentage"}),i.jsx(di,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(T5,{"aria-label":["Begin Step %","End Step %"],value:[o,s],onChange:c,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!a,children:[i.jsx(A5,{children:i.jsx(N5,{})}),i.jsx(wn,{label:Ok(o),placement:"top",hasArrow:!0,children:i.jsx(Hv,{index:0})}),i.jsx(wn,{label:Ok(s),placement:"top",hasArrow:!0,children:i.jsx(Hv,{index:1})}),i.jsx(kp,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(kp,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(kp,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Bre=f.memo(Lre),Fre=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Hre(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{controlMode:d,isEnabled:p}=c.controlNets[t];return{controlMode:d,isEnabled:p}},Ge),[t]),{controlMode:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(n7({controlNetId:t,controlMode:c}))},[t,n]);return i.jsx(Yr,{disabled:!s,label:"Control Mode",data:Fre,value:String(o),onChange:a})}const Wre=fe(aO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Ge),Vre=e=>{const t=te(),{controlNetId:n}=e,r=f.useMemo(()=>fe(Ye,({controlNet:p})=>{const{isEnabled:h,processorNode:m}=p.controlNets[n];return{isEnabled:h,processorNode:m}},Ge),[n]),o=L(jr),s=L(Wre),{isEnabled:a,processorNode:c}=L(r),d=f.useCallback(p=>{t(r7({controlNetId:n,processorType:p}))},[n,t]);return i.jsx(sr,{label:"Processor",value:c.type??"canny_image_processor",data:s,onChange:d,disabled:o||!a})},Ure=f.memo(Vre),Gre=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function qre(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{resizeMode:d,isEnabled:p}=c.controlNets[t];return{resizeMode:d,isEnabled:p}},Ge),[t]),{resizeMode:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(o7({controlNetId:t,resizeMode:c}))},[t,n]);return i.jsx(Yr,{disabled:!s,label:"Resize Mode",data:Gre,value:String(o),onChange:a})}const Kre=e=>{const{controlNetId:t}=e,n=te(),r=fe(Ye,({controlNet:m})=>{const{isEnabled:v,shouldAutoConfig:b}=m.controlNets[t];return{isEnabled:v,shouldAutoConfig:b}},Ge),{isEnabled:o,shouldAutoConfig:s}=L(r),[a,c]=JZ(!1),d=f.useCallback(()=>{n(s7({controlNetId:t}))},[t,n]),p=f.useCallback(()=>{n(a7({sourceControlNetId:t,newControlNetId:ui()}))},[t,n]),h=f.useCallback(()=>{n(i7({controlNetId:t}))},[t,n]);return i.jsxs(W,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(Pr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:o,onChange:h}),i.jsx(Oe,{sx:{w:"full",minW:0,opacity:o?1:.5,pointerEvents:o?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(ire,{controlNetId:t})}),i.jsx(Le,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:p,icon:i.jsx(Fc,{})}),i.jsx(Le,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:d,icon:i.jsx(us,{})}),i.jsx(Le,{size:"sm",tooltip:a?"Hide Advanced":"Show Advanced","aria-label":a?"Hide Advanced":"Show Advanced",onClick:c,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(ay,{sx:{boxSize:4,color:"base.700",transform:a?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!s&&i.jsx(Oe,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(W,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(W,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(W,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:a?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(cre,{controlNetId:t}),i.jsx(Bre,{controlNetId:t})]}),!a&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(xk,{controlNetId:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Hre,{controlNetId:t}),i.jsx(qre,{controlNetId:t})]}),i.jsx(Ure,{controlNetId:t})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx(xk,{controlNetId:t,height:"392px"}),i.jsx(zre,{controlNetId:t}),i.jsx(Nre,{controlNetId:t})]})]})},Yre=f.memo(Kre),Qre=fe(Ye,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ge),Xre=()=>{const{isEnabled:e}=L(Qre),t=te(),n=f.useCallback(()=>{t(l7())},[t]);return i.jsx(Pr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Jre=fe([Ye],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=c7(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Ge),Zre=()=>{const{controlNetsArray:e,activeLabel:t}=L(Jre),n=ar("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=U1(void 0,{selectFromResult:a=>{var d,p;return{firstModel:(p=a.data)==null?void 0:p.entities[(d=a.data)==null?void 0:d.ids[0]]}}}),s=f.useCallback(()=>{if(!o)return;const a=ui();r(u7({controlNetId:a})),r(q_({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Oo,{label:"ControlNet",activeLabel:t,children:i.jsxs(W,{sx:{flexDir:"column",gap:3},children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(W,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx(Xre,{})}),i.jsx(Le,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(ml,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(hl,{}),i.jsx(Yre,{controlNetId:a.controlNetId})]},a.controlNetId))]})})},Hy=f.memo(Zre),eoe=fe(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ge),toe=()=>{const{t:e}=be(),{seamlessXAxis:t}=L(eoe),n=te(),r=f.useCallback(o=>{n(d7(o.target.checked))},[n]);return i.jsx(Pr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},noe=f.memo(toe),roe=fe(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ge),ooe=()=>{const{t:e}=be(),{seamlessYAxis:t}=L(roe),n=te(),r=f.useCallback(o=>{n(f7(o.target.checked))},[n]);return i.jsx(Pr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},soe=f.memo(ooe),aoe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},ioe=fe(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:aoe(t,n)}},Ge),loe=()=>{const{t:e}=be(),{activeLabel:t}=L(ioe);return ar("seamless").isFeatureEnabled?i.jsx(Oo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Oe,{flexGrow:1,children:i.jsx(noe,{})}),i.jsx(Oe,{flexGrow:1,children:i.jsx(soe,{})})]})}):null},MO=f.memo(loe);function coe(){const e=L(o=>o.generation.horizontalSymmetrySteps),t=L(o=>o.generation.steps),n=te(),{t:r}=be();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(ew(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(ew(0))})}function uoe(){const e=L(o=>o.generation.verticalSymmetrySteps),t=L(o=>o.generation.steps),n=te(),{t:r}=be();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(tw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(tw(0))})}function doe(){const e=L(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(Pr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(p7(n.target.checked))})}const foe=fe(Ye,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ge),poe=()=>{const{t:e}=be(),{activeLabel:t}=L(foe);return ar("symmetry").isFeatureEnabled?i.jsx(Oo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(doe,{}),i.jsx(coe,{}),i.jsx(uoe,{})]})}):null},Wy=f.memo(poe),hoe=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Ge),moe=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=L(hoe),a=te(),{t:c}=be(),d=f.useCallback(h=>a(Tp(h)),[a]),p=f.useCallback(()=>{a(Tp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},DO=f.memo(moe),goe=fe([La,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),voe=()=>{const{shouldUseSliders:e,activeLabel:t}=L(goe);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}),i.jsx(DO,{}),i.jsx(PO,{})]})})},boe=f.memo(voe),TO=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(boe,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Qm,{}),i.jsx(Wy,{}),i.jsx(MO,{}),i.jsx(Fy,{})]}),yoe=()=>{const e=te(),t=f.useRef(null),n=L(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:n&&n.base_model==="sdxl"?i.jsx(jne,{}):i.jsx(TO,{})}),i.jsx(Oe,{sx:{w:"full",h:"full"},children:i.jsxs(Ay,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(sd,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(Gee,{})}),i.jsx(IO,{onDoubleClick:r}),i.jsx(sd,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(So())},children:i.jsx(OO,{})})]})})]})},xoe=f.memo(yoe);var woe=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Rk=cd(woe);function S1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var Soe=Object.defineProperty,Mk=Object.getOwnPropertySymbols,Coe=Object.prototype.hasOwnProperty,koe=Object.prototype.propertyIsEnumerable,Dk=(e,t,n)=>t in e?Soe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_oe=(e,t)=>{for(var n in t||(t={}))Coe.call(t,n)&&Dk(e,n,t[n]);if(Mk)for(var n of Mk(t))koe.call(t,n)&&Dk(e,n,t[n]);return e};function AO(e,t){if(t===null||typeof t!="object")return{};const n=_oe({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const Poe="__MANTINE_FORM_INDEX__";function Tk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${Poe}`)):!1:!1}function Ak(e,t,n){typeof n.value=="object"&&(n.value=Xl(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function Xl(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(Xl(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(Xl(c),Xl(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(Xl(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function C1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=ya(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>C1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||C1(a,t,c,o)),o},r)}function k1(e,t){return Nk(typeof e=="function"?e(t):C1(e,t))}function gp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=k1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function joe(e,{from:t,to:n},r){const o=ya(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),Zm(e,s,r)}var Ioe=Object.defineProperty,$k=Object.getOwnPropertySymbols,Eoe=Object.prototype.hasOwnProperty,Ooe=Object.prototype.propertyIsEnumerable,zk=(e,t,n)=>t in e?Ioe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Roe=(e,t)=>{for(var n in t||(t={}))Eoe.call(t,n)&&zk(e,n,t[n]);if($k)for(var n of $k(t))Ooe.call(t,n)&&zk(e,n,t[n]);return e};function Moe(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=Roe({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function Doe(e,t,n){const r=ya(e,n);return Array.isArray(r)?Zm(e,r.filter((o,s)=>s!==t),n):n}var Toe=Object.defineProperty,Lk=Object.getOwnPropertySymbols,Aoe=Object.prototype.hasOwnProperty,Noe=Object.prototype.propertyIsEnumerable,Bk=(e,t,n)=>t in e?Toe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$oe=(e,t)=>{for(var n in t||(t={}))Aoe.call(t,n)&&Bk(e,n,t[n]);if(Lk)for(var n of Lk(t))Noe.call(t,n)&&Bk(e,n,t[n]);return e};function Fk(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function Hk(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=AO(`${o}.${t}`,s));const a=$oe({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=Fk(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=Fk(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function zoe(e,t,n,r){const o=ya(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),Zm(e,s,r)}function Wk(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function Loe(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Boe=Object.defineProperty,Foe=Object.defineProperties,Hoe=Object.getOwnPropertyDescriptors,Vk=Object.getOwnPropertySymbols,Woe=Object.prototype.hasOwnProperty,Voe=Object.prototype.propertyIsEnumerable,Uk=(e,t,n)=>t in e?Boe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))Woe.call(t,n)&&Uk(e,n,t[n]);if(Vk)for(var n of Vk(t))Voe.call(t,n)&&Uk(e,n,t[n]);return e},rv=(e,t)=>Foe(e,Hoe(t));function qc({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(S1(t)),k=f.useRef(e),_=K=>{k.current=K},I=f.useCallback(()=>h({}),[]),P=K=>{const U=K?ti(ti({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>S1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),I()},[]),M=f.useCallback((K,U)=>E(ae=>rv(ti({},ae),{[K]:U})),[]),T=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const ae=ti({},U);return delete ae[K],ae}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const ae=AO(K,U);return delete ae[K],ae}),[]),$=f.useCallback((K,U)=>{const ae=Tk(K,s);A(K),h(re=>rv(ti({},re),{[K]:!0})),w(re=>{const oe=Zm(K,U,re);if(ae){const pe=gp(K,d,oe);pe.hasError?M(K,pe.error):T(K)}return oe}),!ae&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const ae=typeof K=="function"?K(U):K;return ti(ti({},U),ae)}),o&&O()},[]),B=f.useCallback((K,U)=>{A(K),w(ae=>joe(K,U,ae)),S(ae=>Moe(K,U,ae))},[]),V=f.useCallback((K,U)=>{A(K),w(ae=>Doe(K,U,ae)),S(ae=>Hk(K,U,ae,-1))},[]),q=f.useCallback((K,U,ae)=>{A(K),w(re=>zoe(K,U,ae,re)),S(re=>Hk(K,ae,re,1))},[]),G=f.useCallback(()=>{const K=k1(d,b);return S(K.errors),K},[b,d]),D=f.useCallback(K=>{const U=gp(K,d,b);return U.hasError?M(K,U.error):T(K),U},[b,d]),z=(K,{type:U="input",withError:ae=!0,withFocus:re=!0}={})=>{const pe={onChange:Loe(ce=>$(K,ce))};return ae&&(pe.error=y[K]),U==="checkbox"?pe.checked=ya(K,b):pe.value=ya(K,b),re&&(pe.onFocus=()=>h(ce=>rv(ti({},ce),{[K]:!0})),pe.onBlur=()=>{if(Tk(K,a)){const ce=gp(K,d,b);ce.hasError?M(K,ce.error):T(K)}}),pe},H=(K,U)=>ae=>{ae==null||ae.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,ae):K==null||K(c(b),ae)},Y=K=>c(K||b),ie=f.useCallback(K=>{K.preventDefault(),R()},[]),ye=K=>{if(K){const ae=ya(K,m);if(typeof ae=="boolean")return ae;const re=ya(K,b),oe=ya(K,k.current);return!Rk(re,oe)}return Object.keys(m).length>0?Wk(m):!Rk(b,k.current)},Z=f.useCallback(K=>Wk(p,K),[p]),se=f.useCallback(K=>K?!gp(K,d,b).hasError:!k1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:$,setFieldError:M,clearFieldError:T,clearErrors:O,reset:R,validate:G,validateField:D,reorderListItem:B,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:H,onReset:ie,isDirty:ye,isTouched:Z,setTouched:h,setDirty:v,resetTouched:I,resetDirty:P,isValid:se,getTransformedValues:Y}}function Tr(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=_y(),{colorMode:m}=Ds();return i.jsx(OE,{styles:()=>({input:{color:ze(d,r)(m),backgroundColor:ze(n,d)(m),borderColor:ze(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:ze(h,p)(m)}},label:{color:ze(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Uoe=[{value:"sd-1",label:vr["sd-1"]},{value:"sd-2",label:vr["sd-2"]},{value:"sdxl",label:vr.sdxl},{value:"sdxl-refiner",label:vr["sdxl-refiner"]}];function eg(e){const{...t}=e,{t:n}=be();return i.jsx(Yr,{label:n("modelManager.baseModel"),data:Uoe,...t})}function $O(e){const{data:t}=K_(),{...n}=e;return i.jsx(Yr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Goe=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function tg(e){const{...t}=e,{t:n}=be();return i.jsx(Yr,{label:n("modelManager.variant"),data:Goe,...t})}function zO(e){const{t}=be(),n=te(),{model_path:r}=e,o=qc({initialValues:{model_name:r?r.split("\\").splice(-1)[0].split(".")[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=Y_(),[a,c]=f.useState(!1),d=p=>{s({body:p}).unwrap().then(h=>{n(Dn(Bn({title:`Model Added: ${p.model_name}`,status:"success"}))),o.reset(),r&&n(fd(null))}).catch(h=>{h&&n(Dn(Bn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(p=>d(p)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Tr,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(eg,{...o.getInputProps("base_model")}),i.jsx(Tr,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(Tr,{label:"Description",...o.getInputProps("description")}),i.jsx(Tr,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(tg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(Tr,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx($O,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(rn,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function LO(e){const{t}=be(),n=te(),{model_path:r}=e,[o]=Y_(),s=qc({initialValues:{model_name:r?r.split("\\").splice(-1)[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(Dn(Bn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(fd(null))}).catch(d=>{d&&n(Dn(Bn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Tr,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(eg,{...s.getInputProps("base_model")}),i.jsx(Tr,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(Tr,{label:"Description",...s.getInputProps("description")}),i.jsx(Tr,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(tg,{...s.getInputProps("variant")}),i.jsx(rn,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const BO=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function qoe(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Yr,{label:"Model Type",value:e,data:BO,onChange:n=>{n&&t(n)}}),i.jsxs(W,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(LO,{}),e==="checkpoint"&&i.jsx(zO,{})]})]})}const Koe=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Yoe(){const e=te(),{t}=be(),n=L(c=>c.system.isProcessing),[r,{isLoading:o}]=Q_(),s=qc({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(Dn(Bn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(Dn(Bn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(Tr,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Yr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Koe,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(rn,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Qoe(){const[e,t]=f.useState("simple");return i.jsxs(W,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(rn,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(W,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Yoe,{}),e==="advanced"&&i.jsx(qoe,{})]})]})}const Xoe={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Joe=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(_o(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(_o(!1))},[c]);return i.jsxs(ho,{isInvalid:o,isDisabled:r,...s,style:n==="side"?Xoe:void 0,children:[t!==""&&i.jsx(zo,{children:t}),i.jsx(yd,{...a,onPaste:Ny,onKeyDown:d,onKeyUp:p})]})},Ec=f.memo(Joe);function Zoe(e){const{...t}=e;return i.jsx(CI,{w:"100%",...t,children:e.children})}function ese(){const e=L(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Hu),{foundModels:o,alreadyInstalled:s,filteredModels:a}=X_({search_path:e||""},{selectFromResult:({data:y})=>{const S=KD(r==null?void 0:r.entities),k=cs(S,"path"),_=UD(y,k),I=ZD(y,k);return{foundModels:y,alreadyInstalled:Gk(I,t),filteredModels:Gk(_,t)}}}),[c,{isLoading:d}]=Q_(),p=te(),{t:h}=be(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(Dn(Bn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(Dn(Bn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(W,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(tt,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(tt,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(rn,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(rn,{onClick:()=>p(fd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(tt,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(tt,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Ec,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(tt,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(tt,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(Zoe,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const Gk=(e,t)=>{const n=[];return jo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function tse(){const e=L(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Oe,{as:Qr.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(tt,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(Le,{icon:i.jsx(dW,{}),"aria-label":"Close Advanced",onClick:()=>s(fd(null)),size:"sm"})]}),i.jsx(Yr,{label:"Model Type",value:t,data:BO,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(zO,{model_path:e},e):i.jsx(LO,{model_path:e},e)]}):null}function nse(){const e=te(),{t}=be(),n=L(c=>c.modelmanager.searchFolder),{refetch:r}=X_({search_path:n||""}),o=qc({initialValues:{folder:""}}),s=f.useCallback(c=>{e(nw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(W,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(W,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(tt,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(W,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Ec,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(Le,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(S6,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(Le,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(iW,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(Le,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(us,{}),size:"sm",onClick:()=>{e(nw(null)),e(fd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const rse=f.memo(nse);function ose(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(rse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(ese,{})}),i.jsx(tse,{})]})]})}function sse(){const[e,t]=f.useState("add"),{t:n}=be();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(rn,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Qoe,{}),e=="scan"&&i.jsx(ose,{})]})}const ase=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function ise(){const{t:e}=be(),t=te(),{data:n}=na(Hu),[r,{isLoading:o}]=h7(),[s,a]=f.useState("sd-1"),c=gw(n==null?void 0:n.entities,(D,z)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-1"),d=gw(n==null?void 0:n.entities,(D,z)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(Object.keys(p[s])[0]),[v,b]=f.useState(Object.keys(p[s])[1]),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,I]=f.useState(.5),[P,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,T]=f.useState(""),[A,$]=f.useState(!1),Q=Object.keys(p[s]).filter(D=>D!==v&&D!==w),B=Object.keys(p[s]).filter(D=>D!==h&&D!==w),V=Object.keys(p[s]).filter(D=>D!==h&&D!==v),q=D=>{a(D),m(null),b(null)},G=()=>{const D=[];let z=[h,v,w];z=z.filter(Y=>Y!==null),z.forEach(Y=>{Y&&D.push(Y==null?void 0:Y.split("/")[2])});const H={model_names:D,merged_model_name:S!==""?S:D.join("-"),alpha:_,interp:P,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:H}).unwrap().then(Y=>{t(Dn(Bn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(Y=>{Y&&t(Dn(Bn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsxs(W,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(tt,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(tt,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Yr,{label:"Model Type",w:"100%",data:ase,value:s,onChange:q}),i.jsx(sr,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:D=>m(D)}),i.jsx(sr,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:B,onChange:D=>b(D)}),i.jsx(sr,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:D=>{D?(y(D),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Ec,{label:e("modelManager.mergedModelName"),value:S,onChange:D=>k(D.target.value)}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:D=>I(D),withInput:!0,withReset:!0,handleReset:()=>I(.5),withSliderMarks:!0}),i.jsx(tt,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(W,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(tt,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(Gp,{value:P,onChange:D=>E(D),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ba,{value:"weighted_sum",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ba,{value:"sigmoid",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ba,{value:"inv_sigmoid",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ba,{value:"add_difference",children:i.jsx(wn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(W,{columnGap:4,children:[i.jsx(tt,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(Gp,{value:O,onChange:D=>R(D),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ba,{value:"root",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ba,{value:"custom",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Ec,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:D=>T(D.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:D=>$(D.target.checked),fontWeight:"500"}),i.jsx(rn,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const lse=Te((e,t)=>{const{t:n}=be(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Pd,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Da,{children:c}),i.jsxs(Oa,{children:[i.jsx(rn,{ref:b,onClick:y,children:s}),i.jsx(rn,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),Vy=f.memo(lse);function cse(e){const{model:t}=e,n=te(),{t:r}=be(),[o,{isLoading:s}]=m7(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,params:{convert_dest_directory:a==="Custom"?d:void 0}};if(a==="Custom"&&d===""){n(Dn(Bn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(Dn(Bn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"success"}))),o(v).unwrap().then(b=>{n(Dn(Bn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(b=>{n(Dn(Bn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(Vy,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(rn,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsx(tt,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(vb,{children:[i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(tt,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(tt,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(Gp,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ba,{value:"InvokeAIRoot",children:i.jsx(wn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ba,{value:"Custom",children:i.jsx(wn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(tt,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Ec,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function use(e){const t=L(jr),{model:n}=e,[r,{isLoading:o}]=J_(),{data:s}=K_(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=be(),h=qc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(Dn(Bn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(Dn(Bn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(tt,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(tt,{fontSize:"sm",color:"base.400",children:[vr[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(pl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(cse,{model:n})]}),i.jsx(hl,{}),i.jsx(W,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(Tr,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(Tr,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(eg,{required:!0,...h.getInputProps("base_model")}),i.jsx(tg,{required:!0,...h.getInputProps("variant")}),i.jsx(Tr,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(Tr,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(Tr,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx($O,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(rn,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function dse(e){const t=L(jr),{model:n}=e,[r,{isLoading:o}]=J_(),s=te(),{t:a}=be(),c=qc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(Dn(Bn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(Dn(Bn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(tt,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(tt,{fontSize:"sm",color:"base.400",children:[vr[n.base_model]," Model"]})]}),i.jsx(hl,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(Tr,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(Tr,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(eg,{required:!0,...c.getInputProps("base_model")}),i.jsx(tg,{required:!0,...c.getInputProps("variant")}),i.jsx(Tr,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Tr,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(rn,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}const fse={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"};function qk(e){const t=L(jr),{t:n}=be(),r=te(),[o]=g7(),{model:s,isSelected:a,setSelectedModelId:c}=e,d=f.useCallback(()=>{c(s.id)},[s.id,c]),p=f.useCallback(()=>{o(s).unwrap().then(h=>{r(Dn(Bn({title:`${n("modelManager.modelDeleted")}: ${s.model_name}`,status:"success"})))}).catch(h=>{h&&r(Dn(Bn({title:`${n("modelManager.modelDeleteFailed")}: ${s.model_name}`,status:"success"})))}),c(void 0)},[o,s,c,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:rn,isChecked:a,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:a?"accent.400":"base.100",color:a?"base.50":"base.800",_hover:{bg:a?"accent.500":"base.300",color:a?"base.50":"base.800"},_dark:{color:a?"base.50":"base.100",bg:a?"accent.600":"base.850",_hover:{color:a?"base.50":"base.100",bg:a?"accent.550":"base.700"}}},onClick:d,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(pl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:fse[s.base_model]}),i.jsx(wn,{label:s.description,hasArrow:!0,placement:"bottom",children:i.jsx(tt,{sx:{fontWeight:500},children:s.model_name})})]})}),i.jsx(Vy,{title:n("modelManager.deleteModel"),acceptCallback:p,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(Le,{icon:i.jsx(BV,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(W,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const pse=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=be(),[o,s]=f.useState(""),[a,c]=f.useState("images"),{filteredDiffusersModels:d}=na(Hu,{selectFromResult:({data:m})=>({filteredDiffusersModels:Kk(m,"diffusers",o)})}),{filteredCheckpointModels:p}=na(Hu,{selectFromResult:({data:m})=>({filteredCheckpointModels:Kk(m,"checkpoint",o)})}),h=f.useCallback(m=>{s(m.target.value)},[]);return i.jsx(W,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(W,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{onClick:()=>c("images"),isChecked:a==="images",size:"sm",children:r("modelManager.allModels")}),i.jsx(rn,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(rn,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")})]}),i.jsx(Ec,{onChange:h,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[["images","diffusers"].includes(a)&&d.length>0&&i.jsx(Yk,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tt,{variant:"subtext",fontSize:"sm",children:"Diffusers"}),d.map(m=>i.jsx(qk,{model:m,isSelected:t===m.id,setSelectedModelId:n},m.id))]})}),["images","checkpoint"].includes(a)&&p.length>0&&i.jsx(Yk,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tt,{variant:"subtext",fontSize:"sm",children:"Checkpoints"}),p.map(m=>i.jsx(qk,{model:m,isSelected:t===m.id,setSelectedModelId:n},m.id))]})})]})]})})},Kk=(e,t,n)=>{const r=[];return jo(e==null?void 0:e.entities,o=>{if(!o)return;const s=o.model_name.toLowerCase().includes(n.toLowerCase()),a=o.model_format===t;s&&a&&r.push(o)}),r},Yk=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function hse(){const[e,t]=f.useState(),{model:n}=na(Hu,{selectFromResult:({data:r})=>({model:e?r==null?void 0:r.entities[e]:void 0})});return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(pse,{selectedModelId:e,setSelectedModelId:t}),i.jsx(mse,{model:n})]})}const mse=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(use,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(dse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(tt,{variant:"subtext",children:"No Model Selected"})})};function gse(){const{t:e}=be();return i.jsxs(W,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(tt,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(tt,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Wd,{})]})}function vse(){return i.jsx(W,{children:i.jsx(gse,{})})}const Qk=[{id:"modelManager",label:Ln.t("modelManager.modelManager"),content:i.jsx(hse,{})},{id:"importModels",label:Ln.t("modelManager.importModels"),content:i.jsx(sse,{})},{id:"mergeModels",label:Ln.t("modelManager.mergeModels"),content:i.jsx(ise,{})},{id:"settings",label:Ln.t("modelManager.settings"),content:i.jsx(vse,{})}],bse=()=>i.jsxs(Ed,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(Od,{children:Qk.map(e=>i.jsx(wc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx(km,{sx:{w:"full",h:"full"},children:Qk.map(e=>i.jsx(Cm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),yse=f.memo(bse);const xse=e=>fe([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),wse=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},Sse=fe([e=>e.nodes],e=>e.invocationTemplates),Uy="node-drag-handle",Xk={dragHandle:`.${Uy}`},Cse=()=>{const e=L(Sse),t=G1();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...Xk,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=ui(),s=rw(r.inputs,(h,m,v)=>{const b=ui(),w=wse(b,m);return h[v]=w,h},{}),a=rw(r.outputs,(h,m,v)=>{const w={id:ui(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...Xk,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},kse=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:Uy,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(wn,{label:t,children:i.jsx(Qs,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(wn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(Kr,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:JH})})]})},FO=f.memo(kse),HO=()=>()=>!0,_se={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},Pse={left:"-1rem"},jse={right:"-0.5rem"},Ise=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(wn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:Z_,children:i.jsx(v7,{type:r,id:s,isValidConnection:n,position:r==="target"?ow.Left:ow.Right,style:{backgroundColor:e3[a].colorCssVar,...o,..._se,...r==="target"?Pse:jse}})})},WO=f.memo(Ise),Ese=e=>i.jsx(tW,{}),Ose=f.memo(Ese),Rse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Nb,{onChange:o,isChecked:n.value})},Mse=f.memo(Rse),Dse=e=>null,Tse=f.memo(Dse);function ng(){return(ng=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function _1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Oc=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(Jk(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=P1(o.current),I=S?_.addEventListener:_.removeEventListener;I(k?"touchmove":"mousemove",b),I(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(Zk(k),!function(P,E){return E&&!Fu(P)}(k,d.current)&&_)){if(Fu(k)){d.current=!0;var I=k.changedTouches||[];I.length&&(c.current=I[0].identifier)}_.focus(),s(Jk(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),F.createElement("div",ng({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),rg=function(e){return e.filter(Boolean).join(" ")},qy=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=rg(["react-colorful__pointer",e.className]);return F.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},F.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},fo=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},UO=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:fo(e.h),s:fo(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:fo(o/2),a:fo(r,2)}},j1=function(e){var t=UO(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},ov=function(e){var t=UO(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Ase=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:fo(255*[r,c,a,a,d,r][p]),g:fo(255*[d,r,r,c,a,a][p]),b:fo(255*[a,a,d,r,r,c][p]),a:fo(o,2)}},Nse=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:fo(60*(c<0?c+6:c)),s:fo(s?a/s*100:0),v:fo(s/255*100),a:o}},$se=F.memo(function(e){var t=e.hue,n=e.onChange,r=rg(["react-colorful__hue",e.className]);return F.createElement("div",{className:r},F.createElement(Gy,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Oc(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":fo(t),"aria-valuemax":"360","aria-valuemin":"0"},F.createElement(qy,{className:"react-colorful__hue-pointer",left:t/360,color:j1({h:t,s:100,v:100,a:1})})))}),zse=F.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:j1({h:t.h,s:100,v:100,a:1})};return F.createElement("div",{className:"react-colorful__saturation",style:r},F.createElement(Gy,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Oc(t.s+100*o.left,0,100),v:Oc(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+fo(t.s)+"%, Brightness "+fo(t.v)+"%"},F.createElement(qy,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:j1(t)})))}),GO=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Lse(e,t,n){var r=_1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;GO(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var Bse=typeof window<"u"?f.useLayoutEffect:f.useEffect,Fse=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},e_=new Map,Hse=function(e){Bse(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!e_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,e_.set(t,n);var r=Fse();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Wse=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+ov(Object.assign({},n,{a:0}))+", "+ov(Object.assign({},n,{a:1}))+")"},s=rg(["react-colorful__alpha",t]),a=fo(100*n.a);return F.createElement("div",{className:s},F.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),F.createElement(Gy,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Oc(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},F.createElement(qy,{className:"react-colorful__alpha-pointer",left:n.a,color:ov(n)})))},Vse=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=VO(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Hse(c);var d=Lse(n,o,s),p=d[0],h=d[1],m=rg(["react-colorful",t]);return F.createElement("div",ng({},a,{ref:c,className:m}),F.createElement(zse,{hsva:p,onChange:h}),F.createElement($se,{hue:p.h,onChange:h}),F.createElement(Wse,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Use={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Nse,fromHsva:Ase,equal:GO},qO=function(e){return F.createElement(Vse,ng({},e,{colorModel:Use}))};const Gse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(qO,{className:"nodrag",color:n.value,onChange:o})},qse=f.memo(Gse),Kse=e=>null,Yse=f.memo(Kse),Qse=e=>null,Xse=f.memo(Qse),Jse=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=U1(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=RO(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Yr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&vr[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Zse=f.memo(Jse),eae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(Ts({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(_5,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},tae=f.memo(eae),nae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=A1({id:`node_${t}`,data:r});return i.jsxs(W,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(oae,{imageName:d},d)),Ep(r,a)&&i.jsx(nh,{isOver:o})]})},rae=f.memo(nae),oae=e=>{const{currentData:t}=os(e.imageName);return i.jsx(yi,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},sae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=os(((p=n.value)==null?void 0:p.image_name)??oo.skipToken),s=f.useCallback(()=>{r(Ts({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(yi,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},aae=f.memo(sae),iae=e=>i.jsx(RH,{}),t_=f.memo(iae),lae=e=>null,cae=f.memo(lae),uae=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=b7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},dae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=U_(),a=f.useMemo(()=>{if(!s)return[];const p=[];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=uae(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(tt,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(sr,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&vr[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},fae=f.memo(dae),pae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=be(),s=ar("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(W1),d=f.useMemo(()=>{if(!a)return[];const b=[];return jo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:vr[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=Jm(b);w&&r(Ts({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(sr,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&vr[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},hae=f.memo(pae),mae=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(Kh)||r(Ts({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(Kh)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(dm,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(pm,{}),i.jsxs(fm,{children:[i.jsx(mm,{}),i.jsx(hm,{})]})]})},gae=f.memo(mae),vae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s.target.value}))};return i.jsx(yd,{onChange:o,value:n.value})},bae=f.memo(vae),yae=e=>null,xae=f.memo(yae),wae=e=>null,Sae=f.memo(wae),Cae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=F_(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=kO(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(sr,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&vr[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},kae=f.memo(Cae),_ae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=be(),s=ar("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(V1),d=f.useMemo(()=>{if(!a)return[];const b=[];return jo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:vr[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=Jm(b);w&&r(Ts({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(sr,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&vr[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Pae=f.memo(_ae),jae=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(bae,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(Mse,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(gae,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(tae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(aae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(cae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Yse,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(xae,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(Tse,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(Sae,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Xse,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(hae,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(Pae,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(kae,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(fae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Zse,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(Ose,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(t_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(qse,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(t_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(rae,{nodeId:t,field:n,template:r}):i.jsxs(Oe,{p:2,children:["Unknown field type: ",o]})},Iae=f.memo(jae);function Eae(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=HO();return i.jsx(Oe,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(ho,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(di,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(di,{children:i.jsx(wn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:Z_,children:i.jsx(zo,{children:r==null?void 0:r.title})})}),i.jsx(Iae,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(WO,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(di,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(zo,{children:["Unknown input: ",n.name]})})})})}const Oae=e=>{const{nodeId:t,template:n,inputs:r}=e,o=L(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=L(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(Mae,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},Tae=f.memo(Dae),Aae=e=>{const{...t}=e;return i.jsx(IT,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:t3,...t})},I1=f.memo(Aae),E1=e=>{const[t,n]=Dc("shadows",["nodeSelectedOutline","dark-lg"]),r=L(o=>o.hotkeys.shift);return i.jsx(Oe,{className:r?Uy:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:t3,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},KO=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>xse(o),[o]),d=L(c);return d?i.jsxs(E1,{selected:r,children:[i.jsx(FO,{nodeId:t,title:d.title,description:d.description}),i.jsxs(W,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(Tae,{nodeId:t,outputs:a,template:d}),i.jsx(Rae,{nodeId:t,inputs:s,template:d})]}),i.jsx(I1,{})]}):i.jsx(E1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(Kr,{as:h6,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(I1,{})]})})});KO.displayName="InvocationComponent";const Nae=e=>{const t=sw(a=>a.system.progressImage),n=sw(a=>a.nodes.progressNodeSize),r=y7(),{selected:o}=e,s=(a,c)=>{r(x7(c))};return i.jsxs(E1,{selected:o,children:[i.jsx(FO,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(W,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Tc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(W,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(mi,{})})}),i.jsx(I1,{onResize:s})]})},$ae=f.memo(Nae),zae=()=>{const{t:e}=be(),{zoomIn:t,zoomOut:n,fitView:r}=G1(),o=te(),s=L(w=>w.nodes.shouldShowGraphOverlay),a=L(w=>w.nodes.shouldShowFieldTypeLegend),c=L(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(w7(!s))},[s,o]),v=f.useCallback(()=>{o(S7(!a))},[a,o]),b=f.useCallback(()=>{o(C7(!c))},[c,o]);return i.jsxs(nr,{isAttached:!0,orientation:"vertical",children:[i.jsx(wn,{label:e("nodes.zoomInNodes"),children:i.jsx(Le,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(ml,{})})}),i.jsx(wn,{label:e("nodes.zoomOutNodes"),children:i.jsx(Le,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(oW,{})})}),i.jsx(wn,{label:e("nodes.fitViewportNodes"),children:i.jsx(Le,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(UH,{})})}),i.jsx(wn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(Le,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(Lb,{})})}),i.jsx(wn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(Le,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(ZH,{})})}),i.jsx(wn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(Le,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(nW,{})})})]})},Lae=f.memo(zae),Bae=()=>i.jsx(id,{position:"bottom-left",children:i.jsx(Lae,{})}),Fae=f.memo(Bae),Hae=()=>{const e=vp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=L(o=>o.nodes.shouldShowMinimapPanel),n=vp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=vp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(bT,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Wae=f.memo(Hae),Vae=()=>{const{t:e}=be(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=L(d=>d.nodes.nodes),c=f.useCallback(()=>{t(k7()),t(Dn(Bn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(Le,{icon:i.jsx(us,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Pd,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Ma,{}),i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Da,{children:i.jsx(tt,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Oa,{children:[i.jsx(gc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(gc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Uae=f.memo(Vae);function Gae(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Ln.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Ln.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Ln.t("toast.nodesLoaded")}}const qae=()=>{const{t:e}=be(),t=te(),{fitView:n}=G1(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Gae(p);h?(t(_7(p.nodes)),t(P7(p.edges)),n(),t(Dn(Bn({title:m,status:"success"})))):t(Dn(Bn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(Dn(Bn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(hE,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(Le,{icon:i.jsx(Md,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Kae=f.memo(qae);function Yae(e){const{iconButton:t=!1,...n}=e,r=te(),o=L(Kn),s=Bd(),a=f.useCallback(()=>{r(dd("nodes"))},[r]),{t:c}=be();return nt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Oe,{style:{flexGrow:4},position:"relative",children:i.jsxs(Oe,{style:{position:"relative"},children:[!s&&i.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(xO,{})}),t?i.jsx(Le,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(y6,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(rn,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function Qae(){const{t:e}=be(),t=te(),n=f.useCallback(()=>{t(j7())},[t]);return i.jsx(Le,{icon:i.jsx(uW,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Xae=()=>{const{t:e}=be(),t=L(o=>o.nodes.editorInstance),n=L(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>I7(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(Le,{icon:i.jsx(_m,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},Jae=f.memo(Xae),Zae=()=>i.jsx(id,{position:"top-center",children:i.jsxs(di,{children:[i.jsx(Yae,{}),i.jsx(Xm,{}),i.jsx(Qae,{}),i.jsx(Jae,{}),i.jsx(Kae,{}),i.jsx(Uae,{})]})}),eie=f.memo(Zae),tie=fe([Ye],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Ge),nie=()=>{const e=te(),{data:t}=L(tie),n=Cse(),r=Bc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(E7(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(sr,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:YO,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},YO=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(tt,{fontWeight:600,children:e}),i.jsx(tt,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));YO.displayName="SelectItem";const rie=()=>i.jsx(id,{position:"top-left",children:i.jsx(nie,{})}),oie=f.memo(rie),sie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(e3,({title:e,description:t,color:n},r)=>i.jsx(wn,{label:t,children:i.jsx(pl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),aie=f.memo(sie),iie=()=>{const e=L(n=>n),t=O7(e);return i.jsx(Oe,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},lie=f.memo(iie),cie=()=>{const e=L(n=>n.nodes.shouldShowGraphOverlay),t=L(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(id,{position:"top-right",children:[t&&i.jsx(aie,{}),e&&i.jsx(lie,{})]})},uie=f.memo(cie),die={invocation:KO,progress_image:$ae},fie=()=>{const e=te(),t=L(p=>p.nodes.nodes),n=L(p=>p.nodes.edges),r=f.useCallback(p=>{e(R7(p))},[e]),o=f.useCallback(p=>{e(M7(p))},[e]),s=f.useCallback((p,h)=>{e(D7(h))},[e]),a=f.useCallback(p=>{e(T7(p))},[e]),c=f.useCallback(()=>{e(A7())},[e]),d=f.useCallback(p=>{e(N7(p)),p&&p.fitView()},[e]);return i.jsxs($7,{nodeTypes:die,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(oie,{}),i.jsx(eie,{}),i.jsx(uie,{}),i.jsx(Fae,{}),i.jsx(kT,{}),i.jsx(Wae,{})]})},pie=()=>i.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(z7,{children:i.jsx(fie,{})})}),hie=f.memo(pie),mie=()=>i.jsx(hie,{}),gie=f.memo(mie),vie=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),bie=()=>{const{shouldUseSliders:e,activeLabel:t}=L(vie);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(W,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]})})})},QO=f.memo(bie),yie=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(SO,{}),i.jsx(Ld,{}),i.jsx(wO,{}),i.jsx(Hd,{}),i.jsx(QO,{}),i.jsx(CO,{}),i.jsx(zd,{}),i.jsx(Qm,{})]}),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(QO,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Qm,{}),i.jsx(Wy,{}),i.jsx(MO,{}),i.jsx(Fy,{})]}),xie=()=>{const e=L(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:e&&e.base_model==="sdxl"?i.jsx(yie,{}):i.jsx(XO,{})}),i.jsx(OO,{})]})},wie=f.memo(xie);var O1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=aw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=aw;e.exports=r.Konva})(O1,O1.exports);var Sie=O1.exports;const ad=cd(Sie);var JO={exports:{}};/** + * @license React + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Cie=function(t){var n={},r=f,o=bp,s=Object.assign;function a(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,g=1;gJ||C[N]!==j[J]){var de=` +`+C[N].replace(" at new "," at ");return l.displayName&&de.includes("")&&(de=de.replace("",l.displayName)),de}while(1<=N&&0<=J);break}}}finally{Gt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var Jt=Object.prototype.hasOwnProperty,Vt=[],$e=-1;function yt(l){return{current:l}}function Mt(l){0>$e||(l.current=Vt[$e],Vt[$e]=null,$e--)}function Ht(l,u){$e++,Vt[$e]=l.current,l.current=u}var jn={},Ut=yt(jn),un=yt(!1),sn=jn;function Ir(l,u){var g=l.type.contextTypes;if(!g)return jn;var x=l.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===u)return x.__reactInternalMemoizedMaskedChildContext;var C={},j;for(j in g)C[j]=u[j];return x&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=C),C}function Xn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Ut)}function In(l,u,g){if(Ut.current!==jn)throw Error(a(168));Ht(Ut,u),Ht(un,g)}function On(l,u,g){var x=l.stateNode;if(u=u.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var C in x)if(!(C in u))throw Error(a(108,M(l)||"Unknown",C));return s({},g,x)}function Jn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Ut.current,Ht(Ut,l),Ht(un,un.current),!0}function hr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=On(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Ut),Ht(Ut,l)):Mt(un),Ht(un,g)}var Tn=Math.clz32?Math.clz32:Sn,An=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(An(l)/dn|0)|0}var En=64,vn=4194304;function bn(l){switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function Ke(l,u){var g=l.pendingLanes;if(g===0)return 0;var x=0,C=l.suspendedLanes,j=l.pingedLanes,N=g&268435455;if(N!==0){var J=N&~C;J!==0?x=bn(J):(j&=N,j!==0&&(x=bn(j)))}else N=g&~C,N!==0?x=bn(N):j!==0&&(x=bn(j));if(x===0)return 0;if(u!==0&&u!==x&&!(u&C)&&(C=x&-x,j=u&-u,C>=j||C===16&&(j&4194240)!==0))return u;if(x&4&&(x|=g&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=x;0g;g++)u.push(l);return u}function mt(l,u,g){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-Tn(u),l[u]=g}function ot(l,u){var g=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var x=l.eventTimes;for(l=l.expirationTimes;0>=N,C-=N,Do=1<<32-Tn(u)+C|g<Cn?(Lr=Qt,Qt=null):Lr=Qt.sibling;var kn=it(ue,Qt,ve[Cn],lt);if(kn===null){Qt===null&&(Qt=Lr);break}l&&Qt&&kn.alternate===null&&u(ue,Qt),ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn,Qt=Lr}if(Cn===ve.length)return g(ue,Qt),Zn&&Ti(ue,Cn),Tt;if(Qt===null){for(;CnCn?(Lr=Qt,Qt=null):Lr=Qt.sibling;var Ja=it(ue,Qt,kn.value,lt);if(Ja===null){Qt===null&&(Qt=Lr);break}l&&Qt&&Ja.alternate===null&&u(ue,Qt),ne=j(Ja,ne,Cn),nn===null?Tt=Ja:nn.sibling=Ja,nn=Ja,Qt=Lr}if(kn.done)return g(ue,Qt),Zn&&Ti(ue,Cn),Tt;if(Qt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Yt(ue,kn.value,lt),kn!==null&&(ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn);return Zn&&Ti(ue,Cn),Tt}for(Qt=x(ue,Qt);!kn.done;Cn++,kn=ve.next())kn=Qn(Qt,ue,Cn,kn.value,lt),kn!==null&&(l&&kn.alternate!==null&&Qt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn);return l&&Qt.forEach(function(q8){return u(ue,q8)}),Zn&&Ti(ue,Cn),Tt}function ga(ue,ne,ve,lt){if(typeof ve=="object"&&ve!==null&&ve.type===h&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case d:e:{for(var Tt=ve.key,nn=ne;nn!==null;){if(nn.key===Tt){if(Tt=ve.type,Tt===h){if(nn.tag===7){g(ue,nn.sibling),ne=C(nn,ve.props.children),ne.return=ue,ue=ne;break e}}else if(nn.elementType===Tt||typeof Tt=="object"&&Tt!==null&&Tt.$$typeof===I&&dx(Tt)===nn.type){g(ue,nn.sibling),ne=C(nn,ve.props),ne.ref=Yc(ue,nn,ve),ne.return=ue,ue=ne;break e}g(ue,nn);break}else u(ue,nn);nn=nn.sibling}ve.type===h?(ne=Fi(ve.props.children,ue.mode,lt,ve.key),ne.return=ue,ue=ne):(lt=_f(ve.type,ve.key,ve.props,null,ue.mode,lt),lt.ref=Yc(ue,ne,ve),lt.return=ue,ue=lt)}return N(ue);case p:e:{for(nn=ve.key;ne!==null;){if(ne.key===nn)if(ne.tag===4&&ne.stateNode.containerInfo===ve.containerInfo&&ne.stateNode.implementation===ve.implementation){g(ue,ne.sibling),ne=C(ne,ve.children||[]),ne.return=ue,ue=ne;break e}else{g(ue,ne);break}else u(ue,ne);ne=ne.sibling}ne=s0(ve,ue.mode,lt),ne.return=ue,ue=ne}return N(ue);case I:return nn=ve._init,ga(ue,ne,nn(ve._payload),lt)}if(q(ve))return $n(ue,ne,ve,lt);if(O(ve))return yo(ue,ne,ve,lt);Jd(ue,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ne!==null&&ne.tag===6?(g(ue,ne.sibling),ne=C(ne,ve),ne.return=ue,ue=ne):(g(ue,ne),ne=o0(ve,ue.mode,lt),ne.return=ue,ue=ne),N(ue)):g(ue,ne)}return ga}var kl=fx(!0),px=fx(!1),Qc={},Uo=yt(Qc),Xc=yt(Qc),_l=yt(Qc);function Fs(l){if(l===Qc)throw Error(a(174));return l}function bg(l,u){Ht(_l,u),Ht(Xc,l),Ht(Uo,Qc),l=D(u),Mt(Uo),Ht(Uo,l)}function Pl(){Mt(Uo),Mt(Xc),Mt(_l)}function hx(l){var u=Fs(_l.current),g=Fs(Uo.current);u=z(g,l.type,u),g!==u&&(Ht(Xc,l),Ht(Uo,u))}function yg(l){Xc.current===l&&(Mt(Uo),Mt(Xc))}var cr=yt(0);function Zd(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||Nr(g)||$s(g)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var xg=[];function wg(){for(var l=0;lg?g:4,l(!0);var x=Sg.transition;Sg.transition={};try{l(!1),u()}finally{je=g,Sg.transition=x}}function Mx(){return Go().memoizedState}function x8(l,u,g){var x=Ya(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Dx(l))Tx(u,g);else if(g=rx(l,u,g,x),g!==null){var C=to();qo(g,l,x,C),Ax(g,u,x)}}function w8(l,u,g){var x=Ya(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Dx(l))Tx(u,C);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=u.lastRenderedReducer,j!==null))try{var N=u.lastRenderedState,J=j(N,g);if(C.hasEagerState=!0,C.eagerState=J,fn(J,N)){var de=u.interleaved;de===null?(C.next=C,hg(u)):(C.next=de.next,de.next=C),u.interleaved=C;return}}catch{}finally{}g=rx(l,u,C,x),g!==null&&(C=to(),qo(g,l,x,C),Ax(g,u,x))}}function Dx(l){var u=l.alternate;return l===ur||u!==null&&u===ur}function Tx(l,u){Jc=tf=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Ax(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Ee(l,g)}}var of={readContext:Vo,useCallback:Jr,useContext:Jr,useEffect:Jr,useImperativeHandle:Jr,useInsertionEffect:Jr,useLayoutEffect:Jr,useMemo:Jr,useReducer:Jr,useRef:Jr,useState:Jr,useDebugValue:Jr,useDeferredValue:Jr,useTransition:Jr,useMutableSource:Jr,useSyncExternalStore:Jr,useId:Jr,unstable_isNewReconciler:!1},S8={readContext:Vo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Vo,useEffect:kx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,nf(4194308,4,jx.bind(null,u,l),g)},useLayoutEffect:function(l,u){return nf(4194308,4,l,u)},useInsertionEffect:function(l,u){return nf(4,2,l,u)},useMemo:function(l,u){var g=Hs();return u=u===void 0?null:u,l=l(),g.memoizedState=[l,u],l},useReducer:function(l,u,g){var x=Hs();return u=g!==void 0?g(u):u,x.memoizedState=x.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},x.queue=l,l=l.dispatch=x8.bind(null,ur,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Sx,useDebugValue:Eg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Sx(!1),u=l[0];return l=y8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=ur,C=Hs();if(Zn){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),zr===null)throw Error(a(349));Ni&30||vx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,kx(yx.bind(null,x,j,l),[l]),x.flags|=2048,tu(9,bx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(Zn){var g=Xr,x=Do;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=Zc++,0Qg&&(u.flags|=128,x=!0,ou(C,!1),u.lanes=4194304)}else{if(!x)if(l=Zd(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),ou(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!Zn)return Zr(u),null}else 2*Ve()-C.renderingStartTime>Qg&&g!==1073741824&&(u.flags|=128,x=!0,ou(C,!1),u.lanes=4194304);C.isBackwards?(j.sibling=u.child,u.child=j):(l=C.last,l!==null?l.sibling=j:u.child=j,C.last=j)}return C.tail!==null?(u=C.tail,C.rendering=u,C.tail=u.sibling,C.renderingStartTime=Ve(),u.sibling=null,l=cr.current,Ht(cr,x?l&1|2:l&1),u):(Zr(u),null);case 22:case 23:return t0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?Ao&1073741824&&(Zr(u),ce&&u.subtreeFlags&6&&(u.flags|=8192)):Zr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function O8(l,u){switch(ag(u),u.tag){case 1:return Xn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return Pl(),Mt(un),Mt(Ut),wg(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return yg(u),null;case 13:if(Mt(cr),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));wl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(cr),null;case 4:return Pl(),null;case 10:return fg(u.type._context),null;case 22:case 23:return t0(),null;case 24:return null;default:return null}}var uf=!1,eo=!1,R8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Il(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){er(l,u,x)}else g.current=null}function zg(l,u,g){try{g()}catch(x){er(l,u,x)}}var e2=!1;function M8(l,u){for(H(l.containerInfo),pt=u;pt!==null;)if(l=pt,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,pt=u;else for(;pt!==null;){l=pt;try{var g=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,C=g.memoizedState,j=l.stateNode,N=j.getSnapshotBeforeUpdate(l.elementType===l.type?x:ms(l.type,x),C);j.__reactInternalSnapshotBeforeUpdate=N}break;case 3:ce&&ln(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(J){er(l,l.return,J)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=e2,e2=!1,g}function su(l,u,g){var x=u.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var C=x=x.next;do{if((C.tag&l)===l){var j=C.destroy;C.destroy=void 0,j!==void 0&&zg(u,g,j)}C=C.next}while(C!==x)}}function df(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&l)===l){var x=g.create;g.destroy=x()}g=g.next}while(g!==u)}}function Lg(l){var u=l.ref;if(u!==null){var g=l.stateNode;switch(l.tag){case 5:l=G(g);break;default:l=g}typeof u=="function"?u(l):u.current=l}}function t2(l){var u=l.alternate;u!==null&&(l.alternate=null,t2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ae(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function n2(l){return l.tag===5||l.tag===3||l.tag===4}function r2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||n2(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Bg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Pn(g,l,u):ht(g,l);else if(x!==4&&(l=l.child,l!==null))for(Bg(l,u,g),l=l.sibling;l!==null;)Bg(l,u,g),l=l.sibling}function Fg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?qe(g,l,u):xe(g,l);else if(x!==4&&(l=l.child,l!==null))for(Fg(l,u,g),l=l.sibling;l!==null;)Fg(l,u,g),l=l.sibling}var Ur=null,gs=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Hg(l,u,g),g=g.sibling}function Hg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Yn,g)}catch{}switch(g.tag){case 5:eo||Il(g,u);case 6:if(ce){var x=Ur,C=gs;Ur=null,Vs(l,u,g),Ur=x,gs=C,Ur!==null&&(gs?Je(Ur,g.stateNode):Pe(Ur,g.stateNode))}else Vs(l,u,g);break;case 18:ce&&Ur!==null&&(gs?Be(Ur,g.stateNode):xt(Ur,g.stateNode));break;case 4:ce?(x=Ur,C=gs,Ur=g.stateNode.containerInfo,gs=!0,Vs(l,u,g),Ur=x,gs=C):(ge&&(x=g.stateNode.containerInfo,C=br(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!eo&&(x=g.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){C=x=x.next;do{var j=C,N=j.destroy;j=j.tag,N!==void 0&&(j&2||j&4)&&zg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!eo&&(Il(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(J){er(g,u,J)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(eo=(x=eo)||g.memoizedState!==null,Vs(l,u,g),eo=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function o2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new R8),u.forEach(function(x){var C=F8.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function vs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case pf:return":has("+(Ug(l)||"")+")";case hf:return'[role="'+l.value+'"]';case gf:return'"'+l.value+'"';case mf:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function u2(l,u){var g=[];l=[l,0];for(var x=0;xC&&(C=N),x&=~j}if(x=C,x=Ve()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*T8(x/1960))-x,10l?16:l,Ka===null)var x=!1;else{if(l=Ka,Ka=null,wf=0,an&6)throw Error(a(331));var C=an;for(an|=4,pt=l.current;pt!==null;){var j=pt,N=j.child;if(pt.flags&16){var J=j.deletions;if(J!==null){for(var de=0;deVe()-Yg?zi(l,0):Kg|=g),bo(l,u)}function y2(l,u){u===0&&(l.mode&1?(u=vn,vn<<=1,!(vn&130023424)&&(vn=4194304)):u=1);var g=to();l=Bs(l,u),l!==null&&(mt(l,u,g),bo(l,g))}function B8(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),y2(l,g)}function F8(l,u){var g=0;switch(l.tag){case 13:var x=l.stateNode,C=l.memoizedState;C!==null&&(g=C.retryLane);break;case 19:x=l.stateNode;break;default:throw Error(a(314))}x!==null&&x.delete(u),y2(l,g)}var x2;x2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)go=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return go=!1,I8(l,u,g);go=!!(l.flags&131072)}else go=!1,Zn&&u.flags&1048576&&Xy(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;af(l,u),l=u.pendingProps;var C=Ir(u,Ut.current);Cl(u,g),C=kg(null,u,x,l,C,g);var j=_g();return u.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Xn(x)?(j=!0,Jn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,mg(u),C.updater=Xd,u.stateNode=C,C._reactInternals=u,vg(u,x,l,g),u=Dg(null,u,x,!0,j,g)):(u.tag=0,Zn&&j&&sg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(af(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=W8(x),l=ms(x,l),C){case 0:u=Mg(null,u,x,l,g);break e;case 1:u=Gx(null,u,x,l,g);break e;case 11:u=Fx(null,u,x,l,g);break e;case 14:u=Hx(null,u,x,ms(x.type,l),g);break e}throw Error(a(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Mg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Gx(l,u,x,C,g);case 3:e:{if(qx(u),l===null)throw Error(a(387));x=u.pendingProps,j=u.memoizedState,C=j.element,ox(l,u),Qd(u,x,null,g);var N=u.memoizedState;if(x=N.element,_e&&j.isDehydrated)if(j={element:x,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},u.updateQueue.baseState=j,u.memoizedState=j,u.flags&256){C=jl(Error(a(423)),u),u=Kx(l,u,x,g,C);break e}else if(x!==C){C=jl(Error(a(424)),u),u=Kx(l,u,x,g,C);break e}else for(_e&&(Wo=ee(u.stateNode.containerInfo),To=u,Zn=!0,hs=null,Kc=!1),g=px(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(wl(),x===C){u=ha(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return hx(u),l===null&&lg(u),x=u.type,C=u.pendingProps,j=l!==null?l.memoizedProps:null,N=C.children,K(x,C)?N=null:j!==null&&K(x,j)&&(u.flags|=32),Ux(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&lg(u),null;case 13:return Yx(l,u,g);case 4:return bg(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=kl(u,null,x,g):uo(l,u,x,g),u.child;case 11:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Fx(l,u,x,C,g);case 7:return uo(l,u,u.pendingProps,g),u.child;case 8:return uo(l,u,u.pendingProps.children,g),u.child;case 12:return uo(l,u,u.pendingProps.children,g),u.child;case 10:e:{if(x=u.type._context,C=u.pendingProps,j=u.memoizedProps,N=C.value,nx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=ha(l,u,g);break e}}else for(j=u.child,j!==null&&(j.return=u);j!==null;){var J=j.dependencies;if(J!==null){N=j.child;for(var de=J.firstContext;de!==null;){if(de.context===x){if(j.tag===1){de=pa(-1,g&-g),de.tag=2;var De=j.updateQueue;if(De!==null){De=De.shared;var gt=De.pending;gt===null?de.next=de:(de.next=gt.next,gt.next=de),De.pending=de}}j.lanes|=g,de=j.alternate,de!==null&&(de.lanes|=g),pg(j.return,g,u),J.lanes|=g;break}de=de.next}}else if(j.tag===10)N=j.type===u.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(a(341));N.lanes|=g,J=N.alternate,J!==null&&(J.lanes|=g),pg(N,g,u),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===u){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}uo(l,u,C.children,g),u=u.child}return u;case 9:return C=u.type,x=u.pendingProps.children,Cl(u,g),C=Vo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=ms(x,u.pendingProps),C=ms(x.type,C),Hx(l,u,x,C,g);case 15:return Wx(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),af(l,u),u.tag=1,Xn(x)?(l=!0,Jn(u)):l=!1,Cl(u,g),cx(u,x,C),vg(u,x,C,g),Dg(null,u,x,!0,l,g);case 19:return Xx(l,u,g);case 22:return Vx(l,u,g)}throw Error(a(156,u.tag))};function w2(l,u){return We(l,u)}function H8(l,u,g,x){this.tag=l,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ko(l,u,g,x){return new H8(l,u,g,x)}function r0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function W8(l){if(typeof l=="function")return r0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function Xa(l,u){var g=l.alternate;return g===null?(g=Ko(l.tag,u,l.key,l.mode),g.elementType=l.elementType,g.type=l.type,g.stateNode=l.stateNode,g.alternate=l,l.alternate=g):(g.pendingProps=u,g.type=l.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=l.flags&14680064,g.childLanes=l.childLanes,g.lanes=l.lanes,g.child=l.child,g.memoizedProps=l.memoizedProps,g.memoizedState=l.memoizedState,g.updateQueue=l.updateQueue,u=l.dependencies,g.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},g.sibling=l.sibling,g.index=l.index,g.ref=l.ref,g}function _f(l,u,g,x,C,j){var N=2;if(x=l,typeof l=="function")r0(l)&&(N=1);else if(typeof l=="string")N=5;else e:switch(l){case h:return Fi(g.children,C,j,u);case m:N=8,C|=8;break;case v:return l=Ko(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Ko(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Ko(19,g,u,C),l.elementType=k,l.lanes=j,l;case P:return Pf(g,C,j,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:N=10;break e;case w:N=9;break e;case y:N=11;break e;case _:N=14;break e;case I:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Ko(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Ko(7,l,x,u),l.lanes=g,l}function Pf(l,u,g,x){return l=Ko(22,l,x,u),l.elementType=P,l.lanes=g,l.stateNode={isHidden:!1},l}function o0(l,u,g){return l=Ko(6,l,null,u),l.lanes=g,l}function s0(l,u,g){return u=Ko(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function V8(l,u,g,x,C){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=oe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=x,this.onRecoverableError=C,_e&&(this.mutableSourceEagerHydrationData=null)}function S2(l,u,g,x,C,j,N,J,de){return l=new V8(l,u,g,J,de),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Ko(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},mg(j),l}function C2(l){if(!l)return jn;l=l._reactInternals;e:{if(T(l)!==l||l.tag!==1)throw Error(a(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Xn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(a(171))}if(l.tag===1){var g=l.type;if(Xn(g))return On(l,g,u)}return u}function k2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(a(188)):(l=Object.keys(l).join(","),Error(a(268,l)));return l=Q(u),l===null?null:l.stateNode}function _2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=De&&j>=Yt&&C<=gt&&N<=it){l.splice(u,1);break}else if(x!==De||g.width!==de.width||itN){if(!(j!==Yt||g.height!==de.height||gtC)){De>x&&(de.width+=De-x,de.x=x),gtj&&(de.height+=Yt-j,de.y=j),itg&&(g=N)),N ")+` + +No matching component was found for: + `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return G(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:U8,findFiberByHostInstance:l.findFiberByHostInstance||G8,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Yn=u.inject(l),gn=u}catch{}l=!!u.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,u,g,x){if(!ct)throw Error(a(363));l=Gg(l,u);var C=At(l,g,x).disconnect;return{disconnect:function(){C()}}},n.registerMutableSourceForHydration=function(l,u){var g=u._getVersion;g=g(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,g]:l.mutableSourceEagerHydrationData.push(u,g)},n.runWithPriority=function(l,u){var g=je;try{return je=l,u()}finally{je=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=to(),N=Ya(C);return g=C2(g),u.context===null?u.context=g:u.pendingContext=g,u=pa(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=Ga(C,u,N),l!==null&&(qo(l,C,N,j),Yd(l,C,N)),N},n};JO.exports=Cie;var kie=JO.exports;const _ie=cd(kie);var ZO={exports:{}},xl={};/** + * @license React + * react-reconciler-constants.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */xl.ConcurrentRoot=1;xl.ContinuousEventPriority=4;xl.DefaultEventPriority=16;xl.DiscreteEventPriority=1;xl.IdleEventPriority=536870912;xl.LegacyRoot=0;ZO.exports=xl;var e8=ZO.exports;const n_={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let r_=!1,o_=!1;const Ky=".react-konva-event",Pie=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. +Position of a node will be changed during drag&drop, so you should update state of the react app as well. +Consider to add onDragMove or onDragEnd events. +For more info see: https://github.com/konvajs/react-konva/issues/256 +`,jie=`ReactKonva: You are using "zIndex" attribute for a Konva node. +react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. +For more info see: https://github.com/konvajs/react-konva/issues/194 +`,Iie={};function og(e,t,n=Iie){if(!r_&&"zIndex"in t&&(console.warn(jie),r_=!0),!o_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(Pie),o_=!0)}for(var s in n)if(!n_[s]){var a=s.slice(0,2)==="on",c=n[s]!==t[s];if(a&&c){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,m={},v=!1;const b={};for(var s in t)if(!n_[s]){var a=s.slice(0,2)==="on",w=n[s]!==t[s];if(a&&w){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!a&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,m[s]=t[s])}v&&(e.setAttrs(m),Di(e));for(var d in b)e.on(d+Ky,b[d])}function Di(e){if(!L7.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const t8={},Eie={};ad.Node.prototype._applyProps=og;function Oie(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),Di(e)}function Rie(e,t,n){let r=ad[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=ad.Group);const o={},s={};for(var a in t){var c=a.slice(0,2)==="on";c?s[a]=t[a]:o[a]=t[a]}const d=new r(o);return og(d,s),d}function Mie(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function Die(e,t,n){return!1}function Tie(e){return e}function Aie(){return null}function Nie(){return null}function $ie(e,t,n,r){return Eie}function zie(){}function Lie(e){}function Bie(e,t){return!1}function Fie(){return t8}function Hie(){return t8}const Wie=setTimeout,Vie=clearTimeout,Uie=-1;function Gie(e,t){return!1}const qie=!1,Kie=!0,Yie=!0;function Qie(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function Xie(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function n8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function Jie(e,t,n){n8(e,t,n)}function Zie(e,t){t.destroy(),t.off(Ky),Di(e)}function ele(e,t){t.destroy(),t.off(Ky),Di(e)}function tle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function nle(e,t,n){}function rle(e,t,n,r,o){og(e,o,r)}function ole(e){e.hide(),Di(e)}function sle(e){}function ale(e,t){(t.visible==null||t.visible)&&e.show()}function ile(e,t){}function lle(e){}function cle(){}const ule=()=>e8.DefaultEventPriority,dle=Object.freeze(Object.defineProperty({__proto__:null,appendChild:Qie,appendChildToContainer:Xie,appendInitialChild:Oie,cancelTimeout:Vie,clearContainer:lle,commitMount:nle,commitTextUpdate:tle,commitUpdate:rle,createInstance:Rie,createTextInstance:Mie,detachDeletedInstance:cle,finalizeInitialChildren:Die,getChildHostContext:Hie,getCurrentEventPriority:ule,getPublicInstance:Tie,getRootHostContext:Fie,hideInstance:ole,hideTextInstance:sle,idlePriority:bp.unstable_IdlePriority,insertBefore:n8,insertInContainerBefore:Jie,isPrimaryRenderer:qie,noTimeout:Uie,now:bp.unstable_now,prepareForCommit:Aie,preparePortalMount:Nie,prepareUpdate:$ie,removeChild:Zie,removeChildFromContainer:ele,resetAfterCommit:zie,resetTextContent:Lie,run:bp.unstable_runWithPriority,scheduleTimeout:Wie,shouldDeprioritizeSubtree:Bie,shouldSetTextContent:Gie,supportsMutation:Yie,unhideInstance:ale,unhideTextInstance:ile,warnsIfNotActing:Kie},Symbol.toStringTag,{value:"Module"}));var fle=Object.defineProperty,ple=Object.defineProperties,hle=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,mle=Object.prototype.hasOwnProperty,gle=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?fle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i_=(e,t)=>{for(var n in t||(t={}))mle.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))gle.call(t,n)&&a_(e,n,t[n]);return e},vle=(e,t)=>ple(e,hle(t));function r8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=r8(r,t,n);if(o)return o;r=t?null:r.sibling}}function o8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const Yy=o8(f.createContext(null));class s8 extends f.Component{render(){return f.createElement(Yy.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:l_,ReactCurrentDispatcher:c_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function ble(){const e=f.useContext(Yy);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[l_==null?void 0:l_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=r8(r,!1,s=>{let a=s.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(o)return o}},[e,t])}function yle(){var e,t;const n=ble(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==Yy&&!r.has(s)&&r.set(s,(t=c_==null?void 0:c_.current)==null?void 0:t.readContext(o8(s))),o=o.return}return r}function xle(){const e=yle();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,vle(i_({},r),{value:e.get(n)}))),t=>f.createElement(s8,i_({},t))),[e])}function wle(e){const t=F.useRef({});return F.useLayoutEffect(()=>{t.current=e}),F.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const Sle=e=>{const t=F.useRef(),n=F.useRef(),r=F.useRef(),o=wle(e),s=xle(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return F.useLayoutEffect(()=>(n.current=new ad.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=Ou.createContainer(n.current,e8.LegacyRoot,!1,null),Ou.updateContainer(F.createElement(s,{},e.children),r.current),()=>{ad.isBrowser&&(a(null),Ou.updateContainer(null,r.current,null),n.current.destroy())}),[]),F.useLayoutEffect(()=>{a(n.current),og(n.current,e,o),Ou.updateContainer(F.createElement(s,{},e.children),r.current,null)}),F.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},yu="Layer",Na="Group",aa="Rect",Hi="Circle",Yh="Line",a8="Image",Cle="Transformer",Ou=_ie(dle);Ou.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:F.version,rendererPackageName:"react-konva"});const kle=F.forwardRef((e,t)=>F.createElement(s8,{},F.createElement(Sle,{...e,forwardedRef:t}))),_le=fe([mn,ir],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ple=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=L(_le);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Ap(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(n3(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Ap(!1))},[e,r,n,t])}},jle=fe([mn,Kn,ir],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ile=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=L(jle),c=f.useRef(null),d=r3(),p=()=>e(q1());nt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(pd(!s));nt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),nt(["n"],()=>{e(Wu(!a))},{enabled:!0,preventDefault:!0},[a]),nt("esc",()=>{e(B7())},{enabled:()=>!0,preventDefault:!0}),nt("shift+h",()=>{e(F7(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),nt(["space"],m=>{m.repeat||(d==null||d.container().focus(),r!=="move"&&(c.current=r,e(ea("move"))),r==="move"&&c.current&&c.current!=="move"&&(e(ea(c.current)),c.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,c])},Qy=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},i8=()=>{const e=te(),t=Ia(),n=r3();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=H7.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;e(W7({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(V7())}}},Ele=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ole=e=>{const t=te(),{tool:n,isStaging:r}=L(Ele),{commitColorUnderCursor:o}=i8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Ap(!0));return}if(n==="colorPicker"){o();return}const a=Qy(e.current);a&&(s.evt.preventDefault(),t(o3(!0)),t(U7([a.x,a.y])))},[e,n,r,t,o])},Rle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Mle=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=L(Rle),{updateColorUnderCursor:c}=i8();return f.useCallback(()=>{if(!e.current)return;const d=Qy(e.current);if(d){if(r(G7(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(s3([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},Dle=()=>{const e=te();return f.useCallback(()=>{e(q7())},[e])},Tle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ale=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=L(Tle);return f.useCallback(()=>{if(r==="move"||s){n(Ap(!1));return}if(!t.current&&o&&e.current){const a=Qy(e.current);if(!a)return;n(s3([a.x,a.y]))}else t.current=!1;n(o3(!1))},[t,n,o,s,e,r])},Nle=fe([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),$le=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=L(Nle);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const a={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*Q7**c,Y7,K7),p={x:s.x-a.x*d,y:s.y-a.y*d};t(X7(d)),t(n3(p))},[e,n,r,t])},zle=fe(mn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Xt}}),Lle=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=L(zle);return i.jsxs(Na,{children:[i.jsx(aa,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),i.jsx(aa,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},Ble=fe([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Fle=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=L(Ble),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=Dc("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:m,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(m),y:d(v)}},w={x:Math.ceil(d(m)/64)*64,y:Math.ceil(d(v)/64)*64},y={x1:-w.x,y1:-w.y,x2:d(p)-w.x+64,y2:d(h)-w.y+64},k={x1:Math.min(b.x1,y.x1),y1:Math.min(b.y1,y.y1),x2:Math.max(b.x2,y.x2),y2:Math.max(b.y2,y.y2)},_=k.x2-k.x1,I=k.y2-k.y1,P=Math.round(_/64)+1,E=Math.round(I/64)+1,O=vw(0,P).map(M=>i.jsx(Yh,{x:k.x1+M*64,y:k.y1,points:[0,0,0,I],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=vw(0,E).map(M=>i.jsx(Yh,{x:k.x1,y:k.y1+M*64,points:[0,0,_,0],stroke:r==="dark"?a:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,a,c]),i.jsx(Na,{children:o})},Hle=fe([mo,mn],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Xt}}),Wle=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=L(Hle),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const a=new Image;a.onload=()=>{s(a)},a.src=n.dataURL},[n]),n&&r&&o?i.jsx(a8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},tl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},Vle=fe(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:tl(t)}}),u_=e=>`data:image/svg+xml;utf8, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`.replaceAll("black",e),Ule=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=L(Vle),[a,c]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),m=f.useCallback(()=>{p(d+1),setTimeout(m,500)},[d]);return f.useEffect(()=>{if(a)return;const v=new Image;v.onload=()=>{c(v)},v.src=u_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=u_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Ml(r.x)||!Ml(r.y)||!Ml(s)||!Ml(o.width)||!Ml(o.height)?null:i.jsx(aa,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:a,fillPatternOffsetY:Ml(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},Gle=fe([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Xt}}),qle=e=>{const{...t}=e,{objects:n}=L(Gle);return i.jsx(Na,{listening:!1,...t,children:n.filter(J7).map((r,o)=>i.jsx(Yh,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var Wi=f,Kle=function(t,n,r){const o=Wi.useRef("loading"),s=Wi.useRef(),[a,c]=Wi.useState(0),d=Wi.useRef(),p=Wi.useRef(),h=Wi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),Wi.useLayoutEffect(function(){if(!t)return;var m=document.createElement("img");function v(){o.current="loaded",s.current=m,c(Math.random())}function b(){o.current="failed",s.current=void 0,c(Math.random())}return m.addEventListener("load",v),m.addEventListener("error",b),n&&(m.crossOrigin=n),r&&(m.referrerPolicy=r),m.src=t,function(){m.removeEventListener("load",v),m.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const Yle=cd(Kle),l8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=os(s??oo.skipToken),[d]=Yle((a==null?void 0:a.image_url)??"",Z7.get()?"use-credentials":"anonymous");return c?i.jsx(aa,{x:r,y:o,width:t,height:n,fill:"red"}):i.jsx(a8,{x:r,y:o,image:d,listening:!1})},Qle=fe([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Xt}}),Xle=()=>{const{objects:e}=L(Qle);return e?i.jsx(Na,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(I_(t))return i.jsx(l8,{canvasImage:t},n);if(eD(t)){const r=i.jsx(Yh,{points:t.points,stroke:t.color?tl(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?i.jsx(Na,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(tD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:tl(t.color)},n);if(nD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},Jle=fe([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:a,height:c}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:a,height:c}},{memoizeOptions:{resultEqualityCheck:Xt}}),Zle=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=L(Jle);return i.jsxs(Na,{...t,children:[r&&n&&i.jsx(l8,{canvasImage:n}),o&&i.jsxs(Na,{children:[i.jsx(aa,{x:s,y:a,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),i.jsx(aa,{x:s,y:a,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},ece=fe([mn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),tce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=L(ece),{t:a}=be(),c=f.useCallback(()=>{e(iw(!0))},[e]),d=f.useCallback(()=>{e(iw(!1))},[e]);nt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),nt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),nt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(rD()),[e]),h=f.useCallback(()=>e(oD()),[e]),m=f.useCallback(()=>e(sD(s)),[e,s]),{data:v}=os((r==null?void 0:r.imageName)??oo.skipToken);return r?i.jsx(W,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:c,onMouseOut:d,children:i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(AH,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(NH,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(LH,{}),onClick:m,colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(KH,{}):i.jsx(qH,{}),onClick:()=>e(aD(!o)),colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(_m,{}),onClick:()=>{v&&e(iD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(lD()),colorScheme:"error",fontSize:20})]})}):null},nce=()=>{const e=L(c=>c.canvas.layerState),t=L(c=>c.canvas.boundingBoxCoordinates),n=L(c=>c.canvas.boundingBoxDimensions),r=L(c=>c.canvas.isMaskEnabled),o=L(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),eee(async()=>{const c=await cD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=uD(d,p);a(h)},1e3,[e,t,n,r,o]),s},rce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},oce=()=>{const e=nce();return i.jsxs(Oe,{children:["Mode: ",e?rce[e]:"..."]})},Jl=e=>Math.round(e*100)/100,sce=fe([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${Jl(n)}, ${Jl(r)})`}},{memoizeOptions:{resultEqualityCheck:Xt}});function ace(){const{cursorCoordinatesString:e}=L(sce),{t}=be();return i.jsx(Oe,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const R1="var(--invokeai-colors-warning-500)",ice=fe([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:a},scaledBoundingBoxDimensions:{width:c,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:m,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:w,shouldPreserveMaskedArea:y}=e;let S="inherit";return(w==="none"&&(s<512||a<512)||w==="manual"&&c*d<512*512)&&(S=R1),{activeLayerColor:b==="mask"?R1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${Jl(p)}, ${Jl(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${Jl(r)}×${Jl(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Xt}}),lce=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:a,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=L(ice),{t:b}=be();return i.jsxs(W,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(oce,{}),i.jsx(Oe,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Oe,{style:{color:R1},children:"Preserve Masked Area: On"}),m&&i.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Oe,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(ace,{})]})]})},cce=fe([Ye],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:a,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:a,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Xt}}),uce=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:a,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=L(cce),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var B;!b.current||!w.current||(b.current.nodes([w.current]),(B=b.current.getLayer())==null||B.batchDraw())},[]);const k=64*d;nt("N",()=>{n(Wu(!p))});const _=f.useCallback(B=>{if(!p){n(a0({x:Math.floor(B.target.x()),y:Math.floor(B.target.y())}));return}const V=B.target.x(),q=B.target.y(),G=Ss(V,64),D=Ss(q,64);B.target.x(G),B.target.y(D),n(a0({x:G,y:D}))},[n,p]),I=f.useCallback(()=>{if(!w.current)return;const B=w.current,V=B.scaleX(),q=B.scaleY(),G=Math.round(B.width()*V),D=Math.round(B.height()*q),z=Math.round(B.x()),H=Math.round(B.y());if(v){const Y=Ss(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:D}));n(a0({x:p?wu(z,64):z,y:p?wu(H,64):H})),B.scaleX(1),B.scaleY(1)},[n,p,v]),P=f.useCallback((B,V,q)=>{const G=B.x%k,D=B.y%k;return{x:wu(V.x,k)+G,y:wu(V.y,k)+D}},[k]),E=()=>{n(i0(!0))},O=()=>{n(i0(!1)),n(l0(!1)),n(Rf(!1)),S(!1)},R=()=>{n(l0(!0))},M=()=>{n(i0(!1)),n(l0(!1)),n(Rf(!1)),S(!1)},T=()=>{S(!0)},A=()=>{!c&&!a&&S(!1)},$=()=>{n(Rf(!0))},Q=()=>{n(Rf(!1))};return i.jsxs(Na,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:$,onMouseOver:$,onMouseLeave:Q,onMouseOut:Q}),i.jsx(aa,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:_,onMouseDown:R,onMouseOut:A,onMouseOver:T,onMouseEnter:T,onMouseUp:M,onTransform:I,onTransformEnd:O,ref:w,stroke:y?"rgba(255,255,255,0.7)":"white",strokeWidth:(y?8:1)/d,width:o.width,x:r.x,y:r.y}),i.jsx(Cle,{anchorCornerRadius:3,anchorDragBoundFunc:P,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},dce=fe(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:a,layer:c,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:m,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:w,shouldRestrictStrokesToBox:y}=e,S=y?{clipX:b.x,clipY:b.y,clipWidth:w.width,clipHeight:w.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:lw/m,colorPickerInnerRadius:(lw-bv+1)/m,maskColorString:tl({...o,a:.5}),brushColorString:tl(s),colorPickerColorString:tl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Xt}}),fce=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:a,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=L(dce);return d?i.jsxs(Na,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:bv,strokeScaleEnabled:!1}),i.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:bv,strokeScaleEnabled:!1})]}):i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),i.jsx(Hi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),i.jsx(Hi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},pce=fe([mn,ir],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:a,isMovingBoundingBox:c,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:m,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:w,shouldAntialias:y}=e;let S="none";return h==="move"||t?m?S="grabbing":S="grab":s?S=void 0:w&&!a&&(S="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||c,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:S,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:y}},Ge),hce=Ie(kle,{shouldForwardProp:e=>!["sx"].includes(e)}),d_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:a,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=L(pce);Ile();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{fD(A),v.current=A},[]),y=f.useCallback(A=>{dD(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=$le(v),I=Ole(v),P=Ale(v,k),E=Mle(v,k,S),O=Dle(),{handleDragStart:R,handleDragMove:M,handleDragEnd:T}=Ple();return i.jsx(W,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Oe,{sx:{position:"relative"},children:[i.jsxs(hce,{tabIndex:-1,ref:w,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:a.width,height:a.height,scale:{x:c,y:c},onTouchStart:I,onTouchMove:E,onTouchEnd:P,onMouseDown:I,onMouseLeave:O,onMouseMove:E,onMouseUp:P,onDragStart:R,onDragMove:M,onDragEnd:T,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[i.jsx(yu,{id:"grid",visible:r,children:i.jsx(Fle,{})}),i.jsx(yu,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx(Xle,{})}),i.jsxs(yu,{id:"mask",visible:e,listening:!1,children:[i.jsx(qle,{visible:!0,listening:!1}),i.jsx(Ule,{listening:!1})]}),i.jsx(yu,{children:i.jsx(Lle,{})}),i.jsxs(yu,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(fce,{visible:d!=="move",listening:!1}),i.jsx(Zle,{visible:p}),h&&i.jsx(Wle,{}),i.jsx(uce,{visible:n&&!p})]})]}),i.jsx(lce,{}),i.jsx(tce,{})]})})},mce=fe(mn,uH,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),f_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=L(mce),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(pD({width:a,height:c})),e(o?hD():em()),e(E_(!1))},0)},[e,r,t,n,o]),i.jsx(W,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:i.jsx(dl,{thickness:"2px",size:"xl"})})};function c8(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const gce=Ie(qO,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),sv={width:6,height:6,borderColor:"base.100"},vce=e=>{const{styleClass:t="",...n}=e;return i.jsx(gce,{sx:{".react-colorful__hue-pointer":sv,".react-colorful__saturation-pointer":sv,".react-colorful__alpha-pointer":sv},className:t,...n})},Qh=f.memo(vce),bce=fe([mn,ir],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:tl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}}),yce=()=>{const e=te(),{t}=be(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=L(bce);nt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),nt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),nt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(Np(n==="mask"?"base":"mask"))},d=()=>e(q1()),p=()=>e(pd(!o));return i.jsx(gl,{triggerComponent:i.jsx(nr,{children:i.jsx(Le,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(rW,{}),isChecked:n==="mask",isDisabled:a})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),i.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(a3(h.target.checked))}),i.jsx(Qh,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(i3(h))}),i.jsxs(rn,{size:"sm",leftIcon:i.jsx(us,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},xce=fe([mn,Kn,mo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function u8(){const e=te(),{canRedo:t,activeTabName:n}=L(xce),{t:r}=be(),o=()=>{e(mD())};return nt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(Le,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(aW,{}),onClick:o,isDisabled:!t})}const d8=()=>{const e=L(ir),t=te(),{t:n}=be();return i.jsxs(Vy,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(gD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(rn,{size:"sm",leftIcon:i.jsx(us,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},wce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Xt}}),Sce=()=>{const e=te(),{t}=be(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=L(wce);nt(["n"],()=>{e(Wu(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Wu(v.target.checked));return i.jsx(gl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(l3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(c3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),i.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(u3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(d3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(f3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(p3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(h3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(m3(v.target.checked))}),i.jsx(d8,{})]})})},Cce=fe([mn,ir,mo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:a}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),kce=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=L(Cce),{t:s}=be();nt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),nt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),nt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),nt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),nt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),nt(["BracketLeft"],()=>{e(ec(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),nt(["BracketRight"],()=>{e(ec(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),nt(["Shift+BracketLeft"],()=>{e(tc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),nt(["Shift+BracketRight"],()=>{e(tc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const a=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(g3()),h=()=>e(v3());return i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(b6,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(p6,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(g6,{}),isDisabled:o,onClick:p}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(m6,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(gl,{triggerComponent:i.jsx(Le,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(Fb,{})}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[i.jsx(W,{gap:4,justifyContent:"space-between",children:i.jsx(_t,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(ec(m)),sliderNumberInputProps:{max:500}})}),i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(tc(m))})]})})]})},_ce=fe([mn,Kn,mo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function f8(){const e=te(),{t}=be(),{canUndo:n,activeTabName:r}=L(_ce),o=()=>{e(vD())};return nt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(Hb,{}),onClick:o,isDisabled:!n})}const Pce=fe([mo,mn,ir],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:a,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:a,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Xt}}),jce=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=L(Pce),a=Ia(),{t:c}=be(),{isClipboardAPIAvailable:d}=Oy(),{getUploadButtonProps:p,getUploadInputProps:h}=Vm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});nt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),nt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),nt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),nt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),nt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),nt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=c8(()=>b(!1),()=>b(!0)),b=(P=!1)=>{const E=Ia();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(b3({contentRect:O,shouldScaleTo1:P}))},w=()=>{e(F1()),e(em())},y=()=>{e(y3())},S=()=>{e(x3())},k=()=>{d&&e(w3())},_=()=>{e(S3())},I=P=>{const E=P;e(Np(E)),E==="mask"&&!r&&e(pd(!0))};return i.jsxs(W,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Oe,{w:24,children:i.jsx(Yr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:C3,onChange:I,disabled:n})}),i.jsx(yce,{}),i.jsx(kce,{}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(u6,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(f6,{}),onClick:v})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(v6,{}),onClick:y,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(_m,{}),onClick:S,isDisabled:n}),d&&i.jsx(Le,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Fc,{}),onClick:k,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(Bb,{}),onClick:_,isDisabled:n})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(f8,{}),i.jsx(u8,{})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(Md,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(us,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(nr,{isAttached:!0,children:i.jsx(Sce,{})})]})};function Ice(){const e=te(),t=L(o=>o.canvas.brushSize),{t:n}=be(),r=L(ir);return nt(["BracketLeft"],()=>{e(ec(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),nt(["BracketRight"],()=>{e(ec(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(ec(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Ece=fe([mn,ir],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function Oce(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=L(Ece),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return nt(["shift+BracketLeft"],()=>{e(tc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),nt(["shift+BracketRight"],()=>{e(tc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(gl,{triggerComponent:i.jsx(Oe,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(tc(a))}),r==="mask"&&i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(i3(a))})]})})}function p8(){return i.jsxs(W,{columnGap:4,alignItems:"center",children:[i.jsx(Ice,{}),i.jsx(Oce,{})]})}function Rce(){const e=te(),t=L(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(p3(r.target.checked))})}function Mce(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(p8,{}),i.jsx(Rce,{})]})}function Dce(){const e=te(),{t}=be(),n=()=>e(q1());return i.jsx(rn,{size:"sm",leftIcon:i.jsx(us,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function Tce(){const e=L(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=be(),r=()=>t(pd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function Ace(){const e=te(),{t}=be(),n=L(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(a3(r.target.checked))})}function Nce(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(p8,{}),i.jsx(Tce,{}),i.jsx(Ace,{}),i.jsx(Dce,{})]})}function $ce(){const e=L(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(u3(r.target.checked))})}function zce(){const e=L(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(c3(r.target.checked))})}function Lce(){const e=L(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=be(),r=o=>t(Wu(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Bce(){return i.jsxs(W,{alignItems:"center",gap:4,children:[i.jsx(zce,{}),i.jsx(Lce,{}),i.jsx($ce,{})]})}const Fce=fe([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Xt}});function Hce(){const{tool:e,layer:t}=L(Fce);return i.jsxs(W,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Mce,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Nce,{}),e=="move"&&i.jsx(Bce,{})]})}const Wce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Xt}}),Vce=()=>{const e=te(),{t}=be(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=L(Wce);return i.jsx(gl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(l3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(d3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(f3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(h3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(m3(c.target.checked))}),i.jsx(d8,{})]})})};function Uce(){const e=L(ir),t=Ia(),{isClipboardAPIAvailable:n}=Oy(),r=L(c=>c.system.isProcessing),o=te(),{t:s}=be();nt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(w3())},[o,n]);return n?i.jsx(Le,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Fc,{}),onClick:a,isDisabled:e}):null}function Gce(){const e=te(),{t}=be(),n=Ia(),r=L(ir);nt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(S3())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(Bb,{}),onClick:o,isDisabled:r})}function qce(){const e=L(ir),{getUploadButtonProps:t,getUploadInputProps:n}=Vm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=be();return i.jsxs(i.Fragment,{children:[i.jsx(Le,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(Md,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const Kce=fe([mn,ir],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function Yce(){const e=te(),{t}=be(),{layer:n,isMaskEnabled:r,isStaging:o}=L(Kce),s=()=>{e(Np(n==="mask"?"base":"mask"))};nt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(Np(d)),d==="mask"&&!r&&e(pd(!0))};return i.jsx(Yr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:C3,onChange:a,disabled:o,w:"full"})}function Qce(){const e=te(),{t}=be(),n=Ia(),r=L(ir),o=L(a=>a.system.isProcessing);nt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(y3())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(v6,{}),onClick:s,isDisabled:r})}function Xce(){const e=L(s=>s.canvas.tool),t=L(ir),n=te(),{t:r}=be();nt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(Le,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(u6,{}),isChecked:e==="move"||t,onClick:o})}function Jce(){const e=L(s=>s.ui.shouldPinParametersPanel),t=L(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=be(),o=()=>{n(K1(!0)),e&&n(So())};return!e||!t?i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Le,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(Fb,{})}),i.jsx(W,{children:i.jsx(zy,{iconButton:!0})}),i.jsx(W,{children:i.jsx(Xm,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function Zce(){const e=te(),{t}=be(),n=L(ir),r=()=>{e(F1()),e(em())};return i.jsx(Le,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(us,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function eue(){const e=Ia(),t=te(),{t:n}=be();nt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=c8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Ia();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(b3({contentRect:c,shouldScaleTo1:s}))};return i.jsx(Le,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(f6,{}),onClick:r})}function tue(){const e=L(ir),t=Ia(),n=L(a=>a.system.isProcessing),r=te(),{t:o}=be();nt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(x3())};return i.jsx(Le,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(_m,{}),onClick:s,isDisabled:e})}const nue=fe([mn,ir,mo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),rue=()=>{const e=te(),{t}=be(),{tool:n,isStaging:r}=L(nue);nt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),nt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),nt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),nt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),nt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(g3()),d=()=>e(v3());return i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsxs(nr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(b6,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(p6,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(nr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(g6,{}),isDisabled:r,onClick:c}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(m6,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},oue=()=>i.jsxs(W,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(Yce,{}),i.jsx(rue,{}),i.jsxs(W,{gap:2,children:[i.jsx(Xce,{}),i.jsx(eue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Qce,{}),i.jsx(tue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Uce,{}),i.jsx(Gce,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(f8,{}),i.jsx(u8,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(qce,{}),i.jsx(Zce,{})]}),i.jsx(Vce,{}),i.jsx(Jce,{})]}),sue=fe([mn,La],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ge),av={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},aue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=L(sue),{isOver:r,setNodeRef:o,active:s}=A1({id:"unifiedCanvas",data:av});return f.useLayoutEffect(()=>{const a=()=>{e(So())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Oe,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{w:"full",h:"full",gap:4},children:[i.jsx(oue,{}),i.jsxs(W,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(Hce,{}),i.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(f_,{}):i.jsx(d_,{}),Ep(av,s)&&i.jsx(nh,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Oe,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[i.jsx(jce,{}),i.jsx(W,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(f_,{}):i.jsx(d_,{}),Ep(av,s)&&i.jsx(nh,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},iue=f.memo(aue),lue=fe([Ye],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ge),cue=()=>{const e=te(),{infillMethod:t}=L(lue),{data:n,isLoading:r}=L_(),o=n==null?void 0:n.infill_methods,{t:s}=be(),a=f.useCallback(c=>{e(bD(c))},[e]);return i.jsx(Yr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},uue=f.memo(cue),due=fe([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ge),fue=()=>{const e=te(),{tileSize:t,infillMethod:n}=L(due),{t:r}=be(),o=f.useCallback(a=>{e(cw(a))},[e]),s=f.useCallback(()=>{e(cw(32))},[e]);return i.jsx(_t,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},pue=f.memo(fue),hue=fe([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ge),mue=()=>{const e=te(),{boundingBoxScale:t}=L(hue),{t:n}=be(),r=o=>{e(xD(o))};return i.jsx(sr,{label:n("parameters.scaleBeforeProcessing"),data:yD,value:t,onChange:r})},gue=f.memo(mue),vue=fe([Mi,mo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ge),bue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=L(vue),{t:r}=be(),o=a=>{e($p({...n,height:Math.floor(a)}))},s=()=>{e($p({...n,height:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},yue=f.memo(bue),xue=fe([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ge),wue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=L(xue),{t:r}=be(),o=a=>{e($p({...n,width:Math.floor(a)}))},s=()=>{e($p({...n,width:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Sue=f.memo(wue),Cue=()=>{const{t:e}=be();return i.jsx(Oo,{label:e("parameters.infillScalingHeader"),children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(uue,{}),i.jsx(pue,{}),i.jsx(gue,{}),i.jsx(Sue,{}),i.jsx(yue,{})]})})},kue=f.memo(Cue);function _ue(){const e=te(),t=L(r=>r.generation.seamBlur),{t:n}=be();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(uw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(uw(16))}})}function Pue(){const e=te(),{t}=be(),n=L(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(dw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(dw(96))})}function jue(){const{t:e}=be(),t=L(r=>r.generation.seamSteps),n=te();return i.jsx(_t,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(fw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(fw(30))}})}function Iue(){const e=te(),{t}=be(),n=L(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(pw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(pw(.7))}})}const Eue=()=>{const{t:e}=be();return i.jsxs(Oo,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(Pue,{}),i.jsx(_ue,{}),i.jsx(Iue,{}),i.jsx(jue,{})]})},Oue=f.memo(Eue),Rue=fe([Ye,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),Mue=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=L(Rue),{t:o}=be(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=Ss(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=Ss(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return i.jsx(_t,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Due=f.memo(Mue),Tue=fe([Ye,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),Aue=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=L(Tue),{t:o}=be(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=Ss(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=Ss(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return i.jsx(_t,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Nue=f.memo(Aue);function p_(){const e=te(),{t}=be();return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(tt,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(fl,{}),i.jsx(_O,{}),i.jsx(Le,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(sO,{}),fontSize:20,onClick:()=>e(wD())})]}),i.jsx(Nue,{}),i.jsx(Due,{})]})}const $ue=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),zue=()=>{const{shouldUseSliders:e,activeLabel:t}=L($ue);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(p_,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(p_,{})]}),i.jsx(DO,{})]})})},Lue=f.memo(zue),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(Lue,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Wy,{}),i.jsx(Oue,{}),i.jsx(kue,{}),i.jsx(Fy,{})]}),Bue=()=>i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:i.jsx(h8,{})}),i.jsx(iue,{})]}),Fue=f.memo(Bue),Hue=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(Kr,{as:YH,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(wie,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(Kr,{as:al,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(xoe,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(Kr,{as:bee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Fue,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(Kr,{as:vee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(gie,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(Kr,{as:HH,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(yse,{})}],Wue=fe([aO,mo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Hue.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Xt}}),Vue=350,iv=20,m8=["modelManager"],Uue=()=>{const e=L(SD),t=L(Kn),n=L(Wue),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=L(y=>y.ui),{t:a}=be(),c=te();nt("f",()=>{c(CD()),(r||o)&&c(So())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(So())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(wn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(wc,{onClick:p,children:[i.jsx(L3,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Cm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=Fee(Vue,iv,"app"),w=f.useCallback(y=>{const S=kD[y];S&&c(ql(S))},[c]);return i.jsxs(Ed,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(Od,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(fl,{}),i.jsx(Cee,{})]}),i.jsxs(Ay,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(sd,{id:"main",children:i.jsx(km,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!m8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(IO,{}),i.jsx(sd,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>iv?b:iv,minSize:b,maxSize:50,children:i.jsx(nO,{})})]})]})]})},Gue=f.memo(Uue),que=fe([Kn,La],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:m8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Kue=()=>{const{t:e}=be(),{shouldPinGallery:t,shouldShowGalleryButton:n}=L(que),r=te(),o=()=>{r(vv(!0)),t&&r(So())};return n?i.jsx(Le,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:i.jsx(yee,{})}):null},Yue=f.memo(Kue),lv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Que=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",a=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),Xue=()=>{const e=te(),{t}=be(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=L(Que),s=()=>{e(K1(!0)),o&&e(So())};return r?i.jsxs(W,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[i.jsx(Le,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:lv,children:i.jsx(Fb,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(zy,{iconButton:!0,sx:lv}),i.jsx(Xm,{sx:lv})]})]}):null},Jue=f.memo(Xue),Zue=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ge),ede=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=L(Zue),o=()=>{e(K1(!1))},s=f.useMemo(()=>r==="txt2img"?i.jsx(XO,{}):r==="img2img"?i.jsx(TO,{}):r==="unifiedCanvas"?i.jsx(h8,{}):null,[r]);return t?null:i.jsx(i6,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(W,{sx:{flexDir:"column",h:"full",w:$y,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(W,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(oO,{}),i.jsx(jO,{})]}),i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:s})]})})},tde=f.memo(ede),nde=()=>{const{data:e,isFetching:t}=Zh(),{isOpen:n,onClose:r,handleAddToBoard:o,image:s}=f.useContext(T_),[a,c]=f.useState(),d=f.useRef(null),p=e==null?void 0:e.find(h=>h.board_id===(s==null?void 0:s.board_id));return i.jsx(Pd,{isOpen:n,leastDestructiveRef:d,onClose:r,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:p?"Move Image to Board":"Add Image to Board"}),i.jsx(Da,{children:i.jsx(Oe,{children:i.jsxs(W,{direction:"column",gap:3,children:[p&&i.jsxs(tt,{children:["Moving this image from"," ",i.jsx("strong",{children:p.board_name})," to"]}),t?i.jsx(dl,{}):i.jsx(sr,{placeholder:"Select Board",onChange:h=>c(h),value:a,data:(e??[]).map(h=>({label:h.board_name,value:h.board_id}))})]})})}),i.jsxs(Oa,{children:[i.jsx(rn,{onClick:r,children:"Cancel"}),i.jsx(rn,{isDisabled:!a,colorScheme:"accent",onClick:()=>{a&&o(a)},ml:3,children:p?"Move":"Add"})]})]})})})},rde=f.memo(nde),ode=fe([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),sde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=L(ode),o=L(Kn);return nt("*",()=>{n6("shift")?!t&&e(_o(!0)):t&&e(_o(!1))},{keyup:!0,keydown:!0},[t]),nt("o",()=>{e(_D()),o==="unifiedCanvas"&&n&&e(So())}),nt(["shift+o"],()=>{e(PD()),o==="unifiedCanvas"&&e(So())}),nt("g",()=>{e(jD()),o==="unifiedCanvas"&&r&&e(So())}),nt(["shift+g"],()=>{e(D_()),o==="unifiedCanvas"&&e(So())}),nt("1",()=>{e(ql("txt2img"))}),nt("2",()=>{e(ql("img2img"))}),nt("3",()=>{e(ql("unifiedCanvas"))}),nt("4",()=>{e(ql("nodes"))}),null},ade=f.memo(sde),ide={},lde=({config:e=ide,headerComponent:t})=>{const n=L(V5),r=JB(),o=te();return f.useEffect(()=>{Ln.changeLanguage(n)},[n]),f.useEffect(()=>{G_(e)&&(r.info({namespace:"App",config:e},"Received config"),o(ID(e)))},[o,e,r]),f.useEffect(()=>{o(ED())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(rl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(cH,{children:i.jsxs(rl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(mee,{}),i.jsx(W,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(Gue,{})})]})}),i.jsx(WZ,{}),i.jsx(tde,{}),i.jsx(Vu,{children:i.jsx(Jue,{})}),i.jsx(Vu,{children:i.jsx(Yue,{})})]}),i.jsx(qZ,{}),i.jsx(rde,{}),i.jsx(ZB,{}),i.jsx(ade,{})]})},hde=f.memo(lde);export{hde as default}; diff --git a/invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js b/invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js new file mode 100644 index 0000000000..317f406e68 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js @@ -0,0 +1 @@ +import{z as p,A as d,a4 as Z,aH as xe,g0 as We,Z as De,U as E,a7 as q,R as z,V as R,a1 as _e,a0 as Be,$ as Ce,_ as Ge,Y as Ue,g1 as Ve,g2 as Ze,fT as qe,ab as j,fR as B,fZ as Xe}from"./index-9488b384.js";function Ye(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Ye(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Je,Ke]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Je,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),Y="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ke();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=Y,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=Y),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=Y;G.selector=tt;G.displayName="Portal";function P(e,t){return r=>r.colorMode==="dark"?t:e}function Or(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var at=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(at(o,t))return r}function st(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function it(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function lt(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ct(e,t){const r=lt(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var ut={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=ut,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const v=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ct(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>st(s),[s]);return d.jsx(De.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:v,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(E.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function dt(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},v=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(E.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(E.svg,{verticalAlign:"middle",viewBox:v,...g,...c,children:$})});L.displayName="Icon";function ft(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[mt,J]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[gt,K]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),je={info:{icon:pt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:ft,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:Be,colorScheme:"blue"}};function bt(e){return je[e].colorScheme}function yt(e){return je[e].icon}var Ee=z(function(t,r){const o=K(),{status:a}=J(),n={display:"inline",...o.description};return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});Ee.displayName="AlertDescription";function Ae(e){const{status:t}=J(),r=yt(t),o=K(),a=t==="loading"?o.spinner:o.icon;return d.jsx(E.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ae.displayName="AlertIcon";var Ne=z(function(t,r){const o=K(),{status:a}=J();return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:bt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(mt,{value:{status:a},children:d.jsx(gt,{value:l,children:d.jsx(E.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(E.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var vt={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=St(vt);function St(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=xt(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function xt(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var _t=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ae,{children:c}),d.jsxs(E.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(Ee,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=_t}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function zr(e,t){const r=a=>{var n;return{...t,...a,position:dt((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[Rr,Mr]=M({name:"ToastOptionsContext",strict:!1}),Lr=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${i}`,style:it(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function Ct(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function kt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):kt(e,t,r)}const Pt=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function Fr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(Pt)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const h=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[h,{},!1];return k.t=h,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(h=>wt(h,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let v=c.join();t.lng&&(v=`${t.lng}${v}`);const $=Et(v),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:h,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==v&&S.current&&g(f);function w(){S.current&&g(f)}return h&&n&&n.on(h,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,h&&n&&h.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,v]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(h=>{t.lng?ce(n,t.lng,c,()=>h()):le(n,c,()=>h())})}function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Hr=m("accordion").parts("root","container","button","panel").extend("icon");m("alert").parts("title","description","container").extend("icon","spinner");m("avatar").parts("label","badge","container").extend("excessLabel","group");m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Wr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var Dr=m("editable").parts("preview","input","textarea");m("form").parts("container","requiredIndicator","helperText");m("formError").parts("text","icon");var Br=m("input").parts("addon","field","element");m("list").parts("container","item","icon");var At=m("menu").parts("button","list","item").extend("groupTitle","command","divider"),Gr=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Ur=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Vr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Zr=m("progress").parts("label","filledTrack","track");m("radio").parts("container","control","label");var qr=m("select").parts("field","icon"),Xr=m("slider").parts("container","track","thumb","filledTrack","mark");m("stat").parts("container","label","helpText","number","icon");var Yr=m("switch").parts("container","track","thumb");m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var Jr=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");m("tag").parts("container","label","closeButton");m("card").parts("container","header","body","footer");const{definePartsStyle:Nt,defineMultiStyleConfig:$t}=qe(At.keys),Tt=Nt(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),Kr=$t({variants:{invokeAI:Tt},defaultProps:{variant:"invokeAI"}}),Qr={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},It={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function Ot(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var zt=Object.defineProperty,ue=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))Rt.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Mt.call(t,r)&&de(e,r,t[r]);return e};function Lt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const A=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):A(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Wt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Dt(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Bt(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Gt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Ut(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Bt(e)?Gt(e):e.startsWith("rgb")?Ut(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Vt(e=0){return{position:"absolute",top:A(e),right:A(e),left:A(e),bottom:A(e)}}function Zt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function qt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Xt(e){return t=>{if(typeof t=="number")return A(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Yt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function Jt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Yt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Kt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Qt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function er(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function tr(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:Ot,themeColor:Q,focusStyles:Lt,linearGradient:Ft,radialGradient:Ht,smallerThan:Dt,largerThan:Wt,rgba:T,cover:Vt,darken:Zt,lighten:qt,radius:Xt,variant:Jt,primaryShade:F,hover:Qt,gradient:Re,primaryColor:Kt,placeholderStyles:er,dimmed:tr};var rr=Object.defineProperty,nr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ir=(e,t)=>{for(var r in t||(t={}))ar.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))sr.call(t,r)&&me(e,r,t[r]);return e},lr=(e,t)=>nr(e,or(t));function Fe(e){return lr(ir({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const cr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:It,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(cr);var ur=Object.defineProperty,dr=Object.defineProperties,fr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gr=(e,t)=>{for(var r in t||(t={}))pr.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))mr.call(t,r)&&be(e,r,t[r]);return e},br=(e,t)=>dr(e,fr(t));function yr({theme:e}){return j.createElement(B,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:br(gr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=A){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function hr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),j.createElement(B,{styles:{":root":t}})}var vr=Object.defineProperty,Sr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,he=(e,t,r)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))_r.call(t,r)&&he(e,r,t[r]);if(ye)for(var r of ye(t))Cr.call(t,r)&&he(e,r,t[r]);return e},V=(e,t)=>Sr(e,xr(t));function kr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function wr(e,t){return Fe(kr(e,t))}function Pr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${A(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Er(){return j.createElement(B,{styles:jr})}var Ar=Object.defineProperty,ve=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Nr.call(t,r)&&Se(e,r,t[r]);if(ve)for(var r of ve(t))$r.call(t,r)&&Se(e,r,t[r]);return e};const D=p.createContext({theme:te});function He(){var e;return((e=p.useContext(D))==null?void 0:e.theme)||te}function en(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function tn(){var e;return(e=p.useContext(D))==null?void 0:e.emotionCache}function rn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Pr(r))}function Tr({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(D),l=wr(te,n?O(O({},i.theme),e):e);return j.createElement(Xe,{theme:l},j.createElement(D.Provider,{value:{theme:l,emotionCache:t}},r&&j.createElement(Er,null),o&&j.createElement(yr,{theme:l}),a&&j.createElement(hr,{theme:l}),typeof l.globalStyles=="function"&&j.createElement(B,{styles:l.globalStyles(l)}),s))}Tr.displayName="@mantine/core/MantineProvider";export{Zr as A,qr as B,Te as C,Xr as D,Yr as E,Jr as F,Kr as G,L as I,Tr as M,G as P,Rr as T,M as a,lt as b,zr as c,ne as d,Fr as e,tn as f,He as g,en as h,Pr as i,W as j,Le as k,rn as l,Qr as m,P as n,Or as o,Qe as p,Lr as q,A as r,Hr as s,Wr as t,Mr as u,Dr as v,Br as w,Gr as x,Ur as y,Vr as z}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js new file mode 100644 index 0000000000..ed67c5d588 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js @@ -0,0 +1,302 @@ +import{A as g,fR as Xe,z as x,a4 as Ba,fS as Ea,af as ca,aj as c,fT as b,al as Da,fU as t,fV as Ra,fW as h,fX as ba,fY as ja,fZ as Ha,aI as Wa,f_ as Va,ad as La,f$ as qa}from"./index-9488b384.js";import{n,o as Sr,p as Oa,T as Na,q as Ga,s as Ua,t as Ya,v as Xa,w as Ka,x as Za,y as Ja,z as Qa,A as et,B as rt,D as at,E as tt,F as ot,G as nt,e as it,M as lt}from"./MantineProvider-3c4df448.js";var va=String.raw,ua=va` + :root, + :host { + --chakra-vh: 100vh; + } + + @supports (height: -webkit-fill-available) { + :root, + :host { + --chakra-vh: -webkit-fill-available; + } + } + + @supports (height: -moz-fill-available) { + :root, + :host { + --chakra-vh: -moz-fill-available; + } + } + + @supports (height: 100dvh) { + :root, + :host { + --chakra-vh: 100dvh; + } + } +`,st=()=>g.jsx(Xe,{styles:ua}),dt=({scope:e=""})=>g.jsx(Xe,{styles:va` + html { + line-height: 1.5; + -webkit-text-size-adjust: 100%; + font-family: system-ui, sans-serif; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + -moz-osx-font-smoothing: grayscale; + touch-action: manipulation; + } + + body { + position: relative; + min-height: 100%; + margin: 0; + font-feature-settings: "kern"; + } + + ${e} :where(*, *::before, *::after) { + border-width: 0; + border-style: solid; + box-sizing: border-box; + word-wrap: break-word; + } + + main { + display: block; + } + + ${e} hr { + border-top-width: 1px; + box-sizing: content-box; + height: 0; + overflow: visible; + } + + ${e} :where(pre, code, kbd,samp) { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; + font-size: 1em; + } + + ${e} a { + background-color: transparent; + color: inherit; + text-decoration: inherit; + } + + ${e} abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + } + + ${e} :where(b, strong) { + font-weight: bold; + } + + ${e} small { + font-size: 80%; + } + + ${e} :where(sub,sup) { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + ${e} sub { + bottom: -0.25em; + } + + ${e} sup { + top: -0.5em; + } + + ${e} img { + border-style: none; + } + + ${e} :where(button, input, optgroup, select, textarea) { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; + } + + ${e} :where(button, input) { + overflow: visible; + } + + ${e} :where(button, select) { + text-transform: none; + } + + ${e} :where( + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner + ) { + border-style: none; + padding: 0; + } + + ${e} fieldset { + padding: 0.35em 0.75em 0.625em; + } + + ${e} legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; + } + + ${e} progress { + vertical-align: baseline; + } + + ${e} textarea { + overflow: auto; + } + + ${e} :where([type="checkbox"], [type="radio"]) { + box-sizing: border-box; + padding: 0; + } + + ${e} input[type="number"]::-webkit-inner-spin-button, + ${e} input[type="number"]::-webkit-outer-spin-button { + -webkit-appearance: none !important; + } + + ${e} input[type="number"] { + -moz-appearance: textfield; + } + + ${e} input[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; + } + + ${e} input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none !important; + } + + ${e} ::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; + } + + ${e} details { + display: block; + } + + ${e} summary { + display: list-item; + } + + template { + display: none; + } + + [hidden] { + display: none !important; + } + + ${e} :where( + blockquote, + dl, + dd, + h1, + h2, + h3, + h4, + h5, + h6, + hr, + figure, + p, + pre + ) { + margin: 0; + } + + ${e} button { + background: transparent; + padding: 0; + } + + ${e} fieldset { + margin: 0; + padding: 0; + } + + ${e} :where(ol, ul) { + margin: 0; + padding: 0; + } + + ${e} textarea { + resize: vertical; + } + + ${e} :where(button, [role="button"]) { + cursor: pointer; + } + + ${e} button::-moz-focus-inner { + border: 0 !important; + } + + ${e} table { + border-collapse: collapse; + } + + ${e} :where(h1, h2, h3, h4, h5, h6) { + font-size: inherit; + font-weight: inherit; + } + + ${e} :where(button, input, optgroup, select, textarea) { + padding: 0; + line-height: inherit; + color: inherit; + } + + ${e} :where(img, svg, video, canvas, audio, iframe, embed, object) { + display: block; + } + + ${e} :where(img, video) { + max-width: 100%; + height: auto; + } + + [data-js-focus-visible] + :focus:not([data-focus-visible-added]):not( + [data-focus-visible-disabled] + ) { + outline: none; + box-shadow: none; + } + + ${e} select::-ms-expand { + display: none; + } + + ${ua} + `}),_e={light:"chakra-ui-light",dark:"chakra-ui-dark"};function ct(e={}){const{preventTransition:r=!0}=e,a={setDataset:o=>{const i=r?a.preventTransition():void 0;document.documentElement.dataset.theme=o,document.documentElement.style.colorScheme=o,i==null||i()},setClassName(o){document.body.classList.add(o?_e.dark:_e.light),document.body.classList.remove(o?_e.light:_e.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(o){var i;return((i=a.query().matches)!=null?i:o==="dark")?"dark":"light"},addListener(o){const i=a.query(),l=s=>{o(s.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(l):i.addEventListener("change",l),()=>{typeof i.removeListener=="function"?i.removeListener(l):i.removeEventListener("change",l)}},preventTransition(){const o=document.createElement("style");return o.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(o),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(o)})})}}};return a}var bt="chakra-ui-color-mode";function fa(e){return{ssr:!1,type:"localStorage",get(r){if(!(globalThis!=null&&globalThis.document))return r;let a;try{a=localStorage.getItem(e)||r}catch{}return a||r},set(r){try{localStorage.setItem(e,r)}catch{}}}}var vt=fa(bt),Cr=()=>{};function Ar(e,r){return e.type==="cookie"&&e.ssr?e.get(r):r}function ma(e){const{value:r,children:a,options:{useSystemColorMode:o,initialColorMode:i,disableTransitionOnChange:l}={},colorModeManager:s=vt}=e,d=i==="dark"?"dark":"light",[v,$]=x.useState(()=>Ar(s,d)),[p,S]=x.useState(()=>Ar(s)),{getSystemTheme:T,setClassName:L,setDataset:Qe,addListener:wr}=x.useMemo(()=>ct({preventTransition:l}),[l]),$e=i==="system"&&!v?p:v,F=x.useCallback(te=>{const ke=te==="system"?T():te;$(ke),L(ke==="dark"),Qe(ke),s.set(ke)},[s,T,L,Qe]);Ba(()=>{i==="system"&&S(T())},[]),x.useEffect(()=>{const te=s.get();if(te){F(te);return}if(i==="system"){F("system");return}F(d)},[s,d,i,F]);const zr=x.useCallback(()=>{F($e==="dark"?"light":"dark")},[$e,F]);x.useEffect(()=>{if(o)return wr(F)},[o,wr,F]);const Ma=x.useMemo(()=>({colorMode:r??$e,toggleColorMode:r?Cr:zr,setColorMode:r?Cr:F,forced:r!==void 0}),[$e,zr,F,r]);return g.jsx(Ea.Provider,{value:Ma,children:a})}ma.displayName="ColorModeProvider";var ut=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function ft(e){return ca(e)?ut.every(r=>Object.prototype.hasOwnProperty.call(e,r)):!1}var mt={common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},ht={"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},gt={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},yt={property:mt,easing:ht,duration:gt},pt=yt,St={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},xt=St,$t={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},kt=$t,_t={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},wt=_t,zt={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},Ct=zt,At={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},Pt=At,Tt={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},Ft=Tt,It={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},Mt=It,Bt={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},ha=Bt,ga={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Et={max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch"},Dt={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},Rt={...ga,...Et,container:Dt},ya=Rt,jt={breakpoints:wt,zIndices:xt,radii:Pt,blur:Mt,colors:Ct,...ha,sizes:ya,shadows:Ft,space:ga,borders:kt,transition:pt},{defineMultiStyleConfig:Ht,definePartsStyle:le}=b(["stepper","step","title","description","indicator","separator","icon","number"]),B=c("stepper-indicator-size"),X=c("stepper-icon-size"),K=c("stepper-title-font-size"),se=c("stepper-description-font-size"),oe=c("stepper-accent-color"),Wt=le(({colorScheme:e})=>({stepper:{display:"flex",justifyContent:"space-between",gap:"4","&[data-orientation=vertical]":{flexDirection:"column",alignItems:"flex-start"},"&[data-orientation=horizontal]":{flexDirection:"row",alignItems:"center"},[oe.variable]:`colors.${e}.500`,_dark:{[oe.variable]:`colors.${e}.200`}},title:{fontSize:K.reference,fontWeight:"medium"},description:{fontSize:se.reference,color:"chakra-subtle-text"},number:{fontSize:K.reference},step:{flexShrink:0,position:"relative",display:"flex",gap:"2","&[data-orientation=horizontal]":{alignItems:"center"},flex:"1","&:last-of-type:not([data-stretch])":{flex:"initial"}},icon:{flexShrink:0,width:X.reference,height:X.reference},indicator:{flexShrink:0,borderRadius:"full",width:B.reference,height:B.reference,display:"flex",justifyContent:"center",alignItems:"center","&[data-status=active]":{borderWidth:"2px",borderColor:oe.reference},"&[data-status=complete]":{bg:oe.reference,color:"chakra-inverse-text"},"&[data-status=incomplete]":{borderWidth:"2px"}},separator:{bg:"chakra-border-color",flex:"1","&[data-status=complete]":{bg:oe.reference},"&[data-orientation=horizontal]":{width:"100%",height:"2px",marginStart:"2"},"&[data-orientation=vertical]":{width:"2px",position:"absolute",height:"100%",maxHeight:`calc(100% - ${B.reference} - 8px)`,top:`calc(${B.reference} + 4px)`,insetStart:`calc(${B.reference} / 2 - 1px)`}}})),Vt=Ht({baseStyle:Wt,sizes:{xs:le({stepper:{[B.variable]:"sizes.4",[X.variable]:"sizes.3",[K.variable]:"fontSizes.xs",[se.variable]:"fontSizes.xs"}}),sm:le({stepper:{[B.variable]:"sizes.6",[X.variable]:"sizes.4",[K.variable]:"fontSizes.sm",[se.variable]:"fontSizes.xs"}}),md:le({stepper:{[B.variable]:"sizes.8",[X.variable]:"sizes.5",[K.variable]:"fontSizes.md",[se.variable]:"fontSizes.sm"}}),lg:le({stepper:{[B.variable]:"sizes.10",[X.variable]:"sizes.6",[K.variable]:"fontSizes.lg",[se.variable]:"fontSizes.md"}})},defaultProps:{size:"md",colorScheme:"blue"}});function f(e,r={}){let a=!1;function o(){if(!a){a=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...p){o();for(const S of p)r[S]=v(S);return f(e,r)}function l(...p){for(const S of p)S in r||(r[S]=v(S));return f(e,r)}function s(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.selector]))}function d(){return Object.fromEntries(Object.entries(r).map(([S,T])=>[S,T.className]))}function v(p){const L=`chakra-${(["container","root"].includes(p??"")?[e]:[e,p]).filter(Boolean).join("__")}`;return{className:L,selector:`.${L}`,toString:()=>p}}return{parts:i,toPart:v,extend:l,selectors:s,classnames:d,get keys(){return Object.keys(r)},__type:{}}}var Lt=f("accordion").parts("root","container","button","panel").extend("icon"),qt=f("alert").parts("title","description","container").extend("icon","spinner"),Ot=f("avatar").parts("label","badge","container").extend("excessLabel","group"),Nt=f("breadcrumb").parts("link","item","container").extend("separator");f("button").parts();var Gt=f("checkbox").parts("control","icon","container").extend("label");f("progress").parts("track","filledTrack").extend("label");var Ut=f("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Yt=f("editable").parts("preview","input","textarea"),Xt=f("form").parts("container","requiredIndicator","helperText"),Kt=f("formError").parts("text","icon"),Zt=f("input").parts("addon","field","element"),Jt=f("list").parts("container","item","icon"),Qt=f("menu").parts("button","list","item").extend("groupTitle","command","divider"),eo=f("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),ro=f("numberinput").parts("root","field","stepperGroup","stepper");f("pininput").parts("field");var ao=f("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),to=f("progress").parts("label","filledTrack","track"),oo=f("radio").parts("container","control","label"),no=f("select").parts("field","icon"),io=f("slider").parts("container","track","thumb","filledTrack","mark"),lo=f("stat").parts("container","label","helpText","number","icon"),so=f("switch").parts("container","track","thumb"),co=f("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),bo=f("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),vo=f("tag").parts("container","label","closeButton"),uo=f("card").parts("container","header","body","footer");function O(e,r,a){return Math.min(Math.max(e,a),r)}class fo extends Error{constructor(r){super(`Failed to parse color: "${r}"`)}}var de=fo;function xr(e){if(typeof e!="string")throw new de(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let r=e.trim();r=$o.test(e)?go(e):e;const a=yo.exec(r);if(a){const s=Array.from(a).slice(1);return[...s.slice(0,3).map(d=>parseInt(ge(d,2),16)),parseInt(ge(s[3]||"f",2),16)/255]}const o=po.exec(r);if(o){const s=Array.from(o).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,16)),parseInt(s[3]||"ff",16)/255]}const i=So.exec(r);if(i){const s=Array.from(i).slice(1);return[...s.slice(0,3).map(d=>parseInt(d,10)),parseFloat(s[3]||"1")]}const l=xo.exec(r);if(l){const[s,d,v,$]=Array.from(l).slice(1).map(parseFloat);if(O(0,100,d)!==d)throw new de(e);if(O(0,100,v)!==v)throw new de(e);return[...ko(s,d,v),Number.isNaN($)?1:$]}throw new de(e)}function mo(e){let r=5381,a=e.length;for(;a;)r=r*33^e.charCodeAt(--a);return(r>>>0)%2341}const Pr=e=>parseInt(e.replace(/_/g,""),36),ho="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e,r)=>{const a=Pr(r.substring(0,3)),o=Pr(r.substring(3)).toString(16);let i="";for(let l=0;l<6-o.length;l++)i+="0";return e[a]=`${i}${o}`,e},{});function go(e){const r=e.toLowerCase().trim(),a=ho[mo(r)];if(!a)throw new de(e);return`#${a}`}const ge=(e,r)=>Array.from(Array(r)).map(()=>e).join(""),yo=new RegExp(`^#${ge("([a-f0-9])",3)}([a-f0-9])?$`,"i"),po=new RegExp(`^#${ge("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),So=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${ge(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),xo=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,$o=/^[a-z]+$/i,Tr=e=>Math.round(e*255),ko=(e,r,a)=>{let o=a/100;if(r===0)return[o,o,o].map(Tr);const i=(e%360+360)%360/60,l=(1-Math.abs(2*o-1))*(r/100),s=l*(1-Math.abs(i%2-1));let d=0,v=0,$=0;i>=0&&i<1?(d=l,v=s):i>=1&&i<2?(d=s,v=l):i>=2&&i<3?(v=l,$=s):i>=3&&i<4?(v=s,$=l):i>=4&&i<5?(d=s,$=l):i>=5&&i<6&&(d=l,$=s);const p=o-l/2,S=d+p,T=v+p,L=$+p;return[S,T,L].map(Tr)};function _o(e,r,a,o){return`rgba(${O(0,255,e).toFixed()}, ${O(0,255,r).toFixed()}, ${O(0,255,a).toFixed()}, ${parseFloat(O(0,1,o).toFixed(3))})`}function wo(e,r){const[a,o,i,l]=xr(e);return _o(a,o,i,l-r)}function zo(e){const[r,a,o,i]=xr(e);let l=s=>{const d=O(0,255,s).toString(16);return d.length===1?`0${d}`:d};return`#${l(r)}${l(a)}${l(o)}${i<1?l(Math.round(i*255)):""}`}function Co(e,r,a,o,i){for(r=r.split?r.split("."):r,o=0;oObject.keys(e).length===0,Ne=(e,r,a)=>{const o=Co(e,`colors.${r}`,r);try{return zo(o),o}catch{return a??"#000000"}},P=(e,r,a)=>{var o;return(o=Da(e,"colors",r))!=null?o:a},Po=e=>{const[r,a,o]=xr(e);return(r*299+a*587+o*114)/1e3},To=e=>r=>{const a=Ne(r,e);return Po(a)<128?"dark":"light"},Fo=e=>r=>To(e)(r)==="dark",re=(e,r)=>a=>{const o=Ne(a,e);return wo(o,1-r)};function Fr(e="1rem",r="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( + 45deg, + ${r} 25%, + transparent 25%, + transparent 50%, + ${r} 50%, + ${r} 75%, + transparent 75%, + transparent + )`,backgroundSize:`${e} ${e}`}}var Io=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function Mo(e){const r=Io();return!e||Ao(e)?r:e.string&&e.colors?Eo(e.string,e.colors):e.string&&!e.colors?Bo(e.string):e.colors&&!e.string?Do(e.colors):r}function Bo(e){let r=0;if(e.length===0)return r.toString();for(let o=0;o>o*8&255;a+=`00${i.toString(16)}`.substr(-2)}return a}function Eo(e,r){let a=0;if(e.length===0)return r[0];for(let o=0;or.map(pa).join(` ${e} `).replace(/calc/g,""),Ir=(...e)=>`calc(${Ke("+",...e)})`,Mr=(...e)=>`calc(${Ke("-",...e)})`,hr=(...e)=>`calc(${Ke("*",...e)})`,Br=(...e)=>`calc(${Ke("/",...e)})`,Er=e=>{const r=pa(e);return r!=null&&!Number.isNaN(parseFloat(r))?String(r).startsWith("-")?String(r).slice(1):`-${r}`:hr(r,-1)},E=Object.assign(e=>({add:(...r)=>E(Ir(e,...r)),subtract:(...r)=>E(Mr(e,...r)),multiply:(...r)=>E(hr(e,...r)),divide:(...r)=>E(Br(e,...r)),negate:()=>E(Er(e)),toString:()=>e.toString()}),{add:Ir,subtract:Mr,multiply:hr,divide:Br,negate:Er});function Ro(e){return!Number.isInteger(parseFloat(e.toString()))}function jo(e,r="-"){return e.replace(/\s+/g,r)}function Sa(e){const r=jo(e.toString());return r.includes("\\.")?e:Ro(e)?r.replace(".","\\."):e}function Ho(e,r=""){return[r,Sa(e)].filter(Boolean).join("-")}function Wo(e,r){return`var(${Sa(e)}${r?`, ${r}`:""})`}function Vo(e,r=""){return`--${Ho(e,r)}`}function m(e,r){const a=Vo(e,r==null?void 0:r.prefix);return{variable:a,reference:Wo(a,Lo(r==null?void 0:r.fallback))}}function Lo(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:qo,definePartsStyle:Re}=b(so.keys),ve=m("switch-track-width"),N=m("switch-track-height"),er=m("switch-track-diff"),Oo=E.subtract(ve,N),gr=m("switch-thumb-x"),ne=m("switch-bg"),No=t(e=>{const{colorScheme:r}=e;return{borderRadius:"full",p:"0.5",width:[ve.reference],height:[N.reference],transitionProperty:"common",transitionDuration:"fast",[ne.variable]:"colors.gray.300",_dark:{[ne.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[ne.variable]:`colors.${r}.500`,_dark:{[ne.variable]:`colors.${r}.200`}},bg:ne.reference}}),Go=t({bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[N.reference],height:[N.reference],_checked:{transform:`translateX(${gr.reference})`}}),Uo=Re(e=>({container:{[er.variable]:Oo,[gr.variable]:er.reference,_rtl:{[gr.variable]:E(er).negate().toString()}},track:No(e),thumb:Go})),Yo={sm:Re({container:{[ve.variable]:"1.375rem",[N.variable]:"sizes.3"}}),md:Re({container:{[ve.variable]:"1.875rem",[N.variable]:"sizes.4"}}),lg:Re({container:{[ve.variable]:"2.875rem",[N.variable]:"sizes.6"}})},Xo=qo({baseStyle:Uo,sizes:Yo,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Ko,definePartsStyle:Z}=b(co.keys),Zo=Z({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),Ge=t({"&[data-is-numeric=true]":{textAlign:"end"}}),Jo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Qo=Z(e=>{const{colorScheme:r}=e;return{th:{color:n("gray.600","gray.400")(e),borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},td:{borderBottom:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e),...Ge},caption:{color:n("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:n(`${r}.100`,`${r}.700`)(e)},td:{background:n(`${r}.100`,`${r}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),en={simple:Jo,striped:Qo,unstyled:t({})},rn={sm:Z({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:Z({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:Z({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},an=Ko({baseStyle:Zo,variants:en,sizes:rn,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),_=c("tabs-color"),A=c("tabs-bg"),we=c("tabs-border-color"),{defineMultiStyleConfig:tn,definePartsStyle:M}=b(bo.keys),on=t(e=>{const{orientation:r}=e;return{display:r==="vertical"?"flex":"block"}}),nn=t(e=>{const{isFitted:r}=e;return{flex:r?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}}),ln=t(e=>{const{align:r="start",orientation:a}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[r],flexDirection:a==="vertical"?"column":"row"}}),sn=t({p:4}),dn=M(e=>({root:on(e),tab:nn(e),tablist:ln(e),tabpanel:sn})),cn={sm:M({tab:{py:1,px:4,fontSize:"sm"}}),md:M({tab:{fontSize:"md",py:2,px:4}}),lg:M({tab:{fontSize:"lg",py:3,px:4}})},bn=M(e=>{const{colorScheme:r,orientation:a}=e,o=a==="vertical",i=o?"borderStart":"borderBottom",l=o?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[l]:"-2px",_selected:{[_.variable]:`colors.${r}.600`,_dark:{[_.variable]:`colors.${r}.300`},borderColor:"currentColor"},_active:{[A.variable]:"colors.gray.200",_dark:{[A.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:_.reference,bg:A.reference}}}),vn=M(e=>{const{colorScheme:r}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[we.variable]:"transparent",_selected:{[_.variable]:`colors.${r}.600`,[we.variable]:"colors.white",_dark:{[_.variable]:`colors.${r}.300`,[we.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:we.reference},color:_.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),un=M(e=>{const{colorScheme:r}=e;return{tab:{border:"1px solid",borderColor:"inherit",[A.variable]:"colors.gray.50",_dark:{[A.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[A.variable]:"colors.white",[_.variable]:`colors.${r}.600`,_dark:{[A.variable]:"colors.gray.800",[_.variable]:`colors.${r}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:_.reference,bg:A.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),fn=M(e=>{const{colorScheme:r,theme:a}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Ne(a,`${r}.700`),bg:Ne(a,`${r}.100`)}}}}),mn=M(e=>{const{colorScheme:r}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[_.variable]:"colors.gray.600",_dark:{[_.variable]:"inherit"},_selected:{[_.variable]:"colors.white",[A.variable]:`colors.${r}.600`,_dark:{[_.variable]:"colors.gray.800",[A.variable]:`colors.${r}.300`}},color:_.reference,bg:A.reference}}}),hn=M({}),gn={line:bn,enclosed:vn,"enclosed-colored":un,"soft-rounded":fn,"solid-rounded":mn,unstyled:hn},yn=tn({baseStyle:dn,sizes:cn,variants:gn,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),y=Ra("badge",["bg","color","shadow"]),pn=t({px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Sn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.500`,.6)(a);return{[y.bg.variable]:`colors.${r}.500`,[y.color.variable]:"colors.white",_dark:{[y.bg.variable]:o,[y.color.variable]:"colors.whiteAlpha.800"}}}),xn=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.16)(a);return{[y.bg.variable]:`colors.${r}.100`,[y.color.variable]:`colors.${r}.800`,_dark:{[y.bg.variable]:o,[y.color.variable]:`colors.${r}.200`}}}),$n=t(e=>{const{colorScheme:r,theme:a}=e,o=re(`${r}.200`,.8)(a);return{[y.color.variable]:`colors.${r}.500`,_dark:{[y.color.variable]:o},[y.shadow.variable]:`inset 0 0 0px 1px ${y.color.reference}`}}),kn={solid:Sn,subtle:xn,outline:$n},ue=h({baseStyle:pn,variants:kn,defaultProps:{variant:"subtle",colorScheme:"gray"}}),{defineMultiStyleConfig:_n,definePartsStyle:G}=b(vo.keys),Dr=c("tag-bg"),Rr=c("tag-color"),rr=c("tag-shadow"),je=c("tag-min-height"),He=c("tag-min-width"),We=c("tag-font-size"),Ve=c("tag-padding-inline"),wn=t({fontWeight:"medium",lineHeight:1.2,outline:0,[Rr.variable]:y.color.reference,[Dr.variable]:y.bg.reference,[rr.variable]:y.shadow.reference,color:Rr.reference,bg:Dr.reference,boxShadow:rr.reference,borderRadius:"md",minH:je.reference,minW:He.reference,fontSize:We.reference,px:Ve.reference,_focusVisible:{[rr.variable]:"shadows.outline"}}),zn=t({lineHeight:1.2,overflow:"visible"}),Cn=t({fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}}),An=G({container:wn,label:zn,closeButton:Cn}),Pn={sm:G({container:{[je.variable]:"sizes.5",[He.variable]:"sizes.5",[We.variable]:"fontSizes.xs",[Ve.variable]:"space.2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:G({container:{[je.variable]:"sizes.6",[He.variable]:"sizes.6",[We.variable]:"fontSizes.sm",[Ve.variable]:"space.2"}}),lg:G({container:{[je.variable]:"sizes.8",[He.variable]:"sizes.8",[We.variable]:"fontSizes.md",[Ve.variable]:"space.3"}})},Tn={subtle:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.subtle(e)}}),solid:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.solid(e)}}),outline:G(e=>{var r;return{container:(r=ue.variants)==null?void 0:r.outline(e)}})},Fn=_n({variants:Tn,baseStyle:An,sizes:Pn,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:D,defineMultiStyleConfig:In}=b(Zt.keys),Mn=D({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),H={lg:t({fontSize:"lg",px:"4",h:"12",borderRadius:"md"}),md:t({fontSize:"md",px:"4",h:"10",borderRadius:"md"}),sm:t({fontSize:"sm",px:"3",h:"8",borderRadius:"sm"}),xs:t({fontSize:"xs",px:"2",h:"6",borderRadius:"sm"})},Bn={lg:D({field:H.lg,addon:H.lg}),md:D({field:H.md,addon:H.md}),sm:D({field:H.sm,addon:H.sm}),xs:D({field:H.xs,addon:H.xs})};function $r(e){const{focusBorderColor:r,errorBorderColor:a}=e;return{focusBorderColor:r||n("blue.500","blue.300")(e),errorBorderColor:a||n("red.500","red.300")(e)}}var En=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:n("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0 0 0 1px ${P(r,o)}`},_focusVisible:{zIndex:1,borderColor:P(r,a),boxShadow:`0 0 0 1px ${P(r,a)}`}},addon:{border:"1px solid",borderColor:n("inherit","whiteAlpha.50")(e),bg:n("gray.100","whiteAlpha.300")(e)}}}),Dn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e),_hover:{bg:n("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o)},_focusVisible:{bg:"transparent",borderColor:P(r,a)}},addon:{border:"2px solid",borderColor:"transparent",bg:n("gray.100","whiteAlpha.50")(e)}}}),Rn=D(e=>{const{theme:r}=e,{focusBorderColor:a,errorBorderColor:o}=$r(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:P(r,o),boxShadow:`0px 1px 0px 0px ${P(r,o)}`},_focusVisible:{borderColor:P(r,a),boxShadow:`0px 1px 0px 0px ${P(r,a)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),jn=D({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),Hn={outline:En,filled:Dn,flushed:Rn,unstyled:jn},u=In({baseStyle:Mn,sizes:Bn,variants:Hn,defaultProps:{size:"md",variant:"outline"}}),jr,Wn=t({...(jr=u.baseStyle)==null?void 0:jr.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"}),Hr,Wr,Vn={outline:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.outline(e).field)!=null?a:{}}),flushed:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.flushed(e).field)!=null?a:{}}),filled:t(e=>{var r,a;return(a=(r=u.variants)==null?void 0:r.filled(e).field)!=null?a:{}}),unstyled:(Wr=(Hr=u.variants)==null?void 0:Hr.unstyled.field)!=null?Wr:{}},Vr,Lr,qr,Or,Nr,Gr,Ur,Yr,Ln={xs:(Lr=(Vr=u.sizes)==null?void 0:Vr.xs.field)!=null?Lr:{},sm:(Or=(qr=u.sizes)==null?void 0:qr.sm.field)!=null?Or:{},md:(Gr=(Nr=u.sizes)==null?void 0:Nr.md.field)!=null?Gr:{},lg:(Yr=(Ur=u.sizes)==null?void 0:Ur.lg.field)!=null?Yr:{}},qn=h({baseStyle:Wn,sizes:Ln,variants:Vn,defaultProps:{size:"md",variant:"outline"}}),ze=m("tooltip-bg"),ar=m("tooltip-fg"),On=m("popper-arrow-bg"),Nn=t({bg:ze.reference,color:ar.reference,[ze.variable]:"colors.gray.700",[ar.variable]:"colors.whiteAlpha.900",_dark:{[ze.variable]:"colors.gray.300",[ar.variable]:"colors.gray.900"},[On.variable]:ze.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"}),Gn=h({baseStyle:Nn}),{defineMultiStyleConfig:Un,definePartsStyle:ce}=b(to.keys),Yn=t(e=>{const{colorScheme:r,theme:a,isIndeterminate:o,hasStripe:i}=e,l=n(Fr(),Fr("1rem","rgba(0,0,0,0.1)"))(e),s=n(`${r}.500`,`${r}.200`)(e),d=`linear-gradient( + to right, + transparent 0%, + ${P(a,s)} 50%, + transparent 100% + )`;return{...!o&&i&&l,...o?{bgImage:d}:{bgColor:s}}}),Xn=t({lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"}),Kn=t(e=>({bg:n("gray.100","whiteAlpha.300")(e)})),Zn=t(e=>({transitionProperty:"common",transitionDuration:"slow",...Yn(e)})),Jn=ce(e=>({label:Xn,filledTrack:Zn(e),track:Kn(e)})),Qn={xs:ce({track:{h:"1"}}),sm:ce({track:{h:"2"}}),md:ce({track:{h:"3"}}),lg:ce({track:{h:"4"}})},ei=Un({sizes:Qn,baseStyle:Jn,defaultProps:{size:"md",colorScheme:"blue"}}),ri=e=>typeof e=="function";function k(e,...r){return ri(e)?e(...r):e}var{definePartsStyle:Le,defineMultiStyleConfig:ai}=b(Gt.keys),fe=c("checkbox-size"),ti=t(e=>{const{colorScheme:r}=e;return{w:fe.reference,h:fe.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e),_hover:{bg:n(`${r}.600`,`${r}.300`)(e),borderColor:n(`${r}.600`,`${r}.300`)(e)},_disabled:{borderColor:n("gray.200","transparent")(e),bg:n("gray.200","whiteAlpha.300")(e),color:n("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:n(`${r}.500`,`${r}.200`)(e),borderColor:n(`${r}.500`,`${r}.200`)(e),color:n("white","gray.900")(e)},_disabled:{bg:n("gray.100","whiteAlpha.100")(e),borderColor:n("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("red.500","red.300")(e)}}}),oi=t({_disabled:{cursor:"not-allowed"}}),ni=t({userSelect:"none",_disabled:{opacity:.4}}),ii=t({transitionProperty:"transform",transitionDuration:"normal"}),li=Le(e=>({icon:ii,container:oi,control:k(ti,e),label:ni})),si={sm:Le({control:{[fe.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Le({control:{[fe.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Le({control:{[fe.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},Ue=ai({baseStyle:li,sizes:si,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:di,definePartsStyle:qe}=b(oo.keys),ci=t(e=>{var r;const a=(r=k(Ue.baseStyle,e))==null?void 0:r.control;return{...a,borderRadius:"full",_checked:{...a==null?void 0:a._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}}),bi=qe(e=>{var r,a,o,i;return{label:(a=(r=Ue).baseStyle)==null?void 0:a.call(r,e).label,container:(i=(o=Ue).baseStyle)==null?void 0:i.call(o,e).container,control:ci(e)}}),vi={md:qe({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qe({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qe({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},ui=di({baseStyle:bi,sizes:vi,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:fi,definePartsStyle:mi}=b(no.keys),Ce=c("select-bg"),Xr,hi=t({...(Xr=u.baseStyle)==null?void 0:Xr.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Ce.reference,[Ce.variable]:"colors.white",_dark:{[Ce.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Ce.reference}}),gi=t({width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}}),yi=mi({field:hi,icon:gi}),Ae=t({paddingInlineEnd:"8"}),Kr,Zr,Jr,Qr,ea,ra,aa,ta,pi={lg:{...(Kr=u.sizes)==null?void 0:Kr.lg,field:{...(Zr=u.sizes)==null?void 0:Zr.lg.field,...Ae}},md:{...(Jr=u.sizes)==null?void 0:Jr.md,field:{...(Qr=u.sizes)==null?void 0:Qr.md.field,...Ae}},sm:{...(ea=u.sizes)==null?void 0:ea.sm,field:{...(ra=u.sizes)==null?void 0:ra.sm.field,...Ae}},xs:{...(aa=u.sizes)==null?void 0:aa.xs,field:{...(ta=u.sizes)==null?void 0:ta.xs.field,...Ae},icon:{insetEnd:"1"}}},Si=fi({baseStyle:yi,sizes:pi,variants:u.variants,defaultProps:u.defaultProps}),tr=c("skeleton-start-color"),or=c("skeleton-end-color"),xi=t({[tr.variable]:"colors.gray.100",[or.variable]:"colors.gray.400",_dark:{[tr.variable]:"colors.gray.800",[or.variable]:"colors.gray.600"},background:tr.reference,borderColor:or.reference,opacity:.7,borderRadius:"sm"}),$i=h({baseStyle:xi}),nr=c("skip-link-bg"),ki=t({borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[nr.variable]:"colors.white",_dark:{[nr.variable]:"colors.gray.700"},bg:nr.reference}}),_i=h({baseStyle:ki}),{defineMultiStyleConfig:wi,definePartsStyle:Ze}=b(io.keys),ye=c("slider-thumb-size"),pe=c("slider-track-size"),V=c("slider-bg"),zi=t(e=>{const{orientation:r}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...Sr({orientation:r,vertical:{h:"100%"},horizontal:{w:"100%"}})}}),Ci=t(e=>({...Sr({orientation:e.orientation,horizontal:{h:pe.reference},vertical:{w:pe.reference}}),overflow:"hidden",borderRadius:"sm",[V.variable]:"colors.gray.200",_dark:{[V.variable]:"colors.whiteAlpha.200"},_disabled:{[V.variable]:"colors.gray.300",_dark:{[V.variable]:"colors.whiteAlpha.300"}},bg:V.reference})),Ai=t(e=>{const{orientation:r}=e;return{...Sr({orientation:r,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:ye.reference,h:ye.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}}),Pi=t(e=>{const{colorScheme:r}=e;return{width:"inherit",height:"inherit",[V.variable]:`colors.${r}.500`,_dark:{[V.variable]:`colors.${r}.200`},bg:V.reference}}),Ti=Ze(e=>({container:zi(e),track:Ci(e),thumb:Ai(e),filledTrack:Pi(e)})),Fi=Ze({container:{[ye.variable]:"sizes.4",[pe.variable]:"sizes.1"}}),Ii=Ze({container:{[ye.variable]:"sizes.3.5",[pe.variable]:"sizes.1"}}),Mi=Ze({container:{[ye.variable]:"sizes.2.5",[pe.variable]:"sizes.0.5"}}),Bi={lg:Fi,md:Ii,sm:Mi},Ei=wi({baseStyle:Ti,sizes:Bi,defaultProps:{size:"md",colorScheme:"blue"}}),q=m("spinner-size"),Di=t({width:[q.reference],height:[q.reference]}),Ri={xs:t({[q.variable]:"sizes.3"}),sm:t({[q.variable]:"sizes.4"}),md:t({[q.variable]:"sizes.6"}),lg:t({[q.variable]:"sizes.8"}),xl:t({[q.variable]:"sizes.12"})},ji=h({baseStyle:Di,sizes:Ri,defaultProps:{size:"md"}}),{defineMultiStyleConfig:Hi,definePartsStyle:xa}=b(lo.keys),Wi=t({fontWeight:"medium"}),Vi=t({opacity:.8,marginBottom:"2"}),Li=t({verticalAlign:"baseline",fontWeight:"semibold"}),qi=t({marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"}),Oi=xa({container:{},label:Wi,helpText:Vi,number:Li,icon:qi}),Ni={md:xa({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Gi=Hi({baseStyle:Oi,sizes:Ni,defaultProps:{size:"md"}}),ir=c("kbd-bg"),Ui=t({[ir.variable]:"colors.gray.100",_dark:{[ir.variable]:"colors.whiteAlpha.100"},bg:ir.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}),Yi=h({baseStyle:Ui}),Xi=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}}),Ki=h({baseStyle:Xi}),{defineMultiStyleConfig:Zi,definePartsStyle:Ji}=b(Jt.keys),Qi=t({marginEnd:"2",display:"inline",verticalAlign:"text-bottom"}),el=Ji({icon:Qi}),rl=Zi({baseStyle:el}),{defineMultiStyleConfig:al,definePartsStyle:tl}=b(Qt.keys),I=c("menu-bg"),lr=c("menu-shadow"),ol=t({[I.variable]:"#fff",[lr.variable]:"shadows.sm",_dark:{[I.variable]:"colors.gray.700",[lr.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:I.reference,boxShadow:lr.reference}),nl=t({py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_active:{[I.variable]:"colors.gray.200",_dark:{[I.variable]:"colors.whiteAlpha.200"}},_expanded:{[I.variable]:"colors.gray.100",_dark:{[I.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:I.reference}),il=t({mx:4,my:2,fontWeight:"semibold",fontSize:"sm"}),ll=t({opacity:.6}),sl=t({border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6}),dl=t({transitionProperty:"common",transitionDuration:"normal"}),cl=tl({button:dl,list:ol,item:nl,groupTitle:il,command:ll,divider:sl}),bl=al({baseStyle:cl}),{defineMultiStyleConfig:vl,definePartsStyle:yr}=b(eo.keys),sr=c("modal-bg"),dr=c("modal-shadow"),ul=t({bg:"blackAlpha.600",zIndex:"modal"}),fl=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:r?"center":"flex-start",overflow:a==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}}),ml=t(e=>{const{isCentered:r,scrollBehavior:a}=e;return{borderRadius:"md",color:"inherit",my:r?"auto":"16",mx:r?"auto":void 0,zIndex:"modal",maxH:a==="inside"?"calc(100% - 7.5rem)":void 0,[sr.variable]:"colors.white",[dr.variable]:"shadows.lg",_dark:{[sr.variable]:"colors.gray.700",[dr.variable]:"shadows.dark-lg"},bg:sr.reference,boxShadow:dr.reference}}),hl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),gl=t({position:"absolute",top:"2",insetEnd:"3"}),yl=t(e=>{const{scrollBehavior:r}=e;return{px:"6",py:"2",flex:"1",overflow:r==="inside"?"auto":void 0}}),pl=t({px:"6",py:"4"}),Sl=yr(e=>({overlay:ul,dialogContainer:k(fl,e),dialog:k(ml,e),header:hl,closeButton:gl,body:k(yl,e),footer:pl}));function C(e){return yr(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var xl={xs:C("xs"),sm:C("sm"),md:C("md"),lg:C("lg"),xl:C("xl"),"2xl":C("2xl"),"3xl":C("3xl"),"4xl":C("4xl"),"5xl":C("5xl"),"6xl":C("6xl"),full:C("full")},$l=vl({baseStyle:Sl,sizes:xl,defaultProps:{size:"md"}}),{defineMultiStyleConfig:kl,definePartsStyle:$a}=b(ro.keys),kr=m("number-input-stepper-width"),ka=m("number-input-input-padding"),_l=E(kr).add("0.5rem").toString(),cr=m("number-input-bg"),br=m("number-input-color"),vr=m("number-input-border-color"),wl=t({[kr.variable]:"sizes.6",[ka.variable]:_l}),zl=t(e=>{var r,a;return(a=(r=k(u.baseStyle,e))==null?void 0:r.field)!=null?a:{}}),Cl=t({width:kr.reference}),Al=t({borderStart:"1px solid",borderStartColor:vr.reference,color:br.reference,bg:cr.reference,[br.variable]:"colors.chakra-body-text",[vr.variable]:"colors.chakra-border-color",_dark:{[br.variable]:"colors.whiteAlpha.800",[vr.variable]:"colors.whiteAlpha.300"},_active:{[cr.variable]:"colors.gray.200",_dark:{[cr.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}}),Pl=$a(e=>{var r;return{root:wl,field:(r=k(zl,e))!=null?r:{},stepperGroup:Cl,stepper:Al}});function Pe(e){var r,a,o;const i=(r=u.sizes)==null?void 0:r[e],l={lg:"md",md:"md",sm:"sm",xs:"sm"},s=(o=(a=i.field)==null?void 0:a.fontSize)!=null?o:"md",d=ha.fontSizes[s];return $a({field:{...i.field,paddingInlineEnd:ka.reference,verticalAlign:"top"},stepper:{fontSize:E(d).multiply(.75).toString(),_first:{borderTopEndRadius:l[e]},_last:{borderBottomEndRadius:l[e],mt:"-1px",borderTopWidth:1}}})}var Tl={xs:Pe("xs"),sm:Pe("sm"),md:Pe("md"),lg:Pe("lg")},Fl=kl({baseStyle:Pl,sizes:Tl,variants:u.variants,defaultProps:u.defaultProps}),oa,Il=t({...(oa=u.baseStyle)==null?void 0:oa.field,textAlign:"center"}),Ml={lg:t({fontSize:"lg",w:12,h:12,borderRadius:"md"}),md:t({fontSize:"md",w:10,h:10,borderRadius:"md"}),sm:t({fontSize:"sm",w:8,h:8,borderRadius:"sm"}),xs:t({fontSize:"xs",w:6,h:6,borderRadius:"sm"})},na,ia,Bl={outline:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.outline,e))==null?void 0:a.field)!=null?o:{}}),flushed:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.flushed,e))==null?void 0:a.field)!=null?o:{}}),filled:t(e=>{var r,a,o;return(o=(a=k((r=u.variants)==null?void 0:r.filled,e))==null?void 0:a.field)!=null?o:{}}),unstyled:(ia=(na=u.variants)==null?void 0:na.unstyled.field)!=null?ia:{}},El=h({baseStyle:Il,sizes:Ml,variants:Bl,defaultProps:u.defaultProps}),{defineMultiStyleConfig:Dl,definePartsStyle:Rl}=b(ao.keys),Te=m("popper-bg"),jl=m("popper-arrow-bg"),la=m("popper-arrow-shadow-color"),Hl=t({zIndex:10}),Wl=t({[Te.variable]:"colors.white",bg:Te.reference,[jl.variable]:Te.reference,[la.variable]:"colors.gray.200",_dark:{[Te.variable]:"colors.gray.700",[la.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}}),Vl=t({px:3,py:2,borderBottomWidth:"1px"}),Ll=t({px:3,py:2}),ql=t({px:3,py:2,borderTopWidth:"1px"}),Ol=t({position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2}),Nl=Rl({popper:Hl,content:Wl,header:Vl,body:Ll,footer:ql,closeButton:Ol}),Gl=Dl({baseStyle:Nl}),{definePartsStyle:pr,defineMultiStyleConfig:Ul}=b(Ut.keys),ur=c("drawer-bg"),fr=c("drawer-box-shadow");function Y(e){return pr(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var Yl=t({bg:"blackAlpha.600",zIndex:"overlay"}),Xl=t({display:"flex",zIndex:"modal",justifyContent:"center"}),Kl=t(e=>{const{isFullHeight:r}=e;return{...r&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[ur.variable]:"colors.white",[fr.variable]:"shadows.lg",_dark:{[ur.variable]:"colors.gray.700",[fr.variable]:"shadows.dark-lg"},bg:ur.reference,boxShadow:fr.reference}}),Zl=t({px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"}),Jl=t({position:"absolute",top:"2",insetEnd:"3"}),Ql=t({px:"6",py:"2",flex:"1",overflow:"auto"}),es=t({px:"6",py:"4"}),rs=pr(e=>({overlay:Yl,dialogContainer:Xl,dialog:k(Kl,e),header:Zl,closeButton:Jl,body:Ql,footer:es})),as={xs:Y("xs"),sm:Y("md"),md:Y("lg"),lg:Y("2xl"),xl:Y("4xl"),full:Y("full")},ts=Ul({baseStyle:rs,sizes:as,defaultProps:{size:"xs"}}),{definePartsStyle:os,defineMultiStyleConfig:ns}=b(Yt.keys),is=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ls=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ss=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),ds=os({preview:is,input:ls,textarea:ss}),cs=ns({baseStyle:ds}),{definePartsStyle:bs,defineMultiStyleConfig:vs}=b(Xt.keys),J=c("form-control-color"),us=t({marginStart:"1",[J.variable]:"colors.red.500",_dark:{[J.variable]:"colors.red.300"},color:J.reference}),fs=t({mt:"2",[J.variable]:"colors.gray.600",_dark:{[J.variable]:"colors.whiteAlpha.600"},color:J.reference,lineHeight:"normal",fontSize:"sm"}),ms=bs({container:{width:"100%",position:"relative"},requiredIndicator:us,helperText:fs}),hs=vs({baseStyle:ms}),{definePartsStyle:gs,defineMultiStyleConfig:ys}=b(Kt.keys),Q=c("form-error-color"),ps=t({[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference,mt:"2",fontSize:"sm",lineHeight:"normal"}),Ss=t({marginEnd:"0.5em",[Q.variable]:"colors.red.500",_dark:{[Q.variable]:"colors.red.300"},color:Q.reference}),xs=gs({text:ps,icon:Ss}),$s=ys({baseStyle:xs}),ks=t({fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}}),_s=h({baseStyle:ks}),ws=t({fontFamily:"heading",fontWeight:"bold"}),zs={"4xl":t({fontSize:["6xl",null,"7xl"],lineHeight:1}),"3xl":t({fontSize:["5xl",null,"6xl"],lineHeight:1}),"2xl":t({fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]}),xl:t({fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]}),lg:t({fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]}),md:t({fontSize:"xl",lineHeight:1.2}),sm:t({fontSize:"md",lineHeight:1.2}),xs:t({fontSize:"sm",lineHeight:1.2})},Cs=h({baseStyle:ws,sizes:zs,defaultProps:{size:"xl"}}),{defineMultiStyleConfig:As,definePartsStyle:Ps}=b(Nt.keys),mr=c("breadcrumb-link-decor"),Ts=t({transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",outline:"none",color:"inherit",textDecoration:mr.reference,[mr.variable]:"none","&:not([aria-current=page])":{cursor:"pointer",_hover:{[mr.variable]:"underline"},_focusVisible:{boxShadow:"outline"}}}),Fs=Ps({link:Ts}),Is=As({baseStyle:Fs}),Ms=t({lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}}),_a=t(e=>{const{colorScheme:r,theme:a}=e;if(r==="gray")return{color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.100","whiteAlpha.200")(e)},_active:{bg:n("gray.200","whiteAlpha.300")(e)}};const o=re(`${r}.200`,.12)(a),i=re(`${r}.200`,.24)(a);return{color:n(`${r}.600`,`${r}.200`)(e),bg:"transparent",_hover:{bg:n(`${r}.50`,o)(e)},_active:{bg:n(`${r}.100`,i)(e)}}}),Bs=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...k(_a,e)}}),Es={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},Ds=t(e=>{var r;const{colorScheme:a}=e;if(a==="gray"){const v=n("gray.100","whiteAlpha.200")(e);return{bg:v,color:n("gray.800","whiteAlpha.900")(e),_hover:{bg:n("gray.200","whiteAlpha.300")(e),_disabled:{bg:v}},_active:{bg:n("gray.300","whiteAlpha.400")(e)}}}const{bg:o=`${a}.500`,color:i="white",hoverBg:l=`${a}.600`,activeBg:s=`${a}.700`}=(r=Es[a])!=null?r:{},d=n(o,`${a}.200`)(e);return{bg:d,color:n(i,"gray.800")(e),_hover:{bg:n(l,`${a}.300`)(e),_disabled:{bg:d}},_active:{bg:n(s,`${a}.400`)(e)}}}),Rs=t(e=>{const{colorScheme:r}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:n(`${r}.500`,`${r}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:n(`${r}.700`,`${r}.500`)(e)}}}),js=t({bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"}),Hs={ghost:_a,outline:Bs,solid:Ds,link:Rs,unstyled:js},Ws={lg:t({h:"12",minW:"12",fontSize:"lg",px:"6"}),md:t({h:"10",minW:"10",fontSize:"md",px:"4"}),sm:t({h:"8",minW:"8",fontSize:"sm",px:"3"}),xs:t({h:"6",minW:"6",fontSize:"xs",px:"2"})},Vs=h({baseStyle:Ms,variants:Hs,sizes:Ws,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}}),{definePartsStyle:U,defineMultiStyleConfig:Ls}=b(uo.keys),Ye=c("card-bg"),R=c("card-padding"),wa=c("card-shadow"),Oe=c("card-radius"),za=c("card-border-width","0"),Ca=c("card-border-color"),qs=U({container:{[Ye.variable]:"colors.chakra-body-bg",backgroundColor:Ye.reference,boxShadow:wa.reference,borderRadius:Oe.reference,color:"chakra-body-text",borderWidth:za.reference,borderColor:Ca.reference},body:{padding:R.reference,flex:"1 1 0%"},header:{padding:R.reference},footer:{padding:R.reference}}),Os={sm:U({container:{[Oe.variable]:"radii.base",[R.variable]:"space.3"}}),md:U({container:{[Oe.variable]:"radii.md",[R.variable]:"space.5"}}),lg:U({container:{[Oe.variable]:"radii.xl",[R.variable]:"space.7"}})},Ns={elevated:U({container:{[wa.variable]:"shadows.base",_dark:{[Ye.variable]:"colors.gray.700"}}}),outline:U({container:{[za.variable]:"1px",[Ca.variable]:"colors.chakra-border-color"}}),filled:U({container:{[Ye.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[R.variable]:0},header:{[R.variable]:0},footer:{[R.variable]:0}}},Gs=Ls({baseStyle:qs,variants:Ns,sizes:Os,defaultProps:{variant:"elevated",size:"md"}}),me=m("close-button-size"),ie=m("close-button-bg"),Us=t({w:[me.reference],h:[me.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[ie.variable]:"colors.blackAlpha.100",_dark:{[ie.variable]:"colors.whiteAlpha.100"}},_active:{[ie.variable]:"colors.blackAlpha.200",_dark:{[ie.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:ie.reference}),Ys={lg:t({[me.variable]:"sizes.10",fontSize:"md"}),md:t({[me.variable]:"sizes.8",fontSize:"xs"}),sm:t({[me.variable]:"sizes.6",fontSize:"2xs"})},Xs=h({baseStyle:Us,sizes:Ys,defaultProps:{size:"md"}}),{variants:Ks,defaultProps:Zs}=ue,Js=t({fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm",bg:y.bg.reference,color:y.color.reference,boxShadow:y.shadow.reference}),Qs=h({baseStyle:Js,variants:Ks,defaultProps:Zs}),e0=t({w:"100%",mx:"auto",maxW:"prose",px:"4"}),r0=h({baseStyle:e0}),a0=t({opacity:.6,borderColor:"inherit"}),t0=t({borderStyle:"solid"}),o0=t({borderStyle:"dashed"}),n0={solid:t0,dashed:o0},i0=h({baseStyle:a0,variants:n0,defaultProps:{variant:"solid"}}),{definePartsStyle:l0,defineMultiStyleConfig:s0}=b(Lt.keys),d0=t({borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}}),c0=t({transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"}),b0=t({pt:"2",px:"4",pb:"5"}),v0=t({fontSize:"1.25em"}),u0=l0({container:d0,button:c0,panel:b0,icon:v0}),f0=s0({baseStyle:u0}),{definePartsStyle:xe,defineMultiStyleConfig:m0}=b(qt.keys),w=c("alert-fg"),j=c("alert-bg"),h0=xe({container:{bg:j.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:w.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function _r(e){const{theme:r,colorScheme:a}=e,o=re(`${a}.200`,.16)(r);return{light:`colors.${a}.100`,dark:o}}var g0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark}}}}),y0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:w.reference}}}),p0=xe(e=>{const{colorScheme:r}=e,a=_r(e);return{container:{[w.variable]:`colors.${r}.500`,[j.variable]:a.light,_dark:{[w.variable]:`colors.${r}.200`,[j.variable]:a.dark},pt:"2",borderTopWidth:"4px",borderTopColor:w.reference}}}),S0=xe(e=>{const{colorScheme:r}=e;return{container:{[w.variable]:"colors.white",[j.variable]:`colors.${r}.500`,_dark:{[w.variable]:"colors.gray.900",[j.variable]:`colors.${r}.200`},color:w.reference}}}),x0={subtle:g0,"left-accent":y0,"top-accent":p0,solid:S0},$0=m0({baseStyle:h0,variants:x0,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:Aa,defineMultiStyleConfig:k0}=b(Ot.keys),ee=c("avatar-border-color"),he=c("avatar-bg"),Se=c("avatar-font-size"),ae=c("avatar-size"),_0=t({borderRadius:"full",border:"0.2em solid",borderColor:ee.reference,[ee.variable]:"white",_dark:{[ee.variable]:"colors.gray.800"}}),w0=t({bg:he.reference,fontSize:Se.reference,width:ae.reference,height:ae.reference,lineHeight:"1",[he.variable]:"colors.gray.200",_dark:{[he.variable]:"colors.whiteAlpha.400"}}),z0=t(e=>{const{name:r,theme:a}=e,o=r?Mo({string:r}):"colors.gray.400",i=Fo(o)(a);let l="white";return i||(l="gray.800"),{bg:he.reference,fontSize:Se.reference,color:l,borderColor:ee.reference,verticalAlign:"top",width:ae.reference,height:ae.reference,"&:not([data-loaded])":{[he.variable]:o},[ee.variable]:"colors.white",_dark:{[ee.variable]:"colors.gray.800"}}}),C0=t({fontSize:Se.reference,lineHeight:"1"}),A0=Aa(e=>({badge:k(_0,e),excessLabel:k(w0,e),container:k(z0,e),label:C0}));function W(e){const r=e!=="100%"?ya[e]:void 0;return Aa({container:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`},excessLabel:{[ae.variable]:r??e,[Se.variable]:`calc(${r??e} / 2.5)`}})}var P0={"2xs":W(4),xs:W(6),sm:W(8),md:W(12),lg:W(16),xl:W(24),"2xl":W(32),full:W("100%")},T0=k0({baseStyle:A0,sizes:P0,defaultProps:{size:"md"}}),F0={Accordion:f0,Alert:$0,Avatar:T0,Badge:ue,Breadcrumb:Is,Button:Vs,Checkbox:Ue,CloseButton:Xs,Code:Qs,Container:r0,Divider:i0,Drawer:ts,Editable:cs,Form:hs,FormError:$s,FormLabel:_s,Heading:Cs,Input:u,Kbd:Yi,Link:Ki,List:rl,Menu:bl,Modal:$l,NumberInput:Fl,PinInput:El,Popover:Gl,Progress:ei,Radio:ui,Select:Si,Skeleton:$i,SkipLink:_i,Slider:Ei,Spinner:ji,Stat:Gi,Switch:Xo,Table:an,Tabs:yn,Tag:Fn,Textarea:qn,Tooltip:Gn,Card:Gs,Stepper:Vt},I0={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-inverse-text":{_light:"white",_dark:"gray.800"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-subtle-text":{_light:"gray.600",_dark:"gray.400"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},M0={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color"}}},B0="ltr",E0={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},Pa={semanticTokens:I0,direction:B0,...jt,components:F0,styles:M0,config:E0};function be(e){return typeof e=="function"}function D0(...e){return r=>e.reduce((a,o)=>o(a),r)}var R0=e=>function(...a){let o=[...a],i=a[a.length-1];return ft(i)&&o.length>1?o=o.slice(0,o.length-1):i=e,D0(...o.map(l=>s=>be(l)?l(s):H0(s,l)))(i)},j0=R0(Pa);function H0(...e){return ba({},...e,Ta)}function Ta(e,r,a,o){if((be(e)||be(r))&&Object.prototype.hasOwnProperty.call(o,a))return(...i)=>{const l=be(e)?e(...i):e,s=be(r)?r(...i):r;return ba({},l,s,Ta)}}function W0(e={}){const{strict:r=!0,errorMessage:a="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:o}=e,i=x.createContext(void 0);i.displayName=o;function l(){var s;const d=x.useContext(i);if(!d&&r){const v=new Error(a);throw v.name="ContextError",(s=Error.captureStackTrace)==null||s.call(Error,v,l),v}return d}return[i.Provider,l,i]}function V0(e){const{cssVarsRoot:r,theme:a,children:o}=e,i=x.useMemo(()=>ja(a),[a]);return g.jsxs(Ha,{theme:i,children:[g.jsx(L0,{root:r}),o]})}function L0({root:e=":host, :root"}){const r=[e,"[data-theme]"].join(",");return g.jsx(Xe,{styles:a=>({[r]:a.__cssVars})})}W0({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function q0(){const{colorMode:e}=Wa();return g.jsx(Xe,{styles:r=>{const a=Va(r,"styles.global"),o=La(a,{theme:r,colorMode:e});return o?qa(o)(r):void 0}})}var Fa=x.createContext({getDocument(){return document},getWindow(){return window}});Fa.displayName="EnvironmentContext";function Ia(e){const{children:r,environment:a,disabled:o}=e,i=x.useRef(null),l=x.useMemo(()=>a||{getDocument:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument)!=null?v:document},getWindow:()=>{var d,v;return(v=(d=i.current)==null?void 0:d.ownerDocument.defaultView)!=null?v:window}},[a]),s=!o||!a;return g.jsxs(Fa.Provider,{value:l,children:[r,s&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}Ia.displayName="EnvironmentProvider";var O0=e=>{const{children:r,colorModeManager:a,portalZIndex:o,resetScope:i,resetCSS:l=!0,theme:s={},environment:d,cssVarsRoot:v,disableEnvironment:$,disableGlobalStyle:p}=e,S=g.jsx(Ia,{environment:d,disabled:$,children:r});return g.jsx(V0,{theme:s,cssVarsRoot:v,children:g.jsxs(ma,{colorModeManager:a,options:s.config,children:[l?g.jsx(dt,{scope:i}):g.jsx(st,{}),!p&&g.jsx(q0,{}),o?g.jsx(Oa,{zIndex:o,children:S}):S]})})},N0=e=>function({children:a,theme:o=e,toastOptions:i,...l}){return g.jsxs(O0,{theme:o,...l,children:[g.jsx(Na,{value:i==null?void 0:i.defaultOptions,children:a}),g.jsx(Ga,{...i})]})},G0=N0(Pa);function z(e,r,a=!1){e=String(e),r=String(r);const o=Array.from({length:21},(s,d)=>d*50),i=[0,5,10,15,20,25,30,35,40,45,50,55,59,64,68,73,77,82,86,95,100];return o.reduce((s,d,v)=>{const $=a?i[v]/100:1,p=a?50:i[o.length-1-v];return s[d]=`hsl(${e} ${r}% ${p}% / ${$})`,s},{})}const Fe={H:220,S:16},Ie={H:250,S:42},Me={H:47,S:42},Be={H:28,S:42},Ee={H:113,S:42},De={H:0,S:42},U0={base:z(Fe.H,Fe.S),baseAlpha:z(Fe.H,Fe.S,!0),accent:z(Ie.H,Ie.S),accentAlpha:z(Ie.H,Ie.S,!0),working:z(Me.H,Me.S),workingAlpha:z(Me.H,Me.S,!0),warning:z(Be.H,Be.S),warningAlpha:z(Be.H,Be.S,!0),ok:z(Ee.H,Ee.S),okAlpha:z(Ee.H,Ee.S,!0),error:z(De.H,De.S),errorAlpha:z(De.H,De.S,!0)},{definePartsStyle:Y0,defineMultiStyleConfig:X0}=b(Ua.keys),K0=t({border:"none"}),Z0=t(e=>{const{colorScheme:r}=e;return{fontWeight:"600",fontSize:"sm",border:"none",borderRadius:"base",bg:n(`${r}.200`,`${r}.700`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.250`,`${r}.650`)(e)},_expanded:{bg:n(`${r}.250`,`${r}.650`)(e),borderBottomRadius:"none",_hover:{bg:n(`${r}.300`,`${r}.600`)(e)}}}}),J0=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.100`,`${r}.800`)(e),borderRadius:"base",borderTopRadius:"none"}}),Q0=t({}),ed=Y0(e=>({container:K0,button:Z0(e),panel:J0(e),icon:Q0})),rd=X0({variants:{invokeAI:ed},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),ad=t(e=>{const{colorScheme:r}=e;if(r==="base"){const o={bg:n("base.150","base.700")(e),color:n("base.500","base.500")(e),svg:{fill:n("base.500","base.500")(e)},opacity:1};return{bg:n("base.250","base.600")(e),color:n("base.850","base.100")(e),borderRadius:"base",svg:{fill:n("base.850","base.100")(e)},_hover:{bg:n("base.300","base.500")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.900","base.50")(e)},_disabled:o},_disabled:o}}const a={bg:n(`${r}.250`,`${r}.700`)(e),color:n(`${r}.50`,`${r}.500`)(e),svg:{fill:n(`${r}.50`,`${r}.500`)(e),filter:"unset"},opacity:1,filter:n(void 0,"saturate(65%)")(e)};return{bg:n(`${r}.400`,`${r}.600`)(e),color:n("base.50","base.100")(e),borderRadius:"base",svg:{fill:n("base.50","base.100")(e)},_disabled:a,_hover:{bg:n(`${r}.500`,`${r}.500`)(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)},_disabled:a}}}),td=t(e=>{const{colorScheme:r}=e,a=n("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:r==="gray"?a:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"}}}),od=h({variants:{invokeAI:ad,invokeAIOutline:td},defaultProps:{variant:"invokeAI",colorScheme:"base"}}),{definePartsStyle:nd,defineMultiStyleConfig:id}=b(Ya.keys),ld=t(e=>{const{colorScheme:r}=e;return{bg:n("base.200","base.700")(e),borderColor:n("base.200","base.700")(e),color:n("base.900","base.100")(e),_checked:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e),_hover:{bg:n(`${r}.400`,`${r}.500`)(e),borderColor:n(`${r}.400`,`${r}.500`)(e)},_disabled:{borderColor:"transparent",bg:"whiteAlpha.300",color:"whiteAlpha.500"}},_indeterminate:{bg:n(`${r}.300`,`${r}.600`)(e),borderColor:n(`${r}.300`,`${r}.600`)(e),color:n(`${r}.900`,`${r}.100`)(e)},_disabled:{bg:"whiteAlpha.100",borderColor:"transparent"},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:n("error.600","error.300")(e)}}}),sd=nd(e=>({control:ld(e)})),dd=id({variants:{invokeAI:sd},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{definePartsStyle:cd,defineMultiStyleConfig:bd}=b(Xa.keys),vd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"}),ud=t(e=>({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6},"::selection":{color:n("accent.900","accent.50")(e),bg:n("accent.200","accent.400")(e)}})),fd=t({borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}}),md=cd(e=>({preview:vd,input:ud(e),textarea:fd})),hd=bd({variants:{invokeAI:md},defaultProps:{size:"sm",variant:"invokeAI"}}),gd=t(e=>({fontSize:"sm",marginEnd:0,mb:1,fontWeight:"400",transitionProperty:"common",transitionDuration:"normal",whiteSpace:"nowrap",_disabled:{opacity:.4},color:n("base.700","base.300")(e)})),yd=h({variants:{invokeAI:gd},defaultProps:{variant:"invokeAI"}}),Je=e=>({outline:"none",borderWidth:2,borderStyle:"solid",borderColor:n("base.200","base.800")(e),bg:n("base.50","base.900")(e),borderRadius:"base",color:n("base.900","base.100")(e),boxShadow:"none",_hover:{borderColor:n("base.300","base.600")(e)},_focus:{borderColor:n("accent.200","accent.600")(e),boxShadow:"none",_hover:{borderColor:n("accent.300","accent.500")(e)}},_invalid:{borderColor:n("error.300","error.600")(e),boxShadow:"none",_hover:{borderColor:n("error.400","error.500")(e)}},_disabled:{borderColor:n("base.300","base.700")(e),bg:n("base.300","base.700")(e),color:n("base.600","base.400")(e),_hover:{borderColor:n("base.300","base.700")(e)}},_placeholder:{color:n("base.700","base.400")(e)},"::selection":{bg:n("accent.200","accent.400")(e)}}),{definePartsStyle:pd,defineMultiStyleConfig:Sd}=b(Ka.keys),xd=pd(e=>({field:Je(e)})),$d=Sd({variants:{invokeAI:xd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:kd,definePartsStyle:_d}=b(Za.keys),wd=t(e=>({bg:n("blackAlpha.700","blackAlpha.700")(e)})),zd=t({}),Cd=t(()=>({layerStyle:"first",maxH:"80vh"})),Ad=t(()=>({fontWeight:"600",fontSize:"lg",layerStyle:"first",borderTopRadius:"base",borderInlineEndRadius:"base"})),Pd=t({}),Td=t({overflowY:"scroll"}),Fd=t({}),Id=_d(e=>({overlay:wd(e),dialogContainer:zd,dialog:Cd(),header:Ad(),closeButton:Pd,body:Td,footer:Fd})),Md=kd({variants:{invokeAI:Id},defaultProps:{variant:"invokeAI",size:"lg"}}),{defineMultiStyleConfig:Bd,definePartsStyle:Ed}=b(Ja.keys),Dd=t(e=>({height:8})),Rd=t(e=>({border:"none",fontWeight:"600",height:"auto",py:1,ps:2,pe:6,...Je(e)})),jd=t(e=>({display:"flex"})),Hd=t(e=>({border:"none",px:2,py:0,mx:-2,my:0,svg:{color:n("base.700","base.300")(e),width:2.5,height:2.5,_hover:{color:n("base.900","base.100")(e)}}})),Wd=Ed(e=>({root:Dd(e),field:Rd(e),stepperGroup:jd(e),stepper:Hd(e)})),Vd=Bd({variants:{invokeAI:Wd},defaultProps:{size:"sm",variant:"invokeAI"}}),{defineMultiStyleConfig:Ld,definePartsStyle:qd}=b(Qa.keys),Od=m("popper-bg"),Nd=m("popper-arrow-bg"),Gd=m("popper-arrow-shadow-color"),Ud=t(e=>({[Nd.variable]:n("colors.base.100","colors.base.800")(e),[Od.variable]:n("colors.base.100","colors.base.800")(e),[Gd.variable]:n("colors.base.400","colors.base.600")(e),minW:"unset",width:"unset",p:4,bg:n("base.100","base.800")(e),border:"none",shadow:"dark-lg"})),Yd=qd(e=>({content:Ud(e)})),Xd=Ld({variants:{invokeAI:Yd},defaultProps:{variant:"invokeAI"}}),{defineMultiStyleConfig:Kd,definePartsStyle:Zd}=b(et.keys),Jd=t(e=>({bg:"accentAlpha.500"})),Qd=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.200`,`${r}.700`)(e)}}),ec=Zd(e=>({filledTrack:Jd(e),track:Qd(e)})),rc=Kd({variants:{invokeAI:ec},defaultProps:{variant:"invokeAI"}}),ac={"::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"},{definePartsStyle:tc,defineMultiStyleConfig:oc}=b(rt.keys),nc=t(e=>({color:n("base.200","base.300")(e)})),ic=t(e=>({fontWeight:"600",...Je(e)})),lc=tc(e=>({field:ic(e),icon:nc(e)})),sc=oc({variants:{invokeAI:lc},defaultProps:{size:"sm",variant:"invokeAI"}}),sa=c("skeleton-start-color"),da=c("skeleton-end-color"),dc=t({borderRadius:"base",maxW:"full",maxH:"full",_light:{[sa.variable]:"colors.base.250",[da.variable]:"colors.base.450"},_dark:{[sa.variable]:"colors.base.700",[da.variable]:"colors.base.500"}}),cc=h({variants:{invokeAI:dc},defaultProps:{variant:"invokeAI"}}),{definePartsStyle:bc,defineMultiStyleConfig:vc}=b(at.keys),uc=t(e=>({bg:n("base.400","base.600")(e),h:1.5})),fc=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.400`,`${r}.600`)(e),h:1.5}}),mc=t(e=>({w:2,h:4,bg:n("base.50","base.100")(e)})),hc=t(e=>({fontSize:"2xs",fontWeight:"500",color:n("base.700","base.400")(e),mt:2,insetInlineStart:"unset"})),gc=bc(e=>({container:{_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"}},track:uc(e),filledTrack:fc(e),thumb:mc(e),mark:hc(e)})),yc=vc({variants:{invokeAI:gc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:pc,definePartsStyle:Sc}=b(tt.keys),xc=t(e=>{const{colorScheme:r}=e;return{bg:n("base.300","base.600")(e),_focusVisible:{boxShadow:"none"},_checked:{bg:n(`${r}.400`,`${r}.500`)(e)}}}),$c=t(e=>{const{colorScheme:r}=e;return{bg:n(`${r}.50`,`${r}.50`)(e)}}),kc=Sc(e=>({container:{},track:xc(e),thumb:$c(e)})),_c=pc({variants:{invokeAI:kc},defaultProps:{size:"md",variant:"invokeAI",colorScheme:"accent"}}),{defineMultiStyleConfig:wc,definePartsStyle:zc}=b(ot.keys),Cc=t(e=>({display:"flex",columnGap:4})),Ac=t(e=>({})),Pc=t(e=>{const{colorScheme:r}=e;return{display:"flex",flexDirection:"column",gap:1,color:n("base.700","base.400")(e),button:{fontSize:"sm",padding:2,borderRadius:"base",textShadow:n("0 0 0.3rem var(--invokeai-colors-accent-100)","0 0 0.3rem var(--invokeai-colors-accent-900)")(e),svg:{fill:n("base.700","base.300")(e)},_selected:{bg:n("accent.400","accent.600")(e),color:n("base.50","base.100")(e),svg:{fill:n("base.50","base.100")(e),filter:n(`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-600))`,`drop-shadow(0px 0px 0.3rem var(--invokeai-colors-${r}-800))`)(e)},_hover:{bg:n("accent.500","accent.500")(e),color:n("white","base.50")(e),svg:{fill:n("white","base.50")(e)}}},_hover:{bg:n("base.100","base.800")(e),color:n("base.900","base.50")(e),svg:{fill:n("base.800","base.100")(e)}}}}}),Tc=t(e=>({padding:0,height:"100%"})),Fc=zc(e=>({root:Cc(e),tab:Ac(e),tablist:Pc(e),tabpanel:Tc(e)})),Ic=wc({variants:{invokeAI:Fc},defaultProps:{variant:"invokeAI",colorScheme:"accent"}}),Mc=t(e=>({color:n("base.500","base.400")(e)})),Bc=h({variants:{subtext:Mc}}),Ec=t(e=>({...Je(e),"::-webkit-scrollbar":{display:"initial"},"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, + var(--invokeai-colors-base-50) 0%, + var(--invokeai-colors-base-50) 70%, + var(--invokeai-colors-base-200) 70%, + var(--invokeai-colors-base-200) 100%)`},_dark:{"::-webkit-resizer":{backgroundImage:`linear-gradient(135deg, + var(--invokeai-colors-base-900) 0%, + var(--invokeai-colors-base-900) 70%, + var(--invokeai-colors-base-800) 70%, + var(--invokeai-colors-base-800) 100%)`}}})),Dc=h({variants:{invokeAI:Ec},defaultProps:{size:"md",variant:"invokeAI"}}),Rc=m("popper-arrow-bg"),jc=t(e=>({borderRadius:"base",shadow:"dark-lg",bg:n("base.700","base.200")(e),[Rc.variable]:n("colors.base.700","colors.base.200")(e),pb:1.5})),Hc=h({baseStyle:jc}),Wc={config:{cssVarPrefix:"invokeai",initialColorMode:"dark",useSystemColorMode:!1},layerStyles:{body:{bg:"base.50",color:"base.900",".chakra-ui-dark &":{bg:"base.900",color:"base.50"}},first:{bg:"base.100",color:"base.900",".chakra-ui-dark &":{bg:"base.850",color:"base.100"}},second:{bg:"base.200",color:"base.900",".chakra-ui-dark &":{bg:"base.800",color:"base.100"}}},styles:{global:()=>({layerStyle:"body","*":{...ac}})},direction:"ltr",fonts:{body:"'Inter Variable', sans-serif"},shadows:{light:{accent:"0 0 10px 0 var(--invokeai-colors-accent-300)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-400)",ok:"0 0 7px var(--invokeai-colors-ok-600)",working:"0 0 7px var(--invokeai-colors-working-600)",error:"0 0 7px var(--invokeai-colors-error-600)"},dark:{accent:"0 0 10px 0 var(--invokeai-colors-accent-600)",accentHover:"0 0 10px 0 var(--invokeai-colors-accent-500)",ok:"0 0 7px var(--invokeai-colors-ok-400)",working:"0 0 7px var(--invokeai-colors-working-400)",error:"0 0 7px var(--invokeai-colors-error-400)"},selected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-400)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-500)"},hoverSelected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 4px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 4px var(--invokeai-colors-accent-400)"},hoverUnselected:{light:"0px 0px 0px 1px var(--invokeai-colors-base-150), 0px 0px 0px 3px var(--invokeai-colors-accent-500)",dark:"0px 0px 0px 1px var(--invokeai-colors-base-900), 0px 0px 0px 3px var(--invokeai-colors-accent-400)"},nodeSelectedOutline:"0 0 0 2px var(--invokeai-colors-accent-450)"},colors:U0,components:{Button:od,Input:$d,Editable:hd,Textarea:Dc,Tabs:Ic,Progress:rc,Accordion:rd,FormLabel:yd,Switch:_c,NumberInput:Vd,Select:sc,Skeleton:cc,Slider:yc,Popover:Xd,Modal:Md,Checkbox:dd,Menu:nt,Text:Bc,Tooltip:Hc}};const Vc=()=>x.useMemo(()=>({colorScheme:"dark",fontFamily:"'Inter Variable', sans-serif",components:{ScrollArea:{defaultProps:{scrollbarSize:10},styles:{scrollbar:{"&:hover":{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}},thumb:{backgroundColor:"var(--invokeai-colors-baseAlpha-300)"}}}}}),[]),Lc=fa("@@invokeai-color-mode");function Nc({children:e}){const{i18n:r}=it(),a=r.dir(),o=x.useMemo(()=>j0({...Wc,direction:a}),[a]);x.useEffect(()=>{document.body.dir=a},[a]);const i=Vc();return g.jsx(lt,{theme:i,children:g.jsx(G0,{theme:o,colorModeManager:Lc,children:e})})}export{Nc as default}; diff --git a/invokeai/frontend/web/dist/assets/index-9488b384.js b/invokeai/frontend/web/dist/assets/index-9488b384.js new file mode 100644 index 0000000000..ff81ab4dfd --- /dev/null +++ b/invokeai/frontend/web/dist/assets/index-9488b384.js @@ -0,0 +1,125 @@ +function OP(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function nF(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var RP={exports:{}},Sy={},IP={exports:{}},Re={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Jf=Symbol.for("react.element"),rF=Symbol.for("react.portal"),iF=Symbol.for("react.fragment"),oF=Symbol.for("react.strict_mode"),sF=Symbol.for("react.profiler"),aF=Symbol.for("react.provider"),lF=Symbol.for("react.context"),uF=Symbol.for("react.forward_ref"),cF=Symbol.for("react.suspense"),dF=Symbol.for("react.memo"),fF=Symbol.for("react.lazy"),N3=Symbol.iterator;function hF(e){return e===null||typeof e!="object"?null:(e=N3&&e[N3]||e["@@iterator"],typeof e=="function"?e:null)}var MP={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},NP=Object.assign,DP={};function dc(e,t,n){this.props=e,this.context=t,this.refs=DP,this.updater=n||MP}dc.prototype.isReactComponent={};dc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};dc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function LP(){}LP.prototype=dc.prototype;function lw(e,t,n){this.props=e,this.context=t,this.refs=DP,this.updater=n||MP}var uw=lw.prototype=new LP;uw.constructor=lw;NP(uw,dc.prototype);uw.isPureReactComponent=!0;var D3=Array.isArray,$P=Object.prototype.hasOwnProperty,cw={current:null},FP={key:!0,ref:!0,__self:!0,__source:!0};function BP(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)$P.call(t,r)&&!FP.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,U=R[j];if(0>>1;ji(X,L))Yi(B,X)?(R[j]=B,R[Y]=L,j=Y):(R[j]=X,R[W]=L,j=W);else if(Yi(B,L))R[j]=B,R[Y]=L,j=Y;else break e}}return D}function i(R,D){var L=R.sortIndex-D.sortIndex;return L!==0?L:R.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,f=3,h=!1,p=!1,m=!1,S=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(R){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=R)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function b(R){if(m=!1,g(R),!p)if(n(l)!==null)p=!0,I(_);else{var D=n(u);D!==null&&N(b,D.startTime-R)}}function _(R,D){p=!1,m&&(m=!1,v(T),T=-1),h=!0;var L=f;try{for(g(D),d=n(l);d!==null&&(!(d.expirationTime>D)||R&&!A());){var j=d.callback;if(typeof j=="function"){d.callback=null,f=d.priorityLevel;var U=j(d.expirationTime<=D);D=e.unstable_now(),typeof U=="function"?d.callback=U:d===n(l)&&r(l),g(D)}else r(l);d=n(l)}if(d!==null)var G=!0;else{var W=n(u);W!==null&&N(b,W.startTime-D),G=!1}return G}finally{d=null,f=L,h=!1}}var w=!1,x=null,T=-1,P=5,E=-1;function A(){return!(e.unstable_now()-ER||125j?(R.sortIndex=L,t(u,R),n(l)===null&&R===n(u)&&(m?(v(T),T=-1):m=!0,N(b,L-j))):(R.sortIndex=U,t(l,R),p||h||(p=!0,I(_))),R},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(R){var D=f;return function(){var L=f;f=D;try{return R.apply(this,arguments)}finally{f=L}}}})(UP);zP.exports=UP;var CF=zP.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var GP=k,kr=CF;function Z(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),CS=Object.prototype.hasOwnProperty,TF=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,F3={},B3={};function EF(e){return CS.call(B3,e)?!0:CS.call(F3,e)?!1:TF.test(e)?B3[e]=!0:(F3[e]=!0,!1)}function PF(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function AF(e,t,n,r){if(t===null||typeof t>"u"||PF(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function rr(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kn[e]=new rr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kn[t]=new rr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kn[e]=new rr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kn[e]=new rr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){kn[e]=new rr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kn[e]=new rr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kn[e]=new rr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kn[e]=new rr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kn[e]=new rr(e,5,!1,e.toLowerCase(),null,!1,!1)});var fw=/[\-:]([a-z])/g;function hw(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!1,!1)});kn.xlinkHref=new rr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!0,!0)});function pw(e,t,n,r){var i=kn.hasOwnProperty(t)?kn[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` +`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{D1=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ad(e):""}function kF(e){switch(e.tag){case 5:return ad(e.type);case 16:return ad("Lazy");case 13:return ad("Suspense");case 19:return ad("SuspenseList");case 0:case 2:case 15:return e=L1(e.type,!1),e;case 11:return e=L1(e.type.render,!1),e;case 1:return e=L1(e.type,!0),e;default:return""}}function AS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case eu:return"Fragment";case Jl:return"Portal";case TS:return"Profiler";case gw:return"StrictMode";case ES:return"Suspense";case PS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case WP:return(e.displayName||"Context")+".Consumer";case qP:return(e._context.displayName||"Context")+".Provider";case mw:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yw:return t=e.displayName||null,t!==null?t:AS(e.type)||"Memo";case ls:t=e._payload,e=e._init;try{return AS(e(t))}catch{}}return null}function OF(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return AS(t);case 8:return t===gw?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ls(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function XP(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function RF(e){var t=XP(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qh(e){e._valueTracker||(e._valueTracker=RF(e))}function YP(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=XP(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mg(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function kS(e,t){var n=t.checked;return Ot({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function V3(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ls(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function QP(e,t){t=t.checked,t!=null&&pw(e,"checked",t,!1)}function OS(e,t){QP(e,t);var n=Ls(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?RS(e,t.type,n):t.hasOwnProperty("defaultValue")&&RS(e,t.type,Ls(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function z3(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function RS(e,t,n){(t!=="number"||Mg(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ld=Array.isArray;function yu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Zh.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bd(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},IF=["Webkit","ms","Moz","O"];Object.keys(yd).forEach(function(e){IF.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),yd[t]=yd[e]})});function tA(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||yd.hasOwnProperty(e)&&yd[e]?(""+t).trim():t+"px"}function nA(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=tA(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var MF=Ot({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function NS(e,t){if(t){if(MF[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Z(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Z(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Z(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Z(62))}}function DS(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var LS=null;function vw(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $S=null,vu=null,bu=null;function H3(e){if(e=nh(e)){if(typeof $S!="function")throw Error(Z(280));var t=e.stateNode;t&&(t=Ty(t),$S(e.stateNode,e.type,t))}}function rA(e){vu?bu?bu.push(e):bu=[e]:vu=e}function iA(){if(vu){var e=vu,t=bu;if(bu=vu=null,H3(e),t)for(e=0;e>>=0,e===0?32:31-(GF(e)/HF|0)|0}var Jh=64,ep=4194304;function ud(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $g(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=ud(a):(o&=s,o!==0&&(r=ud(o)))}else s=n&~i,s!==0?r=ud(s):o!==0&&(r=ud(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function eh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mi(t),e[t]=n}function XF(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=bd),e5=String.fromCharCode(32),t5=!1;function CA(e,t){switch(e){case"keyup":return xB.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function TA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var tu=!1;function TB(e,t){switch(e){case"compositionend":return TA(t);case"keypress":return t.which!==32?null:(t5=!0,e5);case"textInput":return e=t.data,e===e5&&t5?null:e;default:return null}}function EB(e,t){if(tu)return e==="compositionend"||!Ew&&CA(e,t)?(e=wA(),eg=xw=vs=null,tu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=o5(n)}}function kA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?kA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function OA(){for(var e=window,t=Mg();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mg(e.document)}return t}function Pw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function DB(e){var t=OA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&kA(n.ownerDocument.documentElement,n)){if(r!==null&&Pw(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=s5(n,o);var s=s5(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,nu=null,US=null,_d=null,GS=!1;function a5(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;GS||nu==null||nu!==Mg(r)||(r=nu,"selectionStart"in r&&Pw(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_d&&Hd(_d,r)||(_d=r,r=jg(US,"onSelect"),0ou||(e.current=YS[ou],YS[ou]=null,ou--)}function at(e,t){ou++,YS[ou]=e.current,e.current=t}var $s={},Bn=Qs($s),pr=Qs(!1),Ha=$s;function ju(e,t){var n=e.type.contextTypes;if(!n)return $s;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function gr(e){return e=e.childContextTypes,e!=null}function zg(){ht(pr),ht(Bn)}function p5(e,t,n){if(Bn.current!==$s)throw Error(Z(168));at(Bn,t),at(pr,n)}function BA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Z(108,OF(e)||"Unknown",i));return Ot({},n,r)}function Ug(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$s,Ha=Bn.current,at(Bn,e),at(pr,pr.current),!0}function g5(e,t,n){var r=e.stateNode;if(!r)throw Error(Z(169));n?(e=BA(e,t,Ha),r.__reactInternalMemoizedMergedChildContext=e,ht(pr),ht(Bn),at(Bn,e)):ht(pr),at(pr,n)}var _o=null,Ey=!1,Y1=!1;function jA(e){_o===null?_o=[e]:_o.push(e)}function WB(e){Ey=!0,jA(e)}function Zs(){if(!Y1&&_o!==null){Y1=!0;var e=0,t=Ke;try{var n=_o;for(Ke=1;e>=s,i-=s,To=1<<32-mi(t)+i|n<T?(P=x,x=null):P=x.sibling;var E=f(v,x,g[T],b);if(E===null){x===null&&(x=P);break}e&&x&&E.alternate===null&&t(v,x),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E,x=P}if(T===g.length)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;TT?(P=x,x=null):P=x.sibling;var A=f(v,x,E.value,b);if(A===null){x===null&&(x=P);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,T),w===null?_=A:w.sibling=A,w=A,x=P}if(E.done)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;!E.done;T++,E=g.next())E=d(v,E.value,b),E!==null&&(y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return St&&Sa(v,T),_}for(x=r(v,x);!E.done;T++,E=g.next())E=h(x,v,T,E.value,b),E!==null&&(e&&E.alternate!==null&&x.delete(E.key===null?T:E.key),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return e&&x.forEach(function($){return t(v,$)}),St&&Sa(v,T),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===eu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yh:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===eu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===ls&&w5(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=$c(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===eu?(y=$a(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=lg(g.type,g.key,g.props,null,v.mode,b),b.ref=$c(v,y,g),b.return=v,v=b)}return s(v);case Jl:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=ib(g,v.mode,b),y.return=v,v=y}return s(v);case ls:return w=g._init,S(v,y,w(g._payload),b)}if(ld(g))return p(v,y,g,b);if(Ic(g))return m(v,y,g,b);ap(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=rb(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var zu=KA(!0),XA=KA(!1),rh={},Xi=Qs(rh),Xd=Qs(rh),Yd=Qs(rh);function Oa(e){if(e===rh)throw Error(Z(174));return e}function Lw(e,t){switch(at(Yd,t),at(Xd,e),at(Xi,rh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:MS(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=MS(t,e)}ht(Xi),at(Xi,t)}function Uu(){ht(Xi),ht(Xd),ht(Yd)}function YA(e){Oa(Yd.current);var t=Oa(Xi.current),n=MS(t,e.type);t!==n&&(at(Xd,e),at(Xi,n))}function $w(e){Xd.current===e&&(ht(Xi),ht(Xd))}var Et=Qs(0);function Xg(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Q1=[];function Fw(){for(var e=0;en?n:4,e(!0);var r=Z1.transition;Z1.transition={};try{e(!1),t()}finally{Ke=n,Z1.transition=r}}function f9(){return Qr().memoizedState}function QB(e,t,n){var r=As(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},h9(e))p9(t,n);else if(n=GA(e,t,n,r),n!==null){var i=Zn();yi(n,e,r,i),g9(n,t,r)}}function ZB(e,t,n){var r=As(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(h9(e))p9(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,wi(a,s)){var l=t.interleaved;l===null?(i.next=i,Nw(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=GA(e,t,i,r),n!==null&&(i=Zn(),yi(n,e,r,i),g9(n,t,r))}}function h9(e){var t=e.alternate;return e===kt||t!==null&&t===kt}function p9(e,t){wd=Yg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function g9(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Sw(e,n)}}var Qg={readContext:Yr,useCallback:Mn,useContext:Mn,useEffect:Mn,useImperativeHandle:Mn,useInsertionEffect:Mn,useLayoutEffect:Mn,useMemo:Mn,useReducer:Mn,useRef:Mn,useState:Mn,useDebugValue:Mn,useDeferredValue:Mn,useTransition:Mn,useMutableSource:Mn,useSyncExternalStore:Mn,useId:Mn,unstable_isNewReconciler:!1},JB={readContext:Yr,useCallback:function(e,t){return Di().memoizedState=[e,t===void 0?null:t],e},useContext:Yr,useEffect:C5,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ig(4194308,4,a9.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ig(4194308,4,e,t)},useInsertionEffect:function(e,t){return ig(4,2,e,t)},useMemo:function(e,t){var n=Di();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Di();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=QB.bind(null,kt,e),[r.memoizedState,e]},useRef:function(e){var t=Di();return e={current:e},t.memoizedState=e},useState:x5,useDebugValue:Uw,useDeferredValue:function(e){return Di().memoizedState=e},useTransition:function(){var e=x5(!1),t=e[0];return e=YB.bind(null,e[1]),Di().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=kt,i=Di();if(St){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=t(),gn===null)throw Error(Z(349));Wa&30||JA(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,C5(t9.bind(null,r,o,e),[e]),r.flags|=2048,Jd(9,e9.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Di(),t=gn.identifierPrefix;if(St){var n=Eo,r=To;n=(r&~(1<<32-mi(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qd++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Vi]=t,e[Kd]=r,C9(e,t,!1,!1),t.stateNode=e;e:{switch(s=DS(n,r),n){case"dialog":ct("cancel",e),ct("close",e),i=r;break;case"iframe":case"object":case"embed":ct("load",e),i=r;break;case"video":case"audio":for(i=0;iHu&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xg(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fc(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!St)return Nn(t),null}else 2*Bt()-o.renderingStartTime>Hu&&n!==1073741824&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Bt(),t.sibling=null,n=Et.current,at(Et,r?n&1|2:n&1),t):(Nn(t),null);case 22:case 23:return Xw(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Cr&1073741824&&(Nn(t),t.subtreeFlags&6&&(t.flags|=8192)):Nn(t),null;case 24:return null;case 25:return null}throw Error(Z(156,t.tag))}function aj(e,t){switch(kw(t),t.tag){case 1:return gr(t.type)&&zg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Uu(),ht(pr),ht(Bn),Fw(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $w(t),null;case 13:if(ht(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Z(340));Vu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ht(Et),null;case 4:return Uu(),null;case 10:return Mw(t.type._context),null;case 22:case 23:return Xw(),null;case 24:return null;default:return null}}var up=!1,Fn=!1,lj=typeof WeakSet=="function"?WeakSet:Set,ae=null;function uu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Mt(e,t,r)}else n.current=null}function l_(e,t,n){try{n()}catch(r){Mt(e,t,r)}}var M5=!1;function uj(e,t){if(HS=Fg,e=OA(),Pw(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(qS={focusedElem:e,selectionRange:n},Fg=!1,ae=t;ae!==null;)if(t=ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ae=e;else for(;ae!==null;){t=ae;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ai(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(b){Mt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,ae=e;break}ae=t.return}return p=M5,M5=!1,p}function xd(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&l_(t,n,o)}i=i.next}while(i!==r)}}function ky(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function u_(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function P9(e){var t=e.alternate;t!==null&&(e.alternate=null,P9(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vi],delete t[Kd],delete t[XS],delete t[HB],delete t[qB])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function A9(e){return e.tag===5||e.tag===3||e.tag===4}function N5(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||A9(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function c_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vg));else if(r!==4&&(e=e.child,e!==null))for(c_(e,t,n),e=e.sibling;e!==null;)c_(e,t,n),e=e.sibling}function d_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(d_(e,t,n),e=e.sibling;e!==null;)d_(e,t,n),e=e.sibling}var Tn=null,li=!1;function ts(e,t,n){for(n=n.child;n!==null;)k9(e,t,n),n=n.sibling}function k9(e,t,n){if(Ki&&typeof Ki.onCommitFiberUnmount=="function")try{Ki.onCommitFiberUnmount(_y,n)}catch{}switch(n.tag){case 5:Fn||uu(n,t);case 6:var r=Tn,i=li;Tn=null,ts(e,t,n),Tn=r,li=i,Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tn.removeChild(n.stateNode));break;case 18:Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?X1(e.parentNode,n):e.nodeType===1&&X1(e,n),Ud(e)):X1(Tn,n.stateNode));break;case 4:r=Tn,i=li,Tn=n.stateNode.containerInfo,li=!0,ts(e,t,n),Tn=r,li=i;break;case 0:case 11:case 14:case 15:if(!Fn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&l_(n,t,s),i=i.next}while(i!==r)}ts(e,t,n);break;case 1:if(!Fn&&(uu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Mt(n,t,a)}ts(e,t,n);break;case 21:ts(e,t,n);break;case 22:n.mode&1?(Fn=(r=Fn)||n.memoizedState!==null,ts(e,t,n),Fn=r):ts(e,t,n);break;default:ts(e,t,n)}}function D5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new lj),t.forEach(function(r){var i=vj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function oi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Bt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dj(r/1960))-r,10e?16:e,bs===null)var r=!1;else{if(e=bs,bs=null,em=0,$e&6)throw Error(Z(331));var i=$e;for($e|=4,ae=e.current;ae!==null;){var o=ae,s=o.child;if(ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lBt()-Ww?La(e,0):qw|=n),mr(e,t)}function $9(e,t){t===0&&(e.mode&1?(t=ep,ep<<=1,!(ep&130023424)&&(ep=4194304)):t=1);var n=Zn();e=Fo(e,t),e!==null&&(eh(e,t,n),mr(e,n))}function yj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$9(e,n)}function vj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(t),$9(e,n)}var F9;F9=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pr.current)dr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return dr=!1,oj(e,t,n);dr=!!(e.flags&131072)}else dr=!1,St&&t.flags&1048576&&VA(t,Hg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;og(e,t),e=t.pendingProps;var i=ju(t,Bn.current);_u(t,n),i=jw(null,t,r,e,i,n);var o=Vw();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,gr(r)?(o=!0,Ug(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Dw(t),i.updater=Py,t.stateNode=i,i._reactInternals=t,t_(t,r,e,n),t=i_(null,t,r,!0,o,n)):(t.tag=0,St&&o&&Aw(t),Yn(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(og(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Sj(r),e=ai(r,e),i){case 0:t=r_(null,t,r,e,n);break e;case 1:t=O5(null,t,r,e,n);break e;case 11:t=A5(null,t,r,e,n);break e;case 14:t=k5(null,t,r,ai(r.type,e),n);break e}throw Error(Z(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),r_(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),O5(e,t,r,i,n);case 3:e:{if(_9(t),e===null)throw Error(Z(387));r=t.pendingProps,o=t.memoizedState,i=o.element,HA(e,t),Kg(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Gu(Error(Z(423)),t),t=R5(e,t,r,n,i);break e}else if(r!==i){i=Gu(Error(Z(424)),t),t=R5(e,t,r,n,i);break e}else for(Er=Ts(t.stateNode.containerInfo.firstChild),Pr=t,St=!0,ci=null,n=XA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Vu(),r===i){t=Bo(e,t,n);break e}Yn(e,t,r,n)}t=t.child}return t;case 5:return YA(t),e===null&&ZS(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,WS(r,i)?s=null:o!==null&&WS(r,o)&&(t.flags|=32),S9(e,t),Yn(e,t,s,n),t.child;case 6:return e===null&&ZS(t),null;case 13:return w9(e,t,n);case 4:return Lw(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=zu(t,null,r,n):Yn(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),A5(e,t,r,i,n);case 7:return Yn(e,t,t.pendingProps,n),t.child;case 8:return Yn(e,t,t.pendingProps.children,n),t.child;case 12:return Yn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,at(qg,r._currentValue),r._currentValue=s,o!==null)if(wi(o.value,s)){if(o.children===i.children&&!pr.current){t=Bo(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ko(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),JS(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(Z(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),JS(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Yn(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,_u(t,n),i=Yr(i),r=r(i),t.flags|=1,Yn(e,t,r,n),t.child;case 14:return r=t.type,i=ai(r,t.pendingProps),i=ai(r.type,i),k5(e,t,r,i,n);case 15:return v9(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),og(e,t),t.tag=1,gr(r)?(e=!0,Ug(t)):e=!1,_u(t,n),WA(t,r,i),t_(t,r,i,n),i_(null,t,r,!0,e,n);case 19:return x9(e,t,n);case 22:return b9(e,t,n)}throw Error(Z(156,t.tag))};function B9(e,t){return dA(e,t)}function bj(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wr(e,t,n,r){return new bj(e,t,n,r)}function Qw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sj(e){if(typeof e=="function")return Qw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===mw)return 11;if(e===yw)return 14}return 2}function ks(e,t){var n=e.alternate;return n===null?(n=Wr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")Qw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case eu:return $a(n.children,i,o,t);case gw:s=8,i|=8;break;case TS:return e=Wr(12,n,t,i|2),e.elementType=TS,e.lanes=o,e;case ES:return e=Wr(13,n,t,i),e.elementType=ES,e.lanes=o,e;case PS:return e=Wr(19,n,t,i),e.elementType=PS,e.lanes=o,e;case KP:return Ry(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qP:s=10;break e;case WP:s=9;break e;case mw:s=11;break e;case yw:s=14;break e;case ls:s=16,r=null;break e}throw Error(Z(130,e==null?e:typeof e,""))}return t=Wr(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function $a(e,t,n,r){return e=Wr(7,e,r,t),e.lanes=n,e}function Ry(e,t,n,r){return e=Wr(22,e,r,t),e.elementType=KP,e.lanes=n,e.stateNode={isHidden:!1},e}function rb(e,t,n){return e=Wr(6,e,null,t),e.lanes=n,e}function ib(e,t,n){return t=Wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _j(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=F1(0),this.expirationTimes=F1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=F1(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Zw(e,t,n,r,i,o,s,a,l){return e=new _j(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Wr(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Dw(o),e}function wj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(U9)}catch(e){console.error(e)}}U9(),VP.exports=Mr;var zi=VP.exports;const cwe=al(zi);var U5=zi;xS.createRoot=U5.createRoot,xS.hydrateRoot=U5.hydrateRoot;const Pj="modulepreload",Aj=function(e,t){return new URL(e,t).href},G5={},G9=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Aj(o,r),o in G5)return;G5[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Pj,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var H9={exports:{}},q9={};/** + * @license React + * use-sync-external-store-shim.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var qu=k;function kj(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Oj=typeof Object.is=="function"?Object.is:kj,Rj=qu.useState,Ij=qu.useEffect,Mj=qu.useLayoutEffect,Nj=qu.useDebugValue;function Dj(e,t){var n=t(),r=Rj({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Mj(function(){i.value=n,i.getSnapshot=t,ob(i)&&o({inst:i})},[e,n,t]),Ij(function(){return ob(i)&&o({inst:i}),e(function(){ob(i)&&o({inst:i})})},[e]),Nj(n),n}function ob(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Oj(e,n)}catch{return!0}}function Lj(e,t){return t()}var $j=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Lj:Dj;q9.useSyncExternalStore=qu.useSyncExternalStore!==void 0?qu.useSyncExternalStore:$j;H9.exports=q9;var Fj=H9.exports,W9={exports:{}},K9={};/** + * @license React + * use-sync-external-store-shim/with-selector.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ly=k,Bj=Fj;function jj(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Vj=typeof Object.is=="function"?Object.is:jj,zj=Bj.useSyncExternalStore,Uj=Ly.useRef,Gj=Ly.useEffect,Hj=Ly.useMemo,qj=Ly.useDebugValue;K9.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Uj(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=Hj(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return d=p}return d=h}if(p=d,Vj(c,h))return p;var m=r(h);return i!==void 0&&i(p,m)?p:(c=h,d=m)}var u=!1,c,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var a=zj(e,o[0],o[1]);return Gj(function(){s.hasValue=!0,s.value=a},[a]),qj(a),a};W9.exports=K9;var X9=W9.exports;const Wj=al(X9);function Kj(e){e()}let Y9=Kj;const Xj=e=>Y9=e,Yj=()=>Y9,H5=Symbol.for(`react-redux-context-${k.version}`),q5=globalThis;function Qj(){let e=q5[H5];return e||(e=k.createContext(null),q5[H5]=e),e}const Fs=new Proxy({},new Proxy({},{get(e,t){const n=Qj();return(r,...i)=>Reflect[t](n,...i)}}));function nx(e=Fs){return function(){return k.useContext(e)}}const Q9=nx(),Zj=()=>{throw new Error("uSES not initialized!")};let Z9=Zj;const Jj=e=>{Z9=e},eV=(e,t)=>e===t;function tV(e=Fs){const t=e===Fs?Q9:nx(e);return function(r,i={}){const{equalityFn:o=eV,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:c,stabilityCheck:d,noopCheck:f}=t();k.useRef(!0);const h=k.useCallback({[r.name](m){return r(m)}}[r.name],[r,d,s]),p=Z9(u.addNestedSub,l.getState,c||l.getState,h,o);return k.useDebugValue(p),p}}const J9=tV();function rm(){return rm=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const W5={notify(){},get:()=>[]};function hV(e,t){let n,r=W5;function i(d){return l(),r.subscribe(d)}function o(){r.notify()}function s(){c.onStateChange&&c.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=fV())}function u(){n&&(n(),n=void 0,r.clear(),r=W5)}const c={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return c}const pV=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",gV=pV?k.useLayoutEffect:k.useEffect;function K5(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function im(e,t){if(K5(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=hV(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=k.useMemo(()=>e.getState(),[e]);gV(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Fs;return We.createElement(l.Provider,{value:s},n)}function ok(e=Fs){const t=e===Fs?Q9:nx(e);return function(){const{store:r}=t();return r}}const sk=ok();function yV(e=Fs){const t=e===Fs?sk:ok(e);return function(){return t().dispatch}}const ak=yV();Jj(X9.useSyncExternalStoreWithSelector);Xj(zi.unstable_batchedUpdates);function pn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:r0(e)?2:i0(e)?3:0}function Os(e,t){return Bs(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function ug(e,t){return Bs(e)===2?e.get(t):e[t]}function lk(e,t,n){var r=Bs(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function uk(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function r0(e){return xV&&e instanceof Map}function i0(e){return CV&&e instanceof Set}function un(e){return e.o||e.t}function ux(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=dk(e);delete t[_e];for(var n=Cu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=vV),Object.freeze(e),t&&jo(e,function(n,r){return ih(r,!0)},!0)),e}function vV(){pn(2)}function cx(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Yi(e){var t=y_[e];return t||pn(18,e),t}function dx(e,t){y_[e]||(y_[e]=t)}function tf(){return rf}function sb(e,t){t&&(Yi("Patches"),e.u=[],e.s=[],e.v=t)}function om(e){m_(e),e.p.forEach(bV),e.p=null}function m_(e){e===rf&&(rf=e.l)}function X5(e){return rf={p:[],l:rf,h:e,m:!0,_:0}}function bV(e){var t=e[_e];t.i===0||t.i===1?t.j():t.g=!0}function ab(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Yi("ES5").S(t,e,r),r?(n[_e].P&&(om(t),pn(4)),yr(e)&&(e=sm(t,e),t.l||am(t,e)),t.u&&Yi("Patches").M(n[_e].t,e,t.u,t.s)):e=sm(t,n,[]),om(t),t.u&&t.v(t.u,t.s),e!==s0?e:void 0}function sm(e,t,n){if(cx(t))return t;var r=t[_e];if(!r)return jo(t,function(a,l){return Y5(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return am(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=ux(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),jo(o,function(a,l){return Y5(e,r,i,a,l,n,s)}),am(e,i,!1),n&&e.u&&Yi("Patches").N(r,n,e.u,e.s)}return r.o}function Y5(e,t,n,r,i,o,s){if(er(i)){var a=sm(e,i,o&&t&&t.i!==3&&!Os(t.R,r)?o.concat(r):void 0);if(lk(n,r,a),!er(a))return;e.m=!1}else s&&n.add(i);if(yr(i)&&!cx(i)){if(!e.h.D&&e._<1)return;sm(e,i),t&&t.A.l||am(e,i)}}function am(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&ih(t,n)}function lb(e,t){var n=e[_e];return(n?un(n):e)[t]}function Q5(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function cr(e){e.P||(e.P=!0,e.l&&cr(e.l))}function ub(e){e.o||(e.o=ux(e.t))}function nf(e,t,n){var r=r0(t)?Yi("MapSet").F(t,n):i0(t)?Yi("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:tf(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=of;s&&(l=[a],u=dd);var c=Proxy.revocable(l,u),d=c.revoke,f=c.proxy;return a.k=f,a.j=d,f}(t,n):Yi("ES5").J(t,n);return(n?n.A:tf()).p.push(r),r}function o0(e){return er(e)||pn(22,e),function t(n){if(!yr(n))return n;var r,i=n[_e],o=Bs(n);if(i){if(!i.P&&(i.i<4||!Yi("ES5").K(i)))return i.t;i.I=!0,r=Z5(n,o),i.I=!1}else r=Z5(n,o);return jo(r,function(s,a){i&&ug(i.t,s)===a||lk(r,s,t(a))}),o===3?new Set(r):r}(e)}function Z5(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ux(e)}function fx(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[_e];return of.get(l,o)},set:function(l){var u=this[_e];of.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][_e];if(!a.P)switch(a.i){case 5:r(a)&&cr(a);break;case 4:n(a)&&cr(a)}}}function n(o){for(var s=o.t,a=o.k,l=Cu(a),u=l.length-1;u>=0;u--){var c=l[u];if(c!==_e){var d=s[c];if(d===void 0&&!Os(s,c))return!0;var f=a[c],h=f&&f[_e];if(h?h.t!==d:!uk(f,d))return!0}}var p=!!s[_e];return l.length!==Cu(s).length+(p?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?v-1:0),g=1;g1?c-1:0),f=1;f=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Yi("Patches").$;return er(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Or=new fk,hk=Or.produce,gx=Or.produceWithPatches.bind(Or),EV=Or.setAutoFreeze.bind(Or),PV=Or.setUseProxies.bind(Or),v_=Or.applyPatches.bind(Or),AV=Or.createDraft.bind(Or),kV=Or.finishDraft.bind(Or);const Js=hk,dwe=Object.freeze(Object.defineProperty({__proto__:null,Immer:fk,applyPatches:v_,castDraft:_V,castImmutable:wV,createDraft:AV,current:o0,default:Js,enableAllPlugins:SV,enableES5:fx,enableMapSet:ck,enablePatches:hx,finishDraft:kV,freeze:ih,immerable:xu,isDraft:er,isDraftable:yr,nothing:s0,original:lx,produce:hk,produceWithPatches:gx,setAutoFreeze:EV,setUseProxies:PV},Symbol.toStringTag,{value:"Module"}));function sf(e){"@babel/helpers - typeof";return sf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sf(e)}function OV(e,t){if(sf(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(sf(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function RV(e){var t=OV(e,"string");return sf(t)==="symbol"?t:String(t)}function IV(e,t,n){return t=RV(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function n4(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(En(1));return n(oh)(e,t)}if(typeof e!="function")throw new Error(En(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function c(){if(l)throw new Error(En(3));return o}function d(m){if(typeof m!="function")throw new Error(En(4));if(l)throw new Error(En(5));var S=!0;return u(),a.push(m),function(){if(S){if(l)throw new Error(En(6));S=!1,u();var y=a.indexOf(m);a.splice(y,1),s=null}}}function f(m){if(!MV(m))throw new Error(En(7));if(typeof m.type>"u")throw new Error(En(8));if(l)throw new Error(En(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var S=s=a,v=0;v"u")throw new Error(En(12));if(typeof n(void 0,{type:Wu.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(En(13))})}function pc(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(En(14));d[h]=S,c=c||S!==m}return c=c||o.length!==Object.keys(l).length,c?d:l}}function i4(e,t){return function(){return t(e.apply(this,arguments))}}function gk(e,t){if(typeof e=="function")return i4(e,t);if(typeof e!="object"||e===null)throw new Error(En(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=i4(i,t))}return n}function Ku(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return lm}function i(a,l){r(a)===lm&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var mk=function(t,n){return t===n};function FV(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(S,v){var y=t?t+"."+S:S;if(l){var g=i.some(function(b){return b instanceof RegExp?b.test(y):y===b});if(g)return"continue"}if(!n(v))return{value:{keyPath:y,value:v}};if(typeof v=="object"&&(s=Ck(v,y,n,r,i,o),s))return{value:s}},c=0,d=a;c-1}function ez(e){return""+e}function kk(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function tz(e){return typeof e=="function"}function Ok(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?kk(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(tz(e))l=function(){return b_(e())};else{var u=b_(e);l=function(){return u}}function c(d,f){d===void 0&&(d=l());var h=js([o[f.type]],s.filter(function(p){var m=p.matcher;return m(f)}).map(function(p){var m=p.reducer;return m}));return h.filter(function(p){return!!p}).length===0&&(h=[a]),h.reduce(function(p,m){if(m)if(er(p)){var S=p,v=m(S,f);return v===void 0?p:v}else{if(yr(p))return Js(p,function(y){return m(y,f)});var v=m(p,f);if(v===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}return p},d)}return c.getInitialState=l,c}function nz(e,t){return e+"/"+t}function Pt(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:b_(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(c){var d=r[c],f=nz(t,c),h,p;"reducer"in d?(h=d.reducer,p=d.prepare):h=d,o[c]=h,s[f]=h,a[c]=p?ue(f,p):ue(f)});function l(){var c=typeof e.extraReducers=="function"?kk(e.extraReducers):[e.extraReducers],d=c[0],f=d===void 0?{}:d,h=c[1],p=h===void 0?[]:h,m=c[2],S=m===void 0?void 0:m,v=fr(fr({},f),s);return Ok(n,function(y){for(var g in v)y.addCase(g,v[g]);for(var b=0,_=p;b<_.length;b++){var w=_[b];y.addMatcher(w.matcher,w.reducer)}S&&y.addDefaultCase(S)})}var u;return{name:t,reducer:function(c,d){return u||(u=l()),u(c,d)},actions:a,caseReducers:o,getInitialState:function(){return u||(u=l()),u.getInitialState()}}}function rz(){return{ids:[],entities:{}}}function iz(){function e(t){return t===void 0&&(t={}),Object.assign(rz(),t)}return{getInitialState:e}}function oz(){function e(t){var n=function(u){return u.ids},r=function(u){return u.entities},i=yo(n,r,function(u,c){return u.map(function(d){return c[d]})}),o=function(u,c){return c},s=function(u,c){return u[c]},a=yo(n,function(u){return u.length});if(!t)return{selectIds:n,selectEntities:r,selectAll:i,selectTotal:a,selectById:yo(r,o,s)};var l=yo(t,r);return{selectIds:yo(t,n),selectEntities:l,selectAll:yo(t,i),selectTotal:yo(t,a),selectById:yo(l,o,s)}}return{getSelectors:e}}function sz(e){var t=Lt(function(n,r){return e(r)});return function(r){return t(r,void 0)}}function Lt(e){return function(n,r){function i(s){return Ak(s)}var o=function(s){i(r)?e(r.payload,s):e(r,s)};return er(n)?(o(n),n):Js(n,o)}}function Ed(e,t){var n=t(e);return n}function Fa(e){return Array.isArray(e)||(e=Object.values(e)),e}function Rk(e,t,n){e=Fa(e);for(var r=[],i=[],o=0,s=e;o0;if(y){var g=p.filter(function(b){return u(S,b,m)}).length>0;g&&(m.ids=Object.keys(m.entities))}}function f(p,m){return h([p],m)}function h(p,m){var S=Rk(p,e,m),v=S[0],y=S[1];d(y,m),n(v,m)}return{removeAll:sz(l),addOne:Lt(t),addMany:Lt(n),setOne:Lt(r),setMany:Lt(i),setAll:Lt(o),updateOne:Lt(c),updateMany:Lt(d),upsertOne:Lt(f),upsertMany:Lt(h),removeOne:Lt(s),removeMany:Lt(a)}}function az(e,t){var n=Ik(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(y,g){return a([y],g)}function a(y,g){y=Fa(y);var b=y.filter(function(_){return!(Ed(_,e)in g.entities)});b.length!==0&&S(b,g)}function l(y,g){return u([y],g)}function u(y,g){y=Fa(y),y.length!==0&&S(y,g)}function c(y,g){y=Fa(y),g.entities={},g.ids=[],a(y,g)}function d(y,g){return f([y],g)}function f(y,g){for(var b=!1,_=0,w=y;_-1;return n&&r}function lh(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function u0(){for(var e=[],t=0;t0)for(var g=h.getState(),b=Array.from(n.values()),_=0,w=b;_Math.floor(e/t)*t,Ui=(e,t)=>Math.round(e/t)*t;var Tz=typeof global=="object"&&global&&global.Object===Object&&global;const Yk=Tz;var Ez=typeof self=="object"&&self&&self.Object===Object&&self,Pz=Yk||Ez||Function("return this")();const oo=Pz;var Az=oo.Symbol;const Zr=Az;var Qk=Object.prototype,kz=Qk.hasOwnProperty,Oz=Qk.toString,jc=Zr?Zr.toStringTag:void 0;function Rz(e){var t=kz.call(e,jc),n=e[jc];try{e[jc]=void 0;var r=!0}catch{}var i=Oz.call(e);return r&&(t?e[jc]=n:delete e[jc]),i}var Iz=Object.prototype,Mz=Iz.toString;function Nz(e){return Mz.call(e)}var Dz="[object Null]",Lz="[object Undefined]",f4=Zr?Zr.toStringTag:void 0;function ta(e){return e==null?e===void 0?Lz:Dz:f4&&f4 in Object(e)?Rz(e):Nz(e)}function Ci(e){return e!=null&&typeof e=="object"}var $z="[object Symbol]";function c0(e){return typeof e=="symbol"||Ci(e)&&ta(e)==$z}function Zk(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=gU)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bU(e){return function(){return e}}var SU=function(){try{var e=fl(Object,"defineProperty");return e({},"",{}),e}catch{}}();const fm=SU;var _U=fm?function(e,t){return fm(e,"toString",{configurable:!0,enumerable:!1,value:bU(t),writable:!0})}:d0;const wU=_U;var xU=vU(wU);const nO=xU;function rO(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var kU=9007199254740991,OU=/^(?:0|[1-9]\d*)$/;function _x(e,t){var n=typeof e;return t=t??kU,!!t&&(n=="number"||n!="symbol"&&OU.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MU}function mc(e){return e!=null&&xx(e.length)&&!Sx(e)}function aO(e,t,n){if(!vr(n))return!1;var r=typeof t;return(r=="number"?mc(n)&&_x(t,n.length):r=="string"&&t in n)?fh(n[t],e):!1}function lO(e){return sO(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&aO(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function KG(e,t){var n=this.__data__,r=f0(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ho(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?gO(a,t-1,n,r,i):Ox(i,a):r||(i[i.length]=a)}return i}function fH(e){var t=e==null?0:e.length;return t?gO(e,1):[]}function hH(e){return nO(oO(e,void 0,fH),e+"")}var pH=hO(Object.getPrototypeOf,Object);const Rx=pH;var gH="[object Object]",mH=Function.prototype,yH=Object.prototype,mO=mH.toString,vH=yH.hasOwnProperty,bH=mO.call(Object);function yO(e){if(!Ci(e)||ta(e)!=gH)return!1;var t=Rx(e);if(t===null)return!0;var n=vH.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&mO.call(n)==bH}function vO(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:vO(e,t,n)}var _H="\\ud800-\\udfff",wH="\\u0300-\\u036f",xH="\\ufe20-\\ufe2f",CH="\\u20d0-\\u20ff",TH=wH+xH+CH,EH="\\ufe0e\\ufe0f",PH="\\u200d",AH=RegExp("["+PH+_H+TH+EH+"]");function Ix(e){return AH.test(e)}function kH(e){return e.split("")}var bO="\\ud800-\\udfff",OH="\\u0300-\\u036f",RH="\\ufe20-\\ufe2f",IH="\\u20d0-\\u20ff",MH=OH+RH+IH,NH="\\ufe0e\\ufe0f",DH="["+bO+"]",x_="["+MH+"]",C_="\\ud83c[\\udffb-\\udfff]",LH="(?:"+x_+"|"+C_+")",SO="[^"+bO+"]",_O="(?:\\ud83c[\\udde6-\\uddff]){2}",wO="[\\ud800-\\udbff][\\udc00-\\udfff]",$H="\\u200d",xO=LH+"?",CO="["+NH+"]?",FH="(?:"+$H+"(?:"+[SO,_O,wO].join("|")+")"+CO+xO+")*",BH=CO+xO+FH,jH="(?:"+[SO+x_+"?",x_,_O,wO,DH].join("|")+")",VH=RegExp(C_+"(?="+C_+")|"+jH+BH,"g");function zH(e){return e.match(VH)||[]}function UH(e){return Ix(e)?zH(e):kH(e)}function GH(e){return function(t){t=p0(t);var n=Ix(t)?UH(t):void 0,r=n?n[0]:t.charAt(0),i=n?SH(n,1).join(""):t.slice(1);return r[e]()+i}}var HH=GH("toUpperCase");const qH=HH;function TO(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function Ss(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=hb(n),n=n===n?n:0),t!==void 0&&(t=hb(t),t=t===t?t:0),Lq(hb(e),t,n)}function $q(){this.__data__=new Ho,this.size=0}function Fq(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Bq(e){return this.__data__.get(e)}function jq(e){return this.__data__.has(e)}var Vq=200;function zq(e,t){var n=this.__data__;if(n instanceof Ho){var r=n.__data__;if(!cf||r.lengtha))return!1;var u=o.get(e),c=o.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=n&wK?new df:void 0;for(o.set(e,t),o.set(t,e);++d1),o}),gc(e,HO(e),n),r&&(n=Ad(n,EX|PX|AX,TX));for(var i=t.length;i--;)sR(n,t[i]);return n});const _0=kX;var OX=nR("length");const RX=OX;var aR="\\ud800-\\udfff",IX="\\u0300-\\u036f",MX="\\ufe20-\\ufe2f",NX="\\u20d0-\\u20ff",DX=IX+MX+NX,LX="\\ufe0e\\ufe0f",$X="["+aR+"]",O_="["+DX+"]",R_="\\ud83c[\\udffb-\\udfff]",FX="(?:"+O_+"|"+R_+")",lR="[^"+aR+"]",uR="(?:\\ud83c[\\udde6-\\uddff]){2}",cR="[\\ud800-\\udbff][\\udc00-\\udfff]",BX="\\u200d",dR=FX+"?",fR="["+LX+"]?",jX="(?:"+BX+"(?:"+[lR,uR,cR].join("|")+")"+fR+dR+")*",VX=fR+dR+jX,zX="(?:"+[lR+O_+"?",O_,uR,cR,$X].join("|")+")",H4=RegExp(R_+"(?="+R_+")|"+zX+VX,"g");function UX(e){for(var t=H4.lastIndex=0;H4.test(e);)++t;return t}function GX(e){return Ix(e)?UX(e):RX(e)}function HX(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function Lx(e,t,n){var r=mn(e)?TO:HX,i=arguments.length<3;return r(e,y0(t),n,i,v0)}var qX="[object Map]",WX="[object Set]";function hR(e){if(e==null)return 0;if(mc(e))return _X(e)?GX(e):e.length;var t=Qu(e);return t==qX||t==WX?e.size:pO(e).length}function KX(e,t){var n;return v0(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function Ea(e,t,n){var r=mn(e)?QO:KX;return n&&aO(e,t,n)&&(t=void 0),r(e,y0(t))}var XX=Dq(function(e,t,n){return e+(n?" ":"")+qH(t)});const YX=XX;var QX=1/0,ZX=Au&&1/Dx(new Au([,-0]))[1]==QX?function(e){return new Au(e)}:pU;const JX=ZX;var eY=200;function pR(e,t,n){var r=-1,i=AU,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=mX;else if(o>=eY){var u=t?null:JX(e);if(u)return Dx(u);s=!1,i=ZO,l=new df}else l=t?[]:a;e:for(;++r{CX(e,t.payload)}}}),{configChanged:iY}=mR.actions,oY=mR.reducer,pwe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},sY={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},gwe=0,aY=4294967295;var Ve;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(Ve||(Ve={}));var I_;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(I_||(I_={}));const re=Ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ms=e=>{switch(typeof e){case"undefined":return re.undefined;case"string":return re.string;case"number":return isNaN(e)?re.nan:re.number;case"boolean":return re.boolean;case"function":return re.function;case"bigint":return re.bigint;case"symbol":return re.symbol;case"object":return Array.isArray(e)?re.array:e===null?re.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?re.promise:typeof Map<"u"&&e instanceof Map?re.map:typeof Set<"u"&&e instanceof Set?re.set:typeof Date<"u"&&e instanceof Date?re.date:re.object;default:return re.unknown}},ee=Ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),lY=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class bi extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}bi.create=e=>new bi(e);const ff=(e,t)=>{let n;switch(e.code){case ee.invalid_type:e.received===re.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case ee.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ve.jsonStringifyReplacer)}`;break;case ee.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ve.joinValues(e.keys,", ")}`;break;case ee.invalid_union:n="Invalid input";break;case ee.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ve.joinValues(e.options)}`;break;case ee.invalid_enum_value:n=`Invalid enum value. Expected ${Ve.joinValues(e.options)}, received '${e.received}'`;break;case ee.invalid_arguments:n="Invalid function arguments";break;case ee.invalid_return_type:n="Invalid function return type";break;case ee.invalid_date:n="Invalid date";break;case ee.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ve.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case ee.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case ee.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case ee.custom:n="Invalid input";break;case ee.invalid_intersection_types:n="Intersection results could not be merged";break;case ee.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ee.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ve.assertNever(e)}return{message:n}};let yR=ff;function uY(e){yR=e}function pm(){return yR}const gm=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},cY=[];function oe(e,t){const n=gm({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,pm(),ff].filter(r=>!!r)});e.common.issues.push(n)}class jn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return be;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return jn.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return be;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const be=Object.freeze({status:"aborted"}),vR=e=>({status:"dirty",value:e}),tr=e=>({status:"valid",value:e}),M_=e=>e.status==="aborted",N_=e=>e.status==="dirty",mm=e=>e.status==="valid",ym=e=>typeof Promise<"u"&&e instanceof Promise;var ge;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ge||(ge={}));class eo{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const q4=(e,t)=>{if(mm(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new bi(e.common.issues);return this._error=n,this._error}}};function we(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class Ce{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ms(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new jn,ctx:{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(ym(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},o=this._parseSync({data:t,path:i.path,parent:i});return q4(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(ym(i)?i:Promise.resolve(i));return q4(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:ee.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ti({schema:this,typeName:ye.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return Oo.create(this,this._def)}nullable(){return el.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Si.create(this,this._def)}promise(){return Ju.create(this,this._def)}or(t){return mf.create([this,t],this._def)}and(t){return yf.create(this,t,this._def)}transform(t){return new Ti({...we(this._def),schema:this,typeName:ye.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new wf({...we(this._def),innerType:this,defaultValue:n,typeName:ye.ZodDefault})}brand(){return new SR({typeName:ye.ZodBranded,type:this,...we(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _m({...we(this._def),innerType:this,catchValue:n,typeName:ye.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return mh.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const dY=/^c[^\s-]{8,}$/i,fY=/^[a-z][a-z0-9]*$/,hY=/[0-9A-HJKMNP-TV-Z]{26}/,pY=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,gY=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,mY=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,yY=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,vY=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,bY=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function SY(e,t){return!!((t==="v4"||!t)&&yY.test(e)||(t==="v6"||!t)&&vY.test(e))}class pi extends Ce{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:ee.invalid_string,...ge.errToObj(r)}),this.nonempty=t=>this.min(1,ge.errToObj(t)),this.trim=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==re.string){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.string,received:o.parsedType}),be}const r=new jn;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...ge.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ge.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...ge.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ge.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ge.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ge.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ge.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ge.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new pi({checks:[],typeName:ye.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};function _Y(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zs extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==re.number){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.number,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="int"?Ve.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?_Y(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_finite,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new zs({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new zs({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ge.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ge.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&Ve.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zs({checks:[],typeName:ye.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Us extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==re.bigint){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.bigint,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Us({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Us({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Us({checks:[],typeName:ye.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};class hf extends Ce{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==re.boolean){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.boolean,received:r.parsedType}),be}return tr(t.data)}}hf.create=e=>new hf({typeName:ye.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Za extends Ce{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==re.date){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.date,received:o.parsedType}),be}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_date}),be}const r=new jn;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):Ve.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Za({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ge.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ge.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew Za({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:ye.ZodDate,...we(e)});class vm extends Ce{_parse(t){if(this._getType(t)!==re.symbol){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.symbol,received:r.parsedType}),be}return tr(t.data)}}vm.create=e=>new vm({typeName:ye.ZodSymbol,...we(e)});class pf extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.undefined,received:r.parsedType}),be}return tr(t.data)}}pf.create=e=>new pf({typeName:ye.ZodUndefined,...we(e)});class gf extends Ce{_parse(t){if(this._getType(t)!==re.null){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.null,received:r.parsedType}),be}return tr(t.data)}}gf.create=e=>new gf({typeName:ye.ZodNull,...we(e)});class Zu extends Ce{constructor(){super(...arguments),this._any=!0}_parse(t){return tr(t.data)}}Zu.create=e=>new Zu({typeName:ye.ZodAny,...we(e)});class Ba extends Ce{constructor(){super(...arguments),this._unknown=!0}_parse(t){return tr(t.data)}}Ba.create=e=>new Ba({typeName:ye.ZodUnknown,...we(e)});class Vo extends Ce{_parse(t){const n=this._getOrReturnCtx(t);return oe(n,{code:ee.invalid_type,expected:re.never,received:n.parsedType}),be}}Vo.create=e=>new Vo({typeName:ye.ZodNever,...we(e)});class bm extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.void,received:r.parsedType}),be}return tr(t.data)}}bm.create=e=>new bm({typeName:ye.ZodVoid,...we(e)});class Si extends Ce{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==re.array)return oe(n,{code:ee.invalid_type,expected:re.array,received:n.parsedType}),be;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(oe(n,{code:ee.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new eo(n,s,n.path,a)))).then(s=>jn.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new eo(n,s,n.path,a)));return jn.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Si({...this._def,minLength:{value:t,message:ge.toString(n)}})}max(t,n){return new Si({...this._def,maxLength:{value:t,message:ge.toString(n)}})}length(t,n){return new Si({...this._def,exactLength:{value:t,message:ge.toString(n)}})}nonempty(t){return this.min(1,t)}}Si.create=(e,t)=>new Si({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ye.ZodArray,...we(t)});function Wl(e){if(e instanceof Tt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Oo.create(Wl(r))}return new Tt({...e._def,shape:()=>t})}else return e instanceof Si?new Si({...e._def,type:Wl(e.element)}):e instanceof Oo?Oo.create(Wl(e.unwrap())):e instanceof el?el.create(Wl(e.unwrap())):e instanceof to?to.create(e.items.map(t=>Wl(t))):e}class Tt extends Ce{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Ve.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==re.object){const u=this._getOrReturnCtx(t);return oe(u,{code:ee.invalid_type,expected:re.object,received:u.parsedType}),be}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Vo&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const c=o[u],d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new eo(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Vo){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(u==="strict")a.length>0&&(oe(i,{code:ee.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new eo(i,d,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of l){const d=await c.key;u.push({key:d,value:await c.value,alwaysSet:c.alwaysSet})}return u}).then(u=>jn.mergeObjectSync(r,u)):jn.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return ge.errToObj,new Tt({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=ge.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new Tt({...this._def,unknownKeys:"strip"})}passthrough(){return new Tt({...this._def,unknownKeys:"passthrough"})}extend(t){return new Tt({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Tt({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ye.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Tt({...this._def,catchall:t})}pick(t){const n={};return Ve.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}omit(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}deepPartial(){return Wl(this)}partial(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new Tt({...this._def,shape:()=>n})}required(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof Oo;)o=o._def.innerType;n[r]=o}}),new Tt({...this._def,shape:()=>n})}keyof(){return bR(Ve.objectKeys(this.shape))}}Tt.create=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.strictCreate=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strict",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.lazycreate=(e,t)=>new Tt({shape:e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});class mf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new bi(a.ctx.common.issues));return oe(n,{code:ee.invalid_union,unionErrors:s}),be}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new bi(l));return oe(n,{code:ee.invalid_union,unionErrors:a}),be}}get options(){return this._def.options}}mf.create=(e,t)=>new mf({options:e,typeName:ye.ZodUnion,...we(t)});const dg=e=>e instanceof bf?dg(e.schema):e instanceof Ti?dg(e.innerType()):e instanceof Sf?[e.value]:e instanceof Gs?e.options:e instanceof _f?Object.keys(e.enum):e instanceof wf?dg(e._def.innerType):e instanceof pf?[void 0]:e instanceof gf?[null]:null;class w0 extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.object)return oe(n,{code:ee.invalid_type,expected:re.object,received:n.parsedType}),be;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(oe(n,{code:ee.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),be)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=dg(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new w0({typeName:ye.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...we(r)})}}function D_(e,t){const n=ms(e),r=ms(t);if(e===t)return{valid:!0,data:e};if(n===re.object&&r===re.object){const i=Ve.objectKeys(t),o=Ve.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=D_(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===re.array&&r===re.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(M_(o)||M_(s))return be;const a=D_(o.value,s.value);return a.valid?((N_(o)||N_(s))&&n.dirty(),{status:n.value,value:a.data}):(oe(r,{code:ee.invalid_intersection_types}),be)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}yf.create=(e,t,n)=>new yf({left:e,right:t,typeName:ye.ZodIntersection,...we(n)});class to extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.array)return oe(r,{code:ee.invalid_type,expected:re.array,received:r.parsedType}),be;if(r.data.lengththis._def.items.length&&(oe(r,{code:ee.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new eo(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>jn.mergeArray(n,s)):jn.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new to({...this._def,rest:t})}}to.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new to({items:e,typeName:ye.ZodTuple,rest:null,...we(t)})};class vf extends Ce{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.object)return oe(r,{code:ee.invalid_type,expected:re.object,received:r.parsedType}),be;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new eo(r,a,r.path,a)),value:s._parse(new eo(r,r.data[a],r.path,a))});return r.common.async?jn.mergeObjectAsync(n,i):jn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ce?new vf({keyType:t,valueType:n,typeName:ye.ZodRecord,...we(r)}):new vf({keyType:pi.create(),valueType:t,typeName:ye.ZodRecord,...we(n)})}}class Sm extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.map)return oe(r,{code:ee.invalid_type,expected:re.map,received:r.parsedType}),be;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new eo(r,a,r.path,[u,"key"])),value:o._parse(new eo(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}}Sm.create=(e,t,n)=>new Sm({valueType:t,keyType:e,typeName:ye.ZodMap,...we(n)});class Ja extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.set)return oe(r,{code:ee.invalid_type,expected:re.set,received:r.parsedType}),be;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(oe(r,{code:ee.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const c of l){if(c.status==="aborted")return be;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new eo(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new Ja({...this._def,minSize:{value:t,message:ge.toString(n)}})}max(t,n){return new Ja({...this._def,maxSize:{value:t,message:ge.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Ja.create=(e,t)=>new Ja({valueType:e,minSize:null,maxSize:null,typeName:ye.ZodSet,...we(t)});class ku extends Ce{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.function)return oe(n,{code:ee.invalid_type,expected:re.function,received:n.parsedType}),be;function r(a,l){return gm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,pm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_arguments,argumentsError:l}})}function i(a,l){return gm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,pm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof Ju?tr(async(...a)=>{const l=new bi([]),u=await this._def.args.parseAsync(a,o).catch(f=>{throw l.addIssue(r(a,f)),l}),c=await s(...u);return await this._def.returns._def.type.parseAsync(c,o).catch(f=>{throw l.addIssue(i(c,f)),l})}):tr((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new bi([r(a,l.error)]);const u=s(...l.data),c=this._def.returns.safeParse(u,o);if(!c.success)throw new bi([i(u,c.error)]);return c.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new ku({...this._def,args:to.create(t).rest(Ba.create())})}returns(t){return new ku({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new ku({args:t||to.create([]).rest(Ba.create()),returns:n||Ba.create(),typeName:ye.ZodFunction,...we(r)})}}class bf extends Ce{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}bf.create=(e,t)=>new bf({getter:e,typeName:ye.ZodLazy,...we(t)});class Sf extends Ce{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return oe(n,{received:n.data,code:ee.invalid_literal,expected:this._def.value}),be}return{status:"valid",value:t.data}}get value(){return this._def.value}}Sf.create=(e,t)=>new Sf({value:e,typeName:ye.ZodLiteral,...we(t)});function bR(e,t){return new Gs({values:e,typeName:ye.ZodEnum,...we(t)})}class Gs extends Ce{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{expected:Ve.joinValues(r),received:n.parsedType,code:ee.invalid_type}),be}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{received:n.data,code:ee.invalid_enum_value,options:r}),be}return tr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return Gs.create(t)}exclude(t){return Gs.create(this.options.filter(n=>!t.includes(n)))}}Gs.create=bR;class _f extends Ce{_parse(t){const n=Ve.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==re.string&&r.parsedType!==re.number){const i=Ve.objectValues(n);return oe(r,{expected:Ve.joinValues(i),received:r.parsedType,code:ee.invalid_type}),be}if(n.indexOf(t.data)===-1){const i=Ve.objectValues(n);return oe(r,{received:r.data,code:ee.invalid_enum_value,options:i}),be}return tr(t.data)}get enum(){return this._def.values}}_f.create=(e,t)=>new _f({values:e,typeName:ye.ZodNativeEnum,...we(t)});class Ju extends Ce{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.promise&&n.common.async===!1)return oe(n,{code:ee.invalid_type,expected:re.promise,received:n.parsedType}),be;const r=n.parsedType===re.promise?n.data:Promise.resolve(n.data);return tr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Ju.create=(e,t)=>new Ju({type:e,typeName:ye.ZodPromise,...we(t)});class Ti extends Ce{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ye.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{oe(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!mm(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>mm(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);Ve.assertNever(i)}}Ti.create=(e,t,n)=>new Ti({schema:e,typeName:ye.ZodEffects,effect:t,...we(n)});Ti.createWithPreprocess=(e,t,n)=>new Ti({schema:t,effect:{type:"preprocess",transform:e},typeName:ye.ZodEffects,...we(n)});class Oo extends Ce{_parse(t){return this._getType(t)===re.undefined?tr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Oo.create=(e,t)=>new Oo({innerType:e,typeName:ye.ZodOptional,...we(t)});class el extends Ce{_parse(t){return this._getType(t)===re.null?tr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}el.create=(e,t)=>new el({innerType:e,typeName:ye.ZodNullable,...we(t)});class wf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===re.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}wf.create=(e,t)=>new wf({innerType:e,typeName:ye.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...we(t)});class _m extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return ym(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_m.create=(e,t)=>new _m({innerType:e,typeName:ye.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...we(t)});class wm extends Ce{_parse(t){if(this._getType(t)!==re.nan){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.nan,received:r.parsedType}),be}return{status:"valid",value:t.data}}}wm.create=e=>new wm({typeName:ye.ZodNaN,...we(e)});const wY=Symbol("zod_brand");class SR extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class mh extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?be:o.status==="dirty"?(n.dirty(),vR(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?be:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new mh({in:t,out:n,typeName:ye.ZodPipeline})}}const _R=(e,t={},n)=>e?Zu.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Zu.create(),xY={object:Tt.lazycreate};var ye;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(ye||(ye={}));const CY=(e,t={message:`Input not instance of ${e.name}`})=>_R(n=>n instanceof e,t),wR=pi.create,xR=zs.create,TY=wm.create,EY=Us.create,CR=hf.create,PY=Za.create,AY=vm.create,kY=pf.create,OY=gf.create,RY=Zu.create,IY=Ba.create,MY=Vo.create,NY=bm.create,DY=Si.create,LY=Tt.create,$Y=Tt.strictCreate,FY=mf.create,BY=w0.create,jY=yf.create,VY=to.create,zY=vf.create,UY=Sm.create,GY=Ja.create,HY=ku.create,qY=bf.create,WY=Sf.create,KY=Gs.create,XY=_f.create,YY=Ju.create,W4=Ti.create,QY=Oo.create,ZY=el.create,JY=Ti.createWithPreprocess,eQ=mh.create,tQ=()=>wR().optional(),nQ=()=>xR().optional(),rQ=()=>CR().optional(),iQ={string:e=>pi.create({...e,coerce:!0}),number:e=>zs.create({...e,coerce:!0}),boolean:e=>hf.create({...e,coerce:!0}),bigint:e=>Us.create({...e,coerce:!0}),date:e=>Za.create({...e,coerce:!0})},oQ=be;var jt=Object.freeze({__proto__:null,defaultErrorMap:ff,setErrorMap:uY,getErrorMap:pm,makeIssue:gm,EMPTY_PATH:cY,addIssueToContext:oe,ParseStatus:jn,INVALID:be,DIRTY:vR,OK:tr,isAborted:M_,isDirty:N_,isValid:mm,isAsync:ym,get util(){return Ve},get objectUtil(){return I_},ZodParsedType:re,getParsedType:ms,ZodType:Ce,ZodString:pi,ZodNumber:zs,ZodBigInt:Us,ZodBoolean:hf,ZodDate:Za,ZodSymbol:vm,ZodUndefined:pf,ZodNull:gf,ZodAny:Zu,ZodUnknown:Ba,ZodNever:Vo,ZodVoid:bm,ZodArray:Si,ZodObject:Tt,ZodUnion:mf,ZodDiscriminatedUnion:w0,ZodIntersection:yf,ZodTuple:to,ZodRecord:vf,ZodMap:Sm,ZodSet:Ja,ZodFunction:ku,ZodLazy:bf,ZodLiteral:Sf,ZodEnum:Gs,ZodNativeEnum:_f,ZodPromise:Ju,ZodEffects:Ti,ZodTransformer:Ti,ZodOptional:Oo,ZodNullable:el,ZodDefault:wf,ZodCatch:_m,ZodNaN:wm,BRAND:wY,ZodBranded:SR,ZodPipeline:mh,custom:_R,Schema:Ce,ZodSchema:Ce,late:xY,get ZodFirstPartyTypeKind(){return ye},coerce:iQ,any:RY,array:DY,bigint:EY,boolean:CR,date:PY,discriminatedUnion:BY,effect:W4,enum:KY,function:HY,instanceof:CY,intersection:jY,lazy:qY,literal:WY,map:UY,nan:TY,nativeEnum:XY,never:MY,null:OY,nullable:ZY,number:xR,object:LY,oboolean:rQ,onumber:nQ,optional:QY,ostring:tQ,pipeline:eQ,preprocess:JY,promise:YY,record:zY,set:GY,strictObject:$Y,string:wR,symbol:AY,transformer:W4,tuple:VY,undefined:kY,union:FY,unknown:IY,void:NY,NEVER:oQ,ZodIssueCode:ee,quotelessJson:lY,ZodError:bi});const sQ=jt.string(),mwe=e=>sQ.safeParse(e).success,aQ=jt.string(),ywe=e=>aQ.safeParse(e).success;jt.string();jt.string();const lQ=jt.number().int().min(1),vwe=e=>lQ.safeParse(e).success,uQ=jt.number().min(1),bwe=e=>uQ.safeParse(e).success,cQ=jt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),Swe=e=>cQ.safeParse(e).success,_we={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},dQ=jt.number().int().min(0).max(aY),wwe=e=>dQ.safeParse(e).success,fQ=jt.number().multipleOf(8).min(64),xwe=e=>fQ.safeParse(e).success,hQ=jt.number().multipleOf(8).min(64),Cwe=e=>hQ.safeParse(e).success,x0=jt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),xf=jt.object({model_name:jt.string().min(1),base_model:x0}),Twe=e=>xf.safeParse(e).success,pQ=jt.object({model_name:jt.string().min(1),base_model:x0}),Ewe=jt.object({model_name:jt.string().min(1),base_model:x0}),Pwe=jt.object({model_name:jt.string().min(1),base_model:x0}),gQ=jt.number().min(0).max(1),Awe=e=>gQ.safeParse(e).success;jt.enum(["fp16","fp32"]);const Wo={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},mQ=Wo,TR=Pt({name:"generation",initialState:mQ,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Ss(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Ss(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Wo}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=sY[e.model.base_model];e.clipSkip=Ss(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ui(e.width/n,8))}},extraReducers:e=>{e.addCase(iY,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=xf.safeParse({model_name:a,base_model:o});l.success&&(t.model=l.data)}}),e.addCase(vQ,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:kwe,clearInitialImage:ER,resetParametersState:Owe,resetSeed:Rwe,setCfgScale:Iwe,setWidth:Mwe,setHeight:Nwe,toggleSize:Dwe,setImg2imgStrength:Lwe,setInfillMethod:yQ,setIterations:$we,setPerlin:Fwe,setPositivePrompt:Bwe,setNegativePrompt:jwe,setScheduler:Vwe,setSeamBlur:zwe,setSeamSize:Uwe,setSeamSteps:Gwe,setSeamStrength:Hwe,setSeed:qwe,setSeedWeights:Wwe,setShouldFitToWidthHeight:Kwe,setShouldGenerateVariations:Xwe,setShouldRandomizeSeed:Ywe,setSteps:Qwe,setThreshold:Zwe,setTileSize:Jwe,setVariationAmount:exe,setShouldUseSymmetry:txe,setHorizontalSymmetrySteps:nxe,setVerticalSymmetrySteps:rxe,initialImageChanged:C0,modelChanged:ja,vaeSelected:PR,setShouldUseNoiseSettings:ixe,setSeamlessXAxis:oxe,setSeamlessYAxis:sxe,setClipSkip:axe,shouldUseCpuNoiseChanged:lxe,setShouldShowAdvancedOptions:vQ,setAspectRatio:bQ,vaePrecisionChanged:uxe}=TR.actions,SQ=TR.reducer,AR=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],K4=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=AR.indexOf(t)},kR={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},OR=Pt({name:"ui",initialState:kR,reducers:{setActiveTab:(e,t)=>{K4(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(C0,t=>{K4(t,"img2img")})}}),{setActiveTab:RR,setShouldPinParametersPanel:cxe,setShouldShowParametersPanel:dxe,setShouldShowImageDetails:fxe,setShouldUseCanvasBetaLayout:_Q,setShouldShowExistingModelsInSearch:hxe,setShouldUseSliders:pxe,setShouldHidePreview:gxe,setShouldShowGallery:mxe,togglePanels:yxe,togglePinGalleryPanel:vxe,togglePinParametersPanel:bxe,toggleParametersPanel:Sxe,toggleGalleryPanel:_xe,setShouldShowProgressInViewer:wxe,favoriteSchedulersChanged:xxe,toggleEmbeddingPicker:Cxe}=OR.actions,wQ=OR.reducer;let Wn=[],T0=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!Wn.length;for(let s=0;s(e.events=e.events||{},e.events[n+mp]||(e.events[n+mp]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+mp](),delete e.events[n+mp])}),TQ=1e3,EQ=(e,t)=>CQ(e,r=>{let i=t(r);i&&e.events[gp].push(i)},xQ,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[gp]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[gp])s();e.events[gp]=[]}},TQ)},()=>{e.listen=i,e.off=o}}),PQ=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=T0(void 0,Math.max(...e.map(o=>o.l))+1);return EQ(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const AQ={"Content-Type":"application/json"},kQ=/\/*$/;function OQ(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function RQ(e){return JSON.stringify(e)}function IQ(e,t){let n=`${t.baseUrl?t.baseUrl.replace(kQ,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function MQ(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...AQ,...i.headers??{}});async function s(a,l){const{headers:u,body:c,params:d={},parseAs:f="json",querySerializer:h=n??OQ,bodySerializer:p=r??RQ,...m}=l||{},S=IQ(a,{baseUrl:i.baseUrl,params:d,querySerializer:h}),v=new Headers(o),y=new Headers(u);for(const[w,x]of y.entries())x==null?v.delete(w):v.set(w,x);const g={redirect:"follow",...i,...m,headers:v};c&&(g.body=p(c)),g.body instanceof FormData&&v.delete("Content-Type");const b=await t(S,g);if(b.status===204||b.headers.get("Content-Length")==="0")return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok){let w=b.body;if(f!=="stream"){const x=b.clone();w=typeof x[f]=="function"?await x[f]():await x.text()}return{data:w,response:b}}let _={};try{_=await b.clone().json()}catch{_=await b.clone().text()}return{error:_,response:b}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Cf=T0(),Tf=T0(),E0=PQ([Cf,Tf],(e,t)=>MQ({headers:e?{Authorization:`Bearer ${e}`}:{},baseUrl:`${t??""}`})),On=Vs("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),NQ=e=>vr(e)&&"status"in e,yh=Vs("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return NQ(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),hl=Vs("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Vs("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const IR=ei(On.rejected,yh.rejected),Ml=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},Nl=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},Txe=.999,Exe=.1,Pxe=20,Vc=.95,Axe=30,kxe=10,X4=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),pa=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ui(a/o,64)):o<1&&(r.height=a,r.width=Ui(a*o,64)),s=r.width*r.height;return r},DQ=e=>({width:Ui(e.width,64),height:Ui(e.height,64)}),Oxe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],Rxe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],MR=e=>e.kind==="line"&&e.layer==="mask",Ixe=e=>e.kind==="line"&&e.layer==="base",Y4=e=>e.kind==="image"&&e.layer==="base",Mxe=e=>e.kind==="fillRect"&&e.layer==="base",Nxe=e=>e.kind==="eraseRect"&&e.layer==="base",LQ=e=>e.kind==="line",Kl={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},NR={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:Kl,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},DR=Pt({name:"canvas",initialState:NR,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!MR(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:hp(Ss(r,64,512),64),height:hp(Ss(i,64,512),64)},a={x:Ui(r/2-s.width/2,64),y:Ui(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const c=pa(s);e.scaledBoundingBoxDimensions=c}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ln(e.layerState)),e.layerState={...Kl,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=Nl(o.width,o.height,r,i,Vc),u=Ml(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=DQ(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=pa(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=X4(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...Kl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(LQ);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ln(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState=Kl,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(Y4),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const c=Nl(i.width,i.height,512,512,Vc),d=Ml(i.width,i.height,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=pa(f);e.scaledBoundingBoxDimensions=h}return}const{width:o,height:s}=r,l=Nl(t,n,o,s,.95),u=Ml(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=X4(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(Y4)){const i=Nl(r.width,r.height,512,512,Vc),o=Ml(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=pa(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const c=r?1:Nl(i,o,l,u,Vc),d=Ml(i,o,s,a,l,u,c);e.stageScale=c,e.stageCoordinates=d}else{const c=Nl(i,o,512,512,Vc),d=Ml(i,o,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=pa(f);e.scaledBoundingBoxDimensions=h}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...n[r]}),e.layerState.stagingArea={...Kl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:hp(Ss(o,64,512),64),height:hp(Ss(s,64,512),64)},l={x:Ui(o/2-a.width/2,64),y:Ui(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=pa(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=pa(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ln(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(hl.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=Kl.stagingArea)}),e.addCase(_Q,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(RR,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(bQ,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ui(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:Dxe,addFillRect:Lxe,addImageToStagingArea:$Q,addLine:$xe,addPointToCurrentLine:Fxe,clearCanvasHistory:Bxe,clearMask:jxe,commitColorPickerColor:Vxe,commitStagingAreaImage:FQ,discardStagedImages:zxe,fitBoundingBoxToStage:Uxe,mouseLeftCanvas:Gxe,nextStagingAreaImage:Hxe,prevStagingAreaImage:qxe,redo:Wxe,resetCanvas:LR,resetCanvasInteractionState:Kxe,resetCanvasView:Xxe,resizeAndScaleCanvas:Yxe,resizeCanvas:Qxe,setBoundingBoxCoordinates:Zxe,setBoundingBoxDimensions:Jxe,setBoundingBoxPreviewFill:eCe,setBoundingBoxScaleMethod:tCe,flipBoundingBoxAxes:nCe,setBrushColor:rCe,setBrushSize:iCe,setCanvasContainerDimensions:oCe,setColorPickerColor:sCe,setCursorPosition:aCe,setDoesCanvasNeedScaling:lCe,setInitialCanvasImage:$R,setIsDrawing:uCe,setIsMaskEnabled:cCe,setIsMouseOverBoundingBox:dCe,setIsMoveBoundingBoxKeyHeld:fCe,setIsMoveStageKeyHeld:hCe,setIsMovingBoundingBox:pCe,setIsMovingStage:gCe,setIsTransformingBoundingBox:mCe,setLayer:yCe,setMaskColor:vCe,setMergedCanvas:BQ,setShouldAutoSave:bCe,setShouldCropToBoundingBoxOnSave:SCe,setShouldDarkenOutsideBoundingBox:_Ce,setShouldLockBoundingBox:wCe,setShouldPreserveMaskedArea:xCe,setShouldShowBoundingBox:CCe,setShouldShowBrush:TCe,setShouldShowBrushPreview:ECe,setShouldShowCanvasDebugInfo:PCe,setShouldShowCheckboardTransparency:ACe,setShouldShowGrid:kCe,setShouldShowIntermediates:OCe,setShouldShowStagingImage:RCe,setShouldShowStagingOutline:ICe,setShouldSnapToGrid:MCe,setStageCoordinates:NCe,setStageScale:DCe,setTool:LCe,toggleShouldLockBoundingBox:$Ce,toggleTool:FCe,undo:BCe,setScaledBoundingBoxDimensions:jCe,setShouldRestrictStrokesToBox:VCe,stagingAreaInitialized:jQ,canvasSessionIdChanged:VQ,setShouldAntialias:zCe}=DR.actions,zQ=DR.reducer,UQ=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,YQ=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),$_=Symbol("encodeFragmentIdentifier");function QQ(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),"[",i,"]"].join("")]:[...n,[qt(t,e),"[",qt(i,e),"]=",qt(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),"[]"].join("")]:[...n,[qt(t,e),"[]=",qt(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),":list="].join("")]:[...n,[qt(t,e),":list=",qt(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[qt(n,e),t,qt(i,e)].join("")]:[[r,qt(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,qt(t,e)]:[...n,[qt(t,e),"=",qt(r,e)].join("")]}}function ZQ(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&wo(r,e).includes(e.arrayFormatSeparator);r=s?wo(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>wo(l,e)):r===null?r:wo(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&wo(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>wo(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function jR(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function qt(e,t){return t.encode?t.strict?YQ(e):encodeURIComponent(e):e}function wo(e,t){return t.decode?WQ(e):e}function VR(e){return Array.isArray(e)?e.sort():typeof e=="object"?VR(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function zR(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function JQ(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function J4(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function $x(e){e=zR(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function Fx(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},jR(t.arrayFormatSeparator);const n=ZQ(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=BR(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:wo(a,t),n(wo(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=J4(a,t);else r[i]=J4(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=VR(s):i[o]=s,i},Object.create(null))}function UR(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},jR(t.arrayFormatSeparator);const n=s=>t.skipNull&&XQ(e[s])||t.skipEmptyString&&e[s]==="",r=QQ(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?qt(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?qt(s,t)+"[]":a.reduce(r(s),[]).join("&"):qt(s,t)+"="+qt(a,t)}).filter(s=>s.length>0).join("&")}function GR(e,t){var i;t={decode:!0,...t};let[n,r]=BR(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Fx($x(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:wo(r,t)}:{}}}function HR(e,t){t={encode:!0,strict:!0,[$_]:!0,...t};const n=zR(e.url).split("?")[0]||"",r=$x(e.url),i={...Fx(r,{sort:!1}),...e.query};let o=UR(i,t);o&&(o=`?${o}`);let s=JQ(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[$_]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function qR(e,t,n){n={parseFragmentIdentifier:!0,[$_]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=GR(e,n);return HR({url:r,query:KQ(i,t),fragmentIdentifier:o},n)}function eZ(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return qR(e,r,n)}const F_=Object.freeze(Object.defineProperty({__proto__:null,exclude:eZ,extract:$x,parse:Fx,parseUrl:GR,pick:qR,stringify:UR,stringifyUrl:HR},Symbol.toStringTag,{value:"Module"}));var xm=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function cZ(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var rT=xi;function XR(e,t){if(e===t||!(rT(e)&&rT(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},fZ=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function oT(e){if(!xi(e))return e;for(var t=$t({},e),n=0,r=Object.entries(t);n"u"&&a===iT&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(g,b){return Em(t,null,function(){var _,w,x,T,P,E,A,$,M,C,O,I,N,R,D,L,j,U,G,W,X,Y,B,H,Q,J,ne,te,xe,ve,ce,Ne,se,gt,vn,It;return xm(this,function(ut){switch(ut.label){case 0:return _=b.signal,w=b.getState,x=b.extra,T=b.endpoint,P=b.forced,E=b.type,$=typeof g=="string"?{url:g}:g,M=$.url,C=$.headers,O=C===void 0?new Headers(v.headers):C,I=$.params,N=I===void 0?void 0:I,R=$.responseHandler,D=R===void 0?m??"json":R,L=$.validateStatus,j=L===void 0?S??dZ:L,U=$.timeout,G=U===void 0?p:U,W=tT($,["url","headers","params","responseHandler","validateStatus","timeout"]),X=$t(Hi($t({},v),{signal:_}),W),O=new Headers(oT(O)),Y=X,[4,o(O,{getState:w,extra:x,endpoint:T,forced:P,type:E})];case 1:Y.headers=ut.sent()||O,B=function(Je){return typeof Je=="object"&&(xi(Je)||Array.isArray(Je)||typeof Je.toJSON=="function")},!X.headers.has("content-type")&&B(X.body)&&X.headers.set("content-type",f),B(X.body)&&c(X.headers)&&(X.body=JSON.stringify(X.body,h)),N&&(H=~M.indexOf("?")?"&":"?",Q=l?l(N):new URLSearchParams(oT(N)),M+=H+Q),M=lZ(r,M),J=new Request(M,X),ne=J.clone(),A={request:ne},xe=!1,ve=G&&setTimeout(function(){xe=!0,b.abort()},G),ut.label=2;case 2:return ut.trys.push([2,4,5,6]),[4,a(J)];case 3:return te=ut.sent(),[3,6];case 4:return ce=ut.sent(),[2,{error:{status:xe?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(ce)},meta:A}];case 5:return ve&&clearTimeout(ve),[7];case 6:Ne=te.clone(),A.response=Ne,gt="",ut.label=7;case 7:return ut.trys.push([7,9,,10]),[4,Promise.all([y(te,D).then(function(Je){return se=Je},function(Je){return vn=Je}),Ne.text().then(function(Je){return gt=Je},function(){})])];case 8:if(ut.sent(),vn)throw vn;return[3,10];case 9:return It=ut.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:te.status,data:gt,error:String(It)},meta:A}];case 10:return[2,j(te,se)?{data:se,meta:A}:{error:{status:te.status,data:se},meta:A}]}})})};function y(g,b){return Em(this,null,function(){var _;return xm(this,function(w){switch(w.label){case 0:return typeof b=="function"?[2,b(g)]:(b==="content-type"&&(b=c(g.headers)?"json":"text"),b!=="json"?[3,2]:[4,g.text()]);case 1:return _=w.sent(),[2,_.length?JSON.parse(_):null];case 2:return[2,g.text()]}})})}}var sT=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),Bx=ue("__rtkq/focused"),YR=ue("__rtkq/unfocused"),jx=ue("__rtkq/online"),QR=ue("__rtkq/offline"),no;(function(e){e.query="query",e.mutation="mutation"})(no||(no={}));function ZR(e){return e.type===no.query}function pZ(e){return e.type===no.mutation}function JR(e,t,n,r,i,o){return gZ(e)?e(t,n,r,i).map(B_).map(o):Array.isArray(e)?e.map(B_).map(o):[]}function gZ(e){return typeof e=="function"}function B_(e){return typeof e=="string"?{type:e}:e}function yb(e){return e!=null}var Ef=Symbol("forceQueryFn"),j_=function(e){return typeof e[Ef]=="function"};function mZ(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,c=l.removeMutationResult,d=l.updateSubscriptionOptions;return{buildInitiateQuery:y,buildInitiateMutation:g,getRunningQueryThunk:p,getRunningMutationThunk:m,getRunningQueriesThunk:S,getRunningMutationsThunk:v,getRunningOperationPromises:h,removalWarning:f};function f(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. + Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. + See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function h(){typeof process<"u";var b=function(_){return Array.from(_.values()).flatMap(function(w){return w?Object.values(w):[]})};return Cm(Cm([],b(s)),b(a)).filter(yb)}function p(b,_){return function(w){var x,T=o.endpointDefinitions[b],P=t({queryArgs:_,endpointDefinition:T,endpointName:b});return(x=s.get(w))==null?void 0:x[P]}}function m(b,_){return function(w){var x;return(x=a.get(w))==null?void 0:x[_]}}function S(){return function(b){return Object.values(s.get(b)||{}).filter(yb)}}function v(){return function(b){return Object.values(a.get(b)||{}).filter(yb)}}function y(b,_){var w=function(x,T){var P=T===void 0?{}:T,E=P.subscribe,A=E===void 0?!0:E,$=P.forceRefetch,M=P.subscriptionOptions,C=Ef,O=P[C];return function(I,N){var R,D,L=t({queryArgs:x,endpointDefinition:_,endpointName:b}),j=n((R={type:"query",subscribe:A,forceRefetch:$,subscriptionOptions:M,endpointName:b,originalArgs:x,queryCacheKey:L},R[Ef]=O,R)),U=i.endpoints[b].select(x),G=I(j),W=U(N()),X=G.requestId,Y=G.abort,B=W.requestId!==X,H=(D=s.get(I))==null?void 0:D[L],Q=function(){return U(N())},J=Object.assign(O?G.then(Q):B&&!H?Promise.resolve(W):Promise.all([H,G]).then(Q),{arg:x,requestId:X,subscriptionOptions:M,queryCacheKey:L,abort:Y,unwrap:function(){return Em(this,null,function(){var te;return xm(this,function(xe){switch(xe.label){case 0:return[4,J];case 1:if(te=xe.sent(),te.isError)throw te.error;return[2,te.data]}})})},refetch:function(){return I(w(x,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){A&&I(u({queryCacheKey:L,requestId:X}))},updateSubscriptionOptions:function(te){J.subscriptionOptions=te,I(d({endpointName:b,requestId:X,queryCacheKey:L,options:te}))}});if(!H&&!B&&!O){var ne=s.get(I)||{};ne[L]=J,s.set(I,ne),J.then(function(){delete ne[L],Object.keys(ne).length||s.delete(I)})}return J}};return w}function g(b){return function(_,w){var x=w===void 0?{}:w,T=x.track,P=T===void 0?!0:T,E=x.fixedCacheKey;return function(A,$){var M=r({type:"mutation",endpointName:b,originalArgs:_,track:P,fixedCacheKey:E}),C=A(M),O=C.requestId,I=C.abort,N=C.unwrap,R=C.unwrap().then(function(U){return{data:U}}).catch(function(U){return{error:U}}),D=function(){A(c({requestId:O,fixedCacheKey:E}))},L=Object.assign(R,{arg:C.arg,requestId:O,abort:I,unwrap:N,unsubscribe:D,reset:D}),j=a.get(A)||{};return a.set(A,j),j[O]=L,L.then(function(){delete j[O],Object.keys(j).length||a.delete(A)}),E&&(j[E]=L,L.then(function(){j[E]===L&&(delete j[E],Object.keys(j).length||a.delete(A))})),L}}}}function aT(e){return e}function yZ(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(g,b,_){return function(w){var x=i[g];w(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:b,endpointDefinition:x,endpointName:g}),patches:_}))}},l=function(g,b,_){return function(w,x){var T,P,E=s.endpoints[g].select(b)(x()),A={patches:[],inversePatches:[],undo:function(){return w(s.util.patchQueryData(g,b,A.inversePatches))}};if(E.status===vt.uninitialized)return A;if("data"in E)if(yr(E.data)){var $=gx(E.data,_),M=$[1],C=$[2];(T=A.patches).push.apply(T,M),(P=A.inversePatches).push.apply(P,C)}else{var O=_(E.data);A.patches.push({op:"replace",path:[],value:O}),A.inversePatches.push({op:"replace",path:[],value:E.data})}return w(s.util.patchQueryData(g,b,A.patches)),A}},u=function(g,b,_){return function(w){var x;return w(s.endpoints[g].initiate(b,(x={subscribe:!1,forceRefetch:!0},x[Ef]=function(){return{data:_}},x)))}},c=function(g,b){return Em(t,[g,b],function(_,w){var x,T,P,E,A,$,M,C,O,I,N,R,D,L,j,U,G,W,X=w.signal,Y=w.abort,B=w.rejectWithValue,H=w.fulfillWithValue,Q=w.dispatch,J=w.getState,ne=w.extra;return xm(this,function(te){switch(te.label){case 0:x=i[_.endpointName],te.label=1;case 1:return te.trys.push([1,8,,13]),T=aT,P=void 0,E={signal:X,abort:Y,dispatch:Q,getState:J,extra:ne,endpoint:_.endpointName,type:_.type,forced:_.type==="query"?d(_,J()):void 0},A=_.type==="query"?_[Ef]:void 0,A?(P=A(),[3,6]):[3,2];case 2:return x.query?[4,r(x.query(_.originalArgs),E,x.extraOptions)]:[3,4];case 3:return P=te.sent(),x.transformResponse&&(T=x.transformResponse),[3,6];case 4:return[4,x.queryFn(_.originalArgs,E,x.extraOptions,function(xe){return r(xe,E,x.extraOptions)})];case 5:P=te.sent(),te.label=6;case 6:if(typeof process<"u",P.error)throw new sT(P.error,P.meta);return N=H,[4,T(P.data,P.meta,_.originalArgs)];case 7:return[2,N.apply(void 0,[te.sent(),(G={fulfilledTimeStamp:Date.now(),baseQueryMeta:P.meta},G[Ra]=!0,G)])];case 8:if(R=te.sent(),D=R,!(D instanceof sT))return[3,12];L=aT,x.query&&x.transformErrorResponse&&(L=x.transformErrorResponse),te.label=9;case 9:return te.trys.push([9,11,,12]),j=B,[4,L(D.value,D.meta,_.originalArgs)];case 10:return[2,j.apply(void 0,[te.sent(),(W={baseQueryMeta:D.meta},W[Ra]=!0,W)])];case 11:return U=te.sent(),D=U,[3,12];case 12:throw typeof process<"u",console.error(D),D;case 13:return[2]}})})};function d(g,b){var _,w,x,T,P=(w=(_=b[n])==null?void 0:_.queries)==null?void 0:w[g.queryCacheKey],E=(x=b[n])==null?void 0:x.config.refetchOnMountOrArgChange,A=P==null?void 0:P.fulfilledTimeStamp,$=(T=g.forceRefetch)!=null?T:g.subscribe&&E;return $?$===!0||(Number(new Date)-Number(A))/1e3>=$:!1}var f=Vs(n+"/executeQuery",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ra]=!0,g},condition:function(g,b){var _=b.getState,w,x,T,P=_(),E=(x=(w=P[n])==null?void 0:w.queries)==null?void 0:x[g.queryCacheKey],A=E==null?void 0:E.fulfilledTimeStamp,$=g.originalArgs,M=E==null?void 0:E.originalArgs,C=i[g.endpointName];return j_(g)?!0:(E==null?void 0:E.status)==="pending"?!1:d(g,P)||ZR(C)&&((T=C==null?void 0:C.forceRefetch)!=null&&T.call(C,{currentArg:$,previousArg:M,endpointState:E,state:P}))?!0:!A},dispatchConditionRejection:!0}),h=Vs(n+"/executeMutation",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ra]=!0,g}}),p=function(g){return"force"in g},m=function(g){return"ifOlderThan"in g},S=function(g,b,_){return function(w,x){var T=p(_)&&_.force,P=m(_)&&_.ifOlderThan,E=function(C){return C===void 0&&(C=!0),s.endpoints[g].initiate(b,{forceRefetch:C})},A=s.endpoints[g].select(b)(x());if(T)w(E());else if(P){var $=A==null?void 0:A.fulfilledTimeStamp;if(!$){w(E());return}var M=(Number(new Date)-Number(new Date($)))/1e3>=P;M&&w(E())}else w(E(!1))}};function v(g){return function(b){var _,w;return((w=(_=b==null?void 0:b.meta)==null?void 0:_.arg)==null?void 0:w.endpointName)===g}}function y(g,b){return{matchPending:Tu(u0(g),v(b)),matchFulfilled:Tu(ea(g),v(b)),matchRejected:Tu(Xu(g),v(b))}}return{queryThunk:f,mutationThunk:h,prefetch:S,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:y}}function e7(e,t,n,r){return JR(n[e.meta.arg.endpointName][t],ea(e)?e.payload:void 0,uh(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function yp(e,t,n){var r=e[t];r&&n(r)}function Pf(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function lT(e,t,n){var r=e[Pf(t)];r&&n(r)}var zc={};function vZ(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,c=e.config,d=ue(t+"/resetApiState"),f=Pt({name:t+"/queries",initialState:zc,reducers:{removeQueryResult:{reducer:function(_,w){var x=w.payload.queryCacheKey;delete _[x]},prepare:cg()},queryResultPatched:function(_,w){var x=w.payload,T=x.queryCacheKey,P=x.patches;yp(_,T,function(E){E.data=v_(E.data,P.concat())})}},extraReducers:function(_){_.addCase(n.pending,function(w,x){var T=x.meta,P=x.meta.arg,E,A,$=j_(P);(P.subscribe||$)&&((A=w[E=P.queryCacheKey])!=null||(w[E]={status:vt.uninitialized,endpointName:P.endpointName})),yp(w,P.queryCacheKey,function(M){M.status=vt.pending,M.requestId=$&&M.requestId?M.requestId:T.requestId,P.originalArgs!==void 0&&(M.originalArgs=P.originalArgs),M.startedTimeStamp=T.startedTimeStamp})}).addCase(n.fulfilled,function(w,x){var T=x.meta,P=x.payload;yp(w,T.arg.queryCacheKey,function(E){var A;if(!(E.requestId!==T.requestId&&!j_(T.arg))){var $=o[T.arg.endpointName].merge;if(E.status=vt.fulfilled,$)if(E.data!==void 0){var M=T.fulfilledTimeStamp,C=T.arg,O=T.baseQueryMeta,I=T.requestId,N=Js(E.data,function(R){return $(R,P,{arg:C.originalArgs,baseQueryMeta:O,fulfilledTimeStamp:M,requestId:I})});E.data=N}else E.data=P;else E.data=(A=o[T.arg.endpointName].structuralSharing)==null||A?XR(er(E.data)?lx(E.data):E.data,P):P;delete E.error,E.fulfilledTimeStamp=T.fulfilledTimeStamp}})}).addCase(n.rejected,function(w,x){var T=x.meta,P=T.condition,E=T.arg,A=T.requestId,$=x.error,M=x.payload;yp(w,E.queryCacheKey,function(C){if(!P){if(C.requestId!==A)return;C.status=vt.rejected,C.error=M??$}})}).addMatcher(l,function(w,x){for(var T=a(x).queries,P=0,E=Object.entries(T);P{const r=Tf.get(),i=Cf.get();return hZ({baseUrl:`${r??""}/api/v1`,prepareHeaders:s=>(i&&s.set("Authorization",`Bearer ${i}`),s)})(e,t,n)},Hs=XZ({baseQuery:QZ,reducerPath:"api",tagTypes:YZ,endpoints:()=>({})}),_b=(e,t)=>{if(!e)return!1;const n=V_.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=new Date(n[n.length-1].created_at);return r>=i}else if([0,1].includes(n.length))return!0;return!1},Uc=e=>gi.includes(e.image_category)?gi:_s,Kn=cl({selectId:e=>e.image_name,sortComparer:(e,t)=>UQ(t.updated_at,e.updated_at)}),V_=Kn.getSelectors(),di=e=>`images/?${F_.stringify(e,{arrayFormat:"none"})}`,he=Hs.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:di(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:di({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return di({board_id:n,categories:r})},transformResponse(t){const{total:n,items:r}=t;return Kn.addMany(Kn.getInitialState({total:n}),r)},merge:(t,n)=>{Kn.addMany(t,V_.selectAll(n)),t.total=n.total},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;V_.selectAll(i).forEach(o=>{n(he.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:di({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/${t}`}),providesTags:(t,n,r)=>{const i=[{type:"Image",id:r}];return t!=null&&t.board_id&&i.push({type:"Board",id:t.board_id}),i},keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),getBoardImagesTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:gi,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:_s,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s=[],a=Uc(t);s.push(n(he.util.updateQueryData("listImages",{board_id:o??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,i).total-u;l.total=l.total+d})));try{await r}catch{s.forEach(l=>l.undo())}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=Uc(t);if(n)s.push(r(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,t.image_name).total-u;l.total=l.total+d})));else{console.log(t);const l={board_id:t.board_id??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=_b(u.data,t);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.upsertOne(f,t).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(he.util.upsertQueryData("getImageDTO",u.image_name,u));const c=Uc(u);a(he.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:c},d=>{const f=d.total,p=Kn.addOne(d,u).total-f;d.total=d.total+p})),a(he.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:r},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=Uc(n);if(s.push(r(he.util.updateQueryData("getImageDTO",n.image_name,l=>{Object.assign(l,{board_id:t})}))),!n.is_intermediate){s.push(r(he.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},f=>{const h=f.total,m=Kn.removeOne(f,n.image_name).total-h;f.total=f.total+m})));const l={board_id:t??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=_b(u.data,n);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.addOne(f,n).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{board_id:n,image_name:r}=t;return{url:"board_images/",method:"DELETE",body:{board_id:n,image_name:r}}},invalidatesTags:(t,n,{imageDTO:r})=>[{type:"Board",id:r.board_id},{type:"BoardImagesTotal",id:r.board_id},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:r.board_id},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=Uc(t),s=[];s.push(n(he.util.updateQueryData("getImageDTO",t.image_name,d=>{Object.assign(d,{board_id:void 0})}))),s.push(n(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},d=>{const f=d.total,p=Kn.removeOne(d,t.image_name).total-f;d.total=d.total+p})));const a={board_id:"none",categories:o},l=he.endpoints.listImages.select(a)(i()),u=l.data&&l.data.ids.length>=l.data.total,c=_b(l.data,t);(u||c)&&s.push(n(he.util.updateQueryData("listImages",a,d=>{const f=d.total,p=Kn.upsertOne(d,t).total-f;d.total=d.total+p})));try{await r}catch{s.forEach(d=>d.undo())}}})})}),{useGetIntermediatesCountQuery:GCe,useListImagesQuery:HCe,useLazyListImagesQuery:qCe,useGetImageDTOQuery:WCe,useGetImageMetadataQuery:KCe,useDeleteImageMutation:XCe,useGetBoardImagesTotalQuery:YCe,useGetBoardAssetsTotalQuery:QCe,useUploadImageMutation:ZCe,useAddImageToBoardMutation:JCe,useRemoveImageFromBoardMutation:e3e,useClearIntermediatesMutation:t3e}=he,n7=ue("socket/socketConnected"),r7=ue("socket/appSocketConnected"),i7=ue("socket/socketDisconnected"),o7=ue("socket/appSocketDisconnected"),Vx=ue("socket/socketSubscribed"),s7=ue("socket/appSocketSubscribed"),a7=ue("socket/socketUnsubscribed"),l7=ue("socket/appSocketUnsubscribed"),u7=ue("socket/socketInvocationStarted"),c7=ue("socket/appSocketInvocationStarted"),zx=ue("socket/socketInvocationComplete"),d7=ue("socket/appSocketInvocationComplete"),f7=ue("socket/socketInvocationError"),Ux=ue("socket/appSocketInvocationError"),h7=ue("socket/socketGraphExecutionStateComplete"),p7=ue("socket/appSocketGraphExecutionStateComplete"),g7=ue("socket/socketGeneratorProgress"),m7=ue("socket/appSocketGeneratorProgress"),y7=ue("socket/socketModelLoadStarted"),ZZ=ue("socket/appSocketModelLoadStarted"),v7=ue("socket/socketModelLoadCompleted"),JZ=ue("socket/appSocketModelLoadCompleted"),b7=ue("socket/socketSessionRetrievalError"),S7=ue("socket/appSocketSessionRetrievalError"),_7=ue("socket/socketInvocationRetrievalError"),w7=ue("socket/appSocketInvocationRetrievalError"),Gx=ue("controlNet/imageProcessed"),Xl={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},_p={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},vT={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:Xl.canny_image_processor.default,shouldAutoConfig:!0},z_={controlNets:{},isEnabled:!1,pendingControlImages:[]},x7=Pt({name:"controlNet",initialState:z_,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??vT,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=Ln(e.controlNets[n]);i.controlNetId=r,e.controlNets[r]=i},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...vT,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload;e.controlNets[n].isEnabled=!e.controlNets[n].isEnabled},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n].controlImage=r,e.controlNets[n].processedControlImage=null,r!==null&&e.controlNets[n].processorType!=="none"&&e.pendingControlImages.push(n)},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload;e.controlNets[n].processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(i=>i!==n)},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload;if(e.controlNets[n].model=r,e.controlNets[n].processedControlImage=null,e.controlNets[n].shouldAutoConfig){let i;for(const o in _p)if(r.model_name.includes(o)){i=_p[o];break}i?(e.controlNets[n].processorType=i,e.controlNets[n].processorNode=Xl[i].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Xl.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload;e.controlNets[n].weight=r},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload;e.controlNets[n].beginStepPct=r},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload;e.controlNets[n].endStepPct=r},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload;e.controlNets[n].controlMode=r},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload;e.controlNets[n].resizeMode=r},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n].processorNode;e.controlNets[n].processorNode={...i,...r},e.controlNets[n].shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload;e.controlNets[n].processedControlImage=null,e.controlNets[n].processorType=r,e.controlNets[n].processorNode=Xl[r].default,e.controlNets[n].shouldAutoConfig=!1},controlNetAutoConfigToggled:(e,t)=>{var i;const{controlNetId:n}=t.payload,r=!e.controlNets[n].shouldAutoConfig;if(r){let o;for(const s in _p)if((i=e.controlNets[n].model)!=null&&i.model_name.includes(s)){o=_p[s];break}o?(e.controlNets[n].processorType=o,e.controlNets[n].processorNode=Xl[o].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Xl.none.default)}e.controlNets[n].shouldAutoConfig=r},controlNetReset:()=>({...z_})},extraReducers:e=>{e.addCase(Gx,(t,n)=>{t.controlNets[n.payload.controlNetId].controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(Ux,t=>{t.pendingControlImages=[]}),e.addMatcher(IR,t=>{t.pendingControlImages=[]}),e.addMatcher(he.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;Qa(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:n3e,controlNetAdded:r3e,controlNetDuplicated:i3e,controlNetAddedFromImage:o3e,controlNetRemoved:C7,controlNetImageChanged:Hx,controlNetProcessedImageChanged:eJ,controlNetToggled:s3e,controlNetModelChanged:bT,controlNetWeightChanged:a3e,controlNetBeginStepPctChanged:l3e,controlNetEndStepPctChanged:u3e,controlNetControlModeChanged:c3e,controlNetResizeModeChanged:d3e,controlNetProcessorParamsChanged:tJ,controlNetProcessorTypeChanged:nJ,controlNetReset:T7,controlNetAutoConfigToggled:ST}=x7.actions,rJ=x7.reducer,E7={isEnabled:!1,maxPrompts:100,combinatorial:!0},iJ=E7,P7=Pt({name:"dynamicPrompts",initialState:iJ,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=E7.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:f3e,maxPromptsChanged:h3e,maxPromptsReset:p3e,combinatorialToggled:g3e}=P7.actions,oJ=P7.reducer,sJ={updateBoardModalOpen:!1,searchText:""},A7=Pt({name:"boards",initialState:sJ,reducers:{setBoardSearchText:(e,t)=>{e.searchText=t.payload},setUpdateBoardModalOpen:(e,t)=>{e.updateBoardModalOpen=t.payload}}}),{setBoardSearchText:m3e,setUpdateBoardModalOpen:y3e}=A7.actions,aJ=A7.reducer,ec=Hs.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Be}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Be}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Be}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Be},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(he.util.updateQueryData("getImageDTO",u,c=>{c.board_id=void 0}))});const a=[{categories:gi},{categories:_s}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(he.util.updateQueryData("listImages",u,c=>{const d=c.total,h=Kn.updateMany(c,l).total-d;c.total=c.total+h}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Be},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:gi},{categories:_s}].forEach(l=>{n(he.util.updateQueryData("listImages",l,u=>{const c=u.total,f=Kn.removeMany(u,s).total-c;u.total=u.total+f}))})}catch{}}})})}),{useListBoardsQuery:v3e,useListAllBoardsQuery:b3e,useCreateBoardMutation:S3e,useUpdateBoardMutation:_3e,useDeleteBoardMutation:w3e,useDeleteBoardAndImagesMutation:x3e,useListAllImageNamesForBoardQuery:C3e}=ec,k7={selection:[],shouldAutoSwitch:!0,autoAddBoardId:void 0,galleryImageMinimumWidth:96,selectedBoardId:void 0,galleryView:"images",batchImageNames:[],isBatchEnabled:!1},O7=Pt({name:"gallery",initialState:k7,reducers:{imageRangeEndSelected:()=>{},imageSelectionToggled:()=>{},imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},isBatchEnabledChanged:(e,t)=>{e.isBatchEnabled=t.payload},imagesAddedToBatch:(e,t)=>{e.batchImageNames=tY(e.batchImageNames.concat(t.payload))},imagesRemovedFromBatch:(e,t)=>{e.batchImageNames=e.batchImageNames.filter(r=>!t.payload.includes(r));const n=e.selection.filter(r=>!t.payload.includes(r));if(n.length){e.selection=n;return}e.selection=[e.batchImageNames[0]]},batchReset:e=>{e.batchImageNames=[],e.selection=[]},autoAddBoardIdChanged:(e,t)=>{e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload}},extraReducers:e=>{e.addMatcher(uJ,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId=void 0,t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId=void 0)}),e.addMatcher(ec.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId=void 0))})}}),{imageRangeEndSelected:T3e,imageSelectionToggled:E3e,imageSelected:Rs,shouldAutoSwitchChanged:P3e,setGalleryImageMinimumWidth:A3e,boardIdSelected:U_,isBatchEnabledChanged:k3e,imagesAddedToBatch:G_,imagesRemovedFromBatch:O3e,autoAddBoardIdChanged:R3e,galleryViewChanged:Am}=O7.actions,lJ=O7.reducer,uJ=ei(ec.endpoints.deleteBoard.matchFulfilled,ec.endpoints.deleteBoardAndImages.matchFulfilled),cJ={imageToDelete:null,isModalOpen:!1},R7=Pt({name:"imageDeletion",initialState:cJ,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imageToDeleteSelected:(e,t)=>{e.imageToDelete=t.payload},imageToDeleteCleared:e=>{e.imageToDelete=null,e.isModalOpen=!1}}}),{isModalOpenChanged:I7,imageToDeleteSelected:dJ,imageToDeleteCleared:I3e}=R7.actions,fJ=R7.reducer,_T={weight:.75},hJ={loras:{}},M7=Pt({name:"lora",initialState:hJ,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,..._T}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload;e.loras[n].weight=r},loraWeightReset:(e,t)=>{const n=t.payload;e.loras[n].weight=_T.weight}}}),{loraAdded:M3e,loraRemoved:N7,loraWeightChanged:N3e,loraWeightReset:D3e,lorasCleared:L3e}=M7.actions,pJ=M7.reducer;function ti(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(!Object.is(c,t)){const d=t;t=u??typeof c!="object"?c:Object.assign({},t,c),n.forEach(f=>f(t,d))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},gJ=e=>e?wT(e):wT,{useSyncExternalStoreWithSelector:mJ}=Wj;function yJ(e,t=e.getState,n){const r=mJ(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return k.useDebugValue(r),r}function br(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function P0(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hg.prototype=P0.prototype={constructor:hg,on:function(e,t){var n=this._,r=bJ(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),CT.hasOwnProperty(t)?{space:CT[t],local:e}:e}function _J(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H_&&t.documentElement.namespaceURI===H_?t.createElement(e):t.createElementNS(n,e)}}function wJ(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function D7(e){var t=A0(e);return(t.local?wJ:_J)(t)}function xJ(){}function qx(e){return e==null?xJ:function(){return this.querySelector(e)}}function CJ(e){typeof e!="function"&&(e=qx(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=g&&(g=y+1);!(_=S[g])&&++g=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function XJ(e){e||(e=YJ);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function QJ(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ZJ(){return Array.from(this)}function JJ(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?cee:typeof t=="function"?fee:dee)(e,t,n??"")):tc(this.node(),e)}function tc(e,t){return e.style.getPropertyValue(t)||j7(e).getComputedStyle(e,null).getPropertyValue(t)}function pee(e){return function(){delete this[e]}}function gee(e,t){return function(){this[e]=t}}function mee(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function yee(e,t){return arguments.length>1?this.each((t==null?pee:typeof t=="function"?mee:gee)(e,t)):this.node()[e]}function V7(e){return e.trim().split(/^|\s+/)}function Wx(e){return e.classList||new z7(e)}function z7(e){this._node=e,this._names=V7(e.getAttribute("class")||"")}z7.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function U7(e,t){for(var n=Wx(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Hee(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function q_(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}q_.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function tte(e){return!e.ctrlKey&&!e.button}function nte(){return this.parentNode}function rte(e,t){return t??{x:e.x,y:e.y}}function ite(){return navigator.maxTouchPoints||"ontouchstart"in this}function ote(){var e=tte,t=nte,n=rte,r=ite,i={},o=P0("start","drag","end"),s=0,a,l,u,c,d=0;function f(b){b.on("mousedown.drag",h).filter(r).on("touchstart.drag",S).on("touchmove.drag",v,ete).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(b,_){if(!(c||!e.call(this,b,_))){var w=g(this,t.call(this,b,_),b,_,"mouse");w&&(fi(b.view).on("mousemove.drag",p,Af).on("mouseup.drag",m,Af),W7(b.view),wb(b),u=!1,a=b.clientX,l=b.clientY,w("start",b))}}function p(b){if(Ou(b),!u){var _=b.clientX-a,w=b.clientY-l;u=_*_+w*w>d}i.mouse("drag",b)}function m(b){fi(b.view).on("mousemove.drag mouseup.drag",null),K7(b.view,u),Ou(b),i.mouse("end",b)}function S(b,_){if(e.call(this,b,_)){var w=b.changedTouches,x=t.call(this,b,_),T=w.length,P,E;for(P=0;P>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?xp(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?xp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ate.exec(e))?new hr(t[1],t[2],t[3],1):(t=lte.exec(e))?new hr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ute.exec(e))?xp(t[1],t[2],t[3],t[4]):(t=cte.exec(e))?xp(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=dte.exec(e))?RT(t[1],t[2]/100,t[3]/100,1):(t=fte.exec(e))?RT(t[1],t[2]/100,t[3]/100,t[4]):TT.hasOwnProperty(e)?AT(TT[e]):e==="transparent"?new hr(NaN,NaN,NaN,0):null}function AT(e){return new hr(e>>16&255,e>>8&255,e&255,1)}function xp(e,t,n,r){return r<=0&&(e=t=n=NaN),new hr(e,t,n,r)}function gte(e){return e instanceof bh||(e=Rf(e)),e?(e=e.rgb(),new hr(e.r,e.g,e.b,e.opacity)):new hr}function W_(e,t,n,r){return arguments.length===1?gte(e):new hr(e,t,n,r??1)}function hr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Kx(hr,W_,X7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hr(Va(this.r),Va(this.g),Va(this.b),Rm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kT,formatHex:kT,formatHex8:mte,formatRgb:OT,toString:OT}));function kT(){return`#${Ma(this.r)}${Ma(this.g)}${Ma(this.b)}`}function mte(){return`#${Ma(this.r)}${Ma(this.g)}${Ma(this.b)}${Ma((isNaN(this.opacity)?1:this.opacity)*255)}`}function OT(){const e=Rm(this.opacity);return`${e===1?"rgb(":"rgba("}${Va(this.r)}, ${Va(this.g)}, ${Va(this.b)}${e===1?")":`, ${e})`}`}function Rm(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Va(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ma(e){return e=Va(e),(e<16?"0":"")+e.toString(16)}function RT(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hi(e,t,n,r)}function Y7(e){if(e instanceof hi)return new hi(e.h,e.s,e.l,e.opacity);if(e instanceof bh||(e=Rf(e)),!e)return new hi;if(e instanceof hi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new hi(s,a,l,e.opacity)}function yte(e,t,n,r){return arguments.length===1?Y7(e):new hi(e,t,n,r??1)}function hi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Kx(hi,yte,X7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new hr(xb(e>=240?e-240:e+120,i,r),xb(e,i,r),xb(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new hi(IT(this.h),Cp(this.s),Cp(this.l),Rm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Rm(this.opacity);return`${e===1?"hsl(":"hsla("}${IT(this.h)}, ${Cp(this.s)*100}%, ${Cp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function IT(e){return e=(e||0)%360,e<0?e+360:e}function Cp(e){return Math.max(0,Math.min(1,e||0))}function xb(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Q7=e=>()=>e;function vte(e,t){return function(n){return e+n*t}}function bte(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Ste(e){return(e=+e)==1?Z7:function(t,n){return n-t?bte(t,n,e):Q7(isNaN(t)?n:t)}}function Z7(e,t){var n=t-e;return n?vte(e,n):Q7(isNaN(e)?t:e)}const MT=function e(t){var n=Ste(t);function r(i,o){var s=n((i=W_(i)).r,(o=W_(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=Z7(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=e,r}(1);function cs(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var K_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Cb=new RegExp(K_.source,"g");function _te(e){return function(){return e}}function wte(e){return function(t){return e(t)+""}}function xte(e,t){var n=K_.lastIndex=Cb.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=K_.exec(e))&&(i=Cb.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cs(r,i)})),n=Cb.lastIndex;return n180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:cs(u,c)})):c&&d.push(i(d)+"rotate("+c+r)}function a(u,c,d,f){u!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:cs(u,c)}):c&&d.push(i(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:cs(u,d)},{i:m-2,x:cs(c,f)})}else(d!==1||f!==1)&&h.push(i(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),s(u.rotate,c.rotate,d,f),a(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,m=f.length,S;++p=0&&e._call.call(void 0,t),e=e._next;--nc}function LT(){tl=(Mm=If.now())+k0,nc=fd=0;try{Mte()}finally{nc=0,Dte(),tl=0}}function Nte(){var e=If.now(),t=e-Mm;t>tI&&(k0-=t,Mm=e)}function Dte(){for(var e,t=Im,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Im=n);hd=e,Y_(r)}function Y_(e){if(!nc){fd&&(fd=clearTimeout(fd));var t=e-tl;t>24?(e<1/0&&(fd=setTimeout(LT,e-If.now()-k0)),Gc&&(Gc=clearInterval(Gc))):(Gc||(Mm=If.now(),Gc=setInterval(Nte,tI)),nc=1,nI(LT))}}function $T(e,t,n){var r=new Nm;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Lte=P0("start","end","cancel","interrupt"),$te=[],iI=0,FT=1,Q_=2,pg=3,BT=4,Z_=5,gg=6;function O0(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Fte(e,n,{name:t,index:r,group:i,on:Lte,tween:$te,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:iI})}function Yx(e,t){var n=Pi(e,t);if(n.state>iI)throw new Error("too late; already scheduled");return n}function so(e,t){var n=Pi(e,t);if(n.state>pg)throw new Error("too late; already running");return n}function Pi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Fte(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=rI(o,0,n.time);function o(u){n.state=FT,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,f,h;if(n.state!==FT)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===pg)return $T(s);h.state===BT?(h.state=gg,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+cQ_&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function pne(e,t,n){var r,i,o=hne(t)?Yx:so;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function gne(e,t){var n=this._id;return arguments.length<2?Pi(this.node(),n).on.on(e):this.each(pne(n,e,t))}function mne(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function yne(){return this.on("end.remove",mne(this._id))}function vne(e){var t=this._name,n=this._id;typeof e!="function"&&(e=qx(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Une(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Po(e,t,n){this.k=e,this.x=t,this.y=n}Po.prototype={constructor:Po,scale:function(e){return e===1?this:new Po(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Po(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Is=new Po(1,0,0);Po.prototype;function Tb(e){e.stopImmediatePropagation()}function Hc(e){e.preventDefault(),e.stopImmediatePropagation()}function Gne(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Hne(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function jT(){return this.__zoom||Is}function qne(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Wne(){return navigator.maxTouchPoints||"ontouchstart"in this}function Kne(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Xne(){var e=Gne,t=Hne,n=Kne,r=qne,i=Wne,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Rte,u=P0("start","zoom","end"),c,d,f,h=500,p=150,m=0,S=10;function v(C){C.property("__zoom",jT).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",P).on("dblclick.zoom",E).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}v.transform=function(C,O,I,N){var R=C.selection?C.selection():C;R.property("__zoom",jT),C!==R?_(C,O,I,N):R.interrupt().each(function(){w(this,arguments).event(N).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},v.scaleBy=function(C,O,I,N){v.scaleTo(C,function(){var R=this.__zoom.k,D=typeof O=="function"?O.apply(this,arguments):O;return R*D},I,N)},v.scaleTo=function(C,O,I,N){v.transform(C,function(){var R=t.apply(this,arguments),D=this.__zoom,L=I==null?b(R):typeof I=="function"?I.apply(this,arguments):I,j=D.invert(L),U=typeof O=="function"?O.apply(this,arguments):O;return n(g(y(D,U),L,j),R,s)},I,N)},v.translateBy=function(C,O,I,N){v.transform(C,function(){return n(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof I=="function"?I.apply(this,arguments):I),t.apply(this,arguments),s)},null,N)},v.translateTo=function(C,O,I,N,R){v.transform(C,function(){var D=t.apply(this,arguments),L=this.__zoom,j=N==null?b(D):typeof N=="function"?N.apply(this,arguments):N;return n(Is.translate(j[0],j[1]).scale(L.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof I=="function"?-I.apply(this,arguments):-I),D,s)},N,R)};function y(C,O){return O=Math.max(o[0],Math.min(o[1],O)),O===C.k?C:new Po(O,C.x,C.y)}function g(C,O,I){var N=O[0]-I[0]*C.k,R=O[1]-I[1]*C.k;return N===C.x&&R===C.y?C:new Po(C.k,N,R)}function b(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function _(C,O,I,N){C.on("start.zoom",function(){w(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(N).end()}).tween("zoom",function(){var R=this,D=arguments,L=w(R,D).event(N),j=t.apply(R,D),U=I==null?b(j):typeof I=="function"?I.apply(R,D):I,G=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),W=R.__zoom,X=typeof O=="function"?O.apply(R,D):O,Y=l(W.invert(U).concat(G/W.k),X.invert(U).concat(G/X.k));return function(B){if(B===1)B=X;else{var H=Y(B),Q=G/H[2];B=new Po(Q,U[0]-H[0]*Q,U[1]-H[1]*Q)}L.zoom(null,B)}})}function w(C,O,I){return!I&&C.__zooming||new x(C,O)}function x(C,O){this.that=C,this.args=O,this.active=0,this.sourceEvent=null,this.extent=t.apply(C,O),this.taps=0}x.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,O){return this.mouse&&C!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var O=fi(this.that).datum();u.call(C,this.that,new Une(C,{sourceEvent:this.sourceEvent,target:v,type:C,transform:this.that.__zoom,dispatch:u}),O)}};function T(C,...O){if(!e.apply(this,arguments))return;var I=w(this,O).event(C),N=this.__zoom,R=Math.max(o[0],Math.min(o[1],N.k*Math.pow(2,r.apply(this,arguments)))),D=$i(C);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=N.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(N.k===R)return;I.mouse=[D,N.invert(D)],mg(this),I.start()}Hc(C),I.wheel=setTimeout(L,p),I.zoom("mouse",n(g(y(N,R),I.mouse[0],I.mouse[1]),I.extent,s));function L(){I.wheel=null,I.end()}}function P(C,...O){if(f||!e.apply(this,arguments))return;var I=C.currentTarget,N=w(this,O,!0).event(C),R=fi(C.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",G,!0),D=$i(C,I),L=C.clientX,j=C.clientY;W7(C.view),Tb(C),N.mouse=[D,this.__zoom.invert(D)],mg(this),N.start();function U(W){if(Hc(W),!N.moved){var X=W.clientX-L,Y=W.clientY-j;N.moved=X*X+Y*Y>m}N.event(W).zoom("mouse",n(g(N.that.__zoom,N.mouse[0]=$i(W,I),N.mouse[1]),N.extent,s))}function G(W){R.on("mousemove.zoom mouseup.zoom",null),K7(W.view,N.moved),Hc(W),N.event(W).end()}}function E(C,...O){if(e.apply(this,arguments)){var I=this.__zoom,N=$i(C.changedTouches?C.changedTouches[0]:C,this),R=I.invert(N),D=I.k*(C.shiftKey?.5:2),L=n(g(y(I,D),N,R),t.apply(this,O),s);Hc(C),a>0?fi(this).transition().duration(a).call(_,L,N,C):fi(this).call(v.transform,L,N,C)}}function A(C,...O){if(e.apply(this,arguments)){var I=C.touches,N=I.length,R=w(this,O,C.changedTouches.length===N).event(C),D,L,j,U;for(Tb(C),L=0;L"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},lI=qs.error001();function Vt(e,t){const n=k.useContext(R0);if(n===null)throw new Error(lI);return yJ(n,e,t)}const Vn=()=>{const e=k.useContext(R0);if(e===null)throw new Error(lI);return k.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Qne=e=>e.userSelectionActive?"none":"all";function Zne({position:e,children:t,className:n,style:r,...i}){const o=Vt(Qne),s=`${e}`.split("-");return K.jsx("div",{className:ti(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Jne({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:K.jsx(Zne,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:K.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const ere=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...c})=>{const d=k.useRef(null),[f,h]=k.useState({x:0,y:0,width:0,height:0}),p=ti(["react-flow__edge-textwrapper",u]);return k.useEffect(()=>{if(d.current){const m=d.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:K.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c,children:[i&&K.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),K.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r,children:n}),l]})};var tre=k.memo(ere);const Zx=e=>({width:e.offsetWidth,height:e.offsetHeight}),rc=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Jx=(e={x:0,y:0},t)=>({x:rc(e.x,t[0][0],t[1][0]),y:rc(e.y,t[0][1],t[1][1])}),VT=(e,t,n)=>en?-rc(Math.abs(e-n),1,50)/50:0,uI=(e,t)=>{const n=VT(e.x,35,t.width-35)*20,r=VT(e.y,35,t.height-35)*20;return[n,r]},cI=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},dI=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Dm=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),fI=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),zT=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),$3e=(e,t)=>fI(dI(Dm(e),Dm(t))),J_=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},nre=e=>Kr(e.width)&&Kr(e.height)&&Kr(e.x)&&Kr(e.y),Kr=e=>!isNaN(e)&&isFinite(e),on=Symbol.for("internals"),hI=["Enter"," ","Escape"],rre=(e,t)=>{},ire=e=>"nativeEvent"in e;function e2(e){var i,o;const t=ire(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const pI=e=>"clientX"in e,Ms=(e,t)=>{var o,s;const n=pI(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Sh=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>K.jsxs(K.Fragment,{children:[K.jsx("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&K.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&Kr(n)&&Kr(r)?K.jsx(tre,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Sh.displayName="BaseEdge";function qc(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function gI({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[S,v,y]=yI({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return K.jsx(Sh,{path:S,labelX:v,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:m})});eC.displayName="SimpleBezierEdge";const GT={[pe.Left]:{x:-1,y:0},[pe.Right]:{x:1,y:0},[pe.Top]:{x:0,y:-1},[pe.Bottom]:{x:0,y:1}},ore=({source:e,sourcePosition:t=pe.Bottom,target:n})=>t===pe.Left||t===pe.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function sre({source:e,sourcePosition:t=pe.Bottom,target:n,targetPosition:r=pe.Top,center:i,offset:o}){const s=GT[t],a=GT[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},c=ore({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",f=c[d];let h=[],p,m;const[S,v,y,g]=gI({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){p=i.x||S,m=i.y||v;const _=[{x:p,y:l.y},{x:p,y:u.y}],w=[{x:l.x,y:m},{x:u.x,y:m}];s[d]===f?h=d==="x"?_:w:h=d==="x"?w:_}else{const _=[{x:l.x,y:u.y}],w=[{x:u.x,y:l.y}];if(d==="x"?h=s.x===f?w:_:h=s.y===f?_:w,t!==r){const x=d==="x"?"y":"x",T=s[d]===a[x],P=l[x]>u[x],E=l[x]{let g="";return y>0&&y{const[v,y,g]=t2({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return K.jsx(Sh,{path:v,labelX:y,labelY:g,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:p,interactionWidth:S})});I0.displayName="SmoothStepEdge";const tC=k.memo(e=>{var t;return K.jsx(I0,{...e,pathOptions:k.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});tC.displayName="StepEdge";function lre({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=gI({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const nC=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{const[p,m,S]=lre({sourceX:e,sourceY:t,targetX:n,targetY:r});return K.jsx(Sh,{path:p,labelX:m,labelY:S,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});nC.displayName="StraightEdge";function Pp(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function qT({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case pe.Left:return[t-Pp(t-r,o),n];case pe.Right:return[t+Pp(r-t,o),n];case pe.Top:return[t,n-Pp(n-i,o)];case pe.Bottom:return[t,n+Pp(i-n,o)]}}function vI({sourceX:e,sourceY:t,sourcePosition:n=pe.Bottom,targetX:r,targetY:i,targetPosition:o=pe.Top,curvature:s=.25}){const[a,l]=qT({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,c]=qT({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[d,f,h,p]=mI({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${l} ${u},${c} ${r},${i}`,d,f,h,p]}const $m=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=pe.Bottom,targetPosition:o=pe.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,pathOptions:m,interactionWidth:S})=>{const[v,y,g]=vI({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return K.jsx(Sh,{path:v,labelX:y,labelY:g,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:S})});$m.displayName="BezierEdge";const rC=k.createContext(null),ure=rC.Provider;rC.Consumer;const cre=()=>k.useContext(rC),dre=e=>"id"in e&&"source"in e&&"target"in e,fre=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,n2=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,hre=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),bI=(e,t)=>{if(!e.source||!e.target)return t;let n;return dre(e)?n={...e}:n={...e,id:fre(e)},hre(n,t)?t:t.concat(n)},SI=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},pre=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Mu=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},_I=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=Mu(i,t).positionAbsolute;return dI(r,Dm({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return fI(n)},wI=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(c=>{const{width:d,height:f,selectable:h=!0,hidden:p=!1}=c;if(s&&!h||p)return!1;const{positionAbsolute:m}=Mu(c,a),S={x:m.x,y:m.y,width:d||0,height:f||0},v=J_(l,S),y=typeof d>"u"||typeof f>"u"||d===null||f===null,g=o&&v>0,b=(d||0)*(f||0);(y||g||v>=b||c.dragging)&&u.push(c)}),u},xI=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},CI=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=rc(l,r,i),c=e.x+e.width/2,d=e.y+e.height/2,f=t/2-c*u,h=n/2-d*u;return[f,h,u]},xa=(e,t=0)=>e.transition().duration(t);function WT(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function gre(e,t,n,r,i,o){const{x:s,y:a}=Ms(e),u=t.elementsFromPoint(s,a).find(p=>p.classList.contains("react-flow__handle"));if(u){const p=u.getAttribute("data-nodeid");if(p){const m=iC(void 0,u),S=u.getAttribute("data-handleid"),v=o({nodeId:p,id:S,type:m});if(v)return{handle:{id:S,type:m,nodeId:p,x:n.x,y:n.y},validHandleResult:v}}}let c=[],d=1/0;if(i.forEach(p=>{const m=Math.sqrt((p.x-n.x)**2+(p.y-n.y)**2);if(m<=r){const S=o(p);m<=d&&(mp.isValid),h=c.some(({handle:p})=>p.type==="target");return c.find(({handle:p,validHandleResult:m})=>h?p.type==="target":f?m.isValid:!0)||c[0]}const mre={source:null,target:null,sourceHandle:null,targetHandle:null},TI=()=>({handleDomNode:null,isValid:!1,connection:mre,endHandle:null});function EI(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...TI(),handleDomNode:l};if(l){const c=iC(void 0,l),d=l.getAttribute("data-nodeid"),f=l.getAttribute("data-handleid"),h=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),m={source:a?d:n,sourceHandle:a?f:r,target:a?n:d,targetHandle:a?r:f};u.connection=m,h&&p&&(t===nl.Strict?a&&c==="source"||!a&&c==="target":d!==n||f!==r)&&(u.endHandle={nodeId:d,handleId:f,type:c},u.isValid=o(m))}return u}function yre({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[on]){const{handleBounds:s}=o[on];let a=[],l=[];s&&(a=WT(o,s,"source",`${t}-${n}-${r}`),l=WT(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function iC(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Eb(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function vre(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function PI({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const c=cI(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:h,connectionRadius:p,onConnectStart:m,panBy:S,getNodes:v,cancelConnection:y}=o();let g=0,b;const{x:_,y:w}=Ms(e),x=c==null?void 0:c.elementFromPoint(_,w),T=iC(l,x),P=f==null?void 0:f.getBoundingClientRect();if(!P||!T)return;let E,A=Ms(e,P),$=!1,M=null,C=!1,O=null;const I=yre({nodes:v(),nodeId:n,handleId:t,handleType:T}),N=()=>{if(!h)return;const[L,j]=uI(A,P);S({x:L,y:j}),g=requestAnimationFrame(N)};s({connectionPosition:A,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:T,connectionStartHandle:{nodeId:n,handleId:t,type:T},connectionEndHandle:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:T});function R(L){const{transform:j}=o();A=Ms(L,P);const{handle:U,validHandleResult:G}=gre(L,c,SI(A,j,!1,[1,1]),p,I,W=>EI(W,d,n,t,i?"target":"source",a,c));if(b=U,$||(N(),$=!0),O=G.handleDomNode,M=G.connection,C=G.isValid,s({connectionPosition:b&&C?pre({x:b.x,y:b.y},j):A,connectionStatus:vre(!!b,C),connectionEndHandle:G.endHandle}),!b&&!C&&!O)return Eb(E);M.source!==M.target&&O&&(Eb(E),E=O,O.classList.add("connecting","react-flow__handle-connecting"),O.classList.toggle("valid",C),O.classList.toggle("react-flow__handle-valid",C))}function D(L){var j,U;(b||O)&&M&&C&&(r==null||r(M)),(U=(j=o()).onConnectEnd)==null||U.call(j,L),l&&(u==null||u(L)),Eb(E),y(),cancelAnimationFrame(g),$=!1,C=!1,M=null,O=null,c.removeEventListener("mousemove",R),c.removeEventListener("mouseup",D),c.removeEventListener("touchmove",R),c.removeEventListener("touchend",D)}c.addEventListener("mousemove",R),c.addEventListener("mouseup",D),c.addEventListener("touchmove",R),c.addEventListener("touchend",D)}const KT=()=>!0,bre=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Sre=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},AI=k.forwardRef(({type:e="source",position:t=pe.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{var P,E;const p=s||null,m=e==="target",S=Vn(),v=cre(),{connectOnClick:y,noPanClassName:g}=Vt(bre,br),{connecting:b,clickConnecting:_}=Vt(Sre(v,p,e),br);v||(E=(P=S.getState()).onError)==null||E.call(P,"010",qs.error010());const w=A=>{const{defaultEdgeOptions:$,onConnect:M,hasDefaultEdges:C}=S.getState(),O={...$,...A};if(C){const{edges:I,setEdges:N}=S.getState();N(bI(O,I))}M==null||M(O),a==null||a(O)},x=A=>{if(!v)return;const $=pI(A);i&&($&&A.button===0||!$)&&PI({event:A,handleId:p,nodeId:v,onConnect:w,isTarget:m,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||KT}),$?c==null||c(A):d==null||d(A)},T=A=>{const{onClickConnectStart:$,onClickConnectEnd:M,connectionClickStartHandle:C,connectionMode:O,isValidConnection:I}=S.getState();if(!v||!C&&!i)return;if(!C){$==null||$(A,{nodeId:v,handleId:p,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:p}});return}const N=cI(A.target),R=n||I||KT,{connection:D,isValid:L}=EI({nodeId:v,id:p,type:e},O,C.nodeId,C.handleId||null,C.type,R,N);L&&w(D),M==null||M(A),S.setState({connectionClickStartHandle:null})};return K.jsx("div",{"data-handleid":p,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${p}-${e}`,className:ti(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:o,connecting:_,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:x,onTouchStart:x,onClick:y?T:void 0,ref:h,...f,children:l})});AI.displayName="Handle";var Fm=k.memo(AI);const kI=({data:e,isConnectable:t,targetPosition:n=pe.Top,sourcePosition:r=pe.Bottom})=>K.jsxs(K.Fragment,{children:[K.jsx(Fm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,K.jsx(Fm,{type:"source",position:r,isConnectable:t})]});kI.displayName="DefaultNode";var r2=k.memo(kI);const OI=({data:e,isConnectable:t,sourcePosition:n=pe.Bottom})=>K.jsxs(K.Fragment,{children:[e==null?void 0:e.label,K.jsx(Fm,{type:"source",position:n,isConnectable:t})]});OI.displayName="InputNode";var RI=k.memo(OI);const II=({data:e,isConnectable:t,targetPosition:n=pe.Top})=>K.jsxs(K.Fragment,{children:[K.jsx(Fm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});II.displayName="OutputNode";var MI=k.memo(II);const oC=()=>null;oC.displayName="GroupNode";const _re=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Ap=e=>e.id;function wre(e,t){return br(e.selectedNodes.map(Ap),t.selectedNodes.map(Ap))&&br(e.selectedEdges.map(Ap),t.selectedEdges.map(Ap))}const NI=k.memo(({onSelectionChange:e})=>{const t=Vn(),{selectedNodes:n,selectedEdges:r}=Vt(_re,wre);return k.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});NI.displayName="SelectionListener";const xre=e=>!!e.onSelectionChange;function Cre({onSelectionChange:e}){const t=Vt(xre);return e||t?K.jsx(NI,{onSelectionChange:e}):null}const Tre=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Dl(e,t){k.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function Ae(e,t,n){k.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const Ere=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:S,nodeExtent:v,onNodesChange:y,onEdgesChange:g,elementsSelectable:b,connectionMode:_,snapGrid:w,snapToGrid:x,translateExtent:T,connectOnClick:P,defaultEdgeOptions:E,fitView:A,fitViewOptions:$,onNodesDelete:M,onEdgesDelete:C,onNodeDrag:O,onNodeDragStart:I,onNodeDragStop:N,onSelectionDrag:R,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:j,nodeOrigin:U,rfId:G,autoPanOnConnect:W,autoPanOnNodeDrag:X,onError:Y,connectionRadius:B,isValidConnection:H})=>{const{setNodes:Q,setEdges:J,setDefaultNodesAndEdges:ne,setMinZoom:te,setMaxZoom:xe,setTranslateExtent:ve,setNodeExtent:ce,reset:Ne}=Vt(Tre,br),se=Vn();return k.useEffect(()=>{const gt=r==null?void 0:r.map(vn=>({...vn,...E}));return ne(n,gt),()=>{Ne()}},[]),Ae("defaultEdgeOptions",E,se.setState),Ae("connectionMode",_,se.setState),Ae("onConnect",i,se.setState),Ae("onConnectStart",o,se.setState),Ae("onConnectEnd",s,se.setState),Ae("onClickConnectStart",a,se.setState),Ae("onClickConnectEnd",l,se.setState),Ae("nodesDraggable",u,se.setState),Ae("nodesConnectable",c,se.setState),Ae("nodesFocusable",d,se.setState),Ae("edgesFocusable",f,se.setState),Ae("edgesUpdatable",h,se.setState),Ae("elementsSelectable",b,se.setState),Ae("elevateNodesOnSelect",p,se.setState),Ae("snapToGrid",x,se.setState),Ae("snapGrid",w,se.setState),Ae("onNodesChange",y,se.setState),Ae("onEdgesChange",g,se.setState),Ae("connectOnClick",P,se.setState),Ae("fitViewOnInit",A,se.setState),Ae("fitViewOnInitOptions",$,se.setState),Ae("onNodesDelete",M,se.setState),Ae("onEdgesDelete",C,se.setState),Ae("onNodeDrag",O,se.setState),Ae("onNodeDragStart",I,se.setState),Ae("onNodeDragStop",N,se.setState),Ae("onSelectionDrag",R,se.setState),Ae("onSelectionDragStart",D,se.setState),Ae("onSelectionDragStop",L,se.setState),Ae("noPanClassName",j,se.setState),Ae("nodeOrigin",U,se.setState),Ae("rfId",G,se.setState),Ae("autoPanOnConnect",W,se.setState),Ae("autoPanOnNodeDrag",X,se.setState),Ae("onError",Y,se.setState),Ae("connectionRadius",B,se.setState),Ae("isValidConnection",H,se.setState),Dl(e,Q),Dl(t,J),Dl(m,te),Dl(S,xe),Dl(T,ve),Dl(v,ce),null},XT={display:"none"},Pre={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},DI="react-flow__node-desc",LI="react-flow__edge-desc",Are="react-flow__aria-live",kre=e=>e.ariaLiveMessage;function Ore({rfId:e}){const t=Vt(kre);return K.jsx("div",{id:`${Are}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Pre,children:t})}function Rre({rfId:e,disableKeyboardA11y:t}){return K.jsxs(K.Fragment,{children:[K.jsxs("div",{id:`${DI}-${e}`,style:XT,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),K.jsx("div",{id:`${LI}-${e}`,style:XT,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&K.jsx(Ore,{rfId:e})]})}const Ire=(e,t,n)=>n===pe.Left?e-t:n===pe.Right?e+t:e,Mre=(e,t,n)=>n===pe.Top?e-t:n===pe.Bottom?e+t:e,YT="react-flow__edgeupdater",QT=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>K.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:ti([YT,`${YT}-${a}`]),cx:Ire(t,r,e),cy:Mre(n,r,e),r,stroke:"transparent",fill:"transparent"}),Nre=()=>!0;var Ll=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:S,source:v,target:y,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,elementsSelectable:P,hidden:E,sourceHandleId:A,targetHandleId:$,onContextMenu:M,onMouseEnter:C,onMouseMove:O,onMouseLeave:I,edgeUpdaterRadius:N,onEdgeUpdate:R,onEdgeUpdateStart:D,onEdgeUpdateEnd:L,markerEnd:j,markerStart:U,rfId:G,ariaLabel:W,isFocusable:X,isUpdatable:Y,pathOptions:B,interactionWidth:H})=>{const Q=k.useRef(null),[J,ne]=k.useState(!1),[te,xe]=k.useState(!1),ve=Vn(),ce=k.useMemo(()=>`url(#${n2(U,G)})`,[U,G]),Ne=k.useMemo(()=>`url(#${n2(j,G)})`,[j,G]);if(E)return null;const se=Ht=>{const{edges:xt,addSelectedEdges:wr}=ve.getState();if(P&&(ve.setState({nodesSelectionActive:!1}),wr([n])),s){const $r=xt.find(ri=>ri.id===n);s(Ht,$r)}},gt=qc(n,ve.getState,a),vn=qc(n,ve.getState,M),It=qc(n,ve.getState,C),ut=qc(n,ve.getState,O),Je=qc(n,ve.getState,I),Gt=(Ht,xt)=>{if(Ht.button!==0)return;const{edges:wr,isValidConnection:$r}=ve.getState(),ri=xt?y:v,uo=(xt?$:A)||null,Sn=xt?"target":"source",ii=$r||Nre,ca=xt,ki=wr.find(et=>et.id===n);xe(!0),D==null||D(Ht,ki,Sn);const da=et=>{xe(!1),L==null||L(et,ki,Sn)};PI({event:Ht,handleId:uo,nodeId:ri,onConnect:et=>R==null?void 0:R(ki,et),isTarget:ca,getState:ve.getState,setState:ve.setState,isValidConnection:ii,edgeUpdaterType:Sn,onEdgeUpdateEnd:da})},sr=Ht=>Gt(Ht,!0),ni=Ht=>Gt(Ht,!1),Lr=()=>ne(!0),Rn=()=>ne(!1),bn=!P&&!s,Un=Ht=>{var xt;if(hI.includes(Ht.key)&&P){const{unselectNodesAndEdges:wr,addSelectedEdges:$r,edges:ri}=ve.getState();Ht.key==="Escape"?((xt=Q.current)==null||xt.blur(),wr({edges:[ri.find(Sn=>Sn.id===n)]})):$r([n])}};return K.jsxs("g",{className:ti(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:bn,updating:J}]),onClick:se,onDoubleClick:gt,onContextMenu:vn,onMouseEnter:It,onMouseMove:ut,onMouseLeave:Je,onKeyDown:X?Un:void 0,tabIndex:X?0:void 0,role:X?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":W===null?void 0:W||`Edge from ${v} to ${y}`,"aria-describedby":X?`${LI}-${G}`:void 0,ref:Q,children:[!te&&K.jsx(e,{id:n,source:v,target:y,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,data:o,style:S,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,sourceHandleId:A,targetHandleId:$,markerStart:ce,markerEnd:Ne,pathOptions:B,interactionWidth:H}),Y&&K.jsxs(K.Fragment,{children:[(Y==="source"||Y===!0)&&K.jsx(QT,{position:x,centerX:g,centerY:b,radius:N,onMouseDown:sr,onMouseEnter:Lr,onMouseOut:Rn,type:"source"}),(Y==="target"||Y===!0)&&K.jsx(QT,{position:T,centerX:_,centerY:w,radius:N,onMouseDown:ni,onMouseEnter:Lr,onMouseOut:Rn,type:"target"})]})]})};return t.displayName="EdgeWrapper",k.memo(t)};function Dre(e){const t={default:Ll(e.default||$m),straight:Ll(e.bezier||nC),step:Ll(e.step||tC),smoothstep:Ll(e.step||I0),simplebezier:Ll(e.simplebezier||eC)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Ll(e[o]||$m),i),n);return{...t,...r}}function ZT(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case pe.Top:return{x:r+o/2,y:i};case pe.Right:return{x:r+o,y:i+s/2};case pe.Bottom:return{x:r+o/2,y:i+s};case pe.Left:return{x:r,y:i+s/2}}}function JT(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Lre=(e,t,n,r,i,o)=>{const s=ZT(n,e,t),a=ZT(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function $re({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Dm({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),f=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*f)>0}function eE(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[on])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function $I(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:$I(n,t):!1}function tE(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Fre(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!$I(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Bre(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function FI(e,t,n,r,i=[0,0],o){const s=Bre(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:d,y:f}=Mu(c,i).positionAbsolute;a=c&&Kr(d)&&Kr(f)&&Kr(c.width)&&Kr(c.height)?[[d+e.width*i[0],f+e.height*i[1]],[d+c.width-e.width+e.width*i[0],f+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",qs.error005()),a=s;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:d,y:f}=Mu(c,i).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+f],[e.extent[1][0]+d,e.extent[1][1]+f]]}let l={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);l=Mu(c,i).positionAbsolute}const u=a?Jx(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Pb({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const nE=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...Zx(l)}})};function Wc(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function i2({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function jre(){const e=Vn();return k.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Ab(e){return(t,n,r)=>e==null?void 0:e(t,r)}function BI({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=Vn(),[l,u]=k.useState(!1),c=k.useRef([]),d=k.useRef({x:null,y:null}),f=k.useRef(0),h=k.useRef(null),p=k.useRef({x:0,y:0}),m=k.useRef(null),S=k.useRef(!1),v=jre();return k.useEffect(()=>{if(e!=null&&e.current){const y=fi(e.current),g=({x:_,y:w})=>{const{nodeInternals:x,onNodeDrag:T,onSelectionDrag:P,updateNodePositions:E,nodeExtent:A,snapGrid:$,snapToGrid:M,nodeOrigin:C,onError:O}=a.getState();d.current={x:_,y:w};let I=!1;if(c.current=c.current.map(R=>{const D={x:_-R.distance.x,y:w-R.distance.y};M&&(D.x=$[0]*Math.round(D.x/$[0]),D.y=$[1]*Math.round(D.y/$[1]));const L=FI(R,D,x,A,C,O);return I=I||R.position.x!==L.position.x||R.position.y!==L.position.y,R.position=L.position,R.positionAbsolute=L.positionAbsolute,R}),!I)return;E(c.current,!0,!0),u(!0);const N=i?T:Ab(P);if(N&&m.current){const[R,D]=Pb({nodeId:i,dragItems:c.current,nodeInternals:x});N(m.current,R,D)}},b=()=>{if(!h.current)return;const[_,w]=uI(p.current,h.current);if(_!==0||w!==0){const{transform:x,panBy:T}=a.getState();d.current.x=(d.current.x??0)-_/x[2],d.current.y=(d.current.y??0)-w/x[2],T({x:_,y:w})&&g(d.current)}f.current=requestAnimationFrame(b)};if(t)y.on(".drag",null);else{const _=ote().on("start",w=>{var I;const{nodeInternals:x,multiSelectionActive:T,domNode:P,nodesDraggable:E,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:M}=a.getState(),C=i?$:Ab(M);!s&&!T&&i&&((I=x.get(i))!=null&&I.selected||A()),i&&o&&s&&i2({id:i,store:a,nodeRef:e});const O=v(w);if(d.current=O,c.current=Fre(x,E,O,i),C&&c.current){const[N,R]=Pb({nodeId:i,dragItems:c.current,nodeInternals:x});C(w.sourceEvent,N,R)}h.current=(P==null?void 0:P.getBoundingClientRect())||null,p.current=Ms(w.sourceEvent,h.current)}).on("drag",w=>{const x=v(w),{autoPanOnNodeDrag:T}=a.getState();!S.current&&T&&(S.current=!0,b()),(d.current.x!==x.xSnapped||d.current.y!==x.ySnapped)&&c.current&&(m.current=w.sourceEvent,p.current=Ms(w.sourceEvent,h.current),g(x))}).on("end",w=>{if(u(!1),S.current=!1,cancelAnimationFrame(f.current),c.current){const{updateNodePositions:x,nodeInternals:T,onNodeDragStop:P,onSelectionDragStop:E}=a.getState(),A=i?P:Ab(E);if(x(c.current,!1,!1),A){const[$,M]=Pb({nodeId:i,dragItems:c.current,nodeInternals:T});A(w.sourceEvent,$,M)}}}).filter(w=>{const x=w.target;return!w.button&&(!n||!tE(x,`.${n}`,e))&&(!r||tE(x,r,e))});return y.call(_),()=>{y.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,v]),l}function jI(){const e=Vn();return k.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:c}=e.getState(),d=s().filter(y=>y.selected&&(y.draggable||c&&typeof y.draggable>"u")),f=a?l[0]:5,h=a?l[1]:5,p=n.isShiftPressed?4:1,m=n.x*f*p,S=n.y*h*p,v=d.map(y=>{if(y.positionAbsolute){const g={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+S};a&&(g.x=l[0]*Math.round(g.x/l[0]),g.y=l[1]*Math.round(g.y/l[1]));const{positionAbsolute:b,position:_}=FI(y,g,r,i,void 0,u);y.position=_,y.positionAbsolute=b}return y});o(v,!0,!1)},[])}const Nu={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kc=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:c,onMouseEnter:d,onMouseMove:f,onMouseLeave:h,onContextMenu:p,onDoubleClick:m,style:S,className:v,isDraggable:y,isSelectable:g,isConnectable:b,isFocusable:_,selectNodesOnDrag:w,sourcePosition:x,targetPosition:T,hidden:P,resizeObserver:E,dragHandle:A,zIndex:$,isParent:M,noDragClassName:C,noPanClassName:O,initialized:I,disableKeyboardA11y:N,ariaLabel:R,rfId:D})=>{const L=Vn(),j=k.useRef(null),U=k.useRef(x),G=k.useRef(T),W=k.useRef(r),X=g||y||c||d||f||h,Y=jI(),B=Wc(n,L.getState,d),H=Wc(n,L.getState,f),Q=Wc(n,L.getState,h),J=Wc(n,L.getState,p),ne=Wc(n,L.getState,m),te=ce=>{if(g&&(!w||!y)&&i2({id:n,store:L,nodeRef:j}),c){const Ne=L.getState().nodeInternals.get(n);c(ce,{...Ne})}},xe=ce=>{if(!e2(ce))if(hI.includes(ce.key)&&g){const Ne=ce.key==="Escape";i2({id:n,store:L,unselect:Ne,nodeRef:j})}else!N&&y&&u&&Object.prototype.hasOwnProperty.call(Nu,ce.key)&&(L.setState({ariaLiveMessage:`Moved selected node ${ce.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),Y({x:Nu[ce.key].x,y:Nu[ce.key].y,isShiftPressed:ce.shiftKey}))};k.useEffect(()=>{if(j.current&&!P){const ce=j.current;return E==null||E.observe(ce),()=>E==null?void 0:E.unobserve(ce)}},[P]),k.useEffect(()=>{const ce=W.current!==r,Ne=U.current!==x,se=G.current!==T;j.current&&(ce||Ne||se)&&(ce&&(W.current=r),Ne&&(U.current=x),se&&(G.current=T),L.getState().updateNodeDimensions([{id:n,nodeElement:j.current,forceUpdate:!0}]))},[n,r,x,T]);const ve=BI({nodeRef:j,disabled:P||!y,noDragClassName:C,handleSelector:A,nodeId:n,isSelectable:g,selectNodesOnDrag:w});return P?null:K.jsx("div",{className:ti(["react-flow__node",`react-flow__node-${r}`,{[O]:y},v,{selected:u,selectable:g,parent:M,dragging:ve}]),ref:j,style:{zIndex:$,transform:`translate(${a}px,${l}px)`,pointerEvents:X?"all":"none",visibility:I?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:B,onMouseMove:H,onMouseLeave:Q,onContextMenu:J,onClick:te,onDoubleClick:ne,onKeyDown:_?xe:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":N?void 0:`${DI}-${D}`,"aria-label":R,children:K.jsx(ure,{value:n,children:K.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:b,sourcePosition:x,targetPosition:T,dragging:ve,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",k.memo(t)};function Vre(e){const t={input:Kc(e.input||RI),default:Kc(e.default||r2),output:Kc(e.output||MI),group:Kc(e.group||oC)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kc(e[o]||r2),i),n);return{...t,...r}}const zre=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Ure=typeof document<"u"?document:null;var Nf=(e=null,t={target:Ure})=>{const[n,r]=k.useState(!1),i=k.useRef(!1),o=k.useRef(new Set([])),[s,a]=k.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.split("+")),c=u.reduce((d,f)=>d.concat(...f),[]);return[u,c]}return[[],[]]},[e]);return k.useEffect(()=>{var l,u;if(e!==null){const c=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,!i.current&&e2(h))return!1;const p=iE(h.code,a);o.current.add(h[p]),rE(s,o.current,!1)&&(h.preventDefault(),r(!0))},d=h=>{if(!i.current&&e2(h))return!1;const p=iE(h.code,a);rE(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(h[p]),i.current=!1},f=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",d),window.addEventListener("blur",f),()=>{var h,p;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",c),(p=t==null?void 0:t.target)==null||p.removeEventListener("keyup",d),window.removeEventListener("blur",f)}}},[e,r]),n};function rE(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function iE(e,t){return t.includes(e)?"code":"key"}function VI(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Mu(i,r);return VI(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[on])==null?void 0:s.z)??0)>(n.z??0)?((a=i[on])==null?void 0:a.z)??0:n.z??0},r)}function zI(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=VI(r,e,{...r.position,z:((i=r[on])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[on].z=a,n!=null&&n[r.id]&&(r[on].isParent=!0)}})}function kb(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var d;const l=(Kr(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),c={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(c.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(c,on,{enumerable:!1,value:{handleBounds:(d=u==null?void 0:u[on])==null?void 0:d.handleBounds,z:l}}),i.set(a.id,c)}),zI(i,n,o),i}function UI(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(a&&l&&(f||!t.initial)){const p=n().filter(S=>{var y;const v=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(y=t.nodes)!=null&&y.length?v&&t.nodes.some(g=>g.id===S.id):v}),m=p.every(S=>S.width&&S.height);if(p.length>0&&m){const S=_I(p,d),[v,y,g]=CI(S,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),b=Is.translate(v,y).scale(g);return typeof t.duration=="number"&&t.duration>0?a.transform(xa(l,t.duration),b):a.transform(l,b),!0}}return!1}function Gre(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[on]:r[on],selected:n.selected})}),new Map(t)}function Hre(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function kp({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Gre(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Hre(t,o)}),a==null||a(t))}const $l=()=>{},qre={zoomIn:$l,zoomOut:$l,zoomTo:$l,getZoom:()=>1,setViewport:$l,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:$l,fitBounds:$l,project:e=>e,viewportInitialized:!1},Wre=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Kre=()=>{const e=Vn(),{d3Zoom:t,d3Selection:n}=Vt(Wre,br);return k.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(xa(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(xa(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(xa(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Is.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(xa(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>UI(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,d=a/2-i*c,f=l/2-o*c,h=Is.translate(d,f).scale(c);t.transform(xa(n,s==null?void 0:s.duration),h)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[c,d,f]=CI(i,s,a,l,u,(o==null?void 0:o.padding)??.1),h=Is.translate(c,d).scale(f);t.transform(xa(n,o==null?void 0:o.duration),h)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return SI(i,o,s,a)},viewportInitialized:!0}:qre,[t,n])};function GI(){const e=Kre(),t=Vn(),n=k.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=k.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=k.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(S=>({...S}))},[]),o=k.useCallback(m=>{const{edges:S=[]}=t.getState();return S.find(v=>v.id===m)},[]),s=k.useCallback(m=>{const{getNodes:S,setNodes:v,hasDefaultNodes:y,onNodesChange:g}=t.getState(),b=S(),_=typeof m=="function"?m(b):m;if(y)v(_);else if(g){const w=_.length===0?b.map(x=>({type:"remove",id:x.id})):_.map(x=>({item:x,type:"reset"}));g(w)}},[]),a=k.useCallback(m=>{const{edges:S=[],setEdges:v,hasDefaultEdges:y,onEdgesChange:g}=t.getState(),b=typeof m=="function"?m(S):m;if(y)v(b);else if(g){const _=b.length===0?S.map(w=>({type:"remove",id:w.id})):b.map(w=>({item:w,type:"reset"}));g(_)}},[]),l=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{getNodes:v,setNodes:y,hasDefaultNodes:g,onNodesChange:b}=t.getState();if(g){const w=[...v(),...S];y(w)}else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),u=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{edges:v=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:b}=t.getState();if(g)y([...v,...S]);else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),c=k.useCallback(()=>{const{getNodes:m,edges:S=[],transform:v}=t.getState(),[y,g,b]=v;return{nodes:m().map(_=>({..._})),edges:S.map(_=>({..._})),viewport:{x:y,y:g,zoom:b}}},[]),d=k.useCallback(({nodes:m,edges:S})=>{const{nodeInternals:v,getNodes:y,edges:g,hasDefaultNodes:b,hasDefaultEdges:_,onNodesDelete:w,onEdgesDelete:x,onNodesChange:T,onEdgesChange:P}=t.getState(),E=(m||[]).map(O=>O.id),A=(S||[]).map(O=>O.id),$=y().reduce((O,I)=>{const N=!E.includes(I.id)&&I.parentNode&&O.find(D=>D.id===I.parentNode);return(typeof I.deletable=="boolean"?I.deletable:!0)&&(E.includes(I.id)||N)&&O.push(I),O},[]),M=g.filter(O=>typeof O.deletable=="boolean"?O.deletable:!0),C=M.filter(O=>A.includes(O.id));if($||C){const O=xI($,M),I=[...C,...O],N=I.reduce((R,D)=>(R.includes(D.id)||R.push(D.id),R),[]);if((_||b)&&(_&&t.setState({edges:g.filter(R=>!N.includes(R.id))}),b&&($.forEach(R=>{v.delete(R.id)}),t.setState({nodeInternals:new Map(v)}))),N.length>0&&(x==null||x(I),P&&P(N.map(R=>({id:R,type:"remove"})))),$.length>0&&(w==null||w($),T)){const R=$.map(D=>({id:D.id,type:"remove"}));T(R)}}},[]),f=k.useCallback(m=>{const S=nre(m),v=S?null:t.getState().nodeInternals.get(m.id);return[S?m:zT(v),v,S]},[]),h=k.useCallback((m,S=!0,v)=>{const[y,g,b]=f(m);return y?(v||t.getState().getNodes()).filter(_=>{if(!b&&(_.id===g.id||!_.positionAbsolute))return!1;const w=zT(_),x=J_(w,y);return S&&x>0||x>=m.width*m.height}):[]},[]),p=k.useCallback((m,S,v=!0)=>{const[y]=f(m);if(!y)return!1;const g=J_(y,S);return v&&g>0||g>=m.width*m.height},[]);return k.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,i,o,s,a,l,u,c,d,h,p])}var Xre=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Vn(),{deleteElements:r}=GI(),i=Nf(e),o=Nf(t);k.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(c=>c.selected),u=s.filter(c=>c.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),k.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function Yre(e){const t=Vn();k.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=Zx(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",qs.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const sC={position:"absolute",width:"100%",height:"100%",top:0,left:0},Qre=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Ob=e=>({x:e.x,y:e.y,zoom:e.k}),Fl=(e,t)=>e.target.closest(`.${t}`),oE=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Zre=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Jre=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=Iu.Free,zoomOnDoubleClick:u=!0,elementsSelectable:c,panOnDrag:d=!0,defaultViewport:f,translateExtent:h,minZoom:p,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:v=!0,children:y,noWheelClassName:g,noPanClassName:b})=>{const _=k.useRef(),w=Vn(),x=k.useRef(!1),T=k.useRef(!1),P=k.useRef(null),E=k.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:M,userSelectionActive:C}=Vt(Zre,br),O=Nf(S),I=k.useRef(0);return Yre(P),k.useEffect(()=>{if(P.current){const N=P.current.getBoundingClientRect(),R=Xne().scaleExtent([p,m]).translateExtent(h),D=fi(P.current).call(R),L=Is.translate(f.x,f.y).scale(rc(f.zoom,p,m)),j=[[0,0],[N.width,N.height]],U=R.constrain()(L,j,h);R.transform(D,U),w.setState({d3Zoom:R,d3Selection:D,d3ZoomHandler:D.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:P.current.closest(".react-flow")})}},[]),k.useEffect(()=>{$&&A&&(s&&!O&&!C?$.on("wheel.zoom",N=>{if(Fl(N,g))return!1;N.preventDefault(),N.stopImmediatePropagation();const R=$.property("__zoom").k||1;if(N.ctrlKey&&o){const U=$i(N),G=-N.deltaY*(N.deltaMode===1?.05:N.deltaMode?1:.002)*10,W=R*Math.pow(2,G);A.scaleTo($,W,U);return}const D=N.deltaMode===1?20:1,L=l===Iu.Vertical?0:N.deltaX*D,j=l===Iu.Horizontal?0:N.deltaY*D;A.translateBy($,-(L/R)*a,-(j/R)*a)},{passive:!1}):typeof M<"u"&&$.on("wheel.zoom",function(N,R){if(!v||Fl(N,g))return null;N.preventDefault(),M.call(this,N,R)},{passive:!1}))},[C,s,l,$,A,M,O,o,v,g]),k.useEffect(()=>{A&&A.on("start",N=>{var D;if(!N.sourceEvent)return null;I.current=N.sourceEvent.button;const{onViewportChangeStart:R}=w.getState();if(x.current=!0,((D=N.sourceEvent)==null?void 0:D.type)==="mousedown"&&w.setState({paneDragging:!0}),t||R){const L=Ob(N.transform);E.current=L,R==null||R(L),t==null||t(N.sourceEvent,L)}})},[A,t]),k.useEffect(()=>{A&&(C&&!x.current?A.on("zoom",null):C||A.on("zoom",N=>{const{onViewportChange:R}=w.getState();if(w.setState({transform:[N.transform.x,N.transform.y,N.transform.k]}),T.current=!!(r&&oE(d,I.current??0)),e||R){const D=Ob(N.transform);R==null||R(D),e==null||e(N.sourceEvent,D)}}))},[C,A,e,d,r]),k.useEffect(()=>{A&&A.on("end",N=>{if(!N.sourceEvent)return null;const{onViewportChangeEnd:R}=w.getState();if(x.current=!1,w.setState({paneDragging:!1}),r&&oE(d,I.current??0)&&!T.current&&r(N.sourceEvent),T.current=!1,(n||R)&&Qre(E.current,N.transform)){const D=Ob(N.transform);E.current=D,clearTimeout(_.current),_.current=setTimeout(()=>{R==null||R(D),n==null||n(N.sourceEvent,D)},s?150:0)}})},[A,s,d,n,r]),k.useEffect(()=>{A&&A.filter(N=>{const R=O||i,D=o&&N.ctrlKey;if(N.button===1&&N.type==="mousedown"&&(Fl(N,"react-flow__node")||Fl(N,"react-flow__edge")))return!0;if(!d&&!R&&!s&&!u&&!o||C||!u&&N.type==="dblclick"||Fl(N,g)&&N.type==="wheel"||Fl(N,b)&&N.type!=="wheel"||!o&&N.ctrlKey&&N.type==="wheel"||!R&&!s&&!D&&N.type==="wheel"||!d&&(N.type==="mousedown"||N.type==="touchstart")||Array.isArray(d)&&!d.includes(N.button)&&(N.type==="mousedown"||N.type==="touchstart"))return!1;const L=Array.isArray(d)&&d.includes(N.button)||!N.button||N.button<=1;return(!N.ctrlKey||N.type==="wheel")&&L})},[C,A,i,o,s,u,d,c,O]),K.jsx("div",{className:"react-flow__renderer",ref:P,style:sC,children:y})},eie=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function tie(){const{userSelectionActive:e,userSelectionRect:t}=Vt(eie,br);return e&&t?K.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function sE(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function HI(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&sE(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&sE(r,s);break}case"remove":return r}return r.push(s),r},n)}function qI(e,t){return HI(e,t)}function nie(e,t){return HI(e,t)}const ds=(e,t)=>({id:e,type:"select",selected:t});function du(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(ds(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(ds(r.id,!1))),n},[])}const Rb=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},rie=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),WI=k.memo(({isSelecting:e,selectionMode:t=Mf.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:c,children:d})=>{const f=k.useRef(null),h=Vn(),p=k.useRef(0),m=k.useRef(0),S=k.useRef(),{userSelectionActive:v,elementsSelectable:y,dragging:g}=Vt(rie,br),b=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,m.current=0},_=M=>{o==null||o(M),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},w=M=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){M.preventDefault();return}s==null||s(M)},x=a?M=>a(M):void 0,T=M=>{const{resetSelectedElements:C,domNode:O}=h.getState();if(S.current=O==null?void 0:O.getBoundingClientRect(),!y||!e||M.button!==0||M.target!==f.current||!S.current)return;const{x:I,y:N}=Ms(M,S.current);C(),h.setState({userSelectionRect:{width:0,height:0,startX:I,startY:N,x:I,y:N}}),r==null||r(M)},P=M=>{const{userSelectionRect:C,nodeInternals:O,edges:I,transform:N,onNodesChange:R,onEdgesChange:D,nodeOrigin:L,getNodes:j}=h.getState();if(!e||!S.current||!C)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});const U=Ms(M,S.current),G=C.startX??0,W=C.startY??0,X={...C,x:U.xJ.id),Q=B.map(J=>J.id);if(p.current!==Q.length){p.current=Q.length;const J=du(Y,Q);J.length&&(R==null||R(J))}if(m.current!==H.length){m.current=H.length;const J=du(I,H);J.length&&(D==null||D(J))}h.setState({userSelectionRect:X})},E=M=>{if(M.button!==0)return;const{userSelectionRect:C}=h.getState();!v&&C&&M.target===f.current&&(_==null||_(M)),h.setState({nodesSelectionActive:p.current>0}),b(),i==null||i(M)},A=M=>{v&&(h.setState({nodesSelectionActive:p.current>0}),i==null||i(M)),b()},$=y&&(e||v);return K.jsxs("div",{className:ti(["react-flow__pane",{dragging:g,selection:e}]),onClick:$?void 0:Rb(_,f),onContextMenu:Rb(w,f),onWheel:Rb(x,f),onMouseEnter:$?void 0:l,onMouseDown:$?T:void 0,onMouseMove:$?P:u,onMouseUp:$?E:void 0,onMouseLeave:$?A:c,ref:f,style:sC,children:[d,K.jsx(tie,{})]})});WI.displayName="Pane";const iie=e=>{const t=e.getNodes().filter(n=>n.selected);return{..._I(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function oie({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Vn(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Vt(iie,br),c=jI(),d=k.useRef(null);if(k.useEffect(()=>{var p;n||(p=d.current)==null||p.focus({preventScroll:!0})},[n]),BI({nodeRef:d}),u||!i||!o)return null;const f=e?p=>{const m=r.getState().getNodes().filter(S=>S.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(Nu,p.key)&&c({x:Nu[p.key].x,y:Nu[p.key].y,isShiftPressed:p.shiftKey})};return K.jsx("div",{className:ti(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:K.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:o,top:a,left:s}})})}var sie=k.memo(oie);const aie=e=>e.nodesSelectionActive,KI=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:v,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:E,defaultViewport:A,translateExtent:$,minZoom:M,maxZoom:C,preventScrolling:O,onSelectionContextMenu:I,noWheelClassName:N,noPanClassName:R,disableKeyboardA11y:D})=>{const L=Vt(aie),j=Nf(d),G=Nf(v)||E,W=j||f&&G!==!0;return Xre({deleteKeyCode:a,multiSelectionKeyCode:S}),K.jsx(Jre,{onMove:l,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:o,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:!j&&G,defaultViewport:A,translateExtent:$,minZoom:M,maxZoom:C,zoomActivationKeyCode:y,preventScrolling:O,noWheelClassName:N,noPanClassName:R,children:K.jsxs(WI,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:G,isSelecting:!!W,selectionMode:h,children:[e,L&&K.jsx(sie,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:D})]})})};KI.displayName="FlowRenderer";var lie=k.memo(KI);function uie(e){return Vt(k.useCallback(n=>e?wI(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const cie=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),XI=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Vt(cie,br),a=uie(e.onlyRenderVisibleElements),l=k.useRef(),u=k.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(d=>{const f=d.map(h=>({id:h.target.getAttribute("data-id"),nodeElement:h.target,forceUpdate:!0}));o(f)});return l.current=c,c},[]);return k.useEffect(()=>()=>{var c;(c=l==null?void 0:l.current)==null||c.disconnect()},[]),K.jsx("div",{className:"react-flow__nodes",style:sC,children:a.map(c=>{var _,w;let d=c.type||"default";e.nodeTypes[d]||(s==null||s("003",qs.error003(d)),d="default");const f=e.nodeTypes[d]||e.nodeTypes.default,h=!!(c.draggable||t&&typeof c.draggable>"u"),p=!!(c.selectable||i&&typeof c.selectable>"u"),m=!!(c.connectable||n&&typeof c.connectable>"u"),S=!!(c.focusable||r&&typeof c.focusable>"u"),v=e.nodeExtent?Jx(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,y=(v==null?void 0:v.x)??0,g=(v==null?void 0:v.y)??0,b=zre({x:y,y:g,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return K.jsx(f,{id:c.id,className:c.className,style:c.style,type:d,data:c.data,sourcePosition:c.sourcePosition||pe.Bottom,targetPosition:c.targetPosition||pe.Top,hidden:c.hidden,xPos:y,yPos:g,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:h,isSelectable:p,isConnectable:m,isFocusable:S,resizeObserver:u,dragHandle:c.dragHandle,zIndex:((_=c[on])==null?void 0:_.z)??0,isParent:!!((w=c[on])!=null&&w.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel},c.id)})})};XI.displayName="NodeRenderer";var die=k.memo(XI);const fie=[{level:0,isMaxLevel:!0,edges:[]}];function hie(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var c,d;const l=Kr(a.zIndex);let u=l?a.zIndex:0;if(n){const f=t.get(a.target),h=t.get(a.source),p=a.selected||(f==null?void 0:f.selected)||(h==null?void 0:h.selected),m=Math.max(((c=h==null?void 0:h[on])==null?void 0:c.z)||0,((d=f==null?void 0:f[on])==null?void 0:d.z)||0,1e3);u=(l?a.zIndex:0)+(p?m:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?fie:o}function pie(e,t,n){const r=Vt(k.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&$re({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return hie(r,t,n)}const gie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),mie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),aE={[Lm.Arrow]:gie,[Lm.ArrowClosed]:mie};function yie(e){const t=Vn();return k.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(aE,e)?aE[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",qs.error009(e)),null)},[e])}const vie=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=yie(t);return l?K.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:K.jsx(l,{color:n,strokeWidth:s})}):null},bie=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=n2(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},YI=({defaultColor:e,rfId:t})=>{const n=Vt(k.useCallback(bie({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return K.jsx("defs",{children:n.map(r=>K.jsx(vie,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};YI.displayName="MarkerDefinitions";var Sie=k.memo(YI);const _ie=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),QI=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:c,onEdgeClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,children:S})=>{const{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:g,width:b,height:_,connectionMode:w,nodeInternals:x,onError:T}=Vt(_ie,br),P=pie(t,x,n);return b?K.jsxs(K.Fragment,{children:[P.map(({level:E,edges:A,isMaxLevel:$})=>K.jsxs("svg",{style:{zIndex:E},width:b,height:_,className:"react-flow__edges react-flow__container",children:[$&&K.jsx(Sie,{defaultColor:e,rfId:r}),K.jsx("g",{children:A.map(M=>{const[C,O,I]=eE(x.get(M.source)),[N,R,D]=eE(x.get(M.target));if(!I||!D)return null;let L=M.type||"default";i[L]||(T==null||T("011",qs.error011(L)),L="default");const j=i[L]||i.default,U=w===nl.Strict?R.target:(R.target??[]).concat(R.source??[]),G=JT(O.source,M.sourceHandle),W=JT(U,M.targetHandle),X=(G==null?void 0:G.position)||pe.Bottom,Y=(W==null?void 0:W.position)||pe.Top,B=!!(M.focusable||v&&typeof M.focusable>"u"),H=typeof s<"u"&&(M.updatable||y&&typeof M.updatable>"u");if(!G||!W)return T==null||T("008",qs.error008(G,M)),null;const{sourceX:Q,sourceY:J,targetX:ne,targetY:te}=Lre(C,G,X,N,W,Y);return K.jsx(j,{id:M.id,className:ti([M.className,o]),type:L,data:M.data,selected:!!M.selected,animated:!!M.animated,hidden:!!M.hidden,label:M.label,labelStyle:M.labelStyle,labelShowBg:M.labelShowBg,labelBgStyle:M.labelBgStyle,labelBgPadding:M.labelBgPadding,labelBgBorderRadius:M.labelBgBorderRadius,style:M.style,source:M.source,target:M.target,sourceHandleId:M.sourceHandle,targetHandleId:M.targetHandle,markerEnd:M.markerEnd,markerStart:M.markerStart,sourceX:Q,sourceY:J,targetX:ne,targetY:te,sourcePosition:X,targetPosition:Y,elementsSelectable:g,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:c,onClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,rfId:r,ariaLabel:M.ariaLabel,isFocusable:B,isUpdatable:H,pathOptions:"pathOptions"in M?M.pathOptions:void 0,interactionWidth:M.interactionWidth},M.id)})})]},E)),S]}):null};QI.displayName="EdgeRenderer";var wie=k.memo(QI);const xie=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Cie({children:e}){const t=Vt(xie);return K.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Tie(e){const t=GI(),n=k.useRef(!1);k.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Eie={[pe.Left]:pe.Right,[pe.Right]:pe.Left,[pe.Top]:pe.Bottom,[pe.Bottom]:pe.Top},ZI=({nodeId:e,handleType:t,style:n,type:r=ys.Bezier,CustomComponent:i,connectionStatus:o})=>{var w,x,T;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:c}=Vt(k.useCallback(P=>({fromNode:P.nodeInternals.get(e),handleId:P.connectionHandleId,toX:(P.connectionPosition.x-P.transform[0])/P.transform[2],toY:(P.connectionPosition.y-P.transform[1])/P.transform[2],connectionMode:P.connectionMode}),[e]),br),d=(w=s==null?void 0:s[on])==null?void 0:w.handleBounds;let f=d==null?void 0:d[t];if(c===nl.Loose&&(f=f||(d==null?void 0:d[t==="source"?"target":"source"])),!s||!f)return null;const h=a?f.find(P=>P.id===a):f[0],p=h?h.x+h.width/2:(s.width??0)/2,m=h?h.y+h.height/2:s.height??0,S=(((x=s.positionAbsolute)==null?void 0:x.x)??0)+p,v=(((T=s.positionAbsolute)==null?void 0:T.y)??0)+m,y=h==null?void 0:h.position,g=y?Eie[y]:null;if(!y||!g)return null;if(i)return K.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:h,fromX:S,fromY:v,toX:l,toY:u,fromPosition:y,toPosition:g,connectionStatus:o});let b="";const _={sourceX:S,sourceY:v,sourcePosition:y,targetX:l,targetY:u,targetPosition:g};return r===ys.Bezier?[b]=vI(_):r===ys.Step?[b]=t2({..._,borderRadius:0}):r===ys.SmoothStep?[b]=t2(_):r===ys.SimpleBezier?[b]=yI(_):b=`M${S},${v} ${l},${u}`,K.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};ZI.displayName="ConnectionLine";const Pie=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Aie({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Vt(Pie,br);return!(i&&o&&a&&s)?null:K.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:K.jsx("g",{className:ti(["react-flow__connection",u]),children:K.jsx(ZI,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const JI=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:S,connectionLineType:v,connectionLineStyle:y,connectionLineComponent:g,connectionLineContainerStyle:b,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:M,selectNodesOnDrag:C,defaultViewport:O,translateExtent:I,minZoom:N,maxZoom:R,preventScrolling:D,defaultMarkerColor:L,zoomOnScroll:j,zoomOnPinch:U,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,zoomOnDoubleClick:Y,panOnDrag:B,onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:te,onPaneContextMenu:xe,onEdgeUpdate:ve,onEdgeContextMenu:ce,onEdgeMouseEnter:Ne,onEdgeMouseMove:se,onEdgeMouseLeave:gt,edgeUpdaterRadius:vn,onEdgeUpdateStart:It,onEdgeUpdateEnd:ut,noDragClassName:Je,noWheelClassName:Gt,noPanClassName:sr,elevateEdgesOnSelect:ni,disableKeyboardA11y:Lr,nodeOrigin:Rn,nodeExtent:bn,rfId:Un})=>(Tie(o),K.jsx(lie,{onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:xe,onPaneScroll:te,deleteKeyCode:A,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,elementsSelectable:M,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:j,zoomOnPinch:U,zoomOnDoubleClick:Y,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,panOnDrag:B,defaultViewport:O,translateExtent:I,minZoom:N,maxZoom:R,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:Je,noWheelClassName:Gt,noPanClassName:sr,disableKeyboardA11y:Lr,children:K.jsxs(Cie,{children:[K.jsx(wie,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:ve,onlyRenderVisibleElements:$,onEdgeContextMenu:ce,onEdgeMouseEnter:Ne,onEdgeMouseMove:se,onEdgeMouseLeave:gt,onEdgeUpdateStart:It,onEdgeUpdateEnd:ut,edgeUpdaterRadius:vn,defaultMarkerColor:L,noPanClassName:sr,elevateEdgesOnSelect:!!ni,disableKeyboardA11y:Lr,rfId:Un,children:K.jsx(Aie,{style:y,type:v,component:g,containerStyle:b})}),K.jsx("div",{className:"react-flow__edgelabel-renderer"}),K.jsx(die,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:C,onlyRenderVisibleElements:$,noPanClassName:sr,noDragClassName:Je,disableKeyboardA11y:Lr,nodeOrigin:Rn,nodeExtent:bn,rfId:Un})]})}));JI.displayName="GraphView";var kie=k.memo(JI);const o2=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],rs={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:o2,nodeExtent:o2,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:nl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:rre,isValidConnection:void 0},Oie=()=>gJ((e,t)=>({...rs,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:kb(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?kb(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),c=l==null?void 0:l.querySelector(".react-flow__viewport");if(!c)return;const d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((m,S)=>{const v=i.get(S.id);if(v){const y=Zx(S.nodeElement);!!(y.width&&y.height&&(v.width!==y.width||v.height!==y.height||S.forceUpdate))&&(i.set(v.id,{...v,[on]:{...v[on],handleBounds:{source:nE(".source",S.nodeElement,f,u),target:nE(".target",S.nodeElement,f,u)}},...y}),m.push({id:v.id,type:"dimensions",dimensions:y}))}return m},[]);zI(i,u);const p=s||o&&!s&&UI(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),(h==null?void 0:h.length)>0&&(r==null||r(h))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=qI(n,a()),c=kb(u,i,s,l);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=du(o(),n),a=du(i,[])),kp({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=du(i,n),a=du(o(),[])),kp({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(c=>(c.selected=!1,ds(c.id,!1))),u=a.map(c=>ds(c.id,!1));kp({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>ds(a.id,!1)),s=n.filter(a=>a.selected).map(a=>ds(a.id,!1));kp({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=Jx(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=Is.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[i,o]],d=s==null?void 0:s.constrain()(u,c,l);return s.transform(a,d),r[0]!==d.x||r[1]!==d.y||r[2]!==d.k},cancelConnection:()=>e({connectionNodeId:rs.connectionNodeId,connectionHandleId:rs.connectionHandleId,connectionHandleType:rs.connectionHandleType,connectionStatus:rs.connectionStatus,connectionStartHandle:rs.connectionStartHandle,connectionEndHandle:rs.connectionEndHandle}),reset:()=>e({...rs})})),eM=({children:e})=>{const t=k.useRef(null);return t.current||(t.current=Oie()),K.jsx(Yne,{value:t.current,children:e})};eM.displayName="ReactFlowProvider";const tM=({children:e})=>k.useContext(R0)?K.jsx(K.Fragment,{children:e}):K.jsx(eM,{children:e});tM.displayName="ReactFlowWrapper";function lE(e,t){return k.useRef(null),k.useMemo(()=>t(e),[e])}const Rie={input:RI,default:r2,output:MI,group:oC},Iie={default:$m,straight:nC,step:tC,smoothstep:I0,simplebezier:eC},Mie=[0,0],Nie=[15,15],Die={x:0,y:0,zoom:1},Lie={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},$ie=k.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Rie,edgeTypes:s=Iie,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onNodesDelete:E,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:M,onSelectionDrag:C,onSelectionDragStop:O,onSelectionContextMenu:I,onSelectionStart:N,onSelectionEnd:R,connectionMode:D=nl.Strict,connectionLineType:L=ys.Bezier,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,deleteKeyCode:W="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:Y=!1,selectionMode:B=Mf.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:Q="Meta",zoomActivationKeyCode:J="Meta",snapToGrid:ne=!1,snapGrid:te=Nie,onlyRenderVisibleElements:xe=!1,selectNodesOnDrag:ve=!0,nodesDraggable:ce,nodesConnectable:Ne,nodesFocusable:se,nodeOrigin:gt=Mie,edgesFocusable:vn,edgesUpdatable:It,elementsSelectable:ut,defaultViewport:Je=Die,minZoom:Gt=.5,maxZoom:sr=2,translateExtent:ni=o2,preventScrolling:Lr=!0,nodeExtent:Rn,defaultMarkerColor:bn="#b1b1b7",zoomOnScroll:Un=!0,zoomOnPinch:Ht=!0,panOnScroll:xt=!1,panOnScrollSpeed:wr=.5,panOnScrollMode:$r=Iu.Free,zoomOnDoubleClick:ri=!0,panOnDrag:uo=!0,onPaneClick:Sn,onPaneMouseEnter:ii,onPaneMouseMove:ca,onPaneMouseLeave:ki,onPaneScroll:da,onPaneContextMenu:Ct,children:et,onEdgeUpdate:_n,onEdgeContextMenu:ln,onEdgeDoubleClick:In,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Oi,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:wn,edgeUpdaterRadius:co=10,onNodesChange:Zo,onEdgesChange:Jo,noDragClassName:Al="nodrag",noWheelClassName:fo="nowheel",noPanClassName:qn="nopan",fitView:fa=!1,fitViewOptions:h1,connectOnClick:p1=!0,attributionPosition:g1,proOptions:m1,defaultEdgeOptions:es,elevateNodesOnSelect:y1=!0,elevateEdgesOnSelect:v1=!1,disableKeyboardA11y:Hh=!1,autoPanOnConnect:b1=!0,autoPanOnNodeDrag:S1=!0,connectionRadius:_1=20,isValidConnection:Ac,onError:w1,style:kl,id:Ol,...x1},Rl)=>{const qh=lE(o,Vre),C1=lE(s,Dre),kc=Ol||"1";return K.jsx("div",{...x1,style:{...kl,...Lie},ref:Rl,className:ti(["react-flow",i]),"data-testid":"rf__wrapper",id:Ol,children:K.jsxs(tM,{children:[K.jsx(kie,{onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,nodeTypes:qh,edgeTypes:C1,connectionLineType:L,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,selectionKeyCode:X,selectionOnDrag:Y,selectionMode:B,deleteKeyCode:W,multiSelectionKeyCode:Q,panActivationKeyCode:H,zoomActivationKeyCode:J,onlyRenderVisibleElements:xe,selectNodesOnDrag:ve,defaultViewport:Je,translateExtent:ni,minZoom:Gt,maxZoom:sr,preventScrolling:Lr,zoomOnScroll:Un,zoomOnPinch:Ht,zoomOnDoubleClick:ri,panOnScroll:xt,panOnScrollSpeed:wr,panOnScrollMode:$r,panOnDrag:uo,onPaneClick:Sn,onPaneMouseEnter:ii,onPaneMouseMove:ca,onPaneMouseLeave:ki,onPaneScroll:da,onPaneContextMenu:Ct,onSelectionContextMenu:I,onSelectionStart:N,onSelectionEnd:R,onEdgeUpdate:_n,onEdgeContextMenu:ln,onEdgeDoubleClick:In,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Oi,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:wn,edgeUpdaterRadius:co,defaultMarkerColor:bn,noDragClassName:Al,noWheelClassName:fo,noPanClassName:qn,elevateEdgesOnSelect:v1,rfId:kc,disableKeyboardA11y:Hh,nodeOrigin:gt,nodeExtent:Rn}),K.jsx(Ere,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,nodesDraggable:ce,nodesConnectable:Ne,nodesFocusable:se,edgesFocusable:vn,edgesUpdatable:It,elementsSelectable:ut,elevateNodesOnSelect:y1,minZoom:Gt,maxZoom:sr,nodeExtent:Rn,onNodesChange:Zo,onEdgesChange:Jo,snapToGrid:ne,snapGrid:te,connectionMode:D,translateExtent:ni,connectOnClick:p1,defaultEdgeOptions:es,fitView:fa,fitViewOptions:h1,onNodesDelete:E,onEdgesDelete:A,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onSelectionDrag:C,onSelectionDragStart:M,onSelectionDragStop:O,noPanClassName:qn,nodeOrigin:gt,rfId:kc,autoPanOnConnect:b1,autoPanOnNodeDrag:S1,onError:w1,connectionRadius:_1,isValidConnection:Ac}),K.jsx(Cre,{onSelectionChange:$}),et,K.jsx(Jne,{proOptions:m1,position:g1}),K.jsx(Rre,{rfId:kc,disableKeyboardA11y:Hh})]})})});$ie.displayName="ReactFlow";var nM={},M0={},N0={};Object.defineProperty(N0,"__esModule",{value:!0});N0.createLogMethods=void 0;var Fie=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};N0.createLogMethods=Fie;var aC={},D0={};Object.defineProperty(D0,"__esModule",{value:!0});D0.boolean=void 0;const Bie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};D0.boolean=Bie;var L0={};Object.defineProperty(L0,"__esModule",{value:!0});L0.isBooleanable=void 0;const jie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};L0.isBooleanable=jie;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=D0;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=L0;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(aC);var uE=Object.prototype.toString,rM=function(t){var n=uE.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&uE.call(t.callee)==="[object Function]"),r},Ib,cE;function Vie(){if(cE)return Ib;cE=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=rM,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(f){var h=f.constructor;return h&&h.prototype===f},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},c=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!u["$"+f]&&t.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{l(window[f])}catch{return!0}}catch{return!0}return!1}(),d=function(f){if(typeof window>"u"||!c)return l(f);try{return l(f)}catch{return!1}};e=function(h){var p=h!==null&&typeof h=="object",m=n.call(h)==="[object Function]",S=r(h),v=p&&n.call(h)==="[object String]",y=[];if(!p&&!m&&!S)throw new TypeError("Object.keys called on a non-object");var g=s&&m;if(v&&h.length>0&&!t.call(h,0))for(var b=0;b0)for(var _=0;_"u"||!cn?Oe:cn(Uint8Array),Ua={"%AggregateError%":typeof AggregateError>"u"?Oe:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Oe:ArrayBuffer,"%ArrayIteratorPrototype%":Bl&&cn?cn([][Symbol.iterator]()):Oe,"%AsyncFromSyncIteratorPrototype%":Oe,"%AsyncFunction%":Yl,"%AsyncGenerator%":Yl,"%AsyncGeneratorFunction%":Yl,"%AsyncIteratorPrototype%":Yl,"%Atomics%":typeof Atomics>"u"?Oe:Atomics,"%BigInt%":typeof BigInt>"u"?Oe:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Oe:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Oe:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Oe:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Oe:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Oe:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Oe:FinalizationRegistry,"%Function%":oM,"%GeneratorFunction%":Yl,"%Int8Array%":typeof Int8Array>"u"?Oe:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Oe:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Oe:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Bl&&cn?cn(cn([][Symbol.iterator]())):Oe,"%JSON%":typeof JSON=="object"?JSON:Oe,"%Map%":typeof Map>"u"?Oe:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Bl||!cn?Oe:cn(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Oe:Promise,"%Proxy%":typeof Proxy>"u"?Oe:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Oe:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Oe:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Bl||!cn?Oe:cn(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Oe:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Bl&&cn?cn(""[Symbol.iterator]()):Oe,"%Symbol%":Bl?Symbol:Oe,"%SyntaxError%":ic,"%ThrowTypeError%":roe,"%TypedArray%":ooe,"%TypeError%":Du,"%Uint8Array%":typeof Uint8Array>"u"?Oe:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Oe:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Oe:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Oe:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Oe:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Oe:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Oe:WeakSet};if(cn)try{null.error}catch(e){var soe=cn(cn(e));Ua["%Error.prototype%"]=soe}var aoe=function e(t){var n;if(t==="%AsyncFunction%")n=Nb("async function () {}");else if(t==="%GeneratorFunction%")n=Nb("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Nb("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&cn&&(n=cn(i.prototype))}return Ua[t]=n,n},gE={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},_h=iM,Bm=noe,loe=_h.call(Function.call,Array.prototype.concat),uoe=_h.call(Function.apply,Array.prototype.splice),mE=_h.call(Function.call,String.prototype.replace),jm=_h.call(Function.call,String.prototype.slice),coe=_h.call(Function.call,RegExp.prototype.exec),doe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,foe=/\\(\\)?/g,hoe=function(t){var n=jm(t,0,1),r=jm(t,-1);if(n==="%"&&r!=="%")throw new ic("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new ic("invalid intrinsic syntax, expected opening `%`");var i=[];return mE(t,doe,function(o,s,a,l){i[i.length]=a?mE(l,foe,"$1"):s||o}),i},poe=function(t,n){var r=t,i;if(Bm(gE,r)&&(i=gE[r],r="%"+i[0]+"%"),Bm(Ua,r)){var o=Ua[r];if(o===Yl&&(o=aoe(r)),typeof o>"u"&&!n)throw new Du("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new ic("intrinsic "+t+" does not exist!")},goe=function(t,n){if(typeof t!="string"||t.length===0)throw new Du("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Du('"allowMissing" argument must be a boolean');if(coe(/^%?[^%]*%?$/,t)===null)throw new ic("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=hoe(t),i=r.length>0?r[0]:"",o=poe("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],uoe(r,loe([0,1],u)));for(var c=1,d=!0;c=r.length){var m=za(a,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?a=m.get:a=a[f]}else d=Bm(a,f),a=a[f];d&&!l&&(Ua[s]=a)}}return a},moe=goe,s2=moe("%Object.defineProperty%",!0),a2=function(){if(s2)try{return s2({},"a",{value:1}),!0}catch{return!1}return!1};a2.hasArrayLengthDefineBug=function(){if(!a2())return null;try{return s2([],"length",{value:1}).length!==1}catch{return!0}};var yoe=a2,voe=Gie,boe=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",Soe=Object.prototype.toString,_oe=Array.prototype.concat,sM=Object.defineProperty,woe=function(e){return typeof e=="function"&&Soe.call(e)==="[object Function]"},xoe=yoe(),aM=sM&&xoe,Coe=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!woe(r)||!r())return}aM?sM(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},lM=function(e,t){var n=arguments.length>2?arguments[2]:{},r=voe(t);boe&&(r=_oe.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};j0.testComparisonRange=Hoe;var V0={};Object.defineProperty(V0,"__esModule",{value:!0});V0.testRange=void 0;var qoe=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};V0.testRange=qoe;(function(e){var t=Ee&&Ee.__assign||function(){return t=Object.assign||function(c){for(var d,f=1,h=arguments.length;f0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,Xoe.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};z0.highlight=Qoe;var U0={},gM={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(Ee,function(){function t(u,c,d){return this.id=++t.highestId,this.name=u,this.symbols=c,this.postprocess=d,this}t.highestId=0,t.prototype.toString=function(u){var c=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+c};function n(u,c,d,f){this.rule=u,this.dot=c,this.reference=d,this.data=[],this.wantedBy=f,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var c=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return c.left=this,c.right=u,c.isComplete&&(c.data=c.build(),c.right=void 0),c},n.prototype.build=function(){var u=[],c=this;do u.push(c.right.data),c=c.left;while(c.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,c){this.grammar=u,this.index=c,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var c=this.states,d=this.wants,f=this.completed,h=0;h0&&c.push(" ^ "+f+" more lines identical to this"),f=0,c.push(" "+m)),d=m}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,c){if(c.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var d=u.wantedBy[0],f=[u].concat(c),h=this.buildFirstStateStack(d,f);return h===null?null:[u].concat(h)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var c=u.index;this.current=c,this.table[c]=u,this.table.splice(c+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],c=this.grammar.start,d=this.table[this.table.length-1];return d.states.forEach(function(f){f.rule.name===c&&f.dot===f.rule.symbols.length&&f.reference===0&&f.data!==s.fail&&u.push(f)}),u.map(function(f){return f.data})};function a(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(gM);var Zoe=gM.exports,rl={},mM={},na={};na.__esModule=void 0;na.__esModule=!0;var Joe=typeof Object.setPrototypeOf=="function",ese=typeof Object.getPrototypeOf=="function",tse=typeof Object.defineProperty=="function",nse=typeof Object.create=="function",rse=typeof Object.prototype.hasOwnProperty=="function",ise=function(t,n){Joe?Object.setPrototypeOf(t,n):t.__proto__=n};na.setPrototypeOf=ise;var ose=function(t){return ese?Object.getPrototypeOf(t):t.__proto__||t.prototype};na.getPrototypeOf=ose;var yE=!1,sse=function e(t,n,r){if(tse&&!yE)try{Object.defineProperty(t,n,r)}catch{yE=!0,e(t,n,r)}else t[n]=r.value};na.defineProperty=sse;var yM=function(t,n){return rse?t.hasOwnProperty(t,n):t[n]===void 0};na.hasOwnProperty=yM;var ase=function(t,n){if(nse)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)yM(n,o)&&(i[o]=n[o].value);return i};na.objectCreate=ase;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=na,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var c=this.constructor,d=c.name||function(){var S=c.toString().match(/^function\s*([^\s(]+)/);return S===null?a||"Error":S[1]}(),f=d==="Error",h=f?a:d,p=Error.apply(this,arguments);if(n(p,r(this)),!(p instanceof c)||!(p instanceof l)){var p=this;Error.apply(this,arguments),i(p,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(p,"name",{configurable:!0,enumerable:!1,value:h,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(p,f?l:c),p.stack===void 0){var m=new Error(u);m.name=p.name,p.stack=m.stack}return s&&i(p,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),p}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(mM);var vM=Ee&&Ee.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(rl,"__esModule",{value:!0});rl.SyntaxError=rl.LiqeError=void 0;var lse=mM,bM=function(e){vM(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(lse.ExtendableError);rl.LiqeError=bM;var use=function(e){vM(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(bM);rl.SyntaxError=use;var cC={},Vm=Ee&&Ee.__assign||function(){return Vm=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:po},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};cC.default=cse;var SM={},G0={},Ch={};Object.defineProperty(Ch,"__esModule",{value:!0});Ch.isSafePath=void 0;var dse=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,fse=function(e){return dse.test(e)};Ch.isSafePath=fse;Object.defineProperty(G0,"__esModule",{value:!0});G0.createGetValueFunctionBody=void 0;var hse=Ch,pse=function(e){if(!(0,hse.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};G0.createGetValueFunctionBody=pse;(function(e){var t=Ee&&Ee.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,Sse=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new wM.default.Parser(vse),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(bse);throw r?new gse.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,yse.hydrateAst)(n[0]);return i};U0.parse=Sse;var H0={};Object.defineProperty(H0,"__esModule",{value:!0});H0.test=void 0;var _se=wh,wse=function(e,t){return(0,_se.filter)(e,[t]).length===1};H0.test=wse;var xM={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,c=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(c?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,c=" ".repeat(a.location.start-l.location.end);return u+l.operator+c+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(xM);var q0={};Object.defineProperty(q0,"__esModule",{value:!0});q0.isSafeUnquotedExpression=void 0;var xse=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};q0.isSafeUnquotedExpression=xse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=wh;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=z0;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=U0;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=H0;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=rl;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=xM;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=q0;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(pM);var Th={},CM={},il={};Object.defineProperty(il,"__esModule",{value:!0});il.ROARR_LOG_FORMAT_VERSION=il.ROARR_VERSION=void 0;il.ROARR_VERSION="5.0.0";il.ROARR_LOG_FORMAT_VERSION="2.0.0";var Eh={};Object.defineProperty(Eh,"__esModule",{value:!0});Eh.logLevels=void 0;Eh.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var TM={},W0={};Object.defineProperty(W0,"__esModule",{value:!0});W0.hasOwnProperty=void 0;const Cse=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);W0.hasOwnProperty=Cse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=W0;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(TM);var EM={},K0={},X0={};Object.defineProperty(X0,"__esModule",{value:!0});X0.tokenize=void 0;const Tse=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,Ese=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Tse.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};X0.tokenize=Ese;Object.defineProperty(K0,"__esModule",{value:!0});K0.createPrintf=void 0;const vE=aC,Pse=X0,Ase=(e,t)=>t.placeholder,kse=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Ase,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Pse.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let c=s[u.position];if(c===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=vE.boolean(c)?"true":"false";else if(u.conversion==="B")l+=vE.boolean(c)?"TRUE":"FALSE";else if(u.conversion==="c")l+=c;else if(u.conversion==="C")l+=String(c).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")c=String(Math.trunc(c)),u.width!==null&&(c=n(c,u.width,u.flag)),l+=c;else if(u.conversion==="e")l+=Number(c).toExponential();else if(u.conversion==="E")l+=Number(c).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(c=Number(c).toFixed(u.precision)),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="o")l+=(Number.parseInt(String(c),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="S")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=String(c).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(c),10)>>>0;else if(u.conversion==="x")c=(Number.parseInt(String(c),10)>>>0).toString(16),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else throw new Error("Unknown format specifier.")}return l}};K0.createPrintf=kse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=K0;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(EM);var l2={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=S();r.configure=S,r.stringify=r,r.default=r,t.stringify=r,t.configure=S,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(v){return v.length<5e3&&!i.test(v)?`"${v}"`:JSON.stringify(v)}function s(v){if(v.length>200)return v.sort();for(let y=1;yg;)v[b]=v[b-1],b--;v[b]=g}return v}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(v){return a.call(v)!==void 0&&v.length!==0}function u(v,y,g){v.length= 1`)}return g===void 0?1/0:g}function h(v){return v===1?"1 item":`${v} items`}function p(v){const y=new Set;for(const g of v)(typeof g=="string"||typeof g=="number")&&y.add(String(g));return y}function m(v){if(n.call(v,"strict")){const y=v.strict;if(typeof y!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(y)return g=>{let b=`Object can not safely be stringified. Received type ${typeof g}`;throw typeof g!="function"&&(b+=` (${g.toString()})`),new Error(b)}}}function S(v){v={...v};const y=m(v);y&&(v.bigint===void 0&&(v.bigint=!1),"circularValue"in v||(v.circularValue=Error));const g=c(v),b=d(v,"bigint"),_=d(v,"deterministic"),w=f(v,"maximumDepth"),x=f(v,"maximumBreadth");function T(M,C,O,I,N,R){let D=C[M];switch(typeof D=="object"&&D!==null&&typeof D.toJSON=="function"&&(D=D.toJSON(M)),D=I.call(C,M,D),typeof D){case"string":return o(D);case"object":{if(D===null)return"null";if(O.indexOf(D)!==-1)return g;let L="",j=",";const U=R;if(Array.isArray(D)){if(D.length===0)return"[]";if(wx){const ne=D.length-x-1;L+=`${j}"... ${h(ne)} not stringified"`}return N!==""&&(L+=` +${U}`),O.pop(),`[${L}]`}let G=Object.keys(D);const W=G.length;if(W===0)return"{}";if(wx){const H=W-x;L+=`${Y}"...":${X}"${h(H)} not stringified"`,Y=j}return N!==""&&Y.length>1&&(L=` +${R}${L} +${U}`),O.pop(),`{${L}}`}case"number":return isFinite(D)?String(D):y?y(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(D);default:return y?y(D):void 0}}function P(M,C,O,I,N,R){switch(typeof C=="object"&&C!==null&&typeof C.toJSON=="function"&&(C=C.toJSON(M)),typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(O.indexOf(C)!==-1)return g;const D=R;let L="",j=",";if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const B=C.length-x-1;L+=`${j}"... ${h(B)} not stringified"`}return N!==""&&(L+=` +${D}`),O.pop(),`[${L}]`}O.push(C);let U="";N!==""&&(R+=N,j=`, +${R}`,U=" ");let G="";for(const W of I){const X=P(W,C[W],O,I,N,R);X!==void 0&&(L+=`${G}${o(W)}:${U}${X}`,G=j)}return N!==""&&G.length>1&&(L=` +${R}${L} +${D}`),O.pop(),`{${L}}`}case"number":return isFinite(C)?String(C):y?y(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return y?y(C):void 0}}function E(M,C,O,I,N){switch(typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(typeof C.toJSON=="function"){if(C=C.toJSON(M),typeof C!="object")return E(M,C,O,I,N);if(C===null)return"null"}if(O.indexOf(C)!==-1)return g;const R=N;if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const J=C.length-x-1;X+=`${Y}"... ${h(J)} not stringified"`}return X+=` +${R}`,O.pop(),`[${X}]`}let D=Object.keys(C);const L=D.length;if(L===0)return"{}";if(wx){const X=L-x;U+=`${G}"...": "${h(X)} not stringified"`,G=j}return G!==""&&(U=` +${N}${U} +${R}`),O.pop(),`{${U}}`}case"number":return isFinite(C)?String(C):y?y(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return y?y(C):void 0}}function A(M,C,O){switch(typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(typeof C.toJSON=="function"){if(C=C.toJSON(M),typeof C!="object")return A(M,C,O);if(C===null)return"null"}if(O.indexOf(C)!==-1)return g;let I="";if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const W=C.length-x-1;I+=`,"... ${h(W)} not stringified"`}return O.pop(),`[${I}]`}let N=Object.keys(C);const R=N.length;if(R===0)return"{}";if(wx){const j=R-x;I+=`${D}"...":"${h(j)} not stringified"`}return O.pop(),`{${I}}`}case"number":return isFinite(C)?String(C):y?y(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return y?y(C):void 0}}function $(M,C,O){if(arguments.length>1){let I="";if(typeof O=="number"?I=" ".repeat(Math.min(O,10)):typeof O=="string"&&(I=O.slice(0,10)),C!=null){if(typeof C=="function")return T("",{"":M},[],C,I,"");if(Array.isArray(C))return P("",M,[],p(C),I,"")}if(I.length!==0)return E("",M,[],I,"")}return A("",M,[])}return $}})(l2,l2.exports);var Ose=l2.exports;(function(e){var t=Ee&&Ee.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=il,r=Eh,i=TM,o=EM,s=t(lC),a=t(Ose);let l=!1;const u=(0,s.default)(),c=()=>u.ROARR,d=()=>({messageContext:{},transforms:[]}),f=()=>{const g=c().asyncLocalStorage;if(!g)throw new Error("AsyncLocalContext is unavailable.");const b=g.getStore();return b||d()},h=()=>!!c().asyncLocalStorage,p=()=>{if(h()){const g=f();return(0,i.hasOwnProperty)(g,"sequenceRoot")&&(0,i.hasOwnProperty)(g,"sequence")&&typeof g.sequence=="number"?String(g.sequenceRoot)+"."+String(g.sequence++):String(c().sequence++)}return String(c().sequence++)},m=(g,b)=>(_,w,x,T,P,E,A,$,M,C)=>{g.child({logLevel:b})(_,w,x,T,P,E,A,$,M,C)},S=1e3,v=(g,b)=>(_,w,x,T,P,E,A,$,M,C)=>{const O=(0,a.default)({a:_,b:w,c:x,d:T,e:P,f:E,g:A,h:$,i:M,j:C,logLevel:b});if(!O)throw new Error("Expected key to be a string");const I=c().onceLog;I.has(O)||(I.add(O),I.size>S&&I.clear(),g.child({logLevel:b})(_,w,x,T,P,E,A,$,M,C))},y=(g,b={},_=[])=>{const w=(x,T,P,E,A,$,M,C,O,I)=>{const N=Date.now(),R=p();let D;h()?D=f():D=d();let L,j;if(typeof x=="string"?L={...D.messageContext,...b}:L={...D.messageContext,...b,...x},typeof x=="string"&&T===void 0)j=x;else if(typeof x=="string"){if(!x.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");j=(0,o.printf)(x,T,P,E,A,$,M,C,O,I)}else{let G=T;if(typeof T!="string")if(T===void 0)G="";else throw new TypeError("Message must be a string. Received "+typeof T+".");j=(0,o.printf)(G,P,E,A,$,M,C,O,I)}let U={context:L,message:j,sequence:R,time:N,version:n.ROARR_LOG_FORMAT_VERSION};for(const G of[...D.transforms,..._])if(U=G(U),typeof U!="object"||U===null)throw new Error("Message transform function must return a message object.");g(U)};return w.child=x=>{let T;return h()?T=f():T=d(),typeof x=="function"?(0,e.createLogger)(g,{...T.messageContext,...b,...x},[x,..._]):(0,e.createLogger)(g,{...T.messageContext,...b,...x},_)},w.getContext=()=>{let x;return h()?x=f():x=d(),{...x.messageContext,...b}},w.adopt=async(x,T)=>{if(!h())return l===!1&&(l=!0,g({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:p(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),x();const P=f();let E;(0,i.hasOwnProperty)(P,"sequenceRoot")&&(0,i.hasOwnProperty)(P,"sequence")&&typeof P.sequence=="number"?E=P.sequenceRoot+"."+String(P.sequence++):E=String(c().sequence++);let A={...P.messageContext};const $=[...P.transforms];typeof T=="function"?$.push(T):A={...A,...T};const M=c().asyncLocalStorage;if(!M)throw new Error("Async local context unavailable.");return M.run({messageContext:A,sequence:0,sequenceRoot:E,transforms:$},()=>x())},w.debug=m(w,r.logLevels.debug),w.debugOnce=v(w,r.logLevels.debug),w.error=m(w,r.logLevels.error),w.errorOnce=v(w,r.logLevels.error),w.fatal=m(w,r.logLevels.fatal),w.fatalOnce=v(w,r.logLevels.fatal),w.info=m(w,r.logLevels.info),w.infoOnce=v(w,r.logLevels.info),w.trace=m(w,r.logLevels.trace),w.traceOnce=v(w,r.logLevels.trace),w.warn=m(w,r.logLevels.warn),w.warnOnce=v(w,r.logLevels.warn),w};e.createLogger=y})(CM);var Y0={},Rse=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Ise=Ee&&Ee.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Y0,"__esModule",{value:!0});Y0.createRoarrInitialGlobalStateBrowser=void 0;const bE=il,SE=Ise(Rse),Mse=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(SE.default),t.includes(bE.ROARR_VERSION)||t.push(bE.ROARR_VERSION),t.sort(SE.default),{sequence:0,...e,versions:t}};Y0.createRoarrInitialGlobalStateBrowser=Mse;var Q0={};Object.defineProperty(Q0,"__esModule",{value:!0});Q0.getLogLevelName=void 0;const Nse=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Q0.getLogLevelName=Nse;(function(e){var t=Ee&&Ee.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=CM,r=Y0,o=(0,t(lC).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=d=>JSON.stringify(d),l=(0,n.createLogger)(d=>{var f;s.write&&s.write(((f=s.serializeMessage)!==null&&f!==void 0?f:a)(d))});e.Roarr=l;var u=Eh;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var c=Q0;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return c.getLogLevelName}})})(Th);var Dse=Ee&&Ee.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,v,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,v)}}};M0.createLogWriter=Gse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=M0;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(nM);Th.ROARR.write=nM.createLogWriter();const AM={};Th.Roarr.child(AM);const Z0=T0(Th.Roarr.child(AM)),fe=e=>Z0.get().child({namespace:e}),F3e=["trace","debug","info","warn","error","fatal"],B3e={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Hse(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Df=Vs("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=fe("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Hse()))}catch(i){return n({error:i})}}),kM={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},OM=Pt({name:"nodes",initialState:kM,reducers:{nodesChanged:(e,t)=>{e.nodes=qI(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=nie(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=bI(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Ln(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=nY(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Df.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:j3e,edgesChanged:V3e,nodeAdded:z3e,fieldValueChanged:u2,connectionMade:U3e,connectionStarted:G3e,connectionEnded:H3e,shouldShowGraphOverlayChanged:q3e,shouldShowFieldTypeLegendChanged:W3e,shouldShowMinimapPanelChanged:K3e,nodeTemplatesBuilt:dC,nodeEditorReset:RM,imageCollectionFieldValueChanged:X3e,setEditorInstance:Y3e,loadFileNodes:Q3e,loadFileEdges:Z3e,setProgressNodeSize:J3e}=OM.actions,qse=OM.reducer,IM={esrganModelName:"RealESRGAN_x4plus.pth"},MM=Pt({name:"postprocessing",initialState:IM,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:e5e}=MM.actions,Wse=MM.reducer,Kse={positiveStylePrompt:"",negativeStylePrompt:"",shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},NM=Pt({name:"sdxl",initialState:Kse,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:t5e,setNegativeStylePromptSDXL:n5e,setShouldUseSDXLRefiner:Xse,setSDXLImg2ImgDenoisingStrength:r5e,refinerModelChanged:wE,setRefinerSteps:i5e,setRefinerCFGScale:o5e,setRefinerScheduler:s5e,setRefinerAestheticScore:a5e,setRefinerStart:l5e}=NM.actions,Yse=NM.reducer,Ph=ue("app/userInvoked"),Qse={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class zm{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Qse,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xc(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function xE(e){return e==null?"":""+e}function Zse(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function fC(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function CE(e,t,n){const{obj:r,k:i}=fC(e,t,Object);r[i]=n}function Jse(e,t,n,r){const{obj:i,k:o}=fC(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function Um(e,t){const{obj:n,k:r}=fC(e,t);if(n)return n[r]}function eae(e,t,n){const r=Um(e,n);return r!==void 0?r:Um(t,n)}function DM(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):DM(e[r],t[r],n):e[r]=t[r]);return e}function jl(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var tae={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function nae(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>tae[t]):e}const rae=[" ",",","?","!",";"];function iae(e,t,n){t=t||"",n=n||"";const r=rae.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function Gm(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?Gm(l,u,n):void 0}i=i[r[o]]}return i}function Hm(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class TE extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=Um(this.data,a);return l||!s||typeof r!="string"?l:Gm(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),CE(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=Um(this.data,a)||{};i?DM(l,r,o):l={...l,...r},CE(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var LM={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const EE={};class qm extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Zse(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=qi.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!iae(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],v=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof v=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const T=`${w}${o}${x}`;_[x]=this.translate(T,{...n,joinArrays:!1,ns:a}),_[x]===T&&(_[x]=f[x])}f=_}}else if(y&&typeof v=="string"&&m==="[object Array]")f=f.join(v),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=qm.hasDefaultValue(n),T=w?this.pluralResolver.getSuffix(u,n.count,n):"",P=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",E=n[`defaultValue${T}`]||n[`defaultValue${P}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=E),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,M=x&&E!==f&&this.options.updateMissing;if(_||b||M){if(this.logger.log(M?"updateKey":"missingKey",u,l,s,M?E:f),o){const N=this.resolve(s,{...n,keySeparator:!1});N&&N.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let C=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let N=0;N{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,R,L,M,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,R,L,M,n),this.emit("missingKey",N,l,R,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?C.forEach(N=>{this.pluralResolver.getSuffixes(N,n).forEach(R=>{I([N],s+R,n[`defaultValue${R}`]||E)})}):I(C,s,E))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!EE[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(EE[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(v=>{if(this.isValidLookup(r))return;s=v;const y=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,v,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(v,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(c+b),n.ordinal&&b.indexOf(w)===0&&y.push(c+b.replace(w,this.options.pluralSeparator)),h&&y.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;y.push(x),f&&(y.push(x+b),n.ordinal&&b.indexOf(w)===0&&y.push(x+b.replace(w,this.options.pluralSeparator)),h&&y.push(x+_))}}let g;for(;g=y.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(v,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function $b(e){return e.charAt(0).toUpperCase()+e.slice(1)}class PE{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=qi.create("languageUtils")}getScriptPartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=$b(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let oae=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],sae={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const aae=["v1","v2","v3"],lae=["v4"],AE={zero:0,one:1,two:2,few:3,many:4,other:5};function uae(){const e={};return oae.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:sae[t.fc]}})}),e}class cae{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=qi.create("pluralResolver"),(!this.options.compatibilityJSON||lae.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=uae()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(Hm(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>AE[i]-AE[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!aae.includes(this.options.compatibilityJSON)}}function kE(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=eae(e,t,n);return!o&&i&&typeof n=="string"&&(o=Gm(e,n,r),o===void 0&&(o=Gm(t,n,r))),o}class dae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:nae,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?jl(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?jl(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?jl(n.nestingPrefix):n.nestingPrefixEscaped||jl("$t("),this.nestingSuffix=n.nestingSuffix?jl(n.nestingSuffix):n.nestingSuffixEscaped||jl(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const y=kE(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...i,...n,interpolationkey:p}):y}const m=p.split(this.formatSeparator),S=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(kE(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const v=d(t,o,i);s=typeof v=="string"?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=xE(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=xE(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function fae(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function Vl(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(Hm(i),o),t[s]=a),a(r)}}class hae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("formatter"),this.options=t,this.formats={number:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:Vl((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:Vl((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:Vl((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=Vl(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=fae(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function pae(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class gae extends J0{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=qi.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Jse(l.loaded,[o],s),pae(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function OE(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function RE(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Op(){}function mae(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Lf extends J0{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=RE(t),this.services={},this.logger=qi,this.modules={external:[]},mae(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=OE();this.options={...i,...this.options,...RE(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?qi.init(o(this.modules.logger),this.options):qi.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=hae);const d=new PE(this.options);this.store=new TE(this.options.resources,this.options);const f=this.services;f.logger=qi,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new cae(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new dae(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new gae(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Op),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Xc(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xc();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Op),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&LM.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xc();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xc();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xc();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new PE(OE());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Lf(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Lf(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new TE(this.store.data,i),o.services.resourceStore=o.store),o.translator=new qm(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},$M={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},FM=Pt({name:"system",initialState:$M,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(s7,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(l7,t=>{t.sessionId=null}),e.addCase(r7,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(o7,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(c7,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(m7,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(d7,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(p7,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Ph,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(hl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.canceled"),status:"warning"}))}),e.addCase(dC,t=>{t.wasSchemaParsed=!0}),e.addMatcher(IR,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(_ae,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:YX(n.payload.data.error_type)}))})}}),{setIsProcessing:u5e,setShouldConfirmOnDelete:c5e,setCurrentStatus:d5e,setIsCancelable:f5e,setEnableImageDebugging:h5e,addToast:Ft,clearToastQueue:p5e,cancelScheduled:g5e,scheduledCancelAborted:m5e,cancelTypeChanged:y5e,subscribedNodeIdsSet:v5e,consoleLogLevelChanged:b5e,shouldLogToConsoleChanged:S5e,isPersistedChanged:_5e,shouldAntialiasProgressImageChanged:w5e,languageChanged:x5e,progressImageSet:yae,setIsNodesEnabled:C5e,shouldUseNSFWCheckerChanged:vae,shouldUseWatermarkerChanged:bae}=FM.actions,Sae=FM.reducer,_ae=ei(Ux,S7,w7),wae={searchFolder:null,advancedAddScanModel:null},BM=Pt({name:"modelmanager",initialState:wae,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:T5e,setAdvancedAddScanModel:E5e}=BM.actions,xae=BM.reducer,jM={shift:!1},VM=Pt({name:"hotkeys",initialState:jM,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:P5e}=VM.actions,Cae=VM.reducer,Tae=nF(DV);zM=c2=void 0;var Eae=Tae,Pae=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(c){return function(d){return Eae.compose.apply(void 0,n)(c)(d)}}},o=function(){for(var u,c,d=arguments.length,f=Array(d),h=0;h=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function GM(e,t){if(e){if(typeof e=="string")return ME(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ME(e,t)}}function ME(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?Vae:zae;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function $E(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function FE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){$E(o,r,i,s,a,"next",l)}function a(l){$E(o,r,i,s,a,"throw",l)}s(void 0)})}}var Gae=function(){var e=FE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield Lae(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=FE(function*(){var p=UM(t.getState(),n);yield Uae(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),pC(p,d)||t.dispatch({type:Rae,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(Mae(f,u)):t.subscribe(Iae(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const Hae=Gae;function $f(e){"@babel/helpers - typeof";return $f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$f(e)}function BE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jb(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=jb({},r));var o=typeof t=="function"?t:pc(t);switch(i.type){case d2:return n.state=o(jb(jb({},n.state),i.payload||{}),{type:d2}),n.state;default:return o(r,i)}}},Yae=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return Hae(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const A5e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],Qae="@@invokeai-",Zae=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],Jae=["pendingControlImages"],ele=["selection","selectedBoardId","galleryView"],tle=["schema","invocationTemplates"],nle=[],rle=[],ile=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],ole=["shouldShowImageDetails"],sle={canvas:Zae,gallery:ele,generation:nle,nodes:tle,postprocessing:rle,system:ile,ui:ole,controlNet:Jae},ale=(e,t)=>{const n=_0(e,sle[t]);return JSON.stringify(n)},lle={canvas:NR,gallery:k7,generation:Wo,nodes:kM,postprocessing:IM,system:$M,config:gR,ui:kR,hotkeys:jM,controlNet:z_},ule=(e,t)=>gX(JSON.parse(e),lle[t]),qM=ue("nodes/textToImageGraphBuilt"),WM=ue("nodes/imageToImageGraphBuilt"),KM=ue("nodes/canvasGraphBuilt"),XM=ue("nodes/nodesGraphBuilt"),cle=ei(qM,WM,KM,XM),dle=e=>{if(cle(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Df.fulfilled.match(e)?{...e,payload:""}:dC.match(e)?{...e,payload:""}:e},fle=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],hle=e=>e,ple=()=>{le({actionCreator:FQ,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(hl({session_id:o}))}}})};ue("app/appStarted");const gle=()=>{le({matcher:he.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==di({board_id:"none",categories:gi}))return;r(),n();const i=e.payload;i.ids.length>0&&t(Rs(i.ids[0]))}})},gC=Hs.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:k5e,useGetAppConfigQuery:O5e}=gC,mle=()=>{le({matcher:gC.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r,nsfw_methods:i,watermarking_methods:o}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(yQ(r[0])),i.includes("nsfw_checker")||n(vae(!1)),o.includes("invisible_watermark")||n(bae(!1))}})},yle=ue("app/appStarted"),vle=()=>{le({actionCreator:yle,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},mC={memoizeOptions:{resultEqualityCheck:S0}},YM=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Ea(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Ea(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},ble=Jn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return YM(e,n)},mC),Sle=()=>{le({matcher:ec.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const c=YM(l,u);c.isInitialImage&&!i&&(t(ER()),i=!0),c.isCanvasImage&&!o&&(t(LR()),o=!0),c.isNodesImage&&!s&&(t(RM()),s=!0),c.isControlNetImage&&!a&&(t(T7()),a=!0)})}})},_le=()=>{le({matcher:ei(U_,Am),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=U_.match(e)?e.payload:o.gallery.selectedBoardId,l=(Am.match(e)?e.payload:o.gallery.galleryView)==="images"?gi:_s,u={board_id:s??"none",categories:l};if(await r(()=>he.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=he.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(Rs(d.ids[0]??null)):n(Rs(null))}else n(Rs(null))}})},wle=ue("canvas/canvasSavedToGallery"),xle=ue("canvas/canvasCopiedToClipboard"),Cle=ue("canvas/canvasDownloadedAsImage"),Tle=ue("canvas/canvasMerged"),Ele=ue("canvas/stagingAreaImageSaved");let QM=null,ZM=null;const R5e=e=>{QM=e},tv=()=>QM,I5e=e=>{ZM=e},Ple=()=>ZM,Ale=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Km=async(e,t)=>await Ale(e.toCanvas(t)),yC=async e=>{const t=tv();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Km(o,a)},kle=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},Ole=()=>{le({actionCreator:xle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}kle(o),t(Ft({title:"Canvas Copied to Clipboard",status:"success"}))}})},Rle=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},Ile=()=>{le({actionCreator:Cle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}Rle(o,"canvas.png"),t(Ft({title:"Canvas Downloaded",status:"success"}))}})},Mle=async()=>{const e=tv();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Km(t,t.getClientRect())},Nle=()=>{le({actionCreator:Tle,effect:async(e,{dispatch:t})=>{const n=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await Mle();if(!r){n.error("Problem getting base layer blob"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=tv();if(!i){n.error("Problem getting canvas base layer"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(he.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(BQ({kind:"image",layer:"base",imageName:a,...o}))}})},Dle=()=>{le({actionCreator:wle,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(he.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Lle=(e,t,n)=>{if(!(tJ.match(e)||bT.match(e)||Hx.match(e)||nJ.match(e)||ST.match(e))||ST.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(bT.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},$le=()=>{le({predicate:Lle,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=fe("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(Gx({controlNetId:o}))}})},pl=ue("system/sessionReadyToInvoke"),JM=e=>(e==null?void 0:e.type)==="image_output",Fle=()=>{le({actionCreator:Gx,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=fe("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!s.controlImage){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(On({graph:a})),[u]=await r(f=>On.fulfilled.match(f)&&f.meta.requestId===l.requestId),c=u.payload.id;t(pl());const[d]=await r(f=>zx.match(f)&&f.payload.data.graph_execution_state_id===c);if(JM(d.payload.data.result)){const{image_name:f}=d.payload.data.result.image,[{payload:h}]=await r(m=>he.endpoints.getImageDTO.matchFulfilled(m)&&m.payload.image_name===f),p=h;i.debug({controlNetId:e.payload,processedControlImage:p},"ControlNet image processed"),t(eJ({controlNetId:o,processedControlImage:p.image_name}))}}})},Ble=()=>{le({matcher:he.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},jle=()=>{le({matcher:he.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},M5e=e=>e.gallery,N5e=Jn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],mC),Vle=Jn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?gi:_s,offset:0,limit:GQ,is_intermediate:!1}},mC),eN=ue("imageDeletion/imageDeletionConfirmed"),zle=()=>{le({actionCreator:eN,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(I7(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=Vle(a),{data:f}=he.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Ss(p,0,m.length-1),v=m[S];t(Rs(v||null))}o.isCanvasImage&&t(LR()),o.isControlNetImage&&t(T7()),o.isInitialImage&&t(ER()),o.isNodesImage&&t(RM());const{requestId:u}=t(he.endpoints.deleteImage.initiate(i));await r(d=>he.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(Hs.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},Ule=()=>{le({matcher:he.endpoints.deleteImage.matchPending,effect:()=>{}})},Gle=()=>{le({matcher:he.endpoints.deleteImage.matchFulfilled,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},Hle=()=>{le({matcher:he.endpoints.deleteImage.matchRejected,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},tN=ue("dnd/dndDropped"),qle=()=>{le({actionCreator:tN,effect:async(e,{dispatch:t})=>{const n=fe("images"),{activeData:r,overData:i}=e.payload;if(n.debug({activeData:r,overData:i},"Image or selection dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO.image_name));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(C0(r.payload.imageDTO));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(G_([r.payload.imageDTO.image_name]));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_NAMES"){t(G_(r.payload.image_names));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(Hx({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t($R(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="SET_MULTI_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:[r.payload.imageDTO]}));return}if(i.actionType==="MOVE_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;if(!s){t(he.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}t(he.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}}})},Wle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},Kle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},Xle=()=>{le({actionCreator:dJ,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=ble(n());if(!s)return;const a=s.isCanvasImage||s.isInitialImage||s.isControlNetImage||s.isNodesImage;if(o||a){t(I7(!0));return}t(eN({imageDTO:r,imageUsage:s}))}})},ga={title:"Image Uploaded",status:"success"},Yle=()=>{le({matcher:he.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=fe("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Ft({...ga,...l}));else{t(he.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=ec.endpoints.listAllBoards.select()(o),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Ft({...ga,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t($R(i)),t(Ft({...ga,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(Hx({controlNetId:l,controlImage:i.image_name})),t(Ft({...ga,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(C0(i)),t(Ft({...ga,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(u2({nodeId:l,fieldName:u,value:i})),t(Ft({...ga,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(G_([i.image_name])),t(Ft({...ga,description:"Added to batch"}));return}}}})},Qle=()=>{le({matcher:he.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=fe("images"),r={arg:{..._0(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Ft({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},Zle=ue("generation/initialImageSelected"),Jle=ue("generation/modelSelected"),eue=()=>{le({actionCreator:Zle,effect:(e,{dispatch:t})=>{if(!e.payload){t(Ft(Ga({title:kd("toast.imageNotLoadedDesc"),status:"error"})));return}t(C0(e.payload)),t(Ft(Ga(kd("toast.sentToImageToImage"))))}})},tue=()=>{le({actionCreator:Jle,effect:(e,{getState:t,dispatch:n})=>{var l;const r=fe("models"),i=t(),o=xf.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Qa(i.lora.loras,(f,h)=>{f.base_model!==a&&(n(N7(h)),u+=1)});const{vae:c}=i.generation;c&&c.base_model!==a&&(n(PR(null)),u+=1);const{controlNets:d}=i.controlNet;Qa(d,(f,h)=>{var p;((p=f.model)==null?void 0:p.base_model)!==a&&(n(C7({controlNetId:h})),u+=1)}),u>0&&n(Ft(Ga({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(ja(s))}})},jE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),VE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),zE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),UE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),GE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),nue=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Yc=e=>{const t=[];return e.forEach(n=>{const r={...Ln(n),id:nue(n)};t.push(r)}),t},xo=Hs.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${F_.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return jE.setAll(jE.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return VE.setAll(VE.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return zE.setAll(zE.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return GE.setAll(GE.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return UE.setAll(UE.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${F_.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Be}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:D5e,useGetControlNetModelsQuery:L5e,useGetLoRAModelsQuery:$5e,useGetTextualInversionModelsQuery:F5e,useGetVaeModelsQuery:B5e,useUpdateMainModelsMutation:j5e,useDeleteMainModelsMutation:V5e,useImportMainModelsMutation:z5e,useAddMainModelsMutation:U5e,useConvertMainModelsMutation:G5e,useMergeMainModelsMutation:H5e,useSyncModelsMutation:q5e,useGetModelsInFolderQuery:W5e,useGetCheckpointConfigsQuery:K5e}=xo,rue=()=>{le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(ja(l.data))}}),le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(wE(null)),n(Xse(!1));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(wE(l.data))}}),le({matcher:xo.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=pQ.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse VAE model");return}n(PR(l.data))}}),le({matcher:xo.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(N7(s))})}}),le({matcher:xo.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>{var u,c;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((c=o==null?void 0:o.model)==null?void 0:c.base_model)})||n(C7({controlNetId:s}))})}}),le({matcher:xo.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{fe("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},ra=e=>JSON.parse(JSON.stringify(e)),h2=e=>!("$ref"in e),iue=e=>!("$ref"in e),X5e=500,oue={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},sue=500,Dt=e=>`var(--invokeai-colors-${e}-${sue})`,Y5e={integer:{color:"red",colorCssVar:Dt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Dt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Dt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Dt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Dt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Dt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Dt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Dt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Dt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Dt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Dt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Dt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Dt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Dt("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Dt("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Dt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Dt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Dt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Dt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Dt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Dt("gray"),title:"Color",description:"A RGBA color."}},Q5e=250,Vb=e=>e.$ref.split("/").slice(-1)[0],aue=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},lue=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},uue=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},cue=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),due=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fue=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),hue=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),pue=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),gue=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),mue=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),yue=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),vue=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bue=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Sue=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_ue=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),wue=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),xue=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Cue=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},HE=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),qE=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Tue=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),nN=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Vb(e.allOf[0]):e.anyOf?r=Vb(e.anyOf[0]):e.oneOf&&(r=Vb(e.oneOf[0]));const i=oue[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Eue=(e,t,n)=>{const r=nN(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return mue({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return yue({schemaObject:e,baseField:i});if(["latents"].includes(r))return vue({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return bue({schemaObject:e,baseField:i});if(["unet"].includes(r))return Sue({schemaObject:e,baseField:i});if(["clip"].includes(r))return _ue({schemaObject:e,baseField:i});if(["vae"].includes(r))return wue({schemaObject:e,baseField:i});if(["control"].includes(r))return xue({schemaObject:e,baseField:i});if(["model"].includes(r))return due({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return fue({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return hue({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return pue({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return gue({schemaObject:e,baseField:i});if(["enum"].includes(r))return Cue({schemaObject:e,baseField:i});if(["integer"].includes(r))return aue({schemaObject:e,baseField:i});if(["number","float"].includes(r))return lue({schemaObject:e,baseField:i});if(["string"].includes(r))return uue({schemaObject:e,baseField:i});if(["boolean"].includes(r))return cue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i});if(["color"].includes(r))return Tue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i})},Pue=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return h2(i)?Lx(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&h2(a)){const u=nN(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Aue=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],kue=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Oue=e=>{var r;return oR((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!kue.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,c;if(iue(o)){const d=o.properties.type.default,f=Aue(d),h=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),p=(a=o.ui)==null?void 0:a.type_hints,m={};if(d==="collect"){const g=o.properties.item;m.item={type:"item",name:"item",description:g.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(d==="iterate"){const g=o.properties.collection;m.collection={type:"array",name:"collection",title:g.title??"",default:[],description:g.description??"",inputRequirement:"always",inputKind:"connection"}}else Lx(o.properties,(g,b,_)=>{if(!f.includes(_)&&h2(b)){const w=Eue(b,_,p);w&&(g[_]=w)}return g},m);const S=o.output;let v;if(d==="iterate"){const g=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;v={item:{name:"item",title:(g==null?void 0:g.title)??"",description:(g==null?void 0:g.description)??"",type:"array"}}}else v=Pue(S,e,p);const y={title:h,type:d,tags:((c=o.ui)==null?void 0:c.tags)??[],description:o.description??"",inputs:m,outputs:v};Object.assign(i,{[d]:y})}return i},{})},Rue=()=>{le({actionCreator:Df.fulfilled,effect:(e,{dispatch:t})=>{const n=fe("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Oue(r);n.debug({nodeTemplates:ra(i)},`Built ${hR(i)} node templates`),t(dC(i))}}),le({actionCreator:Df.rejected,effect:()=>{fe("system").error("Problem dereferencing OpenAPI Schema")}})},Iue=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Mue=new Map(Iue),Nue=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],p2=Symbol(".toJSON was called"),Due=e=>{e[p2]=!0;const t=e.toJSON();return delete e[p2],t},Lue=e=>Mue.get(e)??Error,rN=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&WE(e)){const u=Lue(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[p2]!==!0)return Due(e);const l=u=>rN({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Nue)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:WE(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function vC(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?rN({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function WE(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const $ue=()=>{le({actionCreator:hl.pending,effect:()=>{}})},Fue=()=>{le({actionCreator:hl.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Bue=()=>{le({actionCreator:hl.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem canceling session")}}})},jue=()=>{le({actionCreator:On.pending,effect:()=>{}})},Vue=()=>{le({actionCreator:On.fulfilled,effect:e=>{const t=fe("session"),n=e.payload;t.debug({session:ra(n)},`Session created (${n.id})`)}})},zue=()=>{le({actionCreator:On.rejected,effect:e=>{const t=fe("session");if(e.payload){const{error:n,status:r}=e.payload,i=ra(e.meta.arg);t.error({graph:i,status:r,error:vC(n)},"Problem creating session")}}})},Uue=()=>{le({actionCreator:yh.pending,effect:()=>{}})},Gue=()=>{le({actionCreator:yh.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Hue=()=>{le({actionCreator:yh.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem invoking session")}}})},que=()=>{le({actionCreator:pl,effect:(e,{getState:t,dispatch:n})=>{const r=fe("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(yh({session_id:i})))}})},Wue=()=>{le({actionCreator:n7,effect:(e,{dispatch:t,getState:n})=>{fe("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Df()),t(r7(e.payload)),t(xo.util.invalidateTags([{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be},{type:"LoRAModel",id:Be},{type:"ControlNetModel",id:Be},{type:"VaeModel",id:Be},{type:"TextualInversionModel",id:Be},{type:"ScannedModels",id:Be}])),t(gC.util.invalidateTags(["AppConfig","AppVersion"]))}})},Kue=()=>{le({actionCreator:i7,effect:(e,{dispatch:t})=>{fe("socketio").debug("Disconnected"),t(o7(e.payload))}})},Xue=()=>{le({actionCreator:g7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(m7(e.payload))}})},Yue=()=>{le({actionCreator:h7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Session complete"),t(p7(e.payload))}})},Que=["dataURL_image"],Zue=()=>{le({actionCreator:zx,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("socketio"),{data:i}=e.payload;r.debug({data:ra(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(hl({session_id:o}));const{result:l,node:u,graph_execution_state_id:c}=i;if(JM(l)&&!Que.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(he.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t($Q(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?he.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):he.util.updateQueryData("listImages",{board_id:"none",categories:gi},y=>{const g=y.total,_=Kn.addOne(y,p).total-g;y.total=y.total+_})),t(he.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(U_(m)),t(Am("images"))):m||t(Am("images")),t(Rs(p.image_name)))}t(yae(null))}t(d7(e.payload))}})},Jue=()=>{le({actionCreator:f7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(Ux(e.payload))}})},ece=()=>{le({actionCreator:_7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(w7(e.payload))}})},tce=()=>{le({actionCreator:u7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(c7(e.payload))}})},nce=()=>{le({actionCreator:y7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(ZZ(e.payload))}}),le({actionCreator:v7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(JZ(e.payload))}})},rce=()=>{le({actionCreator:b7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(S7(e.payload))}})},ice=()=>{le({actionCreator:Vx,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Subscribed"),t(s7(e.payload))}})},oce=()=>{le({actionCreator:a7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Unsubscribed"),t(l7(e.payload))}})},sce=()=>{le({actionCreator:Ele,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(he.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(he.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Ft({title:"Image Saved",status:"success"}))}catch(i){t(Ft({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},Z5e=["sd-1","sd-2","sdxl","sdxl-refiner"],ace=["sd-1","sd-2","sdxl"],J5e=["sdxl-refiner"],lce=()=>{le({actionCreator:RR,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=xo.endpoints.getMainModels.select(ace)(t());if(!i){n(ja(null));return}const o=[];Qa(i.entities,u=>{u&&["sd-1","sd-2"].includes(u.base_model)&&o.push(u)});const s=o[0];if(!s){n(ja(null));return}const{base_model:a,model_name:l}=s;n(ja({base_model:a,model_name:l}))}}})},Fe="positive_conditioning",qe="negative_conditioning",dn="text_to_latents",nt="latents_to_image",fu="nsfw_checker",Qc="invisible_watermark",Le="noise",Fi="rand_int",Co="range_of_size",lr="iterate",pt="main_model_loader",Zc="vae_loader",uce="lora_loader",rt="clip_skip",bt="image_to_latents",Kt="latents_to_latents",Qn="resize_image",Mi="inpaint",Rp="control_net_collect",zb="dynamic_prompt",lt="metadata_accumulator",KE="esrgan",en="sdxl_model_loader",is="t2l_sdxl",Ni="l2l_sdxl",zl="sdxl_refiner_model_loader",Ip="sdxl_refiner_positive_conditioning",Mp="sdxl_refiner_negative_conditioning",ma="l2l_sdxl_refiner",bC="text_to_image_graph",cce="sdxl_text_to_image_graph",dce="sxdl_image_to_image_graph",Xm="image_to_image_graph",iN="inpaint_graph",fce=({image_name:e,esrganModelName:t})=>{const n={id:KE,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[KE]:n},edges:[]}},hce=ue("upscale/upscaleRequested"),pce=()=>{le({actionCreator:hce,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=fce({image_name:i,esrganModelName:o});t(On({graph:s})),await r(On.fulfilled.match),t(pl())}})},gce=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},XE=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var SC={exports:{}},nv={},oN={},Pe={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof Ee<"u"?Ee:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Pe);var Rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Pe;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,T=this.m[1]*_+this.m[3]*w,P=this.m[0]*-w+this.m[2]*_,E=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=T,this.m[2]=P,this.m[3]=E,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,T=this.m[2]+this.m[0]*b,P=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=T,this.m[3]=P,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],T=this.m[1]*b.m[2]+this.m[3]*b.m[3],P=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],E=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,T=this.m[0]*b,P=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),E=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],T=this.m[4],P=this.m[5],E=b*x-_*w;let A={x:T,y:P,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=E/$,A.skewX=(b*w+_*x)/E,A.skewY=0}else if(w!=0||x!=0){var M=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/M):-Math.acos(w/M)),A.scaleX=E/M,A.scaleY=M,A.skewX=0,A.skewY=(b*w+_*x)/E}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,T=Number(_[2])/100;let P,E,A;if(x===0)return A=T*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};T<.5?P=T*(1+x):P=T+x-T*x;const $=2*T-P,M=[0,0,0];for(let C=0;C<3;C++)E=w+1/3*-(C-1),E<0&&E++,E>1&&E--,6*E<1?A=$+(P-$)*6*E:2*E<1?A=P:3*E<2?A=$+(P-$)*(2/3-E)*6:A=$,M[C]=A*255;return{r:Math.round(M[0]),g:Math.round(M[1]),b:Math.round(M[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(P=_,E=w,A=(_-x)*(_-x)+(w-T)*(w-T)):(P=g+M*(_-g),E=b+M*(w-b),A=(P-x)*(P-x)+(E-T)*(E-T))}return[P,E,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(T,P){if(!(!_&&P===b.length-1)){var E=b[(P+1)%b.length],A=e.Util._getProjectionToSegment(T.x,T.y,E.x,E.y,g.x,g.y),$=A[0],M=A[1],C=A[2];Cb.length){var P=b;b=g,g=P}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,T=0,P=0,E=0;typeof w=="number"?x=T=P=E=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),T=Math.min(w[1]||0,b/2,_/2),E=Math.min(w[2]||0,b/2,_/2),P=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-T,0),g.arc(b-T,T,T,Math.PI*3/2,0,!1),g.lineTo(b,_-E),g.arc(b-E,_-E,E,0,Math.PI/2,!1),g.lineTo(P,_),g.arc(P,_-P,P,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Rt);var wt={},Te={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.getComponentValidator=de.getBooleanValidator=de.getNumberArrayValidator=de.getFunctionValidator=de.getStringOrGradientValidator=de.getStringValidator=de.getNumberOrAutoValidator=de.getNumberOrArrayOfNumbersValidator=de.getNumberValidator=de.alphaComponent=de.RGBComponent=void 0;const Ko=Pe,Nt=Rt;function Xo(e){return Nt.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nt.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function mce(e){return e>255?255:e<0?0:Math.round(e)}de.RGBComponent=mce;function yce(e){return e>1?1:e<1e-4?1e-4:e}de.alphaComponent=yce;function vce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isNumber(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}de.getNumberValidator=vce;function bce(e){if(Ko.Konva.isUnminified)return function(t,n){let r=Nt.Util._isNumber(t),i=Nt.Util._isArray(t)&&t.length==e;return!r&&!i&&Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}de.getNumberOrArrayOfNumbersValidator=bce;function Sce(){if(Ko.Konva.isUnminified)return function(e,t){var n=Nt.Util._isNumber(e),r=e==="auto";return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}de.getNumberOrAutoValidator=Sce;function _ce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isString(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}de.getStringValidator=_ce;function wce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Nt.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}de.getStringOrGradientValidator=wce;function xce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isFunction(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}de.getFunctionValidator=xce;function Cce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nt.Util._isArray(e)?e.forEach(function(r){Nt.Util._isNumber(r)||Nt.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}de.getNumberArrayValidator=Cce;function Tce(){if(Ko.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}de.getBooleanValidator=Tce;function Ece(e){if(Ko.Konva.isUnminified)return function(t,n){return t==null||Nt.Util.isObject(t)||Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}de.getComponentValidator=Ece;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Rt,n=de;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Te);var _i={},Ro={};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.HitContext=Ro.SceneContext=Ro.Context=void 0;const sN=Rt,Pce=Pe;function Ace(e){var t=[],n=e.length,r=sN.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=kce+u.join(YE)+Oce)):(o+=a.property,t||(o+=Dce+a.val)),o+=Mce;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=$ce&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=QE.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=Ace(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(ov);Object.defineProperty(wt,"__esModule",{value:!0});wt.Node=void 0;const ke=Rt,Ah=Te,Dp=_i,ya=Pe,Br=ov,zt=de;var bg="absoluteOpacity",Lp="allEventListeners",bo="absoluteTransform",ZE="absoluteScale",va="canvas",Hce="Change",qce="children",Wce="konva",g2="listening",JE="mouseenter",e6="mouseleave",t6="set",n6="Shape",Sg=" ",r6="stage",ss="transform",Kce="Stage",m2="visible",Xce=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(Sg);let Yce=1,Se=class y2{constructor(t){this._id=Yce++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===ss||t===bo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===ss||t===bo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(Sg);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(va)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===bo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(va)){const{scene:t,filter:n,hit:r}=this._cache.get(va);ke.Util.releaseCanvas(t,n,r),this._cache.delete(va)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){ke.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new Dp.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new Dp.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new Dp.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(va),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(bg),this._clearSelfAndDescendantCache(ZE),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(va,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(va)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==qce&&(r=t6+ke.Util._capitalize(n),ke.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(g2,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(m2,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Br.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!ya.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==Kce&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(ss),this._clearSelfAndDescendantCache(bo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ke.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(ss);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(ss),this._clearSelfAndDescendantCache(bo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ke.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ke.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ke.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(bg,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ke.Util.isObject(i)&&!ke.Util._isPlainObject(i)&&!ke.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ke.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ke.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():ya.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;Br.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Br.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Br.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ke.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ke.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=y2.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),ya.Konva[r]||(ke.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ya.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Ub.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Ub.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hY.indexOf("pointer")>=0?"pointer":Y.indexOf("touch")>=0?"touch":"mouse",U=Y=>{const B=j(Y);if(B==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(B==="touch")return L.touch;if(B==="mouse")return L.mouse};function G(Y={}){return(Y.clipFunc||Y.clipWidth||Y.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),Y}const W="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class X extends r.Container{constructor(B){super(G(B)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{G(this.attrs)}),this._checkVisibility()}_validateAdd(B){const H=B.getType()==="Layer",Q=B.getType()==="FastLayer";H||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const B=this.visible()?"":"none";this.content.style.display=B}setContainer(B){if(typeof B===c){if(B.charAt(0)==="."){var H=B.slice(1);B=document.getElementsByClassName(H)[0]}else{var Q;B.charAt(0)!=="#"?Q=B:Q=B.slice(1),B=document.getElementById(Q)}if(!B)throw"Can not find container in document with id "+Q}return this._setAttr("container",B),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),B.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var B=this.children,H=B.length,Q;for(Q=0;Q-1&&e.stages.splice(H,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const B=this._pointerPositions[0]||this._changedPointerPositions[0];return B?{x:B.x,y:B.y}:(t.Util.warn(W),null)}_getPointerById(B){return this._pointerPositions.find(H=>H.id===B)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(B){B=B||{},B.x=B.x||0,B.y=B.y||0,B.width=B.width||this.width(),B.height=B.height||this.height();var H=new o.SceneCanvas({width:B.width,height:B.height,pixelRatio:B.pixelRatio||1}),Q=H.getContext()._context,J=this.children;return(B.x||B.y)&&Q.translate(-1*B.x,-1*B.y),J.forEach(function(ne){if(ne.isVisible()){var te=ne._toKonvaCanvas(B);Q.drawImage(te._canvas,B.x,B.y,te.getWidth()/te.getPixelRatio(),te.getHeight()/te.getPixelRatio())}}),H}getIntersection(B){if(!B)return null;var H=this.children,Q=H.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const te=H[ne].getIntersection(B);if(te)return te}return null}_resizeDOM(){var B=this.width(),H=this.height();this.content&&(this.content.style.width=B+d,this.content.style.height=H+d),this.bufferCanvas.setSize(B,H),this.bufferHitCanvas.setSize(B,H),this.children.forEach(Q=>{Q.setSize({width:B,height:H}),Q.draw()})}add(B,...H){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),B.setSize({width:this.width(),height:this.height()}),B.draw(),i.Konva.isBrowser&&this.content.appendChild(B.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(B){return l.hasPointerCapture(B,this)}setPointerCapture(B){l.setPointerCapture(B,this)}releaseCapture(B){l.releaseCapture(B,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([B,H])=>{this.content.addEventListener(B,Q=>{this[H](Q)},{passive:!1})})}_pointerenter(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerenter,{evt:B,target:this,currentTarget:this})}_pointerover(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerover,{evt:B,target:this,currentTarget:this})}_getTargetShape(B){let H=this[B+"targetShape"];return H&&!H.getStage()&&(H=null),H}_pointerleave(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(H.pointerout,{evt:B}),J._fireAndBubble(H.pointerleave,{evt:B}),this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this._fire(H.pointerout,{evt:B,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=!1;this._changedPointerPositions.forEach(ne=>{var te=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(te&&te.isListening()))return;i.Konva.capturePointerEventsEnabled&&te.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=te,te._fireAndBubble(H.pointerdown,{evt:B,pointerId:ne.id}),J=!0;const ve=B.type.indexOf("touch")>=0;te.preventDefault()&&B.cancelable&&ve&&B.preventDefault()}),J||this._fire(H.pointerdown,{evt:B,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(B){const H=U(B.type),Q=j(B.type);if(!H)return;s.DD.isDragging&&s.DD.node.preventDefault()&&B.cancelable&&B.preventDefault(),this.setPointersPositions(B);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let te=!1;var xe=this._getTargetShape(Q);this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve),Ne=ve.id,se={evt:B,pointerId:Ne};var gt=xe!==ce;if(gt&&xe&&(xe._fireAndBubble(H.pointerout,Object.assign({},se),ce),xe._fireAndBubble(H.pointerleave,Object.assign({},se),ce)),ce){if(ne[ce._id])return;ne[ce._id]=!0}ce&&ce.isListening()?(te=!0,gt&&(ce._fireAndBubble(H.pointerover,Object.assign({},se),xe),ce._fireAndBubble(H.pointerenter,Object.assign({},se),xe),this[Q+"targetShape"]=ce),ce._fireAndBubble(H.pointermove,Object.assign({},se))):xe&&(this._fire(H.pointerover,{evt:B,target:this,currentTarget:this,pointerId:Ne}),this[Q+"targetShape"]=null)}),te||this._fire(H.pointermove,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(B){const H=U(B.type),Q=j(B.type);if(!H)return;this.setPointersPositions(B);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var te={};let xe=!1;this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve);if(ce){if(ce.releaseCapture(ve.id),te[ce._id])return;te[ce._id]=!0}const Ne=ve.id,se={evt:B,pointerId:Ne};let gt=!1;i.Konva["_"+Q+"InDblClickWindow"]?(gt=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),ce&&ce.isListening()?(xe=!0,this[Q+"ClickEndShape"]=ce,ce._fireAndBubble(H.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===ce&&(ce._fireAndBubble(H.pointerclick,Object.assign({},se)),gt&&ne&&ne===ce&&ce._fireAndBubble(H.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(H.pointerclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}),gt&&this._fire(H.pointerdblclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}))}),xe||this._fire(H.pointerup,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,B.cancelable&&Q!=="touch"&&B.preventDefault()}_contextmenu(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble($,{evt:B}):this._fire($,{evt:B,target:this,currentTarget:this})}_wheel(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble(N,{evt:B}):this._fire(N,{evt:B,target:this,currentTarget:this})}_pointercancel(B){this.setPointersPositions(B);const H=l.getCapturedShape(B.pointerId)||this.getIntersection(this.getPointerPosition());H&&H._fireAndBubble(_,l.createEvent(B)),l.releaseCapture(B.pointerId)}_lostpointercapture(B){l.releaseCapture(B.pointerId)}setPointersPositions(B){var H=this._getContentPosition(),Q=null,J=null;B=B||window.event,B.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(B.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})}),Array.prototype.forEach.call(B.changedTouches||B.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})})):(Q=(B.clientX-H.left)/H.scaleX,J=(B.clientY-H.top)/H.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}])}_setPointerPosition(B){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(B)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var B=this.content.getBoundingClientRect();return{top:B.top,left:B.left,scaleX:B.width/this.content.clientWidth||1,scaleY:B.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var B=this.container();if(!B)throw"Stage has no container. A container is required.";B.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),B.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(B){B.batchDraw()}),this}}e.Stage=X,X.prototype.nodeType=u,(0,a._registerNode)(X),n.Factory.addGetterSetter(X,"container")})(uN);var kh={},sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Pe,n=Rt,r=Te,i=wt,o=de,s=Pe,a=Tr;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(P){const E=this.attrs.fillRule;E?P.fill(E):P.fill()}function S(P){P.stroke()}function v(P){P.fill()}function y(P){P.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class T extends i.Node{constructor(E){super(E);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var E=p();const A=E.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const M=$.getMatrix(),C=typeof DOMMatrix>"u"?{a:M[0],b:M[1],c:M[2],d:M[3],e:M[4],f:M[5]}:new DOMMatrix(M);A.setTransform(C)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var E=this.fillLinearGradientColorStops();if(E){for(var A=p(),$=this.fillLinearGradientStartPoint(),M=this.fillLinearGradientEndPoint(),C=A.createLinearGradient($.x,$.y,M.x,M.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const E=this.hitStrokeWidth();return E==="auto"?this.hasStroke():this.strokeEnabled()&&!!E}intersects(E){var A=this.getStage(),$=A.bufferHitCanvas,M;return $.getContext().clear(),this.drawHit($,null,!0),M=$.context.getImageData(Math.round(E.x),Math.round(E.y),1,1).data,M[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(E){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const M=E||this.hasFill(),C=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(M&&C&&O)return!0;const I=this.hasShadow(),N=this.shadowForStrokeEnabled();return!!(M&&C&&I&&N)}setStrokeHitEnabled(E){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),E?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var E=this.size();return{x:this._centroid?-E.width/2:0,y:this._centroid?-E.height/2:0,width:E.width,height:E.height}}getClientRect(E={}){const A=E.skipTransform,$=E.relativeTo,M=this.getSelfRect(),O=!E.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=M.width+O,N=M.height+O,R=!E.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,j=I+Math.abs(D),U=N+Math.abs(L),G=R&&this.shadowBlur()||0,W=j+G*2,X=U+G*2,Y={width:W,height:X,x:-(O/2+G)+Math.min(D,0)+M.x,y:-(O/2+G)+Math.min(L,0)+M.y};return A?Y:this._transformedRect(Y,$)}drawScene(E,A){var $=this.getLayer(),M=E||$.getCanvas(),C=M.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),N=this.hasShadow(),R,D,L,j=M.isCache,U=A===this;if(!this.isVisible()&&!U)return this;if(O){C.save();var G=this.getAbsoluteTransform(A).getMatrix();return C.transform(G[0],G[1],G[2],G[3],G[4],G[5]),this._drawCachedSceneCanvas(C),C.restore(),this}if(!I)return this;if(C.save(),this._useBufferCanvas()&&!j){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var W=this.getAbsoluteTransform(A).getMatrix();L.transform(W[0],W[1],W[2],W[3],W[4],W[5]),I.call(this,L,this),L.restore();var X=D.pixelRatio;N&&C._applyShadow(this),C._applyOpacity(this),C._applyGlobalCompositeOperation(this),C.drawImage(D._canvas,0,0,D.width/X,D.height/X)}else{if(C._applyLineJoin(this),!U){var W=this.getAbsoluteTransform(A).getMatrix();C.transform(W[0],W[1],W[2],W[3],W[4],W[5]),C._applyOpacity(this),C._applyGlobalCompositeOperation(this)}N&&C._applyShadow(this),I.call(this,C,this)}return C.restore(),this}drawHit(E,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var M=this.getLayer(),C=E||M.hitCanvas,O=C&&C.getContext(),I=this.hitFunc()||this.sceneFunc(),N=this._getCanvasCache(),R=N&&N.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var j=this.getAbsoluteTransform(A).getMatrix();O.transform(j[0],j[1],j[2],j[3],j[4],j[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(E=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),M=A.hit,C=M.getContext(),O=M.getWidth(),I=M.getHeight(),N,R,D,L,j,U;C.clear(),C.drawImage($._canvas,0,0,O,I);try{for(N=C.getImageData(0,0,O,I),R=N.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),j=0;jE?(R[j]=L.r,R[j+1]=L.g,R[j+2]=L.b,R[j+3]=255):R[j+3]=0;C.putImageData(N,0,0)}catch(G){n.Util.error("Unable to draw hit graph from cached scene canvas. "+G.message)}return this}hasPointerCapture(E){return a.hasPointerCapture(E,this)}setPointerCapture(E){a.setPointerCapture(E,this)}releaseCapture(E){a.releaseCapture(E,this)}}e.Shape=T,T.prototype._fillFunc=m,T.prototype._strokeFunc=S,T.prototype._fillFuncHit=v,T.prototype._strokeFuncHit=y,T.prototype._centroid=!1,T.prototype.nodeType="Shape",(0,s._registerNode)(T),T.prototype.eventListeners={},T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(T,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(T,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(T,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"lineJoin"),r.Factory.addGetterSetter(T,"lineCap"),r.Factory.addGetterSetter(T,"sceneFunc"),r.Factory.addGetterSetter(T,"hitFunc"),r.Factory.addGetterSetter(T,"dash"),r.Factory.addGetterSetter(T,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(T,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(T,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternImage"),r.Factory.addGetterSetter(T,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(T,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(T,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(T,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(T,"fillEnabled",!0),r.Factory.addGetterSetter(T,"strokeEnabled",!0),r.Factory.addGetterSetter(T,"shadowEnabled",!0),r.Factory.addGetterSetter(T,"dashEnabled",!0),r.Factory.addGetterSetter(T,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(T,"fillPriority","color"),r.Factory.addComponentsGetterSetter(T,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(T,"fillPatternRotation",0),r.Factory.addGetterSetter(T,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(T,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(sn);Object.defineProperty(kh,"__esModule",{value:!0});kh.Layer=void 0;const go=Rt,Gb=gl,Ul=wt,wC=Te,i6=_i,tde=de,nde=sn,rde=Pe;var ide="#",ode="beforeDraw",sde="draw",fN=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],ade=fN.length;class vc extends Gb.Container{constructor(t){super(t),this.canvas=new i6.SceneCanvas,this.hitCanvas=new i6.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ode,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Gb.Container.prototype.drawScene.call(this,i,n),this._fire(sde,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Gb.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return go.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}kh.Layer=vc;vc.prototype.nodeType="Layer";(0,rde._registerNode)(vc);wC.Factory.addGetterSetter(vc,"imageSmoothingEnabled",!0);wC.Factory.addGetterSetter(vc,"clearBeforeDraw",!0);wC.Factory.addGetterSetter(vc,"hitGraphEnabled",!0,(0,tde.getBooleanValidator)());var av={};Object.defineProperty(av,"__esModule",{value:!0});av.FastLayer=void 0;const lde=Rt,ude=kh,cde=Pe;class xC extends ude.Layer{constructor(t){super(t),this.listening(!1),lde.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}av.FastLayer=xC;xC.prototype.nodeType="FastLayer";(0,cde._registerNode)(xC);var bc={};Object.defineProperty(bc,"__esModule",{value:!0});bc.Group=void 0;const dde=Rt,fde=gl,hde=Pe;class CC extends fde.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&dde.Util.throw("You may only add groups and shapes to groups.")}}bc.Group=CC;CC.prototype.nodeType="Group";(0,hde._registerNode)(CC);var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0});Sc.Animation=void 0;const Hb=Pe,o6=Rt;var qb=function(){return Hb.glob.performance&&Hb.glob.performance.now?function(){return Hb.glob.performance.now()}:function(){return new Date().getTime()}}();class Gi{constructor(t,n){this.id=Gi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:qb(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,T,P;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(T=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}lv.Arc=Yo;Yo.prototype._centroid=!0;Yo.prototype.className="Arc";Yo.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,gde._registerNode)(Yo);uv.Factory.addGetterSetter(Yo,"innerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"outerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"angle",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"clockwise",!1,(0,cv.getBooleanValidator)());var dv={},Oh={};Object.defineProperty(Oh,"__esModule",{value:!0});Oh.Line=void 0;const fv=Te,mde=sn,pN=de,yde=Pe;function v2(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function a6(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(gN);Object.defineProperty(_c,"__esModule",{value:!0});_c.Path=void 0;const vde=Te,bde=sn,Sde=Pe,Gl=gN;class Jt extends bde.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Jt.parsePathData(this.data()),this.pathLength=Jt.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=Jt.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Jt.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Jt.getPointOnCubicBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Jt.getPointOnQuadraticBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,Jt.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,T,P,E,A,$,M,C,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),N=p.shift();if(l+=I,u+=N,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+N;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,T,l,u);break;case"t":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,T,l,u);break;case"A":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break;case"a":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Jt;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,Gl.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Gl.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(E){return Math.sqrt(E[0]*E[0]+E[1]*E[1])},b=function(E,A){return(E[0]*A[0]+E[1]*A[1])/(g(E)*g(A))},_=function(E,A){return(E[0]*A[1]=1&&(P=0),s===0&&P>0&&(P=P-2*Math.PI),s===1&&P<0&&(P=P+2*Math.PI),[v,y,a,l,w,P,c,s]}}_c.Path=Jt;Jt.prototype.className="Path";Jt.prototype._attrsAffectingSize=["data"];(0,Sde._registerNode)(Jt);vde.Factory.addGetterSetter(Jt,"data");Object.defineProperty(dv,"__esModule",{value:!0});dv.Arrow=void 0;const hv=Te,_de=Oh,mN=de,wde=Pe,l6=_c;class yl extends _de.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=l6.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=l6.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}dv.Arrow=yl;yl.prototype.className="Arrow";(0,wde._registerNode)(yl);hv.Factory.addGetterSetter(yl,"pointerLength",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerWidth",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerAtBeginning",!1);hv.Factory.addGetterSetter(yl,"pointerAtEnding",!0);var pv={};Object.defineProperty(pv,"__esModule",{value:!0});pv.Circle=void 0;const xde=Te,Cde=sn,Tde=de,Ede=Pe;let wc=class extends Cde.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};pv.Circle=wc;wc.prototype._centroid=!0;wc.prototype.className="Circle";wc.prototype._attrsAffectingSize=["radius"];(0,Ede._registerNode)(wc);xde.Factory.addGetterSetter(wc,"radius",0,(0,Tde.getNumberValidator)());var gv={};Object.defineProperty(gv,"__esModule",{value:!0});gv.Ellipse=void 0;const TC=Te,Pde=sn,yN=de,Ade=Pe;class oa extends Pde.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}gv.Ellipse=oa;oa.prototype.className="Ellipse";oa.prototype._centroid=!0;oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,Ade._registerNode)(oa);TC.Factory.addComponentsGetterSetter(oa,"radius",["x","y"]);TC.Factory.addGetterSetter(oa,"radiusX",0,(0,yN.getNumberValidator)());TC.Factory.addGetterSetter(oa,"radiusY",0,(0,yN.getNumberValidator)());var mv={};Object.defineProperty(mv,"__esModule",{value:!0});mv.Image=void 0;const Wb=Rt,vl=Te,kde=sn,Ode=Pe,Rh=de;let ao=class vN extends kde.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Wb.Util.createImageElement();i.onload=function(){var o=new vN({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};mv.Image=ao;ao.prototype.className="Image";(0,Ode._registerNode)(ao);vl.Factory.addGetterSetter(ao,"cornerRadius",0,(0,Rh.getNumberOrArrayOfNumbersValidator)(4));vl.Factory.addGetterSetter(ao,"image");vl.Factory.addComponentsGetterSetter(ao,"crop",["x","y","width","height"]);vl.Factory.addGetterSetter(ao,"cropX",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropY",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropWidth",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropHeight",0,(0,Rh.getNumberValidator)());var oc={};Object.defineProperty(oc,"__esModule",{value:!0});oc.Tag=oc.Label=void 0;const yv=Te,Rde=sn,Ide=bc,EC=de,bN=Pe;var SN=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Mde="Change.konva",Nde="none",b2="up",S2="right",_2="down",w2="left",Dde=SN.length;class PC extends Ide.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bv.RegularPolygon=Sl;Sl.prototype.className="RegularPolygon";Sl.prototype._centroid=!0;Sl.prototype._attrsAffectingSize=["radius"];(0,zde._registerNode)(Sl);_N.Factory.addGetterSetter(Sl,"radius",0,(0,wN.getNumberValidator)());_N.Factory.addGetterSetter(Sl,"sides",0,(0,wN.getNumberValidator)());var Sv={};Object.defineProperty(Sv,"__esModule",{value:!0});Sv.Ring=void 0;const xN=Te,Ude=sn,CN=de,Gde=Pe;var u6=Math.PI*2;class _l extends Ude.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,u6,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),u6,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}Sv.Ring=_l;_l.prototype.className="Ring";_l.prototype._centroid=!0;_l.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,Gde._registerNode)(_l);xN.Factory.addGetterSetter(_l,"innerRadius",0,(0,CN.getNumberValidator)());xN.Factory.addGetterSetter(_l,"outerRadius",0,(0,CN.getNumberValidator)());var _v={};Object.defineProperty(_v,"__esModule",{value:!0});_v.Sprite=void 0;const wl=Te,Hde=sn,qde=Sc,TN=de,Wde=Pe;class lo extends Hde.Shape{constructor(t){super(t),this._updated=!0,this.anim=new qde.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Fp;function Xb(){return Fp||(Fp=x2.Util.createCanvasElement().getContext(efe),Fp)}function dfe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function ffe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function hfe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Ut extends Yde.Shape{constructor(t){super(hfe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=x2.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(tfe,n),this}getWidth(){var t=this.attrs.width===Hl||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Hl||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return x2.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Xb(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+$p+this.fontVariant()+$p+(this.fontSize()+ofe)+cfe(this.fontFamily())}_addTextLine(t){this.align()===Jc&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Xb().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==Hl&&o!==void 0,l=s!==Hl&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==f6,m=h!==lfe&&p,S=this.ellipsis();this.textArr=[],Xb().font=this._getContextFont();for(var v=S?this._getTextWidth(Kb):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,T="",P=0;w>>1,A=b.slice(0,E+1),$=this._getTextWidth(A)+v;$<=c?(w=E+1,T=A,P=$):x=E}if(T){if(m){var M,C=b[T.length],O=C===$p||C===c6;O&&P<=c?M=T.length:M=Math.max(T.lastIndexOf($p),T.lastIndexOf(c6))+1,M>0&&(w=M,T=T.slice(0,w),P=this._getTextWidth(T))}T=T.trimRight(),this._addTextLine(T),r=Math.max(r,P),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Hl&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==f6;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Hl&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Kb)n?null:ed.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=ed.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${NN}`).join(" "),g6="nodesRect",_fe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],wfe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const xfe="ontouchstart"in si.Konva._global;function Cfe(e,t){if(e==="rotater")return"crosshair";t+=Qe.Util.degToRad(wfe[e]||0);var n=(Qe.Util.radToDeg(t)%360+360)%360;return Qe.Util._inRange(n,315+22.5,360)||Qe.Util._inRange(n,0,22.5)?"ns-resize":Qe.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":Qe.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":Qe.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":Qe.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":Qe.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":Qe.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":Qe.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(Qe.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var Qm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],m6=1e8;function Tfe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function DN(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Efe(e,t){const n=Tfe(e);return DN(e,t,n)}function Pfe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Qe.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(_fe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(g6),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(g6,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(si.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return DN(c,-si.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-m6,y:-m6,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new Qe.Transform;r.rotate(-si.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:si.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Qm.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new vfe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:xfe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=si.Konva.getAngle(this.rotation()),o=Cfe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new yfe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*Qe.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let M=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(M-=Math.PI);var f=si.Konva.getAngle(this.rotation());const C=f+M,O=si.Konva.getAngle(this.rotationSnapTolerance()),N=Pfe(this.rotationSnaps(),C,O)-d.rotation,R=Efe(d,N);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Qe.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Qe.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new Qe.Transform;if(s.rotate(si.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:Qe.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new Qe.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new Qe.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new Qe.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(Qe.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Qe.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Qe.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),p6.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return h6.Node.prototype.toObject.call(this)}clone(t){var n=h6.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Cv.Transformer=ze;function Afe(e){return e instanceof Array||Qe.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Qm.indexOf(t)===-1&&Qe.Util.warn("Unknown anchor name: "+t+". Available names are: "+Qm.join(", "))}),e||[]}ze.prototype.className="Transformer";(0,bfe._registerNode)(ze);Ye.Factory.addGetterSetter(ze,"enabledAnchors",Qm,Afe);Ye.Factory.addGetterSetter(ze,"flipEnabled",!0,(0,la.getBooleanValidator)());Ye.Factory.addGetterSetter(ze,"resizeEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorSize",10,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotateEnabled",!0);Ye.Factory.addGetterSetter(ze,"rotationSnaps",[]);Ye.Factory.addGetterSetter(ze,"rotateAnchorOffset",50,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotationSnapTolerance",5,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"anchorStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"anchorFill","white");Ye.Factory.addGetterSetter(ze,"anchorCornerRadius",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"borderStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderDash");Ye.Factory.addGetterSetter(ze,"keepRatio",!0);Ye.Factory.addGetterSetter(ze,"shiftBehavior","default");Ye.Factory.addGetterSetter(ze,"centeredScaling",!1);Ye.Factory.addGetterSetter(ze,"ignoreStroke",!1);Ye.Factory.addGetterSetter(ze,"padding",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"node");Ye.Factory.addGetterSetter(ze,"nodes");Ye.Factory.addGetterSetter(ze,"boundBoxFunc");Ye.Factory.addGetterSetter(ze,"anchorDragBoundFunc");Ye.Factory.addGetterSetter(ze,"anchorStyleFunc");Ye.Factory.addGetterSetter(ze,"shouldOverdrawWholeArea",!1);Ye.Factory.addGetterSetter(ze,"useSingleNodeRotation",!0);Ye.Factory.backCompat(ze,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Tv={};Object.defineProperty(Tv,"__esModule",{value:!0});Tv.Wedge=void 0;const Ev=Te,kfe=sn,Ofe=Pe,LN=de,Rfe=Pe;class Qo extends kfe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Ofe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Tv.Wedge=Qo;Qo.prototype.className="Wedge";Qo.prototype._centroid=!0;Qo.prototype._attrsAffectingSize=["radius"];(0,Rfe._registerNode)(Qo);Ev.Factory.addGetterSetter(Qo,"radius",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"angle",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"clockwise",!1);Ev.Factory.backCompat(Qo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var Pv={};Object.defineProperty(Pv,"__esModule",{value:!0});Pv.Blur=void 0;const y6=Te,Ife=wt,Mfe=de;function v6(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Nfe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Dfe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Lfe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,T,P,E,A,$,M=t+t+1,C=r-1,O=i-1,I=t+1,N=I*(I+1)/2,R=new v6,D=null,L=R,j=null,U=null,G=Nfe[t],W=Dfe[t];for(a=1;a>W,A!==0?(A=255/A,n[c]=(f*G>>W)*A,n[c+1]=(h*G>>W)*A,n[c+2]=(p*G>>W)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=d+((l=o+t+1)>W,A>0?(A=255/A,n[l]=(f*G>>W)*A,n[l+1]=(h*G>>W)*A,n[l+2]=(p*G>>W)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=o+((l=s+I)0&&Lfe(t,n)};Pv.Blur=$fe;y6.Factory.addGetterSetter(Ife.Node,"blurRadius",0,(0,Mfe.getNumberValidator)(),y6.Factory.afterSetFilter);var Av={};Object.defineProperty(Av,"__esModule",{value:!0});Av.Brighten=void 0;const b6=Te,Ffe=wt,Bfe=de,jfe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};kv.Contrast=Ufe;S6.Factory.addGetterSetter(Vfe.Node,"contrast",0,(0,zfe.getNumberValidator)(),S6.Factory.afterSetFilter);var Ov={};Object.defineProperty(Ov,"__esModule",{value:!0});Ov.Emboss=void 0;const Ws=Te,Rv=wt,Gfe=Rt,$N=de,Hfe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Gfe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,T=b>0?b:-b,P=_>0?_:-_;if(T>x&&(w=b),P>x&&(w=_),w*=t,i){var E=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=E>255?255:E<0?0:E,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var M=n-w;M<0?M=0:M>255&&(M=255),a[S]=a[S+1]=a[S+2]=M}}while(--m)}while(--d)};Ov.Emboss=Hfe;Ws.Factory.addGetterSetter(Rv.Node,"embossStrength",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossWhiteLevel",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossDirection","top-left",null,Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossBlend",!1,null,Ws.Factory.afterSetFilter);var Iv={};Object.defineProperty(Iv,"__esModule",{value:!0});Iv.Enhance=void 0;const _6=Te,qfe=wt,Wfe=de;function Zb(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const Kfe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,T;for(_=0;_g?y:g;var b=s,_=o,w,x,T=n.polarRotation||0,P,E;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function uhe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};jv.Pixelate=yhe;T6.Factory.addGetterSetter(ghe.Node,"pixelSize",8,(0,mhe.getNumberValidator)(),T6.Factory.afterSetFilter);var Vv={};Object.defineProperty(Vv,"__esModule",{value:!0});Vv.Posterize=void 0;const E6=Te,vhe=wt,bhe=de,She=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"blue",0,_he.RGBComponent,Jm.Factory.afterSetFilter);var Uv={};Object.defineProperty(Uv,"__esModule",{value:!0});Uv.RGBA=void 0;const Bf=Te,Gv=wt,xhe=de,Che=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"blue",0,xhe.RGBComponent,Bf.Factory.afterSetFilter);Bf.Factory.addGetterSetter(Gv.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var Hv={};Object.defineProperty(Hv,"__esModule",{value:!0});Hv.Sepia=void 0;const The=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};qv.Solarize=Ehe;var Wv={};Object.defineProperty(Wv,"__esModule",{value:!0});Wv.Threshold=void 0;const P6=Te,Phe=wt,Ahe=de,khe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new nd.Stage({container:o,width:r,height:i}),a=new nd.Layer,l=new nd.Layer;return a.add(new nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},gpe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),O6=async(e,t)=>{const n=e.toDataURL(t);return await gpe(n,t.width,t.height)},mpe=async(e,t,n,r,i)=>{const o=fe("canvas"),s=tv(),a=Ple();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await Km(u,d),h=await O6(u,d),p=await ppe(r?e.objects.filter(MR):[],l,i),m=await Km(p,l),S=await O6(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},ype=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=ype(e.data),i=vpe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},Spe=e=>oR(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Kv=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Spe(i),s=t.nodes[lt];if(r&&o.length&&o.length){const a={id:Rp,type:"collect",is_intermediate:!0};t.nodes[Rp]=a,t.edges.push({source:{node_id:Rp,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=_0(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Rp,field:"item"}})})}},xc=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[lt];if(a){rY(t.nodes[Fe],"prompt");const c={id:zb,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[zb]=c,t.nodes[lr]=d,t.edges.push({source:{node_id:zb,field:"prompt_collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Fe,field:"prompt"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"positive_prompt"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:lt,field:"seed"}})}else t.nodes[Le].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Co,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[lr]=d,t.nodes[Co]=c,t.edges.push({source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}}),t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"seed"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else c.start=i}},Mh=(e,t,n)=>{const{loras:r}=e.lora,i=hR(r),o=t.nodes[lt];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===pt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===rt&&["clip"].includes(l.source.field))));let s="",a=0;Qa(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${uce}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:pt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:rt,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Fe,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:qe,field:"clip"}})),s=f,a+=1})},jN=Jn(e=>e.ui,e=>AR[e.activeTab],{memoizeOptions:{equalityCheck:S0}}),n4e=Jn(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:S0}}),r4e=Jn(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:S0}}),xl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[lt];if(!o)return;o.is_intermediate=!0;const a={id:fu,type:"img_nsfw",is_intermediate:i};t.nodes[fu]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:fu,field:"image"}}),s&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:fu,field:"metadata"}})},Nh=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[lt];r||(t.nodes[Zc]={type:"vae_loader",id:Zc,is_intermediate:!0,vae_model:n}),(t.id===bC||t.id===Xm)&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:nt,field:"vae"}}),t.id===Xm&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.id===iN&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:Mi,field:"vae"}}),n&&i&&(i.vae=n)},Cl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[fu],a=t.nodes[lt];if(!o)return;const l={id:Qc,type:"img_watermark",is_intermediate:i};t.nodes[Qc]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:fu,field:"image"},destination:{node_id:Qc,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Qc,field:"image"}}),a&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:Qc,field:"metadata"}})},_pe=(e,t)=>{const n=fe("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f}=e.generation,{width:h,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:m}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const S=f?d:Wo.shouldUseCpuNoise,v={id:Xm,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:r},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:i},[Le]:{type:"noise",id:Le,is_intermediate:!0,use_cpu:S},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:o},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:c},[Kt]:{type:"l2l",id:Kt,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[bt]:{type:"i2l",id:bt,is_intermediate:!0},[nt]:{type:"l2i",id:nt,is_intermediate:!m}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(t.width!==h||t.height!==p){const y={id:Qn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:h,height:p};v.nodes[Qn]=y,v.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),v.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else v.nodes[bt].image={image_name:t.image_name},v.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return v.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:p,width:h,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:S?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:c,strength:u,init_image:t.image_name},Mh(e,v,Kt),Nh(e,v),xc(e,v),Kv(e,v,Kt),e.system.shouldUseNSFWChecker&&xl(e,v),e.system.shouldUseWatermarker&&Cl(e,v),v},wpe=(e,t,n)=>{const r=fe("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:c,shouldFitToWidthHeight:d,iterations:f,seed:h,shouldRandomizeSeed:p,seamSize:m,seamBlur:S,seamSteps:v,seamStrength:y,tileSize:g,infillMethod:b,clipSkip:_}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:w,height:x}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:T,boundingBoxScaleMethod:P,shouldAutoSave:E}=e.canvas,A={id:iN,nodes:{[Mi]:{is_intermediate:!E,type:"inpaint",id:Mi,steps:u,width:w,height:x,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:c,fit:d,mask:{image_name:n.image_name},seam_size:m,seam_blur:S,seam_strength:y,seam_steps:v,tile_size:b==="tile"?g:void 0,infill_method:b,inpaint_width:P!=="none"?T.width:void 0,inpaint_height:P!=="none"?T.height:void 0},[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:i},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:o},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:s},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:_},[Co]:{type:"range_of_size",id:Co,is_intermediate:!0,size:f,step:1},[lr]:{type:"iterate",id:lr,is_intermediate:!0}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Mi,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Mi,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Mi,field:"positive_conditioning"}},{source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Mi,field:"seed"}}]};if(Mh(e,A,Mi),Nh(e,A),p){const $={id:Fi,type:"rand_int"};A.nodes[Fi]=$,A.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else A.nodes[Co].start=h;return e.system.shouldUseNSFWChecker&&xl(e,A,Mi),e.system.shouldUseWatermarker&&Cl(e,A,Mi),A},xpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:c}=e.generation,{width:d,height:f}=e.canvas.boundingBoxDimensions,{shouldAutoSave:h}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const p=c?u:Wo.shouldUseCpuNoise,m={id:bC,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:n},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:r},[Le]:{type:"noise",id:Le,is_intermediate:!0,width:d,height:f,use_cpu:p},[dn]:{type:"t2l",id:dn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:i},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:l},[nt]:{type:"l2i",id:nt,is_intermediate:!h}},edges:[{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Cpe=(e,t,n,r)=>{let i;if(t==="txt2img")i=xpe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=_pe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=wpe(e,n,r)}return i},Tpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:c}=o.canvas,d=await mpe(s,a,l,u,c);if(!d){i.error("Unable to create canvas data");return}const{baseBlob:f,baseImageData:h,maskBlob:p,maskImageData:m}=d,S=bpe(h,m);if(o.system.enableImageDebugging){const x=await XE(f),T=await XE(p);gce([{base64:T,caption:"mask b64"},{base64:x,caption:"image b64"}])}i.debug(`Generation mode: ${S}`);let v,y;["img2img","inpaint","outpaint"].includes(S)&&(v=await n(he.endpoints.uploadImage.initiate({file:new File([f],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(S)&&(y=await n(he.endpoints.uploadImage.initiate({file:new File([p],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const g=Cpe(o,S,v,y);i.debug({graph:ra(g)},"Canvas graph built"),n(KM(g));const{requestId:b}=n(On({graph:g})),[_]=await r(x=>On.fulfilled.match(x)&&x.meta.requestId===b),w=_.payload.id;["img2img","inpaint"].includes(S)&&v&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:v,session_id:w})),["inpaint"].includes(S)&&y&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:y,session_id:w})),o.canvas.layerState.stagingArea.boundingBox||n(jQ({sessionId:w,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(VQ(w)),n(pl())}})},Epe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:c,width:d,height:f,clipSkip:h,shouldUseCpuNoise:p,shouldUseNoiseSettings:m,vaePrecision:S}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=m?p:Wo.shouldUseCpuNoise,y={id:Xm,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:h},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,use_cpu:v},[nt]:{type:"l2i",id:nt,fp32:S==="fp32"},[Kt]:{type:"l2l",id:Kt,cfg_scale:o,scheduler:s,steps:a,strength:u},[bt]:{type:"i2l",id:bt,fp32:S==="fp32"}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(c&&(l.width!==d||l.height!==f)){const g={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};y.nodes[Qn]=g,y.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),y.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else y.nodes[bt].image={image_name:l.imageName},y.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return y.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:v?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:h,strength:u,init_image:l.imageName},Mh(e,y,Kt),Nh(e,y),xc(e,y),Kv(e,y,Kt),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},VN=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:c,refinerCFGScale:d,refinerStart:f}=e.sdxl;if(!o)return;const h=t.nodes[lt];h&&(h.refiner_model=o,h.refiner_aesthetic_store=s,h.refiner_cfg_scale=d,h.refiner_scheduler=c,h.refiner_start=f,h.refiner_steps=u),t.edges=t.edges.filter(p=>!(p.source.node_id===n&&["latents"].includes(p.source.field))),t.edges=t.edges.filter(p=>!(p.source.node_id===en&&["vae"].includes(p.source.field))),n===Ni&&t.edges.push({source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.nodes[zl]={type:"sdxl_refiner_model_loader",id:zl,model:o},t.nodes[Ip]={type:"sdxl_refiner_compel_prompt",id:Ip,style:`${r} ${a}`,aesthetic_score:s},t.nodes[Mp]={type:"sdxl_refiner_compel_prompt",id:Mp,style:`${i} ${l}`,aesthetic_score:s},t.nodes[ma]={type:"l2l_sdxl",id:ma,cfg_scale:d,steps:u/(1-Math.min(f,.99)),scheduler:c,denoising_start:f,denoising_end:1},t.edges.push({source:{node_id:zl,field:"unet"},destination:{node_id:ma,field:"unet"}},{source:{node_id:zl,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Ip,field:"clip2"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Mp,field:"clip2"}},{source:{node_id:Ip,field:"conditioning"},destination:{node_id:ma,field:"positive_conditioning"}},{source:{node_id:Mp,field:"conditioning"},destination:{node_id:ma,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:ma,field:"latents"}},{source:{node_id:ma,field:"latents"},destination:{node_id:nt,field:"latents"}})},Ppe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p,vaePrecision:m}=e.generation,{positiveStylePrompt:S,negativeStylePrompt:v,shouldUseSDXLRefiner:y,refinerStart:g,sdxlImg2ImgDenoisingStrength:b}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=p?h:Wo.shouldUseCpuNoise,w={id:dce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:S},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:v},[Le]:{type:"noise",id:Le,use_cpu:_},[nt]:{type:"l2i",id:nt,fp32:m==="fp32"},[Ni]:{type:"l2l_sdxl",id:Ni,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(g,1-b):1-b,denoising_end:y?g:1},[bt]:{type:"i2l",id:bt,fp32:m==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:Ni,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Ni,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Ni,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Ni,field:"noise"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Ni,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Ni,field:"negative_conditioning"}}]};if(u&&(l.width!==c||l.height!==d)){const x={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:c,height:d};w.nodes[Qn]=x,w.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),w.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),w.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else w.nodes[bt].image={image_name:l.imageName},w.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),w.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return w.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:d,width:c,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:b,init_image:l.imageName,positive_style_prompt:S,negative_style_prompt:v},w.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),y&&VN(e,w,Ni),xc(e,w),e.system.shouldUseNSFWChecker&&xl(e,w),e.system.shouldUseWatermarker&&Cl(e,w),w},Ape=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=Ppe(o):a=Epe(o),n(WM(a)),i.debug({graph:ra(a)},"Image to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})};let jp;const kpe=new Uint8Array(16);function Ope(){if(!jp&&(jp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!jp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return jp(kpe)}const Cn=[];for(let e=0;e<256;++e)Cn.push((e+256).toString(16).slice(1));function Rpe(e,t=0){return(Cn[e[t+0]]+Cn[e[t+1]]+Cn[e[t+2]]+Cn[e[t+3]]+"-"+Cn[e[t+4]]+Cn[e[t+5]]+"-"+Cn[e[t+6]]+Cn[e[t+7]]+"-"+Cn[e[t+8]]+Cn[e[t+9]]+"-"+Cn[e[t+10]]+Cn[e[t+11]]+Cn[e[t+12]]+Cn[e[t+13]]+Cn[e[t+14]]+Cn[e[t+15]]).toLowerCase()}const Ipe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),R6={randomUUID:Ipe};function Mpe(e,t,n){if(R6.randomUUID&&!t&&!e)return R6.randomUUID();e=e||{};const r=e.random||(e.rng||Ope)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Rpe(r)}const Npe=e=>{if(e.type==="color"&&e.value){const t=Ln(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},Dpe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:c}=l,{type:d,inputs:f}=c,h=Lx(f,(m,S,v)=>{const y=Npe(S);return m[v]=y,m},{}),p={type:d,id:u,...h};return Object.assign(a,{[u]:p}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:c,sourceHandle:d,targetHandle:f}=l;return a.push({source:{node_id:u,field:d},destination:{node_id:c,field:f}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=_0(l,u)}),{id:Mpe(),nodes:i,edges:o}},Lpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=Dpe(o);n(XM(s)),i.debug({graph:ra(s)},"Nodes graph built"),n(On({graph:s})),await r(On.fulfilled.match),n(pl())}})},$pe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,{positiveStylePrompt:p,negativeStylePrompt:m,shouldUseSDXLRefiner:S,refinerStart:v}=e.sdxl,y=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const g={id:cce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:p},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:m},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:y},[is]:{type:"t2l_sdxl",id:is,cfg_scale:o,scheduler:s,steps:a,denoising_end:S?v:1},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:is,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:is,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:is,field:"negative_conditioning"}},{source:{node_id:Le,field:"noise"},destination:{node_id:is,field:"noise"}},{source:{node_id:is,field:"latents"},destination:{node_id:nt,field:"latents"}}]};return g.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c,positive_style_prompt:p,negative_style_prompt:m},g.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),S&&VN(e,g,is),xc(e,g),e.system.shouldUseNSFWChecker&&xl(e,g),e.system.shouldUseWatermarker&&Cl(e,g),g},Fpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,p=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m={id:bC,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:c},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:p},[dn]:{type:"t2l",id:dn,cfg_scale:o,scheduler:s,steps:a},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Bpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=$pe(o):a=Fpe(o),n(qM(a)),i.debug({graph:ra(a)},"Text to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})},zN=Wk(),le=zN.startListening;Yle();Qle();eue();zle();Ule();Gle();Hle();Sle();Xle();Tpe();Lpe();Bpe();Ape();que();Dle();Ile();Ole();Nle();sce();ple();Xue();Yue();Zue();Jue();tce();Wue();Kue();ice();oce();nce();rce();ece();jue();Vue();zue();Uue();Gue();Hue();$ue();Fue();Bue();Fle();$le();Ble();jle();Wle();Kle();_le();Rue();qle();tue();vle();rue();mle();gle();pce();lce();const jpe={canvas:zQ,gallery:lJ,generation:SQ,nodes:qse,postprocessing:Wse,system:Sae,config:oY,ui:wQ,hotkeys:Cae,controlNet:rJ,boards:aJ,dynamicPrompts:oJ,imageDeletion:fJ,lora:pJ,modelmanager:xae,sdxl:Yse,[Hs.reducerPath]:Hs.reducer},Vpe=pc(jpe),zpe=Xae(Vpe),Upe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],Gpe=Pk({reducer:zpe,enhancers:e=>e.concat(Yae(window.localStorage,Upe,{persistDebounce:300,serialize:ale,unserialize:ule,prefix:Qae})).concat(Xk()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hs.middleware).concat(Aae).prepend(zN.middleware),devTools:{actionSanitizer:dle,stateSanitizer:hle,trace:!0,predicate:(e,t)=>!fle.includes(t.type)}}),i4e=e=>e;function Hpe(e){if(e.sheet)return e.sheet;for(var t=0;t0?Pn(Cc,--Sr):0,lc--,Xt===10&&(lc=1,Yv--),Xt}function Ar(){return Xt=Sr2||Vf(Xt)>3?"":" "}function ige(e,t){for(;--t&&Ar()&&!(Xt<48||Xt>102||Xt>57&&Xt<65||Xt>70&&Xt<97););return Dh(e,_g()+(t<6&&Zi()==32&&Ar()==32))}function T2(e){for(;Ar();)switch(Xt){case e:return Sr;case 34:case 39:e!==34&&e!==39&&T2(Xt);break;case 40:e===41&&T2(e);break;case 92:Ar();break}return Sr}function oge(e,t){for(;Ar()&&e+Xt!==47+10;)if(e+Xt===42+42&&Zi()===47)break;return"/*"+Dh(t,Sr-1)+"*"+Xv(e===47?e:Ar())}function sge(e){for(;!Vf(Zi());)Ar();return Dh(e,Sr)}function age(e){return KN(xg("",null,null,null,[""],e=WN(e),0,[0],e))}function xg(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=Ar()){case 40:if(p!=108&&Pn(x,d-1)==58){C2(x+=He(wg(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=wg(y);break;case 9:case 10:case 13:case 32:x+=rge(p);break;case 92:x+=ige(_g()-1,7);continue;case 47:switch(Zi()){case 42:case 47:Vp(lge(oge(Ar(),_g()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=Bi(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=He(x,/\f/g,"")),h>0&&Bi(x)-d&&Vp(h>32?M6(x+";",r,n,d-1):M6(He(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(Vp(w=I6(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)xg(x,t,w,w,b,o,d,a,_);else switch(f===99&&Pn(x,3)===110?100:f){case 100:case 108:case 109:case 115:xg(e,w,w,r&&Vp(I6(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:xg(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+Bi(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&nge()==125)continue}switch(x+=Xv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(Bi(x)-1)*v,v=1;break;case 64:Zi()===45&&(x+=wg(Ar())),f=Zi(),c=d=Bi(g=x+=sge(_g())),y++;break;case 45:p===45&&Bi(x)==2&&(m=0)}}return o}function I6(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=$C(f),p=0,m=0,S=0;p0?f[v]+" "+y:He(y,/&\f/g,f[v])))&&(l[S++]=g);return Qv(e,t,n,i===0?DC:a,l,u,c)}function lge(e,t,n){return Qv(e,t,n,UN,Xv(tge()),jf(e,2,-2),0)}function M6(e,t,n,r){return Qv(e,t,n,LC,jf(e,0,r),jf(e,r+1,-1),r)}function Lu(e,t){for(var n="",r=$C(e),i=0;i6)switch(Pn(e,t+1)){case 109:if(Pn(e,t+4)!==45)break;case 102:return He(e,/(.+:)(.+)-([^]+)/,"$1"+Ge+"$2-$3$1"+ey+(Pn(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~C2(e,"stretch")?YN(He(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Pn(e,t+1)!==115)break;case 6444:switch(Pn(e,Bi(e)-3-(~C2(e,"!important")&&10))){case 107:return He(e,":",":"+Ge)+e;case 101:return He(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ge+(Pn(e,14)===45?"inline-":"")+"box$3$1"+Ge+"$2$3$1"+Dn+"$2box$3")+e}break;case 5936:switch(Pn(e,t+11)){case 114:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Ge+e+Dn+e+e}return e}var yge=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case LC:t.return=YN(t.value,t.length);break;case GN:return Lu([rd(t,{value:He(t.value,"@","@"+Ge)})],i);case DC:if(t.length)return ege(t.props,function(o){switch(Jpe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Lu([rd(t,{props:[He(o,/:(read-\w+)/,":"+ey+"$1")]})],i);case"::placeholder":return Lu([rd(t,{props:[He(o,/:(plac\w+)/,":"+Ge+"input-$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,":"+ey+"$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,Dn+"input-$1")]})],i)}return""})}},vge=[yge],bge=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||vge,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var xge={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Cge=/[A-Z]|^ms/g,Tge=/_EMO_([^_]+?)_([^]*?)_EMO_/g,JN=function(t){return t.charCodeAt(1)===45},L6=function(t){return t!=null&&typeof t!="boolean"},Jb=XN(function(e){return JN(e)?e:e.replace(Cge,"-$&").toLowerCase()}),$6=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Tge,function(r,i,o){return ji={name:i,styles:o,next:ji},i})}return xge[t]!==1&&!JN(t)&&typeof n=="number"&&n!==0?n+"px":n};function zf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return ji={name:n.name,styles:n.styles,next:ji},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ji={name:r.name,styles:r.styles,next:ji},r=r.next;var i=n.styles+";";return i}return Ege(e,t,n)}case"function":{if(e!==void 0){var o=ji,s=n(e);return ji=o,zf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function Ege(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var iD=k.createContext({});iD.displayName="ColorModeContext";function BC(){const e=k.useContext(iD);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function a4e(e,t){const{colorMode:n}=BC();return n==="dark"?t:e}function Nge(){const e=BC(),t=rD();return{...e,theme:t}}function Dge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function Lge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function l4e(e,t,n){const r=rD();return $ge(e,t,n)(r)}function $ge(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return Dge(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return Lge(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var oD=(...e)=>e.filter(Boolean).join(" ");function Fge(){return!1}function Io(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var u4e=e=>{const{condition:t,message:n}=e;t&&Fge()&&console.warn(n)};function Na(e,...t){return Bge(e)?e(...t):e}var Bge=e=>typeof e=="function",c4e=e=>e?"":void 0,d4e=e=>e?!0:void 0;function f4e(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function h4e(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var ty={exports:{}};ty.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",T="[object WeakMap]",P="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",M="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",N="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,j=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,G={};G[A]=G[$]=G[M]=G[C]=G[O]=G[I]=G[N]=G[R]=G[D]=!0,G[a]=G[l]=G[P]=G[c]=G[E]=G[d]=G[f]=G[h]=G[m]=G[S]=G[y]=G[b]=G[_]=G[w]=G[T]=!1;var W=typeof Ee=="object"&&Ee&&Ee.Object===Object&&Ee,X=typeof self=="object"&&self&&self.Object===Object&&self,Y=W||X||Function("return this")(),B=t&&!t.nodeType&&t,H=B&&!0&&e&&!e.nodeType&&e,Q=H&&H.exports===B,J=Q&&W.process,ne=function(){try{var F=H&&H.require&&H.require("util").types;return F||J&&J.binding&&J.binding("util")}catch{}}(),te=ne&&ne.isTypedArray;function xe(F,V,q){switch(q.length){case 0:return F.call(V);case 1:return F.call(V,q[0]);case 2:return F.call(V,q[0],q[1]);case 3:return F.call(V,q[0],q[1],q[2])}return F.apply(V,q)}function ve(F,V){for(var q=-1,ie=Array(F);++q-1}function fo(F,V){var q=this.__data__,ie=kl(q,F);return ie<0?(++this.size,q.push([F,V])):q[ie][1]=V,this}wn.prototype.clear=co,wn.prototype.delete=Zo,wn.prototype.get=Jo,wn.prototype.has=Al,wn.prototype.set=fo;function qn(F){var V=-1,q=F==null?0:F.length;for(this.clear();++V1?q[De-1]:void 0,mt=De>2?q[2]:void 0;for(tt=F.length>3&&typeof tt=="function"?(De--,tt):void 0,mt&&V$(q[0],q[1],mt)&&(tt=De<3?void 0:tt,De=1),V=Object(V);++ie-1&&F%1==0&&F0){if(++V>=i)return arguments[0]}else V=0;return F.apply(void 0,arguments)}}function X$(F){if(F!=null){try{return Je.call(F)}catch{}try{return F+""}catch{}}return""}function Kh(F,V){return F===V||F!==F&&V!==V}var P1=qh(function(){return arguments}())?qh:function(F){return Oc(F)&&Gt.call(F,"callee")&&!ri.call(F,"callee")},A1=Array.isArray;function k1(F){return F!=null&&k3(F.length)&&!O1(F)}function Y$(F){return Oc(F)&&k1(F)}var A3=ca||tF;function O1(F){if(!ha(F))return!1;var V=Rl(F);return V==h||V==p||V==u||V==g}function k3(F){return typeof F=="number"&&F>-1&&F%1==0&&F<=s}function ha(F){var V=typeof F;return F!=null&&(V=="object"||V=="function")}function Oc(F){return F!=null&&typeof F=="object"}function Q$(F){if(!Oc(F)||Rl(F)!=y)return!1;var V=wr(F);if(V===null)return!0;var q=Gt.call(V,"constructor")&&V.constructor;return typeof q=="function"&&q instanceof q&&Je.call(q)==Lr}var O3=te?ce(te):kc;function Z$(F){return L$(F,R3(F))}function R3(F){return k1(F)?_1(F,!0):A$(F)}var J$=$$(function(F,V,q,ie){T3(F,V,q,ie)});function eF(F){return function(){return F}}function I3(F){return F}function tF(){return!1}e.exports=J$})(ty,ty.exports);var jge=ty.exports;const Wi=al(jge);var Vge=e=>/!(important)?$/.test(e),j6=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,zge=(e,t)=>n=>{const r=String(t),i=Vge(r),o=j6(r),s=e?`${e}.${o}`:o;let a=Io(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=j6(a),i?`${a} !important`:a};function jC(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=zge(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var zp=(...e)=>t=>e.reduce((n,r)=>r(n),t);function jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=jC({scale:e,transform:t}),r}}var Uge=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function Gge(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Uge(t),transform:n?jC({scale:n,compose:r}):r}}var sD=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Hge(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...sD].join(" ")}function qge(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...sD].join(" ")}var Wge={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Kge={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function Xge(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Yge={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},E2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Qge=new Set(Object.values(E2)),P2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Zge=e=>e.trim();function Jge(e,t){if(e==null||P2.has(e))return e;if(!(A2(e)||P2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(Zge).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in E2?E2[l]:l;u.unshift(c);const d=u.map(f=>{if(Qge.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=A2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var A2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),eme=(e,t)=>Jge(e,t??{});function tme(e){return/^var\(--.+\)$/.test(e)}var nme=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Ii=e=>t=>`${e}(${t})`,je={filter(e){return e!=="auto"?e:Wge},backdropFilter(e){return e!=="auto"?e:Kge},ring(e){return Xge(je.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Hge():e==="auto-gpu"?qge():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=nme(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(tme(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:eme,blur:Ii("blur"),opacity:Ii("opacity"),brightness:Ii("brightness"),contrast:Ii("contrast"),dropShadow:Ii("drop-shadow"),grayscale:Ii("grayscale"),hueRotate:Ii("hue-rotate"),invert:Ii("invert"),saturate:Ii("saturate"),sepia:Ii("sepia"),bgImage(e){return e==null||A2(e)||P2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=Yge[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},z={borderWidths:jr("borderWidths"),borderStyles:jr("borderStyles"),colors:jr("colors"),borders:jr("borders"),gradients:jr("gradients",je.gradient),radii:jr("radii",je.px),space:jr("space",zp(je.vh,je.px)),spaceT:jr("space",zp(je.vh,je.px)),degreeT(e){return{property:e,transform:je.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:jC({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:jr("sizes",zp(je.vh,je.px)),sizesT:jr("sizes",zp(je.vh,je.fraction)),shadows:jr("shadows"),logical:Gge,blur:jr("blur",je.blur)},Cg={background:z.colors("background"),backgroundColor:z.colors("backgroundColor"),backgroundImage:z.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:je.bgClip},bgSize:z.prop("backgroundSize"),bgPosition:z.prop("backgroundPosition"),bg:z.colors("background"),bgColor:z.colors("backgroundColor"),bgPos:z.prop("backgroundPosition"),bgRepeat:z.prop("backgroundRepeat"),bgAttachment:z.prop("backgroundAttachment"),bgGradient:z.gradients("backgroundImage"),bgClip:{transform:je.bgClip}};Object.assign(Cg,{bgImage:Cg.backgroundImage,bgImg:Cg.backgroundImage});var Ue={border:z.borders("border"),borderWidth:z.borderWidths("borderWidth"),borderStyle:z.borderStyles("borderStyle"),borderColor:z.colors("borderColor"),borderRadius:z.radii("borderRadius"),borderTop:z.borders("borderTop"),borderBlockStart:z.borders("borderBlockStart"),borderTopLeftRadius:z.radii("borderTopLeftRadius"),borderStartStartRadius:z.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:z.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:z.radii("borderTopRightRadius"),borderStartEndRadius:z.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:z.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:z.borders("borderRight"),borderInlineEnd:z.borders("borderInlineEnd"),borderBottom:z.borders("borderBottom"),borderBlockEnd:z.borders("borderBlockEnd"),borderBottomLeftRadius:z.radii("borderBottomLeftRadius"),borderBottomRightRadius:z.radii("borderBottomRightRadius"),borderLeft:z.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:z.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:z.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:z.borders(["borderLeft","borderRight"]),borderInline:z.borders("borderInline"),borderY:z.borders(["borderTop","borderBottom"]),borderBlock:z.borders("borderBlock"),borderTopWidth:z.borderWidths("borderTopWidth"),borderBlockStartWidth:z.borderWidths("borderBlockStartWidth"),borderTopColor:z.colors("borderTopColor"),borderBlockStartColor:z.colors("borderBlockStartColor"),borderTopStyle:z.borderStyles("borderTopStyle"),borderBlockStartStyle:z.borderStyles("borderBlockStartStyle"),borderBottomWidth:z.borderWidths("borderBottomWidth"),borderBlockEndWidth:z.borderWidths("borderBlockEndWidth"),borderBottomColor:z.colors("borderBottomColor"),borderBlockEndColor:z.colors("borderBlockEndColor"),borderBottomStyle:z.borderStyles("borderBottomStyle"),borderBlockEndStyle:z.borderStyles("borderBlockEndStyle"),borderLeftWidth:z.borderWidths("borderLeftWidth"),borderInlineStartWidth:z.borderWidths("borderInlineStartWidth"),borderLeftColor:z.colors("borderLeftColor"),borderInlineStartColor:z.colors("borderInlineStartColor"),borderLeftStyle:z.borderStyles("borderLeftStyle"),borderInlineStartStyle:z.borderStyles("borderInlineStartStyle"),borderRightWidth:z.borderWidths("borderRightWidth"),borderInlineEndWidth:z.borderWidths("borderInlineEndWidth"),borderRightColor:z.colors("borderRightColor"),borderInlineEndColor:z.colors("borderInlineEndColor"),borderRightStyle:z.borderStyles("borderRightStyle"),borderInlineEndStyle:z.borderStyles("borderInlineEndStyle"),borderTopRadius:z.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:z.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:z.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:z.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Ue,{rounded:Ue.borderRadius,roundedTop:Ue.borderTopRadius,roundedTopLeft:Ue.borderTopLeftRadius,roundedTopRight:Ue.borderTopRightRadius,roundedTopStart:Ue.borderStartStartRadius,roundedTopEnd:Ue.borderStartEndRadius,roundedBottom:Ue.borderBottomRadius,roundedBottomLeft:Ue.borderBottomLeftRadius,roundedBottomRight:Ue.borderBottomRightRadius,roundedBottomStart:Ue.borderEndStartRadius,roundedBottomEnd:Ue.borderEndEndRadius,roundedLeft:Ue.borderLeftRadius,roundedRight:Ue.borderRightRadius,roundedStart:Ue.borderInlineStartRadius,roundedEnd:Ue.borderInlineEndRadius,borderStart:Ue.borderInlineStart,borderEnd:Ue.borderInlineEnd,borderTopStartRadius:Ue.borderStartStartRadius,borderTopEndRadius:Ue.borderStartEndRadius,borderBottomStartRadius:Ue.borderEndStartRadius,borderBottomEndRadius:Ue.borderEndEndRadius,borderStartRadius:Ue.borderInlineStartRadius,borderEndRadius:Ue.borderInlineEndRadius,borderStartWidth:Ue.borderInlineStartWidth,borderEndWidth:Ue.borderInlineEndWidth,borderStartColor:Ue.borderInlineStartColor,borderEndColor:Ue.borderInlineEndColor,borderStartStyle:Ue.borderInlineStartStyle,borderEndStyle:Ue.borderInlineEndStyle});var rme={color:z.colors("color"),textColor:z.colors("color"),fill:z.colors("fill"),stroke:z.colors("stroke")},k2={boxShadow:z.shadows("boxShadow"),mixBlendMode:!0,blendMode:z.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:z.prop("backgroundBlendMode"),opacity:!0};Object.assign(k2,{shadow:k2.boxShadow});var ime={filter:{transform:je.filter},blur:z.blur("--chakra-blur"),brightness:z.propT("--chakra-brightness",je.brightness),contrast:z.propT("--chakra-contrast",je.contrast),hueRotate:z.degreeT("--chakra-hue-rotate"),invert:z.propT("--chakra-invert",je.invert),saturate:z.propT("--chakra-saturate",je.saturate),dropShadow:z.propT("--chakra-drop-shadow",je.dropShadow),backdropFilter:{transform:je.backdropFilter},backdropBlur:z.blur("--chakra-backdrop-blur"),backdropBrightness:z.propT("--chakra-backdrop-brightness",je.brightness),backdropContrast:z.propT("--chakra-backdrop-contrast",je.contrast),backdropHueRotate:z.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:z.propT("--chakra-backdrop-invert",je.invert),backdropSaturate:z.propT("--chakra-backdrop-saturate",je.saturate)},ny={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:je.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:z.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:z.space("gap"),rowGap:z.space("rowGap"),columnGap:z.space("columnGap")};Object.assign(ny,{flexDir:ny.flexDirection});var aD={gridGap:z.space("gridGap"),gridColumnGap:z.space("gridColumnGap"),gridRowGap:z.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},ome={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:je.outline},outlineOffset:!0,outlineColor:z.colors("outlineColor")},zr={width:z.sizesT("width"),inlineSize:z.sizesT("inlineSize"),height:z.sizes("height"),blockSize:z.sizes("blockSize"),boxSize:z.sizes(["width","height"]),minWidth:z.sizes("minWidth"),minInlineSize:z.sizes("minInlineSize"),minHeight:z.sizes("minHeight"),minBlockSize:z.sizes("minBlockSize"),maxWidth:z.sizes("maxWidth"),maxInlineSize:z.sizes("maxInlineSize"),maxHeight:z.sizes("maxHeight"),maxBlockSize:z.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:z.propT("float",je.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(zr,{w:zr.width,h:zr.height,minW:zr.minWidth,maxW:zr.maxWidth,minH:zr.minHeight,maxH:zr.maxHeight,overscroll:zr.overscrollBehavior,overscrollX:zr.overscrollBehaviorX,overscrollY:zr.overscrollBehaviorY});var sme={listStyleType:!0,listStylePosition:!0,listStylePos:z.prop("listStylePosition"),listStyleImage:!0,listStyleImg:z.prop("listStyleImage")};function ame(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},ume=lme(ame),cme={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},dme={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},eS=(e,t,n)=>{const r={},i=ume(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},fme={srOnly:{transform(e){return e===!0?cme:e==="focusable"?dme:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>eS(t,e,n)}},Od={position:!0,pos:z.prop("position"),zIndex:z.prop("zIndex","zIndices"),inset:z.spaceT("inset"),insetX:z.spaceT(["left","right"]),insetInline:z.spaceT("insetInline"),insetY:z.spaceT(["top","bottom"]),insetBlock:z.spaceT("insetBlock"),top:z.spaceT("top"),insetBlockStart:z.spaceT("insetBlockStart"),bottom:z.spaceT("bottom"),insetBlockEnd:z.spaceT("insetBlockEnd"),left:z.spaceT("left"),insetInlineStart:z.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:z.spaceT("right"),insetInlineEnd:z.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Od,{insetStart:Od.insetInlineStart,insetEnd:Od.insetInlineEnd});var hme={ring:{transform:je.ring},ringColor:z.colors("--chakra-ring-color"),ringOffset:z.prop("--chakra-ring-offset-width"),ringOffsetColor:z.colors("--chakra-ring-offset-color"),ringInset:z.prop("--chakra-ring-inset")},dt={margin:z.spaceT("margin"),marginTop:z.spaceT("marginTop"),marginBlockStart:z.spaceT("marginBlockStart"),marginRight:z.spaceT("marginRight"),marginInlineEnd:z.spaceT("marginInlineEnd"),marginBottom:z.spaceT("marginBottom"),marginBlockEnd:z.spaceT("marginBlockEnd"),marginLeft:z.spaceT("marginLeft"),marginInlineStart:z.spaceT("marginInlineStart"),marginX:z.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:z.spaceT("marginInline"),marginY:z.spaceT(["marginTop","marginBottom"]),marginBlock:z.spaceT("marginBlock"),padding:z.space("padding"),paddingTop:z.space("paddingTop"),paddingBlockStart:z.space("paddingBlockStart"),paddingRight:z.space("paddingRight"),paddingBottom:z.space("paddingBottom"),paddingBlockEnd:z.space("paddingBlockEnd"),paddingLeft:z.space("paddingLeft"),paddingInlineStart:z.space("paddingInlineStart"),paddingInlineEnd:z.space("paddingInlineEnd"),paddingX:z.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:z.space("paddingInline"),paddingY:z.space(["paddingTop","paddingBottom"]),paddingBlock:z.space("paddingBlock")};Object.assign(dt,{m:dt.margin,mt:dt.marginTop,mr:dt.marginRight,me:dt.marginInlineEnd,marginEnd:dt.marginInlineEnd,mb:dt.marginBottom,ml:dt.marginLeft,ms:dt.marginInlineStart,marginStart:dt.marginInlineStart,mx:dt.marginX,my:dt.marginY,p:dt.padding,pt:dt.paddingTop,py:dt.paddingY,px:dt.paddingX,pb:dt.paddingBottom,pl:dt.paddingLeft,ps:dt.paddingInlineStart,paddingStart:dt.paddingInlineStart,pr:dt.paddingRight,pe:dt.paddingInlineEnd,paddingEnd:dt.paddingInlineEnd});var pme={textDecorationColor:z.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:z.shadows("textShadow")},gme={clipPath:!0,transform:z.propT("transform",je.transform),transformOrigin:!0,translateX:z.spaceT("--chakra-translate-x"),translateY:z.spaceT("--chakra-translate-y"),skewX:z.degreeT("--chakra-skew-x"),skewY:z.degreeT("--chakra-skew-y"),scaleX:z.prop("--chakra-scale-x"),scaleY:z.prop("--chakra-scale-y"),scale:z.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:z.degreeT("--chakra-rotate")},mme={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:z.prop("transitionDuration","transition.duration"),transitionProperty:z.prop("transitionProperty","transition.property"),transitionTimingFunction:z.prop("transitionTimingFunction","transition.easing")},yme={fontFamily:z.prop("fontFamily","fonts"),fontSize:z.prop("fontSize","fontSizes",je.px),fontWeight:z.prop("fontWeight","fontWeights"),lineHeight:z.prop("lineHeight","lineHeights"),letterSpacing:z.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},vme={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:z.spaceT("scrollMargin"),scrollMarginTop:z.spaceT("scrollMarginTop"),scrollMarginBottom:z.spaceT("scrollMarginBottom"),scrollMarginLeft:z.spaceT("scrollMarginLeft"),scrollMarginRight:z.spaceT("scrollMarginRight"),scrollMarginX:z.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:z.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:z.spaceT("scrollPadding"),scrollPaddingTop:z.spaceT("scrollPaddingTop"),scrollPaddingBottom:z.spaceT("scrollPaddingBottom"),scrollPaddingLeft:z.spaceT("scrollPaddingLeft"),scrollPaddingRight:z.spaceT("scrollPaddingRight"),scrollPaddingX:z.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:z.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function lD(e){return Io(e)&&e.reference?e.reference:String(e)}var Zv=(e,...t)=>t.map(lD).join(` ${e} `).replace(/calc/g,""),V6=(...e)=>`calc(${Zv("+",...e)})`,z6=(...e)=>`calc(${Zv("-",...e)})`,O2=(...e)=>`calc(${Zv("*",...e)})`,U6=(...e)=>`calc(${Zv("/",...e)})`,G6=e=>{const t=lD(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:O2(t,-1)},Pa=Object.assign(e=>({add:(...t)=>Pa(V6(e,...t)),subtract:(...t)=>Pa(z6(e,...t)),multiply:(...t)=>Pa(O2(e,...t)),divide:(...t)=>Pa(U6(e,...t)),negate:()=>Pa(G6(e)),toString:()=>e.toString()}),{add:V6,subtract:z6,multiply:O2,divide:U6,negate:G6});function bme(e,t="-"){return e.replace(/\s+/g,t)}function Sme(e){const t=bme(e.toString());return wme(_me(t))}function _me(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function wme(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function xme(e,t=""){return[t,e].filter(Boolean).join("-")}function Cme(e,t){return`var(${e}${t?`, ${t}`:""})`}function Tme(e,t=""){return Sme(`--${xme(e,t)}`)}function R2(e,t,n){const r=Tme(e,n);return{variable:r,reference:Cme(r,t)}}function p4e(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=R2(`${e}-${i}`,o);continue}n[r]=R2(`${e}-${r}`)}return n}function Eme(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Pme(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function I2(e){if(e==null)return e;const{unitless:t}=Pme(e);return t||typeof e=="number"?`${e}px`:e}var uD=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,VC=e=>Object.fromEntries(Object.entries(e).sort(uD));function H6(e){const t=VC(e);return Object.assign(Object.values(t),t)}function Ame(e){const t=Object.keys(VC(e));return new Set(t)}function q6(e){var t;if(!e)return e;e=(t=I2(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pd(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${I2(e)})`),t&&n.push("and",`(max-width: ${I2(t)})`),n.join(" ")}function kme(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=H6(e),r=Object.entries(e).sort(uD).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?q6(d):void 0,{_minW:q6(a),breakpoint:s,minW:a,maxW:d,maxWQuery:pd(null,d),minWQuery:pd(a),minMaxQuery:pd(a,d)}}),i=Ame(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:VC(e),asArray:H6(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pd(s)).slice(1)],toArrayValue(s){if(!Io(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;Eme(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var xn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},os=e=>cD(t=>e(t,"&"),"[role=group]","[data-group]",".group"),mo=e=>cD(t=>e(t,"~ &"),"[data-peer]",".peer"),cD=(e,...t)=>t.map(e).join(", "),Jv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:os(xn.hover),_peerHover:mo(xn.hover),_groupFocus:os(xn.focus),_peerFocus:mo(xn.focus),_groupFocusVisible:os(xn.focusVisible),_peerFocusVisible:mo(xn.focusVisible),_groupActive:os(xn.active),_peerActive:mo(xn.active),_groupDisabled:os(xn.disabled),_peerDisabled:mo(xn.disabled),_groupInvalid:os(xn.invalid),_peerInvalid:mo(xn.invalid),_groupChecked:os(xn.checked),_peerChecked:mo(xn.checked),_groupFocusWithin:os(xn.focusWithin),_peerFocusWithin:mo(xn.focusWithin),_peerPlaceholderShown:mo(xn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},dD=Object.keys(Jv);function W6(e,t){return R2(String(e).replace(/\./g,"-"),void 0,t)}function Ome(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=W6(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Pa.negate(a),v=Pa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=W6(p,t==null?void 0:t.cssVarPrefix);return S},d=Io(a)?a:{default:a};n=Wi(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Jv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Rme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Ime(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Mme(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function K6(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(Mme(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var Nme=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Dme(e){return Ime(e,Nme)}function Lme(e){return e.semanticTokens}function $me(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var Fme=e=>dD.includes(e)||e==="default";function Bme({tokens:e,semanticTokens:t}){const n={};return K6(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),K6(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(Fme)}),n}function g4e(e){var t;const n=$me(e),r=Dme(n),i=Lme(n),o=Bme({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=Ome(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:kme(n.breakpoints)}),n}var zC=Wi({},Cg,Ue,rme,ny,zr,ime,hme,ome,aD,fme,Od,k2,dt,vme,yme,pme,gme,sme,mme),jme=Object.assign({},dt,zr,ny,aD,Od),m4e=Object.keys(jme),Vme=[...Object.keys(zC),...dD],zme={...zC,...Jv},Ume=e=>e in zme,Gme=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Na(e[s],t);if(a==null)continue;if(a=Io(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!qme(t),Kme=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Hme(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Xme(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=Na(o,r),d=Gme(c)(r);let f={};for(let h in d){const p=d[h];let m=Na(p,r);h in n&&(h=n[h]),Wme(h,m)&&(m=Kme(r,m));let S=t[h];if(S===!0&&(S={property:h}),Io(m)){f[h]=(a=f[h])!=null?a:{},f[h]=Wi({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=Na(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=Na(S.static,r);f=Wi({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&Io(v)?f=Wi({},f,v):f[y]=v;continue}if(Io(v)){f=Wi({},f,v);continue}f[h]=v}return f};return i}var Yme=e=>t=>Xme({theme:t,pseudos:Jv,configs:zC})(e);function y4e(e){return e}function v4e(e){return e}function b4e(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Qme(e,t){if(Array.isArray(e))return e;if(Io(e))return t(e);if(e!=null)return[e]}function Zme(e,t){for(let n=t+1;n{Wi(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?Wi(u,y):u[v]=y;continue}u[v]=y}}return u}}function eye(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Jme(o);return Wi({},Na((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function S4e(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function fD(e){return Rme(e,["styleConfig","size","variant","colorScheme"])}function tye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function _4e(e){var t;return tye(e)&&(t=e.ownerDocument)!=null?t:document}function nye(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var rye=nye();function iye(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function oye(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},aye=sye(oye);function hD(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var pD=e=>hD(e,t=>t!=null);function lye(e){return typeof e=="function"}function uye(e,...t){return lye(e)?e(...t):e}function cye(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var dye=typeof Element<"u",fye=typeof Map=="function",hye=typeof Set=="function",pye=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Tg(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Tg(e[r],t[r]))return!1;return!0}var o;if(fye&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Tg(r.value[1],t.get(r.value[0])))return!1;return!0}if(hye&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(pye&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(dye&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Tg(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var gye=function(t,n){try{return Tg(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const mye=al(gye);function gD(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=Nge(),a=e?aye(o,`components.${e}`):void 0,l=r||a,u=Wi({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},pD(iye(i,["children"]))),c=k.useRef({});if(l){const f=eye(l)(u);mye(c.current,f)||(c.current=f)}return c.current}function mD(e,t={}){return gD(e,t)}function w4e(e,t={}){return gD(e,t)}var yye=new Set([...Vme,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),vye=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function bye(e){return vye.has(e)||!yye.has(e)}function Sye(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var _ye=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,wye=XN(function(e){return _ye.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),xye=wye,Cye=function(t){return t!=="theme"},X6=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?xye:Cye},Y6=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Tye=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return QN(n,r,i),Age(function(){return ZN(n,r,i)}),null},Eye=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Y6(t,n,r),l=a||X6(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=hD(s,(d,f)=>Ume(f)),l=uye(e,t),u=Sye({},i,l,pD(a),o),c=Yme(u)(t.theme);return r?[c,r]:c};function tS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=bye);const i=kye({baseStyle:n}),o=Aye(e,r)(i);return We.forwardRef(function(l,u){const{colorMode:c,forced:d}=BC();return We.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Oye(){const e=new Map;return new Proxy(tS,{apply(t,n,r){return tS(...r)},get(t,n){return e.has(n)||e.set(n,tS(n)),e.get(n)}})}var sl=Oye();function Tl(e){return k.forwardRef(e)}const yD=k.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),e1=k.createContext({}),Lh=k.createContext(null),t1=typeof document<"u",iy=t1?k.useLayoutEffect:k.useEffect,vD=k.createContext({strict:!1});function Rye(e,t,n,r){const{visualElement:i}=k.useContext(e1),o=k.useContext(vD),s=k.useContext(Lh),a=k.useContext(yD).reducedMotion,l=k.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return k.useInsertionEffect(()=>{u&&u.update(n,s)}),iy(()=>{u&&u.render()}),k.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?iy:k.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function hu(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Iye(e,t,n){return k.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):hu(n)&&(n.current=r))},[t])}function Gf(e){return typeof e=="string"||Array.isArray(e)}function n1(e){return typeof e=="object"&&typeof e.start=="function"}const UC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],GC=["initial",...UC];function r1(e){return n1(e.animate)||GC.some(t=>Gf(e[t]))}function bD(e){return!!(r1(e)||e.variants)}function Mye(e,t){if(r1(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Gf(n)?n:void 0,animate:Gf(r)?r:void 0}}return e.inherit!==!1?t:{}}function Nye(e){const{initial:t,animate:n}=Mye(e,k.useContext(e1));return k.useMemo(()=>({initial:t,animate:n}),[Z6(t),Z6(n)])}function Z6(e){return Array.isArray(e)?e.join(" "):e}const J6={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Hf={};for(const e in J6)Hf[e]={isEnabled:t=>J6[e].some(n=>!!t[n])};function Dye(e){for(const t in e)Hf[t]={...Hf[t],...e[t]}}const HC=k.createContext({}),SD=k.createContext({}),Lye=Symbol.for("motionComponentSymbol");function $ye({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Dye(e);function o(a,l){let u;const c={...k.useContext(yD),...a,layoutId:Fye(a)},{isStatic:d}=c,f=Nye(a),h=r(a,d);if(!d&&t1){f.visualElement=Rye(i,h,c,t);const p=k.useContext(SD),m=k.useContext(vD).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return k.createElement(e1.Provider,{value:f},u&&f.visualElement?k.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Iye(h,f.visualElement,l),h,d,f.visualElement))}const s=k.forwardRef(o);return s[Lye]=i,s}function Fye({layoutId:e}){const t=k.useContext(HC).id;return t&&e!==void 0?t+"-"+e:e}function Bye(e){function t(r,i={}){return $ye(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const jye=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function qC(e){return typeof e!="string"||e.includes("-")?!1:!!(jye.indexOf(e)>-1||/[A-Z]/.test(e))}const oy={};function Vye(e){Object.assign(oy,e)}const $h=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],El=new Set($h);function _D(e,{layout:t,layoutId:n}){return El.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!oy[e]||e==="opacity")}const _r=e=>!!(e&&e.getVelocity),zye={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Uye=$h.length;function Gye(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),xD=wD("--"),M2=wD("var(--"),Hye=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,qye=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Ks=(e,t,n)=>Math.min(Math.max(n,e),t),Pl={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Rd={...Pl,transform:e=>Ks(0,1,e)},Up={...Pl,default:1},Id=e=>Math.round(e*1e5)/1e5,i1=/(-)?([\d]*\.?[\d])+/g,CD=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Wye=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Fh(e){return typeof e=="string"}const Bh=e=>({test:t=>Fh(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),as=Bh("deg"),Ji=Bh("%"),me=Bh("px"),Kye=Bh("vh"),Xye=Bh("vw"),e8={...Ji,parse:e=>Ji.parse(e)/100,transform:e=>Ji.transform(e*100)},t8={...Pl,transform:Math.round},TD={borderWidth:me,borderTopWidth:me,borderRightWidth:me,borderBottomWidth:me,borderLeftWidth:me,borderRadius:me,radius:me,borderTopLeftRadius:me,borderTopRightRadius:me,borderBottomRightRadius:me,borderBottomLeftRadius:me,width:me,maxWidth:me,height:me,maxHeight:me,size:me,top:me,right:me,bottom:me,left:me,padding:me,paddingTop:me,paddingRight:me,paddingBottom:me,paddingLeft:me,margin:me,marginTop:me,marginRight:me,marginBottom:me,marginLeft:me,rotate:as,rotateX:as,rotateY:as,rotateZ:as,scale:Up,scaleX:Up,scaleY:Up,scaleZ:Up,skew:as,skewX:as,skewY:as,distance:me,translateX:me,translateY:me,translateZ:me,x:me,y:me,z:me,perspective:me,transformPerspective:me,opacity:Rd,originX:e8,originY:e8,originZ:me,zIndex:t8,fillOpacity:Rd,strokeOpacity:Rd,numOctaves:t8};function WC(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(xD(d)){o[d]=f;continue}const h=TD[d],p=qye(f,h);if(El.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Gye(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const KC=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ED(e,t,n){for(const r in t)!_r(t[r])&&!_D(r,n)&&(e[r]=t[r])}function Yye({transformTemplate:e},t,n){return k.useMemo(()=>{const r=KC();return WC(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Qye(e,t,n){const r=e.style||{},i={};return ED(i,r,e),Object.assign(i,Yye(e,t,n)),e.transformValues?e.transformValues(i):i}function Zye(e,t,n){const r={},i=Qye(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Jye=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function sy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Jye.has(e)}let PD=e=>!sy(e);function e0e(e){e&&(PD=t=>t.startsWith("on")?!sy(t):e(t))}try{e0e(require("@emotion/is-prop-valid").default)}catch{}function t0e(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(PD(i)||n===!0&&sy(i)||!t&&!sy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function n8(e,t,n){return typeof e=="string"?e:me.transform(t+n*e)}function n0e(e,t,n){const r=n8(t,e.x,e.width),i=n8(n,e.y,e.height);return`${r} ${i}`}const r0e={offset:"stroke-dashoffset",array:"stroke-dasharray"},i0e={offset:"strokeDashoffset",array:"strokeDasharray"};function o0e(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?r0e:i0e;e[o.offset]=me.transform(-r);const s=me.transform(t),a=me.transform(n);e[o.array]=`${s} ${a}`}function XC(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(WC(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=n0e(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&o0e(h,s,a,l,!1)}const AD=()=>({...KC(),attrs:{}}),YC=e=>typeof e=="string"&&e.toLowerCase()==="svg";function s0e(e,t,n,r){const i=k.useMemo(()=>{const o=AD();return XC(o,t,{enableHardwareAcceleration:!1},YC(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};ED(o,e.style,e),i.style={...o,...i.style}}return i}function a0e(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(qC(n)?s0e:Zye)(r,o,s,n),c={...t0e(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=k.useMemo(()=>_r(d)?d.get():d,[d]);return k.createElement(n,{...c,children:f})}}const QC=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kD(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const OD=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function RD(e,t,n,r){kD(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(OD.has(i)?i:QC(i),t.attrs[i])}function ZC(e,t){const{style:n}=e,r={};for(const i in n)(_r(n[i])||t.style&&_r(t.style[i])||_D(i,e))&&(r[i]=n[i]);return r}function ID(e,t){const n=ZC(e,t);for(const r in e)if(_r(e[r])||_r(t[r])){const i=$h.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function JC(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function MD(e){const t=k.useRef(null);return t.current===null&&(t.current=e()),t.current}const ay=e=>Array.isArray(e),l0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),u0e=e=>ay(e)?e[e.length-1]||0:e;function Eg(e){const t=_r(e)?e.get():e;return l0e(t)?t.toValue():t}function c0e({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:d0e(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const ND=e=>(t,n)=>{const r=k.useContext(e1),i=k.useContext(Lh),o=()=>c0e(e,t,r,i);return n?o():MD(o)};function d0e(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=Eg(o[f]);let{initial:s,animate:a}=e;const l=r1(e),u=bD(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!n1(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=JC(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const f0e={useVisualState:ND({scrapeMotionValuesFromProps:ID,createRenderState:AD,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}XC(n,r,{enableHardwareAcceleration:!1},YC(t.tagName),e.transformTemplate),RD(t,n)}})},h0e={useVisualState:ND({scrapeMotionValuesFromProps:ZC,createRenderState:KC})};function p0e(e,{forwardMotionProps:t=!1},n,r){return{...qC(e)?f0e:h0e,preloadedFeatures:n,useRender:a0e(t),createVisualElement:r,Component:e}}function Ao(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const DD=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function o1(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const g0e=e=>t=>DD(t)&&e(t,o1(t));function Mo(e,t,n,r){return Ao(e,t,g0e(n),r)}const m0e=(e,t)=>n=>t(e(n)),Ns=(...e)=>e.reduce(m0e);function LD(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const r8=LD("dragHorizontal"),i8=LD("dragVertical");function $D(e){let t=!1;if(e==="y")t=i8();else if(e==="x")t=r8();else{const n=r8(),r=i8();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function FD(){const e=$D(!0);return e?(e(),!1):!0}class ua{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Qt=e=>e;function y0e(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=y0e(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,v0e),1),i.timestamp=d,i.isProcessing=!0,Gp.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:Gp.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>Gp.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:_t,cancel:Uo,state:$n,steps:nS}=b0e(typeof requestAnimationFrame<"u"?requestAnimationFrame:Qt,!0);function o8(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||FD())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&_t.update(()=>a[r](o,s))};return Mo(e.current,n,i,{passive:!e.getProps()[r]})}class S0e extends ua{mount(){this.unmount=Ns(o8(this.node,!0),o8(this.node,!1))}unmount(){}}class _0e extends ua{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ns(Ao(this.node.current,"focus",()=>this.onFocus()),Ao(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const BD=(e,t)=>t?e===t?!0:BD(e,t.parentElement):!1;function rS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,o1(n))}class w0e extends ua{constructor(){super(...arguments),this.removeStartListeners=Qt,this.removeEndListeners=Qt,this.removeAccessibleListeners=Qt,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Mo(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();_t.update(()=>{BD(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Mo(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ns(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||rS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&_t.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Ao(this.node.current,"keyup",s),rS("down",(a,l)=>{this.startPress(a,l)})},n=Ao(this.node.current,"keydown",t),r=()=>{this.isPressing&&rS("cancel",(o,s)=>this.cancelPress(o,s))},i=Ao(this.node.current,"blur",r);this.removeAccessibleListeners=Ns(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&_t.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!FD()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&_t.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Mo(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Ao(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ns(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const N2=new WeakMap,iS=new WeakMap,x0e=e=>{const t=N2.get(e.target);t&&t(e)},C0e=e=>{e.forEach(x0e)};function T0e({root:e,...t}){const n=e||document;iS.has(n)||iS.set(n,{});const r=iS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(C0e,{root:e,...t})),r[i]}function E0e(e,t,n){const r=T0e(t);return N2.set(e,n),r.observe(e),()=>{N2.delete(e),r.unobserve(e)}}const P0e={some:0,all:1};class A0e extends ua{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:P0e[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return E0e(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(k0e(t,n))&&this.startObserver()}unmount(){}}function k0e({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const O0e={inView:{Feature:A0e},tap:{Feature:w0e},focus:{Feature:_0e},hover:{Feature:S0e}};function jD(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function I0e(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function s1(e,t,n){const r=e.getProps();return JC(r,t,n!==void 0?n:r.custom,R0e(e),I0e(e))}const M0e="framerAppearId",N0e="data-"+QC(M0e);let D0e=Qt,e3=Qt;const Ds=e=>e*1e3,No=e=>e/1e3,L0e={current:!1},VD=e=>Array.isArray(e)&&typeof e[0]=="number";function zD(e){return!!(!e||typeof e=="string"&&UD[e]||VD(e)||Array.isArray(e)&&e.every(zD))}const gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,UD={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gd([0,.65,.55,1]),circOut:gd([.55,0,1,.45]),backIn:gd([.31,.01,.66,-.59]),backOut:gd([.33,1.53,.69,.99])};function GD(e){if(e)return VD(e)?gd(e):Array.isArray(e)?e.map(GD):UD[e]}function $0e(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=GD(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const s8={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},oS={},HD={};for(const e in s8)HD[e]=()=>(oS[e]===void 0&&(oS[e]=s8[e]()),oS[e]);function F0e(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const qD=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,B0e=1e-7,j0e=12;function V0e(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=qD(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>B0e&&++aV0e(o,0,1,e,n);return o=>o===0||o===1?o:qD(i(o),t,r)}const z0e=jh(.42,0,1,1),U0e=jh(0,0,.58,1),WD=jh(.42,0,.58,1),G0e=e=>Array.isArray(e)&&typeof e[0]!="number",KD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,XD=e=>t=>1-e(1-t),YD=e=>1-Math.sin(Math.acos(e)),t3=XD(YD),H0e=KD(t3),QD=jh(.33,1.53,.69,.99),n3=XD(QD),q0e=KD(n3),W0e=e=>(e*=2)<1?.5*n3(e):.5*(2-Math.pow(2,-10*(e-1))),K0e={linear:Qt,easeIn:z0e,easeInOut:WD,easeOut:U0e,circIn:YD,circInOut:H0e,circOut:t3,backIn:n3,backInOut:q0e,backOut:QD,anticipate:W0e},a8=e=>{if(Array.isArray(e)){e3(e.length===4);const[t,n,r,i]=e;return jh(t,n,r,i)}else if(typeof e=="string")return K0e[e];return e},r3=(e,t)=>n=>!!(Fh(n)&&Wye.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ZD=(e,t,n)=>r=>{if(!Fh(r))return r;const[i,o,s,a]=r.match(i1);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},X0e=e=>Ks(0,255,e),sS={...Pl,transform:e=>Math.round(X0e(e))},Da={test:r3("rgb","red"),parse:ZD("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+sS.transform(e)+", "+sS.transform(t)+", "+sS.transform(n)+", "+Id(Rd.transform(r))+")"};function Y0e(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const D2={test:r3("#"),parse:Y0e,transform:Da.transform},pu={test:r3("hsl","hue"),parse:ZD("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Ji.transform(Id(t))+", "+Ji.transform(Id(n))+", "+Id(Rd.transform(r))+")"},Xn={test:e=>Da.test(e)||D2.test(e)||pu.test(e),parse:e=>Da.test(e)?Da.parse(e):pu.test(e)?pu.parse(e):D2.parse(e),transform:e=>Fh(e)?e:e.hasOwnProperty("red")?Da.transform(e):pu.transform(e)},At=(e,t,n)=>-n*e+n*t+e;function aS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Q0e({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=aS(l,a,e+1/3),o=aS(l,a,e),s=aS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const lS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Z0e=[D2,Da,pu],J0e=e=>Z0e.find(t=>t.test(e));function l8(e){const t=J0e(e);let n=t.parse(e);return t===pu&&(n=Q0e(n)),n}const JD=(e,t)=>{const n=l8(e),r=l8(t),i={...n};return o=>(i.red=lS(n.red,r.red,o),i.green=lS(n.green,r.green,o),i.blue=lS(n.blue,r.blue,o),i.alpha=At(n.alpha,r.alpha,o),Da.transform(i))};function eve(e){var t,n;return isNaN(e)&&Fh(e)&&(((t=e.match(i1))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(CD))===null||n===void 0?void 0:n.length)||0)>0}const eL={regex:Hye,countKey:"Vars",token:"${v}",parse:Qt},tL={regex:CD,countKey:"Colors",token:"${c}",parse:Xn.parse},nL={regex:i1,countKey:"Numbers",token:"${n}",parse:Pl.parse};function uS(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function ly(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&uS(n,eL),uS(n,tL),uS(n,nL),n}function rL(e){return ly(e).values}function iL(e){const{values:t,numColors:n,numVars:r,tokenised:i}=ly(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function nve(e){const t=rL(e);return iL(e)(t.map(tve))}const Xs={test:eve,parse:rL,createTransformer:iL,getAnimatableNone:nve},oL=(e,t)=>n=>`${n>0?t:e}`;function sL(e,t){return typeof e=="number"?n=>At(e,t,n):Xn.test(e)?JD(e,t):e.startsWith("var(")?oL(e,t):lL(e,t)}const aL=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>sL(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=sL(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},lL=(e,t)=>{const n=Xs.createTransformer(t),r=ly(e),i=ly(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ns(aL(r.values,i.values),n):oL(e,t)},qf=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},u8=(e,t)=>n=>At(e,t,n);function ive(e){return typeof e=="number"?u8:typeof e=="string"?Xn.test(e)?JD:lL:Array.isArray(e)?aL:typeof e=="object"?rve:u8}function ove(e,t,n){const r=[],i=n||ive(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=ove(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(Ks(e[0],e[o-1],u)):l}function sve(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=qf(0,t,r);e.push(At(n,1,i))}}function ave(e){const t=[0];return sve(t,e.length-1),t}function lve(e,t){return e.map(n=>n*t)}function uve(e,t){return e.map(()=>t||WD).splice(0,e.length-1)}function uy({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=G0e(r)?r.map(a8):a8(r),o={done:!1,value:t[0]},s=lve(n&&n.length===t.length?n:ave(t),e),a=uL(s,t,{ease:Array.isArray(i)?i:uve(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function cL(e,t){return t?e*(1e3/t):0}const cve=5;function dL(e,t,n){const r=Math.max(t-cve,0);return cL(n-e(r),t-r)}const cS=.001,dve=.01,c8=10,fve=.05,hve=1;function pve({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;D0e(e<=Ds(c8));let s=1-t;s=Ks(fve,hve,s),e=Ks(dve,c8,No(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=L2(u,s),p=Math.exp(-d);return cS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=L2(Math.pow(u,2),s);return(-i(u)+cS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-cS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=mve(i,o,a);if(e=Ds(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const gve=12;function mve(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function bve(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!d8(e,vve)&&d8(e,yve)){const n=pve(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function fL({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=bve(r),h=c?-No(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=No(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=L2(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=dL(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function f8({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=T=>a!==void 0&&Tl,p=T=>a===void 0?l:l===void 0||Math.abs(a-T)-m*Math.exp(-T/r),g=T=>v+y(T),b=T=>{const P=y(T),E=g(T);f.done=Math.abs(P)<=u,f.value=f.done?v:E};let _,w;const x=T=>{h(f.value)&&(_=T,w=fL({keyframes:[f.value,p(f.value)],velocity:dL(g,T,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:T=>{let P=!1;return!w&&_===void 0&&(P=!0,b(T),x(T)),_!==void 0&&T>_?w.next(T-_):(!P&&b(T),f)}}}const Sve=e=>{const t=({timestamp:n})=>e(n);return{start:()=>_t.update(t,!0),stop:()=>Uo(t),now:()=>$n.isProcessing?$n.timestamp:performance.now()}},h8=2e4;function p8(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=h8?1/0:t}const _ve={decay:f8,inertia:f8,tween:uy,keyframes:uy,spring:fL};function cy({autoplay:e=!0,delay:t=0,driver:n=Sve,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(j=>{m=j})};v();let y;const g=_ve[i]||uy;let b;g!==uy&&typeof r[0]!="number"&&(b=uL([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",T=null,P=null,E=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=p8(_));const{calculatedDuration:A}=_;let $=1/0,M=1/0;A!==null&&($=A+s,M=$*(o+1)-s);let C=0;const O=j=>{if(P===null)return;h>0&&(P=Math.min(P,j)),h<0&&(P=Math.min(j-M/h,P)),T!==null?C=T:C=Math.round(j-P)*h;const U=C-t*(h>=0?1:-1),G=h>=0?U<0:U>M;C=Math.max(U,0),x==="finished"&&T===null&&(C=M);let W=C,X=_;if(o){const Q=C/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const te=!!(J%2);te&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(X=w));let xe=Ks(0,1,ne);C>M&&(xe=a==="reverse"&&te?1:0),W=xe*$}const Y=G?{done:!1,value:r[0]}:X.next(W);b&&(Y.value=b(Y.value));let{done:B}=Y;!G&&A!==null&&(B=h>=0?C>=M:C<=0);const H=T===null&&(x==="finished"||x==="running"&&B);return d&&d(Y.value),H&&R(),Y},I=()=>{y&&y.stop(),y=void 0},N=()=>{x="idle",I(),m(),v(),P=E=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const j=y.now();l&&l(),T!==null?P=j-T:(!P||x==="finished")&&(P=j),x==="finished"&&v(),E=P,T=null,x="running",y.start()};e&&D();const L={then(j,U){return S.then(j,U)},get time(){return No(C)},set time(j){j=Ds(j),C=j,T!==null||!y||h===0?T=j:P=y.now()-j/h},get duration(){const j=_.calculatedDuration===null?p8(_):_.calculatedDuration;return No(j)},get speed(){return h},set speed(j){j===h||!y||(h=j,L.time=No(C))},get state(){return x},play:D,pause:()=>{x="paused",T=C},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),N())},cancel:()=>{E!==null&&O(E),N()},complete:()=>{x="finished"},sample:j=>(P=0,O(j))};return L}const wve=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Hp=10,xve=2e4,Cve=(e,t)=>t.type==="spring"||e==="backgroundColor"||!zD(t.ease);function Tve(e,t,{onUpdate:n,onComplete:r,...i}){if(!(HD.waapi()&&wve.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(Cve(t,i)){const v=cy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{_t.update(m),a(),u()};return p.onfinish=()=>{e.set(F0e(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return No(p.currentTime||0)},set time(v){p.currentTime=Ds(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return No(d)},play:()=>{s||(p.play(),Uo(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=cy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-Hp).value,y.sample(v).value,Hp)}S()},complete:()=>p.finish(),cancel:S}}function Eve({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Qt,pause:Qt,stop:Qt,then:o=>(o(),Promise.resolve()),cancel:Qt,complete:Qt});return t?cy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const Pve={type:"spring",stiffness:500,damping:25,restSpeed:10},Ave=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),kve={type:"keyframes",duration:.8},Ove={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Rve=(e,{keyframes:t})=>t.length>2?kve:El.has(e)?e.startsWith("scale")?Ave(t[1]):Pve:Ove,$2=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xs.test(t)||t==="0")&&!t.startsWith("url(")),Ive=new Set(["brightness","contrast","saturate","opacity"]);function Mve(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(i1)||[];if(!r)return e;const i=n.replace(r,"");let o=Ive.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const Nve=/([a-z-]*)\(.*?\)/g,F2={...Xs,getAnimatableNone:e=>{const t=e.match(Nve);return t?t.map(Mve).join(" "):e}},Dve={...TD,color:Xn,backgroundColor:Xn,outlineColor:Xn,fill:Xn,stroke:Xn,borderColor:Xn,borderTopColor:Xn,borderRightColor:Xn,borderBottomColor:Xn,borderLeftColor:Xn,filter:F2,WebkitFilter:F2},i3=e=>Dve[e];function hL(e,t){let n=i3(e);return n!==F2&&(n=Xs),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const pL=e=>/^0[^.\s]+$/.test(e);function Lve(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||pL(e)}function $ve(e,t,n,r){const i=$2(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=gL(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ds(s);const l=$ve(t,e,n,o),u=l[0],c=l[l.length-1],d=$2(e,u),f=$2(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Fve(o)||(h={...h,...Rve(e,h)}),h.duration&&(h.duration=Ds(h.duration)),h.repeatDelay&&(h.repeatDelay=Ds(h.repeatDelay)),!d||!f||L0e.current||o.type===!1)return Eve(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=Tve(t,e,h);if(p)return p}return cy(h)};function dy(e){return!!(_r(e)&&e.add)}const Bve=e=>/^\-?\d*\.?\d+$/.test(e);function s3(e,t){e.indexOf(t)===-1&&e.push(t)}function a3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class l3{constructor(){this.subscriptions=[]}add(t){return s3(this.subscriptions,t),()=>a3(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Vve{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=$n;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,_t.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>_t.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=jve(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new l3);const r=this.events[t].add(n);return t==="change"?()=>{r(),_t.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?cL(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function uc(e,t){return new Vve(e,t)}const mL=e=>t=>t.test(e),zve={test:e=>e==="auto",parse:e=>e},yL=[Pl,me,Ji,as,Xye,Kye,zve],id=e=>yL.find(mL(e)),Uve=[...yL,Xn,Xs],Gve=e=>Uve.find(mL(e));function Hve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,uc(n))}function qve(e,t){const n=s1(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=u0e(o[s]);Hve(e,s,a)}}function Wve(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&qve(e,s)}),u}function B2(e,t,n={}){const r=s1(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(vL(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Qve(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Qve(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(Zve).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(B2(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function Zve(e,t){return e.sortNodePosition(t)}function Jve(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>B2(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=B2(e,t,n);else{const i=typeof t=="function"?s1(e,t,n.custom):t;r=Promise.all(vL(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const e1e=[...UC].reverse(),t1e=UC.length;function n1e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Jve(e,n,r)))}function r1e(e){let t=n1e(e);const n=o1e();let r=!0;const i=(l,u)=>{const c=s1(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const E=Array.isArray(b)?b:[b];let A=E.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,M={...$,...A},C=O=>{P=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in M){const I=A[O],N=$[O];p.hasOwnProperty(O)||(I!==N?ay(I)&&ay(N)?!jD(I,N)||T?C(O):g.protectedKeys[O]=!0:I!==void 0?C(O):h.add(O):I!==void 0&&h.has(O)?C(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(P=!1),P&&!x&&f.push(...E.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function i1e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!jD(t,e):!1}function ba(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function o1e(){return{animate:ba(!0),whileInView:ba(),whileHover:ba(),whileTap:ba(),whileDrag:ba(),whileFocus:ba(),exit:ba()}}class s1e extends ua{constructor(t){super(t),t.animationState||(t.animationState=r1e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),n1(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let a1e=0;class l1e extends ua{constructor(){super(...arguments),this.id=a1e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const u1e={animation:{Feature:s1e},exit:{Feature:l1e}},g8=(e,t)=>Math.abs(e-t);function c1e(e,t){const n=g8(e.x,t.x),r=g8(e.y,t.y);return Math.sqrt(n**2+r**2)}class bL{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=fS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=c1e(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=$n;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=dS(c,this.transformPagePoint),_t.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=fS(u.type==="pointercancel"?this.lastMoveEventInfo:dS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!DD(t))return;this.handlers=n,this.transformPagePoint=r;const i=o1(t),o=dS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=$n;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,fS(o,this.history)),this.removeListeners=Ns(Mo(window,"pointermove",this.handlePointerMove),Mo(window,"pointerup",this.handlePointerUp),Mo(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Uo(this.updatePoint)}}function dS(e,t){return t?{point:t(e.point)}:e}function m8(e,t){return{x:e.x-t.x,y:e.y-t.y}}function fS({point:e},t){return{point:e,delta:m8(e,SL(t)),offset:m8(e,d1e(t)),velocity:f1e(t,.1)}}function d1e(e){return e[0]}function SL(e){return e[e.length-1]}function f1e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=SL(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ds(t)));)n--;if(!r)return{x:0,y:0};const o=No(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Ir(e){return e.max-e.min}function j2(e,t=0,n=.01){return Math.abs(e-t)<=n}function y8(e,t,n,r=.5){e.origin=r,e.originPoint=At(t.min,t.max,e.origin),e.scale=Ir(n)/Ir(t),(j2(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=At(n.min,n.max,e.origin)-e.originPoint,(j2(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Md(e,t,n,r){y8(e.x,t.x,n.x,r?r.originX:void 0),y8(e.y,t.y,n.y,r?r.originY:void 0)}function v8(e,t,n){e.min=n.min+t.min,e.max=e.min+Ir(t)}function h1e(e,t,n){v8(e.x,t.x,n.x),v8(e.y,t.y,n.y)}function b8(e,t,n){e.min=t.min-n.min,e.max=e.min+Ir(t)}function Nd(e,t,n){b8(e.x,t.x,n.x),b8(e.y,t.y,n.y)}function p1e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?At(n,e,r.max):Math.min(e,n)),e}function S8(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function g1e(e,{top:t,left:n,bottom:r,right:i}){return{x:S8(e.x,n,i),y:S8(e.y,t,r)}}function _8(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=qf(t.min,t.max-r,e.min):r>i&&(n=qf(e.min,e.max-i,t.min)),Ks(0,1,n)}function v1e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const V2=.35;function b1e(e=V2){return e===!1?e=0:e===!0&&(e=V2),{x:w8(e,"left","right"),y:w8(e,"top","bottom")}}function w8(e,t,n){return{min:x8(e,t),max:x8(e,n)}}function x8(e,t){return typeof e=="number"?e:e[t]||0}const C8=()=>({translate:0,scale:1,origin:0,originPoint:0}),gu=()=>({x:C8(),y:C8()}),T8=()=>({min:0,max:0}),Wt=()=>({x:T8(),y:T8()});function Li(e){return[e("x"),e("y")]}function _L({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function S1e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function _1e(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function hS(e){return e===void 0||e===1}function z2({scale:e,scaleX:t,scaleY:n}){return!hS(e)||!hS(t)||!hS(n)}function Ca(e){return z2(e)||wL(e)||e.z||e.rotate||e.rotateX||e.rotateY}function wL(e){return E8(e.x)||E8(e.y)}function E8(e){return e&&e!=="0%"}function fy(e,t,n){const r=e-n,i=t*r;return n+i}function P8(e,t,n,r,i){return i!==void 0&&(e=fy(e,i,r)),fy(e,n,r)+t}function U2(e,t=0,n=1,r,i){e.min=P8(e.min,t,n,r,i),e.max=P8(e.max,t,n,r,i)}function xL(e,{x:t,y:n}){U2(e.x,t.translate,t.scale,t.originPoint),U2(e.y,n.translate,n.scale,n.originPoint)}function w1e(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fs(e,t){e.min=e.min+t,e.max=e.max+t}function k8(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=At(e.min,e.max,o);U2(e,t[n],t[r],s,t.scale)}const x1e=["x","scaleX","originX"],C1e=["y","scaleY","originY"];function mu(e,t){k8(e.x,t,x1e),k8(e.y,t,C1e)}function CL(e,t){return _L(_1e(e.getBoundingClientRect(),t))}function T1e(e,t,n){const r=CL(e,n),{scroll:i}=t;return i&&(fs(r.x,i.offset.x),fs(r.y,i.offset.y)),r}const E1e=new WeakMap;class P1e{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Wt(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(o1(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=$D(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Li(p=>{let m=this.getAxisMotionValue(p).get()||0;if(Ji.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Ir(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&_t.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=A1e(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new bL(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&_t.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!qp(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=p1e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&hu(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=g1e(r.layoutBox,t):this.constraints=!1,this.elastic=b1e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Li(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=v1e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!hu(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=T1e(r,i.root,this.visualElement.getTransformPagePoint());let s=m1e(i.layout.layoutBox,o);if(n){const a=n(S1e(s));this.hasMutatedConstraints=!!a,a&&(s=_L(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Li(c=>{if(!qp(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(o3(t,r,0,n))}stopAnimation(){Li(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Li(n=>{const{drag:r}=this.getProps();if(!qp(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-At(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!hu(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Li(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=y1e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Li(s=>{if(!qp(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(At(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;E1e.set(this.visualElement,this);const t=this.visualElement.current,n=Mo(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();hu(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Ao(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Li(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=V2,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function qp(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function A1e(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class k1e extends ua{constructor(t){super(t),this.removeGroupControls=Qt,this.removeListeners=Qt,this.controls=new P1e(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Qt}unmount(){this.removeGroupControls(),this.removeListeners()}}const O8=e=>(t,n)=>{e&&_t.update(()=>e(t,n))};class O1e extends ua{constructor(){super(...arguments),this.removePointerDownListener=Qt}onPointerDown(t){this.session=new bL(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:O8(t),onStart:O8(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&_t.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Mo(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function R1e(){const e=k.useContext(Lh);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=k.useId();return k.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function x4e(){return I1e(k.useContext(Lh))}function I1e(e){return e===null?!0:e.isPresent}const Pg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function R8(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const od={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(me.test(e))e=parseFloat(e);else return e;const n=R8(e,t.target.x),r=R8(e,t.target.y);return`${n}% ${r}%`}},M1e={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xs.parse(e);if(i.length>5)return r;const o=Xs.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=At(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class N1e extends We.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Vye(D1e),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Pg.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||_t.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function TL(e){const[t,n]=R1e(),r=k.useContext(HC);return We.createElement(N1e,{...e,layoutGroup:r,switchLayoutGroup:k.useContext(SD),isPresent:t,safeToRemove:n})}const D1e={borderRadius:{...od,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:od,borderTopRightRadius:od,borderBottomLeftRadius:od,borderBottomRightRadius:od,boxShadow:M1e},EL=["TopLeft","TopRight","BottomLeft","BottomRight"],L1e=EL.length,I8=e=>typeof e=="string"?parseFloat(e):e,M8=e=>typeof e=="number"||me.test(e);function $1e(e,t,n,r,i,o){i?(e.opacity=At(0,n.opacity!==void 0?n.opacity:1,F1e(r)),e.opacityExit=At(t.opacity!==void 0?t.opacity:1,0,B1e(r))):o&&(e.opacity=At(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(qf(e,t,r))}function D8(e,t){e.min=t.min,e.max=t.max}function Vr(e,t){D8(e.x,t.x),D8(e.y,t.y)}function L8(e,t,n,r,i){return e-=t,e=fy(e,1/n,r),i!==void 0&&(e=fy(e,1/i,r)),e}function j1e(e,t=0,n=1,r=.5,i,o=e,s=e){if(Ji.test(t)&&(t=parseFloat(t),t=At(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=At(o.min,o.max,r);e===o&&(a-=t),e.min=L8(e.min,t,n,a,i),e.max=L8(e.max,t,n,a,i)}function $8(e,t,[n,r,i],o,s){j1e(e,t[n],t[r],t[i],t.scale,o,s)}const V1e=["x","scaleX","originX"],z1e=["y","scaleY","originY"];function F8(e,t,n,r){$8(e.x,t,V1e,n?n.x:void 0,r?r.x:void 0),$8(e.y,t,z1e,n?n.y:void 0,r?r.y:void 0)}function B8(e){return e.translate===0&&e.scale===1}function AL(e){return B8(e.x)&&B8(e.y)}function G2(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function j8(e){return Ir(e.x)/Ir(e.y)}class U1e{constructor(){this.members=[]}add(t){s3(this.members,t),t.scheduleRender()}remove(t){if(a3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function V8(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const G1e=(e,t)=>e.depth-t.depth;class H1e{constructor(){this.children=[],this.isDirty=!1}add(t){s3(this.children,t),this.isDirty=!0}remove(t){a3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(G1e),this.isDirty=!1,this.children.forEach(t)}}function q1e(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Uo(r),e(o-t))};return _t.read(r,!0),()=>Uo(r)}function W1e(e){window.MotionDebug&&window.MotionDebug.record(e)}function K1e(e){return e instanceof SVGElement&&e.tagName!=="svg"}function X1e(e,t,n){const r=_r(e)?e:uc(e);return r.start(o3("",r,t,n)),r.animation}const z8=["","X","Y","Z"],U8=1e3;let Y1e=0;const Ta={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kL({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Y1e++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ta.totalNodes=Ta.resolvedTargetDeltas=Ta.recalculatedProjection=0,this.nodes.forEach(J1e),this.nodes.forEach(ibe),this.nodes.forEach(obe),this.nodes.forEach(ebe),W1e(Ta)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=q1e(f,250),Pg.hasAnimatedSinceResize&&(Pg.hasAnimatedSinceResize=!1,this.nodes.forEach(H8))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||cbe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!G2(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...gL(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||H8(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Uo(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(sbe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(tbe),this.sharedNodes.forEach(abe)}scheduleUpdateProjection(){_t.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){_t.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;q8(d.x,s.x,_),q8(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Nd(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),lbe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&G2(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=Wt()),Vr(g,this.relativeTarget)),m&&(this.animationValues=c,$1e(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Uo(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=_t.update(()=>{Pg.hasAnimatedSinceResize=!0,this.currentAnimation=X1e(0,U8,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(U8),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&OL(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Wt();const d=Ir(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Ir(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}Vr(a,l),mu(a,c),Md(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new U1e),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(G8),this.root.sharedNodes.clear()}}}function Q1e(e){e.updateLayout()}function Z1e(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(f);f.min=r[d].min,f.max=f.min+h}):OL(o,n.layoutBox,r)&&Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=gu();Md(a,r,n.layoutBox);const l=gu();s?Md(l,e.applyTransform(i,!0),n.measuredBox):Md(l,r,n.layoutBox);const u=!AL(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=Wt();Nd(p,n.layoutBox,f.layoutBox);const m=Wt();Nd(m,r,h.layoutBox),G2(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function J1e(e){Ta.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function ebe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function tbe(e){e.clearSnapshot()}function G8(e){e.clearMeasurements()}function nbe(e){e.isLayoutDirty=!1}function rbe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function H8(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function ibe(e){e.resolveTargetDelta()}function obe(e){e.calcProjection()}function sbe(e){e.resetRotation()}function abe(e){e.removeLeadSnapshot()}function q8(e,t,n){e.translate=At(t.translate,0,n),e.scale=At(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function W8(e,t,n,r){e.min=At(t.min,n.min,r),e.max=At(t.max,n.max,r)}function lbe(e,t,n,r){W8(e.x,t.x,n.x,r),W8(e.y,t.y,n.y,r)}function ube(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const cbe={duration:.45,ease:[.4,0,.1,1]};function K8(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function dbe(e){K8(e.x),K8(e.y)}function OL(e,t,n){return e==="position"||e==="preserve-aspect"&&!j2(j8(t),j8(n),.2)}const fbe=kL({attachResizeListener:(e,t)=>Ao(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),pS={current:void 0},RL=kL({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!pS.current){const e=new fbe({});e.mount(window),e.setOptions({layoutScroll:!0}),pS.current=e}return pS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),hbe={pan:{Feature:O1e},drag:{Feature:k1e,ProjectionNode:RL,MeasureLayout:TL}},pbe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function gbe(e){const t=pbe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function H2(e,t,n=1){const[r,i]=gbe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():M2(i)?H2(i,t,n+1):i}function mbe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!M2(o))return;const s=H2(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!M2(o))continue;const s=H2(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const ybe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),IL=e=>ybe.has(e),vbe=e=>Object.keys(e).some(IL),X8=e=>e===Pl||e===me,Y8=(e,t)=>parseFloat(e.split(", ")[t]),Q8=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return Y8(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?Y8(o[1],e):0}},bbe=new Set(["x","y","z"]),Sbe=$h.filter(e=>!bbe.has(e));function _be(e){const t=[];return Sbe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const cc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:Q8(4,13),y:Q8(5,14)};cc.translateX=cc.x;cc.translateY=cc.y;const wbe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=cc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=cc[u](l,o)}),e},xbe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(IL);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=id(c);const f=t[l];let h;if(ay(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=id(c);for(let S=m;S=0?window.pageYOffset:null,u=wbe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),t1&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Cbe(e,t,n,r){return vbe(t)?xbe(e,t,n,r):{target:t,transitionEnd:r}}const Tbe=(e,t,n,r)=>{const i=mbe(e,t,r);return t=i.target,r=i.transitionEnd,Cbe(e,t,n,r)},q2={current:null},ML={current:!1};function Ebe(){if(ML.current=!0,!!t1)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>q2.current=e.matches;e.addListener(t),t()}else q2.current=!1}function Pbe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(_r(o))e.addValue(i,o),dy(r)&&r.add(i);else if(_r(s))e.addValue(i,uc(o,{owner:e})),dy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,uc(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const Z8=new WeakMap,NL=Object.keys(Hf),Abe=NL.length,J8=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],kbe=GC.length;class Obe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>_t.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=r1(n),this.isVariantNode=bD(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&_r(f)&&(f.set(a[d],!1),dy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,Z8.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),ML.current||Ebe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:q2.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){Z8.delete(this.current),this.projection&&this.projection.unmount(),Uo(this.notifyUpdate),Uo(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=El.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&_t.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Wt()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=uc(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=JC(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!_r(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new l3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class DL extends Obe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Xve(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Wve(this,r,s);const a=Tbe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Rbe(e){return window.getComputedStyle(e)}class Ibe extends DL{readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}else{const r=Rbe(t),i=(xD(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return CL(t,n)}build(t,n,r,i){WC(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return ZC(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;_r(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kD(t,n,r,i)}}class Mbe extends DL{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}return n=OD.has(n)?n:QC(n),t.getAttribute(n)}measureInstanceViewportBox(){return Wt()}scrapeMotionValuesFromProps(t,n){return ID(t,n)}build(t,n,r,i){XC(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){RD(t,n,r,i)}mount(t){this.isSVGTag=YC(t.tagName),super.mount(t)}}const Nbe=(e,t)=>qC(e)?new Mbe(t,{enableHardwareAcceleration:!1}):new Ibe(t,{enableHardwareAcceleration:!0}),Dbe={layout:{ProjectionNode:RL,MeasureLayout:TL}},Lbe={...u1e,...O0e,...hbe,...Dbe},$be=Bye((e,t)=>p0e(e,t,Lbe,Nbe));function LL(){const e=k.useRef(!1);return iy(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Fbe(){const e=LL(),[t,n]=k.useState(0),r=k.useCallback(()=>{e.current&&n(t+1)},[t]);return[k.useCallback(()=>_t.postRender(r),[r]),t]}class Bbe extends k.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function jbe({children:e,isPresent:t}){const n=k.useId(),r=k.useRef(null),i=k.useRef({width:0,height:0,top:0,left:0});return k.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` + [data-motion-pop-id="${n}"] { + position: absolute !important; + width: ${o}px !important; + height: ${s}px !important; + top: ${a}px !important; + left: ${l}px !important; + } + `),()=>{document.head.removeChild(u)}},[t]),k.createElement(Bbe,{isPresent:t,childRef:r,sizeRef:i},k.cloneElement(e,{ref:r}))}const gS=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=MD(Vbe),l=k.useId(),u=k.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return k.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),k.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=k.createElement(jbe,{isPresent:n},e)),k.createElement(Lh.Provider,{value:u},e)};function Vbe(){return new Map}function zbe(e){return k.useEffect(()=>()=>e(),[])}const Ql=e=>e.key||"";function Ube(e,t){e.forEach(n=>{const r=Ql(n);t.set(r,n)})}function Gbe(e){const t=[];return k.Children.forEach(e,n=>{k.isValidElement(n)&&t.push(n)}),t}const Hbe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=k.useContext(HC).forceRender||Fbe()[0],l=LL(),u=Gbe(e);let c=u;const d=k.useRef(new Map).current,f=k.useRef(c),h=k.useRef(new Map).current,p=k.useRef(!0);if(iy(()=>{p.current=!1,Ube(u,h),f.current=c}),zbe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return k.createElement(k.Fragment,null,c.map(y=>k.createElement(gS,{key:Ql(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(Ql),S=u.map(Ql),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const T=f.current.findIndex(P=>P.key===g);if(f.current.splice(T,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=k.createElement(gS,{key:Ql(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:k.createElement(gS,{key:Ql(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),k.createElement(k.Fragment,null,d.size?c:c.map(y=>k.cloneElement(y)))};var qbe=Ige({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),$L=Tl((e,t)=>{const n=mD("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=fD(e),u=oD("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${qbe} ${o} linear infinite`,...n};return K.jsx(sl.div,{ref:t,__css:c,className:u,...l,children:r&&K.jsx(sl.span,{srOnly:!0,children:r})})});$L.displayName="Spinner";var W2=Tl(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return K.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});W2.displayName="NativeImage";function Wbe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=k.useState("pending");k.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=k.useRef(),f=k.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Mge(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var Kbe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function Xbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var u3=Tl(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=Wbe({...t,crossOrigin:d,ignoreFallback:S}),y=Kbe(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:Xbe(p,["onError","onLoad"])};return y?i||K.jsx(sl.img,{as:W2,className:"chakra-image__placeholder",src:r,...g}):K.jsx(sl.img,{as:W2,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});u3.displayName="Image";var Ybe=rye?k.useLayoutEffect:k.useEffect;function eP(e,t=[]){const n=k.useRef(e);return Ybe(()=>{n.current=e}),k.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Qbe(e,t){const n=k.useId();return k.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function Zbe(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Jbe(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=eP(n),s=eP(t),[a,l]=k.useState(e.defaultIsOpen||!1),[u,c]=Zbe(r,a),d=Qbe(i,"disclosure"),f=k.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=k.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=k.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:cye(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}var K2=Tl(function(t,n){const r=mD("Heading",t),{className:i,...o}=fD(t);return K.jsx(sl.h2,{ref:n,className:oD("chakra-heading",t.className),...o,__css:r})});K2.displayName="Heading";var c3=sl("div");c3.displayName="Box";var FL=Tl(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return K.jsx(c3,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});FL.displayName="Square";var eSe=Tl(function(t,n){const{size:r,...i}=t;return K.jsx(FL,{size:r,ref:n,borderRadius:"9999px",...i})});eSe.displayName="Circle";var d3=Tl(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return K.jsx(sl.div,{ref:n,__css:d,...c})});d3.displayName="Flex";const tSe=""+new URL("logo-13003d72.png",import.meta.url).href,nSe=()=>K.jsxs(d3,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[K.jsx(u3,{src:tSe,w:"8rem",h:"8rem"}),K.jsx($L,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),rSe=k.memo(nSe);function X2(e){"@babel/helpers - typeof";return X2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X2(e)}var BL=[],iSe=BL.forEach,oSe=BL.slice;function Y2(e){return iSe.call(oSe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function jL(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":X2(XMLHttpRequest))==="object"}function sSe(e){return!!e&&typeof e.then=="function"}function aSe(e){return sSe(e)?e:Promise.resolve(e)}function lSe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Q2={exports:{}},Wp={exports:{}},tP;function uSe(){return tP||(tP=1,function(e,t){var n=typeof self<"u"?self:Ee,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(C){return C&&DataView.prototype.isPrototypeOf(C)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(C){return C&&u.indexOf(Object.prototype.toString.call(C))>-1};function d(C){if(typeof C!="string"&&(C=String(C)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(C))throw new TypeError("Invalid character in header field name");return C.toLowerCase()}function f(C){return typeof C!="string"&&(C=String(C)),C}function h(C){var O={next:function(){var I=C.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(C){this.map={},C instanceof p?C.forEach(function(O,I){this.append(I,O)},this):Array.isArray(C)?C.forEach(function(O){this.append(O[0],O[1])},this):C&&Object.getOwnPropertyNames(C).forEach(function(O){this.append(O,C[O])},this)}p.prototype.append=function(C,O){C=d(C),O=f(O);var I=this.map[C];this.map[C]=I?I+", "+O:O},p.prototype.delete=function(C){delete this.map[d(C)]},p.prototype.get=function(C){return C=d(C),this.has(C)?this.map[C]:null},p.prototype.has=function(C){return this.map.hasOwnProperty(d(C))},p.prototype.set=function(C,O){this.map[d(C)]=f(O)},p.prototype.forEach=function(C,O){for(var I in this.map)this.map.hasOwnProperty(I)&&C.call(O,this.map[I],I,this)},p.prototype.keys=function(){var C=[];return this.forEach(function(O,I){C.push(I)}),h(C)},p.prototype.values=function(){var C=[];return this.forEach(function(O){C.push(O)}),h(C)},p.prototype.entries=function(){var C=[];return this.forEach(function(O,I){C.push([I,O])}),h(C)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(C){if(C.bodyUsed)return Promise.reject(new TypeError("Already read"));C.bodyUsed=!0}function S(C){return new Promise(function(O,I){C.onload=function(){O(C.result)},C.onerror=function(){I(C.error)}})}function v(C){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(C),I}function y(C){var O=new FileReader,I=S(O);return O.readAsText(C),I}function g(C){for(var O=new Uint8Array(C),I=new Array(O.length),N=0;N-1?O:C}function T(C,O){O=O||{};var I=O.body;if(C instanceof T){if(C.bodyUsed)throw new TypeError("Already read");this.url=C.url,this.credentials=C.credentials,O.headers||(this.headers=new p(C.headers)),this.method=C.method,this.mode=C.mode,this.signal=C.signal,!I&&C._bodyInit!=null&&(I=C._bodyInit,C.bodyUsed=!0)}else this.url=String(C);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})};function P(C){var O=new FormData;return C.trim().split("&").forEach(function(I){if(I){var N=I.split("="),R=N.shift().replace(/\+/g," "),D=N.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function E(C){var O=new p,I=C.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(N){var R=N.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(T.prototype);function A(C,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(C)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var C=new A(null,{status:0,statusText:""});return C.type="error",C};var $=[301,302,303,307,308];A.redirect=function(C,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:C}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var N=Error(O);this.stack=N.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function M(C,O){return new Promise(function(I,N){var R=new T(C,O);if(R.signal&&R.signal.aborted)return N(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var j={status:D.status,statusText:D.statusText,headers:E(D.getAllResponseHeaders()||"")};j.url="responseURL"in D?D.responseURL:j.headers.get("X-Request-URL");var U="response"in D?D.response:D.responseText;I(new A(U,j))},D.onerror=function(){N(new TypeError("Network request failed"))},D.ontimeout=function(){N(new TypeError("Network request failed"))},D.onabort=function(){N(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(j,U){D.setRequestHeader(U,j)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return M.polyfill=!0,o.fetch||(o.fetch=M,o.Headers=p,o.Request=T,o.Response=A),s.Headers=p,s.Request=T,s.Response=A,s.fetch=M,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Wp,Wp.exports)),Wp.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ee<"u"&&Ee.fetch?n=Ee.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof lSe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||uSe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Q2,Q2.exports);var VL=Q2.exports;const zL=al(VL),nP=OP({__proto__:null,default:zL},[VL]);function hy(e){"@babel/helpers - typeof";return hy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hy(e)}var Do;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Do=global.fetch:typeof window<"u"&&window.fetch?Do=window.fetch:Do=fetch);var Wf;jL()&&(typeof global<"u"&&global.XMLHttpRequest?Wf=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Wf=window.XMLHttpRequest));var py;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?py=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(py=window.ActiveXObject));!Do&&nP&&!Wf&&!py&&(Do=zL||nP);typeof Do!="function"&&(Do=void 0);var Z2=function(t,n){if(n&&hy(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},rP=function(t,n,r){Do(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},iP=!1,cSe=function(t,n,r,i){t.queryStringParams&&(n=Z2(n,t.queryStringParams));var o=Y2({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=Y2({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},iP?{}:s);try{rP(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),rP(n,a,i),iP=!0}catch(u){i(u)}}},dSe=function(t,n,r,i){r&&hy(r)==="object"&&(r=Z2("",r).slice(1)),t.queryStringParams&&(n=Z2(n,t.queryStringParams));try{var o;Wf?o=new Wf:o=new py("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},fSe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Do&&n.indexOf("file:")!==0)return cSe(t,n,r,i);if(jL()||typeof ActiveXObject=="function")return dSe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Kf(e){"@babel/helpers - typeof";return Kf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kf(e)}function hSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oP(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};hSe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return pSe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Y2(i,this.options||{},ySe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=aSe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();GL.type="backend";const vSe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,bSe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},SSe=e=>bSe[e],_Se=e=>e.replace(vSe,SSe);let J2={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:_Se};function wSe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};J2={...J2,...e}}function T4e(){return J2}let HL;function xSe(e){HL=e}function E4e(){return HL}const CSe={type:"3rdParty",init(e){wSe(e.options.react),xSe(e)}};zn.use(GL).use(CSe).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const TSe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{fe("socketio").debug("Connected"),r(n7());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(Vx({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Ft(Ga({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(i7())}),t.on("invocation_started",o=>{r(u7({data:o}))}),t.on("generator_progress",o=>{r(g7({data:o}))}),t.on("invocation_error",o=>{r(f7({data:o}))}),t.on("invocation_complete",o=>{r(zx({data:o}))}),t.on("graph_execution_state_complete",o=>{r(h7({data:o}))}),t.on("model_load_started",o=>{r(y7({data:o}))}),t.on("model_load_completed",o=>{r(v7({data:o}))}),t.on("session_retrieval_error",o=>{r(b7({data:o}))}),t.on("invocation_retrieval_error",o=>{r(_7({data:o}))})},ro=Object.create(null);ro.open="0";ro.close="1";ro.ping="2";ro.pong="3";ro.message="4";ro.upgrade="5";ro.noop="6";const Ag=Object.create(null);Object.keys(ro).forEach(e=>{Ag[ro[e]]=e});const ESe={type:"error",data:"parser error"},qL=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",WL=typeof ArrayBuffer=="function",KL=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f3=({type:e,data:t},n,r)=>qL&&t instanceof Blob?n?r(t):sP(t,r):WL&&(t instanceof ArrayBuffer||KL(t))?n?r(t):sP(new Blob([t]),r):r(ro[e]+(t||"")),sP=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function aP(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let mS;function PSe(e,t){if(qL&&e.data instanceof Blob)return e.data.arrayBuffer().then(aP).then(t);if(WL&&(e.data instanceof ArrayBuffer||KL(e.data)))return t(aP(e.data));f3(e,!1,n=>{mS||(mS=new TextEncoder),t(mS.encode(n))})}const lP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",md=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;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[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},kSe=typeof ArrayBuffer=="function",h3=(e,t)=>{if(typeof e!="string")return{type:"message",data:XL(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:OSe(e.substring(1),t)}:Ag[n]?e.length>1?{type:Ag[n],data:e.substring(1)}:{type:Ag[n]}:ESe},OSe=(e,t)=>{if(kSe){const n=ASe(e);return XL(n,t)}else return{base64:!0,data:e}},XL=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},YL=String.fromCharCode(30),RSe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{f3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(YL))})})},ISe=(e,t)=>{const n=e.split(YL),r=[];for(let i=0;i54;return h3(r?e:yS.decode(e),n)}const QL=4;function Zt(e){if(e)return NSe(e)}function NSe(e){for(var t in Zt.prototype)e[t]=Zt.prototype[t];return e}Zt.prototype.on=Zt.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Zt.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Zt.prototype.off=Zt.prototype.removeListener=Zt.prototype.removeAllListeners=Zt.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,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function ZL(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const DSe=qr.setTimeout,LSe=qr.clearTimeout;function a1(e,t){t.useNativeTimers?(e.setTimeoutFn=DSe.bind(qr),e.clearTimeoutFn=LSe.bind(qr)):(e.setTimeoutFn=qr.setTimeout.bind(qr),e.clearTimeoutFn=qr.clearTimeout.bind(qr))}const $Se=1.33;function FSe(e){return typeof e=="string"?BSe(e):Math.ceil((e.byteLength||e.size)*$Se)}function BSe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function jSe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function VSe(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function e$(){const e=dP(+new Date);return e!==cP?(uP=0,cP=e):e+"."+dP(uP++)}for(;Kp{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)};ISe(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,RSe(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]=e$()),!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 $u(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,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}}let $u=class kg extends Zt{constructor(t,n){super(),a1(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=ZL(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new n$(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}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 i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.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(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=kg.requestsCount++,kg.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=HSe,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete kg.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()}};$u.requestsCount=0;$u.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",fP);else if(typeof addEventListener=="function"){const e="onpagehide"in qr?"pagehide":"unload";addEventListener(e,fP,!1)}}function fP(){for(let e in $u.requests)$u.requests.hasOwnProperty(e)&&$u.requests[e].abort()}const g3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),Xp=qr.WebSocket||qr.MozWebSocket,hP=!0,KSe="arraybuffer",pP=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class XSe extends p3{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=pP?{}:ZL(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=hP&&!pP?n?new Xp(t,n):new Xp(t):new Xp(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||KSe,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 s={};try{hP&&this.ws.send(o)}catch{}i&&g3(()=>{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]=e$()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!Xp}}function YSe(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class QSe extends p3{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=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(MSe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{YSe(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&g3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const ZSe={websocket:XSe,webtransport:QSe,polling:WSe},JSe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e_e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function tw(e){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 i=JSe.exec(e||""),o={},s=14;for(;s--;)o[e_e[s]]=i[s]||"";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=t_e(o,o.path),o.queryKey=n_e(o,o.query),o}function t_e(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 n_e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let r$=class Zl extends Zt{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=tw(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=tw(n.host).host),a1(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=VSe(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=QL,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 ZSe[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Zl.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;Zl.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Zl.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 f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Zl.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,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=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),i&&this.once("flush",i),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){Zl.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 i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,i$=Object.prototype.toString,s_e=typeof Blob=="function"||typeof Blob<"u"&&i$.call(Blob)==="[object BlobConstructor]",a_e=typeof File=="function"||typeof File<"u"&&i$.call(File)==="[object FileConstructor]";function m3(e){return i_e&&(e instanceof ArrayBuffer||o_e(e))||s_e&&e instanceof Blob||a_e&&e instanceof File}function Og(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 s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),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((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(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:Me.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 Me.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 Me.EVENT:case Me.BINARY_EVENT:this.onevent(t);break;case Me.ACK:case Me.BINARY_ACK:this.onack(t);break;case Me.DISCONNECT:this.ondisconnect();break;case Me.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(...i){r||(r=!0,n.packet({type:Me.ACK,id:t,data:i}))}}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:Me.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}Tc.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};Tc.prototype.reset=function(){this.attempts=0};Tc.prototype.setMin=function(e){this.ms=e};Tc.prototype.setMax=function(e){this.max=e};Tc.prototype.setJitter=function(e){this.jitter=e};class iw extends Zt{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,a1(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 Tc({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||p_e;this.encoder=new i.Encoder,this.decoder=new i.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 r$(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=ui(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=ui(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(ui(t,"ping",this.onping.bind(this)),ui(t,"data",this.ondata.bind(this)),ui(t,"error",this.onerror.bind(this)),ui(t,"close",this.onclose.bind(this)),ui(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){g3(()=>{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 o$(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(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):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 sd={};function Rg(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=r_e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=sd[i]&&o in sd[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new iw(r,t):(sd[i]||(sd[i]=new iw(r,t)),l=sd[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Rg,{Manager:iw,Socket:o$,io:Rg,connect:Rg});const mP=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=Tf.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=Cf.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Rg(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(TSe({storeApi:o,socket:r}),e=!0,r.connect()),On.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(a7({sessionId:d}))),r.emit("subscribe",{session:c}),l(Vx({sessionId:c}))}s(a)}},l1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Ec(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function v3(e){return"nodeType"in e}function or(e){var t,n;return e?Ec(e)?e:v3(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function b3(e){const{Document:t}=or(e);return e instanceof t}function Vh(e){return Ec(e)?!1:e instanceof or(e).HTMLElement}function m_e(e){return e instanceof or(e).SVGElement}function Pc(e){return e?Ec(e)?e.document:v3(e)?b3(e)?e:Vh(e)?e.ownerDocument:document:document:document}const io=l1?k.useLayoutEffect:k.useEffect;function u1(e){const t=k.useRef(e);return io(()=>{t.current=e}),k.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=k.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xf(e,t){t===void 0&&(t=[e]);const n=k.useRef(e);return io(()=>{n.current!==e&&(n.current=e)},t),n}function zh(e,t){const n=k.useRef();return k.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function gy(e){const t=u1(e),n=k.useRef(null),r=k.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function my(e){const t=k.useRef();return k.useEffect(()=>{t.current=e},[e]),t.current}let vS={};function c1(e,t){return k.useMemo(()=>{if(t)return t;const n=vS[e]==null?0:vS[e]+1;return vS[e]=n,e+"-"+n},[e,t])}function s$(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const Fu=s$(1),yy=s$(-1);function v_e(e){return"clientX"in e&&"clientY"in e}function S3(e){if(!e)return!1;const{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function b_e(e){if(!e)return!1;const{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Yf(e){if(b_e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return v_e(e)?{x:e.clientX,y:e.clientY}:null}const Qf=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qf.Translate.toString(e),Qf.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),yP="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function S_e(e){return e.matches(yP)?e:e.querySelector(yP)}const __e={display:"none"};function w_e(e){let{id:t,value:n}=e;return We.createElement("div",{id:t,style:__e},n)}const x_e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function C_e(e){let{id:t,announcement:n}=e;return We.createElement("div",{id:t,style:x_e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function T_e(){const[e,t]=k.useState("");return{announce:k.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const a$=k.createContext(null);function E_e(e){const t=k.useContext(a$);k.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function P_e(){const[e]=k.useState(()=>new Set),t=k.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[k.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const A_e={draggable:` + To pick up a draggable item, press the space bar. + While dragging, use the arrow keys to move the item. + Press space again to drop the item in its new position, or press escape to cancel. + `},k_e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function O_e(e){let{announcements:t=k_e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=A_e}=e;const{announce:o,announcement:s}=T_e(),a=c1("DndLiveRegion"),[l,u]=k.useState(!1);if(k.useEffect(()=>{u(!0)},[]),E_e(k.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=We.createElement(We.Fragment,null,We.createElement(w_e,{id:r,value:i.draggable}),We.createElement(C_e,{id:a,announcement:s}));return n?zi.createPortal(c,n):c}var nn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(nn||(nn={}));function vy(){}function vP(e,t){return k.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function R_e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Ei=Object.freeze({x:0,y:0});function I_e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function M_e(e,t){const n=Yf(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function N_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function D_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function L_e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function $_e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function F_e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=F_e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(D_e)};function j_e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const V_e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&j_e(r,a)){const u=L_e(a).reduce((d,f)=>d+I_e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(N_e)};function z_e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function l$(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ei}function U_e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const G_e=U_e(1);function u$(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function H_e(e,t,n){const r=u$(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const q_e={ignoreTransform:!1};function Uh(e,t){t===void 0&&(t=q_e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=or(e).getComputedStyle(e);u&&(n=H_e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function bP(e){return Uh(e,{ignoreTransform:!0})}function W_e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function K_e(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position==="fixed"}function X_e(e,t){t===void 0&&(t=or(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _3(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(b3(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Vh(i)||m_e(i)||n.includes(i))return n;const o=or(e).getComputedStyle(i);return i!==e&&X_e(i,o)&&n.push(i),K_e(i,o)?n:r(i.parentNode)}return e?r(e):n}function c$(e){const[t]=_3(e,1);return t??null}function bS(e){return!l1||!e?null:Ec(e)?e:v3(e)?b3(e)||e===Pc(e).scrollingElement?window:Vh(e)?e:null:null}function d$(e){return Ec(e)?e.scrollX:e.scrollLeft}function f$(e){return Ec(e)?e.scrollY:e.scrollTop}function ow(e){return{x:d$(e),y:f$(e)}}var hn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(hn||(hn={}));function h$(e){return!l1||!e?!1:e===document.scrollingElement}function p$(e){const t={x:0,y:0},n=h$(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const Y_e={x:.2,y:.2};function Q_e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=Y_e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=p$(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=hn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=hn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=hn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=hn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function Z_e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function g$(e){return e.reduce((t,n)=>Fu(t,ow(n)),Ei)}function J_e(e){return e.reduce((t,n)=>t+d$(n),0)}function e2e(e){return e.reduce((t,n)=>t+f$(n),0)}function m$(e,t){if(t===void 0&&(t=Uh),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);c$(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const t2e=[["x",["left","right"],J_e],["y",["top","bottom"],e2e]];class w3{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_3(n),i=g$(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of t2e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Dd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function n2e(e){const{EventTarget:t}=or(e);return e instanceof t?e:Pc(e)}function SS(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var Ur;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ur||(Ur={}));function SP(e){e.preventDefault()}function r2e(e){e.stopPropagation()}var st;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(st||(st={}));const y$={start:[st.Space,st.Enter],cancel:[st.Esc],end:[st.Space,st.Enter]},i2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case st.Right:return{...n,x:n.x+25};case st.Left:return{...n,x:n.x-25};case st.Down:return{...n,y:n.y+25};case st.Up:return{...n,y:n.y-25}}};class v${constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Dd(Pc(n)),this.windowListeners=new Dd(or(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ur.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&m$(r),n(Ei)}handleKeyDown(t){if(S3(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=y$,coordinateGetter:s=i2e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Ei;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=yy(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=p$(m),x=Z_e(m),T={x:Math.min(S===st.Right?x.right-x.width/2:x.right,Math.max(S===st.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===st.Down?x.bottom-x.height/2:x.bottom,Math.max(S===st.Down?x.top:x.top+x.height/2,d.y))},P=S===st.Right&&!y||S===st.Left&&!g,E=S===st.Down&&!b||S===st.Up&&!v;if(P&&T.x!==d.x){const A=m.scrollLeft+f.x,$=S===st.Right&&A<=_.x||S===st.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===st.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(E&&T.y!==d.y){const A=m.scrollTop+f.y,$=S===st.Down&&A<=_.y||S===st.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===st.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Fu(yy(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}v$.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=y$,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function _P(e){return!!(e&&"distance"in e)}function wP(e){return!!(e&&"delay"in e)}class x3{constructor(t,n,r){var i;r===void 0&&(r=n2e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Pc(s),this.documentListeners=new Dd(this.document),this.listeners=new Dd(r),this.windowListeners=new Dd(or(s)),this.initialCoordinates=(i=Yf(o))!=null?i:Ei,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.DragStart,SP),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),this.windowListeners.add(Ur.ContextMenu,SP),this.documentListeners.add(Ur.Keydown,this.handleKeydown),n){if(_P(n))return;if(wP(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ur.Click,r2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ur.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Yf(t))!=null?n:Ei,u=yy(i,l);if(!r&&a){if(wP(a))return SS(u,a.tolerance)?this.handleCancel():void 0;if(_P(a))return a.tolerance!=null&&SS(u,a.tolerance)?this.handleCancel():SS(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===st.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const o2e={move:{name:"pointermove"},end:{name:"pointerup"}};class b$ extends x3{constructor(t){const{event:n}=t,r=Pc(n.target);super(t,o2e,r)}}b$.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const s2e={move:{name:"mousemove"},end:{name:"mouseup"}};var sw;(function(e){e[e.RightClick=2]="RightClick"})(sw||(sw={}));class S$ extends x3{constructor(t){super(t,s2e,Pc(t.event.target))}}S$.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===sw.RightClick?!1:(r==null||r({event:n}),!0)}}];const _S={move:{name:"touchmove"},end:{name:"touchend"}};class _$ extends x3{constructor(t){super(t,_S)}static setup(){return window.addEventListener(_S.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(_S.move.name,t)};function t(){}}}_$.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Ld;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Ld||(Ld={}));var by;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(by||(by={}));function a2e(e){let{acceleration:t,activator:n=Ld.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=by.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=u2e({delta:d,disabled:!o}),[p,m]=y_e(),S=k.useRef({x:0,y:0}),v=k.useRef({x:0,y:0}),y=k.useMemo(()=>{switch(n){case Ld.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Ld.DraggableRect:return i}},[n,i,l]),g=k.useRef(null),b=k.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,T=S.current.y*v.current.y;w.scrollBy(x,T)},[]),_=k.useMemo(()=>a===by.TreeOrder?[...u].reverse():u,[a,u]);k.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),T=c[x];if(!T)continue;const{direction:P,speed:E}=Q_e(w,T,y,t,f);for(const A of["x","y"])h[A][P[A]]||(E[A]=0,P[A]=0);if(E.x>0||E.y>0){m(),g.current=w,p(b,s),S.current=E,v.current=P;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const l2e={x:{[hn.Backward]:!1,[hn.Forward]:!1},y:{[hn.Backward]:!1,[hn.Forward]:!1}};function u2e(e){let{delta:t,disabled:n}=e;const r=my(t);return zh(i=>{if(n||!r||!i)return l2e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[hn.Backward]:i.x[hn.Backward]||o.x===-1,[hn.Forward]:i.x[hn.Forward]||o.x===1},y:{[hn.Backward]:i.y[hn.Backward]||o.y===-1,[hn.Forward]:i.y[hn.Forward]||o.y===1}}},[n,t,r])}function c2e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zh(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function d2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Zf;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Zf||(Zf={}));var aw;(function(e){e.Optimized="optimized"})(aw||(aw={}));const xP=new Map;function f2e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=k.useState(null),{frequency:a,measure:l,strategy:u}=i,c=k.useRef(e),d=S(),f=Xf(d),h=k.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=k.useRef(null),m=zh(v=>{if(d&&!n)return xP;if(!v||v===xP||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new w3(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return k.useEffect(()=>{c.current=e},[e]),k.useEffect(()=>{d||h()},[n,d]),k.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),k.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Zf.Always:return!1;case Zf.BeforeDragging:return n;default:return!n}}}function C3(e,t){return zh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function h2e(e,t){return C3(e,t)}function p2e(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function d1(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function g2e(e){return new w3(Uh(e),e)}function CP(e,t,n){t===void 0&&(t=g2e);const[r,i]=k.useReducer(a,null),o=p2e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=d1({callback:i});return io(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function m2e(e){const t=C3(e);return l$(e,t)}const TP=[];function y2e(e){const t=k.useRef(e),n=zh(r=>e?r&&r!==TP&&e&&t.current&&e.parentNode===t.current.parentNode?r:_3(e):TP,[e]);return k.useEffect(()=>{t.current=e},[e]),n}function v2e(e){const[t,n]=k.useState(null),r=k.useRef(e),i=k.useCallback(o=>{const s=bS(o.target);s&&n(a=>a?(a.set(s,ow(s)),new Map(a)):null)},[]);return k.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=bS(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,ow(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=bS(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),k.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>Fu(o,s),Ei):g$(e):Ei,[e,t])}function EP(e,t){t===void 0&&(t=[]);const n=k.useRef(null);return k.useEffect(()=>{n.current=null},t),k.useEffect(()=>{const r=e!==Ei;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?yy(e,n.current):Ei}function b2e(e){k.useEffect(()=>{if(!l1)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function S2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function w$(e){return k.useMemo(()=>e?W_e(e):null,[e])}const wS=[];function _2e(e,t){t===void 0&&(t=Uh);const[n]=e,r=w$(n?or(n):null),[i,o]=k.useReducer(a,wS),s=d1({callback:o});return e.length>0&&i===wS&&o(),io(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>h$(l)?r:new w3(t(l),l)):wS}}function x$(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Vh(t)?t:e}function w2e(e){let{measure:t}=e;const[n,r]=k.useState(null),i=k.useCallback(u=>{for(const{target:c}of u)if(Vh(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=d1({callback:i}),s=k.useCallback(u=>{const c=x$(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=gy(s);return k.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const x2e=[{sensor:b$,options:{}},{sensor:v$,options:{}}],C2e={current:{}},Ig={draggable:{measure:bP},droppable:{measure:bP,strategy:Zf.WhileDragging,frequency:aw.Optimized},dragOverlay:{measure:Uh}};class $d extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const T2e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new $d,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:vy},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ig,measureDroppableContainers:vy,windowRect:null,measuringScheduled:!1},C$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:vy,draggableNodes:new Map,over:null,measureDroppableContainers:vy},Gh=k.createContext(C$),T$=k.createContext(T2e);function E2e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new $d}}}function P2e(e,t){switch(t.type){case nn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case nn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case nn.DragEnd:case nn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case nn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new $d(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case nn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new $d(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case nn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new $d(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function A2e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=k.useContext(Gh),o=my(r),s=my(n==null?void 0:n.id);return k.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!S3(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=S_e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function E$(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function k2e(e){return k.useMemo(()=>({draggable:{...Ig.draggable,...e==null?void 0:e.draggable},droppable:{...Ig.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Ig.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function O2e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=k.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;io(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=l$(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=c$(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const f1=k.createContext({...Ei,scaleX:1,scaleY:1});var hs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hs||(hs={}));const R2e=k.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=x2e,collisionDetection:d=B_e,measuring:f,modifiers:h,...p}=t;const m=k.useReducer(P2e,void 0,E2e),[S,v]=m,[y,g]=P_e(),[b,_]=k.useState(hs.Uninitialized),w=b===hs.Initialized,{draggable:{active:x,nodes:T,translate:P},droppable:{containers:E}}=S,A=x?T.get(x):null,$=k.useRef({initial:null,translated:null}),M=k.useMemo(()=>{var Ct;return x!=null?{id:x,data:(Ct=A==null?void 0:A.data)!=null?Ct:C2e,rect:$}:null},[x,A]),C=k.useRef(null),[O,I]=k.useState(null),[N,R]=k.useState(null),D=Xf(p,Object.values(p)),L=c1("DndDescribedBy",s),j=k.useMemo(()=>E.getEnabled(),[E]),U=k2e(f),{droppableRects:G,measureDroppableContainers:W,measuringScheduled:X}=f2e(j,{dragging:w,dependencies:[P.x,P.y],config:U.droppable}),Y=c2e(T,x),B=k.useMemo(()=>N?Yf(N):null,[N]),H=da(),Q=h2e(Y,U.draggable.measure);O2e({activeNode:x?T.get(x):null,config:H.layoutShiftCompensation,initialRect:Q,measure:U.draggable.measure});const J=CP(Y,U.draggable.measure,Q),ne=CP(Y?Y.parentElement:null),te=k.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:G,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),xe=E.getNodeFor((n=te.current.over)==null?void 0:n.id),ve=w2e({measure:U.dragOverlay.measure}),ce=(r=ve.nodeRef.current)!=null?r:Y,Ne=w?(i=ve.rect)!=null?i:J:null,se=!!(ve.nodeRef.current&&ve.rect),gt=m2e(se?null:J),vn=w$(ce?or(ce):null),It=y2e(w?xe??Y:null),ut=_2e(It),Je=E$(h,{transform:{x:P.x-gt.x,y:P.y-gt.y,scaleX:1,scaleY:1},activatorEvent:N,active:M,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Ne,over:te.current.over,overlayNodeRect:ve.rect,scrollableAncestors:It,scrollableAncestorRects:ut,windowRect:vn}),Gt=B?Fu(B,P):null,sr=v2e(It),ni=EP(sr),Lr=EP(sr,[J]),Rn=Fu(Je,ni),bn=Ne?G_e(Ne,Je):null,Un=M&&bn?d({active:M,collisionRect:bn,droppableRects:G,droppableContainers:j,pointerCoordinates:Gt}):null,Ht=$_e(Un,"id"),[xt,wr]=k.useState(null),$r=se?Je:Fu(Je,Lr),ri=z_e($r,(o=xt==null?void 0:xt.rect)!=null?o:null,J),uo=k.useCallback((Ct,et)=>{let{sensor:_n,options:ln}=et;if(C.current==null)return;const In=T.get(C.current);if(!In)return;const Gn=Ct.nativeEvent,ar=new _n({active:C.current,activeNode:In,event:Gn,options:ln,context:te,onStart(Hn){const wn=C.current;if(wn==null)return;const co=T.get(wn);if(!co)return;const{onDragStart:Zo}=D.current,Jo={active:{id:wn,data:co.data,rect:$}};zi.unstable_batchedUpdates(()=>{Zo==null||Zo(Jo),_(hs.Initializing),v({type:nn.DragStart,initialCoordinates:Hn,active:wn}),y({type:"onDragStart",event:Jo})})},onMove(Hn){v({type:nn.DragMove,coordinates:Hn})},onEnd:Oi(nn.DragEnd),onCancel:Oi(nn.DragCancel)});zi.unstable_batchedUpdates(()=>{I(ar),R(Ct.nativeEvent)});function Oi(Hn){return async function(){const{active:co,collisions:Zo,over:Jo,scrollAdjustedTranslate:Al}=te.current;let fo=null;if(co&&Al){const{cancelDrop:qn}=D.current;fo={activatorEvent:Gn,active:co,collisions:Zo,delta:Al,over:Jo},Hn===nn.DragEnd&&typeof qn=="function"&&await Promise.resolve(qn(fo))&&(Hn=nn.DragCancel)}C.current=null,zi.unstable_batchedUpdates(()=>{v({type:Hn}),_(hs.Uninitialized),wr(null),I(null),R(null);const qn=Hn===nn.DragEnd?"onDragEnd":"onDragCancel";if(fo){const fa=D.current[qn];fa==null||fa(fo),y({type:qn,event:fo})}})}}},[T]),Sn=k.useCallback((Ct,et)=>(_n,ln)=>{const In=_n.nativeEvent,Gn=T.get(ln);if(C.current!==null||!Gn||In.dndKit||In.defaultPrevented)return;const ar={active:Gn};Ct(_n,et.options,ar)===!0&&(In.dndKit={capturedBy:et.sensor},C.current=ln,uo(_n,et))},[T,uo]),ii=d2e(c,Sn);b2e(c),io(()=>{J&&b===hs.Initializing&&_(hs.Initialized)},[J,b]),k.useEffect(()=>{const{onDragMove:Ct}=D.current,{active:et,activatorEvent:_n,collisions:ln,over:In}=te.current;if(!et||!_n)return;const Gn={active:et,activatorEvent:_n,collisions:ln,delta:{x:Rn.x,y:Rn.y},over:In};zi.unstable_batchedUpdates(()=>{Ct==null||Ct(Gn),y({type:"onDragMove",event:Gn})})},[Rn.x,Rn.y]),k.useEffect(()=>{const{active:Ct,activatorEvent:et,collisions:_n,droppableContainers:ln,scrollAdjustedTranslate:In}=te.current;if(!Ct||C.current==null||!et||!In)return;const{onDragOver:Gn}=D.current,ar=ln.get(Ht),Oi=ar&&ar.rect.current?{id:ar.id,rect:ar.rect.current,data:ar.data,disabled:ar.disabled}:null,Hn={active:Ct,activatorEvent:et,collisions:_n,delta:{x:In.x,y:In.y},over:Oi};zi.unstable_batchedUpdates(()=>{wr(Oi),Gn==null||Gn(Hn),y({type:"onDragOver",event:Hn})})},[Ht]),io(()=>{te.current={activatorEvent:N,active:M,activeNode:Y,collisionRect:bn,collisions:Un,droppableRects:G,draggableNodes:T,draggingNode:ce,draggingNodeRect:Ne,droppableContainers:E,over:xt,scrollableAncestors:It,scrollAdjustedTranslate:Rn},$.current={initial:Ne,translated:bn}},[M,Y,Un,bn,T,ce,Ne,G,E,xt,It,Rn]),a2e({...H,delta:P,draggingRect:bn,pointerCoordinates:Gt,scrollableAncestors:It,scrollableAncestorRects:ut});const ca=k.useMemo(()=>({active:M,activeNode:Y,activeNodeRect:J,activatorEvent:N,collisions:Un,containerNodeRect:ne,dragOverlay:ve,draggableNodes:T,droppableContainers:E,droppableRects:G,over:xt,measureDroppableContainers:W,scrollableAncestors:It,scrollableAncestorRects:ut,measuringConfiguration:U,measuringScheduled:X,windowRect:vn}),[M,Y,J,N,Un,ne,ve,T,E,G,xt,W,It,ut,U,X,vn]),ki=k.useMemo(()=>({activatorEvent:N,activators:ii,active:M,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:T,over:xt,measureDroppableContainers:W}),[N,ii,M,J,v,L,T,xt,W]);return We.createElement(a$.Provider,{value:g},We.createElement(Gh.Provider,{value:ki},We.createElement(T$.Provider,{value:ca},We.createElement(f1.Provider,{value:ri},u)),We.createElement(A2e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),We.createElement(O_e,{...a,hiddenTextDescribedById:L}));function da(){const Ct=(O==null?void 0:O.autoScrollEnabled)===!1,et=typeof l=="object"?l.enabled===!1:l===!1,_n=w&&!Ct&&!et;return typeof l=="object"?{...l,enabled:_n}:{enabled:_n}}}),I2e=k.createContext(null),PP="button",M2e="Droppable";function N2e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=c1(M2e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=k.useContext(Gh),{role:h=PP,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=k.useContext(S?f1:I2e),[y,g]=gy(),[b,_]=gy(),w=S2e(s,t),x=Xf(n);io(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const P=d.get(t);P&&P.key===o&&d.delete(t)}),[d,t]);const T=k.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===PP?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:T,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function D2e(){return k.useContext(T$)}const L2e="Droppable",$2e={timeout:25};function F2e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=c1(L2e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=k.useContext(Gh),c=k.useRef({disabled:n}),d=k.useRef(!1),f=k.useRef(null),h=k.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...$2e,...i},v=Xf(m??r),y=k.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=d1({callback:y,disabled:p||!s}),b=k.useCallback((T,P)=>{g&&(P&&(g.unobserve(P),d.current=!1),T&&g.observe(T))},[g]),[_,w]=gy(b),x=Xf(t);return k.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),io(()=>(a({type:nn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:nn.UnregisterDroppable,key:o,id:r})),[r]),k.useEffect(()=>{n!==c.current.disabled&&(a({type:nn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function B2e(e){let{animation:t,children:n}=e;const[r,i]=k.useState(null),[o,s]=k.useState(null),a=my(n);return!n&&!r&&a&&i(a),io(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),We.createElement(We.Fragment,null,n,r?k.cloneElement(r,{ref:s}):null)}const j2e={x:0,y:0,scaleX:1,scaleY:1};function V2e(e){let{children:t}=e;return We.createElement(Gh.Provider,{value:C$},We.createElement(f1.Provider,{value:j2e},t))}const z2e={position:"fixed",touchAction:"none"},U2e=e=>S3(e)?"transform 250ms ease":void 0,G2e=k.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=U2e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...z2e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Qf.Transform.toString(d),transformOrigin:i&&r?M_e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return We.createElement(n,{className:s,style:f,ref:t},o)}),H2e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},q2e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Qf.Transform.toString(t)},{transform:Qf.Transform.toString(n)}]},W2e={duration:250,easing:"ease",keyframes:q2e,sideEffects:H2e({styles:{active:{opacity:"0"}}})};function K2e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return u1((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=x$(s);if(!u)return;const{transform:c}=or(s).getComputedStyle(s),d=u$(c);if(!d)return;const f=typeof t=="function"?t:X2e(t);return m$(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function X2e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...W2e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let AP=0;function Y2e(e){return k.useMemo(()=>{if(e!=null)return AP++,AP},[e])}const Q2e=We.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=D2e(),w=k.useContext(f1),x=Y2e(d==null?void 0:d.id),T=E$(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),P=C3(f),E=K2e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=P?S.setRef:void 0;return We.createElement(V2e,null,We.createElement(B2e,{animation:E},d&&x?We.createElement(G2e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:P,style:{zIndex:u,...i},transform:T},n):null))}),Z2e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Yf(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},P$=()=>ak(),P4e=J9,Yp=28,kP={w:Yp,h:Yp,maxW:Yp,maxH:Yp,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},J2e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return K.jsx(c3,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:K.jsx(u3,{sx:{...kP},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?K.jsxs(d3,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...kP},children:[K.jsx(K2,{children:e.dragData.payload.image_names.length}),K.jsx(K2,{size:"sm",children:"Images"})]}):null},ewe=k.memo(J2e);function A4e(e){return F2e(e)}function k4e(e){return N2e(e)}const O4e=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function twe(e){return K.jsx(R2e,{...e})}const nwe=e=>{const[t,n]=k.useState(null),r=P$(),i=k.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=k.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current);const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(tN({overData:c,activeData:t})),n(null))},[t,r]),s=vP(S$,{activationConstraint:{distance:10}}),a=vP(_$,{activationConstraint:{distance:10}}),l=R_e(s,a);return K.jsxs(twe,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:V_e,children:[e.children,K.jsx(Q2e,{dropAnimation:null,modifiers:[Z2e],children:K.jsx(Hbe,{children:t&&K.jsx($be.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:K.jsx(ewe,{dragData:t})},"overlay-drag-image")})})]})},rwe=k.memo(nwe),iwe=k.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),owe=e=>{const[t,n]=k.useState(),{isOpen:r,onOpen:i,onClose:o}=Jbe(),s=P$(),a=k.useCallback(()=>{n(void 0),o()},[o]),l=k.useCallback(c=>{c&&(n(c),i())},[n,i]),u=k.useCallback(c=>{t&&(s(he.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return K.jsx(iwe.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},swe=k.lazy(()=>G9(()=>import("./App-6757ec55.js"),["./App-6757ec55.js","./MantineProvider-3c4df448.js","./App-6125620a.css"],import.meta.url)),awe=k.lazy(()=>G9(()=>import("./ThemeLocaleProvider-b9e7cc95.js"),["./ThemeLocaleProvider-b9e7cc95.js","./MantineProvider-3c4df448.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),lwe=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(k.useEffect(()=>(t&&Cf.set(t),e&&Tf.set(e),zM(),i&&i.length>0?c2(mP(),...i):c2(mP()),()=>{Tf.set(void 0),Cf.set(void 0)}),[e,t,i]),K.jsx(We.StrictMode,{children:K.jsx(mV,{store:Gpe,children:K.jsx(We.Suspense,{fallback:K.jsx(rSe,{}),children:K.jsx(awe,{children:K.jsx(rwe,{children:K.jsx(owe,{children:K.jsx(swe,{config:n,headerComponent:r})})})})})})})),uwe=k.memo(lwe);xS.createRoot(document.getElementById("root")).render(K.jsx(uwe,{}));export{fD as $,K as A,ti as B,Vt as C,Mu as D,Vn as E,fi as F,Xne as G,br as H,Is as I,$i as J,$3e as K,_I as L,cre as M,jre as N,ote as O,Zne as P,rc as Q,Tl as R,df as S,Nge as T,sl as U,oD as V,f4e as W,u4e as X,Hbe as Y,$be as Z,w4e as _,Zk as a,U_ as a$,$L as a0,mD as a1,c4e as a2,d4e as a3,Mge as a4,Ige as a5,h4e as a6,Na as a7,al as a8,rm as a9,d3 as aA,K2 as aB,i4e as aC,jN as aD,ZCe as aE,Y4 as aF,lCe as aG,zi as aH,BC as aI,nF as aJ,hwe as aK,dwe as aL,fwe as aM,Ee as aN,Ea as aO,C3e as aP,YM as aQ,w3e as aR,x3e as aS,S3e as aT,m3e as aU,Mpe as aV,A4e as aW,O4e as aX,b3e as aY,R3e as aZ,WCe as a_,IV as aa,We as ab,eP as ac,uye as ad,_4e as ae,Io as af,rD as ag,R1e as ah,m4e as ai,R2 as aj,l4e as ak,S4e as al,Jn as am,mC as an,S0 as ao,P4e as ap,B3e as aq,Th as ar,nM as as,AM as at,Z0 as au,P$ as av,p5e as aw,Ft as ax,Ga as ay,c3 as az,Tx as b,I7 as b$,_3e as b0,u3 as b1,tSe as b2,vxe as b3,Ss as b4,P5e as b5,hp as b6,bge as b7,FC as b8,ZN as b9,ue as bA,iwe as bB,KCe as bC,dJ as bD,e3e as bE,$R as bF,Yxe as bG,RR as bH,G_ as bI,k4e as bJ,a4e as bK,O3e as bL,YCe as bM,QCe as bN,Rs as bO,Vle as bP,HCe as bQ,qCe as bR,UCe as bS,Jbe as bT,Am as bU,r4e as bV,M5e as bW,mxe as bX,ble as bY,c5e as bZ,I3e as b_,_ge as ba,$3 as bb,A3e as bc,P3e as bd,cwe as be,mwe as bf,ywe as bg,Bwe as bh,jwe as bi,wwe as bj,qwe as bk,bwe as bl,Iwe as bm,Twe as bn,Jle as bo,Swe as bp,Vwe as bq,vwe as br,Qwe as bs,xwe as bt,Mwe as bu,Cwe as bv,Nwe as bw,Awe as bx,Lwe as by,Zle as bz,AU as c,bQ as c$,eN as c0,k5e as c1,GCe as c2,t3e as c3,T7 as c4,LR as c5,_we as c6,xxe as c7,zn as c8,S5e as c9,Ph as cA,lxe as cB,Zwe as cC,ixe as cD,Fwe as cE,g5e as cF,hl as cG,y5e as cH,n5e as cI,t5e as cJ,D5e as cK,J5e as cL,a5e as cM,o5e as cN,fe as cO,xf as cP,q5e as cQ,wE as cR,s5e as cS,l5e as cT,i5e as cU,Xse as cV,$we as cW,pQ as cX,B5e as cY,PR as cZ,uxe as c_,O5e as ca,A5e as cb,Qae as cc,b5e as cd,x5e as ce,C5e as cf,vQ as cg,vae as ch,bae as ci,pxe as cj,wxe as ck,w5e as cl,_Q as cm,F3e as cn,h5e as co,ER as cp,g3e as cq,f3e as cr,h3e as cs,p3e as ct,F5e as cu,Qa as cv,pwe as cw,xo as cx,ace as cy,kwe as cz,mX as d,Y5e as d$,Ui as d0,Dwe as d1,Kwe as d2,gwe as d3,aY as d4,Ywe as d5,r5e as d6,cxe as d7,e5e as d8,hce as d9,C7 as dA,i3e as dB,s3e as dC,n3e as dD,Spe as dE,r3e as dF,oxe as dG,sxe as dH,nxe as dI,rxe as dJ,txe as dK,K5e as dL,U5e as dM,E5e as dN,z5e as dO,Z5e as dP,W5e as dQ,T5e as dR,H5e as dS,G5e as dT,j5e as dU,V5e as dV,GI as dW,Lx as dX,X5e as dY,Fm as dZ,pe as d_,fxe as da,he as db,Kn as dc,N5e as dd,N3e as de,D3e as df,N7 as dg,$5e as dh,M3e as di,hR as dj,axe as dk,sY as dl,Pwe as dm,L5e as dn,bT as dp,a3e as dq,Hx as dr,tJ as ds,Xl as dt,ST as du,l3e as dv,u3e as dw,c3e as dx,nJ as dy,d3e as dz,ZO as e,Zxe as e$,u2 as e0,Ewe as e1,Q5e as e2,J9 as e3,ak as e4,J3e as e5,q3e as e6,W3e as e7,K3e as e8,RM as e9,nd as eA,sCe as eB,Vxe as eC,tv as eD,uCe as eE,$xe as eF,aCe as eG,Fxe as eH,Gxe as eI,Pxe as eJ,Exe as eK,Txe as eL,DCe as eM,MR as eN,Cf as eO,Ixe as eP,Mxe as eQ,Nxe as eR,ICe as eS,qxe as eT,Hxe as eU,FQ as eV,RCe as eW,Ele as eX,zxe as eY,mpe as eZ,bpe as e_,Q3e as ea,Z3e as eb,Df as ec,_0 as ed,z3e as ee,Dpe as ef,j3e as eg,V3e as eh,G3e as ei,U3e as ej,H3e as ek,Y3e as el,$ie as em,eM as en,oN as eo,CF as ep,Pe as eq,gCe as er,NCe as es,MCe as et,Kxe as eu,CCe as ev,LCe as ew,Ple as ex,jxe as ey,cCe as ez,sO as f,Yme as f$,Jxe as f0,mCe as f1,pCe as f2,dCe as f3,Axe as f4,kxe as f5,R5e as f6,I5e as f7,oCe as f8,Qxe as f9,Jwe as fA,Rxe as fB,tCe as fC,jCe as fD,zwe as fE,Uwe as fF,Gwe as fG,Hwe as fH,nCe as fI,n4e as fJ,yxe as fK,AR as fL,Sxe as fM,bxe as fN,_xe as fO,iY as fP,yle as fQ,s4e as fR,iD as fS,b4e as fT,y4e as fU,p4e as fV,v4e as fW,Wi as fX,g4e as fY,o4e as fZ,aye as f_,yCe as fa,xCe as fb,vCe as fc,Wxe as fd,Bxe as fe,OCe as ff,kCe as fg,_Ce as fh,bCe as fi,SCe as fj,VCe as fk,PCe as fl,zCe as fm,iCe as fn,rCe as fo,Lxe as fp,Dxe as fq,BCe as fr,Xxe as fs,Tle as ft,wle as fu,xle as fv,Cle as fw,Oxe as fx,dxe as fy,yQ as fz,uX as g,x4e as g0,T4e as g1,E4e as g2,gO as h,vr as i,mc as j,v0 as k,mn as l,y0 as m,hh as n,Ci as o,ta as p,g0 as q,oo as r,gh as s,hb as t,_x as u,iO as v,kx as w,HO as x,aO as y,k as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 315bad4316..e59b4aed36 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + diff --git a/invokeai/frontend/web/dist/locales/en.json b/invokeai/frontend/web/dist/locales/en.json index 0640ab9ef0..b9f75ac30f 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -23,6 +23,7 @@ "menu": "Menu" }, "common": { + "communityLabel": "Community", "hotkeysLabel": "Hotkeys", "darkMode": "Dark Mode", "lightMode": "Light Mode", diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index c8e87ef8c5..8d3b55aa88 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -901,8 +901,8 @@ export type components = { */ resize_mode?: "just_resize" | "crop_resize" | "fill_resize" | "just_resize_simple"; }; - /** ControlNetModelConfig */ - ControlNetModelConfig: { + /** ControlNetModelCheckpointConfig */ + ControlNetModelCheckpointConfig: { /** Model Name */ model_name: string; base_model: components["schemas"]["BaseModelType"]; @@ -915,7 +915,34 @@ export type components = { path: string; /** Description */ description?: string; - model_format: components["schemas"]["ControlNetModelFormat"]; + /** + * Model Format + * @enum {string} + */ + model_format: "checkpoint"; + error?: components["schemas"]["ModelError"]; + /** Config */ + config: string; + }; + /** ControlNetModelDiffusersConfig */ + ControlNetModelDiffusersConfig: { + /** Model Name */ + model_name: string; + base_model: components["schemas"]["BaseModelType"]; + /** + * Model Type + * @enum {string} + */ + model_type: "controlnet"; + /** Path */ + path: string; + /** Description */ + description?: string; + /** + * Model Format + * @enum {string} + */ + model_format: "diffusers"; error?: components["schemas"]["ModelError"]; }; /** @@ -931,12 +958,6 @@ export type components = { /** @description Base model */ base_model: components["schemas"]["BaseModelType"]; }; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: "checkpoint" | "diffusers"; /** * ControlOutput * @description node output for ControlNet info @@ -1360,7 +1381,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1403,7 +1424,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -3607,7 +3628,7 @@ export type components = { /** ModelsList */ ModelsList: { /** Models */ - models: (components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"])[]; + models: (components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"])[]; }; /** * MultiplyInvocation @@ -5535,24 +5556,30 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion2ModelFormat * @description An enumeration. * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. * @enum {string} */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5663,7 +5690,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5700,7 +5727,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -5964,14 +5991,14 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; responses: { /** @description The model was updated successfully */ 200: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Bad request */ @@ -6002,7 +6029,7 @@ export type operations = { /** @description The model imported successfully */ 201: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description The model could not be found */ @@ -6028,14 +6055,14 @@ export type operations = { add_model: { requestBody: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; responses: { /** @description The model added successfully */ 201: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description The model could not be found */ @@ -6075,7 +6102,7 @@ export type operations = { /** @description Model converted successfully */ 200: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Bad request */ @@ -6164,7 +6191,7 @@ export type operations = { /** @description Model converted successfully */ 200: { content: { - "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; + "application/json": components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Incompatible models */ From b6522cf2cf42495d6694c697605566a794db851e Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 04:34:26 +1200 Subject: [PATCH 052/106] fix: SDXL - Concat Prompt and Style for Style Prompt --- .../graphBuilders/buildLinearSDXLImageToImageGraph.ts | 8 ++++---- .../util/graphBuilders/buildLinearSDXLTextToImageGraph.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index 8c82002b2e..5a032db399 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -7,7 +7,9 @@ import { ImageToLatentsInvocation, } from 'services/api/types'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, @@ -20,8 +22,6 @@ import { SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER, } from './constants'; -import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; -import { addWatermarkerToGraph } from './addWatermarkerToGraph'; /** * Builds the Image to Image tab graph. @@ -91,13 +91,13 @@ export const buildLinearSDXLImageToImageGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: positiveStylePrompt, + style: `${positivePrompt} ${positiveStylePrompt}`, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: negativeStylePrompt, + style: `${negativePrompt} ${negativeStylePrompt}`, }, [NOISE]: { type: 'noise', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 36f35a90de..42b7d5e038 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -3,7 +3,9 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { initialGenerationState } from 'features/parameters/store/generationSlice'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, @@ -14,8 +16,6 @@ import { SDXL_TEXT_TO_IMAGE_GRAPH, SDXL_TEXT_TO_LATENTS, } from './constants'; -import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; -import { addWatermarkerToGraph } from './addWatermarkerToGraph'; export const buildLinearSDXLTextToImageGraph = ( state: RootState @@ -74,13 +74,13 @@ export const buildLinearSDXLTextToImageGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: positiveStylePrompt, + style: `${positivePrompt} ${positiveStylePrompt}`, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: negativeStylePrompt, + style: `${negativePrompt} ${negativeStylePrompt}`, }, [NOISE]: { type: 'noise', From 3bd9c27a798b37b300fb8eb3a7143c9404bd86ca Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 04:55:55 +1200 Subject: [PATCH 053/106] feat: Add SDXL Style Prompt Concat Toggle --- .../buildLinearSDXLImageToImageGraph.ts | 9 ++++- .../buildLinearSDXLTextToImageGraph.ts | 9 ++++- .../sdxl/components/ParamSDXLConcatPrompt.tsx | 37 +++++++++++++++++++ .../SDXLImageToImageTabParameters.tsx | 3 +- .../SDXLTextToImageTabParameters.tsx | 2 + .../web/src/features/sdxl/store/sdxlSlice.ts | 6 +++ 6 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index 5a032db399..a260dbc467 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -50,6 +50,7 @@ export const buildLinearSDXLImageToImageGraph = ( const { positiveStylePrompt, negativeStylePrompt, + shouldConcatSDXLStylePrompt, shouldUseSDXLRefiner, refinerStart, sdxlImg2ImgDenoisingStrength: strength, @@ -91,13 +92,17 @@ export const buildLinearSDXLImageToImageGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: `${positivePrompt} ${positiveStylePrompt}`, + style: shouldConcatSDXLStylePrompt + ? `${positivePrompt} ${positiveStylePrompt}` + : positiveStylePrompt, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: `${negativePrompt} ${negativeStylePrompt}`, + style: shouldConcatSDXLStylePrompt + ? `${negativePrompt} ${negativeStylePrompt}` + : negativeStylePrompt, }, [NOISE]: { type: 'noise', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 42b7d5e038..c10e7831d3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -39,6 +39,7 @@ export const buildLinearSDXLTextToImageGraph = ( const { positiveStylePrompt, negativeStylePrompt, + shouldConcatSDXLStylePrompt, shouldUseSDXLRefiner, refinerStart, } = state.sdxl; @@ -74,13 +75,17 @@ export const buildLinearSDXLTextToImageGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: `${positivePrompt} ${positiveStylePrompt}`, + style: shouldConcatSDXLStylePrompt + ? `${positivePrompt} ${positiveStylePrompt}` + : positiveStylePrompt, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: `${negativePrompt} ${negativeStylePrompt}`, + style: shouldConcatSDXLStylePrompt + ? `${negativePrompt} ${negativeStylePrompt}` + : negativeStylePrompt, }, [NOISE]: { type: 'noise', diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx new file mode 100644 index 0000000000..ad48a8af14 --- /dev/null +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx @@ -0,0 +1,37 @@ +import { Box } from '@chakra-ui/react'; +import { RootState } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import IAISwitch from 'common/components/IAISwitch'; +import { ChangeEvent } from 'react'; +import { setShouldConcatSDXLStylePrompt } from '../store/sdxlSlice'; + +export default function ParamSDXLConcatPrompt() { + const shouldConcatSDXLStylePrompt = useAppSelector( + (state: RootState) => state.sdxl.shouldConcatSDXLStylePrompt + ); + + const dispatch = useAppDispatch(); + + const handleShouldConcatPromptChange = (e: ChangeEvent) => { + dispatch(setShouldConcatSDXLStylePrompt(e.target.checked)); + }; + + return ( + + + + ); +} diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx index 778116eefe..4a0c46eb7c 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx @@ -2,8 +2,8 @@ import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/Para import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; -// import ParamVariationCollapse from 'features/parameters/components/Parameters/Variations/ParamVariationCollapse'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; +import ParamSDXLConcatPrompt from './ParamSDXLConcatPrompt'; import ParamSDXLNegativeStyleConditioning from './ParamSDXLNegativeStyleConditioning'; import ParamSDXLPositiveStyleConditioning from './ParamSDXLPositiveStyleConditioning'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; @@ -16,6 +16,7 @@ const SDXLImageToImageTabParameters = () => { + diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx index 2175fcc9e3..e740cc336b 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx @@ -4,6 +4,7 @@ import ParamPositiveConditioning from 'features/parameters/components/Parameters import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import TextToImageTabCoreParameters from 'features/ui/components/tabs/TextToImage/TextToImageTabCoreParameters'; +import ParamSDXLConcatPrompt from './ParamSDXLConcatPrompt'; import ParamSDXLNegativeStyleConditioning from './ParamSDXLNegativeStyleConditioning'; import ParamSDXLPositiveStyleConditioning from './ParamSDXLPositiveStyleConditioning'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; @@ -15,6 +16,7 @@ const SDXLTextToImageTabParameters = () => { + diff --git a/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts b/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts index 16bb806029..7a8ccffa97 100644 --- a/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts +++ b/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts @@ -10,6 +10,7 @@ import { MainModelField } from 'services/api/types'; type SDXLInitialState = { positiveStylePrompt: PositiveStylePromptSDXLParam; negativeStylePrompt: NegativeStylePromptSDXLParam; + shouldConcatSDXLStylePrompt: boolean; shouldUseSDXLRefiner: boolean; sdxlImg2ImgDenoisingStrength: number; refinerModel: MainModelField | null; @@ -23,6 +24,7 @@ type SDXLInitialState = { const sdxlInitialState: SDXLInitialState = { positiveStylePrompt: '', negativeStylePrompt: '', + shouldConcatSDXLStylePrompt: true, shouldUseSDXLRefiner: false, sdxlImg2ImgDenoisingStrength: 0.7, refinerModel: null, @@ -43,6 +45,9 @@ const sdxlSlice = createSlice({ setNegativeStylePromptSDXL: (state, action: PayloadAction) => { state.negativeStylePrompt = action.payload; }, + setShouldConcatSDXLStylePrompt: (state, action: PayloadAction) => { + state.shouldConcatSDXLStylePrompt = action.payload; + }, setShouldUseSDXLRefiner: (state, action: PayloadAction) => { state.shouldUseSDXLRefiner = action.payload; }, @@ -76,6 +81,7 @@ const sdxlSlice = createSlice({ export const { setPositiveStylePromptSDXL, setNegativeStylePromptSDXL, + setShouldConcatSDXLStylePrompt, setShouldUseSDXLRefiner, setSDXLImg2ImgDenoisingStrength, refinerModelChanged, From 0420d75d2bf1af51a793c25b27b8d7d98d0aa2bb Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 05:28:04 +1200 Subject: [PATCH 054/106] fix: Improve Styling of SDXL Prompt Area --- .../sdxl/components/ParamSDXLConcatPrompt.tsx | 6 +---- .../SDXLImageToImageTabParameters.tsx | 22 ++++++++++++++----- .../SDXLTextToImageTabParameters.tsx | 22 ++++++++++++++----- .../tabs/TextToImage/TextToImageTab.tsx | 4 ++-- 4 files changed, 37 insertions(+), 17 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx index ad48a8af14..89e67be652 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx @@ -19,11 +19,7 @@ export default function ParamSDXLConcatPrompt() { return ( { return ( <> - - - - - + + + + + + + diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx index e740cc336b..eddc0b8891 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx @@ -1,3 +1,4 @@ +import { Flex } from '@chakra-ui/react'; import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/ParamDynamicPromptsCollapse'; import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; @@ -12,11 +13,22 @@ import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; const SDXLTextToImageTabParameters = () => { return ( <> - - - - - + + + + + + + diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTab.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTab.tsx index 8c3add3d62..7e6e02ff5a 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTab.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTab.tsx @@ -1,7 +1,7 @@ import { Flex } from '@chakra-ui/react'; import { RootState } from 'app/store/store'; import { useAppSelector } from 'app/store/storeHooks'; -import TextToImageSDXLTabParameters from 'features/sdxl/components/SDXLTextToImageTabParameters'; +import SDXLTextToImageTabParameters from 'features/sdxl/components/SDXLTextToImageTabParameters'; import { memo } from 'react'; import ParametersPinnedWrapper from '../../ParametersPinnedWrapper'; import TextToImageTabMain from './TextToImageTabMain'; @@ -13,7 +13,7 @@ const TextToImageTab = () => { {model && model.base_model === 'sdxl' ? ( - + ) : ( )} From 3376968cbbd12665ba58179d94326afffb5dc223 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 05:28:21 +1200 Subject: [PATCH 055/106] fix: Prompt Drawer Unpinned not having SDXL UI --- .../ui/components/ParametersDrawer.tsx | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/src/features/ui/components/ParametersDrawer.tsx b/invokeai/frontend/web/src/features/ui/components/ParametersDrawer.tsx index 89400c09e5..393cb5bb34 100644 --- a/invokeai/frontend/web/src/features/ui/components/ParametersDrawer.tsx +++ b/invokeai/frontend/web/src/features/ui/components/ParametersDrawer.tsx @@ -1,7 +1,10 @@ import { Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; +import { RootState } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import SDXLImageToImageTabParameters from 'features/sdxl/components/SDXLImageToImageTabParameters'; +import SDXLTextToImageTabParameters from 'features/sdxl/components/SDXLTextToImageTabParameters'; import InvokeAILogoComponent from 'features/system/components/InvokeAILogoComponent'; import { activeTabNameSelector, @@ -39,13 +42,23 @@ const ParametersDrawer = () => { dispatch(setShouldShowParametersPanel(false)); }; + const model = useAppSelector((state: RootState) => state.generation.model); + const drawerContent = useMemo(() => { if (activeTabName === 'txt2img') { - return ; + return model && model.base_model === 'sdxl' ? ( + + ) : ( + + ); } if (activeTabName === 'img2img') { - return ; + return model && model.base_model === 'sdxl' ? ( + + ) : ( + + ); } if (activeTabName === 'unifiedCanvas') { @@ -53,7 +66,7 @@ const ParametersDrawer = () => { } return null; - }, [activeTabName]); + }, [activeTabName, model]); if (shouldPinParametersPanel) { return null; From 6bdcc32414ca85606cb2e89ad213b8892a381e42 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 13:36:42 -0400 Subject: [PATCH 056/106] rebuild frontend for rc1 release (again) --- .../frontend/web/dist/assets/App-6757ec55.js | 169 ------------------ .../frontend/web/dist/assets/App-69e5ea36.js | 169 ++++++++++++++++++ ...c4df448.js => MantineProvider-8184f020.js} | 2 +- ...c95.js => ThemeLocaleProvider-9ac72450.js} | 2 +- .../{index-9488b384.js => index-89941396.js} | 26 +-- invokeai/frontend/web/dist/index.html | 2 +- 6 files changed, 185 insertions(+), 185 deletions(-) delete mode 100644 invokeai/frontend/web/dist/assets/App-6757ec55.js create mode 100644 invokeai/frontend/web/dist/assets/App-69e5ea36.js rename invokeai/frontend/web/dist/assets/{MantineProvider-3c4df448.js => MantineProvider-8184f020.js} (99%) rename invokeai/frontend/web/dist/assets/{ThemeLocaleProvider-b9e7cc95.js => ThemeLocaleProvider-9ac72450.js} (99%) rename invokeai/frontend/web/dist/assets/{index-9488b384.js => index-89941396.js} (80%) diff --git a/invokeai/frontend/web/dist/assets/App-6757ec55.js b/invokeai/frontend/web/dist/assets/App-6757ec55.js deleted file mode 100644 index fa005c94d2..0000000000 --- a/invokeai/frontend/web/dist/assets/App-6757ec55.js +++ /dev/null @@ -1,169 +0,0 @@ -import{t as cv,r as K8,i as uv,a as Rc,b as h_,S as m_,c as g_,d as v_,e as dv,f as b_,g as fv,h as Y8,j as Q8,k as X8,l as J8,m as y_,n as Z8,o as eR,p as tR,q as x_,s as nR,u as rR,v as oR,w as sR,x as aR,y as iR,z as f,A as i,B as Xh,C as Ip,D as lR,E as w_,F as S_,G as cR,P as id,H as M1,I as uR,J as dR,K as fR,L as pR,M as hR,N as mR,O as gR,Q as P2,R as Te,T as vR,U as Ie,V as kt,W as et,X as ld,Y as Fo,Z as Qr,_ as Br,$ as qn,a0 as dl,a1 as $a,a2 as tn,a3 as ns,a4 as Zl,a5 as za,a6 as Jh,a7 as D1,a8 as cd,a9 as or,aa as bR,ab as F,ac as C_,ad as j2,ae as k_,af as pv,ag as Mc,ah as yR,ai as __,aj as P_,ak as Dc,al as xR,am as fe,an as Ge,ao as Xt,ap as L,aq as wR,ar as I2,as as SR,at as CR,au as E2,av as te,aw as kR,ax as Dn,ay as Bn,az as Oe,aA as W,aB as Qs,aC as Ye,aD as Kn,aE as j_,aF as I_,aG as E_,aH as _i,aI as Ds,aJ as T1,aK as _R,aL as PR,aM as jR,aN as Rl,aO as xu,aP as IR,aQ as ER,aR as OR,aS as RR,aT as MR,aU as O2,aV as ui,aW as A1,aX as Ep,aY as Zh,aZ as O_,a_ as os,a$ as R_,b0 as DR,b1 as Tc,b2 as M_,b3 as D_,b4 as Es,b5 as _o,b6 as wu,b7 as TR,b8 as AR,b9 as NR,ba as $R,bb as N1,bc as Op,bd as zR,be as LR,bf as If,bg as Ef,bh as Ru,bi as Mu,bj as R2,bk as Rp,bl as M2,bm as Mp,bn as D2,bo as hv,bp as T2,bq as mv,br as A2,bs as Dp,bt as N2,bu as hc,bv as $2,bw as mc,bx as z2,by as Tp,bz as $1,bA as z1,bB as T_,bC as L1,bD as B1,bE as BR,bF as FR,bG as em,bH as ql,bI as HR,bJ as WR,bK as vp,bL as VR,bM as UR,bN as GR,bO as gv,bP as A_,bQ as qR,bR as N_,bS as $_,bT as ss,bU as L2,bV as La,bW as KR,bX as vv,bY as YR,bZ as z_,b_ as B2,b$ as QR,c0 as XR,c1 as JR,c2 as ZR,c3 as eM,c4 as tM,c5 as F1,c6 as H1,c7 as nM,c8 as Ln,c9 as F2,ca as L_,cb as rM,cc as oM,cd as sM,ce as aM,cf as iM,cg as lM,ch as cM,ci as uM,cj as dM,ck as B_,cl as fM,cm as pM,cn as hM,co as mM,cp as gM,cq as vM,cr as bM,cs as yM,ct as xM,cu as wM,cv as jo,cw as vr,cx as SM,cy as W1,cz as ud,cA as dd,cB as CM,cC as H2,cD as kM,cE as W2,cF as _M,cG as PM,cH as jM,cI as V2,cJ as U2,cK as na,cL as V1,cM as G2,cN as q2,cO as tm,cP as IM,cQ as EM,cR as OM,cS as RM,cT as K2,cU as Y2,cV as MM,cW as Q2,cX as DM,cY as F_,cZ as X2,c_ as TM,c$ as AM,d0 as Ss,d1 as NM,d2 as $M,d3 as H_,d4 as W_,d5 as zM,d6 as J2,d7 as LM,d8 as BM,d9 as V_,da as FM,db as HM,dc as WM,dd as VM,de as UM,df as GM,dg as qM,dh as U_,di as KM,dj as G_,dk as Z2,dl as Of,dm as YM,dn as U1,dp as q_,dq as QM,dr as XM,ds as JM,dt as ls,du as ZM,dv as e7,dw as t7,dx as n7,dy as r7,dz as o7,dA as s7,dB as a7,dC as i7,dD as l7,dE as c7,dF as u7,dG as d7,dH as f7,dI as ew,dJ as tw,dK as p7,dL as K_,dM as Y_,dN as fd,dO as Q_,dP as Hu,dQ as X_,dR as nw,dS as h7,dT as m7,dU as J_,dV as g7,dW as G1,dX as rw,dY as Z_,dZ as v7,d_ as ow,d$ as e3,e0 as Ts,e1 as b7,e2 as t3,e3 as sw,e4 as y7,e5 as x7,e6 as w7,e7 as S7,e8 as C7,e9 as k7,ea as _7,eb as P7,ec as j7,ed as I7,ee as E7,ef as O7,eg as R7,eh as M7,ei as D7,ej as T7,ek as A7,el as N7,em as $7,en as z7,eo as aw,ep as bp,eq as L7,er as Ap,es as n3,et as Wu,eu as B7,ev as F7,ew as ea,ex as r3,ey as q1,ez as pd,eA as H7,eB as W7,eC as V7,eD as Ia,eE as o3,eF as U7,eG as G7,eH as s3,eI as q7,eJ as K7,eK as Y7,eL as Q7,eM as X7,eN as J7,eO as Z7,eP as eD,eQ as tD,eR as nD,eS as iw,eT as rD,eU as oD,eV as sD,eW as aD,eX as iD,eY as lD,eZ as cD,e_ as uD,e$ as a0,f0 as Js,f1 as i0,f2 as l0,f3 as Rf,f4 as lw,f5 as bv,f6 as dD,f7 as fD,f8 as pD,f9 as hD,fa as Np,fb as a3,fc as i3,fd as mD,fe as gD,ff as l3,fg as c3,fh as u3,fi as d3,fj as f3,fk as p3,fl as h3,fm as m3,fn as ec,fo as tc,fp as g3,fq as v3,fr as vD,fs as b3,ft as y3,fu as x3,fv as w3,fw as S3,fx as C3,fy as K1,fz as bD,fA as cw,fB as yD,fC as xD,fD as $p,fE as uw,fF as dw,fG as fw,fH as pw,fI as wD,fJ as SD,fK as CD,fL as kD,fM as _D,fN as PD,fO as jD,fP as ID,fQ as ED}from"./index-9488b384.js";import{I as Kr,u as OD,c as RD,a as Rn,b as rr,d as Ba,P as Vu,C as MD,e as be,m as nm,f as k3,g as Fa,h as DD,r as Ue,i as TD,j as hw,k as Wt,l as wr}from"./MantineProvider-3c4df448.js";function AD(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var mw=1/0,ND=17976931348623157e292;function c0(e){if(!e)return e===0?e:0;if(e=cv(e),e===mw||e===-mw){var t=e<0?-1:1;return t*ND}return e===e?e:0}var $D=function(){return K8.Date.now()};const u0=$D;var zD="Expected a function",LD=Math.max,BD=Math.min;function FD(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(zD);t=cv(t)||0,uv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?LD(cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,T=t-R;return m?BD(T,s-M):T}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=u0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function I(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function P(){return c===void 0?a:_(u0())}function E(){var O=u0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=I,E.flush=P,E}var HD=200;function WD(e,t,n,r){var o=-1,s=g_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Rc(t,h_(n))),r?(s=v_,a=!1):t.length>=HD&&(s=dv,a=!1,t=new m_(t));e:for(;++o=120&&h.length>=120)?new m_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}const _3=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:Xh(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};_3.displayName="MiniMapNode";var cT=f.memo(_3);const uT=e=>e.nodeOrigin,dT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),d0=e=>e instanceof Function?e:()=>e;function fT({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=cT,onClick:a}){const c=Ip(dT,M1),d=Ip(uT),p=d0(t),h=d0(e),m=d0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=lR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var pT=f.memo(fT);const hT=200,mT=150,gT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?fR(pR(t,e.nodeOrigin),n):n,rfId:e.rfId}},vT="react-flow__minimap-desc";function P3({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const I=w_(),P=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Ip(gT,M1),M=(e==null?void 0:e.width)??hT,T=(e==null?void 0:e.height)??mT,A=E.width/M,$=E.height/T,Q=Math.max(A,$),B=Q*M,V=Q*T,q=5*Q,G=E.x-(B-E.width)/2-q,D=E.y-(V-E.height)/2-q,z=B+q*2,H=V+q*2,Y=`${vT}-${R}`,ie=f.useRef(0);ie.current=Q,f.useEffect(()=>{if(P.current){const se=S_(P.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:ce}=I.getState();if(re.sourceEvent.type!=="wheel"||!pe||!ce)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,_e=oe[2]*Math.pow(2,ge);ce.scaleTo(pe,_e)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:ce,translateExtent:ge,width:_e,height:le}=I.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!ce)return;const Se=ie.current*Math.max(1,oe[2])*(k?-1:1),Fe={x:oe[0]-re.sourceEvent.movementX*Se,y:oe[1]-re.sourceEvent.movementY*Se},Ae=[[0,0],[_e,le]],He=uR.translate(Fe.x,Fe.y).scale(oe[2]),Ct=ce.constrain()(He,Ae,ge);ce.transform(pe,Ct)},ae=cR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return se.call(ae),()=>{se.on("zoom",null)}}},[w,y,k,_]);const ye=v?se=>{const K=dR(se);v(se,{x:K[0],y:K[1]})}:void 0,Z=b?(se,K)=>{const U=I.getState().nodeInternals.get(K);b(se,U)}:void 0;return i.jsx(id,{position:m,style:e,className:Xh(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:T,viewBox:`${G} ${D} ${z} ${H}`,role:"img","aria-labelledby":Y,ref:P,onClick:ye,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(pT,{onClick:Z,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${D-q}h${z+q*2}v${H+q*2}h${-z-q*2}z - M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}P3.displayName="MiniMap";var bT=f.memo(P3),Cs;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Cs||(Cs={}));function yT({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function xT({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const wT={[Cs.Dots]:"#91919a",[Cs.Lines]:"#eee",[Cs.Cross]:"#e2e2e2"},ST={[Cs.Dots]:1,[Cs.Lines]:1,[Cs.Cross]:6},CT=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function j3({id:e,variant:t=Cs.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Ip(CT,M1),v=a||wT[t],b=r||ST[t],w=t===Cs.Dots,y=t===Cs.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],I=y?[_,_]:k,P=w?[_/s,_/s]:[I[0]/s,I[1]/s];return i.jsxs("svg",{className:Xh(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${P[0]},-${P[1]})`,children:w?i.jsx(xT,{color:v,radius:_/s}):i.jsx(yT,{dimensions:I,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}j3.displayName="Background";var kT=f.memo(j3),Du;(function(e){e.Line="line",e.Handle="handle"})(Du||(Du={}));function _T({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const I3={width:0,height:0,x:0,y:0},PT={...I3,pointerX:0,pointerY:0,aspectRatio:1};function jT({nodeId:e,position:t,variant:n=Du.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=hR(),k=typeof e=="string"?e:S,_=w_(),I=f.useRef(null),P=f.useRef(PT),E=f.useRef(I3),O=mR(),R=n===Du.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!I.current||!k)return;const Q=S_(I.current),B=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),D=gR().on("start",z=>{const H=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ie}=O(z);E.current={width:(H==null?void 0:H.width)??0,height:(H==null?void 0:H.height)??0,x:(H==null?void 0:H.position.x)??0,y:(H==null?void 0:H.position.y)??0},P.current={...E.current,pointerX:Y,pointerY:ie,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:H,triggerNodeChanges:Y}=_.getState(),{xSnapped:ie,ySnapped:ye}=O(z),Z=H.get(k);if(Z){const se=[],{pointerX:K,pointerY:U,width:ae,height:re,x:oe,y:pe,aspectRatio:ce}=P.current,{x:ge,y:_e,width:le,height:Se}=E.current,Fe=Math.floor(B?ie-K:0),Ae=Math.floor(V?ye-U:0);let He=P2(ae+(q?-Fe:Fe),c,p),Ct=P2(re+(G?-Ae:Ae),d,h);if(m){const Re=He/Ct,Pt=B&&V,At=B&&!V,xe=V&&!B;He=Re<=ce&&Pt||xe?Ct*ce:He,Ct=Re>ce&&Pt||At?He/ce:Ct,He>=p?(He=p,Ct=p/ce):He<=c&&(He=c,Ct=c/ce),Ct>=h?(Ct=h,He=h*ce):Ct<=d&&(Ct=d,He=d*ce)}const ct=He!==le,on=Ct!==Se;if(q||G){const Re=q?oe-(He-ae):oe,Pt=G?pe-(Ct-re):pe,At=Re!==ge&&ct,xe=Pt!==_e&&on;if(At||xe){const ht={id:Z.id,type:"position",position:{x:At?Re:ge,y:xe?Pt:_e}};se.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Re={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:He,height:Ct}};se.push(Re),E.current.width=He,E.current.height=Ct}if(se.length===0)return;const vt=_T({width:E.current.width,prevWidth:le,height:E.current.height,prevHeight:Se,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(z,bt))===!1)return;w==null||w(z,bt),Y(se)}}).on("end",z=>{const H={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([H])});return Q.call(D),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const T=M.split("-"),A=n===Du.Line?"borderColor":"backgroundColor",$=a?{...o,[A]:a}:o;return i.jsx("div",{className:Xh(["react-flow__resize-control","nodrag",...T,n,r]),ref:I,style:$,children:s})}var IT=f.memo(jT);const E3=1/60*1e3,ET=typeof performance<"u"?()=>performance.now():()=>Date.now(),O3=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(ET()),E3);function OT(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=OT(()=>Uu=!0),e),{}),MT=hd.reduce((e,t)=>{const n=rm[t];return e[t]=(r,o=!1,s=!1)=>(Uu||AT(),n.schedule(r,o,s)),e},{}),DT=hd.reduce((e,t)=>(e[t]=rm[t].cancel,e),{});hd.reduce((e,t)=>(e[t]=()=>rm[t].process(nc),e),{});const TT=e=>rm[e].process(nc),R3=e=>{Uu=!1,nc.delta=yv?E3:Math.max(Math.min(e-nc.timestamp,RT),1),nc.timestamp=e,xv=!0,hd.forEach(TT),xv=!1,Uu&&(yv=!1,O3(R3))},AT=()=>{Uu=!0,yv=!0,xv||O3(R3)},bw=()=>nc;function Y1(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function md(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Te((c,d)=>i.jsx(Kr,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function NT(e){const{theme:t}=vR(),n=OD();return f.useMemo(()=>RD(t.direction,{...n,...e}),[e,t.direction,n])}var $T=Object.defineProperty,zT=(e,t,n)=>t in e?$T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gr=(e,t,n)=>(zT(e,typeof t!="symbol"?t+"":t,n),n);function yw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var LT=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function xw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function ww(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var wv=typeof window<"u"?f.useLayoutEffect:f.useEffect,zp=e=>e,BT=class{constructor(){gr(this,"descendants",new Map),gr(this,"register",e=>{if(e!=null)return LT(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),gr(this,"unregister",e=>{this.descendants.delete(e);const t=yw(Array.from(this.descendants.keys()));this.assignIndex(t)}),gr(this,"destroy",()=>{this.descendants.clear()}),gr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),gr(this,"count",()=>this.descendants.size),gr(this,"enabledCount",()=>this.enabledValues().length),gr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),gr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),gr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),gr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),gr(this,"first",()=>this.item(0)),gr(this,"firstEnabled",()=>this.enabledItem(0)),gr(this,"last",()=>this.item(this.descendants.size-1)),gr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),gr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),gr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),gr(this,"next",(e,t=!0)=>{const n=xw(e,this.count(),t);return this.item(n)}),gr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=xw(r,this.enabledCount(),t);return this.enabledItem(o)}),gr(this,"prev",(e,t=!0)=>{const n=ww(e,this.count()-1,t);return this.item(n)}),gr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=ww(r,this.enabledCount()-1,t);return this.enabledItem(o)}),gr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=yw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function FT(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{FT(n,t)})}}function HT(...e){return f.useMemo(()=>cn(...e),e)}function WT(){const e=f.useRef(new BT);return wv(()=>()=>e.current.destroy()),e.current}var[VT,M3]=Rn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function UT(e){const t=M3(),[n,r]=f.useState(-1),o=f.useRef(null);wv(()=>()=>{o.current&&t.unregister(o.current)},[]),wv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=zp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function Q1(){return[zp(VT),()=>zp(M3()),()=>WT(),o=>UT(o)]}var[GT,om]=Rn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[qT,X1]=Rn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[KT,dde,YT,QT]=Q1(),Su=Te(function(t,n){const{getButtonProps:r}=X1(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...om().button};return i.jsx(Ie.button,{...o,className:kt("chakra-accordion__button",t.className),__css:a})});Su.displayName="AccordionButton";function Ac(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=rr(r),a=rr(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=rr(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function XT(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;eA(e),tA(e);const c=YT(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=Ac({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[JT,J1]=Rn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function ZT(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=J1(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;nA(e);const{register:v,index:b,descendants:w}=QT({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);rA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},I=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),P=f.useCallback(M=>{const A={ArrowDown:()=>{const $=w.nextEnabled(b);$==null||$.node.focus()},ArrowUp:()=>{const $=w.prevEnabled(b);$==null||$.node.focus()},Home:()=>{const $=w.firstEnabled();$==null||$.node.focus()},End:()=>{const $=w.lastEnabled();$==null||$.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(T={},A=null){return{...T,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(T.onClick,I),onFocus:et(T.onFocus,E),onKeyDown:et(T.onKeyDown,P)}},[h,t,y,I,E,P,m,v]),R=f.useCallback(function(T={},A=null){return{...T,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function eA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;ld({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function tA(e){ld({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function nA(e){ld({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. - `})}function rA(e){ld({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Cu(e){const{isOpen:t,isDisabled:n}=X1(),{reduceMotion:r}=J1(),o=kt("chakra-accordion__icon",e.className),s=om(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(Kr,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Cu.displayName="AccordionIcon";var ku=Te(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=ZT(t),d={...om().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(qT,{value:p,children:i.jsx(Ie.div,{ref:n,...s,className:kt("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});ku.displayName="AccordionItem";var Gi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},uu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function Sv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return uu.slideRight;case"left":return uu.slideLeft;case"bottom":return uu.slideDown;case"top":return uu.slideUp;default:return uu.slideRight}}var Ki={enter:{duration:.2,ease:Gi.easeOut},exit:{duration:.1,ease:Gi.easeIn}},ks={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},oA=e=>e!=null&&parseInt(e.toString(),10)>0,Sw={exit:{height:{duration:.2,ease:Gi.ease},opacity:{duration:.3,ease:Gi.ease}},enter:{height:{duration:.3,ease:Gi.ease},opacity:{duration:.4,ease:Gi.ease}}},sA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:oA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Sw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:ks.enter(Sw.enter,o)}}},sm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),ld({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(Fo,{initial:!1,custom:y,children:S&&i.jsx(Qr.div,{ref:t,...m,className:kt("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:sA,initial:r?"exit":!1,animate:k,exit:"exit"})})});sm.displayName="Collapse";var aA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:ks.exit(Ki.exit,n),transitionEnd:t==null?void 0:t.exit}}},D3={initial:"exit",animate:"enter",exit:"exit",variants:aA},iA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(Fo,{custom:v,children:m&&i.jsx(Qr.div,{ref:n,className:kt("chakra-fade",s),custom:v,...D3,animate:h,...p})})});iA.displayName="Fade";var lA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:e==null?void 0:e.enter}}},T3={initial:"exit",animate:"enter",exit:"exit",variants:lA},cA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(Fo,{custom:w,children:v&&i.jsx(Qr.div,{ref:n,className:kt("chakra-offset-slide",c),...T3,animate:b,custom:w,...m})})});cA.displayName="ScaleFade";var uA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:ks.exit(Ki.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Cv={initial:"initial",animate:"enter",exit:"exit",variants:uA},dA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(Fo,{custom:y,children:b&&i.jsx(Qr.div,{ref:n,className:kt("chakra-offset-slide",a),custom:y,...Cv,animate:w,...v})})});dA.displayName="SlideFade";var Cw={exit:{duration:.15,ease:Gi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},fA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=Sv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:ks.exit(Cw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=Sv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:ks.enter(Cw.enter,r),transitionEnd:t==null?void 0:t.enter}}},A3=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=Sv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(Fo,{custom:k,children:y&&i.jsx(Qr.div,{...v,ref:n,initial:"exit",className:kt("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:fA,style:w,...m})})});A3.displayName="Slide";var _u=Te(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=J1(),{getPanelProps:c,isOpen:d}=X1(),p=c(s,n),h=kt("chakra-accordion__panel",r),m=om();a||delete p.hidden;const v=i.jsx(Ie.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(sm,{in:d,...o,children:v})});_u.displayName="AccordionPanel";var N3=Te(function({children:t,reduceMotion:n,...r},o){const s=Br("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=XT(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(KT,{value:d,children:i.jsx(JT,{value:h,children:i.jsx(GT,{value:s,children:i.jsx(Ie.div,{ref:o,...c,className:kt("chakra-accordion",r.className),__css:s.root,children:t})})})})});N3.displayName="Accordion";function gd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[pA,hA]=Rn({strict:!1,name:"ButtonGroupContext"}),mA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},gA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},nr=Te(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=kt("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?mA[h]:gA[h](c)};const y=h==="vertical";return i.jsx(pA,{value:b,children:i.jsx(Ie.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});nr.displayName="ButtonGroup";function vA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function kv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=kt("chakra-button__icon",n);return i.jsx(Ie.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}kv.displayName="ButtonIcon";function Lp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(dl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=kt("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(Ie.div,{className:d,...c,__css:h,children:o})}Lp.displayName="ButtonSpinner";var gc=Te((e,t)=>{const n=hA(),r=$a("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:I,type:P}=vA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(Ie.button,{ref:HT(t,I),as:S,type:v??P,"data-active":tn(a),"data-loading":tn(s),__css:_,className:kt("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Lp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(Ie.span,{opacity:0,children:i.jsx(kw,{...E})}):i.jsx(kw,{...E}),s&&w==="end"&&i.jsx(Lp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});gc.displayName="Button";function kw(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(kv,{marginEnd:o,children:t}),r,n&&i.jsx(kv,{marginStart:o,children:n})]})}var Sa=Te((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(gc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});Sa.displayName="IconButton";var[fde,bA]=Rn({name:"CheckboxGroupContext",strict:!1});function yA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function xA(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function wA(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function SA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?wA:xA;return n||t?i.jsx(Ie.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[CA,$3]=Rn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[kA,vd]=Rn({strict:!1,name:"FormControlContext"});function _A(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,T=>{T&&y(!0)})}),[m]),I=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":tn(S),"data-disabled":tn(o),"data-invalid":tn(r),"data-readonly":tn(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),P=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,T=>{T&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:P,getRootProps:E,getLabelProps:I,getRequiredIndicatorProps:O}}var ho=Te(function(t,n){const r=Br("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=_A(o),d=kt("chakra-form-control",t.className);return i.jsx(kA,{value:c,children:i.jsx(CA,{value:r,children:i.jsx(Ie.div,{...s({},n),className:d,__css:r.container})})})});ho.displayName="FormControl";var PA=Te(function(t,n){const r=vd(),o=$3(),s=kt("chakra-form__helper-text",t.className);return i.jsx(Ie.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});PA.displayName="FormHelperText";var zo=Te(function(t,n){var r;const o=$a("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(z3,{}),optionalIndicator:p=null,...h}=s,m=vd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(Ie.label,{...v,className:kt("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});zo.displayName="FormLabel";var z3=Te(function(t,n){const r=vd(),o=$3();if(!(r!=null&&r.isRequired))return null;const s=kt("chakra-form__required-indicator",t.className);return i.jsx(Ie.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});z3.displayName="RequiredIndicator";function Z1(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=eb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":ns(n),"aria-required":ns(o),"aria-readonly":ns(r)}}function eb(e){var t,n,r;const o=vd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var tb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},L3=Ie("span",{baseStyle:tb});L3.displayName="VisuallyHidden";var jA=Ie("input",{baseStyle:tb});jA.displayName="VisuallyHiddenInput";var _w=!1,bd=null,nl=!1,_v=!1,Pv=new Set;function nb(e,t){Pv.forEach(n=>n(e,t))}var IA=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function EA(e){return!(e.metaKey||!IA&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Pw(e){nl=!0,EA(e)&&(bd="keyboard",nb("keyboard",e))}function Dl(e){if(bd="pointer",e.type==="mousedown"||e.type==="pointerdown"){nl=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;nb("pointer",e)}}function OA(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function RA(e){OA(e)&&(nl=!0,bd="virtual")}function MA(e){e.target===window||e.target===document||(!nl&&!_v&&(bd="virtual",nb("virtual",e)),nl=!1,_v=!1)}function DA(){nl=!1,_v=!0}function jw(){return bd!=="pointer"}function TA(){if(typeof window>"u"||_w)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){nl=!0,e.apply(this,n)},document.addEventListener("keydown",Pw,!0),document.addEventListener("keyup",Pw,!0),document.addEventListener("click",RA,!0),window.addEventListener("focus",MA,!0),window.addEventListener("blur",DA,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Dl,!0),document.addEventListener("pointermove",Dl,!0),document.addEventListener("pointerup",Dl,!0)):(document.addEventListener("mousedown",Dl,!0),document.addEventListener("mousemove",Dl,!0),document.addEventListener("mouseup",Dl,!0)),_w=!0}function B3(e){TA(),e(jw());const t=()=>e(jw());return Pv.add(t),()=>{Pv.delete(t)}}function AA(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function F3(e={}){const t=eb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":I,"aria-invalid":P,...E}=e,O=AA(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=rr(b),M=rr(c),T=rr(d),[A,$]=f.useState(!1),[Q,B]=f.useState(!1),[V,q]=f.useState(!1),[G,D]=f.useState(!1);f.useEffect(()=>B3($),[]);const z=f.useRef(null),[H,Y]=f.useState(!0),[ie,ye]=f.useState(!!h),Z=m!==void 0,se=Z?m:ie,K=f.useCallback(le=>{if(r||n){le.preventDefault();return}Z||ye(se?le.target.checked:w?!0:le.target.checked),R==null||R(le)},[r,n,se,Z,w,R]);Zl(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Ba(()=>{n&&B(!1)},[n,B]),Zl(()=>{const le=z.current;le!=null&&le.form&&(le.form.onreset=()=>{ye(!!h)})},[]);const U=n&&!v,ae=f.useCallback(le=>{le.key===" "&&D(!0)},[D]),re=f.useCallback(le=>{le.key===" "&&D(!1)},[D]);Zl(()=>{if(!z.current)return;z.current.checked!==se&&ye(z.current.checked)},[z.current]);const oe=f.useCallback((le={},Se=null)=>{const Fe=Ae=>{Q&&Ae.preventDefault(),D(!0)};return{...le,ref:Se,"data-active":tn(G),"data-hover":tn(V),"data-checked":tn(se),"data-focus":tn(Q),"data-focus-visible":tn(Q&&A),"data-indeterminate":tn(w),"data-disabled":tn(n),"data-invalid":tn(s),"data-readonly":tn(r),"aria-hidden":!0,onMouseDown:et(le.onMouseDown,Fe),onMouseUp:et(le.onMouseUp,()=>D(!1)),onMouseEnter:et(le.onMouseEnter,()=>q(!0)),onMouseLeave:et(le.onMouseLeave,()=>q(!1))}},[G,se,n,Q,A,V,w,s,r]),pe=f.useCallback((le={},Se=null)=>({...O,...le,ref:cn(Se,Fe=>{Fe&&Y(Fe.tagName==="LABEL")}),onClick:et(le.onClick,()=>{var Fe;H||((Fe=z.current)==null||Fe.click(),requestAnimationFrame(()=>{var Ae;(Ae=z.current)==null||Ae.focus({preventScroll:!0})}))}),"data-disabled":tn(n),"data-checked":tn(se),"data-invalid":tn(s)}),[O,n,se,s,H]),ce=f.useCallback((le={},Se=null)=>({...le,ref:cn(z,Se),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(le.onChange,K),onBlur:et(le.onBlur,M,()=>B(!1)),onFocus:et(le.onFocus,T,()=>B(!0)),onKeyDown:et(le.onKeyDown,ae),onKeyUp:et(le.onKeyUp,re),required:o,checked:se,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":I,"aria-invalid":P?!!P:s,"aria-describedby":p,"aria-disabled":n,style:tb}),[y,S,a,K,M,T,ae,re,o,se,U,r,_,I,P,s,p,n,k]),ge=f.useCallback((le={},Se=null)=>({...le,ref:Se,onMouseDown:et(le.onMouseDown,NA),"data-disabled":tn(n),"data-checked":tn(se),"data-invalid":tn(s)}),[se,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:se,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:pe,getCheckboxProps:oe,getInputProps:ce,getLabelProps:ge,htmlProps:O}}function NA(e){e.preventDefault(),e.stopPropagation()}var $A={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},zA={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},LA=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),BA=za({from:{opacity:0},to:{opacity:1}}),FA=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),H3=Te(function(t,n){const r=bA(),o={...r,...t},s=Br("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(SA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let I=y;r!=null&&r.onChange&&a.value&&(I=Jh(r.onChange,y));const{state:P,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=F3({...k,isDisabled:w,isChecked:_,onChange:I}),T=yA(P.isChecked),A=f.useMemo(()=>({animation:T?P.isIndeterminate?`${BA} 20ms linear, ${FA} 200ms linear`:`${LA} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,T,P.isIndeterminate,s.icon]),$=f.cloneElement(v,{__css:A,isIndeterminate:P.isIndeterminate,isChecked:P.isChecked});return i.jsxs(Ie.label,{__css:{...zA,...s.container},className:kt("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(Ie.span,{__css:{...$A,...s.control},className:"chakra-checkbox__control",...O(),children:$}),p&&i.jsx(Ie.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});H3.displayName="Checkbox";function HA(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function rb(e,t){let n=HA(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function jv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Bp(e,t,n){return(e-t)*100/(n-t)}function W3(e,t,n){return(n-t)*e+t}function Iv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=jv(n);return rb(r,o)}function rc(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=f0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=V3(ni(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),ni(A)))},[p,v,b]),k=f.useCallback(A=>{let $=A;return d&&($=rc($,a,c)),rb($,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let $;b===""?$=ni(A):$=ni(b)+A,$=k($),S($)},[k,s,S,b]),I=f.useCallback((A=s)=>{let $;b===""?$=ni(-A):$=ni(b)-A,$=k($),S($)},[k,s,S,b]),P=f.useCallback(()=>{var A;let $;r==null?$="":$=(A=f0(r,s,n))!=null?A:a,S($)},[r,n,s,S,a]),E=f.useCallback(A=>{var $;const Q=($=f0(A,s,y))!=null?$:a;S(Q)},[y,s,S,a]),O=ni(b);return{isOutOfRange:O>c||O" `}),[UA,G3]=Rn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),q3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},K3=Te(function(t,n){const{getInputProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__input",t.className);return i.jsx(Ie.input,{...s,__css:{outline:0,...q3,...o.input},className:a})});K3.displayName="EditableInput";var Y3=Te(function(t,n){const{getPreviewProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__preview",t.className);return i.jsx(Ie.span,{...s,__css:{cursor:"text",display:"inline-block",...q3,...o.preview},className:a})});Y3.displayName="EditablePreview";function Yi(e,t,n,r){const o=rr(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function GA(e){return"current"in e}var Q3=()=>typeof window<"u";function qA(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var KA=e=>Q3()&&e.test(navigator.vendor),YA=e=>Q3()&&e.test(qA()),QA=()=>YA(/mac|iphone|ipad|ipod/i),XA=()=>QA()&&KA(/apple/i);function X3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!XA()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=GA(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Iw(e,t){return e?e===t||e.contains(t):!1}function JA(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=rr(b),k=!!(d&&!a),[_,I]=f.useState(k),[P,E]=Ac({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(P),M=f.useRef(null),T=f.useRef(null),A=f.useRef(null),$=f.useRef(null),Q=f.useRef(null);X3({ref:M,enabled:_,elements:[$,Q]});const B=!_&&!a;Zl(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Ba(()=>{var oe,pe,ce,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(ce=M.current)==null||ce.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{B&&I(!0)},[B]),q=f.useCallback(()=>{R(P)},[P]),G=f.useCallback(()=>{I(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),D=f.useCallback(()=>{I(!1),R(P),r==null||r(P),o==null||o(O)},[P,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const z=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),H=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:_e=>{!_e.shiftKey&&!_e.metaKey&&D()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,D]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ie=P.length===0,ye=f.useCallback(oe=>{var pe;if(!_)return;const ce=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:ce.activeElement,_e=Iw($.current,ge),le=Iw(Q.current,ge);!_e&&!le&&(h?D():G())},[h,D,G,_]),Z=f.useCallback((oe={},pe=null)=>{const ce=B&&p?0:void 0;return{...oe,ref:cn(pe,T),children:ie?v:P,hidden:_,"aria-disabled":ns(a),tabIndex:ce,onFocus:et(oe.onFocus,V,q)}},[a,_,B,p,ie,V,q,v,P]),se=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,H),onFocus:et(oe.onFocus,q)}),[a,_,ye,z,H,q,v,P]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,ye,z,Y,q,v,P]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),ae=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,D),disabled:a}),[D,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn($,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ie,value:P,onEdit:V,onCancel:G,onSubmit:D,getPreviewProps:Z,getInputProps:se,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:ae,getCancelButtonProps:re,htmlProps:y}}var J3=Te(function(t,n){const r=Br("Editable",t),o=qn(t),{htmlProps:s,...a}=JA(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=kt("chakra-editable",t.className),v=D1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(UA,{value:a,children:i.jsx(VA,{value:r,children:i.jsx(Ie.div,{ref:n,...s,className:m,children:v})})})});J3.displayName="Editable";var Z3={exports:{}},ZA="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",e9=ZA,t9=e9;function eP(){}function tP(){}tP.resetWarningCache=eP;var n9=function(){function e(r,o,s,a,c,d){if(d!==t9){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:tP,resetWarningCache:eP};return n.PropTypes=n,n};Z3.exports=n9();var r9=Z3.exports;const zn=cd(r9);var Ev="data-focus-lock",nP="data-focus-lock-disabled",o9="data-no-focus-lock",s9="data-autofocus-inside",a9="data-no-autofocus";function i9(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function l9(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function rP(e,t){return l9(t||null,function(n){return e.forEach(function(r){return i9(r,n)})})}var p0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Xs=function(){return Xs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Ov(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(S9)},C9=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],ib=C9.join(","),k9="".concat(ib,", [data-focus-guard]"),wP=function(e,t){return ia((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?k9:ib)?[r]:[],wP(r))},[])},_9=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?am([e.contentDocument.body],t):[e]},am=function(e,t){return e.reduce(function(n,r){var o,s=wP(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return _9(c,t)}));return n.concat(a,r.parentNode?ia(r.parentNode.querySelectorAll(ib)).filter(function(c){return c===r}):[])},[])},P9=function(e){var t=e.querySelectorAll("[".concat(s9,"]"));return ia(t).map(function(n){return am([n])}).reduce(function(n,r){return n.concat(r)},[])},lb=function(e,t){return ia(e).filter(function(n){return mP(t,n)}).filter(function(n){return y9(n)})},Ow=function(e,t){return t===void 0&&(t=new Map),ia(e).filter(function(n){return gP(t,n)})},Mv=function(e,t,n){return xP(lb(am(e,n),t),!0,n)},Rw=function(e,t){return xP(lb(am(e),t),!1)},j9=function(e,t){return lb(P9(e),t)},oc=function(e,t){return e.shadowRoot?oc(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:ia(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?oc(o,t):!1}return oc(n,t)})},I9=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},SP=function(e){return e.parentNode?SP(e.parentNode):e},cb=function(e){var t=Fp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Ev);return n.push.apply(n,o?I9(ia(SP(r).querySelectorAll("[".concat(Ev,'="').concat(o,'"]:not([').concat(nP,'="disabled"])')))):[r]),n},[])},E9=function(e){try{return e()}catch{return}},Gu=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Gu(t.shadowRoot):t instanceof HTMLIFrameElement&&E9(function(){return t.contentWindow.document})?Gu(t.contentWindow.document):t}},O9=function(e,t){return e===t},R9=function(e,t){return!!ia(e.querySelectorAll("iframe")).some(function(n){return O9(n,t)})},CP=function(e,t){return t===void 0&&(t=Gu(fP(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:cb(e).some(function(n){return oc(n,t)||R9(n,t)})},M9=function(e){e===void 0&&(e=document);var t=Gu(e);return t?ia(e.querySelectorAll("[".concat(o9,"]"))).some(function(n){return oc(n,t)}):!1},D9=function(e,t){return t.filter(yP).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},ub=function(e,t){return yP(e)&&e.name?D9(e,t):e},T9=function(e){var t=new Set;return e.forEach(function(n){return t.add(ub(n,e))}),e.filter(function(n){return t.has(n)})},Mw=function(e){return e[0]&&e.length>1?ub(e[0],e):e[0]},Dw=function(e,t){return e.length>1?e.indexOf(ub(e[t],e)):t},kP="NEW_FOCUS",A9=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=ab(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=T9(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Dw(e,0),_=Dw(e,o-1);if(d===-1||h===-1)return kP;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},N9=function(e){return function(t){var n,r=(n=vP(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},$9=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ow(r.filter(N9(n)));return o&&o.length?Mw(o):Mw(Ow(t))},Dv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Dv(e.parentNode.host||e.parentNode,t),t},h0=function(e,t){for(var n=Dv(e),r=Dv(t),o=0;o=0)return s}return!1},_P=function(e,t,n){var r=Fp(e),o=Fp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=h0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=h0(s,d);p&&(!a||oc(p,a)?a=p:a=h0(p,a))})}),a},z9=function(e,t){return e.reduce(function(n,r){return n.concat(j9(r,t))},[])},L9=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(w9)},B9=function(e,t){var n=Gu(Fp(e).length>0?document:fP(e).ownerDocument),r=cb(e).filter(Hp),o=_P(n||e,e,r),s=new Map,a=Rw(r,s),c=Mv(r,s).filter(function(b){var w=b.node;return Hp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Rw([o],s).map(function(b){var w=b.node;return w}),p=L9(d,c),h=p.map(function(b){var w=b.node;return w}),m=A9(h,d,n,t);if(m===kP){var v=$9(a,h,z9(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},F9=function(e){var t=cb(e).filter(Hp),n=_P(e,e,t),r=new Map,o=Mv([n],r,!0),s=Mv(t,r).filter(function(a){var c=a.node;return Hp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:ab(c)}})},H9=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},m0=0,g0=!1,PP=function(e,t,n){n===void 0&&(n={});var r=B9(e,t);if(!g0&&r){if(m0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),g0=!0,setTimeout(function(){g0=!1},1);return}m0++,H9(r.node,n.focusOptions),m0--}};function db(e){setTimeout(e,1)}var W9=function(){return document&&document.activeElement===document.body},V9=function(){return W9()||M9()},sc=null,Kl=null,ac=null,qu=!1,U9=function(){return!0},G9=function(t){return(sc.whiteList||U9)(t)},q9=function(t,n){ac={observerNode:t,portaledElement:n}},K9=function(t){return ac&&ac.portaledElement===t};function Tw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var Y9=function(t){return t&&"current"in t?t.current:t},Q9=function(t){return t?!!qu:qu==="meanwhile"},X9=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},J9=function(t,n){return n.some(function(r){return X9(t,r,r)})},Wp=function(){var t=!1;if(sc){var n=sc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||ac&&ac.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(Y9).filter(Boolean));if((!h||G9(h))&&(o||Q9(c)||!V9()||!Kl&&s)&&(p&&!(CP(m)||h&&J9(h,m)||K9(h))&&(document&&!Kl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=PP(m,Kl,{focusOptions:d}),ac={})),qu=!1,Kl=document&&document.activeElement),document){var v=document&&document.activeElement,b=F9(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),Tw(w,b.length,1,b),Tw(w,-1,-1,b))}}}return t},jP=function(t){Wp()&&t&&(t.stopPropagation(),t.preventDefault())},fb=function(){return db(Wp)},Z9=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||q9(r,n)},eN=function(){return null},IP=function(){qu="just",db(function(){qu="meanwhile"})},tN=function(){document.addEventListener("focusin",jP),document.addEventListener("focusout",fb),window.addEventListener("blur",IP)},nN=function(){document.removeEventListener("focusin",jP),document.removeEventListener("focusout",fb),window.removeEventListener("blur",IP)};function rN(e){return e.filter(function(t){var n=t.disabled;return!n})}function oN(e){var t=e.slice(-1)[0];t&&!sc&&tN();var n=sc,r=n&&t&&t.id===n.id;sc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Kl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Wp(),db(Wp)):(nN(),Kl=null)}cP.assignSyncMedium(Z9);uP.assignMedium(fb);u9.assignMedium(function(e){return e({moveFocusInside:PP,focusInside:CP})});const sN=h9(rN,oN)(eN);var EP=f.forwardRef(function(t,n){return f.createElement(dP,or({sideCar:sN,ref:n},t))}),OP=dP.propTypes||{};OP.sideCar;AD(OP,["sideCar"]);EP.propTypes={};const Aw=EP;function RP(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function pb(e){var t;if(!RP(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function aN(e){var t,n;return(n=(t=MP(e))==null?void 0:t.defaultView)!=null?n:window}function MP(e){return RP(e)?e.ownerDocument:document}function iN(e){return MP(e).activeElement}function lN(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function cN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function DP(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:pb(e)&&lN(e)?e:DP(cN(e))}var TP=e=>e.hasAttribute("tabindex"),uN=e=>TP(e)&&e.tabIndex===-1;function dN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function AP(e){return e.parentElement&&AP(e.parentElement)?!0:e.hidden}function fN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function NP(e){if(!pb(e)||AP(e)||dN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():fN(e)?!0:TP(e)}function pN(e){return e?pb(e)&&NP(e)&&!uN(e):!1}var hN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],mN=hN.join(),gN=e=>e.offsetWidth>0&&e.offsetHeight>0;function $P(e){const t=Array.from(e.querySelectorAll(mN));return t.unshift(e),t.filter(n=>NP(n)&&gN(n))}var Nw,vN=(Nw=Aw.default)!=null?Nw:Aw,zP=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&$P(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(vN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};zP.displayName="FocusLock";function bN(e,t,n,r){const o=C_(t);return f.useEffect(()=>{var s;const a=(s=j2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=j2(n))!=null?s:document).removeEventListener(e,o,r)}}function yN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=C_(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{v0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&v0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&v0(m,t)&&(a.isPointerDown=!1,o(m))},h=k_(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function v0(e,t){var n;const r=e.target;return r&&!k_(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[xN,wN]=Rn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),LP=Te(function(t,n){const r=Br("Input",t),{children:o,className:s,...a}=qn(t),c=kt("chakra-input__group",s),d={},p=gd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=Y1({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(Ie.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate"},"data-group":!0,...a,children:i.jsx(xN,{value:r,children:m})})});LP.displayName="InputGroup";var SN=Ie("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),im=Te(function(t,n){var r,o;const{placement:s="left",...a}=t,c=wN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(SN,{ref:n,__css:h,...a})});im.id="InputElement";im.displayName="InputElement";var BP=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__left-element",r);return i.jsx(im,{ref:n,placement:"left",className:s,...o})});BP.id="InputLeftElement";BP.displayName="InputLeftElement";var hb=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__right-element",r);return i.jsx(im,{ref:n,placement:"right",className:s,...o})});hb.id="InputRightElement";hb.displayName="InputRightElement";var yd=Te(function(t,n){const{htmlSize:r,...o}=t,s=Br("Input",o),a=qn(o),c=Z1(a),d=kt("chakra-input",t.className);return i.jsx(Ie.input,{size:r,...c,__css:s.field,ref:n,className:d})});yd.displayName="Input";yd.id="Input";var mb=Te(function(t,n){const r=$a("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(Ie.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:kt("chakra-link",o),...a,__css:r})});mb.displayName="Link";var[CN,FP]=Rn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),gb=Te(function(t,n){const r=Br("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=gd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(CN,{value:r,children:i.jsx(Ie.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});gb.displayName="List";var kN=Te((e,t)=>{const{as:n,...r}=e;return i.jsx(gb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});kN.displayName="OrderedList";var vb=Te(function(t,n){const{as:r,...o}=t;return i.jsx(gb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});vb.displayName="UnorderedList";var xa=Te(function(t,n){const r=FP();return i.jsx(Ie.li,{ref:n,...t,__css:r.item})});xa.displayName="ListItem";var _N=Te(function(t,n){const r=FP();return i.jsx(Kr,{ref:n,role:"presentation",...t,__css:r.icon})});_N.displayName="ListIcon";var rl=Te(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(Ie.div,{ref:n,__css:y,...w})});rl.displayName="Grid";function HP(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):pv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var fl=Ie("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});fl.displayName="Spacer";var tt=Te(function(t,n){const r=$a("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=Y1({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(Ie.p,{ref:n,className:kt("chakra-text",t.className),...p,...d,__css:r})});tt.displayName="Text";var WP=e=>i.jsx(Ie.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});WP.displayName="StackItem";function PN(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":HP(n,o=>r[o])}}var bb=Te((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>PN({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const I=gd(d);return S?I:I.map((P,E)=>{const O=typeof P.key<"u"?P.key:E,R=E+1===I.length,T=m?i.jsx(WP,{children:P},O):P;if(!y)return T;const A=f.cloneElement(p,{__css:w}),$=R?null:A;return i.jsxs(f.Fragment,{children:[T,$]},O)})},[p,w,y,S,m,d]),_=kt("chakra-stack",h);return i.jsx(Ie.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});bb.displayName="Stack";var VP=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"column",ref:t}));VP.displayName="VStack";var di=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"row",ref:t}));di.displayName="HStack";function $w(e){return HP(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Tv=Te(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=Y1({gridArea:r,gridColumn:$w(o),gridRow:$w(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(Ie.div,{ref:n,__css:m,...h})});Tv.displayName="GridItem";var pl=Te(function(t,n){const r=$a("Badge",t),{className:o,...s}=qn(t);return i.jsx(Ie.span,{ref:n,className:kt("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});pl.displayName="Badge";var hl=Te(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=$a("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(Ie.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:kt("chakra-divider",m)})});hl.displayName="Divider";function jN(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function IN(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(jN(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function EN(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function ON(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function b0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function UP(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),I=ON(),P=D=>{D&&D.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(D=>{if(n){D.stopPropagation(),D.preventDefault();return}D.currentTarget.focus(),d==null||d(D)},[n,d]),M=f.useCallback(D=>{k&&b0(D)&&(D.preventDefault(),D.stopPropagation(),_(!1),I.remove(document,"keyup",M,!1))},[k,I]),T=f.useCallback(D=>{if(p==null||p(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;const z=o&&D.key==="Enter";s&&D.key===" "&&(D.preventDefault(),_(!0)),z&&(D.preventDefault(),D.currentTarget.click()),I.add(document,"keyup",M,!1)},[n,y,p,o,s,I,M]),A=f.useCallback(D=>{if(h==null||h(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;s&&D.key===" "&&(D.preventDefault(),_(!1),D.currentTarget.click())},[s,y,n,h]),$=f.useCallback(D=>{D.button===0&&(_(!1),I.remove(document,"mouseup",$,!1))},[I]),Q=f.useCallback(D=>{if(D.button!==0)return;if(n){D.stopPropagation(),D.preventDefault();return}y||_(!0),D.currentTarget.focus({preventScroll:!0}),I.add(document,"mouseup",$,!1),a==null||a(D)},[n,y,a,I,$]),B=f.useCallback(D=>{D.button===0&&(y||_(!1),c==null||c(D))},[c,y]),V=f.useCallback(D=>{if(n){D.preventDefault();return}v==null||v(D)},[n,v]),q=f.useCallback(D=>{k&&(D.preventDefault(),_(!1)),b==null||b(D)},[k,b]),G=cn(t,P);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":tn(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:B,onKeyUp:A,onKeyDown:T,onMouseOver:V,onMouseLeave:q}}function RN(e){const t=e.current;if(!t)return!1;const n=iN(t);return!n||t.contains(n)?!1:!!pN(n)}function GP(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Ba(()=>{if(!s||RN(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var MN={preventScroll:!0,shouldFocus:!1};function DN(e,t=MN){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=TN(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);Zl(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=$P(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Ba(()=>{h()},[h]),Yi(a,"transitionend",h)}function TN(e){return"current"in e}var Tl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),_r={arrowShadowColor:Tl("--popper-arrow-shadow-color"),arrowSize:Tl("--popper-arrow-size","8px"),arrowSizeHalf:Tl("--popper-arrow-size-half"),arrowBg:Tl("--popper-arrow-bg"),transformOrigin:Tl("--popper-transform-origin"),arrowOffset:Tl("--popper-arrow-offset")};function AN(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var NN={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},$N=e=>NN[e],zw={scroll:!0,resize:!0};function zN(e){let t;return typeof e=="object"?t={enabled:!0,options:{...zw,...e}}:t={enabled:e,options:zw},t}var LN={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},BN={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Lw(e)},effect:({state:e})=>()=>{Lw(e)}},Lw=e=>{e.elements.popper.style.setProperty(_r.transformOrigin.var,$N(e.placement))},FN={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{HN(e)}},HN=e=>{var t;if(!e.placement)return;const n=WN(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:_r.arrowSize.varRef,height:_r.arrowSize.varRef,zIndex:-1});const r={[_r.arrowSizeHalf.var]:`calc(${_r.arrowSize.varRef} / 2 - 1px)`,[_r.arrowOffset.var]:`calc(${_r.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},WN=e=>{if(e.startsWith("top"))return{property:"bottom",value:_r.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:_r.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:_r.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:_r.arrowOffset.varRef}},VN={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Bw(e)},effect:({state:e})=>()=>{Bw(e)}},Bw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=AN(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:_r.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},UN={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},GN={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function qN(e,t="ltr"){var n,r;const o=((n=UN[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=GN[e])!=null?r:o}var Co="top",as="bottom",is="right",ko="left",yb="auto",xd=[Co,as,is,ko],vc="start",Ku="end",KN="clippingParents",qP="viewport",du="popper",YN="reference",Fw=xd.reduce(function(e,t){return e.concat([t+"-"+vc,t+"-"+Ku])},[]),KP=[].concat(xd,[yb]).reduce(function(e,t){return e.concat([t,t+"-"+vc,t+"-"+Ku])},[]),QN="beforeRead",XN="read",JN="afterRead",ZN="beforeMain",e$="main",t$="afterMain",n$="beforeWrite",r$="write",o$="afterWrite",s$=[QN,XN,JN,ZN,e$,t$,n$,r$,o$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Lo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ol(e){var t=Lo(e).Element;return e instanceof t||e instanceof Element}function rs(e){var t=Lo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function xb(e){if(typeof ShadowRoot>"u")return!1;var t=Lo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function a$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!rs(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function i$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!rs(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const l$={name:"applyStyles",enabled:!0,phase:"write",fn:a$,effect:i$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,Vp=Math.min,bc=Math.round;function Av(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function YP(){return!/^((?!chrome|android).)*safari/i.test(Av())}function yc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&rs(e)&&(o=e.offsetWidth>0&&bc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&bc(r.height)/e.offsetHeight||1);var a=ol(e)?Lo(e):window,c=a.visualViewport,d=!YP()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function wb(e){var t=yc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function QP(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&xb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ea(e){return Lo(e).getComputedStyle(e)}function c$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((ol(e)?e.ownerDocument:e.document)||window.document).documentElement}function lm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(xb(e)?e.host:null)||Pi(e)}function Hw(e){return!rs(e)||Ea(e).position==="fixed"?null:e.offsetParent}function u$(e){var t=/firefox/i.test(Av()),n=/Trident/i.test(Av());if(n&&rs(e)){var r=Ea(e);if(r.position==="fixed")return null}var o=lm(e);for(xb(o)&&(o=o.host);rs(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ea(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function wd(e){for(var t=Lo(e),n=Hw(e);n&&c$(n)&&Ea(n).position==="static";)n=Hw(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ea(n).position==="static")?t:n||u$(e)||t}function Sb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Tu(e,t,n){return Qi(e,Vp(t,n))}function d$(e,t,n){var r=Tu(e,t,n);return r>n?n:r}function XP(){return{top:0,right:0,bottom:0,left:0}}function JP(e){return Object.assign({},XP(),e)}function ZP(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var f$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,JP(typeof t!="number"?t:ZP(t,xd))};function p$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=Sb(c),p=[ko,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=f$(o.padding,n),v=wb(s),b=d==="y"?Co:ko,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=wd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,I=y/2-S/2,P=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+I,R=Tu(P,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function h$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||QP(t.elements.popper,o)&&(t.elements.arrow=o))}const m$={name:"arrow",enabled:!0,phase:"main",fn:p$,effect:h$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xc(e){return e.split("-")[1]}var g$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function v$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:bc(n*o)/o||0,y:bc(r*o)/o||0}}function Ww(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),I=ko,P=Co,E=window;if(p){var O=wd(n),R="clientHeight",M="clientWidth";if(O===Lo(n)&&(O=Pi(n),Ea(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===Co||(o===ko||o===is)&&s===Ku){P=as;var T=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=T-r.height,y*=d?1:-1}if(o===ko||(o===Co||o===as)&&s===Ku){I=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var $=Object.assign({position:c},p&&g$),Q=h===!0?v$({x:b,y},Lo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var B;return Object.assign({},$,(B={},B[P]=_?"0":"",B[I]=k?"0":"",B.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",B))}return Object.assign({},$,(t={},t[P]=_?y+"px":"",t[I]=k?b+"px":"",t.transform="",t))}function b$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:xc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ww(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ww(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const y$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:b$,data:{}};var Mf={passive:!0};function x$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Lo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Mf)}),c&&d.addEventListener("resize",n.update,Mf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Mf)}),c&&d.removeEventListener("resize",n.update,Mf)}}const w$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:x$,data:{}};var S$={left:"right",right:"left",bottom:"top",top:"bottom"};function yp(e){return e.replace(/left|right|bottom|top/g,function(t){return S$[t]})}var C$={start:"end",end:"start"};function Vw(e){return e.replace(/start|end/g,function(t){return C$[t]})}function Cb(e){var t=Lo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function kb(e){return yc(Pi(e)).left+Cb(e).scrollLeft}function k$(e,t){var n=Lo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=YP();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+kb(e),y:d}}function _$(e){var t,n=Pi(e),r=Cb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+kb(e),d=-r.scrollTop;return Ea(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function _b(e){var t=Ea(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function e5(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:rs(e)&&_b(e)?e:e5(lm(e))}function Au(e,t){var n;t===void 0&&(t=[]);var r=e5(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Lo(r),a=o?[s].concat(s.visualViewport||[],_b(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Au(lm(a)))}function Nv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function P$(e,t){var n=yc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Uw(e,t,n){return t===qP?Nv(k$(e,n)):ol(t)?P$(t,n):Nv(_$(Pi(e)))}function j$(e){var t=Au(lm(e)),n=["absolute","fixed"].indexOf(Ea(e).position)>=0,r=n&&rs(e)?wd(e):e;return ol(r)?t.filter(function(o){return ol(o)&&QP(o,r)&&ra(o)!=="body"}):[]}function I$(e,t,n,r){var o=t==="clippingParents"?j$(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=Uw(e,p,r);return d.top=Qi(h.top,d.top),d.right=Vp(h.right,d.right),d.bottom=Vp(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},Uw(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function t5(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?xc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case Co:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case ko:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?Sb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case vc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case Ku:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function Yu(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?KN:c,p=n.rootBoundary,h=p===void 0?qP:p,m=n.elementContext,v=m===void 0?du:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=JP(typeof S!="number"?S:ZP(S,xd)),_=v===du?YN:du,I=e.rects.popper,P=e.elements[w?_:v],E=I$(ol(P)?P:P.contextElement||Pi(e.elements.popper),d,h,a),O=yc(e.elements.reference),R=t5({reference:O,element:I,strategy:"absolute",placement:o}),M=Nv(Object.assign({},I,R)),T=v===du?M:O,A={top:E.top-T.top+k.top,bottom:T.bottom-E.bottom+k.bottom,left:E.left-T.left+k.left,right:T.right-E.right+k.right},$=e.modifiersData.offset;if(v===du&&$){var Q=$[o];Object.keys(A).forEach(function(B){var V=[is,as].indexOf(B)>=0?1:-1,q=[Co,as].indexOf(B)>=0?"y":"x";A[B]+=Q[q]*V})}return A}function E$(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?KP:d,h=xc(r),m=h?c?Fw:Fw.filter(function(w){return xc(w)===h}):xd,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=Yu(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function O$(e){if(ta(e)===yb)return[];var t=yp(e);return[Vw(e),t,Vw(t)]}function R$(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,I=d||(_||!w?[yp(S)]:O$(S)),P=[S].concat(I).reduce(function(se,K){return se.concat(ta(K)===yb?E$(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,T=P[0],A=0;A=0,q=V?"width":"height",G=Yu(t,{placement:$,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),D=V?B?is:ko:B?as:Co;E[q]>O[q]&&(D=yp(D));var z=yp(D),H=[];if(s&&H.push(G[Q]<=0),c&&H.push(G[D]<=0,G[z]<=0),H.every(function(se){return se})){T=$,M=!1;break}R.set($,H)}if(M)for(var Y=w?3:1,ie=function(K){var U=P.find(function(ae){var re=R.get(ae);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return T=U,"break"},ye=Y;ye>0;ye--){var Z=ie(ye);if(Z==="break")break}t.placement!==T&&(t.modifiersData[r]._skip=!0,t.placement=T,t.reset=!0)}}const M$={name:"flip",enabled:!0,phase:"main",fn:R$,requiresIfExists:["offset"],data:{_skip:!1}};function Gw(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function qw(e){return[Co,is,as,ko].some(function(t){return e[t]>=0})}function D$(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=Yu(t,{elementContext:"reference"}),c=Yu(t,{altBoundary:!0}),d=Gw(a,r),p=Gw(c,o,s),h=qw(d),m=qw(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const T$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:D$};function A$(e,t,n){var r=ta(e),o=[ko,Co].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[ko,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function N$(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=KP.reduce(function(h,m){return h[m]=A$(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const $$={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:N$};function z$(e){var t=e.state,n=e.name;t.modifiersData[n]=t5({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const L$={name:"popperOffsets",enabled:!0,phase:"read",fn:z$,data:{}};function B$(e){return e==="x"?"y":"x"}function F$(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=Yu(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=xc(t.placement),I=!_,P=Sb(k),E=B$(P),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,T=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),$=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var B,V=P==="y"?Co:ko,q=P==="y"?as:is,G=P==="y"?"height":"width",D=O[P],z=D+S[V],H=D-S[q],Y=b?-M[G]/2:0,ie=_===vc?R[G]:M[G],ye=_===vc?-M[G]:-R[G],Z=t.elements.arrow,se=b&&Z?wb(Z):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:XP(),U=K[V],ae=K[q],re=Tu(0,R[G],se[G]),oe=I?R[G]/2-Y-re-U-A.mainAxis:ie-re-U-A.mainAxis,pe=I?-R[G]/2+Y+re+ae+A.mainAxis:ye+re+ae+A.mainAxis,ce=t.elements.arrow&&wd(t.elements.arrow),ge=ce?P==="y"?ce.clientTop||0:ce.clientLeft||0:0,_e=(B=$==null?void 0:$[P])!=null?B:0,le=D+oe-_e-ge,Se=D+pe-_e,Fe=Tu(b?Vp(z,le):z,D,b?Qi(H,Se):H);O[P]=Fe,Q[P]=Fe-D}if(c){var Ae,He=P==="x"?Co:ko,Ct=P==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[He],bt=ct-S[Ct],we=[Co,ko].indexOf(k)!==-1,Re=(Ae=$==null?void 0:$[E])!=null?Ae:0,Pt=we?vt:ct-R[on]-M[on]-Re+A.altAxis,At=we?ct+R[on]+M[on]-Re-A.altAxis:bt,xe=b&&we?d$(Pt,ct,At):Tu(b?Pt:vt,ct,b?At:bt);O[E]=xe,Q[E]=xe-ct}t.modifiersData[r]=Q}}const H$={name:"preventOverflow",enabled:!0,phase:"main",fn:F$,requiresIfExists:["offset"]};function W$(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function V$(e){return e===Lo(e)||!rs(e)?Cb(e):W$(e)}function U$(e){var t=e.getBoundingClientRect(),n=bc(t.width)/e.offsetWidth||1,r=bc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function G$(e,t,n){n===void 0&&(n=!1);var r=rs(t),o=rs(t)&&U$(t),s=Pi(t),a=yc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||_b(s))&&(c=V$(t)),rs(t)?(d=yc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=kb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function q$(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function K$(e){var t=q$(e);return s$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function Y$(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Q$(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Kw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),n=0;n{}),I=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=Z$(w.current,y.current,{placement:k,modifiers:[VN,FN,BN,{...LN,enabled:!!v},{name:"eventListeners",...zN(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const P=f.useCallback(A=>{w.current=A,I()},[I]),E=f.useCallback((A={},$=null)=>({...A,ref:cn(P,$)}),[P]),O=f.useCallback(A=>{y.current=A,I()},[I]),R=f.useCallback((A={},$=null)=>({...A,ref:cn(O,$),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},$=null)=>{const{size:Q,shadowColor:B,bg:V,style:q,...G}=A;return{...G,ref:$,"data-popper-arrow":"",style:ez(A)}},[]),T=f.useCallback((A={},$=null)=>({...A,ref:$,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:_r.transformOrigin.varRef,referenceRef:P,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:T,getReferenceProps:E}}function ez(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function jb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=rr(n),a=rr(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(I){var P;(P=_.onClick)==null||P.call(_,I),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function tz(e){const{ref:t,handler:n,enabled:r=!0}=e,o=rr(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{y0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&y0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&y0(m,t)&&(a.isPointerDown=!1,o(m))},h=n5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function y0(e,t){var n;const r=e.target;return r&&!n5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function n5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function r5(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=aN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ib(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[nz,rz,oz,sz]=Q1(),[az,Sd]=Rn({strict:!1,name:"MenuContext"});function iz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function o5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function Qw(e){return o5(e).activeElement===e}function lz(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=oz(),I=f.useCallback(()=>{requestAnimationFrame(()=>{var Z;(Z=S.current)==null||Z.focus({preventScroll:!1})})},[]),P=f.useCallback(()=>{const Z=setTimeout(()=>{var se;if(o)(se=o.current)==null||se.focus();else{const K=_.firstEnabled();K&&B(K.index)}});z.current.add(Z)},[_,o]),E=f.useCallback(()=>{const Z=setTimeout(()=>{const se=_.lastEnabled();se&&B(se.index)});z.current.add(Z)},[_]),O=f.useCallback(()=>{h==null||h(),s?P():I()},[s,P,I,h]),{isOpen:R,onOpen:M,onClose:T,onToggle:A}=jb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});tz({enabled:R&&r,ref:S,handler:Z=>{var se;(se=k.current)!=null&&se.contains(Z.target)||T()}});const $=Pb({...y,enabled:R||w,placement:m,direction:b}),[Q,B]=f.useState(-1);Ba(()=>{R||B(-1)},[R]),GP(S,{focusRef:k,visible:R,shouldFocus:!0});const V=r5({isOpen:R,ref:S}),[q,G]=iz(t,"menu-button","menu-list"),D=f.useCallback(()=>{M(),I()},[M,I]),z=f.useRef(new Set([]));gz(()=>{z.current.forEach(Z=>clearTimeout(Z)),z.current.clear()});const H=f.useCallback(()=>{M(),P()},[P,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ie=f.useCallback(()=>{var Z,se;const K=o5(S.current),U=(Z=S.current)==null?void 0:Z.contains(K.activeElement);if(!(R&&!U))return;const re=(se=_.item(Q))==null?void 0:se.node;re==null||re.focus()},[R,Q,_]),ye=f.useRef(null);return{openAndFocusMenu:D,openAndFocusFirstItem:H,openAndFocusLastItem:Y,onTransitionEnd:ie,unstable__animationState:V,descendants:_,popper:$,buttonId:q,menuId:G,forceUpdate:$.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:T,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:B,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:ye}}function cz(e={},t=null){const n=Sd(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":tn(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function $v(e){var t;return hz(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function uz(e={},t=null){const n=Sd();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=rz(),b=IN({preventDefault:k=>k.key!==" "&&$v(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,P={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(P){k.preventDefault(),P(k);return}const E=b(O=>{const R=EN(v.values(),O,M=>{var T,A;return(A=(T=M==null?void 0:M.node)==null?void 0:T.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});$v(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ib({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function dz(e={}){const{popper:t,isOpen:n}=Sd();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function s5(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Sd(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:I,rafId:P}=v,E=f.useRef(null),O=`${I}-menuitem-${f.useId()}`,{index:R,register:M}=sz({disabled:c&&!d}),T=f.useCallback(D=>{n==null||n(D),!c&&b(R)},[b,R,c,n]),A=f.useCallback(D=>{r==null||r(D),E.current&&!Qw(E.current)&&T(D)},[T,r]),$=f.useCallback(D=>{o==null||o(D),!c&&b(-1)},[b,c,o]),Q=f.useCallback(D=>{s==null||s(D),$v(D.currentTarget)&&(p??y)&&S()},[S,s,y,p]),B=f.useCallback(D=>{a==null||a(D),b(R)},[b,a,R]),V=R===w,q=c&&!d;Ba(()=>{_&&(V&&!q&&E.current?(P.current&&cancelAnimationFrame(P.current),P.current=requestAnimationFrame(()=>{var D;(D=E.current)==null||D.focus(),P.current=null})):k.current&&!Qw(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=UP({onClick:Q,onFocus:B,onMouseEnter:T,onMouseMove:A,onMouseLeave:$,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function fz(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...s5(o,t),role:`menuitem${n}`,"aria-checked":r}}function pz(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=Ac({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=gd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,I;m(w.props.value),(I=(_=w.props).onClick)==null||I.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function hz(e){var t;if(!mz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function mz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function gz(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[vz,Cd]=Rn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),kd=e=>{const{children:t}=e,n=Br("Menu",e),r=qn(e),{direction:o}=Mc(),{descendants:s,...a}=lz({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(nz,{value:s,children:i.jsx(az,{value:c,children:i.jsx(vz,{value:n,children:D1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};kd.displayName="Menu";var a5=Te((e,t)=>{const n=Cd();return i.jsx(Ie.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});a5.displayName="MenuCommand";var i5=Te((e,t)=>{const{type:n,...r}=e,o=Cd(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(Ie.button,{ref:t,type:s,...r,__css:a})}),Eb=e=>{const{className:t,children:n,...r}=e,o=f.Children.only(n),s=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:kt("chakra-menu__icon",o.props.className)}):null,a=kt("chakra-menu__icon-wrapper",t);return i.jsx(Ie.span,{className:a,...r,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s})};Eb.displayName="MenuIcon";var kr=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=s5(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(i5,{...d,className:kt("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(a5,{marginStart:s,children:o})]})});kr.displayName="MenuItem";var bz={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},yz=Ie(Qr.div),zc=Te(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Sd(),m=uz(c,n),v=dz(s),b=Cd();return i.jsx(Ie.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(yz,{variants:bz,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:kt("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:Jh(h.onComplete,m.onAnimationComplete)})})});zc.displayName="MenuList";var Qu=Te((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=kt("chakra-menu__group__title",o),c=Cd();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(Ie.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});Qu.displayName="MenuGroup";var l5=e=>{const{className:t,title:n,...r}=e,o=pz(r);return i.jsx(Qu,{title:n,className:kt("chakra-menu__option-group",t),...o})};l5.displayName="MenuOptionGroup";var xz=Te((e,t)=>{const n=Cd();return i.jsx(Ie.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),_d=Te((e,t)=>{const{children:n,as:r,...o}=e,s=cz(o,t),a=r||xz;return i.jsx(a,{...s,className:kt("chakra-menu__menu-button",e.className),children:i.jsx(Ie.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});_d.displayName="MenuButton";var wz=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),Up=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=fz(o,t);return i.jsxs(i5,{...s,className:kt("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(wz,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});Up.id="MenuItemOption";Up.displayName="MenuItemOption";var Sz={slideInBottom:{...Cv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Cv,custom:{offsetX:16,reverse:!0}},scale:{...T3,custom:{initialScale:.95,reverse:!0}},none:{}},Cz=Ie(Qr.section),kz=e=>Sz[e||"none"],c5=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=kz(n),...o}=e;return i.jsx(Cz,{ref:t,...r,...o})});c5.displayName="ModalTransition";var _z=Object.defineProperty,Pz=(e,t,n)=>t in e?_z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jz=(e,t,n)=>(Pz(e,typeof t!="symbol"?t+"":t,n),n),Iz=class{constructor(){jz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},zv=new Iz;function u5(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=zv.add(o);r(s)}return()=>{zv.remove(o),r(0)}}},[t,e]),n}var Ez=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Al=new WeakMap,Df=new WeakMap,Tf={},x0=0,d5=function(e){return e&&(e.host||d5(e.parentNode))},Oz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=d5(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Rz=function(e,t,n,r){var o=Oz(t,Array.isArray(e)?e:[e]);Tf[n]||(Tf[n]=new WeakMap);var s=Tf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Al.get(v)||0)+1,S=(s.get(v)||0)+1;Al.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Df.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),x0++,function(){a.forEach(function(m){var v=Al.get(m)-1,b=s.get(m)-1;Al.set(m,v),s.set(m,b),v||(Df.has(m)||m.removeAttribute(r),Df.delete(m)),b||m.removeAttribute(n)}),x0--,x0||(Al=new WeakMap,Al=new WeakMap,Df=new WeakMap,Tf={})}},Mz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||Ez(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Rz(r,o,n,"aria-hidden")):function(){return null}};function Dz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=Az(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Tz(p,t&&a);const w=u5(p,t),y=f.useRef(null),S=f.useCallback(T=>{y.current=T.target},[]),k=f.useCallback(T=>{T.key==="Escape"&&(T.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,I]=f.useState(!1),[P,E]=f.useState(!1),O=f.useCallback((T={},A=null)=>({role:"dialog",...T,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":P?b:void 0,onClick:et(T.onClick,$=>$.stopPropagation())}),[b,P,m,v,_]),R=f.useCallback(T=>{T.stopPropagation(),y.current===T.target&&zv.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((T={},A=null)=>({...T,ref:cn(A,h),onClick:et(T.onClick,R),onKeyDown:et(T.onKeyDown,k),onMouseDown:et(T.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:I,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function Tz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return Mz(e.current)},[t,e,n])}function Az(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[Nz,Lc]=Rn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[$z,sl]=Rn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Xu=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Br("Modal",t),k={...Dz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx($z,{value:k,children:i.jsx(Nz,{value:y,children:i.jsx(Fo,{onExitComplete:w,children:k.isOpen&&i.jsx(Vu,{...n,children:r})})})})};Xu.displayName="Modal";var xp="right-scroll-bar-position",wp="width-before-scroll-bar",zz="with-scroll-bars-hidden",Lz="--removed-body-scroll-bar-size",f5=iP(),w0=function(){},cm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:w0,onWheelCapture:w0,onTouchMoveCapture:w0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,I=oP(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=v,E=rP([n,t]),O=Xs(Xs({},I),o);return f.createElement(f.Fragment,null,h&&f.createElement(P,{sideCar:f5,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Xs(Xs({},O),{ref:E})):f.createElement(k,Xs({},O,{className:d,ref:E}),c))});cm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};cm.classNames={fullWidth:wp,zeroRight:xp};var Xw,Bz=function(){if(Xw)return Xw;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Fz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Bz();return t&&e.setAttribute("nonce",t),e}function Hz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Wz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Vz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Fz())&&(Hz(t,n),Wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Uz=function(){var e=Vz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},p5=function(){var e=Uz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},Gz={left:0,top:0,right:0,gap:0},S0=function(e){return parseInt(e||"",10)||0},qz=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[S0(n),S0(r),S0(o)]},Kz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Gz;var t=qz(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Yz=p5(),Qz=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` - .`.concat(zz,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(c,"px ").concat(r,`; - } - body { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(o,`px; - padding-top: `).concat(s,`px; - padding-right: `).concat(a,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(c,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(xp,` { - right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(wp,` { - margin-right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(xp," .").concat(xp,` { - right: 0 `).concat(r,`; - } - - .`).concat(wp," .").concat(wp,` { - margin-right: 0 `).concat(r,`; - } - - body { - `).concat(Lz,": ").concat(c,`px; - } -`)},Xz=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Kz(o)},[o]);return f.createElement(Yz,{styles:Qz(s,!t,o,n?"":"!important")})},Lv=!1;if(typeof window<"u")try{var Af=Object.defineProperty({},"passive",{get:function(){return Lv=!0,!0}});window.addEventListener("test",Af,Af),window.removeEventListener("test",Af,Af)}catch{Lv=!1}var Nl=Lv?{passive:!1}:!1,Jz=function(e){return e.tagName==="TEXTAREA"},h5=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Jz(e)&&n[t]==="visible")},Zz=function(e){return h5(e,"overflowY")},eL=function(e){return h5(e,"overflowX")},Jw=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=m5(e,r);if(o){var s=g5(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},tL=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},nL=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},m5=function(e,t){return e==="v"?Zz(t):eL(t)},g5=function(e,t){return e==="v"?tL(t):nL(t)},rL=function(e,t){return e==="h"&&t==="rtl"?-1:1},oL=function(e,t,n,r,o){var s=rL(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),p=!1,h=a>0,m=0,v=0;do{var b=g5(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&m5(e,c)&&(m+=k,v+=w),c=c.parentNode}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(h&&(o&&m===0||!o&&a>m)||!h&&(o&&v===0||!o&&-a>v))&&(p=!0),p},Nf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Zw=function(e){return[e.deltaX,e.deltaY]},eS=function(e){return e&&"current"in e?e.current:e},sL=function(e,t){return e[0]===t[0]&&e[1]===t[1]},aL=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},iL=0,$l=[];function lL(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(iL++)[0],s=f.useState(p5)[0],a=f.useRef(e);f.useEffect(function(){a.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var y=Ov([e.lockRef.current],(e.shards||[]).map(eS),!0).filter(Boolean);return y.forEach(function(S){return S.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=f.useCallback(function(y,S){if("touches"in y&&y.touches.length===2)return!a.current.allowPinchZoom;var k=Nf(y),_=n.current,I="deltaX"in y?y.deltaX:_[0]-k[0],P="deltaY"in y?y.deltaY:_[1]-k[1],E,O=y.target,R=Math.abs(I)>Math.abs(P)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=Jw(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=Jw(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(I||P)&&(r.current=E),!E)return!0;var T=r.current||E;return oL(T,S,y,T==="h"?I:P,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!$l.length||$l[$l.length-1]!==s)){var k="deltaY"in S?Zw(S):Nf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&sL(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var I=(a.current.shards||[]).map(eS).filter(Boolean).filter(function(E){return E.contains(S.target)}),P=I.length>0?c(S,I[0]):!a.current.noIsolation;P&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var I={name:y,delta:S,target:k,should:_};t.current.push(I),setTimeout(function(){t.current=t.current.filter(function(P){return P!==I})},1)},[]),h=f.useCallback(function(y){n.current=Nf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,Zw(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Nf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return $l.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,Nl),document.addEventListener("touchmove",d,Nl),document.addEventListener("touchstart",h,Nl),function(){$l=$l.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,Nl),document.removeEventListener("touchmove",d,Nl),document.removeEventListener("touchstart",h,Nl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:aL(o)}):null,b?f.createElement(Xz,{gapMode:e.gapMode}):null)}const cL=c9(f5,lL);var v5=f.forwardRef(function(e,t){return f.createElement(cm,Xs({},e,{ref:t,sideCar:cL}))});v5.classNames=cm.classNames;const uL=v5;function dL(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=sl(),[v,b]=yR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=u5(r,m);return i.jsx(zP,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(uL,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var Ju=Te((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=sl(),p=c(a,t),h=d(o),m=kt("chakra-modal__content",n),v=Lc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},w={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:y}=sl();return i.jsx(dL,{children:i.jsx(Ie.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(c5,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});Ju.displayName="ModalContent";function Pd(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(Xu,{...n,initialFocusRef:t})}var jd=Te((e,t)=>i.jsx(Ju,{ref:t,role:"alertdialog",...e})),Oa=Te((e,t)=>{const{className:n,...r}=e,o=kt("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Lc().footer};return i.jsx(Ie.footer,{ref:t,...r,__css:a,className:o})});Oa.displayName="ModalFooter";var Ra=Te((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=sl();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=kt("chakra-modal__header",n),d={flex:0,...Lc().header};return i.jsx(Ie.header,{ref:t,className:a,id:o,...r,__css:d})});Ra.displayName="ModalHeader";var fL=Ie(Qr.div),Ma=Te((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=kt("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Lc().overlay},{motionPreset:p}=sl(),m=o||(p==="none"?{}:D3);return i.jsx(fL,{...m,__css:d,ref:t,className:a,...s})});Ma.displayName="ModalOverlay";var Da=Te((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=sl();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=kt("chakra-modal__body",n),c=Lc();return i.jsx(Ie.div,{ref:t,className:a,id:o,...r,__css:c.body})});Da.displayName="ModalBody";var Ob=Te((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=sl(),a=kt("chakra-modal__close-btn",r),c=Lc();return i.jsx(MD,{ref:t,__css:c.closeButton,className:a,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});Ob.displayName="ModalCloseButton";var pL=e=>i.jsx(Kr,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),hL=e=>i.jsx(Kr,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function tS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,a=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&a.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:a}),()=>c.disconnect()})}function mL(e,t){const n=rr(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var gL=50,nS=300;function vL(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[a,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);mL(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?gL:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},nS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},nS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var bL=/^[Ee0-9+\-.]$/;function yL(e){return bL.test(e)}function xL(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function wL(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:c,isDisabled:d,isRequired:p,isInvalid:h,pattern:m="[0-9]*(.[0-9]+)?",inputMode:v="decimal",allowMouseWheel:b,id:w,onChange:y,precision:S,name:k,"aria-describedby":_,"aria-label":I,"aria-labelledby":P,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:T,format:A,parse:$,...Q}=e,B=rr(E),V=rr(O),q=rr(R),G=rr(T??yL),D=rr(M),z=WA(e),{update:H,increment:Y,decrement:ie}=z,[ye,Z]=f.useState(!1),se=!(c||d),K=f.useRef(null),U=f.useRef(null),ae=f.useRef(null),re=f.useRef(null),oe=f.useCallback(xe=>xe.split("").filter(G).join(""),[G]),pe=f.useCallback(xe=>{var ht;return(ht=$==null?void 0:$(xe))!=null?ht:xe},[$]),ce=f.useCallback(xe=>{var ht;return((ht=A==null?void 0:A(xe))!=null?ht:xe).toString()},[A]);Ba(()=>{(z.valueAsNumber>s||z.valueAsNumber{if(!K.current)return;if(K.current.value!=z.value){const ht=pe(K.current.value);z.setValue(oe(ht))}},[pe,oe]);const ge=f.useCallback((xe=a)=>{se&&Y(xe)},[Y,se,a]),_e=f.useCallback((xe=a)=>{se&&ie(xe)},[ie,se,a]),le=vL(ge,_e);tS(ae,"disabled",le.stop,le.isSpinning),tS(re,"disabled",le.stop,le.isSpinning);const Se=f.useCallback(xe=>{if(xe.nativeEvent.isComposing)return;const $t=pe(xe.currentTarget.value);H(oe($t)),U.current={start:xe.currentTarget.selectionStart,end:xe.currentTarget.selectionEnd}},[H,oe,pe]),Fe=f.useCallback(xe=>{var ht,$t,zt;B==null||B(xe),U.current&&(xe.target.selectionStart=($t=U.current.start)!=null?$t:(ht=xe.currentTarget.value)==null?void 0:ht.length,xe.currentTarget.selectionEnd=(zt=U.current.end)!=null?zt:xe.currentTarget.selectionStart)},[B]),Ae=f.useCallback(xe=>{if(xe.nativeEvent.isComposing)return;xL(xe,G)||xe.preventDefault();const ht=He(xe)*a,$t=xe.key,Ne={ArrowUp:()=>ge(ht),ArrowDown:()=>_e(ht),Home:()=>H(o),End:()=>H(s)}[$t];Ne&&(xe.preventDefault(),Ne(xe))},[G,a,ge,_e,H,o,s]),He=xe=>{let ht=1;return(xe.metaKey||xe.ctrlKey)&&(ht=.1),xe.shiftKey&&(ht=10),ht},Ct=f.useMemo(()=>{const xe=D==null?void 0:D(z.value);if(xe!=null)return xe;const ht=z.value.toString();return ht||void 0},[z.value,D]),ct=f.useCallback(()=>{let xe=z.value;if(z.value==="")return;/^[eE]/.test(z.value.toString())?z.setValue(""):(z.valueAsNumbers&&(xe=s),z.cast(xe))},[z,s,o]),on=f.useCallback(()=>{Z(!1),n&&ct()},[n,Z,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var xe;(xe=K.current)==null||xe.focus()})},[t]),bt=f.useCallback(xe=>{xe.preventDefault(),le.up(),vt()},[vt,le]),we=f.useCallback(xe=>{xe.preventDefault(),le.down(),vt()},[vt,le]);Yi(()=>K.current,"wheel",xe=>{var ht,$t;const Ne=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Ne)return;xe.preventDefault();const qe=He(xe)*a,Pn=Math.sign(xe.deltaY);Pn===-1?ge(qe):Pn===1&&_e(qe)},{passive:!1});const Re=f.useCallback((xe={},ht=null)=>{const $t=d||r&&z.isAtMax;return{...xe,ref:cn(ht,ae),role:"button",tabIndex:-1,onPointerDown:et(xe.onPointerDown,zt=>{zt.button!==0||$t||bt(zt)}),onPointerLeave:et(xe.onPointerLeave,le.stop),onPointerUp:et(xe.onPointerUp,le.stop),disabled:$t,"aria-disabled":ns($t)}},[z.isAtMax,r,bt,le.stop,d]),Pt=f.useCallback((xe={},ht=null)=>{const $t=d||r&&z.isAtMin;return{...xe,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(xe.onPointerDown,zt=>{zt.button!==0||$t||we(zt)}),onPointerLeave:et(xe.onPointerLeave,le.stop),onPointerUp:et(xe.onPointerUp,le.stop),disabled:$t,"aria-disabled":ns($t)}},[z.isAtMin,r,we,le.stop,d]),At=f.useCallback((xe={},ht=null)=>{var $t,zt,Ne,qe;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":P,"aria-label":I,"aria-describedby":_,id:w,disabled:d,...xe,readOnly:($t=xe.readOnly)!=null?$t:c,"aria-readonly":(zt=xe.readOnly)!=null?zt:c,"aria-required":(Ne=xe.required)!=null?Ne:p,required:(qe=xe.required)!=null?qe:p,ref:cn(K,ht),value:ce(z.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(z.valueAsNumber)?void 0:z.valueAsNumber,"aria-invalid":ns(h??z.isOutOfRange),"aria-valuetext":Ct,autoComplete:"off",autoCorrect:"off",onChange:et(xe.onChange,Se),onKeyDown:et(xe.onKeyDown,Ae),onFocus:et(xe.onFocus,Fe,()=>Z(!0)),onBlur:et(xe.onBlur,V,on)}},[k,v,m,P,I,ce,_,w,d,p,c,h,z.value,z.valueAsNumber,z.isOutOfRange,o,s,Ct,Se,Ae,Fe,V,on]);return{value:ce(z.value),valueAsNumber:z.valueAsNumber,isFocused:ye,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Re,getDecrementButtonProps:Pt,getInputProps:At,htmlProps:Q}}var[SL,um]=Rn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[CL,Rb]=Rn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),dm=Te(function(t,n){const r=Br("NumberInput",t),o=qn(t),s=eb(o),{htmlProps:a,...c}=wL(s),d=f.useMemo(()=>c,[c]);return i.jsx(CL,{value:d,children:i.jsx(SL,{value:r,children:i.jsx(Ie.div,{...a,ref:n,className:kt("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});dm.displayName="NumberInput";var fm=Te(function(t,n){const r=um();return i.jsx(Ie.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});fm.displayName="NumberInputStepper";var pm=Te(function(t,n){const{getInputProps:r}=Rb(),o=r(t,n),s=um();return i.jsx(Ie.input,{...o,className:kt("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});pm.displayName="NumberInputField";var b5=Ie("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),hm=Te(function(t,n){var r;const o=um(),{getDecrementButtonProps:s}=Rb(),a=s(t,n);return i.jsx(b5,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(pL,{})})});hm.displayName="NumberDecrementStepper";var mm=Te(function(t,n){var r;const{getIncrementButtonProps:o}=Rb(),s=o(t,n),a=um();return i.jsx(b5,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(hL,{})})});mm.displayName="NumberIncrementStepper";var[kL,Id]=Rn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[_L,Mb]=Rn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Db(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Id();return f.cloneElement(t,n(t.props,t.ref))}Db.displayName="PopoverTrigger";var zl={click:"click",hover:"hover"};function PL(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=zl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:I}=jb(e),P=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[T,A]=f.useState(!1),[$,Q]=f.useState(!1),B=f.useId(),V=o??B,[q,G,D,z]=["popover-trigger","popover-content","popover-header","popover-body"].map(Se=>`${Se}-${V}`),{referenceRef:H,getArrowProps:Y,getPopperProps:ie,getArrowInnerProps:ye,forceUpdate:Z}=Pb({...y,enabled:S||!!w}),se=r5({isOpen:S,ref:O});X3({enabled:S,ref:E}),GP(O,{focusRef:E,visible:S,shouldFocus:s&&p===zl.click}),DN(O,{focusRef:r,visible:S,shouldFocus:a&&p===zl.click});const K=Ib({wasSelected:M.current,enabled:v,mode:b,isSelected:se.present}),U=f.useCallback((Se={},Fe=null)=>{const Ae={...Se,style:{...Se.style,transformOrigin:_r.transformOrigin.varRef,[_r.arrowSize.var]:c?`${c}px`:void 0,[_r.arrowShadowColor.var]:d},ref:cn(O,Fe),children:K?Se.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(Se.onKeyDown,He=>{n&&He.key==="Escape"&&k()}),onBlur:et(Se.onBlur,He=>{const Ct=rS(He),ct=C0(O.current,Ct),on=C0(E.current,Ct);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":T?D:void 0,"aria-describedby":$?z:void 0};return p===zl.hover&&(Ae.role="tooltip",Ae.onMouseEnter=et(Se.onMouseEnter,()=>{R.current=!0}),Ae.onMouseLeave=et(Se.onMouseLeave,He=>{He.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ae},[K,G,T,D,$,z,p,n,k,S,t,m,d,c]),ae=f.useCallback((Se={},Fe=null)=>ie({...Se,style:{visibility:S?"visible":"hidden",...Se.style}},Fe),[S,ie]),re=f.useCallback((Se,Fe=null)=>({...Se,ref:cn(Fe,P,H)}),[P,H]),oe=f.useRef(),pe=f.useRef(),ce=f.useCallback(Se=>{P.current==null&&H(Se)},[H]),ge=f.useCallback((Se={},Fe=null)=>{const Ae={...Se,ref:cn(E,Fe,ce),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===zl.click&&(Ae.onClick=et(Se.onClick,I)),p===zl.hover&&(Ae.onFocus=et(Se.onFocus,()=>{oe.current===void 0&&_()}),Ae.onBlur=et(Se.onBlur,He=>{const Ct=rS(He),ct=!C0(O.current,Ct);S&&t&&ct&&k()}),Ae.onKeyDown=et(Se.onKeyDown,He=>{He.key==="Escape"&&k()}),Ae.onMouseEnter=et(Se.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ae.onMouseLeave=et(Se.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ae},[q,S,G,p,ce,I,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const _e=f.useCallback((Se={},Fe=null)=>({...Se,id:D,ref:cn(Fe,Ae=>{A(!!Ae)})}),[D]),le=f.useCallback((Se={},Fe=null)=>({...Se,id:z,ref:cn(Fe,Ae=>{Q(!!Ae)})}),[z]);return{forceUpdate:Z,isOpen:S,onAnimationComplete:se.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:ye,getPopoverPositionerProps:ae,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:_e,getBodyProps:le}}function C0(e,t){return e===t||(e==null?void 0:e.contains(t))}function rS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Tb(e){const t=Br("Popover",e),{children:n,...r}=qn(e),o=Mc(),s=PL({...r,direction:o.direction});return i.jsx(kL,{value:s,children:i.jsx(_L,{value:t,children:D1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Tb.displayName="Popover";var k0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function y5(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=Id(),h=Mb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(Ie.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(Ie.div,{className:kt("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":k0("colors",c),"--popper-arrow-bg":k0("colors",m),"--popper-arrow-shadow":k0("shadows",v),...h.arrow}})})}y5.displayName="PopoverArrow";var x5=Te(function(t,n){const{getBodyProps:r}=Id(),o=Mb();return i.jsx(Ie.div,{...r(t,n),className:kt("chakra-popover__body",t.className),__css:o.body})});x5.displayName="PopoverBody";function jL(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var IL={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},EL=Ie(Qr.section),w5=Te(function(t,n){const{variants:r=IL,...o}=t,{isOpen:s}=Id();return i.jsx(EL,{ref:n,variants:jL(r),initial:!1,animate:s?"enter":"exit",...o})});w5.displayName="PopoverTransition";var Ab=Te(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=Id(),p=Mb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(Ie.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(w5,{...o,...a(s,n),onAnimationComplete:Jh(d,s.onAnimationComplete),className:kt("chakra-popover__content",t.className),__css:h})})});Ab.displayName="PopoverContent";function OL(e,t,n){return(e-t)*100/(n-t)}za({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});za({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var RL=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),ML=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function DL(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=OL(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:c},percent:d,value:t}}var[TL,AL]=Rn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),NL=Te((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=DL({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...AL().filledTrack};return i.jsx(Ie.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),S5=Te((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:a,isAnimated:c,children:d,borderRadius:p,isIndeterminate:h,"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,title:w,role:y,...S}=qn(e),k=Br("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),I={animation:`${ML} 1s linear infinite`},O={...!h&&a&&c&&I,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${RL} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return i.jsx(Ie.div,{ref:t,borderRadius:_,__css:R,...S,children:i.jsxs(TL,{value:k,children:[i.jsx(NL,{"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:_,title:w,role:y}),d]})})});S5.displayName="Progress";function $L(e){return e&&pv(e)&&pv(e.target)}function zL(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:a,isNative:c,...d}=e,[p,h]=f.useState(r||""),m=typeof n<"u",v=m?n:p,b=f.useRef(null),w=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const M=E.querySelector(O);M==null||M.focus()},[]),S=`radio-${f.useId()}`,k=o||S,_=f.useCallback(E=>{const O=$L(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),I=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),P=f.useCallback((E={},O=null)=>({...E,ref:O,name:k,[c?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(M){_(M)},"data-radiogroup":!0}),[c,k,_,v]);return{getRootProps:I,getRadioProps:P,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:a,htmlProps:d}}var[LL,C5]=Rn({name:"RadioGroupContext",strict:!1}),Gp=Te((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:a,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=zL(p),y=f.useMemo(()=>({name:b,size:r,onChange:m,colorScheme:n,value:h,variant:o,isDisabled:c,isFocusable:d}),[b,r,m,n,h,o,c,d]);return i.jsx(LL,{value:y,children:i.jsx(Ie.div,{...v(w,t),className:kt("chakra-radio-group",a),children:s})})});Gp.displayName="RadioGroup";var BL={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function FL(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:a,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=vd(),_=!!C5()||!!v;let P=!!S&&!_?S.id:y;P=m??P;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=a??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[T,A]=f.useState(!1),[$,Q]=f.useState(!1),[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,z]=f.useState(!!t),H=typeof n<"u",Y=H?n:D;f.useEffect(()=>B3(A),[]);const ie=f.useCallback(ce=>{if(O||E){ce.preventDefault();return}H||z(ce.target.checked),c==null||c(ce)},[H,E,O,c]),ye=f.useCallback(ce=>{ce.key===" "&&G(!0)},[G]),Z=f.useCallback(ce=>{ce.key===" "&&G(!1)},[G]),se=f.useCallback((ce={},ge=null)=>({...ce,ref:ge,"data-active":tn(q),"data-hover":tn(B),"data-disabled":tn(E),"data-invalid":tn(M),"data-checked":tn(Y),"data-focus":tn($),"data-focus-visible":tn($&&T),"data-readonly":tn(O),"aria-hidden":!0,onMouseDown:et(ce.onMouseDown,()=>G(!0)),onMouseUp:et(ce.onMouseUp,()=>G(!1)),onMouseEnter:et(ce.onMouseEnter,()=>V(!0)),onMouseLeave:et(ce.onMouseLeave,()=>V(!1))}),[q,B,E,M,Y,$,O,T]),{onFocus:K,onBlur:U}=S??{},ae=f.useCallback((ce={},ge=null)=>{const _e=E&&!r;return{...ce,id:P,ref:ge,type:"radio",name:p,value:h,onChange:et(ce.onChange,ie),onBlur:et(U,ce.onBlur,()=>Q(!1)),onFocus:et(K,ce.onFocus,()=>Q(!0)),onKeyDown:et(ce.onKeyDown,ye),onKeyUp:et(ce.onKeyUp,Z),checked:Y,disabled:_e,readOnly:O,required:R,"aria-invalid":ns(M),"aria-disabled":ns(_e),"aria-required":ns(R),"data-readonly":tn(O),"aria-describedby":b,style:BL}},[E,r,P,p,h,ie,U,K,ye,Z,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:$,isChecked:Y,isActive:q,isHovered:B,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:se,getRadioProps:se,getInputProps:ae,getLabelProps:(ce={},ge=null)=>({...ce,ref:ge,onMouseDown:et(ce.onMouseDown,HL),"data-disabled":tn(E),"data-checked":tn(Y),"data-invalid":tn(M)}),getRootProps:(ce,ge=null)=>({...ce,ref:ge,"data-disabled":tn(E),"data-checked":tn(Y),"data-invalid":tn(M)}),htmlProps:w}}function HL(e){e.preventDefault(),e.stopPropagation()}function WL(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var ba=Te((e,t)=>{var n;const r=C5(),{onChange:o,value:s}=e,a=Br("Radio",{...r,...e}),c=qn(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:m=r==null?void 0:r.isFocusable,inputProps:v,...b}=c;let w=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(w=r.value===s);let y=o;r!=null&&r.onChange&&s!=null&&(y=Jh(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:I,getRootProps:P,htmlProps:E}=FL({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=WL(E,__),M=_(R),T=k(v,t),A=I(),$=Object.assign({},O,P()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},B={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(Ie.label,{className:"chakra-radio",...$,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...T}),i.jsx(Ie.span,{className:"chakra-radio__control",...M,__css:B}),p&&i.jsx(Ie.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ba.displayName="Radio";var k5=Te(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(Ie.select,{...a,ref:n,className:kt("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});k5.displayName="SelectField";function VL(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var _5=Te((e,t)=>{var n;const r=Br("Select",e),{rootProps:o,placeholder:s,icon:a,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=VL(w,__),k=Z1(S),_={width:"100%",height:"fit-content",position:"relative",color:c},I={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(Ie.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[i.jsx(k5,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:I,children:e.children}),i.jsx(P5,{"data-disabled":tn(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});_5.displayName="Select";var UL=e=>i.jsx("svg",{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),GL=Ie("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),P5=e=>{const{children:t=i.jsx(UL,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return i.jsx(GL,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};P5.displayName="SelectIcon";function qL(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function KL(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var YL=Ie("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),Bv=P_("skeleton-start-color"),Fv=P_("skeleton-end-color"),QL=za({from:{opacity:0},to:{opacity:1}}),XL=za({from:{borderColor:Bv.reference,background:Bv.reference},to:{borderColor:Fv.reference,background:Fv.reference}}),gm=Te((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=$a("Skeleton",n),o=qL(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=Dc("colors",[s,a]),y=KL(c),S=kt("chakra-skeleton",h),k={...b&&{[Bv.variable]:b},...w&&{[Fv.variable]:w}};if(c){const _=o||y?"none":`${QL} ${d}s`;return i.jsx(Ie.div,{ref:t,className:S,__css:{animation:_},...v})}return i.jsx(YL,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${XL}`}})});gm.displayName="Skeleton";var Jo=e=>e?"":void 0,ic=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function lc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function JL(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function Pu(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Sp={width:0,height:0},$f=e=>e||Sp;function j5(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Sp;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Pu({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${k.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${k.width/2}px)`}})}},a=t==="vertical"?r.reduce((y,S)=>$f(y).height>$f(S).height?y:S,Sp):r.reduce((y,S)=>$f(y).width>$f(S).width?y:S,Sp),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Pu({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},d={position:"absolute",...Pu({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},p=n.length===1,h=[0,o?100-n[0]:n[0]],m=p?h:n;let v=m[0];!p&&o&&(v=100-v);const b=Math.abs(m[m.length-1]-m[0]),w={...d,...Pu({orientation:t,vertical:o?{height:`${b}%`,top:`${v}%`}:{height:`${b}%`,bottom:`${v}%`},horizontal:o?{width:`${b}%`,right:`${v}%`}:{width:`${b}%`,left:`${v}%`}})};return{trackStyle:d,innerTrackStyle:w,rootStyle:c,getThumbStyle:s}}function I5(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function ZL(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function eB(e){const t=nB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function E5(e){return!!e.touches}function tB(e){return E5(e)&&e.touches.length>1}function nB(e){var t;return(t=e.view)!=null?t:window}function rB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function oB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function O5(e,t="page"){return E5(e)?rB(e,t):oB(e,t)}function sB(e){return t=>{const n=eB(t);(!n||n&&t.button===0)&&e(t)}}function aB(e,t=!1){function n(o){e(o,{point:O5(o)})}return t?sB(n):n}function Cp(e,t,n,r){return ZL(e,t,aB(n,t==="pointerdown"),r)}var iB=Object.defineProperty,lB=(e,t,n)=>t in e?iB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bs=(e,t,n)=>(lB(e,typeof t!="symbol"?t+"":t,n),n),cB=class{constructor(e,t,n){bs(this,"history",[]),bs(this,"startEvent",null),bs(this,"lastEvent",null),bs(this,"lastEventInfo",null),bs(this,"handlers",{}),bs(this,"removeListeners",()=>{}),bs(this,"threshold",3),bs(this,"win"),bs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=_0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=pB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=bw();this.history.push({...c.point,timestamp:h});const{onStart:m,onMove:v}=this.handlers;d||(m==null||m(this.lastEvent,c),this.startEvent=this.lastEvent),v==null||v(this.lastEvent,c)}),bs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,MT.update(this.updatePoint,!0)}),bs(this,"onPointerUp",(c,d)=>{const p=_0(d,this.history),{onEnd:h,onSessionEnd:m}=this.handlers;m==null||m(c,p),this.end(),!(!h||!this.startEvent)&&(h==null||h(c,p))});var r;if(this.win=(r=e.view)!=null?r:window,tB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:O5(e)},{timestamp:s}=bw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,_0(o,this.history)),this.removeListeners=fB(Cp(this.win,"pointermove",this.onPointerMove),Cp(this.win,"pointerup",this.onPointerUp),Cp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),DT.update(this.updatePoint)}};function oS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _0(e,t){return{point:e.point,delta:oS(e.point,t[t.length-1]),offset:oS(e.point,t[0]),velocity:dB(t,.1)}}var uB=e=>e*1e3;function dB(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=e[e.length-1];for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>uB(t)));)n--;if(!r)return{x:0,y:0};const s=(o.timestamp-r.timestamp)/1e3;if(s===0)return{x:0,y:0};const a={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function fB(...e){return t=>e.reduce((n,r)=>r(n),t)}function P0(e,t){return Math.abs(e-t)}function sS(e){return"x"in e&&"y"in e}function pB(e,t){if(typeof e=="number"&&typeof t=="number")return P0(e,t);if(sS(e)&&sS(t)){const n=P0(e.x,t.x),r=P0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function R5(e){const t=f.useRef(null);return t.current=e,t}function M5(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:a,threshold:c}=t,d=!!(n||r||o||s||a),p=f.useRef(null),h=R5({onSessionStart:s,onSessionEnd:a,onStart:r,onMove:n,onEnd(m,v){p.current=null,o==null||o(m,v)}});f.useEffect(()=>{var m;(m=p.current)==null||m.updateHandlers(h.current)}),f.useEffect(()=>{const m=e.current;if(!m||!d)return;function v(b){p.current=new cB(b,h.current,c)}return Cp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function hB(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[s]=o;let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;a=p.inlineSize,c=p.blockSize}else a=e.offsetWidth,c=e.offsetHeight;t({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var mB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function gB(e,t){var n,r;if(!e||!e.parentElement)return;const o=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,s=new o.MutationObserver(()=>{t()});return s.observe(e.parentElement,{childList:!0}),()=>{s.disconnect()}}function D5({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return mB(()=>{const a=e(),c=a.map((d,p)=>hB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(gB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function vB(e){return typeof e=="object"&&e!==null&&"current"in e}function bB(e){const[t]=D5({observeMutation:!1,getNodes(){return[vB(e)?e.current:e]}});return t}function yB(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:a,direction:c="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:m,onChangeStart:v,onChangeEnd:b,step:w=1,getAriaValueText:y,"aria-valuetext":S,"aria-label":k,"aria-labelledby":_,name:I,focusThumbOnChange:P=!0,minStepsBetweenThumbs:E=0,...O}=e,R=rr(v),M=rr(b),T=rr(y),A=I5({isReversed:a,direction:c,orientation:d}),[$,Q]=Ac({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray($))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof $}\``);const[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,z]=f.useState(-1),H=!(h||m),Y=f.useRef($),ie=$.map(Pe=>rc(Pe,t,n)),ye=E*w,Z=xB(ie,t,n,ye),se=f.useRef({eventSource:null,value:[],valueBounds:[]});se.current.value=ie,se.current.valueBounds=Z;const K=ie.map(Pe=>n-Pe+t),ae=(A?K:ie).map(Pe=>Bp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),ce=D5({getNodes(){const Pe=pe.current,Je=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Je?Array.from(Je):[]}}),ge=f.useId(),le=JL(p??ge),Se=f.useCallback(Pe=>{var Je,Qe;if(!oe.current)return;se.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:Lt,clientY:lr}=(Qe=(Je=Pe.touches)==null?void 0:Je[0])!=null?Qe:Pe,pn=re?dt.bottom-lr:Lt-dt.left,ln=re?dt.height:dt.width;let Fr=pn/ln;return A&&(Fr=1-Fr),W3(Fr,t,n)},[re,A,n,t]),Fe=(n-t)/10,Ae=w||(n-t)/100,He=f.useMemo(()=>({setValueAtIndex(Pe,Je){if(!H)return;const Qe=se.current.valueBounds[Pe];Je=parseFloat(Iv(Je,Qe.min,Ae)),Je=rc(Je,Qe.min,Qe.max);const dt=[...se.current.value];dt[Pe]=Je,Q(dt)},setActiveIndex:z,stepUp(Pe,Je=Ae){const Qe=se.current.value[Pe],dt=A?Qe-Je:Qe+Je;He.setValueAtIndex(Pe,dt)},stepDown(Pe,Je=Ae){const Qe=se.current.value[Pe],dt=A?Qe+Je:Qe-Je;He.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ae,A,Q,H]),Ct=f.useCallback(Pe=>{const Je=Pe.key,dt={ArrowRight:()=>He.stepUp(D),ArrowUp:()=>He.stepUp(D),ArrowLeft:()=>He.stepDown(D),ArrowDown:()=>He.stepDown(D),PageUp:()=>He.stepUp(D,Fe),PageDown:()=>He.stepDown(D,Fe),Home:()=>{const{min:Lt}=Z[D];He.setValueAtIndex(D,Lt)},End:()=>{const{max:Lt}=Z[D];He.setValueAtIndex(D,Lt)}}[Je];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),se.current.eventSource="keyboard")},[He,D,Fe,Z]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>j5({isReversed:A,orientation:d,thumbRects:ce,thumbPercents:ae}),[A,d,ae,ce]),we=f.useCallback(Pe=>{var Je;const Qe=Pe??D;if(Qe!==-1&&P){const dt=le.getThumb(Qe),Lt=(Je=pe.current)==null?void 0:Je.ownerDocument.getElementById(dt);Lt&&setTimeout(()=>Lt.focus())}},[P,D,le]);Ba(()=>{se.current.eventSource==="keyboard"&&(M==null||M(se.current.value))},[ie,M]);const Re=Pe=>{const Je=Se(Pe)||0,Qe=se.current.value.map(ln=>Math.abs(ln-Je)),dt=Math.min(...Qe);let Lt=Qe.indexOf(dt);const lr=Qe.filter(ln=>ln===dt);lr.length>1&&Je>se.current.value[Lt]&&(Lt=Lt+lr.length-1),z(Lt),He.setValueAtIndex(Lt,Je),we(Lt)},Pt=Pe=>{if(D==-1)return;const Je=Se(Pe)||0;z(D),He.setValueAtIndex(D,Je),we(D)};M5(pe,{onPanSessionStart(Pe){H&&(V(!0),Re(Pe),R==null||R(se.current.value))},onPanSessionEnd(){H&&(V(!1),M==null||M(se.current.value))},onPan(Pe){H&&Pt(Pe)}});const At=f.useCallback((Pe={},Je=null)=>({...Pe,...O,id:le.root,ref:cn(Je,pe),tabIndex:-1,"aria-disabled":ic(h),"data-focused":Jo(q),style:{...Pe.style,...on}}),[O,h,q,on,le]),xe=f.useCallback((Pe={},Je=null)=>({...Pe,ref:cn(Je,oe),id:le.track,"data-disabled":Jo(h),style:{...Pe.style,...vt}}),[h,vt,le]),ht=f.useCallback((Pe={},Je=null)=>({...Pe,ref:Je,id:le.innerTrack,style:{...Pe.style,...bt}}),[bt,le]),$t=f.useCallback((Pe,Je=null)=>{var Qe;const{index:dt,...Lt}=Pe,lr=ie[dt];if(lr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ie.length}`);const pn=Z[dt];return{...Lt,ref:Je,role:"slider",tabIndex:H?0:void 0,id:le.getThumb(dt),"data-active":Jo(B&&D===dt),"aria-valuetext":(Qe=T==null?void 0:T(lr))!=null?Qe:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":lr,"aria-orientation":d,"aria-disabled":ic(h),"aria-readonly":ic(m),"aria-label":k==null?void 0:k[dt],"aria-labelledby":k!=null&&k[dt]||_==null?void 0:_[dt],style:{...Pe.style,...ct(dt)},onKeyDown:lc(Pe.onKeyDown,Ct),onFocus:lc(Pe.onFocus,()=>{G(!0),z(dt)}),onBlur:lc(Pe.onBlur,()=>{G(!1),z(-1)})}},[le,ie,Z,H,B,D,T,S,d,h,m,k,_,ct,Ct,G]),zt=f.useCallback((Pe={},Je=null)=>({...Pe,ref:Je,id:le.output,htmlFor:ie.map((Qe,dt)=>le.getThumb(dt)).join(" "),"aria-live":"off"}),[le,ie]),Ne=f.useCallback((Pe,Je=null)=>{const{value:Qe,...dt}=Pe,Lt=!(Qen),lr=Qe>=ie[0]&&Qe<=ie[ie.length-1];let pn=Bp(Qe,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Pu({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Je,id:le.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Jo(h),"data-invalid":Jo(!Lt),"data-highlighted":Jo(lr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ie,le]),qe=f.useCallback((Pe,Je=null)=>{const{index:Qe,...dt}=Pe;return{...dt,ref:Je,id:le.getInput(Qe),type:"hidden",value:ie[Qe],name:Array.isArray(I)?I[Qe]:`${I}-${Qe}`}},[I,ie,le]);return{state:{value:ie,isFocused:q,isDragging:B,getThumbPercent:Pe=>ae[Pe],getThumbMinValue:Pe=>Z[Pe].min,getThumbMaxValue:Pe=>Z[Pe].max},actions:He,getRootProps:At,getTrackProps:xe,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Ne,getInputProps:qe,getOutputProps:zt}}function xB(e,t,n,r){return e.map((o,s)=>{const a=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:a,max:c}})}var[wB,vm]=Rn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[SB,bm]=Rn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),T5=Te(function(t,n){const r={orientation:"horizontal",...t},o=Br("Slider",r),s=qn(r),{direction:a}=Mc();s.direction=a;const{getRootProps:c,...d}=yB(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(wB,{value:p,children:i.jsx(SB,{value:o,children:i.jsx(Ie.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});T5.displayName="RangeSlider";var Hv=Te(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=vm(),a=bm(),c=r(t,n);return i.jsxs(Ie.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});Hv.displayName="RangeSliderThumb";var A5=Te(function(t,n){const{getTrackProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});A5.displayName="RangeSliderTrack";var N5=Te(function(t,n){const{getInnerTrackProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});N5.displayName="RangeSliderFilledTrack";var kp=Te(function(t,n){const{getMarkerProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});kp.displayName="RangeSliderMark";function CB(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:a,isReversed:c,direction:d="ltr",orientation:p="horizontal",id:h,isDisabled:m,isReadOnly:v,onChangeStart:b,onChangeEnd:w,step:y=1,getAriaValueText:S,"aria-valuetext":k,"aria-label":_,"aria-labelledby":I,name:P,focusThumbOnChange:E=!0,...O}=e,R=rr(b),M=rr(w),T=rr(S),A=I5({isReversed:c,direction:d,orientation:p}),[$,Q]=Ac({value:s,defaultValue:a??_B(n,r),onChange:o}),[B,V]=f.useState(!1),[q,G]=f.useState(!1),D=!(m||v),z=(r-n)/10,H=y||(r-n)/100,Y=rc($,n,r),ie=r-Y+n,Z=Bp(A?ie:Y,n,r),se=p==="vertical",K=R5({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:D,isReversed:A,isVertical:se,eventSource:null,focusThumbOnChange:E,orientation:p}),U=f.useRef(null),ae=f.useRef(null),re=f.useRef(null),oe=f.useId(),pe=h??oe,[ce,ge]=[`slider-thumb-${pe}`,`slider-track-${pe}`],_e=f.useCallback(Ne=>{var qe,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Je=U.current.getBoundingClientRect(),{clientX:Qe,clientY:dt}=(Pn=(qe=Ne.touches)==null?void 0:qe[0])!=null?Pn:Ne,Lt=se?Je.bottom-dt:Qe-Je.left,lr=se?Je.height:Je.width;let pn=Lt/lr;A&&(pn=1-pn);let ln=W3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Iv(ln,Pe.min,Pe.step))),ln=rc(ln,Pe.min,Pe.max),ln},[se,A,K]),le=f.useCallback(Ne=>{const qe=K.current;qe.isInteractive&&(Ne=parseFloat(Iv(Ne,qe.min,H)),Ne=rc(Ne,qe.min,qe.max),Q(Ne))},[H,Q,K]),Se=f.useMemo(()=>({stepUp(Ne=H){const qe=A?Y-Ne:Y+Ne;le(qe)},stepDown(Ne=H){const qe=A?Y+Ne:Y-Ne;le(qe)},reset(){le(a||0)},stepTo(Ne){le(Ne)}}),[le,A,Y,H,a]),Fe=f.useCallback(Ne=>{const qe=K.current,Pe={ArrowRight:()=>Se.stepUp(),ArrowUp:()=>Se.stepUp(),ArrowLeft:()=>Se.stepDown(),ArrowDown:()=>Se.stepDown(),PageUp:()=>Se.stepUp(z),PageDown:()=>Se.stepDown(z),Home:()=>le(qe.min),End:()=>le(qe.max)}[Ne.key];Pe&&(Ne.preventDefault(),Ne.stopPropagation(),Pe(Ne),qe.eventSource="keyboard")},[Se,le,z,K]),Ae=(t=T==null?void 0:T(Y))!=null?t:k,He=bB(ae),{getThumbStyle:Ct,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Ne=K.current,qe=He??{width:0,height:0};return j5({isReversed:A,orientation:Ne.orientation,thumbRects:[qe],thumbPercents:[Z]})},[A,He,Z,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var qe;return(qe=ae.current)==null?void 0:qe.focus()})},[K]);Ba(()=>{const Ne=K.current;bt(),Ne.eventSource==="keyboard"&&(M==null||M(Ne.value))},[Y,M]);function we(Ne){const qe=_e(Ne);qe!=null&&qe!==K.current.value&&Q(qe)}M5(re,{onPanSessionStart(Ne){const qe=K.current;qe.isInteractive&&(V(!0),bt(),we(Ne),R==null||R(qe.value))},onPanSessionEnd(){const Ne=K.current;Ne.isInteractive&&(V(!1),M==null||M(Ne.value))},onPan(Ne){K.current.isInteractive&&we(Ne)}});const Re=f.useCallback((Ne={},qe=null)=>({...Ne,...O,ref:cn(qe,re),tabIndex:-1,"aria-disabled":ic(m),"data-focused":Jo(q),style:{...Ne.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((Ne={},qe=null)=>({...Ne,ref:cn(qe,U),id:ge,"data-disabled":Jo(m),style:{...Ne.style,...on}}),[m,ge,on]),At=f.useCallback((Ne={},qe=null)=>({...Ne,ref:qe,style:{...Ne.style,...vt}}),[vt]),xe=f.useCallback((Ne={},qe=null)=>({...Ne,ref:cn(qe,ae),role:"slider",tabIndex:D?0:void 0,id:ce,"data-active":Jo(B),"aria-valuetext":Ae,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":ic(m),"aria-readonly":ic(v),"aria-label":_,"aria-labelledby":_?void 0:I,style:{...Ne.style,...Ct(0)},onKeyDown:lc(Ne.onKeyDown,Fe),onFocus:lc(Ne.onFocus,()=>G(!0)),onBlur:lc(Ne.onBlur,()=>G(!1))}),[D,ce,B,Ae,n,r,Y,p,m,v,_,I,Ct,Fe]),ht=f.useCallback((Ne,qe=null)=>{const Pn=!(Ne.valuer),Pe=Y>=Ne.value,Je=Bp(Ne.value,n,r),Qe={position:"absolute",pointerEvents:"none",...kB({orientation:p,vertical:{bottom:A?`${100-Je}%`:`${Je}%`},horizontal:{left:A?`${100-Je}%`:`${Je}%`}})};return{...Ne,ref:qe,role:"presentation","aria-hidden":!0,"data-disabled":Jo(m),"data-invalid":Jo(!Pn),"data-highlighted":Jo(Pe),style:{...Ne.style,...Qe}}},[m,A,r,n,p,Y]),$t=f.useCallback((Ne={},qe=null)=>({...Ne,ref:qe,type:"hidden",value:Y,name:P}),[P,Y]);return{state:{value:Y,isFocused:q,isDragging:B},actions:Se,getRootProps:Re,getTrackProps:Pt,getInnerTrackProps:At,getThumbProps:xe,getMarkerProps:ht,getInputProps:$t}}function kB(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function _B(e,t){return t"}),[jB,xm]=Rn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),$5=Te((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Br("Slider",r),s=qn(r),{direction:a}=Mc();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=CB(s),h=d(),m=c({},t);return i.jsx(PB,{value:p,children:i.jsx(jB,{value:o,children:i.jsxs(Ie.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});$5.displayName="Slider";var z5=Te((e,t)=>{const{getThumbProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});z5.displayName="SliderThumb";var L5=Te((e,t)=>{const{getTrackProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});L5.displayName="SliderTrack";var B5=Te((e,t)=>{const{getInnerTrackProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});B5.displayName="SliderFilledTrack";var Vl=Te((e,t)=>{const{getMarkerProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});Vl.displayName="SliderMark";var Nb=Te(function(t,n){const r=Br("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{state:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=F3(a),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return i.jsxs(Ie.label,{...h(),className:kt("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(Ie.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(Ie.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":tn(c.isChecked),"data-hover":tn(c.isHovered)})}),s&&i.jsx(Ie.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Nb.displayName="Switch";var[IB,EB,OB,RB]=Q1();function MB(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:a,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=Ac({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=OB(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:a,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[DB,wm]=Rn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function TB(e){const{focusedIndex:t,orientation:n,direction:r}=wm(),o=EB(),s=f.useCallback(a=>{const c=()=>{var _;const I=o.nextEnabled(t);I&&((_=I.node)==null||_.focus())},d=()=>{var _;const I=o.prevEnabled(t);I&&((_=I.node)==null||_.focus())},p=()=>{var _;const I=o.firstEnabled();I&&((_=I.node)==null||_.focus())},h=()=>{var _;const I=o.lastEnabled();I&&((_=I.node)==null||_.focus())},m=n==="horizontal",v=n==="vertical",b=a.key,w=r==="ltr"?"ArrowLeft":"ArrowRight",y=r==="ltr"?"ArrowRight":"ArrowLeft",k={[w]:()=>m&&d(),[y]:()=>m&&c(),ArrowDown:()=>v&&c(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];k&&(a.preventDefault(),k(a))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:et(e.onKeyDown,s)}}function AB(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=wm(),{index:p,register:h}=RB({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=UP({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:F5(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":H5(a,p),onFocus:t?void 0:et(e.onFocus,b)}}var[NB,$B]=Rn({});function zB(e){const t=wm(),{id:n,selectedIndex:r}=t,s=gd(e.children).map((a,c)=>f.createElement(NB,{key:c,value:{isSelected:c===r,id:H5(n,c),tabId:F5(n,c),selectedIndex:r}},a));return{...e,children:s}}function LB(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=wm(),{isSelected:s,id:a,tabId:c}=$B(),d=f.useRef(!1);s&&(d.current=!0);const p=Ib({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":c,hidden:!s,id:a}}function F5(e,t){return`${e}--tab-${t}`}function H5(e,t){return`${e}--tabpanel-${t}`}var[BB,Sm]=Rn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Ed=Te(function(t,n){const r=Br("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=MB(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(IB,{value:d,children:i.jsx(DB,{value:h,children:i.jsx(BB,{value:r,children:i.jsx(Ie.div,{className:kt("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Ed.displayName="Tabs";var Od=Te(function(t,n){const r=TB({...t,ref:n}),s={display:"flex",...Sm().tablist};return i.jsx(Ie.div,{...r,className:kt("chakra-tabs__tablist",t.className),__css:s})});Od.displayName="TabList";var Cm=Te(function(t,n){const r=LB({...t,ref:n}),o=Sm();return i.jsx(Ie.div,{outline:"0",...r,className:kt("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Cm.displayName="TabPanel";var km=Te(function(t,n){const r=zB(t),o=Sm();return i.jsx(Ie.div,{...r,width:"100%",ref:n,className:kt("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});km.displayName="TabPanels";var wc=Te(function(t,n){const r=Sm(),o=AB({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(Ie.button,{...o,className:kt("chakra-tabs__tab",t.className),__css:s})});wc.displayName="Tab";function FB(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var HB=["h","minH","height","minHeight"],W5=Te((e,t)=>{const n=$a("Textarea",e),{className:r,rows:o,...s}=qn(e),a=Z1(s),c=o?FB(n,HB):n;return i.jsx(Ie.textarea,{ref:t,rows:o,...a,className:kt("chakra-textarea",r),__css:c})});W5.displayName="Textarea";var WB={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},Wv=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},_p=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function VB(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:a=o,closeOnEsc:c=!0,onOpen:d,onClose:p,placement:h,id:m,isOpen:v,defaultIsOpen:b,arrowSize:w=10,arrowShadowColor:y,arrowPadding:S,modifiers:k,isDisabled:_,gutter:I,offset:P,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:T}=jb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:$,getArrowInnerProps:Q,getArrowProps:B}=Pb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:I,offset:P,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,D=f.useRef(null),z=f.useRef(),H=f.useCallback(()=>{z.current&&(clearTimeout(z.current),z.current=void 0)},[]),Y=f.useRef(),ie=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),ye=f.useCallback(()=>{ie(),T()},[T,ie]),Z=UB(D,ye),se=f.useCallback(()=>{if(!_&&!z.current){Z();const ge=_p(D);z.current=ge.setTimeout(M,t)}},[Z,_,M,t]),K=f.useCallback(()=>{H();const ge=_p(D);Y.current=ge.setTimeout(ye,n)},[n,ye,H]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),ae=f.useCallback(()=>{R&&a&&K()},[a,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Yi(()=>Wv(D),"keydown",c?re:void 0),Yi(()=>{const ge=D.current;if(!ge)return null;const _e=DP(ge);return _e.localName==="body"?_p(D):_e},"scroll",()=>{R&&s&&ye()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&(H(),R&&T())},[_,R,T,H]),f.useEffect(()=>()=>{H(),ie()},[H,ie]),Yi(()=>D.current,"pointerleave",K);const oe=f.useCallback((ge={},_e=null)=>({...ge,ref:cn(D,_e,A),onPointerEnter:et(ge.onPointerEnter,Se=>{Se.pointerType!=="touch"&&se()}),onClick:et(ge.onClick,U),onPointerDown:et(ge.onPointerDown,ae),onFocus:et(ge.onFocus,se),onBlur:et(ge.onBlur,K),"aria-describedby":R?G:void 0}),[se,K,ae,R,G,U,A]),pe=f.useCallback((ge={},_e=null)=>$({...ge,style:{...ge.style,[_r.arrowSize.var]:w?`${w}px`:void 0,[_r.arrowShadowColor.var]:y}},_e),[$,w,y]),ce=f.useCallback((ge={},_e=null)=>{const le={...ge.style,position:"relative",transformOrigin:_r.transformOrigin.varRef};return{ref:_e,...O,...ge,id:G,role:"tooltip",style:le}},[O,G]);return{isOpen:R,show:se,hide:K,getTriggerProps:oe,getTooltipProps:ce,getTooltipPositionerProps:pe,getArrowProps:B,getArrowInnerProps:Q}}var j0="chakra-ui:close-tooltip";function UB(e,t){return f.useEffect(()=>{const n=Wv(e);return n.addEventListener(j0,t),()=>n.removeEventListener(j0,t)},[t,e]),()=>{const n=Wv(e),r=_p(e);n.dispatchEvent(new r.CustomEvent(j0))}}function GB(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function qB(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var KB=Ie(Qr.div),wn=Te((e,t)=>{var n,r;const o=$a("Tooltip",e),s=qn(e),a=Mc(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,I=(r=(n=w??y)!=null?n:v)!=null?r:S;if(I){o.bg=I;const $=xR(a,"colors",I);o[_r.arrowBg.var]=$}const P=VB({..._,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(Ie.span,{display:"inline-block",tabIndex:0,...P.getTriggerProps(),children:c});else{const $=f.Children.only(c);O=f.cloneElement($,P.getTriggerProps($.props,$.ref))}const R=!!h,M=P.getTooltipProps({},t),T=R?GB(M,["role","id"]):M,A=qB(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(Fo,{children:P.isOpen&&i.jsx(Vu,{...b,children:i.jsx(Ie.div,{...P.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(KB,{variants:WB,initial:"exit",animate:"enter",exit:"exit",...k,...T,__css:o,children:[d,R&&i.jsx(Ie.span,{srOnly:!0,...A,children:h}),m&&i.jsx(Ie.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(Ie.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});wn.displayName="Tooltip";function YB(e,t={}){let n=f.useCallback(o=>t.keys?lT(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const mo=e=>e.system,QB=e=>e.system.toastQueue,V5=fe(mo,e=>e.language,Ge),jr=fe(e=>e,e=>e.system.isProcessing||!e.system.isConnected),XB=fe(mo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),JB=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=L(XB);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${wR[e]}`)):localStorage.setItem("ROARR_LOG","false"),I2.ROARR.write=SR.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...CR};E2.set(I2.Roarr.child(r))},[]),YB(E2)},ZB=()=>{const e=te(),t=L(QB),n=NT();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(kR())},[e,n,t]),null},Bc=()=>{const e=te();return f.useCallback(n=>e(Dn(Bn(n))),[e])};var eF=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function Rd(e,t){var n=tF(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function tF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=eF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var nF=[".DS_Store","Thumbs.db"];function rF(e){return Nc(this,void 0,void 0,function(){return $c(this,function(t){return qp(e)&&oF(e.dataTransfer)?[2,lF(e.dataTransfer,e.type)]:sF(e)?[2,aF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,iF(e)]:[2,[]]})})}function oF(e){return qp(e)}function sF(e){return qp(e)&&qp(e.target)}function qp(e){return typeof e=="object"&&e!==null}function aF(e){return Vv(e.target.files).map(function(t){return Rd(t)})}function iF(e){return Nc(this,void 0,void 0,function(){var t;return $c(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return Rd(r)})]}})})}function lF(e,t){return Nc(this,void 0,void 0,function(){var n,r;return $c(this,function(o){switch(o.label){case 0:return e.items?(n=Vv(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(cF))]):[3,2];case 1:return r=o.sent(),[2,aS(U5(r))];case 2:return[2,aS(Vv(e.files).map(function(s){return Rd(s)}))]}})})}function aS(e){return e.filter(function(t){return nF.indexOf(t.name)===-1})}function Vv(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,dS(n)];if(e.sizen)return[!1,dS(n)]}return[!0,null]}function Vi(e){return e!=null}function _F(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,a=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(d){var p=Y5(d,n),h=Zu(p,1),m=h[0],v=Q5(d,r,o),b=Zu(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function Kp(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function zf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function pS(e){e.preventDefault()}function PF(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function jF(e){return e.indexOf("Edge/")!==-1}function IF(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return PF(e)||jF(e)}function Gs(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function UF(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var $b=f.forwardRef(function(e,t){var n=e.children,r=Yp(e,TF),o=zb(r),s=o.open,a=Yp(o,AF);return f.useImperativeHandle(t,function(){return{open:s}},[s]),F.createElement(f.Fragment,null,n(dr(dr({},a),{},{open:s})))});$b.displayName="Dropzone";var e6={disabled:!1,getFilesFromEvent:rF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};$b.defaultProps=e6;$b.propTypes={children:zn.func,accept:zn.objectOf(zn.arrayOf(zn.string)),multiple:zn.bool,preventDropOnDocument:zn.bool,noClick:zn.bool,noKeyboard:zn.bool,noDrag:zn.bool,noDragEventsBubbling:zn.bool,minSize:zn.number,maxSize:zn.number,maxFiles:zn.number,disabled:zn.bool,getFilesFromEvent:zn.func,onFileDialogCancel:zn.func,onFileDialogOpen:zn.func,useFsAccessApi:zn.bool,autoFocus:zn.bool,onDragEnter:zn.func,onDragLeave:zn.func,onDragOver:zn.func,onDrop:zn.func,onDropAccepted:zn.func,onDropRejected:zn.func,onError:zn.func,validator:zn.func};var Kv={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function zb(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=dr(dr({},e6),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,m=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,w=t.onDropRejected,y=t.onFileDialogCancel,S=t.onFileDialogOpen,k=t.useFsAccessApi,_=t.autoFocus,I=t.preventDropOnDocument,P=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,T=t.validator,A=f.useMemo(function(){return RF(n)},[n]),$=f.useMemo(function(){return OF(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:mS},[S]),B=f.useMemo(function(){return typeof y=="function"?y:mS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(GF,Kv),D=I0(G,2),z=D[0],H=D[1],Y=z.isFocused,ie=z.isFileDialogActive,ye=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&EF()),Z=function(){!ye.current&&ie&&setTimeout(function(){if(q.current){var Re=q.current.files;Re.length||(H({type:"closeDialog"}),B())}},300)};f.useEffect(function(){return window.addEventListener("focus",Z,!1),function(){window.removeEventListener("focus",Z,!1)}},[q,ie,B,ye]);var se=f.useRef([]),K=function(Re){V.current&&V.current.contains(Re.target)||(Re.preventDefault(),se.current=[])};f.useEffect(function(){return I&&(document.addEventListener("dragover",pS,!1),document.addEventListener("drop",K,!1)),function(){I&&(document.removeEventListener("dragover",pS),document.removeEventListener("drop",K))}},[V,I]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(we){M?M(we):console.error(we)},[M]),ae=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we),se.current=[].concat(zF(se.current),[we.target]),zf(we)&&Promise.resolve(o(we)).then(function(Re){if(!(Kp(we)&&!R)){var Pt=Re.length,At=Pt>0&&_F({files:Re,accept:A,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:T}),xe=Pt>0&&!At;H({isDragAccept:At,isDragReject:xe,isDragActive:!0,type:"setDraggedFiles"}),p&&p(we)}}).catch(function(Re){return U(Re)})},[o,p,U,R,A,a,s,c,d,T]),re=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we);var Re=zf(we);if(Re&&we.dataTransfer)try{we.dataTransfer.dropEffect="copy"}catch{}return Re&&m&&m(we),!1},[m,R]),oe=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we);var Re=se.current.filter(function(At){return V.current&&V.current.contains(At)}),Pt=Re.indexOf(we.target);Pt!==-1&&Re.splice(Pt,1),se.current=Re,!(Re.length>0)&&(H({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),zf(we)&&h&&h(we))},[V,h,R]),pe=f.useCallback(function(we,Re){var Pt=[],At=[];we.forEach(function(xe){var ht=Y5(xe,A),$t=I0(ht,2),zt=$t[0],Ne=$t[1],qe=Q5(xe,a,s),Pn=I0(qe,2),Pe=Pn[0],Je=Pn[1],Qe=T?T(xe):null;if(zt&&Pe&&!Qe)Pt.push(xe);else{var dt=[Ne,Je];Qe&&(dt=dt.concat(Qe)),At.push({file:xe,errors:dt.filter(function(Lt){return Lt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(xe){At.push({file:xe,errors:[kF]})}),Pt.splice(0)),H({acceptedFiles:Pt,fileRejections:At,type:"setFiles"}),v&&v(Pt,At,Re),At.length>0&&w&&w(At,Re),Pt.length>0&&b&&b(Pt,Re)},[H,c,A,a,s,d,v,b,w,T]),ce=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we),se.current=[],zf(we)&&Promise.resolve(o(we)).then(function(Re){Kp(we)&&!R||pe(Re,we)}).catch(function(Re){return U(Re)}),H({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(ye.current){H({type:"openDialog"}),Q();var we={multiple:c,types:$};window.showOpenFilePicker(we).then(function(Re){return o(Re)}).then(function(Re){pe(Re,null),H({type:"closeDialog"})}).catch(function(Re){MF(Re)?(B(Re),H({type:"closeDialog"})):DF(Re)?(ye.current=!1,q.current?(q.current.value=null,q.current.click()):U(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):U(Re)});return}q.current&&(H({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[H,Q,B,k,pe,U,$,c]),_e=f.useCallback(function(we){!V.current||!V.current.isEqualNode(we.target)||(we.key===" "||we.key==="Enter"||we.keyCode===32||we.keyCode===13)&&(we.preventDefault(),ge())},[V,ge]),le=f.useCallback(function(){H({type:"focus"})},[]),Se=f.useCallback(function(){H({type:"blur"})},[]),Fe=f.useCallback(function(){P||(IF()?setTimeout(ge,0):ge())},[P,ge]),Ae=function(Re){return r?null:Re},He=function(Re){return E?null:Ae(Re)},Ct=function(Re){return O?null:Ae(Re)},ct=function(Re){R&&Re.stopPropagation()},on=f.useMemo(function(){return function(){var we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=we.refKey,Pt=Re===void 0?"ref":Re,At=we.role,xe=we.onKeyDown,ht=we.onFocus,$t=we.onBlur,zt=we.onClick,Ne=we.onDragEnter,qe=we.onDragOver,Pn=we.onDragLeave,Pe=we.onDrop,Je=Yp(we,NF);return dr(dr(qv({onKeyDown:He(Gs(xe,_e)),onFocus:He(Gs(ht,le)),onBlur:He(Gs($t,Se)),onClick:Ae(Gs(zt,Fe)),onDragEnter:Ct(Gs(Ne,ae)),onDragOver:Ct(Gs(qe,re)),onDragLeave:Ct(Gs(Pn,oe)),onDrop:Ct(Gs(Pe,ce)),role:typeof At=="string"&&At!==""?At:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Je)}},[V,_e,le,Se,Fe,ae,re,oe,ce,E,O,r]),vt=f.useCallback(function(we){we.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=we.refKey,Pt=Re===void 0?"ref":Re,At=we.onChange,xe=we.onClick,ht=Yp(we,$F),$t=qv({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ae(Gs(At,ce)),onClick:Ae(Gs(xe,vt)),tabIndex:-1},Pt,q);return dr(dr({},$t),ht)}},[q,n,c,ce,r]);return dr(dr({},z),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ae(ge)})}function GF(e,t){switch(t.type){case"focus":return dr(dr({},e),{},{isFocused:!0});case"blur":return dr(dr({},e),{},{isFocused:!1});case"openDialog":return dr(dr({},Kv),{},{isFileDialogActive:!0});case"closeDialog":return dr(dr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return dr(dr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return dr(dr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return dr({},Kv);default:return e}}function mS(){}function Yv(){return Yv=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var ZF=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,a=n.mod,c=n.shift,d=n.ctrl,p=n.keys,h=t.key,m=t.code,v=t.ctrlKey,b=t.metaKey,w=t.shiftKey,y=t.altKey,S=ii(m),k=h.toLowerCase();if(!r){if(o===!y&&k!=="alt"||c===!w&&k!=="shift")return!1;if(a){if(!b&&!v)return!1}else if(s===!b&&k!=="meta"&&k!=="os"||d===!v&&k!=="ctrl"&&k!=="control")return!1}return p&&p.length===1&&(p.includes(k)||p.includes(S))?!0:p?n6(p):!p},eH=f.createContext(void 0),tH=function(){return f.useContext(eH)};function a6(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&a6(e[r],t[r])},!0):e===t}var nH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),rH=function(){return f.useContext(nH)};function oH(e){var t=f.useRef(void 0);return a6(t.current,e)||(t.current=e),t.current}var gS=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},sH=typeof window<"u"?f.useLayoutEffect:f.useEffect;function nt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,c=e instanceof Array?e.join(a==null?void 0:a.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var m=oH(a),v=rH(),b=v.enabledScopes,w=tH();return sH(function(){if(!((m==null?void 0:m.enabled)===!1||!JF(b,m==null?void 0:m.scopes))){var y=function(P,E){var O;if(E===void 0&&(E=!1),!(XF(P)&&!s6(P,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(P))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){gS(P);return}(O=P.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||E0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,T=O0(R,m==null?void 0:m.combinationKey);if(ZF(P,T,m==null?void 0:m.ignoreModifiers)||(M=T.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(YF(P,T,m==null?void 0:m.preventDefault),!QF(P,T,m==null?void 0:m.enabled)){gS(P);return}h.current(P,T),E||(s.current=!0)}})}},S=function(P){P.key!==void 0&&(r6(ii(P.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(P))},k=function(P){P.key!==void 0&&(o6(ii(P.code)),s.current=!1,m!=null&&m.keyup&&y(P,!0))},_=o.current||(a==null?void 0:a.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&E0(c,m==null?void 0:m.splitKey).forEach(function(I){return w.addHotkey(O0(I,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&E0(c,m==null?void 0:m.splitKey).forEach(function(I){return w.removeHotkey(O0(I,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const aH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return nt("esc",()=>{r(!1)}),i.jsxs(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:i.jsx(W,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?i.jsx(Qs,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Qs,{size:"lg",children:"Invalid Upload"}),i.jsx(Qs,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},iH=fe([Ye,Kn],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Ge),lH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=L(iH),o=L(jr),s=Bc(),{t:a}=be(),[c,d]=f.useState(!1),[p]=j_(),h=f.useCallback(I=>{d(!0),s({title:a("toast.uploadFailed"),description:I.errors.map(P=>P.message).join(` -`),status:"error"})},[a,s]),m=f.useCallback(async I=>{p({file:I,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n})},[n,r,p]),v=f.useCallback((I,P)=>{if(P.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}P.forEach(E=>{h(E)}),I.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=zb({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const I=async P=>{var E,O;_.current&&(E=P.clipboardData)!=null&&E.files&&(_.current.files=P.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",I),()=>{document.removeEventListener("paste",I)}},[_]),i.jsxs(Oe,{...b({style:{}}),onKeyDown:I=>{I.key},children:[i.jsx("input",{...w()}),t,i.jsx(Fo,{children:k&&c&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(aH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},cH=f.memo(lH),mn=e=>e.canvas,ir=fe([mn,Kn,mo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),uH=e=>e.canvas.layerState.objects.find(I_),dH=FD(e=>{e(E_(!0))},300),So=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&dH(e)};var fH=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Cr=globalThis&&globalThis.__assign||function(){return Cr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof a>"u"?void 0:Number(a)}},yH=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],wS="__resizable_base__",xH=function(e){mH(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(wS):s.className+=wS,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||gH},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(c){if(typeof n.state[c]>"u"||n.state[c]==="auto")return"auto";if(n.propsSize&&n.propsSize[c]&&n.propsSize[c].toString().endsWith("%")){if(n.state[c].toString().endsWith("%"))return n.state[c].toString();var d=n.getParentSize(),p=Number(n.state[c].toString().replace("px","")),h=p/d[c]*100;return h+"%"}return R0(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?R0(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?R0(r.height):o("height");return{width:s,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,a=o&&Ll("left",s),c=o&&Ll("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=a?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=c?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=c?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=c?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,m=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,w=d||0,y=p||0;if(c){var S=(v-w)*this.ratio+y,k=(b-w)*this.ratio+y,_=(h-y)/this.ratio+w,I=(m-y)/this.ratio+w,P=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,I);n=Bf(n,P,E),r=Bf(r,O,R)}else n=Bf(n,h,m),r=Bf(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),a=s.left,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=a,this.resizableRight=d,this.resizableTop=c,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&vH(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&Ff(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var c,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",c=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var m={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:c};this.setState(m)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Ff(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=Ff(n)?n.touches[0].clientX:n.clientX,h=Ff(n)?n.touches[0].clientY:n.clientY,m=this.state,v=m.direction,b=m.original,w=m.width,y=m.height,S=this.getParentSize(),k=bH(S,this.window.innerWidth,this.window.innerHeight,s,a,c,d);s=k.maxWidth,a=k.maxHeight,c=k.minWidth,d=k.minHeight;var _=this.calculateNewSizeFromDirection(p,h),I=_.newHeight,P=_.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(P=xS(P,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(I=xS(I,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(P,I,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(P=O.newWidth,I=O.newHeight,this.props.grid){var R=yS(P,this.props.grid[0]),M=yS(I,this.props.grid[1]),T=this.props.snapGap||0;P=T===0||Math.abs(R-P)<=T?R:P,I=T===0||Math.abs(M-I)<=T?M:I}var A={width:P-b.width,height:I-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var $=P/S.width*100;P=$+"%"}else if(w.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(w.endsWith("vh")){var B=P/this.window.innerHeight*100;P=B+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var $=I/S.height*100;I=$+"%"}else if(y.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(y.endsWith("vh")){var B=I/this.window.innerHeight*100;I=B+"vh"}}var V={width:this.createSizeForCssProperty(P,"width"),height:this.createSizeForCssProperty(I,"height")};this.flexDir==="row"?V.flexBasis=V.width:this.flexDir==="column"&&(V.flexBasis=V.height),_i.flushSync(function(){r.setState(V)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,A)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,a=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,c),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,a=r.handleClasses,c=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(m){return o[m]!==!1?f.createElement(hH,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:a&&a[m]},p&&p[m]?p[m]:null):null});return f.createElement("div",{className:d,style:c},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,c){return yH.indexOf(c)!==-1||(a[c]=n.props[c]),a},{}),o=qs(qs(qs({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,qs({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const wH=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),SH=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),a=n??(["left","right"].includes(e)?"95vw":void 0),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...a?{maxWidth:a}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},va="0.75rem",Wf="1rem",fu="5px",CH=({isResizable:e,direction:t})=>{const n=`calc((2 * ${va} + ${fu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:fu,paddingBottom:Wf},handleStyles:e?{top:{paddingTop:va,paddingBottom:va,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:fu,paddingInlineEnd:Wf},handleStyles:e?{right:{paddingInlineStart:va,paddingInlineEnd:va,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:fu,paddingTop:Wf},handleStyles:e?{bottom:{paddingTop:va,paddingBottom:va,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:fu,paddingInlineStart:Wf},handleStyles:e?{left:{paddingInlineStart:va,paddingInlineEnd:va,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},kH=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",ze=(e,t)=>n=>n==="light"?e:t,_H=Ie(xH,{shouldForwardProp:e=>!["sx"].includes(e)}),i6=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:a,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=Mc().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),I=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[P,E]=f.useState(_),[O,R]=f.useState(I);yN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?wH({direction:e,langDirection:y}):{},[t,y,e]),T=f.useMemo(()=>SH({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:A,handleStyles:$}=f.useMemo(()=>CH({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>kH(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(A3,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Oe,{ref:k,sx:{width:"full",height:"full"},children:i.jsx(_H,{size:{width:t?P:_,height:t?O:I},enable:M,handleStyles:$,...T,sx:{borderColor:ze("base.200","base.800")(S),p:4,bg:ze("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(B,V,q)=>{m&&m(B,V,q)},onResize:(B,V,q,G)=>{b&&b(B,V,q,G)},onResizeStop:(B,V,q,G)=>{["left","right"].includes(V)&&E(Number(P)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(B,V,q,G)},children:o})})})},PH=Te((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(wn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(gc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),rn=f.memo(PH);var l6={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},SS=F.createContext&&F.createContext(l6),fi=globalThis&&globalThis.__assign||function(){return fi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function ro(e,t){const n=Ii(t);if(Rs(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?jS(e,s,t):t.reduce((a,c)=>(a[c]=jS(e,s,c),a),o)}return o}e&&_n(Bo(t),o=>IW(e,o,t[o]))}const xs=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Dd=()=>typeof window<"u",C6=Dd()&&Node.ELEMENT_NODE,{toString:pW,hasOwnProperty:D0}=Object.prototype,Ha=e=>e===void 0,Pm=e=>e===null,hW=e=>Ha(e)||Pm(e)?`${e}`:pW.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),pi=e=>typeof e=="number",Ii=e=>typeof e=="string",Vb=e=>typeof e=="boolean",Os=e=>typeof e=="function",Rs=e=>Array.isArray(e),ed=e=>typeof e=="object"&&!Rs(e)&&!Pm(e),jm=e=>{const t=!!e&&e.length,n=pi(t)&&t>-1&&t%1==0;return Rs(e)||!Os(e)&&n?t>0&&ed(e)?t-1 in e:!0:!1},Qv=e=>{if(!e||!ed(e)||hW(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=D0.call(e,n),a=o&&D0.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Ha(t)||D0.call(e,t)},Qp=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===C6:!1},Im=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===C6:!1},Ub=(e,t,n)=>e.indexOf(t,n),Mn=(e,t,n)=>(!n&&!Ii(t)&&jm(t)?Array.prototype.push.apply(e,t):e.push(t),e),il=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{Mn(n,r)}):_n(e,r=>{Mn(n,r)}),n)},Gb=e=>!!e&&e.length===0,la=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Em=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Bo=e=>e?Object.keys(e):[],pr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Pm(e))&&!Os(e)&&(e={}),_n(c,d=>{_n(Bo(d),p=>{const h=d[p];if(e===h)return!0;const m=Rs(h);if(h&&(Qv(h)||m)){const v=e[p];let b=v;m&&!Rs(v)?b=[]:!m&&!Qv(v)&&(b={}),e[p]=pr(b,h)}else e[p]=h})}),e},qb=e=>{for(const t in e)return!1;return!0},k6=(e,t,n,r)=>{if(Ha(r))return n?n[e]:t;n&&(Ii(r)||pi(r))&&(n[e]=r)},no=(e,t,n)=>{if(Ha(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},xo=(e,t)=>{e&&e.removeAttribute(t)},Xi=(e,t,n,r)=>{if(n){const o=no(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=il(s).join(" ").trim();no(e,t,a)}},mW=(e,t,n)=>{const r=no(e,t)||"";return new Set(r.split(" ")).has(n)},_s=(e,t)=>k6("scrollLeft",0,e,t),Ca=(e,t)=>k6("scrollTop",0,e,t),Xv=Dd()&&Element.prototype,_6=(e,t)=>{const n=[],r=t?Im(t)?t:null:document;return r?Mn(n,r.querySelectorAll(e)):n},gW=(e,t)=>{const n=t?Im(t)?t:null:document;return n?n.querySelector(e):null},Xp=(e,t)=>Im(e)?(Xv.matches||Xv.msMatchesSelector).call(e,t):!1,Kb=e=>e?il(e.childNodes):[],Ta=e=>e?e.parentElement:null,Yl=(e,t)=>{if(Im(e)){const n=Xv.closest;if(n)return n.call(e,t);do{if(Xp(e,t))return e;e=Ta(e)}while(e)}return null},vW=(e,t,n)=>{const r=e&&Yl(e,t),o=e&&gW(n,r),s=Yl(o,t)===r;return r&&o?r===e||o===e||s&&Yl(Yl(e,n),t)!==r:!1},Yb=(e,t,n)=>{if(n&&e){let r=t,o;jm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ts=(e,t)=>{Yb(e,null,t)},bW=(e,t)=>{Yb(Ta(e),e,t)},kS=(e,t)=>{Yb(Ta(e),e&&e.nextSibling,t)},oa=e=>{if(jm(e))_n(il(e),t=>oa(t));else if(e){const t=Ta(e);t&&t.removeChild(e)}},Ji=e=>{const t=document.createElement("div");return e&&no(t,"class",e),t},P6=e=>{const t=Ji();return t.innerHTML=e.trim(),_n(Kb(t),n=>oa(n))},Jv=e=>e.charAt(0).toUpperCase()+e.slice(1),yW=()=>Ji().style,xW=["-webkit-","-moz-","-o-","-ms-"],wW=["WebKit","Moz","O","MS","webkit","moz","o","ms"],T0={},A0={},SW=e=>{let t=A0[e];if(Em(A0,e))return t;const n=Jv(e),r=yW();return _n(xW,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,Jv(s)+n].find(c=>r[c]!==void 0))}),A0[e]=t||""},Td=e=>{if(Dd()){let t=T0[e]||window[e];return Em(T0,e)||(_n(wW,n=>(t=t||window[n+Jv(e)],!t)),T0[e]=t),t}},CW=Td("MutationObserver"),_S=Td("IntersectionObserver"),Ql=Td("ResizeObserver"),j6=Td("cancelAnimationFrame"),I6=Td("requestAnimationFrame"),Jp=Dd()&&window.setTimeout,Zv=Dd()&&window.clearTimeout,kW=/[^\x20\t\r\n\f]+/g,E6=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ii(t)){const c=t.match(kW)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Qb=(e,t)=>{E6(e,t,(n,r)=>n.remove(r))},ka=(e,t)=>(E6(e,t,(n,r)=>n.add(r)),Qb.bind(0,e,t)),Om=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},O6=(e,t)=>Om(e,t,["w","h"]),R6=(e,t)=>Om(e,t,["x","y"]),_W=(e,t)=>Om(e,t,["t","r","b","l"]),PS=(e,t,n)=>Om(e,t,["width","height"],n&&(r=>Math.round(r))),es=()=>{},Ul=e=>{let t;const n=e?Jp:I6,r=e?Zv:j6;return[o=>{r(t),t=n(o,Os(e)?e():e)},()=>r(t)]},Xb=(e,t)=>{let n,r,o,s=es;const{v:a,g:c,p:d}=t||{},p=function(w){s(),Zv(n),n=r=void 0,s=es,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==es&&p(h(o)||o)},v=function(){const w=il(arguments),y=Os(a)?a():a;if(pi(y)&&y>=0){const k=Os(c)?c():c,_=pi(k)&&k>=0,I=y>0?Jp:I6,P=y>0?Zv:j6,O=h(w)||w,R=p.bind(0,O);s();const M=I(R,y);s=()=>P(M),_&&!n&&(n=Jp(m,k)),r=o=O}else p(w)};return v.m=m,v},PW={opacity:1,zindex:1},Vf=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},jW=(e,t)=>!PW[e.toLowerCase()]&&pi(t)?`${t}px`:t,jS=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],IW=(e,t,n)=>{try{const{style:r}=e;Ha(r[t])?r.setProperty(t,n):r[t]=jW(t,n)}catch{}},td=e=>ro(e,"direction")==="rtl",IS=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=ro(e,[s,a,c,d]);return{t:Vf(p[s],!0),r:Vf(p[a],!0),b:Vf(p[c],!0),l:Vf(p[d],!0)}},{round:ES}=Math,Jb={w:0,h:0},nd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:Jb,Pp=e=>e?{w:e.clientWidth,h:e.clientHeight}:Jb,Zp=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:Jb,eh=e=>{const t=parseFloat(ro(e,"height"))||0,n=parseFloat(ro(e,"width"))||0;return{w:n-ES(n),h:t-ES(t)}},Zs=e=>e.getBoundingClientRect();let Uf;const EW=()=>{if(Ha(Uf)){Uf=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Uf=!0}}))}catch{}}return Uf},M6=e=>e.split(" "),OW=(e,t,n,r)=>{_n(M6(t),o=>{e.removeEventListener(o,n,r)})},Dr=(e,t,n,r)=>{var o;const s=EW(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(M6(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;Mn(p,OW.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),la.bind(0,p)},D6=e=>e.stopPropagation(),T6=e=>e.preventDefault(),RW={x:0,y:0},N0=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:RW},OS=(e,t)=>{_n(Rs(t)?t:[t],e)},Zb=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);OS(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ii(s)){const p=t.get(s)||new Set;return t.set(s,p),OS(h=>{Os(h)&&p.add(h)},a),n.bind(0,s,a)}Vb(a)&&a&&n();const c=Bo(s),d=[];return _n(c,p=>{const h=s[p];h&&Mn(d,r(p,h))}),la.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(il(c),d=>{a&&!Gb(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},RS=e=>JSON.stringify(e,(t,n)=>{if(Os(n))throw new Error;return n}),MW={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},A6=(e,t)=>{const n={},r=Bo(t).concat(Bo(e));return _n(r,o=>{const s=e[o],a=t[o];if(ed(s)&&ed(a))pr(n[o]={},A6(s,a)),qb(n[o])&&delete n[o];else if(Em(t,o)&&a!==s){let c=!0;if(Rs(s)||Rs(a))try{RS(s)===RS(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},N6="os-environment",$6=`${N6}-flexbox-glue`,DW=`${$6}-max`,z6="os-scrollbar-hidden",$0="data-overlayscrollbars-initialize",ws="data-overlayscrollbars",L6=`${ws}-overflow-x`,B6=`${ws}-overflow-y`,cc="overflowVisible",TW="scrollbarHidden",MS="scrollbarPressed",th="updating",oi="data-overlayscrollbars-viewport",z0="arrange",F6="scrollbarHidden",uc=cc,e1="data-overlayscrollbars-padding",AW=uc,DS="data-overlayscrollbars-content",ey="os-size-observer",NW=`${ey}-appear`,$W=`${ey}-listener`,zW="os-trinsic-observer",LW="os-no-css-vars",BW="os-theme-none",Io="os-scrollbar",FW=`${Io}-rtl`,HW=`${Io}-horizontal`,WW=`${Io}-vertical`,H6=`${Io}-track`,ty=`${Io}-handle`,VW=`${Io}-visible`,UW=`${Io}-cornerless`,TS=`${Io}-transitionless`,AS=`${Io}-interaction`,NS=`${Io}-unusable`,$S=`${Io}-auto-hidden`,zS=`${Io}-wheel`,GW=`${H6}-interactive`,qW=`${ty}-interactive`,W6={},ll=()=>W6,KW=e=>{const t=[];return _n(Rs(e)?e:[e],n=>{const r=Bo(n);_n(r,o=>{Mn(t,W6[o]=n[o])})}),t},YW="__osOptionsValidationPlugin",QW="__osSizeObserverPlugin",ny="__osScrollbarsHidingPlugin",XW="__osClickScrollPlugin";let L0;const LS=(e,t,n,r)=>{ts(e,t);const o=Pp(t),s=nd(t),a=eh(n);return r&&oa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},JW=e=>{let t=!1;const n=ka(e,z6);try{t=ro(e,SW("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},ZW=(e,t)=>{const n="hidden";ro(e,{overflowX:n,overflowY:n,direction:"rtl"}),_s(e,0);const r=N0(e),o=N0(t);_s(e,-999);const s=N0(t);return{i:r.x===o.x,n:o.x!==s.x}},eV=(e,t)=>{const n=ka(e,$6),r=Zs(e),o=Zs(t),s=PS(o,r,!0),a=ka(e,DW),c=Zs(e),d=Zs(t),p=PS(d,c,!0);return n(),a(),s&&p},tV=()=>{const{body:e}=document,n=P6(`
`)[0],r=n.firstChild,[o,,s]=Zb(),[a,c]=xs({o:LS(e,n,r),u:R6},LS.bind(0,e,n,r,!0)),[d]=c(),p=JW(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:_=>p&&_===_.ownerDocument.body&&_,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=pr({},MW),b=pr.bind(0,{},v),w=pr.bind(0,{},m),y={k:d,A:h,I:p,L:ro(n,"zIndex")==="-1",B:ZW(n,r),V:eV(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>pr(m,_)&&w(),F:b,G:_=>pr(v,_)&&b(),X:pr({},m),U:pr({},v)},S=window.addEventListener,k=Xb(_=>s(_?"z":"r"),{v:33,g:99});if(xo(n,"style"),oa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const I=ll()[ny];_=_||I&&I.R(),_&&_(y,a,k.bind(0,!0))})}return y},Eo=()=>(L0||(L0=tV()),L0),ry=(e,t)=>Os(t)?t.apply(0,e):t,nV=(e,t,n,r)=>{const o=Ha(r)?n:r;return ry(e,o)||t.apply(0,e)},V6=(e,t,n,r)=>{const o=Ha(r)?n:r,s=ry(e,o);return!!s&&(Qp(s)?s:t.apply(0,e))},rV=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Eo(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ha(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Pm(h)?!a:h);return!!m||!!v},oy=new WeakMap,oV=(e,t)=>{oy.set(e,t)},sV=e=>{oy.delete(e)},U6=e=>oy.get(e),BS=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Em(n,r)?n[r]:void 0,e):void 0,t1=(e,t,n)=>r=>[BS(e,r),n||BS(t,r)!==void 0],G6=e=>{let t=e;return[()=>t,n=>{t=pr({},t,n)}]},Gf="tabindex",qf=Ji.bind(0,""),B0=e=>{ts(Ta(e),Kb(e)),oa(e)},aV=e=>{const t=Eo(),{N:n,I:r}=t,o=ll()[ny],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=Qp(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,I=Xp(_,"textarea"),P=_.ownerDocument,E=P.documentElement,O=_===P.body,R=P.defaultView,M=nV.bind(0,[_]),T=V6.bind(0,[_]),A=ry.bind(0,[_]),$=M.bind(0,qf,p),Q=T.bind(0,qf,h),B=$(S),V=B===_,q=V&&O,G=!V&&Q(k),D=!V&&Qp(B)&&B===G,z=D&&!!A(h),H=z?$():B,Y=z?G:Q(),ye=q?E:D?H:B,Z=I?M(qf,c,w):_,se=q?ye:Z,K=D?Y:G,U=P.activeElement,ae=!V&&R.top===R&&U===_,re={W:_,Z:se,J:ye,K:!V&&T(qf,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:ye,st:q?P:ye,et:R,ct:P,rt:I,it:O,lt:m,ut:V,dt:D,ft:(vt,bt)=>mW(ye,V?ws:oi,V?bt:vt),_t:(vt,bt,we)=>Xi(ye,V?ws:oi,V?bt:vt,we)},oe=Bo(re).reduce((vt,bt)=>{const we=re[bt];return Mn(vt,we&&!Ta(we)?we:!1)},[]),pe=vt=>vt?Ub(oe,vt)>-1:null,{W:ce,Z:ge,K:_e,J:le,tt:Se,nt:Fe}=re,Ae=[()=>{xo(ge,ws),xo(ge,$0),xo(ce,$0),O&&(xo(E,ws),xo(E,$0))}],He=I&&pe(ge);let Ct=I?ce:Kb([Se,le,_e,ge,ce].find(vt=>pe(vt)===!1));const ct=q?ce:Se||le;return[re,()=>{no(ge,ws,V?"viewport":"host"),no(_e,e1,""),no(Se,DS,""),V||no(le,oi,"");const vt=O&&!V?ka(Ta(_),z6):es;if(He&&(kS(ce,ge),Mn(Ae,()=>{kS(ge,ce),oa(ge)})),ts(ct,Ct),ts(ge,_e),ts(_e||ge,!V&&le),ts(le,Se),Mn(Ae,()=>{vt(),xo(_e,e1),xo(Se,DS),xo(le,L6),xo(le,B6),xo(le,oi),pe(Se)&&B0(Se),pe(le)&&B0(le),pe(_e)&&B0(_e)}),r&&!V&&(Xi(le,oi,F6,!0),Mn(Ae,xo.bind(0,le,oi))),Fe&&(bW(le,Fe),Mn(Ae,oa.bind(0,Fe))),ae){const bt=no(le,Gf);no(le,Gf,"-1"),le.focus();const we=()=>bt?no(le,Gf,bt):xo(le,Gf),Re=Dr(P,"pointerdown keydown",()=>{we(),Re()});Mn(Ae,[we,Re])}else U&&U.focus&&U.focus();Ct=0},la.bind(0,Ae)]},iV=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Eo(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&ro(n,{height:a?"":"100%"}),{gt:d,wt:d}}},lV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=xs({u:_W,o:IS()},IS.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Eo(),{bt:k}=n(),{gt:_,wt:I,yt:P}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&I)&&([b,w]=d(v));const M=!c&&(O||P||w);if(M){const T=!E||!s&&!y,A=b.r+b.l,$=b.t+b.b,Q={marginRight:T&&!k?-A:0,marginBottom:T?-$:0,marginLeft:T&&k?-A:0,top:T?-b.t:0,right:T?k?-b.r:"auto":0,left:T?k?"auto":-b.l:0,width:T?`calc(100% + ${A}px)`:""},B={paddingTop:T?b.t:0,paddingRight:T?b.r:0,paddingBottom:T?b.b:0,paddingLeft:T?b.l:0};ro(s||a,Q),ro(a,B),r({K:b,St:!T,P:s?B:pr({},Q,B)})}return{xt:M}}},{max:n1}=Math,si=n1.bind(0,0),q6="visible",FS="hidden",cV=42,Kf={u:O6,o:{w:0,h:0}},uV={u:R6,o:{x:FS,y:FS}},dV=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:si(e.w-t.w),h:si(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},Yf=e=>e.indexOf(q6)===0,fV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Eo(),S=ll()[ny],k=!d&&!w&&(y.x||y.y),_=h&&d,[I,P]=xs(Kf,eh.bind(0,a)),[E,O]=xs(Kf,Zp.bind(0,a)),[R,M]=xs(Kf),[T,A]=xs(Kf),[$]=xs(uV),Q=(z,H)=>{if(ro(a,{height:""}),H){const{St:Y,K:ie}=n(),{$t:ye,D:Z}=z,se=eh(o),K=Pp(o),U=ro(a,"boxSizing")==="content-box",ae=Y||U?ie.b+ie.t:0,re=!(y.x&&U);ro(a,{height:K.h+se.h+(ye.x&&re?Z.x:0)-ae})}},B=(z,H)=>{const Y=!w&&!z?cV:0,ie=(pe,ce,ge)=>{const _e=ro(a,pe),Se=(H?H[pe]:_e)==="scroll";return[_e,Se,Se&&!w?ce?Y:ge:0,ce&&!!Y]},[ye,Z,se,K]=ie("overflowX",y.x,v.x),[U,ae,re,oe]=ie("overflowY",y.y,v.y);return{Ct:{x:ye,y:U},$t:{x:Z,y:ae},D:{x:se,y:re},M:{x:K,y:oe}}},V=(z,H,Y,ie)=>{const ye=(ae,re)=>{const oe=Yf(ae),pe=re&&oe&&ae.replace(`${q6}-`,"")||"";return[re&&!oe?ae:"",Yf(pe)?"hidden":pe]},[Z,se]=ye(Y.x,H.x),[K,U]=ye(Y.y,H.y);return ie.overflowX=se&&K?se:Z,ie.overflowY=U&&Z?U:K,B(z,ie)},q=(z,H,Y,ie)=>{const{D:ye,M:Z}=z,{x:se,y:K}=Z,{x:U,y:ae}=ye,{P:re}=n(),oe=H?"marginLeft":"marginRight",pe=H?"paddingLeft":"paddingRight",ce=re[oe],ge=re.marginBottom,_e=re[pe],le=re.paddingBottom;ie.width=`calc(100% + ${ae+-1*ce}px)`,ie[oe]=-ae+ce,ie.marginBottom=-U+ge,Y&&(ie[pe]=_e+(K?ae:0),ie.paddingBottom=le+(se?U:0))},[G,D]=S?S.H(k,b,a,c,n,B,q):[()=>k,()=>[es]];return(z,H,Y)=>{const{gt:ie,Ot:ye,wt:Z,xt:se,vt:K,yt:U}=z,{ht:ae,bt:re}=n(),[oe,pe]=H("showNativeOverlaidScrollbars"),[ce,ge]=H("overflow"),_e=oe&&y.x&&y.y,le=!d&&!b&&(ie||Z||ye||pe||K),Se=Yf(ce.x),Fe=Yf(ce.y),Ae=Se||Fe;let He=P(Y),Ct=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(F6,TW,!_e),le&&(vt=B(_e),Q(vt,ae)),ie||se||Z||U||pe){Ae&&p(uc,cc,!1);const[Pe,Je]=D(_e,re,vt),[Qe,dt]=He=I(Y),[Lt,lr]=Ct=E(Y),pn=Pp(a);let ln=Lt,Fr=pn;Pe(),(lr||dt||pe)&&Je&&!_e&&G(Je,Lt,Qe,re)&&(Fr=Pp(a),ln=Zp(a));const br={w:si(n1(Lt.w,ln.w)+Qe.w),h:si(n1(Lt.h,ln.h)+Qe.h)},Fn={w:si((_?m.innerWidth:Fr.w+si(pn.w-Lt.w))+Qe.w),h:si((_?m.innerHeight+Qe.h:Fr.h+si(pn.h-Lt.h))+Qe.h)};on=T(Fn),ct=R(dV(br,Fn),Y)}const[bt,we]=on,[Re,Pt]=ct,[At,xe]=Ct,[ht,$t]=He,zt={x:Re.w>0,y:Re.h>0},Ne=Se&&Fe&&(zt.x||zt.y)||Se&&zt.x&&!zt.y||Fe&&zt.y&&!zt.x;if(se||U||$t||xe||we||Pt||ge||pe||le){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Je=V(_e,zt,ce,Pe),Qe=G(Je,At,ht,re);d||q(Je,re,Qe,Pe),le&&Q(Je,ae),d?(no(o,L6,Pe.overflowX),no(o,B6,Pe.overflowY)):ro(a,Pe)}Xi(o,ws,cc,Ne),Xi(s,e1,AW,Ne),d||Xi(a,oi,uc,Ae);const[qe,Pn]=$(B(_e).Ct);return r({Ct:qe,zt:{x:bt.w,y:bt.h},Tt:{x:Re.w,y:Re.h},Et:zt}),{It:Pn,At:we,Lt:Pt}}},HS=(e,t,n)=>{const r={},o=t||{},s=Bo(e).concat(Bo(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},pV=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Eo(),p=!a&&(c.x||c.y),h=[iV(e,t),lV(e,t),fV(e,t)];return(m,v,b)=>{const w=HS(pr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&_s(r),k=y&&Ca(r);o("",th,!0);let _=w;return _n(h,I=>{_=HS(_,I(_,m,!!b)||{},b)}),_s(r,S),Ca(r,k),o("",th),s||(_s(n,0),Ca(n,0)),_}},hV=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):_6(m,e));b&&b.length&&v&&Ii(v)&&Mn(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Dr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,Mn(v,w))}else la(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},WS=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Xb(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=hV(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(I,P)=>{const E=p||es,O=h||es,R=new Set,M=new Set;let T=!1,A=!1;if(_n(I,$=>{const{attributeName:Q,target:B,type:V,oldValue:q,addedNodes:G,removedNodes:D}=$,z=V==="attributes",H=V==="childList",Y=e===B,ie=z&&Ii(Q)?no(B,Q):0,ye=ie!==0&&q!==ie,Z=Ub(y,Q)>-1&&ye;if(t&&(H||!Y)){const se=!z,K=z&&ye,U=K&&d&&Xp(B,d),re=(U?!E(B,Q,q,ie):se||K)&&!O($,!!U,e,r);_n(G,oe=>R.add(oe)),_n(D,oe=>R.add(oe)),A=A||re}!t&&Y&&ye&&!E(B,Q,q,ie)&&(M.add(Q),T=T||Z)}),R.size>0&&b($=>il(R).reduce((Q,B)=>(Mn(Q,_6($,B)),Xp(B,$)?Mn(Q,B):Q),[])),t)return!P&&A&&n(!1),[!1];if(M.size>0||T){const $=[il(M),T];return!P&&n.apply(0,$),$}},_=new CW(I=>k(I));return _.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),_.disconnect(),o=!1)},()=>{if(o){m.m();const I=_.takeRecords();return!Gb(I)&&k(I,!0)}}]},Qf=3333333,Xf=e=>e&&(e.height||e.width),K6=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=ll()[QW],{B:a}=Eo(),d=P6(`
`)[0],p=d.firstChild,h=td.bind(0,e),[m]=xs({o:void 0,_:!0,u:(y,S)=>!(!y||!Xf(y)&&Xf(S))}),v=y=>{const S=Rs(y)&&y.length>0&&ed(y[0]),k=!S&&Vb(y[0]);let _=!1,I=!1,P=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=Xf(E),M=Xf(O);_=!O||!R,I=!M&&R,P=!_}else k?[,P]=y:I=y===!0;if(r&&P){const E=k?y[0]:td(d);_s(d,E?a.n?-Qf:a.i?0:Qf:Qf),Ca(d,Qf)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!I})},b=[];let w=o?v:!1;return[()=>{la(b),oa(d)},()=>{if(Ql){const y=new Ql(v);y.observe(p),Mn(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,Mn(b,S)}if(r){const[y]=xs({o:void 0},h);Mn(b,Dr(d,"scroll",S=>{const k=y(),[_,I,P]=k;I&&(Qb(p,"ltr rtl"),_?ka(p,"rtl"):ka(p,"ltr"),v([!!_,I,P])),D6(S)}))}w&&(ka(d,NW),Mn(b,Dr(d,"animationstart",w,{C:!!Ql}))),(Ql||s)&&ts(e,d)}]},mV=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,gV=(e,t)=>{let n;const r=Ji(zW),o=[],[s]=xs({o:!1}),a=(d,p)=>{if(d){const h=s(mV(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{la(o),oa(r)},()=>{if(_S)n=new _S(d=>c(d),{root:e}),n.observe(r),Mn(o,()=>{n.disconnect()});else{const d=()=>{const m=nd(r);a(m)},[p,h]=K6(r,d);Mn(o,p),h(),d()}ts(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},VS=`[${ws}]`,vV=`[${oi}]`,F0=["tabindex"],US=["wrap","cols","rows"],H0=["id","class","style","open"],bV=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Eo(),[w]=xs({u:O6,o:{w:0,h:0}},()=>{const V=m(uc,cc),q=m(z0,""),G=q&&_s(c),D=q&&Ca(c);v(uc,cc),v(z0,""),v("",th,!0);const z=Zp(d),H=Zp(c),Y=eh(c);return v(uc,cc,V),v(z0,"",q),v("",th),_s(c,G),Ca(c,D),{w:H.w+z.w+Y.w,h:H.h+z.h+Y.h}}),y=p?US:H0.concat(US),S=Xb(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[D]=q;return[Bo(G).concat(Bo(D)).reduce((z,H)=>(z[H]=G[H]||D[H],z),{})]}}),k=V=>{_n(V||F0,q=>{if(Ub(F0,q)>-1){const G=no(a,q);Ii(G)?no(c,q,G):xo(c,q)}})},_=(V,q)=>{const[G,D]=V,z={vt:D};return t({ht:G}),!q&&n(z),z},I=({gt:V,Yt:q,Vt:G})=>{const D=!V||G?n:S;let z=!1;if(q){const[H,Y]=q;z=Y,t({bt:H})}D({gt:V,yt:z})},P=(V,q)=>{const[,G]=w(),D={wt:G};return G&&!q&&(V?n:S)(D),D},E=(V,q,G)=>{const D={Ot:q};return q?!G&&S(D):h||k(V),D},[O,R,M]=d||!b?gV(a,_):[es,es,es],[T,A]=h?[es,es]:K6(a,I,{Vt:!0,Bt:!0}),[$,Q]=WS(a,!1,E,{Pt:H0,Ht:H0.concat(F0)}),B=h&&Ql&&new Ql(I.bind(0,{gt:!0}));return B&&B.observe(a),k(),[()=>{O(),T(),s&&s[0](),B&&B.disconnect(),$()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),D=s&&s[1]();return q&&pr(V,E.apply(0,Mn(q,!0))),G&&pr(V,_.apply(0,Mn(G,!0))),D&&pr(V,P.apply(0,Mn(D,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,D]=V("update.attributes"),[z,H]=V("update.elementEvents"),[Y,ie]=V("update.debounce"),ye=H||D,Z=se=>Os(q)&&q(se);if(ye&&(s&&(s[1](),s[0]()),s=WS(d||c,!0,P,{Ht:y.concat(G||[]),Dt:z,Mt:VS,kt:(se,K)=>{const{target:U,attributeName:ae}=se;return(!K&&ae&&!h?vW(U,VS,vV):!1)||!!Yl(U,`.${Io}`)||!!Z(se)}})),ie)if(S.m(),Rs(Y)){const se=Y[0],K=Y[1];r=pi(se)&&se,o=pi(K)&&K}else pi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},GS={x:0,y:0},yV=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:GS,Tt:GS,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:td(e.Z)}),xV=(e,t)=>{const n=t1(t,{}),[r,o,s]=Zb(),[a,c,d]=aV(e),p=G6(yV(a)),[h,m]=p,v=pV(a,p),b=(I,P,E)=>{const R=Bo(I).some(M=>I[M])||!qb(P)||E;return R&&s("u",[I,P,E]),R},[w,y,S,k]=bV(a,m,I=>b(v(n,I),{},!1)),_=h.bind(0);return _.jt=I=>r("u",I),_.Nt=()=>{const{W:I,J:P}=a,E=_s(I),O=Ca(I);y(),c(),_s(P,E),Ca(P,O)},_.qt=a,[(I,P)=>{const E=t1(t,I,P);return k(E),b(v(E,S(),P),I,!!P)},_,()=>{o(),w(),d()}]},{round:qS}=Math,wV=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=nd(e);return{x:qS(t)/r||1,y:qS(n)/o||1}},SV=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},CV=(e,t)=>Dr(e,"mousedown",Dr.bind(0,t,"click",D6,{C:!0,$:!0}),{$:!0}),KS="pointerup pointerleave pointercancel lostpointercapture",kV=(e,t,n,r,o,s,a)=>{const{B:c}=Eo(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",k=(_,I)=>P=>{const{Tt:E}=s(),O=nd(p)[y]-nd(d)[y],M=I*P/O*E[S],A=td(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Dr(p,"pointerdown",_=>{const I=Yl(_.target,`.${ty}`)===d,P=I?d:p;if(Xi(t,ws,MS,!0),SV(_,e,I)){const E=!I&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=(H,Y)=>(H||O())[w]-(Y||R())[w],T=k(o[m]||0,1/wV(o)[S]),A=_[v],$=O(),Q=R(),B=$[b],V=M($,Q)+B/2,q=A-Q[w],G=I?0:q-V,D=H=>{la(z),P.releasePointerCapture(H.pointerId)},z=[Xi.bind(0,t,ws,MS),Dr(n,KS,D),Dr(n,"selectstart",H=>T6(H),{S:!1}),Dr(p,KS,D),Dr(p,"pointermove",H=>{const Y=H[v]-A;(I||E)&&T(G+Y)})];if(E)T(G);else if(!I){const H=ll()[XW];H&&Mn(z,H.O(T,M,G,B,q))}P.setPointerCapture(_.pointerId)}})},_V=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Ul(333),m=!!a.scrollBy;let v=!0;return la.bind(0,[Dr(d,"pointerenter",()=>{r(AS,!0)}),Dr(d,"pointerleave pointercancel",()=>{r(AS)}),Dr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&Ta(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(zS,!0),p(()=>{v=!0,r(zS)}),T6(b)},{S:!1,$:!0}),CV(d,o),kV(e,s,o,n,a,t,c),h])},{min:r1,max:YS,abs:PV,round:jV}=Math,Y6=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return YS(0,r1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return YS(0,r1(1,s/a))},IV=(e,t,n,r,o,s)=>{const{B:a}=Eo(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=jV(p[c]),m=PV(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=r1(1,(v?b:m)/h),S=Y6(e,t,s);return 1/S*(1-S)*y},EV=(e,t,n)=>{const{N:r,L:o}=Eo(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},k=V6([d,p,h],()=>w&&b?d:p,a,S),_=(G,D,z)=>{const H=z?ka:Qb;_n(G,Y=>{H(Y.Xt,D)})},I=(G,D)=>{_n(G,z=>{const[H,Y]=D(z);ro(H,Y)})},P=(G,D,z)=>{I(G,H=>{const{Ft:Y,Gt:ie}=H;return[Y,{[z?"width":"height"]:`${(100*Y6(Y,ie,z,D)).toFixed(3)}%`}]})},E=(G,D,z)=>{const H=z?"X":"Y";I(G,Y=>{const{Ft:ie,Gt:ye,Xt:Z}=Y,se=IV(ie,ye,v,D,td(Z),z);return[ie,{transform:se===se?`translate${H}(${(100*se).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],T=(G,D,z)=>{const H=Vb(z),Y=H?z:!0,ie=H?!z:!0;Y&&_(R,G,D),ie&&_(M,G,D)},A=G=>{P(R,G,!0),P(M,G)},$=G=>{E(R,G,!0),E(M,G)},Q=G=>{const D=G?HW:WW,z=G?R:M,H=Gb(z)?TS:"",Y=Ji(`${Io} ${D} ${H}`),ie=Ji(H6),ye=Ji(ty),Z={Xt:Y,Gt:ie,Ft:ye};return o||ka(Y,LW),ts(Y,ie),ts(ie,ye),Mn(z,Z),Mn(O,[oa.bind(0,Y),n(Z,T,c,p,v,G)]),Z},B=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ts(k,R[0].Xt),ts(k,M[0].Xt),Jp(()=>{T(TS)},300)};return B(),V(),[{Ut:A,Wt:$,Zt:T,Jt:{Kt:R,Qt:B,tn:I.bind(0,R)},nn:{Kt:M,Qt:V,tn:I.bind(0,M)}},q,la.bind(0,O)]},OV=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=G6({}),[m]=h,[v,b]=Ul(),[w,y]=Ul(),[S,k]=Ul(100),[_,I]=Ul(100),[P,E]=Ul(()=>p),[O,R,M]=EV(e,n.qt,_V(t,n)),{Z:T,J:A,ot:$,st:Q,ut:B,it:V}=n.qt,{Jt:q,nn:G,Zt:D,Ut:z,Wt:H}=O,{tn:Y}=q,{tn:ie}=G,ye=ae=>{const{Xt:re}=ae,oe=B&&!V&&Ta(re)===A&&re;return[oe,{transform:oe?`translate(${_s($)}px, ${Ca($)}px)`:""}]},Z=(ae,re)=>{if(E(),ae)D($S);else{const oe=()=>D($S,!0);p>0&&!re?P(oe):oe()}},se=()=>{c=s,c&&Z(!0)},K=[k,E,I,y,b,M,Dr(T,"pointerover",se,{C:!0}),Dr(T,"pointerenter",se),Dr(T,"pointerleave",()=>{c=!1,s&&Z(!1)}),Dr(T,"pointermove",()=>{o&&v(()=>{k(),Z(!0),_(()=>{o&&Z(!1)})})}),Dr(Q,"scroll",ae=>{w(()=>{H(n()),a&&Z(!0),S(()=>{a&&!c&&Z(!1)})}),r(ae),B&&Y(ye),B&&ie(ye)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(ae,re,oe)=>{const{At:pe,Lt:ce,It:ge,yt:_e}=oe,{A:le}=Eo(),Se=t1(t,ae,re),Fe=n(),{Tt:Ae,Ct:He,bt:Ct}=Fe,[ct,on]=Se("showNativeOverlaidScrollbars"),[vt,bt]=Se("scrollbars.theme"),[we,Re]=Se("scrollbars.visibility"),[Pt,At]=Se("scrollbars.autoHide"),[xe]=Se("scrollbars.autoHideDelay"),[ht,$t]=Se("scrollbars.dragScroll"),[zt,Ne]=Se("scrollbars.clickScroll"),qe=pe||ce||_e,Pn=ge||Re,Pe=ct&&le.x&&le.y,Je=(Qe,dt)=>{const Lt=we==="visible"||we==="auto"&&Qe==="scroll";return D(VW,Lt,dt),Lt};if(p=xe,on&&D(BW,Pe),bt&&(D(d),D(vt,!0),d=vt),At&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",Z(!a,!0)),$t&&D(qW,ht),Ne&&D(GW,zt),Pn){const Qe=Je(He.x,!0),dt=Je(He.y,!1);D(UW,!(Qe&&dt))}qe&&(z(Fe),H(Fe),D(NS,!Ae.x,!0),D(NS,!Ae.y,!1),D(FW,Ct&&!V))},U,la.bind(0,K)]},Q6=(e,t,n)=>{Os(e)&&e(t||void 0,n||void 0)},ci=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Eo(),c=ll(),d=Qp(e),p=d?e:e.target,h=U6(p);if(t&&!h){let m=!1;const v=B=>{const V=ll()[YW],q=V&&V.O;return q?q(B,!0):B},b=pr({},r(),v(t)),[w,y,S]=Zb(n),[k,_,I]=xV(e,b),[P,E,O]=OV(e,b,_,B=>S("scroll",[Q,B])),R=(B,V)=>k(B,!!V),M=R.bind(0,{},!0),T=s(M),A=a(M),$=B=>{sV(p),T(),A(),O(),I(),m=!0,S("destroyed",[Q,!!B]),y()},Q={options(B,V){if(B){const q=V?r():{},G=A6(b,pr(q,v(B)));qb(G)||(pr(b,G),R(G))}return pr({},b)},on:w,off:(B,V)=>{B&&V&&y(B,V)},state(){const{zt:B,Tt:V,Ct:q,Et:G,K:D,St:z,bt:H}=_();return pr({},{overflowEdge:B,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:D,paddingAbsolute:z,directionRTL:H,destroyed:m})},elements(){const{W:B,Z:V,K:q,J:G,tt:D,ot:z,st:H}=_.qt,{Jt:Y,nn:ie}=E.qt,ye=se=>{const{Ft:K,Gt:U,Xt:ae}=se;return{scrollbar:ae,track:U,handle:K}},Z=se=>{const{Kt:K,Qt:U}=se,ae=ye(K[0]);return pr({},ae,{clone:()=>{const re=ye(U());return P({},!0,{}),re}})};return pr({},{target:B,host:V,padding:q||G,viewport:G,content:D||G,scrollOffsetElement:z,scrollEventElement:H,scrollbarHorizontal:Z(Y),scrollbarVertical:Z(ie)})},update:B=>R({},B),destroy:$.bind(0)};return _.jt((B,V,q)=>{P(V,q,B)}),oV(p,Q),_n(Bo(c),B=>Q6(c[B],0,Q)),rV(_.qt.it,o().cancel,!d&&e.cancel)?($(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((B,V,q)=>{const{gt:G,yt:D,vt:z,At:H,Lt:Y,It:ie,wt:ye,Ot:Z}=B;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:D,heightIntrinsicChanged:z,overflowEdgeChanged:H,overflowAmountChanged:Y,overflowStyleChanged:ie,contentMutation:ye,hostMutation:Z},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};ci.plugin=e=>{_n(KW(e),t=>Q6(t,ci))};ci.valid=e=>{const t=e&&e.elements,n=Os(t)&&t();return Qv(n)&&!!U6(n.target)};ci.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Eo();return pr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const RV=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},sy=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(RV,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,ci.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,ci.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(ci.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=ci(h,b,w);v?o(y,v):y()},()=>a.current],[])},MV=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=sy({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),F.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},F.createElement("div",{ref:h},a))},X6=f.forwardRef(MV);var J6={exports:{}},Z6={};const No=T1(_R),pu=T1(PR),DV=T1(jR);(function(e){var t,n,r=Rl&&Rl.__generator||function(X,ee){var he,ke,me,ut,st={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ft(0),throw:Ft(1),return:Ft(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ft(ft){return function(xt){return function(Be){if(he)throw new TypeError("Generator is already executing.");for(;st;)try{if(he=1,ke&&(me=2&Be[0]?ke.return:Be[0]?ke.throw||((me=ke.return)&&me.call(ke),0):ke.next)&&!(me=me.call(ke,Be[1])).done)return me;switch(ke=0,me&&(Be=[2&Be[0],me.value]),Be[0]){case 0:case 1:me=Be;break;case 4:return st.label++,{value:Be[1],done:!1};case 5:st.label++,ke=Be[1],Be=[0];continue;case 7:Be=st.ops.pop(),st.trys.pop();continue;default:if(!((me=(me=st.trys).length>0&&me[me.length-1])||Be[0]!==6&&Be[0]!==2)){st=0;continue}if(Be[0]===3&&(!me||Be[1]>me[0]&&Be[1]=200&&X.status<=299},Q=function(X){return/ion\/(vnd\.api\+)?json/.test(X.get("content-type")||"")};function B(X){if(!(0,T.isPlainObject)(X))return X;for(var ee=S({},X),he=0,ke=Object.entries(ee);he"u"&&st===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(Jt,Vt){return E(ee,null,function(){var $e,yt,Mt,Ht,jn,Ut,un,sn,Ir,Xn,It,In,On,Jn,hr,Tn,An,dn,Sn,En,vn,bn,Ke,Ot,St,at,wt,Bt,mt,ot,Ee,je,Me,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return $e=Vt.signal,yt=Vt.getState,Mt=Vt.extra,Ht=Vt.endpoint,jn=Vt.forced,Ut=Vt.type,Ir=(sn=typeof Jt=="string"?{url:Jt}:Jt).url,It=(Xn=sn.headers)===void 0?new Headers(Gt.headers):Xn,On=(In=sn.params)===void 0?void 0:In,hr=(Jn=sn.responseHandler)===void 0?Et??"json":Jn,An=(Tn=sn.validateStatus)===void 0?Nt??$:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=I(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),vn=S(k(S({},Gt),{signal:$e}),En),It=new Headers(B(It)),bn=vn,[4,me(It,{getState:yt,extra:Mt,endpoint:Ht,forced:jn,type:Ut})];case 1:bn.headers=Rt.sent()||It,Ke=function(Ve){return typeof Ve=="object"&&((0,T.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!vn.headers.has("content-type")&&Ke(vn.body)&&vn.headers.set("content-type",Ce),Ke(vn.body)&&xt(vn.headers)&&(vn.body=JSON.stringify(vn.body,Xe)),On&&(Ot=~Ir.indexOf("?")?"&":"?",St=Ft?Ft(On):new URLSearchParams(B(On)),Ir+=Ot+St),Ir=function(Ve,en){if(!Ve)return en;if(!en)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(en))return en;var yn=Ve.endsWith("/")||!en.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+yn+function(hn){return hn.replace(/^\//,"")}(en)}(he,Ir),at=new Request(Ir,vn),wt=at.clone(),un={request:wt},mt=!1,ot=Sn&&setTimeout(function(){mt=!0,Vt.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,st(at)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Ee=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:un}];case 5:return ot&&clearTimeout(ot),[7];case 6:je=Bt.clone(),un.response=je,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([Zt(Bt,hr).then(function(Ve){return Me=Ve},function(Ve){return Ze=Ve}),je.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),Ze)throw Ze;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,An(Bt,Me)?{data:Me,meta:un}:{error:{status:Bt.status,data:Me},meta:un}]}})})};function Zt(Jt,Vt){return E(this,null,function(){var $e;return r(this,function(yt){switch(yt.label){case 0:return typeof Vt=="function"?[2,Vt(Jt)]:(Vt==="content-type"&&(Vt=xt(Jt.headers)?"json":"text"),Vt!=="json"?[3,2]:[4,Jt.text()]);case 1:return[2,($e=yt.sent()).length?JSON.parse($e):null];case 2:return[2,Jt.text()]}})})}}var q=function(X,ee){ee===void 0&&(ee=void 0),this.value=X,this.meta=ee};function G(X,ee){return X===void 0&&(X=0),ee===void 0&&(ee=5),E(this,null,function(){var he,ke;return r(this,function(me){switch(me.label){case 0:return he=Math.min(X,ee),ke=~~((Math.random()+.4)*(300<=je)}var En=(0,He.createAsyncThunk)(On+"/executeQuery",dn,{getPendingMeta:function(){var Ke;return(Ke={startedTimeStamp:Date.now()})[He.SHOULD_AUTOBATCH]=!0,Ke},condition:function(Ke,Ot){var St,at,wt,Bt=(0,Ot.getState)(),mt=(at=(St=Bt[On])==null?void 0:St.queries)==null?void 0:at[Ke.queryCacheKey],ot=mt==null?void 0:mt.fulfilledTimeStamp,Ee=Ke.originalArgs,je=mt==null?void 0:mt.originalArgs,Me=hr[Ke.endpointName];return!(!Se(Ke)&&((mt==null?void 0:mt.status)==="pending"||!Sn(Ke,Bt)&&(!oe(Me)||!((wt=Me==null?void 0:Me.forceRefetch)!=null&&wt.call(Me,{currentArg:Ee,previousArg:je,endpointState:mt,state:Bt})))&&ot))},dispatchConditionRejection:!0}),vn=(0,He.createAsyncThunk)(On+"/executeMutation",dn,{getPendingMeta:function(){var Ke;return(Ke={startedTimeStamp:Date.now()})[He.SHOULD_AUTOBATCH]=!0,Ke}});function bn(Ke){return function(Ot){var St,at;return((at=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:at.endpointName)===Ke}}return{queryThunk:En,mutationThunk:vn,prefetch:function(Ke,Ot,St){return function(at,wt){var Bt=function(Me){return"force"in Me}(St)&&St.force,mt=function(Me){return"ifOlderThan"in Me}(St)&&St.ifOlderThan,ot=function(Me){return Me===void 0&&(Me=!0),An.endpoints[Ke].initiate(Ot,{forceRefetch:Me})},Ee=An.endpoints[Ke].select(Ot)(wt());if(Bt)at(ot());else if(mt){var je=Ee==null?void 0:Ee.fulfilledTimeStamp;if(!je)return void at(ot());(Number(new Date)-Number(new Date(je)))/1e3>=mt&&at(ot())}else at(ot(!1))}},updateQueryData:function(Ke,Ot,St){return function(at,wt){var Bt,mt,ot=An.endpoints[Ke].select(Ot)(wt()),Ee={patches:[],inversePatches:[],undo:function(){return at(An.util.patchQueryData(Ke,Ot,Ee.inversePatches))}};if(ot.status===t.uninitialized)return Ee;if("data"in ot)if((0,Ae.isDraftable)(ot.data)){var je=(0,Ae.produceWithPatches)(ot.data,St),Me=je[2];(Bt=Ee.patches).push.apply(Bt,je[1]),(mt=Ee.inversePatches).push.apply(mt,Me)}else{var We=St(ot.data);Ee.patches.push({op:"replace",path:[],value:We}),Ee.inversePatches.push({op:"replace",path:[],value:ot.data})}return at(An.util.patchQueryData(Ke,Ot,Ee.patches)),Ee}},upsertQueryData:function(Ke,Ot,St){return function(at){var wt;return at(An.endpoints[Ke].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[le]=function(){return{data:St}},wt)))}},patchQueryData:function(Ke,Ot,St){return function(at){at(An.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:hr[Ke],endpointName:Ke}),patches:St}))}},buildMatchThunkActions:function(Ke,Ot){return{matchPending:(0,Fe.isAllOf)((0,Fe.isPending)(Ke),bn(Ot)),matchFulfilled:(0,Fe.isAllOf)((0,Fe.isFulfilled)(Ke),bn(Ot)),matchRejected:(0,Fe.isAllOf)((0,Fe.isRejected)(Ke),bn(Ot))}}}}({baseQuery:ke,reducerPath:me,context:he,api:X,serializeQueryArgs:ut}),Xe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,Gt=Ce.upsertQueryData,Zt=Ce.prefetch,Jt=Ce.buildMatchThunkActions,Vt=function(It){var In=It.reducerPath,On=It.queryThunk,Jn=It.mutationThunk,hr=It.context,Tn=hr.endpointDefinitions,An=hr.apiUid,dn=hr.extractRehydrationInfo,Sn=hr.hasRehydrationInfo,En=It.assertTagType,vn=It.config,bn=(0,ge.createAction)(In+"/resetApiState"),Ke=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(ot,Ee){delete ot[Ee.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(ot,Ee){var je=Ee.payload,Me=je.patches;bt(ot,je.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,Me.concat())})}},extraReducers:function(ot){ot.addCase(On.pending,function(Ee,je){var Me,We=je.meta,Ze=je.meta.arg,Dt=Se(Ze);(Ze.subscribe||Dt)&&(Ee[Me=Ze.queryCacheKey]!=null||(Ee[Me]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Ee,Ze.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,Ze.originalArgs!==void 0&&(Rt.originalArgs=Ze.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(On.fulfilled,function(Ee,je){var Me=je.meta,We=je.payload;bt(Ee,Me.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===Me.requestId||Se(Me.arg)){var Rt=Tn[Me.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=Me.fulfilledTimeStamp,en=Me.arg,yn=Me.baseQueryMeta,hn=Me.requestId,mr=(0,ge.createNextState)(Ze.data,function(Yn){return Rt(Yn,We,{arg:en.originalArgs,baseQueryMeta:yn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=mr}else Ze.data=We;else Ze.data=(Dt=Tn[Me.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(Ze.data)?(0,vt.original)(Ze.data):Ze.data,We):We;delete Ze.error,Ze.fulfilledTimeStamp=Me.fulfilledTimeStamp}})}).addCase(On.rejected,function(Ee,je){var Me=je.meta,We=Me.condition,Ze=Me.requestId,Dt=je.error,Rt=je.payload;bt(Ee,Me.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Ee,je){for(var Me=dn(je).queries,We=0,Ze=Object.entries(Me);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},vn),reducers:{middlewareRegistered:function(ot,Ee){ot.middlewareRegistered=ot.middlewareRegistered!=="conflict"&&An===Ee.payload||"conflict"}},extraReducers:function(ot){ot.addCase(ye,function(Ee){Ee.online=!0}).addCase(Z,function(Ee){Ee.online=!1}).addCase(Y,function(Ee){Ee.focused=!0}).addCase(ie,function(Ee){Ee.focused=!1}).addMatcher(Sn,function(Ee){return S({},Ee)})}}),mt=(0,ge.combineReducers)({queries:Ke.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(ot,Ee){return mt(bn.match(Ee)?void 0:ot,Ee)},actions:k(S(S(S(S(S({},Bt.actions),Ke.actions),at.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:bn})}}({context:he,queryThunk:Xe,mutationThunk:jt,reducerPath:me,assertTagType:Be,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ft,keepUnusedDataFor:st,reducerPath:me}}),$e=Vt.reducer,yt=Vt.actions;Nr(X.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:Gt,prefetch:Zt,resetApiState:yt.resetApiState}),Nr(X.internalActions,yt);var Mt=function(It){var In=It.reducerPath,On=It.queryThunk,Jn=It.api,hr=It.context,Tn=hr.apiUid,An={invalidateTags:(0,lr.createAction)(In+"/invalidateTags")},dn=[Hr,pn,Fr,br,Wn,Ro];return{middleware:function(En){var vn=!1,bn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),Ke=dn.map(function(at){return at(bn)}),Ot=function(at){var wt=at.api,Bt=at.queryThunk,mt=at.internalState,ot=wt.reducerPath+"/subscriptions",Ee=null,je=!1,Me=wt.internalActions,We=Me.updateSubscriptionOptions,Ze=Me.unsubscribeQueryResult;return function(Dt,Rt){var Ve,en;if(Ee||(Ee=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Ee=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var yn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[yn.queryCacheKey])!=null&&Ve[yn.requestId])]}var hn=function(gn,Vn){var ao,fn,Nn,Vr,Er,Va,Vd,Mo,da;if(We.match(Vn)){var Ls=Vn.payload,fa=Ls.queryCacheKey,io=Ls.requestId;return(ao=gn==null?void 0:gn[fa])!=null&&ao[io]&&(gn[fa][io]=Ls.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[fa=lo.queryCacheKey]&&delete gn[fa][io],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var co=Vn.meta;if(io=co.requestId,(Xr=co.arg).subscribe)return(Ho=(Nn=gn[fn=Xr.queryCacheKey])!=null?Nn:gn[fn]={})[io]=(Er=(Vr=Xr.subscriptionOptions)!=null?Vr:Ho[io])!=null?Er:{},!0}if(Bt.rejected.match(Vn)){var Ho,Do=Vn.meta,Xr=Do.arg;if(io=Do.requestId,Do.condition&&Xr.subscribe)return(Ho=(Vd=gn[Va=Xr.queryCacheKey])!=null?Vd:gn[Va]={})[io]=(da=(Mo=Xr.subscriptionOptions)!=null?Mo:Ho[io])!=null?da:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){je||(fs(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Wr.produceWithPatches)(Ee,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Ee=gn,je=!1}),je=!0);var mr=!!((en=Dt.type)!=null&&en.startsWith(ot)),Yn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!mr&&!Yn,!1]}return[!0,!1]}}(bn),St=function(at){var wt=at.reducerPath,Bt=at.context,mt=at.refetchQuery,ot=at.internalState,Ee=at.api.internalActions.removeQueryResult;function je(Me,We){var Ze=Me.getState()[wt],Dt=Ze.queries,Rt=ot.currentSubscriptions;Bt.batch(function(){for(var Ve=0,en=Object.keys(Rt);Ve{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!xu(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(tt,{children:n}),i.jsxs(vb,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(xa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(xa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(xa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(xa,{children:"Node Editor"})]}),i.jsx(tt,{children:r})]})},ej=f.memo(TV),AV=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=be(),o=L(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=IR((t==null?void 0:t.board_id)??oo.skipToken),c=f.useMemo(()=>fe([Ye],_=>{const I=(s??[]).map(E=>ER(_,E));return{imageUsageSummary:{isInitialImage:xu(I,E=>E.isInitialImage),isCanvasImage:xu(I,E=>E.isCanvasImage),isNodesImage:xu(I,E=>E.isNodesImage),isControlNetImage:xu(I,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=OR(),[h,{isLoading:m}]=RR(),{imageUsageSummary:v}=L(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Pd,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsxs(Ra,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Da,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(gm,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(ej,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(tt,{children:"Deleted boards cannot be restored."}),i.jsx(tt,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Oa,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(rn,{ref:S,onClick:y,children:"Cancel"}),i.jsx(rn,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(rn,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},NV=f.memo(AV),tj=Te((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(wn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(Sa,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});tj.displayName="IAIIconButton";const Le=f.memo(tj),$V="My Board",zV=()=>{const[e,{isLoading:t}]=MR(),n=f.useCallback(()=>{e($V)},[e]);return i.jsx(Le,{icon:i.jsx(ml,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var nj=md({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),ay=md({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),LV=md({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),BV=md({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),FV=md({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const HV=fe([Ye],({boards:e})=>{const{searchText:t}=e;return{searchText:t}},Ge),WV=()=>{const e=te(),{searchText:t}=L(HV),n=f.useRef(null),r=f.useCallback(c=>{e(O2(c))},[e]),o=f.useCallback(()=>{e(O2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(LP,{children:[i.jsx(yd,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(hb,{children:i.jsx(Sa,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(LV,{boxSize:2})})})]})},VV=f.memo(WV),UV=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(ui()),{colorMode:o}=Ds();return i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:ze("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?ze("base.50","base.50")(o):ze("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(tt,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?ze("base.50","base.50")(o):ze("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},nh=f.memo(UV),GV=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(ui()),{isOver:s,setNodeRef:a,active:c}=A1({id:o.current,disabled:r,data:n});return i.jsx(Oe,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(Fo,{children:Ep(n,c)&&i.jsx(nh,{isOver:s,label:t})})})},iy=f.memo(GV),ly=({isSelected:e,isHovered:t})=>i.jsx(Oe,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),rj=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(pl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Nu=globalThis&&globalThis.__assign||function(){return Nu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=Zh(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},qV=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(kr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClick:n,children:"Delete Board"})]})},KV=f.memo(qV),YV=()=>i.jsx(i.Fragment,{}),QV=f.memo(YV),cy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>fe(Ye,({gallery:h})=>({isAutoAdd:h.autoAddBoardId===t})),[t]),{isAutoAdd:a}=L(s),c=Rm(t),d=f.useCallback(()=>{o(O_(t))},[t,o]),p=f.useCallback(h=>{h.preventDefault()},[]);return i.jsx(oj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(zc,{sx:{visibility:"visible !important"},motionProps:nm,onContextMenu:p,children:i.jsxs(Qu,{title:c,children:[i.jsx(kr,{icon:i.jsx(ml,{}),isDisabled:a,onClick:d,children:"Auto-add to this Board"}),!e&&i.jsx(QV,{}),e&&i.jsx(KV,{board:e,setBoardToDelete:n})]})}),children:r})});cy.displayName="HoverableBoard";const sj=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>fe(Ye,({gallery:E})=>({isSelectedForAutoAdd:e.board_id===E.autoAddBoardId}),Ge),[e.board_id]),{isSelectedForAutoAdd:s}=L(o),[a,c]=f.useState(!1),d=f.useCallback(()=>{c(!0)},[]),p=f.useCallback(()=>{c(!1)},[]),{currentData:h}=os(e.cover_image_name??oo.skipToken),{board_name:m,board_id:v}=e,[b,w]=f.useState(m),y=f.useCallback(()=>{r(R_(v))},[v,r]),[S,{isLoading:k}]=DR(),_=f.useMemo(()=>({id:v,actionType:"MOVE_BOARD",context:{boardId:v}}),[v]),I=f.useCallback(async E=>{if(!E.trim()){w(m);return}if(E!==m)try{const{board_name:O}=await S({board_id:v,changes:{board_name:E}}).unwrap();w(O)}catch{w(m)}},[v,m,S]),P=f.useCallback(E=>{w(E)},[]);return i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:d,onMouseOut:p,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(cy,{board:e,board_id:v,setBoardToDelete:n,children:E=>i.jsxs(W,{ref:E,onClick:y,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[h!=null&&h.thumbnail_url?i.jsx(Tc,{src:h==null?void 0:h.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Kr,{boxSize:12,as:fW,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(rj,{}),i.jsx(ly,{isSelected:t,isHovered:a}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(J3,{value:b,isDisabled:k,submitOnBlur:!0,onChange:P,onSubmit:I,sx:{w:"full"},children:[i.jsx(Y3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(K3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(iy,{data:_,dropLabel:i.jsx(tt,{fontSize:"md",children:"Move"})})]})})})})});sj.displayName="HoverableBoard";const XV=fe(Ye,({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),aj=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n}=L(XV),r=Rm(void 0),o=f.useCallback(()=>{t(R_(void 0))},[t]),[s,a]=f.useState(!1),c=f.useCallback(()=>{a(!0)},[]),d=f.useCallback(()=>{a(!1)},[]),p=f.useMemo(()=>({id:"no_board",actionType:"MOVE_BOARD",context:{boardId:void 0}}),[]);return i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:c,onMouseOut:d,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(cy,{children:h=>i.jsxs(W,{ref:h,onClick:o,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Tc,{src:M_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),!n&&i.jsx(rj,{}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:r}),i.jsx(ly,{isSelected:e,isHovered:s}),i.jsx(iy,{data:p,dropLabel:i.jsx(tt,{fontSize:"md",children:"Move"})})]})})})})});aj.displayName="HoverableBoard";const JV=fe([Ye],({boards:e,gallery:t})=>{const{searchText:n}=e,{selectedBoardId:r}=t;return{selectedBoardId:r,searchText:n}},Ge),ZV=e=>{const{isOpen:t}=e,{selectedBoardId:n,searchText:r}=L(JV),{data:o}=Zh(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(sm,{in:t,animateOpacity:!0,children:i.jsxs(W,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(VV,{}),i.jsx(zV,{})]}),i.jsx(X6,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(rl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Tv,{sx:{p:1.5},children:i.jsx(aj,{isSelected:n===void 0})}),s&&s.map(d=>i.jsx(Tv,{sx:{p:1.5},children:i.jsx(sj,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(NV,{boardToDelete:a,setBoardToDelete:c})]})},eU=f.memo(ZV),tU=fe([Ye],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ge),nU=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=L(tU),o=Rm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:gc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(tt,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(ay,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},rU=f.memo(nU);function ij(e){return rt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function lj(e){return rt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const oU=fe([Ye],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ge),sU=()=>{const e=te(),{t}=be(),{shouldPinGallery:n}=L(oU),r=()=>{e(D_()),e(So())};return i.jsx(Le,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(ij,{}):i.jsx(lj,{})})},aU=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Tb,{isLazy:o,...s,children:[i.jsx(Db,{children:t}),i.jsxs(Ab,{shadow:"dark-lg",children:[r&&i.jsx(y5,{}),n]})]})},gl=f.memo(aU),iU=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(H3,{colorScheme:"accent",...n,children:i.jsx(tt,{sx:{fontSize:"sm",color:ze("base.800","base.200")(r)},children:t})})},Gn=f.memo(iU);function lU(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const cU=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:I,sliderFormControlProps:P,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:T,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:$,sliderTooltipProps:Q,sliderIAIIconButtonProps:B,...V}=e,q=te(),{t:G}=be(),[D,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const H=f.useMemo(()=>T!=null&&T.min?T.min:s,[s,T==null?void 0:T.min]),Y=f.useMemo(()=>T!=null&&T.max?T.max:a,[a,T==null?void 0:T.max]),ie=f.useCallback(re=>{d(re)},[d]),ye=f.useCallback(re=>{re.target.value===""&&(re.target.value=String(H));const oe=Es(v?Math.floor(Number(re.target.value)):Number(D),H,Y),pe=wu(oe,c);d(pe),z(pe)},[v,D,H,Y,d,c]),Z=f.useCallback(re=>{z(re)},[]),se=f.useCallback(()=>{I&&I()},[I]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(_o(!0))},[q]),ae=f.useCallback(re=>{re.shiftKey||q(_o(!1))},[q]);return i.jsxs(ho,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...P,children:[r&&i.jsx(zo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(di,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs($5,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ie,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(Vl,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(Vl,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(Vl,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(Vl,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(Vl,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(L5,{...R,children:i.jsx(B5,{})}),i.jsx(wn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(z5,{...M,zIndex:0})})]}),m&&i.jsxs(dm,{min:H,max:Y,step:c,value:D,onChange:Z,onBlur:ye,focusInputOnChange:!1,...T,children:[i.jsx(pm,{onKeyDown:U,onKeyUp:ae,minWidth:b,...A}),i.jsxs(fm,{...$,children:[i.jsx(mm,{onClick:()=>d(Number(D))}),i.jsx(hm,{onClick:()=>d(Number(D))})]})]}),w&&i.jsx(Le,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(lU,{}),isDisabled:k,onClick:se,...B})]})]})},_t=f.memo(cU);function uU(e){const t=f.createContext(null);return[({children:o,value:s})=>F.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function cj(e){return Array.isArray(e)?e:[e]}const dU=()=>{};function fU(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||dU:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function uj({data:e}){const t=[],n=[],r=e.reduce((o,s,a)=>(s.group?o[s.group]?o[s.group].push(a):o[s.group]=[a]:n.push(a),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function dj(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==F.Fragment:!1}function fj(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const mU=TR({key:"mantine",prepend:!0});function gU(){return k3()||mU}var vU=Object.defineProperty,QS=Object.getOwnPropertySymbols,bU=Object.prototype.hasOwnProperty,yU=Object.prototype.propertyIsEnumerable,XS=(e,t,n)=>t in e?vU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xU=(e,t)=>{for(var n in t||(t={}))bU.call(t,n)&&XS(e,n,t[n]);if(QS)for(var n of QS(t))yU.call(t,n)&&XS(e,n,t[n]);return e};const W0="ref";function wU(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(W0 in n))return{args:e,ref:t};t=n[W0];const r=xU({},n);return delete r[W0],{args:[r],ref:t}}const{cssFactory:SU}=(()=>{function e(n,r,o){const s=[],a=$R(n,s,o);return s.length<2?o:a+r(s)}function t(n){const{cache:r}=n,o=(...a)=>{const{ref:c,args:d}=wU(a),p=AR(d,r.registered);return NR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,pj(a))}}return{cssFactory:t}})();function hj(){const e=gU();return hU(()=>SU({cache:e}),[e])}function CU({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const a=n.reduce((c,d)=>(Object.keys(d.classNames).forEach(p=>{typeof c[p]!="string"?c[p]=`${d.classNames[p]}`:c[p]=`${c[p]} ${d.classNames[p]}`}),c),{});return Object.keys(t).reduce((c,d)=>(c[d]=e(t[d],a[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),c),{})}var kU=Object.defineProperty,JS=Object.getOwnPropertySymbols,_U=Object.prototype.hasOwnProperty,PU=Object.prototype.propertyIsEnumerable,ZS=(e,t,n)=>t in e?kU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V0=(e,t)=>{for(var n in t||(t={}))_U.call(t,n)&&ZS(e,n,t[n]);if(JS)for(var n of JS(t))PU.call(t,n)&&ZS(e,n,t[n]);return e};function o1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=V0(V0({},e[n]),t[n]):e[n]=V0({},t[n])}),e}function eC(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,a)=>o1(s,a),{}):o(e)}function jU({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&o1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&o1(s,a.sizes[o](t,n,{variant:r,size:o})),s),{})}function so(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=Fa(),a=DD(o==null?void 0:o.name),c=k3(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=hj(),m=t(s,r,d),v=eC(o==null?void 0:o.styles,s,r,d),b=eC(a,s,r,d),w=jU({ctx:a,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),y=Object.fromEntries(Object.keys(m).map(S=>{const k=h({[p(m[S])]:!(o!=null&&o.unstyled)},p(w[S]),p(b[S]),p(v[S]));return[S,k]}));return{classes:CU({cx:h,classes:y,context:a,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function tC(e){return`___ref-${e||""}`}var IU=Object.defineProperty,EU=Object.defineProperties,OU=Object.getOwnPropertyDescriptors,nC=Object.getOwnPropertySymbols,RU=Object.prototype.hasOwnProperty,MU=Object.prototype.propertyIsEnumerable,rC=(e,t,n)=>t in e?IU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hu=(e,t)=>{for(var n in t||(t={}))RU.call(t,n)&&rC(e,n,t[n]);if(nC)for(var n of nC(t))MU.call(t,n)&&rC(e,n,t[n]);return e},mu=(e,t)=>EU(e,OU(t));const gu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Jf={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:mu(hu({},gu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":mu(hu({},gu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":mu(hu({},gu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":mu(hu({},gu),{common:{transformOrigin:"top left"}}),"pop-top-right":mu(hu({},gu),{common:{transformOrigin:"top right"}})},oC=["mousedown","touchstart"];function DU(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:a}=s??{};if(Array.isArray(n)){const c=(a==null?void 0:a.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(a)&&a.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!c&&e()}else r.current&&!r.current.contains(a)&&e()};return(t||oC).forEach(s=>document.addEventListener(s,o)),()=>{(t||oC).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function TU(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function AU(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function NU(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:AU(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),TU(s.current,a=>o(a.matches))},[e]),r}const mj=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ps(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function $U({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return Ps(()=>{let o=-1;const s=a=>{a.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const zU=/input|select|textarea|button|object/,gj="a, input, select, textarea, button, object, [tabindex]";function LU(e){return e.style.display==="none"}function BU(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(LU(n))return!1;n=n.parentNode}return!0}function vj(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function s1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(vj(e));return(zU.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&BU(e)}function bj(e){const t=vj(e);return(Number.isNaN(t)||t>=0)&&s1(e)}function FU(e){return Array.from(e.querySelectorAll(gj)).filter(bj)}function HU(e,t){const n=FU(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const a=n[t.shiftKey?n.length-1:0];a&&a.focus()}function dy(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function WU(e,t="body > :not(script)"){const n=dy(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const a=o.getAttribute("aria-hidden"),c=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),a===null||a==="false"?o.setAttribute("aria-hidden","true"):!c&&!d&&o.setAttribute("data-hidden",a),{node:o,ariaHidden:c||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function VU(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let a=s.querySelector("[data-autofocus]");if(!a){const c=Array.from(s.querySelectorAll(gj));a=c.find(bj)||c.find(s1)||null,!a&&s1(s)&&(a=s)}a&&a.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=WU(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=a=>{a.key==="Tab"&&t.current&&HU(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const UU=F["useId".toString()]||(()=>{});function GU(){const e=UU();return e?`mantine-${e.replace(/:/g,"")}`:""}function fy(e){const t=GU(),[n,r]=f.useState(t);return mj(()=>{r(dy())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function sC(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function yj(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function qU(...e){return t=>{e.forEach(n=>yj(n,t))}}function Ad(...e){return f.useCallback(qU(...e),e)}function rd({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),a=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,a,!1]}function xj(e,t){return NU("(prefers-reduced-motion: reduce)",e,t)}const KU=e=>e<.5?2*e*e:-1+(4-2*e)*e,YU=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const a=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=m=>p[m]-d[m];if(e==="y"){const m=h("top");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.height*(s?0:1)||!s?b:0}const v=a?d.height:window.innerHeight;if(r==="end"){const b=m+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?m-v/2+p.height/2:0}if(e==="x"){const m=h("left");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.width||!s?b:0}const v=a?d.width:window.innerWidth;if(r==="end"){const b=m+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?m-v/2+p.width/2:0}return 0},QU=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},XU=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function wj({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=KU,offset:o=0,cancelable:s=!0,isList:a=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=xj(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=QU({parent:h.current,axis:t}))!=null?k:0,I=YU({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:_);function P(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+I*r(R);XU({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(P):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}P()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return sC("wheel",y,{passive:!0}),sC("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var aC=Object.getOwnPropertySymbols,JU=Object.prototype.hasOwnProperty,ZU=Object.prototype.propertyIsEnumerable,eG=(e,t)=>{var n={};for(var r in e)JU.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&aC)for(var r of aC(e))t.indexOf(r)<0&&ZU.call(e,r)&&(n[r]=e[r]);return n};function Mm(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:I,fz:P,fw:E,lts:O,ta:R,lh:M,fs:T,tt:A,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:z,bgp:H,bgr:Y,bga:ie,pos:ye,top:Z,left:se,bottom:K,right:U,inset:ae,display:re}=t,oe=eG(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:TD({m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:I,fz:P,fw:E,lts:O,ta:R,lh:M,fs:T,tt:A,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:z,bgp:H,bgr:Y,bga:ie,pos:ye,top:Z,left:se,bottom:K,right:U,inset:ae,display:re}),rest:oe}}function tG(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>hw(Wt({size:r,sizes:t.breakpoints}))-hw(Wt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function nG({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return tG(e,t).reduce((a,c)=>{if(c==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{a[h]=p}),a):(a[r]=p,a)}const d=n(e[c],t);return Array.isArray(r)?(a[t.fn.largerThan(c)]={},r.forEach(p=>{a[t.fn.largerThan(c)][p]=d}),a):(a[t.fn.largerThan(c)]={[r]:d},a)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,a)=>(s[a]=o,s),{}):{[r]:o}}function rG(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function oG(e){return Ue(e)}function sG(e){return e}function aG(e,t){return Wt({size:e,sizes:t.fontSizes})}const iG=["-xs","-sm","-md","-lg","-xl"];function lG(e,t){return iG.includes(e)?`calc(${Wt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Wt({size:e,sizes:t.spacing})}const cG={identity:sG,color:rG,size:oG,fontSize:aG,spacing:lG},uG={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var dG=Object.defineProperty,iC=Object.getOwnPropertySymbols,fG=Object.prototype.hasOwnProperty,pG=Object.prototype.propertyIsEnumerable,lC=(e,t,n)=>t in e?dG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cC=(e,t)=>{for(var n in t||(t={}))fG.call(t,n)&&lC(e,n,t[n]);if(iC)for(var n of iC(t))pG.call(t,n)&&lC(e,n,t[n]);return e};function uC(e,t,n=uG){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(nG({value:e[s],getValue:cG[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(a=>{typeof s[a]=="object"&&s[a]!==null&&a in o?o[a]=cC(cC({},o[a]),s[a]):o[a]=s[a]}),o),{})}function dC(e,t){return typeof e=="function"?e(t):e}function hG(e,t,n){const r=Fa(),{css:o,cx:s}=hj();return Array.isArray(e)?s(n,o(uC(t,r)),e.map(a=>o(dC(a,r)))):s(n,o(dC(e,r)),o(uC(t,r)))}var mG=Object.defineProperty,rh=Object.getOwnPropertySymbols,Sj=Object.prototype.hasOwnProperty,Cj=Object.prototype.propertyIsEnumerable,fC=(e,t,n)=>t in e?mG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gG=(e,t)=>{for(var n in t||(t={}))Sj.call(t,n)&&fC(e,n,t[n]);if(rh)for(var n of rh(t))Cj.call(t,n)&&fC(e,n,t[n]);return e},vG=(e,t)=>{var n={};for(var r in e)Sj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&rh)for(var r of rh(e))t.indexOf(r)<0&&Cj.call(e,r)&&(n[r]=e[r]);return n};const kj=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=vG(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=Mm(c),h=o||"div";return F.createElement(h,gG({ref:t,className:hG(a,d,r),style:s},p))});kj.displayName="@mantine/core/Box";const Po=kj;var bG=Object.defineProperty,yG=Object.defineProperties,xG=Object.getOwnPropertyDescriptors,pC=Object.getOwnPropertySymbols,wG=Object.prototype.hasOwnProperty,SG=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?bG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t)=>{for(var n in t||(t={}))wG.call(t,n)&&hC(e,n,t[n]);if(pC)for(var n of pC(t))SG.call(t,n)&&hC(e,n,t[n]);return e},CG=(e,t)=>yG(e,xG(t)),kG=so(e=>({root:CG(mC(mC({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const _G=kG;var PG=Object.defineProperty,oh=Object.getOwnPropertySymbols,_j=Object.prototype.hasOwnProperty,Pj=Object.prototype.propertyIsEnumerable,gC=(e,t,n)=>t in e?PG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jG=(e,t)=>{for(var n in t||(t={}))_j.call(t,n)&&gC(e,n,t[n]);if(oh)for(var n of oh(t))Pj.call(t,n)&&gC(e,n,t[n]);return e},IG=(e,t)=>{var n={};for(var r in e)_j.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&oh)for(var r of oh(e))t.indexOf(r)<0&&Pj.call(e,r)&&(n[r]=e[r]);return n};const jj=f.forwardRef((e,t)=>{const n=wr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=IG(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=_G(null,{name:"UnstyledButton",unstyled:s,variant:a});return F.createElement(Po,jG({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});jj.displayName="@mantine/core/UnstyledButton";const EG=jj;var OG=Object.defineProperty,RG=Object.defineProperties,MG=Object.getOwnPropertyDescriptors,vC=Object.getOwnPropertySymbols,DG=Object.prototype.hasOwnProperty,TG=Object.prototype.propertyIsEnumerable,bC=(e,t,n)=>t in e?OG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,a1=(e,t)=>{for(var n in t||(t={}))DG.call(t,n)&&bC(e,n,t[n]);if(vC)for(var n of vC(t))TG.call(t,n)&&bC(e,n,t[n]);return e},yC=(e,t)=>RG(e,MG(t));const AG=["subtle","filled","outline","light","default","transparent","gradient"],Zf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function NG({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:AG.includes(e)?a1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var $G=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:yC(a1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Wt({size:s,sizes:Zf}),minHeight:Wt({size:s,sizes:Zf}),width:Wt({size:s,sizes:Zf}),minWidth:Wt({size:s,sizes:Zf})},NG({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":yC(a1({content:'""'},e.fn.cover(Ue(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const zG=$G;var LG=Object.defineProperty,sh=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?LG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wC=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&xC(e,n,t[n]);if(sh)for(var n of sh(t))Ej.call(t,n)&&xC(e,n,t[n]);return e},SC=(e,t)=>{var n={};for(var r in e)Ij.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&sh)for(var r of sh(e))t.indexOf(r)<0&&Ej.call(e,r)&&(n[r]=e[r]);return n};function BG(e){var t=e,{size:n,color:r}=t,o=SC(t,["size","color"]);const s=o,{style:a}=s,c=SC(s,["style"]);return F.createElement("svg",wC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:wC({width:n},a)},c),F.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var FG=Object.defineProperty,ah=Object.getOwnPropertySymbols,Oj=Object.prototype.hasOwnProperty,Rj=Object.prototype.propertyIsEnumerable,CC=(e,t,n)=>t in e?FG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kC=(e,t)=>{for(var n in t||(t={}))Oj.call(t,n)&&CC(e,n,t[n]);if(ah)for(var n of ah(t))Rj.call(t,n)&&CC(e,n,t[n]);return e},_C=(e,t)=>{var n={};for(var r in e)Oj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ah)for(var r of ah(e))t.indexOf(r)<0&&Rj.call(e,r)&&(n[r]=e[r]);return n};function HG(e){var t=e,{size:n,color:r}=t,o=_C(t,["size","color"]);const s=o,{style:a}=s,c=_C(s,["style"]);return F.createElement("svg",kC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:kC({width:n,height:n},a)},c),F.createElement("g",{fill:"none",fillRule:"evenodd"},F.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},F.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),F.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},F.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var WG=Object.defineProperty,ih=Object.getOwnPropertySymbols,Mj=Object.prototype.hasOwnProperty,Dj=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?WG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jC=(e,t)=>{for(var n in t||(t={}))Mj.call(t,n)&&PC(e,n,t[n]);if(ih)for(var n of ih(t))Dj.call(t,n)&&PC(e,n,t[n]);return e},IC=(e,t)=>{var n={};for(var r in e)Mj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ih)for(var r of ih(e))t.indexOf(r)<0&&Dj.call(e,r)&&(n[r]=e[r]);return n};function VG(e){var t=e,{size:n,color:r}=t,o=IC(t,["size","color"]);const s=o,{style:a}=s,c=IC(s,["style"]);return F.createElement("svg",jC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:jC({width:n},a)},c),F.createElement("circle",{cx:"15",cy:"15",r:"15"},F.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},F.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("circle",{cx:"105",cy:"15",r:"15"},F.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var UG=Object.defineProperty,lh=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Aj=Object.prototype.propertyIsEnumerable,EC=(e,t,n)=>t in e?UG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GG=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&EC(e,n,t[n]);if(lh)for(var n of lh(t))Aj.call(t,n)&&EC(e,n,t[n]);return e},qG=(e,t)=>{var n={};for(var r in e)Tj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lh)for(var r of lh(e))t.indexOf(r)<0&&Aj.call(e,r)&&(n[r]=e[r]);return n};const U0={bars:BG,oval:HG,dots:VG},KG={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},YG={size:"md"};function Nj(e){const t=wr("Loader",YG,e),{size:n,color:r,variant:o}=t,s=qG(t,["size","color","variant"]),a=Fa(),c=o in U0?o:a.loader;return F.createElement(Po,GG({role:"presentation",component:U0[c]||U0.bars,size:Wt({size:n,sizes:KG}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}Nj.displayName="@mantine/core/Loader";var QG=Object.defineProperty,ch=Object.getOwnPropertySymbols,$j=Object.prototype.hasOwnProperty,zj=Object.prototype.propertyIsEnumerable,OC=(e,t,n)=>t in e?QG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RC=(e,t)=>{for(var n in t||(t={}))$j.call(t,n)&&OC(e,n,t[n]);if(ch)for(var n of ch(t))zj.call(t,n)&&OC(e,n,t[n]);return e},XG=(e,t)=>{var n={};for(var r in e)$j.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ch)for(var r of ch(e))t.indexOf(r)<0&&zj.call(e,r)&&(n[r]=e[r]);return n};const JG={color:"gray",size:"md",variant:"subtle"},Lj=f.forwardRef((e,t)=>{const n=wr("ActionIcon",JG,e),{className:r,color:o,children:s,radius:a,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=XG(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=zG({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),I=F.createElement(Nj,RC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return F.createElement(EG,RC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?I:s)});Lj.displayName="@mantine/core/ActionIcon";const ZG=Lj;var eq=Object.defineProperty,tq=Object.defineProperties,nq=Object.getOwnPropertyDescriptors,uh=Object.getOwnPropertySymbols,Bj=Object.prototype.hasOwnProperty,Fj=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rq=(e,t)=>{for(var n in t||(t={}))Bj.call(t,n)&&MC(e,n,t[n]);if(uh)for(var n of uh(t))Fj.call(t,n)&&MC(e,n,t[n]);return e},oq=(e,t)=>tq(e,nq(t)),sq=(e,t)=>{var n={};for(var r in e)Bj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uh)for(var r of uh(e))t.indexOf(r)<0&&Fj.call(e,r)&&(n[r]=e[r]);return n};function Hj(e){const t=wr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=sq(t,["children","target","className","innerRef"]),c=Fa(),[d,p]=f.useState(!1),h=f.useRef();return mj(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?_i.createPortal(F.createElement("div",oq(rq({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}Hj.displayName="@mantine/core/Portal";var aq=Object.defineProperty,dh=Object.getOwnPropertySymbols,Wj=Object.prototype.hasOwnProperty,Vj=Object.prototype.propertyIsEnumerable,DC=(e,t,n)=>t in e?aq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iq=(e,t)=>{for(var n in t||(t={}))Wj.call(t,n)&&DC(e,n,t[n]);if(dh)for(var n of dh(t))Vj.call(t,n)&&DC(e,n,t[n]);return e},lq=(e,t)=>{var n={};for(var r in e)Wj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&dh)for(var r of dh(e))t.indexOf(r)<0&&Vj.call(e,r)&&(n[r]=e[r]);return n};function Uj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=lq(t,["withinPortal","children"]);return n?F.createElement(Hj,iq({},o),r):F.createElement(F.Fragment,null,r)}Uj.displayName="@mantine/core/OptionalPortal";var cq=Object.defineProperty,fh=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,TC=(e,t,n)=>t in e?cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AC=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&TC(e,n,t[n]);if(fh)for(var n of fh(t))qj.call(t,n)&&TC(e,n,t[n]);return e},uq=(e,t)=>{var n={};for(var r in e)Gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fh)for(var r of fh(e))t.indexOf(r)<0&&qj.call(e,r)&&(n[r]=e[r]);return n};function Kj(e){const t=e,{width:n,height:r,style:o}=t,s=uq(t,["width","height","style"]);return F.createElement("svg",AC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:AC({width:n,height:r},o)},s),F.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}Kj.displayName="@mantine/core/CloseIcon";var dq=Object.defineProperty,ph=Object.getOwnPropertySymbols,Yj=Object.prototype.hasOwnProperty,Qj=Object.prototype.propertyIsEnumerable,NC=(e,t,n)=>t in e?dq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fq=(e,t)=>{for(var n in t||(t={}))Yj.call(t,n)&&NC(e,n,t[n]);if(ph)for(var n of ph(t))Qj.call(t,n)&&NC(e,n,t[n]);return e},pq=(e,t)=>{var n={};for(var r in e)Yj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ph)for(var r of ph(e))t.indexOf(r)<0&&Qj.call(e,r)&&(n[r]=e[r]);return n};const hq={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},mq={size:"sm"},Xj=f.forwardRef((e,t)=>{const n=wr("CloseButton",mq,e),{iconSize:r,size:o,children:s}=n,a=pq(n,["iconSize","size","children"]),c=Ue(r||hq[o]);return F.createElement(ZG,fq({ref:t,__staticSelector:"CloseButton",size:o},a),s||F.createElement(Kj,{width:c,height:c}))});Xj.displayName="@mantine/core/CloseButton";const Jj=Xj;var gq=Object.defineProperty,vq=Object.defineProperties,bq=Object.getOwnPropertyDescriptors,$C=Object.getOwnPropertySymbols,yq=Object.prototype.hasOwnProperty,xq=Object.prototype.propertyIsEnumerable,zC=(e,t,n)=>t in e?gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ep=(e,t)=>{for(var n in t||(t={}))yq.call(t,n)&&zC(e,n,t[n]);if($C)for(var n of $C(t))xq.call(t,n)&&zC(e,n,t[n]);return e},wq=(e,t)=>vq(e,bq(t));function Sq({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function Cq({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function kq(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function _q({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var Pq=so((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:a,gradient:c,weight:d,transform:p,align:h,strikethrough:m,italic:v},{size:b})=>{const w=e.fn.variant({variant:"gradient",gradient:c});return{root:wq(ep(ep(ep(ep({},e.fn.fontStyles()),e.fn.focusStyles()),kq(n)),_q({theme:e,truncate:r})),{color:Cq({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Wt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:Sq({underline:a,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:w.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const jq=Pq;var Iq=Object.defineProperty,hh=Object.getOwnPropertySymbols,Zj=Object.prototype.hasOwnProperty,eI=Object.prototype.propertyIsEnumerable,LC=(e,t,n)=>t in e?Iq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eq=(e,t)=>{for(var n in t||(t={}))Zj.call(t,n)&&LC(e,n,t[n]);if(hh)for(var n of hh(t))eI.call(t,n)&&LC(e,n,t[n]);return e},Oq=(e,t)=>{var n={};for(var r in e)Zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hh)for(var r of hh(e))t.indexOf(r)<0&&eI.call(e,r)&&(n[r]=e[r]);return n};const Rq={variant:"text"},tI=f.forwardRef((e,t)=>{const n=wr("Text",Rq,e),{className:r,size:o,weight:s,transform:a,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,classNames:_,styles:I,unstyled:P,span:E,__staticSelector:O}=n,R=Oq(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:T}=jq({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,weight:s,transform:a,align:d,gradient:v},{unstyled:P,name:O||"Text",variant:p,size:o});return F.createElement(Po,Eq({ref:t,className:T(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});tI.displayName="@mantine/core/Text";const Sc=tI,tp={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function np(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var Mq=so((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:Ue(1),borderTop:`${Wt({size:n,sizes:tp})} ${r} ${np(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Wt({size:n,sizes:tp})} ${r} ${np(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:Ue(Wt({size:n,sizes:tp})),borderTopColor:np(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Wt({size:n,sizes:tp})),borderLeftColor:np(e,t),borderLeftStyle:r}}));const Dq=Mq;var Tq=Object.defineProperty,Aq=Object.defineProperties,Nq=Object.getOwnPropertyDescriptors,mh=Object.getOwnPropertySymbols,nI=Object.prototype.hasOwnProperty,rI=Object.prototype.propertyIsEnumerable,BC=(e,t,n)=>t in e?Tq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FC=(e,t)=>{for(var n in t||(t={}))nI.call(t,n)&&BC(e,n,t[n]);if(mh)for(var n of mh(t))rI.call(t,n)&&BC(e,n,t[n]);return e},$q=(e,t)=>Aq(e,Nq(t)),zq=(e,t)=>{var n={};for(var r in e)nI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&mh)for(var r of mh(e))t.indexOf(r)<0&&rI.call(e,r)&&(n[r]=e[r]);return n};const Lq={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},i1=f.forwardRef((e,t)=>{const n=wr("Divider",Lq,e),{className:r,color:o,orientation:s,size:a,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=zq(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=Dq({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),k=s==="vertical",_=s==="horizontal",I=!!c&&_,P=!(p!=null&&p.color);return F.createElement(Po,FC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:I},r),role:"separator"},w),I&&F.createElement(Sc,$q(FC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:P})}),c))});i1.displayName="@mantine/core/Divider";var Bq=Object.defineProperty,Fq=Object.defineProperties,Hq=Object.getOwnPropertyDescriptors,HC=Object.getOwnPropertySymbols,Wq=Object.prototype.hasOwnProperty,Vq=Object.prototype.propertyIsEnumerable,WC=(e,t,n)=>t in e?Bq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VC=(e,t)=>{for(var n in t||(t={}))Wq.call(t,n)&&WC(e,n,t[n]);if(HC)for(var n of HC(t))Vq.call(t,n)&&WC(e,n,t[n]);return e},Uq=(e,t)=>Fq(e,Hq(t)),Gq=so((e,t,{size:n})=>({item:Uq(VC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Wt({size:n,sizes:e.spacing})} / 1.5) ${Wt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Wt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":VC({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Wt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Wt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Wt({size:n,sizes:e.spacing})} / 1.5) ${Wt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const qq=Gq;var Kq=Object.defineProperty,UC=Object.getOwnPropertySymbols,Yq=Object.prototype.hasOwnProperty,Qq=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?Kq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xq=(e,t)=>{for(var n in t||(t={}))Yq.call(t,n)&&GC(e,n,t[n]);if(UC)for(var n of UC(t))Qq.call(t,n)&&GC(e,n,t[n]);return e};function py({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:a,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:k}=qq(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),_=[],I=[];let P=null;const E=(R,M)=>{const T=typeof o=="function"?o(R.value):!1;return F.createElement(h,Xq({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&T||void 0,selected:T,onMouseEnter:()=>c(M),id:`${s}-${M}`,role:"option",tabIndex:-1,"aria-selected":t===M,ref:A=>{p&&p.current&&(p.current[R.value]=A)},onMouseDown:R.disabled?null:A=>{A.preventDefault(),d(R)},disabled:R.disabled,variant:S},R))};let O=null;if(e.forEach((R,M)=>{R.creatable?P=M:R.group?(O!==R.group&&(O=R.group,I.push(F.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},F.createElement(i1,{classNames:{label:k.separatorLabel},label:R.group})))),I.push(E(R,M))):_.push(E(R,M))}),b){const R=e[P];_.push(F.createElement("div",{key:dy(),className:k.item,"data-hovered":t===P||void 0,onMouseEnter:()=>c(P),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return I.length>0&&_.length>0&&_.unshift(F.createElement("div",{className:k.separator,key:"empty-group-separator"},F.createElement(i1,null))),I.length>0||_.length>0?F.createElement(F.Fragment,null,I,_):F.createElement(Sc,{size:m,unstyled:y,className:k.nothingFound},v)}py.displayName="@mantine/core/SelectItems";var Jq=Object.defineProperty,gh=Object.getOwnPropertySymbols,oI=Object.prototype.hasOwnProperty,sI=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?Jq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zq=(e,t)=>{for(var n in t||(t={}))oI.call(t,n)&&qC(e,n,t[n]);if(gh)for(var n of gh(t))sI.call(t,n)&&qC(e,n,t[n]);return e},eK=(e,t)=>{var n={};for(var r in e)oI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&gh)for(var r of gh(e))t.indexOf(r)<0&&sI.call(e,r)&&(n[r]=e[r]);return n};const hy=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=eK(n,["label","value"]);return F.createElement("div",Zq({ref:t},s),r||o)});hy.displayName="@mantine/core/DefaultItem";function tK(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function aI(...e){return t=>e.forEach(n=>tK(n,t))}function vl(...e){return f.useCallback(aI(...e),e)}const iI=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(rK);if(s){const a=s.props.children,c=o.map(d=>d===s?f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null:d);return f.createElement(l1,or({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(l1,or({},r,{ref:t}),n)});iI.displayName="Slot";const l1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...oK(r,n.props),ref:aI(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});l1.displayName="SlotClone";const nK=({children:e})=>f.createElement(f.Fragment,null,e);function rK(e){return f.isValidElement(e)&&e.type===nK}function oK(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{s(...c),o(...c)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const sK=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Nd=sK.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?iI:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,or({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),c1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function aK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const $d=e=>{const{present:t,children:n}=e,r=iK(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=vl(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};$d.displayName="Presence";function iK(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=aK(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=rp(r.current);s.current=c==="mounted"?p:"none"},[c]),c1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=rp(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),c1(()=>{if(t){const p=m=>{const b=rp(r.current).includes(m.animationName);m.target===t&&b&&_i.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=rp(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function rp(e){return(e==null?void 0:e.animationName)||"none"}function lK(e,t=[]){let n=[];function r(s,a){const c=f.createContext(a),d=n.length;n=[...n,a];function p(m){const{scope:v,children:b,...w}=m,y=(v==null?void 0:v[e][d])||c,S=f.useMemo(()=>w,Object.values(w));return f.createElement(y.Provider,{value:S},b)}function h(m,v){const b=(v==null?void 0:v[e][d])||c,w=f.useContext(b);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(a=>f.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,cK(o,...t)]}function cK(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Ui(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const uK=f.createContext(void 0);function dK(e){const t=f.useContext(uK);return e||t||"ltr"}function fK(e,[t,n]){return Math.min(n,Math.max(t,e))}function Zi(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function pK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const lI="ScrollArea",[cI,pde]=lK(lI),[hK,ds]=cI(lI),mK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,d]=f.useState(null),[p,h]=f.useState(null),[m,v]=f.useState(null),[b,w]=f.useState(null),[y,S]=f.useState(null),[k,_]=f.useState(0),[I,P]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),T=vl(t,$=>d($)),A=dK(o);return f.createElement(hK,{scope:n,type:r,dir:A,scrollHideDelay:s,scrollArea:c,viewport:p,onViewportChange:h,content:m,onContentChange:v,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:M,onCornerWidthChange:_,onCornerHeightChange:P},f.createElement(Nd.div,or({dir:A},a,{ref:T,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":I+"px",...e.style}})))}),gK="ScrollAreaViewport",vK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=ds(gK,n),a=f.useRef(null),c=vl(t,a,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Nd.div,or({"data-radix-scroll-area-viewport":""},o,{ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Wa="ScrollAreaScrollbar",bK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?f.createElement(yK,or({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(xK,or({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(uI,or({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(my,or({},r,{ref:t})):null}),yK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),[s,a]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),a(!0)},h=()=>{d=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",p),c.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),c.removeEventListener("pointerenter",p),c.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement($d,{present:n||s},f.createElement(uI,or({"data-state":s?"visible":"hidden"},r,{ref:t})))}),xK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),s=e.orientation==="horizontal",a=Tm(()=>d("SCROLL_END"),100),[c,d]=pK("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(c==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[c,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let m=p[h];const v=()=>{const b=p[h];m!==b&&(d("SCROLL"),a()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,a]),f.createElement($d,{present:n||c!=="hidden"},f.createElement(my,or({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Zi(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Zi(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),uI=f.forwardRef((e,t)=>{const n=ds(Wa,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=Tm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=ds(Wa,e.__scopeScrollArea),s=f.useRef(null),a=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=hI(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:v=>a.current=v};function m(v,b){return IK(v,a.current,c,b)}return n==="horizontal"?f.createElement(wK,or({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=KC(v,c,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=m(v,o.dir))}})):n==="vertical"?f.createElement(SK,or({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=KC(v,c);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=m(v))}})):null}),wK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(fI,or({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Dm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),gI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:vh(a.paddingLeft),paddingEnd:vh(a.paddingRight)}})}}))}),SK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(fI,or({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Dm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),gI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:vh(a.paddingTop),paddingEnd:vh(a.paddingBottom)}})}}))}),[CK,dI]=cI(Wa),fI=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=ds(Wa,n),[w,y]=f.useState(null),S=vl(t,T=>y(T)),k=f.useRef(null),_=f.useRef(""),I=b.viewport,P=r.content-r.viewport,E=Ui(h),O=Ui(d),R=Tm(m,10);function M(T){if(k.current){const A=T.clientX-k.current.left,$=T.clientY-k.current.top;p({x:A,y:$})}}return f.useEffect(()=>{const T=A=>{const $=A.target;(w==null?void 0:w.contains($))&&E(A,P)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[I,w,P,E]),f.useEffect(O,[r,O]),Cc(w,R),Cc(b.content,R),f.createElement(CK,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(a),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Nd.div,or({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Zi(e.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(T))}),onPointerMove:Zi(e.onPointerMove,M),onPointerUp:Zi(e.onPointerUp,T=>{const A=T.target;A.hasPointerCapture(T.pointerId)&&A.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),u1="ScrollAreaThumb",kK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=dI(u1,e.__scopeScrollArea);return f.createElement($d,{present:n||o.hasThumb},f.createElement(_K,or({ref:t},r)))}),_K=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=ds(u1,n),a=dI(u1,n),{onThumbPositionChange:c}=a,d=vl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=Tm(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const m=s.viewport;if(m){const v=()=>{if(h(),!p.current){const b=EK(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Nd.div,or({"data-state":a.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Zi(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:Zi(e.onPointerUp,a.onThumbPointerUp)}))}),pI="ScrollAreaCorner",PK=f.forwardRef((e,t)=>{const n=ds(pI,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(jK,or({},e,{ref:t})):null}),jK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=ds(pI,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return Cc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),Cc(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),a(m)}),p?f.createElement(Nd.div,or({},r,{ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function vh(e){return e?parseInt(e,10):0}function hI(e,t){const n=e/t;return isNaN(n)?0:n}function Dm(e){const t=hI(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function IK(e,t,n,r="ltr"){const o=Dm(n),s=o/2,a=t||s,c=o-a,d=n.scrollbar.paddingStart+a,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return mI([d,p],m)(e)}function KC(e,t,n="ltr"){const r=Dm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,a]:[a*-1,0],p=fK(e,d);return mI([0,a],[0,c])(p)}function mI(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function gI(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=n.left!==s.left,c=n.top!==s.top;(a||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Tm(e,t){const n=Ui(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Cc(e,t){const n=Ui(t);c1(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const OK=mK,RK=vK,YC=bK,QC=kK,MK=PK;var DK=so((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?Ue(t):void 0,paddingBottom:n?Ue(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${Ue(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${tC("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:Ue(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:Ue(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:tC("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:Ue(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:Ue(44),minHeight:Ue(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const TK=DK;var AK=Object.defineProperty,NK=Object.defineProperties,$K=Object.getOwnPropertyDescriptors,bh=Object.getOwnPropertySymbols,vI=Object.prototype.hasOwnProperty,bI=Object.prototype.propertyIsEnumerable,XC=(e,t,n)=>t in e?AK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,d1=(e,t)=>{for(var n in t||(t={}))vI.call(t,n)&&XC(e,n,t[n]);if(bh)for(var n of bh(t))bI.call(t,n)&&XC(e,n,t[n]);return e},yI=(e,t)=>NK(e,$K(t)),xI=(e,t)=>{var n={};for(var r in e)vI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bh)for(var r of bh(e))t.indexOf(r)<0&&bI.call(e,r)&&(n[r]=e[r]);return n};const wI={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Am=f.forwardRef((e,t)=>{const n=wr("ScrollArea",wI,e),{children:r,className:o,classNames:s,styles:a,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,k=xI(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,I]=f.useState(!1),P=Fa(),{classes:E,cx:O}=TK({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return F.createElement(OK,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||P.dir,ref:t,asChild:!0},F.createElement(Po,d1({className:O(E.root,o)},k),F.createElement(RK,yI(d1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),F.createElement(YC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},F.createElement(QC,{className:E.thumb})),F.createElement(YC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},F.createElement(QC,{className:E.thumb})),F.createElement(MK,{className:E.corner})))}),SI=f.forwardRef((e,t)=>{const n=wr("ScrollAreaAutosize",wI,e),{children:r,classNames:o,styles:s,scrollbarSize:a,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,k=xI(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return F.createElement(Po,yI(d1({},k),{ref:t,sx:[{display:"flex"},...cj(w)]}),F.createElement(Po,{sx:{display:"flex",flexDirection:"column",flex:1}},F.createElement(Am,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:a,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});SI.displayName="@mantine/core/ScrollAreaAutosize";Am.displayName="@mantine/core/ScrollArea";Am.Autosize=SI;const CI=Am;var zK=Object.defineProperty,LK=Object.defineProperties,BK=Object.getOwnPropertyDescriptors,yh=Object.getOwnPropertySymbols,kI=Object.prototype.hasOwnProperty,_I=Object.prototype.propertyIsEnumerable,JC=(e,t,n)=>t in e?zK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ZC=(e,t)=>{for(var n in t||(t={}))kI.call(t,n)&&JC(e,n,t[n]);if(yh)for(var n of yh(t))_I.call(t,n)&&JC(e,n,t[n]);return e},FK=(e,t)=>LK(e,BK(t)),HK=(e,t)=>{var n={};for(var r in e)kI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yh)for(var r of yh(e))t.indexOf(r)<0&&_I.call(e,r)&&(n[r]=e[r]);return n};const Nm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=HK(n,["style"]);return F.createElement(CI,FK(ZC({},o),{style:ZC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Nm.displayName="@mantine/core/SelectScrollArea";var WK=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const VK=WK;function Hc(e){return e.split("-")[1]}function gy(e){return e==="y"?"height":"width"}function js(e){return e.split("-")[0]}function Ei(e){return["top","bottom"].includes(js(e))?"x":"y"}function e4(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,a=r.y+r.height/2-o.height/2,c=Ei(t),d=gy(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(js(t)){case"top":m={x:s,y:r.y-o.height};break;case"bottom":m={x:s,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-o.width,y:a};break;default:m={x:r.x,y:r.y}}switch(Hc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const UK=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let p=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:m}=e4(p,r,d),v=r,b={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c}=t,{element:d,padding:p=0}=Aa(e,t)||{};if(d==null)return{};const h=vy(p),m={x:n,y:r},v=Ei(o),b=gy(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",I=s.reference[b]+s.reference[v]-m[v]-s.floating[b],P=m[v]-s.reference[v],E=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let O=E?E[_]:0;O&&await(a.isElement==null?void 0:a.isElement(E))||(O=c.floating[_]||s.floating[b]);const R=I/2-P/2,M=O/2-w[b]/2-1,T=gi(h[S],M),A=gi(h[k],M),$=T,Q=O-w[b]-A,B=O/2-w[b]/2+R,V=f1($,B,Q),q=Hc(o)!=null&&B!=V&&s.reference[b]/2-(B<$?T:A)-w[b]/2<0?B<$?$-B:Q-B:0;return{[v]:m[v]-q,data:{[v]:V,centerOffset:B-V+q}}}}),GK=["top","right","bottom","left"];GK.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const qK={left:"right",right:"left",bottom:"top",top:"bottom"};function xh(e){return e.replace(/left|right|bottom|top/g,t=>qK[t])}function KK(e,t,n){n===void 0&&(n=!1);const r=Hc(e),o=Ei(e),s=gy(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=xh(a)),{main:a,cross:xh(a)}}const YK={start:"end",end:"start"};function G0(e){return e.replace(/start|end/g,t=>YK[t])}const QK=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Aa(e,t),S=js(r),k=js(a)===a,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),I=m||(k||!w?[xh(a)]:function($){const Q=xh($);return[G0($),Q,G0(Q)]}(a));m||b==="none"||I.push(...function($,Q,B,V){const q=Hc($);let G=function(D,z,H){const Y=["left","right"],ie=["right","left"],ye=["top","bottom"],Z=["bottom","top"];switch(D){case"top":case"bottom":return H?z?ie:Y:z?Y:ie;case"left":case"right":return z?ye:Z;default:return[]}}(js($),B==="start",V);return q&&(G=G.map(D=>D+"-"+q),Q&&(G=G.concat(G.map(G0)))),G}(a,w,b,_));const P=[a,...I],E=await by(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:$,cross:Q}=KK(r,s,_);O.push(E[$],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every($=>$<=0)){var M,T;const $=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=P[$];if(Q)return{data:{index:$,overflows:R},reset:{placement:Q}};let B=(T=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:T.placement;if(!B)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,D)=>G+D,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(B=V);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function n4(e){const t=gi(...e.map(r=>r.left)),n=gi(...e.map(r=>r.top));return{x:t,y:n,width:Ks(...e.map(r=>r.right))-t,height:Ks(...e.map(r=>r.bottom))-n}}const XK=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:a}=t,{padding:c=2,x:d,y:p}=Aa(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((I,P)=>I.y-P.y),k=[];let _=null;for(let I=0;I_.height/2?k.push([P]):k[k.length-1].push(P),_=P}return k.map(I=>kc(n4(I)))}(h),v=kc(n4(h)),b=vy(c),w=await s.getElementRects({reference:{getBoundingClientRect:function(){if(m.length===2&&m[0].left>m[1].right&&d!=null&&p!=null)return m.find(y=>d>y.left-b.left&&dy.top-b.top&&p=2){if(Ei(n)==="x"){const E=m[0],O=m[m.length-1],R=js(n)==="top",M=E.top,T=O.bottom,A=R?E.left:O.left,$=R?E.right:O.right;return{top:M,bottom:T,left:A,right:$,width:$-A,height:T-M,x:A,y:M}}const y=js(n)==="left",S=Ks(...m.map(E=>E.right)),k=gi(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),I=_[0].top,P=_[_.length-1].bottom;return{top:I,bottom:P,left:k,right:S,width:S-k,height:P-I,x:k,y:I}}return v}},floating:r.floating,strategy:a});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},JK=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,a){const{placement:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=js(c),v=Hc(c),b=Ei(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Aa(a,s);let{mainAxis:k,crossAxis:_,alignmentAxis:I}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof I=="number"&&(_=v==="end"?-1*I:I),b?{x:_*y,y:k*w}:{x:k*w,y:_*y}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function PI(e){return e==="x"?"y":"x"}const ZK=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:S=>{let{x:k,y:_}=S;return{x:k,y:_}}},...d}=Aa(e,t),p={x:n,y:r},h=await by(t,d),m=Ei(js(o)),v=PI(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=f1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=f1(w+h[v==="y"?"top":"left"],w,w-h[S])}const y=c.fn({...t,[m]:b,[v]:w});return{...y,data:{x:y.x-n,y:y.y-r}}}}},eY=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Aa(e,t),h={x:n,y:r},m=Ei(o),v=PI(m);let b=h[m],w=h[v];const y=Aa(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const I=m==="y"?"height":"width",P=s.reference[m]-s.floating[I]+S.mainAxis,E=s.reference[m]+s.reference[I]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const I=m==="y"?"width":"height",P=["top","left"].includes(js(o)),E=s.reference[v]-s.floating[I]+(P&&((k=a.offset)==null?void 0:k[v])||0)+(P?0:S.crossAxis),O=s.reference[v]+s.reference[I]+(P?0:((_=a.offset)==null?void 0:_[v])||0)-(P?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},tY=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:a=()=>{},...c}=Aa(e,t),d=await by(t,c),p=js(n),h=Hc(n),m=Ei(n)==="x",{width:v,height:b}=r.floating;let w,y;p==="top"||p==="bottom"?(w=p,y=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,w=h==="end"?"top":"bottom");const S=b-d[w],k=v-d[y],_=!t.middlewareData.shift;let I=S,P=k;if(m){const O=v-d.left-d.right;P=h||_?gi(k,O):O}else{const O=b-d.top-d.bottom;I=h||_?gi(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),T=Ks(d.bottom,0);m?P=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):I=b-2*(M!==0||T!==0?M+T:Ks(d.top,d.bottom))}await a({...t,availableWidth:P,availableHeight:I});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function $o(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function sa(e){return $o(e).getComputedStyle(e)}function jI(e){return e instanceof $o(e).Node}function vi(e){return jI(e)?(e.nodeName||"").toLowerCase():"#document"}function Ms(e){return e instanceof HTMLElement||e instanceof $o(e).HTMLElement}function r4(e){return typeof ShadowRoot<"u"&&(e instanceof $o(e).ShadowRoot||e instanceof ShadowRoot)}function od(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=sa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function nY(e){return["table","td","th"].includes(vi(e))}function p1(e){const t=yy(),n=sa(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function yy(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function $m(e){return["html","body","#document"].includes(vi(e))}const h1=Math.min,dc=Math.max,wh=Math.round,op=Math.floor,bi=e=>({x:e,y:e});function II(e){const t=sa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Ms(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=wh(n)!==s||wh(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function _a(e){return e instanceof Element||e instanceof $o(e).Element}function xy(e){return _a(e)?e:e.contextElement}function fc(e){const t=xy(e);if(!Ms(t))return bi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=II(t);let a=(s?wh(n.width):n.width)/r,c=(s?wh(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const rY=bi(0);function EI(e){const t=$o(e);return yy()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:rY}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=xy(e);let a=bi(1);t&&(r?_a(r)&&(a=fc(r)):a=fc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==$o(v))&&b}(s,n,r)?EI(s):bi(0);let d=(o.left+c.x)/a.x,p=(o.top+c.y)/a.y,h=o.width/a.x,m=o.height/a.y;if(s){const v=$o(s),b=r&&_a(r)?$o(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=fc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,I=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=I,w=$o(w).frameElement}}return kc({width:h,height:m,x:d,y:p})}function zm(e){return _a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pa(e){var t;return(t=(jI(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function OI(e){return cl(Pa(e)).left+zm(e).scrollLeft}function _c(e){if(vi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||r4(e)&&e.host||Pa(e);return r4(t)?t.host:t}function RI(e){const t=_c(e);return $m(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ms(t)&&od(t)?t:RI(t)}function Sh(e,t){var n;t===void 0&&(t=[]);const r=RI(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=$o(r);return o?t.concat(s,s.visualViewport||[],od(r)?r:[]):t.concat(r,Sh(r))}function o4(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=$o(o),c=Pa(o),d=a.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=yy();(!b||b&&s==="fixed")&&(m=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:m,y:v}}(e,n);else if(t==="document")r=function(o){const s=Pa(o),a=zm(o),c=o.ownerDocument.body,d=dc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=dc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+OI(o);const m=-a.scrollTop;return sa(c).direction==="rtl"&&(h+=dc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(Pa(e));else if(_a(t))r=function(o,s){const a=cl(o,!0,s==="fixed"),c=a.top+o.clientTop,d=a.left+o.clientLeft,p=Ms(o)?fc(o):bi(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:c*p.y}}(t,n);else{const o=EI(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return kc(r)}function MI(e,t){const n=_c(e);return!(n===t||!_a(n)||$m(n))&&(sa(n).position==="fixed"||MI(n,t))}function oY(e,t,n){const r=Ms(t),o=Pa(t),s=n==="fixed",a=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=bi(0);if(r||!r&&!s)if((vi(t)!=="body"||od(o))&&(c=zm(t)),Ms(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=OI(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function s4(e,t){return Ms(e)&&sa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function a4(e,t){const n=$o(e);if(!Ms(e))return n;let r=s4(e,t);for(;r&&nY(r)&&sa(r).position==="static";)r=s4(r,t);return r&&(vi(r)==="html"||vi(r)==="body"&&sa(r).position==="static"&&!p1(r))?n:r||function(o){let s=_c(o);for(;Ms(s)&&!$m(s);){if(p1(s))return s;s=_c(s)}return null}(e)||n}const sY={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Ms(n),s=Pa(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=bi(1);const d=bi(0);if((o||!o&&r!=="fixed")&&((vi(n)!=="body"||od(s))&&(a=zm(n)),Ms(n))){const p=cl(n);c=fc(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+d.x,y:t.y*c.y-a.scrollTop*c.y+d.y}},getDocumentElement:Pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let m=Sh(d).filter(y=>_a(y)&&vi(y)!=="body"),v=null;const b=sa(d).position==="fixed";let w=b?_c(d):d;for(;_a(w)&&!$m(w);){const y=sa(w),S=p1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||od(w)&&!S&&MI(d,w))?m=m.filter(k=>k!==w):v=y,w=_c(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=o4(t,p,o);return d.top=dc(h.top,d.top),d.right=h1(h.right,d.right),d.bottom=h1(h.bottom,d.bottom),d.left=dc(h.left,d.left),d},o4(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:a4,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||a4,s=this.getDimensions;return{reference:oY(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return II(e)},getScale:fc,isElement:_a,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function aY(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=xy(e),h=o||s?[...p?Sh(p):[],...Sh(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,I=null;const P=Pa(S);function E(){clearTimeout(_),I&&I.disconnect(),I=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:T,top:A,width:$,height:Q}=S.getBoundingClientRect();if(R||k(),!$||!Q)return;const B={rootMargin:-op(A)+"px "+-op(P.clientWidth-(T+$))+"px "+-op(P.clientHeight-(A+Q))+"px "+-op(T)+"px",threshold:dc(0,h1(1,M))||1};let V=!0;function q(G){const D=G[0].intersectionRatio;if(D!==M){if(!V)return O();D?O(!1,D):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{I=new IntersectionObserver(q,{...B,root:P.ownerDocument})}catch{I=new IntersectionObserver(q,B)}I.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;a&&(w=new ResizeObserver(S=>{let[k]=S;k&&k.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{w&&w.observe(t)})),n()}),p&&!d&&w.observe(p),w.observe(t));let y=d?cl(e):null;return d&&function S(){const k=cl(e);!y||k.x===y.x&&k.y===y.y&&k.width===y.width&&k.height===y.height||n(),y=k,v=requestAnimationFrame(S)}(),n(),()=>{h.forEach(S=>{o&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(v)}}const iY=(e,t,n)=>{const r=new Map,o={platform:sY,...n},s={...o.platform,_c:r};return UK(e,t,{...o,platform:s})},lY=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?t4({element:t.current,padding:n}).fn(o):{}:t?t4({element:t,padding:n}).fn(o):{}}}};var jp=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ch(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Ch(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!Ch(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function i4(e){const t=f.useRef(e);return jp(()=>{t.current=e}),t}function cY(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:a}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);Ch(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=i4(s),y=i4(o),[S,k]=f.useState(null),[_,I]=f.useState(null),P=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,I(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),iY(m.current,v.current,A).then($=>{const Q={...$,isPositioned:!0};R.current&&!Ch(b.current,Q)&&(b.current=Q,_i.flushSync(()=>{d(Q)}))})},[p,t,n,y]);jp(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[a]);const R=f.useRef(!1);jp(()=>(R.current=!0,()=>{R.current=!1}),[]),jp(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:P,setFloating:E}),[P,E]),T=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:T,reference:P,floating:E}),[c,O,M,T,P,E])}var uY=typeof document<"u"?f.useLayoutEffect:f.useEffect;function dY(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const fY=f.createContext(null),pY=()=>f.useContext(fY);function hY(e){return(e==null?void 0:e.ownerDocument)||document}function mY(e){return hY(e).defaultView||window}function sp(e){return e?e instanceof mY(e).Element:!1}const gY=N1["useInsertionEffect".toString()],vY=gY||(e=>e());function bY(e){const t=f.useRef(()=>{});return vY(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;odY())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=sp(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(sp(k)||k===null)&&(a.current=k,h(k)),(sp(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!sp(k))&&o.refs.setReference(k)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:a}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=bY(n),S=f.useMemo(()=>({...o,refs:b,elements:w,dataRef:c,nodeId:r,events:d,open:t,onOpenChange:y}),[o,r,d,t,y,b,w]);return uY(()=>{const k=s==null?void 0:s.nodesRef.current.find(_=>_.id===r);k&&(k.context=S)}),f.useMemo(()=>({...o,context:S,refs:b,reference:v,positionReference:m}),[o,b,S,v,m])}function xY({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return aY(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),Ps(()=>{t.update()},r),Ps(()=>{s(a=>a+1)},[e])}function wY(e){const t=[JK(e.offset)];return e.middlewares.shift&&t.push(ZK({limiter:eY()})),e.middlewares.flip&&t.push(QK()),e.middlewares.inline&&t.push(XK()),t.push(lY({element:e.arrowRef,padding:e.arrowOffset})),t}function SY(e){const[t,n]=rd({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var a;(a=e.onClose)==null||a.call(e),n(!1)},o=()=>{var a,c;t?((a=e.onClose)==null||a.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=yY({placement:e.position,middleware:[...wY(e),...e.width==="target"?[tY({apply({rects:a}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${a.reference.width}px`})}})]:[]]});return xY({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),Ps(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),Ps(()=>{var a,c;e.opened?(c=e.onOpen)==null||c.call(e):(a=e.onClose)==null||a.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const DI={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[CY,TI]=uU(DI.context);var kY=Object.defineProperty,_Y=Object.defineProperties,PY=Object.getOwnPropertyDescriptors,kh=Object.getOwnPropertySymbols,AI=Object.prototype.hasOwnProperty,NI=Object.prototype.propertyIsEnumerable,l4=(e,t,n)=>t in e?kY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))AI.call(t,n)&&l4(e,n,t[n]);if(kh)for(var n of kh(t))NI.call(t,n)&&l4(e,n,t[n]);return e},jY=(e,t)=>_Y(e,PY(t)),IY=(e,t)=>{var n={};for(var r in e)AI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&kh)for(var r of kh(e))t.indexOf(r)<0&&NI.call(e,r)&&(n[r]=e[r]);return n};const EY={refProp:"ref",popupType:"dialog"},$I=f.forwardRef((e,t)=>{const n=wr("PopoverTarget",EY,e),{children:r,refProp:o,popupType:s}=n,a=IY(n,["children","refProp","popupType"]);if(!dj(r))throw new Error(DI.children);const c=a,d=TI(),p=Ad(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,ap(jY(ap(ap(ap({},c),h),d.targetProps),{className:pj(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});$I.displayName="@mantine/core/PopoverTarget";var OY=so((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const RY=OY;var MY=Object.defineProperty,c4=Object.getOwnPropertySymbols,DY=Object.prototype.hasOwnProperty,TY=Object.prototype.propertyIsEnumerable,u4=(e,t,n)=>t in e?MY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bl=(e,t)=>{for(var n in t||(t={}))DY.call(t,n)&&u4(e,n,t[n]);if(c4)for(var n of c4(t))TY.call(t,n)&&u4(e,n,t[n]);return e};const d4={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function AY({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Jf?Bl(Bl(Bl({transitionProperty:Jf[e].transitionProperty},o),Jf[e].common),Jf[e][d4[t]]):null:Bl(Bl(Bl({transitionProperty:e.transitionProperty},o),e.common),e[d4[t]])}function NY({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Fa(),p=xj(),h=d.respectReducedMotion?p:!1,[m,v]=f.useState(h?0:e),[b,w]=f.useState(r?"entered":"exited"),y=f.useRef(-1),S=k=>{const _=k?o:s,I=k?a:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const P=h?0:k?e:t;if(v(P),P===0)typeof _=="function"&&_(),typeof I=="function"&&I(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof I=="function"&&I(),w(k?"entered":"exited")},P)}};return Ps(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function zI({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=NY({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?F.createElement(F.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:F.createElement(F.Fragment,null,s(AY({transition:t,duration:m,state:v,timingFunction:b})))}zI.displayName="@mantine/core/Transition";function LI({children:e,active:t=!0,refProp:n="ref"}){const r=VU(t),o=Ad(r,e==null?void 0:e.ref);return dj(e)?f.cloneElement(e,{[n]:o}):e}LI.displayName="@mantine/core/FocusTrap";var $Y=Object.defineProperty,zY=Object.defineProperties,LY=Object.getOwnPropertyDescriptors,f4=Object.getOwnPropertySymbols,BY=Object.prototype.hasOwnProperty,FY=Object.prototype.propertyIsEnumerable,p4=(e,t,n)=>t in e?$Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Za=(e,t)=>{for(var n in t||(t={}))BY.call(t,n)&&p4(e,n,t[n]);if(f4)for(var n of f4(t))FY.call(t,n)&&p4(e,n,t[n]);return e},ip=(e,t)=>zY(e,LY(t));function h4(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function m4(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const HY={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function WY({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:a,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[HY[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?ip(Za(Za({},h),h4(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?ip(Za(Za({},h),h4(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?ip(Za(Za({},h),m4(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?ip(Za(Za({},h),m4(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var VY=Object.defineProperty,UY=Object.defineProperties,GY=Object.getOwnPropertyDescriptors,_h=Object.getOwnPropertySymbols,BI=Object.prototype.hasOwnProperty,FI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?VY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qY=(e,t)=>{for(var n in t||(t={}))BI.call(t,n)&&g4(e,n,t[n]);if(_h)for(var n of _h(t))FI.call(t,n)&&g4(e,n,t[n]);return e},KY=(e,t)=>UY(e,GY(t)),YY=(e,t)=>{var n={};for(var r in e)BI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_h)for(var r of _h(e))t.indexOf(r)<0&&FI.call(e,r)&&(n[r]=e[r]);return n};const HI=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=YY(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Fa();return d?F.createElement("div",KY(qY({},m),{ref:t,style:WY({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});HI.displayName="@mantine/core/FloatingArrow";var QY=Object.defineProperty,XY=Object.defineProperties,JY=Object.getOwnPropertyDescriptors,Ph=Object.getOwnPropertySymbols,WI=Object.prototype.hasOwnProperty,VI=Object.prototype.propertyIsEnumerable,v4=(e,t,n)=>t in e?QY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fl=(e,t)=>{for(var n in t||(t={}))WI.call(t,n)&&v4(e,n,t[n]);if(Ph)for(var n of Ph(t))VI.call(t,n)&&v4(e,n,t[n]);return e},lp=(e,t)=>XY(e,JY(t)),ZY=(e,t)=>{var n={};for(var r in e)WI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ph)for(var r of Ph(e))t.indexOf(r)<0&&VI.call(e,r)&&(n[r]=e[r]);return n};const eQ={};function UI(e){var t;const n=wr("PopoverDropdown",eQ,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=ZY(n,["style","className","children","onKeyDownCapture"]),d=TI(),{classes:p,cx:h}=RY({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=$U({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:F.createElement(Uj,lp(Fl({},d.portalProps),{withinPortal:d.withinPortal}),F.createElement(zI,lp(Fl({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var w,y;return F.createElement(LI,{active:d.trapFocus},F.createElement(Po,Fl(lp(Fl({},v),{tabIndex:-1,ref:d.floating,style:lp(Fl(Fl({},r),b),{zIndex:d.zIndex,top:(w=d.y)!=null?w:0,left:(y=d.x)!=null?y:0,width:d.width==="target"?void 0:Ue(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:fU(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,F.createElement(HI,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}UI.displayName="@mantine/core/PopoverDropdown";function tQ(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var b4=Object.getOwnPropertySymbols,nQ=Object.prototype.hasOwnProperty,rQ=Object.prototype.propertyIsEnumerable,oQ=(e,t)=>{var n={};for(var r in e)nQ.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&b4)for(var r of b4(e))t.indexOf(r)<0&&rQ.call(e,r)&&(n[r]=e[r]);return n};const sQ={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:uy("popover"),__staticSelector:"Popover",width:"max-content"};function Wc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=wr("Popover",sQ,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:I,arrowOffset:P,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:T,closeOnClickOutside:A,withinPortal:$,portalProps:Q,closeOnEscape:B,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:D,onChange:z,zIndex:H,radius:Y,shadow:ie,id:ye,defaultOpened:Z,__staticSelector:se,withRoles:K,disabled:U,returnFocus:ae,variant:re,keepMounted:oe}=d,pe=oQ(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[ce,ge]=f.useState(null),[_e,le]=f.useState(null),Se=fy(ye),Fe=Fa(),Ae=SY({middlewares:k,width:S,position:tQ(Fe.dir,h),offset:typeof m=="number"?m+(_?I/2:0):m,arrowRef:c,arrowOffset:P,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:Z,onChange:z,onOpen:D,onClose:G});DU(()=>Ae.opened&&A&&Ae.onClose(),V,[ce,_e]);const He=f.useCallback(ct=>{ge(ct),Ae.floating.reference(ct)},[Ae.floating.reference]),Ct=f.useCallback(ct=>{le(ct),Ae.floating.floating(ct)},[Ae.floating.floating]);return F.createElement(CY,{value:{returnFocus:ae,disabled:U,controlled:Ae.controlled,reference:He,floating:Ct,x:Ae.floating.x,y:Ae.floating.y,arrowX:(r=(n=(t=Ae.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Ae.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Ae.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:I,arrowOffset:P,arrowRadius:E,arrowPosition:O,placement:Ae.floating.placement,trapFocus:q,withinPortal:$,portalProps:Q,zIndex:H,radius:Y,shadow:ie,closeOnEscape:B,onClose:Ae.onClose,onToggle:Ae.onToggle,getTargetId:()=>`${Se}-target`,getDropdownId:()=>`${Se}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:se,classNames:M,styles:T,unstyled:R,variant:re,keepMounted:oe}},p)}Wc.Target=$I;Wc.Dropdown=UI;Wc.displayName="@mantine/core/Popover";var aQ=Object.defineProperty,jh=Object.getOwnPropertySymbols,GI=Object.prototype.hasOwnProperty,qI=Object.prototype.propertyIsEnumerable,y4=(e,t,n)=>t in e?aQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iQ=(e,t)=>{for(var n in t||(t={}))GI.call(t,n)&&y4(e,n,t[n]);if(jh)for(var n of jh(t))qI.call(t,n)&&y4(e,n,t[n]);return e},lQ=(e,t)=>{var n={};for(var r in e)GI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&jh)for(var r of jh(e))t.indexOf(r)<0&&qI.call(e,r)&&(n[r]=e[r]);return n};function cQ(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:a,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=lQ(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=VK(null,{name:d,styles:p,classNames:h,unstyled:m});return F.createElement(Wc.Dropdown,iQ({p:0,onMouseDown:w=>w.preventDefault()},v),F.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},F.createElement(Po,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Nm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},F.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function hi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:a,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return F.createElement(Wc,{unstyled:w,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:m,zIndex:p,__staticSelector:a,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:y,onPositionChange:k=>d&&(c==null?void 0:c(k==="top"?"column-reverse":"column")),variant:S},s)}hi.Target=Wc.Target;hi.Dropdown=cQ;var uQ=Object.defineProperty,dQ=Object.defineProperties,fQ=Object.getOwnPropertyDescriptors,Ih=Object.getOwnPropertySymbols,KI=Object.prototype.hasOwnProperty,YI=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?uQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cp=(e,t)=>{for(var n in t||(t={}))KI.call(t,n)&&x4(e,n,t[n]);if(Ih)for(var n of Ih(t))YI.call(t,n)&&x4(e,n,t[n]);return e},pQ=(e,t)=>dQ(e,fQ(t)),hQ=(e,t)=>{var n={};for(var r in e)KI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ih)for(var r of Ih(e))t.indexOf(r)<0&&YI.call(e,r)&&(n[r]=e[r]);return n};function QI(e,t,n){const r=wr(e,t,n),{label:o,description:s,error:a,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:k,id:_,size:I,style:P,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,T=hQ(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=fy(_),{systemStyles:$,rest:Q}=Mm(T),B=cp({label:o,description:s,error:a,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:A,size:I,style:P,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return pQ(cp({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:cp(cp({},B),$),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:I,__staticSelector:v,error:a,variant:M}})}var mQ=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Wt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const gQ=mQ;var vQ=Object.defineProperty,Eh=Object.getOwnPropertySymbols,XI=Object.prototype.hasOwnProperty,JI=Object.prototype.propertyIsEnumerable,w4=(e,t,n)=>t in e?vQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bQ=(e,t)=>{for(var n in t||(t={}))XI.call(t,n)&&w4(e,n,t[n]);if(Eh)for(var n of Eh(t))JI.call(t,n)&&w4(e,n,t[n]);return e},yQ=(e,t)=>{var n={};for(var r in e)XI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Eh)for(var r of Eh(e))t.indexOf(r)<0&&JI.call(e,r)&&(n[r]=e[r]);return n};const xQ={labelElement:"label",size:"sm"},wy=f.forwardRef((e,t)=>{const n=wr("InputLabel",xQ,e),{labelElement:r,children:o,required:s,size:a,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=yQ(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=gQ(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return F.createElement(Po,bQ({component:r,ref:t,className:k(S.label,h),htmlFor:r==="label"?m:void 0,onMouseDown:_=>{w==null||w(_),!_.defaultPrevented&&_.detail>1&&_.preventDefault()}},y),o,s&&F.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});wy.displayName="@mantine/core/InputLabel";var wQ=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Wt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const SQ=wQ;var CQ=Object.defineProperty,Oh=Object.getOwnPropertySymbols,ZI=Object.prototype.hasOwnProperty,eE=Object.prototype.propertyIsEnumerable,S4=(e,t,n)=>t in e?CQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kQ=(e,t)=>{for(var n in t||(t={}))ZI.call(t,n)&&S4(e,n,t[n]);if(Oh)for(var n of Oh(t))eE.call(t,n)&&S4(e,n,t[n]);return e},_Q=(e,t)=>{var n={};for(var r in e)ZI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Oh)for(var r of Oh(e))t.indexOf(r)<0&&eE.call(e,r)&&(n[r]=e[r]);return n};const PQ={size:"sm"},Sy=f.forwardRef((e,t)=>{const n=wr("InputError",PQ,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=_Q(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=SQ(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return F.createElement(Sc,kQ({className:b(v.error,o),ref:t},m),r)});Sy.displayName="@mantine/core/InputError";var jQ=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Wt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const IQ=jQ;var EQ=Object.defineProperty,Rh=Object.getOwnPropertySymbols,tE=Object.prototype.hasOwnProperty,nE=Object.prototype.propertyIsEnumerable,C4=(e,t,n)=>t in e?EQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OQ=(e,t)=>{for(var n in t||(t={}))tE.call(t,n)&&C4(e,n,t[n]);if(Rh)for(var n of Rh(t))nE.call(t,n)&&C4(e,n,t[n]);return e},RQ=(e,t)=>{var n={};for(var r in e)tE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&nE.call(e,r)&&(n[r]=e[r]);return n};const MQ={size:"sm"},Cy=f.forwardRef((e,t)=>{const n=wr("InputDescription",MQ,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=RQ(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=IQ(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return F.createElement(Sc,OQ({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});Cy.displayName="@mantine/core/InputDescription";const rE=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),DQ=rE.Provider,TQ=()=>f.useContext(rE);function AQ(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var NQ=Object.defineProperty,$Q=Object.defineProperties,zQ=Object.getOwnPropertyDescriptors,k4=Object.getOwnPropertySymbols,LQ=Object.prototype.hasOwnProperty,BQ=Object.prototype.propertyIsEnumerable,_4=(e,t,n)=>t in e?NQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FQ=(e,t)=>{for(var n in t||(t={}))LQ.call(t,n)&&_4(e,n,t[n]);if(k4)for(var n of k4(t))BQ.call(t,n)&&_4(e,n,t[n]);return e},HQ=(e,t)=>$Q(e,zQ(t)),WQ=so(e=>({root:HQ(FQ({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const VQ=WQ;var UQ=Object.defineProperty,GQ=Object.defineProperties,qQ=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,oE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,P4=(e,t,n)=>t in e?UQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ei=(e,t)=>{for(var n in t||(t={}))oE.call(t,n)&&P4(e,n,t[n]);if(Mh)for(var n of Mh(t))sE.call(t,n)&&P4(e,n,t[n]);return e},j4=(e,t)=>GQ(e,qQ(t)),KQ=(e,t)=>{var n={};for(var r in e)oE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mh)for(var r of Mh(e))t.indexOf(r)<0&&sE.call(e,r)&&(n[r]=e[r]);return n};const YQ={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},aE=f.forwardRef((e,t)=>{const n=wr("InputWrapper",YQ,e),{className:r,label:o,children:s,required:a,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:k,__staticSelector:_,unstyled:I,inputWrapperOrder:P,withAsterisk:E,variant:O}=n,R=KQ(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:T}=VQ(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:I,variant:O,size:S}),A={classNames:w,styles:y,unstyled:I,size:S,variant:O,__staticSelector:_},$=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,B=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?B:""}`,G=q.trim().length>0?q.trim():void 0,D=o&&F.createElement(wy,ei(ei({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:$},A),m),o),z=p&&F.createElement(Cy,j4(ei(ei({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||B}),p),H=F.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&F.createElement(Sy,j4(ei(ei({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ie=P.map(ye=>{switch(ye){case"label":return D;case"input":return H;case"description":return z;case"error":return Y;default:return null}});return F.createElement(DQ,{value:ei({describedBy:G},AQ(P,{hasDescription:!!z,hasError:!!Y}))},F.createElement(Po,ei({className:T(M.root,r),ref:t},R),ie))});aE.displayName="@mantine/core/InputWrapper";var QQ=Object.defineProperty,Dh=Object.getOwnPropertySymbols,iE=Object.prototype.hasOwnProperty,lE=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?QQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XQ=(e,t)=>{for(var n in t||(t={}))iE.call(t,n)&&I4(e,n,t[n]);if(Dh)for(var n of Dh(t))lE.call(t,n)&&I4(e,n,t[n]);return e},JQ=(e,t)=>{var n={};for(var r in e)iE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dh)for(var r of Dh(e))t.indexOf(r)<0&&lE.call(e,r)&&(n[r]=e[r]);return n};const ZQ={},cE=f.forwardRef((e,t)=>{const n=wr("InputPlaceholder",ZQ,e),{sx:r}=n,o=JQ(n,["sx"]);return F.createElement(Po,XQ({component:"span",sx:[s=>s.fn.placeholderStyles(),...cj(r)],ref:t},o))});cE.displayName="@mantine/core/InputPlaceholder";var eX=Object.defineProperty,tX=Object.defineProperties,nX=Object.getOwnPropertyDescriptors,E4=Object.getOwnPropertySymbols,rX=Object.prototype.hasOwnProperty,oX=Object.prototype.propertyIsEnumerable,O4=(e,t,n)=>t in e?eX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,up=(e,t)=>{for(var n in t||(t={}))rX.call(t,n)&&O4(e,n,t[n]);if(E4)for(var n of E4(t))oX.call(t,n)&&O4(e,n,t[n]);return e},q0=(e,t)=>tX(e,nX(t));const Qo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},sX=["default","filled","unstyled"];function aX({theme:e,variant:t}){return sX.includes(t)?t==="default"?{border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${Ue(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:Ue(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var iX=so((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:a,offsetBottom:c,offsetTop:d,pointer:p},{variant:h,size:m})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Wt({size:m,sizes:Qo}),paddingLeft:`calc(${Wt({size:m,sizes:Qo})} / 3)`,paddingRight:s?o||Wt({size:m,sizes:Qo}):`calc(${Wt({size:m,sizes:Qo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Wt({size:m,sizes:Qo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:c?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:q0(up(up(q0(up({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Wt({size:m,sizes:Qo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Wt({size:m,sizes:Qo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Wt({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),aX({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof a=="number"?Ue(a):Wt({size:m,sizes:Qo})},"&::placeholder":q0(up({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:a?Ue(a):Wt({size:m,sizes:Qo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Wt({size:m,sizes:Qo})}}});const lX=iX;var cX=Object.defineProperty,uX=Object.defineProperties,dX=Object.getOwnPropertyDescriptors,Th=Object.getOwnPropertySymbols,uE=Object.prototype.hasOwnProperty,dE=Object.prototype.propertyIsEnumerable,R4=(e,t,n)=>t in e?cX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dp=(e,t)=>{for(var n in t||(t={}))uE.call(t,n)&&R4(e,n,t[n]);if(Th)for(var n of Th(t))dE.call(t,n)&&R4(e,n,t[n]);return e},M4=(e,t)=>uX(e,dX(t)),fX=(e,t)=>{var n={};for(var r in e)uE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Th)for(var r of Th(e))t.indexOf(r)<0&&dE.call(e,r)&&(n[r]=e[r]);return n};const pX={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=wr("Input",pX,e),{className:r,error:o,required:s,disabled:a,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:k,styles:_,__staticSelector:I,multiline:P,sx:E,unstyled:O,pointer:R}=n,M=fX(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:T,offsetTop:A,describedBy:$}=TQ(),{classes:Q,cx:B}=lX({radius:w,multiline:P,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:T,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",I],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=Mm(M);return F.createElement(Po,dp(dp({className:B(Q.wrapper,r),sx:E,style:p},V),S),d&&F.createElement("div",{className:Q.icon},d),F.createElement(Po,M4(dp({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":$,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&F.createElement("div",M4(dp({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=aE;bl.Label=wy;bl.Description=Cy;bl.Error=Sy;bl.Placeholder=cE;const Pc=bl;var hX=Object.defineProperty,Ah=Object.getOwnPropertySymbols,fE=Object.prototype.hasOwnProperty,pE=Object.prototype.propertyIsEnumerable,D4=(e,t,n)=>t in e?hX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T4=(e,t)=>{for(var n in t||(t={}))fE.call(t,n)&&D4(e,n,t[n]);if(Ah)for(var n of Ah(t))pE.call(t,n)&&D4(e,n,t[n]);return e},mX=(e,t)=>{var n={};for(var r in e)fE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ah)for(var r of Ah(e))t.indexOf(r)<0&&pE.call(e,r)&&(n[r]=e[r]);return n};const gX={multiple:!1},hE=f.forwardRef((e,t)=>{const n=wr("FileButton",gX,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=mX(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),w=f.useRef(),y=()=>{!h&&w.current.click()},S=_=>{r(s?Array.from(_.currentTarget.files):_.currentTarget.files[0]||null)};return yj(p,()=>{w.current.value=""}),F.createElement(F.Fragment,null,o(T4({onClick:y},b)),F.createElement("input",T4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Ad(t,w),name:c,form:d,capture:m},v)))});hE.displayName="@mantine/core/FileButton";const mE={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},vX={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var bX=so((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Wt({size:o,sizes:mE}),paddingLeft:`calc(${Wt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Wt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Wt({size:o,sizes:vX}),borderRadius:Wt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${Ue(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Wt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const yX=bX;var xX=Object.defineProperty,Nh=Object.getOwnPropertySymbols,gE=Object.prototype.hasOwnProperty,vE=Object.prototype.propertyIsEnumerable,A4=(e,t,n)=>t in e?xX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wX=(e,t)=>{for(var n in t||(t={}))gE.call(t,n)&&A4(e,n,t[n]);if(Nh)for(var n of Nh(t))vE.call(t,n)&&A4(e,n,t[n]);return e},SX=(e,t)=>{var n={};for(var r in e)gE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Nh)for(var r of Nh(e))t.indexOf(r)<0&&vE.call(e,r)&&(n[r]=e[r]);return n};const CX={xs:16,sm:22,md:24,lg:26,xl:30};function bE(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:a,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=SX(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=yX({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return F.createElement("div",wX({className:y(w.defaultValue,s)},b),F.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&F.createElement(Jj,{"aria-hidden":!0,onMouseDown:a,size:CX[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}bE.displayName="@mantine/core/MultiSelect/DefaultValue";function kX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:a}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const c=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&c.push(e[d]),!(c.length>=n));d+=1);return c}var _X=Object.defineProperty,$h=Object.getOwnPropertySymbols,yE=Object.prototype.hasOwnProperty,xE=Object.prototype.propertyIsEnumerable,N4=(e,t,n)=>t in e?_X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$4=(e,t)=>{for(var n in t||(t={}))yE.call(t,n)&&N4(e,n,t[n]);if($h)for(var n of $h(t))xE.call(t,n)&&N4(e,n,t[n]);return e},PX=(e,t)=>{var n={};for(var r in e)yE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$h)for(var r of $h(e))t.indexOf(r)<0&&xE.call(e,r)&&(n[r]=e[r]);return n};const jX={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function IX(e){var t=e,{size:n,error:r,style:o}=t,s=PX(t,["size","error","style"]);const a=Fa(),c=Wt({size:n,sizes:jX});return F.createElement("svg",$4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:$4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),F.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var EX=Object.defineProperty,OX=Object.defineProperties,RX=Object.getOwnPropertyDescriptors,z4=Object.getOwnPropertySymbols,MX=Object.prototype.hasOwnProperty,DX=Object.prototype.propertyIsEnumerable,L4=(e,t,n)=>t in e?EX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TX=(e,t)=>{for(var n in t||(t={}))MX.call(t,n)&&L4(e,n,t[n]);if(z4)for(var n of z4(t))DX.call(t,n)&&L4(e,n,t[n]);return e},AX=(e,t)=>OX(e,RX(t));function wE({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?F.createElement(Jj,AX(TX({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):F.createElement(IX,{error:o,size:r})}wE.displayName="@mantine/core/SelectRightSection";var NX=Object.defineProperty,$X=Object.defineProperties,zX=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,SE=Object.prototype.hasOwnProperty,CE=Object.prototype.propertyIsEnumerable,B4=(e,t,n)=>t in e?NX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,K0=(e,t)=>{for(var n in t||(t={}))SE.call(t,n)&&B4(e,n,t[n]);if(zh)for(var n of zh(t))CE.call(t,n)&&B4(e,n,t[n]);return e},F4=(e,t)=>$X(e,zX(t)),LX=(e,t)=>{var n={};for(var r in e)SE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&zh)for(var r of zh(e))t.indexOf(r)<0&&CE.call(e,r)&&(n[r]=e[r]);return n};function kE(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=LX(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!a.readOnly&&!(a.disabled&&a.shouldClear)&&F.createElement(wE,K0({},a)),styles:F4(K0({},c),{rightSection:F4(K0({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var BX=Object.defineProperty,FX=Object.defineProperties,HX=Object.getOwnPropertyDescriptors,H4=Object.getOwnPropertySymbols,WX=Object.prototype.hasOwnProperty,VX=Object.prototype.propertyIsEnumerable,W4=(e,t,n)=>t in e?BX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UX=(e,t)=>{for(var n in t||(t={}))WX.call(t,n)&&W4(e,n,t[n]);if(H4)for(var n of H4(t))VX.call(t,n)&&W4(e,n,t[n]);return e},GX=(e,t)=>FX(e,HX(t)),qX=so((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Wt({size:n,sizes:Qo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Wt({size:n,sizes:Qo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:GX(UX({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Wt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Wt({size:n,sizes:mE}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const KX=qX;var YX=Object.defineProperty,QX=Object.defineProperties,XX=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,_E=Object.prototype.hasOwnProperty,PE=Object.prototype.propertyIsEnumerable,V4=(e,t,n)=>t in e?YX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))_E.call(t,n)&&V4(e,n,t[n]);if(Lh)for(var n of Lh(t))PE.call(t,n)&&V4(e,n,t[n]);return e},U4=(e,t)=>QX(e,XX(t)),JX=(e,t)=>{var n={};for(var r in e)_E.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Lh)for(var r of Lh(e))t.indexOf(r)<0&&PE.call(e,r)&&(n[r]=e[r]);return n};function ZX(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function eJ(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function G4(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const tJ={size:"sm",valueComponent:bE,itemComponent:hy,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:ZX,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:eJ,switchDirectionOnFlip:!1,zIndex:uy("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},jE=f.forwardRef((e,t)=>{const n=wr("MultiSelect",tJ,e),{className:r,style:o,required:s,label:a,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:k,itemComponent:_,id:I,transitionProps:P,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:T,searchable:A,placeholder:$,filter:Q,limit:B,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:D,onSearchChange:z,searchValue:H,disabled:Y,initiallyOpened:ie,radius:ye,icon:Z,rightSection:se,rightSectionWidth:K,creatable:U,getCreateLabel:ae,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:ce,onDropdownClose:ge,onDropdownOpen:_e,maxSelectedValues:le,withinPortal:Se,portalProps:Fe,switchDirectionOnFlip:Ae,zIndex:He,selectOnBlur:Ct,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:we,form:Re,positionDependencies:Pt,onKeyDown:At,unstyled:xe,inputContainer:ht,inputWrapperOrder:$t,readOnly:zt,withAsterisk:Ne,clearButtonProps:qe,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Je=JX(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Qe,cx:dt,theme:Lt}=KX({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:xe,size:d,variant:D}),{systemStyles:lr,rest:pn}=Mm(Je),ln=f.useRef(),Fr=f.useRef({}),br=fy(I),[Fn,Hn]=f.useState(ie),[Wn,Ar]=f.useState(-1),[Ro,Hr]=f.useState("column"),[Wr,fs]=rd({value:H,defaultValue:"",finalValue:void 0,onChange:z}),[Nr,$s]=f.useState(!1),{scrollIntoView:ps,targetRef:ua,scrollableRef:zs}=wj({duration:0,offset:5,cancelable:!1,isList:!0}),X=U&&typeof ae=="function";let ee=null;const he=y.map($e=>typeof $e=="string"?{label:$e,value:$e}:$e),ke=uj({data:he}),[me,ut]=rd({value:G4(b,y),defaultValue:G4(w,y),finalValue:[],onChange:S}),st=f.useRef(!!le&&le{if(!zt){const yt=me.filter(Mt=>Mt!==$e);ut(yt),le&&yt.length{fs($e.currentTarget.value),!Y&&!st.current&&A&&Hn(!0)},xt=$e=>{typeof M=="function"&&M($e),!Y&&!st.current&&A&&Hn(!0)},Be=kX({data:ke,searchable:A,searchValue:Wr,limit:B,filter:Q,value:me,disableSelectedItemFiltering:Pe});X&&re(Wr,ke)&&(ee=ae(Wr),Be.push({label:Wr,value:Wr,creatable:!0}));const Ce=Math.min(Wn,Be.length-1),Xe=($e,yt,Mt)=>{let Ht=$e;for(;Mt(Ht);)if(Ht=yt(Ht),!Be[Ht].disabled)return Ht;return $e};Ps(()=>{Ar(Pn&&Wr?0:-1)},[Wr,Pn]),Ps(()=>{!Y&&me.length>y.length&&Hn(!1),le&&me.length=le&&(st.current=!0,Hn(!1))},[me]);const jt=$e=>{if(!zt)if(V&&fs(""),me.includes($e.value))Ft($e.value);else{if($e.creatable&&typeof oe=="function"){const yt=oe($e.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,$e.value]);me.length===le-1&&(st.current=!0,Hn(!1)),Be.length===1&&Hn(!1)}},Et=$e=>{typeof T=="function"&&T($e),Ct&&Be[Ce]&&Fn&&jt(Be[Ce]),G&&fs(""),Hn(!1)},Nt=$e=>{if(Nr||(At==null||At($e),zt)||$e.key!=="Backspace"&&le&&st.current)return;const yt=Ro==="column",Mt=()=>{Ar(jn=>{var Ut;const un=Xe(jn,sn=>sn+1,sn=>sn{Ar(jn=>{var Ut;const un=Xe(jn,sn=>sn-1,sn=>sn>0);return Fn&&(ua.current=Fr.current[(Ut=Be[un])==null?void 0:Ut.value],ps({alignment:yt?"start":"end"})),un})};switch($e.key){case"ArrowUp":{$e.preventDefault(),Hn(!0),yt?Ht():Mt();break}case"ArrowDown":{$e.preventDefault(),Hn(!0),yt?Mt():Ht();break}case"Enter":{$e.preventDefault(),Be[Ce]&&Fn?jt(Be[Ce]):Hn(!0);break}case" ":{A||($e.preventDefault(),Be[Ce]&&Fn?jt(Be[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Wr.length===0&&(ut(me.slice(0,-1)),Hn(!0),le&&(st.current=!1));break}case"Home":{if(!A){$e.preventDefault(),Fn||Hn(!0);const jn=Be.findIndex(Ut=>!Ut.disabled);Ar(jn),ps({alignment:yt?"end":"start"})}break}case"End":{if(!A){$e.preventDefault(),Fn||Hn(!0);const jn=Be.map(Ut=>!!Ut.disabled).lastIndexOf(!1);Ar(jn),ps({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},Gt=me.map($e=>{let yt=ke.find(Mt=>Mt.value===$e&&!Mt.disabled);return!yt&&X&&(yt={value:$e,label:$e}),yt}).filter($e=>!!$e).map(($e,yt)=>F.createElement(k,U4(Hl({},$e),{variant:D,disabled:Y,className:Qe.value,readOnly:zt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ft($e.value)},key:$e.value,size:d,styles:m,classNames:h,radius:ye,index:yt}))),Zt=$e=>me.includes($e),Jt=()=>{var $e;fs(""),ut([]),($e=ln.current)==null||$e.focus(),le&&(st.current=!1)},Vt=!zt&&(Be.length>0?Fn:Fn&&!!R);return Ps(()=>{const $e=Vt?_e:ge;typeof $e=="function"&&$e()},[Vt]),F.createElement(Pc.Wrapper,Hl(Hl({required:s,id:br,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:we,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:xe,withAsterisk:Ne,variant:D},lr),v),F.createElement(hi,{opened:Vt,transitionProps:P,shadow:"sm",withinPortal:Se,portalProps:Fe,__staticSelector:"MultiSelect",onDirectionChange:Hr,switchDirectionOnFlip:Ae,zIndex:He,dropdownPosition:on,positionDependencies:[...Pt,Wr],classNames:h,styles:m,unstyled:xe,variant:D},F.createElement(hi.Target,null,F.createElement("div",{className:Qe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Vt?`${br}-items`:null,"aria-controls":br,"aria-expanded":Fn,onMouseLeave:()=>Ar(-1),tabIndex:-1},F.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Re,disabled:Y}),F.createElement(Pc,Hl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:D,disabled:Y,error:p,required:s,radius:ye,icon:Z,unstyled:xe,onMouseDown:$e=>{var yt;$e.preventDefault(),!Y&&!st.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:U4(Hl({},h),{input:dt({[Qe.input]:!A},h==null?void 0:h.input)})},kE({theme:Lt,rightSection:se,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:Jt,error:p,disabled:Y,clearButtonProps:qe,readOnly:zt})),F.createElement("div",{className:Qe.values,"data-clearable":q||void 0},Gt,F.createElement("input",Hl({ref:Ad(t,ln),type:"search",id:br,className:dt(Qe.searchInput,{[Qe.searchInputPointer]:!A,[Qe.searchInputInputHidden]:!Fn&&me.length>0||!A&&me.length>0,[Qe.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Wr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||st.current||zt,placeholder:me.length===0?$:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),F.createElement(hi.Dropdown,{component:ce||Nm,maxHeight:E,direction:Ro,id:br,innerRef:zs,__staticSelector:"MultiSelect",classNames:h,styles:m},F.createElement(py,{data:Be,hovered:Ce,classNames:h,styles:m,uuid:br,__staticSelector:"MultiSelect",onItemHover:Ar,onItemSelect:jt,itemsRefs:Fr,itemComponent:_,size:d,nothingFound:R,isItemSelected:Zt,creatable:U&&!!ee,createLabel:ee,unstyled:xe,variant:D}))))});jE.displayName="@mantine/core/MultiSelect";var nJ=Object.defineProperty,rJ=Object.defineProperties,oJ=Object.getOwnPropertyDescriptors,Bh=Object.getOwnPropertySymbols,IE=Object.prototype.hasOwnProperty,EE=Object.prototype.propertyIsEnumerable,q4=(e,t,n)=>t in e?nJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y0=(e,t)=>{for(var n in t||(t={}))IE.call(t,n)&&q4(e,n,t[n]);if(Bh)for(var n of Bh(t))EE.call(t,n)&&q4(e,n,t[n]);return e},sJ=(e,t)=>rJ(e,oJ(t)),aJ=(e,t)=>{var n={};for(var r in e)IE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bh)for(var r of Bh(e))t.indexOf(r)<0&&EE.call(e,r)&&(n[r]=e[r]);return n};const iJ={type:"text",size:"sm",__staticSelector:"TextInput"},OE=f.forwardRef((e,t)=>{const n=QI("TextInput",iJ,e),{inputProps:r,wrapperProps:o}=n,s=aJ(n,["inputProps","wrapperProps"]);return F.createElement(Pc.Wrapper,Y0({},o),F.createElement(Pc,sJ(Y0(Y0({},r),s),{ref:t})))});OE.displayName="@mantine/core/TextInput";function lJ({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:a}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!a&&(c==null?void 0:c.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(c),h=p+n,m=h-e.length;return m>0?e.slice(p-m):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var cJ=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const uJ=cJ;var dJ=Object.defineProperty,fJ=Object.defineProperties,pJ=Object.getOwnPropertyDescriptors,Fh=Object.getOwnPropertySymbols,RE=Object.prototype.hasOwnProperty,ME=Object.prototype.propertyIsEnumerable,K4=(e,t,n)=>t in e?dJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vu=(e,t)=>{for(var n in t||(t={}))RE.call(t,n)&&K4(e,n,t[n]);if(Fh)for(var n of Fh(t))ME.call(t,n)&&K4(e,n,t[n]);return e},Q0=(e,t)=>fJ(e,pJ(t)),hJ=(e,t)=>{var n={};for(var r in e)RE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fh)for(var r of Fh(e))t.indexOf(r)<0&&ME.call(e,r)&&(n[r]=e[r]);return n};function mJ(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function gJ(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const vJ={required:!1,size:"sm",shadow:"sm",itemComponent:hy,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:mJ,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:gJ,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:uy("popover"),positionDependencies:[],dropdownPosition:"flip"},ky=f.forwardRef((e,t)=>{const n=QI("Select",vJ,e),{inputProps:r,wrapperProps:o,shadow:s,data:a,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:k,styles:_,filter:I,maxDropdownHeight:P,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:T,onSearchChange:A,searchValue:$,rightSection:Q,rightSectionWidth:B,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:D,onCreate:z,dropdownComponent:H,onDropdownClose:Y,onDropdownOpen:ie,withinPortal:ye,portalProps:Z,switchDirectionOnFlip:se,zIndex:K,name:U,dropdownPosition:ae,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:ce,positionDependencies:ge,readOnly:_e,clearButtonProps:le,hoverOnSearchChange:Se}=n,Fe=hJ(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Ae,cx:He,theme:Ct}=uJ(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),we=f.useRef(),Re=f.useRef({}),[Pt,At]=f.useState("column"),xe=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:zt}=wj({duration:0,offset:5,cancelable:!1,isList:!0}),Ne=re===void 0?O:re,qe=ee=>{if(ct!==ee){on(ee);const he=ee?ie:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Je=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Qe=uj({data:Je}),[dt,Lt,lr]=rd({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Qe.find(ee=>ee.value===dt),[ln,Fr]=rd({value:$,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),br=ee=>{Fr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;_e||(Lt(null),lr||br(""),(ee=we.current)==null||ee.focus())};f.useEffect(()=>{const ee=Qe.find(he=>he.value===dt);ee?br(ee.label):(!Pn||!dt)&&br("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&br(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!_e)if(Ne&&(pn==null?void 0:pn.value)===ee.value)Lt(null),qe(!1);else{if(ee.creatable&&typeof z=="function"){const he=z(ee.value);typeof he<"u"&&he!==null&&Lt(typeof he=="string"?he:he.value)}else Lt(ee.value);lr||br(ee.label),bt(-1),qe(!1),we.current.focus()}},Wn=lJ({data:Qe,searchable:E,limit:M,searchValue:ln,filter:I,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Ar=(ee,he,ke)=>{let me=ee;for(;ke(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};Ps(()=>{bt(Se&&ln?0:-1)},[ln,Se]);const Ro=dt?Wn.findIndex(ee=>ee.value===dt):0,Hr=!_e&&(Wn.length>0?ct:ct&&!!R),Wr=()=>{bt(ee=>{var he;const ke=Ar(ee,me=>me-1,me=>me>0);return $t.current=Re.current[(he=Wn[ke])==null?void 0:he.value],Hr&&ht({alignment:xe?"start":"end"}),ke})},fs=()=>{bt(ee=>{var he;const ke=Ar(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Re.current[(ee=Wn[Ro])==null?void 0:ee.value],ht({alignment:xe?"end":"start"})},50);Ps(()=>{Hr&&Nr()},[Hr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?xe?Wr():fs():(bt(Ro),qe(!0),Nr());break}case"ArrowDown":{ee.preventDefault(),ct?xe?fs():Wr():(bt(Ro),qe(!0),Nr());break}case"Home":{if(!E){ee.preventDefault(),ct||qe(!0);const he=Wn.findIndex(ke=>!ke.disabled);bt(he),Hr&&ht({alignment:xe?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||qe(!0);const he=Wn.map(ke=>!!ke.disabled).lastIndexOf(!1);bt(he),Hr&&ht({alignment:xe?"end":"start"})}break}case"Escape":{ee.preventDefault(),qe(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(qe(!0),bt(Ro),Nr()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},ps=ee=>{typeof v=="function"&&v(ee);const he=Qe.find(ke=>ke.value===dt);D&&Wn[vt]&&ct&&Hn(Wn[vt]),br((he==null?void 0:he.label)||""),qe(!1)},ua=ee=>{typeof b=="function"&&b(ee),E&&qe(!0)},zs=ee=>{_e||(br(ee.currentTarget.value),O&&ee.currentTarget.value===""&&Lt(null),bt(-1),qe(!0))},X=()=>{_e||(qe(!ct),dt&&!ct&&bt(Ro))};return F.createElement(Pc.Wrapper,Q0(vu({},o),{__staticSelector:"Select"}),F.createElement(hi,{opened:Hr,transitionProps:w,shadow:s,withinPortal:ye,portalProps:Z,__staticSelector:"Select",onDirectionChange:At,switchDirectionOnFlip:se,zIndex:K,dropdownPosition:ae,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},F.createElement(hi.Target,null,F.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Hr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Hr,onMouseLeave:()=>bt(-1),tabIndex:-1},F.createElement("input",{type:"hidden",name:U,value:dt||"",form:ce,disabled:T}),F.createElement(Pc,vu(Q0(vu(vu({autoComplete:"off",type:"search"},r),Fe),{ref:Ad(t,we),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:zs,"aria-autocomplete":"list","aria-controls":Hr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:X,onBlur:ps,onFocus:ua,readOnly:!E||_e,disabled:T,"data-mantine-stop-propagation":Hr,name:null,classNames:Q0(vu({},k),{input:He({[Ae.input]:!E},k==null?void 0:k.input)})}),kE({theme:Ct,rightSection:Q,rightSectionWidth:B,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:le,disabled:T,readOnly:_e}))))),F.createElement(hi.Dropdown,{component:H||Nm,maxHeight:P,direction:Pt,id:r.id,innerRef:zt,__staticSelector:"Select",classNames:k,styles:_},F.createElement(py,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Re,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});ky.displayName="@mantine/core/Select";const _y=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,k,_,I,P,E,O,R,M,T,A,$,Q,B,V,q,G,D,z,H,Y,ie]=Dc("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:a,base400:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:k,base950:_,accent50:I,accent100:P,accent150:E,accent200:O,accent250:R,accent300:M,accent350:T,accent400:A,accent450:$,accent500:Q,accent550:B,accent600:V,accent650:q,accent700:G,accent750:D,accent800:z,accent850:H,accent900:Y,accent950:ie}},DE=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=_y(),{colorMode:y}=Ds(),[S]=Dc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:ze(c,r)(y)},separatorLabel:{color:ze(s,s)(y),"::after":{borderTopColor:ze(r,c)(y)}},input:{backgroundColor:ze(e,p)(y),borderWidth:"2px",borderColor:ze(n,d)(y),color:ze(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:ze(r,a)(y)},"&:focus":{borderColor:ze(m,w)(y)},"&:is(:focus, :hover)":{borderColor:ze(o,s)(y)},"&:focus-within":{borderColor:ze(h,w)(y)},"&[data-disabled]":{backgroundColor:ze(r,c)(y),color:ze(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:ze(t,p)(y),color:ze(p,t)(y),button:{color:ze(p,t)(y)},"&:hover":{backgroundColor:ze(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:ze(n,d)(y),borderColor:ze(n,d)(y),boxShadow:S},item:{backgroundColor:ze(n,d)(y),color:ze(d,n)(y),padding:6,"&[data-hovered]":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)},"&[data-active]":{backgroundColor:ze(r,c)(y),"&:hover":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)}},"&[data-selected]":{backgroundColor:ze(v,w)(y),color:ze(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:ze(b,b)(y),color:ze("white",e)(y)}},"&[data-disabled]":{color:ze(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:ze(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},bJ=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:a,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(_o(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(_o(!1))},[d]),b=f.useCallback(y=>{h(""),o&&o(y)},[o]),w=DE();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(ky,{ref:r,label:s?i.jsx(ho,{isDisabled:a,children:i.jsx(zo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},sr=f.memo(bJ),TE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(wn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Oe,{ref:s,...o,children:i.jsxs(Oe,{children:[i.jsx(Sc,{children:e}),n&&i.jsx(Sc,{size:"xs",color:"base.600",children:n})]})})}));TE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(TE),yJ=fe([Ye],({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),xJ=()=>{const e=te(),{autoAddBoardId:t}=L(yJ),n=f.useRef(null),{boards:r,hasBoards:o}=Zh(void 0,{selectFromResult:({data:a})=>{const c=[{label:"None",value:"none"}];return a==null||a.forEach(({board_id:d,board_name:p})=>{c.push({label:p,value:d})}),{boards:c,hasBoards:c.length>1}}}),s=f.useCallback(a=>{a&&e(O_(a==="none"?void 0:a))},[e]);return i.jsx(sr,{label:"Auto-Add Board",inputRef:n,autoFocus:!0,placeholder:"Select a Board",value:t,data:r,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!o,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},wJ=fe([Ye],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n}},Ge),SJ=()=>{const e=te(),{t}=be(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r}=L(wJ),o=s=>{e(Op(s))};return i.jsx(gl,{triggerComponent:i.jsx(Le,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:4,children:[i.jsx(_t,{value:n,onChange:o,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:()=>e(Op(64))}),i.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:s=>e(zR(s.target.checked))}),i.jsx(xJ,{})]})})},CJ=e=>e.image?i.jsx(gm,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(W,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(dl,{size:"xl"})}),mi=e=>{const{icon:t=al,boxSize:n=16}=e;return i.jsxs(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(Kr,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(tt,{textAlign:"center",children:e.label})]})},Lm=0,Ri=1,Vc=2,AE=4;function kJ(e,t){return n=>e(t(n))}function _J(e,t){return t(e)}function NE(e,t){return n=>e(t,n)}function Y4(e,t){return()=>e(t)}function Py(e,t){return t(e),e}function yl(...e){return e}function PJ(e){e()}function Q4(e){return()=>e}function jJ(...e){return()=>{e.map(PJ)}}function Bm(){}function po(e,t){return e(Ri,t)}function Mr(e,t){e(Lm,t)}function jy(e){e(Vc)}function Fm(e){return e(AE)}function Un(e,t){return po(e,NE(t,Lm))}function X4(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function xr(){const e=[];return(t,n)=>{switch(t){case Vc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Lm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function qt(e){let t=e;const n=xr();return(r,o)=>{switch(r){case Ri:o(t);break;case Lm:t=o;break;case AE:return t}return n(r,o)}}function IJ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=po(e,s),t):(r(),Bm);case Vc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function $u(e){return Py(xr(),t=>Un(e,t))}function pc(e,t){return Py(qt(t),n=>Un(e,n))}function EJ(...e){return t=>e.reduceRight(_J,t)}function Kt(e,...t){const n=EJ(...t);return(r,o)=>{switch(r){case Ri:return po(e,n(o));case Vc:jy(e);return}}}function $E(e,t){return e===t}function wo(e=$E){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function qr(e){return t=>n=>{e(n)&&t(n)}}function tr(e){return t=>kJ(t,e)}function ai(e){return t=>()=>t(e)}function fp(e,t){return n=>r=>n(t=e(t,r))}function m1(e){return t=>n=>{e>0?e--:t(n)}}function ju(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function J4(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Ys(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);po(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function Z4(...e){return function(t,n){switch(t){case Ri:return jJ(...e.map(r=>po(r,n)));case Vc:return;default:throw new Error(`unrecognized action ${t}`)}}}function xn(e,t=$E){return Kt(e,wo(t))}function wa(...e){const t=xr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);po(s,d=>{n[a]=d,r=r|c,r===o&&Mr(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),po(t,a);case Vc:return jy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ca(e,t=[],{singleton:n}={singleton:!0}){return{id:OJ(),constructor:e,dependencies:t,singleton:n}}const OJ=()=>Symbol();function RJ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function MJ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const I=y[t.methods[k]];Mr(I,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=IJ(y[t.events[k]]),S),{})}return{Component:F.forwardRef((y,S)=>{const{children:k,..._}=y,[I]=F.useState(()=>Py(RJ(e),E=>d(E,_))),[P]=F.useState(Y4(h,I));return pp(()=>{for(const E of a)E in _&&po(P[E],_[E]);return()=>{Object.values(P).map(jy)}},[_,P,I]),pp(()=>{d(I,_)}),F.useImperativeHandle(S,Q4(p(I))),F.createElement(c.Provider,{value:I},n?F.createElement(n,MJ([...r,...o,...a],_),k):k)}),usePublisher:y=>F.useCallback(NE(Mr,F.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=F.useContext(c)[y],[_,I]=F.useState(Y4(Fm,k));return pp(()=>po(k,P=>{P!==_&&I(Q4(P))}),[k,_]),_},useEmitter:(y,S)=>{const _=F.useContext(c)[y];pp(()=>po(_,S),[S,_])}}}const TJ=typeof document<"u"?F.useLayoutEffect:F.useEffect,AJ=TJ;var Iy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Iy||{});const NJ={0:"debug",1:"log",2:"warn",3:"error"},$J=()=>typeof globalThis>"u"?window:globalThis,zE=ca(()=>{const e=qt(3);return{log:qt((n,r,o=1)=>{var s;const a=(s=$J().VIRTUOSO_LOG_LEVEL)!=null?s:Fm(e);o>=a&&console[NJ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function LE(e,t=!0){const n=F.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=F.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function Hm(e,t=!0){return LE(e,t).callbackRef}function Hh(e,t){return Math.round(e.getBoundingClientRect()[t])}function BE(e,t){return Math.abs(e-t)<1.01}function FE(e,t,n,r=Bm,o){const s=F.useRef(null),a=F.useRef(null),c=F.useRef(null),d=F.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():LR.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);F.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(Hh(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=Hh(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),BE(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const Wm=ca(()=>{const e=xr(),t=xr(),n=qt(0),r=xr(),o=qt(0),s=xr(),a=xr(),c=qt(0),d=qt(0),p=qt(0),h=qt(0),m=xr(),v=xr(),b=qt(!1);return Un(Kt(e,tr(({scrollTop:w})=>w)),t),Un(Kt(e,tr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),zJ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function LJ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!zJ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const Wh="up",zu="down",BJ="none",FJ={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},HJ=0,HE=ca(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=qt(!1),c=qt(!0),d=xr(),p=xr(),h=qt(4),m=qt(HJ),v=pc(Kt(Z4(Kt(xn(t),m1(1),ai(!0)),Kt(xn(t),m1(1),ai(!1),J4(100))),wo()),!1),b=pc(Kt(Z4(Kt(s,ai(!0)),Kt(s,ai(!1),J4(200))),wo()),!1);Un(Kt(wa(xn(t),xn(m)),tr(([_,I])=>_<=I),wo()),c),Un(Kt(c,ju(50)),p);const w=$u(Kt(wa(e,xn(n),xn(r),xn(o),xn(h)),fp((_,[{scrollTop:I,scrollHeight:P},E,O,R,M])=>{const T=I+E-P>-M,A={viewportHeight:E,scrollTop:I,scrollHeight:P};if(T){let Q,B;return I>_.state.scrollTop?(Q="SCROLLED_DOWN",B=_.state.scrollTop-I):(Q="SIZE_DECREASED",B=_.state.scrollTop-I||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:B}}let $;return A.scrollHeight>_.state.scrollHeight?$="SIZE_INCREASED":E<_.state.viewportHeight?$="VIEWPORT_HEIGHT_DECREASING":I<_.state.scrollTop?$="SCROLLING_UPWARDS":$="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:$,state:A}},FJ),wo((_,I)=>_&&_.atBottom===I.atBottom))),y=pc(Kt(e,fp((_,{scrollTop:I,scrollHeight:P,viewportHeight:E})=>{if(BE(_.scrollHeight,P))return{scrollTop:I,scrollHeight:P,jump:0,changed:!1};{const O=P-(I+E)<1;return _.scrollTop!==I&&O?{scrollHeight:P,scrollTop:I,jump:_.scrollTop-I,changed:!0}:{scrollHeight:P,scrollTop:I,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),qr(_=>_.changed),tr(_=>_.jump)),0);Un(Kt(w,tr(_=>_.atBottom)),a),Un(Kt(a,ju(50)),d);const S=qt(zu);Un(Kt(e,tr(({scrollTop:_})=>_),wo(),fp((_,I)=>Fm(b)?{direction:_.direction,prevScrollTop:I}:{direction:I<_.prevScrollTop?Wh:zu,prevScrollTop:I},{direction:zu,prevScrollTop:0}),tr(_=>_.direction)),S),Un(Kt(e,ju(50),ai(BJ)),S);const k=qt(0);return Un(Kt(v,qr(_=>!_),ai(0)),k),Un(Kt(t,ju(100),Ys(v),qr(([_,I])=>!!I),fp(([_,I],[P])=>[I,P],[0,0]),tr(([_,I])=>I-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},yl(Wm)),WJ=ca(([{log:e}])=>{const t=qt(!1),n=$u(Kt(t,qr(r=>r),wo()));return po(t,r=>{r&&Fm(e)("props updated",{},Iy.DEBUG)}),{propsReady:t,didMount:n}},yl(zE),{singleton:!0});function WE(e,t){e==0?t():requestAnimationFrame(()=>WE(e-1,t))}function VJ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function g1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function UJ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const Vh="top",Uh="bottom",ek="none";function tk(e,t,n){return typeof e=="number"?n===Wh&&t===Vh||n===zu&&t===Uh?e:0:n===Wh?t===Vh?e.main:e.reverse:t===Uh?e.main:e.reverse}function nk(e,t){return typeof e=="number"?e:e[t]||0}const GJ=ca(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=xr(),a=qt(0),c=qt(0),d=qt(0),p=pc(Kt(wa(xn(e),xn(t),xn(r),xn(s,g1),xn(d),xn(a),xn(o),xn(n),xn(c)),tr(([h,m,v,[b,w],y,S,k,_,I])=>{const P=h-_,E=S+k,O=Math.max(v-P,0);let R=ek;const M=nk(I,Vh),T=nk(I,Uh);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=Wh),wh!=null),wo(g1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},yl(Wm),{singleton:!0}),qJ=ca(([{scrollVelocity:e}])=>{const t=qt(!1),n=xr(),r=qt(!1);return Un(Kt(e,Ys(r,t,n),qr(([o,s])=>!!s),tr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),wo()),t),po(Kt(wa(t,e,n),Ys(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},yl(HE),{singleton:!0});function KJ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const YJ=ca(([{scrollTo:e,scrollContainerState:t}])=>{const n=xr(),r=xr(),o=xr(),s=qt(!1),a=qt(void 0);return Un(Kt(wa(n,r),tr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Kt(e,Ys(r),tr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},yl(Wm)),X0="-webkit-sticky",rk="sticky",VE=KJ(()=>{if(typeof document>"u")return rk;const e=document.createElement("div");return e.style.position=X0,e.style.position===X0?X0:rk});function QJ(e,t){const n=F.useRef(null),r=F.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=LE(r),a=F.useCallback(()=>{r(s.current)},[r,s]);return F.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}F.createContext(void 0);const UE=F.createContext(void 0);function XJ(e){return e}VE();const JJ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},GE={width:"100%",height:"100%",position:"absolute",top:0};VE();function el(e,t){if(typeof e!="string")return{context:t}}function ZJ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return F.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=FE(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),F.createElement(p,{ref:b,style:{...JJ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...el(p,v)},a)})}function eZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return F.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=FE(d,h,p,Bm,b);return AJ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),F.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...el(p,w)},a)})}const ok={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},tZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:sk,ceil:ak,floor:Gh,min:J0,max:Lu}=Math;function nZ(e){return{...tZ,items:e}}function ik(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function rZ(e,t){return e&&e.column===t.column&&e.row===t.row}function hp(e,t){return e&&e.width===t.width&&e.height===t.height}const oZ=ca(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:I},P])=>{const E=qt(0),O=qt(0),R=qt(ok),M=qt({height:0,width:0}),T=qt({height:0,width:0}),A=xr(),$=xr(),Q=qt(0),B=qt(null),V=qt({row:0,column:0}),q=xr(),G=xr(),D=qt(!1),z=qt(0),H=qt(!0),Y=qt(!1);po(Kt(w,Ys(z),qr(([U,ae])=>!!ae)),()=>{Mr(H,!1),Mr(O,0)}),po(Kt(wa(w,H,T,M,z,Y),qr(([U,ae,re,oe,,pe])=>U&&!ae&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Mr(Y,!0),WE(1,()=>{Mr(A,U)}),X4(Kt(r),()=>{Mr(n,[0,0]),Mr(H,!0)})}),Un(Kt(G,qr(U=>U!=null&&U.scrollTop>0),ai(0)),O),po(Kt(w,Ys(G),qr(([,U])=>U!=null)),([,U])=>{U&&(Mr(M,U.viewport),Mr(T,U==null?void 0:U.item),Mr(V,U.gap),U.scrollTop>0&&(Mr(D,!0),X4(Kt(r,m1(1)),ae=>{Mr(D,!1)}),Mr(a,{top:U.scrollTop})))}),Un(Kt(M,tr(({height:U})=>U)),o),Un(Kt(wa(xn(M,hp),xn(T,hp),xn(V,(U,ae)=>U&&U.column===ae.column&&U.row===ae.row),xn(r)),tr(([U,ae,re,oe])=>({viewport:U,item:ae,gap:re,scrollTop:oe}))),q),Un(Kt(wa(xn(E),t,xn(V,rZ),xn(T,hp),xn(M,hp),xn(B),xn(O),xn(D),xn(H),xn(z)),qr(([,,,,,,,U])=>!U),tr(([U,[ae,re],oe,pe,ce,ge,_e,,le,Se])=>{const{row:Fe,column:Ae}=oe,{height:He,width:Ct}=pe,{width:ct}=ce;if(_e===0&&(U===0||ct===0))return ok;if(Ct===0){const $t=VJ(Se,U),zt=$t===0?Math.max(_e-1,0):$t;return nZ(ik($t,zt,ge))}const on=qE(ct,Ct,Ae);let vt,bt;le?ae===0&&re===0&&_e>0?(vt=0,bt=_e-1):(vt=on*Gh((ae+Fe)/(He+Fe)),bt=on*ak((re+Fe)/(He+Fe))-1,bt=J0(U-1,Lu(bt,on-1)),vt=J0(bt,Lu(0,vt))):(vt=0,bt=-1);const we=ik(vt,bt,ge),{top:Re,bottom:Pt}=lk(ce,oe,pe,we),At=ak(U/on),ht=At*He+(At-1)*Fe-Pt;return{items:we,offsetTop:Re,offsetBottom:ht,top:Re,bottom:Pt,itemHeight:He,itemWidth:Ct}})),R),Un(Kt(B,qr(U=>U!==null),tr(U=>U.length)),E),Un(Kt(wa(M,T,R,V),qr(([U,ae,{items:re}])=>re.length>0&&ae.height!==0&&U.height!==0),tr(([U,ae,{items:re},oe])=>{const{top:pe,bottom:ce}=lk(U,oe,ae,re);return[pe,ce]}),wo(g1)),n);const ie=qt(!1);Un(Kt(r,Ys(ie),tr(([U,ae])=>ae||U!==0)),ie);const ye=$u(Kt(xn(R),qr(({items:U})=>U.length>0),Ys(E,ie),qr(([{items:U},ae,re])=>re&&U[U.length-1].index===ae-1),tr(([,U])=>U-1),wo())),Z=$u(Kt(xn(R),qr(({items:U})=>U.length>0&&U[0].index===0),ai(0),wo())),se=$u(Kt(xn(R),Ys(D),qr(([{items:U},ae])=>U.length>0&&!ae),tr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),wo(UJ),ju(0)));Un(se,v.scrollSeekRangeChanged),Un(Kt(A,Ys(M,T,E,V),tr(([U,ae,re,oe,pe])=>{const ce=LJ(U),{align:ge,behavior:_e,offset:le}=ce;let Se=ce.index;Se==="LAST"&&(Se=oe-1),Se=Lu(0,Se,J0(oe-1,Se));let Fe=v1(ae,pe,re,Se);return ge==="end"?Fe=sk(Fe-ae.height+re.height):ge==="center"&&(Fe=sk(Fe-ae.height/2+re.height/2)),le&&(Fe+=le),{top:Fe,behavior:_e}})),a);const K=pc(Kt(R,tr(U=>U.offsetBottom+U.bottom)),0);return Un(Kt(y,tr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:B,totalCount:E,viewportDimensions:M,itemDimensions:T,scrollTop:r,scrollHeight:$,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:I,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:z,gridState:R,totalListHeight:K,...m,startReached:Z,endReached:ye,rangeChanged:se,stateChanged:q,propsReady:b,stateRestoreInProgress:D,...P}},yl(GJ,Wm,HE,qJ,WJ,YJ,zE));function lk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=v1(e,t,n,r[0].index),a=v1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function v1(e,t,n,r){const o=qE(e.width,n.width,t.column),s=Gh(r/o),a=s*n.height+Lu(0,s-1)*t.row;return a>0?a+t.row:a}function qE(e,t,n){return Lu(1,Gh((e+n)/(Gh(t)+n)))}const sZ=ca(()=>{const e=qt(p=>`Item ${p}`),t=qt({}),n=qt(null),r=qt("virtuoso-grid-item"),o=qt("virtuoso-grid-list"),s=qt(XJ),a=qt("div"),c=qt(Bm),d=(p,h=null)=>pc(Kt(t,tr(m=>m[p]),wo()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),aZ=ca(([e,t])=>({...e,...t}),yl(oZ,sZ)),iZ=F.memo(function(){const t=fr("gridState"),n=fr("listClassName"),r=fr("itemClassName"),o=fr("itemContent"),s=fr("computeItemKey"),a=fr("isSeeking"),c=Is("scrollHeight"),d=fr("ItemComponent"),p=fr("ListComponent"),h=fr("ScrollSeekPlaceholder"),m=fr("context"),v=Is("itemDimensions"),b=Is("gap"),w=fr("log"),y=fr("stateRestoreInProgress"),S=Hm(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const I=k.firstChild;if(I){const{width:P,height:E}=I.getBoundingClientRect();v({width:P,height:E})}b({row:ck("row-gap",getComputedStyle(k).rowGap,w),column:ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:F.createElement(p,{ref:S,className:n,...el(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?F.createElement(h,{key:_,...el(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):F.createElement(d,{...el(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),lZ=F.memo(function(){const t=fr("HeaderComponent"),n=Is("headerHeight"),r=fr("headerFooterTag"),o=Hm(a=>n(Hh(a,"height"))),s=fr("context");return t?F.createElement(r,{ref:o},F.createElement(t,el(t,s))):null}),cZ=F.memo(function(){const t=fr("FooterComponent"),n=Is("footerHeight"),r=fr("headerFooterTag"),o=Hm(a=>n(Hh(a,"height"))),s=fr("context");return t?F.createElement(r,{ref:o},F.createElement(t,el(t,s))):null}),uZ=({children:e})=>{const t=F.useContext(UE),n=Is("itemDimensions"),r=Is("viewportDimensions"),o=Hm(s=>{r(s.getBoundingClientRect())});return F.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),F.createElement("div",{style:GE,ref:o},e)},dZ=({children:e})=>{const t=F.useContext(UE),n=Is("windowViewportRect"),r=Is("itemDimensions"),o=fr("customScrollParent"),s=QJ(n,o);return F.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),F.createElement("div",{ref:s,style:GE},e)},fZ=F.memo(function({...t}){const n=fr("useWindowScroll"),r=fr("customScrollParent"),o=r||n?mZ:hZ,s=r||n?dZ:uZ;return F.createElement(o,{...t},F.createElement(s,null,F.createElement(lZ,null),F.createElement(iZ,null),F.createElement(cZ,null)))}),{Component:pZ,usePublisher:Is,useEmitterValue:fr,useEmitter:KE}=DJ(aZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},fZ),hZ=ZJ({usePublisher:Is,useEmitterValue:fr,useEmitter:KE}),mZ=eZ({usePublisher:Is,useEmitterValue:fr,useEmitter:KE});function ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Iy.WARN),t==="normal"?0:parseInt(t??"0",10)}const YE=pZ,gZ=({imageDTO:e})=>i.jsx(W,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(pl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),Vm=({postUploadAction:e,isDisabled:t})=>{const n=L(d=>d.gallery.autoAddBoardId),[r]=j_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=zb({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Ey=()=>{const e=te(),t=Bc(),{t:n}=be(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((P,E)=>{if(If(P)||Ef(E)){If(P)&&e(Ru(P)),Ef(E)&&e(Mu(E)),r();return}o()},[e,r,o]),d=f.useCallback(P=>{if(!If(P)){o();return}e(Ru(P)),r()},[e,r,o]),p=f.useCallback(P=>{if(!Ef(P)){o();return}e(Mu(P)),r()},[e,r,o]),h=f.useCallback(P=>{if(!R2(P)){o();return}e(Rp(P)),r()},[e,r,o]),m=f.useCallback(P=>{if(!M2(P)){o();return}e(Mp(P)),r()},[e,r,o]),v=f.useCallback(P=>{if(!D2(P)){o();return}e(hv(P)),r()},[e,r,o]),b=f.useCallback(P=>{if(!T2(P)){o();return}e(mv(P)),r()},[e,r,o]),w=f.useCallback(P=>{if(!A2(P)){o();return}e(Dp(P)),r()},[e,r,o]),y=f.useCallback(P=>{if(!N2(P)){o();return}e(hc(P)),r()},[e,r,o]),S=f.useCallback(P=>{if(!$2(P)){o();return}e(mc(P)),r()},[e,r,o]),k=f.useCallback(P=>{if(!z2(P)){o();return}e(Tp(P)),r()},[e,r,o]),_=f.useCallback(P=>{e($1(P))},[e]),I=f.useCallback(P=>{if(!P){a();return}const{cfg_scale:E,height:O,model:R,positive_prompt:M,negative_prompt:T,scheduler:A,seed:$,steps:Q,width:B,strength:V}=P;M2(E)&&e(Mp(E)),D2(R)&&e(hv(R)),If(M)&&e(Ru(M)),Ef(T)&&e(Mu(T)),T2(A)&&e(mv(A)),R2($)&&e(Rp($)),A2(Q)&&e(Dp(Q)),N2(B)&&e(hc(B)),$2(O)&&e(mc(O)),z2(V)&&e(Tp(V)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSeed:h,recallCfgScale:m,recallModel:v,recallScheduler:b,recallSteps:w,recallWidth:y,recallHeight:S,recallStrength:k,recallAllParameters:I,sendToImageToImage:_}},ar=e=>{const t=L(a=>a.config.disabledTabs),n=L(a=>a.config.disabledFeatures),r=L(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},Oy=()=>{const e=Bc(),{t}=be(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function vZ(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var T=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,T)},I=function(M,T){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,T)},P=function(M){if(!m.current)return!1;var T=M-o.current;return!o.current||T>=t||T<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var T=Date.now();if(P(T))return E(T);if(m.current){var A=t-(T-o.current),$=y?Math.min(A,S-(T-s.current)):A;I(M,$)}},R=function(){var M=Date.now(),T=P(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,T){if(!a.current&&m.current)return s.current=o.current,I(O,t),b?_(o.current):p.current;if(y)return I(O,t),_(o.current)}return a.current||I(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function bZ(e,t){return e===t}function uk(e){return typeof e=="function"?function(){return e}:e}function Ry(e,t,n){var r,o,s=n&&n.equalityFn||bZ,a=(r=f.useState(uk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(uk(m))},[])]),c=a[0],d=a[1],p=vZ(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}z1("gallery/requestedBoardImagesDeletion");const yZ=z1("gallery/sentImageToCanvas"),QE=z1("gallery/sentImageToImg2Img"),xZ=e=>{const{imageDTO:t}=e,n=f.useMemo(()=>fe([Ye],({gallery:V})=>({isInBatch:V.batchImageNames.includes(t.image_name)}),Ge),[t.image_name]),{isInBatch:r}=L(n),o=te(),{t:s}=be(),a=Bc(),c=ar("unifiedCanvas").isFeatureEnabled,d=ar("batches").isFeatureEnabled,{onClickAddToBoard:p}=f.useContext(T_),[h,m]=Ry(t.image_name,500),{currentData:v}=L1(m.isPending()?oo.skipToken:h??oo.skipToken),{isClipboardAPIAvailable:b,copyImageToClipboard:w}=Oy(),y=v==null?void 0:v.metadata,S=f.useCallback(()=>{t&&o(B1(t))},[o,t]),{recallBothPrompts:k,recallSeed:_,recallAllParameters:I}=Ey(),[P]=BR(),E=f.useCallback(()=>{k(y==null?void 0:y.positive_prompt,y==null?void 0:y.negative_prompt)},[y==null?void 0:y.negative_prompt,y==null?void 0:y.positive_prompt,k]),O=f.useCallback(()=>{_(y==null?void 0:y.seed)},[y==null?void 0:y.seed,_]),R=f.useCallback(()=>{o(QE()),o($1(t))},[o,t]),M=f.useCallback(()=>{o(yZ()),o(FR(t)),o(em()),o(ql("unifiedCanvas")),a({title:s("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[o,t,s,a]),T=f.useCallback(()=>{console.log(y),I(y)},[y,I]),A=f.useCallback(()=>{p(t)},[t,p]),$=f.useCallback(()=>{t.board_id&&P({imageDTO:t})},[t,P]),Q=f.useCallback(()=>{o(HR([t.image_name]))},[o,t.image_name]),B=f.useCallback(()=>{w(t.image_url)},[w,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(kr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(GH,{}),children:s("common.openInNewTab")}),b&&i.jsx(kr,{icon:i.jsx(Fc,{}),onClickCapture:B,children:s("parameters.copyImage")}),i.jsx(kr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(Bb,{}),w:"100%",children:s("parameters.downloadImage")}),i.jsx(kr,{icon:i.jsx(x6,{}),onClickCapture:E,isDisabled:(y==null?void 0:y.positive_prompt)===void 0&&(y==null?void 0:y.negative_prompt)===void 0,children:s("parameters.usePrompt")}),i.jsx(kr,{icon:i.jsx(w6,{}),onClickCapture:O,isDisabled:(y==null?void 0:y.seed)===void 0,children:s("parameters.useSeed")}),i.jsx(kr,{icon:i.jsx(d6,{}),onClickCapture:T,isDisabled:!y,children:s("parameters.useAll")}),i.jsx(kr,{icon:i.jsx(CS,{}),onClickCapture:R,id:"send-to-img2img",children:s("parameters.sendToImg2Img")}),c&&i.jsx(kr,{icon:i.jsx(CS,{}),onClickCapture:M,id:"send-to-canvas",children:s("parameters.sendToUnifiedCanvas")}),d&&i.jsx(kr,{icon:i.jsx(M0,{}),isDisabled:r,onClickCapture:Q,children:"Add to Batch"}),i.jsx(kr,{icon:i.jsx(M0,{}),onClickCapture:A,children:t.board_id?"Change Board":"Add to Board"}),t.board_id&&i.jsx(kr,{icon:i.jsx(M0,{}),onClickCapture:$,children:"Remove from Board"}),i.jsx(kr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClickCapture:S,children:s("gallery.deleteImage")})]})},XE=f.memo(xZ),wZ=({imageDTO:e,children:t})=>{const n=f.useCallback(r=>{r.preventDefault()},[]);return i.jsx(oj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?i.jsx(zc,{sx:{visibility:"visible !important"},motionProps:nm,onContextMenu:n,children:i.jsx(XE,{imageDTO:e})}):null,children:t})},JE=f.memo(wZ),SZ=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(ui()),{attributes:s,listeners:a,setNodeRef:c}=WR({id:o.current,disabled:n,data:t});return i.jsx(Oe,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},CZ=f.memo(SZ),kZ=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:I="Reset",resetIcon:P=i.jsx(Hb,{}),noContentFallback:E=i.jsx(mi,{icon:al}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[T,A]=f.useState(!1),$=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:B,getUploadInputProps:V}=Vm({postUploadAction:m,isDisabled:p}),q=vp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:ze("base.200","base.800")(M),_hover:{bg:ze("base.300","base.650")(M),color:ze("base.500","base.300")(M)}};return i.jsx(JE,{imageDTO:t,children:D=>i.jsxs(W,{ref:D,onMouseOver:$,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(W,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Tc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(CJ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(gZ,{imageDTO:t}),i.jsx(ly,{isSelected:k,isHovered:R?T:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:ze("base.500","base.500")(M),...G},...B(),children:[i.jsx("input",{...V()}),i.jsx(Kr,{as:Md,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(CZ,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(iy,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(Le,{onClick:n,"aria-label":I,tooltip:I,icon:P,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},yi=f.memo(kZ),_Z=()=>i.jsx(Oe,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.100",color:"base.500",_dark:{color:"base.700",bg:"base.850"}},children:i.jsx(Kr,{as:WH,boxSize:16,opacity:.7})})}),ZE=()=>i.jsx(gm,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),PZ=e=>fe([Ye],t=>({selectionCount:t.gallery.selection.length,selection:t.gallery.selection,isSelected:t.gallery.selection.includes(e)}),Ge),jZ=e=>{const t=te(),{imageName:n}=e,{currentData:r,isLoading:o,isError:s}=os(n),a=f.useMemo(()=>PZ(n),[n]),{isSelected:c,selectionCount:d,selection:p}=L(a),h=f.useCallback(()=>{t(VR([n]))},[t,n]),m=f.useMemo(()=>{if(d>1)return{id:"batch",payloadType:"IMAGE_NAMES",payload:{image_names:p}};if(r)return{id:"batch",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,p,d]);return o?i.jsx(ZE,{}):s||!r?i.jsx(_Z,{}):i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(JE,{imageDTO:r,children:v=>i.jsx(Oe,{position:"relative",userSelect:"none",ref:v,sx:{display:"flex",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{imageDTO:r,draggableData:m,isSelected:c,minSize:0,onClickReset:h,isDropDisabled:!0,imageSx:{w:"full",h:"full"},isUploadDisabled:!0,resetTooltip:"Remove from batch",withResetIcon:!0,thumbnail:!0})},n)})})},IZ=f.memo(jZ),eO=Te((e,t)=>i.jsx(Oe,{className:"item-container",ref:t,p:1.5,children:e.children})),tO=Te((e,t)=>{const n=L(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(rl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),EZ=fe([Ye],e=>({imageNames:e.gallery.batchImageNames}),Ge),OZ=()=>{const{t:e}=be(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=sy({defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}}),{imageNames:a}=L(EZ);return f.useEffect(()=>{const{current:c}=t;return n&&c&&o({target:c,elements:{viewport:n}}),()=>{var d;return(d=s())==null?void 0:d.destroy()}},[n,o,s]),a.length?i.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(YE,{style:{height:"100%"},data:a,components:{Item:eO,List:tO},scrollerRef:r,itemContent:(c,d)=>i.jsx(IZ,{imageName:d},d)})}):i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:al})},RZ=f.memo(OZ),MZ=e=>{const t=L(s=>s.gallery.galleryView),{data:n}=UR(e),{data:r}=GR(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},DZ=e=>fe([Ye],({gallery:t})=>({isSelected:t.selection.includes(e),selectionCount:t.selection.length,selection:t.selection}),Ge),TZ=e=>{const t=te(),{imageName:n}=e,{currentData:r}=os(n),o=f.useMemo(()=>DZ(n),[n]),{isSelected:s,selectionCount:a,selection:c}=L(o),d=f.useCallback(()=>{t(gv(n))},[t,n]),p=f.useCallback(m=>{m.stopPropagation(),r&&t(B1(r))},[t,r]),h=f.useMemo(()=>{if(a>1)return{id:"gallery-image",payloadType:"IMAGE_NAMES",payload:{image_names:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,a]);return r?i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(W,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{onClick:d,imageDTO:r,draggableData:h,isSelected:s,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0})})}):i.jsx(ZE,{})},AZ=f.memo(TZ),NZ={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},$Z=()=>{const{t:e}=be(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=sy(NZ),a=L(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=MZ(a),d=L(A_),{currentData:p,isFetching:h,isSuccess:m,isError:v}=qR(d),[b]=N_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:$_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:al})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(YE,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:eO,List:tO},scrollerRef:r,itemContent:(S,k)=>i.jsx(AZ,{imageName:k},k)})}),i.jsx(rn,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Oe,{sx:{w:"full",h:"full"},children:i.jsx(mi,{label:"Unable to load Gallery",icon:h6})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:"Loading...",icon:al})})},zZ=f.memo($Z),LZ=fe([Ye],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{selectedBoardId:t,galleryView:n}},Ge),BZ=()=>{const e=f.useRef(null),t=f.useRef(null),{selectedBoardId:n,galleryView:r}=L(LZ),o=te(),{isOpen:s,onToggle:a}=ss(),c=f.useCallback(()=>{o(L2("images"))},[o]),d=f.useCallback(()=>{o(L2("assets"))},[o]);return i.jsxs(VP,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Oe,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(rU,{isOpen:s,onToggle:a}),i.jsx(SJ,{}),i.jsx(sU,{})]}),i.jsx(Oe,{children:i.jsx(eU,{isOpen:s})})]}),i.jsxs(W,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(W,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx(Ed,{index:r==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(Od,{children:i.jsxs(nr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(wc,{as:rn,size:"sm",isChecked:r==="images",onClick:c,sx:{w:"full"},leftIcon:i.jsx(XH,{}),children:"Images"}),i.jsx(wc,{as:rn,size:"sm",isChecked:r==="assets",onClick:d,sx:{w:"full"},leftIcon:i.jsx(lW,{}),children:"Assets"})]})})})}),n==="batch"?i.jsx(RZ,{}):i.jsx(zZ,{})]})]})},nO=f.memo(BZ),FZ=fe([Kn,La,KR,ir],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Xt}}),HZ=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=L(FZ),o=()=>{e(vv(!1)),t&&e(So())};nt("esc",()=>{e(vv(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return nt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Op(a))}},[r]),nt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Op(a))}},[r]),t?null:i.jsx(i6,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(nO,{})})},WZ=f.memo(HZ),VZ=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(wn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(ho,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(zo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Nb,{...c})]})})},Pr=f.memo(VZ),UZ=fe([Ye,YR],({system:e,config:t,imageDeletion:n},r)=>{const{shouldConfirmOnDelete:o}=e,{canRestoreDeletedImagesFromBin:s}=t,{imageToDelete:a,isModalOpen:c}=n;return{shouldConfirmOnDelete:o,canRestoreDeletedImagesFromBin:s,imageToDelete:a,imageUsage:r,isModalOpen:c}},Ge),GZ=()=>{const e=te(),{t}=be(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imageToDelete:o,imageUsage:s,isModalOpen:a}=L(UZ),c=f.useCallback(m=>e(z_(!m.target.checked)),[e]),d=f.useCallback(()=>{e(B2()),e(QR(!1))},[e]),p=f.useCallback(()=>{!o||!s||(e(B2()),e(XR({imageDTO:o,imageUsage:s})))},[e,o,s]),h=f.useRef(null);return i.jsx(Pd,{isOpen:a,onClose:d,leastDestructiveRef:h,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Da,{children:i.jsxs(W,{direction:"column",gap:3,children:[i.jsx(ej,{imageUsage:s}),i.jsx(hl,{}),i.jsx(tt,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(tt,{children:t("common.areYouSure")}),i.jsx(Pr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:c})]})}),i.jsxs(Oa,{children:[i.jsx(rn,{ref:h,onClick:d,children:"Cancel"}),i.jsx(rn,{colorScheme:"error",onClick:p,ml:3,children:"Delete"})]})]})})})},qZ=f.memo(GZ);function KZ(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(rl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(rl,{children:[i.jsx(tt,{fontWeight:600,children:t}),r&&i.jsx(tt,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Oe,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function YZ({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=be(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(W,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(W,{flexDir:"column",px:2,gap:4,children:[i.jsx(KZ,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=JR(),n=f.useRef(null),r=rO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Tc,{src:M_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(W,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(tt,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(Fo,{children:e&&r&&t&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(tt,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},nee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=DE();return i.jsx(wn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(ky,{label:r?i.jsx(ho,{isRequired:s,isDisabled:o,children:i.jsx(zo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Yr=f.memo(nee);function Yo(e){const{t}=be(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(W,{justifyContent:"space-between",py:1,children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(tt,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(pl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(Pr,{...c})]})}const Gl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function ree(){const e=te(),{data:t,refetch:n}=ZR(),[r,{isLoading:o}]=eM(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(tM()),e(F1()),e(Dn({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:"Clear Intermediates"}),i.jsx(rn,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(tt,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(tt,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(tt,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const oee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=_y(),{colorMode:y}=Ds(),[S]=Dc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:ze(c,r)(y)},separatorLabel:{color:ze(s,s)(y),"::after":{borderTopColor:ze(r,c)(y)}},searchInput:{":placeholder":{color:ze(r,c)(y)}},input:{backgroundColor:ze(e,p)(y),borderWidth:"2px",borderColor:ze(n,d)(y),color:ze(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:ze(r,a)(y)},"&:focus":{borderColor:ze(m,w)(y)},"&:is(:focus, :hover)":{borderColor:ze(o,s)(y)},"&:focus-within":{borderColor:ze(h,w)(y)},"&[data-disabled]":{backgroundColor:ze(r,c)(y),color:ze(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:ze(n,d)(y),color:ze(p,t)(y),button:{color:ze(p,t)(y)},"&:hover":{backgroundColor:ze(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:ze(n,d)(y),borderColor:ze(n,d)(y),boxShadow:S},item:{backgroundColor:ze(n,d)(y),color:ze(d,n)(y),padding:6,"&[data-hovered]":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)},"&[data-active]":{backgroundColor:ze(r,c)(y),"&:hover":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)}},"&[data-selected]":{backgroundColor:ze(v,w)(y),color:ze(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:ze(b,b)(y),color:ze("white",e)(y)}},"&[data-disabled]":{color:ze(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:ze(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},see=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(_o(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(_o(!1))},[c]),h=oee();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(jE,{label:o?i.jsx(ho,{isDisabled:s,children:i.jsx(zo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},aee=f.memo(see),iee=cs(H1,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function lee(){const e=te(),{t}=be(),n=L(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(nM(o))},[e]);return i.jsx(aee,{label:t("settings.favoriteSchedulers"),value:n,data:iee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const cee={ar:Ln.t("common.langArabic",{lng:"ar"}),nl:Ln.t("common.langDutch",{lng:"nl"}),en:Ln.t("common.langEnglish",{lng:"en"}),fr:Ln.t("common.langFrench",{lng:"fr"}),de:Ln.t("common.langGerman",{lng:"de"}),he:Ln.t("common.langHebrew",{lng:"he"}),it:Ln.t("common.langItalian",{lng:"it"}),ja:Ln.t("common.langJapanese",{lng:"ja"}),ko:Ln.t("common.langKorean",{lng:"ko"}),pl:Ln.t("common.langPolish",{lng:"pl"}),pt_BR:Ln.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Ln.t("common.langPortuguese",{lng:"pt"}),ru:Ln.t("common.langRussian",{lng:"ru"}),zh_CN:Ln.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Ln.t("common.langSpanish",{lng:"es"}),uk:Ln.t("common.langUkranian",{lng:"ua"})},uee=fe([Ye],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Xt}}),dee=({children:e,config:t})=>{const n=te(),{t:r}=be(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0;f.useEffect(()=>{s||n(F2(!1))},[s,n]);const{isNSFWCheckerAvailable:h,isWatermarkerAvailable:m}=L_(void 0,{selectFromResult:({data:Z})=>({isNSFWCheckerAvailable:(Z==null?void 0:Z.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(Z==null?void 0:Z.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:v,onOpen:b,onClose:w}=ss(),{isOpen:y,onOpen:S,onClose:k}=ss(),{shouldConfirmOnDelete:_,enableImageDebugging:I,shouldUseCanvasBetaLayout:P,shouldUseSliders:E,shouldShowProgressInViewer:O,consoleLogLevel:R,shouldLogToConsole:M,shouldAntialiasProgressImage:T,shouldShowAdvancedOptions:A,isNodesEnabled:$,shouldUseNSFWChecker:Q,shouldUseWatermarker:B}=L(uee),V=f.useCallback(()=>{Object.keys(window.localStorage).forEach(Z=>{(rM.includes(Z)||Z.startsWith(oM))&&localStorage.removeItem(Z)}),w(),S()},[w,S]),q=f.useCallback(Z=>{n(sM(Z))},[n]),G=f.useCallback(Z=>{n(aM(Z))},[n]),D=f.useCallback(Z=>{n(F2(Z.target.checked))},[n]),z=f.useCallback(Z=>{n(iM(Z.target.checked))},[n]),{colorMode:H,toggleColorMode:Y}=Ds(),ie=ar("localization").isFeatureEnabled,ye=L(V5);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:b}),i.jsxs(Xu,{isOpen:v,onClose:w,size:"2xl",isCentered:!0,children:[i.jsx(Ma,{}),i.jsxs(Ju,{children:[i.jsx(Ra,{bg:"none",children:r("common.settingsLabel")}),i.jsx(Ob,{}),i.jsx(Da,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:_,onChange:Z=>n(z_(Z.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:A,onChange:Z=>n(lM(Z.target.checked))})]}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.generation")}),i.jsx(lee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!h,isChecked:Q,onChange:Z=>n(cM(Z.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!m,isChecked:B,onChange:Z=>n(uM(Z.target.checked))})]}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:H==="dark",onChange:Y}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:E,onChange:Z=>n(dM(Z.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:O,onChange:Z=>n(B_(Z.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:T,onChange:Z=>n(fM(Z.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:P,onChange:Z=>n(pM(Z.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:$,onChange:z}),i.jsx(Yr,{disabled:!ie,label:r("common.languagePickerLabel"),value:ye,data:Object.entries(cee).map(([Z,se])=>({value:Z,label:se})),onChange:G})]}),s&&i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:M,onChange:D}),i.jsx(Yr,{disabled:!M,label:r("settings.consoleLogLevel"),onChange:q,value:R,data:hM.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:Z=>n(mM(Z.target.checked))})]}),d&&i.jsx(ree,{}),i.jsxs(Gl,{children:[i.jsx(Qs,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(rn,{colorScheme:"error",onClick:V,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(tt,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(tt,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Oa,{children:i.jsx(rn,{onClick:w,children:r("common.close")})})]})]}),i.jsxs(Xu,{closeOnOverlayClick:!1,isOpen:y,onClose:k,isCentered:!0,children:[i.jsx(Ma,{backdropFilter:"blur(40px)"}),i.jsxs(Ju,{children:[i.jsx(Ra,{}),i.jsx(Da,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(tt,{fontSize:"lg",children:i.jsx(tt,{children:r("settings.resetComplete")})})})}),i.jsx(Oa,{})]})]})]})},fee=fe(mo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Ge),pk={ok:"green.400",working:"yellow.400",error:"red.400"},hk={ok:"green.600",working:"yellow.500",error:"red.500"},pee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=L(fee),{t:s}=be(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=rO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(Fo,{children:p&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(tt,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:hk[c],_dark:{color:pk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(Kr,{as:BH,sx:{boxSize:"0.5rem",color:hk[c],_dark:{color:pk[c]}}})]})},hee=()=>{const{t:e}=be(),t=ar("bugLink").isFeatureEnabled,n=ar("discordLink").isFeatureEnabled,r=ar("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(oO,{}),i.jsx(fl,{}),i.jsx(pee,{}),i.jsxs(kd,{children:[i.jsx(_d,{as:Le,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx($H,{}),sx:{boxSize:8}}),i.jsxs(zc,{motionProps:nm,children:[i.jsxs(Qu,{title:e("common.communityLabel"),children:[r&&i.jsx(kr,{as:"a",href:o,target:"_blank",icon:i.jsx(OH,{}),children:e("common.githubLabel")}),t&&i.jsx(kr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(zH,{}),children:e("common.reportBugLabel")}),n&&i.jsx(kr,{as:"a",href:s,target:"_blank",icon:i.jsx(EH,{}),children:e("common.discordLabel")})]}),i.jsxs(Qu,{title:e("common.settingsLabel"),children:[i.jsx(YZ,{children:i.jsx(kr,{as:"button",icon:i.jsx(eW,{}),children:e("common.hotkeysLabel")})}),i.jsx(dee,{children:i.jsx(kr,{as:"button",icon:i.jsx(FH,{}),children:e("common.settingsLabel")})})]})]})]})]})},mee=f.memo(hee);function gee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function vee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function bee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function yee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function xee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function sO(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const wee=fe(mo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),See=()=>{const{shouldShow:e,tooltip:t}=L(wee);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(wn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(dl,{})})}):null},Cee=f.memo(See),aO=e=>e.config,{createElement:jc,createContext:kee,forwardRef:iO,useCallback:ri,useContext:lO,useEffect:ja,useImperativeHandle:cO,useLayoutEffect:_ee,useMemo:Pee,useRef:Zo,useState:Bu}=N1,mk=N1["useId".toString()],jee=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",qh=jee?_ee:()=>{},Iee=typeof mk=="function"?mk:()=>null;let Eee=0;function My(e=null){const t=Iee(),n=Zo(e||t||null);return n.current===null&&(n.current=""+Eee++),n.current}const Um=kee(null);Um.displayName="PanelGroupContext";function uO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=lO(Um);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=My(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:I,resizePanel:P,unregisterPanel:E}=w,O=Zo({onCollapse:p,onResize:h});if(ja(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=Zo({size:gk(R)}),T=Zo({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return qh(()=>{M.current.size=gk(R),T.current.callbacksRef=O,T.current.collapsedSize=n,T.current.collapsible=r,T.current.defaultSize=o,T.current.id=y,T.current.maxSize=c,T.current.minSize=d,T.current.order=m}),qh(()=>(I(y,T),()=>{E(y)}),[m,y,I,E]),cO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>P(y,A)}),[S,k,y,P]),jc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const sd=iO((e,t)=>jc(uO,{...e,forwardedRef:t}));uO.displayName="Panel";sd.displayName="forwardRef(Panel)";function gk(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const ul=10;function Iu(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Xo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(P=>P.current.id===y),k=h[S],_=p[S],I=vk(k,Math.abs(o),_,e);if(_===I)return p;I===0&&_>0&&a.set(y,_),o=o<0?_-I:I-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=vk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(ul).localeCompare(Math.abs(o).toPrecision(ul),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Wl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function Z0(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function dO(e,t,n){if(e.size===1)return"100";const o=Xo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(ul)}function Oee(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Dy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function Gm(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function Ree(e){return fO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function fO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function pO(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Ty(e,t,n){var d,p,h,m;const r=Gm(t),o=pO(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Xo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function vk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Dy(t),{height:p,width:h}=d.getBoundingClientRect(),v=pO(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Xo(c),[S,k]=Ty(t,w,y);if(S==null||k==null)return()=>{};let _=0,I=100,P=0,E=0;y.forEach($=>{$.current.id===S?(I=$.current.maxSize,_=$.current.minSize):(P+=$.current.minSize,E+=$.current.maxSize)});const O=Math.min(I,100-P),R=Math.max(_,(y.length-1)*100-E),M=dO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const T=$=>{if(!$.defaultPrevented)switch($.key){case"Enter":{$.preventDefault();const Q=y.findIndex(B=>B.current.id===S);if(Q>=0){const B=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(ul)<=B.current.minSize.toPrecision(ul)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Iu($,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",T);const A=Oee(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",T),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function Dee({disabled:e,handleId:t,resizeHandler:n}){ja(()=>{if(e||n==null)return;const r=Gm(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=fO(),c=Ree(t);hO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function Tee(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===P),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(ul)===O.current.minSize.toPrecision(ul))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return mO(e,n,o,c,d)}function Nee(e){return e.type==="keydown"}function b1(e){return e.type.startsWith("mouse")}function y1(e){return e.type.startsWith("touch")}let x1=null,qi=null;function gO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function $ee(){qi!==null&&(document.head.removeChild(qi),x1=null,qi=null)}function ev(e){if(x1===e)return;x1=e;const t=gO(e);qi===null&&(qi=document.createElement("style"),document.head.appendChild(qi)),qi.innerHTML=`*{cursor: ${t}!important;}`}function zee(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function vO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function bO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function Lee(e,t,n){const r=bO(e,n);if(r){const o=vO(t);return r[o]??null}return null}function Bee(e,t,n,r){const o=vO(t),s=bO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const tv={};function bk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Eu={getItem:e=>(bk(Eu),Eu.getItem(e)),setItem:(e,t)=>{bk(Eu),Eu.setItem(e,t)}};function yO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Eu,style:p={},tagName:h="div"}){const m=My(a),[v,b]=Bu(null),[w,y]=Bu(new Map),S=Zo(null),k=Zo({onLayout:c});ja(()=>{k.current.onLayout=c});const _=Zo({}),[I,P]=Bu([]),E=Zo(new Map),O=Zo(0),R=Zo({direction:r,panels:w,sizes:I});cO(s,()=>({getLayout:()=>{const{sizes:D}=R.current;return D},setLayout:D=>{const z=D.reduce((ye,Z)=>ye+Z,0);hO(z===100,"Panel sizes must add up to 100%");const{panels:H}=R.current,Y=_.current,ie=Xo(H);P(D),Wl(ie,D,Y)}}),[]),qh(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=I}),Mee({committedValuesRef:R,groupId:m,panels:w,setSizes:P,sizes:I,panelSizeBeforeCollapse:E}),ja(()=>{const{onLayout:D}=k.current,{panels:z,sizes:H}=R.current;if(H.length>0){D&&D(H);const Y=_.current,ie=Xo(z);Wl(ie,H,Y)}},[I]),qh(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const H=Xo(w);z=Lee(e,H,d)}if(z!=null)P(z);else{const H=Xo(w);let Y=0,ie=0,ye=0;if(H.forEach(Z=>{ye+=Z.current.minSize,Z.current.defaultSize===null?Y++:ie+=Z.current.defaultSize}),ie>100)throw new Error("Default panel sizes cannot exceed 100%");if(H.length>1&&Y===0&&ie!==100)throw new Error("Invalid default sizes specified for panels");if(ye>100)throw new Error("Minimum panel sizes cannot exceed 100%");P(H.map(Z=>Z.current.defaultSize===null?(100-ie)/Y:Z.current.defaultSize))}},[e,w,d]),ja(()=>{if(e){if(I.length===0||I.length!==w.size)return;const D=Xo(w);tv[e]||(tv[e]=zee(Bee,100)),tv[e](e,D,I,d)}},[e,w,I,d]);const M=ri((D,z)=>{const{panels:H}=R.current;return H.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:dO(H,D,I),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,I]),T=ri((D,z)=>{y(H=>{if(H.has(D))return H;const Y=new Map(H);return Y.set(D,z),Y})},[]),A=ri(D=>H=>{H.preventDefault();const{direction:Y,panels:ie,sizes:ye}=R.current,Z=Xo(ie),[se,K]=Ty(m,D,Z);if(se==null||K==null)return;let U=Aee(H,m,D,Z,Y,ye,S.current);if(U===0)return;const re=Dy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,ce=U/pe*100,ge=Iu(H,ie,se,K,ce,ye,E.current,S.current),_e=!Tee(ye,ge);if((b1(H)||y1(H))&&O.current!=ce&&ev(_e?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),_e){const le=_.current;P(ge),Wl(Z,ge,le)}O.current=ce},[m]),$=ri(D=>{y(z=>{if(!z.has(D))return z;const H=new Map(z);return H.delete(D),H})},[]),Q=ri(D=>{const{panels:z,sizes:H}=R.current,Y=z.get(D);if(Y==null)return;const{collapsedSize:ie,collapsible:ye}=Y.current;if(!ye)return;const Z=Xo(z),se=Z.indexOf(Y);if(se<0)return;const K=H[se];if(K===ie)return;E.current.set(D,K);const[U,ae]=Z0(D,Z);if(U==null||ae==null)return;const oe=se===Z.length-1?K:ie-K,pe=Iu(null,z,U,ae,oe,H,E.current,null);if(H!==pe){const ce=_.current;P(pe),Wl(Z,pe,ce)}},[]),B=ri(D=>{const{panels:z,sizes:H}=R.current,Y=z.get(D);if(Y==null)return;const{collapsedSize:ie,minSize:ye}=Y.current,Z=E.current.get(D)||ye;if(!Z)return;const se=Xo(z),K=se.indexOf(Y);if(K<0||H[K]!==ie)return;const[ae,re]=Z0(D,se);if(ae==null||re==null)return;const pe=K===se.length-1?ie-Z:Z,ce=Iu(null,z,ae,re,pe,H,E.current,null);if(H!==ce){const ge=_.current;P(ce),Wl(se,ce,ge)}},[]),V=ri((D,z)=>{const{panels:H,sizes:Y}=R.current,ie=H.get(D);if(ie==null)return;const{collapsedSize:ye,collapsible:Z,maxSize:se,minSize:K}=ie.current,U=Xo(H),ae=U.indexOf(ie);if(ae<0)return;const re=Y[ae];if(re===z)return;Z&&z===ye||(z=Math.min(se,Math.max(K,z)));const[oe,pe]=Z0(D,U);if(oe==null||pe==null)return;const ge=ae===U.length-1?re-z:z-re,_e=Iu(null,H,oe,pe,ge,Y,E.current,null);if(Y!==_e){const le=_.current;P(_e),Wl(U,_e,le)}},[]),q=Pee(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:B,getPanelStyle:M,groupId:m,registerPanel:T,registerResizeHandle:A,resizePanel:V,startDragging:(D,z)=>{if(b(D),b1(z)||y1(z)){const H=Gm(D);S.current={dragHandleRect:H.getBoundingClientRect(),dragOffset:mO(z,D,r),sizes:R.current.sizes}}},stopDragging:()=>{$ee(),b(null),S.current=null},unregisterPanel:$}),[v,Q,r,B,M,m,T,A,V,$]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return jc(Um.Provider,{children:jc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Ay=iO((e,t)=>jc(yO,{...e,forwardedRef:t}));yO.displayName="PanelGroup";Ay.displayName="forwardRef(PanelGroup)";function w1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=Zo(null),d=Zo({onDragging:o});ja(()=>{d.current.onDragging=o});const p=lO(Um);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=My(r),k=h===S,[_,I]=Bu(!1),[P,E]=Bu(null),O=ri(()=>{c.current.blur(),y();const{onDragging:T}=d.current;T&&T(!1)},[y]);ja(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),ja(()=>{if(n||P==null||!k)return;const M=Q=>{P(Q)},T=Q=>{P(Q)},$=c.current.ownerDocument;return $.body.addEventListener("contextmenu",O),$.body.addEventListener("mousemove",M),$.body.addEventListener("touchmove",M),$.body.addEventListener("mouseleave",T),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{$.body.removeEventListener("contextmenu",O),$.body.removeEventListener("mousemove",M),$.body.removeEventListener("touchmove",M),$.body.removeEventListener("mouseleave",T),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,P,O]),Dee({disabled:n,handleId:S,resizeHandler:P});const R={cursor:gO(m),touchAction:"none",userSelect:"none"};return jc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>I(!1),onFocus:()=>I(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}w1.displayName="PanelResizeHandle";const Fee=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Hee=fe([Ye],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ge),Wee=()=>{const{initialImage:e}=L(Hee),{currentData:t}=os((e==null?void 0:e.imageName)??oo.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(yi,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(mi,{label:"No initial image selected"})})},Vee=fe([Ye],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ge),Uee={type:"SET_INITIAL_IMAGE"},Gee=()=>{const{isResetButtonDisabled:e}=L(Vee),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=Vm({postUploadAction:Uee}),o=f.useCallback(()=>{t(gM())},[t]);return i.jsxs(W,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(W,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(tt,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(fl,{}),i.jsx(Le,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Md,{}),...n()}),i.jsx(Le,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(Hb,{}),onClick:o,isDisabled:e})]}),i.jsx(Wee,{}),i.jsx("input",{...r()})]})},qee=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Oe,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?ze("base.200","base.750")(c):ze("base.150","base.800")(c),color:ze("base.900","base.100")(c),_hover:{bg:s?ze("base.250","base.700")(c):ze("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(Fo,{children:n&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(tt,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(fl,{}),i.jsx(ay,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(sm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Oe,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Oo=f.memo(qee),Kee=fe(Ye,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ge),Yee=()=>{const{combinatorial:e,isDisabled:t}=L(Kee),n=te(),r=f.useCallback(()=>{n(vM())},[n]);return i.jsx(Pr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Qee=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ge),Xee=()=>{const e=te(),{isEnabled:t}=L(Qee),n=f.useCallback(()=>{e(bM())},[e]);return i.jsx(Pr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Jee=fe(Ye,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Ge),Zee=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=L(Jee),s=te(),a=f.useCallback(d=>{s(yM(d))},[s]),c=f.useCallback(()=>{s(xM())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},ete=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ge),zd=()=>{const{activeLabel:e}=L(ete);return ar("dynamicPrompting").isFeatureEnabled?i.jsx(Oo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Xee,{}),i.jsx(Yee,{}),i.jsx(Zee,{})]})}):null},Ny=e=>{e.stopPropagation()},tte=Te((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(_o(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(_o(!1))},[n]);return i.jsx(W5,{ref:t,onPaste:Ny,onKeyDown:r,onKeyUp:o,...e})}),qm=f.memo(tte),nte=e=>{const{onClick:t}=e;return i.jsx(Le,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(Lb,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},Km=f.memo(nte),$y="28rem",Ym=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=wM(),a=f.useRef(null),c=L(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return jo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:vr[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Tb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Db,{children:o}),i.jsx(Ab,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(x5,{sx:{p:0,w:`calc(${$y} - 2rem )`},children:d.length===0?i.jsx(W,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(tt,{children:"No Embeddings Loaded"})}):i.jsx(sr,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},Ld=()=>{const e=L(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=be(),c=f.useCallback(m=>{s(Mu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),_i.flushSync(()=>{s(Mu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ar("embedding").isFeatureEnabled;return i.jsxs(ho,{children:[i.jsx(Ym,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(qm,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:o})})]})},rte=fe([Ye,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=SM.endpoints.getMainModels.select(W1)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),jo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Ge),Bd=()=>{const{isReady:e}=L(rte);return e},ote=fe([Ye,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Xt}}),Fd=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=L(ote),o=Bd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=be(),h=f.useCallback(w=>{e(Ru(w.target.value))},[e]);nt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),_i.flushSync(()=>{e(Ru(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ar("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(ud()),e(dd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Oe,{sx:{position:"absolute",top:n?6:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:d})})]})},ste=fe(Ye,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ge),ate=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=L(ste),r=o=>e(CM(o.target.checked));return i.jsx(Pr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},ite=fe(Ye,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ge);function lte(){const e=te(),{threshold:t,isDisabled:n}=L(ite),{t:r}=be();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(H2(o)),handleReset:()=>e(H2(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const cte=()=>{const e=te(),t=L(r=>r.generation.shouldUseNoiseSettings),n=r=>e(kM(r.target.checked));return i.jsx(Pr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},ute=fe(Ye,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ge);function dte(){const e=te(),{perlin:t,isDisabled:n}=L(ute),{t:r}=be();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(W2(o)),handleReset:()=>e(W2(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const fte=fe(Ye,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ge),pte=()=>{const{t:e}=be(),t=ar("noise").isFeatureEnabled,n=ar("perlinNoise").isFeatureEnabled,r=ar("noiseThreshold").isFeatureEnabled,{activeLabel:o}=L(fte);return t?i.jsx(Oo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(cte,{}),i.jsx(ate,{}),n&&i.jsx(dte,{}),r&&i.jsx(lte,{})]})}):null},Qm=f.memo(pte),hte=fe(mo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Xt}}),mte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=L(hte),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(_M());return}t(PM({session_id:p}))}},[t,p,c]),{t:m}=be(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(jM(S))},[t]);nt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Lp,{}):c==="immediate"?i.jsx(xee,{}):i.jsx(gee,{}),[c,d]);return i.jsxs(nr,{isAttached:!0,width:n,children:[i.jsx(Le,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(kd,{closeOnSelect:!1,children:[i.jsx(_d,{as:Le,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(FV,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(zc,{minWidth:"240px",children:i.jsxs(l5,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(Up,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(Up,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},Xm=f.memo(mte),gte=fe(mo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Xt}}),vte=()=>{const{t:e}=be(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=L(gte),s=n?Math.round(n*100/r):0;return i.jsx(S5,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},xO=f.memo(vte),yk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},bte=fe([Ye,Kn,jr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ge);function zy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Bd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=L(bte),d=Rm(a),p=f.useCallback(()=>{r(ud()),r(dd(c))},[r,c]),{t:h}=be();return nt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Oe,{style:{flexGrow:4},position:"relative",children:i.jsxs(Oe,{style:{position:"relative"},children:[!o&&i.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(xO,{})}),i.jsx(wn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(Le,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(y6,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?yk:{}}}):i.jsx(rn,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?yk:{}},children:"Invoke"})})]})})}const Hd=()=>i.jsxs(W,{gap:2,children:[i.jsx(zy,{}),i.jsx(Xm,{})]}),yte=fe([Ye,Kn],({sdxl:e},t)=>({prompt:e.negativeStylePrompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Xt}}),wO=()=>{const e=te(),{prompt:t,activeTabName:n}=L(yte),r=Bd(),o=f.useRef(null),{isOpen:s,onClose:a,onOpen:c}=ss(),d=f.useCallback(v=>{e(V2(v.target.value))},[e]),p=f.useCallback(v=>{if(!o.current)return;const b=o.current.selectionStart;if(b===void 0)return;let w=t.slice(0,b);w[w.length-1]!=="<"&&(w+="<"),w+=`${v}>`;const y=w.length;w+=t.slice(b),_i.flushSync(()=>{e(V2(w))}),o.current.selectionStart=y,o.current.selectionEnd=y,a()},[e,a,t]),h=ar("embedding").isFeatureEnabled,m=f.useCallback(v=>{v.key==="Enter"&&v.shiftKey===!1&&r&&(v.preventDefault(),e(ud()),e(dd(n))),h&&v.key==="<"&&c()},[r,e,n,c,h]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:s,onClose:a,onSelect:p,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:o,value:t,placeholder:"Negative Style Prompt",onChange:d,onKeyDown:m,resize:"vertical",fontSize:"sm",minH:16})})}),!s&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:c})})]})},xte=fe([Ye,Kn],({sdxl:e},t)=>({prompt:e.positiveStylePrompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Xt}}),SO=()=>{const e=te(),{prompt:t,activeTabName:n}=L(xte),r=Bd(),o=f.useRef(null),{isOpen:s,onClose:a,onOpen:c}=ss(),d=f.useCallback(v=>{e(U2(v.target.value))},[e]),p=f.useCallback(v=>{if(!o.current)return;const b=o.current.selectionStart;if(b===void 0)return;let w=t.slice(0,b);w[w.length-1]!=="<"&&(w+="<"),w+=`${v}>`;const y=w.length;w+=t.slice(b),_i.flushSync(()=>{e(U2(w))}),o.current.selectionStart=y,o.current.selectionEnd=y,a()},[e,a,t]),h=ar("embedding").isFeatureEnabled,m=f.useCallback(v=>{v.key==="Enter"&&v.shiftKey===!1&&r&&(v.preventDefault(),e(ud()),e(dd(n))),h&&v.key==="<"&&c()},[r,e,n,c,h]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:s,onClose:a,onSelect:p,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:o,value:t,placeholder:"Positive Style Prompt",onChange:d,onKeyDown:m,resize:"vertical",minH:16})})}),!s&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:c})})]})},Uc=()=>{const{isRefinerAvailable:e}=na(V1,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},wte=fe([Ye],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Ge),Ste=()=>{const{refinerAestheticScore:e,shift:t}=L(wte),n=Uc(),r=te(),o=f.useCallback(a=>r(G2(a)),[r]),s=f.useCallback(()=>r(G2(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},Cte=f.memo(Ste),Kh=/^-?(0\.)?\.?$/,kte=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(Kh)&&s!==Number(k)&&_(String(s))},[s,k]);const I=R=>{_(R),R.match(Kh)||a(p?Math.floor(Number(R)):Number(R))},P=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(_o(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(_o(!1))},[S]);return i.jsx(wn,{...w,children:i.jsxs(ho,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(zo,{...m,children:t}),i.jsxs(dm,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:I,onBlur:P,...y,onPaste:Ny,children:[i.jsx(pm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(fm,{children:[i.jsx(mm,{...b}),i.jsx(hm,{...b})]})]})]})})},Gc=f.memo(kte),_te=fe([Ye],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Ge),Pte=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=L(_te),r=Uc(),o=te(),{t:s}=be(),a=f.useCallback(d=>o(q2(d)),[o]),c=f.useCallback(()=>o(q2(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Gc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},jte=f.memo(Pte),Jm=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=IM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Wd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=be(),[o,{isLoading:s}]=EM(),a=()=>{o().unwrap().then(c=>{n(Dn(Bn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(Dn(Bn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(Le,{icon:i.jsx(S6,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(rn,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const Ite=fe(Ye,e=>({model:e.sdxl.refinerModel}),Ge),Ete=()=>{const e=te(),t=ar("syncModels").isFeatureEnabled,{model:n}=L(Ite),{data:r,isLoading:o}=na(V1),s=f.useMemo(()=>{if(!r)return[];const d=[];return jo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:vr[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=Jm(d);p&&e(OM(p))},[e]);return o?i.jsx(sr,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Ote=f.memo(Ete),Rte=fe(Ye,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(H1,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Ge),Mte=()=>{const e=te(),{t}=be(),{refinerScheduler:n,data:r}=L(Rte),o=Uc(),s=f.useCallback(a=>{a&&e(RM(a))},[e]);return i.jsx(sr,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},Dte=f.memo(Mte),Tte=fe([Ye],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Ge),Ate=()=>{const{refinerStart:e}=L(Tte),t=te(),n=Uc(),r=f.useCallback(s=>t(K2(s)),[t]),o=f.useCallback(()=>t(K2(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},Nte=f.memo(Ate),$te=fe([Ye],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Ge),zte=()=>{const{refinerSteps:e,shouldUseSliders:t}=L($te),n=Uc(),r=te(),{t:o}=be(),s=f.useCallback(c=>{r(Y2(c))},[r]),a=f.useCallback(()=>{r(Y2(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Gc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},Lte=f.memo(zte);function Bte(){const e=L(o=>o.sdxl.shouldUseSDXLRefiner),t=Uc(),n=te(),r=o=>{n(MM(o.target.checked))};return i.jsx(Pr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Fte=fe(Ye,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Ge),CO=()=>{const{activeLabel:e,shouldUseSliders:t}=L(Fte);return i.jsx(Oo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Bte,{}),i.jsx(Ote,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(Lte,{}),i.jsx(jte,{})]}),i.jsx(Dte,{}),i.jsx(Cte,{}),i.jsx(Nte,{})]})})},Hte=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Ge),Wte=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=L(Hte),c=te(),{t:d}=be(),p=f.useCallback(m=>c(Mp(m)),[c]),h=f.useCallback(()=>c(Mp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Gc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(Wte),Vte=fe([Ye],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ge),Ute=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=L(Vte),d=te(),{t:p}=be(),h=f.useCallback(v=>{d(Q2(v))},[d]),m=f.useCallback(()=>{d(Q2(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Gc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(Ute),Gte=fe(Ye,e=>({model:e.generation.model}),Ge),qte=()=>{const e=te(),{t}=be(),{model:n}=L(Gte),r=ar("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(W1),a=L(Kn),c=f.useMemo(()=>{if(!o)return[];const h=[];return jo(o.entities,(m,v)=>{!m||a==="unifiedCanvas"&&m.base_model==="sdxl"||h.push({value:v,label:m.model_name,group:vr[m.base_model]})}),h},[o,a]),d=f.useMemo(()=>(o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[o==null?void 0:o.entities,n]),p=f.useCallback(h=>{if(!h)return;const m=Jm(h);m&&e(hv(m))},[e]);return s?i.jsx(sr,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(sr,{tooltip:d==null?void 0:d.description,label:t("modelManager.model"),value:d==null?void 0:d.id,placeholder:c.length>0?"Select a model":"No models available",data:c,error:c.length===0,disabled:c.length===0,onChange:p,w:"100%"}),r&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Kte=f.memo(qte),kO=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=DM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Yte=fe(Ye,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ge),Qte=()=>{const e=te(),{t}=be(),{model:n,vae:r}=L(Yte),{data:o}=F_(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return jo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:vr[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(X2(null));return}const p=kO(d);p&&e(X2(p))},[e]);return i.jsx(sr,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Xte=f.memo(Qte),Mi=e=>e.generation,Jte=fe([La,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(H1,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Ge),Zte=()=>{const e=te(),{t}=be(),{scheduler:n,data:r}=L(Jte),o=f.useCallback(s=>{s&&e(mv(s))},[e]);return i.jsx(sr,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},ene=f.memo(Zte),tne=fe(Ye,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Ge),nne=["fp16","fp32"],rne=()=>{const e=te(),{vaePrecision:t}=L(tne),n=f.useCallback(r=>{r&&e(TM(r))},[e]);return i.jsx(Yr,{label:"VAE Precision",value:t,data:nne,onChange:n})},one=f.memo(rne),sne=()=>{const e=ar("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Oe,{w:"full",children:i.jsx(Kte,{})}),i.jsx(Oe,{w:"full",children:i.jsx(ene,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Xte,{}),i.jsx(one,{})]})]})},Si=f.memo(sne),ane=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function _O(){const e=L(o=>o.generation.aspectRatio),t=te(),n=L(o=>o.generation.shouldFitToWidthHeight),r=L(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(nr,{isAttached:!0,children:ane.map(o=>i.jsx(rn,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(AM(o.value)),children:o.name},o.name))})})}const ine=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),lne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=L(ine),d=te(),{t:p}=be(),h=f.useCallback(v=>{if(d(mc(v)),c){const b=Ss(v*c,8);d(hc(b))}},[d,c]),m=f.useCallback(()=>{if(d(mc(n)),c){const v=Ss(n*c,8);d(hc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},cne=f.memo(lne),une=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),dne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=L(une),d=te(),{t:p}=be(),h=f.useCallback(v=>{if(d(hc(v)),c){const b=Ss(v/c,8);d(mc(b))}},[d,c]),m=f.useCallback(()=>{if(d(hc(n)),c){const v=Ss(n/c,8);d(mc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},fne=f.memo(dne);function Ic(){const{t:e}=be(),t=te(),n=L(o=>o.generation.shouldFitToWidthHeight),r=L(Kn);return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(tt,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(fl,{}),i.jsx(_O,{}),i.jsx(Le,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(sO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(NM())})]}),i.jsx(W,{gap:2,alignItems:"center",children:i.jsxs(W,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(fne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(cne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const pne=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Ge),hne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=L(pne),c=te(),{t:d}=be(),p=f.useCallback(v=>{c(Dp(v))},[c]),h=f.useCallback(()=>{c(Dp(t))},[c,t]),m=f.useCallback(()=>{c(ud())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Gc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(hne);function PO(){const e=te(),t=L(o=>o.generation.shouldFitToWidthHeight),n=o=>e($M(o.target.checked)),{t:r}=be();return i.jsx(Pr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function mne(){const e=L(a=>a.generation.seed),t=L(a=>a.generation.shouldRandomizeSeed),n=L(a=>a.generation.shouldGenerateVariations),{t:r}=be(),o=te(),s=a=>o(Rp(a));return i.jsx(Gc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:H_,max:W_,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const gne=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function vne(){const e=te(),t=L(o=>o.generation.shouldRandomizeSeed),{t:n}=be(),r=()=>e(Rp(gne(H_,W_)));return i.jsx(Le,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(sW,{})})}const bne=()=>{const e=te(),{t}=be(),n=L(o=>o.generation.shouldRandomizeSeed),r=o=>e(zM(o.target.checked));return i.jsx(Pr,{label:t("common.random"),isChecked:n,onChange:r})},yne=f.memo(bne),xne=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(mne,{}),i.jsx(vne,{}),i.jsx(yne,{})]}),ki=f.memo(xne),wne=fe([Ye],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Ge),Sne=()=>{const{sdxlImg2ImgDenoisingStrength:e}=L(wne),t=te(),{t:n}=be(),r=f.useCallback(s=>t(J2(s)),[t]),o=f.useCallback(()=>{t(J2(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},Cne=f.memo(Sne),kne=fe([La,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),_ne=()=>{const{shouldUseSliders:e,activeLabel:t}=L(kne);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}),i.jsx(Cne,{}),i.jsx(PO,{})]})})},Pne=f.memo(_ne),jne=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(SO,{}),i.jsx(Ld,{}),i.jsx(wO,{}),i.jsx(Hd,{}),i.jsx(Pne,{}),i.jsx(CO,{}),i.jsx(zd,{}),i.jsx(Qm,{})]}),jO=e=>{const{sx:t}=e,n=te(),r=L(a=>a.ui.shouldPinParametersPanel),{t:o}=be(),s=()=>{n(LM(!r)),n(So())};return i.jsx(Le,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(ij,{}):i.jsx(lj,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},Ine=fe(La,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),Ene=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=L(Ine);return t&&n?i.jsxs(Oe,{sx:{position:"relative",h:"full",w:$y,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(jO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},Ly=f.memo(Ene),One=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx(w1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Oe,{sx:{w:.5,h:"calc(100% - 4px)",bg:ze("base.100","base.850")(r)}})})}):i.jsx(w1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Oe,{sx:{w:"calc(100% - 4px)",h:.5,bg:ze("base.100","base.850")(r)}})})})},IO=f.memo(One),Rne=fe([Ye],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),Mne=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=be(),o=L(Rne);return i.jsx(Le,{onClick:t,icon:i.jsx(us,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},Dne=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function Tne(){const e=L(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(BM(r));return i.jsx(Yr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:Dne})}const Ane=e=>{const{imageDTO:t}=e,n=te(),r=L(jr),{t:o}=be(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(V_({image_name:t.image_name}))},[n,t,c]);return i.jsx(gl,{isOpen:s,onClose:c,triggerComponent:i.jsx(Le,{onClick:a,icon:i.jsx(VH,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(Tne,{}),i.jsx(rn,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Nne=fe([Ye,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Xt}}),$ne=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=L(Nne),d=ar("upscaling").isFeatureEnabled,p=Bc(),{t:h}=be(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Ey(),[w,y]=Ry(a,500),{currentData:S}=os(a??oo.skipToken),{currentData:k}=L1(y.isPending()?oo.skipToken:w??oo.skipToken),_=k==null?void 0:k.metadata,I=f.useCallback(()=>{b(_)},[_,b]);nt("a",()=>{},[_,b]);const P=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);nt("s",P,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,m]);nt("p",E,[S]);const O=f.useCallback(()=>{t(QE()),t($1(S))},[t,S]);nt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(V_({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(B1(S))},[t,S]);nt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const T=f.useCallback(()=>t(FM(!s)),[t,s]);nt("i",()=>{S?T():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),nt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(B_(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(nr,{isAttached:!0,isDisabled:o,children:i.jsxs(kd,{children:[i.jsx(_d,{as:Le,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(cW,{})}),i.jsx(zc,{motionProps:nm,children:S&&i.jsx(XE,{imageDTO:S})})]})}),i.jsxs(nr,{isAttached:!0,isDisabled:o,children:[i.jsx(Le,{icon:i.jsx(x6,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(Le,{icon:i.jsx(w6,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:P}),i.jsx(Le,{icon:i.jsx(d6,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:I})]}),d&&i.jsx(nr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(Ane,{imageDTO:S})}),i.jsx(nr,{isAttached:!0,isDisabled:o,children:i.jsx(Le,{icon:i.jsx(Lb,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:T})}),i.jsx(nr,{isAttached:!0,children:i.jsx(Le,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(QH,{}),isChecked:c,onClick:A})}),i.jsx(nr,{isAttached:!0,children:i.jsx(Mne,{onClick:M,isDisabled:o})})]})})},zne=fe([Ye,A_],(e,t)=>{var k,_;const{data:n,status:r}=HM.endpoints.listImages.select(t)(e),o=e.gallery.selection[e.gallery.selection.length-1],s=r==="pending";if(!n||!o||n.total===0)return{isFetching:s,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const a={...t,offset:n.ids.length,limit:$_},c=WM.getSelectors(),d=c.selectAll(n),p=d.findIndex(I=>I.image_name===o),h=Es(p+1,0,d.length-1),m=Es(p-1,0,d.length-1),v=(k=d[h])==null?void 0:k.image_name,b=(_=d[m])==null?void 0:_.image_name,w=c.selectById(n,v),y=c.selectById(n,b),S=d.length;return{isOnFirstImage:p===0,isOnLastImage:!isNaN(p)&&p===S-1,areMoreImagesAvailable:((n==null?void 0:n.total)??0)>S,isFetching:r==="pending",nextImage:w,prevImage:y,nextImageId:v,prevImageId:b,queryArgs:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),EO=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,isFetching:a,queryArgs:c}=L(zne),d=f.useCallback(()=>{o&&e(gv(o))},[e,o]),p=f.useCallback(()=>{r&&e(gv(r))},[e,r]),[h]=N_(),m=f.useCallback(()=>{h(c)},[h,c]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,handleLoadMoreImages:m,isFetching:a}};function Lne(e){return rt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const ys=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=be();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(wn,{label:`Recall ${e}`,children:i.jsx(Sa,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Lne,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(wn,{label:`Copy ${e}`,children:i.jsx(Sa,{"aria-label":`Copy ${e}`,icon:i.jsx(Fc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(tt,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(mb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(nj,{mx:"2px"})]}):i.jsx(tt,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Bne=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Ey(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),I=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),P=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(ys,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(ys,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(ys,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(ys,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(ys,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(ys,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(ys,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(ys,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(ys,{label:"Steps",value:t.steps,onClick:I}),t.cfg_scale!==void 0&&i.jsx(ys,{label:"CFG scale",value:t.cfg_scale,onClick:P}),t.strength&&i.jsx(ys,{label:"Image to image strength",value:t.strength,onClick:E})]})},Fne=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(W,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Oe,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(X6,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(wn,{label:t,children:i.jsx(Sa,{"aria-label":t,icon:i.jsx(Fc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Hne=({image:e})=>{const[t,n]=Ry(e.image_name,500),{currentData:r}=L1(n.isPending()?oo.skipToken:t??oo.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(W,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(W,{gap:2,children:[i.jsx(tt,{fontWeight:"semibold",children:"File:"}),i.jsxs(mb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(nj,{mx:"2px"})]})]}),i.jsx(Bne,{metadata:o}),i.jsxs(Ed,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(Od,{children:a.map(c=>i.jsx(wc,{sx:{borderTopRadius:"base"},children:i.jsx(tt,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx(km,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Cm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(Fne,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Wne=f.memo(Hne),nv={color:"base.100",pointerEvents:"auto"},Vne=()=>{const{t:e}=be(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=EO();return i.jsxs(Oe,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(Sa,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(DH,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:nv})}),i.jsxs(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(Sa,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(TH,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:nv}),o&&a&&!c&&i.jsx(Sa,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(MH,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:nv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(dl,{opacity:.5,size:"xl"})})]})]})},Une=f.memo(Vne),Gne=fe([Ye,VM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Xt}}),qne=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=L(Gne),{handlePrevImage:s,handleNextImage:a,prevImageId:c,nextImageId:d,isOnLastImage:p,handleLoadMoreImages:h,areMoreImagesAvailable:m,isFetching:v}=EO();nt("left",()=>{s()},[c]),nt("right",()=>{if(p&&m&&!v){h();return}p||a()},[d,p,m,h,v]);const{currentData:b}=os(t??oo.skipToken),w=f.useMemo(()=>{if(b)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:b}}},[b]),y=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[S,k]=f.useState(!1),_=f.useRef(0),I=f.useCallback(()=>{k(!0),window.clearTimeout(_.current)},[]),P=f.useCallback(()=>{_.current=window.setTimeout(()=>{k(!1)},500)},[]);return i.jsxs(W,{onMouseOver:I,onMouseOut:P,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Tc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(yi,{imageDTO:b,droppableData:y,draggableData:w,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(mi,{icon:al,label:"No image selected"})}),e&&b&&i.jsx(Oe,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(Wne,{image:b})}),i.jsx(Fo,{children:!e&&b&&S&&i.jsx(Qr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx(Une,{})},"nextPrevButtons")})]})},Kne=f.memo(qne),Yne=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx($ne,{}),i.jsx(Kne,{})]}),OO=()=>i.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(W,{sx:{width:"100%",height:"100%"},children:i.jsx(Yne,{})})}),Qne=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(UM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(GM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(qM(n.id))},[t,n.id]);return i.jsxs(W,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(Le,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(us,{}),colorScheme:"error"})]})},Xne=f.memo(Qne),Jne=fe(Ye,({lora:e})=>{const{loras:t}=e;return{loras:t}},Ge),Zne=()=>{const{loras:e}=L(Jne);return i.jsx(i.Fragment,{children:cs(e,t=>i.jsx(Xne,{lora:t},t.model_name))})},ere=fe(Ye,({lora:e})=>({loras:e.loras}),Ge),tre=()=>{const e=te(),{loras:t}=L(ere),{data:n}=U_(),r=L(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return jo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:vr[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(KM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(tt,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(sr,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},nre=fe(Ye,e=>{const t=G_(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ge),rre=()=>{const{activeLabel:e}=L(nre);return ar("lora").isFeatureEnabled?i.jsx(Oo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(tre,{}),i.jsx(Zne,{})]})}):null},By=f.memo(rre);function ore(){const e=L(d=>d.generation.clipSkip),{model:t}=L(d=>d.generation),n=te(),{t:r}=be(),o=f.useCallback(d=>{n(Z2(d))},[n]),s=f.useCallback(()=>{n(Z2(0))},[n]),a=f.useMemo(()=>t?Of[t.base_model].maxClip:Of["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Of[t.base_model].markers:Of["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const sre=fe(Ye,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ge);function Fy(){const{activeLabel:e}=L(sre);return L(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Oo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(ore,{})})}):null}const RO=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=YM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},are=e=>{const{controlNetId:t}=e,n=te(),r=L(jr),o=f.useMemo(()=>fe(Ye,({generation:v,controlNet:b})=>{var k,_;const{model:w}=v,y=(k=b.controlNets[t])==null?void 0:k.model,S=(_=b.controlNets[t])==null?void 0:_.isEnabled;return{mainModel:w,controlNetModel:y,isEnabled:S}},Ge),[t]),{mainModel:s,controlNetModel:a,isEnabled:c}=L(o),{data:d}=U1(),p=f.useMemo(()=>{if(!d)return[];const v=[];return jo(d.entities,(b,w)=>{if(!b)return;const y=(b==null?void 0:b.base_model)!==(s==null?void 0:s.base_model);v.push({value:w,label:b.model_name,group:vr[b.base_model],disabled:y,tooltip:y?`Incompatible base model: ${b.base_model}`:void 0})}),v},[d,s==null?void 0:s.base_model]),h=f.useMemo(()=>(d==null?void 0:d.entities[`${a==null?void 0:a.base_model}/controlnet/${a==null?void 0:a.model_name}`])??null,[a==null?void 0:a.base_model,a==null?void 0:a.model_name,d==null?void 0:d.entities]),m=f.useCallback(v=>{if(!v)return;const b=RO(v);b&&n(q_({controlNetId:t,model:b}))},[t,n]);return i.jsx(sr,{itemComponent:Oi,data:p,error:!h||(s==null?void 0:s.base_model)!==h.base_model,placeholder:"Select a model",value:(h==null?void 0:h.id)??null,onChange:m,disabled:r||!c,tooltip:h==null?void 0:h.description})},ire=f.memo(are),lre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{weight:d,isEnabled:p}=c.controlNets[t];return{weight:d,isEnabled:p}},Ge),[t]),{weight:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(QM({controlNetId:t,weight:c}))},[t,n]);return i.jsx(_t,{isDisabled:!s,label:"Weight",value:o,onChange:a,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},cre=f.memo(lre),ure=e=>{const{height:t,controlNetId:n}=e,r=te(),o=f.useMemo(()=>fe(Ye,({controlNet:E})=>{const{pendingControlImages:O}=E,{controlImage:R,processedControlImage:M,processorType:T,isEnabled:A}=E.controlNets[n];return{controlImageName:R,processedControlImageName:M,processorType:T,isEnabled:A,pendingControlImages:O}},Ge),[n]),{controlImageName:s,processedControlImageName:a,processorType:c,pendingControlImages:d,isEnabled:p}=L(o),[h,m]=f.useState(!1),{currentData:v}=os(s??oo.skipToken),{currentData:b}=os(a??oo.skipToken),w=f.useCallback(()=>{r(XM({controlNetId:n,controlImage:null}))},[n,r]),y=f.useCallback(()=>{m(!0)},[]),S=f.useCallback(()=>{m(!1)},[]),k=f.useMemo(()=>{if(v)return{id:n,payloadType:"IMAGE_DTO",payload:{imageDTO:v}}},[v,n]),_=f.useMemo(()=>({id:n,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:n}}),[n]),I=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:n}),[n]),P=v&&b&&!h&&!d.includes(n)&&c!=="none";return i.jsxs(W,{onMouseEnter:y,onMouseLeave:S,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:p?"auto":"none",opacity:p?1:.5},children:[i.jsx(yi,{draggableData:k,droppableData:_,imageDTO:v,isDropDisabled:P||!p,onClickReset:w,postUploadAction:I,resetTooltip:"Reset Control Image",withResetIcon:!!v}),i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(yi,{draggableData:k,droppableData:_,imageDTO:b,isUploadDisabled:!0,isDropDisabled:!p,onClickReset:w,resetTooltip:"Reset Control Image",withResetIcon:!!v})}),d.includes(n)&&i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(dl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},xk=f.memo(ure),As=()=>{const e=te();return f.useCallback((n,r)=>{e(JM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const wk=ls.canny_image_processor.default,dre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=L(jr),c=As(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:wk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:wk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},fre=f.memo(dre),bu=ls.content_shuffle_image_processor.default,pre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=As(),h=L(jr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:bu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:bu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:bu.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:bu.h})},[t,p]),I=f.useCallback(E=>{p(t,{f:E})},[t,p]),P=f.useCallback(()=>{p(t,{f:bu.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:I,handleReset:P,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},hre=f.memo(pre),Sk=ls.hed_image_processor.default,mre=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=L(jr),c=As(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Sk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Sk.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(Pr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},gre=f.memo(mre),Ck=ls.lineart_anime_image_processor.default,vre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Ck.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Ck.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},bre=f.memo(vre),kk=ls.lineart_image_processor.default,yre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=As(),d=L(jr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:kk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:kk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(Pr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},xre=f.memo(yre),_k=ls.mediapipe_face_processor.default,wre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:_k.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:_k.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Sre=f.memo(wre),Pk=ls.midas_depth_image_processor.default,Cre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Pk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Pk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},kre=f.memo(Cre),mp=ls.mlsd_image_processor.default,_re=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=As(),p=L(jr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:mp.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:mp.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:mp.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:mp.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},Pre=f.memo(_re),jk=ls.normalbae_image_processor.default,jre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=As(),c=L(jr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:jk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:jk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Ire=f.memo(jre),Ik=ls.openpose_image_processor.default,Ere=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=As(),d=L(jr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Ik.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Ik.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(Pr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},Ore=f.memo(Ere),Ek=ls.pidi_image_processor.default,Rre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=As(),p=L(jr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Ek.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Ek.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(Pr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(Pr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},Mre=f.memo(Rre),Dre=e=>null,Tre=f.memo(Dre),Are=e=>{const{controlNetId:t}=e,n=f.useMemo(()=>fe(Ye,({controlNet:s})=>{const{isEnabled:a,processorNode:c}=s.controlNets[t];return{isEnabled:a,processorNode:c}},Ge),[t]),{isEnabled:r,processorNode:o}=L(n);return o.type==="canny_image_processor"?i.jsx(fre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="hed_image_processor"?i.jsx(gre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_image_processor"?i.jsx(xre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="content_shuffle_image_processor"?i.jsx(hre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_anime_image_processor"?i.jsx(bre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mediapipe_face_processor"?i.jsx(Sre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="midas_depth_image_processor"?i.jsx(kre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mlsd_image_processor"?i.jsx(Pre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="normalbae_image_processor"?i.jsx(Ire,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="openpose_image_processor"?i.jsx(Ore,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="pidi_image_processor"?i.jsx(Mre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="zoe_depth_image_processor"?i.jsx(Tre,{controlNetId:t,processorNode:o,isEnabled:r}):null},Nre=f.memo(Are),$re=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{isEnabled:p,shouldAutoConfig:h}=d.controlNets[t];return{isEnabled:p,shouldAutoConfig:h}},Ge),[t]),{isEnabled:o,shouldAutoConfig:s}=L(r),a=L(jr),c=f.useCallback(()=>{n(ZM({controlNetId:t}))},[t,n]);return i.jsx(Pr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:s,onChange:c,isDisabled:a||!o})},zre=f.memo($re),Ok=e=>`${Math.round(e*100)}%`,Lre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{beginStepPct:p,endStepPct:h,isEnabled:m}=d.controlNets[t];return{beginStepPct:p,endStepPct:h,isEnabled:m}},Ge),[t]),{beginStepPct:o,endStepPct:s,isEnabled:a}=L(r),c=f.useCallback(d=>{n(e7({controlNetId:t,beginStepPct:d[0]})),n(t7({controlNetId:t,endStepPct:d[1]}))},[t,n]);return i.jsxs(ho,{isDisabled:!a,children:[i.jsx(zo,{children:"Begin / End Step Percentage"}),i.jsx(di,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(T5,{"aria-label":["Begin Step %","End Step %"],value:[o,s],onChange:c,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!a,children:[i.jsx(A5,{children:i.jsx(N5,{})}),i.jsx(wn,{label:Ok(o),placement:"top",hasArrow:!0,children:i.jsx(Hv,{index:0})}),i.jsx(wn,{label:Ok(s),placement:"top",hasArrow:!0,children:i.jsx(Hv,{index:1})}),i.jsx(kp,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(kp,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(kp,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Bre=f.memo(Lre),Fre=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Hre(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{controlMode:d,isEnabled:p}=c.controlNets[t];return{controlMode:d,isEnabled:p}},Ge),[t]),{controlMode:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(n7({controlNetId:t,controlMode:c}))},[t,n]);return i.jsx(Yr,{disabled:!s,label:"Control Mode",data:Fre,value:String(o),onChange:a})}const Wre=fe(aO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Ge),Vre=e=>{const t=te(),{controlNetId:n}=e,r=f.useMemo(()=>fe(Ye,({controlNet:p})=>{const{isEnabled:h,processorNode:m}=p.controlNets[n];return{isEnabled:h,processorNode:m}},Ge),[n]),o=L(jr),s=L(Wre),{isEnabled:a,processorNode:c}=L(r),d=f.useCallback(p=>{t(r7({controlNetId:n,processorType:p}))},[n,t]);return i.jsx(sr,{label:"Processor",value:c.type??"canny_image_processor",data:s,onChange:d,disabled:o||!a})},Ure=f.memo(Vre),Gre=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function qre(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{resizeMode:d,isEnabled:p}=c.controlNets[t];return{resizeMode:d,isEnabled:p}},Ge),[t]),{resizeMode:o,isEnabled:s}=L(r),a=f.useCallback(c=>{n(o7({controlNetId:t,resizeMode:c}))},[t,n]);return i.jsx(Yr,{disabled:!s,label:"Resize Mode",data:Gre,value:String(o),onChange:a})}const Kre=e=>{const{controlNetId:t}=e,n=te(),r=fe(Ye,({controlNet:m})=>{const{isEnabled:v,shouldAutoConfig:b}=m.controlNets[t];return{isEnabled:v,shouldAutoConfig:b}},Ge),{isEnabled:o,shouldAutoConfig:s}=L(r),[a,c]=JZ(!1),d=f.useCallback(()=>{n(s7({controlNetId:t}))},[t,n]),p=f.useCallback(()=>{n(a7({sourceControlNetId:t,newControlNetId:ui()}))},[t,n]),h=f.useCallback(()=>{n(i7({controlNetId:t}))},[t,n]);return i.jsxs(W,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(Pr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:o,onChange:h}),i.jsx(Oe,{sx:{w:"full",minW:0,opacity:o?1:.5,pointerEvents:o?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(ire,{controlNetId:t})}),i.jsx(Le,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:p,icon:i.jsx(Fc,{})}),i.jsx(Le,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:d,icon:i.jsx(us,{})}),i.jsx(Le,{size:"sm",tooltip:a?"Hide Advanced":"Show Advanced","aria-label":a?"Hide Advanced":"Show Advanced",onClick:c,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(ay,{sx:{boxSize:4,color:"base.700",transform:a?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!s&&i.jsx(Oe,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(W,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(W,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(W,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:a?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(cre,{controlNetId:t}),i.jsx(Bre,{controlNetId:t})]}),!a&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(xk,{controlNetId:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Hre,{controlNetId:t}),i.jsx(qre,{controlNetId:t})]}),i.jsx(Ure,{controlNetId:t})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx(xk,{controlNetId:t,height:"392px"}),i.jsx(zre,{controlNetId:t}),i.jsx(Nre,{controlNetId:t})]})]})},Yre=f.memo(Kre),Qre=fe(Ye,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ge),Xre=()=>{const{isEnabled:e}=L(Qre),t=te(),n=f.useCallback(()=>{t(l7())},[t]);return i.jsx(Pr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Jre=fe([Ye],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=c7(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Ge),Zre=()=>{const{controlNetsArray:e,activeLabel:t}=L(Jre),n=ar("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=U1(void 0,{selectFromResult:a=>{var d,p;return{firstModel:(p=a.data)==null?void 0:p.entities[(d=a.data)==null?void 0:d.ids[0]]}}}),s=f.useCallback(()=>{if(!o)return;const a=ui();r(u7({controlNetId:a})),r(q_({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Oo,{label:"ControlNet",activeLabel:t,children:i.jsxs(W,{sx:{flexDir:"column",gap:3},children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(W,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx(Xre,{})}),i.jsx(Le,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(ml,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(hl,{}),i.jsx(Yre,{controlNetId:a.controlNetId})]},a.controlNetId))]})})},Hy=f.memo(Zre),eoe=fe(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ge),toe=()=>{const{t:e}=be(),{seamlessXAxis:t}=L(eoe),n=te(),r=f.useCallback(o=>{n(d7(o.target.checked))},[n]);return i.jsx(Pr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},noe=f.memo(toe),roe=fe(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ge),ooe=()=>{const{t:e}=be(),{seamlessYAxis:t}=L(roe),n=te(),r=f.useCallback(o=>{n(f7(o.target.checked))},[n]);return i.jsx(Pr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},soe=f.memo(ooe),aoe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},ioe=fe(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:aoe(t,n)}},Ge),loe=()=>{const{t:e}=be(),{activeLabel:t}=L(ioe);return ar("seamless").isFeatureEnabled?i.jsx(Oo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Oe,{flexGrow:1,children:i.jsx(noe,{})}),i.jsx(Oe,{flexGrow:1,children:i.jsx(soe,{})})]})}):null},MO=f.memo(loe);function coe(){const e=L(o=>o.generation.horizontalSymmetrySteps),t=L(o=>o.generation.steps),n=te(),{t:r}=be();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(ew(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(ew(0))})}function uoe(){const e=L(o=>o.generation.verticalSymmetrySteps),t=L(o=>o.generation.steps),n=te(),{t:r}=be();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(tw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(tw(0))})}function doe(){const e=L(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(Pr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(p7(n.target.checked))})}const foe=fe(Ye,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ge),poe=()=>{const{t:e}=be(),{activeLabel:t}=L(foe);return ar("symmetry").isFeatureEnabled?i.jsx(Oo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(doe,{}),i.jsx(coe,{}),i.jsx(uoe,{})]})}):null},Wy=f.memo(poe),hoe=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Ge),moe=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=L(hoe),a=te(),{t:c}=be(),d=f.useCallback(h=>a(Tp(h)),[a]),p=f.useCallback(()=>{a(Tp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},DO=f.memo(moe),goe=fe([La,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),voe=()=>{const{shouldUseSliders:e,activeLabel:t}=L(goe);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}),i.jsx(DO,{}),i.jsx(PO,{})]})})},boe=f.memo(voe),TO=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(boe,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Qm,{}),i.jsx(Wy,{}),i.jsx(MO,{}),i.jsx(Fy,{})]}),yoe=()=>{const e=te(),t=f.useRef(null),n=L(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:n&&n.base_model==="sdxl"?i.jsx(jne,{}):i.jsx(TO,{})}),i.jsx(Oe,{sx:{w:"full",h:"full"},children:i.jsxs(Ay,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(sd,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(Gee,{})}),i.jsx(IO,{onDoubleClick:r}),i.jsx(sd,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(So())},children:i.jsx(OO,{})})]})})]})},xoe=f.memo(yoe);var woe=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Rk=cd(woe);function S1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var Soe=Object.defineProperty,Mk=Object.getOwnPropertySymbols,Coe=Object.prototype.hasOwnProperty,koe=Object.prototype.propertyIsEnumerable,Dk=(e,t,n)=>t in e?Soe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_oe=(e,t)=>{for(var n in t||(t={}))Coe.call(t,n)&&Dk(e,n,t[n]);if(Mk)for(var n of Mk(t))koe.call(t,n)&&Dk(e,n,t[n]);return e};function AO(e,t){if(t===null||typeof t!="object")return{};const n=_oe({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const Poe="__MANTINE_FORM_INDEX__";function Tk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${Poe}`)):!1:!1}function Ak(e,t,n){typeof n.value=="object"&&(n.value=Xl(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function Xl(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(Xl(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(Xl(c),Xl(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(Xl(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function C1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=ya(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>C1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||C1(a,t,c,o)),o},r)}function k1(e,t){return Nk(typeof e=="function"?e(t):C1(e,t))}function gp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=k1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function joe(e,{from:t,to:n},r){const o=ya(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),Zm(e,s,r)}var Ioe=Object.defineProperty,$k=Object.getOwnPropertySymbols,Eoe=Object.prototype.hasOwnProperty,Ooe=Object.prototype.propertyIsEnumerable,zk=(e,t,n)=>t in e?Ioe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Roe=(e,t)=>{for(var n in t||(t={}))Eoe.call(t,n)&&zk(e,n,t[n]);if($k)for(var n of $k(t))Ooe.call(t,n)&&zk(e,n,t[n]);return e};function Moe(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=Roe({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function Doe(e,t,n){const r=ya(e,n);return Array.isArray(r)?Zm(e,r.filter((o,s)=>s!==t),n):n}var Toe=Object.defineProperty,Lk=Object.getOwnPropertySymbols,Aoe=Object.prototype.hasOwnProperty,Noe=Object.prototype.propertyIsEnumerable,Bk=(e,t,n)=>t in e?Toe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$oe=(e,t)=>{for(var n in t||(t={}))Aoe.call(t,n)&&Bk(e,n,t[n]);if(Lk)for(var n of Lk(t))Noe.call(t,n)&&Bk(e,n,t[n]);return e};function Fk(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function Hk(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=AO(`${o}.${t}`,s));const a=$oe({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=Fk(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=Fk(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function zoe(e,t,n,r){const o=ya(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),Zm(e,s,r)}function Wk(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function Loe(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Boe=Object.defineProperty,Foe=Object.defineProperties,Hoe=Object.getOwnPropertyDescriptors,Vk=Object.getOwnPropertySymbols,Woe=Object.prototype.hasOwnProperty,Voe=Object.prototype.propertyIsEnumerable,Uk=(e,t,n)=>t in e?Boe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))Woe.call(t,n)&&Uk(e,n,t[n]);if(Vk)for(var n of Vk(t))Voe.call(t,n)&&Uk(e,n,t[n]);return e},rv=(e,t)=>Foe(e,Hoe(t));function qc({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(S1(t)),k=f.useRef(e),_=K=>{k.current=K},I=f.useCallback(()=>h({}),[]),P=K=>{const U=K?ti(ti({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>S1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),I()},[]),M=f.useCallback((K,U)=>E(ae=>rv(ti({},ae),{[K]:U})),[]),T=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const ae=ti({},U);return delete ae[K],ae}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const ae=AO(K,U);return delete ae[K],ae}),[]),$=f.useCallback((K,U)=>{const ae=Tk(K,s);A(K),h(re=>rv(ti({},re),{[K]:!0})),w(re=>{const oe=Zm(K,U,re);if(ae){const pe=gp(K,d,oe);pe.hasError?M(K,pe.error):T(K)}return oe}),!ae&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const ae=typeof K=="function"?K(U):K;return ti(ti({},U),ae)}),o&&O()},[]),B=f.useCallback((K,U)=>{A(K),w(ae=>joe(K,U,ae)),S(ae=>Moe(K,U,ae))},[]),V=f.useCallback((K,U)=>{A(K),w(ae=>Doe(K,U,ae)),S(ae=>Hk(K,U,ae,-1))},[]),q=f.useCallback((K,U,ae)=>{A(K),w(re=>zoe(K,U,ae,re)),S(re=>Hk(K,ae,re,1))},[]),G=f.useCallback(()=>{const K=k1(d,b);return S(K.errors),K},[b,d]),D=f.useCallback(K=>{const U=gp(K,d,b);return U.hasError?M(K,U.error):T(K),U},[b,d]),z=(K,{type:U="input",withError:ae=!0,withFocus:re=!0}={})=>{const pe={onChange:Loe(ce=>$(K,ce))};return ae&&(pe.error=y[K]),U==="checkbox"?pe.checked=ya(K,b):pe.value=ya(K,b),re&&(pe.onFocus=()=>h(ce=>rv(ti({},ce),{[K]:!0})),pe.onBlur=()=>{if(Tk(K,a)){const ce=gp(K,d,b);ce.hasError?M(K,ce.error):T(K)}}),pe},H=(K,U)=>ae=>{ae==null||ae.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,ae):K==null||K(c(b),ae)},Y=K=>c(K||b),ie=f.useCallback(K=>{K.preventDefault(),R()},[]),ye=K=>{if(K){const ae=ya(K,m);if(typeof ae=="boolean")return ae;const re=ya(K,b),oe=ya(K,k.current);return!Rk(re,oe)}return Object.keys(m).length>0?Wk(m):!Rk(b,k.current)},Z=f.useCallback(K=>Wk(p,K),[p]),se=f.useCallback(K=>K?!gp(K,d,b).hasError:!k1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:$,setFieldError:M,clearFieldError:T,clearErrors:O,reset:R,validate:G,validateField:D,reorderListItem:B,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:H,onReset:ie,isDirty:ye,isTouched:Z,setTouched:h,setDirty:v,resetTouched:I,resetDirty:P,isValid:se,getTransformedValues:Y}}function Tr(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=_y(),{colorMode:m}=Ds();return i.jsx(OE,{styles:()=>({input:{color:ze(d,r)(m),backgroundColor:ze(n,d)(m),borderColor:ze(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:ze(h,p)(m)}},label:{color:ze(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Uoe=[{value:"sd-1",label:vr["sd-1"]},{value:"sd-2",label:vr["sd-2"]},{value:"sdxl",label:vr.sdxl},{value:"sdxl-refiner",label:vr["sdxl-refiner"]}];function eg(e){const{...t}=e,{t:n}=be();return i.jsx(Yr,{label:n("modelManager.baseModel"),data:Uoe,...t})}function $O(e){const{data:t}=K_(),{...n}=e;return i.jsx(Yr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Goe=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function tg(e){const{...t}=e,{t:n}=be();return i.jsx(Yr,{label:n("modelManager.variant"),data:Goe,...t})}function zO(e){const{t}=be(),n=te(),{model_path:r}=e,o=qc({initialValues:{model_name:r?r.split("\\").splice(-1)[0].split(".")[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=Y_(),[a,c]=f.useState(!1),d=p=>{s({body:p}).unwrap().then(h=>{n(Dn(Bn({title:`Model Added: ${p.model_name}`,status:"success"}))),o.reset(),r&&n(fd(null))}).catch(h=>{h&&n(Dn(Bn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(p=>d(p)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Tr,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(eg,{...o.getInputProps("base_model")}),i.jsx(Tr,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(Tr,{label:"Description",...o.getInputProps("description")}),i.jsx(Tr,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(tg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(Tr,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx($O,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(rn,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function LO(e){const{t}=be(),n=te(),{model_path:r}=e,[o]=Y_(),s=qc({initialValues:{model_name:r?r.split("\\").splice(-1)[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(Dn(Bn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(fd(null))}).catch(d=>{d&&n(Dn(Bn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Tr,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(eg,{...s.getInputProps("base_model")}),i.jsx(Tr,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(Tr,{label:"Description",...s.getInputProps("description")}),i.jsx(Tr,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(tg,{...s.getInputProps("variant")}),i.jsx(rn,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const BO=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function qoe(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Yr,{label:"Model Type",value:e,data:BO,onChange:n=>{n&&t(n)}}),i.jsxs(W,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(LO,{}),e==="checkpoint"&&i.jsx(zO,{})]})]})}const Koe=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Yoe(){const e=te(),{t}=be(),n=L(c=>c.system.isProcessing),[r,{isLoading:o}]=Q_(),s=qc({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(Dn(Bn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(Dn(Bn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(Tr,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Yr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Koe,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(rn,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Qoe(){const[e,t]=f.useState("simple");return i.jsxs(W,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(rn,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(W,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Yoe,{}),e==="advanced"&&i.jsx(qoe,{})]})]})}const Xoe={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Joe=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(_o(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(_o(!1))},[c]);return i.jsxs(ho,{isInvalid:o,isDisabled:r,...s,style:n==="side"?Xoe:void 0,children:[t!==""&&i.jsx(zo,{children:t}),i.jsx(yd,{...a,onPaste:Ny,onKeyDown:d,onKeyUp:p})]})},Ec=f.memo(Joe);function Zoe(e){const{...t}=e;return i.jsx(CI,{w:"100%",...t,children:e.children})}function ese(){const e=L(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Hu),{foundModels:o,alreadyInstalled:s,filteredModels:a}=X_({search_path:e||""},{selectFromResult:({data:y})=>{const S=KD(r==null?void 0:r.entities),k=cs(S,"path"),_=UD(y,k),I=ZD(y,k);return{foundModels:y,alreadyInstalled:Gk(I,t),filteredModels:Gk(_,t)}}}),[c,{isLoading:d}]=Q_(),p=te(),{t:h}=be(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(Dn(Bn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(Dn(Bn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(W,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(tt,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(tt,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(rn,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(rn,{onClick:()=>p(fd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(tt,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(tt,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Ec,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(tt,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(tt,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(Zoe,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const Gk=(e,t)=>{const n=[];return jo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function tse(){const e=L(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Oe,{as:Qr.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(tt,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(Le,{icon:i.jsx(dW,{}),"aria-label":"Close Advanced",onClick:()=>s(fd(null)),size:"sm"})]}),i.jsx(Yr,{label:"Model Type",value:t,data:BO,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(zO,{model_path:e},e):i.jsx(LO,{model_path:e},e)]}):null}function nse(){const e=te(),{t}=be(),n=L(c=>c.modelmanager.searchFolder),{refetch:r}=X_({search_path:n||""}),o=qc({initialValues:{folder:""}}),s=f.useCallback(c=>{e(nw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(W,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(W,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(tt,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(W,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Ec,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(Le,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(S6,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(Le,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(iW,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(Le,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(us,{}),size:"sm",onClick:()=>{e(nw(null)),e(fd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const rse=f.memo(nse);function ose(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(rse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(ese,{})}),i.jsx(tse,{})]})]})}function sse(){const[e,t]=f.useState("add"),{t:n}=be();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(rn,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Qoe,{}),e=="scan"&&i.jsx(ose,{})]})}const ase=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function ise(){const{t:e}=be(),t=te(),{data:n}=na(Hu),[r,{isLoading:o}]=h7(),[s,a]=f.useState("sd-1"),c=gw(n==null?void 0:n.entities,(D,z)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-1"),d=gw(n==null?void 0:n.entities,(D,z)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(Object.keys(p[s])[0]),[v,b]=f.useState(Object.keys(p[s])[1]),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,I]=f.useState(.5),[P,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,T]=f.useState(""),[A,$]=f.useState(!1),Q=Object.keys(p[s]).filter(D=>D!==v&&D!==w),B=Object.keys(p[s]).filter(D=>D!==h&&D!==w),V=Object.keys(p[s]).filter(D=>D!==h&&D!==v),q=D=>{a(D),m(null),b(null)},G=()=>{const D=[];let z=[h,v,w];z=z.filter(Y=>Y!==null),z.forEach(Y=>{Y&&D.push(Y==null?void 0:Y.split("/")[2])});const H={model_names:D,merged_model_name:S!==""?S:D.join("-"),alpha:_,interp:P,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:H}).unwrap().then(Y=>{t(Dn(Bn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(Y=>{Y&&t(Dn(Bn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsxs(W,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(tt,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(tt,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Yr,{label:"Model Type",w:"100%",data:ase,value:s,onChange:q}),i.jsx(sr,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:D=>m(D)}),i.jsx(sr,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:B,onChange:D=>b(D)}),i.jsx(sr,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:D=>{D?(y(D),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Ec,{label:e("modelManager.mergedModelName"),value:S,onChange:D=>k(D.target.value)}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:D=>I(D),withInput:!0,withReset:!0,handleReset:()=>I(.5),withSliderMarks:!0}),i.jsx(tt,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(W,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(tt,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(Gp,{value:P,onChange:D=>E(D),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ba,{value:"weighted_sum",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ba,{value:"sigmoid",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ba,{value:"inv_sigmoid",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ba,{value:"add_difference",children:i.jsx(wn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(W,{columnGap:4,children:[i.jsx(tt,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(Gp,{value:O,onChange:D=>R(D),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ba,{value:"root",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ba,{value:"custom",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Ec,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:D=>T(D.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:D=>$(D.target.checked),fontWeight:"500"}),i.jsx(rn,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const lse=Te((e,t)=>{const{t:n}=be(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Pd,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Da,{children:c}),i.jsxs(Oa,{children:[i.jsx(rn,{ref:b,onClick:y,children:s}),i.jsx(rn,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),Vy=f.memo(lse);function cse(e){const{model:t}=e,n=te(),{t:r}=be(),[o,{isLoading:s}]=m7(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,params:{convert_dest_directory:a==="Custom"?d:void 0}};if(a==="Custom"&&d===""){n(Dn(Bn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(Dn(Bn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"success"}))),o(v).unwrap().then(b=>{n(Dn(Bn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(b=>{n(Dn(Bn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(Vy,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(rn,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsx(tt,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(vb,{children:[i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(tt,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(tt,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(Gp,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ba,{value:"InvokeAIRoot",children:i.jsx(wn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ba,{value:"Custom",children:i.jsx(wn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(tt,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Ec,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function use(e){const t=L(jr),{model:n}=e,[r,{isLoading:o}]=J_(),{data:s}=K_(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=be(),h=qc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(Dn(Bn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(Dn(Bn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(tt,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(tt,{fontSize:"sm",color:"base.400",children:[vr[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(pl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(cse,{model:n})]}),i.jsx(hl,{}),i.jsx(W,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(Tr,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(Tr,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(eg,{required:!0,...h.getInputProps("base_model")}),i.jsx(tg,{required:!0,...h.getInputProps("variant")}),i.jsx(Tr,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(Tr,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(Tr,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx($O,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(rn,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function dse(e){const t=L(jr),{model:n}=e,[r,{isLoading:o}]=J_(),s=te(),{t:a}=be(),c=qc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(Dn(Bn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(Dn(Bn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(tt,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(tt,{fontSize:"sm",color:"base.400",children:[vr[n.base_model]," Model"]})]}),i.jsx(hl,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(Tr,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(Tr,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(eg,{required:!0,...c.getInputProps("base_model")}),i.jsx(tg,{required:!0,...c.getInputProps("variant")}),i.jsx(Tr,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Tr,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(rn,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}const fse={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"};function qk(e){const t=L(jr),{t:n}=be(),r=te(),[o]=g7(),{model:s,isSelected:a,setSelectedModelId:c}=e,d=f.useCallback(()=>{c(s.id)},[s.id,c]),p=f.useCallback(()=>{o(s).unwrap().then(h=>{r(Dn(Bn({title:`${n("modelManager.modelDeleted")}: ${s.model_name}`,status:"success"})))}).catch(h=>{h&&r(Dn(Bn({title:`${n("modelManager.modelDeleteFailed")}: ${s.model_name}`,status:"success"})))}),c(void 0)},[o,s,c,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:rn,isChecked:a,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:a?"accent.400":"base.100",color:a?"base.50":"base.800",_hover:{bg:a?"accent.500":"base.300",color:a?"base.50":"base.800"},_dark:{color:a?"base.50":"base.100",bg:a?"accent.600":"base.850",_hover:{color:a?"base.50":"base.100",bg:a?"accent.550":"base.700"}}},onClick:d,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(pl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:fse[s.base_model]}),i.jsx(wn,{label:s.description,hasArrow:!0,placement:"bottom",children:i.jsx(tt,{sx:{fontWeight:500},children:s.model_name})})]})}),i.jsx(Vy,{title:n("modelManager.deleteModel"),acceptCallback:p,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(Le,{icon:i.jsx(BV,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(W,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const pse=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=be(),[o,s]=f.useState(""),[a,c]=f.useState("images"),{filteredDiffusersModels:d}=na(Hu,{selectFromResult:({data:m})=>({filteredDiffusersModels:Kk(m,"diffusers",o)})}),{filteredCheckpointModels:p}=na(Hu,{selectFromResult:({data:m})=>({filteredCheckpointModels:Kk(m,"checkpoint",o)})}),h=f.useCallback(m=>{s(m.target.value)},[]);return i.jsx(W,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(W,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{onClick:()=>c("images"),isChecked:a==="images",size:"sm",children:r("modelManager.allModels")}),i.jsx(rn,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(rn,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")})]}),i.jsx(Ec,{onChange:h,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[["images","diffusers"].includes(a)&&d.length>0&&i.jsx(Yk,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tt,{variant:"subtext",fontSize:"sm",children:"Diffusers"}),d.map(m=>i.jsx(qk,{model:m,isSelected:t===m.id,setSelectedModelId:n},m.id))]})}),["images","checkpoint"].includes(a)&&p.length>0&&i.jsx(Yk,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tt,{variant:"subtext",fontSize:"sm",children:"Checkpoints"}),p.map(m=>i.jsx(qk,{model:m,isSelected:t===m.id,setSelectedModelId:n},m.id))]})})]})]})})},Kk=(e,t,n)=>{const r=[];return jo(e==null?void 0:e.entities,o=>{if(!o)return;const s=o.model_name.toLowerCase().includes(n.toLowerCase()),a=o.model_format===t;s&&a&&r.push(o)}),r},Yk=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function hse(){const[e,t]=f.useState(),{model:n}=na(Hu,{selectFromResult:({data:r})=>({model:e?r==null?void 0:r.entities[e]:void 0})});return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(pse,{selectedModelId:e,setSelectedModelId:t}),i.jsx(mse,{model:n})]})}const mse=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(use,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(dse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(tt,{variant:"subtext",children:"No Model Selected"})})};function gse(){const{t:e}=be();return i.jsxs(W,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(tt,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(tt,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Wd,{})]})}function vse(){return i.jsx(W,{children:i.jsx(gse,{})})}const Qk=[{id:"modelManager",label:Ln.t("modelManager.modelManager"),content:i.jsx(hse,{})},{id:"importModels",label:Ln.t("modelManager.importModels"),content:i.jsx(sse,{})},{id:"mergeModels",label:Ln.t("modelManager.mergeModels"),content:i.jsx(ise,{})},{id:"settings",label:Ln.t("modelManager.settings"),content:i.jsx(vse,{})}],bse=()=>i.jsxs(Ed,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(Od,{children:Qk.map(e=>i.jsx(wc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx(km,{sx:{w:"full",h:"full"},children:Qk.map(e=>i.jsx(Cm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),yse=f.memo(bse);const xse=e=>fe([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),wse=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},Sse=fe([e=>e.nodes],e=>e.invocationTemplates),Uy="node-drag-handle",Xk={dragHandle:`.${Uy}`},Cse=()=>{const e=L(Sse),t=G1();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...Xk,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=ui(),s=rw(r.inputs,(h,m,v)=>{const b=ui(),w=wse(b,m);return h[v]=w,h},{}),a=rw(r.outputs,(h,m,v)=>{const w={id:ui(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...Xk,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},kse=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:Uy,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(wn,{label:t,children:i.jsx(Qs,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(wn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(Kr,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:JH})})]})},FO=f.memo(kse),HO=()=>()=>!0,_se={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},Pse={left:"-1rem"},jse={right:"-0.5rem"},Ise=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(wn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:Z_,children:i.jsx(v7,{type:r,id:s,isValidConnection:n,position:r==="target"?ow.Left:ow.Right,style:{backgroundColor:e3[a].colorCssVar,...o,..._se,...r==="target"?Pse:jse}})})},WO=f.memo(Ise),Ese=e=>i.jsx(tW,{}),Ose=f.memo(Ese),Rse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Nb,{onChange:o,isChecked:n.value})},Mse=f.memo(Rse),Dse=e=>null,Tse=f.memo(Dse);function ng(){return(ng=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function _1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Oc=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(Jk(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=P1(o.current),I=S?_.addEventListener:_.removeEventListener;I(k?"touchmove":"mousemove",b),I(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(Zk(k),!function(P,E){return E&&!Fu(P)}(k,d.current)&&_)){if(Fu(k)){d.current=!0;var I=k.changedTouches||[];I.length&&(c.current=I[0].identifier)}_.focus(),s(Jk(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),F.createElement("div",ng({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),rg=function(e){return e.filter(Boolean).join(" ")},qy=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=rg(["react-colorful__pointer",e.className]);return F.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},F.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},fo=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},UO=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:fo(e.h),s:fo(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:fo(o/2),a:fo(r,2)}},j1=function(e){var t=UO(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},ov=function(e){var t=UO(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Ase=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:fo(255*[r,c,a,a,d,r][p]),g:fo(255*[d,r,r,c,a,a][p]),b:fo(255*[a,a,d,r,r,c][p]),a:fo(o,2)}},Nse=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:fo(60*(c<0?c+6:c)),s:fo(s?a/s*100:0),v:fo(s/255*100),a:o}},$se=F.memo(function(e){var t=e.hue,n=e.onChange,r=rg(["react-colorful__hue",e.className]);return F.createElement("div",{className:r},F.createElement(Gy,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Oc(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":fo(t),"aria-valuemax":"360","aria-valuemin":"0"},F.createElement(qy,{className:"react-colorful__hue-pointer",left:t/360,color:j1({h:t,s:100,v:100,a:1})})))}),zse=F.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:j1({h:t.h,s:100,v:100,a:1})};return F.createElement("div",{className:"react-colorful__saturation",style:r},F.createElement(Gy,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Oc(t.s+100*o.left,0,100),v:Oc(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+fo(t.s)+"%, Brightness "+fo(t.v)+"%"},F.createElement(qy,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:j1(t)})))}),GO=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Lse(e,t,n){var r=_1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;GO(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var Bse=typeof window<"u"?f.useLayoutEffect:f.useEffect,Fse=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},e_=new Map,Hse=function(e){Bse(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!e_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,e_.set(t,n);var r=Fse();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Wse=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+ov(Object.assign({},n,{a:0}))+", "+ov(Object.assign({},n,{a:1}))+")"},s=rg(["react-colorful__alpha",t]),a=fo(100*n.a);return F.createElement("div",{className:s},F.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),F.createElement(Gy,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Oc(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},F.createElement(qy,{className:"react-colorful__alpha-pointer",left:n.a,color:ov(n)})))},Vse=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=VO(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Hse(c);var d=Lse(n,o,s),p=d[0],h=d[1],m=rg(["react-colorful",t]);return F.createElement("div",ng({},a,{ref:c,className:m}),F.createElement(zse,{hsva:p,onChange:h}),F.createElement($se,{hue:p.h,onChange:h}),F.createElement(Wse,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Use={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Nse,fromHsva:Ase,equal:GO},qO=function(e){return F.createElement(Vse,ng({},e,{colorModel:Use}))};const Gse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(qO,{className:"nodrag",color:n.value,onChange:o})},qse=f.memo(Gse),Kse=e=>null,Yse=f.memo(Kse),Qse=e=>null,Xse=f.memo(Qse),Jse=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=U1(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=RO(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Yr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&vr[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Zse=f.memo(Jse),eae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(Ts({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(_5,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},tae=f.memo(eae),nae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=A1({id:`node_${t}`,data:r});return i.jsxs(W,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(oae,{imageName:d},d)),Ep(r,a)&&i.jsx(nh,{isOver:o})]})},rae=f.memo(nae),oae=e=>{const{currentData:t}=os(e.imageName);return i.jsx(yi,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},sae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=os(((p=n.value)==null?void 0:p.image_name)??oo.skipToken),s=f.useCallback(()=>{r(Ts({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(yi,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},aae=f.memo(sae),iae=e=>i.jsx(RH,{}),t_=f.memo(iae),lae=e=>null,cae=f.memo(lae),uae=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=b7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},dae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=U_(),a=f.useMemo(()=>{if(!s)return[];const p=[];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=uae(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(tt,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(sr,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&vr[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},fae=f.memo(dae),pae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=be(),s=ar("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(W1),d=f.useMemo(()=>{if(!a)return[];const b=[];return jo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:vr[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=Jm(b);w&&r(Ts({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(sr,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&vr[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},hae=f.memo(pae),mae=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(Kh)||r(Ts({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(Kh)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(dm,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(pm,{}),i.jsxs(fm,{children:[i.jsx(mm,{}),i.jsx(hm,{})]})]})},gae=f.memo(mae),vae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s.target.value}))};return i.jsx(yd,{onChange:o,value:n.value})},bae=f.memo(vae),yae=e=>null,xae=f.memo(yae),wae=e=>null,Sae=f.memo(wae),Cae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=F_(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=kO(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(sr,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&vr[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},kae=f.memo(Cae),_ae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=be(),s=ar("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(V1),d=f.useMemo(()=>{if(!a)return[];const b=[];return jo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:vr[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=Jm(b);w&&r(Ts({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(sr,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&vr[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Pae=f.memo(_ae),jae=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(bae,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(Mse,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(gae,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(tae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(aae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(cae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Yse,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(xae,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(Tse,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(Sae,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Xse,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(hae,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(Pae,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(kae,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(fae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Zse,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(Ose,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(t_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(qse,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(t_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(rae,{nodeId:t,field:n,template:r}):i.jsxs(Oe,{p:2,children:["Unknown field type: ",o]})},Iae=f.memo(jae);function Eae(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=HO();return i.jsx(Oe,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(ho,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(di,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(di,{children:i.jsx(wn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:Z_,children:i.jsx(zo,{children:r==null?void 0:r.title})})}),i.jsx(Iae,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(WO,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(di,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(zo,{children:["Unknown input: ",n.name]})})})})}const Oae=e=>{const{nodeId:t,template:n,inputs:r}=e,o=L(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=L(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(Mae,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},Tae=f.memo(Dae),Aae=e=>{const{...t}=e;return i.jsx(IT,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:t3,...t})},I1=f.memo(Aae),E1=e=>{const[t,n]=Dc("shadows",["nodeSelectedOutline","dark-lg"]),r=L(o=>o.hotkeys.shift);return i.jsx(Oe,{className:r?Uy:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:t3,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},KO=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>xse(o),[o]),d=L(c);return d?i.jsxs(E1,{selected:r,children:[i.jsx(FO,{nodeId:t,title:d.title,description:d.description}),i.jsxs(W,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(Tae,{nodeId:t,outputs:a,template:d}),i.jsx(Rae,{nodeId:t,inputs:s,template:d})]}),i.jsx(I1,{})]}):i.jsx(E1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(Kr,{as:h6,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(I1,{})]})})});KO.displayName="InvocationComponent";const Nae=e=>{const t=sw(a=>a.system.progressImage),n=sw(a=>a.nodes.progressNodeSize),r=y7(),{selected:o}=e,s=(a,c)=>{r(x7(c))};return i.jsxs(E1,{selected:o,children:[i.jsx(FO,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(W,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Tc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(W,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(mi,{})})}),i.jsx(I1,{onResize:s})]})},$ae=f.memo(Nae),zae=()=>{const{t:e}=be(),{zoomIn:t,zoomOut:n,fitView:r}=G1(),o=te(),s=L(w=>w.nodes.shouldShowGraphOverlay),a=L(w=>w.nodes.shouldShowFieldTypeLegend),c=L(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(w7(!s))},[s,o]),v=f.useCallback(()=>{o(S7(!a))},[a,o]),b=f.useCallback(()=>{o(C7(!c))},[c,o]);return i.jsxs(nr,{isAttached:!0,orientation:"vertical",children:[i.jsx(wn,{label:e("nodes.zoomInNodes"),children:i.jsx(Le,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(ml,{})})}),i.jsx(wn,{label:e("nodes.zoomOutNodes"),children:i.jsx(Le,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(oW,{})})}),i.jsx(wn,{label:e("nodes.fitViewportNodes"),children:i.jsx(Le,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(UH,{})})}),i.jsx(wn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(Le,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(Lb,{})})}),i.jsx(wn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(Le,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(ZH,{})})}),i.jsx(wn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(Le,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(nW,{})})})]})},Lae=f.memo(zae),Bae=()=>i.jsx(id,{position:"bottom-left",children:i.jsx(Lae,{})}),Fae=f.memo(Bae),Hae=()=>{const e=vp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=L(o=>o.nodes.shouldShowMinimapPanel),n=vp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=vp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(bT,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Wae=f.memo(Hae),Vae=()=>{const{t:e}=be(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=L(d=>d.nodes.nodes),c=f.useCallback(()=>{t(k7()),t(Dn(Bn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(Le,{icon:i.jsx(us,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Pd,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Ma,{}),i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Da,{children:i.jsx(tt,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Oa,{children:[i.jsx(gc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(gc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Uae=f.memo(Vae);function Gae(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Ln.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Ln.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Ln.t("toast.nodesLoaded")}}const qae=()=>{const{t:e}=be(),t=te(),{fitView:n}=G1(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Gae(p);h?(t(_7(p.nodes)),t(P7(p.edges)),n(),t(Dn(Bn({title:m,status:"success"})))):t(Dn(Bn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(Dn(Bn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(hE,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(Le,{icon:i.jsx(Md,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Kae=f.memo(qae);function Yae(e){const{iconButton:t=!1,...n}=e,r=te(),o=L(Kn),s=Bd(),a=f.useCallback(()=>{r(dd("nodes"))},[r]),{t:c}=be();return nt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Oe,{style:{flexGrow:4},position:"relative",children:i.jsxs(Oe,{style:{position:"relative"},children:[!s&&i.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(xO,{})}),t?i.jsx(Le,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(y6,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(rn,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function Qae(){const{t:e}=be(),t=te(),n=f.useCallback(()=>{t(j7())},[t]);return i.jsx(Le,{icon:i.jsx(uW,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Xae=()=>{const{t:e}=be(),t=L(o=>o.nodes.editorInstance),n=L(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>I7(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(Le,{icon:i.jsx(_m,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},Jae=f.memo(Xae),Zae=()=>i.jsx(id,{position:"top-center",children:i.jsxs(di,{children:[i.jsx(Yae,{}),i.jsx(Xm,{}),i.jsx(Qae,{}),i.jsx(Jae,{}),i.jsx(Kae,{}),i.jsx(Uae,{})]})}),eie=f.memo(Zae),tie=fe([Ye],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Ge),nie=()=>{const e=te(),{data:t}=L(tie),n=Cse(),r=Bc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(E7(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(sr,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:YO,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},YO=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(tt,{fontWeight:600,children:e}),i.jsx(tt,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));YO.displayName="SelectItem";const rie=()=>i.jsx(id,{position:"top-left",children:i.jsx(nie,{})}),oie=f.memo(rie),sie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(e3,({title:e,description:t,color:n},r)=>i.jsx(wn,{label:t,children:i.jsx(pl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),aie=f.memo(sie),iie=()=>{const e=L(n=>n),t=O7(e);return i.jsx(Oe,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},lie=f.memo(iie),cie=()=>{const e=L(n=>n.nodes.shouldShowGraphOverlay),t=L(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(id,{position:"top-right",children:[t&&i.jsx(aie,{}),e&&i.jsx(lie,{})]})},uie=f.memo(cie),die={invocation:KO,progress_image:$ae},fie=()=>{const e=te(),t=L(p=>p.nodes.nodes),n=L(p=>p.nodes.edges),r=f.useCallback(p=>{e(R7(p))},[e]),o=f.useCallback(p=>{e(M7(p))},[e]),s=f.useCallback((p,h)=>{e(D7(h))},[e]),a=f.useCallback(p=>{e(T7(p))},[e]),c=f.useCallback(()=>{e(A7())},[e]),d=f.useCallback(p=>{e(N7(p)),p&&p.fitView()},[e]);return i.jsxs($7,{nodeTypes:die,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(oie,{}),i.jsx(eie,{}),i.jsx(uie,{}),i.jsx(Fae,{}),i.jsx(kT,{}),i.jsx(Wae,{})]})},pie=()=>i.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(z7,{children:i.jsx(fie,{})})}),hie=f.memo(pie),mie=()=>i.jsx(hie,{}),gie=f.memo(mie),vie=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),bie=()=>{const{shouldUseSliders:e,activeLabel:t}=L(vie);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(W,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]})})})},QO=f.memo(bie),yie=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(SO,{}),i.jsx(Ld,{}),i.jsx(wO,{}),i.jsx(Hd,{}),i.jsx(QO,{}),i.jsx(CO,{}),i.jsx(zd,{}),i.jsx(Qm,{})]}),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(QO,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Qm,{}),i.jsx(Wy,{}),i.jsx(MO,{}),i.jsx(Fy,{})]}),xie=()=>{const e=L(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:e&&e.base_model==="sdxl"?i.jsx(yie,{}):i.jsx(XO,{})}),i.jsx(OO,{})]})},wie=f.memo(xie);var O1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=aw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=aw;e.exports=r.Konva})(O1,O1.exports);var Sie=O1.exports;const ad=cd(Sie);var JO={exports:{}};/** - * @license React - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Cie=function(t){var n={},r=f,o=bp,s=Object.assign;function a(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,g=1;gJ||C[N]!==j[J]){var de=` -`+C[N].replace(" at new "," at ");return l.displayName&&de.includes("")&&(de=de.replace("",l.displayName)),de}while(1<=N&&0<=J);break}}}finally{Gt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var Jt=Object.prototype.hasOwnProperty,Vt=[],$e=-1;function yt(l){return{current:l}}function Mt(l){0>$e||(l.current=Vt[$e],Vt[$e]=null,$e--)}function Ht(l,u){$e++,Vt[$e]=l.current,l.current=u}var jn={},Ut=yt(jn),un=yt(!1),sn=jn;function Ir(l,u){var g=l.type.contextTypes;if(!g)return jn;var x=l.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===u)return x.__reactInternalMemoizedMaskedChildContext;var C={},j;for(j in g)C[j]=u[j];return x&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=C),C}function Xn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Ut)}function In(l,u,g){if(Ut.current!==jn)throw Error(a(168));Ht(Ut,u),Ht(un,g)}function On(l,u,g){var x=l.stateNode;if(u=u.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var C in x)if(!(C in u))throw Error(a(108,M(l)||"Unknown",C));return s({},g,x)}function Jn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Ut.current,Ht(Ut,l),Ht(un,un.current),!0}function hr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=On(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Ut),Ht(Ut,l)):Mt(un),Ht(un,g)}var Tn=Math.clz32?Math.clz32:Sn,An=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(An(l)/dn|0)|0}var En=64,vn=4194304;function bn(l){switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function Ke(l,u){var g=l.pendingLanes;if(g===0)return 0;var x=0,C=l.suspendedLanes,j=l.pingedLanes,N=g&268435455;if(N!==0){var J=N&~C;J!==0?x=bn(J):(j&=N,j!==0&&(x=bn(j)))}else N=g&~C,N!==0?x=bn(N):j!==0&&(x=bn(j));if(x===0)return 0;if(u!==0&&u!==x&&!(u&C)&&(C=x&-x,j=u&-u,C>=j||C===16&&(j&4194240)!==0))return u;if(x&4&&(x|=g&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=x;0g;g++)u.push(l);return u}function mt(l,u,g){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-Tn(u),l[u]=g}function ot(l,u){var g=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var x=l.eventTimes;for(l=l.expirationTimes;0>=N,C-=N,Do=1<<32-Tn(u)+C|g<Cn?(Lr=Qt,Qt=null):Lr=Qt.sibling;var kn=it(ue,Qt,ve[Cn],lt);if(kn===null){Qt===null&&(Qt=Lr);break}l&&Qt&&kn.alternate===null&&u(ue,Qt),ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn,Qt=Lr}if(Cn===ve.length)return g(ue,Qt),Zn&&Ti(ue,Cn),Tt;if(Qt===null){for(;CnCn?(Lr=Qt,Qt=null):Lr=Qt.sibling;var Ja=it(ue,Qt,kn.value,lt);if(Ja===null){Qt===null&&(Qt=Lr);break}l&&Qt&&Ja.alternate===null&&u(ue,Qt),ne=j(Ja,ne,Cn),nn===null?Tt=Ja:nn.sibling=Ja,nn=Ja,Qt=Lr}if(kn.done)return g(ue,Qt),Zn&&Ti(ue,Cn),Tt;if(Qt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Yt(ue,kn.value,lt),kn!==null&&(ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn);return Zn&&Ti(ue,Cn),Tt}for(Qt=x(ue,Qt);!kn.done;Cn++,kn=ve.next())kn=Qn(Qt,ue,Cn,kn.value,lt),kn!==null&&(l&&kn.alternate!==null&&Qt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn);return l&&Qt.forEach(function(q8){return u(ue,q8)}),Zn&&Ti(ue,Cn),Tt}function ga(ue,ne,ve,lt){if(typeof ve=="object"&&ve!==null&&ve.type===h&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case d:e:{for(var Tt=ve.key,nn=ne;nn!==null;){if(nn.key===Tt){if(Tt=ve.type,Tt===h){if(nn.tag===7){g(ue,nn.sibling),ne=C(nn,ve.props.children),ne.return=ue,ue=ne;break e}}else if(nn.elementType===Tt||typeof Tt=="object"&&Tt!==null&&Tt.$$typeof===I&&dx(Tt)===nn.type){g(ue,nn.sibling),ne=C(nn,ve.props),ne.ref=Yc(ue,nn,ve),ne.return=ue,ue=ne;break e}g(ue,nn);break}else u(ue,nn);nn=nn.sibling}ve.type===h?(ne=Fi(ve.props.children,ue.mode,lt,ve.key),ne.return=ue,ue=ne):(lt=_f(ve.type,ve.key,ve.props,null,ue.mode,lt),lt.ref=Yc(ue,ne,ve),lt.return=ue,ue=lt)}return N(ue);case p:e:{for(nn=ve.key;ne!==null;){if(ne.key===nn)if(ne.tag===4&&ne.stateNode.containerInfo===ve.containerInfo&&ne.stateNode.implementation===ve.implementation){g(ue,ne.sibling),ne=C(ne,ve.children||[]),ne.return=ue,ue=ne;break e}else{g(ue,ne);break}else u(ue,ne);ne=ne.sibling}ne=s0(ve,ue.mode,lt),ne.return=ue,ue=ne}return N(ue);case I:return nn=ve._init,ga(ue,ne,nn(ve._payload),lt)}if(q(ve))return $n(ue,ne,ve,lt);if(O(ve))return yo(ue,ne,ve,lt);Jd(ue,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ne!==null&&ne.tag===6?(g(ue,ne.sibling),ne=C(ne,ve),ne.return=ue,ue=ne):(g(ue,ne),ne=o0(ve,ue.mode,lt),ne.return=ue,ue=ne),N(ue)):g(ue,ne)}return ga}var kl=fx(!0),px=fx(!1),Qc={},Uo=yt(Qc),Xc=yt(Qc),_l=yt(Qc);function Fs(l){if(l===Qc)throw Error(a(174));return l}function bg(l,u){Ht(_l,u),Ht(Xc,l),Ht(Uo,Qc),l=D(u),Mt(Uo),Ht(Uo,l)}function Pl(){Mt(Uo),Mt(Xc),Mt(_l)}function hx(l){var u=Fs(_l.current),g=Fs(Uo.current);u=z(g,l.type,u),g!==u&&(Ht(Xc,l),Ht(Uo,u))}function yg(l){Xc.current===l&&(Mt(Uo),Mt(Xc))}var cr=yt(0);function Zd(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||Nr(g)||$s(g)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var xg=[];function wg(){for(var l=0;lg?g:4,l(!0);var x=Sg.transition;Sg.transition={};try{l(!1),u()}finally{je=g,Sg.transition=x}}function Mx(){return Go().memoizedState}function x8(l,u,g){var x=Ya(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Dx(l))Tx(u,g);else if(g=rx(l,u,g,x),g!==null){var C=to();qo(g,l,x,C),Ax(g,u,x)}}function w8(l,u,g){var x=Ya(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Dx(l))Tx(u,C);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=u.lastRenderedReducer,j!==null))try{var N=u.lastRenderedState,J=j(N,g);if(C.hasEagerState=!0,C.eagerState=J,fn(J,N)){var de=u.interleaved;de===null?(C.next=C,hg(u)):(C.next=de.next,de.next=C),u.interleaved=C;return}}catch{}finally{}g=rx(l,u,C,x),g!==null&&(C=to(),qo(g,l,x,C),Ax(g,u,x))}}function Dx(l){var u=l.alternate;return l===ur||u!==null&&u===ur}function Tx(l,u){Jc=tf=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Ax(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Ee(l,g)}}var of={readContext:Vo,useCallback:Jr,useContext:Jr,useEffect:Jr,useImperativeHandle:Jr,useInsertionEffect:Jr,useLayoutEffect:Jr,useMemo:Jr,useReducer:Jr,useRef:Jr,useState:Jr,useDebugValue:Jr,useDeferredValue:Jr,useTransition:Jr,useMutableSource:Jr,useSyncExternalStore:Jr,useId:Jr,unstable_isNewReconciler:!1},S8={readContext:Vo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Vo,useEffect:kx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,nf(4194308,4,jx.bind(null,u,l),g)},useLayoutEffect:function(l,u){return nf(4194308,4,l,u)},useInsertionEffect:function(l,u){return nf(4,2,l,u)},useMemo:function(l,u){var g=Hs();return u=u===void 0?null:u,l=l(),g.memoizedState=[l,u],l},useReducer:function(l,u,g){var x=Hs();return u=g!==void 0?g(u):u,x.memoizedState=x.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},x.queue=l,l=l.dispatch=x8.bind(null,ur,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Sx,useDebugValue:Eg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Sx(!1),u=l[0];return l=y8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=ur,C=Hs();if(Zn){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),zr===null)throw Error(a(349));Ni&30||vx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,kx(yx.bind(null,x,j,l),[l]),x.flags|=2048,tu(9,bx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(Zn){var g=Xr,x=Do;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=Zc++,0Qg&&(u.flags|=128,x=!0,ou(C,!1),u.lanes=4194304)}else{if(!x)if(l=Zd(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),ou(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!Zn)return Zr(u),null}else 2*Ve()-C.renderingStartTime>Qg&&g!==1073741824&&(u.flags|=128,x=!0,ou(C,!1),u.lanes=4194304);C.isBackwards?(j.sibling=u.child,u.child=j):(l=C.last,l!==null?l.sibling=j:u.child=j,C.last=j)}return C.tail!==null?(u=C.tail,C.rendering=u,C.tail=u.sibling,C.renderingStartTime=Ve(),u.sibling=null,l=cr.current,Ht(cr,x?l&1|2:l&1),u):(Zr(u),null);case 22:case 23:return t0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?Ao&1073741824&&(Zr(u),ce&&u.subtreeFlags&6&&(u.flags|=8192)):Zr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function O8(l,u){switch(ag(u),u.tag){case 1:return Xn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return Pl(),Mt(un),Mt(Ut),wg(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return yg(u),null;case 13:if(Mt(cr),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));wl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(cr),null;case 4:return Pl(),null;case 10:return fg(u.type._context),null;case 22:case 23:return t0(),null;case 24:return null;default:return null}}var uf=!1,eo=!1,R8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Il(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){er(l,u,x)}else g.current=null}function zg(l,u,g){try{g()}catch(x){er(l,u,x)}}var e2=!1;function M8(l,u){for(H(l.containerInfo),pt=u;pt!==null;)if(l=pt,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,pt=u;else for(;pt!==null;){l=pt;try{var g=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,C=g.memoizedState,j=l.stateNode,N=j.getSnapshotBeforeUpdate(l.elementType===l.type?x:ms(l.type,x),C);j.__reactInternalSnapshotBeforeUpdate=N}break;case 3:ce&&ln(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(J){er(l,l.return,J)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=e2,e2=!1,g}function su(l,u,g){var x=u.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var C=x=x.next;do{if((C.tag&l)===l){var j=C.destroy;C.destroy=void 0,j!==void 0&&zg(u,g,j)}C=C.next}while(C!==x)}}function df(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&l)===l){var x=g.create;g.destroy=x()}g=g.next}while(g!==u)}}function Lg(l){var u=l.ref;if(u!==null){var g=l.stateNode;switch(l.tag){case 5:l=G(g);break;default:l=g}typeof u=="function"?u(l):u.current=l}}function t2(l){var u=l.alternate;u!==null&&(l.alternate=null,t2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ae(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function n2(l){return l.tag===5||l.tag===3||l.tag===4}function r2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||n2(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Bg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Pn(g,l,u):ht(g,l);else if(x!==4&&(l=l.child,l!==null))for(Bg(l,u,g),l=l.sibling;l!==null;)Bg(l,u,g),l=l.sibling}function Fg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?qe(g,l,u):xe(g,l);else if(x!==4&&(l=l.child,l!==null))for(Fg(l,u,g),l=l.sibling;l!==null;)Fg(l,u,g),l=l.sibling}var Ur=null,gs=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Hg(l,u,g),g=g.sibling}function Hg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Yn,g)}catch{}switch(g.tag){case 5:eo||Il(g,u);case 6:if(ce){var x=Ur,C=gs;Ur=null,Vs(l,u,g),Ur=x,gs=C,Ur!==null&&(gs?Je(Ur,g.stateNode):Pe(Ur,g.stateNode))}else Vs(l,u,g);break;case 18:ce&&Ur!==null&&(gs?Be(Ur,g.stateNode):xt(Ur,g.stateNode));break;case 4:ce?(x=Ur,C=gs,Ur=g.stateNode.containerInfo,gs=!0,Vs(l,u,g),Ur=x,gs=C):(ge&&(x=g.stateNode.containerInfo,C=br(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!eo&&(x=g.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){C=x=x.next;do{var j=C,N=j.destroy;j=j.tag,N!==void 0&&(j&2||j&4)&&zg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!eo&&(Il(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(J){er(g,u,J)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(eo=(x=eo)||g.memoizedState!==null,Vs(l,u,g),eo=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function o2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new R8),u.forEach(function(x){var C=F8.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function vs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case pf:return":has("+(Ug(l)||"")+")";case hf:return'[role="'+l.value+'"]';case gf:return'"'+l.value+'"';case mf:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function u2(l,u){var g=[];l=[l,0];for(var x=0;xC&&(C=N),x&=~j}if(x=C,x=Ve()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*T8(x/1960))-x,10l?16:l,Ka===null)var x=!1;else{if(l=Ka,Ka=null,wf=0,an&6)throw Error(a(331));var C=an;for(an|=4,pt=l.current;pt!==null;){var j=pt,N=j.child;if(pt.flags&16){var J=j.deletions;if(J!==null){for(var de=0;deVe()-Yg?zi(l,0):Kg|=g),bo(l,u)}function y2(l,u){u===0&&(l.mode&1?(u=vn,vn<<=1,!(vn&130023424)&&(vn=4194304)):u=1);var g=to();l=Bs(l,u),l!==null&&(mt(l,u,g),bo(l,g))}function B8(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),y2(l,g)}function F8(l,u){var g=0;switch(l.tag){case 13:var x=l.stateNode,C=l.memoizedState;C!==null&&(g=C.retryLane);break;case 19:x=l.stateNode;break;default:throw Error(a(314))}x!==null&&x.delete(u),y2(l,g)}var x2;x2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)go=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return go=!1,I8(l,u,g);go=!!(l.flags&131072)}else go=!1,Zn&&u.flags&1048576&&Xy(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;af(l,u),l=u.pendingProps;var C=Ir(u,Ut.current);Cl(u,g),C=kg(null,u,x,l,C,g);var j=_g();return u.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Xn(x)?(j=!0,Jn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,mg(u),C.updater=Xd,u.stateNode=C,C._reactInternals=u,vg(u,x,l,g),u=Dg(null,u,x,!0,j,g)):(u.tag=0,Zn&&j&&sg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(af(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=W8(x),l=ms(x,l),C){case 0:u=Mg(null,u,x,l,g);break e;case 1:u=Gx(null,u,x,l,g);break e;case 11:u=Fx(null,u,x,l,g);break e;case 14:u=Hx(null,u,x,ms(x.type,l),g);break e}throw Error(a(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Mg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Gx(l,u,x,C,g);case 3:e:{if(qx(u),l===null)throw Error(a(387));x=u.pendingProps,j=u.memoizedState,C=j.element,ox(l,u),Qd(u,x,null,g);var N=u.memoizedState;if(x=N.element,_e&&j.isDehydrated)if(j={element:x,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},u.updateQueue.baseState=j,u.memoizedState=j,u.flags&256){C=jl(Error(a(423)),u),u=Kx(l,u,x,g,C);break e}else if(x!==C){C=jl(Error(a(424)),u),u=Kx(l,u,x,g,C);break e}else for(_e&&(Wo=ee(u.stateNode.containerInfo),To=u,Zn=!0,hs=null,Kc=!1),g=px(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(wl(),x===C){u=ha(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return hx(u),l===null&&lg(u),x=u.type,C=u.pendingProps,j=l!==null?l.memoizedProps:null,N=C.children,K(x,C)?N=null:j!==null&&K(x,j)&&(u.flags|=32),Ux(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&lg(u),null;case 13:return Yx(l,u,g);case 4:return bg(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=kl(u,null,x,g):uo(l,u,x,g),u.child;case 11:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Fx(l,u,x,C,g);case 7:return uo(l,u,u.pendingProps,g),u.child;case 8:return uo(l,u,u.pendingProps.children,g),u.child;case 12:return uo(l,u,u.pendingProps.children,g),u.child;case 10:e:{if(x=u.type._context,C=u.pendingProps,j=u.memoizedProps,N=C.value,nx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=ha(l,u,g);break e}}else for(j=u.child,j!==null&&(j.return=u);j!==null;){var J=j.dependencies;if(J!==null){N=j.child;for(var de=J.firstContext;de!==null;){if(de.context===x){if(j.tag===1){de=pa(-1,g&-g),de.tag=2;var De=j.updateQueue;if(De!==null){De=De.shared;var gt=De.pending;gt===null?de.next=de:(de.next=gt.next,gt.next=de),De.pending=de}}j.lanes|=g,de=j.alternate,de!==null&&(de.lanes|=g),pg(j.return,g,u),J.lanes|=g;break}de=de.next}}else if(j.tag===10)N=j.type===u.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(a(341));N.lanes|=g,J=N.alternate,J!==null&&(J.lanes|=g),pg(N,g,u),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===u){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}uo(l,u,C.children,g),u=u.child}return u;case 9:return C=u.type,x=u.pendingProps.children,Cl(u,g),C=Vo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=ms(x,u.pendingProps),C=ms(x.type,C),Hx(l,u,x,C,g);case 15:return Wx(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),af(l,u),u.tag=1,Xn(x)?(l=!0,Jn(u)):l=!1,Cl(u,g),cx(u,x,C),vg(u,x,C,g),Dg(null,u,x,!0,l,g);case 19:return Xx(l,u,g);case 22:return Vx(l,u,g)}throw Error(a(156,u.tag))};function w2(l,u){return We(l,u)}function H8(l,u,g,x){this.tag=l,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ko(l,u,g,x){return new H8(l,u,g,x)}function r0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function W8(l){if(typeof l=="function")return r0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function Xa(l,u){var g=l.alternate;return g===null?(g=Ko(l.tag,u,l.key,l.mode),g.elementType=l.elementType,g.type=l.type,g.stateNode=l.stateNode,g.alternate=l,l.alternate=g):(g.pendingProps=u,g.type=l.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=l.flags&14680064,g.childLanes=l.childLanes,g.lanes=l.lanes,g.child=l.child,g.memoizedProps=l.memoizedProps,g.memoizedState=l.memoizedState,g.updateQueue=l.updateQueue,u=l.dependencies,g.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},g.sibling=l.sibling,g.index=l.index,g.ref=l.ref,g}function _f(l,u,g,x,C,j){var N=2;if(x=l,typeof l=="function")r0(l)&&(N=1);else if(typeof l=="string")N=5;else e:switch(l){case h:return Fi(g.children,C,j,u);case m:N=8,C|=8;break;case v:return l=Ko(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Ko(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Ko(19,g,u,C),l.elementType=k,l.lanes=j,l;case P:return Pf(g,C,j,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:N=10;break e;case w:N=9;break e;case y:N=11;break e;case _:N=14;break e;case I:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Ko(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Ko(7,l,x,u),l.lanes=g,l}function Pf(l,u,g,x){return l=Ko(22,l,x,u),l.elementType=P,l.lanes=g,l.stateNode={isHidden:!1},l}function o0(l,u,g){return l=Ko(6,l,null,u),l.lanes=g,l}function s0(l,u,g){return u=Ko(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function V8(l,u,g,x,C){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=oe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=x,this.onRecoverableError=C,_e&&(this.mutableSourceEagerHydrationData=null)}function S2(l,u,g,x,C,j,N,J,de){return l=new V8(l,u,g,J,de),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Ko(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},mg(j),l}function C2(l){if(!l)return jn;l=l._reactInternals;e:{if(T(l)!==l||l.tag!==1)throw Error(a(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Xn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(a(171))}if(l.tag===1){var g=l.type;if(Xn(g))return On(l,g,u)}return u}function k2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(a(188)):(l=Object.keys(l).join(","),Error(a(268,l)));return l=Q(u),l===null?null:l.stateNode}function _2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=De&&j>=Yt&&C<=gt&&N<=it){l.splice(u,1);break}else if(x!==De||g.width!==de.width||itN){if(!(j!==Yt||g.height!==de.height||gtC)){De>x&&(de.width+=De-x,de.x=x),gtj&&(de.height+=Yt-j,de.y=j),itg&&(g=N)),N ")+` - -No matching component was found for: - `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return G(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:U8,findFiberByHostInstance:l.findFiberByHostInstance||G8,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Yn=u.inject(l),gn=u}catch{}l=!!u.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,u,g,x){if(!ct)throw Error(a(363));l=Gg(l,u);var C=At(l,g,x).disconnect;return{disconnect:function(){C()}}},n.registerMutableSourceForHydration=function(l,u){var g=u._getVersion;g=g(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,g]:l.mutableSourceEagerHydrationData.push(u,g)},n.runWithPriority=function(l,u){var g=je;try{return je=l,u()}finally{je=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=to(),N=Ya(C);return g=C2(g),u.context===null?u.context=g:u.pendingContext=g,u=pa(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=Ga(C,u,N),l!==null&&(qo(l,C,N,j),Yd(l,C,N)),N},n};JO.exports=Cie;var kie=JO.exports;const _ie=cd(kie);var ZO={exports:{}},xl={};/** - * @license React - * react-reconciler-constants.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */xl.ConcurrentRoot=1;xl.ContinuousEventPriority=4;xl.DefaultEventPriority=16;xl.DiscreteEventPriority=1;xl.IdleEventPriority=536870912;xl.LegacyRoot=0;ZO.exports=xl;var e8=ZO.exports;const n_={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let r_=!1,o_=!1;const Ky=".react-konva-event",Pie=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. -Position of a node will be changed during drag&drop, so you should update state of the react app as well. -Consider to add onDragMove or onDragEnd events. -For more info see: https://github.com/konvajs/react-konva/issues/256 -`,jie=`ReactKonva: You are using "zIndex" attribute for a Konva node. -react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. -For more info see: https://github.com/konvajs/react-konva/issues/194 -`,Iie={};function og(e,t,n=Iie){if(!r_&&"zIndex"in t&&(console.warn(jie),r_=!0),!o_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(Pie),o_=!0)}for(var s in n)if(!n_[s]){var a=s.slice(0,2)==="on",c=n[s]!==t[s];if(a&&c){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,m={},v=!1;const b={};for(var s in t)if(!n_[s]){var a=s.slice(0,2)==="on",w=n[s]!==t[s];if(a&&w){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!a&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,m[s]=t[s])}v&&(e.setAttrs(m),Di(e));for(var d in b)e.on(d+Ky,b[d])}function Di(e){if(!L7.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const t8={},Eie={};ad.Node.prototype._applyProps=og;function Oie(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),Di(e)}function Rie(e,t,n){let r=ad[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=ad.Group);const o={},s={};for(var a in t){var c=a.slice(0,2)==="on";c?s[a]=t[a]:o[a]=t[a]}const d=new r(o);return og(d,s),d}function Mie(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function Die(e,t,n){return!1}function Tie(e){return e}function Aie(){return null}function Nie(){return null}function $ie(e,t,n,r){return Eie}function zie(){}function Lie(e){}function Bie(e,t){return!1}function Fie(){return t8}function Hie(){return t8}const Wie=setTimeout,Vie=clearTimeout,Uie=-1;function Gie(e,t){return!1}const qie=!1,Kie=!0,Yie=!0;function Qie(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function Xie(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function n8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function Jie(e,t,n){n8(e,t,n)}function Zie(e,t){t.destroy(),t.off(Ky),Di(e)}function ele(e,t){t.destroy(),t.off(Ky),Di(e)}function tle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function nle(e,t,n){}function rle(e,t,n,r,o){og(e,o,r)}function ole(e){e.hide(),Di(e)}function sle(e){}function ale(e,t){(t.visible==null||t.visible)&&e.show()}function ile(e,t){}function lle(e){}function cle(){}const ule=()=>e8.DefaultEventPriority,dle=Object.freeze(Object.defineProperty({__proto__:null,appendChild:Qie,appendChildToContainer:Xie,appendInitialChild:Oie,cancelTimeout:Vie,clearContainer:lle,commitMount:nle,commitTextUpdate:tle,commitUpdate:rle,createInstance:Rie,createTextInstance:Mie,detachDeletedInstance:cle,finalizeInitialChildren:Die,getChildHostContext:Hie,getCurrentEventPriority:ule,getPublicInstance:Tie,getRootHostContext:Fie,hideInstance:ole,hideTextInstance:sle,idlePriority:bp.unstable_IdlePriority,insertBefore:n8,insertInContainerBefore:Jie,isPrimaryRenderer:qie,noTimeout:Uie,now:bp.unstable_now,prepareForCommit:Aie,preparePortalMount:Nie,prepareUpdate:$ie,removeChild:Zie,removeChildFromContainer:ele,resetAfterCommit:zie,resetTextContent:Lie,run:bp.unstable_runWithPriority,scheduleTimeout:Wie,shouldDeprioritizeSubtree:Bie,shouldSetTextContent:Gie,supportsMutation:Yie,unhideInstance:ale,unhideTextInstance:ile,warnsIfNotActing:Kie},Symbol.toStringTag,{value:"Module"}));var fle=Object.defineProperty,ple=Object.defineProperties,hle=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,mle=Object.prototype.hasOwnProperty,gle=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?fle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i_=(e,t)=>{for(var n in t||(t={}))mle.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))gle.call(t,n)&&a_(e,n,t[n]);return e},vle=(e,t)=>ple(e,hle(t));function r8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=r8(r,t,n);if(o)return o;r=t?null:r.sibling}}function o8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const Yy=o8(f.createContext(null));class s8 extends f.Component{render(){return f.createElement(Yy.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:l_,ReactCurrentDispatcher:c_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function ble(){const e=f.useContext(Yy);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[l_==null?void 0:l_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=r8(r,!1,s=>{let a=s.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(o)return o}},[e,t])}function yle(){var e,t;const n=ble(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==Yy&&!r.has(s)&&r.set(s,(t=c_==null?void 0:c_.current)==null?void 0:t.readContext(o8(s))),o=o.return}return r}function xle(){const e=yle();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,vle(i_({},r),{value:e.get(n)}))),t=>f.createElement(s8,i_({},t))),[e])}function wle(e){const t=F.useRef({});return F.useLayoutEffect(()=>{t.current=e}),F.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const Sle=e=>{const t=F.useRef(),n=F.useRef(),r=F.useRef(),o=wle(e),s=xle(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return F.useLayoutEffect(()=>(n.current=new ad.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=Ou.createContainer(n.current,e8.LegacyRoot,!1,null),Ou.updateContainer(F.createElement(s,{},e.children),r.current),()=>{ad.isBrowser&&(a(null),Ou.updateContainer(null,r.current,null),n.current.destroy())}),[]),F.useLayoutEffect(()=>{a(n.current),og(n.current,e,o),Ou.updateContainer(F.createElement(s,{},e.children),r.current,null)}),F.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},yu="Layer",Na="Group",aa="Rect",Hi="Circle",Yh="Line",a8="Image",Cle="Transformer",Ou=_ie(dle);Ou.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:F.version,rendererPackageName:"react-konva"});const kle=F.forwardRef((e,t)=>F.createElement(s8,{},F.createElement(Sle,{...e,forwardedRef:t}))),_le=fe([mn,ir],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ple=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=L(_le);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Ap(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(n3(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Ap(!1))},[e,r,n,t])}},jle=fe([mn,Kn,ir],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ile=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=L(jle),c=f.useRef(null),d=r3(),p=()=>e(q1());nt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(pd(!s));nt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),nt(["n"],()=>{e(Wu(!a))},{enabled:!0,preventDefault:!0},[a]),nt("esc",()=>{e(B7())},{enabled:()=>!0,preventDefault:!0}),nt("shift+h",()=>{e(F7(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),nt(["space"],m=>{m.repeat||(d==null||d.container().focus(),r!=="move"&&(c.current=r,e(ea("move"))),r==="move"&&c.current&&c.current!=="move"&&(e(ea(c.current)),c.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,c])},Qy=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},i8=()=>{const e=te(),t=Ia(),n=r3();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=H7.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;e(W7({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(V7())}}},Ele=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ole=e=>{const t=te(),{tool:n,isStaging:r}=L(Ele),{commitColorUnderCursor:o}=i8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Ap(!0));return}if(n==="colorPicker"){o();return}const a=Qy(e.current);a&&(s.evt.preventDefault(),t(o3(!0)),t(U7([a.x,a.y])))},[e,n,r,t,o])},Rle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Mle=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=L(Rle),{updateColorUnderCursor:c}=i8();return f.useCallback(()=>{if(!e.current)return;const d=Qy(e.current);if(d){if(r(G7(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(s3([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},Dle=()=>{const e=te();return f.useCallback(()=>{e(q7())},[e])},Tle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),Ale=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=L(Tle);return f.useCallback(()=>{if(r==="move"||s){n(Ap(!1));return}if(!t.current&&o&&e.current){const a=Qy(e.current);if(!a)return;n(s3([a.x,a.y]))}else t.current=!1;n(o3(!1))},[t,n,o,s,e,r])},Nle=fe([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Xt}}),$le=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=L(Nle);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const a={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*Q7**c,Y7,K7),p={x:s.x-a.x*d,y:s.y-a.y*d};t(X7(d)),t(n3(p))},[e,n,r,t])},zle=fe(mn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Xt}}),Lle=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=L(zle);return i.jsxs(Na,{children:[i.jsx(aa,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),i.jsx(aa,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},Ble=fe([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Fle=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=L(Ble),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=Dc("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:m,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(m),y:d(v)}},w={x:Math.ceil(d(m)/64)*64,y:Math.ceil(d(v)/64)*64},y={x1:-w.x,y1:-w.y,x2:d(p)-w.x+64,y2:d(h)-w.y+64},k={x1:Math.min(b.x1,y.x1),y1:Math.min(b.y1,y.y1),x2:Math.max(b.x2,y.x2),y2:Math.max(b.y2,y.y2)},_=k.x2-k.x1,I=k.y2-k.y1,P=Math.round(_/64)+1,E=Math.round(I/64)+1,O=vw(0,P).map(M=>i.jsx(Yh,{x:k.x1+M*64,y:k.y1,points:[0,0,0,I],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=vw(0,E).map(M=>i.jsx(Yh,{x:k.x1,y:k.y1+M*64,points:[0,0,_,0],stroke:r==="dark"?a:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,a,c]),i.jsx(Na,{children:o})},Hle=fe([mo,mn],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Xt}}),Wle=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=L(Hle),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const a=new Image;a.onload=()=>{s(a)},a.src=n.dataURL},[n]),n&&r&&o?i.jsx(a8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},tl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},Vle=fe(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:tl(t)}}),u_=e=>`data:image/svg+xml;utf8, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`.replaceAll("black",e),Ule=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=L(Vle),[a,c]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),m=f.useCallback(()=>{p(d+1),setTimeout(m,500)},[d]);return f.useEffect(()=>{if(a)return;const v=new Image;v.onload=()=>{c(v)},v.src=u_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=u_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Ml(r.x)||!Ml(r.y)||!Ml(s)||!Ml(o.width)||!Ml(o.height)?null:i.jsx(aa,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:a,fillPatternOffsetY:Ml(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},Gle=fe([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Xt}}),qle=e=>{const{...t}=e,{objects:n}=L(Gle);return i.jsx(Na,{listening:!1,...t,children:n.filter(J7).map((r,o)=>i.jsx(Yh,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var Wi=f,Kle=function(t,n,r){const o=Wi.useRef("loading"),s=Wi.useRef(),[a,c]=Wi.useState(0),d=Wi.useRef(),p=Wi.useRef(),h=Wi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),Wi.useLayoutEffect(function(){if(!t)return;var m=document.createElement("img");function v(){o.current="loaded",s.current=m,c(Math.random())}function b(){o.current="failed",s.current=void 0,c(Math.random())}return m.addEventListener("load",v),m.addEventListener("error",b),n&&(m.crossOrigin=n),r&&(m.referrerPolicy=r),m.src=t,function(){m.removeEventListener("load",v),m.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const Yle=cd(Kle),l8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=os(s??oo.skipToken),[d]=Yle((a==null?void 0:a.image_url)??"",Z7.get()?"use-credentials":"anonymous");return c?i.jsx(aa,{x:r,y:o,width:t,height:n,fill:"red"}):i.jsx(a8,{x:r,y:o,image:d,listening:!1})},Qle=fe([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Xt}}),Xle=()=>{const{objects:e}=L(Qle);return e?i.jsx(Na,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(I_(t))return i.jsx(l8,{canvasImage:t},n);if(eD(t)){const r=i.jsx(Yh,{points:t.points,stroke:t.color?tl(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?i.jsx(Na,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(tD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:tl(t.color)},n);if(nD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},Jle=fe([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:a,height:c}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:a,height:c}},{memoizeOptions:{resultEqualityCheck:Xt}}),Zle=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=L(Jle);return i.jsxs(Na,{...t,children:[r&&n&&i.jsx(l8,{canvasImage:n}),o&&i.jsxs(Na,{children:[i.jsx(aa,{x:s,y:a,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),i.jsx(aa,{x:s,y:a,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},ece=fe([mn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),tce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=L(ece),{t:a}=be(),c=f.useCallback(()=>{e(iw(!0))},[e]),d=f.useCallback(()=>{e(iw(!1))},[e]);nt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),nt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),nt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(rD()),[e]),h=f.useCallback(()=>e(oD()),[e]),m=f.useCallback(()=>e(sD(s)),[e,s]),{data:v}=os((r==null?void 0:r.imageName)??oo.skipToken);return r?i.jsx(W,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:c,onMouseOut:d,children:i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(AH,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(NH,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(LH,{}),onClick:m,colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(KH,{}):i.jsx(qH,{}),onClick:()=>e(aD(!o)),colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(_m,{}),onClick:()=>{v&&e(iD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(lD()),colorScheme:"error",fontSize:20})]})}):null},nce=()=>{const e=L(c=>c.canvas.layerState),t=L(c=>c.canvas.boundingBoxCoordinates),n=L(c=>c.canvas.boundingBoxDimensions),r=L(c=>c.canvas.isMaskEnabled),o=L(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),eee(async()=>{const c=await cD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=uD(d,p);a(h)},1e3,[e,t,n,r,o]),s},rce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},oce=()=>{const e=nce();return i.jsxs(Oe,{children:["Mode: ",e?rce[e]:"..."]})},Jl=e=>Math.round(e*100)/100,sce=fe([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${Jl(n)}, ${Jl(r)})`}},{memoizeOptions:{resultEqualityCheck:Xt}});function ace(){const{cursorCoordinatesString:e}=L(sce),{t}=be();return i.jsx(Oe,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const R1="var(--invokeai-colors-warning-500)",ice=fe([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:a},scaledBoundingBoxDimensions:{width:c,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:m,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:w,shouldPreserveMaskedArea:y}=e;let S="inherit";return(w==="none"&&(s<512||a<512)||w==="manual"&&c*d<512*512)&&(S=R1),{activeLayerColor:b==="mask"?R1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${Jl(p)}, ${Jl(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${Jl(r)}×${Jl(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Xt}}),lce=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:a,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=L(ice),{t:b}=be();return i.jsxs(W,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(oce,{}),i.jsx(Oe,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Oe,{style:{color:R1},children:"Preserve Masked Area: On"}),m&&i.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Oe,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(ace,{})]})]})},cce=fe([Ye],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:a,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:a,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Xt}}),uce=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:a,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=L(cce),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var B;!b.current||!w.current||(b.current.nodes([w.current]),(B=b.current.getLayer())==null||B.batchDraw())},[]);const k=64*d;nt("N",()=>{n(Wu(!p))});const _=f.useCallback(B=>{if(!p){n(a0({x:Math.floor(B.target.x()),y:Math.floor(B.target.y())}));return}const V=B.target.x(),q=B.target.y(),G=Ss(V,64),D=Ss(q,64);B.target.x(G),B.target.y(D),n(a0({x:G,y:D}))},[n,p]),I=f.useCallback(()=>{if(!w.current)return;const B=w.current,V=B.scaleX(),q=B.scaleY(),G=Math.round(B.width()*V),D=Math.round(B.height()*q),z=Math.round(B.x()),H=Math.round(B.y());if(v){const Y=Ss(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:D}));n(a0({x:p?wu(z,64):z,y:p?wu(H,64):H})),B.scaleX(1),B.scaleY(1)},[n,p,v]),P=f.useCallback((B,V,q)=>{const G=B.x%k,D=B.y%k;return{x:wu(V.x,k)+G,y:wu(V.y,k)+D}},[k]),E=()=>{n(i0(!0))},O=()=>{n(i0(!1)),n(l0(!1)),n(Rf(!1)),S(!1)},R=()=>{n(l0(!0))},M=()=>{n(i0(!1)),n(l0(!1)),n(Rf(!1)),S(!1)},T=()=>{S(!0)},A=()=>{!c&&!a&&S(!1)},$=()=>{n(Rf(!0))},Q=()=>{n(Rf(!1))};return i.jsxs(Na,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:$,onMouseOver:$,onMouseLeave:Q,onMouseOut:Q}),i.jsx(aa,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:_,onMouseDown:R,onMouseOut:A,onMouseOver:T,onMouseEnter:T,onMouseUp:M,onTransform:I,onTransformEnd:O,ref:w,stroke:y?"rgba(255,255,255,0.7)":"white",strokeWidth:(y?8:1)/d,width:o.width,x:r.x,y:r.y}),i.jsx(Cle,{anchorCornerRadius:3,anchorDragBoundFunc:P,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},dce=fe(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:a,layer:c,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:m,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:w,shouldRestrictStrokesToBox:y}=e,S=y?{clipX:b.x,clipY:b.y,clipWidth:w.width,clipHeight:w.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:lw/m,colorPickerInnerRadius:(lw-bv+1)/m,maskColorString:tl({...o,a:.5}),brushColorString:tl(s),colorPickerColorString:tl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Xt}}),fce=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:a,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=L(dce);return d?i.jsxs(Na,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:bv,strokeScaleEnabled:!1}),i.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:bv,strokeScaleEnabled:!1})]}):i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),i.jsx(Hi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),i.jsx(Hi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},pce=fe([mn,ir],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:a,isMovingBoundingBox:c,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:m,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:w,shouldAntialias:y}=e;let S="none";return h==="move"||t?m?S="grabbing":S="grab":s?S=void 0:w&&!a&&(S="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||c,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:S,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:y}},Ge),hce=Ie(kle,{shouldForwardProp:e=>!["sx"].includes(e)}),d_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:a,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=L(pce);Ile();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{fD(A),v.current=A},[]),y=f.useCallback(A=>{dD(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=$le(v),I=Ole(v),P=Ale(v,k),E=Mle(v,k,S),O=Dle(),{handleDragStart:R,handleDragMove:M,handleDragEnd:T}=Ple();return i.jsx(W,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Oe,{sx:{position:"relative"},children:[i.jsxs(hce,{tabIndex:-1,ref:w,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:a.width,height:a.height,scale:{x:c,y:c},onTouchStart:I,onTouchMove:E,onTouchEnd:P,onMouseDown:I,onMouseLeave:O,onMouseMove:E,onMouseUp:P,onDragStart:R,onDragMove:M,onDragEnd:T,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[i.jsx(yu,{id:"grid",visible:r,children:i.jsx(Fle,{})}),i.jsx(yu,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx(Xle,{})}),i.jsxs(yu,{id:"mask",visible:e,listening:!1,children:[i.jsx(qle,{visible:!0,listening:!1}),i.jsx(Ule,{listening:!1})]}),i.jsx(yu,{children:i.jsx(Lle,{})}),i.jsxs(yu,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(fce,{visible:d!=="move",listening:!1}),i.jsx(Zle,{visible:p}),h&&i.jsx(Wle,{}),i.jsx(uce,{visible:n&&!p})]})]}),i.jsx(lce,{}),i.jsx(tce,{})]})})},mce=fe(mn,uH,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),f_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=L(mce),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(pD({width:a,height:c})),e(o?hD():em()),e(E_(!1))},0)},[e,r,t,n,o]),i.jsx(W,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:i.jsx(dl,{thickness:"2px",size:"xl"})})};function c8(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const gce=Ie(qO,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),sv={width:6,height:6,borderColor:"base.100"},vce=e=>{const{styleClass:t="",...n}=e;return i.jsx(gce,{sx:{".react-colorful__hue-pointer":sv,".react-colorful__saturation-pointer":sv,".react-colorful__alpha-pointer":sv},className:t,...n})},Qh=f.memo(vce),bce=fe([mn,ir],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:tl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}}),yce=()=>{const e=te(),{t}=be(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=L(bce);nt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),nt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),nt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(Np(n==="mask"?"base":"mask"))},d=()=>e(q1()),p=()=>e(pd(!o));return i.jsx(gl,{triggerComponent:i.jsx(nr,{children:i.jsx(Le,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(rW,{}),isChecked:n==="mask",isDisabled:a})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),i.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(a3(h.target.checked))}),i.jsx(Qh,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(i3(h))}),i.jsxs(rn,{size:"sm",leftIcon:i.jsx(us,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},xce=fe([mn,Kn,mo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function u8(){const e=te(),{canRedo:t,activeTabName:n}=L(xce),{t:r}=be(),o=()=>{e(mD())};return nt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(Le,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(aW,{}),onClick:o,isDisabled:!t})}const d8=()=>{const e=L(ir),t=te(),{t:n}=be();return i.jsxs(Vy,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(gD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(rn,{size:"sm",leftIcon:i.jsx(us,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},wce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Xt}}),Sce=()=>{const e=te(),{t}=be(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=L(wce);nt(["n"],()=>{e(Wu(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Wu(v.target.checked));return i.jsx(gl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(l3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(c3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),i.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(u3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(d3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(f3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(p3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(h3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(m3(v.target.checked))}),i.jsx(d8,{})]})})},Cce=fe([mn,ir,mo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:a}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),kce=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=L(Cce),{t:s}=be();nt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),nt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),nt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),nt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),nt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),nt(["BracketLeft"],()=>{e(ec(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),nt(["BracketRight"],()=>{e(ec(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),nt(["Shift+BracketLeft"],()=>{e(tc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),nt(["Shift+BracketRight"],()=>{e(tc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const a=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(g3()),h=()=>e(v3());return i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(b6,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(p6,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(g6,{}),isDisabled:o,onClick:p}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(m6,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(gl,{triggerComponent:i.jsx(Le,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(Fb,{})}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[i.jsx(W,{gap:4,justifyContent:"space-between",children:i.jsx(_t,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(ec(m)),sliderNumberInputProps:{max:500}})}),i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(tc(m))})]})})]})},_ce=fe([mn,Kn,mo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function f8(){const e=te(),{t}=be(),{canUndo:n,activeTabName:r}=L(_ce),o=()=>{e(vD())};return nt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(Hb,{}),onClick:o,isDisabled:!n})}const Pce=fe([mo,mn,ir],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:a,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:a,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Xt}}),jce=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=L(Pce),a=Ia(),{t:c}=be(),{isClipboardAPIAvailable:d}=Oy(),{getUploadButtonProps:p,getUploadInputProps:h}=Vm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});nt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),nt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),nt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),nt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),nt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),nt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=c8(()=>b(!1),()=>b(!0)),b=(P=!1)=>{const E=Ia();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(b3({contentRect:O,shouldScaleTo1:P}))},w=()=>{e(F1()),e(em())},y=()=>{e(y3())},S=()=>{e(x3())},k=()=>{d&&e(w3())},_=()=>{e(S3())},I=P=>{const E=P;e(Np(E)),E==="mask"&&!r&&e(pd(!0))};return i.jsxs(W,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Oe,{w:24,children:i.jsx(Yr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:C3,onChange:I,disabled:n})}),i.jsx(yce,{}),i.jsx(kce,{}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(u6,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(f6,{}),onClick:v})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(v6,{}),onClick:y,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(_m,{}),onClick:S,isDisabled:n}),d&&i.jsx(Le,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Fc,{}),onClick:k,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(Bb,{}),onClick:_,isDisabled:n})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(f8,{}),i.jsx(u8,{})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(Md,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(us,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(nr,{isAttached:!0,children:i.jsx(Sce,{})})]})};function Ice(){const e=te(),t=L(o=>o.canvas.brushSize),{t:n}=be(),r=L(ir);return nt(["BracketLeft"],()=>{e(ec(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),nt(["BracketRight"],()=>{e(ec(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(ec(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Ece=fe([mn,ir],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function Oce(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=L(Ece),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return nt(["shift+BracketLeft"],()=>{e(tc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),nt(["shift+BracketRight"],()=>{e(tc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(gl,{triggerComponent:i.jsx(Oe,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(tc(a))}),r==="mask"&&i.jsx(Qh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(i3(a))})]})})}function p8(){return i.jsxs(W,{columnGap:4,alignItems:"center",children:[i.jsx(Ice,{}),i.jsx(Oce,{})]})}function Rce(){const e=te(),t=L(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(p3(r.target.checked))})}function Mce(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(p8,{}),i.jsx(Rce,{})]})}function Dce(){const e=te(),{t}=be(),n=()=>e(q1());return i.jsx(rn,{size:"sm",leftIcon:i.jsx(us,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function Tce(){const e=L(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=be(),r=()=>t(pd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function Ace(){const e=te(),{t}=be(),n=L(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(a3(r.target.checked))})}function Nce(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(p8,{}),i.jsx(Tce,{}),i.jsx(Ace,{}),i.jsx(Dce,{})]})}function $ce(){const e=L(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(u3(r.target.checked))})}function zce(){const e=L(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(c3(r.target.checked))})}function Lce(){const e=L(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=be(),r=o=>t(Wu(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Bce(){return i.jsxs(W,{alignItems:"center",gap:4,children:[i.jsx(zce,{}),i.jsx(Lce,{}),i.jsx($ce,{})]})}const Fce=fe([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Xt}});function Hce(){const{tool:e,layer:t}=L(Fce);return i.jsxs(W,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Mce,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Nce,{}),e=="move"&&i.jsx(Bce,{})]})}const Wce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Xt}}),Vce=()=>{const e=te(),{t}=be(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=L(Wce);return i.jsx(gl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Wb,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(l3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(d3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(f3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(h3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(m3(c.target.checked))}),i.jsx(d8,{})]})})};function Uce(){const e=L(ir),t=Ia(),{isClipboardAPIAvailable:n}=Oy(),r=L(c=>c.system.isProcessing),o=te(),{t:s}=be();nt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(w3())},[o,n]);return n?i.jsx(Le,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Fc,{}),onClick:a,isDisabled:e}):null}function Gce(){const e=te(),{t}=be(),n=Ia(),r=L(ir);nt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(S3())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(Bb,{}),onClick:o,isDisabled:r})}function qce(){const e=L(ir),{getUploadButtonProps:t,getUploadInputProps:n}=Vm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=be();return i.jsxs(i.Fragment,{children:[i.jsx(Le,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(Md,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const Kce=fe([mn,ir],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Xt}});function Yce(){const e=te(),{t}=be(),{layer:n,isMaskEnabled:r,isStaging:o}=L(Kce),s=()=>{e(Np(n==="mask"?"base":"mask"))};nt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(Np(d)),d==="mask"&&!r&&e(pd(!0))};return i.jsx(Yr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:C3,onChange:a,disabled:o,w:"full"})}function Qce(){const e=te(),{t}=be(),n=Ia(),r=L(ir),o=L(a=>a.system.isProcessing);nt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(y3())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(v6,{}),onClick:s,isDisabled:r})}function Xce(){const e=L(s=>s.canvas.tool),t=L(ir),n=te(),{t:r}=be();nt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(Le,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(u6,{}),isChecked:e==="move"||t,onClick:o})}function Jce(){const e=L(s=>s.ui.shouldPinParametersPanel),t=L(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=be(),o=()=>{n(K1(!0)),e&&n(So())};return!e||!t?i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(Le,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(Fb,{})}),i.jsx(W,{children:i.jsx(zy,{iconButton:!0})}),i.jsx(W,{children:i.jsx(Xm,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function Zce(){const e=te(),{t}=be(),n=L(ir),r=()=>{e(F1()),e(em())};return i.jsx(Le,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(us,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function eue(){const e=Ia(),t=te(),{t:n}=be();nt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=c8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Ia();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(b3({contentRect:c,shouldScaleTo1:s}))};return i.jsx(Le,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(f6,{}),onClick:r})}function tue(){const e=L(ir),t=Ia(),n=L(a=>a.system.isProcessing),r=te(),{t:o}=be();nt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(x3())};return i.jsx(Le,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(_m,{}),onClick:s,isDisabled:e})}const nue=fe([mn,ir,mo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),rue=()=>{const e=te(),{t}=be(),{tool:n,isStaging:r}=L(nue);nt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),nt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),nt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),nt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),nt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(g3()),d=()=>e(v3());return i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsxs(nr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(b6,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(p6,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(nr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(g6,{}),isDisabled:r,onClick:c}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(m6,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},oue=()=>i.jsxs(W,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(Yce,{}),i.jsx(rue,{}),i.jsxs(W,{gap:2,children:[i.jsx(Xce,{}),i.jsx(eue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Qce,{}),i.jsx(tue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Uce,{}),i.jsx(Gce,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(f8,{}),i.jsx(u8,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(qce,{}),i.jsx(Zce,{})]}),i.jsx(Vce,{}),i.jsx(Jce,{})]}),sue=fe([mn,La],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ge),av={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},aue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=L(sue),{isOver:r,setNodeRef:o,active:s}=A1({id:"unifiedCanvas",data:av});return f.useLayoutEffect(()=>{const a=()=>{e(So())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Oe,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{w:"full",h:"full",gap:4},children:[i.jsx(oue,{}),i.jsxs(W,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(Hce,{}),i.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(f_,{}):i.jsx(d_,{}),Ep(av,s)&&i.jsx(nh,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Oe,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[i.jsx(jce,{}),i.jsx(W,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(f_,{}):i.jsx(d_,{}),Ep(av,s)&&i.jsx(nh,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},iue=f.memo(aue),lue=fe([Ye],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ge),cue=()=>{const e=te(),{infillMethod:t}=L(lue),{data:n,isLoading:r}=L_(),o=n==null?void 0:n.infill_methods,{t:s}=be(),a=f.useCallback(c=>{e(bD(c))},[e]);return i.jsx(Yr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},uue=f.memo(cue),due=fe([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ge),fue=()=>{const e=te(),{tileSize:t,infillMethod:n}=L(due),{t:r}=be(),o=f.useCallback(a=>{e(cw(a))},[e]),s=f.useCallback(()=>{e(cw(32))},[e]);return i.jsx(_t,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},pue=f.memo(fue),hue=fe([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ge),mue=()=>{const e=te(),{boundingBoxScale:t}=L(hue),{t:n}=be(),r=o=>{e(xD(o))};return i.jsx(sr,{label:n("parameters.scaleBeforeProcessing"),data:yD,value:t,onChange:r})},gue=f.memo(mue),vue=fe([Mi,mo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ge),bue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=L(vue),{t:r}=be(),o=a=>{e($p({...n,height:Math.floor(a)}))},s=()=>{e($p({...n,height:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},yue=f.memo(bue),xue=fe([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ge),wue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=L(xue),{t:r}=be(),o=a=>{e($p({...n,width:Math.floor(a)}))},s=()=>{e($p({...n,width:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Sue=f.memo(wue),Cue=()=>{const{t:e}=be();return i.jsx(Oo,{label:e("parameters.infillScalingHeader"),children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(uue,{}),i.jsx(pue,{}),i.jsx(gue,{}),i.jsx(Sue,{}),i.jsx(yue,{})]})})},kue=f.memo(Cue);function _ue(){const e=te(),t=L(r=>r.generation.seamBlur),{t:n}=be();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(uw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(uw(16))}})}function Pue(){const e=te(),{t}=be(),n=L(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(dw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(dw(96))})}function jue(){const{t:e}=be(),t=L(r=>r.generation.seamSteps),n=te();return i.jsx(_t,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(fw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(fw(30))}})}function Iue(){const e=te(),{t}=be(),n=L(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(pw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(pw(.7))}})}const Eue=()=>{const{t:e}=be();return i.jsxs(Oo,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(Pue,{}),i.jsx(_ue,{}),i.jsx(Iue,{}),i.jsx(jue,{})]})},Oue=f.memo(Eue),Rue=fe([Ye,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),Mue=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=L(Rue),{t:o}=be(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=Ss(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=Ss(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return i.jsx(_t,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Due=f.memo(Mue),Tue=fe([Ye,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),Aue=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=L(Tue),{t:o}=be(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=Ss(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=Ss(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return i.jsx(_t,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Nue=f.memo(Aue);function p_(){const e=te(),{t}=be();return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(tt,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(fl,{}),i.jsx(_O,{}),i.jsx(Le,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(sO,{}),fontSize:20,onClick:()=>e(wD())})]}),i.jsx(Nue,{}),i.jsx(Due,{})]})}const $ue=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),zue=()=>{const{shouldUseSliders:e,activeLabel:t}=L($ue);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(p_,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(p_,{})]}),i.jsx(DO,{})]})})},Lue=f.memo(zue),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(Lue,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Wy,{}),i.jsx(Oue,{}),i.jsx(kue,{}),i.jsx(Fy,{})]}),Bue=()=>i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:i.jsx(h8,{})}),i.jsx(iue,{})]}),Fue=f.memo(Bue),Hue=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(Kr,{as:YH,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(wie,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(Kr,{as:al,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(xoe,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(Kr,{as:bee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Fue,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(Kr,{as:vee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(gie,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(Kr,{as:HH,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(yse,{})}],Wue=fe([aO,mo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Hue.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Xt}}),Vue=350,iv=20,m8=["modelManager"],Uue=()=>{const e=L(SD),t=L(Kn),n=L(Wue),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=L(y=>y.ui),{t:a}=be(),c=te();nt("f",()=>{c(CD()),(r||o)&&c(So())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(So())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(wn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(wc,{onClick:p,children:[i.jsx(L3,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Cm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=Fee(Vue,iv,"app"),w=f.useCallback(y=>{const S=kD[y];S&&c(ql(S))},[c]);return i.jsxs(Ed,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(Od,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(fl,{}),i.jsx(Cee,{})]}),i.jsxs(Ay,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(sd,{id:"main",children:i.jsx(km,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!m8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(IO,{}),i.jsx(sd,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>iv?b:iv,minSize:b,maxSize:50,children:i.jsx(nO,{})})]})]})]})},Gue=f.memo(Uue),que=fe([Kn,La],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:m8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Xt}}),Kue=()=>{const{t:e}=be(),{shouldPinGallery:t,shouldShowGalleryButton:n}=L(que),r=te(),o=()=>{r(vv(!0)),t&&r(So())};return n?i.jsx(Le,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:i.jsx(yee,{})}):null},Yue=f.memo(Kue),lv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Que=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",a=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:a}},{memoizeOptions:{resultEqualityCheck:Xt}}),Xue=()=>{const e=te(),{t}=be(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=L(Que),s=()=>{e(K1(!0)),o&&e(So())};return r?i.jsxs(W,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[i.jsx(Le,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:lv,children:i.jsx(Fb,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(zy,{iconButton:!0,sx:lv}),i.jsx(Xm,{sx:lv})]})]}):null},Jue=f.memo(Xue),Zue=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ge),ede=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=L(Zue),o=()=>{e(K1(!1))},s=f.useMemo(()=>r==="txt2img"?i.jsx(XO,{}):r==="img2img"?i.jsx(TO,{}):r==="unifiedCanvas"?i.jsx(h8,{}):null,[r]);return t?null:i.jsx(i6,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(W,{sx:{flexDir:"column",h:"full",w:$y,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(W,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(oO,{}),i.jsx(jO,{})]}),i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:s})]})})},tde=f.memo(ede),nde=()=>{const{data:e,isFetching:t}=Zh(),{isOpen:n,onClose:r,handleAddToBoard:o,image:s}=f.useContext(T_),[a,c]=f.useState(),d=f.useRef(null),p=e==null?void 0:e.find(h=>h.board_id===(s==null?void 0:s.board_id));return i.jsx(Pd,{isOpen:n,leastDestructiveRef:d,onClose:r,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:p?"Move Image to Board":"Add Image to Board"}),i.jsx(Da,{children:i.jsx(Oe,{children:i.jsxs(W,{direction:"column",gap:3,children:[p&&i.jsxs(tt,{children:["Moving this image from"," ",i.jsx("strong",{children:p.board_name})," to"]}),t?i.jsx(dl,{}):i.jsx(sr,{placeholder:"Select Board",onChange:h=>c(h),value:a,data:(e??[]).map(h=>({label:h.board_name,value:h.board_id}))})]})})}),i.jsxs(Oa,{children:[i.jsx(rn,{onClick:r,children:"Cancel"}),i.jsx(rn,{isDisabled:!a,colorScheme:"accent",onClick:()=>{a&&o(a)},ml:3,children:p?"Move":"Add"})]})]})})})},rde=f.memo(nde),ode=fe([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Xt}}),sde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=L(ode),o=L(Kn);return nt("*",()=>{n6("shift")?!t&&e(_o(!0)):t&&e(_o(!1))},{keyup:!0,keydown:!0},[t]),nt("o",()=>{e(_D()),o==="unifiedCanvas"&&n&&e(So())}),nt(["shift+o"],()=>{e(PD()),o==="unifiedCanvas"&&e(So())}),nt("g",()=>{e(jD()),o==="unifiedCanvas"&&r&&e(So())}),nt(["shift+g"],()=>{e(D_()),o==="unifiedCanvas"&&e(So())}),nt("1",()=>{e(ql("txt2img"))}),nt("2",()=>{e(ql("img2img"))}),nt("3",()=>{e(ql("unifiedCanvas"))}),nt("4",()=>{e(ql("nodes"))}),null},ade=f.memo(sde),ide={},lde=({config:e=ide,headerComponent:t})=>{const n=L(V5),r=JB(),o=te();return f.useEffect(()=>{Ln.changeLanguage(n)},[n]),f.useEffect(()=>{G_(e)&&(r.info({namespace:"App",config:e},"Received config"),o(ID(e)))},[o,e,r]),f.useEffect(()=>{o(ED())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(rl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(cH,{children:i.jsxs(rl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(mee,{}),i.jsx(W,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(Gue,{})})]})}),i.jsx(WZ,{}),i.jsx(tde,{}),i.jsx(Vu,{children:i.jsx(Jue,{})}),i.jsx(Vu,{children:i.jsx(Yue,{})})]}),i.jsx(qZ,{}),i.jsx(rde,{}),i.jsx(ZB,{}),i.jsx(ade,{})]})},hde=f.memo(lde);export{hde as default}; diff --git a/invokeai/frontend/web/dist/assets/App-69e5ea36.js b/invokeai/frontend/web/dist/assets/App-69e5ea36.js new file mode 100644 index 0000000000..a87a1119a7 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/App-69e5ea36.js @@ -0,0 +1,169 @@ +import{t as cv,r as Q8,i as uv,a as Rc,b as h_,S as m_,c as g_,d as v_,e as dv,f as b_,g as fv,h as J8,j as Z8,k as eR,l as tR,m as y_,n as nR,o as rR,p as oR,q as x_,s as sR,u as aR,v as iR,w as lR,x as cR,y as uR,z as f,A as i,B as Qh,C as Ip,D as dR,E as w_,F as S_,G as fR,P as id,H as M1,I as pR,J as hR,K as mR,L as gR,M as vR,N as bR,O as yR,Q as P2,R as Te,T as xR,U as Ie,V as kt,W as et,X as ld,Y as Fo,Z as Xr,_ as Br,$ as qn,a0 as dl,a1 as $a,a2 as tn,a3 as ns,a4 as Zl,a5 as za,a6 as Jh,a7 as D1,a8 as cd,a9 as or,aa as wR,ab as F,ac as C_,ad as j2,ae as k_,af as pv,ag as Mc,ah as SR,ai as __,aj as P_,ak as Dc,al as CR,am as fe,an as Ge,ao as Qt,ap as z,aq as kR,ar as I2,as as _R,at as PR,au as E2,av as te,aw as jR,ax as Dn,ay as Bn,az as Oe,aA as H,aB as Xs,aC as Ye,aD as Kn,aE as j_,aF as I_,aG as E_,aH as _i,aI as Ds,aJ as T1,aK as IR,aL as ER,aM as OR,aN as Rl,aO as xu,aP as RR,aQ as MR,aR as DR,aS as TR,aT as AR,aU as O2,aV as ui,aW as A1,aX as Ep,aY as Zh,aZ as O_,a_ as os,a$ as R_,b0 as NR,b1 as Tc,b2 as M_,b3 as D_,b4 as Es,b5 as _o,b6 as wu,b7 as $R,b8 as zR,b9 as LR,ba as BR,bb as N1,bc as Op,bd as FR,be as HR,bf as If,bg as Ef,bh as Ru,bi as Mu,bj as R2,bk as Rp,bl as M2,bm as Mp,bn as D2,bo as hv,bp as T2,bq as mv,br as A2,bs as Dp,bt as N2,bu as hc,bv as $2,bw as mc,bx as z2,by as Tp,bz as $1,bA as z1,bB as T_,bC as L1,bD as B1,bE as WR,bF as VR,bG as em,bH as ql,bI as UR,bJ as GR,bK as vp,bL as qR,bM as KR,bN as YR,bO as gv,bP as A_,bQ as XR,bR as N_,bS as $_,bT as ss,bU as L2,bV as La,bW as QR,bX as vv,bY as JR,bZ as z_,b_ as B2,b$ as ZR,c0 as eM,c1 as tM,c2 as nM,c3 as rM,c4 as oM,c5 as F1,c6 as H1,c7 as sM,c8 as Ln,c9 as F2,ca as L_,cb as aM,cc as iM,cd as lM,ce as cM,cf as uM,cg as dM,ch as fM,ci as pM,cj as hM,ck as B_,cl as mM,cm as gM,cn as vM,co as bM,cp as yM,cq as xM,cr as wM,cs as SM,ct as CM,cu as kM,cv as jo,cw as vr,cx as _M,cy as W1,cz as ud,cA as dd,cB as PM,cC as H2,cD as jM,cE as W2,cF as IM,cG as EM,cH as OM,cI as RM,cJ as V2,cK as U2,cL as na,cM as V1,cN as G2,cO as q2,cP as tm,cQ as MM,cR as DM,cS as TM,cT as AM,cU as K2,cV as Y2,cW as NM,cX as X2,cY as $M,cZ as F_,c_ as Q2,c$ as zM,d0 as LM,d1 as Ss,d2 as BM,d3 as FM,d4 as H_,d5 as W_,d6 as HM,d7 as J2,d8 as WM,d9 as VM,da as V_,db as UM,dc as GM,dd as qM,de as KM,df as YM,dg as XM,dh as QM,di as U_,dj as JM,dk as G_,dl as Z2,dm as Of,dn as ZM,dp as U1,dq as q_,dr as e7,ds as t7,dt as n7,du as ls,dv as r7,dw as o7,dx as s7,dy as a7,dz as i7,dA as l7,dB as c7,dC as u7,dD as d7,dE as f7,dF as p7,dG as h7,dH as m7,dI as g7,dJ as ew,dK as tw,dL as v7,dM as K_,dN as Y_,dO as fd,dP as X_,dQ as Hu,dR as Q_,dS as nw,dT as b7,dU as y7,dV as J_,dW as x7,dX as G1,dY as rw,dZ as Z_,d_ as w7,d$ as ow,e0 as e3,e1 as Ts,e2 as S7,e3 as t3,e4 as sw,e5 as C7,e6 as k7,e7 as _7,e8 as P7,e9 as j7,ea as I7,eb as E7,ec as O7,ed as R7,ee as M7,ef as D7,eg as T7,eh as A7,ei as N7,ej as $7,ek as z7,el as L7,em as B7,en as F7,eo as H7,ep as aw,eq as bp,er as W7,es as Ap,et as n3,eu as Wu,ev as V7,ew as U7,ex as ea,ey as r3,ez as q1,eA as pd,eB as G7,eC as q7,eD as K7,eE as Ia,eF as o3,eG as Y7,eH as X7,eI as s3,eJ as Q7,eK as J7,eL as Z7,eM as eD,eN as tD,eO as nD,eP as rD,eQ as oD,eR as sD,eS as aD,eT as iw,eU as iD,eV as lD,eW as cD,eX as uD,eY as dD,eZ as fD,e_ as pD,e$ as hD,f0 as a0,f1 as Js,f2 as i0,f3 as l0,f4 as Rf,f5 as lw,f6 as bv,f7 as mD,f8 as gD,f9 as vD,fa as bD,fb as Np,fc as a3,fd as i3,fe as yD,ff as xD,fg as l3,fh as c3,fi as u3,fj as d3,fk as f3,fl as p3,fm as h3,fn as m3,fo as ec,fp as tc,fq as g3,fr as v3,fs as wD,ft as b3,fu as y3,fv as x3,fw as w3,fx as S3,fy as C3,fz as K1,fA as SD,fB as cw,fC as CD,fD as kD,fE as $p,fF as uw,fG as dw,fH as fw,fI as pw,fJ as _D,fK as PD,fL as jD,fM as ID,fN as ED,fO as OD,fP as RD,fQ as MD,fR as DD}from"./index-89941396.js";import{I as Kr,u as TD,c as AD,a as Rn,b as rr,d as Ba,P as Vu,C as ND,e as be,m as nm,f as k3,g as Fa,h as $D,r as Ue,i as zD,j as hw,k as Wt,l as Sr}from"./MantineProvider-8184f020.js";function LD(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var mw=1/0,BD=17976931348623157e292;function c0(e){if(!e)return e===0?e:0;if(e=cv(e),e===mw||e===-mw){var t=e<0?-1:1;return t*BD}return e===e?e:0}var FD=function(){return Q8.Date.now()};const u0=FD;var HD="Expected a function",WD=Math.max,VD=Math.min;function UD(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(HD);t=cv(t)||0,uv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?WD(cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,T=t-R;return m?VD(T,s-M):T}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=u0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function I(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function P(){return c===void 0?a:_(u0())}function E(){var O=u0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=I,E.flush=P,E}var GD=200;function qD(e,t,n,r){var o=-1,s=g_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Rc(t,h_(n))),r?(s=v_,a=!1):t.length>=GD&&(s=dv,a=!1,t=new m_(t));e:for(;++o=120&&h.length>=120)?new m_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}const _3=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:Qh(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};_3.displayName="MiniMapNode";var pT=f.memo(_3);const hT=e=>e.nodeOrigin,mT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),d0=e=>e instanceof Function?e:()=>e;function gT({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=pT,onClick:a}){const c=Ip(mT,M1),d=Ip(hT),p=d0(t),h=d0(e),m=d0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=dR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var vT=f.memo(gT);const bT=200,yT=150,xT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?mR(gR(t,e.nodeOrigin),n):n,rfId:e.rfId}},wT="react-flow__minimap-desc";function P3({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const I=w_(),P=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Ip(xT,M1),M=(e==null?void 0:e.width)??bT,T=(e==null?void 0:e.height)??yT,A=E.width/M,$=E.height/T,Q=Math.max(A,$),B=Q*M,V=Q*T,q=5*Q,G=E.x-(B-E.width)/2-q,D=E.y-(V-E.height)/2-q,L=B+q*2,W=V+q*2,Y=`${wT}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(P.current){const X=S_(P.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=I.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,_e=oe[2]*Math.pow(2,ge);le.scaleTo(pe,_e)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:_e,height:ie}=I.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const Se=ae.current*Math.max(1,oe[2])*(k?-1:1),Fe={x:oe[0]-re.sourceEvent.movementX*Se,y:oe[1]-re.sourceEvent.movementY*Se},Ae=[[0,0],[_e,ie]],He=pR.translate(Fe.x,Fe.y).scale(oe[2]),Ct=le.constrain()(He,Ae,ge);le.transform(pe,Ct)},se=fR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const ye=v?X=>{const K=hR(X);v(X,{x:K[0],y:K[1]})}:void 0,ue=b?(X,K)=>{const U=I.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(id,{position:m,style:e,className:Qh(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:T,viewBox:`${G} ${D} ${L} ${W}`,role:"img","aria-labelledby":Y,ref:P,onClick:ye,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(vT,{onClick:ue,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${D-q}h${L+q*2}v${W+q*2}h${-L-q*2}z + M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}P3.displayName="MiniMap";var ST=f.memo(P3),Cs;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Cs||(Cs={}));function CT({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function kT({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const _T={[Cs.Dots]:"#91919a",[Cs.Lines]:"#eee",[Cs.Cross]:"#e2e2e2"},PT={[Cs.Dots]:1,[Cs.Lines]:1,[Cs.Cross]:6},jT=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function j3({id:e,variant:t=Cs.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Ip(jT,M1),v=a||_T[t],b=r||PT[t],w=t===Cs.Dots,y=t===Cs.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],I=y?[_,_]:k,P=w?[_/s,_/s]:[I[0]/s,I[1]/s];return i.jsxs("svg",{className:Qh(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${P[0]},-${P[1]})`,children:w?i.jsx(kT,{color:v,radius:_/s}):i.jsx(CT,{dimensions:I,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}j3.displayName="Background";var IT=f.memo(j3),Du;(function(e){e.Line="line",e.Handle="handle"})(Du||(Du={}));function ET({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const I3={width:0,height:0,x:0,y:0},OT={...I3,pointerX:0,pointerY:0,aspectRatio:1};function RT({nodeId:e,position:t,variant:n=Du.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=vR(),k=typeof e=="string"?e:S,_=w_(),I=f.useRef(null),P=f.useRef(OT),E=f.useRef(I3),O=bR(),R=n===Du.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!I.current||!k)return;const Q=S_(I.current),B=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),D=yR().on("start",L=>{const W=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(L);E.current={width:(W==null?void 0:W.width)??0,height:(W==null?void 0:W.height)??0,x:(W==null?void 0:W.position.x)??0,y:(W==null?void 0:W.position.y)??0},P.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(L,{...E.current})}).on("drag",L=>{const{nodeInternals:W,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:ye}=O(L),ue=W.get(k);if(ue){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=P.current,{x:ge,y:_e,width:ie,height:Se}=E.current,Fe=Math.floor(B?ae-K:0),Ae=Math.floor(V?ye-U:0);let He=P2(se+(q?-Fe:Fe),c,p),Ct=P2(re+(G?-Ae:Ae),d,h);if(m){const Re=He/Ct,Pt=B&&V,At=B&&!V,xe=V&&!B;He=Re<=le&&Pt||xe?Ct*le:He,Ct=Re>le&&Pt||At?He/le:Ct,He>=p?(He=p,Ct=p/le):He<=c&&(He=c,Ct=c/le),Ct>=h?(Ct=h,He=h*le):Ct<=d&&(Ct=d,He=d*le)}const ct=He!==ie,on=Ct!==Se;if(q||G){const Re=q?oe-(He-se):oe,Pt=G?pe-(Ct-re):pe,At=Re!==ge&&ct,xe=Pt!==_e&&on;if(At||xe){const ht={id:ue.id,type:"position",position:{x:At?Re:ge,y:xe?Pt:_e}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Re={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:He,height:Ct}};X.push(Re),E.current.width=He,E.current.height=Ct}if(X.length===0)return;const vt=ET({width:E.current.width,prevWidth:ie,height:E.current.height,prevHeight:Se,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(L,bt))===!1)return;w==null||w(L,bt),Y(X)}}).on("end",L=>{const W={id:k,type:"dimensions",resizing:!1};y==null||y(L,{...E.current}),_.getState().triggerNodeChanges([W])});return Q.call(D),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const T=M.split("-"),A=n===Du.Line?"borderColor":"backgroundColor",$=a?{...o,[A]:a}:o;return i.jsx("div",{className:Qh(["react-flow__resize-control","nodrag",...T,n,r]),ref:I,style:$,children:s})}var MT=f.memo(RT);const E3=1/60*1e3,DT=typeof performance<"u"?()=>performance.now():()=>Date.now(),O3=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(DT()),E3);function TT(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=TT(()=>Uu=!0),e),{}),NT=hd.reduce((e,t)=>{const n=rm[t];return e[t]=(r,o=!1,s=!1)=>(Uu||LT(),n.schedule(r,o,s)),e},{}),$T=hd.reduce((e,t)=>(e[t]=rm[t].cancel,e),{});hd.reduce((e,t)=>(e[t]=()=>rm[t].process(nc),e),{});const zT=e=>rm[e].process(nc),R3=e=>{Uu=!1,nc.delta=yv?E3:Math.max(Math.min(e-nc.timestamp,AT),1),nc.timestamp=e,xv=!0,hd.forEach(zT),xv=!1,Uu&&(yv=!1,O3(R3))},LT=()=>{Uu=!0,yv=!0,xv||O3(R3)},bw=()=>nc;function Y1(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function md(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Te((c,d)=>i.jsx(Kr,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function BT(e){const{theme:t}=xR(),n=TD();return f.useMemo(()=>AD(t.direction,{...n,...e}),[e,t.direction,n])}var FT=Object.defineProperty,HT=(e,t,n)=>t in e?FT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gr=(e,t,n)=>(HT(e,typeof t!="symbol"?t+"":t,n),n);function yw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var WT=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function xw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function ww(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var wv=typeof window<"u"?f.useLayoutEffect:f.useEffect,zp=e=>e,VT=class{constructor(){gr(this,"descendants",new Map),gr(this,"register",e=>{if(e!=null)return WT(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),gr(this,"unregister",e=>{this.descendants.delete(e);const t=yw(Array.from(this.descendants.keys()));this.assignIndex(t)}),gr(this,"destroy",()=>{this.descendants.clear()}),gr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),gr(this,"count",()=>this.descendants.size),gr(this,"enabledCount",()=>this.enabledValues().length),gr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),gr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),gr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),gr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),gr(this,"first",()=>this.item(0)),gr(this,"firstEnabled",()=>this.enabledItem(0)),gr(this,"last",()=>this.item(this.descendants.size-1)),gr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),gr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),gr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),gr(this,"next",(e,t=!0)=>{const n=xw(e,this.count(),t);return this.item(n)}),gr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=xw(r,this.enabledCount(),t);return this.enabledItem(o)}),gr(this,"prev",(e,t=!0)=>{const n=ww(e,this.count()-1,t);return this.item(n)}),gr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=ww(r,this.enabledCount()-1,t);return this.enabledItem(o)}),gr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=yw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function UT(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{UT(n,t)})}}function GT(...e){return f.useMemo(()=>cn(...e),e)}function qT(){const e=f.useRef(new VT);return wv(()=>()=>e.current.destroy()),e.current}var[KT,M3]=Rn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function YT(e){const t=M3(),[n,r]=f.useState(-1),o=f.useRef(null);wv(()=>()=>{o.current&&t.unregister(o.current)},[]),wv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=zp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function X1(){return[zp(KT),()=>zp(M3()),()=>qT(),o=>YT(o)]}var[XT,om]=Rn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[QT,Q1]=Rn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[JT,pde,ZT,eA]=X1(),Su=Te(function(t,n){const{getButtonProps:r}=Q1(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...om().button};return i.jsx(Ie.button,{...o,className:kt("chakra-accordion__button",t.className),__css:a})});Su.displayName="AccordionButton";function Ac(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=rr(r),a=rr(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=rr(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function tA(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;oA(e),sA(e);const c=ZT(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=Ac({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[nA,J1]=Rn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function rA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=J1(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;aA(e);const{register:v,index:b,descendants:w}=eA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);iA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},I=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),P=f.useCallback(M=>{const A={ArrowDown:()=>{const $=w.nextEnabled(b);$==null||$.node.focus()},ArrowUp:()=>{const $=w.prevEnabled(b);$==null||$.node.focus()},Home:()=>{const $=w.firstEnabled();$==null||$.node.focus()},End:()=>{const $=w.lastEnabled();$==null||$.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(T={},A=null){return{...T,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(T.onClick,I),onFocus:et(T.onFocus,E),onKeyDown:et(T.onKeyDown,P)}},[h,t,y,I,E,P,m,v]),R=f.useCallback(function(T={},A=null){return{...T,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function oA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;ld({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function sA(e){ld({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function aA(e){ld({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. + `})}function iA(e){ld({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Cu(e){const{isOpen:t,isDisabled:n}=Q1(),{reduceMotion:r}=J1(),o=kt("chakra-accordion__icon",e.className),s=om(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(Kr,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Cu.displayName="AccordionIcon";var ku=Te(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=rA(t),d={...om().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(QT,{value:p,children:i.jsx(Ie.div,{ref:n,...s,className:kt("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});ku.displayName="AccordionItem";var Gi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},uu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function Sv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return uu.slideRight;case"left":return uu.slideLeft;case"bottom":return uu.slideDown;case"top":return uu.slideUp;default:return uu.slideRight}}var Ki={enter:{duration:.2,ease:Gi.easeOut},exit:{duration:.1,ease:Gi.easeIn}},ks={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},lA=e=>e!=null&&parseInt(e.toString(),10)>0,Sw={exit:{height:{duration:.2,ease:Gi.ease},opacity:{duration:.3,ease:Gi.ease}},enter:{height:{duration:.3,ease:Gi.ease},opacity:{duration:.4,ease:Gi.ease}}},cA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:lA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Sw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:ks.enter(Sw.enter,o)}}},sm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),ld({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(Fo,{initial:!1,custom:y,children:S&&i.jsx(Xr.div,{ref:t,...m,className:kt("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:cA,initial:r?"exit":!1,animate:k,exit:"exit"})})});sm.displayName="Collapse";var uA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:ks.exit(Ki.exit,n),transitionEnd:t==null?void 0:t.exit}}},D3={initial:"exit",animate:"enter",exit:"exit",variants:uA},dA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(Fo,{custom:v,children:m&&i.jsx(Xr.div,{ref:n,className:kt("chakra-fade",s),custom:v,...D3,animate:h,...p})})});dA.displayName="Fade";var fA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:e==null?void 0:e.enter}}},T3={initial:"exit",animate:"enter",exit:"exit",variants:fA},pA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(Fo,{custom:w,children:v&&i.jsx(Xr.div,{ref:n,className:kt("chakra-offset-slide",c),...T3,animate:b,custom:w,...m})})});pA.displayName="ScaleFade";var hA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:ks.exit(Ki.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Cv={initial:"initial",animate:"enter",exit:"exit",variants:hA},mA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(Fo,{custom:y,children:b&&i.jsx(Xr.div,{ref:n,className:kt("chakra-offset-slide",a),custom:y,...Cv,animate:w,...v})})});mA.displayName="SlideFade";var Cw={exit:{duration:.15,ease:Gi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},gA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=Sv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:ks.exit(Cw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=Sv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:ks.enter(Cw.enter,r),transitionEnd:t==null?void 0:t.enter}}},A3=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=Sv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(Fo,{custom:k,children:y&&i.jsx(Xr.div,{...v,ref:n,initial:"exit",className:kt("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:gA,style:w,...m})})});A3.displayName="Slide";var _u=Te(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=J1(),{getPanelProps:c,isOpen:d}=Q1(),p=c(s,n),h=kt("chakra-accordion__panel",r),m=om();a||delete p.hidden;const v=i.jsx(Ie.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(sm,{in:d,...o,children:v})});_u.displayName="AccordionPanel";var N3=Te(function({children:t,reduceMotion:n,...r},o){const s=Br("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=tA(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(JT,{value:d,children:i.jsx(nA,{value:h,children:i.jsx(XT,{value:s,children:i.jsx(Ie.div,{ref:o,...c,className:kt("chakra-accordion",r.className),__css:s.root,children:t})})})})});N3.displayName="Accordion";function gd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[vA,bA]=Rn({strict:!1,name:"ButtonGroupContext"}),yA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},xA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},nr=Te(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=kt("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?yA[h]:xA[h](c)};const y=h==="vertical";return i.jsx(vA,{value:b,children:i.jsx(Ie.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});nr.displayName="ButtonGroup";function wA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function kv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=kt("chakra-button__icon",n);return i.jsx(Ie.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}kv.displayName="ButtonIcon";function Lp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(dl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=kt("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(Ie.div,{className:d,...c,__css:h,children:o})}Lp.displayName="ButtonSpinner";var gc=Te((e,t)=>{const n=bA(),r=$a("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:I,type:P}=wA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(Ie.button,{ref:GT(t,I),as:S,type:v??P,"data-active":tn(a),"data-loading":tn(s),__css:_,className:kt("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Lp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(Ie.span,{opacity:0,children:i.jsx(kw,{...E})}):i.jsx(kw,{...E}),s&&w==="end"&&i.jsx(Lp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});gc.displayName="Button";function kw(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(kv,{marginEnd:o,children:t}),r,n&&i.jsx(kv,{marginStart:o,children:n})]})}var Sa=Te((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(gc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});Sa.displayName="IconButton";var[hde,SA]=Rn({name:"CheckboxGroupContext",strict:!1});function CA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function kA(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function _A(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function PA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?_A:kA;return n||t?i.jsx(Ie.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[jA,$3]=Rn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[IA,vd]=Rn({strict:!1,name:"FormControlContext"});function EA(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,T=>{T&&y(!0)})}),[m]),I=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":tn(S),"data-disabled":tn(o),"data-invalid":tn(r),"data-readonly":tn(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),P=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,T=>{T&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:P,getRootProps:E,getLabelProps:I,getRequiredIndicatorProps:O}}var ho=Te(function(t,n){const r=Br("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=EA(o),d=kt("chakra-form-control",t.className);return i.jsx(IA,{value:c,children:i.jsx(jA,{value:r,children:i.jsx(Ie.div,{...s({},n),className:d,__css:r.container})})})});ho.displayName="FormControl";var OA=Te(function(t,n){const r=vd(),o=$3(),s=kt("chakra-form__helper-text",t.className);return i.jsx(Ie.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});OA.displayName="FormHelperText";var zo=Te(function(t,n){var r;const o=$a("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(z3,{}),optionalIndicator:p=null,...h}=s,m=vd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(Ie.label,{...v,className:kt("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});zo.displayName="FormLabel";var z3=Te(function(t,n){const r=vd(),o=$3();if(!(r!=null&&r.isRequired))return null;const s=kt("chakra-form__required-indicator",t.className);return i.jsx(Ie.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});z3.displayName="RequiredIndicator";function Z1(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=eb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":ns(n),"aria-required":ns(o),"aria-readonly":ns(r)}}function eb(e){var t,n,r;const o=vd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var tb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},L3=Ie("span",{baseStyle:tb});L3.displayName="VisuallyHidden";var RA=Ie("input",{baseStyle:tb});RA.displayName="VisuallyHiddenInput";var _w=!1,bd=null,nl=!1,_v=!1,Pv=new Set;function nb(e,t){Pv.forEach(n=>n(e,t))}var MA=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function DA(e){return!(e.metaKey||!MA&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Pw(e){nl=!0,DA(e)&&(bd="keyboard",nb("keyboard",e))}function Dl(e){if(bd="pointer",e.type==="mousedown"||e.type==="pointerdown"){nl=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;nb("pointer",e)}}function TA(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function AA(e){TA(e)&&(nl=!0,bd="virtual")}function NA(e){e.target===window||e.target===document||(!nl&&!_v&&(bd="virtual",nb("virtual",e)),nl=!1,_v=!1)}function $A(){nl=!1,_v=!0}function jw(){return bd!=="pointer"}function zA(){if(typeof window>"u"||_w)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){nl=!0,e.apply(this,n)},document.addEventListener("keydown",Pw,!0),document.addEventListener("keyup",Pw,!0),document.addEventListener("click",AA,!0),window.addEventListener("focus",NA,!0),window.addEventListener("blur",$A,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Dl,!0),document.addEventListener("pointermove",Dl,!0),document.addEventListener("pointerup",Dl,!0)):(document.addEventListener("mousedown",Dl,!0),document.addEventListener("mousemove",Dl,!0),document.addEventListener("mouseup",Dl,!0)),_w=!0}function B3(e){zA(),e(jw());const t=()=>e(jw());return Pv.add(t),()=>{Pv.delete(t)}}function LA(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function F3(e={}){const t=eb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":I,"aria-invalid":P,...E}=e,O=LA(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=rr(b),M=rr(c),T=rr(d),[A,$]=f.useState(!1),[Q,B]=f.useState(!1),[V,q]=f.useState(!1),[G,D]=f.useState(!1);f.useEffect(()=>B3($),[]);const L=f.useRef(null),[W,Y]=f.useState(!0),[ae,ye]=f.useState(!!h),ue=m!==void 0,X=ue?m:ae,K=f.useCallback(ie=>{if(r||n){ie.preventDefault();return}ue||ye(X?ie.target.checked:w?!0:ie.target.checked),R==null||R(ie)},[r,n,X,ue,w,R]);Zl(()=>{L.current&&(L.current.indeterminate=!!w)},[w]),Ba(()=>{n&&B(!1)},[n,B]),Zl(()=>{const ie=L.current;ie!=null&&ie.form&&(ie.form.onreset=()=>{ye(!!h)})},[]);const U=n&&!v,se=f.useCallback(ie=>{ie.key===" "&&D(!0)},[D]),re=f.useCallback(ie=>{ie.key===" "&&D(!1)},[D]);Zl(()=>{if(!L.current)return;L.current.checked!==X&&ye(L.current.checked)},[L.current]);const oe=f.useCallback((ie={},Se=null)=>{const Fe=Ae=>{Q&&Ae.preventDefault(),D(!0)};return{...ie,ref:Se,"data-active":tn(G),"data-hover":tn(V),"data-checked":tn(X),"data-focus":tn(Q),"data-focus-visible":tn(Q&&A),"data-indeterminate":tn(w),"data-disabled":tn(n),"data-invalid":tn(s),"data-readonly":tn(r),"aria-hidden":!0,onMouseDown:et(ie.onMouseDown,Fe),onMouseUp:et(ie.onMouseUp,()=>D(!1)),onMouseEnter:et(ie.onMouseEnter,()=>q(!0)),onMouseLeave:et(ie.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((ie={},Se=null)=>({...O,...ie,ref:cn(Se,Fe=>{Fe&&Y(Fe.tagName==="LABEL")}),onClick:et(ie.onClick,()=>{var Fe;W||((Fe=L.current)==null||Fe.click(),requestAnimationFrame(()=>{var Ae;(Ae=L.current)==null||Ae.focus({preventScroll:!0})}))}),"data-disabled":tn(n),"data-checked":tn(X),"data-invalid":tn(s)}),[O,n,X,s,W]),le=f.useCallback((ie={},Se=null)=>({...ie,ref:cn(L,Se),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(ie.onChange,K),onBlur:et(ie.onBlur,M,()=>B(!1)),onFocus:et(ie.onFocus,T,()=>B(!0)),onKeyDown:et(ie.onKeyDown,se),onKeyUp:et(ie.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":I,"aria-invalid":P?!!P:s,"aria-describedby":p,"aria-disabled":n,style:tb}),[y,S,a,K,M,T,se,re,o,X,U,r,_,I,P,s,p,n,k]),ge=f.useCallback((ie={},Se=null)=>({...ie,ref:Se,onMouseDown:et(ie.onMouseDown,BA),"data-disabled":tn(n),"data-checked":tn(X),"data-invalid":tn(s)}),[X,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:X,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:pe,getCheckboxProps:oe,getInputProps:le,getLabelProps:ge,htmlProps:O}}function BA(e){e.preventDefault(),e.stopPropagation()}var FA={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},HA={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},WA=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),VA=za({from:{opacity:0},to:{opacity:1}}),UA=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),H3=Te(function(t,n){const r=SA(),o={...r,...t},s=Br("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(PA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let I=y;r!=null&&r.onChange&&a.value&&(I=Jh(r.onChange,y));const{state:P,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=F3({...k,isDisabled:w,isChecked:_,onChange:I}),T=CA(P.isChecked),A=f.useMemo(()=>({animation:T?P.isIndeterminate?`${VA} 20ms linear, ${UA} 200ms linear`:`${WA} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,T,P.isIndeterminate,s.icon]),$=f.cloneElement(v,{__css:A,isIndeterminate:P.isIndeterminate,isChecked:P.isChecked});return i.jsxs(Ie.label,{__css:{...HA,...s.container},className:kt("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(Ie.span,{__css:{...FA,...s.control},className:"chakra-checkbox__control",...O(),children:$}),p&&i.jsx(Ie.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});H3.displayName="Checkbox";function GA(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function rb(e,t){let n=GA(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function jv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Bp(e,t,n){return(e-t)*100/(n-t)}function W3(e,t,n){return(n-t)*e+t}function Iv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=jv(n);return rb(r,o)}function rc(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=f0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=V3(ni(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),ni(A)))},[p,v,b]),k=f.useCallback(A=>{let $=A;return d&&($=rc($,a,c)),rb($,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let $;b===""?$=ni(A):$=ni(b)+A,$=k($),S($)},[k,s,S,b]),I=f.useCallback((A=s)=>{let $;b===""?$=ni(-A):$=ni(b)-A,$=k($),S($)},[k,s,S,b]),P=f.useCallback(()=>{var A;let $;r==null?$="":$=(A=f0(r,s,n))!=null?A:a,S($)},[r,n,s,S,a]),E=f.useCallback(A=>{var $;const Q=($=f0(A,s,y))!=null?$:a;S(Q)},[y,s,S,a]),O=ni(b);return{isOutOfRange:O>c||O" `}),[YA,G3]=Rn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),q3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},K3=Te(function(t,n){const{getInputProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__input",t.className);return i.jsx(Ie.input,{...s,__css:{outline:0,...q3,...o.input},className:a})});K3.displayName="EditableInput";var Y3=Te(function(t,n){const{getPreviewProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__preview",t.className);return i.jsx(Ie.span,{...s,__css:{cursor:"text",display:"inline-block",...q3,...o.preview},className:a})});Y3.displayName="EditablePreview";function Yi(e,t,n,r){const o=rr(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function XA(e){return"current"in e}var X3=()=>typeof window<"u";function QA(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var JA=e=>X3()&&e.test(navigator.vendor),ZA=e=>X3()&&e.test(QA()),e9=()=>ZA(/mac|iphone|ipad|ipod/i),t9=()=>e9()&&JA(/apple/i);function Q3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!t9()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=XA(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Iw(e,t){return e?e===t||e.contains(t):!1}function n9(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=rr(b),k=!!(d&&!a),[_,I]=f.useState(k),[P,E]=Ac({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(P),M=f.useRef(null),T=f.useRef(null),A=f.useRef(null),$=f.useRef(null),Q=f.useRef(null);Q3({ref:M,enabled:_,elements:[$,Q]});const B=!_&&!a;Zl(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Ba(()=>{var oe,pe,le,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(le=M.current)==null||le.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{B&&I(!0)},[B]),q=f.useCallback(()=>{R(P)},[P]),G=f.useCallback(()=>{I(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),D=f.useCallback(()=>{I(!1),R(P),r==null||r(P),o==null||o(O)},[P,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const L=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),W=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:_e=>{!_e.shiftKey&&!_e.metaKey&&D()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,D]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=P.length===0,ye=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,_e=Iw($.current,ge),ie=Iw(Q.current,ge);!_e&&!ie&&(h?D():G())},[h,D,G,_]),ue=f.useCallback((oe={},pe=null)=>{const le=B&&p?0:void 0;return{...oe,ref:cn(pe,T),children:ae?v:P,hidden:_,"aria-disabled":ns(a),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[a,_,B,p,ae,V,q,v,P]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,L),onKeyDown:et(oe.onKeyDown,W),onFocus:et(oe.onFocus,q)}),[a,_,ye,L,W,q,v,P]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,L),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,ye,L,Y,q,v,P]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,D),disabled:a}),[D,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn($,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ae,value:P,onEdit:V,onCancel:G,onSubmit:D,getPreviewProps:ue,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var J3=Te(function(t,n){const r=Br("Editable",t),o=qn(t),{htmlProps:s,...a}=n9(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=kt("chakra-editable",t.className),v=D1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(YA,{value:a,children:i.jsx(KA,{value:r,children:i.jsx(Ie.div,{ref:n,...s,className:m,children:v})})})});J3.displayName="Editable";var Z3={exports:{}},r9="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",o9=r9,s9=o9;function eP(){}function tP(){}tP.resetWarningCache=eP;var a9=function(){function e(r,o,s,a,c,d){if(d!==s9){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:tP,resetWarningCache:eP};return n.PropTypes=n,n};Z3.exports=a9();var i9=Z3.exports;const zn=cd(i9);var Ev="data-focus-lock",nP="data-focus-lock-disabled",l9="data-no-focus-lock",c9="data-autofocus-inside",u9="data-no-autofocus";function d9(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function f9(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function rP(e,t){return f9(t||null,function(n){return e.forEach(function(r){return d9(r,n)})})}var p0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Qs=function(){return Qs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Ov(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(P9)},j9=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],ib=j9.join(","),I9="".concat(ib,", [data-focus-guard]"),wP=function(e,t){return ia((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?I9:ib)?[r]:[],wP(r))},[])},E9=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?am([e.contentDocument.body],t):[e]},am=function(e,t){return e.reduce(function(n,r){var o,s=wP(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return E9(c,t)}));return n.concat(a,r.parentNode?ia(r.parentNode.querySelectorAll(ib)).filter(function(c){return c===r}):[])},[])},O9=function(e){var t=e.querySelectorAll("[".concat(c9,"]"));return ia(t).map(function(n){return am([n])}).reduce(function(n,r){return n.concat(r)},[])},lb=function(e,t){return ia(e).filter(function(n){return mP(t,n)}).filter(function(n){return C9(n)})},Ow=function(e,t){return t===void 0&&(t=new Map),ia(e).filter(function(n){return gP(t,n)})},Mv=function(e,t,n){return xP(lb(am(e,n),t),!0,n)},Rw=function(e,t){return xP(lb(am(e),t),!1)},R9=function(e,t){return lb(O9(e),t)},oc=function(e,t){return e.shadowRoot?oc(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:ia(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?oc(o,t):!1}return oc(n,t)})},M9=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},SP=function(e){return e.parentNode?SP(e.parentNode):e},cb=function(e){var t=Fp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Ev);return n.push.apply(n,o?M9(ia(SP(r).querySelectorAll("[".concat(Ev,'="').concat(o,'"]:not([').concat(nP,'="disabled"])')))):[r]),n},[])},D9=function(e){try{return e()}catch{return}},Gu=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Gu(t.shadowRoot):t instanceof HTMLIFrameElement&&D9(function(){return t.contentWindow.document})?Gu(t.contentWindow.document):t}},T9=function(e,t){return e===t},A9=function(e,t){return!!ia(e.querySelectorAll("iframe")).some(function(n){return T9(n,t)})},CP=function(e,t){return t===void 0&&(t=Gu(fP(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:cb(e).some(function(n){return oc(n,t)||A9(n,t)})},N9=function(e){e===void 0&&(e=document);var t=Gu(e);return t?ia(e.querySelectorAll("[".concat(l9,"]"))).some(function(n){return oc(n,t)}):!1},$9=function(e,t){return t.filter(yP).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},ub=function(e,t){return yP(e)&&e.name?$9(e,t):e},z9=function(e){var t=new Set;return e.forEach(function(n){return t.add(ub(n,e))}),e.filter(function(n){return t.has(n)})},Mw=function(e){return e[0]&&e.length>1?ub(e[0],e):e[0]},Dw=function(e,t){return e.length>1?e.indexOf(ub(e[t],e)):t},kP="NEW_FOCUS",L9=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=ab(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=z9(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Dw(e,0),_=Dw(e,o-1);if(d===-1||h===-1)return kP;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},B9=function(e){return function(t){var n,r=(n=vP(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},F9=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ow(r.filter(B9(n)));return o&&o.length?Mw(o):Mw(Ow(t))},Dv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Dv(e.parentNode.host||e.parentNode,t),t},h0=function(e,t){for(var n=Dv(e),r=Dv(t),o=0;o=0)return s}return!1},_P=function(e,t,n){var r=Fp(e),o=Fp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=h0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=h0(s,d);p&&(!a||oc(p,a)?a=p:a=h0(p,a))})}),a},H9=function(e,t){return e.reduce(function(n,r){return n.concat(R9(r,t))},[])},W9=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(_9)},V9=function(e,t){var n=Gu(Fp(e).length>0?document:fP(e).ownerDocument),r=cb(e).filter(Hp),o=_P(n||e,e,r),s=new Map,a=Rw(r,s),c=Mv(r,s).filter(function(b){var w=b.node;return Hp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Rw([o],s).map(function(b){var w=b.node;return w}),p=W9(d,c),h=p.map(function(b){var w=b.node;return w}),m=L9(h,d,n,t);if(m===kP){var v=F9(a,h,H9(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},U9=function(e){var t=cb(e).filter(Hp),n=_P(e,e,t),r=new Map,o=Mv([n],r,!0),s=Mv(t,r).filter(function(a){var c=a.node;return Hp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:ab(c)}})},G9=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},m0=0,g0=!1,PP=function(e,t,n){n===void 0&&(n={});var r=V9(e,t);if(!g0&&r){if(m0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),g0=!0,setTimeout(function(){g0=!1},1);return}m0++,G9(r.node,n.focusOptions),m0--}};function db(e){setTimeout(e,1)}var q9=function(){return document&&document.activeElement===document.body},K9=function(){return q9()||N9()},sc=null,Kl=null,ac=null,qu=!1,Y9=function(){return!0},X9=function(t){return(sc.whiteList||Y9)(t)},Q9=function(t,n){ac={observerNode:t,portaledElement:n}},J9=function(t){return ac&&ac.portaledElement===t};function Tw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var Z9=function(t){return t&&"current"in t?t.current:t},eN=function(t){return t?!!qu:qu==="meanwhile"},tN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},nN=function(t,n){return n.some(function(r){return tN(t,r,r)})},Wp=function(){var t=!1;if(sc){var n=sc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||ac&&ac.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(Z9).filter(Boolean));if((!h||X9(h))&&(o||eN(c)||!K9()||!Kl&&s)&&(p&&!(CP(m)||h&&nN(h,m)||J9(h))&&(document&&!Kl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=PP(m,Kl,{focusOptions:d}),ac={})),qu=!1,Kl=document&&document.activeElement),document){var v=document&&document.activeElement,b=U9(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),Tw(w,b.length,1,b),Tw(w,-1,-1,b))}}}return t},jP=function(t){Wp()&&t&&(t.stopPropagation(),t.preventDefault())},fb=function(){return db(Wp)},rN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||Q9(r,n)},oN=function(){return null},IP=function(){qu="just",db(function(){qu="meanwhile"})},sN=function(){document.addEventListener("focusin",jP),document.addEventListener("focusout",fb),window.addEventListener("blur",IP)},aN=function(){document.removeEventListener("focusin",jP),document.removeEventListener("focusout",fb),window.removeEventListener("blur",IP)};function iN(e){return e.filter(function(t){var n=t.disabled;return!n})}function lN(e){var t=e.slice(-1)[0];t&&!sc&&sN();var n=sc,r=n&&t&&t.id===n.id;sc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Kl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Wp(),db(Wp)):(aN(),Kl=null)}cP.assignSyncMedium(rN);uP.assignMedium(fb);h9.assignMedium(function(e){return e({moveFocusInside:PP,focusInside:CP})});const cN=b9(iN,lN)(oN);var EP=f.forwardRef(function(t,n){return f.createElement(dP,or({sideCar:cN,ref:n},t))}),OP=dP.propTypes||{};OP.sideCar;LD(OP,["sideCar"]);EP.propTypes={};const Aw=EP;function RP(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function pb(e){var t;if(!RP(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function uN(e){var t,n;return(n=(t=MP(e))==null?void 0:t.defaultView)!=null?n:window}function MP(e){return RP(e)?e.ownerDocument:document}function dN(e){return MP(e).activeElement}function fN(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function pN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function DP(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:pb(e)&&fN(e)?e:DP(pN(e))}var TP=e=>e.hasAttribute("tabindex"),hN=e=>TP(e)&&e.tabIndex===-1;function mN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function AP(e){return e.parentElement&&AP(e.parentElement)?!0:e.hidden}function gN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function NP(e){if(!pb(e)||AP(e)||mN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():gN(e)?!0:TP(e)}function vN(e){return e?pb(e)&&NP(e)&&!hN(e):!1}var bN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],yN=bN.join(),xN=e=>e.offsetWidth>0&&e.offsetHeight>0;function $P(e){const t=Array.from(e.querySelectorAll(yN));return t.unshift(e),t.filter(n=>NP(n)&&xN(n))}var Nw,wN=(Nw=Aw.default)!=null?Nw:Aw,zP=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&$P(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(wN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};zP.displayName="FocusLock";function SN(e,t,n,r){const o=C_(t);return f.useEffect(()=>{var s;const a=(s=j2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=j2(n))!=null?s:document).removeEventListener(e,o,r)}}function CN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=C_(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{v0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&v0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&v0(m,t)&&(a.isPointerDown=!1,o(m))},h=k_(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function v0(e,t){var n;const r=e.target;return r&&!k_(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[kN,_N]=Rn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),LP=Te(function(t,n){const r=Br("Input",t),{children:o,className:s,...a}=qn(t),c=kt("chakra-input__group",s),d={},p=gd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=Y1({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(Ie.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate"},"data-group":!0,...a,children:i.jsx(kN,{value:r,children:m})})});LP.displayName="InputGroup";var PN=Ie("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),im=Te(function(t,n){var r,o;const{placement:s="left",...a}=t,c=_N(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(PN,{ref:n,__css:h,...a})});im.id="InputElement";im.displayName="InputElement";var BP=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__left-element",r);return i.jsx(im,{ref:n,placement:"left",className:s,...o})});BP.id="InputLeftElement";BP.displayName="InputLeftElement";var hb=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__right-element",r);return i.jsx(im,{ref:n,placement:"right",className:s,...o})});hb.id="InputRightElement";hb.displayName="InputRightElement";var yd=Te(function(t,n){const{htmlSize:r,...o}=t,s=Br("Input",o),a=qn(o),c=Z1(a),d=kt("chakra-input",t.className);return i.jsx(Ie.input,{size:r,...c,__css:s.field,ref:n,className:d})});yd.displayName="Input";yd.id="Input";var mb=Te(function(t,n){const r=$a("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(Ie.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:kt("chakra-link",o),...a,__css:r})});mb.displayName="Link";var[jN,FP]=Rn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),gb=Te(function(t,n){const r=Br("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=gd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(jN,{value:r,children:i.jsx(Ie.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});gb.displayName="List";var IN=Te((e,t)=>{const{as:n,...r}=e;return i.jsx(gb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});IN.displayName="OrderedList";var vb=Te(function(t,n){const{as:r,...o}=t;return i.jsx(gb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});vb.displayName="UnorderedList";var xa=Te(function(t,n){const r=FP();return i.jsx(Ie.li,{ref:n,...t,__css:r.item})});xa.displayName="ListItem";var EN=Te(function(t,n){const r=FP();return i.jsx(Kr,{ref:n,role:"presentation",...t,__css:r.icon})});EN.displayName="ListIcon";var rl=Te(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(Ie.div,{ref:n,__css:y,...w})});rl.displayName="Grid";function HP(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):pv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var fl=Ie("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});fl.displayName="Spacer";var tt=Te(function(t,n){const r=$a("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=Y1({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(Ie.p,{ref:n,className:kt("chakra-text",t.className),...p,...d,__css:r})});tt.displayName="Text";var WP=e=>i.jsx(Ie.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});WP.displayName="StackItem";function ON(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":HP(n,o=>r[o])}}var bb=Te((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>ON({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const I=gd(d);return S?I:I.map((P,E)=>{const O=typeof P.key<"u"?P.key:E,R=E+1===I.length,T=m?i.jsx(WP,{children:P},O):P;if(!y)return T;const A=f.cloneElement(p,{__css:w}),$=R?null:A;return i.jsxs(f.Fragment,{children:[T,$]},O)})},[p,w,y,S,m,d]),_=kt("chakra-stack",h);return i.jsx(Ie.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});bb.displayName="Stack";var VP=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"column",ref:t}));VP.displayName="VStack";var di=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"row",ref:t}));di.displayName="HStack";function $w(e){return HP(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Tv=Te(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=Y1({gridArea:r,gridColumn:$w(o),gridRow:$w(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(Ie.div,{ref:n,__css:m,...h})});Tv.displayName="GridItem";var pl=Te(function(t,n){const r=$a("Badge",t),{className:o,...s}=qn(t);return i.jsx(Ie.span,{ref:n,className:kt("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});pl.displayName="Badge";var hl=Te(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=$a("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(Ie.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:kt("chakra-divider",m)})});hl.displayName="Divider";function RN(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function MN(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(RN(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function DN(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function TN(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function b0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function UP(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),I=TN(),P=D=>{D&&D.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(D=>{if(n){D.stopPropagation(),D.preventDefault();return}D.currentTarget.focus(),d==null||d(D)},[n,d]),M=f.useCallback(D=>{k&&b0(D)&&(D.preventDefault(),D.stopPropagation(),_(!1),I.remove(document,"keyup",M,!1))},[k,I]),T=f.useCallback(D=>{if(p==null||p(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;const L=o&&D.key==="Enter";s&&D.key===" "&&(D.preventDefault(),_(!0)),L&&(D.preventDefault(),D.currentTarget.click()),I.add(document,"keyup",M,!1)},[n,y,p,o,s,I,M]),A=f.useCallback(D=>{if(h==null||h(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;s&&D.key===" "&&(D.preventDefault(),_(!1),D.currentTarget.click())},[s,y,n,h]),$=f.useCallback(D=>{D.button===0&&(_(!1),I.remove(document,"mouseup",$,!1))},[I]),Q=f.useCallback(D=>{if(D.button!==0)return;if(n){D.stopPropagation(),D.preventDefault();return}y||_(!0),D.currentTarget.focus({preventScroll:!0}),I.add(document,"mouseup",$,!1),a==null||a(D)},[n,y,a,I,$]),B=f.useCallback(D=>{D.button===0&&(y||_(!1),c==null||c(D))},[c,y]),V=f.useCallback(D=>{if(n){D.preventDefault();return}v==null||v(D)},[n,v]),q=f.useCallback(D=>{k&&(D.preventDefault(),_(!1)),b==null||b(D)},[k,b]),G=cn(t,P);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":tn(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:B,onKeyUp:A,onKeyDown:T,onMouseOver:V,onMouseLeave:q}}function AN(e){const t=e.current;if(!t)return!1;const n=dN(t);return!n||t.contains(n)?!1:!!vN(n)}function GP(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Ba(()=>{if(!s||AN(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var NN={preventScroll:!0,shouldFocus:!1};function $N(e,t=NN){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=zN(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);Zl(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=$P(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Ba(()=>{h()},[h]),Yi(a,"transitionend",h)}function zN(e){return"current"in e}var Tl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Pr={arrowShadowColor:Tl("--popper-arrow-shadow-color"),arrowSize:Tl("--popper-arrow-size","8px"),arrowSizeHalf:Tl("--popper-arrow-size-half"),arrowBg:Tl("--popper-arrow-bg"),transformOrigin:Tl("--popper-transform-origin"),arrowOffset:Tl("--popper-arrow-offset")};function LN(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var BN={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},FN=e=>BN[e],zw={scroll:!0,resize:!0};function HN(e){let t;return typeof e=="object"?t={enabled:!0,options:{...zw,...e}}:t={enabled:e,options:zw},t}var WN={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},VN={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Lw(e)},effect:({state:e})=>()=>{Lw(e)}},Lw=e=>{e.elements.popper.style.setProperty(Pr.transformOrigin.var,FN(e.placement))},UN={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{GN(e)}},GN=e=>{var t;if(!e.placement)return;const n=qN(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Pr.arrowSize.varRef,height:Pr.arrowSize.varRef,zIndex:-1});const r={[Pr.arrowSizeHalf.var]:`calc(${Pr.arrowSize.varRef} / 2 - 1px)`,[Pr.arrowOffset.var]:`calc(${Pr.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},qN=e=>{if(e.startsWith("top"))return{property:"bottom",value:Pr.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Pr.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Pr.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Pr.arrowOffset.varRef}},KN={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Bw(e)},effect:({state:e})=>()=>{Bw(e)}},Bw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=LN(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Pr.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},YN={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},XN={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function QN(e,t="ltr"){var n,r;const o=((n=YN[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=XN[e])!=null?r:o}var Co="top",as="bottom",is="right",ko="left",yb="auto",xd=[Co,as,is,ko],vc="start",Ku="end",JN="clippingParents",qP="viewport",du="popper",ZN="reference",Fw=xd.reduce(function(e,t){return e.concat([t+"-"+vc,t+"-"+Ku])},[]),KP=[].concat(xd,[yb]).reduce(function(e,t){return e.concat([t,t+"-"+vc,t+"-"+Ku])},[]),e$="beforeRead",t$="read",n$="afterRead",r$="beforeMain",o$="main",s$="afterMain",a$="beforeWrite",i$="write",l$="afterWrite",c$=[e$,t$,n$,r$,o$,s$,a$,i$,l$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Lo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ol(e){var t=Lo(e).Element;return e instanceof t||e instanceof Element}function rs(e){var t=Lo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function xb(e){if(typeof ShadowRoot>"u")return!1;var t=Lo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function u$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!rs(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function d$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!rs(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const f$={name:"applyStyles",enabled:!0,phase:"write",fn:u$,effect:d$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Xi=Math.max,Vp=Math.min,bc=Math.round;function Av(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function YP(){return!/^((?!chrome|android).)*safari/i.test(Av())}function yc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&rs(e)&&(o=e.offsetWidth>0&&bc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&bc(r.height)/e.offsetHeight||1);var a=ol(e)?Lo(e):window,c=a.visualViewport,d=!YP()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function wb(e){var t=yc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function XP(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&xb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ea(e){return Lo(e).getComputedStyle(e)}function p$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((ol(e)?e.ownerDocument:e.document)||window.document).documentElement}function lm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(xb(e)?e.host:null)||Pi(e)}function Hw(e){return!rs(e)||Ea(e).position==="fixed"?null:e.offsetParent}function h$(e){var t=/firefox/i.test(Av()),n=/Trident/i.test(Av());if(n&&rs(e)){var r=Ea(e);if(r.position==="fixed")return null}var o=lm(e);for(xb(o)&&(o=o.host);rs(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ea(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function wd(e){for(var t=Lo(e),n=Hw(e);n&&p$(n)&&Ea(n).position==="static";)n=Hw(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ea(n).position==="static")?t:n||h$(e)||t}function Sb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Tu(e,t,n){return Xi(e,Vp(t,n))}function m$(e,t,n){var r=Tu(e,t,n);return r>n?n:r}function QP(){return{top:0,right:0,bottom:0,left:0}}function JP(e){return Object.assign({},QP(),e)}function ZP(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var g$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,JP(typeof t!="number"?t:ZP(t,xd))};function v$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=Sb(c),p=[ko,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=g$(o.padding,n),v=wb(s),b=d==="y"?Co:ko,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=wd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,I=y/2-S/2,P=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+I,R=Tu(P,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function b$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||XP(t.elements.popper,o)&&(t.elements.arrow=o))}const y$={name:"arrow",enabled:!0,phase:"main",fn:v$,effect:b$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xc(e){return e.split("-")[1]}var x$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function w$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:bc(n*o)/o||0,y:bc(r*o)/o||0}}function Ww(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),I=ko,P=Co,E=window;if(p){var O=wd(n),R="clientHeight",M="clientWidth";if(O===Lo(n)&&(O=Pi(n),Ea(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===Co||(o===ko||o===is)&&s===Ku){P=as;var T=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=T-r.height,y*=d?1:-1}if(o===ko||(o===Co||o===as)&&s===Ku){I=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var $=Object.assign({position:c},p&&x$),Q=h===!0?w$({x:b,y},Lo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var B;return Object.assign({},$,(B={},B[P]=_?"0":"",B[I]=k?"0":"",B.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",B))}return Object.assign({},$,(t={},t[P]=_?y+"px":"",t[I]=k?b+"px":"",t.transform="",t))}function S$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:xc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ww(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ww(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const C$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:S$,data:{}};var Mf={passive:!0};function k$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Lo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Mf)}),c&&d.addEventListener("resize",n.update,Mf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Mf)}),c&&d.removeEventListener("resize",n.update,Mf)}}const _$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:k$,data:{}};var P$={left:"right",right:"left",bottom:"top",top:"bottom"};function yp(e){return e.replace(/left|right|bottom|top/g,function(t){return P$[t]})}var j$={start:"end",end:"start"};function Vw(e){return e.replace(/start|end/g,function(t){return j$[t]})}function Cb(e){var t=Lo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function kb(e){return yc(Pi(e)).left+Cb(e).scrollLeft}function I$(e,t){var n=Lo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=YP();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+kb(e),y:d}}function E$(e){var t,n=Pi(e),r=Cb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Xi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Xi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+kb(e),d=-r.scrollTop;return Ea(o||n).direction==="rtl"&&(c+=Xi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function _b(e){var t=Ea(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function e5(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:rs(e)&&_b(e)?e:e5(lm(e))}function Au(e,t){var n;t===void 0&&(t=[]);var r=e5(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Lo(r),a=o?[s].concat(s.visualViewport||[],_b(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Au(lm(a)))}function Nv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function O$(e,t){var n=yc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Uw(e,t,n){return t===qP?Nv(I$(e,n)):ol(t)?O$(t,n):Nv(E$(Pi(e)))}function R$(e){var t=Au(lm(e)),n=["absolute","fixed"].indexOf(Ea(e).position)>=0,r=n&&rs(e)?wd(e):e;return ol(r)?t.filter(function(o){return ol(o)&&XP(o,r)&&ra(o)!=="body"}):[]}function M$(e,t,n,r){var o=t==="clippingParents"?R$(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=Uw(e,p,r);return d.top=Xi(h.top,d.top),d.right=Vp(h.right,d.right),d.bottom=Vp(h.bottom,d.bottom),d.left=Xi(h.left,d.left),d},Uw(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function t5(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?xc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case Co:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case ko:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?Sb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case vc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case Ku:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function Yu(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?JN:c,p=n.rootBoundary,h=p===void 0?qP:p,m=n.elementContext,v=m===void 0?du:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=JP(typeof S!="number"?S:ZP(S,xd)),_=v===du?ZN:du,I=e.rects.popper,P=e.elements[w?_:v],E=M$(ol(P)?P:P.contextElement||Pi(e.elements.popper),d,h,a),O=yc(e.elements.reference),R=t5({reference:O,element:I,strategy:"absolute",placement:o}),M=Nv(Object.assign({},I,R)),T=v===du?M:O,A={top:E.top-T.top+k.top,bottom:T.bottom-E.bottom+k.bottom,left:E.left-T.left+k.left,right:T.right-E.right+k.right},$=e.modifiersData.offset;if(v===du&&$){var Q=$[o];Object.keys(A).forEach(function(B){var V=[is,as].indexOf(B)>=0?1:-1,q=[Co,as].indexOf(B)>=0?"y":"x";A[B]+=Q[q]*V})}return A}function D$(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?KP:d,h=xc(r),m=h?c?Fw:Fw.filter(function(w){return xc(w)===h}):xd,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=Yu(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function T$(e){if(ta(e)===yb)return[];var t=yp(e);return[Vw(e),t,Vw(t)]}function A$(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,I=d||(_||!w?[yp(S)]:T$(S)),P=[S].concat(I).reduce(function(X,K){return X.concat(ta(K)===yb?D$(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,T=P[0],A=0;A=0,q=V?"width":"height",G=Yu(t,{placement:$,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),D=V?B?is:ko:B?as:Co;E[q]>O[q]&&(D=yp(D));var L=yp(D),W=[];if(s&&W.push(G[Q]<=0),c&&W.push(G[D]<=0,G[L]<=0),W.every(function(X){return X})){T=$,M=!1;break}R.set($,W)}if(M)for(var Y=w?3:1,ae=function(K){var U=P.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return T=U,"break"},ye=Y;ye>0;ye--){var ue=ae(ye);if(ue==="break")break}t.placement!==T&&(t.modifiersData[r]._skip=!0,t.placement=T,t.reset=!0)}}const N$={name:"flip",enabled:!0,phase:"main",fn:A$,requiresIfExists:["offset"],data:{_skip:!1}};function Gw(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function qw(e){return[Co,is,as,ko].some(function(t){return e[t]>=0})}function $$(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=Yu(t,{elementContext:"reference"}),c=Yu(t,{altBoundary:!0}),d=Gw(a,r),p=Gw(c,o,s),h=qw(d),m=qw(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const z$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:$$};function L$(e,t,n){var r=ta(e),o=[ko,Co].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[ko,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function B$(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=KP.reduce(function(h,m){return h[m]=L$(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const F$={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:B$};function H$(e){var t=e.state,n=e.name;t.modifiersData[n]=t5({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const W$={name:"popperOffsets",enabled:!0,phase:"read",fn:H$,data:{}};function V$(e){return e==="x"?"y":"x"}function U$(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=Yu(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=xc(t.placement),I=!_,P=Sb(k),E=V$(P),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,T=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),$=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var B,V=P==="y"?Co:ko,q=P==="y"?as:is,G=P==="y"?"height":"width",D=O[P],L=D+S[V],W=D-S[q],Y=b?-M[G]/2:0,ae=_===vc?R[G]:M[G],ye=_===vc?-M[G]:-R[G],ue=t.elements.arrow,X=b&&ue?wb(ue):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:QP(),U=K[V],se=K[q],re=Tu(0,R[G],X[G]),oe=I?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=I?-R[G]/2+Y+re+se+A.mainAxis:ye+re+se+A.mainAxis,le=t.elements.arrow&&wd(t.elements.arrow),ge=le?P==="y"?le.clientTop||0:le.clientLeft||0:0,_e=(B=$==null?void 0:$[P])!=null?B:0,ie=D+oe-_e-ge,Se=D+pe-_e,Fe=Tu(b?Vp(L,ie):L,D,b?Xi(W,Se):W);O[P]=Fe,Q[P]=Fe-D}if(c){var Ae,He=P==="x"?Co:ko,Ct=P==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[He],bt=ct-S[Ct],we=[Co,ko].indexOf(k)!==-1,Re=(Ae=$==null?void 0:$[E])!=null?Ae:0,Pt=we?vt:ct-R[on]-M[on]-Re+A.altAxis,At=we?ct+R[on]+M[on]-Re-A.altAxis:bt,xe=b&&we?m$(Pt,ct,At):Tu(b?Pt:vt,ct,b?At:bt);O[E]=xe,Q[E]=xe-ct}t.modifiersData[r]=Q}}const G$={name:"preventOverflow",enabled:!0,phase:"main",fn:U$,requiresIfExists:["offset"]};function q$(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function K$(e){return e===Lo(e)||!rs(e)?Cb(e):q$(e)}function Y$(e){var t=e.getBoundingClientRect(),n=bc(t.width)/e.offsetWidth||1,r=bc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function X$(e,t,n){n===void 0&&(n=!1);var r=rs(t),o=rs(t)&&Y$(t),s=Pi(t),a=yc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||_b(s))&&(c=K$(t)),rs(t)?(d=yc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=kb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function Q$(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function J$(e){var t=Q$(e);return c$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function Z$(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function ez(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Kw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),n=0;n{}),I=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=rz(w.current,y.current,{placement:k,modifiers:[KN,UN,VN,{...WN,enabled:!!v},{name:"eventListeners",...HN(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const P=f.useCallback(A=>{w.current=A,I()},[I]),E=f.useCallback((A={},$=null)=>({...A,ref:cn(P,$)}),[P]),O=f.useCallback(A=>{y.current=A,I()},[I]),R=f.useCallback((A={},$=null)=>({...A,ref:cn(O,$),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},$=null)=>{const{size:Q,shadowColor:B,bg:V,style:q,...G}=A;return{...G,ref:$,"data-popper-arrow":"",style:oz(A)}},[]),T=f.useCallback((A={},$=null)=>({...A,ref:$,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Pr.transformOrigin.varRef,referenceRef:P,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:T,getReferenceProps:E}}function oz(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function jb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=rr(n),a=rr(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(I){var P;(P=_.onClick)==null||P.call(_,I),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function sz(e){const{ref:t,handler:n,enabled:r=!0}=e,o=rr(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{y0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&y0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&y0(m,t)&&(a.isPointerDown=!1,o(m))},h=n5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function y0(e,t){var n;const r=e.target;return r&&!n5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function n5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function r5(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=uN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ib(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[az,iz,lz,cz]=X1(),[uz,Sd]=Rn({strict:!1,name:"MenuContext"});function dz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function o5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function Xw(e){return o5(e).activeElement===e}function fz(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=lz(),I=f.useCallback(()=>{requestAnimationFrame(()=>{var ue;(ue=S.current)==null||ue.focus({preventScroll:!1})})},[]),P=f.useCallback(()=>{const ue=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&B(K.index)}});L.current.add(ue)},[_,o]),E=f.useCallback(()=>{const ue=setTimeout(()=>{const X=_.lastEnabled();X&&B(X.index)});L.current.add(ue)},[_]),O=f.useCallback(()=>{h==null||h(),s?P():I()},[s,P,I,h]),{isOpen:R,onOpen:M,onClose:T,onToggle:A}=jb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});sz({enabled:R&&r,ref:S,handler:ue=>{var X;(X=k.current)!=null&&X.contains(ue.target)||T()}});const $=Pb({...y,enabled:R||w,placement:m,direction:b}),[Q,B]=f.useState(-1);Ba(()=>{R||B(-1)},[R]),GP(S,{focusRef:k,visible:R,shouldFocus:!0});const V=r5({isOpen:R,ref:S}),[q,G]=dz(t,"menu-button","menu-list"),D=f.useCallback(()=>{M(),I()},[M,I]),L=f.useRef(new Set([]));xz(()=>{L.current.forEach(ue=>clearTimeout(ue)),L.current.clear()});const W=f.useCallback(()=>{M(),P()},[P,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ue,X;const K=o5(S.current),U=(ue=S.current)==null?void 0:ue.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),ye=f.useRef(null);return{openAndFocusMenu:D,openAndFocusFirstItem:W,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:$,buttonId:q,menuId:G,forceUpdate:$.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:T,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:B,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:ye}}function pz(e={},t=null){const n=Sd(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":tn(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function $v(e){var t;return bz(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function hz(e={},t=null){const n=Sd();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=iz(),b=MN({preventDefault:k=>k.key!==" "&&$v(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,P={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(P){k.preventDefault(),P(k);return}const E=b(O=>{const R=DN(v.values(),O,M=>{var T,A;return(A=(T=M==null?void 0:M.node)==null?void 0:T.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});$v(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ib({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function mz(e={}){const{popper:t,isOpen:n}=Sd();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function s5(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Sd(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:I,rafId:P}=v,E=f.useRef(null),O=`${I}-menuitem-${f.useId()}`,{index:R,register:M}=cz({disabled:c&&!d}),T=f.useCallback(D=>{n==null||n(D),!c&&b(R)},[b,R,c,n]),A=f.useCallback(D=>{r==null||r(D),E.current&&!Xw(E.current)&&T(D)},[T,r]),$=f.useCallback(D=>{o==null||o(D),!c&&b(-1)},[b,c,o]),Q=f.useCallback(D=>{s==null||s(D),$v(D.currentTarget)&&(p??y)&&S()},[S,s,y,p]),B=f.useCallback(D=>{a==null||a(D),b(R)},[b,a,R]),V=R===w,q=c&&!d;Ba(()=>{_&&(V&&!q&&E.current?(P.current&&cancelAnimationFrame(P.current),P.current=requestAnimationFrame(()=>{var D;(D=E.current)==null||D.focus(),P.current=null})):k.current&&!Xw(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=UP({onClick:Q,onFocus:B,onMouseEnter:T,onMouseMove:A,onMouseLeave:$,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function gz(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...s5(o,t),role:`menuitem${n}`,"aria-checked":r}}function vz(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=Ac({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=gd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,I;m(w.props.value),(I=(_=w.props).onClick)==null||I.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function bz(e){var t;if(!yz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function yz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function xz(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[wz,Cd]=Rn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),kd=e=>{const{children:t}=e,n=Br("Menu",e),r=qn(e),{direction:o}=Mc(),{descendants:s,...a}=fz({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(az,{value:s,children:i.jsx(uz,{value:c,children:i.jsx(wz,{value:n,children:D1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};kd.displayName="Menu";var a5=Te((e,t)=>{const n=Cd();return i.jsx(Ie.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});a5.displayName="MenuCommand";var i5=Te((e,t)=>{const{type:n,...r}=e,o=Cd(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(Ie.button,{ref:t,type:s,...r,__css:a})}),Eb=e=>{const{className:t,children:n,...r}=e,o=f.Children.only(n),s=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:kt("chakra-menu__icon",o.props.className)}):null,a=kt("chakra-menu__icon-wrapper",t);return i.jsx(Ie.span,{className:a,...r,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s})};Eb.displayName="MenuIcon";var _r=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=s5(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(i5,{...d,className:kt("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(a5,{marginStart:s,children:o})]})});_r.displayName="MenuItem";var Sz={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},Cz=Ie(Xr.div),zc=Te(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Sd(),m=hz(c,n),v=mz(s),b=Cd();return i.jsx(Ie.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(Cz,{variants:Sz,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:kt("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:Jh(h.onComplete,m.onAnimationComplete)})})});zc.displayName="MenuList";var Xu=Te((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=kt("chakra-menu__group__title",o),c=Cd();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(Ie.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});Xu.displayName="MenuGroup";var l5=e=>{const{className:t,title:n,...r}=e,o=vz(r);return i.jsx(Xu,{title:n,className:kt("chakra-menu__option-group",t),...o})};l5.displayName="MenuOptionGroup";var kz=Te((e,t)=>{const n=Cd();return i.jsx(Ie.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),_d=Te((e,t)=>{const{children:n,as:r,...o}=e,s=pz(o,t),a=r||kz;return i.jsx(a,{...s,className:kt("chakra-menu__menu-button",e.className),children:i.jsx(Ie.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});_d.displayName="MenuButton";var _z=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),Up=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=gz(o,t);return i.jsxs(i5,{...s,className:kt("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(_z,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});Up.id="MenuItemOption";Up.displayName="MenuItemOption";var Pz={slideInBottom:{...Cv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Cv,custom:{offsetX:16,reverse:!0}},scale:{...T3,custom:{initialScale:.95,reverse:!0}},none:{}},jz=Ie(Xr.section),Iz=e=>Pz[e||"none"],c5=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=Iz(n),...o}=e;return i.jsx(jz,{ref:t,...r,...o})});c5.displayName="ModalTransition";var Ez=Object.defineProperty,Oz=(e,t,n)=>t in e?Ez(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rz=(e,t,n)=>(Oz(e,typeof t!="symbol"?t+"":t,n),n),Mz=class{constructor(){Rz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},zv=new Mz;function u5(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=zv.add(o);r(s)}return()=>{zv.remove(o),r(0)}}},[t,e]),n}var Dz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Al=new WeakMap,Df=new WeakMap,Tf={},x0=0,d5=function(e){return e&&(e.host||d5(e.parentNode))},Tz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=d5(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Az=function(e,t,n,r){var o=Tz(t,Array.isArray(e)?e:[e]);Tf[n]||(Tf[n]=new WeakMap);var s=Tf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Al.get(v)||0)+1,S=(s.get(v)||0)+1;Al.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Df.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),x0++,function(){a.forEach(function(m){var v=Al.get(m)-1,b=s.get(m)-1;Al.set(m,v),s.set(m,b),v||(Df.has(m)||m.removeAttribute(r),Df.delete(m)),b||m.removeAttribute(n)}),x0--,x0||(Al=new WeakMap,Al=new WeakMap,Df=new WeakMap,Tf={})}},Nz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||Dz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Az(r,o,n,"aria-hidden")):function(){return null}};function $z(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=Lz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");zz(p,t&&a);const w=u5(p,t),y=f.useRef(null),S=f.useCallback(T=>{y.current=T.target},[]),k=f.useCallback(T=>{T.key==="Escape"&&(T.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,I]=f.useState(!1),[P,E]=f.useState(!1),O=f.useCallback((T={},A=null)=>({role:"dialog",...T,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":P?b:void 0,onClick:et(T.onClick,$=>$.stopPropagation())}),[b,P,m,v,_]),R=f.useCallback(T=>{T.stopPropagation(),y.current===T.target&&zv.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((T={},A=null)=>({...T,ref:cn(A,h),onClick:et(T.onClick,R),onKeyDown:et(T.onKeyDown,k),onMouseDown:et(T.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:I,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function zz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return Nz(e.current)},[t,e,n])}function Lz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[Bz,Lc]=Rn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Fz,sl]=Rn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Qu=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Br("Modal",t),k={...$z(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx(Fz,{value:k,children:i.jsx(Bz,{value:y,children:i.jsx(Fo,{onExitComplete:w,children:k.isOpen&&i.jsx(Vu,{...n,children:r})})})})};Qu.displayName="Modal";var xp="right-scroll-bar-position",wp="width-before-scroll-bar",Hz="with-scroll-bars-hidden",Wz="--removed-body-scroll-bar-size",f5=iP(),w0=function(){},cm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:w0,onWheelCapture:w0,onTouchMoveCapture:w0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,I=oP(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=v,E=rP([n,t]),O=Qs(Qs({},I),o);return f.createElement(f.Fragment,null,h&&f.createElement(P,{sideCar:f5,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(k,Qs({},O,{className:d,ref:E}),c))});cm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};cm.classNames={fullWidth:wp,zeroRight:xp};var Qw,Vz=function(){if(Qw)return Qw;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Uz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Vz();return t&&e.setAttribute("nonce",t),e}function Gz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function qz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Kz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Uz())&&(Gz(t,n),qz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Yz=function(){var e=Kz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},p5=function(){var e=Yz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},Xz={left:0,top:0,right:0,gap:0},S0=function(e){return parseInt(e||"",10)||0},Qz=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[S0(n),S0(r),S0(o)]},Jz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Xz;var t=Qz(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Zz=p5(),eL=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` + .`.concat(Hz,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(c,"px ").concat(r,`; + } + body { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(s,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(c,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(xp,` { + right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(wp,` { + margin-right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(xp," .").concat(xp,` { + right: 0 `).concat(r,`; + } + + .`).concat(wp," .").concat(wp,` { + margin-right: 0 `).concat(r,`; + } + + body { + `).concat(Wz,": ").concat(c,`px; + } +`)},tL=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Jz(o)},[o]);return f.createElement(Zz,{styles:eL(s,!t,o,n?"":"!important")})},Lv=!1;if(typeof window<"u")try{var Af=Object.defineProperty({},"passive",{get:function(){return Lv=!0,!0}});window.addEventListener("test",Af,Af),window.removeEventListener("test",Af,Af)}catch{Lv=!1}var Nl=Lv?{passive:!1}:!1,nL=function(e){return e.tagName==="TEXTAREA"},h5=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!nL(e)&&n[t]==="visible")},rL=function(e){return h5(e,"overflowY")},oL=function(e){return h5(e,"overflowX")},Jw=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=m5(e,r);if(o){var s=g5(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},sL=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},aL=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},m5=function(e,t){return e==="v"?rL(t):oL(t)},g5=function(e,t){return e==="v"?sL(t):aL(t)},iL=function(e,t){return e==="h"&&t==="rtl"?-1:1},lL=function(e,t,n,r,o){var s=iL(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),p=!1,h=a>0,m=0,v=0;do{var b=g5(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&m5(e,c)&&(m+=k,v+=w),c=c.parentNode}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(h&&(o&&m===0||!o&&a>m)||!h&&(o&&v===0||!o&&-a>v))&&(p=!0),p},Nf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Zw=function(e){return[e.deltaX,e.deltaY]},eS=function(e){return e&&"current"in e?e.current:e},cL=function(e,t){return e[0]===t[0]&&e[1]===t[1]},uL=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},dL=0,$l=[];function fL(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(dL++)[0],s=f.useState(p5)[0],a=f.useRef(e);f.useEffect(function(){a.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var y=Ov([e.lockRef.current],(e.shards||[]).map(eS),!0).filter(Boolean);return y.forEach(function(S){return S.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=f.useCallback(function(y,S){if("touches"in y&&y.touches.length===2)return!a.current.allowPinchZoom;var k=Nf(y),_=n.current,I="deltaX"in y?y.deltaX:_[0]-k[0],P="deltaY"in y?y.deltaY:_[1]-k[1],E,O=y.target,R=Math.abs(I)>Math.abs(P)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=Jw(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=Jw(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(I||P)&&(r.current=E),!E)return!0;var T=r.current||E;return lL(T,S,y,T==="h"?I:P,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!$l.length||$l[$l.length-1]!==s)){var k="deltaY"in S?Zw(S):Nf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&cL(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var I=(a.current.shards||[]).map(eS).filter(Boolean).filter(function(E){return E.contains(S.target)}),P=I.length>0?c(S,I[0]):!a.current.noIsolation;P&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var I={name:y,delta:S,target:k,should:_};t.current.push(I),setTimeout(function(){t.current=t.current.filter(function(P){return P!==I})},1)},[]),h=f.useCallback(function(y){n.current=Nf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,Zw(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Nf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return $l.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,Nl),document.addEventListener("touchmove",d,Nl),document.addEventListener("touchstart",h,Nl),function(){$l=$l.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,Nl),document.removeEventListener("touchmove",d,Nl),document.removeEventListener("touchstart",h,Nl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:uL(o)}):null,b?f.createElement(tL,{gapMode:e.gapMode}):null)}const pL=p9(f5,fL);var v5=f.forwardRef(function(e,t){return f.createElement(cm,Qs({},e,{ref:t,sideCar:pL}))});v5.classNames=cm.classNames;const hL=v5;function mL(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=sl(),[v,b]=SR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=u5(r,m);return i.jsx(zP,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(hL,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var Ju=Te((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=sl(),p=c(a,t),h=d(o),m=kt("chakra-modal__content",n),v=Lc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},w={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:y}=sl();return i.jsx(mL,{children:i.jsx(Ie.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(c5,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});Ju.displayName="ModalContent";function Pd(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(Qu,{...n,initialFocusRef:t})}var jd=Te((e,t)=>i.jsx(Ju,{ref:t,role:"alertdialog",...e})),Oa=Te((e,t)=>{const{className:n,...r}=e,o=kt("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Lc().footer};return i.jsx(Ie.footer,{ref:t,...r,__css:a,className:o})});Oa.displayName="ModalFooter";var Ra=Te((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=sl();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=kt("chakra-modal__header",n),d={flex:0,...Lc().header};return i.jsx(Ie.header,{ref:t,className:a,id:o,...r,__css:d})});Ra.displayName="ModalHeader";var gL=Ie(Xr.div),Ma=Te((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=kt("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Lc().overlay},{motionPreset:p}=sl(),m=o||(p==="none"?{}:D3);return i.jsx(gL,{...m,__css:d,ref:t,className:a,...s})});Ma.displayName="ModalOverlay";var Da=Te((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=sl();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=kt("chakra-modal__body",n),c=Lc();return i.jsx(Ie.div,{ref:t,className:a,id:o,...r,__css:c.body})});Da.displayName="ModalBody";var Ob=Te((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=sl(),a=kt("chakra-modal__close-btn",r),c=Lc();return i.jsx(ND,{ref:t,__css:c.closeButton,className:a,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});Ob.displayName="ModalCloseButton";var vL=e=>i.jsx(Kr,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),bL=e=>i.jsx(Kr,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function tS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,a=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&a.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:a}),()=>c.disconnect()})}function yL(e,t){const n=rr(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var xL=50,nS=300;function wL(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[a,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);yL(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?xL:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},nS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},nS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var SL=/^[Ee0-9+\-.]$/;function CL(e){return SL.test(e)}function kL(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function _L(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:c,isDisabled:d,isRequired:p,isInvalid:h,pattern:m="[0-9]*(.[0-9]+)?",inputMode:v="decimal",allowMouseWheel:b,id:w,onChange:y,precision:S,name:k,"aria-describedby":_,"aria-label":I,"aria-labelledby":P,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:T,format:A,parse:$,...Q}=e,B=rr(E),V=rr(O),q=rr(R),G=rr(T??CL),D=rr(M),L=qA(e),{update:W,increment:Y,decrement:ae}=L,[ye,ue]=f.useState(!1),X=!(c||d),K=f.useRef(null),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useCallback(xe=>xe.split("").filter(G).join(""),[G]),pe=f.useCallback(xe=>{var ht;return(ht=$==null?void 0:$(xe))!=null?ht:xe},[$]),le=f.useCallback(xe=>{var ht;return((ht=A==null?void 0:A(xe))!=null?ht:xe).toString()},[A]);Ba(()=>{(L.valueAsNumber>s||L.valueAsNumber{if(!K.current)return;if(K.current.value!=L.value){const ht=pe(K.current.value);L.setValue(oe(ht))}},[pe,oe]);const ge=f.useCallback((xe=a)=>{X&&Y(xe)},[Y,X,a]),_e=f.useCallback((xe=a)=>{X&&ae(xe)},[ae,X,a]),ie=wL(ge,_e);tS(se,"disabled",ie.stop,ie.isSpinning),tS(re,"disabled",ie.stop,ie.isSpinning);const Se=f.useCallback(xe=>{if(xe.nativeEvent.isComposing)return;const $t=pe(xe.currentTarget.value);W(oe($t)),U.current={start:xe.currentTarget.selectionStart,end:xe.currentTarget.selectionEnd}},[W,oe,pe]),Fe=f.useCallback(xe=>{var ht,$t,zt;B==null||B(xe),U.current&&(xe.target.selectionStart=($t=U.current.start)!=null?$t:(ht=xe.currentTarget.value)==null?void 0:ht.length,xe.currentTarget.selectionEnd=(zt=U.current.end)!=null?zt:xe.currentTarget.selectionStart)},[B]),Ae=f.useCallback(xe=>{if(xe.nativeEvent.isComposing)return;kL(xe,G)||xe.preventDefault();const ht=He(xe)*a,$t=xe.key,Ne={ArrowUp:()=>ge(ht),ArrowDown:()=>_e(ht),Home:()=>W(o),End:()=>W(s)}[$t];Ne&&(xe.preventDefault(),Ne(xe))},[G,a,ge,_e,W,o,s]),He=xe=>{let ht=1;return(xe.metaKey||xe.ctrlKey)&&(ht=.1),xe.shiftKey&&(ht=10),ht},Ct=f.useMemo(()=>{const xe=D==null?void 0:D(L.value);if(xe!=null)return xe;const ht=L.value.toString();return ht||void 0},[L.value,D]),ct=f.useCallback(()=>{let xe=L.value;if(L.value==="")return;/^[eE]/.test(L.value.toString())?L.setValue(""):(L.valueAsNumbers&&(xe=s),L.cast(xe))},[L,s,o]),on=f.useCallback(()=>{ue(!1),n&&ct()},[n,ue,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var xe;(xe=K.current)==null||xe.focus()})},[t]),bt=f.useCallback(xe=>{xe.preventDefault(),ie.up(),vt()},[vt,ie]),we=f.useCallback(xe=>{xe.preventDefault(),ie.down(),vt()},[vt,ie]);Yi(()=>K.current,"wheel",xe=>{var ht,$t;const Ne=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Ne)return;xe.preventDefault();const qe=He(xe)*a,Pn=Math.sign(xe.deltaY);Pn===-1?ge(qe):Pn===1&&_e(qe)},{passive:!1});const Re=f.useCallback((xe={},ht=null)=>{const $t=d||r&&L.isAtMax;return{...xe,ref:cn(ht,se),role:"button",tabIndex:-1,onPointerDown:et(xe.onPointerDown,zt=>{zt.button!==0||$t||bt(zt)}),onPointerLeave:et(xe.onPointerLeave,ie.stop),onPointerUp:et(xe.onPointerUp,ie.stop),disabled:$t,"aria-disabled":ns($t)}},[L.isAtMax,r,bt,ie.stop,d]),Pt=f.useCallback((xe={},ht=null)=>{const $t=d||r&&L.isAtMin;return{...xe,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(xe.onPointerDown,zt=>{zt.button!==0||$t||we(zt)}),onPointerLeave:et(xe.onPointerLeave,ie.stop),onPointerUp:et(xe.onPointerUp,ie.stop),disabled:$t,"aria-disabled":ns($t)}},[L.isAtMin,r,we,ie.stop,d]),At=f.useCallback((xe={},ht=null)=>{var $t,zt,Ne,qe;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":P,"aria-label":I,"aria-describedby":_,id:w,disabled:d,...xe,readOnly:($t=xe.readOnly)!=null?$t:c,"aria-readonly":(zt=xe.readOnly)!=null?zt:c,"aria-required":(Ne=xe.required)!=null?Ne:p,required:(qe=xe.required)!=null?qe:p,ref:cn(K,ht),value:le(L.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(L.valueAsNumber)?void 0:L.valueAsNumber,"aria-invalid":ns(h??L.isOutOfRange),"aria-valuetext":Ct,autoComplete:"off",autoCorrect:"off",onChange:et(xe.onChange,Se),onKeyDown:et(xe.onKeyDown,Ae),onFocus:et(xe.onFocus,Fe,()=>ue(!0)),onBlur:et(xe.onBlur,V,on)}},[k,v,m,P,I,le,_,w,d,p,c,h,L.value,L.valueAsNumber,L.isOutOfRange,o,s,Ct,Se,Ae,Fe,V,on]);return{value:le(L.value),valueAsNumber:L.valueAsNumber,isFocused:ye,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Re,getDecrementButtonProps:Pt,getInputProps:At,htmlProps:Q}}var[PL,um]=Rn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[jL,Rb]=Rn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),dm=Te(function(t,n){const r=Br("NumberInput",t),o=qn(t),s=eb(o),{htmlProps:a,...c}=_L(s),d=f.useMemo(()=>c,[c]);return i.jsx(jL,{value:d,children:i.jsx(PL,{value:r,children:i.jsx(Ie.div,{...a,ref:n,className:kt("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});dm.displayName="NumberInput";var fm=Te(function(t,n){const r=um();return i.jsx(Ie.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});fm.displayName="NumberInputStepper";var pm=Te(function(t,n){const{getInputProps:r}=Rb(),o=r(t,n),s=um();return i.jsx(Ie.input,{...o,className:kt("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});pm.displayName="NumberInputField";var b5=Ie("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),hm=Te(function(t,n){var r;const o=um(),{getDecrementButtonProps:s}=Rb(),a=s(t,n);return i.jsx(b5,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(vL,{})})});hm.displayName="NumberDecrementStepper";var mm=Te(function(t,n){var r;const{getIncrementButtonProps:o}=Rb(),s=o(t,n),a=um();return i.jsx(b5,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(bL,{})})});mm.displayName="NumberIncrementStepper";var[IL,Id]=Rn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[EL,Mb]=Rn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Db(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Id();return f.cloneElement(t,n(t.props,t.ref))}Db.displayName="PopoverTrigger";var zl={click:"click",hover:"hover"};function OL(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=zl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:I}=jb(e),P=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[T,A]=f.useState(!1),[$,Q]=f.useState(!1),B=f.useId(),V=o??B,[q,G,D,L]=["popover-trigger","popover-content","popover-header","popover-body"].map(Se=>`${Se}-${V}`),{referenceRef:W,getArrowProps:Y,getPopperProps:ae,getArrowInnerProps:ye,forceUpdate:ue}=Pb({...y,enabled:S||!!w}),X=r5({isOpen:S,ref:O});Q3({enabled:S,ref:E}),GP(O,{focusRef:E,visible:S,shouldFocus:s&&p===zl.click}),$N(O,{focusRef:r,visible:S,shouldFocus:a&&p===zl.click});const K=Ib({wasSelected:M.current,enabled:v,mode:b,isSelected:X.present}),U=f.useCallback((Se={},Fe=null)=>{const Ae={...Se,style:{...Se.style,transformOrigin:Pr.transformOrigin.varRef,[Pr.arrowSize.var]:c?`${c}px`:void 0,[Pr.arrowShadowColor.var]:d},ref:cn(O,Fe),children:K?Se.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(Se.onKeyDown,He=>{n&&He.key==="Escape"&&k()}),onBlur:et(Se.onBlur,He=>{const Ct=rS(He),ct=C0(O.current,Ct),on=C0(E.current,Ct);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":T?D:void 0,"aria-describedby":$?L:void 0};return p===zl.hover&&(Ae.role="tooltip",Ae.onMouseEnter=et(Se.onMouseEnter,()=>{R.current=!0}),Ae.onMouseLeave=et(Se.onMouseLeave,He=>{He.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ae},[K,G,T,D,$,L,p,n,k,S,t,m,d,c]),se=f.useCallback((Se={},Fe=null)=>ae({...Se,style:{visibility:S?"visible":"hidden",...Se.style}},Fe),[S,ae]),re=f.useCallback((Se,Fe=null)=>({...Se,ref:cn(Fe,P,W)}),[P,W]),oe=f.useRef(),pe=f.useRef(),le=f.useCallback(Se=>{P.current==null&&W(Se)},[W]),ge=f.useCallback((Se={},Fe=null)=>{const Ae={...Se,ref:cn(E,Fe,le),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===zl.click&&(Ae.onClick=et(Se.onClick,I)),p===zl.hover&&(Ae.onFocus=et(Se.onFocus,()=>{oe.current===void 0&&_()}),Ae.onBlur=et(Se.onBlur,He=>{const Ct=rS(He),ct=!C0(O.current,Ct);S&&t&&ct&&k()}),Ae.onKeyDown=et(Se.onKeyDown,He=>{He.key==="Escape"&&k()}),Ae.onMouseEnter=et(Se.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ae.onMouseLeave=et(Se.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ae},[q,S,G,p,le,I,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const _e=f.useCallback((Se={},Fe=null)=>({...Se,id:D,ref:cn(Fe,Ae=>{A(!!Ae)})}),[D]),ie=f.useCallback((Se={},Fe=null)=>({...Se,id:L,ref:cn(Fe,Ae=>{Q(!!Ae)})}),[L]);return{forceUpdate:ue,isOpen:S,onAnimationComplete:X.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:ye,getPopoverPositionerProps:se,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:_e,getBodyProps:ie}}function C0(e,t){return e===t||(e==null?void 0:e.contains(t))}function rS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Tb(e){const t=Br("Popover",e),{children:n,...r}=qn(e),o=Mc(),s=OL({...r,direction:o.direction});return i.jsx(IL,{value:s,children:i.jsx(EL,{value:t,children:D1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Tb.displayName="Popover";var k0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function y5(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=Id(),h=Mb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(Ie.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(Ie.div,{className:kt("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":k0("colors",c),"--popper-arrow-bg":k0("colors",m),"--popper-arrow-shadow":k0("shadows",v),...h.arrow}})})}y5.displayName="PopoverArrow";var x5=Te(function(t,n){const{getBodyProps:r}=Id(),o=Mb();return i.jsx(Ie.div,{...r(t,n),className:kt("chakra-popover__body",t.className),__css:o.body})});x5.displayName="PopoverBody";function RL(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var ML={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},DL=Ie(Xr.section),w5=Te(function(t,n){const{variants:r=ML,...o}=t,{isOpen:s}=Id();return i.jsx(DL,{ref:n,variants:RL(r),initial:!1,animate:s?"enter":"exit",...o})});w5.displayName="PopoverTransition";var Ab=Te(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=Id(),p=Mb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(Ie.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(w5,{...o,...a(s,n),onAnimationComplete:Jh(d,s.onAnimationComplete),className:kt("chakra-popover__content",t.className),__css:h})})});Ab.displayName="PopoverContent";function TL(e,t,n){return(e-t)*100/(n-t)}za({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});za({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var AL=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),NL=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function $L(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=TL(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:c},percent:d,value:t}}var[zL,LL]=Rn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),BL=Te((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=$L({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...LL().filledTrack};return i.jsx(Ie.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),S5=Te((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:a,isAnimated:c,children:d,borderRadius:p,isIndeterminate:h,"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,title:w,role:y,...S}=qn(e),k=Br("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),I={animation:`${NL} 1s linear infinite`},O={...!h&&a&&c&&I,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${AL} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return i.jsx(Ie.div,{ref:t,borderRadius:_,__css:R,...S,children:i.jsxs(zL,{value:k,children:[i.jsx(BL,{"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:_,title:w,role:y}),d]})})});S5.displayName="Progress";function FL(e){return e&&pv(e)&&pv(e.target)}function HL(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:a,isNative:c,...d}=e,[p,h]=f.useState(r||""),m=typeof n<"u",v=m?n:p,b=f.useRef(null),w=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const M=E.querySelector(O);M==null||M.focus()},[]),S=`radio-${f.useId()}`,k=o||S,_=f.useCallback(E=>{const O=FL(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),I=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),P=f.useCallback((E={},O=null)=>({...E,ref:O,name:k,[c?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(M){_(M)},"data-radiogroup":!0}),[c,k,_,v]);return{getRootProps:I,getRadioProps:P,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:a,htmlProps:d}}var[WL,C5]=Rn({name:"RadioGroupContext",strict:!1}),Gp=Te((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:a,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=HL(p),y=f.useMemo(()=>({name:b,size:r,onChange:m,colorScheme:n,value:h,variant:o,isDisabled:c,isFocusable:d}),[b,r,m,n,h,o,c,d]);return i.jsx(WL,{value:y,children:i.jsx(Ie.div,{...v(w,t),className:kt("chakra-radio-group",a),children:s})})});Gp.displayName="RadioGroup";var VL={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function UL(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:a,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=vd(),_=!!C5()||!!v;let P=!!S&&!_?S.id:y;P=m??P;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=a??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[T,A]=f.useState(!1),[$,Q]=f.useState(!1),[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,L]=f.useState(!!t),W=typeof n<"u",Y=W?n:D;f.useEffect(()=>B3(A),[]);const ae=f.useCallback(le=>{if(O||E){le.preventDefault();return}W||L(le.target.checked),c==null||c(le)},[W,E,O,c]),ye=f.useCallback(le=>{le.key===" "&&G(!0)},[G]),ue=f.useCallback(le=>{le.key===" "&&G(!1)},[G]),X=f.useCallback((le={},ge=null)=>({...le,ref:ge,"data-active":tn(q),"data-hover":tn(B),"data-disabled":tn(E),"data-invalid":tn(M),"data-checked":tn(Y),"data-focus":tn($),"data-focus-visible":tn($&&T),"data-readonly":tn(O),"aria-hidden":!0,onMouseDown:et(le.onMouseDown,()=>G(!0)),onMouseUp:et(le.onMouseUp,()=>G(!1)),onMouseEnter:et(le.onMouseEnter,()=>V(!0)),onMouseLeave:et(le.onMouseLeave,()=>V(!1))}),[q,B,E,M,Y,$,O,T]),{onFocus:K,onBlur:U}=S??{},se=f.useCallback((le={},ge=null)=>{const _e=E&&!r;return{...le,id:P,ref:ge,type:"radio",name:p,value:h,onChange:et(le.onChange,ae),onBlur:et(U,le.onBlur,()=>Q(!1)),onFocus:et(K,le.onFocus,()=>Q(!0)),onKeyDown:et(le.onKeyDown,ye),onKeyUp:et(le.onKeyUp,ue),checked:Y,disabled:_e,readOnly:O,required:R,"aria-invalid":ns(M),"aria-disabled":ns(_e),"aria-required":ns(R),"data-readonly":tn(O),"aria-describedby":b,style:VL}},[E,r,P,p,h,ae,U,K,ye,ue,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:$,isChecked:Y,isActive:q,isHovered:B,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:X,getRadioProps:X,getInputProps:se,getLabelProps:(le={},ge=null)=>({...le,ref:ge,onMouseDown:et(le.onMouseDown,GL),"data-disabled":tn(E),"data-checked":tn(Y),"data-invalid":tn(M)}),getRootProps:(le,ge=null)=>({...le,ref:ge,"data-disabled":tn(E),"data-checked":tn(Y),"data-invalid":tn(M)}),htmlProps:w}}function GL(e){e.preventDefault(),e.stopPropagation()}function qL(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var ba=Te((e,t)=>{var n;const r=C5(),{onChange:o,value:s}=e,a=Br("Radio",{...r,...e}),c=qn(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:m=r==null?void 0:r.isFocusable,inputProps:v,...b}=c;let w=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(w=r.value===s);let y=o;r!=null&&r.onChange&&s!=null&&(y=Jh(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:I,getRootProps:P,htmlProps:E}=UL({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=qL(E,__),M=_(R),T=k(v,t),A=I(),$=Object.assign({},O,P()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},B={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(Ie.label,{className:"chakra-radio",...$,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...T}),i.jsx(Ie.span,{className:"chakra-radio__control",...M,__css:B}),p&&i.jsx(Ie.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ba.displayName="Radio";var k5=Te(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(Ie.select,{...a,ref:n,className:kt("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});k5.displayName="SelectField";function KL(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var _5=Te((e,t)=>{var n;const r=Br("Select",e),{rootProps:o,placeholder:s,icon:a,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=KL(w,__),k=Z1(S),_={width:"100%",height:"fit-content",position:"relative",color:c},I={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(Ie.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[i.jsx(k5,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:I,children:e.children}),i.jsx(P5,{"data-disabled":tn(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});_5.displayName="Select";var YL=e=>i.jsx("svg",{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),XL=Ie("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),P5=e=>{const{children:t=i.jsx(YL,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return i.jsx(XL,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};P5.displayName="SelectIcon";function QL(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function JL(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var ZL=Ie("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),Bv=P_("skeleton-start-color"),Fv=P_("skeleton-end-color"),eB=za({from:{opacity:0},to:{opacity:1}}),tB=za({from:{borderColor:Bv.reference,background:Bv.reference},to:{borderColor:Fv.reference,background:Fv.reference}}),gm=Te((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=$a("Skeleton",n),o=QL(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=Dc("colors",[s,a]),y=JL(c),S=kt("chakra-skeleton",h),k={...b&&{[Bv.variable]:b},...w&&{[Fv.variable]:w}};if(c){const _=o||y?"none":`${eB} ${d}s`;return i.jsx(Ie.div,{ref:t,className:S,__css:{animation:_},...v})}return i.jsx(ZL,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${tB}`}})});gm.displayName="Skeleton";var Jo=e=>e?"":void 0,ic=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function lc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function nB(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function Pu(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Sp={width:0,height:0},$f=e=>e||Sp;function j5(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Sp;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Pu({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${k.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${k.width/2}px)`}})}},a=t==="vertical"?r.reduce((y,S)=>$f(y).height>$f(S).height?y:S,Sp):r.reduce((y,S)=>$f(y).width>$f(S).width?y:S,Sp),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Pu({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},d={position:"absolute",...Pu({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},p=n.length===1,h=[0,o?100-n[0]:n[0]],m=p?h:n;let v=m[0];!p&&o&&(v=100-v);const b=Math.abs(m[m.length-1]-m[0]),w={...d,...Pu({orientation:t,vertical:o?{height:`${b}%`,top:`${v}%`}:{height:`${b}%`,bottom:`${v}%`},horizontal:o?{width:`${b}%`,right:`${v}%`}:{width:`${b}%`,left:`${v}%`}})};return{trackStyle:d,innerTrackStyle:w,rootStyle:c,getThumbStyle:s}}function I5(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function rB(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function oB(e){const t=aB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function E5(e){return!!e.touches}function sB(e){return E5(e)&&e.touches.length>1}function aB(e){var t;return(t=e.view)!=null?t:window}function iB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function lB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function O5(e,t="page"){return E5(e)?iB(e,t):lB(e,t)}function cB(e){return t=>{const n=oB(t);(!n||n&&t.button===0)&&e(t)}}function uB(e,t=!1){function n(o){e(o,{point:O5(o)})}return t?cB(n):n}function Cp(e,t,n,r){return rB(e,t,uB(n,t==="pointerdown"),r)}var dB=Object.defineProperty,fB=(e,t,n)=>t in e?dB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bs=(e,t,n)=>(fB(e,typeof t!="symbol"?t+"":t,n),n),pB=class{constructor(e,t,n){bs(this,"history",[]),bs(this,"startEvent",null),bs(this,"lastEvent",null),bs(this,"lastEventInfo",null),bs(this,"handlers",{}),bs(this,"removeListeners",()=>{}),bs(this,"threshold",3),bs(this,"win"),bs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=_0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=vB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=bw();this.history.push({...c.point,timestamp:h});const{onStart:m,onMove:v}=this.handlers;d||(m==null||m(this.lastEvent,c),this.startEvent=this.lastEvent),v==null||v(this.lastEvent,c)}),bs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,NT.update(this.updatePoint,!0)}),bs(this,"onPointerUp",(c,d)=>{const p=_0(d,this.history),{onEnd:h,onSessionEnd:m}=this.handlers;m==null||m(c,p),this.end(),!(!h||!this.startEvent)&&(h==null||h(c,p))});var r;if(this.win=(r=e.view)!=null?r:window,sB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:O5(e)},{timestamp:s}=bw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,_0(o,this.history)),this.removeListeners=gB(Cp(this.win,"pointermove",this.onPointerMove),Cp(this.win,"pointerup",this.onPointerUp),Cp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),$T.update(this.updatePoint)}};function oS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _0(e,t){return{point:e.point,delta:oS(e.point,t[t.length-1]),offset:oS(e.point,t[0]),velocity:mB(t,.1)}}var hB=e=>e*1e3;function mB(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=e[e.length-1];for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>hB(t)));)n--;if(!r)return{x:0,y:0};const s=(o.timestamp-r.timestamp)/1e3;if(s===0)return{x:0,y:0};const a={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function gB(...e){return t=>e.reduce((n,r)=>r(n),t)}function P0(e,t){return Math.abs(e-t)}function sS(e){return"x"in e&&"y"in e}function vB(e,t){if(typeof e=="number"&&typeof t=="number")return P0(e,t);if(sS(e)&&sS(t)){const n=P0(e.x,t.x),r=P0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function R5(e){const t=f.useRef(null);return t.current=e,t}function M5(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:a,threshold:c}=t,d=!!(n||r||o||s||a),p=f.useRef(null),h=R5({onSessionStart:s,onSessionEnd:a,onStart:r,onMove:n,onEnd(m,v){p.current=null,o==null||o(m,v)}});f.useEffect(()=>{var m;(m=p.current)==null||m.updateHandlers(h.current)}),f.useEffect(()=>{const m=e.current;if(!m||!d)return;function v(b){p.current=new pB(b,h.current,c)}return Cp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function bB(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[s]=o;let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;a=p.inlineSize,c=p.blockSize}else a=e.offsetWidth,c=e.offsetHeight;t({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var yB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function xB(e,t){var n,r;if(!e||!e.parentElement)return;const o=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,s=new o.MutationObserver(()=>{t()});return s.observe(e.parentElement,{childList:!0}),()=>{s.disconnect()}}function D5({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return yB(()=>{const a=e(),c=a.map((d,p)=>bB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(xB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function wB(e){return typeof e=="object"&&e!==null&&"current"in e}function SB(e){const[t]=D5({observeMutation:!1,getNodes(){return[wB(e)?e.current:e]}});return t}function CB(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:a,direction:c="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:m,onChangeStart:v,onChangeEnd:b,step:w=1,getAriaValueText:y,"aria-valuetext":S,"aria-label":k,"aria-labelledby":_,name:I,focusThumbOnChange:P=!0,minStepsBetweenThumbs:E=0,...O}=e,R=rr(v),M=rr(b),T=rr(y),A=I5({isReversed:a,direction:c,orientation:d}),[$,Q]=Ac({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray($))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof $}\``);const[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,L]=f.useState(-1),W=!(h||m),Y=f.useRef($),ae=$.map(Pe=>rc(Pe,t,n)),ye=E*w,ue=kB(ae,t,n,ye),X=f.useRef({eventSource:null,value:[],valueBounds:[]});X.current.value=ae,X.current.valueBounds=ue;const K=ae.map(Pe=>n-Pe+t),se=(A?K:ae).map(Pe=>Bp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),le=D5({getNodes(){const Pe=pe.current,Je=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Je?Array.from(Je):[]}}),ge=f.useId(),ie=nB(p??ge),Se=f.useCallback(Pe=>{var Je,Xe;if(!oe.current)return;X.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:Lt,clientY:lr}=(Xe=(Je=Pe.touches)==null?void 0:Je[0])!=null?Xe:Pe,pn=re?dt.bottom-lr:Lt-dt.left,ln=re?dt.height:dt.width;let Fr=pn/ln;return A&&(Fr=1-Fr),W3(Fr,t,n)},[re,A,n,t]),Fe=(n-t)/10,Ae=w||(n-t)/100,He=f.useMemo(()=>({setValueAtIndex(Pe,Je){if(!W)return;const Xe=X.current.valueBounds[Pe];Je=parseFloat(Iv(Je,Xe.min,Ae)),Je=rc(Je,Xe.min,Xe.max);const dt=[...X.current.value];dt[Pe]=Je,Q(dt)},setActiveIndex:L,stepUp(Pe,Je=Ae){const Xe=X.current.value[Pe],dt=A?Xe-Je:Xe+Je;He.setValueAtIndex(Pe,dt)},stepDown(Pe,Je=Ae){const Xe=X.current.value[Pe],dt=A?Xe+Je:Xe-Je;He.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ae,A,Q,W]),Ct=f.useCallback(Pe=>{const Je=Pe.key,dt={ArrowRight:()=>He.stepUp(D),ArrowUp:()=>He.stepUp(D),ArrowLeft:()=>He.stepDown(D),ArrowDown:()=>He.stepDown(D),PageUp:()=>He.stepUp(D,Fe),PageDown:()=>He.stepDown(D,Fe),Home:()=>{const{min:Lt}=ue[D];He.setValueAtIndex(D,Lt)},End:()=>{const{max:Lt}=ue[D];He.setValueAtIndex(D,Lt)}}[Je];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),X.current.eventSource="keyboard")},[He,D,Fe,ue]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>j5({isReversed:A,orientation:d,thumbRects:le,thumbPercents:se}),[A,d,se,le]),we=f.useCallback(Pe=>{var Je;const Xe=Pe??D;if(Xe!==-1&&P){const dt=ie.getThumb(Xe),Lt=(Je=pe.current)==null?void 0:Je.ownerDocument.getElementById(dt);Lt&&setTimeout(()=>Lt.focus())}},[P,D,ie]);Ba(()=>{X.current.eventSource==="keyboard"&&(M==null||M(X.current.value))},[ae,M]);const Re=Pe=>{const Je=Se(Pe)||0,Xe=X.current.value.map(ln=>Math.abs(ln-Je)),dt=Math.min(...Xe);let Lt=Xe.indexOf(dt);const lr=Xe.filter(ln=>ln===dt);lr.length>1&&Je>X.current.value[Lt]&&(Lt=Lt+lr.length-1),L(Lt),He.setValueAtIndex(Lt,Je),we(Lt)},Pt=Pe=>{if(D==-1)return;const Je=Se(Pe)||0;L(D),He.setValueAtIndex(D,Je),we(D)};M5(pe,{onPanSessionStart(Pe){W&&(V(!0),Re(Pe),R==null||R(X.current.value))},onPanSessionEnd(){W&&(V(!1),M==null||M(X.current.value))},onPan(Pe){W&&Pt(Pe)}});const At=f.useCallback((Pe={},Je=null)=>({...Pe,...O,id:ie.root,ref:cn(Je,pe),tabIndex:-1,"aria-disabled":ic(h),"data-focused":Jo(q),style:{...Pe.style,...on}}),[O,h,q,on,ie]),xe=f.useCallback((Pe={},Je=null)=>({...Pe,ref:cn(Je,oe),id:ie.track,"data-disabled":Jo(h),style:{...Pe.style,...vt}}),[h,vt,ie]),ht=f.useCallback((Pe={},Je=null)=>({...Pe,ref:Je,id:ie.innerTrack,style:{...Pe.style,...bt}}),[bt,ie]),$t=f.useCallback((Pe,Je=null)=>{var Xe;const{index:dt,...Lt}=Pe,lr=ae[dt];if(lr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ae.length}`);const pn=ue[dt];return{...Lt,ref:Je,role:"slider",tabIndex:W?0:void 0,id:ie.getThumb(dt),"data-active":Jo(B&&D===dt),"aria-valuetext":(Xe=T==null?void 0:T(lr))!=null?Xe:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":lr,"aria-orientation":d,"aria-disabled":ic(h),"aria-readonly":ic(m),"aria-label":k==null?void 0:k[dt],"aria-labelledby":k!=null&&k[dt]||_==null?void 0:_[dt],style:{...Pe.style,...ct(dt)},onKeyDown:lc(Pe.onKeyDown,Ct),onFocus:lc(Pe.onFocus,()=>{G(!0),L(dt)}),onBlur:lc(Pe.onBlur,()=>{G(!1),L(-1)})}},[ie,ae,ue,W,B,D,T,S,d,h,m,k,_,ct,Ct,G]),zt=f.useCallback((Pe={},Je=null)=>({...Pe,ref:Je,id:ie.output,htmlFor:ae.map((Xe,dt)=>ie.getThumb(dt)).join(" "),"aria-live":"off"}),[ie,ae]),Ne=f.useCallback((Pe,Je=null)=>{const{value:Xe,...dt}=Pe,Lt=!(Xen),lr=Xe>=ae[0]&&Xe<=ae[ae.length-1];let pn=Bp(Xe,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Pu({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Je,id:ie.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Jo(h),"data-invalid":Jo(!Lt),"data-highlighted":Jo(lr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ae,ie]),qe=f.useCallback((Pe,Je=null)=>{const{index:Xe,...dt}=Pe;return{...dt,ref:Je,id:ie.getInput(Xe),type:"hidden",value:ae[Xe],name:Array.isArray(I)?I[Xe]:`${I}-${Xe}`}},[I,ae,ie]);return{state:{value:ae,isFocused:q,isDragging:B,getThumbPercent:Pe=>se[Pe],getThumbMinValue:Pe=>ue[Pe].min,getThumbMaxValue:Pe=>ue[Pe].max},actions:He,getRootProps:At,getTrackProps:xe,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Ne,getInputProps:qe,getOutputProps:zt}}function kB(e,t,n,r){return e.map((o,s)=>{const a=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:a,max:c}})}var[_B,vm]=Rn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[PB,bm]=Rn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),T5=Te(function(t,n){const r={orientation:"horizontal",...t},o=Br("Slider",r),s=qn(r),{direction:a}=Mc();s.direction=a;const{getRootProps:c,...d}=CB(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(_B,{value:p,children:i.jsx(PB,{value:o,children:i.jsx(Ie.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});T5.displayName="RangeSlider";var Hv=Te(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=vm(),a=bm(),c=r(t,n);return i.jsxs(Ie.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});Hv.displayName="RangeSliderThumb";var A5=Te(function(t,n){const{getTrackProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});A5.displayName="RangeSliderTrack";var N5=Te(function(t,n){const{getInnerTrackProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});N5.displayName="RangeSliderFilledTrack";var kp=Te(function(t,n){const{getMarkerProps:r}=vm(),o=bm(),s=r(t,n);return i.jsx(Ie.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});kp.displayName="RangeSliderMark";function jB(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:a,isReversed:c,direction:d="ltr",orientation:p="horizontal",id:h,isDisabled:m,isReadOnly:v,onChangeStart:b,onChangeEnd:w,step:y=1,getAriaValueText:S,"aria-valuetext":k,"aria-label":_,"aria-labelledby":I,name:P,focusThumbOnChange:E=!0,...O}=e,R=rr(b),M=rr(w),T=rr(S),A=I5({isReversed:c,direction:d,orientation:p}),[$,Q]=Ac({value:s,defaultValue:a??EB(n,r),onChange:o}),[B,V]=f.useState(!1),[q,G]=f.useState(!1),D=!(m||v),L=(r-n)/10,W=y||(r-n)/100,Y=rc($,n,r),ae=r-Y+n,ue=Bp(A?ae:Y,n,r),X=p==="vertical",K=R5({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:D,isReversed:A,isVertical:X,eventSource:null,focusThumbOnChange:E,orientation:p}),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useId(),pe=h??oe,[le,ge]=[`slider-thumb-${pe}`,`slider-track-${pe}`],_e=f.useCallback(Ne=>{var qe,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Je=U.current.getBoundingClientRect(),{clientX:Xe,clientY:dt}=(Pn=(qe=Ne.touches)==null?void 0:qe[0])!=null?Pn:Ne,Lt=X?Je.bottom-dt:Xe-Je.left,lr=X?Je.height:Je.width;let pn=Lt/lr;A&&(pn=1-pn);let ln=W3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Iv(ln,Pe.min,Pe.step))),ln=rc(ln,Pe.min,Pe.max),ln},[X,A,K]),ie=f.useCallback(Ne=>{const qe=K.current;qe.isInteractive&&(Ne=parseFloat(Iv(Ne,qe.min,W)),Ne=rc(Ne,qe.min,qe.max),Q(Ne))},[W,Q,K]),Se=f.useMemo(()=>({stepUp(Ne=W){const qe=A?Y-Ne:Y+Ne;ie(qe)},stepDown(Ne=W){const qe=A?Y+Ne:Y-Ne;ie(qe)},reset(){ie(a||0)},stepTo(Ne){ie(Ne)}}),[ie,A,Y,W,a]),Fe=f.useCallback(Ne=>{const qe=K.current,Pe={ArrowRight:()=>Se.stepUp(),ArrowUp:()=>Se.stepUp(),ArrowLeft:()=>Se.stepDown(),ArrowDown:()=>Se.stepDown(),PageUp:()=>Se.stepUp(L),PageDown:()=>Se.stepDown(L),Home:()=>ie(qe.min),End:()=>ie(qe.max)}[Ne.key];Pe&&(Ne.preventDefault(),Ne.stopPropagation(),Pe(Ne),qe.eventSource="keyboard")},[Se,ie,L,K]),Ae=(t=T==null?void 0:T(Y))!=null?t:k,He=SB(se),{getThumbStyle:Ct,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Ne=K.current,qe=He??{width:0,height:0};return j5({isReversed:A,orientation:Ne.orientation,thumbRects:[qe],thumbPercents:[ue]})},[A,He,ue,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var qe;return(qe=se.current)==null?void 0:qe.focus()})},[K]);Ba(()=>{const Ne=K.current;bt(),Ne.eventSource==="keyboard"&&(M==null||M(Ne.value))},[Y,M]);function we(Ne){const qe=_e(Ne);qe!=null&&qe!==K.current.value&&Q(qe)}M5(re,{onPanSessionStart(Ne){const qe=K.current;qe.isInteractive&&(V(!0),bt(),we(Ne),R==null||R(qe.value))},onPanSessionEnd(){const Ne=K.current;Ne.isInteractive&&(V(!1),M==null||M(Ne.value))},onPan(Ne){K.current.isInteractive&&we(Ne)}});const Re=f.useCallback((Ne={},qe=null)=>({...Ne,...O,ref:cn(qe,re),tabIndex:-1,"aria-disabled":ic(m),"data-focused":Jo(q),style:{...Ne.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((Ne={},qe=null)=>({...Ne,ref:cn(qe,U),id:ge,"data-disabled":Jo(m),style:{...Ne.style,...on}}),[m,ge,on]),At=f.useCallback((Ne={},qe=null)=>({...Ne,ref:qe,style:{...Ne.style,...vt}}),[vt]),xe=f.useCallback((Ne={},qe=null)=>({...Ne,ref:cn(qe,se),role:"slider",tabIndex:D?0:void 0,id:le,"data-active":Jo(B),"aria-valuetext":Ae,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":ic(m),"aria-readonly":ic(v),"aria-label":_,"aria-labelledby":_?void 0:I,style:{...Ne.style,...Ct(0)},onKeyDown:lc(Ne.onKeyDown,Fe),onFocus:lc(Ne.onFocus,()=>G(!0)),onBlur:lc(Ne.onBlur,()=>G(!1))}),[D,le,B,Ae,n,r,Y,p,m,v,_,I,Ct,Fe]),ht=f.useCallback((Ne,qe=null)=>{const Pn=!(Ne.valuer),Pe=Y>=Ne.value,Je=Bp(Ne.value,n,r),Xe={position:"absolute",pointerEvents:"none",...IB({orientation:p,vertical:{bottom:A?`${100-Je}%`:`${Je}%`},horizontal:{left:A?`${100-Je}%`:`${Je}%`}})};return{...Ne,ref:qe,role:"presentation","aria-hidden":!0,"data-disabled":Jo(m),"data-invalid":Jo(!Pn),"data-highlighted":Jo(Pe),style:{...Ne.style,...Xe}}},[m,A,r,n,p,Y]),$t=f.useCallback((Ne={},qe=null)=>({...Ne,ref:qe,type:"hidden",value:Y,name:P}),[P,Y]);return{state:{value:Y,isFocused:q,isDragging:B},actions:Se,getRootProps:Re,getTrackProps:Pt,getInnerTrackProps:At,getThumbProps:xe,getMarkerProps:ht,getInputProps:$t}}function IB(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function EB(e,t){return t"}),[RB,xm]=Rn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),$5=Te((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Br("Slider",r),s=qn(r),{direction:a}=Mc();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=jB(s),h=d(),m=c({},t);return i.jsx(OB,{value:p,children:i.jsx(RB,{value:o,children:i.jsxs(Ie.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});$5.displayName="Slider";var z5=Te((e,t)=>{const{getThumbProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});z5.displayName="SliderThumb";var L5=Te((e,t)=>{const{getTrackProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});L5.displayName="SliderTrack";var B5=Te((e,t)=>{const{getInnerTrackProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});B5.displayName="SliderFilledTrack";var Vl=Te((e,t)=>{const{getMarkerProps:n}=ym(),r=xm(),o=n(e,t);return i.jsx(Ie.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});Vl.displayName="SliderMark";var Nb=Te(function(t,n){const r=Br("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{state:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=F3(a),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return i.jsxs(Ie.label,{...h(),className:kt("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(Ie.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(Ie.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":tn(c.isChecked),"data-hover":tn(c.isHovered)})}),s&&i.jsx(Ie.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Nb.displayName="Switch";var[MB,DB,TB,AB]=X1();function NB(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:a,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=Ac({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=TB(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:a,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[$B,wm]=Rn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function zB(e){const{focusedIndex:t,orientation:n,direction:r}=wm(),o=DB(),s=f.useCallback(a=>{const c=()=>{var _;const I=o.nextEnabled(t);I&&((_=I.node)==null||_.focus())},d=()=>{var _;const I=o.prevEnabled(t);I&&((_=I.node)==null||_.focus())},p=()=>{var _;const I=o.firstEnabled();I&&((_=I.node)==null||_.focus())},h=()=>{var _;const I=o.lastEnabled();I&&((_=I.node)==null||_.focus())},m=n==="horizontal",v=n==="vertical",b=a.key,w=r==="ltr"?"ArrowLeft":"ArrowRight",y=r==="ltr"?"ArrowRight":"ArrowLeft",k={[w]:()=>m&&d(),[y]:()=>m&&c(),ArrowDown:()=>v&&c(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];k&&(a.preventDefault(),k(a))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:et(e.onKeyDown,s)}}function LB(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=wm(),{index:p,register:h}=AB({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=UP({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:F5(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":H5(a,p),onFocus:t?void 0:et(e.onFocus,b)}}var[BB,FB]=Rn({});function HB(e){const t=wm(),{id:n,selectedIndex:r}=t,s=gd(e.children).map((a,c)=>f.createElement(BB,{key:c,value:{isSelected:c===r,id:H5(n,c),tabId:F5(n,c),selectedIndex:r}},a));return{...e,children:s}}function WB(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=wm(),{isSelected:s,id:a,tabId:c}=FB(),d=f.useRef(!1);s&&(d.current=!0);const p=Ib({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":c,hidden:!s,id:a}}function F5(e,t){return`${e}--tab-${t}`}function H5(e,t){return`${e}--tabpanel-${t}`}var[VB,Sm]=Rn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Ed=Te(function(t,n){const r=Br("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=NB(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(MB,{value:d,children:i.jsx($B,{value:h,children:i.jsx(VB,{value:r,children:i.jsx(Ie.div,{className:kt("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Ed.displayName="Tabs";var Od=Te(function(t,n){const r=zB({...t,ref:n}),s={display:"flex",...Sm().tablist};return i.jsx(Ie.div,{...r,className:kt("chakra-tabs__tablist",t.className),__css:s})});Od.displayName="TabList";var Cm=Te(function(t,n){const r=WB({...t,ref:n}),o=Sm();return i.jsx(Ie.div,{outline:"0",...r,className:kt("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Cm.displayName="TabPanel";var km=Te(function(t,n){const r=HB(t),o=Sm();return i.jsx(Ie.div,{...r,width:"100%",ref:n,className:kt("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});km.displayName="TabPanels";var wc=Te(function(t,n){const r=Sm(),o=LB({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(Ie.button,{...o,className:kt("chakra-tabs__tab",t.className),__css:s})});wc.displayName="Tab";function UB(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var GB=["h","minH","height","minHeight"],W5=Te((e,t)=>{const n=$a("Textarea",e),{className:r,rows:o,...s}=qn(e),a=Z1(s),c=o?UB(n,GB):n;return i.jsx(Ie.textarea,{ref:t,rows:o,...a,className:kt("chakra-textarea",r),__css:c})});W5.displayName="Textarea";var qB={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},Wv=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},_p=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function KB(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:a=o,closeOnEsc:c=!0,onOpen:d,onClose:p,placement:h,id:m,isOpen:v,defaultIsOpen:b,arrowSize:w=10,arrowShadowColor:y,arrowPadding:S,modifiers:k,isDisabled:_,gutter:I,offset:P,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:T}=jb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:$,getArrowInnerProps:Q,getArrowProps:B}=Pb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:I,offset:P,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,D=f.useRef(null),L=f.useRef(),W=f.useCallback(()=>{L.current&&(clearTimeout(L.current),L.current=void 0)},[]),Y=f.useRef(),ae=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),ye=f.useCallback(()=>{ae(),T()},[T,ae]),ue=YB(D,ye),X=f.useCallback(()=>{if(!_&&!L.current){ue();const ge=_p(D);L.current=ge.setTimeout(M,t)}},[ue,_,M,t]),K=f.useCallback(()=>{W();const ge=_p(D);Y.current=ge.setTimeout(ye,n)},[n,ye,W]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),se=f.useCallback(()=>{R&&a&&K()},[a,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Yi(()=>Wv(D),"keydown",c?re:void 0),Yi(()=>{const ge=D.current;if(!ge)return null;const _e=DP(ge);return _e.localName==="body"?_p(D):_e},"scroll",()=>{R&&s&&ye()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&(W(),R&&T())},[_,R,T,W]),f.useEffect(()=>()=>{W(),ae()},[W,ae]),Yi(()=>D.current,"pointerleave",K);const oe=f.useCallback((ge={},_e=null)=>({...ge,ref:cn(D,_e,A),onPointerEnter:et(ge.onPointerEnter,Se=>{Se.pointerType!=="touch"&&X()}),onClick:et(ge.onClick,U),onPointerDown:et(ge.onPointerDown,se),onFocus:et(ge.onFocus,X),onBlur:et(ge.onBlur,K),"aria-describedby":R?G:void 0}),[X,K,se,R,G,U,A]),pe=f.useCallback((ge={},_e=null)=>$({...ge,style:{...ge.style,[Pr.arrowSize.var]:w?`${w}px`:void 0,[Pr.arrowShadowColor.var]:y}},_e),[$,w,y]),le=f.useCallback((ge={},_e=null)=>{const ie={...ge.style,position:"relative",transformOrigin:Pr.transformOrigin.varRef};return{ref:_e,...O,...ge,id:G,role:"tooltip",style:ie}},[O,G]);return{isOpen:R,show:X,hide:K,getTriggerProps:oe,getTooltipProps:le,getTooltipPositionerProps:pe,getArrowProps:B,getArrowInnerProps:Q}}var j0="chakra-ui:close-tooltip";function YB(e,t){return f.useEffect(()=>{const n=Wv(e);return n.addEventListener(j0,t),()=>n.removeEventListener(j0,t)},[t,e]),()=>{const n=Wv(e),r=_p(e);n.dispatchEvent(new r.CustomEvent(j0))}}function XB(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function QB(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var JB=Ie(Xr.div),wn=Te((e,t)=>{var n,r;const o=$a("Tooltip",e),s=qn(e),a=Mc(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,I=(r=(n=w??y)!=null?n:v)!=null?r:S;if(I){o.bg=I;const $=CR(a,"colors",I);o[Pr.arrowBg.var]=$}const P=KB({..._,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(Ie.span,{display:"inline-block",tabIndex:0,...P.getTriggerProps(),children:c});else{const $=f.Children.only(c);O=f.cloneElement($,P.getTriggerProps($.props,$.ref))}const R=!!h,M=P.getTooltipProps({},t),T=R?XB(M,["role","id"]):M,A=QB(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(Fo,{children:P.isOpen&&i.jsx(Vu,{...b,children:i.jsx(Ie.div,{...P.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(JB,{variants:qB,initial:"exit",animate:"enter",exit:"exit",...k,...T,__css:o,children:[d,R&&i.jsx(Ie.span,{srOnly:!0,...A,children:h}),m&&i.jsx(Ie.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(Ie.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});wn.displayName="Tooltip";function ZB(e,t={}){let n=f.useCallback(o=>t.keys?fT(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const mo=e=>e.system,eF=e=>e.system.toastQueue,V5=fe(mo,e=>e.language,Ge),jr=fe(e=>e,e=>e.system.isProcessing||!e.system.isConnected),tF=fe(mo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Qt}}),nF=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=z(tF);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${kR[e]}`)):localStorage.setItem("ROARR_LOG","false"),I2.ROARR.write=_R.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...PR};E2.set(I2.Roarr.child(r))},[]),ZB(E2)},rF=()=>{const e=te(),t=z(eF),n=BT();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(jR())},[e,n,t]),null},Bc=()=>{const e=te();return f.useCallback(n=>e(Dn(Bn(n))),[e])};var oF=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function Rd(e,t){var n=sF(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function sF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=oF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var aF=[".DS_Store","Thumbs.db"];function iF(e){return Nc(this,void 0,void 0,function(){return $c(this,function(t){return qp(e)&&lF(e.dataTransfer)?[2,fF(e.dataTransfer,e.type)]:cF(e)?[2,uF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,dF(e)]:[2,[]]})})}function lF(e){return qp(e)}function cF(e){return qp(e)&&qp(e.target)}function qp(e){return typeof e=="object"&&e!==null}function uF(e){return Vv(e.target.files).map(function(t){return Rd(t)})}function dF(e){return Nc(this,void 0,void 0,function(){var t;return $c(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return Rd(r)})]}})})}function fF(e,t){return Nc(this,void 0,void 0,function(){var n,r;return $c(this,function(o){switch(o.label){case 0:return e.items?(n=Vv(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(pF))]):[3,2];case 1:return r=o.sent(),[2,aS(U5(r))];case 2:return[2,aS(Vv(e.files).map(function(s){return Rd(s)}))]}})})}function aS(e){return e.filter(function(t){return aF.indexOf(t.name)===-1})}function Vv(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,dS(n)];if(e.sizen)return[!1,dS(n)]}return[!0,null]}function Vi(e){return e!=null}function EF(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,a=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(d){var p=Y5(d,n),h=Zu(p,1),m=h[0],v=X5(d,r,o),b=Zu(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function Kp(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function zf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function pS(e){e.preventDefault()}function OF(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function RF(e){return e.indexOf("Edge/")!==-1}function MF(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return OF(e)||RF(e)}function Gs(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function YF(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var $b=f.forwardRef(function(e,t){var n=e.children,r=Yp(e,zF),o=zb(r),s=o.open,a=Yp(o,LF);return f.useImperativeHandle(t,function(){return{open:s}},[s]),F.createElement(f.Fragment,null,n(dr(dr({},a),{},{open:s})))});$b.displayName="Dropzone";var e6={disabled:!1,getFilesFromEvent:iF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};$b.defaultProps=e6;$b.propTypes={children:zn.func,accept:zn.objectOf(zn.arrayOf(zn.string)),multiple:zn.bool,preventDropOnDocument:zn.bool,noClick:zn.bool,noKeyboard:zn.bool,noDrag:zn.bool,noDragEventsBubbling:zn.bool,minSize:zn.number,maxSize:zn.number,maxFiles:zn.number,disabled:zn.bool,getFilesFromEvent:zn.func,onFileDialogCancel:zn.func,onFileDialogOpen:zn.func,useFsAccessApi:zn.bool,autoFocus:zn.bool,onDragEnter:zn.func,onDragLeave:zn.func,onDragOver:zn.func,onDrop:zn.func,onDropAccepted:zn.func,onDropRejected:zn.func,onError:zn.func,validator:zn.func};var Kv={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function zb(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=dr(dr({},e6),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,m=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,w=t.onDropRejected,y=t.onFileDialogCancel,S=t.onFileDialogOpen,k=t.useFsAccessApi,_=t.autoFocus,I=t.preventDropOnDocument,P=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,T=t.validator,A=f.useMemo(function(){return AF(n)},[n]),$=f.useMemo(function(){return TF(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:mS},[S]),B=f.useMemo(function(){return typeof y=="function"?y:mS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(XF,Kv),D=I0(G,2),L=D[0],W=D[1],Y=L.isFocused,ae=L.isFileDialogActive,ye=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&DF()),ue=function(){!ye.current&&ae&&setTimeout(function(){if(q.current){var Re=q.current.files;Re.length||(W({type:"closeDialog"}),B())}},300)};f.useEffect(function(){return window.addEventListener("focus",ue,!1),function(){window.removeEventListener("focus",ue,!1)}},[q,ae,B,ye]);var X=f.useRef([]),K=function(Re){V.current&&V.current.contains(Re.target)||(Re.preventDefault(),X.current=[])};f.useEffect(function(){return I&&(document.addEventListener("dragover",pS,!1),document.addEventListener("drop",K,!1)),function(){I&&(document.removeEventListener("dragover",pS),document.removeEventListener("drop",K))}},[V,I]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(we){M?M(we):console.error(we)},[M]),se=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we),X.current=[].concat(HF(X.current),[we.target]),zf(we)&&Promise.resolve(o(we)).then(function(Re){if(!(Kp(we)&&!R)){var Pt=Re.length,At=Pt>0&&EF({files:Re,accept:A,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:T}),xe=Pt>0&&!At;W({isDragAccept:At,isDragReject:xe,isDragActive:!0,type:"setDraggedFiles"}),p&&p(we)}}).catch(function(Re){return U(Re)})},[o,p,U,R,A,a,s,c,d,T]),re=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we);var Re=zf(we);if(Re&&we.dataTransfer)try{we.dataTransfer.dropEffect="copy"}catch{}return Re&&m&&m(we),!1},[m,R]),oe=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we);var Re=X.current.filter(function(At){return V.current&&V.current.contains(At)}),Pt=Re.indexOf(we.target);Pt!==-1&&Re.splice(Pt,1),X.current=Re,!(Re.length>0)&&(W({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),zf(we)&&h&&h(we))},[V,h,R]),pe=f.useCallback(function(we,Re){var Pt=[],At=[];we.forEach(function(xe){var ht=Y5(xe,A),$t=I0(ht,2),zt=$t[0],Ne=$t[1],qe=X5(xe,a,s),Pn=I0(qe,2),Pe=Pn[0],Je=Pn[1],Xe=T?T(xe):null;if(zt&&Pe&&!Xe)Pt.push(xe);else{var dt=[Ne,Je];Xe&&(dt=dt.concat(Xe)),At.push({file:xe,errors:dt.filter(function(Lt){return Lt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(xe){At.push({file:xe,errors:[IF]})}),Pt.splice(0)),W({acceptedFiles:Pt,fileRejections:At,type:"setFiles"}),v&&v(Pt,At,Re),At.length>0&&w&&w(At,Re),Pt.length>0&&b&&b(Pt,Re)},[W,c,A,a,s,d,v,b,w,T]),le=f.useCallback(function(we){we.preventDefault(),we.persist(),ct(we),X.current=[],zf(we)&&Promise.resolve(o(we)).then(function(Re){Kp(we)&&!R||pe(Re,we)}).catch(function(Re){return U(Re)}),W({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(ye.current){W({type:"openDialog"}),Q();var we={multiple:c,types:$};window.showOpenFilePicker(we).then(function(Re){return o(Re)}).then(function(Re){pe(Re,null),W({type:"closeDialog"})}).catch(function(Re){NF(Re)?(B(Re),W({type:"closeDialog"})):$F(Re)?(ye.current=!1,q.current?(q.current.value=null,q.current.click()):U(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):U(Re)});return}q.current&&(W({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[W,Q,B,k,pe,U,$,c]),_e=f.useCallback(function(we){!V.current||!V.current.isEqualNode(we.target)||(we.key===" "||we.key==="Enter"||we.keyCode===32||we.keyCode===13)&&(we.preventDefault(),ge())},[V,ge]),ie=f.useCallback(function(){W({type:"focus"})},[]),Se=f.useCallback(function(){W({type:"blur"})},[]),Fe=f.useCallback(function(){P||(MF()?setTimeout(ge,0):ge())},[P,ge]),Ae=function(Re){return r?null:Re},He=function(Re){return E?null:Ae(Re)},Ct=function(Re){return O?null:Ae(Re)},ct=function(Re){R&&Re.stopPropagation()},on=f.useMemo(function(){return function(){var we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=we.refKey,Pt=Re===void 0?"ref":Re,At=we.role,xe=we.onKeyDown,ht=we.onFocus,$t=we.onBlur,zt=we.onClick,Ne=we.onDragEnter,qe=we.onDragOver,Pn=we.onDragLeave,Pe=we.onDrop,Je=Yp(we,BF);return dr(dr(qv({onKeyDown:He(Gs(xe,_e)),onFocus:He(Gs(ht,ie)),onBlur:He(Gs($t,Se)),onClick:Ae(Gs(zt,Fe)),onDragEnter:Ct(Gs(Ne,se)),onDragOver:Ct(Gs(qe,re)),onDragLeave:Ct(Gs(Pn,oe)),onDrop:Ct(Gs(Pe,le)),role:typeof At=="string"&&At!==""?At:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Je)}},[V,_e,ie,Se,Fe,se,re,oe,le,E,O,r]),vt=f.useCallback(function(we){we.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=we.refKey,Pt=Re===void 0?"ref":Re,At=we.onChange,xe=we.onClick,ht=Yp(we,FF),$t=qv({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ae(Gs(At,le)),onClick:Ae(Gs(xe,vt)),tabIndex:-1},Pt,q);return dr(dr({},$t),ht)}},[q,n,c,le,r]);return dr(dr({},L),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ae(ge)})}function XF(e,t){switch(t.type){case"focus":return dr(dr({},e),{},{isFocused:!0});case"blur":return dr(dr({},e),{},{isFocused:!1});case"openDialog":return dr(dr({},Kv),{},{isFileDialogActive:!0});case"closeDialog":return dr(dr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return dr(dr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return dr(dr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return dr({},Kv);default:return e}}function mS(){}function Yv(){return Yv=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var rH=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,a=n.mod,c=n.shift,d=n.ctrl,p=n.keys,h=t.key,m=t.code,v=t.ctrlKey,b=t.metaKey,w=t.shiftKey,y=t.altKey,S=ii(m),k=h.toLowerCase();if(!r){if(o===!y&&k!=="alt"||c===!w&&k!=="shift")return!1;if(a){if(!b&&!v)return!1}else if(s===!b&&k!=="meta"&&k!=="os"||d===!v&&k!=="ctrl"&&k!=="control")return!1}return p&&p.length===1&&(p.includes(k)||p.includes(S))?!0:p?n6(p):!p},oH=f.createContext(void 0),sH=function(){return f.useContext(oH)};function a6(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&a6(e[r],t[r])},!0):e===t}var aH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),iH=function(){return f.useContext(aH)};function lH(e){var t=f.useRef(void 0);return a6(t.current,e)||(t.current=e),t.current}var gS=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},cH=typeof window<"u"?f.useLayoutEffect:f.useEffect;function nt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,c=e instanceof Array?e.join(a==null?void 0:a.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var m=lH(a),v=iH(),b=v.enabledScopes,w=sH();return cH(function(){if(!((m==null?void 0:m.enabled)===!1||!nH(b,m==null?void 0:m.scopes))){var y=function(P,E){var O;if(E===void 0&&(E=!1),!(tH(P)&&!s6(P,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(P))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){gS(P);return}(O=P.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||E0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,T=O0(R,m==null?void 0:m.combinationKey);if(rH(P,T,m==null?void 0:m.ignoreModifiers)||(M=T.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(ZF(P,T,m==null?void 0:m.preventDefault),!eH(P,T,m==null?void 0:m.enabled)){gS(P);return}h.current(P,T),E||(s.current=!0)}})}},S=function(P){P.key!==void 0&&(r6(ii(P.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(P))},k=function(P){P.key!==void 0&&(o6(ii(P.code)),s.current=!1,m!=null&&m.keyup&&y(P,!0))},_=o.current||(a==null?void 0:a.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&E0(c,m==null?void 0:m.splitKey).forEach(function(I){return w.addHotkey(O0(I,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&E0(c,m==null?void 0:m.splitKey).forEach(function(I){return w.removeHotkey(O0(I,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const uH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return nt("esc",()=>{r(!1)}),i.jsxs(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[i.jsx(H,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(H,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:i.jsx(H,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?i.jsx(Xs,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Xs,{size:"lg",children:"Invalid Upload"}),i.jsx(Xs,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},dH=fe([Ye,Kn],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Ge),fH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=z(dH),o=z(jr),s=Bc(),{t:a}=be(),[c,d]=f.useState(!1),[p]=j_(),h=f.useCallback(I=>{d(!0),s({title:a("toast.uploadFailed"),description:I.errors.map(P=>P.message).join(` +`),status:"error"})},[a,s]),m=f.useCallback(async I=>{p({file:I,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n})},[n,r,p]),v=f.useCallback((I,P)=>{if(P.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}P.forEach(E=>{h(E)}),I.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=zb({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const I=async P=>{var E,O;_.current&&(E=P.clipboardData)!=null&&E.files&&(_.current.files=P.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",I),()=>{document.removeEventListener("paste",I)}},[_]),i.jsxs(Oe,{...b({style:{}}),onKeyDown:I=>{I.key},children:[i.jsx("input",{...w()}),t,i.jsx(Fo,{children:k&&c&&i.jsx(Xr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(uH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},pH=f.memo(fH),mn=e=>e.canvas,ir=fe([mn,Kn,mo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),hH=e=>e.canvas.layerState.objects.find(I_),mH=UD(e=>{e(E_(!0))},300),So=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&mH(e)};var gH=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),kr=globalThis&&globalThis.__assign||function(){return kr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof a>"u"?void 0:Number(a)}},CH=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],wS="__resizable_base__",kH=function(e){yH(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(wS):s.className+=wS,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||xH},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(c){if(typeof n.state[c]>"u"||n.state[c]==="auto")return"auto";if(n.propsSize&&n.propsSize[c]&&n.propsSize[c].toString().endsWith("%")){if(n.state[c].toString().endsWith("%"))return n.state[c].toString();var d=n.getParentSize(),p=Number(n.state[c].toString().replace("px","")),h=p/d[c]*100;return h+"%"}return R0(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?R0(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?R0(r.height):o("height");return{width:s,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,a=o&&Ll("left",s),c=o&&Ll("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=a?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=c?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=c?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=c?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,m=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,w=d||0,y=p||0;if(c){var S=(v-w)*this.ratio+y,k=(b-w)*this.ratio+y,_=(h-y)/this.ratio+w,I=(m-y)/this.ratio+w,P=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,I);n=Bf(n,P,E),r=Bf(r,O,R)}else n=Bf(n,h,m),r=Bf(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),a=s.left,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=a,this.resizableRight=d,this.resizableTop=c,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&wH(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&Ff(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var c,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",c=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var m={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:c};this.setState(m)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Ff(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=Ff(n)?n.touches[0].clientX:n.clientX,h=Ff(n)?n.touches[0].clientY:n.clientY,m=this.state,v=m.direction,b=m.original,w=m.width,y=m.height,S=this.getParentSize(),k=SH(S,this.window.innerWidth,this.window.innerHeight,s,a,c,d);s=k.maxWidth,a=k.maxHeight,c=k.minWidth,d=k.minHeight;var _=this.calculateNewSizeFromDirection(p,h),I=_.newHeight,P=_.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(P=xS(P,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(I=xS(I,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(P,I,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(P=O.newWidth,I=O.newHeight,this.props.grid){var R=yS(P,this.props.grid[0]),M=yS(I,this.props.grid[1]),T=this.props.snapGap||0;P=T===0||Math.abs(R-P)<=T?R:P,I=T===0||Math.abs(M-I)<=T?M:I}var A={width:P-b.width,height:I-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var $=P/S.width*100;P=$+"%"}else if(w.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(w.endsWith("vh")){var B=P/this.window.innerHeight*100;P=B+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var $=I/S.height*100;I=$+"%"}else if(y.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(y.endsWith("vh")){var B=I/this.window.innerHeight*100;I=B+"vh"}}var V={width:this.createSizeForCssProperty(P,"width"),height:this.createSizeForCssProperty(I,"height")};this.flexDir==="row"?V.flexBasis=V.width:this.flexDir==="column"&&(V.flexBasis=V.height),_i.flushSync(function(){r.setState(V)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,A)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,a=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,c),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,a=r.handleClasses,c=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(m){return o[m]!==!1?f.createElement(bH,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:a&&a[m]},p&&p[m]?p[m]:null):null});return f.createElement("div",{className:d,style:c},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,c){return CH.indexOf(c)!==-1||(a[c]=n.props[c]),a},{}),o=qs(qs(qs({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,qs({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const _H=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),PH=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),a=n??(["left","right"].includes(e)?"95vw":void 0),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...a?{maxWidth:a}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},va="0.75rem",Wf="1rem",fu="5px",jH=({isResizable:e,direction:t})=>{const n=`calc((2 * ${va} + ${fu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:fu,paddingBottom:Wf},handleStyles:e?{top:{paddingTop:va,paddingBottom:va,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:fu,paddingInlineEnd:Wf},handleStyles:e?{right:{paddingInlineStart:va,paddingInlineEnd:va,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:fu,paddingTop:Wf},handleStyles:e?{bottom:{paddingTop:va,paddingBottom:va,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:fu,paddingInlineStart:Wf},handleStyles:e?{left:{paddingInlineStart:va,paddingInlineEnd:va,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},IH=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",ze=(e,t)=>n=>n==="light"?e:t,EH=Ie(kH,{shouldForwardProp:e=>!["sx"].includes(e)}),i6=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:a,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=Mc().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),I=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[P,E]=f.useState(_),[O,R]=f.useState(I);CN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?_H({direction:e,langDirection:y}):{},[t,y,e]),T=f.useMemo(()=>PH({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:A,handleStyles:$}=f.useMemo(()=>jH({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>IH(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(A3,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Oe,{ref:k,sx:{width:"full",height:"full"},children:i.jsx(EH,{size:{width:t?P:_,height:t?O:I},enable:M,handleStyles:$,...T,sx:{borderColor:ze("base.200","base.800")(S),p:4,bg:ze("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(B,V,q)=>{m&&m(B,V,q)},onResize:(B,V,q,G)=>{b&&b(B,V,q,G)},onResizeStop:(B,V,q,G)=>{["left","right"].includes(V)&&E(Number(P)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(B,V,q,G)},children:o})})})},OH=Te((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(wn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(gc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),rn=f.memo(OH);var l6={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},SS=F.createContext&&F.createContext(l6),fi=globalThis&&globalThis.__assign||function(){return fi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function ro(e,t){const n=Ii(t);if(Rs(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?jS(e,s,t):t.reduce((a,c)=>(a[c]=jS(e,s,c),a),o)}return o}e&&_n(Bo(t),o=>MW(e,o,t[o]))}const xs=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Dd=()=>typeof window<"u",C6=Dd()&&Node.ELEMENT_NODE,{toString:vW,hasOwnProperty:D0}=Object.prototype,Ha=e=>e===void 0,Pm=e=>e===null,bW=e=>Ha(e)||Pm(e)?`${e}`:vW.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),pi=e=>typeof e=="number",Ii=e=>typeof e=="string",Vb=e=>typeof e=="boolean",Os=e=>typeof e=="function",Rs=e=>Array.isArray(e),ed=e=>typeof e=="object"&&!Rs(e)&&!Pm(e),jm=e=>{const t=!!e&&e.length,n=pi(t)&&t>-1&&t%1==0;return Rs(e)||!Os(e)&&n?t>0&&ed(e)?t-1 in e:!0:!1},Xv=e=>{if(!e||!ed(e)||bW(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=D0.call(e,n),a=o&&D0.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Ha(t)||D0.call(e,t)},Xp=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===C6:!1},Im=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===C6:!1},Ub=(e,t,n)=>e.indexOf(t,n),Mn=(e,t,n)=>(!n&&!Ii(t)&&jm(t)?Array.prototype.push.apply(e,t):e.push(t),e),il=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{Mn(n,r)}):_n(e,r=>{Mn(n,r)}),n)},Gb=e=>!!e&&e.length===0,la=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Em=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Bo=e=>e?Object.keys(e):[],pr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Pm(e))&&!Os(e)&&(e={}),_n(c,d=>{_n(Bo(d),p=>{const h=d[p];if(e===h)return!0;const m=Rs(h);if(h&&(Xv(h)||m)){const v=e[p];let b=v;m&&!Rs(v)?b=[]:!m&&!Xv(v)&&(b={}),e[p]=pr(b,h)}else e[p]=h})}),e},qb=e=>{for(const t in e)return!1;return!0},k6=(e,t,n,r)=>{if(Ha(r))return n?n[e]:t;n&&(Ii(r)||pi(r))&&(n[e]=r)},no=(e,t,n)=>{if(Ha(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},xo=(e,t)=>{e&&e.removeAttribute(t)},Qi=(e,t,n,r)=>{if(n){const o=no(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=il(s).join(" ").trim();no(e,t,a)}},yW=(e,t,n)=>{const r=no(e,t)||"";return new Set(r.split(" ")).has(n)},_s=(e,t)=>k6("scrollLeft",0,e,t),Ca=(e,t)=>k6("scrollTop",0,e,t),Qv=Dd()&&Element.prototype,_6=(e,t)=>{const n=[],r=t?Im(t)?t:null:document;return r?Mn(n,r.querySelectorAll(e)):n},xW=(e,t)=>{const n=t?Im(t)?t:null:document;return n?n.querySelector(e):null},Qp=(e,t)=>Im(e)?(Qv.matches||Qv.msMatchesSelector).call(e,t):!1,Kb=e=>e?il(e.childNodes):[],Ta=e=>e?e.parentElement:null,Yl=(e,t)=>{if(Im(e)){const n=Qv.closest;if(n)return n.call(e,t);do{if(Qp(e,t))return e;e=Ta(e)}while(e)}return null},wW=(e,t,n)=>{const r=e&&Yl(e,t),o=e&&xW(n,r),s=Yl(o,t)===r;return r&&o?r===e||o===e||s&&Yl(Yl(e,n),t)!==r:!1},Yb=(e,t,n)=>{if(n&&e){let r=t,o;jm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ts=(e,t)=>{Yb(e,null,t)},SW=(e,t)=>{Yb(Ta(e),e,t)},kS=(e,t)=>{Yb(Ta(e),e&&e.nextSibling,t)},oa=e=>{if(jm(e))_n(il(e),t=>oa(t));else if(e){const t=Ta(e);t&&t.removeChild(e)}},Ji=e=>{const t=document.createElement("div");return e&&no(t,"class",e),t},P6=e=>{const t=Ji();return t.innerHTML=e.trim(),_n(Kb(t),n=>oa(n))},Jv=e=>e.charAt(0).toUpperCase()+e.slice(1),CW=()=>Ji().style,kW=["-webkit-","-moz-","-o-","-ms-"],_W=["WebKit","Moz","O","MS","webkit","moz","o","ms"],T0={},A0={},PW=e=>{let t=A0[e];if(Em(A0,e))return t;const n=Jv(e),r=CW();return _n(kW,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,Jv(s)+n].find(c=>r[c]!==void 0))}),A0[e]=t||""},Td=e=>{if(Dd()){let t=T0[e]||window[e];return Em(T0,e)||(_n(_W,n=>(t=t||window[n+Jv(e)],!t)),T0[e]=t),t}},jW=Td("MutationObserver"),_S=Td("IntersectionObserver"),Xl=Td("ResizeObserver"),j6=Td("cancelAnimationFrame"),I6=Td("requestAnimationFrame"),Jp=Dd()&&window.setTimeout,Zv=Dd()&&window.clearTimeout,IW=/[^\x20\t\r\n\f]+/g,E6=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ii(t)){const c=t.match(IW)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Xb=(e,t)=>{E6(e,t,(n,r)=>n.remove(r))},ka=(e,t)=>(E6(e,t,(n,r)=>n.add(r)),Xb.bind(0,e,t)),Om=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},O6=(e,t)=>Om(e,t,["w","h"]),R6=(e,t)=>Om(e,t,["x","y"]),EW=(e,t)=>Om(e,t,["t","r","b","l"]),PS=(e,t,n)=>Om(e,t,["width","height"],n&&(r=>Math.round(r))),es=()=>{},Ul=e=>{let t;const n=e?Jp:I6,r=e?Zv:j6;return[o=>{r(t),t=n(o,Os(e)?e():e)},()=>r(t)]},Qb=(e,t)=>{let n,r,o,s=es;const{v:a,g:c,p:d}=t||{},p=function(w){s(),Zv(n),n=r=void 0,s=es,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==es&&p(h(o)||o)},v=function(){const w=il(arguments),y=Os(a)?a():a;if(pi(y)&&y>=0){const k=Os(c)?c():c,_=pi(k)&&k>=0,I=y>0?Jp:I6,P=y>0?Zv:j6,O=h(w)||w,R=p.bind(0,O);s();const M=I(R,y);s=()=>P(M),_&&!n&&(n=Jp(m,k)),r=o=O}else p(w)};return v.m=m,v},OW={opacity:1,zindex:1},Vf=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},RW=(e,t)=>!OW[e.toLowerCase()]&&pi(t)?`${t}px`:t,jS=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],MW=(e,t,n)=>{try{const{style:r}=e;Ha(r[t])?r.setProperty(t,n):r[t]=RW(t,n)}catch{}},td=e=>ro(e,"direction")==="rtl",IS=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=ro(e,[s,a,c,d]);return{t:Vf(p[s],!0),r:Vf(p[a],!0),b:Vf(p[c],!0),l:Vf(p[d],!0)}},{round:ES}=Math,Jb={w:0,h:0},nd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:Jb,Pp=e=>e?{w:e.clientWidth,h:e.clientHeight}:Jb,Zp=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:Jb,eh=e=>{const t=parseFloat(ro(e,"height"))||0,n=parseFloat(ro(e,"width"))||0;return{w:n-ES(n),h:t-ES(t)}},Zs=e=>e.getBoundingClientRect();let Uf;const DW=()=>{if(Ha(Uf)){Uf=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Uf=!0}}))}catch{}}return Uf},M6=e=>e.split(" "),TW=(e,t,n,r)=>{_n(M6(t),o=>{e.removeEventListener(o,n,r)})},Dr=(e,t,n,r)=>{var o;const s=DW(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(M6(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;Mn(p,TW.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),la.bind(0,p)},D6=e=>e.stopPropagation(),T6=e=>e.preventDefault(),AW={x:0,y:0},N0=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:AW},OS=(e,t)=>{_n(Rs(t)?t:[t],e)},Zb=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);OS(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ii(s)){const p=t.get(s)||new Set;return t.set(s,p),OS(h=>{Os(h)&&p.add(h)},a),n.bind(0,s,a)}Vb(a)&&a&&n();const c=Bo(s),d=[];return _n(c,p=>{const h=s[p];h&&Mn(d,r(p,h))}),la.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(il(c),d=>{a&&!Gb(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},RS=e=>JSON.stringify(e,(t,n)=>{if(Os(n))throw new Error;return n}),NW={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},A6=(e,t)=>{const n={},r=Bo(t).concat(Bo(e));return _n(r,o=>{const s=e[o],a=t[o];if(ed(s)&&ed(a))pr(n[o]={},A6(s,a)),qb(n[o])&&delete n[o];else if(Em(t,o)&&a!==s){let c=!0;if(Rs(s)||Rs(a))try{RS(s)===RS(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},N6="os-environment",$6=`${N6}-flexbox-glue`,$W=`${$6}-max`,z6="os-scrollbar-hidden",$0="data-overlayscrollbars-initialize",ws="data-overlayscrollbars",L6=`${ws}-overflow-x`,B6=`${ws}-overflow-y`,cc="overflowVisible",zW="scrollbarHidden",MS="scrollbarPressed",th="updating",oi="data-overlayscrollbars-viewport",z0="arrange",F6="scrollbarHidden",uc=cc,e1="data-overlayscrollbars-padding",LW=uc,DS="data-overlayscrollbars-content",ey="os-size-observer",BW=`${ey}-appear`,FW=`${ey}-listener`,HW="os-trinsic-observer",WW="os-no-css-vars",VW="os-theme-none",Io="os-scrollbar",UW=`${Io}-rtl`,GW=`${Io}-horizontal`,qW=`${Io}-vertical`,H6=`${Io}-track`,ty=`${Io}-handle`,KW=`${Io}-visible`,YW=`${Io}-cornerless`,TS=`${Io}-transitionless`,AS=`${Io}-interaction`,NS=`${Io}-unusable`,$S=`${Io}-auto-hidden`,zS=`${Io}-wheel`,XW=`${H6}-interactive`,QW=`${ty}-interactive`,W6={},ll=()=>W6,JW=e=>{const t=[];return _n(Rs(e)?e:[e],n=>{const r=Bo(n);_n(r,o=>{Mn(t,W6[o]=n[o])})}),t},ZW="__osOptionsValidationPlugin",eV="__osSizeObserverPlugin",ny="__osScrollbarsHidingPlugin",tV="__osClickScrollPlugin";let L0;const LS=(e,t,n,r)=>{ts(e,t);const o=Pp(t),s=nd(t),a=eh(n);return r&&oa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},nV=e=>{let t=!1;const n=ka(e,z6);try{t=ro(e,PW("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},rV=(e,t)=>{const n="hidden";ro(e,{overflowX:n,overflowY:n,direction:"rtl"}),_s(e,0);const r=N0(e),o=N0(t);_s(e,-999);const s=N0(t);return{i:r.x===o.x,n:o.x!==s.x}},oV=(e,t)=>{const n=ka(e,$6),r=Zs(e),o=Zs(t),s=PS(o,r,!0),a=ka(e,$W),c=Zs(e),d=Zs(t),p=PS(d,c,!0);return n(),a(),s&&p},sV=()=>{const{body:e}=document,n=P6(`
`)[0],r=n.firstChild,[o,,s]=Zb(),[a,c]=xs({o:LS(e,n,r),u:R6},LS.bind(0,e,n,r,!0)),[d]=c(),p=nV(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:_=>p&&_===_.ownerDocument.body&&_,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=pr({},NW),b=pr.bind(0,{},v),w=pr.bind(0,{},m),y={k:d,A:h,I:p,L:ro(n,"zIndex")==="-1",B:rV(n,r),V:oV(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>pr(m,_)&&w(),F:b,G:_=>pr(v,_)&&b(),X:pr({},m),U:pr({},v)},S=window.addEventListener,k=Qb(_=>s(_?"z":"r"),{v:33,g:99});if(xo(n,"style"),oa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const I=ll()[ny];_=_||I&&I.R(),_&&_(y,a,k.bind(0,!0))})}return y},Eo=()=>(L0||(L0=sV()),L0),ry=(e,t)=>Os(t)?t.apply(0,e):t,aV=(e,t,n,r)=>{const o=Ha(r)?n:r;return ry(e,o)||t.apply(0,e)},V6=(e,t,n,r)=>{const o=Ha(r)?n:r,s=ry(e,o);return!!s&&(Xp(s)?s:t.apply(0,e))},iV=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Eo(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ha(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Pm(h)?!a:h);return!!m||!!v},oy=new WeakMap,lV=(e,t)=>{oy.set(e,t)},cV=e=>{oy.delete(e)},U6=e=>oy.get(e),BS=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Em(n,r)?n[r]:void 0,e):void 0,t1=(e,t,n)=>r=>[BS(e,r),n||BS(t,r)!==void 0],G6=e=>{let t=e;return[()=>t,n=>{t=pr({},t,n)}]},Gf="tabindex",qf=Ji.bind(0,""),B0=e=>{ts(Ta(e),Kb(e)),oa(e)},uV=e=>{const t=Eo(),{N:n,I:r}=t,o=ll()[ny],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=Xp(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,I=Qp(_,"textarea"),P=_.ownerDocument,E=P.documentElement,O=_===P.body,R=P.defaultView,M=aV.bind(0,[_]),T=V6.bind(0,[_]),A=ry.bind(0,[_]),$=M.bind(0,qf,p),Q=T.bind(0,qf,h),B=$(S),V=B===_,q=V&&O,G=!V&&Q(k),D=!V&&Xp(B)&&B===G,L=D&&!!A(h),W=L?$():B,Y=L?G:Q(),ye=q?E:D?W:B,ue=I?M(qf,c,w):_,X=q?ye:ue,K=D?Y:G,U=P.activeElement,se=!V&&R.top===R&&U===_,re={W:_,Z:X,J:ye,K:!V&&T(qf,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:ye,st:q?P:ye,et:R,ct:P,rt:I,it:O,lt:m,ut:V,dt:D,ft:(vt,bt)=>yW(ye,V?ws:oi,V?bt:vt),_t:(vt,bt,we)=>Qi(ye,V?ws:oi,V?bt:vt,we)},oe=Bo(re).reduce((vt,bt)=>{const we=re[bt];return Mn(vt,we&&!Ta(we)?we:!1)},[]),pe=vt=>vt?Ub(oe,vt)>-1:null,{W:le,Z:ge,K:_e,J:ie,tt:Se,nt:Fe}=re,Ae=[()=>{xo(ge,ws),xo(ge,$0),xo(le,$0),O&&(xo(E,ws),xo(E,$0))}],He=I&&pe(ge);let Ct=I?le:Kb([Se,ie,_e,ge,le].find(vt=>pe(vt)===!1));const ct=q?le:Se||ie;return[re,()=>{no(ge,ws,V?"viewport":"host"),no(_e,e1,""),no(Se,DS,""),V||no(ie,oi,"");const vt=O&&!V?ka(Ta(_),z6):es;if(He&&(kS(le,ge),Mn(Ae,()=>{kS(ge,le),oa(ge)})),ts(ct,Ct),ts(ge,_e),ts(_e||ge,!V&&ie),ts(ie,Se),Mn(Ae,()=>{vt(),xo(_e,e1),xo(Se,DS),xo(ie,L6),xo(ie,B6),xo(ie,oi),pe(Se)&&B0(Se),pe(ie)&&B0(ie),pe(_e)&&B0(_e)}),r&&!V&&(Qi(ie,oi,F6,!0),Mn(Ae,xo.bind(0,ie,oi))),Fe&&(SW(ie,Fe),Mn(Ae,oa.bind(0,Fe))),se){const bt=no(ie,Gf);no(ie,Gf,"-1"),ie.focus();const we=()=>bt?no(ie,Gf,bt):xo(ie,Gf),Re=Dr(P,"pointerdown keydown",()=>{we(),Re()});Mn(Ae,[we,Re])}else U&&U.focus&&U.focus();Ct=0},la.bind(0,Ae)]},dV=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Eo(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&ro(n,{height:a?"":"100%"}),{gt:d,wt:d}}},fV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=xs({u:EW,o:IS()},IS.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Eo(),{bt:k}=n(),{gt:_,wt:I,yt:P}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&I)&&([b,w]=d(v));const M=!c&&(O||P||w);if(M){const T=!E||!s&&!y,A=b.r+b.l,$=b.t+b.b,Q={marginRight:T&&!k?-A:0,marginBottom:T?-$:0,marginLeft:T&&k?-A:0,top:T?-b.t:0,right:T?k?-b.r:"auto":0,left:T?k?"auto":-b.l:0,width:T?`calc(100% + ${A}px)`:""},B={paddingTop:T?b.t:0,paddingRight:T?b.r:0,paddingBottom:T?b.b:0,paddingLeft:T?b.l:0};ro(s||a,Q),ro(a,B),r({K:b,St:!T,P:s?B:pr({},Q,B)})}return{xt:M}}},{max:n1}=Math,si=n1.bind(0,0),q6="visible",FS="hidden",pV=42,Kf={u:O6,o:{w:0,h:0}},hV={u:R6,o:{x:FS,y:FS}},mV=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:si(e.w-t.w),h:si(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},Yf=e=>e.indexOf(q6)===0,gV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Eo(),S=ll()[ny],k=!d&&!w&&(y.x||y.y),_=h&&d,[I,P]=xs(Kf,eh.bind(0,a)),[E,O]=xs(Kf,Zp.bind(0,a)),[R,M]=xs(Kf),[T,A]=xs(Kf),[$]=xs(hV),Q=(L,W)=>{if(ro(a,{height:""}),W){const{St:Y,K:ae}=n(),{$t:ye,D:ue}=L,X=eh(o),K=Pp(o),U=ro(a,"boxSizing")==="content-box",se=Y||U?ae.b+ae.t:0,re=!(y.x&&U);ro(a,{height:K.h+X.h+(ye.x&&re?ue.x:0)-se})}},B=(L,W)=>{const Y=!w&&!L?pV:0,ae=(pe,le,ge)=>{const _e=ro(a,pe),Se=(W?W[pe]:_e)==="scroll";return[_e,Se,Se&&!w?le?Y:ge:0,le&&!!Y]},[ye,ue,X,K]=ae("overflowX",y.x,v.x),[U,se,re,oe]=ae("overflowY",y.y,v.y);return{Ct:{x:ye,y:U},$t:{x:ue,y:se},D:{x:X,y:re},M:{x:K,y:oe}}},V=(L,W,Y,ae)=>{const ye=(se,re)=>{const oe=Yf(se),pe=re&&oe&&se.replace(`${q6}-`,"")||"";return[re&&!oe?se:"",Yf(pe)?"hidden":pe]},[ue,X]=ye(Y.x,W.x),[K,U]=ye(Y.y,W.y);return ae.overflowX=X&&K?X:ue,ae.overflowY=U&&ue?U:K,B(L,ae)},q=(L,W,Y,ae)=>{const{D:ye,M:ue}=L,{x:X,y:K}=ue,{x:U,y:se}=ye,{P:re}=n(),oe=W?"marginLeft":"marginRight",pe=W?"paddingLeft":"paddingRight",le=re[oe],ge=re.marginBottom,_e=re[pe],ie=re.paddingBottom;ae.width=`calc(100% + ${se+-1*le}px)`,ae[oe]=-se+le,ae.marginBottom=-U+ge,Y&&(ae[pe]=_e+(K?se:0),ae.paddingBottom=ie+(X?U:0))},[G,D]=S?S.H(k,b,a,c,n,B,q):[()=>k,()=>[es]];return(L,W,Y)=>{const{gt:ae,Ot:ye,wt:ue,xt:X,vt:K,yt:U}=L,{ht:se,bt:re}=n(),[oe,pe]=W("showNativeOverlaidScrollbars"),[le,ge]=W("overflow"),_e=oe&&y.x&&y.y,ie=!d&&!b&&(ae||ue||ye||pe||K),Se=Yf(le.x),Fe=Yf(le.y),Ae=Se||Fe;let He=P(Y),Ct=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(F6,zW,!_e),ie&&(vt=B(_e),Q(vt,se)),ae||X||ue||U||pe){Ae&&p(uc,cc,!1);const[Pe,Je]=D(_e,re,vt),[Xe,dt]=He=I(Y),[Lt,lr]=Ct=E(Y),pn=Pp(a);let ln=Lt,Fr=pn;Pe(),(lr||dt||pe)&&Je&&!_e&&G(Je,Lt,Xe,re)&&(Fr=Pp(a),ln=Zp(a));const br={w:si(n1(Lt.w,ln.w)+Xe.w),h:si(n1(Lt.h,ln.h)+Xe.h)},Fn={w:si((_?m.innerWidth:Fr.w+si(pn.w-Lt.w))+Xe.w),h:si((_?m.innerHeight+Xe.h:Fr.h+si(pn.h-Lt.h))+Xe.h)};on=T(Fn),ct=R(mV(br,Fn),Y)}const[bt,we]=on,[Re,Pt]=ct,[At,xe]=Ct,[ht,$t]=He,zt={x:Re.w>0,y:Re.h>0},Ne=Se&&Fe&&(zt.x||zt.y)||Se&&zt.x&&!zt.y||Fe&&zt.y&&!zt.x;if(X||U||$t||xe||we||Pt||ge||pe||ie){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Je=V(_e,zt,le,Pe),Xe=G(Je,At,ht,re);d||q(Je,re,Xe,Pe),ie&&Q(Je,se),d?(no(o,L6,Pe.overflowX),no(o,B6,Pe.overflowY)):ro(a,Pe)}Qi(o,ws,cc,Ne),Qi(s,e1,LW,Ne),d||Qi(a,oi,uc,Ae);const[qe,Pn]=$(B(_e).Ct);return r({Ct:qe,zt:{x:bt.w,y:bt.h},Tt:{x:Re.w,y:Re.h},Et:zt}),{It:Pn,At:we,Lt:Pt}}},HS=(e,t,n)=>{const r={},o=t||{},s=Bo(e).concat(Bo(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},vV=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Eo(),p=!a&&(c.x||c.y),h=[dV(e,t),fV(e,t),gV(e,t)];return(m,v,b)=>{const w=HS(pr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&_s(r),k=y&&Ca(r);o("",th,!0);let _=w;return _n(h,I=>{_=HS(_,I(_,m,!!b)||{},b)}),_s(r,S),Ca(r,k),o("",th),s||(_s(n,0),Ca(n,0)),_}},bV=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):_6(m,e));b&&b.length&&v&&Ii(v)&&Mn(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Dr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,Mn(v,w))}else la(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},WS=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Qb(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=bV(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(I,P)=>{const E=p||es,O=h||es,R=new Set,M=new Set;let T=!1,A=!1;if(_n(I,$=>{const{attributeName:Q,target:B,type:V,oldValue:q,addedNodes:G,removedNodes:D}=$,L=V==="attributes",W=V==="childList",Y=e===B,ae=L&&Ii(Q)?no(B,Q):0,ye=ae!==0&&q!==ae,ue=Ub(y,Q)>-1&&ye;if(t&&(W||!Y)){const X=!L,K=L&&ye,U=K&&d&&Qp(B,d),re=(U?!E(B,Q,q,ae):X||K)&&!O($,!!U,e,r);_n(G,oe=>R.add(oe)),_n(D,oe=>R.add(oe)),A=A||re}!t&&Y&&ye&&!E(B,Q,q,ae)&&(M.add(Q),T=T||ue)}),R.size>0&&b($=>il(R).reduce((Q,B)=>(Mn(Q,_6($,B)),Qp(B,$)?Mn(Q,B):Q),[])),t)return!P&&A&&n(!1),[!1];if(M.size>0||T){const $=[il(M),T];return!P&&n.apply(0,$),$}},_=new jW(I=>k(I));return _.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),_.disconnect(),o=!1)},()=>{if(o){m.m();const I=_.takeRecords();return!Gb(I)&&k(I,!0)}}]},Xf=3333333,Qf=e=>e&&(e.height||e.width),K6=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=ll()[eV],{B:a}=Eo(),d=P6(`
`)[0],p=d.firstChild,h=td.bind(0,e),[m]=xs({o:void 0,_:!0,u:(y,S)=>!(!y||!Qf(y)&&Qf(S))}),v=y=>{const S=Rs(y)&&y.length>0&&ed(y[0]),k=!S&&Vb(y[0]);let _=!1,I=!1,P=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=Qf(E),M=Qf(O);_=!O||!R,I=!M&&R,P=!_}else k?[,P]=y:I=y===!0;if(r&&P){const E=k?y[0]:td(d);_s(d,E?a.n?-Xf:a.i?0:Xf:Xf),Ca(d,Xf)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!I})},b=[];let w=o?v:!1;return[()=>{la(b),oa(d)},()=>{if(Xl){const y=new Xl(v);y.observe(p),Mn(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,Mn(b,S)}if(r){const[y]=xs({o:void 0},h);Mn(b,Dr(d,"scroll",S=>{const k=y(),[_,I,P]=k;I&&(Xb(p,"ltr rtl"),_?ka(p,"rtl"):ka(p,"ltr"),v([!!_,I,P])),D6(S)}))}w&&(ka(d,BW),Mn(b,Dr(d,"animationstart",w,{C:!!Xl}))),(Xl||s)&&ts(e,d)}]},yV=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,xV=(e,t)=>{let n;const r=Ji(HW),o=[],[s]=xs({o:!1}),a=(d,p)=>{if(d){const h=s(yV(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{la(o),oa(r)},()=>{if(_S)n=new _S(d=>c(d),{root:e}),n.observe(r),Mn(o,()=>{n.disconnect()});else{const d=()=>{const m=nd(r);a(m)},[p,h]=K6(r,d);Mn(o,p),h(),d()}ts(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},VS=`[${ws}]`,wV=`[${oi}]`,F0=["tabindex"],US=["wrap","cols","rows"],H0=["id","class","style","open"],SV=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Eo(),[w]=xs({u:O6,o:{w:0,h:0}},()=>{const V=m(uc,cc),q=m(z0,""),G=q&&_s(c),D=q&&Ca(c);v(uc,cc),v(z0,""),v("",th,!0);const L=Zp(d),W=Zp(c),Y=eh(c);return v(uc,cc,V),v(z0,"",q),v("",th),_s(c,G),Ca(c,D),{w:W.w+L.w+Y.w,h:W.h+L.h+Y.h}}),y=p?US:H0.concat(US),S=Qb(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[D]=q;return[Bo(G).concat(Bo(D)).reduce((L,W)=>(L[W]=G[W]||D[W],L),{})]}}),k=V=>{_n(V||F0,q=>{if(Ub(F0,q)>-1){const G=no(a,q);Ii(G)?no(c,q,G):xo(c,q)}})},_=(V,q)=>{const[G,D]=V,L={vt:D};return t({ht:G}),!q&&n(L),L},I=({gt:V,Yt:q,Vt:G})=>{const D=!V||G?n:S;let L=!1;if(q){const[W,Y]=q;L=Y,t({bt:W})}D({gt:V,yt:L})},P=(V,q)=>{const[,G]=w(),D={wt:G};return G&&!q&&(V?n:S)(D),D},E=(V,q,G)=>{const D={Ot:q};return q?!G&&S(D):h||k(V),D},[O,R,M]=d||!b?xV(a,_):[es,es,es],[T,A]=h?[es,es]:K6(a,I,{Vt:!0,Bt:!0}),[$,Q]=WS(a,!1,E,{Pt:H0,Ht:H0.concat(F0)}),B=h&&Xl&&new Xl(I.bind(0,{gt:!0}));return B&&B.observe(a),k(),[()=>{O(),T(),s&&s[0](),B&&B.disconnect(),$()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),D=s&&s[1]();return q&&pr(V,E.apply(0,Mn(q,!0))),G&&pr(V,_.apply(0,Mn(G,!0))),D&&pr(V,P.apply(0,Mn(D,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,D]=V("update.attributes"),[L,W]=V("update.elementEvents"),[Y,ae]=V("update.debounce"),ye=W||D,ue=X=>Os(q)&&q(X);if(ye&&(s&&(s[1](),s[0]()),s=WS(d||c,!0,P,{Ht:y.concat(G||[]),Dt:L,Mt:VS,kt:(X,K)=>{const{target:U,attributeName:se}=X;return(!K&&se&&!h?wW(U,VS,wV):!1)||!!Yl(U,`.${Io}`)||!!ue(X)}})),ae)if(S.m(),Rs(Y)){const X=Y[0],K=Y[1];r=pi(X)&&X,o=pi(K)&&K}else pi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},GS={x:0,y:0},CV=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:GS,Tt:GS,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:td(e.Z)}),kV=(e,t)=>{const n=t1(t,{}),[r,o,s]=Zb(),[a,c,d]=uV(e),p=G6(CV(a)),[h,m]=p,v=vV(a,p),b=(I,P,E)=>{const R=Bo(I).some(M=>I[M])||!qb(P)||E;return R&&s("u",[I,P,E]),R},[w,y,S,k]=SV(a,m,I=>b(v(n,I),{},!1)),_=h.bind(0);return _.jt=I=>r("u",I),_.Nt=()=>{const{W:I,J:P}=a,E=_s(I),O=Ca(I);y(),c(),_s(P,E),Ca(P,O)},_.qt=a,[(I,P)=>{const E=t1(t,I,P);return k(E),b(v(E,S(),P),I,!!P)},_,()=>{o(),w(),d()}]},{round:qS}=Math,_V=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=nd(e);return{x:qS(t)/r||1,y:qS(n)/o||1}},PV=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},jV=(e,t)=>Dr(e,"mousedown",Dr.bind(0,t,"click",D6,{C:!0,$:!0}),{$:!0}),KS="pointerup pointerleave pointercancel lostpointercapture",IV=(e,t,n,r,o,s,a)=>{const{B:c}=Eo(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",k=(_,I)=>P=>{const{Tt:E}=s(),O=nd(p)[y]-nd(d)[y],M=I*P/O*E[S],A=td(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Dr(p,"pointerdown",_=>{const I=Yl(_.target,`.${ty}`)===d,P=I?d:p;if(Qi(t,ws,MS,!0),PV(_,e,I)){const E=!I&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=(W,Y)=>(W||O())[w]-(Y||R())[w],T=k(o[m]||0,1/_V(o)[S]),A=_[v],$=O(),Q=R(),B=$[b],V=M($,Q)+B/2,q=A-Q[w],G=I?0:q-V,D=W=>{la(L),P.releasePointerCapture(W.pointerId)},L=[Qi.bind(0,t,ws,MS),Dr(n,KS,D),Dr(n,"selectstart",W=>T6(W),{S:!1}),Dr(p,KS,D),Dr(p,"pointermove",W=>{const Y=W[v]-A;(I||E)&&T(G+Y)})];if(E)T(G);else if(!I){const W=ll()[tV];W&&Mn(L,W.O(T,M,G,B,q))}P.setPointerCapture(_.pointerId)}})},EV=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Ul(333),m=!!a.scrollBy;let v=!0;return la.bind(0,[Dr(d,"pointerenter",()=>{r(AS,!0)}),Dr(d,"pointerleave pointercancel",()=>{r(AS)}),Dr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&Ta(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(zS,!0),p(()=>{v=!0,r(zS)}),T6(b)},{S:!1,$:!0}),jV(d,o),IV(e,s,o,n,a,t,c),h])},{min:r1,max:YS,abs:OV,round:RV}=Math,Y6=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return YS(0,r1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return YS(0,r1(1,s/a))},MV=(e,t,n,r,o,s)=>{const{B:a}=Eo(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=RV(p[c]),m=OV(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=r1(1,(v?b:m)/h),S=Y6(e,t,s);return 1/S*(1-S)*y},DV=(e,t,n)=>{const{N:r,L:o}=Eo(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},k=V6([d,p,h],()=>w&&b?d:p,a,S),_=(G,D,L)=>{const W=L?ka:Xb;_n(G,Y=>{W(Y.Xt,D)})},I=(G,D)=>{_n(G,L=>{const[W,Y]=D(L);ro(W,Y)})},P=(G,D,L)=>{I(G,W=>{const{Ft:Y,Gt:ae}=W;return[Y,{[L?"width":"height"]:`${(100*Y6(Y,ae,L,D)).toFixed(3)}%`}]})},E=(G,D,L)=>{const W=L?"X":"Y";I(G,Y=>{const{Ft:ae,Gt:ye,Xt:ue}=Y,X=MV(ae,ye,v,D,td(ue),L);return[ae,{transform:X===X?`translate${W}(${(100*X).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],T=(G,D,L)=>{const W=Vb(L),Y=W?L:!0,ae=W?!L:!0;Y&&_(R,G,D),ae&&_(M,G,D)},A=G=>{P(R,G,!0),P(M,G)},$=G=>{E(R,G,!0),E(M,G)},Q=G=>{const D=G?GW:qW,L=G?R:M,W=Gb(L)?TS:"",Y=Ji(`${Io} ${D} ${W}`),ae=Ji(H6),ye=Ji(ty),ue={Xt:Y,Gt:ae,Ft:ye};return o||ka(Y,WW),ts(Y,ae),ts(ae,ye),Mn(L,ue),Mn(O,[oa.bind(0,Y),n(ue,T,c,p,v,G)]),ue},B=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ts(k,R[0].Xt),ts(k,M[0].Xt),Jp(()=>{T(TS)},300)};return B(),V(),[{Ut:A,Wt:$,Zt:T,Jt:{Kt:R,Qt:B,tn:I.bind(0,R)},nn:{Kt:M,Qt:V,tn:I.bind(0,M)}},q,la.bind(0,O)]},TV=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=G6({}),[m]=h,[v,b]=Ul(),[w,y]=Ul(),[S,k]=Ul(100),[_,I]=Ul(100),[P,E]=Ul(()=>p),[O,R,M]=DV(e,n.qt,EV(t,n)),{Z:T,J:A,ot:$,st:Q,ut:B,it:V}=n.qt,{Jt:q,nn:G,Zt:D,Ut:L,Wt:W}=O,{tn:Y}=q,{tn:ae}=G,ye=se=>{const{Xt:re}=se,oe=B&&!V&&Ta(re)===A&&re;return[oe,{transform:oe?`translate(${_s($)}px, ${Ca($)}px)`:""}]},ue=(se,re)=>{if(E(),se)D($S);else{const oe=()=>D($S,!0);p>0&&!re?P(oe):oe()}},X=()=>{c=s,c&&ue(!0)},K=[k,E,I,y,b,M,Dr(T,"pointerover",X,{C:!0}),Dr(T,"pointerenter",X),Dr(T,"pointerleave",()=>{c=!1,s&&ue(!1)}),Dr(T,"pointermove",()=>{o&&v(()=>{k(),ue(!0),_(()=>{o&&ue(!1)})})}),Dr(Q,"scroll",se=>{w(()=>{W(n()),a&&ue(!0),S(()=>{a&&!c&&ue(!1)})}),r(se),B&&Y(ye),B&&ae(ye)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(se,re,oe)=>{const{At:pe,Lt:le,It:ge,yt:_e}=oe,{A:ie}=Eo(),Se=t1(t,se,re),Fe=n(),{Tt:Ae,Ct:He,bt:Ct}=Fe,[ct,on]=Se("showNativeOverlaidScrollbars"),[vt,bt]=Se("scrollbars.theme"),[we,Re]=Se("scrollbars.visibility"),[Pt,At]=Se("scrollbars.autoHide"),[xe]=Se("scrollbars.autoHideDelay"),[ht,$t]=Se("scrollbars.dragScroll"),[zt,Ne]=Se("scrollbars.clickScroll"),qe=pe||le||_e,Pn=ge||Re,Pe=ct&&ie.x&&ie.y,Je=(Xe,dt)=>{const Lt=we==="visible"||we==="auto"&&Xe==="scroll";return D(KW,Lt,dt),Lt};if(p=xe,on&&D(VW,Pe),bt&&(D(d),D(vt,!0),d=vt),At&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",ue(!a,!0)),$t&&D(QW,ht),Ne&&D(XW,zt),Pn){const Xe=Je(He.x,!0),dt=Je(He.y,!1);D(YW,!(Xe&&dt))}qe&&(L(Fe),W(Fe),D(NS,!Ae.x,!0),D(NS,!Ae.y,!1),D(UW,Ct&&!V))},U,la.bind(0,K)]},X6=(e,t,n)=>{Os(e)&&e(t||void 0,n||void 0)},ci=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Eo(),c=ll(),d=Xp(e),p=d?e:e.target,h=U6(p);if(t&&!h){let m=!1;const v=B=>{const V=ll()[ZW],q=V&&V.O;return q?q(B,!0):B},b=pr({},r(),v(t)),[w,y,S]=Zb(n),[k,_,I]=kV(e,b),[P,E,O]=TV(e,b,_,B=>S("scroll",[Q,B])),R=(B,V)=>k(B,!!V),M=R.bind(0,{},!0),T=s(M),A=a(M),$=B=>{cV(p),T(),A(),O(),I(),m=!0,S("destroyed",[Q,!!B]),y()},Q={options(B,V){if(B){const q=V?r():{},G=A6(b,pr(q,v(B)));qb(G)||(pr(b,G),R(G))}return pr({},b)},on:w,off:(B,V)=>{B&&V&&y(B,V)},state(){const{zt:B,Tt:V,Ct:q,Et:G,K:D,St:L,bt:W}=_();return pr({},{overflowEdge:B,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:D,paddingAbsolute:L,directionRTL:W,destroyed:m})},elements(){const{W:B,Z:V,K:q,J:G,tt:D,ot:L,st:W}=_.qt,{Jt:Y,nn:ae}=E.qt,ye=X=>{const{Ft:K,Gt:U,Xt:se}=X;return{scrollbar:se,track:U,handle:K}},ue=X=>{const{Kt:K,Qt:U}=X,se=ye(K[0]);return pr({},se,{clone:()=>{const re=ye(U());return P({},!0,{}),re}})};return pr({},{target:B,host:V,padding:q||G,viewport:G,content:D||G,scrollOffsetElement:L,scrollEventElement:W,scrollbarHorizontal:ue(Y),scrollbarVertical:ue(ae)})},update:B=>R({},B),destroy:$.bind(0)};return _.jt((B,V,q)=>{P(V,q,B)}),lV(p,Q),_n(Bo(c),B=>X6(c[B],0,Q)),iV(_.qt.it,o().cancel,!d&&e.cancel)?($(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((B,V,q)=>{const{gt:G,yt:D,vt:L,At:W,Lt:Y,It:ae,wt:ye,Ot:ue}=B;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:D,heightIntrinsicChanged:L,overflowEdgeChanged:W,overflowAmountChanged:Y,overflowStyleChanged:ae,contentMutation:ye,hostMutation:ue},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};ci.plugin=e=>{_n(JW(e),t=>X6(t,ci))};ci.valid=e=>{const t=e&&e.elements,n=Os(t)&&t();return Xv(n)&&!!U6(n.target)};ci.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Eo();return pr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const AV=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},sy=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(AV,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,ci.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,ci.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(ci.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=ci(h,b,w);v?o(y,v):y()},()=>a.current],[])},NV=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=sy({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),F.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},F.createElement("div",{ref:h},a))},Q6=f.forwardRef(NV);var J6={exports:{}},Z6={};const No=T1(IR),pu=T1(ER),$V=T1(OR);(function(e){var t,n,r=Rl&&Rl.__generator||function(J,ee){var he,ke,me,ut,st={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ft(0),throw:Ft(1),return:Ft(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ft(ft){return function(xt){return function(Be){if(he)throw new TypeError("Generator is already executing.");for(;st;)try{if(he=1,ke&&(me=2&Be[0]?ke.return:Be[0]?ke.throw||((me=ke.return)&&me.call(ke),0):ke.next)&&!(me=me.call(ke,Be[1])).done)return me;switch(ke=0,me&&(Be=[2&Be[0],me.value]),Be[0]){case 0:case 1:me=Be;break;case 4:return st.label++,{value:Be[1],done:!1};case 5:st.label++,ke=Be[1],Be=[0];continue;case 7:Be=st.ops.pop(),st.trys.pop();continue;default:if(!((me=(me=st.trys).length>0&&me[me.length-1])||Be[0]!==6&&Be[0]!==2)){st=0;continue}if(Be[0]===3&&(!me||Be[1]>me[0]&&Be[1]=200&&J.status<=299},Q=function(J){return/ion\/(vnd\.api\+)?json/.test(J.get("content-type")||"")};function B(J){if(!(0,T.isPlainObject)(J))return J;for(var ee=S({},J),he=0,ke=Object.entries(ee);he"u"&&st===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(Jt,Vt){return E(ee,null,function(){var $e,yt,Mt,Ht,jn,Ut,un,sn,Ir,Qn,It,In,On,Jn,hr,Tn,An,dn,Sn,En,vn,bn,Ke,Ot,St,at,wt,Bt,mt,ot,Ee,je,Me,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return $e=Vt.signal,yt=Vt.getState,Mt=Vt.extra,Ht=Vt.endpoint,jn=Vt.forced,Ut=Vt.type,Ir=(sn=typeof Jt=="string"?{url:Jt}:Jt).url,It=(Qn=sn.headers)===void 0?new Headers(Gt.headers):Qn,On=(In=sn.params)===void 0?void 0:In,hr=(Jn=sn.responseHandler)===void 0?Et??"json":Jn,An=(Tn=sn.validateStatus)===void 0?Nt??$:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=I(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),vn=S(k(S({},Gt),{signal:$e}),En),It=new Headers(B(It)),bn=vn,[4,me(It,{getState:yt,extra:Mt,endpoint:Ht,forced:jn,type:Ut})];case 1:bn.headers=Rt.sent()||It,Ke=function(Ve){return typeof Ve=="object"&&((0,T.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!vn.headers.has("content-type")&&Ke(vn.body)&&vn.headers.set("content-type",Ce),Ke(vn.body)&&xt(vn.headers)&&(vn.body=JSON.stringify(vn.body,Qe)),On&&(Ot=~Ir.indexOf("?")?"&":"?",St=Ft?Ft(On):new URLSearchParams(B(On)),Ir+=Ot+St),Ir=function(Ve,en){if(!Ve)return en;if(!en)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(en))return en;var yn=Ve.endsWith("/")||!en.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+yn+function(hn){return hn.replace(/^\//,"")}(en)}(he,Ir),at=new Request(Ir,vn),wt=at.clone(),un={request:wt},mt=!1,ot=Sn&&setTimeout(function(){mt=!0,Vt.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,st(at)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Ee=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:un}];case 5:return ot&&clearTimeout(ot),[7];case 6:je=Bt.clone(),un.response=je,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([Zt(Bt,hr).then(function(Ve){return Me=Ve},function(Ve){return Ze=Ve}),je.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),Ze)throw Ze;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,An(Bt,Me)?{data:Me,meta:un}:{error:{status:Bt.status,data:Me},meta:un}]}})})};function Zt(Jt,Vt){return E(this,null,function(){var $e;return r(this,function(yt){switch(yt.label){case 0:return typeof Vt=="function"?[2,Vt(Jt)]:(Vt==="content-type"&&(Vt=xt(Jt.headers)?"json":"text"),Vt!=="json"?[3,2]:[4,Jt.text()]);case 1:return[2,($e=yt.sent()).length?JSON.parse($e):null];case 2:return[2,Jt.text()]}})})}}var q=function(J,ee){ee===void 0&&(ee=void 0),this.value=J,this.meta=ee};function G(J,ee){return J===void 0&&(J=0),ee===void 0&&(ee=5),E(this,null,function(){var he,ke;return r(this,function(me){switch(me.label){case 0:return he=Math.min(J,ee),ke=~~((Math.random()+.4)*(300<=je)}var En=(0,He.createAsyncThunk)(On+"/executeQuery",dn,{getPendingMeta:function(){var Ke;return(Ke={startedTimeStamp:Date.now()})[He.SHOULD_AUTOBATCH]=!0,Ke},condition:function(Ke,Ot){var St,at,wt,Bt=(0,Ot.getState)(),mt=(at=(St=Bt[On])==null?void 0:St.queries)==null?void 0:at[Ke.queryCacheKey],ot=mt==null?void 0:mt.fulfilledTimeStamp,Ee=Ke.originalArgs,je=mt==null?void 0:mt.originalArgs,Me=hr[Ke.endpointName];return!(!Se(Ke)&&((mt==null?void 0:mt.status)==="pending"||!Sn(Ke,Bt)&&(!oe(Me)||!((wt=Me==null?void 0:Me.forceRefetch)!=null&&wt.call(Me,{currentArg:Ee,previousArg:je,endpointState:mt,state:Bt})))&&ot))},dispatchConditionRejection:!0}),vn=(0,He.createAsyncThunk)(On+"/executeMutation",dn,{getPendingMeta:function(){var Ke;return(Ke={startedTimeStamp:Date.now()})[He.SHOULD_AUTOBATCH]=!0,Ke}});function bn(Ke){return function(Ot){var St,at;return((at=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:at.endpointName)===Ke}}return{queryThunk:En,mutationThunk:vn,prefetch:function(Ke,Ot,St){return function(at,wt){var Bt=function(Me){return"force"in Me}(St)&&St.force,mt=function(Me){return"ifOlderThan"in Me}(St)&&St.ifOlderThan,ot=function(Me){return Me===void 0&&(Me=!0),An.endpoints[Ke].initiate(Ot,{forceRefetch:Me})},Ee=An.endpoints[Ke].select(Ot)(wt());if(Bt)at(ot());else if(mt){var je=Ee==null?void 0:Ee.fulfilledTimeStamp;if(!je)return void at(ot());(Number(new Date)-Number(new Date(je)))/1e3>=mt&&at(ot())}else at(ot(!1))}},updateQueryData:function(Ke,Ot,St){return function(at,wt){var Bt,mt,ot=An.endpoints[Ke].select(Ot)(wt()),Ee={patches:[],inversePatches:[],undo:function(){return at(An.util.patchQueryData(Ke,Ot,Ee.inversePatches))}};if(ot.status===t.uninitialized)return Ee;if("data"in ot)if((0,Ae.isDraftable)(ot.data)){var je=(0,Ae.produceWithPatches)(ot.data,St),Me=je[2];(Bt=Ee.patches).push.apply(Bt,je[1]),(mt=Ee.inversePatches).push.apply(mt,Me)}else{var We=St(ot.data);Ee.patches.push({op:"replace",path:[],value:We}),Ee.inversePatches.push({op:"replace",path:[],value:ot.data})}return at(An.util.patchQueryData(Ke,Ot,Ee.patches)),Ee}},upsertQueryData:function(Ke,Ot,St){return function(at){var wt;return at(An.endpoints[Ke].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[ie]=function(){return{data:St}},wt)))}},patchQueryData:function(Ke,Ot,St){return function(at){at(An.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:hr[Ke],endpointName:Ke}),patches:St}))}},buildMatchThunkActions:function(Ke,Ot){return{matchPending:(0,Fe.isAllOf)((0,Fe.isPending)(Ke),bn(Ot)),matchFulfilled:(0,Fe.isAllOf)((0,Fe.isFulfilled)(Ke),bn(Ot)),matchRejected:(0,Fe.isAllOf)((0,Fe.isRejected)(Ke),bn(Ot))}}}}({baseQuery:ke,reducerPath:me,context:he,api:J,serializeQueryArgs:ut}),Qe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,Gt=Ce.upsertQueryData,Zt=Ce.prefetch,Jt=Ce.buildMatchThunkActions,Vt=function(It){var In=It.reducerPath,On=It.queryThunk,Jn=It.mutationThunk,hr=It.context,Tn=hr.endpointDefinitions,An=hr.apiUid,dn=hr.extractRehydrationInfo,Sn=hr.hasRehydrationInfo,En=It.assertTagType,vn=It.config,bn=(0,ge.createAction)(In+"/resetApiState"),Ke=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(ot,Ee){delete ot[Ee.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(ot,Ee){var je=Ee.payload,Me=je.patches;bt(ot,je.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,Me.concat())})}},extraReducers:function(ot){ot.addCase(On.pending,function(Ee,je){var Me,We=je.meta,Ze=je.meta.arg,Dt=Se(Ze);(Ze.subscribe||Dt)&&(Ee[Me=Ze.queryCacheKey]!=null||(Ee[Me]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Ee,Ze.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,Ze.originalArgs!==void 0&&(Rt.originalArgs=Ze.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(On.fulfilled,function(Ee,je){var Me=je.meta,We=je.payload;bt(Ee,Me.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===Me.requestId||Se(Me.arg)){var Rt=Tn[Me.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=Me.fulfilledTimeStamp,en=Me.arg,yn=Me.baseQueryMeta,hn=Me.requestId,mr=(0,ge.createNextState)(Ze.data,function(Yn){return Rt(Yn,We,{arg:en.originalArgs,baseQueryMeta:yn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=mr}else Ze.data=We;else Ze.data=(Dt=Tn[Me.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(Ze.data)?(0,vt.original)(Ze.data):Ze.data,We):We;delete Ze.error,Ze.fulfilledTimeStamp=Me.fulfilledTimeStamp}})}).addCase(On.rejected,function(Ee,je){var Me=je.meta,We=Me.condition,Ze=Me.requestId,Dt=je.error,Rt=je.payload;bt(Ee,Me.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Ee,je){for(var Me=dn(je).queries,We=0,Ze=Object.entries(Me);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},vn),reducers:{middlewareRegistered:function(ot,Ee){ot.middlewareRegistered=ot.middlewareRegistered!=="conflict"&&An===Ee.payload||"conflict"}},extraReducers:function(ot){ot.addCase(ye,function(Ee){Ee.online=!0}).addCase(ue,function(Ee){Ee.online=!1}).addCase(Y,function(Ee){Ee.focused=!0}).addCase(ae,function(Ee){Ee.focused=!1}).addMatcher(Sn,function(Ee){return S({},Ee)})}}),mt=(0,ge.combineReducers)({queries:Ke.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(ot,Ee){return mt(bn.match(Ee)?void 0:ot,Ee)},actions:k(S(S(S(S(S({},Bt.actions),Ke.actions),at.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:bn})}}({context:he,queryThunk:Qe,mutationThunk:jt,reducerPath:me,assertTagType:Be,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ft,keepUnusedDataFor:st,reducerPath:me}}),$e=Vt.reducer,yt=Vt.actions;Nr(J.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:Gt,prefetch:Zt,resetApiState:yt.resetApiState}),Nr(J.internalActions,yt);var Mt=function(It){var In=It.reducerPath,On=It.queryThunk,Jn=It.api,hr=It.context,Tn=hr.apiUid,An={invalidateTags:(0,lr.createAction)(In+"/invalidateTags")},dn=[Hr,pn,Fr,br,Wn,Ro];return{middleware:function(En){var vn=!1,bn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),Ke=dn.map(function(at){return at(bn)}),Ot=function(at){var wt=at.api,Bt=at.queryThunk,mt=at.internalState,ot=wt.reducerPath+"/subscriptions",Ee=null,je=!1,Me=wt.internalActions,We=Me.updateSubscriptionOptions,Ze=Me.unsubscribeQueryResult;return function(Dt,Rt){var Ve,en;if(Ee||(Ee=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Ee=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var yn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[yn.queryCacheKey])!=null&&Ve[yn.requestId])]}var hn=function(gn,Vn){var ao,fn,Nn,Vr,Er,Va,Vd,Mo,da;if(We.match(Vn)){var Ls=Vn.payload,fa=Ls.queryCacheKey,io=Ls.requestId;return(ao=gn==null?void 0:gn[fa])!=null&&ao[io]&&(gn[fa][io]=Ls.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[fa=lo.queryCacheKey]&&delete gn[fa][io],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var co=Vn.meta;if(io=co.requestId,(Qr=co.arg).subscribe)return(Ho=(Nn=gn[fn=Qr.queryCacheKey])!=null?Nn:gn[fn]={})[io]=(Er=(Vr=Qr.subscriptionOptions)!=null?Vr:Ho[io])!=null?Er:{},!0}if(Bt.rejected.match(Vn)){var Ho,Do=Vn.meta,Qr=Do.arg;if(io=Do.requestId,Do.condition&&Qr.subscribe)return(Ho=(Vd=gn[Va=Qr.queryCacheKey])!=null?Vd:gn[Va]={})[io]=(da=(Mo=Qr.subscriptionOptions)!=null?Mo:Ho[io])!=null?da:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){je||(fs(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Wr.produceWithPatches)(Ee,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Ee=gn,je=!1}),je=!0);var mr=!!((en=Dt.type)!=null&&en.startsWith(ot)),Yn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!mr&&!Yn,!1]}return[!0,!1]}}(bn),St=function(at){var wt=at.reducerPath,Bt=at.context,mt=at.refetchQuery,ot=at.internalState,Ee=at.api.internalActions.removeQueryResult;function je(Me,We){var Ze=Me.getState()[wt],Dt=Ze.queries,Rt=ot.currentSubscriptions;Bt.batch(function(){for(var Ve=0,en=Object.keys(Rt);Ve{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!xu(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(tt,{children:n}),i.jsxs(vb,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(xa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(xa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(xa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(xa,{children:"Node Editor"})]}),i.jsx(tt,{children:r})]})},ej=f.memo(zV),LV=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=be(),o=z(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=RR((t==null?void 0:t.board_id)??oo.skipToken),c=f.useMemo(()=>fe([Ye],_=>{const I=(s??[]).map(E=>MR(_,E));return{imageUsageSummary:{isInitialImage:xu(I,E=>E.isInitialImage),isCanvasImage:xu(I,E=>E.isCanvasImage),isNodesImage:xu(I,E=>E.isNodesImage),isControlNetImage:xu(I,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=DR(),[h,{isLoading:m}]=TR(),{imageUsageSummary:v}=z(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Pd,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsxs(Ra,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Da,{children:i.jsxs(H,{direction:"column",gap:3,children:[a?i.jsx(gm,{children:i.jsx(H,{sx:{w:"full",h:32}})}):i.jsx(ej,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(tt,{children:"Deleted boards cannot be restored."}),i.jsx(tt,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Oa,{children:i.jsxs(H,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(rn,{ref:S,onClick:y,children:"Cancel"}),i.jsx(rn,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(rn,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},BV=f.memo(LV),tj=Te((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(wn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(Sa,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});tj.displayName="IAIIconButton";const Le=f.memo(tj),FV="My Board",HV=()=>{const[e,{isLoading:t}]=AR(),n=f.useCallback(()=>{e(FV)},[e]);return i.jsx(Le,{icon:i.jsx(ml,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var nj=md({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),ay=md({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),WV=md({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),VV=md({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),UV=md({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const GV=fe([Ye],({boards:e})=>{const{searchText:t}=e;return{searchText:t}},Ge),qV=()=>{const e=te(),{searchText:t}=z(GV),n=f.useRef(null),r=f.useCallback(c=>{e(O2(c))},[e]),o=f.useCallback(()=>{e(O2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(LP,{children:[i.jsx(yd,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(hb,{children:i.jsx(Sa,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(WV,{boxSize:2})})})]})},KV=f.memo(qV),YV=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(ui()),{colorMode:o}=Ds();return i.jsx(Xr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(H,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(H,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:ze("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(H,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?ze("base.50","base.50")(o):ze("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(tt,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?ze("base.50","base.50")(o):ze("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},nh=f.memo(YV),XV=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(ui()),{isOver:s,setNodeRef:a,active:c}=A1({id:o.current,disabled:r,data:n});return i.jsx(Oe,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(Fo,{children:Ep(n,c)&&i.jsx(nh,{isOver:s,label:t})})})},iy=f.memo(XV),ly=({isSelected:e,isHovered:t})=>i.jsx(Oe,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),rj=()=>i.jsx(H,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(pl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Nu=globalThis&&globalThis.__assign||function(){return Nu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=Zh(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},QV=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(_r,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClick:n,children:"Delete Board"})]})},JV=f.memo(QV),ZV=()=>i.jsx(i.Fragment,{}),eU=f.memo(ZV),cy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>fe(Ye,({gallery:h})=>({isAutoAdd:h.autoAddBoardId===t})),[t]),{isAutoAdd:a}=z(s),c=Rm(t),d=f.useCallback(()=>{o(O_(t))},[t,o]),p=f.useCallback(h=>{h.preventDefault()},[]);return i.jsx(oj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(zc,{sx:{visibility:"visible !important"},motionProps:nm,onContextMenu:p,children:i.jsxs(Xu,{title:c,children:[i.jsx(_r,{icon:i.jsx(ml,{}),isDisabled:a,onClick:d,children:"Auto-add to this Board"}),!e&&i.jsx(eU,{}),e&&i.jsx(JV,{board:e,setBoardToDelete:n})]})}),children:r})});cy.displayName="HoverableBoard";const sj=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>fe(Ye,({gallery:E})=>({isSelectedForAutoAdd:e.board_id===E.autoAddBoardId}),Ge),[e.board_id]),{isSelectedForAutoAdd:s}=z(o),[a,c]=f.useState(!1),d=f.useCallback(()=>{c(!0)},[]),p=f.useCallback(()=>{c(!1)},[]),{currentData:h}=os(e.cover_image_name??oo.skipToken),{board_name:m,board_id:v}=e,[b,w]=f.useState(m),y=f.useCallback(()=>{r(R_(v))},[v,r]),[S,{isLoading:k}]=NR(),_=f.useMemo(()=>({id:v,actionType:"MOVE_BOARD",context:{boardId:v}}),[v]),I=f.useCallback(async E=>{if(!E.trim()){w(m);return}if(E!==m)try{const{board_name:O}=await S({board_id:v,changes:{board_name:E}}).unwrap();w(O)}catch{w(m)}},[v,m,S]),P=f.useCallback(E=>{w(E)},[]);return i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(H,{onMouseOver:d,onMouseOut:p,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(cy,{board:e,board_id:v,setBoardToDelete:n,children:E=>i.jsxs(H,{ref:E,onClick:y,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[h!=null&&h.thumbnail_url?i.jsx(Tc,{src:h==null?void 0:h.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(H,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Kr,{boxSize:12,as:gW,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(rj,{}),i.jsx(ly,{isSelected:t,isHovered:a}),i.jsx(H,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(J3,{value:b,isDisabled:k,submitOnBlur:!0,onChange:P,onSubmit:I,sx:{w:"full"},children:[i.jsx(Y3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(K3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(iy,{data:_,dropLabel:i.jsx(tt,{fontSize:"md",children:"Move"})})]})})})})});sj.displayName="HoverableBoard";const tU=fe(Ye,({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),aj=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n}=z(tU),r=Rm(void 0),o=f.useCallback(()=>{t(R_(void 0))},[t]),[s,a]=f.useState(!1),c=f.useCallback(()=>{a(!0)},[]),d=f.useCallback(()=>{a(!1)},[]),p=f.useMemo(()=>({id:"no_board",actionType:"MOVE_BOARD",context:{boardId:void 0}}),[]);return i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(H,{onMouseOver:c,onMouseOut:d,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(cy,{children:h=>i.jsxs(H,{ref:h,onClick:o,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(H,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Tc,{src:M_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),!n&&i.jsx(rj,{}),i.jsx(H,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:r}),i.jsx(ly,{isSelected:e,isHovered:s}),i.jsx(iy,{data:p,dropLabel:i.jsx(tt,{fontSize:"md",children:"Move"})})]})})})})});aj.displayName="HoverableBoard";const nU=fe([Ye],({boards:e,gallery:t})=>{const{searchText:n}=e,{selectedBoardId:r}=t;return{selectedBoardId:r,searchText:n}},Ge),rU=e=>{const{isOpen:t}=e,{selectedBoardId:n,searchText:r}=z(nU),{data:o}=Zh(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(sm,{in:t,animateOpacity:!0,children:i.jsxs(H,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(H,{sx:{gap:2,alignItems:"center"},children:[i.jsx(KV,{}),i.jsx(HV,{})]}),i.jsx(Q6,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(rl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Tv,{sx:{p:1.5},children:i.jsx(aj,{isSelected:n===void 0})}),s&&s.map(d=>i.jsx(Tv,{sx:{p:1.5},children:i.jsx(sj,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(BV,{boardToDelete:a,setBoardToDelete:c})]})},oU=f.memo(rU),sU=fe([Ye],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ge),aU=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=z(sU),o=Rm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(H,{as:gc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(tt,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(ay,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},iU=f.memo(aU);function ij(e){return rt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function lj(e){return rt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const lU=fe([Ye],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ge),cU=()=>{const e=te(),{t}=be(),{shouldPinGallery:n}=z(lU),r=()=>{e(D_()),e(So())};return i.jsx(Le,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(ij,{}):i.jsx(lj,{})})},uU=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Tb,{isLazy:o,...s,children:[i.jsx(Db,{children:t}),i.jsxs(Ab,{shadow:"dark-lg",children:[r&&i.jsx(y5,{}),n]})]})},gl=f.memo(uU),dU=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(H3,{colorScheme:"accent",...n,children:i.jsx(tt,{sx:{fontSize:"sm",color:ze("base.800","base.200")(r)},children:t})})},Gn=f.memo(dU);function fU(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const pU=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:I,sliderFormControlProps:P,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:T,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:$,sliderTooltipProps:Q,sliderIAIIconButtonProps:B,...V}=e,q=te(),{t:G}=be(),[D,L]=f.useState(String(o));f.useEffect(()=>{L(o)},[o]);const W=f.useMemo(()=>T!=null&&T.min?T.min:s,[s,T==null?void 0:T.min]),Y=f.useMemo(()=>T!=null&&T.max?T.max:a,[a,T==null?void 0:T.max]),ae=f.useCallback(re=>{d(re)},[d]),ye=f.useCallback(re=>{re.target.value===""&&(re.target.value=String(W));const oe=Es(v?Math.floor(Number(re.target.value)):Number(D),W,Y),pe=wu(oe,c);d(pe),L(pe)},[v,D,W,Y,d,c]),ue=f.useCallback(re=>{L(re)},[]),X=f.useCallback(()=>{I&&I()},[I]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(_o(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(_o(!1))},[q]);return i.jsxs(ho,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...P,children:[r&&i.jsx(zo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(di,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs($5,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ae,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(Vl,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(Vl,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(Vl,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(Vl,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(Vl,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(L5,{...R,children:i.jsx(B5,{})}),i.jsx(wn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(z5,{...M,zIndex:0})})]}),m&&i.jsxs(dm,{min:W,max:Y,step:c,value:D,onChange:ue,onBlur:ye,focusInputOnChange:!1,...T,children:[i.jsx(pm,{onKeyDown:U,onKeyUp:se,minWidth:b,...A}),i.jsxs(fm,{...$,children:[i.jsx(mm,{onClick:()=>d(Number(D))}),i.jsx(hm,{onClick:()=>d(Number(D))})]})]}),w&&i.jsx(Le,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(fU,{}),isDisabled:k,onClick:X,...B})]})]})},_t=f.memo(pU);function hU(e){const t=f.createContext(null);return[({children:o,value:s})=>F.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function cj(e){return Array.isArray(e)?e:[e]}const mU=()=>{};function gU(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||mU:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function uj({data:e}){const t=[],n=[],r=e.reduce((o,s,a)=>(s.group?o[s.group]?o[s.group].push(a):o[s.group]=[a]:n.push(a),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function dj(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==F.Fragment:!1}function fj(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const yU=$R({key:"mantine",prepend:!0});function xU(){return k3()||yU}var wU=Object.defineProperty,XS=Object.getOwnPropertySymbols,SU=Object.prototype.hasOwnProperty,CU=Object.prototype.propertyIsEnumerable,QS=(e,t,n)=>t in e?wU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kU=(e,t)=>{for(var n in t||(t={}))SU.call(t,n)&&QS(e,n,t[n]);if(XS)for(var n of XS(t))CU.call(t,n)&&QS(e,n,t[n]);return e};const W0="ref";function _U(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(W0 in n))return{args:e,ref:t};t=n[W0];const r=kU({},n);return delete r[W0],{args:[r],ref:t}}const{cssFactory:PU}=(()=>{function e(n,r,o){const s=[],a=BR(n,s,o);return s.length<2?o:a+r(s)}function t(n){const{cache:r}=n,o=(...a)=>{const{ref:c,args:d}=_U(a),p=zR(d,r.registered);return LR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,pj(a))}}return{cssFactory:t}})();function hj(){const e=xU();return bU(()=>PU({cache:e}),[e])}function jU({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const a=n.reduce((c,d)=>(Object.keys(d.classNames).forEach(p=>{typeof c[p]!="string"?c[p]=`${d.classNames[p]}`:c[p]=`${c[p]} ${d.classNames[p]}`}),c),{});return Object.keys(t).reduce((c,d)=>(c[d]=e(t[d],a[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),c),{})}var IU=Object.defineProperty,JS=Object.getOwnPropertySymbols,EU=Object.prototype.hasOwnProperty,OU=Object.prototype.propertyIsEnumerable,ZS=(e,t,n)=>t in e?IU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V0=(e,t)=>{for(var n in t||(t={}))EU.call(t,n)&&ZS(e,n,t[n]);if(JS)for(var n of JS(t))OU.call(t,n)&&ZS(e,n,t[n]);return e};function o1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=V0(V0({},e[n]),t[n]):e[n]=V0({},t[n])}),e}function eC(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,a)=>o1(s,a),{}):o(e)}function RU({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&o1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&o1(s,a.sizes[o](t,n,{variant:r,size:o})),s),{})}function so(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=Fa(),a=$D(o==null?void 0:o.name),c=k3(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=hj(),m=t(s,r,d),v=eC(o==null?void 0:o.styles,s,r,d),b=eC(a,s,r,d),w=RU({ctx:a,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),y=Object.fromEntries(Object.keys(m).map(S=>{const k=h({[p(m[S])]:!(o!=null&&o.unstyled)},p(w[S]),p(b[S]),p(v[S]));return[S,k]}));return{classes:jU({cx:h,classes:y,context:a,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function tC(e){return`___ref-${e||""}`}var MU=Object.defineProperty,DU=Object.defineProperties,TU=Object.getOwnPropertyDescriptors,nC=Object.getOwnPropertySymbols,AU=Object.prototype.hasOwnProperty,NU=Object.prototype.propertyIsEnumerable,rC=(e,t,n)=>t in e?MU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hu=(e,t)=>{for(var n in t||(t={}))AU.call(t,n)&&rC(e,n,t[n]);if(nC)for(var n of nC(t))NU.call(t,n)&&rC(e,n,t[n]);return e},mu=(e,t)=>DU(e,TU(t));const gu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Jf={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:mu(hu({},gu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":mu(hu({},gu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":mu(hu({},gu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":mu(hu({},gu),{common:{transformOrigin:"top left"}}),"pop-top-right":mu(hu({},gu),{common:{transformOrigin:"top right"}})},oC=["mousedown","touchstart"];function $U(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:a}=s??{};if(Array.isArray(n)){const c=(a==null?void 0:a.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(a)&&a.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!c&&e()}else r.current&&!r.current.contains(a)&&e()};return(t||oC).forEach(s=>document.addEventListener(s,o)),()=>{(t||oC).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function zU(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function LU(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function BU(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:LU(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),zU(s.current,a=>o(a.matches))},[e]),r}const mj=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ps(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function FU({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return Ps(()=>{let o=-1;const s=a=>{a.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const HU=/input|select|textarea|button|object/,gj="a, input, select, textarea, button, object, [tabindex]";function WU(e){return e.style.display==="none"}function VU(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(WU(n))return!1;n=n.parentNode}return!0}function vj(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function s1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(vj(e));return(HU.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&VU(e)}function bj(e){const t=vj(e);return(Number.isNaN(t)||t>=0)&&s1(e)}function UU(e){return Array.from(e.querySelectorAll(gj)).filter(bj)}function GU(e,t){const n=UU(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const a=n[t.shiftKey?n.length-1:0];a&&a.focus()}function dy(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function qU(e,t="body > :not(script)"){const n=dy(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const a=o.getAttribute("aria-hidden"),c=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),a===null||a==="false"?o.setAttribute("aria-hidden","true"):!c&&!d&&o.setAttribute("data-hidden",a),{node:o,ariaHidden:c||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function KU(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let a=s.querySelector("[data-autofocus]");if(!a){const c=Array.from(s.querySelectorAll(gj));a=c.find(bj)||c.find(s1)||null,!a&&s1(s)&&(a=s)}a&&a.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=qU(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=a=>{a.key==="Tab"&&t.current&&GU(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const YU=F["useId".toString()]||(()=>{});function XU(){const e=YU();return e?`mantine-${e.replace(/:/g,"")}`:""}function fy(e){const t=XU(),[n,r]=f.useState(t);return mj(()=>{r(dy())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function sC(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function yj(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function QU(...e){return t=>{e.forEach(n=>yj(n,t))}}function Ad(...e){return f.useCallback(QU(...e),e)}function rd({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),a=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,a,!1]}function xj(e,t){return BU("(prefers-reduced-motion: reduce)",e,t)}const JU=e=>e<.5?2*e*e:-1+(4-2*e)*e,ZU=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const a=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=m=>p[m]-d[m];if(e==="y"){const m=h("top");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.height*(s?0:1)||!s?b:0}const v=a?d.height:window.innerHeight;if(r==="end"){const b=m+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?m-v/2+p.height/2:0}if(e==="x"){const m=h("left");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.width||!s?b:0}const v=a?d.width:window.innerWidth;if(r==="end"){const b=m+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?m-v/2+p.width/2:0}return 0},eG=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},tG=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function wj({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=JU,offset:o=0,cancelable:s=!0,isList:a=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=xj(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=eG({parent:h.current,axis:t}))!=null?k:0,I=ZU({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:_);function P(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+I*r(R);tG({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(P):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}P()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return sC("wheel",y,{passive:!0}),sC("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var aC=Object.getOwnPropertySymbols,nG=Object.prototype.hasOwnProperty,rG=Object.prototype.propertyIsEnumerable,oG=(e,t)=>{var n={};for(var r in e)nG.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&aC)for(var r of aC(e))t.indexOf(r)<0&&rG.call(e,r)&&(n[r]=e[r]);return n};function Mm(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:I,fz:P,fw:E,lts:O,ta:R,lh:M,fs:T,tt:A,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:L,bgp:W,bgr:Y,bga:ae,pos:ye,top:ue,left:X,bottom:K,right:U,inset:se,display:re}=t,oe=oG(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:zD({m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:I,fz:P,fw:E,lts:O,ta:R,lh:M,fs:T,tt:A,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:L,bgp:W,bgr:Y,bga:ae,pos:ye,top:ue,left:X,bottom:K,right:U,inset:se,display:re}),rest:oe}}function sG(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>hw(Wt({size:r,sizes:t.breakpoints}))-hw(Wt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function aG({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return sG(e,t).reduce((a,c)=>{if(c==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{a[h]=p}),a):(a[r]=p,a)}const d=n(e[c],t);return Array.isArray(r)?(a[t.fn.largerThan(c)]={},r.forEach(p=>{a[t.fn.largerThan(c)][p]=d}),a):(a[t.fn.largerThan(c)]={[r]:d},a)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,a)=>(s[a]=o,s),{}):{[r]:o}}function iG(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function lG(e){return Ue(e)}function cG(e){return e}function uG(e,t){return Wt({size:e,sizes:t.fontSizes})}const dG=["-xs","-sm","-md","-lg","-xl"];function fG(e,t){return dG.includes(e)?`calc(${Wt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Wt({size:e,sizes:t.spacing})}const pG={identity:cG,color:iG,size:lG,fontSize:uG,spacing:fG},hG={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var mG=Object.defineProperty,iC=Object.getOwnPropertySymbols,gG=Object.prototype.hasOwnProperty,vG=Object.prototype.propertyIsEnumerable,lC=(e,t,n)=>t in e?mG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cC=(e,t)=>{for(var n in t||(t={}))gG.call(t,n)&&lC(e,n,t[n]);if(iC)for(var n of iC(t))vG.call(t,n)&&lC(e,n,t[n]);return e};function uC(e,t,n=hG){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(aG({value:e[s],getValue:pG[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(a=>{typeof s[a]=="object"&&s[a]!==null&&a in o?o[a]=cC(cC({},o[a]),s[a]):o[a]=s[a]}),o),{})}function dC(e,t){return typeof e=="function"?e(t):e}function bG(e,t,n){const r=Fa(),{css:o,cx:s}=hj();return Array.isArray(e)?s(n,o(uC(t,r)),e.map(a=>o(dC(a,r)))):s(n,o(dC(e,r)),o(uC(t,r)))}var yG=Object.defineProperty,rh=Object.getOwnPropertySymbols,Sj=Object.prototype.hasOwnProperty,Cj=Object.prototype.propertyIsEnumerable,fC=(e,t,n)=>t in e?yG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xG=(e,t)=>{for(var n in t||(t={}))Sj.call(t,n)&&fC(e,n,t[n]);if(rh)for(var n of rh(t))Cj.call(t,n)&&fC(e,n,t[n]);return e},wG=(e,t)=>{var n={};for(var r in e)Sj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&rh)for(var r of rh(e))t.indexOf(r)<0&&Cj.call(e,r)&&(n[r]=e[r]);return n};const kj=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=wG(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=Mm(c),h=o||"div";return F.createElement(h,xG({ref:t,className:bG(a,d,r),style:s},p))});kj.displayName="@mantine/core/Box";const Po=kj;var SG=Object.defineProperty,CG=Object.defineProperties,kG=Object.getOwnPropertyDescriptors,pC=Object.getOwnPropertySymbols,_G=Object.prototype.hasOwnProperty,PG=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?SG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t)=>{for(var n in t||(t={}))_G.call(t,n)&&hC(e,n,t[n]);if(pC)for(var n of pC(t))PG.call(t,n)&&hC(e,n,t[n]);return e},jG=(e,t)=>CG(e,kG(t)),IG=so(e=>({root:jG(mC(mC({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const EG=IG;var OG=Object.defineProperty,oh=Object.getOwnPropertySymbols,_j=Object.prototype.hasOwnProperty,Pj=Object.prototype.propertyIsEnumerable,gC=(e,t,n)=>t in e?OG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RG=(e,t)=>{for(var n in t||(t={}))_j.call(t,n)&&gC(e,n,t[n]);if(oh)for(var n of oh(t))Pj.call(t,n)&&gC(e,n,t[n]);return e},MG=(e,t)=>{var n={};for(var r in e)_j.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&oh)for(var r of oh(e))t.indexOf(r)<0&&Pj.call(e,r)&&(n[r]=e[r]);return n};const jj=f.forwardRef((e,t)=>{const n=Sr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=MG(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=EG(null,{name:"UnstyledButton",unstyled:s,variant:a});return F.createElement(Po,RG({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});jj.displayName="@mantine/core/UnstyledButton";const DG=jj;var TG=Object.defineProperty,AG=Object.defineProperties,NG=Object.getOwnPropertyDescriptors,vC=Object.getOwnPropertySymbols,$G=Object.prototype.hasOwnProperty,zG=Object.prototype.propertyIsEnumerable,bC=(e,t,n)=>t in e?TG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,a1=(e,t)=>{for(var n in t||(t={}))$G.call(t,n)&&bC(e,n,t[n]);if(vC)for(var n of vC(t))zG.call(t,n)&&bC(e,n,t[n]);return e},yC=(e,t)=>AG(e,NG(t));const LG=["subtle","filled","outline","light","default","transparent","gradient"],Zf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function BG({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:LG.includes(e)?a1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var FG=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:yC(a1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Wt({size:s,sizes:Zf}),minHeight:Wt({size:s,sizes:Zf}),width:Wt({size:s,sizes:Zf}),minWidth:Wt({size:s,sizes:Zf})},BG({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":yC(a1({content:'""'},e.fn.cover(Ue(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const HG=FG;var WG=Object.defineProperty,sh=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?WG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wC=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&xC(e,n,t[n]);if(sh)for(var n of sh(t))Ej.call(t,n)&&xC(e,n,t[n]);return e},SC=(e,t)=>{var n={};for(var r in e)Ij.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&sh)for(var r of sh(e))t.indexOf(r)<0&&Ej.call(e,r)&&(n[r]=e[r]);return n};function VG(e){var t=e,{size:n,color:r}=t,o=SC(t,["size","color"]);const s=o,{style:a}=s,c=SC(s,["style"]);return F.createElement("svg",wC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:wC({width:n},a)},c),F.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},F.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var UG=Object.defineProperty,ah=Object.getOwnPropertySymbols,Oj=Object.prototype.hasOwnProperty,Rj=Object.prototype.propertyIsEnumerable,CC=(e,t,n)=>t in e?UG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kC=(e,t)=>{for(var n in t||(t={}))Oj.call(t,n)&&CC(e,n,t[n]);if(ah)for(var n of ah(t))Rj.call(t,n)&&CC(e,n,t[n]);return e},_C=(e,t)=>{var n={};for(var r in e)Oj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ah)for(var r of ah(e))t.indexOf(r)<0&&Rj.call(e,r)&&(n[r]=e[r]);return n};function GG(e){var t=e,{size:n,color:r}=t,o=_C(t,["size","color"]);const s=o,{style:a}=s,c=_C(s,["style"]);return F.createElement("svg",kC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:kC({width:n,height:n},a)},c),F.createElement("g",{fill:"none",fillRule:"evenodd"},F.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},F.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),F.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},F.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var qG=Object.defineProperty,ih=Object.getOwnPropertySymbols,Mj=Object.prototype.hasOwnProperty,Dj=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?qG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jC=(e,t)=>{for(var n in t||(t={}))Mj.call(t,n)&&PC(e,n,t[n]);if(ih)for(var n of ih(t))Dj.call(t,n)&&PC(e,n,t[n]);return e},IC=(e,t)=>{var n={};for(var r in e)Mj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ih)for(var r of ih(e))t.indexOf(r)<0&&Dj.call(e,r)&&(n[r]=e[r]);return n};function KG(e){var t=e,{size:n,color:r}=t,o=IC(t,["size","color"]);const s=o,{style:a}=s,c=IC(s,["style"]);return F.createElement("svg",jC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:jC({width:n},a)},c),F.createElement("circle",{cx:"15",cy:"15",r:"15"},F.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},F.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),F.createElement("circle",{cx:"105",cy:"15",r:"15"},F.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),F.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var YG=Object.defineProperty,lh=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Aj=Object.prototype.propertyIsEnumerable,EC=(e,t,n)=>t in e?YG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XG=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&EC(e,n,t[n]);if(lh)for(var n of lh(t))Aj.call(t,n)&&EC(e,n,t[n]);return e},QG=(e,t)=>{var n={};for(var r in e)Tj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lh)for(var r of lh(e))t.indexOf(r)<0&&Aj.call(e,r)&&(n[r]=e[r]);return n};const U0={bars:VG,oval:GG,dots:KG},JG={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},ZG={size:"md"};function Nj(e){const t=Sr("Loader",ZG,e),{size:n,color:r,variant:o}=t,s=QG(t,["size","color","variant"]),a=Fa(),c=o in U0?o:a.loader;return F.createElement(Po,XG({role:"presentation",component:U0[c]||U0.bars,size:Wt({size:n,sizes:JG}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}Nj.displayName="@mantine/core/Loader";var eq=Object.defineProperty,ch=Object.getOwnPropertySymbols,$j=Object.prototype.hasOwnProperty,zj=Object.prototype.propertyIsEnumerable,OC=(e,t,n)=>t in e?eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RC=(e,t)=>{for(var n in t||(t={}))$j.call(t,n)&&OC(e,n,t[n]);if(ch)for(var n of ch(t))zj.call(t,n)&&OC(e,n,t[n]);return e},tq=(e,t)=>{var n={};for(var r in e)$j.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ch)for(var r of ch(e))t.indexOf(r)<0&&zj.call(e,r)&&(n[r]=e[r]);return n};const nq={color:"gray",size:"md",variant:"subtle"},Lj=f.forwardRef((e,t)=>{const n=Sr("ActionIcon",nq,e),{className:r,color:o,children:s,radius:a,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=tq(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=HG({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),I=F.createElement(Nj,RC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return F.createElement(DG,RC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?I:s)});Lj.displayName="@mantine/core/ActionIcon";const rq=Lj;var oq=Object.defineProperty,sq=Object.defineProperties,aq=Object.getOwnPropertyDescriptors,uh=Object.getOwnPropertySymbols,Bj=Object.prototype.hasOwnProperty,Fj=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?oq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iq=(e,t)=>{for(var n in t||(t={}))Bj.call(t,n)&&MC(e,n,t[n]);if(uh)for(var n of uh(t))Fj.call(t,n)&&MC(e,n,t[n]);return e},lq=(e,t)=>sq(e,aq(t)),cq=(e,t)=>{var n={};for(var r in e)Bj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uh)for(var r of uh(e))t.indexOf(r)<0&&Fj.call(e,r)&&(n[r]=e[r]);return n};function Hj(e){const t=Sr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=cq(t,["children","target","className","innerRef"]),c=Fa(),[d,p]=f.useState(!1),h=f.useRef();return mj(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?_i.createPortal(F.createElement("div",lq(iq({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}Hj.displayName="@mantine/core/Portal";var uq=Object.defineProperty,dh=Object.getOwnPropertySymbols,Wj=Object.prototype.hasOwnProperty,Vj=Object.prototype.propertyIsEnumerable,DC=(e,t,n)=>t in e?uq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dq=(e,t)=>{for(var n in t||(t={}))Wj.call(t,n)&&DC(e,n,t[n]);if(dh)for(var n of dh(t))Vj.call(t,n)&&DC(e,n,t[n]);return e},fq=(e,t)=>{var n={};for(var r in e)Wj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&dh)for(var r of dh(e))t.indexOf(r)<0&&Vj.call(e,r)&&(n[r]=e[r]);return n};function Uj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=fq(t,["withinPortal","children"]);return n?F.createElement(Hj,dq({},o),r):F.createElement(F.Fragment,null,r)}Uj.displayName="@mantine/core/OptionalPortal";var pq=Object.defineProperty,fh=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,TC=(e,t,n)=>t in e?pq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AC=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&TC(e,n,t[n]);if(fh)for(var n of fh(t))qj.call(t,n)&&TC(e,n,t[n]);return e},hq=(e,t)=>{var n={};for(var r in e)Gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fh)for(var r of fh(e))t.indexOf(r)<0&&qj.call(e,r)&&(n[r]=e[r]);return n};function Kj(e){const t=e,{width:n,height:r,style:o}=t,s=hq(t,["width","height","style"]);return F.createElement("svg",AC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:AC({width:n,height:r},o)},s),F.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}Kj.displayName="@mantine/core/CloseIcon";var mq=Object.defineProperty,ph=Object.getOwnPropertySymbols,Yj=Object.prototype.hasOwnProperty,Xj=Object.prototype.propertyIsEnumerable,NC=(e,t,n)=>t in e?mq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gq=(e,t)=>{for(var n in t||(t={}))Yj.call(t,n)&&NC(e,n,t[n]);if(ph)for(var n of ph(t))Xj.call(t,n)&&NC(e,n,t[n]);return e},vq=(e,t)=>{var n={};for(var r in e)Yj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ph)for(var r of ph(e))t.indexOf(r)<0&&Xj.call(e,r)&&(n[r]=e[r]);return n};const bq={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},yq={size:"sm"},Qj=f.forwardRef((e,t)=>{const n=Sr("CloseButton",yq,e),{iconSize:r,size:o,children:s}=n,a=vq(n,["iconSize","size","children"]),c=Ue(r||bq[o]);return F.createElement(rq,gq({ref:t,__staticSelector:"CloseButton",size:o},a),s||F.createElement(Kj,{width:c,height:c}))});Qj.displayName="@mantine/core/CloseButton";const Jj=Qj;var xq=Object.defineProperty,wq=Object.defineProperties,Sq=Object.getOwnPropertyDescriptors,$C=Object.getOwnPropertySymbols,Cq=Object.prototype.hasOwnProperty,kq=Object.prototype.propertyIsEnumerable,zC=(e,t,n)=>t in e?xq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ep=(e,t)=>{for(var n in t||(t={}))Cq.call(t,n)&&zC(e,n,t[n]);if($C)for(var n of $C(t))kq.call(t,n)&&zC(e,n,t[n]);return e},_q=(e,t)=>wq(e,Sq(t));function Pq({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function jq({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function Iq(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function Eq({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var Oq=so((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:a,gradient:c,weight:d,transform:p,align:h,strikethrough:m,italic:v},{size:b})=>{const w=e.fn.variant({variant:"gradient",gradient:c});return{root:_q(ep(ep(ep(ep({},e.fn.fontStyles()),e.fn.focusStyles()),Iq(n)),Eq({theme:e,truncate:r})),{color:jq({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Wt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:Pq({underline:a,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:w.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const Rq=Oq;var Mq=Object.defineProperty,hh=Object.getOwnPropertySymbols,Zj=Object.prototype.hasOwnProperty,eI=Object.prototype.propertyIsEnumerable,LC=(e,t,n)=>t in e?Mq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Dq=(e,t)=>{for(var n in t||(t={}))Zj.call(t,n)&&LC(e,n,t[n]);if(hh)for(var n of hh(t))eI.call(t,n)&&LC(e,n,t[n]);return e},Tq=(e,t)=>{var n={};for(var r in e)Zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hh)for(var r of hh(e))t.indexOf(r)<0&&eI.call(e,r)&&(n[r]=e[r]);return n};const Aq={variant:"text"},tI=f.forwardRef((e,t)=>{const n=Sr("Text",Aq,e),{className:r,size:o,weight:s,transform:a,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,classNames:_,styles:I,unstyled:P,span:E,__staticSelector:O}=n,R=Tq(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:T}=Rq({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,weight:s,transform:a,align:d,gradient:v},{unstyled:P,name:O||"Text",variant:p,size:o});return F.createElement(Po,Dq({ref:t,className:T(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});tI.displayName="@mantine/core/Text";const Sc=tI,tp={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function np(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var Nq=so((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:Ue(1),borderTop:`${Wt({size:n,sizes:tp})} ${r} ${np(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Wt({size:n,sizes:tp})} ${r} ${np(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:Ue(Wt({size:n,sizes:tp})),borderTopColor:np(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Wt({size:n,sizes:tp})),borderLeftColor:np(e,t),borderLeftStyle:r}}));const $q=Nq;var zq=Object.defineProperty,Lq=Object.defineProperties,Bq=Object.getOwnPropertyDescriptors,mh=Object.getOwnPropertySymbols,nI=Object.prototype.hasOwnProperty,rI=Object.prototype.propertyIsEnumerable,BC=(e,t,n)=>t in e?zq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,FC=(e,t)=>{for(var n in t||(t={}))nI.call(t,n)&&BC(e,n,t[n]);if(mh)for(var n of mh(t))rI.call(t,n)&&BC(e,n,t[n]);return e},Fq=(e,t)=>Lq(e,Bq(t)),Hq=(e,t)=>{var n={};for(var r in e)nI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&mh)for(var r of mh(e))t.indexOf(r)<0&&rI.call(e,r)&&(n[r]=e[r]);return n};const Wq={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},i1=f.forwardRef((e,t)=>{const n=Sr("Divider",Wq,e),{className:r,color:o,orientation:s,size:a,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=Hq(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=$q({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),k=s==="vertical",_=s==="horizontal",I=!!c&&_,P=!(p!=null&&p.color);return F.createElement(Po,FC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:I},r),role:"separator"},w),I&&F.createElement(Sc,Fq(FC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:P})}),c))});i1.displayName="@mantine/core/Divider";var Vq=Object.defineProperty,Uq=Object.defineProperties,Gq=Object.getOwnPropertyDescriptors,HC=Object.getOwnPropertySymbols,qq=Object.prototype.hasOwnProperty,Kq=Object.prototype.propertyIsEnumerable,WC=(e,t,n)=>t in e?Vq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VC=(e,t)=>{for(var n in t||(t={}))qq.call(t,n)&&WC(e,n,t[n]);if(HC)for(var n of HC(t))Kq.call(t,n)&&WC(e,n,t[n]);return e},Yq=(e,t)=>Uq(e,Gq(t)),Xq=so((e,t,{size:n})=>({item:Yq(VC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Wt({size:n,sizes:e.spacing})} / 1.5) ${Wt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Wt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":VC({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Wt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Wt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Wt({size:n,sizes:e.spacing})} / 1.5) ${Wt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const Qq=Xq;var Jq=Object.defineProperty,UC=Object.getOwnPropertySymbols,Zq=Object.prototype.hasOwnProperty,eK=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?Jq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tK=(e,t)=>{for(var n in t||(t={}))Zq.call(t,n)&&GC(e,n,t[n]);if(UC)for(var n of UC(t))eK.call(t,n)&&GC(e,n,t[n]);return e};function py({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:a,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:k}=Qq(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),_=[],I=[];let P=null;const E=(R,M)=>{const T=typeof o=="function"?o(R.value):!1;return F.createElement(h,tK({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&T||void 0,selected:T,onMouseEnter:()=>c(M),id:`${s}-${M}`,role:"option",tabIndex:-1,"aria-selected":t===M,ref:A=>{p&&p.current&&(p.current[R.value]=A)},onMouseDown:R.disabled?null:A=>{A.preventDefault(),d(R)},disabled:R.disabled,variant:S},R))};let O=null;if(e.forEach((R,M)=>{R.creatable?P=M:R.group?(O!==R.group&&(O=R.group,I.push(F.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},F.createElement(i1,{classNames:{label:k.separatorLabel},label:R.group})))),I.push(E(R,M))):_.push(E(R,M))}),b){const R=e[P];_.push(F.createElement("div",{key:dy(),className:k.item,"data-hovered":t===P||void 0,onMouseEnter:()=>c(P),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return I.length>0&&_.length>0&&_.unshift(F.createElement("div",{className:k.separator,key:"empty-group-separator"},F.createElement(i1,null))),I.length>0||_.length>0?F.createElement(F.Fragment,null,I,_):F.createElement(Sc,{size:m,unstyled:y,className:k.nothingFound},v)}py.displayName="@mantine/core/SelectItems";var nK=Object.defineProperty,gh=Object.getOwnPropertySymbols,oI=Object.prototype.hasOwnProperty,sI=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?nK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rK=(e,t)=>{for(var n in t||(t={}))oI.call(t,n)&&qC(e,n,t[n]);if(gh)for(var n of gh(t))sI.call(t,n)&&qC(e,n,t[n]);return e},oK=(e,t)=>{var n={};for(var r in e)oI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&gh)for(var r of gh(e))t.indexOf(r)<0&&sI.call(e,r)&&(n[r]=e[r]);return n};const hy=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=oK(n,["label","value"]);return F.createElement("div",rK({ref:t},s),r||o)});hy.displayName="@mantine/core/DefaultItem";function sK(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function aI(...e){return t=>e.forEach(n=>sK(n,t))}function vl(...e){return f.useCallback(aI(...e),e)}const iI=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(iK);if(s){const a=s.props.children,c=o.map(d=>d===s?f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null:d);return f.createElement(l1,or({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(l1,or({},r,{ref:t}),n)});iI.displayName="Slot";const l1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...lK(r,n.props),ref:aI(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});l1.displayName="SlotClone";const aK=({children:e})=>f.createElement(f.Fragment,null,e);function iK(e){return f.isValidElement(e)&&e.type===aK}function lK(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{s(...c),o(...c)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const cK=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Nd=cK.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?iI:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,or({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),c1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function uK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const $d=e=>{const{present:t,children:n}=e,r=dK(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=vl(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};$d.displayName="Presence";function dK(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=uK(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=rp(r.current);s.current=c==="mounted"?p:"none"},[c]),c1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=rp(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),c1(()=>{if(t){const p=m=>{const b=rp(r.current).includes(m.animationName);m.target===t&&b&&_i.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=rp(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function rp(e){return(e==null?void 0:e.animationName)||"none"}function fK(e,t=[]){let n=[];function r(s,a){const c=f.createContext(a),d=n.length;n=[...n,a];function p(m){const{scope:v,children:b,...w}=m,y=(v==null?void 0:v[e][d])||c,S=f.useMemo(()=>w,Object.values(w));return f.createElement(y.Provider,{value:S},b)}function h(m,v){const b=(v==null?void 0:v[e][d])||c,w=f.useContext(b);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(a=>f.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,pK(o,...t)]}function pK(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Ui(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const hK=f.createContext(void 0);function mK(e){const t=f.useContext(hK);return e||t||"ltr"}function gK(e,[t,n]){return Math.min(n,Math.max(t,e))}function Zi(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function vK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const lI="ScrollArea",[cI,mde]=fK(lI),[bK,ds]=cI(lI),yK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,d]=f.useState(null),[p,h]=f.useState(null),[m,v]=f.useState(null),[b,w]=f.useState(null),[y,S]=f.useState(null),[k,_]=f.useState(0),[I,P]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),T=vl(t,$=>d($)),A=mK(o);return f.createElement(bK,{scope:n,type:r,dir:A,scrollHideDelay:s,scrollArea:c,viewport:p,onViewportChange:h,content:m,onContentChange:v,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:M,onCornerWidthChange:_,onCornerHeightChange:P},f.createElement(Nd.div,or({dir:A},a,{ref:T,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":I+"px",...e.style}})))}),xK="ScrollAreaViewport",wK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=ds(xK,n),a=f.useRef(null),c=vl(t,a,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Nd.div,or({"data-radix-scroll-area-viewport":""},o,{ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Wa="ScrollAreaScrollbar",SK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?f.createElement(CK,or({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(kK,or({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(uI,or({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(my,or({},r,{ref:t})):null}),CK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),[s,a]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),a(!0)},h=()=>{d=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",p),c.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),c.removeEventListener("pointerenter",p),c.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement($d,{present:n||s},f.createElement(uI,or({"data-state":s?"visible":"hidden"},r,{ref:t})))}),kK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),s=e.orientation==="horizontal",a=Tm(()=>d("SCROLL_END"),100),[c,d]=vK("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(c==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[c,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let m=p[h];const v=()=>{const b=p[h];m!==b&&(d("SCROLL"),a()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,a]),f.createElement($d,{present:n||c!=="hidden"},f.createElement(my,or({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Zi(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Zi(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),uI=f.forwardRef((e,t)=>{const n=ds(Wa,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=Tm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=ds(Wa,e.__scopeScrollArea),s=f.useRef(null),a=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=hI(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:v=>a.current=v};function m(v,b){return MK(v,a.current,c,b)}return n==="horizontal"?f.createElement(_K,or({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=KC(v,c,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=m(v,o.dir))}})):n==="vertical"?f.createElement(PK,or({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=KC(v,c);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=m(v))}})):null}),_K=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(fI,or({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Dm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),gI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:vh(a.paddingLeft),paddingEnd:vh(a.paddingRight)}})}}))}),PK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(fI,or({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Dm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),gI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:vh(a.paddingTop),paddingEnd:vh(a.paddingBottom)}})}}))}),[jK,dI]=cI(Wa),fI=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=ds(Wa,n),[w,y]=f.useState(null),S=vl(t,T=>y(T)),k=f.useRef(null),_=f.useRef(""),I=b.viewport,P=r.content-r.viewport,E=Ui(h),O=Ui(d),R=Tm(m,10);function M(T){if(k.current){const A=T.clientX-k.current.left,$=T.clientY-k.current.top;p({x:A,y:$})}}return f.useEffect(()=>{const T=A=>{const $=A.target;(w==null?void 0:w.contains($))&&E(A,P)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[I,w,P,E]),f.useEffect(O,[r,O]),Cc(w,R),Cc(b.content,R),f.createElement(jK,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(a),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Nd.div,or({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Zi(e.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(T))}),onPointerMove:Zi(e.onPointerMove,M),onPointerUp:Zi(e.onPointerUp,T=>{const A=T.target;A.hasPointerCapture(T.pointerId)&&A.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),u1="ScrollAreaThumb",IK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=dI(u1,e.__scopeScrollArea);return f.createElement($d,{present:n||o.hasThumb},f.createElement(EK,or({ref:t},r)))}),EK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=ds(u1,n),a=dI(u1,n),{onThumbPositionChange:c}=a,d=vl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=Tm(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const m=s.viewport;if(m){const v=()=>{if(h(),!p.current){const b=DK(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Nd.div,or({"data-state":a.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Zi(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:Zi(e.onPointerUp,a.onThumbPointerUp)}))}),pI="ScrollAreaCorner",OK=f.forwardRef((e,t)=>{const n=ds(pI,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(RK,or({},e,{ref:t})):null}),RK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=ds(pI,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return Cc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),Cc(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),a(m)}),p?f.createElement(Nd.div,or({},r,{ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function vh(e){return e?parseInt(e,10):0}function hI(e,t){const n=e/t;return isNaN(n)?0:n}function Dm(e){const t=hI(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function MK(e,t,n,r="ltr"){const o=Dm(n),s=o/2,a=t||s,c=o-a,d=n.scrollbar.paddingStart+a,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return mI([d,p],m)(e)}function KC(e,t,n="ltr"){const r=Dm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,a]:[a*-1,0],p=gK(e,d);return mI([0,a],[0,c])(p)}function mI(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function gI(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=n.left!==s.left,c=n.top!==s.top;(a||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Tm(e,t){const n=Ui(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Cc(e,t){const n=Ui(t);c1(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const TK=yK,AK=wK,YC=SK,XC=IK,NK=OK;var $K=so((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?Ue(t):void 0,paddingBottom:n?Ue(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${Ue(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${tC("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:Ue(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:Ue(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:tC("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:Ue(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:Ue(44),minHeight:Ue(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const zK=$K;var LK=Object.defineProperty,BK=Object.defineProperties,FK=Object.getOwnPropertyDescriptors,bh=Object.getOwnPropertySymbols,vI=Object.prototype.hasOwnProperty,bI=Object.prototype.propertyIsEnumerable,QC=(e,t,n)=>t in e?LK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,d1=(e,t)=>{for(var n in t||(t={}))vI.call(t,n)&&QC(e,n,t[n]);if(bh)for(var n of bh(t))bI.call(t,n)&&QC(e,n,t[n]);return e},yI=(e,t)=>BK(e,FK(t)),xI=(e,t)=>{var n={};for(var r in e)vI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bh)for(var r of bh(e))t.indexOf(r)<0&&bI.call(e,r)&&(n[r]=e[r]);return n};const wI={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Am=f.forwardRef((e,t)=>{const n=Sr("ScrollArea",wI,e),{children:r,className:o,classNames:s,styles:a,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,k=xI(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,I]=f.useState(!1),P=Fa(),{classes:E,cx:O}=zK({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return F.createElement(TK,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||P.dir,ref:t,asChild:!0},F.createElement(Po,d1({className:O(E.root,o)},k),F.createElement(AK,yI(d1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),F.createElement(YC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},F.createElement(XC,{className:E.thumb})),F.createElement(YC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},F.createElement(XC,{className:E.thumb})),F.createElement(NK,{className:E.corner})))}),SI=f.forwardRef((e,t)=>{const n=Sr("ScrollAreaAutosize",wI,e),{children:r,classNames:o,styles:s,scrollbarSize:a,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,k=xI(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return F.createElement(Po,yI(d1({},k),{ref:t,sx:[{display:"flex"},...cj(w)]}),F.createElement(Po,{sx:{display:"flex",flexDirection:"column",flex:1}},F.createElement(Am,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:a,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});SI.displayName="@mantine/core/ScrollAreaAutosize";Am.displayName="@mantine/core/ScrollArea";Am.Autosize=SI;const CI=Am;var HK=Object.defineProperty,WK=Object.defineProperties,VK=Object.getOwnPropertyDescriptors,yh=Object.getOwnPropertySymbols,kI=Object.prototype.hasOwnProperty,_I=Object.prototype.propertyIsEnumerable,JC=(e,t,n)=>t in e?HK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ZC=(e,t)=>{for(var n in t||(t={}))kI.call(t,n)&&JC(e,n,t[n]);if(yh)for(var n of yh(t))_I.call(t,n)&&JC(e,n,t[n]);return e},UK=(e,t)=>WK(e,VK(t)),GK=(e,t)=>{var n={};for(var r in e)kI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yh)for(var r of yh(e))t.indexOf(r)<0&&_I.call(e,r)&&(n[r]=e[r]);return n};const Nm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=GK(n,["style"]);return F.createElement(CI,UK(ZC({},o),{style:ZC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Nm.displayName="@mantine/core/SelectScrollArea";var qK=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const KK=qK;function Hc(e){return e.split("-")[1]}function gy(e){return e==="y"?"height":"width"}function js(e){return e.split("-")[0]}function Ei(e){return["top","bottom"].includes(js(e))?"x":"y"}function e4(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,a=r.y+r.height/2-o.height/2,c=Ei(t),d=gy(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(js(t)){case"top":m={x:s,y:r.y-o.height};break;case"bottom":m={x:s,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-o.width,y:a};break;default:m={x:r.x,y:r.y}}switch(Hc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const YK=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let p=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:m}=e4(p,r,d),v=r,b={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c}=t,{element:d,padding:p=0}=Aa(e,t)||{};if(d==null)return{};const h=vy(p),m={x:n,y:r},v=Ei(o),b=gy(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",I=s.reference[b]+s.reference[v]-m[v]-s.floating[b],P=m[v]-s.reference[v],E=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let O=E?E[_]:0;O&&await(a.isElement==null?void 0:a.isElement(E))||(O=c.floating[_]||s.floating[b]);const R=I/2-P/2,M=O/2-w[b]/2-1,T=gi(h[S],M),A=gi(h[k],M),$=T,Q=O-w[b]-A,B=O/2-w[b]/2+R,V=f1($,B,Q),q=Hc(o)!=null&&B!=V&&s.reference[b]/2-(B<$?T:A)-w[b]/2<0?B<$?$-B:Q-B:0;return{[v]:m[v]-q,data:{[v]:V,centerOffset:B-V+q}}}}),XK=["top","right","bottom","left"];XK.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const QK={left:"right",right:"left",bottom:"top",top:"bottom"};function xh(e){return e.replace(/left|right|bottom|top/g,t=>QK[t])}function JK(e,t,n){n===void 0&&(n=!1);const r=Hc(e),o=Ei(e),s=gy(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=xh(a)),{main:a,cross:xh(a)}}const ZK={start:"end",end:"start"};function G0(e){return e.replace(/start|end/g,t=>ZK[t])}const eY=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Aa(e,t),S=js(r),k=js(a)===a,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),I=m||(k||!w?[xh(a)]:function($){const Q=xh($);return[G0($),Q,G0(Q)]}(a));m||b==="none"||I.push(...function($,Q,B,V){const q=Hc($);let G=function(D,L,W){const Y=["left","right"],ae=["right","left"],ye=["top","bottom"],ue=["bottom","top"];switch(D){case"top":case"bottom":return W?L?ae:Y:L?Y:ae;case"left":case"right":return L?ye:ue;default:return[]}}(js($),B==="start",V);return q&&(G=G.map(D=>D+"-"+q),Q&&(G=G.concat(G.map(G0)))),G}(a,w,b,_));const P=[a,...I],E=await by(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:$,cross:Q}=JK(r,s,_);O.push(E[$],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every($=>$<=0)){var M,T;const $=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=P[$];if(Q)return{data:{index:$,overflows:R},reset:{placement:Q}};let B=(T=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:T.placement;if(!B)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,D)=>G+D,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(B=V);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function n4(e){const t=gi(...e.map(r=>r.left)),n=gi(...e.map(r=>r.top));return{x:t,y:n,width:Ks(...e.map(r=>r.right))-t,height:Ks(...e.map(r=>r.bottom))-n}}const tY=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:a}=t,{padding:c=2,x:d,y:p}=Aa(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((I,P)=>I.y-P.y),k=[];let _=null;for(let I=0;I_.height/2?k.push([P]):k[k.length-1].push(P),_=P}return k.map(I=>kc(n4(I)))}(h),v=kc(n4(h)),b=vy(c),w=await s.getElementRects({reference:{getBoundingClientRect:function(){if(m.length===2&&m[0].left>m[1].right&&d!=null&&p!=null)return m.find(y=>d>y.left-b.left&&dy.top-b.top&&p=2){if(Ei(n)==="x"){const E=m[0],O=m[m.length-1],R=js(n)==="top",M=E.top,T=O.bottom,A=R?E.left:O.left,$=R?E.right:O.right;return{top:M,bottom:T,left:A,right:$,width:$-A,height:T-M,x:A,y:M}}const y=js(n)==="left",S=Ks(...m.map(E=>E.right)),k=gi(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),I=_[0].top,P=_[_.length-1].bottom;return{top:I,bottom:P,left:k,right:S,width:S-k,height:P-I,x:k,y:I}}return v}},floating:r.floating,strategy:a});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},nY=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,a){const{placement:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=js(c),v=Hc(c),b=Ei(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Aa(a,s);let{mainAxis:k,crossAxis:_,alignmentAxis:I}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof I=="number"&&(_=v==="end"?-1*I:I),b?{x:_*y,y:k*w}:{x:k*w,y:_*y}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function PI(e){return e==="x"?"y":"x"}const rY=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:S=>{let{x:k,y:_}=S;return{x:k,y:_}}},...d}=Aa(e,t),p={x:n,y:r},h=await by(t,d),m=Ei(js(o)),v=PI(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=f1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=f1(w+h[v==="y"?"top":"left"],w,w-h[S])}const y=c.fn({...t,[m]:b,[v]:w});return{...y,data:{x:y.x-n,y:y.y-r}}}}},oY=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Aa(e,t),h={x:n,y:r},m=Ei(o),v=PI(m);let b=h[m],w=h[v];const y=Aa(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const I=m==="y"?"height":"width",P=s.reference[m]-s.floating[I]+S.mainAxis,E=s.reference[m]+s.reference[I]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const I=m==="y"?"width":"height",P=["top","left"].includes(js(o)),E=s.reference[v]-s.floating[I]+(P&&((k=a.offset)==null?void 0:k[v])||0)+(P?0:S.crossAxis),O=s.reference[v]+s.reference[I]+(P?0:((_=a.offset)==null?void 0:_[v])||0)-(P?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},sY=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:a=()=>{},...c}=Aa(e,t),d=await by(t,c),p=js(n),h=Hc(n),m=Ei(n)==="x",{width:v,height:b}=r.floating;let w,y;p==="top"||p==="bottom"?(w=p,y=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,w=h==="end"?"top":"bottom");const S=b-d[w],k=v-d[y],_=!t.middlewareData.shift;let I=S,P=k;if(m){const O=v-d.left-d.right;P=h||_?gi(k,O):O}else{const O=b-d.top-d.bottom;I=h||_?gi(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),T=Ks(d.bottom,0);m?P=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):I=b-2*(M!==0||T!==0?M+T:Ks(d.top,d.bottom))}await a({...t,availableWidth:P,availableHeight:I});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function $o(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function sa(e){return $o(e).getComputedStyle(e)}function jI(e){return e instanceof $o(e).Node}function vi(e){return jI(e)?(e.nodeName||"").toLowerCase():"#document"}function Ms(e){return e instanceof HTMLElement||e instanceof $o(e).HTMLElement}function r4(e){return typeof ShadowRoot<"u"&&(e instanceof $o(e).ShadowRoot||e instanceof ShadowRoot)}function od(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=sa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function aY(e){return["table","td","th"].includes(vi(e))}function p1(e){const t=yy(),n=sa(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function yy(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function $m(e){return["html","body","#document"].includes(vi(e))}const h1=Math.min,dc=Math.max,wh=Math.round,op=Math.floor,bi=e=>({x:e,y:e});function II(e){const t=sa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Ms(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=wh(n)!==s||wh(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function _a(e){return e instanceof Element||e instanceof $o(e).Element}function xy(e){return _a(e)?e:e.contextElement}function fc(e){const t=xy(e);if(!Ms(t))return bi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=II(t);let a=(s?wh(n.width):n.width)/r,c=(s?wh(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const iY=bi(0);function EI(e){const t=$o(e);return yy()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:iY}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=xy(e);let a=bi(1);t&&(r?_a(r)&&(a=fc(r)):a=fc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==$o(v))&&b}(s,n,r)?EI(s):bi(0);let d=(o.left+c.x)/a.x,p=(o.top+c.y)/a.y,h=o.width/a.x,m=o.height/a.y;if(s){const v=$o(s),b=r&&_a(r)?$o(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=fc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,I=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=I,w=$o(w).frameElement}}return kc({width:h,height:m,x:d,y:p})}function zm(e){return _a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pa(e){var t;return(t=(jI(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function OI(e){return cl(Pa(e)).left+zm(e).scrollLeft}function _c(e){if(vi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||r4(e)&&e.host||Pa(e);return r4(t)?t.host:t}function RI(e){const t=_c(e);return $m(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ms(t)&&od(t)?t:RI(t)}function Sh(e,t){var n;t===void 0&&(t=[]);const r=RI(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=$o(r);return o?t.concat(s,s.visualViewport||[],od(r)?r:[]):t.concat(r,Sh(r))}function o4(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=$o(o),c=Pa(o),d=a.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=yy();(!b||b&&s==="fixed")&&(m=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:m,y:v}}(e,n);else if(t==="document")r=function(o){const s=Pa(o),a=zm(o),c=o.ownerDocument.body,d=dc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=dc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+OI(o);const m=-a.scrollTop;return sa(c).direction==="rtl"&&(h+=dc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(Pa(e));else if(_a(t))r=function(o,s){const a=cl(o,!0,s==="fixed"),c=a.top+o.clientTop,d=a.left+o.clientLeft,p=Ms(o)?fc(o):bi(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:c*p.y}}(t,n);else{const o=EI(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return kc(r)}function MI(e,t){const n=_c(e);return!(n===t||!_a(n)||$m(n))&&(sa(n).position==="fixed"||MI(n,t))}function lY(e,t,n){const r=Ms(t),o=Pa(t),s=n==="fixed",a=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=bi(0);if(r||!r&&!s)if((vi(t)!=="body"||od(o))&&(c=zm(t)),Ms(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=OI(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function s4(e,t){return Ms(e)&&sa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function a4(e,t){const n=$o(e);if(!Ms(e))return n;let r=s4(e,t);for(;r&&aY(r)&&sa(r).position==="static";)r=s4(r,t);return r&&(vi(r)==="html"||vi(r)==="body"&&sa(r).position==="static"&&!p1(r))?n:r||function(o){let s=_c(o);for(;Ms(s)&&!$m(s);){if(p1(s))return s;s=_c(s)}return null}(e)||n}const cY={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Ms(n),s=Pa(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=bi(1);const d=bi(0);if((o||!o&&r!=="fixed")&&((vi(n)!=="body"||od(s))&&(a=zm(n)),Ms(n))){const p=cl(n);c=fc(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+d.x,y:t.y*c.y-a.scrollTop*c.y+d.y}},getDocumentElement:Pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let m=Sh(d).filter(y=>_a(y)&&vi(y)!=="body"),v=null;const b=sa(d).position==="fixed";let w=b?_c(d):d;for(;_a(w)&&!$m(w);){const y=sa(w),S=p1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||od(w)&&!S&&MI(d,w))?m=m.filter(k=>k!==w):v=y,w=_c(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=o4(t,p,o);return d.top=dc(h.top,d.top),d.right=h1(h.right,d.right),d.bottom=h1(h.bottom,d.bottom),d.left=dc(h.left,d.left),d},o4(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:a4,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||a4,s=this.getDimensions;return{reference:lY(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return II(e)},getScale:fc,isElement:_a,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function uY(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=xy(e),h=o||s?[...p?Sh(p):[],...Sh(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,I=null;const P=Pa(S);function E(){clearTimeout(_),I&&I.disconnect(),I=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:T,top:A,width:$,height:Q}=S.getBoundingClientRect();if(R||k(),!$||!Q)return;const B={rootMargin:-op(A)+"px "+-op(P.clientWidth-(T+$))+"px "+-op(P.clientHeight-(A+Q))+"px "+-op(T)+"px",threshold:dc(0,h1(1,M))||1};let V=!0;function q(G){const D=G[0].intersectionRatio;if(D!==M){if(!V)return O();D?O(!1,D):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{I=new IntersectionObserver(q,{...B,root:P.ownerDocument})}catch{I=new IntersectionObserver(q,B)}I.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;a&&(w=new ResizeObserver(S=>{let[k]=S;k&&k.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{w&&w.observe(t)})),n()}),p&&!d&&w.observe(p),w.observe(t));let y=d?cl(e):null;return d&&function S(){const k=cl(e);!y||k.x===y.x&&k.y===y.y&&k.width===y.width&&k.height===y.height||n(),y=k,v=requestAnimationFrame(S)}(),n(),()=>{h.forEach(S=>{o&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(v)}}const dY=(e,t,n)=>{const r=new Map,o={platform:cY,...n},s={...o.platform,_c:r};return YK(e,t,{...o,platform:s})},fY=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?t4({element:t.current,padding:n}).fn(o):{}:t?t4({element:t,padding:n}).fn(o):{}}}};var jp=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ch(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Ch(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!Ch(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function i4(e){const t=f.useRef(e);return jp(()=>{t.current=e}),t}function pY(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:a}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);Ch(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=i4(s),y=i4(o),[S,k]=f.useState(null),[_,I]=f.useState(null),P=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,I(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),dY(m.current,v.current,A).then($=>{const Q={...$,isPositioned:!0};R.current&&!Ch(b.current,Q)&&(b.current=Q,_i.flushSync(()=>{d(Q)}))})},[p,t,n,y]);jp(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[a]);const R=f.useRef(!1);jp(()=>(R.current=!0,()=>{R.current=!1}),[]),jp(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:P,setFloating:E}),[P,E]),T=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:T,reference:P,floating:E}),[c,O,M,T,P,E])}var hY=typeof document<"u"?f.useLayoutEffect:f.useEffect;function mY(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const gY=f.createContext(null),vY=()=>f.useContext(gY);function bY(e){return(e==null?void 0:e.ownerDocument)||document}function yY(e){return bY(e).defaultView||window}function sp(e){return e?e instanceof yY(e).Element:!1}const xY=N1["useInsertionEffect".toString()],wY=xY||(e=>e());function SY(e){const t=f.useRef(()=>{});return wY(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;omY())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=sp(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(sp(k)||k===null)&&(a.current=k,h(k)),(sp(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!sp(k))&&o.refs.setReference(k)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:a}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=SY(n),S=f.useMemo(()=>({...o,refs:b,elements:w,dataRef:c,nodeId:r,events:d,open:t,onOpenChange:y}),[o,r,d,t,y,b,w]);return hY(()=>{const k=s==null?void 0:s.nodesRef.current.find(_=>_.id===r);k&&(k.context=S)}),f.useMemo(()=>({...o,context:S,refs:b,reference:v,positionReference:m}),[o,b,S,v,m])}function kY({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return uY(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),Ps(()=>{t.update()},r),Ps(()=>{s(a=>a+1)},[e])}function _Y(e){const t=[nY(e.offset)];return e.middlewares.shift&&t.push(rY({limiter:oY()})),e.middlewares.flip&&t.push(eY()),e.middlewares.inline&&t.push(tY()),t.push(fY({element:e.arrowRef,padding:e.arrowOffset})),t}function PY(e){const[t,n]=rd({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var a;(a=e.onClose)==null||a.call(e),n(!1)},o=()=>{var a,c;t?((a=e.onClose)==null||a.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=CY({placement:e.position,middleware:[..._Y(e),...e.width==="target"?[sY({apply({rects:a}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${a.reference.width}px`})}})]:[]]});return kY({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),Ps(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),Ps(()=>{var a,c;e.opened?(c=e.onOpen)==null||c.call(e):(a=e.onClose)==null||a.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const DI={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[jY,TI]=hU(DI.context);var IY=Object.defineProperty,EY=Object.defineProperties,OY=Object.getOwnPropertyDescriptors,kh=Object.getOwnPropertySymbols,AI=Object.prototype.hasOwnProperty,NI=Object.prototype.propertyIsEnumerable,l4=(e,t,n)=>t in e?IY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))AI.call(t,n)&&l4(e,n,t[n]);if(kh)for(var n of kh(t))NI.call(t,n)&&l4(e,n,t[n]);return e},RY=(e,t)=>EY(e,OY(t)),MY=(e,t)=>{var n={};for(var r in e)AI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&kh)for(var r of kh(e))t.indexOf(r)<0&&NI.call(e,r)&&(n[r]=e[r]);return n};const DY={refProp:"ref",popupType:"dialog"},$I=f.forwardRef((e,t)=>{const n=Sr("PopoverTarget",DY,e),{children:r,refProp:o,popupType:s}=n,a=MY(n,["children","refProp","popupType"]);if(!dj(r))throw new Error(DI.children);const c=a,d=TI(),p=Ad(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,ap(RY(ap(ap(ap({},c),h),d.targetProps),{className:pj(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});$I.displayName="@mantine/core/PopoverTarget";var TY=so((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const AY=TY;var NY=Object.defineProperty,c4=Object.getOwnPropertySymbols,$Y=Object.prototype.hasOwnProperty,zY=Object.prototype.propertyIsEnumerable,u4=(e,t,n)=>t in e?NY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bl=(e,t)=>{for(var n in t||(t={}))$Y.call(t,n)&&u4(e,n,t[n]);if(c4)for(var n of c4(t))zY.call(t,n)&&u4(e,n,t[n]);return e};const d4={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function LY({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Jf?Bl(Bl(Bl({transitionProperty:Jf[e].transitionProperty},o),Jf[e].common),Jf[e][d4[t]]):null:Bl(Bl(Bl({transitionProperty:e.transitionProperty},o),e.common),e[d4[t]])}function BY({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Fa(),p=xj(),h=d.respectReducedMotion?p:!1,[m,v]=f.useState(h?0:e),[b,w]=f.useState(r?"entered":"exited"),y=f.useRef(-1),S=k=>{const _=k?o:s,I=k?a:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const P=h?0:k?e:t;if(v(P),P===0)typeof _=="function"&&_(),typeof I=="function"&&I(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof I=="function"&&I(),w(k?"entered":"exited")},P)}};return Ps(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function zI({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=BY({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?F.createElement(F.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:F.createElement(F.Fragment,null,s(LY({transition:t,duration:m,state:v,timingFunction:b})))}zI.displayName="@mantine/core/Transition";function LI({children:e,active:t=!0,refProp:n="ref"}){const r=KU(t),o=Ad(r,e==null?void 0:e.ref);return dj(e)?f.cloneElement(e,{[n]:o}):e}LI.displayName="@mantine/core/FocusTrap";var FY=Object.defineProperty,HY=Object.defineProperties,WY=Object.getOwnPropertyDescriptors,f4=Object.getOwnPropertySymbols,VY=Object.prototype.hasOwnProperty,UY=Object.prototype.propertyIsEnumerable,p4=(e,t,n)=>t in e?FY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Za=(e,t)=>{for(var n in t||(t={}))VY.call(t,n)&&p4(e,n,t[n]);if(f4)for(var n of f4(t))UY.call(t,n)&&p4(e,n,t[n]);return e},ip=(e,t)=>HY(e,WY(t));function h4(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function m4(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const GY={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function qY({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:a,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[GY[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?ip(Za(Za({},h),h4(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?ip(Za(Za({},h),h4(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?ip(Za(Za({},h),m4(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?ip(Za(Za({},h),m4(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var KY=Object.defineProperty,YY=Object.defineProperties,XY=Object.getOwnPropertyDescriptors,_h=Object.getOwnPropertySymbols,BI=Object.prototype.hasOwnProperty,FI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?KY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QY=(e,t)=>{for(var n in t||(t={}))BI.call(t,n)&&g4(e,n,t[n]);if(_h)for(var n of _h(t))FI.call(t,n)&&g4(e,n,t[n]);return e},JY=(e,t)=>YY(e,XY(t)),ZY=(e,t)=>{var n={};for(var r in e)BI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_h)for(var r of _h(e))t.indexOf(r)<0&&FI.call(e,r)&&(n[r]=e[r]);return n};const HI=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=ZY(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Fa();return d?F.createElement("div",JY(QY({},m),{ref:t,style:qY({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});HI.displayName="@mantine/core/FloatingArrow";var eX=Object.defineProperty,tX=Object.defineProperties,nX=Object.getOwnPropertyDescriptors,Ph=Object.getOwnPropertySymbols,WI=Object.prototype.hasOwnProperty,VI=Object.prototype.propertyIsEnumerable,v4=(e,t,n)=>t in e?eX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fl=(e,t)=>{for(var n in t||(t={}))WI.call(t,n)&&v4(e,n,t[n]);if(Ph)for(var n of Ph(t))VI.call(t,n)&&v4(e,n,t[n]);return e},lp=(e,t)=>tX(e,nX(t)),rX=(e,t)=>{var n={};for(var r in e)WI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ph)for(var r of Ph(e))t.indexOf(r)<0&&VI.call(e,r)&&(n[r]=e[r]);return n};const oX={};function UI(e){var t;const n=Sr("PopoverDropdown",oX,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=rX(n,["style","className","children","onKeyDownCapture"]),d=TI(),{classes:p,cx:h}=AY({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=FU({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:F.createElement(Uj,lp(Fl({},d.portalProps),{withinPortal:d.withinPortal}),F.createElement(zI,lp(Fl({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var w,y;return F.createElement(LI,{active:d.trapFocus},F.createElement(Po,Fl(lp(Fl({},v),{tabIndex:-1,ref:d.floating,style:lp(Fl(Fl({},r),b),{zIndex:d.zIndex,top:(w=d.y)!=null?w:0,left:(y=d.x)!=null?y:0,width:d.width==="target"?void 0:Ue(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:gU(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,F.createElement(HI,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}UI.displayName="@mantine/core/PopoverDropdown";function sX(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var b4=Object.getOwnPropertySymbols,aX=Object.prototype.hasOwnProperty,iX=Object.prototype.propertyIsEnumerable,lX=(e,t)=>{var n={};for(var r in e)aX.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&b4)for(var r of b4(e))t.indexOf(r)<0&&iX.call(e,r)&&(n[r]=e[r]);return n};const cX={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:uy("popover"),__staticSelector:"Popover",width:"max-content"};function Wc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=Sr("Popover",cX,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:I,arrowOffset:P,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:T,closeOnClickOutside:A,withinPortal:$,portalProps:Q,closeOnEscape:B,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:D,onChange:L,zIndex:W,radius:Y,shadow:ae,id:ye,defaultOpened:ue,__staticSelector:X,withRoles:K,disabled:U,returnFocus:se,variant:re,keepMounted:oe}=d,pe=lX(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[le,ge]=f.useState(null),[_e,ie]=f.useState(null),Se=fy(ye),Fe=Fa(),Ae=PY({middlewares:k,width:S,position:sX(Fe.dir,h),offset:typeof m=="number"?m+(_?I/2:0):m,arrowRef:c,arrowOffset:P,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:ue,onChange:L,onOpen:D,onClose:G});$U(()=>Ae.opened&&A&&Ae.onClose(),V,[le,_e]);const He=f.useCallback(ct=>{ge(ct),Ae.floating.reference(ct)},[Ae.floating.reference]),Ct=f.useCallback(ct=>{ie(ct),Ae.floating.floating(ct)},[Ae.floating.floating]);return F.createElement(jY,{value:{returnFocus:se,disabled:U,controlled:Ae.controlled,reference:He,floating:Ct,x:Ae.floating.x,y:Ae.floating.y,arrowX:(r=(n=(t=Ae.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Ae.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Ae.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:I,arrowOffset:P,arrowRadius:E,arrowPosition:O,placement:Ae.floating.placement,trapFocus:q,withinPortal:$,portalProps:Q,zIndex:W,radius:Y,shadow:ae,closeOnEscape:B,onClose:Ae.onClose,onToggle:Ae.onToggle,getTargetId:()=>`${Se}-target`,getDropdownId:()=>`${Se}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:X,classNames:M,styles:T,unstyled:R,variant:re,keepMounted:oe}},p)}Wc.Target=$I;Wc.Dropdown=UI;Wc.displayName="@mantine/core/Popover";var uX=Object.defineProperty,jh=Object.getOwnPropertySymbols,GI=Object.prototype.hasOwnProperty,qI=Object.prototype.propertyIsEnumerable,y4=(e,t,n)=>t in e?uX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dX=(e,t)=>{for(var n in t||(t={}))GI.call(t,n)&&y4(e,n,t[n]);if(jh)for(var n of jh(t))qI.call(t,n)&&y4(e,n,t[n]);return e},fX=(e,t)=>{var n={};for(var r in e)GI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&jh)for(var r of jh(e))t.indexOf(r)<0&&qI.call(e,r)&&(n[r]=e[r]);return n};function pX(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:a,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=fX(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=KK(null,{name:d,styles:p,classNames:h,unstyled:m});return F.createElement(Wc.Dropdown,dX({p:0,onMouseDown:w=>w.preventDefault()},v),F.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},F.createElement(Po,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Nm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},F.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function hi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:a,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return F.createElement(Wc,{unstyled:w,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:m,zIndex:p,__staticSelector:a,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:y,onPositionChange:k=>d&&(c==null?void 0:c(k==="top"?"column-reverse":"column")),variant:S},s)}hi.Target=Wc.Target;hi.Dropdown=pX;var hX=Object.defineProperty,mX=Object.defineProperties,gX=Object.getOwnPropertyDescriptors,Ih=Object.getOwnPropertySymbols,KI=Object.prototype.hasOwnProperty,YI=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?hX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cp=(e,t)=>{for(var n in t||(t={}))KI.call(t,n)&&x4(e,n,t[n]);if(Ih)for(var n of Ih(t))YI.call(t,n)&&x4(e,n,t[n]);return e},vX=(e,t)=>mX(e,gX(t)),bX=(e,t)=>{var n={};for(var r in e)KI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ih)for(var r of Ih(e))t.indexOf(r)<0&&YI.call(e,r)&&(n[r]=e[r]);return n};function XI(e,t,n){const r=Sr(e,t,n),{label:o,description:s,error:a,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:k,id:_,size:I,style:P,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,T=bX(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=fy(_),{systemStyles:$,rest:Q}=Mm(T),B=cp({label:o,description:s,error:a,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:A,size:I,style:P,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return vX(cp({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:cp(cp({},B),$),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:I,__staticSelector:v,error:a,variant:M}})}var yX=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Wt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const xX=yX;var wX=Object.defineProperty,Eh=Object.getOwnPropertySymbols,QI=Object.prototype.hasOwnProperty,JI=Object.prototype.propertyIsEnumerable,w4=(e,t,n)=>t in e?wX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,SX=(e,t)=>{for(var n in t||(t={}))QI.call(t,n)&&w4(e,n,t[n]);if(Eh)for(var n of Eh(t))JI.call(t,n)&&w4(e,n,t[n]);return e},CX=(e,t)=>{var n={};for(var r in e)QI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Eh)for(var r of Eh(e))t.indexOf(r)<0&&JI.call(e,r)&&(n[r]=e[r]);return n};const kX={labelElement:"label",size:"sm"},wy=f.forwardRef((e,t)=>{const n=Sr("InputLabel",kX,e),{labelElement:r,children:o,required:s,size:a,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=CX(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=xX(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return F.createElement(Po,SX({component:r,ref:t,className:k(S.label,h),htmlFor:r==="label"?m:void 0,onMouseDown:_=>{w==null||w(_),!_.defaultPrevented&&_.detail>1&&_.preventDefault()}},y),o,s&&F.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});wy.displayName="@mantine/core/InputLabel";var _X=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Wt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const PX=_X;var jX=Object.defineProperty,Oh=Object.getOwnPropertySymbols,ZI=Object.prototype.hasOwnProperty,eE=Object.prototype.propertyIsEnumerable,S4=(e,t,n)=>t in e?jX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IX=(e,t)=>{for(var n in t||(t={}))ZI.call(t,n)&&S4(e,n,t[n]);if(Oh)for(var n of Oh(t))eE.call(t,n)&&S4(e,n,t[n]);return e},EX=(e,t)=>{var n={};for(var r in e)ZI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Oh)for(var r of Oh(e))t.indexOf(r)<0&&eE.call(e,r)&&(n[r]=e[r]);return n};const OX={size:"sm"},Sy=f.forwardRef((e,t)=>{const n=Sr("InputError",OX,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=EX(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=PX(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return F.createElement(Sc,IX({className:b(v.error,o),ref:t},m),r)});Sy.displayName="@mantine/core/InputError";var RX=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Wt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const MX=RX;var DX=Object.defineProperty,Rh=Object.getOwnPropertySymbols,tE=Object.prototype.hasOwnProperty,nE=Object.prototype.propertyIsEnumerable,C4=(e,t,n)=>t in e?DX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TX=(e,t)=>{for(var n in t||(t={}))tE.call(t,n)&&C4(e,n,t[n]);if(Rh)for(var n of Rh(t))nE.call(t,n)&&C4(e,n,t[n]);return e},AX=(e,t)=>{var n={};for(var r in e)tE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&nE.call(e,r)&&(n[r]=e[r]);return n};const NX={size:"sm"},Cy=f.forwardRef((e,t)=>{const n=Sr("InputDescription",NX,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=AX(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=MX(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return F.createElement(Sc,TX({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});Cy.displayName="@mantine/core/InputDescription";const rE=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),$X=rE.Provider,zX=()=>f.useContext(rE);function LX(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var BX=Object.defineProperty,FX=Object.defineProperties,HX=Object.getOwnPropertyDescriptors,k4=Object.getOwnPropertySymbols,WX=Object.prototype.hasOwnProperty,VX=Object.prototype.propertyIsEnumerable,_4=(e,t,n)=>t in e?BX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UX=(e,t)=>{for(var n in t||(t={}))WX.call(t,n)&&_4(e,n,t[n]);if(k4)for(var n of k4(t))VX.call(t,n)&&_4(e,n,t[n]);return e},GX=(e,t)=>FX(e,HX(t)),qX=so(e=>({root:GX(UX({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const KX=qX;var YX=Object.defineProperty,XX=Object.defineProperties,QX=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,oE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,P4=(e,t,n)=>t in e?YX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ei=(e,t)=>{for(var n in t||(t={}))oE.call(t,n)&&P4(e,n,t[n]);if(Mh)for(var n of Mh(t))sE.call(t,n)&&P4(e,n,t[n]);return e},j4=(e,t)=>XX(e,QX(t)),JX=(e,t)=>{var n={};for(var r in e)oE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mh)for(var r of Mh(e))t.indexOf(r)<0&&sE.call(e,r)&&(n[r]=e[r]);return n};const ZX={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},aE=f.forwardRef((e,t)=>{const n=Sr("InputWrapper",ZX,e),{className:r,label:o,children:s,required:a,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:k,__staticSelector:_,unstyled:I,inputWrapperOrder:P,withAsterisk:E,variant:O}=n,R=JX(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:T}=KX(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:I,variant:O,size:S}),A={classNames:w,styles:y,unstyled:I,size:S,variant:O,__staticSelector:_},$=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,B=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?B:""}`,G=q.trim().length>0?q.trim():void 0,D=o&&F.createElement(wy,ei(ei({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:$},A),m),o),L=p&&F.createElement(Cy,j4(ei(ei({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||B}),p),W=F.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&F.createElement(Sy,j4(ei(ei({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ae=P.map(ye=>{switch(ye){case"label":return D;case"input":return W;case"description":return L;case"error":return Y;default:return null}});return F.createElement($X,{value:ei({describedBy:G},LX(P,{hasDescription:!!L,hasError:!!Y}))},F.createElement(Po,ei({className:T(M.root,r),ref:t},R),ae))});aE.displayName="@mantine/core/InputWrapper";var eQ=Object.defineProperty,Dh=Object.getOwnPropertySymbols,iE=Object.prototype.hasOwnProperty,lE=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?eQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tQ=(e,t)=>{for(var n in t||(t={}))iE.call(t,n)&&I4(e,n,t[n]);if(Dh)for(var n of Dh(t))lE.call(t,n)&&I4(e,n,t[n]);return e},nQ=(e,t)=>{var n={};for(var r in e)iE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dh)for(var r of Dh(e))t.indexOf(r)<0&&lE.call(e,r)&&(n[r]=e[r]);return n};const rQ={},cE=f.forwardRef((e,t)=>{const n=Sr("InputPlaceholder",rQ,e),{sx:r}=n,o=nQ(n,["sx"]);return F.createElement(Po,tQ({component:"span",sx:[s=>s.fn.placeholderStyles(),...cj(r)],ref:t},o))});cE.displayName="@mantine/core/InputPlaceholder";var oQ=Object.defineProperty,sQ=Object.defineProperties,aQ=Object.getOwnPropertyDescriptors,E4=Object.getOwnPropertySymbols,iQ=Object.prototype.hasOwnProperty,lQ=Object.prototype.propertyIsEnumerable,O4=(e,t,n)=>t in e?oQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,up=(e,t)=>{for(var n in t||(t={}))iQ.call(t,n)&&O4(e,n,t[n]);if(E4)for(var n of E4(t))lQ.call(t,n)&&O4(e,n,t[n]);return e},q0=(e,t)=>sQ(e,aQ(t));const Xo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},cQ=["default","filled","unstyled"];function uQ({theme:e,variant:t}){return cQ.includes(t)?t==="default"?{border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${Ue(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:Ue(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var dQ=so((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:a,offsetBottom:c,offsetTop:d,pointer:p},{variant:h,size:m})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Wt({size:m,sizes:Xo}),paddingLeft:`calc(${Wt({size:m,sizes:Xo})} / 3)`,paddingRight:s?o||Wt({size:m,sizes:Xo}):`calc(${Wt({size:m,sizes:Xo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Wt({size:m,sizes:Xo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:c?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:q0(up(up(q0(up({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Wt({size:m,sizes:Xo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Wt({size:m,sizes:Xo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Wt({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),uQ({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof a=="number"?Ue(a):Wt({size:m,sizes:Xo})},"&::placeholder":q0(up({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:a?Ue(a):Wt({size:m,sizes:Xo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Wt({size:m,sizes:Xo})}}});const fQ=dQ;var pQ=Object.defineProperty,hQ=Object.defineProperties,mQ=Object.getOwnPropertyDescriptors,Th=Object.getOwnPropertySymbols,uE=Object.prototype.hasOwnProperty,dE=Object.prototype.propertyIsEnumerable,R4=(e,t,n)=>t in e?pQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dp=(e,t)=>{for(var n in t||(t={}))uE.call(t,n)&&R4(e,n,t[n]);if(Th)for(var n of Th(t))dE.call(t,n)&&R4(e,n,t[n]);return e},M4=(e,t)=>hQ(e,mQ(t)),gQ=(e,t)=>{var n={};for(var r in e)uE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Th)for(var r of Th(e))t.indexOf(r)<0&&dE.call(e,r)&&(n[r]=e[r]);return n};const vQ={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=Sr("Input",vQ,e),{className:r,error:o,required:s,disabled:a,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:k,styles:_,__staticSelector:I,multiline:P,sx:E,unstyled:O,pointer:R}=n,M=gQ(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:T,offsetTop:A,describedBy:$}=zX(),{classes:Q,cx:B}=fQ({radius:w,multiline:P,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:T,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",I],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=Mm(M);return F.createElement(Po,dp(dp({className:B(Q.wrapper,r),sx:E,style:p},V),S),d&&F.createElement("div",{className:Q.icon},d),F.createElement(Po,M4(dp({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":$,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&F.createElement("div",M4(dp({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=aE;bl.Label=wy;bl.Description=Cy;bl.Error=Sy;bl.Placeholder=cE;const Pc=bl;var bQ=Object.defineProperty,Ah=Object.getOwnPropertySymbols,fE=Object.prototype.hasOwnProperty,pE=Object.prototype.propertyIsEnumerable,D4=(e,t,n)=>t in e?bQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T4=(e,t)=>{for(var n in t||(t={}))fE.call(t,n)&&D4(e,n,t[n]);if(Ah)for(var n of Ah(t))pE.call(t,n)&&D4(e,n,t[n]);return e},yQ=(e,t)=>{var n={};for(var r in e)fE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ah)for(var r of Ah(e))t.indexOf(r)<0&&pE.call(e,r)&&(n[r]=e[r]);return n};const xQ={multiple:!1},hE=f.forwardRef((e,t)=>{const n=Sr("FileButton",xQ,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=yQ(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),w=f.useRef(),y=()=>{!h&&w.current.click()},S=_=>{r(s?Array.from(_.currentTarget.files):_.currentTarget.files[0]||null)};return yj(p,()=>{w.current.value=""}),F.createElement(F.Fragment,null,o(T4({onClick:y},b)),F.createElement("input",T4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Ad(t,w),name:c,form:d,capture:m},v)))});hE.displayName="@mantine/core/FileButton";const mE={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},wQ={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var SQ=so((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Wt({size:o,sizes:mE}),paddingLeft:`calc(${Wt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Wt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Wt({size:o,sizes:wQ}),borderRadius:Wt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${Ue(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Wt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const CQ=SQ;var kQ=Object.defineProperty,Nh=Object.getOwnPropertySymbols,gE=Object.prototype.hasOwnProperty,vE=Object.prototype.propertyIsEnumerable,A4=(e,t,n)=>t in e?kQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_Q=(e,t)=>{for(var n in t||(t={}))gE.call(t,n)&&A4(e,n,t[n]);if(Nh)for(var n of Nh(t))vE.call(t,n)&&A4(e,n,t[n]);return e},PQ=(e,t)=>{var n={};for(var r in e)gE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Nh)for(var r of Nh(e))t.indexOf(r)<0&&vE.call(e,r)&&(n[r]=e[r]);return n};const jQ={xs:16,sm:22,md:24,lg:26,xl:30};function bE(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:a,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=PQ(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=CQ({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return F.createElement("div",_Q({className:y(w.defaultValue,s)},b),F.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&F.createElement(Jj,{"aria-hidden":!0,onMouseDown:a,size:jQ[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}bE.displayName="@mantine/core/MultiSelect/DefaultValue";function IQ({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:a}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const c=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&c.push(e[d]),!(c.length>=n));d+=1);return c}var EQ=Object.defineProperty,$h=Object.getOwnPropertySymbols,yE=Object.prototype.hasOwnProperty,xE=Object.prototype.propertyIsEnumerable,N4=(e,t,n)=>t in e?EQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$4=(e,t)=>{for(var n in t||(t={}))yE.call(t,n)&&N4(e,n,t[n]);if($h)for(var n of $h(t))xE.call(t,n)&&N4(e,n,t[n]);return e},OQ=(e,t)=>{var n={};for(var r in e)yE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$h)for(var r of $h(e))t.indexOf(r)<0&&xE.call(e,r)&&(n[r]=e[r]);return n};const RQ={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function MQ(e){var t=e,{size:n,error:r,style:o}=t,s=OQ(t,["size","error","style"]);const a=Fa(),c=Wt({size:n,sizes:RQ});return F.createElement("svg",$4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:$4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),F.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var DQ=Object.defineProperty,TQ=Object.defineProperties,AQ=Object.getOwnPropertyDescriptors,z4=Object.getOwnPropertySymbols,NQ=Object.prototype.hasOwnProperty,$Q=Object.prototype.propertyIsEnumerable,L4=(e,t,n)=>t in e?DQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zQ=(e,t)=>{for(var n in t||(t={}))NQ.call(t,n)&&L4(e,n,t[n]);if(z4)for(var n of z4(t))$Q.call(t,n)&&L4(e,n,t[n]);return e},LQ=(e,t)=>TQ(e,AQ(t));function wE({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?F.createElement(Jj,LQ(zQ({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):F.createElement(MQ,{error:o,size:r})}wE.displayName="@mantine/core/SelectRightSection";var BQ=Object.defineProperty,FQ=Object.defineProperties,HQ=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,SE=Object.prototype.hasOwnProperty,CE=Object.prototype.propertyIsEnumerable,B4=(e,t,n)=>t in e?BQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,K0=(e,t)=>{for(var n in t||(t={}))SE.call(t,n)&&B4(e,n,t[n]);if(zh)for(var n of zh(t))CE.call(t,n)&&B4(e,n,t[n]);return e},F4=(e,t)=>FQ(e,HQ(t)),WQ=(e,t)=>{var n={};for(var r in e)SE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&zh)for(var r of zh(e))t.indexOf(r)<0&&CE.call(e,r)&&(n[r]=e[r]);return n};function kE(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=WQ(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!a.readOnly&&!(a.disabled&&a.shouldClear)&&F.createElement(wE,K0({},a)),styles:F4(K0({},c),{rightSection:F4(K0({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var VQ=Object.defineProperty,UQ=Object.defineProperties,GQ=Object.getOwnPropertyDescriptors,H4=Object.getOwnPropertySymbols,qQ=Object.prototype.hasOwnProperty,KQ=Object.prototype.propertyIsEnumerable,W4=(e,t,n)=>t in e?VQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,YQ=(e,t)=>{for(var n in t||(t={}))qQ.call(t,n)&&W4(e,n,t[n]);if(H4)for(var n of H4(t))KQ.call(t,n)&&W4(e,n,t[n]);return e},XQ=(e,t)=>UQ(e,GQ(t)),QQ=so((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Wt({size:n,sizes:Xo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Wt({size:n,sizes:Xo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:XQ(YQ({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Wt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Wt({size:n,sizes:mE}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const JQ=QQ;var ZQ=Object.defineProperty,eJ=Object.defineProperties,tJ=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,_E=Object.prototype.hasOwnProperty,PE=Object.prototype.propertyIsEnumerable,V4=(e,t,n)=>t in e?ZQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))_E.call(t,n)&&V4(e,n,t[n]);if(Lh)for(var n of Lh(t))PE.call(t,n)&&V4(e,n,t[n]);return e},U4=(e,t)=>eJ(e,tJ(t)),nJ=(e,t)=>{var n={};for(var r in e)_E.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Lh)for(var r of Lh(e))t.indexOf(r)<0&&PE.call(e,r)&&(n[r]=e[r]);return n};function rJ(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function oJ(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function G4(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const sJ={size:"sm",valueComponent:bE,itemComponent:hy,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:rJ,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:oJ,switchDirectionOnFlip:!1,zIndex:uy("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},jE=f.forwardRef((e,t)=>{const n=Sr("MultiSelect",sJ,e),{className:r,style:o,required:s,label:a,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:k,itemComponent:_,id:I,transitionProps:P,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:T,searchable:A,placeholder:$,filter:Q,limit:B,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:D,onSearchChange:L,searchValue:W,disabled:Y,initiallyOpened:ae,radius:ye,icon:ue,rightSection:X,rightSectionWidth:K,creatable:U,getCreateLabel:se,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:le,onDropdownClose:ge,onDropdownOpen:_e,maxSelectedValues:ie,withinPortal:Se,portalProps:Fe,switchDirectionOnFlip:Ae,zIndex:He,selectOnBlur:Ct,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:we,form:Re,positionDependencies:Pt,onKeyDown:At,unstyled:xe,inputContainer:ht,inputWrapperOrder:$t,readOnly:zt,withAsterisk:Ne,clearButtonProps:qe,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Je=nJ(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Xe,cx:dt,theme:Lt}=JQ({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:xe,size:d,variant:D}),{systemStyles:lr,rest:pn}=Mm(Je),ln=f.useRef(),Fr=f.useRef({}),br=fy(I),[Fn,Hn]=f.useState(ae),[Wn,Ar]=f.useState(-1),[Ro,Hr]=f.useState("column"),[Wr,fs]=rd({value:W,defaultValue:"",finalValue:void 0,onChange:L}),[Nr,$s]=f.useState(!1),{scrollIntoView:ps,targetRef:ua,scrollableRef:zs}=wj({duration:0,offset:5,cancelable:!1,isList:!0}),J=U&&typeof se=="function";let ee=null;const he=y.map($e=>typeof $e=="string"?{label:$e,value:$e}:$e),ke=uj({data:he}),[me,ut]=rd({value:G4(b,y),defaultValue:G4(w,y),finalValue:[],onChange:S}),st=f.useRef(!!ie&&ie{if(!zt){const yt=me.filter(Mt=>Mt!==$e);ut(yt),ie&&yt.length{fs($e.currentTarget.value),!Y&&!st.current&&A&&Hn(!0)},xt=$e=>{typeof M=="function"&&M($e),!Y&&!st.current&&A&&Hn(!0)},Be=IQ({data:ke,searchable:A,searchValue:Wr,limit:B,filter:Q,value:me,disableSelectedItemFiltering:Pe});J&&re(Wr,ke)&&(ee=se(Wr),Be.push({label:Wr,value:Wr,creatable:!0}));const Ce=Math.min(Wn,Be.length-1),Qe=($e,yt,Mt)=>{let Ht=$e;for(;Mt(Ht);)if(Ht=yt(Ht),!Be[Ht].disabled)return Ht;return $e};Ps(()=>{Ar(Pn&&Wr?0:-1)},[Wr,Pn]),Ps(()=>{!Y&&me.length>y.length&&Hn(!1),ie&&me.length=ie&&(st.current=!0,Hn(!1))},[me]);const jt=$e=>{if(!zt)if(V&&fs(""),me.includes($e.value))Ft($e.value);else{if($e.creatable&&typeof oe=="function"){const yt=oe($e.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,$e.value]);me.length===ie-1&&(st.current=!0,Hn(!1)),Be.length===1&&Hn(!1)}},Et=$e=>{typeof T=="function"&&T($e),Ct&&Be[Ce]&&Fn&&jt(Be[Ce]),G&&fs(""),Hn(!1)},Nt=$e=>{if(Nr||(At==null||At($e),zt)||$e.key!=="Backspace"&&ie&&st.current)return;const yt=Ro==="column",Mt=()=>{Ar(jn=>{var Ut;const un=Qe(jn,sn=>sn+1,sn=>sn{Ar(jn=>{var Ut;const un=Qe(jn,sn=>sn-1,sn=>sn>0);return Fn&&(ua.current=Fr.current[(Ut=Be[un])==null?void 0:Ut.value],ps({alignment:yt?"start":"end"})),un})};switch($e.key){case"ArrowUp":{$e.preventDefault(),Hn(!0),yt?Ht():Mt();break}case"ArrowDown":{$e.preventDefault(),Hn(!0),yt?Mt():Ht();break}case"Enter":{$e.preventDefault(),Be[Ce]&&Fn?jt(Be[Ce]):Hn(!0);break}case" ":{A||($e.preventDefault(),Be[Ce]&&Fn?jt(Be[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Wr.length===0&&(ut(me.slice(0,-1)),Hn(!0),ie&&(st.current=!1));break}case"Home":{if(!A){$e.preventDefault(),Fn||Hn(!0);const jn=Be.findIndex(Ut=>!Ut.disabled);Ar(jn),ps({alignment:yt?"end":"start"})}break}case"End":{if(!A){$e.preventDefault(),Fn||Hn(!0);const jn=Be.map(Ut=>!!Ut.disabled).lastIndexOf(!1);Ar(jn),ps({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},Gt=me.map($e=>{let yt=ke.find(Mt=>Mt.value===$e&&!Mt.disabled);return!yt&&J&&(yt={value:$e,label:$e}),yt}).filter($e=>!!$e).map(($e,yt)=>F.createElement(k,U4(Hl({},$e),{variant:D,disabled:Y,className:Xe.value,readOnly:zt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ft($e.value)},key:$e.value,size:d,styles:m,classNames:h,radius:ye,index:yt}))),Zt=$e=>me.includes($e),Jt=()=>{var $e;fs(""),ut([]),($e=ln.current)==null||$e.focus(),ie&&(st.current=!1)},Vt=!zt&&(Be.length>0?Fn:Fn&&!!R);return Ps(()=>{const $e=Vt?_e:ge;typeof $e=="function"&&$e()},[Vt]),F.createElement(Pc.Wrapper,Hl(Hl({required:s,id:br,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:we,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:xe,withAsterisk:Ne,variant:D},lr),v),F.createElement(hi,{opened:Vt,transitionProps:P,shadow:"sm",withinPortal:Se,portalProps:Fe,__staticSelector:"MultiSelect",onDirectionChange:Hr,switchDirectionOnFlip:Ae,zIndex:He,dropdownPosition:on,positionDependencies:[...Pt,Wr],classNames:h,styles:m,unstyled:xe,variant:D},F.createElement(hi.Target,null,F.createElement("div",{className:Xe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Vt?`${br}-items`:null,"aria-controls":br,"aria-expanded":Fn,onMouseLeave:()=>Ar(-1),tabIndex:-1},F.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Re,disabled:Y}),F.createElement(Pc,Hl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:D,disabled:Y,error:p,required:s,radius:ye,icon:ue,unstyled:xe,onMouseDown:$e=>{var yt;$e.preventDefault(),!Y&&!st.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:U4(Hl({},h),{input:dt({[Xe.input]:!A},h==null?void 0:h.input)})},kE({theme:Lt,rightSection:X,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:Jt,error:p,disabled:Y,clearButtonProps:qe,readOnly:zt})),F.createElement("div",{className:Xe.values,"data-clearable":q||void 0},Gt,F.createElement("input",Hl({ref:Ad(t,ln),type:"search",id:br,className:dt(Xe.searchInput,{[Xe.searchInputPointer]:!A,[Xe.searchInputInputHidden]:!Fn&&me.length>0||!A&&me.length>0,[Xe.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Wr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||st.current||zt,placeholder:me.length===0?$:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),F.createElement(hi.Dropdown,{component:le||Nm,maxHeight:E,direction:Ro,id:br,innerRef:zs,__staticSelector:"MultiSelect",classNames:h,styles:m},F.createElement(py,{data:Be,hovered:Ce,classNames:h,styles:m,uuid:br,__staticSelector:"MultiSelect",onItemHover:Ar,onItemSelect:jt,itemsRefs:Fr,itemComponent:_,size:d,nothingFound:R,isItemSelected:Zt,creatable:U&&!!ee,createLabel:ee,unstyled:xe,variant:D}))))});jE.displayName="@mantine/core/MultiSelect";var aJ=Object.defineProperty,iJ=Object.defineProperties,lJ=Object.getOwnPropertyDescriptors,Bh=Object.getOwnPropertySymbols,IE=Object.prototype.hasOwnProperty,EE=Object.prototype.propertyIsEnumerable,q4=(e,t,n)=>t in e?aJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y0=(e,t)=>{for(var n in t||(t={}))IE.call(t,n)&&q4(e,n,t[n]);if(Bh)for(var n of Bh(t))EE.call(t,n)&&q4(e,n,t[n]);return e},cJ=(e,t)=>iJ(e,lJ(t)),uJ=(e,t)=>{var n={};for(var r in e)IE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bh)for(var r of Bh(e))t.indexOf(r)<0&&EE.call(e,r)&&(n[r]=e[r]);return n};const dJ={type:"text",size:"sm",__staticSelector:"TextInput"},OE=f.forwardRef((e,t)=>{const n=XI("TextInput",dJ,e),{inputProps:r,wrapperProps:o}=n,s=uJ(n,["inputProps","wrapperProps"]);return F.createElement(Pc.Wrapper,Y0({},o),F.createElement(Pc,cJ(Y0(Y0({},r),s),{ref:t})))});OE.displayName="@mantine/core/TextInput";function fJ({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:a}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!a&&(c==null?void 0:c.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(c),h=p+n,m=h-e.length;return m>0?e.slice(p-m):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var pJ=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const hJ=pJ;var mJ=Object.defineProperty,gJ=Object.defineProperties,vJ=Object.getOwnPropertyDescriptors,Fh=Object.getOwnPropertySymbols,RE=Object.prototype.hasOwnProperty,ME=Object.prototype.propertyIsEnumerable,K4=(e,t,n)=>t in e?mJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vu=(e,t)=>{for(var n in t||(t={}))RE.call(t,n)&&K4(e,n,t[n]);if(Fh)for(var n of Fh(t))ME.call(t,n)&&K4(e,n,t[n]);return e},X0=(e,t)=>gJ(e,vJ(t)),bJ=(e,t)=>{var n={};for(var r in e)RE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fh)for(var r of Fh(e))t.indexOf(r)<0&&ME.call(e,r)&&(n[r]=e[r]);return n};function yJ(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function xJ(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const wJ={required:!1,size:"sm",shadow:"sm",itemComponent:hy,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:yJ,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:xJ,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:uy("popover"),positionDependencies:[],dropdownPosition:"flip"},ky=f.forwardRef((e,t)=>{const n=XI("Select",wJ,e),{inputProps:r,wrapperProps:o,shadow:s,data:a,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:k,styles:_,filter:I,maxDropdownHeight:P,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:T,onSearchChange:A,searchValue:$,rightSection:Q,rightSectionWidth:B,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:D,onCreate:L,dropdownComponent:W,onDropdownClose:Y,onDropdownOpen:ae,withinPortal:ye,portalProps:ue,switchDirectionOnFlip:X,zIndex:K,name:U,dropdownPosition:se,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:le,positionDependencies:ge,readOnly:_e,clearButtonProps:ie,hoverOnSearchChange:Se}=n,Fe=bJ(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Ae,cx:He,theme:Ct}=hJ(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),we=f.useRef(),Re=f.useRef({}),[Pt,At]=f.useState("column"),xe=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:zt}=wj({duration:0,offset:5,cancelable:!1,isList:!0}),Ne=re===void 0?O:re,qe=ee=>{if(ct!==ee){on(ee);const he=ee?ae:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Je=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Xe=uj({data:Je}),[dt,Lt,lr]=rd({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Xe.find(ee=>ee.value===dt),[ln,Fr]=rd({value:$,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),br=ee=>{Fr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;_e||(Lt(null),lr||br(""),(ee=we.current)==null||ee.focus())};f.useEffect(()=>{const ee=Xe.find(he=>he.value===dt);ee?br(ee.label):(!Pn||!dt)&&br("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&br(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!_e)if(Ne&&(pn==null?void 0:pn.value)===ee.value)Lt(null),qe(!1);else{if(ee.creatable&&typeof L=="function"){const he=L(ee.value);typeof he<"u"&&he!==null&&Lt(typeof he=="string"?he:he.value)}else Lt(ee.value);lr||br(ee.label),bt(-1),qe(!1),we.current.focus()}},Wn=fJ({data:Xe,searchable:E,limit:M,searchValue:ln,filter:I,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Ar=(ee,he,ke)=>{let me=ee;for(;ke(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};Ps(()=>{bt(Se&&ln?0:-1)},[ln,Se]);const Ro=dt?Wn.findIndex(ee=>ee.value===dt):0,Hr=!_e&&(Wn.length>0?ct:ct&&!!R),Wr=()=>{bt(ee=>{var he;const ke=Ar(ee,me=>me-1,me=>me>0);return $t.current=Re.current[(he=Wn[ke])==null?void 0:he.value],Hr&&ht({alignment:xe?"start":"end"}),ke})},fs=()=>{bt(ee=>{var he;const ke=Ar(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Re.current[(ee=Wn[Ro])==null?void 0:ee.value],ht({alignment:xe?"end":"start"})},50);Ps(()=>{Hr&&Nr()},[Hr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?xe?Wr():fs():(bt(Ro),qe(!0),Nr());break}case"ArrowDown":{ee.preventDefault(),ct?xe?fs():Wr():(bt(Ro),qe(!0),Nr());break}case"Home":{if(!E){ee.preventDefault(),ct||qe(!0);const he=Wn.findIndex(ke=>!ke.disabled);bt(he),Hr&&ht({alignment:xe?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||qe(!0);const he=Wn.map(ke=>!!ke.disabled).lastIndexOf(!1);bt(he),Hr&&ht({alignment:xe?"end":"start"})}break}case"Escape":{ee.preventDefault(),qe(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(qe(!0),bt(Ro),Nr()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},ps=ee=>{typeof v=="function"&&v(ee);const he=Xe.find(ke=>ke.value===dt);D&&Wn[vt]&&ct&&Hn(Wn[vt]),br((he==null?void 0:he.label)||""),qe(!1)},ua=ee=>{typeof b=="function"&&b(ee),E&&qe(!0)},zs=ee=>{_e||(br(ee.currentTarget.value),O&&ee.currentTarget.value===""&&Lt(null),bt(-1),qe(!0))},J=()=>{_e||(qe(!ct),dt&&!ct&&bt(Ro))};return F.createElement(Pc.Wrapper,X0(vu({},o),{__staticSelector:"Select"}),F.createElement(hi,{opened:Hr,transitionProps:w,shadow:s,withinPortal:ye,portalProps:ue,__staticSelector:"Select",onDirectionChange:At,switchDirectionOnFlip:X,zIndex:K,dropdownPosition:se,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},F.createElement(hi.Target,null,F.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Hr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Hr,onMouseLeave:()=>bt(-1),tabIndex:-1},F.createElement("input",{type:"hidden",name:U,value:dt||"",form:le,disabled:T}),F.createElement(Pc,vu(X0(vu(vu({autoComplete:"off",type:"search"},r),Fe),{ref:Ad(t,we),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:zs,"aria-autocomplete":"list","aria-controls":Hr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:J,onBlur:ps,onFocus:ua,readOnly:!E||_e,disabled:T,"data-mantine-stop-propagation":Hr,name:null,classNames:X0(vu({},k),{input:He({[Ae.input]:!E},k==null?void 0:k.input)})}),kE({theme:Ct,rightSection:Q,rightSectionWidth:B,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:ie,disabled:T,readOnly:_e}))))),F.createElement(hi.Dropdown,{component:W||Nm,maxHeight:P,direction:Pt,id:r.id,innerRef:zt,__staticSelector:"Select",classNames:k,styles:_},F.createElement(py,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Re,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});ky.displayName="@mantine/core/Select";const _y=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,k,_,I,P,E,O,R,M,T,A,$,Q,B,V,q,G,D,L,W,Y,ae]=Dc("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:a,base400:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:k,base950:_,accent50:I,accent100:P,accent150:E,accent200:O,accent250:R,accent300:M,accent350:T,accent400:A,accent450:$,accent500:Q,accent550:B,accent600:V,accent650:q,accent700:G,accent750:D,accent800:L,accent850:W,accent900:Y,accent950:ae}},DE=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=_y(),{colorMode:y}=Ds(),[S]=Dc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:ze(c,r)(y)},separatorLabel:{color:ze(s,s)(y),"::after":{borderTopColor:ze(r,c)(y)}},input:{backgroundColor:ze(e,p)(y),borderWidth:"2px",borderColor:ze(n,d)(y),color:ze(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:ze(r,a)(y)},"&:focus":{borderColor:ze(m,w)(y)},"&:is(:focus, :hover)":{borderColor:ze(o,s)(y)},"&:focus-within":{borderColor:ze(h,w)(y)},"&[data-disabled]":{backgroundColor:ze(r,c)(y),color:ze(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:ze(t,p)(y),color:ze(p,t)(y),button:{color:ze(p,t)(y)},"&:hover":{backgroundColor:ze(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:ze(n,d)(y),borderColor:ze(n,d)(y),boxShadow:S},item:{backgroundColor:ze(n,d)(y),color:ze(d,n)(y),padding:6,"&[data-hovered]":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)},"&[data-active]":{backgroundColor:ze(r,c)(y),"&:hover":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)}},"&[data-selected]":{backgroundColor:ze(v,w)(y),color:ze(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:ze(b,b)(y),color:ze("white",e)(y)}},"&[data-disabled]":{color:ze(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:ze(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},SJ=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:a,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(_o(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(_o(!1))},[d]),b=f.useCallback(y=>{h(""),o&&o(y)},[o]),w=DE();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(ky,{ref:r,label:s?i.jsx(ho,{isDisabled:a,children:i.jsx(zo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},sr=f.memo(SJ),TE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(wn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Oe,{ref:s,...o,children:i.jsxs(Oe,{children:[i.jsx(Sc,{children:e}),n&&i.jsx(Sc,{size:"xs",color:"base.600",children:n})]})})}));TE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(TE),CJ=fe([Ye],({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),kJ=()=>{const e=te(),{autoAddBoardId:t}=z(CJ),n=f.useRef(null),{boards:r,hasBoards:o}=Zh(void 0,{selectFromResult:({data:a})=>{const c=[{label:"None",value:"none"}];return a==null||a.forEach(({board_id:d,board_name:p})=>{c.push({label:p,value:d})}),{boards:c,hasBoards:c.length>1}}}),s=f.useCallback(a=>{a&&e(O_(a==="none"?void 0:a))},[e]);return i.jsx(sr,{label:"Auto-Add Board",inputRef:n,autoFocus:!0,placeholder:"Select a Board",value:t,data:r,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!o,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},_J=fe([Ye],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n}},Ge),PJ=()=>{const e=te(),{t}=be(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r}=z(_J),o=s=>{e(Op(s))};return i.jsx(gl,{triggerComponent:i.jsx(Le,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Wb,{})}),children:i.jsxs(H,{direction:"column",gap:4,children:[i.jsx(_t,{value:n,onChange:o,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:()=>e(Op(64))}),i.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:s=>e(FR(s.target.checked))}),i.jsx(kJ,{})]})})},jJ=e=>e.image?i.jsx(gm,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(H,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(dl,{size:"xl"})}),mi=e=>{const{icon:t=al,boxSize:n=16}=e;return i.jsxs(H,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(Kr,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(tt,{textAlign:"center",children:e.label})]})},Lm=0,Ri=1,Vc=2,AE=4;function IJ(e,t){return n=>e(t(n))}function EJ(e,t){return t(e)}function NE(e,t){return n=>e(t,n)}function Y4(e,t){return()=>e(t)}function Py(e,t){return t(e),e}function yl(...e){return e}function OJ(e){e()}function X4(e){return()=>e}function RJ(...e){return()=>{e.map(OJ)}}function Bm(){}function po(e,t){return e(Ri,t)}function Mr(e,t){e(Lm,t)}function jy(e){e(Vc)}function Fm(e){return e(AE)}function Un(e,t){return po(e,NE(t,Lm))}function Q4(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function xr(){const e=[];return(t,n)=>{switch(t){case Vc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Lm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function qt(e){let t=e;const n=xr();return(r,o)=>{switch(r){case Ri:o(t);break;case Lm:t=o;break;case AE:return t}return n(r,o)}}function MJ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=po(e,s),t):(r(),Bm);case Vc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function $u(e){return Py(xr(),t=>Un(e,t))}function pc(e,t){return Py(qt(t),n=>Un(e,n))}function DJ(...e){return t=>e.reduceRight(EJ,t)}function Kt(e,...t){const n=DJ(...t);return(r,o)=>{switch(r){case Ri:return po(e,n(o));case Vc:jy(e);return}}}function $E(e,t){return e===t}function wo(e=$E){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function qr(e){return t=>n=>{e(n)&&t(n)}}function tr(e){return t=>IJ(t,e)}function ai(e){return t=>()=>t(e)}function fp(e,t){return n=>r=>n(t=e(t,r))}function m1(e){return t=>n=>{e>0?e--:t(n)}}function ju(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function J4(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Ys(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);po(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function Z4(...e){return function(t,n){switch(t){case Ri:return RJ(...e.map(r=>po(r,n)));case Vc:return;default:throw new Error(`unrecognized action ${t}`)}}}function xn(e,t=$E){return Kt(e,wo(t))}function wa(...e){const t=xr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);po(s,d=>{n[a]=d,r=r|c,r===o&&Mr(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),po(t,a);case Vc:return jy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ca(e,t=[],{singleton:n}={singleton:!0}){return{id:TJ(),constructor:e,dependencies:t,singleton:n}}const TJ=()=>Symbol();function AJ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function NJ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const I=y[t.methods[k]];Mr(I,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=MJ(y[t.events[k]]),S),{})}return{Component:F.forwardRef((y,S)=>{const{children:k,..._}=y,[I]=F.useState(()=>Py(AJ(e),E=>d(E,_))),[P]=F.useState(Y4(h,I));return pp(()=>{for(const E of a)E in _&&po(P[E],_[E]);return()=>{Object.values(P).map(jy)}},[_,P,I]),pp(()=>{d(I,_)}),F.useImperativeHandle(S,X4(p(I))),F.createElement(c.Provider,{value:I},n?F.createElement(n,NJ([...r,...o,...a],_),k):k)}),usePublisher:y=>F.useCallback(NE(Mr,F.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=F.useContext(c)[y],[_,I]=F.useState(Y4(Fm,k));return pp(()=>po(k,P=>{P!==_&&I(X4(P))}),[k,_]),_},useEmitter:(y,S)=>{const _=F.useContext(c)[y];pp(()=>po(_,S),[S,_])}}}const zJ=typeof document<"u"?F.useLayoutEffect:F.useEffect,LJ=zJ;var Iy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Iy||{});const BJ={0:"debug",1:"log",2:"warn",3:"error"},FJ=()=>typeof globalThis>"u"?window:globalThis,zE=ca(()=>{const e=qt(3);return{log:qt((n,r,o=1)=>{var s;const a=(s=FJ().VIRTUOSO_LOG_LEVEL)!=null?s:Fm(e);o>=a&&console[BJ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function LE(e,t=!0){const n=F.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=F.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function Hm(e,t=!0){return LE(e,t).callbackRef}function Hh(e,t){return Math.round(e.getBoundingClientRect()[t])}function BE(e,t){return Math.abs(e-t)<1.01}function FE(e,t,n,r=Bm,o){const s=F.useRef(null),a=F.useRef(null),c=F.useRef(null),d=F.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():HR.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);F.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(Hh(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=Hh(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),BE(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const Wm=ca(()=>{const e=xr(),t=xr(),n=qt(0),r=xr(),o=qt(0),s=xr(),a=xr(),c=qt(0),d=qt(0),p=qt(0),h=qt(0),m=xr(),v=xr(),b=qt(!1);return Un(Kt(e,tr(({scrollTop:w})=>w)),t),Un(Kt(e,tr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),HJ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function WJ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!HJ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const Wh="up",zu="down",VJ="none",UJ={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},GJ=0,HE=ca(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=qt(!1),c=qt(!0),d=xr(),p=xr(),h=qt(4),m=qt(GJ),v=pc(Kt(Z4(Kt(xn(t),m1(1),ai(!0)),Kt(xn(t),m1(1),ai(!1),J4(100))),wo()),!1),b=pc(Kt(Z4(Kt(s,ai(!0)),Kt(s,ai(!1),J4(200))),wo()),!1);Un(Kt(wa(xn(t),xn(m)),tr(([_,I])=>_<=I),wo()),c),Un(Kt(c,ju(50)),p);const w=$u(Kt(wa(e,xn(n),xn(r),xn(o),xn(h)),fp((_,[{scrollTop:I,scrollHeight:P},E,O,R,M])=>{const T=I+E-P>-M,A={viewportHeight:E,scrollTop:I,scrollHeight:P};if(T){let Q,B;return I>_.state.scrollTop?(Q="SCROLLED_DOWN",B=_.state.scrollTop-I):(Q="SIZE_DECREASED",B=_.state.scrollTop-I||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:B}}let $;return A.scrollHeight>_.state.scrollHeight?$="SIZE_INCREASED":E<_.state.viewportHeight?$="VIEWPORT_HEIGHT_DECREASING":I<_.state.scrollTop?$="SCROLLING_UPWARDS":$="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:$,state:A}},UJ),wo((_,I)=>_&&_.atBottom===I.atBottom))),y=pc(Kt(e,fp((_,{scrollTop:I,scrollHeight:P,viewportHeight:E})=>{if(BE(_.scrollHeight,P))return{scrollTop:I,scrollHeight:P,jump:0,changed:!1};{const O=P-(I+E)<1;return _.scrollTop!==I&&O?{scrollHeight:P,scrollTop:I,jump:_.scrollTop-I,changed:!0}:{scrollHeight:P,scrollTop:I,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),qr(_=>_.changed),tr(_=>_.jump)),0);Un(Kt(w,tr(_=>_.atBottom)),a),Un(Kt(a,ju(50)),d);const S=qt(zu);Un(Kt(e,tr(({scrollTop:_})=>_),wo(),fp((_,I)=>Fm(b)?{direction:_.direction,prevScrollTop:I}:{direction:I<_.prevScrollTop?Wh:zu,prevScrollTop:I},{direction:zu,prevScrollTop:0}),tr(_=>_.direction)),S),Un(Kt(e,ju(50),ai(VJ)),S);const k=qt(0);return Un(Kt(v,qr(_=>!_),ai(0)),k),Un(Kt(t,ju(100),Ys(v),qr(([_,I])=>!!I),fp(([_,I],[P])=>[I,P],[0,0]),tr(([_,I])=>I-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},yl(Wm)),qJ=ca(([{log:e}])=>{const t=qt(!1),n=$u(Kt(t,qr(r=>r),wo()));return po(t,r=>{r&&Fm(e)("props updated",{},Iy.DEBUG)}),{propsReady:t,didMount:n}},yl(zE),{singleton:!0});function WE(e,t){e==0?t():requestAnimationFrame(()=>WE(e-1,t))}function KJ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function g1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function YJ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const Vh="top",Uh="bottom",ek="none";function tk(e,t,n){return typeof e=="number"?n===Wh&&t===Vh||n===zu&&t===Uh?e:0:n===Wh?t===Vh?e.main:e.reverse:t===Uh?e.main:e.reverse}function nk(e,t){return typeof e=="number"?e:e[t]||0}const XJ=ca(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=xr(),a=qt(0),c=qt(0),d=qt(0),p=pc(Kt(wa(xn(e),xn(t),xn(r),xn(s,g1),xn(d),xn(a),xn(o),xn(n),xn(c)),tr(([h,m,v,[b,w],y,S,k,_,I])=>{const P=h-_,E=S+k,O=Math.max(v-P,0);let R=ek;const M=nk(I,Vh),T=nk(I,Uh);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=Wh),wh!=null),wo(g1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},yl(Wm),{singleton:!0}),QJ=ca(([{scrollVelocity:e}])=>{const t=qt(!1),n=xr(),r=qt(!1);return Un(Kt(e,Ys(r,t,n),qr(([o,s])=>!!s),tr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),wo()),t),po(Kt(wa(t,e,n),Ys(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},yl(HE),{singleton:!0});function JJ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const ZJ=ca(([{scrollTo:e,scrollContainerState:t}])=>{const n=xr(),r=xr(),o=xr(),s=qt(!1),a=qt(void 0);return Un(Kt(wa(n,r),tr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Kt(e,Ys(r),tr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},yl(Wm)),Q0="-webkit-sticky",rk="sticky",VE=JJ(()=>{if(typeof document>"u")return rk;const e=document.createElement("div");return e.style.position=Q0,e.style.position===Q0?Q0:rk});function eZ(e,t){const n=F.useRef(null),r=F.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=LE(r),a=F.useCallback(()=>{r(s.current)},[r,s]);return F.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}F.createContext(void 0);const UE=F.createContext(void 0);function tZ(e){return e}VE();const nZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},GE={width:"100%",height:"100%",position:"absolute",top:0};VE();function el(e,t){if(typeof e!="string")return{context:t}}function rZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return F.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=FE(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),F.createElement(p,{ref:b,style:{...nZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...el(p,v)},a)})}function oZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return F.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=FE(d,h,p,Bm,b);return LJ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),F.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...el(p,w)},a)})}const ok={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},sZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:sk,ceil:ak,floor:Gh,min:J0,max:Lu}=Math;function aZ(e){return{...sZ,items:e}}function ik(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function iZ(e,t){return e&&e.column===t.column&&e.row===t.row}function hp(e,t){return e&&e.width===t.width&&e.height===t.height}const lZ=ca(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:I},P])=>{const E=qt(0),O=qt(0),R=qt(ok),M=qt({height:0,width:0}),T=qt({height:0,width:0}),A=xr(),$=xr(),Q=qt(0),B=qt(null),V=qt({row:0,column:0}),q=xr(),G=xr(),D=qt(!1),L=qt(0),W=qt(!0),Y=qt(!1);po(Kt(w,Ys(L),qr(([U,se])=>!!se)),()=>{Mr(W,!1),Mr(O,0)}),po(Kt(wa(w,W,T,M,L,Y),qr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Mr(Y,!0),WE(1,()=>{Mr(A,U)}),Q4(Kt(r),()=>{Mr(n,[0,0]),Mr(W,!0)})}),Un(Kt(G,qr(U=>U!=null&&U.scrollTop>0),ai(0)),O),po(Kt(w,Ys(G),qr(([,U])=>U!=null)),([,U])=>{U&&(Mr(M,U.viewport),Mr(T,U==null?void 0:U.item),Mr(V,U.gap),U.scrollTop>0&&(Mr(D,!0),Q4(Kt(r,m1(1)),se=>{Mr(D,!1)}),Mr(a,{top:U.scrollTop})))}),Un(Kt(M,tr(({height:U})=>U)),o),Un(Kt(wa(xn(M,hp),xn(T,hp),xn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),xn(r)),tr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Kt(wa(xn(E),t,xn(V,iZ),xn(T,hp),xn(M,hp),xn(B),xn(O),xn(D),xn(W),xn(L)),qr(([,,,,,,,U])=>!U),tr(([U,[se,re],oe,pe,le,ge,_e,,ie,Se])=>{const{row:Fe,column:Ae}=oe,{height:He,width:Ct}=pe,{width:ct}=le;if(_e===0&&(U===0||ct===0))return ok;if(Ct===0){const $t=KJ(Se,U),zt=$t===0?Math.max(_e-1,0):$t;return aZ(ik($t,zt,ge))}const on=qE(ct,Ct,Ae);let vt,bt;ie?se===0&&re===0&&_e>0?(vt=0,bt=_e-1):(vt=on*Gh((se+Fe)/(He+Fe)),bt=on*ak((re+Fe)/(He+Fe))-1,bt=J0(U-1,Lu(bt,on-1)),vt=J0(bt,Lu(0,vt))):(vt=0,bt=-1);const we=ik(vt,bt,ge),{top:Re,bottom:Pt}=lk(le,oe,pe,we),At=ak(U/on),ht=At*He+(At-1)*Fe-Pt;return{items:we,offsetTop:Re,offsetBottom:ht,top:Re,bottom:Pt,itemHeight:He,itemWidth:Ct}})),R),Un(Kt(B,qr(U=>U!==null),tr(U=>U.length)),E),Un(Kt(wa(M,T,R,V),qr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),tr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=lk(U,oe,se,re);return[pe,le]}),wo(g1)),n);const ae=qt(!1);Un(Kt(r,Ys(ae),tr(([U,se])=>se||U!==0)),ae);const ye=$u(Kt(xn(R),qr(({items:U})=>U.length>0),Ys(E,ae),qr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),tr(([,U])=>U-1),wo())),ue=$u(Kt(xn(R),qr(({items:U})=>U.length>0&&U[0].index===0),ai(0),wo())),X=$u(Kt(xn(R),Ys(D),qr(([{items:U},se])=>U.length>0&&!se),tr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),wo(YJ),ju(0)));Un(X,v.scrollSeekRangeChanged),Un(Kt(A,Ys(M,T,E,V),tr(([U,se,re,oe,pe])=>{const le=WJ(U),{align:ge,behavior:_e,offset:ie}=le;let Se=le.index;Se==="LAST"&&(Se=oe-1),Se=Lu(0,Se,J0(oe-1,Se));let Fe=v1(se,pe,re,Se);return ge==="end"?Fe=sk(Fe-se.height+re.height):ge==="center"&&(Fe=sk(Fe-se.height/2+re.height/2)),ie&&(Fe+=ie),{top:Fe,behavior:_e}})),a);const K=pc(Kt(R,tr(U=>U.offsetBottom+U.bottom)),0);return Un(Kt(y,tr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:B,totalCount:E,viewportDimensions:M,itemDimensions:T,scrollTop:r,scrollHeight:$,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:I,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:L,gridState:R,totalListHeight:K,...m,startReached:ue,endReached:ye,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:D,...P}},yl(XJ,Wm,HE,QJ,qJ,ZJ,zE));function lk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=v1(e,t,n,r[0].index),a=v1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function v1(e,t,n,r){const o=qE(e.width,n.width,t.column),s=Gh(r/o),a=s*n.height+Lu(0,s-1)*t.row;return a>0?a+t.row:a}function qE(e,t,n){return Lu(1,Gh((e+n)/(Gh(t)+n)))}const cZ=ca(()=>{const e=qt(p=>`Item ${p}`),t=qt({}),n=qt(null),r=qt("virtuoso-grid-item"),o=qt("virtuoso-grid-list"),s=qt(tZ),a=qt("div"),c=qt(Bm),d=(p,h=null)=>pc(Kt(t,tr(m=>m[p]),wo()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),uZ=ca(([e,t])=>({...e,...t}),yl(lZ,cZ)),dZ=F.memo(function(){const t=fr("gridState"),n=fr("listClassName"),r=fr("itemClassName"),o=fr("itemContent"),s=fr("computeItemKey"),a=fr("isSeeking"),c=Is("scrollHeight"),d=fr("ItemComponent"),p=fr("ListComponent"),h=fr("ScrollSeekPlaceholder"),m=fr("context"),v=Is("itemDimensions"),b=Is("gap"),w=fr("log"),y=fr("stateRestoreInProgress"),S=Hm(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const I=k.firstChild;if(I){const{width:P,height:E}=I.getBoundingClientRect();v({width:P,height:E})}b({row:ck("row-gap",getComputedStyle(k).rowGap,w),column:ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:F.createElement(p,{ref:S,className:n,...el(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?F.createElement(h,{key:_,...el(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):F.createElement(d,{...el(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),fZ=F.memo(function(){const t=fr("HeaderComponent"),n=Is("headerHeight"),r=fr("headerFooterTag"),o=Hm(a=>n(Hh(a,"height"))),s=fr("context");return t?F.createElement(r,{ref:o},F.createElement(t,el(t,s))):null}),pZ=F.memo(function(){const t=fr("FooterComponent"),n=Is("footerHeight"),r=fr("headerFooterTag"),o=Hm(a=>n(Hh(a,"height"))),s=fr("context");return t?F.createElement(r,{ref:o},F.createElement(t,el(t,s))):null}),hZ=({children:e})=>{const t=F.useContext(UE),n=Is("itemDimensions"),r=Is("viewportDimensions"),o=Hm(s=>{r(s.getBoundingClientRect())});return F.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),F.createElement("div",{style:GE,ref:o},e)},mZ=({children:e})=>{const t=F.useContext(UE),n=Is("windowViewportRect"),r=Is("itemDimensions"),o=fr("customScrollParent"),s=eZ(n,o);return F.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),F.createElement("div",{ref:s,style:GE},e)},gZ=F.memo(function({...t}){const n=fr("useWindowScroll"),r=fr("customScrollParent"),o=r||n?yZ:bZ,s=r||n?mZ:hZ;return F.createElement(o,{...t},F.createElement(s,null,F.createElement(fZ,null),F.createElement(dZ,null),F.createElement(pZ,null)))}),{Component:vZ,usePublisher:Is,useEmitterValue:fr,useEmitter:KE}=$J(uZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},gZ),bZ=rZ({usePublisher:Is,useEmitterValue:fr,useEmitter:KE}),yZ=oZ({usePublisher:Is,useEmitterValue:fr,useEmitter:KE});function ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Iy.WARN),t==="normal"?0:parseInt(t??"0",10)}const YE=vZ,xZ=({imageDTO:e})=>i.jsx(H,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(pl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),Vm=({postUploadAction:e,isDisabled:t})=>{const n=z(d=>d.gallery.autoAddBoardId),[r]=j_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=zb({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Ey=()=>{const e=te(),t=Bc(),{t:n}=be(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((P,E)=>{if(If(P)||Ef(E)){If(P)&&e(Ru(P)),Ef(E)&&e(Mu(E)),r();return}o()},[e,r,o]),d=f.useCallback(P=>{if(!If(P)){o();return}e(Ru(P)),r()},[e,r,o]),p=f.useCallback(P=>{if(!Ef(P)){o();return}e(Mu(P)),r()},[e,r,o]),h=f.useCallback(P=>{if(!R2(P)){o();return}e(Rp(P)),r()},[e,r,o]),m=f.useCallback(P=>{if(!M2(P)){o();return}e(Mp(P)),r()},[e,r,o]),v=f.useCallback(P=>{if(!D2(P)){o();return}e(hv(P)),r()},[e,r,o]),b=f.useCallback(P=>{if(!T2(P)){o();return}e(mv(P)),r()},[e,r,o]),w=f.useCallback(P=>{if(!A2(P)){o();return}e(Dp(P)),r()},[e,r,o]),y=f.useCallback(P=>{if(!N2(P)){o();return}e(hc(P)),r()},[e,r,o]),S=f.useCallback(P=>{if(!$2(P)){o();return}e(mc(P)),r()},[e,r,o]),k=f.useCallback(P=>{if(!z2(P)){o();return}e(Tp(P)),r()},[e,r,o]),_=f.useCallback(P=>{e($1(P))},[e]),I=f.useCallback(P=>{if(!P){a();return}const{cfg_scale:E,height:O,model:R,positive_prompt:M,negative_prompt:T,scheduler:A,seed:$,steps:Q,width:B,strength:V}=P;M2(E)&&e(Mp(E)),D2(R)&&e(hv(R)),If(M)&&e(Ru(M)),Ef(T)&&e(Mu(T)),T2(A)&&e(mv(A)),R2($)&&e(Rp($)),A2(Q)&&e(Dp(Q)),N2(B)&&e(hc(B)),$2(O)&&e(mc(O)),z2(V)&&e(Tp(V)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSeed:h,recallCfgScale:m,recallModel:v,recallScheduler:b,recallSteps:w,recallWidth:y,recallHeight:S,recallStrength:k,recallAllParameters:I,sendToImageToImage:_}},ar=e=>{const t=z(a=>a.config.disabledTabs),n=z(a=>a.config.disabledFeatures),r=z(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},Oy=()=>{const e=Bc(),{t}=be(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function wZ(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var T=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,T)},I=function(M,T){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,T)},P=function(M){if(!m.current)return!1;var T=M-o.current;return!o.current||T>=t||T<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var T=Date.now();if(P(T))return E(T);if(m.current){var A=t-(T-o.current),$=y?Math.min(A,S-(T-s.current)):A;I(M,$)}},R=function(){var M=Date.now(),T=P(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,T){if(!a.current&&m.current)return s.current=o.current,I(O,t),b?_(o.current):p.current;if(y)return I(O,t),_(o.current)}return a.current||I(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function SZ(e,t){return e===t}function uk(e){return typeof e=="function"?function(){return e}:e}function Ry(e,t,n){var r,o,s=n&&n.equalityFn||SZ,a=(r=f.useState(uk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(uk(m))},[])]),c=a[0],d=a[1],p=wZ(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}z1("gallery/requestedBoardImagesDeletion");const CZ=z1("gallery/sentImageToCanvas"),XE=z1("gallery/sentImageToImg2Img"),kZ=e=>{const{imageDTO:t}=e,n=f.useMemo(()=>fe([Ye],({gallery:V})=>({isInBatch:V.batchImageNames.includes(t.image_name)}),Ge),[t.image_name]),{isInBatch:r}=z(n),o=te(),{t:s}=be(),a=Bc(),c=ar("unifiedCanvas").isFeatureEnabled,d=ar("batches").isFeatureEnabled,{onClickAddToBoard:p}=f.useContext(T_),[h,m]=Ry(t.image_name,500),{currentData:v}=L1(m.isPending()?oo.skipToken:h??oo.skipToken),{isClipboardAPIAvailable:b,copyImageToClipboard:w}=Oy(),y=v==null?void 0:v.metadata,S=f.useCallback(()=>{t&&o(B1(t))},[o,t]),{recallBothPrompts:k,recallSeed:_,recallAllParameters:I}=Ey(),[P]=WR(),E=f.useCallback(()=>{k(y==null?void 0:y.positive_prompt,y==null?void 0:y.negative_prompt)},[y==null?void 0:y.negative_prompt,y==null?void 0:y.positive_prompt,k]),O=f.useCallback(()=>{_(y==null?void 0:y.seed)},[y==null?void 0:y.seed,_]),R=f.useCallback(()=>{o(XE()),o($1(t))},[o,t]),M=f.useCallback(()=>{o(CZ()),o(VR(t)),o(em()),o(ql("unifiedCanvas")),a({title:s("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[o,t,s,a]),T=f.useCallback(()=>{console.log(y),I(y)},[y,I]),A=f.useCallback(()=>{p(t)},[t,p]),$=f.useCallback(()=>{t.board_id&&P({imageDTO:t})},[t,P]),Q=f.useCallback(()=>{o(UR([t.image_name]))},[o,t.image_name]),B=f.useCallback(()=>{w(t.image_url)},[w,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(_r,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(XH,{}),children:s("common.openInNewTab")}),b&&i.jsx(_r,{icon:i.jsx(Fc,{}),onClickCapture:B,children:s("parameters.copyImage")}),i.jsx(_r,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(Bb,{}),w:"100%",children:s("parameters.downloadImage")}),i.jsx(_r,{icon:i.jsx(x6,{}),onClickCapture:E,isDisabled:(y==null?void 0:y.positive_prompt)===void 0&&(y==null?void 0:y.negative_prompt)===void 0,children:s("parameters.usePrompt")}),i.jsx(_r,{icon:i.jsx(w6,{}),onClickCapture:O,isDisabled:(y==null?void 0:y.seed)===void 0,children:s("parameters.useSeed")}),i.jsx(_r,{icon:i.jsx(d6,{}),onClickCapture:T,isDisabled:!y,children:s("parameters.useAll")}),i.jsx(_r,{icon:i.jsx(CS,{}),onClickCapture:R,id:"send-to-img2img",children:s("parameters.sendToImg2Img")}),c&&i.jsx(_r,{icon:i.jsx(CS,{}),onClickCapture:M,id:"send-to-canvas",children:s("parameters.sendToUnifiedCanvas")}),d&&i.jsx(_r,{icon:i.jsx(M0,{}),isDisabled:r,onClickCapture:Q,children:"Add to Batch"}),i.jsx(_r,{icon:i.jsx(M0,{}),onClickCapture:A,children:t.board_id?"Change Board":"Add to Board"}),t.board_id&&i.jsx(_r,{icon:i.jsx(M0,{}),onClickCapture:$,children:"Remove from Board"}),i.jsx(_r,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClickCapture:S,children:s("gallery.deleteImage")})]})},QE=f.memo(kZ),_Z=({imageDTO:e,children:t})=>{const n=f.useCallback(r=>{r.preventDefault()},[]);return i.jsx(oj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?i.jsx(zc,{sx:{visibility:"visible !important"},motionProps:nm,onContextMenu:n,children:i.jsx(QE,{imageDTO:e})}):null,children:t})},JE=f.memo(_Z),PZ=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(ui()),{attributes:s,listeners:a,setNodeRef:c}=GR({id:o.current,disabled:n,data:t});return i.jsx(Oe,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},jZ=f.memo(PZ),IZ=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:I="Reset",resetIcon:P=i.jsx(Hb,{}),noContentFallback:E=i.jsx(mi,{icon:al}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[T,A]=f.useState(!1),$=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:B,getUploadInputProps:V}=Vm({postUploadAction:m,isDisabled:p}),q=vp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:ze("base.200","base.800")(M),_hover:{bg:ze("base.300","base.650")(M),color:ze("base.500","base.300")(M)}};return i.jsx(JE,{imageDTO:t,children:D=>i.jsxs(H,{ref:D,onMouseOver:$,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(H,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Tc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(jJ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(xZ,{imageDTO:t}),i.jsx(ly,{isSelected:k,isHovered:R?T:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(H,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:ze("base.500","base.500")(M),...G},...B(),children:[i.jsx("input",{...V()}),i.jsx(Kr,{as:Md,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(jZ,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(iy,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(Le,{onClick:n,"aria-label":I,tooltip:I,icon:P,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},yi=f.memo(IZ),EZ=()=>i.jsx(Oe,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(H,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.100",color:"base.500",_dark:{color:"base.700",bg:"base.850"}},children:i.jsx(Kr,{as:qH,boxSize:16,opacity:.7})})}),ZE=()=>i.jsx(gm,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),OZ=e=>fe([Ye],t=>({selectionCount:t.gallery.selection.length,selection:t.gallery.selection,isSelected:t.gallery.selection.includes(e)}),Ge),RZ=e=>{const t=te(),{imageName:n}=e,{currentData:r,isLoading:o,isError:s}=os(n),a=f.useMemo(()=>OZ(n),[n]),{isSelected:c,selectionCount:d,selection:p}=z(a),h=f.useCallback(()=>{t(qR([n]))},[t,n]),m=f.useMemo(()=>{if(d>1)return{id:"batch",payloadType:"IMAGE_NAMES",payload:{image_names:p}};if(r)return{id:"batch",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,p,d]);return o?i.jsx(ZE,{}):s||!r?i.jsx(EZ,{}):i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(JE,{imageDTO:r,children:v=>i.jsx(Oe,{position:"relative",userSelect:"none",ref:v,sx:{display:"flex",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{imageDTO:r,draggableData:m,isSelected:c,minSize:0,onClickReset:h,isDropDisabled:!0,imageSx:{w:"full",h:"full"},isUploadDisabled:!0,resetTooltip:"Remove from batch",withResetIcon:!0,thumbnail:!0})},n)})})},MZ=f.memo(RZ),eO=Te((e,t)=>i.jsx(Oe,{className:"item-container",ref:t,p:1.5,children:e.children})),tO=Te((e,t)=>{const n=z(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(rl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),DZ=fe([Ye],e=>({imageNames:e.gallery.batchImageNames}),Ge),TZ=()=>{const{t:e}=be(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=sy({defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}}),{imageNames:a}=z(DZ);return f.useEffect(()=>{const{current:c}=t;return n&&c&&o({target:c,elements:{viewport:n}}),()=>{var d;return(d=s())==null?void 0:d.destroy()}},[n,o,s]),a.length?i.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(YE,{style:{height:"100%"},data:a,components:{Item:eO,List:tO},scrollerRef:r,itemContent:(c,d)=>i.jsx(MZ,{imageName:d},d)})}):i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:al})},AZ=f.memo(TZ),NZ=e=>{const t=z(s=>s.gallery.galleryView),{data:n}=KR(e),{data:r}=YR(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},$Z=e=>fe([Ye],({gallery:t})=>({isSelected:t.selection.includes(e),selectionCount:t.selection.length,selection:t.selection}),Ge),zZ=e=>{const t=te(),{imageName:n}=e,{currentData:r}=os(n),o=f.useMemo(()=>$Z(n),[n]),{isSelected:s,selectionCount:a,selection:c}=z(o),d=f.useCallback(()=>{t(gv(n))},[t,n]),p=f.useCallback(m=>{m.stopPropagation(),r&&t(B1(r))},[t,r]),h=f.useMemo(()=>{if(a>1)return{id:"gallery-image",payloadType:"IMAGE_NAMES",payload:{image_names:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,a]);return r?i.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(H,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{onClick:d,imageDTO:r,draggableData:h,isSelected:s,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0})})}):i.jsx(ZE,{})},LZ=f.memo(zZ),BZ={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},FZ=()=>{const{t:e}=be(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=sy(BZ),a=z(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=NZ(a),d=z(A_),{currentData:p,isFetching:h,isSuccess:m,isError:v}=XR(d),[b]=N_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:$_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(H,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:al})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(YE,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:eO,List:tO},scrollerRef:r,itemContent:(S,k)=>i.jsx(LZ,{imageName:k},k)})}),i.jsx(rn,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Oe,{sx:{w:"full",h:"full"},children:i.jsx(mi,{label:"Unable to load Gallery",icon:h6})}):null:i.jsx(H,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:"Loading...",icon:al})})},HZ=f.memo(FZ),WZ=fe([Ye],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{selectedBoardId:t,galleryView:n}},Ge),VZ=()=>{const e=f.useRef(null),t=f.useRef(null),{selectedBoardId:n,galleryView:r}=z(WZ),o=te(),{isOpen:s,onToggle:a}=ss(),c=f.useCallback(()=>{o(L2("images"))},[o]),d=f.useCallback(()=>{o(L2("assets"))},[o]);return i.jsxs(VP,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Oe,{sx:{w:"full"},children:[i.jsxs(H,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(iU,{isOpen:s,onToggle:a}),i.jsx(PJ,{}),i.jsx(cU,{})]}),i.jsx(Oe,{children:i.jsx(oU,{isOpen:s})})]}),i.jsxs(H,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(H,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx(Ed,{index:r==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(Od,{children:i.jsxs(nr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(wc,{as:rn,size:"sm",isChecked:r==="images",onClick:c,sx:{w:"full"},leftIcon:i.jsx(tW,{}),children:"Images"}),i.jsx(wc,{as:rn,size:"sm",isChecked:r==="assets",onClick:d,sx:{w:"full"},leftIcon:i.jsx(fW,{}),children:"Assets"})]})})})}),n==="batch"?i.jsx(AZ,{}):i.jsx(HZ,{})]})]})},nO=f.memo(VZ),UZ=fe([Kn,La,QR,ir],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Qt}}),GZ=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=z(UZ),o=()=>{e(vv(!1)),t&&e(So())};nt("esc",()=>{e(vv(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return nt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Op(a))}},[r]),nt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Op(a))}},[r]),t?null:i.jsx(i6,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(nO,{})})},qZ=f.memo(GZ),KZ=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(wn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(ho,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(zo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Nb,{...c})]})})},wr=f.memo(KZ),YZ=fe([Ye,JR],({system:e,config:t,imageDeletion:n},r)=>{const{shouldConfirmOnDelete:o}=e,{canRestoreDeletedImagesFromBin:s}=t,{imageToDelete:a,isModalOpen:c}=n;return{shouldConfirmOnDelete:o,canRestoreDeletedImagesFromBin:s,imageToDelete:a,imageUsage:r,isModalOpen:c}},Ge),XZ=()=>{const e=te(),{t}=be(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imageToDelete:o,imageUsage:s,isModalOpen:a}=z(YZ),c=f.useCallback(m=>e(z_(!m.target.checked)),[e]),d=f.useCallback(()=>{e(B2()),e(ZR(!1))},[e]),p=f.useCallback(()=>{!o||!s||(e(B2()),e(eM({imageDTO:o,imageUsage:s})))},[e,o,s]),h=f.useRef(null);return i.jsx(Pd,{isOpen:a,onClose:d,leastDestructiveRef:h,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Da,{children:i.jsxs(H,{direction:"column",gap:3,children:[i.jsx(ej,{imageUsage:s}),i.jsx(hl,{}),i.jsx(tt,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(tt,{children:t("common.areYouSure")}),i.jsx(wr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:c})]})}),i.jsxs(Oa,{children:[i.jsx(rn,{ref:h,onClick:d,children:"Cancel"}),i.jsx(rn,{colorScheme:"error",onClick:p,ml:3,children:"Delete"})]})]})})})},QZ=f.memo(XZ);function JZ(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(rl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(rl,{children:[i.jsx(tt,{fontWeight:600,children:t}),r&&i.jsx(tt,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Oe,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function ZZ({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=be(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(H,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(H,{flexDir:"column",px:2,gap:4,children:[i.jsx(JZ,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=tM(),n=f.useRef(null),r=rO(n);return i.jsxs(H,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Tc,{src:M_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(H,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(tt,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(Fo,{children:e&&r&&t&&i.jsx(Xr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(tt,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},aee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=DE();return i.jsx(wn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(ky,{label:r?i.jsx(ho,{isRequired:s,isDisabled:o,children:i.jsx(zo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Yr=f.memo(aee);function Yo(e){const{t}=be(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(H,{justifyContent:"space-between",py:1,children:[i.jsxs(H,{gap:2,alignItems:"center",children:[i.jsx(tt,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(pl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(wr,{...c})]})}const Gl=e=>i.jsx(H,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function iee(){const e=te(),{data:t,refetch:n}=nM(),[r,{isLoading:o}]=rM(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(oM()),e(F1()),e(Dn({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Gl,{children:[i.jsx(Xs,{size:"sm",children:"Clear Intermediates"}),i.jsx(rn,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(tt,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(tt,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(tt,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const lee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=_y(),{colorMode:y}=Ds(),[S]=Dc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:ze(c,r)(y)},separatorLabel:{color:ze(s,s)(y),"::after":{borderTopColor:ze(r,c)(y)}},searchInput:{":placeholder":{color:ze(r,c)(y)}},input:{backgroundColor:ze(e,p)(y),borderWidth:"2px",borderColor:ze(n,d)(y),color:ze(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:ze(r,a)(y)},"&:focus":{borderColor:ze(m,w)(y)},"&:is(:focus, :hover)":{borderColor:ze(o,s)(y)},"&:focus-within":{borderColor:ze(h,w)(y)},"&[data-disabled]":{backgroundColor:ze(r,c)(y),color:ze(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:ze(n,d)(y),color:ze(p,t)(y),button:{color:ze(p,t)(y)},"&:hover":{backgroundColor:ze(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:ze(n,d)(y),borderColor:ze(n,d)(y),boxShadow:S},item:{backgroundColor:ze(n,d)(y),color:ze(d,n)(y),padding:6,"&[data-hovered]":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)},"&[data-active]":{backgroundColor:ze(r,c)(y),"&:hover":{color:ze(p,t)(y),backgroundColor:ze(r,c)(y)}},"&[data-selected]":{backgroundColor:ze(v,w)(y),color:ze(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:ze(b,b)(y),color:ze("white",e)(y)}},"&[data-disabled]":{color:ze(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:ze(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},cee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(_o(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(_o(!1))},[c]),h=lee();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(jE,{label:o?i.jsx(ho,{isDisabled:s,children:i.jsx(zo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},uee=f.memo(cee),dee=cs(H1,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function fee(){const e=te(),{t}=be(),n=z(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(sM(o))},[e]);return i.jsx(uee,{label:t("settings.favoriteSchedulers"),value:n,data:dee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const pee={ar:Ln.t("common.langArabic",{lng:"ar"}),nl:Ln.t("common.langDutch",{lng:"nl"}),en:Ln.t("common.langEnglish",{lng:"en"}),fr:Ln.t("common.langFrench",{lng:"fr"}),de:Ln.t("common.langGerman",{lng:"de"}),he:Ln.t("common.langHebrew",{lng:"he"}),it:Ln.t("common.langItalian",{lng:"it"}),ja:Ln.t("common.langJapanese",{lng:"ja"}),ko:Ln.t("common.langKorean",{lng:"ko"}),pl:Ln.t("common.langPolish",{lng:"pl"}),pt_BR:Ln.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Ln.t("common.langPortuguese",{lng:"pt"}),ru:Ln.t("common.langRussian",{lng:"ru"}),zh_CN:Ln.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Ln.t("common.langSpanish",{lng:"es"}),uk:Ln.t("common.langUkranian",{lng:"ua"})},hee=fe([Ye],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Qt}}),mee=({children:e,config:t})=>{const n=te(),{t:r}=be(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0,h=(t==null?void 0:t.shouldShowLocalizationToggle)??!0;f.useEffect(()=>{s||n(F2(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=L_(void 0,{selectFromResult:({data:X})=>({isNSFWCheckerAvailable:(X==null?void 0:X.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(X==null?void 0:X.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:b,onOpen:w,onClose:y}=ss(),{isOpen:S,onOpen:k,onClose:_}=ss(),{shouldConfirmOnDelete:I,enableImageDebugging:P,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:T,shouldAntialiasProgressImage:A,shouldShowAdvancedOptions:$,isNodesEnabled:Q,shouldUseNSFWChecker:B,shouldUseWatermarker:V}=z(hee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(aM.includes(X)||X.startsWith(iM))&&localStorage.removeItem(X)}),y(),k()},[y,k]),G=f.useCallback(X=>{n(lM(X))},[n]),D=f.useCallback(X=>{n(cM(X))},[n]),L=f.useCallback(X=>{n(F2(X.target.checked))},[n]),W=f.useCallback(X=>{n(uM(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),ye=ar("localization").isFeatureEnabled,ue=z(V5);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:w}),i.jsxs(Qu,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[i.jsx(Ma,{}),i.jsxs(Ju,{children:[i.jsx(Ra,{bg:"none",children:r("common.settingsLabel")}),i.jsx(Ob,{}),i.jsx(Da,{children:i.jsxs(H,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Gl,{children:[i.jsx(Xs,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:I,onChange:X=>n(z_(X.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:$,onChange:X=>n(dM(X.target.checked))})]}),i.jsxs(Gl,{children:[i.jsx(Xs,{size:"sm",children:r("settings.generation")}),i.jsx(fee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:B,onChange:X=>n(fM(X.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(pM(X.target.checked))})]}),i.jsxs(Gl,{children:[i.jsx(Xs,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:Y==="dark",onChange:ae}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:O,onChange:X=>n(hM(X.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(B_(X.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:A,onChange:X=>n(mM(X.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(gM(X.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:W}),h&&i.jsx(Yr,{disabled:!ye,label:r("common.languagePickerLabel"),value:ue,data:Object.entries(pee).map(([X,K])=>({value:X,label:K})),onChange:D})]}),s&&i.jsxs(Gl,{children:[i.jsx(Xs,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:T,onChange:L}),i.jsx(Yr,{disabled:!T,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:vM.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:P,onChange:X=>n(bM(X.target.checked))})]}),d&&i.jsx(iee,{}),i.jsxs(Gl,{children:[i.jsx(Xs,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(rn,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(tt,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(tt,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Oa,{children:i.jsx(rn,{onClick:y,children:r("common.close")})})]})]}),i.jsxs(Qu,{closeOnOverlayClick:!1,isOpen:S,onClose:_,isCentered:!0,children:[i.jsx(Ma,{backdropFilter:"blur(40px)"}),i.jsxs(Ju,{children:[i.jsx(Ra,{}),i.jsx(Da,{children:i.jsx(H,{justifyContent:"center",children:i.jsx(tt,{fontSize:"lg",children:i.jsx(tt,{children:r("settings.resetComplete")})})})}),i.jsx(Oa,{})]})]})]})},gee=fe(mo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Ge),pk={ok:"green.400",working:"yellow.400",error:"red.400"},hk={ok:"green.600",working:"yellow.500",error:"red.500"},vee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=z(gee),{t:s}=be(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=rO(a);return i.jsxs(H,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(Fo,{children:p&&i.jsx(Xr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(tt,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:hk[c],_dark:{color:pk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(Kr,{as:VH,sx:{boxSize:"0.5rem",color:hk[c],_dark:{color:pk[c]}}})]})},bee=()=>{const{t:e}=be(),t=ar("bugLink").isFeatureEnabled,n=ar("discordLink").isFeatureEnabled,r=ar("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(H,{sx:{gap:2,alignItems:"center"},children:[i.jsx(oO,{}),i.jsx(fl,{}),i.jsx(vee,{}),i.jsxs(kd,{children:[i.jsx(_d,{as:Le,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx(FH,{}),sx:{boxSize:8}}),i.jsxs(zc,{motionProps:nm,children:[i.jsxs(Xu,{title:e("common.communityLabel"),children:[r&&i.jsx(_r,{as:"a",href:o,target:"_blank",icon:i.jsx(TH,{}),children:e("common.githubLabel")}),t&&i.jsx(_r,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(HH,{}),children:e("common.reportBugLabel")}),n&&i.jsx(_r,{as:"a",href:s,target:"_blank",icon:i.jsx(DH,{}),children:e("common.discordLabel")})]}),i.jsxs(Xu,{title:e("common.settingsLabel"),children:[i.jsx(ZZ,{children:i.jsx(_r,{as:"button",icon:i.jsx(oW,{}),children:e("common.hotkeysLabel")})}),i.jsx(mee,{children:i.jsx(_r,{as:"button",icon:i.jsx(UH,{}),children:e("common.settingsLabel")})})]})]})]})]})},yee=f.memo(bee);function xee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function wee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function See(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function Cee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function kee(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function sO(e){return rt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const _ee=fe(mo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),Pee=()=>{const{shouldShow:e,tooltip:t}=z(_ee);return e?i.jsx(H,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(wn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(dl,{})})}):null},jee=f.memo(Pee),aO=e=>e.config,{createElement:jc,createContext:Iee,forwardRef:iO,useCallback:ri,useContext:lO,useEffect:ja,useImperativeHandle:cO,useLayoutEffect:Eee,useMemo:Oee,useRef:Zo,useState:Bu}=N1,mk=N1["useId".toString()],Ree=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",qh=Ree?Eee:()=>{},Mee=typeof mk=="function"?mk:()=>null;let Dee=0;function My(e=null){const t=Mee(),n=Zo(e||t||null);return n.current===null&&(n.current=""+Dee++),n.current}const Um=Iee(null);Um.displayName="PanelGroupContext";function uO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=lO(Um);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=My(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:I,resizePanel:P,unregisterPanel:E}=w,O=Zo({onCollapse:p,onResize:h});if(ja(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=Zo({size:gk(R)}),T=Zo({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return qh(()=>{M.current.size=gk(R),T.current.callbacksRef=O,T.current.collapsedSize=n,T.current.collapsible=r,T.current.defaultSize=o,T.current.id=y,T.current.maxSize=c,T.current.minSize=d,T.current.order=m}),qh(()=>(I(y,T),()=>{E(y)}),[m,y,I,E]),cO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>P(y,A)}),[S,k,y,P]),jc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const sd=iO((e,t)=>jc(uO,{...e,forwardedRef:t}));uO.displayName="Panel";sd.displayName="forwardRef(Panel)";function gk(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const ul=10;function Iu(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Qo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(P=>P.current.id===y),k=h[S],_=p[S],I=vk(k,Math.abs(o),_,e);if(_===I)return p;I===0&&_>0&&a.set(y,_),o=o<0?_-I:I-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=vk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(ul).localeCompare(Math.abs(o).toPrecision(ul),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Wl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function Z0(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function dO(e,t,n){if(e.size===1)return"100";const o=Qo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(ul)}function Tee(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Dy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function Gm(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function Aee(e){return fO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function fO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function pO(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Ty(e,t,n){var d,p,h,m;const r=Gm(t),o=pO(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Qo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function vk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Dy(t),{height:p,width:h}=d.getBoundingClientRect(),v=pO(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Qo(c),[S,k]=Ty(t,w,y);if(S==null||k==null)return()=>{};let _=0,I=100,P=0,E=0;y.forEach($=>{$.current.id===S?(I=$.current.maxSize,_=$.current.minSize):(P+=$.current.minSize,E+=$.current.maxSize)});const O=Math.min(I,100-P),R=Math.max(_,(y.length-1)*100-E),M=dO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const T=$=>{if(!$.defaultPrevented)switch($.key){case"Enter":{$.preventDefault();const Q=y.findIndex(B=>B.current.id===S);if(Q>=0){const B=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(ul)<=B.current.minSize.toPrecision(ul)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Iu($,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",T);const A=Tee(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",T),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function $ee({disabled:e,handleId:t,resizeHandler:n}){ja(()=>{if(e||n==null)return;const r=Gm(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=fO(),c=Aee(t);hO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function zee(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===P),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(ul)===O.current.minSize.toPrecision(ul))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return mO(e,n,o,c,d)}function Bee(e){return e.type==="keydown"}function b1(e){return e.type.startsWith("mouse")}function y1(e){return e.type.startsWith("touch")}let x1=null,qi=null;function gO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function Fee(){qi!==null&&(document.head.removeChild(qi),x1=null,qi=null)}function ev(e){if(x1===e)return;x1=e;const t=gO(e);qi===null&&(qi=document.createElement("style"),document.head.appendChild(qi)),qi.innerHTML=`*{cursor: ${t}!important;}`}function Hee(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function vO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function bO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function Wee(e,t,n){const r=bO(e,n);if(r){const o=vO(t);return r[o]??null}return null}function Vee(e,t,n,r){const o=vO(t),s=bO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const tv={};function bk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Eu={getItem:e=>(bk(Eu),Eu.getItem(e)),setItem:(e,t)=>{bk(Eu),Eu.setItem(e,t)}};function yO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Eu,style:p={},tagName:h="div"}){const m=My(a),[v,b]=Bu(null),[w,y]=Bu(new Map),S=Zo(null),k=Zo({onLayout:c});ja(()=>{k.current.onLayout=c});const _=Zo({}),[I,P]=Bu([]),E=Zo(new Map),O=Zo(0),R=Zo({direction:r,panels:w,sizes:I});cO(s,()=>({getLayout:()=>{const{sizes:D}=R.current;return D},setLayout:D=>{const L=D.reduce((ye,ue)=>ye+ue,0);hO(L===100,"Panel sizes must add up to 100%");const{panels:W}=R.current,Y=_.current,ae=Qo(W);P(D),Wl(ae,D,Y)}}),[]),qh(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=I}),Nee({committedValuesRef:R,groupId:m,panels:w,setSizes:P,sizes:I,panelSizeBeforeCollapse:E}),ja(()=>{const{onLayout:D}=k.current,{panels:L,sizes:W}=R.current;if(W.length>0){D&&D(W);const Y=_.current,ae=Qo(L);Wl(ae,W,Y)}},[I]),qh(()=>{if(R.current.sizes.length===w.size)return;let L=null;if(e){const W=Qo(w);L=Wee(e,W,d)}if(L!=null)P(L);else{const W=Qo(w);let Y=0,ae=0,ye=0;if(W.forEach(ue=>{ye+=ue.current.minSize,ue.current.defaultSize===null?Y++:ae+=ue.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if(W.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(ye>100)throw new Error("Minimum panel sizes cannot exceed 100%");P(W.map(ue=>ue.current.defaultSize===null?(100-ae)/Y:ue.current.defaultSize))}},[e,w,d]),ja(()=>{if(e){if(I.length===0||I.length!==w.size)return;const D=Qo(w);tv[e]||(tv[e]=Hee(Vee,100)),tv[e](e,D,I,d)}},[e,w,I,d]);const M=ri((D,L)=>{const{panels:W}=R.current;return W.size===0?{flexBasis:0,flexGrow:L??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:dO(W,D,I),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,I]),T=ri((D,L)=>{y(W=>{if(W.has(D))return W;const Y=new Map(W);return Y.set(D,L),Y})},[]),A=ri(D=>W=>{W.preventDefault();const{direction:Y,panels:ae,sizes:ye}=R.current,ue=Qo(ae),[X,K]=Ty(m,D,ue);if(X==null||K==null)return;let U=Lee(W,m,D,ue,Y,ye,S.current);if(U===0)return;const re=Dy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=Iu(W,ae,X,K,le,ye,E.current,S.current),_e=!zee(ye,ge);if((b1(W)||y1(W))&&O.current!=le&&ev(_e?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),_e){const ie=_.current;P(ge),Wl(ue,ge,ie)}O.current=le},[m]),$=ri(D=>{y(L=>{if(!L.has(D))return L;const W=new Map(L);return W.delete(D),W})},[]),Q=ri(D=>{const{panels:L,sizes:W}=R.current,Y=L.get(D);if(Y==null)return;const{collapsedSize:ae,collapsible:ye}=Y.current;if(!ye)return;const ue=Qo(L),X=ue.indexOf(Y);if(X<0)return;const K=W[X];if(K===ae)return;E.current.set(D,K);const[U,se]=Z0(D,ue);if(U==null||se==null)return;const oe=X===ue.length-1?K:ae-K,pe=Iu(null,L,U,se,oe,W,E.current,null);if(W!==pe){const le=_.current;P(pe),Wl(ue,pe,le)}},[]),B=ri(D=>{const{panels:L,sizes:W}=R.current,Y=L.get(D);if(Y==null)return;const{collapsedSize:ae,minSize:ye}=Y.current,ue=E.current.get(D)||ye;if(!ue)return;const X=Qo(L),K=X.indexOf(Y);if(K<0||W[K]!==ae)return;const[se,re]=Z0(D,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ue:ue,le=Iu(null,L,se,re,pe,W,E.current,null);if(W!==le){const ge=_.current;P(le),Wl(X,le,ge)}},[]),V=ri((D,L)=>{const{panels:W,sizes:Y}=R.current,ae=W.get(D);if(ae==null)return;const{collapsedSize:ye,collapsible:ue,maxSize:X,minSize:K}=ae.current,U=Qo(W),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===L)return;ue&&L===ye||(L=Math.min(X,Math.max(K,L)));const[oe,pe]=Z0(D,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-L:L-re,_e=Iu(null,W,oe,pe,ge,Y,E.current,null);if(Y!==_e){const ie=_.current;P(_e),Wl(U,_e,ie)}},[]),q=Oee(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:B,getPanelStyle:M,groupId:m,registerPanel:T,registerResizeHandle:A,resizePanel:V,startDragging:(D,L)=>{if(b(D),b1(L)||y1(L)){const W=Gm(D);S.current={dragHandleRect:W.getBoundingClientRect(),dragOffset:mO(L,D,r),sizes:R.current.sizes}}},stopDragging:()=>{Fee(),b(null),S.current=null},unregisterPanel:$}),[v,Q,r,B,M,m,T,A,V,$]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return jc(Um.Provider,{children:jc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Ay=iO((e,t)=>jc(yO,{...e,forwardedRef:t}));yO.displayName="PanelGroup";Ay.displayName="forwardRef(PanelGroup)";function w1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=Zo(null),d=Zo({onDragging:o});ja(()=>{d.current.onDragging=o});const p=lO(Um);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=My(r),k=h===S,[_,I]=Bu(!1),[P,E]=Bu(null),O=ri(()=>{c.current.blur(),y();const{onDragging:T}=d.current;T&&T(!1)},[y]);ja(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),ja(()=>{if(n||P==null||!k)return;const M=Q=>{P(Q)},T=Q=>{P(Q)},$=c.current.ownerDocument;return $.body.addEventListener("contextmenu",O),$.body.addEventListener("mousemove",M),$.body.addEventListener("touchmove",M),$.body.addEventListener("mouseleave",T),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{$.body.removeEventListener("contextmenu",O),$.body.removeEventListener("mousemove",M),$.body.removeEventListener("touchmove",M),$.body.removeEventListener("mouseleave",T),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,P,O]),$ee({disabled:n,handleId:S,resizeHandler:P});const R={cursor:gO(m),touchAction:"none",userSelect:"none"};return jc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>I(!1),onFocus:()=>I(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:T}=d.current;T&&T(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}w1.displayName="PanelResizeHandle";const Uee=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Gee=fe([Ye],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ge),qee=()=>{const{initialImage:e}=z(Gee),{currentData:t}=os((e==null?void 0:e.imageName)??oo.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(yi,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(mi,{label:"No initial image selected"})})},Kee=fe([Ye],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ge),Yee={type:"SET_INITIAL_IMAGE"},Xee=()=>{const{isResetButtonDisabled:e}=z(Kee),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=Vm({postUploadAction:Yee}),o=f.useCallback(()=>{t(yM())},[t]);return i.jsxs(H,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(H,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(tt,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(fl,{}),i.jsx(Le,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Md,{}),...n()}),i.jsx(Le,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(Hb,{}),onClick:o,isDisabled:e})]}),i.jsx(qee,{}),i.jsx("input",{...r()})]})},Qee=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Oe,{children:[i.jsxs(H,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?ze("base.200","base.750")(c):ze("base.150","base.800")(c),color:ze("base.900","base.100")(c),_hover:{bg:s?ze("base.250","base.700")(c):ze("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(Fo,{children:n&&i.jsx(Xr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(tt,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(fl,{}),i.jsx(ay,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(sm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Oe,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Oo=f.memo(Qee),Jee=fe(Ye,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ge),Zee=()=>{const{combinatorial:e,isDisabled:t}=z(Jee),n=te(),r=f.useCallback(()=>{n(xM())},[n]);return i.jsx(wr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},ete=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ge),tte=()=>{const e=te(),{isEnabled:t}=z(ete),n=f.useCallback(()=>{e(wM())},[e]);return i.jsx(wr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},nte=fe(Ye,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Ge),rte=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=z(nte),s=te(),a=f.useCallback(d=>{s(SM(d))},[s]),c=f.useCallback(()=>{s(CM())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},ote=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ge),zd=()=>{const{activeLabel:e}=z(ote);return ar("dynamicPrompting").isFeatureEnabled?i.jsx(Oo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(H,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tte,{}),i.jsx(Zee,{}),i.jsx(rte,{})]})}):null},Ny=e=>{e.stopPropagation()},ste=Te((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(_o(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(_o(!1))},[n]);return i.jsx(W5,{ref:t,onPaste:Ny,onKeyDown:r,onKeyUp:o,...e})}),qm=f.memo(ste),ate=e=>{const{onClick:t}=e;return i.jsx(Le,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(Lb,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},Km=f.memo(ate),$y="28rem",Ym=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=kM(),a=f.useRef(null),c=z(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return jo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:vr[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Tb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Db,{children:o}),i.jsx(Ab,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(x5,{sx:{p:0,w:`calc(${$y} - 2rem )`},children:d.length===0?i.jsx(H,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(tt,{children:"No Embeddings Loaded"})}):i.jsx(sr,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},Ld=()=>{const e=z(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=be(),c=f.useCallback(m=>{s(Mu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),_i.flushSync(()=>{s(Mu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ar("embedding").isFeatureEnabled;return i.jsxs(ho,{children:[i.jsx(Ym,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(qm,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:o})})]})},ite=fe([Ye,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=_M.endpoints.getMainModels.select(W1)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),jo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Ge),Bd=()=>{const{isReady:e}=z(ite);return e},lte=fe([Ye,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Qt}}),Fd=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=z(lte),o=Bd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=be(),h=f.useCallback(w=>{e(Ru(w.target.value))},[e]);nt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),_i.flushSync(()=>{e(Ru(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ar("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(ud()),e(dd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Oe,{sx:{position:"absolute",top:n?6:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:d})})]})},cte=fe(Ye,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ge),ute=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=z(cte),r=o=>e(PM(o.target.checked));return i.jsx(wr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},dte=fe(Ye,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ge);function fte(){const e=te(),{threshold:t,isDisabled:n}=z(dte),{t:r}=be();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(H2(o)),handleReset:()=>e(H2(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const pte=()=>{const e=te(),t=z(r=>r.generation.shouldUseNoiseSettings),n=r=>e(jM(r.target.checked));return i.jsx(wr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},hte=fe(Ye,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ge);function mte(){const e=te(),{perlin:t,isDisabled:n}=z(hte),{t:r}=be();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(W2(o)),handleReset:()=>e(W2(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const gte=fe(Ye,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ge),vte=()=>{const{t:e}=be(),t=ar("noise").isFeatureEnabled,n=ar("perlinNoise").isFeatureEnabled,r=ar("noiseThreshold").isFeatureEnabled,{activeLabel:o}=z(gte);return t?i.jsx(Oo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(H,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(pte,{}),i.jsx(ute,{}),n&&i.jsx(mte,{}),r&&i.jsx(fte,{})]})}):null},Xm=f.memo(vte),bte=fe(mo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Qt}}),yte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=z(bte),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(IM());return}t(EM({session_id:p}))}},[t,p,c]),{t:m}=be(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(OM(S))},[t]);nt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Lp,{}):c==="immediate"?i.jsx(kee,{}):i.jsx(xee,{}),[c,d]);return i.jsxs(nr,{isAttached:!0,width:n,children:[i.jsx(Le,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(kd,{closeOnSelect:!1,children:[i.jsx(_d,{as:Le,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(UV,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(zc,{minWidth:"240px",children:i.jsxs(l5,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(Up,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(Up,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},Qm=f.memo(yte),xte=fe(mo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Qt}}),wte=()=>{const{t:e}=be(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=z(xte),s=n?Math.round(n*100/r):0;return i.jsx(S5,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},xO=f.memo(wte),yk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},Ste=fe([Ye,Kn,jr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ge);function zy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Bd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=z(Ste),d=Rm(a),p=f.useCallback(()=>{r(ud()),r(dd(c))},[r,c]),{t:h}=be();return nt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Oe,{style:{flexGrow:4},position:"relative",children:i.jsxs(Oe,{style:{position:"relative"},children:[!o&&i.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(xO,{})}),i.jsx(wn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(Le,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(y6,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?yk:{}}}):i.jsx(rn,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?yk:{}},children:"Invoke"})})]})})}const Hd=()=>i.jsxs(H,{gap:2,children:[i.jsx(zy,{}),i.jsx(Qm,{})]});function wO(){const e=z(r=>r.sdxl.shouldConcatSDXLStylePrompt),t=te(),n=r=>{t(RM(r.target.checked))};return i.jsx(Oe,{sx:{px:2},children:i.jsx(wr,{label:"Concat Style Prompt",tooltip:"Concatenates Basic Prompt with Style (Recommended)",isChecked:e,onChange:n})})}const Cte=fe([Ye,Kn],({sdxl:e},t)=>({prompt:e.negativeStylePrompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Qt}}),SO=()=>{const e=te(),{prompt:t,activeTabName:n}=z(Cte),r=Bd(),o=f.useRef(null),{isOpen:s,onClose:a,onOpen:c}=ss(),d=f.useCallback(v=>{e(V2(v.target.value))},[e]),p=f.useCallback(v=>{if(!o.current)return;const b=o.current.selectionStart;if(b===void 0)return;let w=t.slice(0,b);w[w.length-1]!=="<"&&(w+="<"),w+=`${v}>`;const y=w.length;w+=t.slice(b),_i.flushSync(()=>{e(V2(w))}),o.current.selectionStart=y,o.current.selectionEnd=y,a()},[e,a,t]),h=ar("embedding").isFeatureEnabled,m=f.useCallback(v=>{v.key==="Enter"&&v.shiftKey===!1&&r&&(v.preventDefault(),e(ud()),e(dd(n))),h&&v.key==="<"&&c()},[r,e,n,c,h]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:s,onClose:a,onSelect:p,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:o,value:t,placeholder:"Negative Style Prompt",onChange:d,onKeyDown:m,resize:"vertical",fontSize:"sm",minH:16})})}),!s&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:c})})]})},kte=fe([Ye,Kn],({sdxl:e},t)=>({prompt:e.positiveStylePrompt,activeTabName:t}),{memoizeOptions:{resultEqualityCheck:Qt}}),CO=()=>{const e=te(),{prompt:t,activeTabName:n}=z(kte),r=Bd(),o=f.useRef(null),{isOpen:s,onClose:a,onOpen:c}=ss(),d=f.useCallback(v=>{e(U2(v.target.value))},[e]),p=f.useCallback(v=>{if(!o.current)return;const b=o.current.selectionStart;if(b===void 0)return;let w=t.slice(0,b);w[w.length-1]!=="<"&&(w+="<"),w+=`${v}>`;const y=w.length;w+=t.slice(b),_i.flushSync(()=>{e(U2(w))}),o.current.selectionStart=y,o.current.selectionEnd=y,a()},[e,a,t]),h=ar("embedding").isFeatureEnabled,m=f.useCallback(v=>{v.key==="Enter"&&v.shiftKey===!1&&r&&(v.preventDefault(),e(ud()),e(dd(n))),h&&v.key==="<"&&c()},[r,e,n,c,h]);return i.jsxs(Oe,{position:"relative",children:[i.jsx(ho,{children:i.jsx(Ym,{isOpen:s,onClose:a,onSelect:p,children:i.jsx(qm,{id:"prompt",name:"prompt",ref:o,value:t,placeholder:"Positive Style Prompt",onChange:d,onKeyDown:m,resize:"vertical",minH:16})})}),!s&&h&&i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(Km,{onClick:c})})]})},Uc=()=>{const{isRefinerAvailable:e}=na(V1,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},_te=fe([Ye],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Ge),Pte=()=>{const{refinerAestheticScore:e,shift:t}=z(_te),n=Uc(),r=te(),o=f.useCallback(a=>r(G2(a)),[r]),s=f.useCallback(()=>r(G2(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},jte=f.memo(Pte),Kh=/^-?(0\.)?\.?$/,Ite=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(Kh)&&s!==Number(k)&&_(String(s))},[s,k]);const I=R=>{_(R),R.match(Kh)||a(p?Math.floor(Number(R)):Number(R))},P=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(_o(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(_o(!1))},[S]);return i.jsx(wn,{...w,children:i.jsxs(ho,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(zo,{...m,children:t}),i.jsxs(dm,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:I,onBlur:P,...y,onPaste:Ny,children:[i.jsx(pm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(fm,{children:[i.jsx(mm,{...b}),i.jsx(hm,{...b})]})]})]})})},Gc=f.memo(Ite),Ete=fe([Ye],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Ge),Ote=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=z(Ete),r=Uc(),o=te(),{t:s}=be(),a=f.useCallback(d=>o(q2(d)),[o]),c=f.useCallback(()=>o(q2(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Gc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},Rte=f.memo(Ote),Jm=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=MM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Wd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=be(),[o,{isLoading:s}]=DM(),a=()=>{o().unwrap().then(c=>{n(Dn(Bn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(Dn(Bn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(Le,{icon:i.jsx(S6,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(rn,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const Mte=fe(Ye,e=>({model:e.sdxl.refinerModel}),Ge),Dte=()=>{const e=te(),t=ar("syncModels").isFeatureEnabled,{model:n}=z(Mte),{data:r,isLoading:o}=na(V1),s=f.useMemo(()=>{if(!r)return[];const d=[];return jo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:vr[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=Jm(d);p&&e(TM(p))},[e]);return o?i.jsx(sr,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(H,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Tte=f.memo(Dte),Ate=fe(Ye,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(H1,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Ge),Nte=()=>{const e=te(),{t}=be(),{refinerScheduler:n,data:r}=z(Ate),o=Uc(),s=f.useCallback(a=>{a&&e(AM(a))},[e]);return i.jsx(sr,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},$te=f.memo(Nte),zte=fe([Ye],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Ge),Lte=()=>{const{refinerStart:e}=z(zte),t=te(),n=Uc(),r=f.useCallback(s=>t(K2(s)),[t]),o=f.useCallback(()=>t(K2(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},Bte=f.memo(Lte),Fte=fe([Ye],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Ge),Hte=()=>{const{refinerSteps:e,shouldUseSliders:t}=z(Fte),n=Uc(),r=te(),{t:o}=be(),s=f.useCallback(c=>{r(Y2(c))},[r]),a=f.useCallback(()=>{r(Y2(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Gc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},Wte=f.memo(Hte);function Vte(){const e=z(o=>o.sdxl.shouldUseSDXLRefiner),t=Uc(),n=te(),r=o=>{n(NM(o.target.checked))};return i.jsx(wr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Ute=fe(Ye,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Ge),kO=()=>{const{activeLabel:e,shouldUseSliders:t}=z(Ute);return i.jsx(Oo,{label:"Refiner",activeLabel:e,children:i.jsxs(H,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Vte,{}),i.jsx(Tte,{}),i.jsxs(H,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(Wte,{}),i.jsx(Rte,{})]}),i.jsx($te,{}),i.jsx(jte,{}),i.jsx(Bte,{})]})})},Gte=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Ge),qte=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=z(Gte),c=te(),{t:d}=be(),p=f.useCallback(m=>c(Mp(m)),[c]),h=f.useCallback(()=>c(Mp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Gc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(qte),Kte=fe([Ye],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ge),Yte=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=z(Kte),d=te(),{t:p}=be(),h=f.useCallback(v=>{d(X2(v))},[d]),m=f.useCallback(()=>{d(X2(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Gc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(Yte),Xte=fe(Ye,e=>({model:e.generation.model}),Ge),Qte=()=>{const e=te(),{t}=be(),{model:n}=z(Xte),r=ar("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(W1),a=z(Kn),c=f.useMemo(()=>{if(!o)return[];const h=[];return jo(o.entities,(m,v)=>{!m||a==="unifiedCanvas"&&m.base_model==="sdxl"||h.push({value:v,label:m.model_name,group:vr[m.base_model]})}),h},[o,a]),d=f.useMemo(()=>(o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[o==null?void 0:o.entities,n]),p=f.useCallback(h=>{if(!h)return;const m=Jm(h);m&&e(hv(m))},[e]);return s?i.jsx(sr,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(H,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(sr,{tooltip:d==null?void 0:d.description,label:t("modelManager.model"),value:d==null?void 0:d.id,placeholder:c.length>0?"Select a model":"No models available",data:c,error:c.length===0,disabled:c.length===0,onChange:p,w:"100%"}),r&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Jte=f.memo(Qte),_O=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=$M.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Zte=fe(Ye,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ge),ene=()=>{const e=te(),{t}=be(),{model:n,vae:r}=z(Zte),{data:o}=F_(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return jo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:vr[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(Q2(null));return}const p=_O(d);p&&e(Q2(p))},[e]);return i.jsx(sr,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},tne=f.memo(ene),Mi=e=>e.generation,nne=fe([La,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(H1,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Ge),rne=()=>{const e=te(),{t}=be(),{scheduler:n,data:r}=z(nne),o=f.useCallback(s=>{s&&e(mv(s))},[e]);return i.jsx(sr,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},one=f.memo(rne),sne=fe(Ye,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Ge),ane=["fp16","fp32"],ine=()=>{const e=te(),{vaePrecision:t}=z(sne),n=f.useCallback(r=>{r&&e(zM(r))},[e]);return i.jsx(Yr,{label:"VAE Precision",value:t,data:ane,onChange:n})},lne=f.memo(ine),cne=()=>{const e=ar("vae").isFeatureEnabled;return i.jsxs(H,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Oe,{w:"full",children:i.jsx(Jte,{})}),i.jsx(Oe,{w:"full",children:i.jsx(one,{})}),e&&i.jsxs(H,{w:"full",gap:3,children:[i.jsx(tne,{}),i.jsx(lne,{})]})]})},Si=f.memo(cne),une=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function PO(){const e=z(o=>o.generation.aspectRatio),t=te(),n=z(o=>o.generation.shouldFitToWidthHeight),r=z(Kn);return i.jsx(H,{gap:2,flexGrow:1,children:i.jsx(nr,{isAttached:!0,children:une.map(o=>i.jsx(rn,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(LM(o.value)),children:o.name},o.name))})})}const dne=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),fne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=z(dne),d=te(),{t:p}=be(),h=f.useCallback(v=>{if(d(mc(v)),c){const b=Ss(v*c,8);d(hc(b))}},[d,c]),m=f.useCallback(()=>{if(d(mc(n)),c){const v=Ss(n*c,8);d(hc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},pne=f.memo(fne),hne=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),mne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=z(hne),d=te(),{t:p}=be(),h=f.useCallback(v=>{if(d(hc(v)),c){const b=Ss(v/c,8);d(mc(b))}},[d,c]),m=f.useCallback(()=>{if(d(hc(n)),c){const v=Ss(n/c,8);d(mc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},gne=f.memo(mne);function Ic(){const{t:e}=be(),t=te(),n=z(o=>o.generation.shouldFitToWidthHeight),r=z(Kn);return i.jsxs(H,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(H,{alignItems:"center",gap:2,children:[i.jsx(tt,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(fl,{}),i.jsx(PO,{}),i.jsx(Le,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(sO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(BM())})]}),i.jsx(H,{gap:2,alignItems:"center",children:i.jsxs(H,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(gne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(pne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const vne=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Ge),bne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=z(vne),c=te(),{t:d}=be(),p=f.useCallback(v=>{c(Dp(v))},[c]),h=f.useCallback(()=>{c(Dp(t))},[c,t]),m=f.useCallback(()=>{c(ud())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Gc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(bne);function jO(){const e=te(),t=z(o=>o.generation.shouldFitToWidthHeight),n=o=>e(FM(o.target.checked)),{t:r}=be();return i.jsx(wr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function yne(){const e=z(a=>a.generation.seed),t=z(a=>a.generation.shouldRandomizeSeed),n=z(a=>a.generation.shouldGenerateVariations),{t:r}=be(),o=te(),s=a=>o(Rp(a));return i.jsx(Gc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:H_,max:W_,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const xne=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function wne(){const e=te(),t=z(o=>o.generation.shouldRandomizeSeed),{t:n}=be(),r=()=>e(Rp(xne(H_,W_)));return i.jsx(Le,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(cW,{})})}const Sne=()=>{const e=te(),{t}=be(),n=z(o=>o.generation.shouldRandomizeSeed),r=o=>e(HM(o.target.checked));return i.jsx(wr,{label:t("common.random"),isChecked:n,onChange:r})},Cne=f.memo(Sne),kne=()=>i.jsxs(H,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(yne,{}),i.jsx(wne,{}),i.jsx(Cne,{})]}),ki=f.memo(kne),_ne=fe([Ye],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Ge),Pne=()=>{const{sdxlImg2ImgDenoisingStrength:e}=z(_ne),t=te(),{t:n}=be(),r=f.useCallback(s=>t(J2(s)),[t]),o=f.useCallback(()=>{t(J2(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},jne=f.memo(Pne),Ine=fe([La,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),Ene=()=>{const{shouldUseSliders:e,activeLabel:t}=z(Ine);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(H,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(H,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}),i.jsx(jne,{}),i.jsx(jO,{})]})})},One=f.memo(Ene),IO=()=>i.jsxs(i.Fragment,{children:[i.jsxs(H,{sx:{flexDirection:"column",gap:2,p:2,borderRadius:4,bg:"base.100",_dark:{bg:"base.850"}},children:[i.jsx(Fd,{}),i.jsx(CO,{}),i.jsx(Ld,{}),i.jsx(SO,{}),i.jsx(wO,{})]}),i.jsx(Hd,{}),i.jsx(One,{}),i.jsx(kO,{}),i.jsx(zd,{}),i.jsx(Xm,{})]}),EO=e=>{const{sx:t}=e,n=te(),r=z(a=>a.ui.shouldPinParametersPanel),{t:o}=be(),s=()=>{n(WM(!r)),n(So())};return i.jsx(Le,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(ij,{}):i.jsx(lj,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},Rne=fe(La,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),Mne=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=z(Rne);return t&&n?i.jsxs(Oe,{sx:{position:"relative",h:"full",w:$y,flexShrink:0},children:[i.jsx(H,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(EO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},Ly=f.memo(Mne),Dne=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx(w1,{children:i.jsx(H,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Oe,{sx:{w:.5,h:"calc(100% - 4px)",bg:ze("base.100","base.850")(r)}})})}):i.jsx(w1,{children:i.jsx(H,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Oe,{sx:{w:"calc(100% - 4px)",h:.5,bg:ze("base.100","base.850")(r)}})})})},OO=f.memo(Dne),Tne=fe([Ye],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),Ane=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=be(),o=z(Tne);return i.jsx(Le,{onClick:t,icon:i.jsx(us,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},Nne=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function $ne(){const e=z(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(VM(r));return i.jsx(Yr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:Nne})}const zne=e=>{const{imageDTO:t}=e,n=te(),r=z(jr),{t:o}=be(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(V_({image_name:t.image_name}))},[n,t,c]);return i.jsx(gl,{isOpen:s,onClose:c,triggerComponent:i.jsx(Le,{onClick:a,icon:i.jsx(KH,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(H,{sx:{flexDirection:"column",gap:4},children:[i.jsx($ne,{}),i.jsx(rn,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Lne=fe([Ye,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Qt}}),Bne=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=z(Lne),d=ar("upscaling").isFeatureEnabled,p=Bc(),{t:h}=be(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Ey(),[w,y]=Ry(a,500),{currentData:S}=os(a??oo.skipToken),{currentData:k}=L1(y.isPending()?oo.skipToken:w??oo.skipToken),_=k==null?void 0:k.metadata,I=f.useCallback(()=>{b(_)},[_,b]);nt("a",()=>{},[_,b]);const P=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);nt("s",P,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,m]);nt("p",E,[S]);const O=f.useCallback(()=>{t(XE()),t($1(S))},[t,S]);nt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(V_({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(B1(S))},[t,S]);nt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const T=f.useCallback(()=>t(UM(!s)),[t,s]);nt("i",()=>{S?T():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),nt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(B_(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(H,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(nr,{isAttached:!0,isDisabled:o,children:i.jsxs(kd,{children:[i.jsx(_d,{as:Le,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(pW,{})}),i.jsx(zc,{motionProps:nm,children:S&&i.jsx(QE,{imageDTO:S})})]})}),i.jsxs(nr,{isAttached:!0,isDisabled:o,children:[i.jsx(Le,{icon:i.jsx(x6,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(Le,{icon:i.jsx(w6,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:P}),i.jsx(Le,{icon:i.jsx(d6,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:I})]}),d&&i.jsx(nr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(zne,{imageDTO:S})}),i.jsx(nr,{isAttached:!0,isDisabled:o,children:i.jsx(Le,{icon:i.jsx(Lb,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:T})}),i.jsx(nr,{isAttached:!0,children:i.jsx(Le,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(eW,{}),isChecked:c,onClick:A})}),i.jsx(nr,{isAttached:!0,children:i.jsx(Ane,{onClick:M,isDisabled:o})})]})})},Fne=fe([Ye,A_],(e,t)=>{var k,_;const{data:n,status:r}=GM.endpoints.listImages.select(t)(e),o=e.gallery.selection[e.gallery.selection.length-1],s=r==="pending";if(!n||!o||n.total===0)return{isFetching:s,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const a={...t,offset:n.ids.length,limit:$_},c=qM.getSelectors(),d=c.selectAll(n),p=d.findIndex(I=>I.image_name===o),h=Es(p+1,0,d.length-1),m=Es(p-1,0,d.length-1),v=(k=d[h])==null?void 0:k.image_name,b=(_=d[m])==null?void 0:_.image_name,w=c.selectById(n,v),y=c.selectById(n,b),S=d.length;return{isOnFirstImage:p===0,isOnLastImage:!isNaN(p)&&p===S-1,areMoreImagesAvailable:((n==null?void 0:n.total)??0)>S,isFetching:r==="pending",nextImage:w,prevImage:y,nextImageId:v,prevImageId:b,queryArgs:a}},{memoizeOptions:{resultEqualityCheck:Qt}}),RO=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,isFetching:a,queryArgs:c}=z(Fne),d=f.useCallback(()=>{o&&e(gv(o))},[e,o]),p=f.useCallback(()=>{r&&e(gv(r))},[e,r]),[h]=N_(),m=f.useCallback(()=>{h(c)},[h,c]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,handleLoadMoreImages:m,isFetching:a}};function Hne(e){return rt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const ys=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=be();return t?i.jsxs(H,{gap:2,children:[n&&i.jsx(wn,{label:`Recall ${e}`,children:i.jsx(Sa,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Hne,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(wn,{label:`Copy ${e}`,children:i.jsx(Sa,{"aria-label":`Copy ${e}`,icon:i.jsx(Fc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(H,{direction:o?"column":"row",children:[i.jsxs(tt,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(mb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(nj,{mx:"2px"})]}):i.jsx(tt,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Wne=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Ey(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),I=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),P=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(ys,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(ys,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(ys,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(ys,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(ys,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(ys,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(ys,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(ys,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(ys,{label:"Steps",value:t.steps,onClick:I}),t.cfg_scale!==void 0&&i.jsx(ys,{label:"CFG scale",value:t.cfg_scale,onClick:P}),t.strength&&i.jsx(ys,{label:"Image to image strength",value:t.strength,onClick:E})]})},Vne=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(H,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Oe,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(Q6,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(H,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(wn,{label:t,children:i.jsx(Sa,{"aria-label":t,icon:i.jsx(Fc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Une=({image:e})=>{const[t,n]=Ry(e.image_name,500),{currentData:r}=L1(n.isPending()?oo.skipToken:t??oo.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(H,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(H,{gap:2,children:[i.jsx(tt,{fontWeight:"semibold",children:"File:"}),i.jsxs(mb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(nj,{mx:"2px"})]})]}),i.jsx(Wne,{metadata:o}),i.jsxs(Ed,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(Od,{children:a.map(c=>i.jsx(wc,{sx:{borderTopRadius:"base"},children:i.jsx(tt,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx(km,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Cm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(Vne,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Gne=f.memo(Une),nv={color:"base.100",pointerEvents:"auto"},qne=()=>{const{t:e}=be(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=RO();return i.jsxs(Oe,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(Sa,{"aria-label":e("accessibility.previousImage"),icon:i.jsx($H,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:nv})}),i.jsxs(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(Sa,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(zH,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:nv}),o&&a&&!c&&i.jsx(Sa,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(NH,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:nv}),o&&a&&c&&i.jsx(H,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(dl,{opacity:.5,size:"xl"})})]})]})},Kne=f.memo(qne),Yne=fe([Ye,KM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Qt}}),Xne=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=z(Yne),{handlePrevImage:s,handleNextImage:a,prevImageId:c,nextImageId:d,isOnLastImage:p,handleLoadMoreImages:h,areMoreImagesAvailable:m,isFetching:v}=RO();nt("left",()=>{s()},[c]),nt("right",()=>{if(p&&m&&!v){h();return}p||a()},[d,p,m,h,v]);const{currentData:b}=os(t??oo.skipToken),w=f.useMemo(()=>{if(b)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:b}}},[b]),y=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[S,k]=f.useState(!1),_=f.useRef(0),I=f.useCallback(()=>{k(!0),window.clearTimeout(_.current)},[]),P=f.useCallback(()=>{_.current=window.setTimeout(()=>{k(!1)},500)},[]);return i.jsxs(H,{onMouseOver:I,onMouseOut:P,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Tc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(yi,{imageDTO:b,droppableData:y,draggableData:w,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(mi,{icon:al,label:"No image selected"})}),e&&b&&i.jsx(Oe,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(Gne,{image:b})}),i.jsx(Fo,{children:!e&&b&&S&&i.jsx(Xr.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx(Kne,{})},"nextPrevButtons")})]})},Qne=f.memo(Xne),Jne=()=>i.jsxs(H,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx(Bne,{}),i.jsx(Qne,{})]}),MO=()=>i.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(H,{sx:{width:"100%",height:"100%"},children:i.jsx(Jne,{})})}),Zne=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(YM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(XM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(QM(n.id))},[t,n.id]);return i.jsxs(H,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(Le,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(us,{}),colorScheme:"error"})]})},ere=f.memo(Zne),tre=fe(Ye,({lora:e})=>{const{loras:t}=e;return{loras:t}},Ge),nre=()=>{const{loras:e}=z(tre);return i.jsx(i.Fragment,{children:cs(e,t=>i.jsx(ere,{lora:t},t.model_name))})},rre=fe(Ye,({lora:e})=>({loras:e.loras}),Ge),ore=()=>{const e=te(),{loras:t}=z(rre),{data:n}=U_(),r=z(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return jo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:vr[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(JM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(H,{sx:{justifyContent:"center",p:2},children:i.jsx(tt,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(sr,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},sre=fe(Ye,e=>{const t=G_(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ge),are=()=>{const{activeLabel:e}=z(sre);return ar("lora").isFeatureEnabled?i.jsx(Oo,{label:"LoRA",activeLabel:e,children:i.jsxs(H,{sx:{flexDir:"column",gap:2},children:[i.jsx(ore,{}),i.jsx(nre,{})]})}):null},By=f.memo(are);function ire(){const e=z(d=>d.generation.clipSkip),{model:t}=z(d=>d.generation),n=te(),{t:r}=be(),o=f.useCallback(d=>{n(Z2(d))},[n]),s=f.useCallback(()=>{n(Z2(0))},[n]),a=f.useMemo(()=>t?Of[t.base_model].maxClip:Of["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Of[t.base_model].markers:Of["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const lre=fe(Ye,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ge);function Fy(){const{activeLabel:e}=z(lre);return z(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Oo,{label:"Advanced",activeLabel:e,children:i.jsx(H,{sx:{flexDir:"column",gap:2},children:i.jsx(ire,{})})}):null}const DO=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=ZM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},cre=e=>{const{controlNetId:t}=e,n=te(),r=z(jr),o=f.useMemo(()=>fe(Ye,({generation:v,controlNet:b})=>{var k,_;const{model:w}=v,y=(k=b.controlNets[t])==null?void 0:k.model,S=(_=b.controlNets[t])==null?void 0:_.isEnabled;return{mainModel:w,controlNetModel:y,isEnabled:S}},Ge),[t]),{mainModel:s,controlNetModel:a,isEnabled:c}=z(o),{data:d}=U1(),p=f.useMemo(()=>{if(!d)return[];const v=[];return jo(d.entities,(b,w)=>{if(!b)return;const y=(b==null?void 0:b.base_model)!==(s==null?void 0:s.base_model);v.push({value:w,label:b.model_name,group:vr[b.base_model],disabled:y,tooltip:y?`Incompatible base model: ${b.base_model}`:void 0})}),v},[d,s==null?void 0:s.base_model]),h=f.useMemo(()=>(d==null?void 0:d.entities[`${a==null?void 0:a.base_model}/controlnet/${a==null?void 0:a.model_name}`])??null,[a==null?void 0:a.base_model,a==null?void 0:a.model_name,d==null?void 0:d.entities]),m=f.useCallback(v=>{if(!v)return;const b=DO(v);b&&n(q_({controlNetId:t,model:b}))},[t,n]);return i.jsx(sr,{itemComponent:Oi,data:p,error:!h||(s==null?void 0:s.base_model)!==h.base_model,placeholder:"Select a model",value:(h==null?void 0:h.id)??null,onChange:m,disabled:r||!c,tooltip:h==null?void 0:h.description})},ure=f.memo(cre),dre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{weight:d,isEnabled:p}=c.controlNets[t];return{weight:d,isEnabled:p}},Ge),[t]),{weight:o,isEnabled:s}=z(r),a=f.useCallback(c=>{n(e7({controlNetId:t,weight:c}))},[t,n]);return i.jsx(_t,{isDisabled:!s,label:"Weight",value:o,onChange:a,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},fre=f.memo(dre),pre=e=>{const{height:t,controlNetId:n}=e,r=te(),o=f.useMemo(()=>fe(Ye,({controlNet:E})=>{const{pendingControlImages:O}=E,{controlImage:R,processedControlImage:M,processorType:T,isEnabled:A}=E.controlNets[n];return{controlImageName:R,processedControlImageName:M,processorType:T,isEnabled:A,pendingControlImages:O}},Ge),[n]),{controlImageName:s,processedControlImageName:a,processorType:c,pendingControlImages:d,isEnabled:p}=z(o),[h,m]=f.useState(!1),{currentData:v}=os(s??oo.skipToken),{currentData:b}=os(a??oo.skipToken),w=f.useCallback(()=>{r(t7({controlNetId:n,controlImage:null}))},[n,r]),y=f.useCallback(()=>{m(!0)},[]),S=f.useCallback(()=>{m(!1)},[]),k=f.useMemo(()=>{if(v)return{id:n,payloadType:"IMAGE_DTO",payload:{imageDTO:v}}},[v,n]),_=f.useMemo(()=>({id:n,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:n}}),[n]),I=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:n}),[n]),P=v&&b&&!h&&!d.includes(n)&&c!=="none";return i.jsxs(H,{onMouseEnter:y,onMouseLeave:S,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:p?"auto":"none",opacity:p?1:.5},children:[i.jsx(yi,{draggableData:k,droppableData:_,imageDTO:v,isDropDisabled:P||!p,onClickReset:w,postUploadAction:I,resetTooltip:"Reset Control Image",withResetIcon:!!v}),i.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(yi,{draggableData:k,droppableData:_,imageDTO:b,isUploadDisabled:!0,isDropDisabled:!p,onClickReset:w,resetTooltip:"Reset Control Image",withResetIcon:!!v})}),d.includes(n)&&i.jsx(H,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(dl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},xk=f.memo(pre),As=()=>{const e=te();return f.useCallback((n,r)=>{e(n7({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(H,{sx:{flexDirection:"column",gap:2},children:e.children})}const wk=ls.canny_image_processor.default,hre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=z(jr),c=As(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:wk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:wk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},mre=f.memo(hre),bu=ls.content_shuffle_image_processor.default,gre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=As(),h=z(jr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:bu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:bu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:bu.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:bu.h})},[t,p]),I=f.useCallback(E=>{p(t,{f:E})},[t,p]),P=f.useCallback(()=>{p(t,{f:bu.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:I,handleReset:P,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},vre=f.memo(gre),Sk=ls.hed_image_processor.default,bre=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=z(jr),c=As(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Sk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Sk.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(wr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},yre=f.memo(bre),Ck=ls.lineart_anime_image_processor.default,xre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=As(),c=z(jr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Ck.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Ck.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},wre=f.memo(xre),kk=ls.lineart_image_processor.default,Sre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=As(),d=z(jr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:kk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:kk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(wr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},Cre=f.memo(Sre),_k=ls.mediapipe_face_processor.default,kre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=As(),c=z(jr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:_k.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:_k.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},_re=f.memo(kre),Pk=ls.midas_depth_image_processor.default,Pre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=As(),c=z(jr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Pk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Pk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},jre=f.memo(Pre),mp=ls.mlsd_image_processor.default,Ire=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=As(),p=z(jr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:mp.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:mp.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:mp.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:mp.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},Ere=f.memo(Ire),jk=ls.normalbae_image_processor.default,Ore=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=As(),c=z(jr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:jk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:jk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Rre=f.memo(Ore),Ik=ls.openpose_image_processor.default,Mre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=As(),d=z(jr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Ik.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Ik.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(wr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},Dre=f.memo(Mre),Ek=ls.pidi_image_processor.default,Tre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=As(),p=z(jr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Ek.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Ek.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(wr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(wr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},Are=f.memo(Tre),Nre=e=>null,$re=f.memo(Nre),zre=e=>{const{controlNetId:t}=e,n=f.useMemo(()=>fe(Ye,({controlNet:s})=>{const{isEnabled:a,processorNode:c}=s.controlNets[t];return{isEnabled:a,processorNode:c}},Ge),[t]),{isEnabled:r,processorNode:o}=z(n);return o.type==="canny_image_processor"?i.jsx(mre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="hed_image_processor"?i.jsx(yre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_image_processor"?i.jsx(Cre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="content_shuffle_image_processor"?i.jsx(vre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_anime_image_processor"?i.jsx(wre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mediapipe_face_processor"?i.jsx(_re,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="midas_depth_image_processor"?i.jsx(jre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mlsd_image_processor"?i.jsx(Ere,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="normalbae_image_processor"?i.jsx(Rre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="openpose_image_processor"?i.jsx(Dre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="pidi_image_processor"?i.jsx(Are,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="zoe_depth_image_processor"?i.jsx($re,{controlNetId:t,processorNode:o,isEnabled:r}):null},Lre=f.memo(zre),Bre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{isEnabled:p,shouldAutoConfig:h}=d.controlNets[t];return{isEnabled:p,shouldAutoConfig:h}},Ge),[t]),{isEnabled:o,shouldAutoConfig:s}=z(r),a=z(jr),c=f.useCallback(()=>{n(r7({controlNetId:t}))},[t,n]);return i.jsx(wr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:s,onChange:c,isDisabled:a||!o})},Fre=f.memo(Bre),Ok=e=>`${Math.round(e*100)}%`,Hre=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{beginStepPct:p,endStepPct:h,isEnabled:m}=d.controlNets[t];return{beginStepPct:p,endStepPct:h,isEnabled:m}},Ge),[t]),{beginStepPct:o,endStepPct:s,isEnabled:a}=z(r),c=f.useCallback(d=>{n(o7({controlNetId:t,beginStepPct:d[0]})),n(s7({controlNetId:t,endStepPct:d[1]}))},[t,n]);return i.jsxs(ho,{isDisabled:!a,children:[i.jsx(zo,{children:"Begin / End Step Percentage"}),i.jsx(di,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(T5,{"aria-label":["Begin Step %","End Step %"],value:[o,s],onChange:c,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!a,children:[i.jsx(A5,{children:i.jsx(N5,{})}),i.jsx(wn,{label:Ok(o),placement:"top",hasArrow:!0,children:i.jsx(Hv,{index:0})}),i.jsx(wn,{label:Ok(s),placement:"top",hasArrow:!0,children:i.jsx(Hv,{index:1})}),i.jsx(kp,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(kp,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(kp,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Wre=f.memo(Hre),Vre=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Ure(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{controlMode:d,isEnabled:p}=c.controlNets[t];return{controlMode:d,isEnabled:p}},Ge),[t]),{controlMode:o,isEnabled:s}=z(r),a=f.useCallback(c=>{n(a7({controlNetId:t,controlMode:c}))},[t,n]);return i.jsx(Yr,{disabled:!s,label:"Control Mode",data:Vre,value:String(o),onChange:a})}const Gre=fe(aO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Ge),qre=e=>{const t=te(),{controlNetId:n}=e,r=f.useMemo(()=>fe(Ye,({controlNet:p})=>{const{isEnabled:h,processorNode:m}=p.controlNets[n];return{isEnabled:h,processorNode:m}},Ge),[n]),o=z(jr),s=z(Gre),{isEnabled:a,processorNode:c}=z(r),d=f.useCallback(p=>{t(i7({controlNetId:n,processorType:p}))},[n,t]);return i.jsx(sr,{label:"Processor",value:c.type??"canny_image_processor",data:s,onChange:d,disabled:o||!a})},Kre=f.memo(qre),Yre=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function Xre(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{resizeMode:d,isEnabled:p}=c.controlNets[t];return{resizeMode:d,isEnabled:p}},Ge),[t]),{resizeMode:o,isEnabled:s}=z(r),a=f.useCallback(c=>{n(l7({controlNetId:t,resizeMode:c}))},[t,n]);return i.jsx(Yr,{disabled:!s,label:"Resize Mode",data:Yre,value:String(o),onChange:a})}const Qre=e=>{const{controlNetId:t}=e,n=te(),r=fe(Ye,({controlNet:m})=>{const{isEnabled:v,shouldAutoConfig:b}=m.controlNets[t];return{isEnabled:v,shouldAutoConfig:b}},Ge),{isEnabled:o,shouldAutoConfig:s}=z(r),[a,c]=nee(!1),d=f.useCallback(()=>{n(c7({controlNetId:t}))},[t,n]),p=f.useCallback(()=>{n(u7({sourceControlNetId:t,newControlNetId:ui()}))},[t,n]),h=f.useCallback(()=>{n(d7({controlNetId:t}))},[t,n]);return i.jsxs(H,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(H,{sx:{gap:2,alignItems:"center"},children:[i.jsx(wr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:o,onChange:h}),i.jsx(Oe,{sx:{w:"full",minW:0,opacity:o?1:.5,pointerEvents:o?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(ure,{controlNetId:t})}),i.jsx(Le,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:p,icon:i.jsx(Fc,{})}),i.jsx(Le,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:d,icon:i.jsx(us,{})}),i.jsx(Le,{size:"sm",tooltip:a?"Hide Advanced":"Show Advanced","aria-label":a?"Hide Advanced":"Show Advanced",onClick:c,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(ay,{sx:{boxSize:4,color:"base.700",transform:a?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!s&&i.jsx(Oe,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(H,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(H,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(H,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:a?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(fre,{controlNetId:t}),i.jsx(Wre,{controlNetId:t})]}),!a&&i.jsx(H,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(xk,{controlNetId:t,height:28})})]}),i.jsxs(H,{sx:{gap:2},children:[i.jsx(Ure,{controlNetId:t}),i.jsx(Xre,{controlNetId:t})]}),i.jsx(Kre,{controlNetId:t})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx(xk,{controlNetId:t,height:"392px"}),i.jsx(Fre,{controlNetId:t}),i.jsx(Lre,{controlNetId:t})]})]})},Jre=f.memo(Qre),Zre=fe(Ye,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ge),eoe=()=>{const{isEnabled:e}=z(Zre),t=te(),n=f.useCallback(()=>{t(f7())},[t]);return i.jsx(wr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},toe=fe([Ye],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=p7(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Ge),noe=()=>{const{controlNetsArray:e,activeLabel:t}=z(toe),n=ar("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=U1(void 0,{selectFromResult:a=>{var d,p;return{firstModel:(p=a.data)==null?void 0:p.entities[(d=a.data)==null?void 0:d.ids[0]]}}}),s=f.useCallback(()=>{if(!o)return;const a=ui();r(h7({controlNetId:a})),r(q_({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Oo,{label:"ControlNet",activeLabel:t,children:i.jsxs(H,{sx:{flexDir:"column",gap:3},children:[i.jsxs(H,{gap:2,alignItems:"center",children:[i.jsx(H,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx(eoe,{})}),i.jsx(Le,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(ml,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(hl,{}),i.jsx(Jre,{controlNetId:a.controlNetId})]},a.controlNetId))]})})},Hy=f.memo(noe),roe=fe(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ge),ooe=()=>{const{t:e}=be(),{seamlessXAxis:t}=z(roe),n=te(),r=f.useCallback(o=>{n(m7(o.target.checked))},[n]);return i.jsx(wr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},soe=f.memo(ooe),aoe=fe(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ge),ioe=()=>{const{t:e}=be(),{seamlessYAxis:t}=z(aoe),n=te(),r=f.useCallback(o=>{n(g7(o.target.checked))},[n]);return i.jsx(wr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},loe=f.memo(ioe),coe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},uoe=fe(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:coe(t,n)}},Ge),doe=()=>{const{t:e}=be(),{activeLabel:t}=z(uoe);return ar("seamless").isFeatureEnabled?i.jsx(Oo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(H,{sx:{gap:5},children:[i.jsx(Oe,{flexGrow:1,children:i.jsx(soe,{})}),i.jsx(Oe,{flexGrow:1,children:i.jsx(loe,{})})]})}):null},TO=f.memo(doe);function foe(){const e=z(o=>o.generation.horizontalSymmetrySteps),t=z(o=>o.generation.steps),n=te(),{t:r}=be();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(ew(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(ew(0))})}function poe(){const e=z(o=>o.generation.verticalSymmetrySteps),t=z(o=>o.generation.steps),n=te(),{t:r}=be();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(tw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(tw(0))})}function hoe(){const e=z(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(wr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(v7(n.target.checked))})}const moe=fe(Ye,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ge),goe=()=>{const{t:e}=be(),{activeLabel:t}=z(moe);return ar("symmetry").isFeatureEnabled?i.jsx(Oo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(H,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(hoe,{}),i.jsx(foe,{}),i.jsx(poe,{})]})}):null},Wy=f.memo(goe),voe=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Ge),boe=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=z(voe),a=te(),{t:c}=be(),d=f.useCallback(h=>a(Tp(h)),[a]),p=f.useCallback(()=>{a(Tp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},AO=f.memo(boe),yoe=fe([La,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),xoe=()=>{const{shouldUseSliders:e,activeLabel:t}=z(yoe);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(H,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(H,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}),i.jsx(AO,{}),i.jsx(jO,{})]})})},woe=f.memo(xoe),NO=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(woe,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Xm,{}),i.jsx(Wy,{}),i.jsx(TO,{}),i.jsx(Fy,{})]}),Soe=()=>{const e=te(),t=f.useRef(null),n=z(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(H,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:n&&n.base_model==="sdxl"?i.jsx(IO,{}):i.jsx(NO,{})}),i.jsx(Oe,{sx:{w:"full",h:"full"},children:i.jsxs(Ay,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(sd,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(Xee,{})}),i.jsx(OO,{onDoubleClick:r}),i.jsx(sd,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(So())},children:i.jsx(MO,{})})]})})]})},Coe=f.memo(Soe);var koe=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Rk=cd(koe);function S1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var _oe=Object.defineProperty,Mk=Object.getOwnPropertySymbols,Poe=Object.prototype.hasOwnProperty,joe=Object.prototype.propertyIsEnumerable,Dk=(e,t,n)=>t in e?_oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ioe=(e,t)=>{for(var n in t||(t={}))Poe.call(t,n)&&Dk(e,n,t[n]);if(Mk)for(var n of Mk(t))joe.call(t,n)&&Dk(e,n,t[n]);return e};function $O(e,t){if(t===null||typeof t!="object")return{};const n=Ioe({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const Eoe="__MANTINE_FORM_INDEX__";function Tk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${Eoe}`)):!1:!1}function Ak(e,t,n){typeof n.value=="object"&&(n.value=Ql(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function Ql(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(Ql(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(Ql(c),Ql(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(Ql(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function C1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=ya(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>C1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||C1(a,t,c,o)),o},r)}function k1(e,t){return Nk(typeof e=="function"?e(t):C1(e,t))}function gp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=k1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function Ooe(e,{from:t,to:n},r){const o=ya(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),Zm(e,s,r)}var Roe=Object.defineProperty,$k=Object.getOwnPropertySymbols,Moe=Object.prototype.hasOwnProperty,Doe=Object.prototype.propertyIsEnumerable,zk=(e,t,n)=>t in e?Roe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Toe=(e,t)=>{for(var n in t||(t={}))Moe.call(t,n)&&zk(e,n,t[n]);if($k)for(var n of $k(t))Doe.call(t,n)&&zk(e,n,t[n]);return e};function Aoe(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=Toe({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function Noe(e,t,n){const r=ya(e,n);return Array.isArray(r)?Zm(e,r.filter((o,s)=>s!==t),n):n}var $oe=Object.defineProperty,Lk=Object.getOwnPropertySymbols,zoe=Object.prototype.hasOwnProperty,Loe=Object.prototype.propertyIsEnumerable,Bk=(e,t,n)=>t in e?$oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Boe=(e,t)=>{for(var n in t||(t={}))zoe.call(t,n)&&Bk(e,n,t[n]);if(Lk)for(var n of Lk(t))Loe.call(t,n)&&Bk(e,n,t[n]);return e};function Fk(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function Hk(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=$O(`${o}.${t}`,s));const a=Boe({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=Fk(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=Fk(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function Foe(e,t,n,r){const o=ya(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),Zm(e,s,r)}function Wk(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function Hoe(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Woe=Object.defineProperty,Voe=Object.defineProperties,Uoe=Object.getOwnPropertyDescriptors,Vk=Object.getOwnPropertySymbols,Goe=Object.prototype.hasOwnProperty,qoe=Object.prototype.propertyIsEnumerable,Uk=(e,t,n)=>t in e?Woe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))Goe.call(t,n)&&Uk(e,n,t[n]);if(Vk)for(var n of Vk(t))qoe.call(t,n)&&Uk(e,n,t[n]);return e},rv=(e,t)=>Voe(e,Uoe(t));function qc({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(S1(t)),k=f.useRef(e),_=K=>{k.current=K},I=f.useCallback(()=>h({}),[]),P=K=>{const U=K?ti(ti({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>S1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),I()},[]),M=f.useCallback((K,U)=>E(se=>rv(ti({},se),{[K]:U})),[]),T=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=ti({},U);return delete se[K],se}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=$O(K,U);return delete se[K],se}),[]),$=f.useCallback((K,U)=>{const se=Tk(K,s);A(K),h(re=>rv(ti({},re),{[K]:!0})),w(re=>{const oe=Zm(K,U,re);if(se){const pe=gp(K,d,oe);pe.hasError?M(K,pe.error):T(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return ti(ti({},U),se)}),o&&O()},[]),B=f.useCallback((K,U)=>{A(K),w(se=>Ooe(K,U,se)),S(se=>Aoe(K,U,se))},[]),V=f.useCallback((K,U)=>{A(K),w(se=>Noe(K,U,se)),S(se=>Hk(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{A(K),w(re=>Foe(K,U,se,re)),S(re=>Hk(K,se,re,1))},[]),G=f.useCallback(()=>{const K=k1(d,b);return S(K.errors),K},[b,d]),D=f.useCallback(K=>{const U=gp(K,d,b);return U.hasError?M(K,U.error):T(K),U},[b,d]),L=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:Hoe(le=>$(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=ya(K,b):pe.value=ya(K,b),re&&(pe.onFocus=()=>h(le=>rv(ti({},le),{[K]:!0})),pe.onBlur=()=>{if(Tk(K,a)){const le=gp(K,d,b);le.hasError?M(K,le.error):T(K)}}),pe},W=(K,U)=>se=>{se==null||se.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,se):K==null||K(c(b),se)},Y=K=>c(K||b),ae=f.useCallback(K=>{K.preventDefault(),R()},[]),ye=K=>{if(K){const se=ya(K,m);if(typeof se=="boolean")return se;const re=ya(K,b),oe=ya(K,k.current);return!Rk(re,oe)}return Object.keys(m).length>0?Wk(m):!Rk(b,k.current)},ue=f.useCallback(K=>Wk(p,K),[p]),X=f.useCallback(K=>K?!gp(K,d,b).hasError:!k1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:$,setFieldError:M,clearFieldError:T,clearErrors:O,reset:R,validate:G,validateField:D,reorderListItem:B,removeListItem:V,insertListItem:q,getInputProps:L,onSubmit:W,onReset:ae,isDirty:ye,isTouched:ue,setTouched:h,setDirty:v,resetTouched:I,resetDirty:P,isValid:X,getTransformedValues:Y}}function Tr(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=_y(),{colorMode:m}=Ds();return i.jsx(OE,{styles:()=>({input:{color:ze(d,r)(m),backgroundColor:ze(n,d)(m),borderColor:ze(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:ze(h,p)(m)}},label:{color:ze(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Koe=[{value:"sd-1",label:vr["sd-1"]},{value:"sd-2",label:vr["sd-2"]},{value:"sdxl",label:vr.sdxl},{value:"sdxl-refiner",label:vr["sdxl-refiner"]}];function eg(e){const{...t}=e,{t:n}=be();return i.jsx(Yr,{label:n("modelManager.baseModel"),data:Koe,...t})}function LO(e){const{data:t}=K_(),{...n}=e;return i.jsx(Yr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Yoe=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function tg(e){const{...t}=e,{t:n}=be();return i.jsx(Yr,{label:n("modelManager.variant"),data:Yoe,...t})}function BO(e){const{t}=be(),n=te(),{model_path:r}=e,o=qc({initialValues:{model_name:r?r.split("\\").splice(-1)[0].split(".")[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=Y_(),[a,c]=f.useState(!1),d=p=>{s({body:p}).unwrap().then(h=>{n(Dn(Bn({title:`Model Added: ${p.model_name}`,status:"success"}))),o.reset(),r&&n(fd(null))}).catch(h=>{h&&n(Dn(Bn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(p=>d(p)),style:{width:"100%"},children:i.jsxs(H,{flexDirection:"column",gap:2,children:[i.jsx(Tr,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(eg,{...o.getInputProps("base_model")}),i.jsx(Tr,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(Tr,{label:"Description",...o.getInputProps("description")}),i.jsx(Tr,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(tg,{...o.getInputProps("variant")}),i.jsxs(H,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(Tr,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx(LO,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(rn,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function FO(e){const{t}=be(),n=te(),{model_path:r}=e,[o]=Y_(),s=qc({initialValues:{model_name:r?r.split("\\").splice(-1)[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(Dn(Bn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(fd(null))}).catch(d=>{d&&n(Dn(Bn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(H,{flexDirection:"column",gap:2,children:[i.jsx(Tr,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(eg,{...s.getInputProps("base_model")}),i.jsx(Tr,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(Tr,{label:"Description",...s.getInputProps("description")}),i.jsx(Tr,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(tg,{...s.getInputProps("variant")}),i.jsx(rn,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const HO=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function Xoe(){const[e,t]=f.useState("diffusers");return i.jsxs(H,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Yr,{label:"Model Type",value:e,data:HO,onChange:n=>{n&&t(n)}}),i.jsxs(H,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(FO,{}),e==="checkpoint"&&i.jsx(BO,{})]})]})}const Qoe=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Joe(){const e=te(),{t}=be(),n=z(c=>c.system.isProcessing),[r,{isLoading:o}]=X_(),s=qc({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(Dn(Bn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(Dn(Bn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(H,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(Tr,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Yr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Qoe,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(rn,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Zoe(){const[e,t]=f.useState("simple");return i.jsxs(H,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(rn,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(H,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Joe,{}),e==="advanced"&&i.jsx(Xoe,{})]})]})}const ese={display:"flex",flexDirection:"row",alignItems:"center",gap:10},tse=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(_o(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(_o(!1))},[c]);return i.jsxs(ho,{isInvalid:o,isDisabled:r,...s,style:n==="side"?ese:void 0,children:[t!==""&&i.jsx(zo,{children:t}),i.jsx(yd,{...a,onPaste:Ny,onKeyDown:d,onKeyUp:p})]})},Ec=f.memo(tse);function nse(e){const{...t}=e;return i.jsx(CI,{w:"100%",...t,children:e.children})}function rse(){const e=z(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Hu),{foundModels:o,alreadyInstalled:s,filteredModels:a}=Q_({search_path:e||""},{selectFromResult:({data:y})=>{const S=JD(r==null?void 0:r.entities),k=cs(S,"path"),_=YD(y,k),I=rT(y,k);return{foundModels:y,alreadyInstalled:Gk(I,t),filteredModels:Gk(_,t)}}}),[c,{isLoading:d}]=X_(),p=te(),{t:h}=be(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(Dn(Bn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(Dn(Bn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(H,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(H,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(tt,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(tt,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(H,{gap:2,children:[i.jsx(rn,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(rn,{onClick:()=>p(fd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(tt,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(H,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(tt,{variant:"subtext",children:"No Models Found"})}):i.jsxs(H,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Ec,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(H,{p:2,gap:2,children:[i.jsxs(tt,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(tt,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(nse,{offsetScrollbars:!0,children:i.jsxs(H,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const Gk=(e,t)=>{const n=[];return jo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function ose(){const e=z(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Oe,{as:Xr.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(H,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(tt,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(Le,{icon:i.jsx(mW,{}),"aria-label":"Close Advanced",onClick:()=>s(fd(null)),size:"sm"})]}),i.jsx(Yr,{label:"Model Type",value:t,data:HO,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(BO,{model_path:e},e):i.jsx(FO,{model_path:e},e)]}):null}function sse(){const e=te(),{t}=be(),n=z(c=>c.modelmanager.searchFolder),{refetch:r}=Q_({search_path:n||""}),o=qc({initialValues:{folder:""}}),s=f.useCallback(c=>{e(nw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(H,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(H,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(tt,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(H,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Ec,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(H,{gap:2,children:[n?i.jsx(Le,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(S6,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(Le,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(dW,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(Le,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(us,{}),size:"sm",onClick:()=>{e(nw(null)),e(fd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const ase=f.memo(sse);function ise(){return i.jsxs(H,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(ase,{}),i.jsxs(H,{gap:4,children:[i.jsx(H,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(rse,{})}),i.jsx(ose,{})]})]})}function lse(){const[e,t]=f.useState("add"),{t:n}=be();return i.jsxs(H,{flexDirection:"column",gap:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(rn,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Zoe,{}),e=="scan"&&i.jsx(ise,{})]})}const cse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function use(){const{t:e}=be(),t=te(),{data:n}=na(Hu),[r,{isLoading:o}]=b7(),[s,a]=f.useState("sd-1"),c=gw(n==null?void 0:n.entities,(D,L)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-1"),d=gw(n==null?void 0:n.entities,(D,L)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(Object.keys(p[s])[0]),[v,b]=f.useState(Object.keys(p[s])[1]),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,I]=f.useState(.5),[P,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,T]=f.useState(""),[A,$]=f.useState(!1),Q=Object.keys(p[s]).filter(D=>D!==v&&D!==w),B=Object.keys(p[s]).filter(D=>D!==h&&D!==w),V=Object.keys(p[s]).filter(D=>D!==h&&D!==v),q=D=>{a(D),m(null),b(null)},G=()=>{const D=[];let L=[h,v,w];L=L.filter(Y=>Y!==null),L.forEach(Y=>{Y&&D.push(Y==null?void 0:Y.split("/")[2])});const W={model_names:D,merged_model_name:S!==""?S:D.join("-"),alpha:_,interp:P,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:W}).unwrap().then(Y=>{t(Dn(Bn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(Y=>{Y&&t(Dn(Bn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(H,{flexDirection:"column",rowGap:4,children:[i.jsxs(H,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(tt,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(tt,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(H,{columnGap:4,children:[i.jsx(Yr,{label:"Model Type",w:"100%",data:cse,value:s,onChange:q}),i.jsx(sr,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:D=>m(D)}),i.jsx(sr,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:B,onChange:D=>b(D)}),i.jsx(sr,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:D=>{D?(y(D),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Ec,{label:e("modelManager.mergedModelName"),value:S,onChange:D=>k(D.target.value)}),i.jsxs(H,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:D=>I(D),withInput:!0,withReset:!0,handleReset:()=>I(.5),withSliderMarks:!0}),i.jsx(tt,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(H,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(tt,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(Gp,{value:P,onChange:D=>E(D),children:i.jsx(H,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ba,{value:"weighted_sum",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ba,{value:"sigmoid",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ba,{value:"inv_sigmoid",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ba,{value:"add_difference",children:i.jsx(wn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(H,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(H,{columnGap:4,children:[i.jsx(tt,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(Gp,{value:O,onChange:D=>R(D),children:i.jsxs(H,{columnGap:4,children:[i.jsx(ba,{value:"root",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ba,{value:"custom",children:i.jsx(tt,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Ec,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:D=>T(D.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:D=>$(D.target.checked),fontWeight:"500"}),i.jsx(rn,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const dse=Te((e,t)=>{const{t:n}=be(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Pd,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Da,{children:c}),i.jsxs(Oa,{children:[i.jsx(rn,{ref:b,onClick:y,children:s}),i.jsx(rn,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),Vy=f.memo(dse);function fse(e){const{model:t}=e,n=te(),{t:r}=be(),[o,{isLoading:s}]=y7(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,params:{convert_dest_directory:a==="Custom"?d:void 0}};if(a==="Custom"&&d===""){n(Dn(Bn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(Dn(Bn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"success"}))),o(v).unwrap().then(b=>{n(Dn(Bn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(b=>{n(Dn(Bn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(Vy,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(rn,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(H,{flexDirection:"column",rowGap:4,children:[i.jsx(tt,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(vb,{children:[i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(xa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(tt,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(H,{flexDir:"column",gap:2,children:[i.jsxs(H,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(tt,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(Gp,{value:a,onChange:v=>c(v),children:i.jsxs(H,{gap:4,children:[i.jsx(ba,{value:"InvokeAIRoot",children:i.jsx(wn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ba,{value:"Custom",children:i.jsx(wn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(H,{flexDirection:"column",rowGap:2,children:[i.jsx(tt,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Ec,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function pse(e){const t=z(jr),{model:n}=e,[r,{isLoading:o}]=J_(),{data:s}=K_(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=be(),h=qc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(Dn(Bn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(Dn(Bn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(H,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(H,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(H,{flexDirection:"column",children:[i.jsx(tt,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(tt,{fontSize:"sm",color:"base.400",children:[vr[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(pl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(fse,{model:n})]}),i.jsx(hl,{}),i.jsx(H,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(H,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(Tr,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(Tr,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(eg,{required:!0,...h.getInputProps("base_model")}),i.jsx(tg,{required:!0,...h.getInputProps("variant")}),i.jsx(Tr,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(Tr,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(H,{flexDirection:"column",gap:2,children:[a?i.jsx(Tr,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx(LO,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(rn,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function hse(e){const t=z(jr),{model:n}=e,[r,{isLoading:o}]=J_(),s=te(),{t:a}=be(),c=qc({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(Dn(Bn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(Dn(Bn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(H,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(H,{flexDirection:"column",children:[i.jsx(tt,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(tt,{fontSize:"sm",color:"base.400",children:[vr[n.base_model]," Model"]})]}),i.jsx(hl,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(H,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(Tr,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(Tr,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(eg,{required:!0,...c.getInputProps("base_model")}),i.jsx(tg,{required:!0,...c.getInputProps("variant")}),i.jsx(Tr,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Tr,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(rn,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}const mse={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"};function qk(e){const t=z(jr),{t:n}=be(),r=te(),[o]=x7(),{model:s,isSelected:a,setSelectedModelId:c}=e,d=f.useCallback(()=>{c(s.id)},[s.id,c]),p=f.useCallback(()=>{o(s).unwrap().then(h=>{r(Dn(Bn({title:`${n("modelManager.modelDeleted")}: ${s.model_name}`,status:"success"})))}).catch(h=>{h&&r(Dn(Bn({title:`${n("modelManager.modelDeleteFailed")}: ${s.model_name}`,status:"success"})))}),c(void 0)},[o,s,c,r,n]);return i.jsxs(H,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(H,{as:rn,isChecked:a,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:a?"accent.400":"base.100",color:a?"base.50":"base.800",_hover:{bg:a?"accent.500":"base.300",color:a?"base.50":"base.800"},_dark:{color:a?"base.50":"base.100",bg:a?"accent.600":"base.850",_hover:{color:a?"base.50":"base.100",bg:a?"accent.550":"base.700"}}},onClick:d,children:i.jsxs(H,{gap:4,alignItems:"center",children:[i.jsx(pl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:mse[s.base_model]}),i.jsx(wn,{label:s.description,hasArrow:!0,placement:"bottom",children:i.jsx(tt,{sx:{fontWeight:500},children:s.model_name})})]})}),i.jsx(Vy,{title:n("modelManager.deleteModel"),acceptCallback:p,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(Le,{icon:i.jsx(VV,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(H,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const gse=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=be(),[o,s]=f.useState(""),[a,c]=f.useState("images"),{filteredDiffusersModels:d}=na(Hu,{selectFromResult:({data:m})=>({filteredDiffusersModels:Kk(m,"diffusers",o)})}),{filteredCheckpointModels:p}=na(Hu,{selectFromResult:({data:m})=>({filteredCheckpointModels:Kk(m,"checkpoint",o)})}),h=f.useCallback(m=>{s(m.target.value)},[]);return i.jsx(H,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(H,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(nr,{isAttached:!0,children:[i.jsx(rn,{onClick:()=>c("images"),isChecked:a==="images",size:"sm",children:r("modelManager.allModels")}),i.jsx(rn,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(rn,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")})]}),i.jsx(Ec,{onChange:h,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(H,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[["images","diffusers"].includes(a)&&d.length>0&&i.jsx(Yk,{children:i.jsxs(H,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tt,{variant:"subtext",fontSize:"sm",children:"Diffusers"}),d.map(m=>i.jsx(qk,{model:m,isSelected:t===m.id,setSelectedModelId:n},m.id))]})}),["images","checkpoint"].includes(a)&&p.length>0&&i.jsx(Yk,{children:i.jsxs(H,{sx:{gap:2,flexDir:"column"},children:[i.jsx(tt,{variant:"subtext",fontSize:"sm",children:"Checkpoints"}),p.map(m=>i.jsx(qk,{model:m,isSelected:t===m.id,setSelectedModelId:n},m.id))]})})]})]})})},Kk=(e,t,n)=>{const r=[];return jo(e==null?void 0:e.entities,o=>{if(!o)return;const s=o.model_name.toLowerCase().includes(n.toLowerCase()),a=o.model_format===t;s&&a&&r.push(o)}),r},Yk=e=>i.jsx(H,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function vse(){const[e,t]=f.useState(),{model:n}=na(Hu,{selectFromResult:({data:r})=>({model:e?r==null?void 0:r.entities[e]:void 0})});return i.jsxs(H,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(gse,{selectedModelId:e,setSelectedModelId:t}),i.jsx(bse,{model:n})]})}const bse=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(pse,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(hse,{model:t},t.id):i.jsx(H,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(tt,{variant:"subtext",children:"No Model Selected"})})};function yse(){const{t:e}=be();return i.jsxs(H,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(H,{sx:{flexDirection:"column",gap:2},children:[i.jsx(tt,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(tt,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Wd,{})]})}function xse(){return i.jsx(H,{children:i.jsx(yse,{})})}const Xk=[{id:"modelManager",label:Ln.t("modelManager.modelManager"),content:i.jsx(vse,{})},{id:"importModels",label:Ln.t("modelManager.importModels"),content:i.jsx(lse,{})},{id:"mergeModels",label:Ln.t("modelManager.mergeModels"),content:i.jsx(use,{})},{id:"settings",label:Ln.t("modelManager.settings"),content:i.jsx(xse,{})}],wse=()=>i.jsxs(Ed,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(Od,{children:Xk.map(e=>i.jsx(wc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx(km,{sx:{w:"full",h:"full"},children:Xk.map(e=>i.jsx(Cm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),Sse=f.memo(wse);const Cse=e=>fe([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),kse=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},_se=fe([e=>e.nodes],e=>e.invocationTemplates),Uy="node-drag-handle",Qk={dragHandle:`.${Uy}`},Pse=()=>{const e=z(_se),t=G1();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...Qk,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=ui(),s=rw(r.inputs,(h,m,v)=>{const b=ui(),w=kse(b,m);return h[v]=w,h},{}),a=rw(r.outputs,(h,m,v)=>{const w={id:ui(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...Qk,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},jse=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(H,{className:Uy,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(wn,{label:t,children:i.jsx(Xs,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(wn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(Kr,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:nW})})]})},WO=f.memo(jse),VO=()=>()=>!0,Ise={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},Ese={left:"-1rem"},Ose={right:"-0.5rem"},Rse=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(wn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:Z_,children:i.jsx(w7,{type:r,id:s,isValidConnection:n,position:r==="target"?ow.Left:ow.Right,style:{backgroundColor:e3[a].colorCssVar,...o,...Ise,...r==="target"?Ese:Ose}})})},UO=f.memo(Rse),Mse=e=>i.jsx(sW,{}),Dse=f.memo(Mse),Tse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Nb,{onChange:o,isChecked:n.value})},Ase=f.memo(Tse),Nse=e=>null,$se=f.memo(Nse);function ng(){return(ng=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function _1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Oc=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(Jk(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=P1(o.current),I=S?_.addEventListener:_.removeEventListener;I(k?"touchmove":"mousemove",b),I(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(Zk(k),!function(P,E){return E&&!Fu(P)}(k,d.current)&&_)){if(Fu(k)){d.current=!0;var I=k.changedTouches||[];I.length&&(c.current=I[0].identifier)}_.focus(),s(Jk(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),F.createElement("div",ng({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),rg=function(e){return e.filter(Boolean).join(" ")},qy=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=rg(["react-colorful__pointer",e.className]);return F.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},F.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},fo=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},qO=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:fo(e.h),s:fo(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:fo(o/2),a:fo(r,2)}},j1=function(e){var t=qO(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},ov=function(e){var t=qO(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},zse=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:fo(255*[r,c,a,a,d,r][p]),g:fo(255*[d,r,r,c,a,a][p]),b:fo(255*[a,a,d,r,r,c][p]),a:fo(o,2)}},Lse=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:fo(60*(c<0?c+6:c)),s:fo(s?a/s*100:0),v:fo(s/255*100),a:o}},Bse=F.memo(function(e){var t=e.hue,n=e.onChange,r=rg(["react-colorful__hue",e.className]);return F.createElement("div",{className:r},F.createElement(Gy,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Oc(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":fo(t),"aria-valuemax":"360","aria-valuemin":"0"},F.createElement(qy,{className:"react-colorful__hue-pointer",left:t/360,color:j1({h:t,s:100,v:100,a:1})})))}),Fse=F.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:j1({h:t.h,s:100,v:100,a:1})};return F.createElement("div",{className:"react-colorful__saturation",style:r},F.createElement(Gy,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Oc(t.s+100*o.left,0,100),v:Oc(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+fo(t.s)+"%, Brightness "+fo(t.v)+"%"},F.createElement(qy,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:j1(t)})))}),KO=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Hse(e,t,n){var r=_1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;KO(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var Wse=typeof window<"u"?f.useLayoutEffect:f.useEffect,Vse=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},e_=new Map,Use=function(e){Wse(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!e_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,e_.set(t,n);var r=Vse();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Gse=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+ov(Object.assign({},n,{a:0}))+", "+ov(Object.assign({},n,{a:1}))+")"},s=rg(["react-colorful__alpha",t]),a=fo(100*n.a);return F.createElement("div",{className:s},F.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),F.createElement(Gy,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Oc(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},F.createElement(qy,{className:"react-colorful__alpha-pointer",left:n.a,color:ov(n)})))},qse=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=GO(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Use(c);var d=Hse(n,o,s),p=d[0],h=d[1],m=rg(["react-colorful",t]);return F.createElement("div",ng({},a,{ref:c,className:m}),F.createElement(Fse,{hsva:p,onChange:h}),F.createElement(Bse,{hue:p.h,onChange:h}),F.createElement(Gse,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Kse={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Lse,fromHsva:zse,equal:KO},YO=function(e){return F.createElement(qse,ng({},e,{colorModel:Kse}))};const Yse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(YO,{className:"nodrag",color:n.value,onChange:o})},Xse=f.memo(Yse),Qse=e=>null,Jse=f.memo(Qse),Zse=e=>null,eae=f.memo(Zse),tae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=U1(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=DO(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Yr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&vr[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},nae=f.memo(tae),rae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(Ts({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(_5,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},oae=f.memo(rae),sae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=A1({id:`node_${t}`,data:r});return i.jsxs(H,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(iae,{imageName:d},d)),Ep(r,a)&&i.jsx(nh,{isOver:o})]})},aae=f.memo(sae),iae=e=>{const{currentData:t}=os(e.imageName);return i.jsx(yi,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},lae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=os(((p=n.value)==null?void 0:p.image_name)??oo.skipToken),s=f.useCallback(()=>{r(Ts({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(H,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(yi,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},cae=f.memo(lae),uae=e=>i.jsx(AH,{}),t_=f.memo(uae),dae=e=>null,fae=f.memo(dae),pae=e=>{const t=tm("models"),[n,r,o]=e.split("/"),s=S7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},hae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=U_(),a=f.useMemo(()=>{if(!s)return[];const p=[];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=pae(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(H,{sx:{justifyContent:"center",p:2},children:i.jsx(tt,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(sr,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&vr[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},mae=f.memo(hae),gae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=be(),s=ar("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(W1),d=f.useMemo(()=>{if(!a)return[];const b=[];return jo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:vr[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=Jm(b);w&&r(Ts({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(sr,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(H,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&vr[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},vae=f.memo(gae),bae=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(Kh)||r(Ts({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(Kh)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(dm,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(pm,{}),i.jsxs(fm,{children:[i.jsx(mm,{}),i.jsx(hm,{})]})]})},yae=f.memo(bae),xae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(Ts({nodeId:t,fieldName:n.name,value:s.target.value}))};return i.jsx(yd,{onChange:o,value:n.value})},wae=f.memo(xae),Sae=e=>null,Cae=f.memo(Sae),kae=e=>null,_ae=f.memo(kae),Pae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=F_(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return jo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:vr[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=_O(p);h&&o(Ts({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(sr,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&vr[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},jae=f.memo(Pae),Iae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=be(),s=ar("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(V1),d=f.useMemo(()=>{if(!a)return[];const b=[];return jo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:vr[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=Jm(b);w&&r(Ts({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(sr,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(H,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(sr,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&vr[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Oe,{mt:7,children:i.jsx(Wd,{iconMode:!0})})]})},Eae=f.memo(Iae),Oae=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(wae,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(Ase,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(yae,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(oae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(cae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(fae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Jse,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(Cae,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx($se,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(_ae,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(eae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(vae,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(Eae,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(jae,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(mae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(nae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(Dse,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(t_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(Xse,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(t_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(aae,{nodeId:t,field:n,template:r}):i.jsxs(Oe,{p:2,children:["Unknown field type: ",o]})},Rae=f.memo(Oae);function Mae(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=VO();return i.jsx(Oe,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(ho,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(di,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(di,{children:i.jsx(wn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:Z_,children:i.jsx(zo,{children:r==null?void 0:r.title})})}),i.jsx(Rae,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(UO,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(di,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(zo,{children:["Unknown input: ",n.name]})})})})}const Dae=e=>{const{nodeId:t,template:n,inputs:r}=e,o=z(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=z(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(Aae,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(H,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},$ae=f.memo(Nae),zae=e=>{const{...t}=e;return i.jsx(MT,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:t3,...t})},I1=f.memo(zae),E1=e=>{const[t,n]=Dc("shadows",["nodeSelectedOutline","dark-lg"]),r=z(o=>o.hotkeys.shift);return i.jsx(Oe,{className:r?Uy:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:t3,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},XO=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>Cse(o),[o]),d=z(c);return d?i.jsxs(E1,{selected:r,children:[i.jsx(WO,{nodeId:t,title:d.title,description:d.description}),i.jsxs(H,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx($ae,{nodeId:t,outputs:a,template:d}),i.jsx(Tae,{nodeId:t,inputs:s,template:d})]}),i.jsx(I1,{})]}):i.jsx(E1,{selected:r,children:i.jsxs(H,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(Kr,{as:h6,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(I1,{})]})})});XO.displayName="InvocationComponent";const Lae=e=>{const t=sw(a=>a.system.progressImage),n=sw(a=>a.nodes.progressNodeSize),r=C7(),{selected:o}=e,s=(a,c)=>{r(k7(c))};return i.jsxs(E1,{selected:o,children:[i.jsx(WO,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(H,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Tc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(H,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(mi,{})})}),i.jsx(I1,{onResize:s})]})},Bae=f.memo(Lae),Fae=()=>{const{t:e}=be(),{zoomIn:t,zoomOut:n,fitView:r}=G1(),o=te(),s=z(w=>w.nodes.shouldShowGraphOverlay),a=z(w=>w.nodes.shouldShowFieldTypeLegend),c=z(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(_7(!s))},[s,o]),v=f.useCallback(()=>{o(P7(!a))},[a,o]),b=f.useCallback(()=>{o(j7(!c))},[c,o]);return i.jsxs(nr,{isAttached:!0,orientation:"vertical",children:[i.jsx(wn,{label:e("nodes.zoomInNodes"),children:i.jsx(Le,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(ml,{})})}),i.jsx(wn,{label:e("nodes.zoomOutNodes"),children:i.jsx(Le,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(lW,{})})}),i.jsx(wn,{label:e("nodes.fitViewportNodes"),children:i.jsx(Le,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(YH,{})})}),i.jsx(wn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(Le,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(Lb,{})})}),i.jsx(wn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(Le,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(rW,{})})}),i.jsx(wn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(Le,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(aW,{})})})]})},Hae=f.memo(Fae),Wae=()=>i.jsx(id,{position:"bottom-left",children:i.jsx(Hae,{})}),Vae=f.memo(Wae),Uae=()=>{const e=vp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=z(o=>o.nodes.shouldShowMinimapPanel),n=vp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=vp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(ST,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Gae=f.memo(Uae),qae=()=>{const{t:e}=be(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=z(d=>d.nodes.nodes),c=f.useCallback(()=>{t(I7()),t(Dn(Bn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(Le,{icon:i.jsx(us,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Pd,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Ma,{}),i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Da,{children:i.jsx(tt,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Oa,{children:[i.jsx(gc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(gc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Kae=f.memo(qae);function Yae(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Ln.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Ln.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Ln.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Ln.t("toast.nodesLoaded")}}const Xae=()=>{const{t:e}=be(),t=te(),{fitView:n}=G1(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Yae(p);h?(t(E7(p.nodes)),t(O7(p.edges)),n(),t(Dn(Bn({title:m,status:"success"})))):t(Dn(Bn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(Dn(Bn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(hE,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(Le,{icon:i.jsx(Md,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Qae=f.memo(Xae);function Jae(e){const{iconButton:t=!1,...n}=e,r=te(),o=z(Kn),s=Bd(),a=f.useCallback(()=>{r(dd("nodes"))},[r]),{t:c}=be();return nt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Oe,{style:{flexGrow:4},position:"relative",children:i.jsxs(Oe,{style:{position:"relative"},children:[!s&&i.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(xO,{})}),t?i.jsx(Le,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(y6,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(rn,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function Zae(){const{t:e}=be(),t=te(),n=f.useCallback(()=>{t(R7())},[t]);return i.jsx(Le,{icon:i.jsx(hW,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const eie=()=>{const{t:e}=be(),t=z(o=>o.nodes.editorInstance),n=z(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>M7(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(Le,{icon:i.jsx(_m,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},tie=f.memo(eie),nie=()=>i.jsx(id,{position:"top-center",children:i.jsxs(di,{children:[i.jsx(Jae,{}),i.jsx(Qm,{}),i.jsx(Zae,{}),i.jsx(tie,{}),i.jsx(Qae,{}),i.jsx(Kae,{})]})}),rie=f.memo(nie),oie=fe([Ye],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Ge),sie=()=>{const e=te(),{data:t}=z(oie),n=Pse(),r=Bc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(D7(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(H,{sx:{gap:2,alignItems:"center"},children:i.jsx(sr,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:QO,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},QO=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(tt,{fontWeight:600,children:e}),i.jsx(tt,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));QO.displayName="SelectItem";const aie=()=>i.jsx(id,{position:"top-left",children:i.jsx(sie,{})}),iie=f.memo(aie),lie=()=>i.jsx(H,{sx:{gap:2,flexDir:"column"},children:cs(e3,({title:e,description:t,color:n},r)=>i.jsx(wn,{label:t,children:i.jsx(pl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),cie=f.memo(lie),uie=()=>{const e=z(n=>n),t=T7(e);return i.jsx(Oe,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},die=f.memo(uie),fie=()=>{const e=z(n=>n.nodes.shouldShowGraphOverlay),t=z(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(id,{position:"top-right",children:[t&&i.jsx(cie,{}),e&&i.jsx(die,{})]})},pie=f.memo(fie),hie={invocation:XO,progress_image:Bae},mie=()=>{const e=te(),t=z(p=>p.nodes.nodes),n=z(p=>p.nodes.edges),r=f.useCallback(p=>{e(A7(p))},[e]),o=f.useCallback(p=>{e(N7(p))},[e]),s=f.useCallback((p,h)=>{e($7(h))},[e]),a=f.useCallback(p=>{e(z7(p))},[e]),c=f.useCallback(()=>{e(L7())},[e]),d=f.useCallback(p=>{e(B7(p)),p&&p.fitView()},[e]);return i.jsxs(F7,{nodeTypes:hie,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(iie,{}),i.jsx(rie,{}),i.jsx(pie,{}),i.jsx(Vae,{}),i.jsx(IT,{}),i.jsx(Gae,{})]})},gie=()=>i.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(H7,{children:i.jsx(mie,{})})}),vie=f.memo(gie),bie=()=>i.jsx(vie,{}),yie=f.memo(bie),xie=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),wie=()=>{const{shouldUseSliders:e,activeLabel:t}=z(xie);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(H,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(H,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(Ic,{})]})})})},JO=f.memo(wie),ZO=()=>i.jsxs(i.Fragment,{children:[i.jsxs(H,{sx:{flexDirection:"column",gap:2,p:2,borderRadius:4,bg:"base.100",_dark:{bg:"base.850"}},children:[i.jsx(Fd,{}),i.jsx(CO,{}),i.jsx(Ld,{}),i.jsx(SO,{}),i.jsx(wO,{})]}),i.jsx(Hd,{}),i.jsx(JO,{}),i.jsx(kO,{}),i.jsx(zd,{}),i.jsx(Xm,{})]}),e8=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(JO,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Xm,{}),i.jsx(Wy,{}),i.jsx(TO,{}),i.jsx(Fy,{})]}),Sie=()=>{const e=z(t=>t.generation.model);return i.jsxs(H,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:e&&e.base_model==="sdxl"?i.jsx(ZO,{}):i.jsx(e8,{})}),i.jsx(MO,{})]})},Cie=f.memo(Sie);var O1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=aw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=aw;e.exports=r.Konva})(O1,O1.exports);var kie=O1.exports;const ad=cd(kie);var t8={exports:{}};/** + * @license React + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var _ie=function(t){var n={},r=f,o=bp,s=Object.assign;function a(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,g=1;gZ||C[N]!==j[Z]){var de=` +`+C[N].replace(" at new "," at ");return l.displayName&&de.includes("")&&(de=de.replace("",l.displayName)),de}while(1<=N&&0<=Z);break}}}finally{Gt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var Jt=Object.prototype.hasOwnProperty,Vt=[],$e=-1;function yt(l){return{current:l}}function Mt(l){0>$e||(l.current=Vt[$e],Vt[$e]=null,$e--)}function Ht(l,u){$e++,Vt[$e]=l.current,l.current=u}var jn={},Ut=yt(jn),un=yt(!1),sn=jn;function Ir(l,u){var g=l.type.contextTypes;if(!g)return jn;var x=l.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===u)return x.__reactInternalMemoizedMaskedChildContext;var C={},j;for(j in g)C[j]=u[j];return x&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=C),C}function Qn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Ut)}function In(l,u,g){if(Ut.current!==jn)throw Error(a(168));Ht(Ut,u),Ht(un,g)}function On(l,u,g){var x=l.stateNode;if(u=u.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var C in x)if(!(C in u))throw Error(a(108,M(l)||"Unknown",C));return s({},g,x)}function Jn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Ut.current,Ht(Ut,l),Ht(un,un.current),!0}function hr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=On(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Ut),Ht(Ut,l)):Mt(un),Ht(un,g)}var Tn=Math.clz32?Math.clz32:Sn,An=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(An(l)/dn|0)|0}var En=64,vn=4194304;function bn(l){switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function Ke(l,u){var g=l.pendingLanes;if(g===0)return 0;var x=0,C=l.suspendedLanes,j=l.pingedLanes,N=g&268435455;if(N!==0){var Z=N&~C;Z!==0?x=bn(Z):(j&=N,j!==0&&(x=bn(j)))}else N=g&~C,N!==0?x=bn(N):j!==0&&(x=bn(j));if(x===0)return 0;if(u!==0&&u!==x&&!(u&C)&&(C=x&-x,j=u&-u,C>=j||C===16&&(j&4194240)!==0))return u;if(x&4&&(x|=g&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=x;0g;g++)u.push(l);return u}function mt(l,u,g){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-Tn(u),l[u]=g}function ot(l,u){var g=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var x=l.eventTimes;for(l=l.expirationTimes;0>=N,C-=N,Do=1<<32-Tn(u)+C|g<Cn?(Lr=Xt,Xt=null):Lr=Xt.sibling;var kn=it(ce,Xt,ve[Cn],lt);if(kn===null){Xt===null&&(Xt=Lr);break}l&&Xt&&kn.alternate===null&&u(ce,Xt),ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn,Xt=Lr}if(Cn===ve.length)return g(ce,Xt),Zn&&Ti(ce,Cn),Tt;if(Xt===null){for(;CnCn?(Lr=Xt,Xt=null):Lr=Xt.sibling;var Ja=it(ce,Xt,kn.value,lt);if(Ja===null){Xt===null&&(Xt=Lr);break}l&&Xt&&Ja.alternate===null&&u(ce,Xt),ne=j(Ja,ne,Cn),nn===null?Tt=Ja:nn.sibling=Ja,nn=Ja,Xt=Lr}if(kn.done)return g(ce,Xt),Zn&&Ti(ce,Cn),Tt;if(Xt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Yt(ce,kn.value,lt),kn!==null&&(ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn);return Zn&&Ti(ce,Cn),Tt}for(Xt=x(ce,Xt);!kn.done;Cn++,kn=ve.next())kn=Xn(Xt,ce,Cn,kn.value,lt),kn!==null&&(l&&kn.alternate!==null&&Xt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),nn===null?Tt=kn:nn.sibling=kn,nn=kn);return l&&Xt.forEach(function(X8){return u(ce,X8)}),Zn&&Ti(ce,Cn),Tt}function ga(ce,ne,ve,lt){if(typeof ve=="object"&&ve!==null&&ve.type===h&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case d:e:{for(var Tt=ve.key,nn=ne;nn!==null;){if(nn.key===Tt){if(Tt=ve.type,Tt===h){if(nn.tag===7){g(ce,nn.sibling),ne=C(nn,ve.props.children),ne.return=ce,ce=ne;break e}}else if(nn.elementType===Tt||typeof Tt=="object"&&Tt!==null&&Tt.$$typeof===I&&dx(Tt)===nn.type){g(ce,nn.sibling),ne=C(nn,ve.props),ne.ref=Yc(ce,nn,ve),ne.return=ce,ce=ne;break e}g(ce,nn);break}else u(ce,nn);nn=nn.sibling}ve.type===h?(ne=Fi(ve.props.children,ce.mode,lt,ve.key),ne.return=ce,ce=ne):(lt=_f(ve.type,ve.key,ve.props,null,ce.mode,lt),lt.ref=Yc(ce,ne,ve),lt.return=ce,ce=lt)}return N(ce);case p:e:{for(nn=ve.key;ne!==null;){if(ne.key===nn)if(ne.tag===4&&ne.stateNode.containerInfo===ve.containerInfo&&ne.stateNode.implementation===ve.implementation){g(ce,ne.sibling),ne=C(ne,ve.children||[]),ne.return=ce,ce=ne;break e}else{g(ce,ne);break}else u(ce,ne);ne=ne.sibling}ne=s0(ve,ce.mode,lt),ne.return=ce,ce=ne}return N(ce);case I:return nn=ve._init,ga(ce,ne,nn(ve._payload),lt)}if(q(ve))return $n(ce,ne,ve,lt);if(O(ve))return yo(ce,ne,ve,lt);Jd(ce,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ne!==null&&ne.tag===6?(g(ce,ne.sibling),ne=C(ne,ve),ne.return=ce,ce=ne):(g(ce,ne),ne=o0(ve,ce.mode,lt),ne.return=ce,ce=ne),N(ce)):g(ce,ne)}return ga}var kl=fx(!0),px=fx(!1),Xc={},Uo=yt(Xc),Qc=yt(Xc),_l=yt(Xc);function Fs(l){if(l===Xc)throw Error(a(174));return l}function bg(l,u){Ht(_l,u),Ht(Qc,l),Ht(Uo,Xc),l=D(u),Mt(Uo),Ht(Uo,l)}function Pl(){Mt(Uo),Mt(Qc),Mt(_l)}function hx(l){var u=Fs(_l.current),g=Fs(Uo.current);u=L(g,l.type,u),g!==u&&(Ht(Qc,l),Ht(Uo,u))}function yg(l){Qc.current===l&&(Mt(Uo),Mt(Qc))}var cr=yt(0);function Zd(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||Nr(g)||$s(g)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var xg=[];function wg(){for(var l=0;lg?g:4,l(!0);var x=Sg.transition;Sg.transition={};try{l(!1),u()}finally{je=g,Sg.transition=x}}function Mx(){return Go().memoizedState}function C8(l,u,g){var x=Ya(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Dx(l))Tx(u,g);else if(g=rx(l,u,g,x),g!==null){var C=to();qo(g,l,x,C),Ax(g,u,x)}}function k8(l,u,g){var x=Ya(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Dx(l))Tx(u,C);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=u.lastRenderedReducer,j!==null))try{var N=u.lastRenderedState,Z=j(N,g);if(C.hasEagerState=!0,C.eagerState=Z,fn(Z,N)){var de=u.interleaved;de===null?(C.next=C,hg(u)):(C.next=de.next,de.next=C),u.interleaved=C;return}}catch{}finally{}g=rx(l,u,C,x),g!==null&&(C=to(),qo(g,l,x,C),Ax(g,u,x))}}function Dx(l){var u=l.alternate;return l===ur||u!==null&&u===ur}function Tx(l,u){Jc=tf=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Ax(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Ee(l,g)}}var of={readContext:Vo,useCallback:Jr,useContext:Jr,useEffect:Jr,useImperativeHandle:Jr,useInsertionEffect:Jr,useLayoutEffect:Jr,useMemo:Jr,useReducer:Jr,useRef:Jr,useState:Jr,useDebugValue:Jr,useDeferredValue:Jr,useTransition:Jr,useMutableSource:Jr,useSyncExternalStore:Jr,useId:Jr,unstable_isNewReconciler:!1},_8={readContext:Vo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Vo,useEffect:kx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,nf(4194308,4,jx.bind(null,u,l),g)},useLayoutEffect:function(l,u){return nf(4194308,4,l,u)},useInsertionEffect:function(l,u){return nf(4,2,l,u)},useMemo:function(l,u){var g=Hs();return u=u===void 0?null:u,l=l(),g.memoizedState=[l,u],l},useReducer:function(l,u,g){var x=Hs();return u=g!==void 0?g(u):u,x.memoizedState=x.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},x.queue=l,l=l.dispatch=C8.bind(null,ur,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Sx,useDebugValue:Eg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Sx(!1),u=l[0];return l=S8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=ur,C=Hs();if(Zn){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),zr===null)throw Error(a(349));Ni&30||vx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,kx(yx.bind(null,x,j,l),[l]),x.flags|=2048,tu(9,bx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(Zn){var g=Qr,x=Do;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=Zc++,0Xg&&(u.flags|=128,x=!0,ou(C,!1),u.lanes=4194304)}else{if(!x)if(l=Zd(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),ou(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!Zn)return Zr(u),null}else 2*Ve()-C.renderingStartTime>Xg&&g!==1073741824&&(u.flags|=128,x=!0,ou(C,!1),u.lanes=4194304);C.isBackwards?(j.sibling=u.child,u.child=j):(l=C.last,l!==null?l.sibling=j:u.child=j,C.last=j)}return C.tail!==null?(u=C.tail,C.rendering=u,C.tail=u.sibling,C.renderingStartTime=Ve(),u.sibling=null,l=cr.current,Ht(cr,x?l&1|2:l&1),u):(Zr(u),null);case 22:case 23:return t0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?Ao&1073741824&&(Zr(u),le&&u.subtreeFlags&6&&(u.flags|=8192)):Zr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function D8(l,u){switch(ag(u),u.tag){case 1:return Qn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return Pl(),Mt(un),Mt(Ut),wg(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return yg(u),null;case 13:if(Mt(cr),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));wl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(cr),null;case 4:return Pl(),null;case 10:return fg(u.type._context),null;case 22:case 23:return t0(),null;case 24:return null;default:return null}}var uf=!1,eo=!1,T8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Il(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){er(l,u,x)}else g.current=null}function zg(l,u,g){try{g()}catch(x){er(l,u,x)}}var e2=!1;function A8(l,u){for(W(l.containerInfo),pt=u;pt!==null;)if(l=pt,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,pt=u;else for(;pt!==null;){l=pt;try{var g=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,C=g.memoizedState,j=l.stateNode,N=j.getSnapshotBeforeUpdate(l.elementType===l.type?x:ms(l.type,x),C);j.__reactInternalSnapshotBeforeUpdate=N}break;case 3:le&&ln(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(Z){er(l,l.return,Z)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=e2,e2=!1,g}function su(l,u,g){var x=u.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var C=x=x.next;do{if((C.tag&l)===l){var j=C.destroy;C.destroy=void 0,j!==void 0&&zg(u,g,j)}C=C.next}while(C!==x)}}function df(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&l)===l){var x=g.create;g.destroy=x()}g=g.next}while(g!==u)}}function Lg(l){var u=l.ref;if(u!==null){var g=l.stateNode;switch(l.tag){case 5:l=G(g);break;default:l=g}typeof u=="function"?u(l):u.current=l}}function t2(l){var u=l.alternate;u!==null&&(l.alternate=null,t2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ae(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function n2(l){return l.tag===5||l.tag===3||l.tag===4}function r2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||n2(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Bg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Pn(g,l,u):ht(g,l);else if(x!==4&&(l=l.child,l!==null))for(Bg(l,u,g),l=l.sibling;l!==null;)Bg(l,u,g),l=l.sibling}function Fg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?qe(g,l,u):xe(g,l);else if(x!==4&&(l=l.child,l!==null))for(Fg(l,u,g),l=l.sibling;l!==null;)Fg(l,u,g),l=l.sibling}var Ur=null,gs=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Hg(l,u,g),g=g.sibling}function Hg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Yn,g)}catch{}switch(g.tag){case 5:eo||Il(g,u);case 6:if(le){var x=Ur,C=gs;Ur=null,Vs(l,u,g),Ur=x,gs=C,Ur!==null&&(gs?Je(Ur,g.stateNode):Pe(Ur,g.stateNode))}else Vs(l,u,g);break;case 18:le&&Ur!==null&&(gs?Be(Ur,g.stateNode):xt(Ur,g.stateNode));break;case 4:le?(x=Ur,C=gs,Ur=g.stateNode.containerInfo,gs=!0,Vs(l,u,g),Ur=x,gs=C):(ge&&(x=g.stateNode.containerInfo,C=br(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!eo&&(x=g.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){C=x=x.next;do{var j=C,N=j.destroy;j=j.tag,N!==void 0&&(j&2||j&4)&&zg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!eo&&(Il(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(Z){er(g,u,Z)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(eo=(x=eo)||g.memoizedState!==null,Vs(l,u,g),eo=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function o2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new T8),u.forEach(function(x){var C=V8.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function vs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case pf:return":has("+(Ug(l)||"")+")";case hf:return'[role="'+l.value+'"]';case gf:return'"'+l.value+'"';case mf:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function u2(l,u){var g=[];l=[l,0];for(var x=0;xC&&(C=N),x&=~j}if(x=C,x=Ve()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*$8(x/1960))-x,10l?16:l,Ka===null)var x=!1;else{if(l=Ka,Ka=null,wf=0,an&6)throw Error(a(331));var C=an;for(an|=4,pt=l.current;pt!==null;){var j=pt,N=j.child;if(pt.flags&16){var Z=j.deletions;if(Z!==null){for(var de=0;deVe()-Yg?zi(l,0):Kg|=g),bo(l,u)}function y2(l,u){u===0&&(l.mode&1?(u=vn,vn<<=1,!(vn&130023424)&&(vn=4194304)):u=1);var g=to();l=Bs(l,u),l!==null&&(mt(l,u,g),bo(l,g))}function W8(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),y2(l,g)}function V8(l,u){var g=0;switch(l.tag){case 13:var x=l.stateNode,C=l.memoizedState;C!==null&&(g=C.retryLane);break;case 19:x=l.stateNode;break;default:throw Error(a(314))}x!==null&&x.delete(u),y2(l,g)}var x2;x2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)go=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return go=!1,R8(l,u,g);go=!!(l.flags&131072)}else go=!1,Zn&&u.flags&1048576&&Qy(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;af(l,u),l=u.pendingProps;var C=Ir(u,Ut.current);Cl(u,g),C=kg(null,u,x,l,C,g);var j=_g();return u.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Qn(x)?(j=!0,Jn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,mg(u),C.updater=Qd,u.stateNode=C,C._reactInternals=u,vg(u,x,l,g),u=Dg(null,u,x,!0,j,g)):(u.tag=0,Zn&&j&&sg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(af(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=G8(x),l=ms(x,l),C){case 0:u=Mg(null,u,x,l,g);break e;case 1:u=Gx(null,u,x,l,g);break e;case 11:u=Fx(null,u,x,l,g);break e;case 14:u=Hx(null,u,x,ms(x.type,l),g);break e}throw Error(a(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Mg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Gx(l,u,x,C,g);case 3:e:{if(qx(u),l===null)throw Error(a(387));x=u.pendingProps,j=u.memoizedState,C=j.element,ox(l,u),Xd(u,x,null,g);var N=u.memoizedState;if(x=N.element,_e&&j.isDehydrated)if(j={element:x,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},u.updateQueue.baseState=j,u.memoizedState=j,u.flags&256){C=jl(Error(a(423)),u),u=Kx(l,u,x,g,C);break e}else if(x!==C){C=jl(Error(a(424)),u),u=Kx(l,u,x,g,C);break e}else for(_e&&(Wo=ee(u.stateNode.containerInfo),To=u,Zn=!0,hs=null,Kc=!1),g=px(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(wl(),x===C){u=ha(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return hx(u),l===null&&lg(u),x=u.type,C=u.pendingProps,j=l!==null?l.memoizedProps:null,N=C.children,K(x,C)?N=null:j!==null&&K(x,j)&&(u.flags|=32),Ux(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&lg(u),null;case 13:return Yx(l,u,g);case 4:return bg(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=kl(u,null,x,g):uo(l,u,x,g),u.child;case 11:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Fx(l,u,x,C,g);case 7:return uo(l,u,u.pendingProps,g),u.child;case 8:return uo(l,u,u.pendingProps.children,g),u.child;case 12:return uo(l,u,u.pendingProps.children,g),u.child;case 10:e:{if(x=u.type._context,C=u.pendingProps,j=u.memoizedProps,N=C.value,nx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=ha(l,u,g);break e}}else for(j=u.child,j!==null&&(j.return=u);j!==null;){var Z=j.dependencies;if(Z!==null){N=j.child;for(var de=Z.firstContext;de!==null;){if(de.context===x){if(j.tag===1){de=pa(-1,g&-g),de.tag=2;var De=j.updateQueue;if(De!==null){De=De.shared;var gt=De.pending;gt===null?de.next=de:(de.next=gt.next,gt.next=de),De.pending=de}}j.lanes|=g,de=j.alternate,de!==null&&(de.lanes|=g),pg(j.return,g,u),Z.lanes|=g;break}de=de.next}}else if(j.tag===10)N=j.type===u.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(a(341));N.lanes|=g,Z=N.alternate,Z!==null&&(Z.lanes|=g),pg(N,g,u),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===u){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}uo(l,u,C.children,g),u=u.child}return u;case 9:return C=u.type,x=u.pendingProps.children,Cl(u,g),C=Vo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=ms(x,u.pendingProps),C=ms(x.type,C),Hx(l,u,x,C,g);case 15:return Wx(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),af(l,u),u.tag=1,Qn(x)?(l=!0,Jn(u)):l=!1,Cl(u,g),cx(u,x,C),vg(u,x,C,g),Dg(null,u,x,!0,l,g);case 19:return Qx(l,u,g);case 22:return Vx(l,u,g)}throw Error(a(156,u.tag))};function w2(l,u){return We(l,u)}function U8(l,u,g,x){this.tag=l,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ko(l,u,g,x){return new U8(l,u,g,x)}function r0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function G8(l){if(typeof l=="function")return r0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function Qa(l,u){var g=l.alternate;return g===null?(g=Ko(l.tag,u,l.key,l.mode),g.elementType=l.elementType,g.type=l.type,g.stateNode=l.stateNode,g.alternate=l,l.alternate=g):(g.pendingProps=u,g.type=l.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=l.flags&14680064,g.childLanes=l.childLanes,g.lanes=l.lanes,g.child=l.child,g.memoizedProps=l.memoizedProps,g.memoizedState=l.memoizedState,g.updateQueue=l.updateQueue,u=l.dependencies,g.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},g.sibling=l.sibling,g.index=l.index,g.ref=l.ref,g}function _f(l,u,g,x,C,j){var N=2;if(x=l,typeof l=="function")r0(l)&&(N=1);else if(typeof l=="string")N=5;else e:switch(l){case h:return Fi(g.children,C,j,u);case m:N=8,C|=8;break;case v:return l=Ko(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Ko(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Ko(19,g,u,C),l.elementType=k,l.lanes=j,l;case P:return Pf(g,C,j,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:N=10;break e;case w:N=9;break e;case y:N=11;break e;case _:N=14;break e;case I:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Ko(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Ko(7,l,x,u),l.lanes=g,l}function Pf(l,u,g,x){return l=Ko(22,l,x,u),l.elementType=P,l.lanes=g,l.stateNode={isHidden:!1},l}function o0(l,u,g){return l=Ko(6,l,null,u),l.lanes=g,l}function s0(l,u,g){return u=Ko(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function q8(l,u,g,x,C){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=oe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=x,this.onRecoverableError=C,_e&&(this.mutableSourceEagerHydrationData=null)}function S2(l,u,g,x,C,j,N,Z,de){return l=new q8(l,u,g,Z,de),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Ko(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},mg(j),l}function C2(l){if(!l)return jn;l=l._reactInternals;e:{if(T(l)!==l||l.tag!==1)throw Error(a(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Qn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(a(171))}if(l.tag===1){var g=l.type;if(Qn(g))return On(l,g,u)}return u}function k2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(a(188)):(l=Object.keys(l).join(","),Error(a(268,l)));return l=Q(u),l===null?null:l.stateNode}function _2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=De&&j>=Yt&&C<=gt&&N<=it){l.splice(u,1);break}else if(x!==De||g.width!==de.width||itN){if(!(j!==Yt||g.height!==de.height||gtC)){De>x&&(de.width+=De-x,de.x=x),gtj&&(de.height+=Yt-j,de.y=j),itg&&(g=N)),N ")+` + +No matching component was found for: + `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return G(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:K8,findFiberByHostInstance:l.findFiberByHostInstance||Y8,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Yn=u.inject(l),gn=u}catch{}l=!!u.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,u,g,x){if(!ct)throw Error(a(363));l=Gg(l,u);var C=At(l,g,x).disconnect;return{disconnect:function(){C()}}},n.registerMutableSourceForHydration=function(l,u){var g=u._getVersion;g=g(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,g]:l.mutableSourceEagerHydrationData.push(u,g)},n.runWithPriority=function(l,u){var g=je;try{return je=l,u()}finally{je=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=to(),N=Ya(C);return g=C2(g),u.context===null?u.context=g:u.pendingContext=g,u=pa(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=Ga(C,u,N),l!==null&&(qo(l,C,N,j),Yd(l,C,N)),N},n};t8.exports=_ie;var Pie=t8.exports;const jie=cd(Pie);var n8={exports:{}},xl={};/** + * @license React + * react-reconciler-constants.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */xl.ConcurrentRoot=1;xl.ContinuousEventPriority=4;xl.DefaultEventPriority=16;xl.DiscreteEventPriority=1;xl.IdleEventPriority=536870912;xl.LegacyRoot=0;n8.exports=xl;var r8=n8.exports;const n_={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let r_=!1,o_=!1;const Ky=".react-konva-event",Iie=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. +Position of a node will be changed during drag&drop, so you should update state of the react app as well. +Consider to add onDragMove or onDragEnd events. +For more info see: https://github.com/konvajs/react-konva/issues/256 +`,Eie=`ReactKonva: You are using "zIndex" attribute for a Konva node. +react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. +For more info see: https://github.com/konvajs/react-konva/issues/194 +`,Oie={};function og(e,t,n=Oie){if(!r_&&"zIndex"in t&&(console.warn(Eie),r_=!0),!o_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(Iie),o_=!0)}for(var s in n)if(!n_[s]){var a=s.slice(0,2)==="on",c=n[s]!==t[s];if(a&&c){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,m={},v=!1;const b={};for(var s in t)if(!n_[s]){var a=s.slice(0,2)==="on",w=n[s]!==t[s];if(a&&w){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!a&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,m[s]=t[s])}v&&(e.setAttrs(m),Di(e));for(var d in b)e.on(d+Ky,b[d])}function Di(e){if(!W7.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const o8={},Rie={};ad.Node.prototype._applyProps=og;function Mie(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),Di(e)}function Die(e,t,n){let r=ad[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=ad.Group);const o={},s={};for(var a in t){var c=a.slice(0,2)==="on";c?s[a]=t[a]:o[a]=t[a]}const d=new r(o);return og(d,s),d}function Tie(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function Aie(e,t,n){return!1}function Nie(e){return e}function $ie(){return null}function zie(){return null}function Lie(e,t,n,r){return Rie}function Bie(){}function Fie(e){}function Hie(e,t){return!1}function Wie(){return o8}function Vie(){return o8}const Uie=setTimeout,Gie=clearTimeout,qie=-1;function Kie(e,t){return!1}const Yie=!1,Xie=!0,Qie=!0;function Jie(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function Zie(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function s8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function ele(e,t,n){s8(e,t,n)}function tle(e,t){t.destroy(),t.off(Ky),Di(e)}function nle(e,t){t.destroy(),t.off(Ky),Di(e)}function rle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function ole(e,t,n){}function sle(e,t,n,r,o){og(e,o,r)}function ale(e){e.hide(),Di(e)}function ile(e){}function lle(e,t){(t.visible==null||t.visible)&&e.show()}function cle(e,t){}function ule(e){}function dle(){}const fle=()=>r8.DefaultEventPriority,ple=Object.freeze(Object.defineProperty({__proto__:null,appendChild:Jie,appendChildToContainer:Zie,appendInitialChild:Mie,cancelTimeout:Gie,clearContainer:ule,commitMount:ole,commitTextUpdate:rle,commitUpdate:sle,createInstance:Die,createTextInstance:Tie,detachDeletedInstance:dle,finalizeInitialChildren:Aie,getChildHostContext:Vie,getCurrentEventPriority:fle,getPublicInstance:Nie,getRootHostContext:Wie,hideInstance:ale,hideTextInstance:ile,idlePriority:bp.unstable_IdlePriority,insertBefore:s8,insertInContainerBefore:ele,isPrimaryRenderer:Yie,noTimeout:qie,now:bp.unstable_now,prepareForCommit:$ie,preparePortalMount:zie,prepareUpdate:Lie,removeChild:tle,removeChildFromContainer:nle,resetAfterCommit:Bie,resetTextContent:Fie,run:bp.unstable_runWithPriority,scheduleTimeout:Uie,shouldDeprioritizeSubtree:Hie,shouldSetTextContent:Kie,supportsMutation:Qie,unhideInstance:lle,unhideTextInstance:cle,warnsIfNotActing:Xie},Symbol.toStringTag,{value:"Module"}));var hle=Object.defineProperty,mle=Object.defineProperties,gle=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,vle=Object.prototype.hasOwnProperty,ble=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?hle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i_=(e,t)=>{for(var n in t||(t={}))vle.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))ble.call(t,n)&&a_(e,n,t[n]);return e},yle=(e,t)=>mle(e,gle(t));function a8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=a8(r,t,n);if(o)return o;r=t?null:r.sibling}}function i8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const Yy=i8(f.createContext(null));class l8 extends f.Component{render(){return f.createElement(Yy.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:l_,ReactCurrentDispatcher:c_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function xle(){const e=f.useContext(Yy);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[l_==null?void 0:l_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=a8(r,!1,s=>{let a=s.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(o)return o}},[e,t])}function wle(){var e,t;const n=xle(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==Yy&&!r.has(s)&&r.set(s,(t=c_==null?void 0:c_.current)==null?void 0:t.readContext(i8(s))),o=o.return}return r}function Sle(){const e=wle();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,yle(i_({},r),{value:e.get(n)}))),t=>f.createElement(l8,i_({},t))),[e])}function Cle(e){const t=F.useRef({});return F.useLayoutEffect(()=>{t.current=e}),F.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const kle=e=>{const t=F.useRef(),n=F.useRef(),r=F.useRef(),o=Cle(e),s=Sle(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return F.useLayoutEffect(()=>(n.current=new ad.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=Ou.createContainer(n.current,r8.LegacyRoot,!1,null),Ou.updateContainer(F.createElement(s,{},e.children),r.current),()=>{ad.isBrowser&&(a(null),Ou.updateContainer(null,r.current,null),n.current.destroy())}),[]),F.useLayoutEffect(()=>{a(n.current),og(n.current,e,o),Ou.updateContainer(F.createElement(s,{},e.children),r.current,null)}),F.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},yu="Layer",Na="Group",aa="Rect",Hi="Circle",Yh="Line",c8="Image",_le="Transformer",Ou=jie(ple);Ou.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:F.version,rendererPackageName:"react-konva"});const Ple=F.forwardRef((e,t)=>F.createElement(l8,{},F.createElement(kle,{...e,forwardedRef:t}))),jle=fe([mn,ir],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Qt}}),Ile=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=z(jle);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Ap(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(n3(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Ap(!1))},[e,r,n,t])}},Ele=fe([mn,Kn,ir],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Qt}}),Ole=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=z(Ele),c=f.useRef(null),d=r3(),p=()=>e(q1());nt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(pd(!s));nt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),nt(["n"],()=>{e(Wu(!a))},{enabled:!0,preventDefault:!0},[a]),nt("esc",()=>{e(V7())},{enabled:()=>!0,preventDefault:!0}),nt("shift+h",()=>{e(U7(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),nt(["space"],m=>{m.repeat||(d==null||d.container().focus(),r!=="move"&&(c.current=r,e(ea("move"))),r==="move"&&c.current&&c.current!=="move"&&(e(ea(c.current)),c.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,c])},Xy=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},u8=()=>{const e=te(),t=Ia(),n=r3();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=G7.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;e(q7({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(K7())}}},Rle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Qt}}),Mle=e=>{const t=te(),{tool:n,isStaging:r}=z(Rle),{commitColorUnderCursor:o}=u8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Ap(!0));return}if(n==="colorPicker"){o();return}const a=Xy(e.current);a&&(s.evt.preventDefault(),t(o3(!0)),t(Y7([a.x,a.y])))},[e,n,r,t,o])},Dle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Qt}}),Tle=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=z(Dle),{updateColorUnderCursor:c}=u8();return f.useCallback(()=>{if(!e.current)return;const d=Xy(e.current);if(d){if(r(X7(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(s3([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},Ale=()=>{const e=te();return f.useCallback(()=>{e(Q7())},[e])},Nle=fe([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Qt}}),$le=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=z(Nle);return f.useCallback(()=>{if(r==="move"||s){n(Ap(!1));return}if(!t.current&&o&&e.current){const a=Xy(e.current);if(!a)return;n(s3([a.x,a.y]))}else t.current=!1;n(o3(!1))},[t,n,o,s,e,r])},zle=fe([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Qt}}),Lle=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=z(zle);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const a={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*eD**c,Z7,J7),p={x:s.x-a.x*d,y:s.y-a.y*d};t(tD(d)),t(n3(p))},[e,n,r,t])},Ble=fe(mn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Qt}}),Fle=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=z(Ble);return i.jsxs(Na,{children:[i.jsx(aa,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),i.jsx(aa,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},Hle=fe([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Qt}}),Wle=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=z(Hle),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=Dc("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:m,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(m),y:d(v)}},w={x:Math.ceil(d(m)/64)*64,y:Math.ceil(d(v)/64)*64},y={x1:-w.x,y1:-w.y,x2:d(p)-w.x+64,y2:d(h)-w.y+64},k={x1:Math.min(b.x1,y.x1),y1:Math.min(b.y1,y.y1),x2:Math.max(b.x2,y.x2),y2:Math.max(b.y2,y.y2)},_=k.x2-k.x1,I=k.y2-k.y1,P=Math.round(_/64)+1,E=Math.round(I/64)+1,O=vw(0,P).map(M=>i.jsx(Yh,{x:k.x1+M*64,y:k.y1,points:[0,0,0,I],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=vw(0,E).map(M=>i.jsx(Yh,{x:k.x1,y:k.y1+M*64,points:[0,0,_,0],stroke:r==="dark"?a:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,a,c]),i.jsx(Na,{children:o})},Vle=fe([mo,mn],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Qt}}),Ule=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=z(Vle),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const a=new Image;a.onload=()=>{s(a)},a.src=n.dataURL},[n]),n&&r&&o?i.jsx(c8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},tl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},Gle=fe(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:tl(t)}}),u_=e=>`data:image/svg+xml;utf8, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`.replaceAll("black",e),qle=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=z(Gle),[a,c]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),m=f.useCallback(()=>{p(d+1),setTimeout(m,500)},[d]);return f.useEffect(()=>{if(a)return;const v=new Image;v.onload=()=>{c(v)},v.src=u_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=u_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Ml(r.x)||!Ml(r.y)||!Ml(s)||!Ml(o.width)||!Ml(o.height)?null:i.jsx(aa,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:a,fillPatternOffsetY:Ml(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},Kle=fe([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Qt}}),Yle=e=>{const{...t}=e,{objects:n}=z(Kle);return i.jsx(Na,{listening:!1,...t,children:n.filter(nD).map((r,o)=>i.jsx(Yh,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var Wi=f,Xle=function(t,n,r){const o=Wi.useRef("loading"),s=Wi.useRef(),[a,c]=Wi.useState(0),d=Wi.useRef(),p=Wi.useRef(),h=Wi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),Wi.useLayoutEffect(function(){if(!t)return;var m=document.createElement("img");function v(){o.current="loaded",s.current=m,c(Math.random())}function b(){o.current="failed",s.current=void 0,c(Math.random())}return m.addEventListener("load",v),m.addEventListener("error",b),n&&(m.crossOrigin=n),r&&(m.referrerPolicy=r),m.src=t,function(){m.removeEventListener("load",v),m.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const Qle=cd(Xle),d8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=os(s??oo.skipToken),[d]=Qle((a==null?void 0:a.image_url)??"",rD.get()?"use-credentials":"anonymous");return c?i.jsx(aa,{x:r,y:o,width:t,height:n,fill:"red"}):i.jsx(c8,{x:r,y:o,image:d,listening:!1})},Jle=fe([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Qt}}),Zle=()=>{const{objects:e}=z(Jle);return e?i.jsx(Na,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(I_(t))return i.jsx(d8,{canvasImage:t},n);if(oD(t)){const r=i.jsx(Yh,{points:t.points,stroke:t.color?tl(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?i.jsx(Na,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(sD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:tl(t.color)},n);if(aD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},ece=fe([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:a,height:c}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:a,height:c}},{memoizeOptions:{resultEqualityCheck:Qt}}),tce=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=z(ece);return i.jsxs(Na,{...t,children:[r&&n&&i.jsx(d8,{canvasImage:n}),o&&i.jsxs(Na,{children:[i.jsx(aa,{x:s,y:a,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),i.jsx(aa,{x:s,y:a,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},nce=fe([mn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Qt}}),rce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=z(nce),{t:a}=be(),c=f.useCallback(()=>{e(iw(!0))},[e]),d=f.useCallback(()=>{e(iw(!1))},[e]);nt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),nt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),nt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(iD()),[e]),h=f.useCallback(()=>e(lD()),[e]),m=f.useCallback(()=>e(cD(s)),[e,s]),{data:v}=os((r==null?void 0:r.imageName)??oo.skipToken);return r?i.jsx(H,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:c,onMouseOut:d,children:i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(LH,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(BH,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(WH,{}),onClick:m,colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(JH,{}):i.jsx(QH,{}),onClick:()=>e(uD(!o)),colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(_m,{}),onClick:()=>{v&&e(dD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(fD()),colorScheme:"error",fontSize:20})]})}):null},oce=()=>{const e=z(c=>c.canvas.layerState),t=z(c=>c.canvas.boundingBoxCoordinates),n=z(c=>c.canvas.boundingBoxDimensions),r=z(c=>c.canvas.isMaskEnabled),o=z(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),oee(async()=>{const c=await pD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=hD(d,p);a(h)},1e3,[e,t,n,r,o]),s},sce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},ace=()=>{const e=oce();return i.jsxs(Oe,{children:["Mode: ",e?sce[e]:"..."]})},Jl=e=>Math.round(e*100)/100,ice=fe([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${Jl(n)}, ${Jl(r)})`}},{memoizeOptions:{resultEqualityCheck:Qt}});function lce(){const{cursorCoordinatesString:e}=z(ice),{t}=be();return i.jsx(Oe,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const R1="var(--invokeai-colors-warning-500)",cce=fe([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:a},scaledBoundingBoxDimensions:{width:c,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:m,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:w,shouldPreserveMaskedArea:y}=e;let S="inherit";return(w==="none"&&(s<512||a<512)||w==="manual"&&c*d<512*512)&&(S=R1),{activeLayerColor:b==="mask"?R1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${Jl(p)}, ${Jl(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${Jl(r)}×${Jl(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Qt}}),uce=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:a,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=z(cce),{t:b}=be();return i.jsxs(H,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(ace,{}),i.jsx(Oe,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Oe,{style:{color:R1},children:"Preserve Masked Area: On"}),m&&i.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Oe,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Oe,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(lce,{})]})]})},dce=fe([Ye],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:a,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:a,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Qt}}),fce=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:a,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=z(dce),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var B;!b.current||!w.current||(b.current.nodes([w.current]),(B=b.current.getLayer())==null||B.batchDraw())},[]);const k=64*d;nt("N",()=>{n(Wu(!p))});const _=f.useCallback(B=>{if(!p){n(a0({x:Math.floor(B.target.x()),y:Math.floor(B.target.y())}));return}const V=B.target.x(),q=B.target.y(),G=Ss(V,64),D=Ss(q,64);B.target.x(G),B.target.y(D),n(a0({x:G,y:D}))},[n,p]),I=f.useCallback(()=>{if(!w.current)return;const B=w.current,V=B.scaleX(),q=B.scaleY(),G=Math.round(B.width()*V),D=Math.round(B.height()*q),L=Math.round(B.x()),W=Math.round(B.y());if(v){const Y=Ss(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:D}));n(a0({x:p?wu(L,64):L,y:p?wu(W,64):W})),B.scaleX(1),B.scaleY(1)},[n,p,v]),P=f.useCallback((B,V,q)=>{const G=B.x%k,D=B.y%k;return{x:wu(V.x,k)+G,y:wu(V.y,k)+D}},[k]),E=()=>{n(i0(!0))},O=()=>{n(i0(!1)),n(l0(!1)),n(Rf(!1)),S(!1)},R=()=>{n(l0(!0))},M=()=>{n(i0(!1)),n(l0(!1)),n(Rf(!1)),S(!1)},T=()=>{S(!0)},A=()=>{!c&&!a&&S(!1)},$=()=>{n(Rf(!0))},Q=()=>{n(Rf(!1))};return i.jsxs(Na,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:$,onMouseOver:$,onMouseLeave:Q,onMouseOut:Q}),i.jsx(aa,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:_,onMouseDown:R,onMouseOut:A,onMouseOver:T,onMouseEnter:T,onMouseUp:M,onTransform:I,onTransformEnd:O,ref:w,stroke:y?"rgba(255,255,255,0.7)":"white",strokeWidth:(y?8:1)/d,width:o.width,x:r.x,y:r.y}),i.jsx(_le,{anchorCornerRadius:3,anchorDragBoundFunc:P,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},pce=fe(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:a,layer:c,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:m,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:w,shouldRestrictStrokesToBox:y}=e,S=y?{clipX:b.x,clipY:b.y,clipWidth:w.width,clipHeight:w.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:lw/m,colorPickerInnerRadius:(lw-bv+1)/m,maskColorString:tl({...o,a:.5}),brushColorString:tl(s),colorPickerColorString:tl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Qt}}),hce=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:a,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=z(pce);return d?i.jsxs(Na,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:bv,strokeScaleEnabled:!1}),i.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:bv,strokeScaleEnabled:!1})]}):i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),i.jsx(Hi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),i.jsx(Hi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},mce=fe([mn,ir],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:a,isMovingBoundingBox:c,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:m,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:w,shouldAntialias:y}=e;let S="none";return h==="move"||t?m?S="grabbing":S="grab":s?S=void 0:w&&!a&&(S="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||c,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:S,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:y}},Ge),gce=Ie(Ple,{shouldForwardProp:e=>!["sx"].includes(e)}),d_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:a,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=z(mce);Ole();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{gD(A),v.current=A},[]),y=f.useCallback(A=>{mD(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=Lle(v),I=Mle(v),P=$le(v,k),E=Tle(v,k,S),O=Ale(),{handleDragStart:R,handleDragMove:M,handleDragEnd:T}=Ile();return i.jsx(H,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Oe,{sx:{position:"relative"},children:[i.jsxs(gce,{tabIndex:-1,ref:w,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:a.width,height:a.height,scale:{x:c,y:c},onTouchStart:I,onTouchMove:E,onTouchEnd:P,onMouseDown:I,onMouseLeave:O,onMouseMove:E,onMouseUp:P,onDragStart:R,onDragMove:M,onDragEnd:T,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[i.jsx(yu,{id:"grid",visible:r,children:i.jsx(Wle,{})}),i.jsx(yu,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx(Zle,{})}),i.jsxs(yu,{id:"mask",visible:e,listening:!1,children:[i.jsx(Yle,{visible:!0,listening:!1}),i.jsx(qle,{listening:!1})]}),i.jsx(yu,{children:i.jsx(Fle,{})}),i.jsxs(yu,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(hce,{visible:d!=="move",listening:!1}),i.jsx(tce,{visible:p}),h&&i.jsx(Ule,{}),i.jsx(fce,{visible:n&&!p})]})]}),i.jsx(uce,{}),i.jsx(rce,{})]})})},vce=fe(mn,hH,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),f_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=z(vce),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(vD({width:a,height:c})),e(o?bD():em()),e(E_(!1))},0)},[e,r,t,n,o]),i.jsx(H,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:i.jsx(dl,{thickness:"2px",size:"xl"})})};function f8(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const bce=Ie(YO,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),sv={width:6,height:6,borderColor:"base.100"},yce=e=>{const{styleClass:t="",...n}=e;return i.jsx(bce,{sx:{".react-colorful__hue-pointer":sv,".react-colorful__saturation-pointer":sv,".react-colorful__alpha-pointer":sv},className:t,...n})},Xh=f.memo(yce),xce=fe([mn,ir],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:tl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Qt}}),wce=()=>{const e=te(),{t}=be(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=z(xce);nt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),nt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),nt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(Np(n==="mask"?"base":"mask"))},d=()=>e(q1()),p=()=>e(pd(!o));return i.jsx(gl,{triggerComponent:i.jsx(nr,{children:i.jsx(Le,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(iW,{}),isChecked:n==="mask",isDisabled:a})}),children:i.jsxs(H,{direction:"column",gap:2,children:[i.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),i.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(a3(h.target.checked))}),i.jsx(Xh,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(i3(h))}),i.jsxs(rn,{size:"sm",leftIcon:i.jsx(us,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},Sce=fe([mn,Kn,mo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Qt}});function p8(){const e=te(),{canRedo:t,activeTabName:n}=z(Sce),{t:r}=be(),o=()=>{e(yD())};return nt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(Le,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(uW,{}),onClick:o,isDisabled:!t})}const h8=()=>{const e=z(ir),t=te(),{t:n}=be();return i.jsxs(Vy,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(xD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(rn,{size:"sm",leftIcon:i.jsx(us,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},Cce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Qt}}),kce=()=>{const e=te(),{t}=be(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=z(Cce);nt(["n"],()=>{e(Wu(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Wu(v.target.checked));return i.jsx(gl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Wb,{})}),children:i.jsxs(H,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(l3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(c3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),i.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(u3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(d3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(f3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(p3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(h3(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(m3(v.target.checked))}),i.jsx(h8,{})]})})},_ce=fe([mn,ir,mo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:a}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Qt}}),Pce=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=z(_ce),{t:s}=be();nt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),nt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),nt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),nt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),nt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),nt(["BracketLeft"],()=>{e(ec(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),nt(["BracketRight"],()=>{e(ec(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),nt(["Shift+BracketLeft"],()=>{e(tc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),nt(["Shift+BracketRight"],()=>{e(tc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const a=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(g3()),h=()=>e(v3());return i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(b6,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(p6,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(g6,{}),isDisabled:o,onClick:p}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(m6,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(gl,{triggerComponent:i.jsx(Le,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(Fb,{})}),children:i.jsxs(H,{minWidth:60,direction:"column",gap:4,width:"100%",children:[i.jsx(H,{gap:4,justifyContent:"space-between",children:i.jsx(_t,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(ec(m)),sliderNumberInputProps:{max:500}})}),i.jsx(Xh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(tc(m))})]})})]})},jce=fe([mn,Kn,mo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Qt}});function m8(){const e=te(),{t}=be(),{canUndo:n,activeTabName:r}=z(jce),o=()=>{e(wD())};return nt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(Hb,{}),onClick:o,isDisabled:!n})}const Ice=fe([mo,mn,ir],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:a,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:a,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Qt}}),Ece=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=z(Ice),a=Ia(),{t:c}=be(),{isClipboardAPIAvailable:d}=Oy(),{getUploadButtonProps:p,getUploadInputProps:h}=Vm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});nt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),nt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),nt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),nt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),nt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),nt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=f8(()=>b(!1),()=>b(!0)),b=(P=!1)=>{const E=Ia();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(b3({contentRect:O,shouldScaleTo1:P}))},w=()=>{e(F1()),e(em())},y=()=>{e(y3())},S=()=>{e(x3())},k=()=>{d&&e(w3())},_=()=>{e(S3())},I=P=>{const E=P;e(Np(E)),E==="mask"&&!r&&e(pd(!0))};return i.jsxs(H,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Oe,{w:24,children:i.jsx(Yr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:C3,onChange:I,disabled:n})}),i.jsx(wce,{}),i.jsx(Pce,{}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(u6,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(f6,{}),onClick:v})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(v6,{}),onClick:y,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(_m,{}),onClick:S,isDisabled:n}),d&&i.jsx(Le,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Fc,{}),onClick:k,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(Bb,{}),onClick:_,isDisabled:n})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(m8,{}),i.jsx(p8,{})]}),i.jsxs(nr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(Md,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(us,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(nr,{isAttached:!0,children:i.jsx(kce,{})})]})};function Oce(){const e=te(),t=z(o=>o.canvas.brushSize),{t:n}=be(),r=z(ir);return nt(["BracketLeft"],()=>{e(ec(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),nt(["BracketRight"],()=>{e(ec(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(ec(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Rce=fe([mn,ir],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Qt}});function Mce(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=z(Rce),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return nt(["shift+BracketLeft"],()=>{e(tc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),nt(["shift+BracketRight"],()=>{e(tc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(gl,{triggerComponent:i.jsx(Oe,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:i.jsxs(H,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&i.jsx(Xh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(tc(a))}),r==="mask"&&i.jsx(Xh,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(i3(a))})]})})}function g8(){return i.jsxs(H,{columnGap:4,alignItems:"center",children:[i.jsx(Oce,{}),i.jsx(Mce,{})]})}function Dce(){const e=te(),t=z(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(p3(r.target.checked))})}function Tce(){return i.jsxs(H,{gap:4,alignItems:"center",children:[i.jsx(g8,{}),i.jsx(Dce,{})]})}function Ace(){const e=te(),{t}=be(),n=()=>e(q1());return i.jsx(rn,{size:"sm",leftIcon:i.jsx(us,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function Nce(){const e=z(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=be(),r=()=>t(pd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function $ce(){const e=te(),{t}=be(),n=z(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(a3(r.target.checked))})}function zce(){return i.jsxs(H,{gap:4,alignItems:"center",children:[i.jsx(g8,{}),i.jsx(Nce,{}),i.jsx($ce,{}),i.jsx(Ace,{})]})}function Lce(){const e=z(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(u3(r.target.checked))})}function Bce(){const e=z(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=be();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(c3(r.target.checked))})}function Fce(){const e=z(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=be(),r=o=>t(Wu(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Hce(){return i.jsxs(H,{alignItems:"center",gap:4,children:[i.jsx(Bce,{}),i.jsx(Fce,{}),i.jsx(Lce,{})]})}const Wce=fe([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Qt}});function Vce(){const{tool:e,layer:t}=z(Wce);return i.jsxs(H,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Tce,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(zce,{}),e=="move"&&i.jsx(Hce,{})]})}const Uce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Qt}}),Gce=()=>{const e=te(),{t}=be(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=z(Uce);return i.jsx(gl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Wb,{})}),children:i.jsxs(H,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(l3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(d3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(f3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(h3(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(m3(c.target.checked))}),i.jsx(h8,{})]})})};function qce(){const e=z(ir),t=Ia(),{isClipboardAPIAvailable:n}=Oy(),r=z(c=>c.system.isProcessing),o=te(),{t:s}=be();nt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(w3())},[o,n]);return n?i.jsx(Le,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Fc,{}),onClick:a,isDisabled:e}):null}function Kce(){const e=te(),{t}=be(),n=Ia(),r=z(ir);nt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(S3())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(Bb,{}),onClick:o,isDisabled:r})}function Yce(){const e=z(ir),{getUploadButtonProps:t,getUploadInputProps:n}=Vm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=be();return i.jsxs(i.Fragment,{children:[i.jsx(Le,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(Md,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const Xce=fe([mn,ir],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Qt}});function Qce(){const e=te(),{t}=be(),{layer:n,isMaskEnabled:r,isStaging:o}=z(Xce),s=()=>{e(Np(n==="mask"?"base":"mask"))};nt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(Np(d)),d==="mask"&&!r&&e(pd(!0))};return i.jsx(Yr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:C3,onChange:a,disabled:o,w:"full"})}function Jce(){const e=te(),{t}=be(),n=Ia(),r=z(ir),o=z(a=>a.system.isProcessing);nt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(y3())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(v6,{}),onClick:s,isDisabled:r})}function Zce(){const e=z(s=>s.canvas.tool),t=z(ir),n=te(),{t:r}=be();nt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(Le,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(u6,{}),isChecked:e==="move"||t,onClick:o})}function eue(){const e=z(s=>s.ui.shouldPinParametersPanel),t=z(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=be(),o=()=>{n(K1(!0)),e&&n(So())};return!e||!t?i.jsxs(H,{flexDirection:"column",gap:2,children:[i.jsx(Le,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(Fb,{})}),i.jsx(H,{children:i.jsx(zy,{iconButton:!0})}),i.jsx(H,{children:i.jsx(Qm,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function tue(){const e=te(),{t}=be(),n=z(ir),r=()=>{e(F1()),e(em())};return i.jsx(Le,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(us,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function nue(){const e=Ia(),t=te(),{t:n}=be();nt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=f8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Ia();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(b3({contentRect:c,shouldScaleTo1:s}))};return i.jsx(Le,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(f6,{}),onClick:r})}function rue(){const e=z(ir),t=Ia(),n=z(a=>a.system.isProcessing),r=te(),{t:o}=be();nt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(x3())};return i.jsx(Le,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(_m,{}),onClick:s,isDisabled:e})}const oue=fe([mn,ir,mo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Qt}}),sue=()=>{const e=te(),{t}=be(),{tool:n,isStaging:r}=z(oue);nt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),nt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),nt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),nt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),nt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(g3()),d=()=>e(v3());return i.jsxs(H,{flexDirection:"column",gap:2,children:[i.jsxs(nr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(b6,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(p6,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(nr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(g6,{}),isDisabled:r,onClick:c}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(ml,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(m6,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},aue=()=>i.jsxs(H,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(Qce,{}),i.jsx(sue,{}),i.jsxs(H,{gap:2,children:[i.jsx(Zce,{}),i.jsx(nue,{})]}),i.jsxs(H,{columnGap:2,children:[i.jsx(Jce,{}),i.jsx(rue,{})]}),i.jsxs(H,{columnGap:2,children:[i.jsx(qce,{}),i.jsx(Kce,{})]}),i.jsxs(H,{gap:2,children:[i.jsx(m8,{}),i.jsx(p8,{})]}),i.jsxs(H,{gap:2,children:[i.jsx(Yce,{}),i.jsx(tue,{})]}),i.jsx(Gce,{}),i.jsx(eue,{})]}),iue=fe([mn,La],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ge),av={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},lue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=z(iue),{isOver:r,setNodeRef:o,active:s}=A1({id:"unifiedCanvas",data:av});return f.useLayoutEffect(()=>{const a=()=>{e(So())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Oe,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(H,{sx:{w:"full",h:"full",gap:4},children:[i.jsx(aue,{}),i.jsxs(H,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(Vce,{}),i.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(f_,{}):i.jsx(d_,{}),Ep(av,s)&&i.jsx(nh,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Oe,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(H,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[i.jsx(Ece,{}),i.jsx(H,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(f_,{}):i.jsx(d_,{}),Ep(av,s)&&i.jsx(nh,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},cue=f.memo(lue),uue=fe([Ye],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ge),due=()=>{const e=te(),{infillMethod:t}=z(uue),{data:n,isLoading:r}=L_(),o=n==null?void 0:n.infill_methods,{t:s}=be(),a=f.useCallback(c=>{e(SD(c))},[e]);return i.jsx(Yr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},fue=f.memo(due),pue=fe([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ge),hue=()=>{const e=te(),{tileSize:t,infillMethod:n}=z(pue),{t:r}=be(),o=f.useCallback(a=>{e(cw(a))},[e]),s=f.useCallback(()=>{e(cw(32))},[e]);return i.jsx(_t,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},mue=f.memo(hue),gue=fe([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ge),vue=()=>{const e=te(),{boundingBoxScale:t}=z(gue),{t:n}=be(),r=o=>{e(kD(o))};return i.jsx(sr,{label:n("parameters.scaleBeforeProcessing"),data:CD,value:t,onChange:r})},bue=f.memo(vue),yue=fe([Mi,mo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ge),xue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=z(yue),{t:r}=be(),o=a=>{e($p({...n,height:Math.floor(a)}))},s=()=>{e($p({...n,height:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},wue=f.memo(xue),Sue=fe([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ge),Cue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=z(Sue),{t:r}=be(),o=a=>{e($p({...n,width:Math.floor(a)}))},s=()=>{e($p({...n,width:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},kue=f.memo(Cue),_ue=()=>{const{t:e}=be();return i.jsx(Oo,{label:e("parameters.infillScalingHeader"),children:i.jsxs(H,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(fue,{}),i.jsx(mue,{}),i.jsx(bue,{}),i.jsx(kue,{}),i.jsx(wue,{})]})})},Pue=f.memo(_ue);function jue(){const e=te(),t=z(r=>r.generation.seamBlur),{t:n}=be();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(uw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(uw(16))}})}function Iue(){const e=te(),{t}=be(),n=z(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(dw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(dw(96))})}function Eue(){const{t:e}=be(),t=z(r=>r.generation.seamSteps),n=te();return i.jsx(_t,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(fw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(fw(30))}})}function Oue(){const e=te(),{t}=be(),n=z(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(pw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(pw(.7))}})}const Rue=()=>{const{t:e}=be();return i.jsxs(Oo,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(Iue,{}),i.jsx(jue,{}),i.jsx(Oue,{}),i.jsx(Eue,{})]})},Mue=f.memo(Rue),Due=fe([Ye,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),Tue=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=z(Due),{t:o}=be(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=Ss(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=Ss(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return i.jsx(_t,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Aue=f.memo(Tue),Nue=fe([Ye,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),$ue=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=z(Nue),{t:o}=be(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=Ss(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=Ss(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return i.jsx(_t,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},zue=f.memo($ue);function p_(){const e=te(),{t}=be();return i.jsxs(H,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(H,{alignItems:"center",gap:2,children:[i.jsx(tt,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(fl,{}),i.jsx(PO,{}),i.jsx(Le,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(sO,{}),fontSize:20,onClick:()=>e(_D())})]}),i.jsx(zue,{}),i.jsx(Aue,{})]})}const Lue=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),Bue=()=>{const{shouldUseSliders:e,activeLabel:t}=z(Lue);return i.jsx(Oo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(H,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(p_,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(H,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Oe,{pt:2,children:i.jsx(ki,{})}),i.jsx(p_,{})]}),i.jsx(AO,{})]})})},Fue=f.memo(Bue),v8=()=>i.jsxs(i.Fragment,{children:[i.jsx(Fd,{}),i.jsx(Ld,{}),i.jsx(Hd,{}),i.jsx(Fue,{}),i.jsx(Hy,{}),i.jsx(By,{}),i.jsx(zd,{}),i.jsx(Wy,{}),i.jsx(Mue,{}),i.jsx(Pue,{}),i.jsx(Fy,{})]}),Hue=()=>i.jsxs(H,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(Ly,{children:i.jsx(v8,{})}),i.jsx(cue,{})]}),Wue=f.memo(Hue),Vue=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(Kr,{as:ZH,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Cie,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(Kr,{as:al,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Coe,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(Kr,{as:See,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Wue,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(Kr,{as:wee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(yie,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(Kr,{as:GH,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Sse,{})}],Uue=fe([aO,mo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Vue.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Qt}}),Gue=350,iv=20,b8=["modelManager"],que=()=>{const e=z(PD),t=z(Kn),n=z(Uue),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=z(y=>y.ui),{t:a}=be(),c=te();nt("f",()=>{c(jD()),(r||o)&&c(So())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(So())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(wn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(wc,{onClick:p,children:[i.jsx(L3,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Cm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=Uee(Gue,iv,"app"),w=f.useCallback(y=>{const S=ID[y];S&&c(ql(S))},[c]);return i.jsxs(Ed,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(Od,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(fl,{}),i.jsx(jee,{})]}),i.jsxs(Ay,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(sd,{id:"main",children:i.jsx(km,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!b8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(OO,{}),i.jsx(sd,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>iv?b:iv,minSize:b,maxSize:50,children:i.jsx(nO,{})})]})]})]})},Kue=f.memo(que),Yue=fe([Kn,La],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:b8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Qt}}),Xue=()=>{const{t:e}=be(),{shouldPinGallery:t,shouldShowGalleryButton:n}=z(Yue),r=te(),o=()=>{r(vv(!0)),t&&r(So())};return n?i.jsx(Le,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:i.jsx(Cee,{})}):null},Que=f.memo(Xue),lv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Jue=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",a=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:a}},{memoizeOptions:{resultEqualityCheck:Qt}}),Zue=()=>{const e=te(),{t}=be(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=z(Jue),s=()=>{e(K1(!0)),o&&e(So())};return r?i.jsxs(H,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[i.jsx(Le,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:lv,children:i.jsx(Fb,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(zy,{iconButton:!0,sx:lv}),i.jsx(Qm,{sx:lv})]})]}):null},ede=f.memo(Zue),tde=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ge),nde=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=z(tde),o=()=>{e(K1(!1))},s=z(c=>c.generation.model),a=f.useMemo(()=>r==="txt2img"?s&&s.base_model==="sdxl"?i.jsx(ZO,{}):i.jsx(e8,{}):r==="img2img"?s&&s.base_model==="sdxl"?i.jsx(IO,{}):i.jsx(NO,{}):r==="unifiedCanvas"?i.jsx(v8,{}):null,[r,s]);return t?null:i.jsx(i6,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(H,{sx:{flexDir:"column",h:"full",w:$y,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(H,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(oO,{}),i.jsx(EO,{})]}),i.jsx(H,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:a})]})})},rde=f.memo(nde),ode=()=>{const{data:e,isFetching:t}=Zh(),{isOpen:n,onClose:r,handleAddToBoard:o,image:s}=f.useContext(T_),[a,c]=f.useState(),d=f.useRef(null),p=e==null?void 0:e.find(h=>h.board_id===(s==null?void 0:s.board_id));return i.jsx(Pd,{isOpen:n,leastDestructiveRef:d,onClose:r,isCentered:!0,children:i.jsx(Ma,{children:i.jsxs(jd,{children:[i.jsx(Ra,{fontSize:"lg",fontWeight:"bold",children:p?"Move Image to Board":"Add Image to Board"}),i.jsx(Da,{children:i.jsx(Oe,{children:i.jsxs(H,{direction:"column",gap:3,children:[p&&i.jsxs(tt,{children:["Moving this image from"," ",i.jsx("strong",{children:p.board_name})," to"]}),t?i.jsx(dl,{}):i.jsx(sr,{placeholder:"Select Board",onChange:h=>c(h),value:a,data:(e??[]).map(h=>({label:h.board_name,value:h.board_id}))})]})})}),i.jsxs(Oa,{children:[i.jsx(rn,{onClick:r,children:"Cancel"}),i.jsx(rn,{isDisabled:!a,colorScheme:"accent",onClick:()=>{a&&o(a)},ml:3,children:p?"Move":"Add"})]})]})})})},sde=f.memo(ode),ade=fe([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Qt}}),ide=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=z(ade),o=z(Kn);return nt("*",()=>{n6("shift")?!t&&e(_o(!0)):t&&e(_o(!1))},{keyup:!0,keydown:!0},[t]),nt("o",()=>{e(ED()),o==="unifiedCanvas"&&n&&e(So())}),nt(["shift+o"],()=>{e(OD()),o==="unifiedCanvas"&&e(So())}),nt("g",()=>{e(RD()),o==="unifiedCanvas"&&r&&e(So())}),nt(["shift+g"],()=>{e(D_()),o==="unifiedCanvas"&&e(So())}),nt("1",()=>{e(ql("txt2img"))}),nt("2",()=>{e(ql("img2img"))}),nt("3",()=>{e(ql("unifiedCanvas"))}),nt("4",()=>{e(ql("nodes"))}),null},lde=f.memo(ide),cde={},ude=({config:e=cde,headerComponent:t})=>{const n=z(V5),r=nF(),o=te();return f.useEffect(()=>{Ln.changeLanguage(n)},[n]),f.useEffect(()=>{G_(e)&&(r.info({namespace:"App",config:e},"Received config"),o(MD(e)))},[o,e,r]),f.useEffect(()=>{o(DD())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(rl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(pH,{children:i.jsxs(rl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(yee,{}),i.jsx(H,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(Kue,{})})]})}),i.jsx(qZ,{}),i.jsx(rde,{}),i.jsx(Vu,{children:i.jsx(ede,{})}),i.jsx(Vu,{children:i.jsx(Que,{})})]}),i.jsx(QZ,{}),i.jsx(sde,{}),i.jsx(rF,{}),i.jsx(lde,{})]})},gde=f.memo(ude);export{gde as default}; diff --git a/invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js b/invokeai/frontend/web/dist/assets/MantineProvider-8184f020.js similarity index 99% rename from invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js rename to invokeai/frontend/web/dist/assets/MantineProvider-8184f020.js index 317f406e68..cc098c35c0 100644 --- a/invokeai/frontend/web/dist/assets/MantineProvider-3c4df448.js +++ b/invokeai/frontend/web/dist/assets/MantineProvider-8184f020.js @@ -1 +1 @@ -import{z as p,A as d,a4 as Z,aH as xe,g0 as We,Z as De,U as E,a7 as q,R as z,V as R,a1 as _e,a0 as Be,$ as Ce,_ as Ge,Y as Ue,g1 as Ve,g2 as Ze,fT as qe,ab as j,fR as B,fZ as Xe}from"./index-9488b384.js";function Ye(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Ye(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Je,Ke]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Je,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),Y="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ke();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=Y,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=Y),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=Y;G.selector=tt;G.displayName="Portal";function P(e,t){return r=>r.colorMode==="dark"?t:e}function Or(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var at=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(at(o,t))return r}function st(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function it(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function lt(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ct(e,t){const r=lt(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var ut={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=ut,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const v=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ct(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>st(s),[s]);return d.jsx(De.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:v,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(E.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function dt(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},v=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(E.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(E.svg,{verticalAlign:"middle",viewBox:v,...g,...c,children:$})});L.displayName="Icon";function ft(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[mt,J]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[gt,K]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),je={info:{icon:pt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:ft,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:Be,colorScheme:"blue"}};function bt(e){return je[e].colorScheme}function yt(e){return je[e].icon}var Ee=z(function(t,r){const o=K(),{status:a}=J(),n={display:"inline",...o.description};return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});Ee.displayName="AlertDescription";function Ae(e){const{status:t}=J(),r=yt(t),o=K(),a=t==="loading"?o.spinner:o.icon;return d.jsx(E.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ae.displayName="AlertIcon";var Ne=z(function(t,r){const o=K(),{status:a}=J();return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:bt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(mt,{value:{status:a},children:d.jsx(gt,{value:l,children:d.jsx(E.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(E.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var vt={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=St(vt);function St(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=xt(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function xt(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var _t=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ae,{children:c}),d.jsxs(E.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(Ee,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=_t}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function zr(e,t){const r=a=>{var n;return{...t,...a,position:dt((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[Rr,Mr]=M({name:"ToastOptionsContext",strict:!1}),Lr=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${i}`,style:it(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function Ct(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function kt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):kt(e,t,r)}const Pt=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function Fr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(Pt)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const h=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[h,{},!1];return k.t=h,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(h=>wt(h,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let v=c.join();t.lng&&(v=`${t.lng}${v}`);const $=Et(v),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:h,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==v&&S.current&&g(f);function w(){S.current&&g(f)}return h&&n&&n.on(h,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,h&&n&&h.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,v]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(h=>{t.lng?ce(n,t.lng,c,()=>h()):le(n,c,()=>h())})}function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Hr=m("accordion").parts("root","container","button","panel").extend("icon");m("alert").parts("title","description","container").extend("icon","spinner");m("avatar").parts("label","badge","container").extend("excessLabel","group");m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Wr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var Dr=m("editable").parts("preview","input","textarea");m("form").parts("container","requiredIndicator","helperText");m("formError").parts("text","icon");var Br=m("input").parts("addon","field","element");m("list").parts("container","item","icon");var At=m("menu").parts("button","list","item").extend("groupTitle","command","divider"),Gr=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Ur=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Vr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Zr=m("progress").parts("label","filledTrack","track");m("radio").parts("container","control","label");var qr=m("select").parts("field","icon"),Xr=m("slider").parts("container","track","thumb","filledTrack","mark");m("stat").parts("container","label","helpText","number","icon");var Yr=m("switch").parts("container","track","thumb");m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var Jr=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");m("tag").parts("container","label","closeButton");m("card").parts("container","header","body","footer");const{definePartsStyle:Nt,defineMultiStyleConfig:$t}=qe(At.keys),Tt=Nt(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),Kr=$t({variants:{invokeAI:Tt},defaultProps:{variant:"invokeAI"}}),Qr={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},It={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function Ot(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var zt=Object.defineProperty,ue=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))Rt.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Mt.call(t,r)&&de(e,r,t[r]);return e};function Lt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const A=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):A(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Wt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Dt(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Bt(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Gt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Ut(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Bt(e)?Gt(e):e.startsWith("rgb")?Ut(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Vt(e=0){return{position:"absolute",top:A(e),right:A(e),left:A(e),bottom:A(e)}}function Zt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function qt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Xt(e){return t=>{if(typeof t=="number")return A(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Yt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function Jt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Yt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Kt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Qt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function er(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function tr(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:Ot,themeColor:Q,focusStyles:Lt,linearGradient:Ft,radialGradient:Ht,smallerThan:Dt,largerThan:Wt,rgba:T,cover:Vt,darken:Zt,lighten:qt,radius:Xt,variant:Jt,primaryShade:F,hover:Qt,gradient:Re,primaryColor:Kt,placeholderStyles:er,dimmed:tr};var rr=Object.defineProperty,nr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ir=(e,t)=>{for(var r in t||(t={}))ar.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))sr.call(t,r)&&me(e,r,t[r]);return e},lr=(e,t)=>nr(e,or(t));function Fe(e){return lr(ir({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const cr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:It,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(cr);var ur=Object.defineProperty,dr=Object.defineProperties,fr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gr=(e,t)=>{for(var r in t||(t={}))pr.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))mr.call(t,r)&&be(e,r,t[r]);return e},br=(e,t)=>dr(e,fr(t));function yr({theme:e}){return j.createElement(B,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:br(gr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=A){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function hr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),j.createElement(B,{styles:{":root":t}})}var vr=Object.defineProperty,Sr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,he=(e,t,r)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))_r.call(t,r)&&he(e,r,t[r]);if(ye)for(var r of ye(t))Cr.call(t,r)&&he(e,r,t[r]);return e},V=(e,t)=>Sr(e,xr(t));function kr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function wr(e,t){return Fe(kr(e,t))}function Pr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${A(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Er(){return j.createElement(B,{styles:jr})}var Ar=Object.defineProperty,ve=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Nr.call(t,r)&&Se(e,r,t[r]);if(ve)for(var r of ve(t))$r.call(t,r)&&Se(e,r,t[r]);return e};const D=p.createContext({theme:te});function He(){var e;return((e=p.useContext(D))==null?void 0:e.theme)||te}function en(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function tn(){var e;return(e=p.useContext(D))==null?void 0:e.emotionCache}function rn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Pr(r))}function Tr({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(D),l=wr(te,n?O(O({},i.theme),e):e);return j.createElement(Xe,{theme:l},j.createElement(D.Provider,{value:{theme:l,emotionCache:t}},r&&j.createElement(Er,null),o&&j.createElement(yr,{theme:l}),a&&j.createElement(hr,{theme:l}),typeof l.globalStyles=="function"&&j.createElement(B,{styles:l.globalStyles(l)}),s))}Tr.displayName="@mantine/core/MantineProvider";export{Zr as A,qr as B,Te as C,Xr as D,Yr as E,Jr as F,Kr as G,L as I,Tr as M,G as P,Rr as T,M as a,lt as b,zr as c,ne as d,Fr as e,tn as f,He as g,en as h,Pr as i,W as j,Le as k,rn as l,Qr as m,P as n,Or as o,Qe as p,Lr as q,A as r,Hr as s,Wr as t,Mr as u,Dr as v,Br as w,Gr as x,Ur as y,Vr as z}; +import{z as p,A as d,a4 as Z,aH as xe,g1 as We,Z as De,U as E,a7 as q,R as z,V as R,a1 as _e,a0 as Be,$ as Ce,_ as Ge,Y as Ue,g2 as Ve,g3 as Ze,fU as qe,ab as j,fS as B,f_ as Xe}from"./index-89941396.js";function Ye(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Ye(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Je,Ke]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Je,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),Y="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ke();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=Y,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=Y),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=Y;G.selector=tt;G.displayName="Portal";function P(e,t){return r=>r.colorMode==="dark"?t:e}function Or(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var at=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(at(o,t))return r}function st(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function it(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function lt(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ct(e,t){const r=lt(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var ut={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=ut,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const v=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ct(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>st(s),[s]);return d.jsx(De.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:v,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(E.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function dt(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},v=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(E.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(E.svg,{verticalAlign:"middle",viewBox:v,...g,...c,children:$})});L.displayName="Icon";function ft(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[mt,J]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[gt,K]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),je={info:{icon:pt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:ft,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:Be,colorScheme:"blue"}};function bt(e){return je[e].colorScheme}function yt(e){return je[e].icon}var Ee=z(function(t,r){const o=K(),{status:a}=J(),n={display:"inline",...o.description};return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});Ee.displayName="AlertDescription";function Ae(e){const{status:t}=J(),r=yt(t),o=K(),a=t==="loading"?o.spinner:o.icon;return d.jsx(E.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ae.displayName="AlertIcon";var Ne=z(function(t,r){const o=K(),{status:a}=J();return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:bt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(mt,{value:{status:a},children:d.jsx(gt,{value:l,children:d.jsx(E.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(E.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var vt={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=St(vt);function St(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=xt(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function xt(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var _t=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ae,{children:c}),d.jsxs(E.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(Ee,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=_t}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function zr(e,t){const r=a=>{var n;return{...t,...a,position:dt((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[Rr,Mr]=M({name:"ToastOptionsContext",strict:!1}),Lr=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${i}`,style:it(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function Ct(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function kt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):kt(e,t,r)}const Pt=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function Fr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(Pt)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const h=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[h,{},!1];return k.t=h,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(h=>wt(h,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let v=c.join();t.lng&&(v=`${t.lng}${v}`);const $=Et(v),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:h,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==v&&S.current&&g(f);function w(){S.current&&g(f)}return h&&n&&n.on(h,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,h&&n&&h.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,v]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(h=>{t.lng?ce(n,t.lng,c,()=>h()):le(n,c,()=>h())})}function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Hr=m("accordion").parts("root","container","button","panel").extend("icon");m("alert").parts("title","description","container").extend("icon","spinner");m("avatar").parts("label","badge","container").extend("excessLabel","group");m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Wr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var Dr=m("editable").parts("preview","input","textarea");m("form").parts("container","requiredIndicator","helperText");m("formError").parts("text","icon");var Br=m("input").parts("addon","field","element");m("list").parts("container","item","icon");var At=m("menu").parts("button","list","item").extend("groupTitle","command","divider"),Gr=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Ur=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Vr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Zr=m("progress").parts("label","filledTrack","track");m("radio").parts("container","control","label");var qr=m("select").parts("field","icon"),Xr=m("slider").parts("container","track","thumb","filledTrack","mark");m("stat").parts("container","label","helpText","number","icon");var Yr=m("switch").parts("container","track","thumb");m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var Jr=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");m("tag").parts("container","label","closeButton");m("card").parts("container","header","body","footer");const{definePartsStyle:Nt,defineMultiStyleConfig:$t}=qe(At.keys),Tt=Nt(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),Kr=$t({variants:{invokeAI:Tt},defaultProps:{variant:"invokeAI"}}),Qr={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},It={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function Ot(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var zt=Object.defineProperty,ue=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))Rt.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Mt.call(t,r)&&de(e,r,t[r]);return e};function Lt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const A=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):A(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Wt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Dt(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Bt(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Gt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Ut(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Bt(e)?Gt(e):e.startsWith("rgb")?Ut(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Vt(e=0){return{position:"absolute",top:A(e),right:A(e),left:A(e),bottom:A(e)}}function Zt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function qt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Xt(e){return t=>{if(typeof t=="number")return A(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Yt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function Jt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Yt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Kt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Qt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function er(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function tr(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:Ot,themeColor:Q,focusStyles:Lt,linearGradient:Ft,radialGradient:Ht,smallerThan:Dt,largerThan:Wt,rgba:T,cover:Vt,darken:Zt,lighten:qt,radius:Xt,variant:Jt,primaryShade:F,hover:Qt,gradient:Re,primaryColor:Kt,placeholderStyles:er,dimmed:tr};var rr=Object.defineProperty,nr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ir=(e,t)=>{for(var r in t||(t={}))ar.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))sr.call(t,r)&&me(e,r,t[r]);return e},lr=(e,t)=>nr(e,or(t));function Fe(e){return lr(ir({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const cr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:It,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(cr);var ur=Object.defineProperty,dr=Object.defineProperties,fr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gr=(e,t)=>{for(var r in t||(t={}))pr.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))mr.call(t,r)&&be(e,r,t[r]);return e},br=(e,t)=>dr(e,fr(t));function yr({theme:e}){return j.createElement(B,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:br(gr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=A){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function hr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),j.createElement(B,{styles:{":root":t}})}var vr=Object.defineProperty,Sr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,he=(e,t,r)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))_r.call(t,r)&&he(e,r,t[r]);if(ye)for(var r of ye(t))Cr.call(t,r)&&he(e,r,t[r]);return e},V=(e,t)=>Sr(e,xr(t));function kr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function wr(e,t){return Fe(kr(e,t))}function Pr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${A(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Er(){return j.createElement(B,{styles:jr})}var Ar=Object.defineProperty,ve=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Nr.call(t,r)&&Se(e,r,t[r]);if(ve)for(var r of ve(t))$r.call(t,r)&&Se(e,r,t[r]);return e};const D=p.createContext({theme:te});function He(){var e;return((e=p.useContext(D))==null?void 0:e.theme)||te}function en(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function tn(){var e;return(e=p.useContext(D))==null?void 0:e.emotionCache}function rn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Pr(r))}function Tr({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(D),l=wr(te,n?O(O({},i.theme),e):e);return j.createElement(Xe,{theme:l},j.createElement(D.Provider,{value:{theme:l,emotionCache:t}},r&&j.createElement(Er,null),o&&j.createElement(yr,{theme:l}),a&&j.createElement(hr,{theme:l}),typeof l.globalStyles=="function"&&j.createElement(B,{styles:l.globalStyles(l)}),s))}Tr.displayName="@mantine/core/MantineProvider";export{Zr as A,qr as B,Te as C,Xr as D,Yr as E,Jr as F,Kr as G,L as I,Tr as M,G as P,Rr as T,M as a,lt as b,zr as c,ne as d,Fr as e,tn as f,He as g,en as h,Pr as i,W as j,Le as k,rn as l,Qr as m,P as n,Or as o,Qe as p,Lr as q,A as r,Hr as s,Wr as t,Mr as u,Dr as v,Br as w,Gr as x,Ur as y,Vr as z}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-9ac72450.js similarity index 99% rename from invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js rename to invokeai/frontend/web/dist/assets/ThemeLocaleProvider-9ac72450.js index ed67c5d588..83a0fe8451 100644 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-b9e7cc95.js +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-9ac72450.js @@ -1,4 +1,4 @@ -import{A as g,fR as Xe,z as x,a4 as Ba,fS as Ea,af as ca,aj as c,fT as b,al as Da,fU as t,fV as Ra,fW as h,fX as ba,fY as ja,fZ as Ha,aI as Wa,f_ as Va,ad as La,f$ as qa}from"./index-9488b384.js";import{n,o as Sr,p as Oa,T as Na,q as Ga,s as Ua,t as Ya,v as Xa,w as Ka,x as Za,y as Ja,z as Qa,A as et,B as rt,D as at,E as tt,F as ot,G as nt,e as it,M as lt}from"./MantineProvider-3c4df448.js";var va=String.raw,ua=va` +import{A as g,fS as Xe,z as x,a4 as Ba,fT as Ea,af as ca,aj as c,fU as b,al as Da,fV as t,fW as Ra,fX as h,fY as ba,fZ as ja,f_ as Ha,aI as Wa,f$ as Va,ad as La,g0 as qa}from"./index-89941396.js";import{n,o as Sr,p as Oa,T as Na,q as Ga,s as Ua,t as Ya,v as Xa,w as Ka,x as Za,y as Ja,z as Qa,A as et,B as rt,D as at,E as tt,F as ot,G as nt,e as it,M as lt}from"./MantineProvider-8184f020.js";var va=String.raw,ua=va` :root, :host { --chakra-vh: 100vh; diff --git a/invokeai/frontend/web/dist/assets/index-9488b384.js b/invokeai/frontend/web/dist/assets/index-89941396.js similarity index 80% rename from invokeai/frontend/web/dist/assets/index-9488b384.js rename to invokeai/frontend/web/dist/assets/index-89941396.js index ff81ab4dfd..af6430d8cd 100644 --- a/invokeai/frontend/web/dist/assets/index-9488b384.js +++ b/invokeai/frontend/web/dist/assets/index-89941396.js @@ -1,4 +1,4 @@ -function OP(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function nF(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var RP={exports:{}},Sy={},IP={exports:{}},Re={};/** +function O8(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function nF(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var R8={exports:{}},Sy={},I8={exports:{}},Re={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ function OP(e,t){for(var n=0;n>>1,U=R[j];if(0>>1;ji(X,L))Yi(B,X)?(R[j]=B,R[Y]=L,j=Y):(R[j]=X,R[W]=L,j=W);else if(Yi(B,L))R[j]=B,R[Y]=L,j=Y;else break e}}return D}function i(R,D){var L=R.sortIndex-D.sortIndex;return L!==0?L:R.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,f=3,h=!1,p=!1,m=!1,S=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(R){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=R)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function b(R){if(m=!1,g(R),!p)if(n(l)!==null)p=!0,I(_);else{var D=n(u);D!==null&&N(b,D.startTime-R)}}function _(R,D){p=!1,m&&(m=!1,v(T),T=-1),h=!0;var L=f;try{for(g(D),d=n(l);d!==null&&(!(d.expirationTime>D)||R&&!A());){var j=d.callback;if(typeof j=="function"){d.callback=null,f=d.priorityLevel;var U=j(d.expirationTime<=D);D=e.unstable_now(),typeof U=="function"?d.callback=U:d===n(l)&&r(l),g(D)}else r(l);d=n(l)}if(d!==null)var G=!0;else{var W=n(u);W!==null&&N(b,W.startTime-D),G=!1}return G}finally{d=null,f=L,h=!1}}var w=!1,x=null,T=-1,P=5,E=-1;function A(){return!(e.unstable_now()-ER||125j?(R.sortIndex=L,t(u,R),n(l)===null&&R===n(u)&&(m?(v(T),T=-1):m=!0,N(b,L-j))):(R.sortIndex=U,t(l,R),p||h||(p=!0,I(_))),R},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(R){var D=f;return function(){var L=f;f=D;try{return R.apply(this,arguments)}finally{f=L}}}})(UP);zP.exports=UP;var CF=zP.exports;/** + */(function(e){function t(R,D){var L=R.length;R.push(D);e:for(;0>>1,U=R[j];if(0>>1;ji(X,L))Yi(B,X)?(R[j]=B,R[Y]=L,j=Y):(R[j]=X,R[W]=L,j=W);else if(Yi(B,L))R[j]=B,R[Y]=L,j=Y;else break e}}return D}function i(R,D){var L=R.sortIndex-D.sortIndex;return L!==0?L:R.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,f=3,h=!1,p=!1,m=!1,S=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(R){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=R)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function b(R){if(m=!1,g(R),!p)if(n(l)!==null)p=!0,I(_);else{var D=n(u);D!==null&&N(b,D.startTime-R)}}function _(R,D){p=!1,m&&(m=!1,v(T),T=-1),h=!0;var L=f;try{for(g(D),d=n(l);d!==null&&(!(d.expirationTime>D)||R&&!A());){var j=d.callback;if(typeof j=="function"){d.callback=null,f=d.priorityLevel;var U=j(d.expirationTime<=D);D=e.unstable_now(),typeof U=="function"?d.callback=U:d===n(l)&&r(l),g(D)}else r(l);d=n(l)}if(d!==null)var G=!0;else{var W=n(u);W!==null&&N(b,W.startTime-D),G=!1}return G}finally{d=null,f=L,h=!1}}var w=!1,x=null,T=-1,P=5,E=-1;function A(){return!(e.unstable_now()-ER||125j?(R.sortIndex=L,t(u,R),n(l)===null&&R===n(u)&&(m?(v(T),T=-1):m=!0,N(b,L-j))):(R.sortIndex=U,t(l,R),p||h||(p=!0,I(_))),R},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(R){var D=f;return function(){var L=f;f=D;try{return R.apply(this,arguments)}finally{f=L}}}})(U8);z8.exports=U8;var CF=z8.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ function OP(e,t){for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),CS=Object.prototype.hasOwnProperty,TF=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,F3={},B3={};function EF(e){return CS.call(B3,e)?!0:CS.call(F3,e)?!1:TF.test(e)?B3[e]=!0:(F3[e]=!0,!1)}function PF(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function AF(e,t,n,r){if(t===null||typeof t>"u"||PF(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function rr(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kn[e]=new rr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kn[t]=new rr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kn[e]=new rr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kn[e]=new rr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){kn[e]=new rr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kn[e]=new rr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kn[e]=new rr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kn[e]=new rr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kn[e]=new rr(e,5,!1,e.toLowerCase(),null,!1,!1)});var fw=/[\-:]([a-z])/g;function hw(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!1,!1)});kn.xlinkHref=new rr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!0,!0)});function pw(e,t,n,r){var i=kn.hasOwnProperty(t)?kn[t]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),CS=Object.prototype.hasOwnProperty,TF=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,F3={},B3={};function EF(e){return CS.call(B3,e)?!0:CS.call(F3,e)?!1:TF.test(e)?B3[e]=!0:(F3[e]=!0,!1)}function PF(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function AF(e,t,n,r){if(t===null||typeof t>"u"||PF(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function rr(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kn[e]=new rr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kn[t]=new rr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kn[e]=new rr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kn[e]=new rr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){kn[e]=new rr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kn[e]=new rr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kn[e]=new rr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kn[e]=new rr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kn[e]=new rr(e,5,!1,e.toLowerCase(),null,!1,!1)});var fw=/[\-:]([a-z])/g;function hw(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(fw,hw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!1,!1)});kn.xlinkHref=new rr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!0,!0)});function pw(e,t,n,r){var i=kn.hasOwnProperty(t)?kn[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{D1=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ad(e):""}function kF(e){switch(e.tag){case 5:return ad(e.type);case 16:return ad("Lazy");case 13:return ad("Suspense");case 19:return ad("SuspenseList");case 0:case 2:case 15:return e=L1(e.type,!1),e;case 11:return e=L1(e.type.render,!1),e;case 1:return e=L1(e.type,!0),e;default:return""}}function AS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case eu:return"Fragment";case Jl:return"Portal";case TS:return"Profiler";case gw:return"StrictMode";case ES:return"Suspense";case PS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case WP:return(e.displayName||"Context")+".Consumer";case qP:return(e._context.displayName||"Context")+".Provider";case mw:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yw:return t=e.displayName||null,t!==null?t:AS(e.type)||"Memo";case ls:t=e._payload,e=e._init;try{return AS(e(t))}catch{}}return null}function OF(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return AS(t);case 8:return t===gw?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ls(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function XP(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function RF(e){var t=XP(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qh(e){e._valueTracker||(e._valueTracker=RF(e))}function YP(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=XP(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mg(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function kS(e,t){var n=t.checked;return Ot({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function V3(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ls(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function QP(e,t){t=t.checked,t!=null&&pw(e,"checked",t,!1)}function OS(e,t){QP(e,t);var n=Ls(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?RS(e,t.type,n):t.hasOwnProperty("defaultValue")&&RS(e,t.type,Ls(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function z3(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function RS(e,t,n){(t!=="number"||Mg(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ld=Array.isArray;function yu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Zh.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bd(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},IF=["Webkit","ms","Moz","O"];Object.keys(yd).forEach(function(e){IF.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),yd[t]=yd[e]})});function tA(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||yd.hasOwnProperty(e)&&yd[e]?(""+t).trim():t+"px"}function nA(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=tA(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var MF=Ot({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function NS(e,t){if(t){if(MF[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Z(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Z(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Z(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Z(62))}}function DS(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var LS=null;function vw(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $S=null,vu=null,bu=null;function H3(e){if(e=nh(e)){if(typeof $S!="function")throw Error(Z(280));var t=e.stateNode;t&&(t=Ty(t),$S(e.stateNode,e.type,t))}}function rA(e){vu?bu?bu.push(e):bu=[e]:vu=e}function iA(){if(vu){var e=vu,t=bu;if(bu=vu=null,H3(e),t)for(e=0;e>>=0,e===0?32:31-(GF(e)/HF|0)|0}var Jh=64,ep=4194304;function ud(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $g(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=ud(a):(o&=s,o!==0&&(r=ud(o)))}else s=n&~i,s!==0?r=ud(s):o!==0&&(r=ud(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function eh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mi(t),e[t]=n}function XF(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=bd),e5=String.fromCharCode(32),t5=!1;function CA(e,t){switch(e){case"keyup":return xB.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function TA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var tu=!1;function TB(e,t){switch(e){case"compositionend":return TA(t);case"keypress":return t.which!==32?null:(t5=!0,e5);case"textInput":return e=t.data,e===e5&&t5?null:e;default:return null}}function EB(e,t){if(tu)return e==="compositionend"||!Ew&&CA(e,t)?(e=wA(),eg=xw=vs=null,tu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=o5(n)}}function kA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?kA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function OA(){for(var e=window,t=Mg();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mg(e.document)}return t}function Pw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function DB(e){var t=OA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&kA(n.ownerDocument.documentElement,n)){if(r!==null&&Pw(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=s5(n,o);var s=s5(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,nu=null,US=null,_d=null,GS=!1;function a5(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;GS||nu==null||nu!==Mg(r)||(r=nu,"selectionStart"in r&&Pw(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_d&&Hd(_d,r)||(_d=r,r=jg(US,"onSelect"),0ou||(e.current=YS[ou],YS[ou]=null,ou--)}function at(e,t){ou++,YS[ou]=e.current,e.current=t}var $s={},Bn=Qs($s),pr=Qs(!1),Ha=$s;function ju(e,t){var n=e.type.contextTypes;if(!n)return $s;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function gr(e){return e=e.childContextTypes,e!=null}function zg(){ht(pr),ht(Bn)}function p5(e,t,n){if(Bn.current!==$s)throw Error(Z(168));at(Bn,t),at(pr,n)}function BA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Z(108,OF(e)||"Unknown",i));return Ot({},n,r)}function Ug(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$s,Ha=Bn.current,at(Bn,e),at(pr,pr.current),!0}function g5(e,t,n){var r=e.stateNode;if(!r)throw Error(Z(169));n?(e=BA(e,t,Ha),r.__reactInternalMemoizedMergedChildContext=e,ht(pr),ht(Bn),at(Bn,e)):ht(pr),at(pr,n)}var _o=null,Ey=!1,Y1=!1;function jA(e){_o===null?_o=[e]:_o.push(e)}function WB(e){Ey=!0,jA(e)}function Zs(){if(!Y1&&_o!==null){Y1=!0;var e=0,t=Ke;try{var n=_o;for(Ke=1;e>=s,i-=s,To=1<<32-mi(t)+i|n<T?(P=x,x=null):P=x.sibling;var E=f(v,x,g[T],b);if(E===null){x===null&&(x=P);break}e&&x&&E.alternate===null&&t(v,x),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E,x=P}if(T===g.length)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;TT?(P=x,x=null):P=x.sibling;var A=f(v,x,E.value,b);if(A===null){x===null&&(x=P);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,T),w===null?_=A:w.sibling=A,w=A,x=P}if(E.done)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;!E.done;T++,E=g.next())E=d(v,E.value,b),E!==null&&(y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return St&&Sa(v,T),_}for(x=r(v,x);!E.done;T++,E=g.next())E=h(x,v,T,E.value,b),E!==null&&(e&&E.alternate!==null&&x.delete(E.key===null?T:E.key),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return e&&x.forEach(function($){return t(v,$)}),St&&Sa(v,T),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===eu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yh:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===eu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===ls&&w5(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=$c(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===eu?(y=$a(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=lg(g.type,g.key,g.props,null,v.mode,b),b.ref=$c(v,y,g),b.return=v,v=b)}return s(v);case Jl:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=ib(g,v.mode,b),y.return=v,v=y}return s(v);case ls:return w=g._init,S(v,y,w(g._payload),b)}if(ld(g))return p(v,y,g,b);if(Ic(g))return m(v,y,g,b);ap(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=rb(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var zu=KA(!0),XA=KA(!1),rh={},Xi=Qs(rh),Xd=Qs(rh),Yd=Qs(rh);function Oa(e){if(e===rh)throw Error(Z(174));return e}function Lw(e,t){switch(at(Yd,t),at(Xd,e),at(Xi,rh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:MS(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=MS(t,e)}ht(Xi),at(Xi,t)}function Uu(){ht(Xi),ht(Xd),ht(Yd)}function YA(e){Oa(Yd.current);var t=Oa(Xi.current),n=MS(t,e.type);t!==n&&(at(Xd,e),at(Xi,n))}function $w(e){Xd.current===e&&(ht(Xi),ht(Xd))}var Et=Qs(0);function Xg(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Q1=[];function Fw(){for(var e=0;en?n:4,e(!0);var r=Z1.transition;Z1.transition={};try{e(!1),t()}finally{Ke=n,Z1.transition=r}}function f9(){return Qr().memoizedState}function QB(e,t,n){var r=As(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},h9(e))p9(t,n);else if(n=GA(e,t,n,r),n!==null){var i=Zn();yi(n,e,r,i),g9(n,t,r)}}function ZB(e,t,n){var r=As(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(h9(e))p9(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,wi(a,s)){var l=t.interleaved;l===null?(i.next=i,Nw(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=GA(e,t,i,r),n!==null&&(i=Zn(),yi(n,e,r,i),g9(n,t,r))}}function h9(e){var t=e.alternate;return e===kt||t!==null&&t===kt}function p9(e,t){wd=Yg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function g9(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Sw(e,n)}}var Qg={readContext:Yr,useCallback:Mn,useContext:Mn,useEffect:Mn,useImperativeHandle:Mn,useInsertionEffect:Mn,useLayoutEffect:Mn,useMemo:Mn,useReducer:Mn,useRef:Mn,useState:Mn,useDebugValue:Mn,useDeferredValue:Mn,useTransition:Mn,useMutableSource:Mn,useSyncExternalStore:Mn,useId:Mn,unstable_isNewReconciler:!1},JB={readContext:Yr,useCallback:function(e,t){return Di().memoizedState=[e,t===void 0?null:t],e},useContext:Yr,useEffect:C5,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ig(4194308,4,a9.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ig(4194308,4,e,t)},useInsertionEffect:function(e,t){return ig(4,2,e,t)},useMemo:function(e,t){var n=Di();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Di();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=QB.bind(null,kt,e),[r.memoizedState,e]},useRef:function(e){var t=Di();return e={current:e},t.memoizedState=e},useState:x5,useDebugValue:Uw,useDeferredValue:function(e){return Di().memoizedState=e},useTransition:function(){var e=x5(!1),t=e[0];return e=YB.bind(null,e[1]),Di().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=kt,i=Di();if(St){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=t(),gn===null)throw Error(Z(349));Wa&30||JA(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,C5(t9.bind(null,r,o,e),[e]),r.flags|=2048,Jd(9,e9.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Di(),t=gn.identifierPrefix;if(St){var n=Eo,r=To;n=(r&~(1<<32-mi(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qd++,0")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{D1=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ad(e):""}function kF(e){switch(e.tag){case 5:return ad(e.type);case 16:return ad("Lazy");case 13:return ad("Suspense");case 19:return ad("SuspenseList");case 0:case 2:case 15:return e=L1(e.type,!1),e;case 11:return e=L1(e.type.render,!1),e;case 1:return e=L1(e.type,!0),e;default:return""}}function AS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case eu:return"Fragment";case Jl:return"Portal";case TS:return"Profiler";case gw:return"StrictMode";case ES:return"Suspense";case PS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case W8:return(e.displayName||"Context")+".Consumer";case q8:return(e._context.displayName||"Context")+".Provider";case mw:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yw:return t=e.displayName||null,t!==null?t:AS(e.type)||"Memo";case ls:t=e._payload,e=e._init;try{return AS(e(t))}catch{}}return null}function OF(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return AS(t);case 8:return t===gw?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ls(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function X8(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function RF(e){var t=X8(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qh(e){e._valueTracker||(e._valueTracker=RF(e))}function Y8(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=X8(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mg(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function kS(e,t){var n=t.checked;return Ot({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function V3(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ls(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Q8(e,t){t=t.checked,t!=null&&pw(e,"checked",t,!1)}function OS(e,t){Q8(e,t);var n=Ls(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?RS(e,t.type,n):t.hasOwnProperty("defaultValue")&&RS(e,t.type,Ls(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function z3(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function RS(e,t,n){(t!=="number"||Mg(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ld=Array.isArray;function yu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Zh.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bd(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},IF=["Webkit","ms","Moz","O"];Object.keys(yd).forEach(function(e){IF.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),yd[t]=yd[e]})});function tA(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||yd.hasOwnProperty(e)&&yd[e]?(""+t).trim():t+"px"}function nA(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=tA(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var MF=Ot({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function NS(e,t){if(t){if(MF[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Z(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Z(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Z(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Z(62))}}function DS(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var LS=null;function vw(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $S=null,vu=null,bu=null;function H3(e){if(e=nh(e)){if(typeof $S!="function")throw Error(Z(280));var t=e.stateNode;t&&(t=Ty(t),$S(e.stateNode,e.type,t))}}function rA(e){vu?bu?bu.push(e):bu=[e]:vu=e}function iA(){if(vu){var e=vu,t=bu;if(bu=vu=null,H3(e),t)for(e=0;e>>=0,e===0?32:31-(GF(e)/HF|0)|0}var Jh=64,ep=4194304;function ud(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $g(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=ud(a):(o&=s,o!==0&&(r=ud(o)))}else s=n&~i,s!==0?r=ud(s):o!==0&&(r=ud(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function eh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mi(t),e[t]=n}function XF(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=bd),e5=String.fromCharCode(32),t5=!1;function CA(e,t){switch(e){case"keyup":return xB.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function TA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var tu=!1;function TB(e,t){switch(e){case"compositionend":return TA(t);case"keypress":return t.which!==32?null:(t5=!0,e5);case"textInput":return e=t.data,e===e5&&t5?null:e;default:return null}}function EB(e,t){if(tu)return e==="compositionend"||!Ew&&CA(e,t)?(e=wA(),eg=xw=vs=null,tu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=o5(n)}}function kA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?kA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function OA(){for(var e=window,t=Mg();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mg(e.document)}return t}function Pw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function DB(e){var t=OA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&kA(n.ownerDocument.documentElement,n)){if(r!==null&&Pw(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=s5(n,o);var s=s5(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,nu=null,US=null,_d=null,GS=!1;function a5(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;GS||nu==null||nu!==Mg(r)||(r=nu,"selectionStart"in r&&Pw(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_d&&Hd(_d,r)||(_d=r,r=jg(US,"onSelect"),0ou||(e.current=YS[ou],YS[ou]=null,ou--)}function at(e,t){ou++,YS[ou]=e.current,e.current=t}var $s={},Bn=Qs($s),pr=Qs(!1),Ha=$s;function ju(e,t){var n=e.type.contextTypes;if(!n)return $s;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function gr(e){return e=e.childContextTypes,e!=null}function zg(){ht(pr),ht(Bn)}function p5(e,t,n){if(Bn.current!==$s)throw Error(Z(168));at(Bn,t),at(pr,n)}function BA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Z(108,OF(e)||"Unknown",i));return Ot({},n,r)}function Ug(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$s,Ha=Bn.current,at(Bn,e),at(pr,pr.current),!0}function g5(e,t,n){var r=e.stateNode;if(!r)throw Error(Z(169));n?(e=BA(e,t,Ha),r.__reactInternalMemoizedMergedChildContext=e,ht(pr),ht(Bn),at(Bn,e)):ht(pr),at(pr,n)}var _o=null,Ey=!1,Y1=!1;function jA(e){_o===null?_o=[e]:_o.push(e)}function WB(e){Ey=!0,jA(e)}function Zs(){if(!Y1&&_o!==null){Y1=!0;var e=0,t=Ke;try{var n=_o;for(Ke=1;e>=s,i-=s,To=1<<32-mi(t)+i|n<T?(P=x,x=null):P=x.sibling;var E=f(v,x,g[T],b);if(E===null){x===null&&(x=P);break}e&&x&&E.alternate===null&&t(v,x),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E,x=P}if(T===g.length)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;TT?(P=x,x=null):P=x.sibling;var A=f(v,x,E.value,b);if(A===null){x===null&&(x=P);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,T),w===null?_=A:w.sibling=A,w=A,x=P}if(E.done)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;!E.done;T++,E=g.next())E=d(v,E.value,b),E!==null&&(y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return St&&Sa(v,T),_}for(x=r(v,x);!E.done;T++,E=g.next())E=h(x,v,T,E.value,b),E!==null&&(e&&E.alternate!==null&&x.delete(E.key===null?T:E.key),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return e&&x.forEach(function($){return t(v,$)}),St&&Sa(v,T),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===eu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yh:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===eu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===ls&&w5(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=$c(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===eu?(y=$a(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=lg(g.type,g.key,g.props,null,v.mode,b),b.ref=$c(v,y,g),b.return=v,v=b)}return s(v);case Jl:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=ib(g,v.mode,b),y.return=v,v=y}return s(v);case ls:return w=g._init,S(v,y,w(g._payload),b)}if(ld(g))return p(v,y,g,b);if(Ic(g))return m(v,y,g,b);ap(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=rb(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var zu=KA(!0),XA=KA(!1),rh={},Xi=Qs(rh),Xd=Qs(rh),Yd=Qs(rh);function Oa(e){if(e===rh)throw Error(Z(174));return e}function Lw(e,t){switch(at(Yd,t),at(Xd,e),at(Xi,rh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:MS(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=MS(t,e)}ht(Xi),at(Xi,t)}function Uu(){ht(Xi),ht(Xd),ht(Yd)}function YA(e){Oa(Yd.current);var t=Oa(Xi.current),n=MS(t,e.type);t!==n&&(at(Xd,e),at(Xi,n))}function $w(e){Xd.current===e&&(ht(Xi),ht(Xd))}var Et=Qs(0);function Xg(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Q1=[];function Fw(){for(var e=0;en?n:4,e(!0);var r=Z1.transition;Z1.transition={};try{e(!1),t()}finally{Ke=n,Z1.transition=r}}function f9(){return Qr().memoizedState}function QB(e,t,n){var r=As(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},h9(e))p9(t,n);else if(n=GA(e,t,n,r),n!==null){var i=Zn();yi(n,e,r,i),g9(n,t,r)}}function ZB(e,t,n){var r=As(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(h9(e))p9(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,wi(a,s)){var l=t.interleaved;l===null?(i.next=i,Nw(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=GA(e,t,i,r),n!==null&&(i=Zn(),yi(n,e,r,i),g9(n,t,r))}}function h9(e){var t=e.alternate;return e===kt||t!==null&&t===kt}function p9(e,t){wd=Yg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function g9(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Sw(e,n)}}var Qg={readContext:Yr,useCallback:Mn,useContext:Mn,useEffect:Mn,useImperativeHandle:Mn,useInsertionEffect:Mn,useLayoutEffect:Mn,useMemo:Mn,useReducer:Mn,useRef:Mn,useState:Mn,useDebugValue:Mn,useDeferredValue:Mn,useTransition:Mn,useMutableSource:Mn,useSyncExternalStore:Mn,useId:Mn,unstable_isNewReconciler:!1},JB={readContext:Yr,useCallback:function(e,t){return Di().memoizedState=[e,t===void 0?null:t],e},useContext:Yr,useEffect:C5,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ig(4194308,4,a9.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ig(4194308,4,e,t)},useInsertionEffect:function(e,t){return ig(4,2,e,t)},useMemo:function(e,t){var n=Di();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Di();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=QB.bind(null,kt,e),[r.memoizedState,e]},useRef:function(e){var t=Di();return e={current:e},t.memoizedState=e},useState:x5,useDebugValue:Uw,useDeferredValue:function(e){return Di().memoizedState=e},useTransition:function(){var e=x5(!1),t=e[0];return e=YB.bind(null,e[1]),Di().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=kt,i=Di();if(St){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=t(),gn===null)throw Error(Z(349));Wa&30||JA(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,C5(t9.bind(null,r,o,e),[e]),r.flags|=2048,Jd(9,e9.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Di(),t=gn.identifierPrefix;if(St){var n=Eo,r=To;n=(r&~(1<<32-mi(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qd++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Vi]=t,e[Kd]=r,C9(e,t,!1,!1),t.stateNode=e;e:{switch(s=DS(n,r),n){case"dialog":ct("cancel",e),ct("close",e),i=r;break;case"iframe":case"object":case"embed":ct("load",e),i=r;break;case"video":case"audio":for(i=0;iHu&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xg(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fc(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!St)return Nn(t),null}else 2*Bt()-o.renderingStartTime>Hu&&n!==1073741824&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Bt(),t.sibling=null,n=Et.current,at(Et,r?n&1|2:n&1),t):(Nn(t),null);case 22:case 23:return Xw(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Cr&1073741824&&(Nn(t),t.subtreeFlags&6&&(t.flags|=8192)):Nn(t),null;case 24:return null;case 25:return null}throw Error(Z(156,t.tag))}function aj(e,t){switch(kw(t),t.tag){case 1:return gr(t.type)&&zg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Uu(),ht(pr),ht(Bn),Fw(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $w(t),null;case 13:if(ht(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Z(340));Vu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ht(Et),null;case 4:return Uu(),null;case 10:return Mw(t.type._context),null;case 22:case 23:return Xw(),null;case 24:return null;default:return null}}var up=!1,Fn=!1,lj=typeof WeakSet=="function"?WeakSet:Set,ae=null;function uu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Mt(e,t,r)}else n.current=null}function l_(e,t,n){try{n()}catch(r){Mt(e,t,r)}}var M5=!1;function uj(e,t){if(HS=Fg,e=OA(),Pw(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(qS={focusedElem:e,selectionRange:n},Fg=!1,ae=t;ae!==null;)if(t=ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ae=e;else for(;ae!==null;){t=ae;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ai(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(b){Mt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,ae=e;break}ae=t.return}return p=M5,M5=!1,p}function xd(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&l_(t,n,o)}i=i.next}while(i!==r)}}function ky(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function u_(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function P9(e){var t=e.alternate;t!==null&&(e.alternate=null,P9(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vi],delete t[Kd],delete t[XS],delete t[HB],delete t[qB])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function A9(e){return e.tag===5||e.tag===3||e.tag===4}function N5(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||A9(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function c_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vg));else if(r!==4&&(e=e.child,e!==null))for(c_(e,t,n),e=e.sibling;e!==null;)c_(e,t,n),e=e.sibling}function d_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(d_(e,t,n),e=e.sibling;e!==null;)d_(e,t,n),e=e.sibling}var Tn=null,li=!1;function ts(e,t,n){for(n=n.child;n!==null;)k9(e,t,n),n=n.sibling}function k9(e,t,n){if(Ki&&typeof Ki.onCommitFiberUnmount=="function")try{Ki.onCommitFiberUnmount(_y,n)}catch{}switch(n.tag){case 5:Fn||uu(n,t);case 6:var r=Tn,i=li;Tn=null,ts(e,t,n),Tn=r,li=i,Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tn.removeChild(n.stateNode));break;case 18:Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?X1(e.parentNode,n):e.nodeType===1&&X1(e,n),Ud(e)):X1(Tn,n.stateNode));break;case 4:r=Tn,i=li,Tn=n.stateNode.containerInfo,li=!0,ts(e,t,n),Tn=r,li=i;break;case 0:case 11:case 14:case 15:if(!Fn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&l_(n,t,s),i=i.next}while(i!==r)}ts(e,t,n);break;case 1:if(!Fn&&(uu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Mt(n,t,a)}ts(e,t,n);break;case 21:ts(e,t,n);break;case 22:n.mode&1?(Fn=(r=Fn)||n.memoizedState!==null,ts(e,t,n),Fn=r):ts(e,t,n);break;default:ts(e,t,n)}}function D5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new lj),t.forEach(function(r){var i=vj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function oi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Bt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dj(r/1960))-r,10e?16:e,bs===null)var r=!1;else{if(e=bs,bs=null,em=0,$e&6)throw Error(Z(331));var i=$e;for($e|=4,ae=e.current;ae!==null;){var o=ae,s=o.child;if(ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lBt()-Ww?La(e,0):qw|=n),mr(e,t)}function $9(e,t){t===0&&(e.mode&1?(t=ep,ep<<=1,!(ep&130023424)&&(ep=4194304)):t=1);var n=Zn();e=Fo(e,t),e!==null&&(eh(e,t,n),mr(e,n))}function yj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$9(e,n)}function vj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(t),$9(e,n)}var F9;F9=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pr.current)dr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return dr=!1,oj(e,t,n);dr=!!(e.flags&131072)}else dr=!1,St&&t.flags&1048576&&VA(t,Hg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;og(e,t),e=t.pendingProps;var i=ju(t,Bn.current);_u(t,n),i=jw(null,t,r,e,i,n);var o=Vw();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,gr(r)?(o=!0,Ug(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Dw(t),i.updater=Py,t.stateNode=i,i._reactInternals=t,t_(t,r,e,n),t=i_(null,t,r,!0,o,n)):(t.tag=0,St&&o&&Aw(t),Yn(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(og(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Sj(r),e=ai(r,e),i){case 0:t=r_(null,t,r,e,n);break e;case 1:t=O5(null,t,r,e,n);break e;case 11:t=A5(null,t,r,e,n);break e;case 14:t=k5(null,t,r,ai(r.type,e),n);break e}throw Error(Z(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),r_(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),O5(e,t,r,i,n);case 3:e:{if(_9(t),e===null)throw Error(Z(387));r=t.pendingProps,o=t.memoizedState,i=o.element,HA(e,t),Kg(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Gu(Error(Z(423)),t),t=R5(e,t,r,n,i);break e}else if(r!==i){i=Gu(Error(Z(424)),t),t=R5(e,t,r,n,i);break e}else for(Er=Ts(t.stateNode.containerInfo.firstChild),Pr=t,St=!0,ci=null,n=XA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Vu(),r===i){t=Bo(e,t,n);break e}Yn(e,t,r,n)}t=t.child}return t;case 5:return YA(t),e===null&&ZS(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,WS(r,i)?s=null:o!==null&&WS(r,o)&&(t.flags|=32),S9(e,t),Yn(e,t,s,n),t.child;case 6:return e===null&&ZS(t),null;case 13:return w9(e,t,n);case 4:return Lw(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=zu(t,null,r,n):Yn(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),A5(e,t,r,i,n);case 7:return Yn(e,t,t.pendingProps,n),t.child;case 8:return Yn(e,t,t.pendingProps.children,n),t.child;case 12:return Yn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,at(qg,r._currentValue),r._currentValue=s,o!==null)if(wi(o.value,s)){if(o.children===i.children&&!pr.current){t=Bo(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ko(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),JS(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(Z(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),JS(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Yn(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,_u(t,n),i=Yr(i),r=r(i),t.flags|=1,Yn(e,t,r,n),t.child;case 14:return r=t.type,i=ai(r,t.pendingProps),i=ai(r.type,i),k5(e,t,r,i,n);case 15:return v9(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),og(e,t),t.tag=1,gr(r)?(e=!0,Ug(t)):e=!1,_u(t,n),WA(t,r,i),t_(t,r,i,n),i_(null,t,r,!0,e,n);case 19:return x9(e,t,n);case 22:return b9(e,t,n)}throw Error(Z(156,t.tag))};function B9(e,t){return dA(e,t)}function bj(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wr(e,t,n,r){return new bj(e,t,n,r)}function Qw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sj(e){if(typeof e=="function")return Qw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===mw)return 11;if(e===yw)return 14}return 2}function ks(e,t){var n=e.alternate;return n===null?(n=Wr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")Qw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case eu:return $a(n.children,i,o,t);case gw:s=8,i|=8;break;case TS:return e=Wr(12,n,t,i|2),e.elementType=TS,e.lanes=o,e;case ES:return e=Wr(13,n,t,i),e.elementType=ES,e.lanes=o,e;case PS:return e=Wr(19,n,t,i),e.elementType=PS,e.lanes=o,e;case KP:return Ry(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qP:s=10;break e;case WP:s=9;break e;case mw:s=11;break e;case yw:s=14;break e;case ls:s=16,r=null;break e}throw Error(Z(130,e==null?e:typeof e,""))}return t=Wr(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function $a(e,t,n,r){return e=Wr(7,e,r,t),e.lanes=n,e}function Ry(e,t,n,r){return e=Wr(22,e,r,t),e.elementType=KP,e.lanes=n,e.stateNode={isHidden:!1},e}function rb(e,t,n){return e=Wr(6,e,null,t),e.lanes=n,e}function ib(e,t,n){return t=Wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _j(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=F1(0),this.expirationTimes=F1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=F1(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Zw(e,t,n,r,i,o,s,a,l){return e=new _j(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Wr(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Dw(o),e}function wj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(U9)}catch(e){console.error(e)}}U9(),VP.exports=Mr;var zi=VP.exports;const cwe=al(zi);var U5=zi;xS.createRoot=U5.createRoot,xS.hydrateRoot=U5.hydrateRoot;const Pj="modulepreload",Aj=function(e,t){return new URL(e,t).href},G5={},G9=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Aj(o,r),o in G5)return;G5[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Pj,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var H9={exports:{}},q9={};/** +`+o.stack}return{value:e,source:t,stack:i,digest:null}}function tb(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function n_(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var nj=typeof WeakMap=="function"?WeakMap:Map;function m9(e,t,n){n=ko(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Jg||(Jg=!0,f_=r),n_(e,t)},n}function y9(e,t,n){n=ko(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){n_(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){n_(e,t),typeof r!="function"&&(Ps===null?Ps=new Set([this]):Ps.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}function T5(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new nj;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=mj.bind(null,e,t,n),t.then(e,e))}function E5(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function P5(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=ko(-1,1),t.tag=2,Es(n,t,1))),n.lanes|=1),e)}var rj=Go.ReactCurrentOwner,dr=!1;function Yn(e,t,n,r){t.child=e===null?XA(t,null,n,r):zu(t,e.child,n,r)}function A5(e,t,n,r,i){n=n.render;var o=t.ref;return _u(t,i),r=jw(e,t,n,r,o,i),n=Vw(),e!==null&&!dr?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Bo(e,t,i)):(St&&n&&Aw(t),t.flags|=1,Yn(e,t,r,i),t.child)}function k5(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!Qw(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,v9(e,t,o,r,i)):(e=lg(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&i)){var s=o.memoizedProps;if(n=n.compare,n=n!==null?n:Hd,n(s,r)&&e.ref===t.ref)return Bo(e,t,i)}return t.flags|=1,e=ks(o,r),e.ref=t.ref,e.return=t,t.child=e}function v9(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(Hd(o,r)&&e.ref===t.ref)if(dr=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&(dr=!0);else return t.lanes=e.lanes,Bo(e,t,i)}return r_(e,t,n,r,i)}function b9(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},at(cu,Cr),Cr|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,at(cu,Cr),Cr|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,at(cu,Cr),Cr|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,at(cu,Cr),Cr|=r;return Yn(e,t,i,n),t.child}function S9(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function r_(e,t,n,r,i){var o=gr(n)?Ha:Bn.current;return o=ju(t,o),_u(t,i),n=jw(e,t,n,r,o,i),r=Vw(),e!==null&&!dr?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Bo(e,t,i)):(St&&r&&Aw(t),t.flags|=1,Yn(e,t,n,i),t.child)}function O5(e,t,n,r,i){if(gr(n)){var o=!0;Ug(t)}else o=!1;if(_u(t,i),t.stateNode===null)og(e,t),WA(t,n,r),t_(t,n,r,i),r=!0;else if(e===null){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,u=n.contextType;typeof u=="object"&&u!==null?u=Yr(u):(u=gr(n)?Ha:Bn.current,u=ju(t,u));var c=n.getDerivedStateFromProps,d=typeof c=="function"||typeof s.getSnapshotBeforeUpdate=="function";d||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==r||l!==u)&&_5(t,s,r,u),us=!1;var f=t.memoizedState;s.state=f,Kg(t,r,s,i),l=t.memoizedState,a!==r||f!==l||pr.current||us?(typeof c=="function"&&(e_(t,n,c,r),l=t.memoizedState),(a=us||S5(t,n,a,r,f,l,u))?(d||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=u,r=a):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,HA(e,t),a=t.memoizedProps,u=t.type===t.elementType?a:ai(t.type,a),s.props=u,d=t.pendingProps,f=s.context,l=n.contextType,typeof l=="object"&&l!==null?l=Yr(l):(l=gr(n)?Ha:Bn.current,l=ju(t,l));var h=n.getDerivedStateFromProps;(c=typeof h=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==d||f!==l)&&_5(t,s,r,l),us=!1,f=t.memoizedState,s.state=f,Kg(t,r,s,i);var p=t.memoizedState;a!==d||f!==p||pr.current||us?(typeof h=="function"&&(e_(t,n,h,r),p=t.memoizedState),(u=us||S5(t,n,u,r,f,p,l)||!1)?(c||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(r,p,l),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(r,p,l)),typeof s.componentDidUpdate=="function"&&(t.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),s.props=r,s.state=p,s.context=l,r=u):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return i_(e,t,n,r,o,i)}function i_(e,t,n,r,i,o){S9(e,t);var s=(t.flags&128)!==0;if(!r&&!s)return i&&g5(t,n,!1),Bo(e,t,o);r=t.stateNode,rj.current=t;var a=s&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&s?(t.child=zu(t,e.child,null,o),t.child=zu(t,null,a,o)):Yn(e,t,a,o),t.memoizedState=r.state,i&&g5(t,n,!0),t.child}function _9(e){var t=e.stateNode;t.pendingContext?p5(e,t.pendingContext,t.pendingContext!==t.context):t.context&&p5(e,t.context,!1),Lw(e,t.containerInfo)}function R5(e,t,n,r,i){return Vu(),Ow(i),t.flags|=256,Yn(e,t,n,r),t.child}var o_={dehydrated:null,treeContext:null,retryLane:0};function s_(e){return{baseLanes:e,cachePool:null,transitions:null}}function w9(e,t,n){var r=t.pendingProps,i=Et.current,o=!1,s=(t.flags&128)!==0,a;if((a=s)||(a=e!==null&&e.memoizedState===null?!1:(i&2)!==0),a?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),at(Et,i&1),e===null)return ZS(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(s=r.children,e=r.fallback,o?(r=t.mode,o=t.child,s={mode:"hidden",children:s},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=s):o=Ry(s,r,0,null),e=$a(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=s_(n),t.memoizedState=o_,e):Gw(t,s));if(i=e.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return ij(e,t,s,r,a,i,n);if(o){o=r.fallback,s=t.mode,i=e.child,a=i.sibling;var l={mode:"hidden",children:r.children};return!(s&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=ks(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?o=ks(a,o):(o=$a(o,s,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,s=e.child.memoizedState,s=s===null?s_(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},o.memoizedState=s,o.childLanes=e.childLanes&~n,t.memoizedState=o_,r}return o=e.child,e=o.sibling,r=ks(o,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Gw(e,t){return t=Ry({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function lp(e,t,n,r){return r!==null&&Ow(r),zu(t,e.child,null,n),e=Gw(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ij(e,t,n,r,i,o,s){if(n)return t.flags&256?(t.flags&=-257,r=tb(Error(Z(422))),lp(e,t,s,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,i=t.mode,r=Ry({mode:"visible",children:r.children},i,0,null),o=$a(o,i,s,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,t.mode&1&&zu(t,e.child,null,s),t.child.memoizedState=s_(s),t.memoizedState=o_,o);if(!(t.mode&1))return lp(e,t,s,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,o=Error(Z(419)),r=tb(o,r,void 0),lp(e,t,s,r)}if(a=(s&e.childLanes)!==0,dr||a){if(r=gn,r!==null){switch(s&-s){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|s)?0:i,i!==0&&i!==o.retryLane&&(o.retryLane=i,Fo(e,i),yi(r,e,i,-1))}return Yw(),r=tb(Error(Z(421))),lp(e,t,s,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=yj.bind(null,e),i._reactRetry=t,null):(e=o.treeContext,Er=Ts(i.nextSibling),Pr=t,St=!0,ci=null,e!==null&&(Gr[Hr++]=To,Gr[Hr++]=Eo,Gr[Hr++]=qa,To=e.id,Eo=e.overflow,qa=t),t=Gw(t,r.children),t.flags|=4096,t)}function I5(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),JS(e.return,t,n)}function nb(e,t,n,r,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function x9(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(Yn(e,t,r.children,n),r=Et.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&I5(e,n,t);else if(e.tag===19)I5(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(at(Et,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Xg(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),nb(t,!1,i,n,o);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Xg(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}nb(t,!0,n,null,o);break;case"together":nb(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function og(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Bo(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ka|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(Z(153));if(t.child!==null){for(e=t.child,n=ks(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ks(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function oj(e,t,n){switch(t.tag){case 3:_9(t),Vu();break;case 5:YA(t);break;case 1:gr(t.type)&&Ug(t);break;case 4:Lw(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;at(qg,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(at(Et,Et.current&1),t.flags|=128,null):n&t.child.childLanes?w9(e,t,n):(at(Et,Et.current&1),e=Bo(e,t,n),e!==null?e.sibling:null);at(Et,Et.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return x9(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),at(Et,Et.current),r)break;return null;case 22:case 23:return t.lanes=0,b9(e,t,n)}return Bo(e,t,n)}var C9,a_,T9,E9;C9=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};a_=function(){};T9=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Oa(Xi.current);var o=null;switch(n){case"input":i=kS(e,i),r=kS(e,r),o=[];break;case"select":i=Ot({},i,{value:void 0}),r=Ot({},r,{value:void 0}),o=[];break;case"textarea":i=IS(e,i),r=IS(e,r),o=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Vg)}NS(n,r);var s;n=null;for(u in i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u==="style"){var a=i[u];for(s in a)a.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Fd.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var l=r[u];if(a=i!=null?i[u]:void 0,r.hasOwnProperty(u)&&l!==a&&(l!=null||a!=null))if(u==="style")if(a){for(s in a)!a.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in l)l.hasOwnProperty(s)&&a[s]!==l[s]&&(n||(n={}),n[s]=l[s])}else n||(o||(o=[]),o.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(o=o||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Fd.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&ct("scroll",e),o||a===l||(o=[])):(o=o||[]).push(u,l))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}};E9=function(e,t,n,r){n!==r&&(t.flags|=4)};function Fc(e,t){if(!St)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Nn(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function sj(e,t,n){var r=t.pendingProps;switch(kw(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Nn(t),null;case 1:return gr(t.type)&&zg(),Nn(t),null;case 3:return r=t.stateNode,Uu(),ht(pr),ht(Bn),Fw(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(sp(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ci!==null&&(g_(ci),ci=null))),a_(e,t),Nn(t),null;case 5:$w(t);var i=Oa(Yd.current);if(n=t.type,e!==null&&t.stateNode!=null)T9(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(Z(166));return Nn(t),null}if(e=Oa(Xi.current),sp(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[Vi]=t,r[Kd]=o,e=(t.mode&1)!==0,n){case"dialog":ct("cancel",r),ct("close",r);break;case"iframe":case"object":case"embed":ct("load",r);break;case"video":case"audio":for(i=0;i<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Vi]=t,e[Kd]=r,C9(e,t,!1,!1),t.stateNode=e;e:{switch(s=DS(n,r),n){case"dialog":ct("cancel",e),ct("close",e),i=r;break;case"iframe":case"object":case"embed":ct("load",e),i=r;break;case"video":case"audio":for(i=0;iHu&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xg(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fc(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!St)return Nn(t),null}else 2*Bt()-o.renderingStartTime>Hu&&n!==1073741824&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Bt(),t.sibling=null,n=Et.current,at(Et,r?n&1|2:n&1),t):(Nn(t),null);case 22:case 23:return Xw(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Cr&1073741824&&(Nn(t),t.subtreeFlags&6&&(t.flags|=8192)):Nn(t),null;case 24:return null;case 25:return null}throw Error(Z(156,t.tag))}function aj(e,t){switch(kw(t),t.tag){case 1:return gr(t.type)&&zg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Uu(),ht(pr),ht(Bn),Fw(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $w(t),null;case 13:if(ht(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Z(340));Vu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ht(Et),null;case 4:return Uu(),null;case 10:return Mw(t.type._context),null;case 22:case 23:return Xw(),null;case 24:return null;default:return null}}var up=!1,Fn=!1,lj=typeof WeakSet=="function"?WeakSet:Set,ae=null;function uu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Mt(e,t,r)}else n.current=null}function l_(e,t,n){try{n()}catch(r){Mt(e,t,r)}}var M5=!1;function uj(e,t){if(HS=Fg,e=OA(),Pw(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(qS={focusedElem:e,selectionRange:n},Fg=!1,ae=t;ae!==null;)if(t=ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ae=e;else for(;ae!==null;){t=ae;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ai(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(b){Mt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,ae=e;break}ae=t.return}return p=M5,M5=!1,p}function xd(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&l_(t,n,o)}i=i.next}while(i!==r)}}function ky(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function u_(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function P9(e){var t=e.alternate;t!==null&&(e.alternate=null,P9(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vi],delete t[Kd],delete t[XS],delete t[HB],delete t[qB])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function A9(e){return e.tag===5||e.tag===3||e.tag===4}function N5(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||A9(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function c_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vg));else if(r!==4&&(e=e.child,e!==null))for(c_(e,t,n),e=e.sibling;e!==null;)c_(e,t,n),e=e.sibling}function d_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(d_(e,t,n),e=e.sibling;e!==null;)d_(e,t,n),e=e.sibling}var Tn=null,li=!1;function ts(e,t,n){for(n=n.child;n!==null;)k9(e,t,n),n=n.sibling}function k9(e,t,n){if(Ki&&typeof Ki.onCommitFiberUnmount=="function")try{Ki.onCommitFiberUnmount(_y,n)}catch{}switch(n.tag){case 5:Fn||uu(n,t);case 6:var r=Tn,i=li;Tn=null,ts(e,t,n),Tn=r,li=i,Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tn.removeChild(n.stateNode));break;case 18:Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?X1(e.parentNode,n):e.nodeType===1&&X1(e,n),Ud(e)):X1(Tn,n.stateNode));break;case 4:r=Tn,i=li,Tn=n.stateNode.containerInfo,li=!0,ts(e,t,n),Tn=r,li=i;break;case 0:case 11:case 14:case 15:if(!Fn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&l_(n,t,s),i=i.next}while(i!==r)}ts(e,t,n);break;case 1:if(!Fn&&(uu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Mt(n,t,a)}ts(e,t,n);break;case 21:ts(e,t,n);break;case 22:n.mode&1?(Fn=(r=Fn)||n.memoizedState!==null,ts(e,t,n),Fn=r):ts(e,t,n);break;default:ts(e,t,n)}}function D5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new lj),t.forEach(function(r){var i=vj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function oi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Bt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dj(r/1960))-r,10e?16:e,bs===null)var r=!1;else{if(e=bs,bs=null,em=0,$e&6)throw Error(Z(331));var i=$e;for($e|=4,ae=e.current;ae!==null;){var o=ae,s=o.child;if(ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lBt()-Ww?La(e,0):qw|=n),mr(e,t)}function $9(e,t){t===0&&(e.mode&1?(t=ep,ep<<=1,!(ep&130023424)&&(ep=4194304)):t=1);var n=Zn();e=Fo(e,t),e!==null&&(eh(e,t,n),mr(e,n))}function yj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$9(e,n)}function vj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(t),$9(e,n)}var F9;F9=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pr.current)dr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return dr=!1,oj(e,t,n);dr=!!(e.flags&131072)}else dr=!1,St&&t.flags&1048576&&VA(t,Hg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;og(e,t),e=t.pendingProps;var i=ju(t,Bn.current);_u(t,n),i=jw(null,t,r,e,i,n);var o=Vw();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,gr(r)?(o=!0,Ug(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Dw(t),i.updater=Py,t.stateNode=i,i._reactInternals=t,t_(t,r,e,n),t=i_(null,t,r,!0,o,n)):(t.tag=0,St&&o&&Aw(t),Yn(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(og(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Sj(r),e=ai(r,e),i){case 0:t=r_(null,t,r,e,n);break e;case 1:t=O5(null,t,r,e,n);break e;case 11:t=A5(null,t,r,e,n);break e;case 14:t=k5(null,t,r,ai(r.type,e),n);break e}throw Error(Z(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),r_(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),O5(e,t,r,i,n);case 3:e:{if(_9(t),e===null)throw Error(Z(387));r=t.pendingProps,o=t.memoizedState,i=o.element,HA(e,t),Kg(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Gu(Error(Z(423)),t),t=R5(e,t,r,n,i);break e}else if(r!==i){i=Gu(Error(Z(424)),t),t=R5(e,t,r,n,i);break e}else for(Er=Ts(t.stateNode.containerInfo.firstChild),Pr=t,St=!0,ci=null,n=XA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Vu(),r===i){t=Bo(e,t,n);break e}Yn(e,t,r,n)}t=t.child}return t;case 5:return YA(t),e===null&&ZS(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,WS(r,i)?s=null:o!==null&&WS(r,o)&&(t.flags|=32),S9(e,t),Yn(e,t,s,n),t.child;case 6:return e===null&&ZS(t),null;case 13:return w9(e,t,n);case 4:return Lw(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=zu(t,null,r,n):Yn(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),A5(e,t,r,i,n);case 7:return Yn(e,t,t.pendingProps,n),t.child;case 8:return Yn(e,t,t.pendingProps.children,n),t.child;case 12:return Yn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,at(qg,r._currentValue),r._currentValue=s,o!==null)if(wi(o.value,s)){if(o.children===i.children&&!pr.current){t=Bo(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ko(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),JS(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(Z(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),JS(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Yn(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,_u(t,n),i=Yr(i),r=r(i),t.flags|=1,Yn(e,t,r,n),t.child;case 14:return r=t.type,i=ai(r,t.pendingProps),i=ai(r.type,i),k5(e,t,r,i,n);case 15:return v9(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),og(e,t),t.tag=1,gr(r)?(e=!0,Ug(t)):e=!1,_u(t,n),WA(t,r,i),t_(t,r,i,n),i_(null,t,r,!0,e,n);case 19:return x9(e,t,n);case 22:return b9(e,t,n)}throw Error(Z(156,t.tag))};function B9(e,t){return dA(e,t)}function bj(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wr(e,t,n,r){return new bj(e,t,n,r)}function Qw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sj(e){if(typeof e=="function")return Qw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===mw)return 11;if(e===yw)return 14}return 2}function ks(e,t){var n=e.alternate;return n===null?(n=Wr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")Qw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case eu:return $a(n.children,i,o,t);case gw:s=8,i|=8;break;case TS:return e=Wr(12,n,t,i|2),e.elementType=TS,e.lanes=o,e;case ES:return e=Wr(13,n,t,i),e.elementType=ES,e.lanes=o,e;case PS:return e=Wr(19,n,t,i),e.elementType=PS,e.lanes=o,e;case K8:return Ry(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case q8:s=10;break e;case W8:s=9;break e;case mw:s=11;break e;case yw:s=14;break e;case ls:s=16,r=null;break e}throw Error(Z(130,e==null?e:typeof e,""))}return t=Wr(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function $a(e,t,n,r){return e=Wr(7,e,r,t),e.lanes=n,e}function Ry(e,t,n,r){return e=Wr(22,e,r,t),e.elementType=K8,e.lanes=n,e.stateNode={isHidden:!1},e}function rb(e,t,n){return e=Wr(6,e,null,t),e.lanes=n,e}function ib(e,t,n){return t=Wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _j(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=F1(0),this.expirationTimes=F1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=F1(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Zw(e,t,n,r,i,o,s,a,l){return e=new _j(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Wr(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Dw(o),e}function wj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(U9)}catch(e){console.error(e)}}U9(),V8.exports=Mr;var zi=V8.exports;const cwe=al(zi);var U5=zi;xS.createRoot=U5.createRoot,xS.hydrateRoot=U5.hydrateRoot;const Pj="modulepreload",Aj=function(e,t){return new URL(e,t).href},G5={},G9=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Aj(o,r),o in G5)return;G5[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Pj,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var H9={exports:{}},q9={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -107,10 +107,10 @@ ${R}`),O.pop(),`{${U}}`}case"number":return isFinite(C)?String(C):y?y(C):"null"; color: `.concat(zse[f].color,`; `),v=` color: inherit; - `;Object.keys(d).length>0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,v,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,v)}}};M0.createLogWriter=Gse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=M0;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(nM);Th.ROARR.write=nM.createLogWriter();const AM={};Th.Roarr.child(AM);const Z0=T0(Th.Roarr.child(AM)),fe=e=>Z0.get().child({namespace:e}),F3e=["trace","debug","info","warn","error","fatal"],B3e={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Hse(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Df=Vs("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=fe("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Hse()))}catch(i){return n({error:i})}}),kM={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},OM=Pt({name:"nodes",initialState:kM,reducers:{nodesChanged:(e,t)=>{e.nodes=qI(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=nie(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=bI(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Ln(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=nY(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Df.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:j3e,edgesChanged:V3e,nodeAdded:z3e,fieldValueChanged:u2,connectionMade:U3e,connectionStarted:G3e,connectionEnded:H3e,shouldShowGraphOverlayChanged:q3e,shouldShowFieldTypeLegendChanged:W3e,shouldShowMinimapPanelChanged:K3e,nodeTemplatesBuilt:dC,nodeEditorReset:RM,imageCollectionFieldValueChanged:X3e,setEditorInstance:Y3e,loadFileNodes:Q3e,loadFileEdges:Z3e,setProgressNodeSize:J3e}=OM.actions,qse=OM.reducer,IM={esrganModelName:"RealESRGAN_x4plus.pth"},MM=Pt({name:"postprocessing",initialState:IM,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:e5e}=MM.actions,Wse=MM.reducer,Kse={positiveStylePrompt:"",negativeStylePrompt:"",shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},NM=Pt({name:"sdxl",initialState:Kse,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:t5e,setNegativeStylePromptSDXL:n5e,setShouldUseSDXLRefiner:Xse,setSDXLImg2ImgDenoisingStrength:r5e,refinerModelChanged:wE,setRefinerSteps:i5e,setRefinerCFGScale:o5e,setRefinerScheduler:s5e,setRefinerAestheticScore:a5e,setRefinerStart:l5e}=NM.actions,Yse=NM.reducer,Ph=ue("app/userInvoked"),Qse={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class zm{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Qse,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xc(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function xE(e){return e==null?"":""+e}function Zse(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function fC(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function CE(e,t,n){const{obj:r,k:i}=fC(e,t,Object);r[i]=n}function Jse(e,t,n,r){const{obj:i,k:o}=fC(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function Um(e,t){const{obj:n,k:r}=fC(e,t);if(n)return n[r]}function eae(e,t,n){const r=Um(e,n);return r!==void 0?r:Um(t,n)}function DM(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):DM(e[r],t[r],n):e[r]=t[r]);return e}function jl(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var tae={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function nae(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>tae[t]):e}const rae=[" ",",","?","!",";"];function iae(e,t,n){t=t||"",n=n||"";const r=rae.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function Gm(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?Gm(l,u,n):void 0}i=i[r[o]]}return i}function Hm(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class TE extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=Um(this.data,a);return l||!s||typeof r!="string"?l:Gm(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),CE(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=Um(this.data,a)||{};i?DM(l,r,o):l={...l,...r},CE(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var LM={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const EE={};class qm extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Zse(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=qi.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!iae(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],v=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof v=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const T=`${w}${o}${x}`;_[x]=this.translate(T,{...n,joinArrays:!1,ns:a}),_[x]===T&&(_[x]=f[x])}f=_}}else if(y&&typeof v=="string"&&m==="[object Array]")f=f.join(v),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=qm.hasDefaultValue(n),T=w?this.pluralResolver.getSuffix(u,n.count,n):"",P=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",E=n[`defaultValue${T}`]||n[`defaultValue${P}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=E),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,M=x&&E!==f&&this.options.updateMissing;if(_||b||M){if(this.logger.log(M?"updateKey":"missingKey",u,l,s,M?E:f),o){const N=this.resolve(s,{...n,keySeparator:!1});N&&N.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let C=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let N=0;N{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,R,L,M,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,R,L,M,n),this.emit("missingKey",N,l,R,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?C.forEach(N=>{this.pluralResolver.getSuffixes(N,n).forEach(R=>{I([N],s+R,n[`defaultValue${R}`]||E)})}):I(C,s,E))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!EE[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(EE[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(v=>{if(this.isValidLookup(r))return;s=v;const y=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,v,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(v,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(c+b),n.ordinal&&b.indexOf(w)===0&&y.push(c+b.replace(w,this.options.pluralSeparator)),h&&y.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;y.push(x),f&&(y.push(x+b),n.ordinal&&b.indexOf(w)===0&&y.push(x+b.replace(w,this.options.pluralSeparator)),h&&y.push(x+_))}}let g;for(;g=y.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(v,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function $b(e){return e.charAt(0).toUpperCase()+e.slice(1)}class PE{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=qi.create("languageUtils")}getScriptPartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=$b(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let oae=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],sae={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const aae=["v1","v2","v3"],lae=["v4"],AE={zero:0,one:1,two:2,few:3,many:4,other:5};function uae(){const e={};return oae.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:sae[t.fc]}})}),e}class cae{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=qi.create("pluralResolver"),(!this.options.compatibilityJSON||lae.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=uae()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(Hm(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>AE[i]-AE[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!aae.includes(this.options.compatibilityJSON)}}function kE(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=eae(e,t,n);return!o&&i&&typeof n=="string"&&(o=Gm(e,n,r),o===void 0&&(o=Gm(t,n,r))),o}class dae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:nae,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?jl(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?jl(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?jl(n.nestingPrefix):n.nestingPrefixEscaped||jl("$t("),this.nestingSuffix=n.nestingSuffix?jl(n.nestingSuffix):n.nestingSuffixEscaped||jl(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const y=kE(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...i,...n,interpolationkey:p}):y}const m=p.split(this.formatSeparator),S=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(kE(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const v=d(t,o,i);s=typeof v=="string"?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=xE(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=xE(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function fae(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function Vl(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(Hm(i),o),t[s]=a),a(r)}}class hae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("formatter"),this.options=t,this.formats={number:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:Vl((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:Vl((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:Vl((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=Vl(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=fae(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function pae(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class gae extends J0{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=qi.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Jse(l.loaded,[o],s),pae(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function OE(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function RE(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Op(){}function mae(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Lf extends J0{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=RE(t),this.services={},this.logger=qi,this.modules={external:[]},mae(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=OE();this.options={...i,...this.options,...RE(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?qi.init(o(this.modules.logger),this.options):qi.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=hae);const d=new PE(this.options);this.store=new TE(this.options.resources,this.options);const f=this.services;f.logger=qi,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new cae(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new dae(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new gae(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Op),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Xc(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xc();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Op),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&LM.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xc();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xc();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xc();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new PE(OE());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Lf(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Lf(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new TE(this.store.data,i),o.services.resourceStore=o.store),o.translator=new qm(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},$M={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},FM=Pt({name:"system",initialState:$M,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(s7,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(l7,t=>{t.sessionId=null}),e.addCase(r7,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(o7,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(c7,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(m7,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(d7,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(p7,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Ph,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(hl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.canceled"),status:"warning"}))}),e.addCase(dC,t=>{t.wasSchemaParsed=!0}),e.addMatcher(IR,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(_ae,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:YX(n.payload.data.error_type)}))})}}),{setIsProcessing:u5e,setShouldConfirmOnDelete:c5e,setCurrentStatus:d5e,setIsCancelable:f5e,setEnableImageDebugging:h5e,addToast:Ft,clearToastQueue:p5e,cancelScheduled:g5e,scheduledCancelAborted:m5e,cancelTypeChanged:y5e,subscribedNodeIdsSet:v5e,consoleLogLevelChanged:b5e,shouldLogToConsoleChanged:S5e,isPersistedChanged:_5e,shouldAntialiasProgressImageChanged:w5e,languageChanged:x5e,progressImageSet:yae,setIsNodesEnabled:C5e,shouldUseNSFWCheckerChanged:vae,shouldUseWatermarkerChanged:bae}=FM.actions,Sae=FM.reducer,_ae=ei(Ux,S7,w7),wae={searchFolder:null,advancedAddScanModel:null},BM=Pt({name:"modelmanager",initialState:wae,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:T5e,setAdvancedAddScanModel:E5e}=BM.actions,xae=BM.reducer,jM={shift:!1},VM=Pt({name:"hotkeys",initialState:jM,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:P5e}=VM.actions,Cae=VM.reducer,Tae=nF(DV);zM=c2=void 0;var Eae=Tae,Pae=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(c){return function(d){return Eae.compose.apply(void 0,n)(c)(d)}}},o=function(){for(var u,c,d=arguments.length,f=Array(d),h=0;h0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,v,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,v)}}};M0.createLogWriter=Gse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=M0;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(nM);Th.ROARR.write=nM.createLogWriter();const AM={};Th.Roarr.child(AM);const Z0=T0(Th.Roarr.child(AM)),fe=e=>Z0.get().child({namespace:e}),F3e=["trace","debug","info","warn","error","fatal"],B3e={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Hse(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Df=Vs("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=fe("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Hse()))}catch(i){return n({error:i})}}),kM={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},OM=Pt({name:"nodes",initialState:kM,reducers:{nodesChanged:(e,t)=>{e.nodes=qI(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=nie(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=bI(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Ln(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=nY(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Df.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:j3e,edgesChanged:V3e,nodeAdded:z3e,fieldValueChanged:u2,connectionMade:U3e,connectionStarted:G3e,connectionEnded:H3e,shouldShowGraphOverlayChanged:q3e,shouldShowFieldTypeLegendChanged:W3e,shouldShowMinimapPanelChanged:K3e,nodeTemplatesBuilt:dC,nodeEditorReset:RM,imageCollectionFieldValueChanged:X3e,setEditorInstance:Y3e,loadFileNodes:Q3e,loadFileEdges:Z3e,setProgressNodeSize:J3e}=OM.actions,qse=OM.reducer,IM={esrganModelName:"RealESRGAN_x4plus.pth"},MM=Pt({name:"postprocessing",initialState:IM,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:e5e}=MM.actions,Wse=MM.reducer,Kse={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},NM=Pt({name:"sdxl",initialState:Kse,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:t5e,setNegativeStylePromptSDXL:n5e,setShouldConcatSDXLStylePrompt:r5e,setShouldUseSDXLRefiner:Xse,setSDXLImg2ImgDenoisingStrength:i5e,refinerModelChanged:wE,setRefinerSteps:o5e,setRefinerCFGScale:s5e,setRefinerScheduler:a5e,setRefinerAestheticScore:l5e,setRefinerStart:u5e}=NM.actions,Yse=NM.reducer,Ph=ue("app/userInvoked"),Qse={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class zm{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Qse,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xc(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function xE(e){return e==null?"":""+e}function Zse(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function fC(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function CE(e,t,n){const{obj:r,k:i}=fC(e,t,Object);r[i]=n}function Jse(e,t,n,r){const{obj:i,k:o}=fC(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function Um(e,t){const{obj:n,k:r}=fC(e,t);if(n)return n[r]}function eae(e,t,n){const r=Um(e,n);return r!==void 0?r:Um(t,n)}function DM(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):DM(e[r],t[r],n):e[r]=t[r]);return e}function jl(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var tae={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function nae(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>tae[t]):e}const rae=[" ",",","?","!",";"];function iae(e,t,n){t=t||"",n=n||"";const r=rae.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function Gm(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?Gm(l,u,n):void 0}i=i[r[o]]}return i}function Hm(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class TE extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=Um(this.data,a);return l||!s||typeof r!="string"?l:Gm(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),CE(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=Um(this.data,a)||{};i?DM(l,r,o):l={...l,...r},CE(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var LM={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const EE={};class qm extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Zse(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=qi.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!iae(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],v=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof v=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const T=`${w}${o}${x}`;_[x]=this.translate(T,{...n,joinArrays:!1,ns:a}),_[x]===T&&(_[x]=f[x])}f=_}}else if(y&&typeof v=="string"&&m==="[object Array]")f=f.join(v),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=qm.hasDefaultValue(n),T=w?this.pluralResolver.getSuffix(u,n.count,n):"",P=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",E=n[`defaultValue${T}`]||n[`defaultValue${P}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=E),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,M=x&&E!==f&&this.options.updateMissing;if(_||b||M){if(this.logger.log(M?"updateKey":"missingKey",u,l,s,M?E:f),o){const N=this.resolve(s,{...n,keySeparator:!1});N&&N.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let C=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let N=0;N{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,R,L,M,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,R,L,M,n),this.emit("missingKey",N,l,R,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?C.forEach(N=>{this.pluralResolver.getSuffixes(N,n).forEach(R=>{I([N],s+R,n[`defaultValue${R}`]||E)})}):I(C,s,E))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!EE[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(EE[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(v=>{if(this.isValidLookup(r))return;s=v;const y=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,v,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(v,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(c+b),n.ordinal&&b.indexOf(w)===0&&y.push(c+b.replace(w,this.options.pluralSeparator)),h&&y.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;y.push(x),f&&(y.push(x+b),n.ordinal&&b.indexOf(w)===0&&y.push(x+b.replace(w,this.options.pluralSeparator)),h&&y.push(x+_))}}let g;for(;g=y.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(v,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function $b(e){return e.charAt(0).toUpperCase()+e.slice(1)}class PE{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=qi.create("languageUtils")}getScriptPartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=$b(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let oae=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],sae={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const aae=["v1","v2","v3"],lae=["v4"],AE={zero:0,one:1,two:2,few:3,many:4,other:5};function uae(){const e={};return oae.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:sae[t.fc]}})}),e}class cae{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=qi.create("pluralResolver"),(!this.options.compatibilityJSON||lae.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=uae()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(Hm(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>AE[i]-AE[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!aae.includes(this.options.compatibilityJSON)}}function kE(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=eae(e,t,n);return!o&&i&&typeof n=="string"&&(o=Gm(e,n,r),o===void 0&&(o=Gm(t,n,r))),o}class dae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:nae,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?jl(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?jl(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?jl(n.nestingPrefix):n.nestingPrefixEscaped||jl("$t("),this.nestingSuffix=n.nestingSuffix?jl(n.nestingSuffix):n.nestingSuffixEscaped||jl(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const y=kE(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...i,...n,interpolationkey:p}):y}const m=p.split(this.formatSeparator),S=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(kE(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const v=d(t,o,i);s=typeof v=="string"?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=xE(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=xE(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function fae(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function Vl(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(Hm(i),o),t[s]=a),a(r)}}class hae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("formatter"),this.options=t,this.formats={number:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:Vl((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:Vl((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:Vl((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=Vl(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=fae(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function pae(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class gae extends J0{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=qi.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Jse(l.loaded,[o],s),pae(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function OE(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function RE(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Op(){}function mae(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Lf extends J0{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=RE(t),this.services={},this.logger=qi,this.modules={external:[]},mae(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=OE();this.options={...i,...this.options,...RE(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?qi.init(o(this.modules.logger),this.options):qi.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=hae);const d=new PE(this.options);this.store=new TE(this.options.resources,this.options);const f=this.services;f.logger=qi,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new cae(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new dae(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new gae(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Op),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Xc(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xc();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Op),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&LM.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xc();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xc();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xc();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new PE(OE());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Lf(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Lf(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new TE(this.store.data,i),o.services.resourceStore=o.store),o.translator=new qm(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},$M={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},FM=Pt({name:"system",initialState:$M,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(s7,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(l7,t=>{t.sessionId=null}),e.addCase(r7,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(o7,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(c7,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(m7,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(d7,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(p7,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Ph,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(hl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.canceled"),status:"warning"}))}),e.addCase(dC,t=>{t.wasSchemaParsed=!0}),e.addMatcher(IR,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(_ae,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:YX(n.payload.data.error_type)}))})}}),{setIsProcessing:c5e,setShouldConfirmOnDelete:d5e,setCurrentStatus:f5e,setIsCancelable:h5e,setEnableImageDebugging:p5e,addToast:Ft,clearToastQueue:g5e,cancelScheduled:m5e,scheduledCancelAborted:y5e,cancelTypeChanged:v5e,subscribedNodeIdsSet:b5e,consoleLogLevelChanged:S5e,shouldLogToConsoleChanged:_5e,isPersistedChanged:w5e,shouldAntialiasProgressImageChanged:x5e,languageChanged:C5e,progressImageSet:yae,setIsNodesEnabled:T5e,shouldUseNSFWCheckerChanged:vae,shouldUseWatermarkerChanged:bae}=FM.actions,Sae=FM.reducer,_ae=ei(Ux,S7,w7),wae={searchFolder:null,advancedAddScanModel:null},BM=Pt({name:"modelmanager",initialState:wae,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:E5e,setAdvancedAddScanModel:P5e}=BM.actions,xae=BM.reducer,jM={shift:!1},VM=Pt({name:"hotkeys",initialState:jM,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:A5e}=VM.actions,Cae=VM.reducer,Tae=nF(DV);zM=c2=void 0;var Eae=Tae,Pae=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(c){return function(d){return Eae.compose.apply(void 0,n)(c)(d)}}},o=function(){for(var u,c,d=arguments.length,f=Array(d),h=0;h=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function GM(e,t){if(e){if(typeof e=="string")return ME(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ME(e,t)}}function ME(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?Vae:zae;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function $E(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function FE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){$E(o,r,i,s,a,"next",l)}function a(l){$E(o,r,i,s,a,"throw",l)}s(void 0)})}}var Gae=function(){var e=FE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield Lae(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=FE(function*(){var p=UM(t.getState(),n);yield Uae(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),pC(p,d)||t.dispatch({type:Rae,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(Mae(f,u)):t.subscribe(Iae(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const Hae=Gae;function $f(e){"@babel/helpers - typeof";return $f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$f(e)}function BE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jb(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=jb({},r));var o=typeof t=="function"?t:pc(t);switch(i.type){case d2:return n.state=o(jb(jb({},n.state),i.payload||{}),{type:d2}),n.state;default:return o(r,i)}}},Yae=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return Hae(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const A5e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],Qae="@@invokeai-",Zae=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],Jae=["pendingControlImages"],ele=["selection","selectedBoardId","galleryView"],tle=["schema","invocationTemplates"],nle=[],rle=[],ile=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],ole=["shouldShowImageDetails"],sle={canvas:Zae,gallery:ele,generation:nle,nodes:tle,postprocessing:rle,system:ile,ui:ole,controlNet:Jae},ale=(e,t)=>{const n=_0(e,sle[t]);return JSON.stringify(n)},lle={canvas:NR,gallery:k7,generation:Wo,nodes:kM,postprocessing:IM,system:$M,config:gR,ui:kR,hotkeys:jM,controlNet:z_},ule=(e,t)=>gX(JSON.parse(e),lle[t]),qM=ue("nodes/textToImageGraphBuilt"),WM=ue("nodes/imageToImageGraphBuilt"),KM=ue("nodes/canvasGraphBuilt"),XM=ue("nodes/nodesGraphBuilt"),cle=ei(qM,WM,KM,XM),dle=e=>{if(cle(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Df.fulfilled.match(e)?{...e,payload:""}:dC.match(e)?{...e,payload:""}:e},fle=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],hle=e=>e,ple=()=>{le({actionCreator:FQ,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(hl({session_id:o}))}}})};ue("app/appStarted");const gle=()=>{le({matcher:he.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==di({board_id:"none",categories:gi}))return;r(),n();const i=e.payload;i.ids.length>0&&t(Rs(i.ids[0]))}})},gC=Hs.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:k5e,useGetAppConfigQuery:O5e}=gC,mle=()=>{le({matcher:gC.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r,nsfw_methods:i,watermarking_methods:o}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(yQ(r[0])),i.includes("nsfw_checker")||n(vae(!1)),o.includes("invisible_watermark")||n(bae(!1))}})},yle=ue("app/appStarted"),vle=()=>{le({actionCreator:yle,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},mC={memoizeOptions:{resultEqualityCheck:S0}},YM=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Ea(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Ea(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},ble=Jn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return YM(e,n)},mC),Sle=()=>{le({matcher:ec.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const c=YM(l,u);c.isInitialImage&&!i&&(t(ER()),i=!0),c.isCanvasImage&&!o&&(t(LR()),o=!0),c.isNodesImage&&!s&&(t(RM()),s=!0),c.isControlNetImage&&!a&&(t(T7()),a=!0)})}})},_le=()=>{le({matcher:ei(U_,Am),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=U_.match(e)?e.payload:o.gallery.selectedBoardId,l=(Am.match(e)?e.payload:o.gallery.galleryView)==="images"?gi:_s,u={board_id:s??"none",categories:l};if(await r(()=>he.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=he.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(Rs(d.ids[0]??null)):n(Rs(null))}else n(Rs(null))}})},wle=ue("canvas/canvasSavedToGallery"),xle=ue("canvas/canvasCopiedToClipboard"),Cle=ue("canvas/canvasDownloadedAsImage"),Tle=ue("canvas/canvasMerged"),Ele=ue("canvas/stagingAreaImageSaved");let QM=null,ZM=null;const R5e=e=>{QM=e},tv=()=>QM,I5e=e=>{ZM=e},Ple=()=>ZM,Ale=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Km=async(e,t)=>await Ale(e.toCanvas(t)),yC=async e=>{const t=tv();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Km(o,a)},kle=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},Ole=()=>{le({actionCreator:xle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}kle(o),t(Ft({title:"Canvas Copied to Clipboard",status:"success"}))}})},Rle=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},Ile=()=>{le({actionCreator:Cle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}Rle(o,"canvas.png"),t(Ft({title:"Canvas Downloaded",status:"success"}))}})},Mle=async()=>{const e=tv();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Km(t,t.getClientRect())},Nle=()=>{le({actionCreator:Tle,effect:async(e,{dispatch:t})=>{const n=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await Mle();if(!r){n.error("Problem getting base layer blob"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=tv();if(!i){n.error("Problem getting canvas base layer"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(he.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(BQ({kind:"image",layer:"base",imageName:a,...o}))}})},Dle=()=>{le({actionCreator:wle,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(he.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Lle=(e,t,n)=>{if(!(tJ.match(e)||bT.match(e)||Hx.match(e)||nJ.match(e)||ST.match(e))||ST.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(bT.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},$le=()=>{le({predicate:Lle,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=fe("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(Gx({controlNetId:o}))}})},pl=ue("system/sessionReadyToInvoke"),JM=e=>(e==null?void 0:e.type)==="image_output",Fle=()=>{le({actionCreator:Gx,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=fe("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!s.controlImage){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(On({graph:a})),[u]=await r(f=>On.fulfilled.match(f)&&f.meta.requestId===l.requestId),c=u.payload.id;t(pl());const[d]=await r(f=>zx.match(f)&&f.payload.data.graph_execution_state_id===c);if(JM(d.payload.data.result)){const{image_name:f}=d.payload.data.result.image,[{payload:h}]=await r(m=>he.endpoints.getImageDTO.matchFulfilled(m)&&m.payload.image_name===f),p=h;i.debug({controlNetId:e.payload,processedControlImage:p},"ControlNet image processed"),t(eJ({controlNetId:o,processedControlImage:p.image_name}))}}})},Ble=()=>{le({matcher:he.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},jle=()=>{le({matcher:he.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},M5e=e=>e.gallery,N5e=Jn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],mC),Vle=Jn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?gi:_s,offset:0,limit:GQ,is_intermediate:!1}},mC),eN=ue("imageDeletion/imageDeletionConfirmed"),zle=()=>{le({actionCreator:eN,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(I7(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=Vle(a),{data:f}=he.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Ss(p,0,m.length-1),v=m[S];t(Rs(v||null))}o.isCanvasImage&&t(LR()),o.isControlNetImage&&t(T7()),o.isInitialImage&&t(ER()),o.isNodesImage&&t(RM());const{requestId:u}=t(he.endpoints.deleteImage.initiate(i));await r(d=>he.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(Hs.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},Ule=()=>{le({matcher:he.endpoints.deleteImage.matchPending,effect:()=>{}})},Gle=()=>{le({matcher:he.endpoints.deleteImage.matchFulfilled,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},Hle=()=>{le({matcher:he.endpoints.deleteImage.matchRejected,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},tN=ue("dnd/dndDropped"),qle=()=>{le({actionCreator:tN,effect:async(e,{dispatch:t})=>{const n=fe("images"),{activeData:r,overData:i}=e.payload;if(n.debug({activeData:r,overData:i},"Image or selection dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO.image_name));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(C0(r.payload.imageDTO));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(G_([r.payload.imageDTO.image_name]));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_NAMES"){t(G_(r.payload.image_names));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(Hx({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t($R(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="SET_MULTI_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:[r.payload.imageDTO]}));return}if(i.actionType==="MOVE_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;if(!s){t(he.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}t(he.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}}})},Wle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},Kle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},Xle=()=>{le({actionCreator:dJ,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=ble(n());if(!s)return;const a=s.isCanvasImage||s.isInitialImage||s.isControlNetImage||s.isNodesImage;if(o||a){t(I7(!0));return}t(eN({imageDTO:r,imageUsage:s}))}})},ga={title:"Image Uploaded",status:"success"},Yle=()=>{le({matcher:he.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=fe("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Ft({...ga,...l}));else{t(he.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=ec.endpoints.listAllBoards.select()(o),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Ft({...ga,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t($R(i)),t(Ft({...ga,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(Hx({controlNetId:l,controlImage:i.image_name})),t(Ft({...ga,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(C0(i)),t(Ft({...ga,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(u2({nodeId:l,fieldName:u,value:i})),t(Ft({...ga,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(G_([i.image_name])),t(Ft({...ga,description:"Added to batch"}));return}}}})},Qle=()=>{le({matcher:he.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=fe("images"),r={arg:{..._0(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Ft({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},Zle=ue("generation/initialImageSelected"),Jle=ue("generation/modelSelected"),eue=()=>{le({actionCreator:Zle,effect:(e,{dispatch:t})=>{if(!e.payload){t(Ft(Ga({title:kd("toast.imageNotLoadedDesc"),status:"error"})));return}t(C0(e.payload)),t(Ft(Ga(kd("toast.sentToImageToImage"))))}})},tue=()=>{le({actionCreator:Jle,effect:(e,{getState:t,dispatch:n})=>{var l;const r=fe("models"),i=t(),o=xf.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Qa(i.lora.loras,(f,h)=>{f.base_model!==a&&(n(N7(h)),u+=1)});const{vae:c}=i.generation;c&&c.base_model!==a&&(n(PR(null)),u+=1);const{controlNets:d}=i.controlNet;Qa(d,(f,h)=>{var p;((p=f.model)==null?void 0:p.base_model)!==a&&(n(C7({controlNetId:h})),u+=1)}),u>0&&n(Ft(Ga({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(ja(s))}})},jE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),VE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),zE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),UE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),GE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),nue=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Yc=e=>{const t=[];return e.forEach(n=>{const r={...Ln(n),id:nue(n)};t.push(r)}),t},xo=Hs.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${F_.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return jE.setAll(jE.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return VE.setAll(VE.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return zE.setAll(zE.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return GE.setAll(GE.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return UE.setAll(UE.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${F_.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Be}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:D5e,useGetControlNetModelsQuery:L5e,useGetLoRAModelsQuery:$5e,useGetTextualInversionModelsQuery:F5e,useGetVaeModelsQuery:B5e,useUpdateMainModelsMutation:j5e,useDeleteMainModelsMutation:V5e,useImportMainModelsMutation:z5e,useAddMainModelsMutation:U5e,useConvertMainModelsMutation:G5e,useMergeMainModelsMutation:H5e,useSyncModelsMutation:q5e,useGetModelsInFolderQuery:W5e,useGetCheckpointConfigsQuery:K5e}=xo,rue=()=>{le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(ja(l.data))}}),le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(wE(null)),n(Xse(!1));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(wE(l.data))}}),le({matcher:xo.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=pQ.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse VAE model");return}n(PR(l.data))}}),le({matcher:xo.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(N7(s))})}}),le({matcher:xo.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>{var u,c;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((c=o==null?void 0:o.model)==null?void 0:c.base_model)})||n(C7({controlNetId:s}))})}}),le({matcher:xo.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{fe("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},ra=e=>JSON.parse(JSON.stringify(e)),h2=e=>!("$ref"in e),iue=e=>!("$ref"in e),X5e=500,oue={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},sue=500,Dt=e=>`var(--invokeai-colors-${e}-${sue})`,Y5e={integer:{color:"red",colorCssVar:Dt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Dt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Dt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Dt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Dt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Dt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Dt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Dt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Dt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Dt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Dt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Dt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Dt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Dt("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Dt("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Dt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Dt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Dt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Dt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Dt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Dt("gray"),title:"Color",description:"A RGBA color."}},Q5e=250,Vb=e=>e.$ref.split("/").slice(-1)[0],aue=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},lue=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},uue=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},cue=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),due=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fue=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),hue=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),pue=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),gue=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),mue=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),yue=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),vue=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bue=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Sue=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_ue=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),wue=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),xue=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Cue=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},HE=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),qE=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Tue=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),nN=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Vb(e.allOf[0]):e.anyOf?r=Vb(e.anyOf[0]):e.oneOf&&(r=Vb(e.oneOf[0]));const i=oue[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Eue=(e,t,n)=>{const r=nN(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return mue({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return yue({schemaObject:e,baseField:i});if(["latents"].includes(r))return vue({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return bue({schemaObject:e,baseField:i});if(["unet"].includes(r))return Sue({schemaObject:e,baseField:i});if(["clip"].includes(r))return _ue({schemaObject:e,baseField:i});if(["vae"].includes(r))return wue({schemaObject:e,baseField:i});if(["control"].includes(r))return xue({schemaObject:e,baseField:i});if(["model"].includes(r))return due({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return fue({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return hue({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return pue({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return gue({schemaObject:e,baseField:i});if(["enum"].includes(r))return Cue({schemaObject:e,baseField:i});if(["integer"].includes(r))return aue({schemaObject:e,baseField:i});if(["number","float"].includes(r))return lue({schemaObject:e,baseField:i});if(["string"].includes(r))return uue({schemaObject:e,baseField:i});if(["boolean"].includes(r))return cue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i});if(["color"].includes(r))return Tue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i})},Pue=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return h2(i)?Lx(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&h2(a)){const u=nN(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Aue=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],kue=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Oue=e=>{var r;return oR((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!kue.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,c;if(iue(o)){const d=o.properties.type.default,f=Aue(d),h=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),p=(a=o.ui)==null?void 0:a.type_hints,m={};if(d==="collect"){const g=o.properties.item;m.item={type:"item",name:"item",description:g.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(d==="iterate"){const g=o.properties.collection;m.collection={type:"array",name:"collection",title:g.title??"",default:[],description:g.description??"",inputRequirement:"always",inputKind:"connection"}}else Lx(o.properties,(g,b,_)=>{if(!f.includes(_)&&h2(b)){const w=Eue(b,_,p);w&&(g[_]=w)}return g},m);const S=o.output;let v;if(d==="iterate"){const g=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;v={item:{name:"item",title:(g==null?void 0:g.title)??"",description:(g==null?void 0:g.description)??"",type:"array"}}}else v=Pue(S,e,p);const y={title:h,type:d,tags:((c=o.ui)==null?void 0:c.tags)??[],description:o.description??"",inputs:m,outputs:v};Object.assign(i,{[d]:y})}return i},{})},Rue=()=>{le({actionCreator:Df.fulfilled,effect:(e,{dispatch:t})=>{const n=fe("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Oue(r);n.debug({nodeTemplates:ra(i)},`Built ${hR(i)} node templates`),t(dC(i))}}),le({actionCreator:Df.rejected,effect:()=>{fe("system").error("Problem dereferencing OpenAPI Schema")}})},Iue=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Mue=new Map(Iue),Nue=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],p2=Symbol(".toJSON was called"),Due=e=>{e[p2]=!0;const t=e.toJSON();return delete e[p2],t},Lue=e=>Mue.get(e)??Error,rN=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&WE(e)){const u=Lue(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[p2]!==!0)return Due(e);const l=u=>rN({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Nue)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:WE(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function vC(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?rN({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function WE(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const $ue=()=>{le({actionCreator:hl.pending,effect:()=>{}})},Fue=()=>{le({actionCreator:hl.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Bue=()=>{le({actionCreator:hl.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem canceling session")}}})},jue=()=>{le({actionCreator:On.pending,effect:()=>{}})},Vue=()=>{le({actionCreator:On.fulfilled,effect:e=>{const t=fe("session"),n=e.payload;t.debug({session:ra(n)},`Session created (${n.id})`)}})},zue=()=>{le({actionCreator:On.rejected,effect:e=>{const t=fe("session");if(e.payload){const{error:n,status:r}=e.payload,i=ra(e.meta.arg);t.error({graph:i,status:r,error:vC(n)},"Problem creating session")}}})},Uue=()=>{le({actionCreator:yh.pending,effect:()=>{}})},Gue=()=>{le({actionCreator:yh.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Hue=()=>{le({actionCreator:yh.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem invoking session")}}})},que=()=>{le({actionCreator:pl,effect:(e,{getState:t,dispatch:n})=>{const r=fe("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(yh({session_id:i})))}})},Wue=()=>{le({actionCreator:n7,effect:(e,{dispatch:t,getState:n})=>{fe("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Df()),t(r7(e.payload)),t(xo.util.invalidateTags([{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be},{type:"LoRAModel",id:Be},{type:"ControlNetModel",id:Be},{type:"VaeModel",id:Be},{type:"TextualInversionModel",id:Be},{type:"ScannedModels",id:Be}])),t(gC.util.invalidateTags(["AppConfig","AppVersion"]))}})},Kue=()=>{le({actionCreator:i7,effect:(e,{dispatch:t})=>{fe("socketio").debug("Disconnected"),t(o7(e.payload))}})},Xue=()=>{le({actionCreator:g7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(m7(e.payload))}})},Yue=()=>{le({actionCreator:h7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Session complete"),t(p7(e.payload))}})},Que=["dataURL_image"],Zue=()=>{le({actionCreator:zx,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("socketio"),{data:i}=e.payload;r.debug({data:ra(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(hl({session_id:o}));const{result:l,node:u,graph_execution_state_id:c}=i;if(JM(l)&&!Que.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(he.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t($Q(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?he.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):he.util.updateQueryData("listImages",{board_id:"none",categories:gi},y=>{const g=y.total,_=Kn.addOne(y,p).total-g;y.total=y.total+_})),t(he.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(U_(m)),t(Am("images"))):m||t(Am("images")),t(Rs(p.image_name)))}t(yae(null))}t(d7(e.payload))}})},Jue=()=>{le({actionCreator:f7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(Ux(e.payload))}})},ece=()=>{le({actionCreator:_7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(w7(e.payload))}})},tce=()=>{le({actionCreator:u7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(c7(e.payload))}})},nce=()=>{le({actionCreator:y7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(ZZ(e.payload))}}),le({actionCreator:v7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(JZ(e.payload))}})},rce=()=>{le({actionCreator:b7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(S7(e.payload))}})},ice=()=>{le({actionCreator:Vx,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Subscribed"),t(s7(e.payload))}})},oce=()=>{le({actionCreator:a7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Unsubscribed"),t(l7(e.payload))}})},sce=()=>{le({actionCreator:Ele,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(he.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(he.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Ft({title:"Image Saved",status:"success"}))}catch(i){t(Ft({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},Z5e=["sd-1","sd-2","sdxl","sdxl-refiner"],ace=["sd-1","sd-2","sdxl"],J5e=["sdxl-refiner"],lce=()=>{le({actionCreator:RR,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=xo.endpoints.getMainModels.select(ace)(t());if(!i){n(ja(null));return}const o=[];Qa(i.entities,u=>{u&&["sd-1","sd-2"].includes(u.base_model)&&o.push(u)});const s=o[0];if(!s){n(ja(null));return}const{base_model:a,model_name:l}=s;n(ja({base_model:a,model_name:l}))}}})},Fe="positive_conditioning",qe="negative_conditioning",dn="text_to_latents",nt="latents_to_image",fu="nsfw_checker",Qc="invisible_watermark",Le="noise",Fi="rand_int",Co="range_of_size",lr="iterate",pt="main_model_loader",Zc="vae_loader",uce="lora_loader",rt="clip_skip",bt="image_to_latents",Kt="latents_to_latents",Qn="resize_image",Mi="inpaint",Rp="control_net_collect",zb="dynamic_prompt",lt="metadata_accumulator",KE="esrgan",en="sdxl_model_loader",is="t2l_sdxl",Ni="l2l_sdxl",zl="sdxl_refiner_model_loader",Ip="sdxl_refiner_positive_conditioning",Mp="sdxl_refiner_negative_conditioning",ma="l2l_sdxl_refiner",bC="text_to_image_graph",cce="sdxl_text_to_image_graph",dce="sxdl_image_to_image_graph",Xm="image_to_image_graph",iN="inpaint_graph",fce=({image_name:e,esrganModelName:t})=>{const n={id:KE,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[KE]:n},edges:[]}},hce=ue("upscale/upscaleRequested"),pce=()=>{le({actionCreator:hce,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=fce({image_name:i,esrganModelName:o});t(On({graph:s})),await r(On.fulfilled.match),t(pl())}})},gce=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},XE=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var SC={exports:{}},nv={},oN={},Pe={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof Ee<"u"?Ee:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Pe);var Rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Pe;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,T=this.m[1]*_+this.m[3]*w,P=this.m[0]*-w+this.m[2]*_,E=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=T,this.m[2]=P,this.m[3]=E,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,T=this.m[2]+this.m[0]*b,P=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=T,this.m[3]=P,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],T=this.m[1]*b.m[2]+this.m[3]*b.m[3],P=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],E=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,T=this.m[0]*b,P=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),E=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],T=this.m[4],P=this.m[5],E=b*x-_*w;let A={x:T,y:P,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=E/$,A.skewX=(b*w+_*x)/E,A.skewY=0}else if(w!=0||x!=0){var M=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/M):-Math.acos(w/M)),A.scaleX=E/M,A.scaleY=M,A.skewX=0,A.skewY=(b*w+_*x)/E}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,T=Number(_[2])/100;let P,E,A;if(x===0)return A=T*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};T<.5?P=T*(1+x):P=T+x-T*x;const $=2*T-P,M=[0,0,0];for(let C=0;C<3;C++)E=w+1/3*-(C-1),E<0&&E++,E>1&&E--,6*E<1?A=$+(P-$)*6*E:2*E<1?A=P:3*E<2?A=$+(P-$)*(2/3-E)*6:A=$,M[C]=A*255;return{r:Math.round(M[0]),g:Math.round(M[1]),b:Math.round(M[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(P=_,E=w,A=(_-x)*(_-x)+(w-T)*(w-T)):(P=g+M*(_-g),E=b+M*(w-b),A=(P-x)*(P-x)+(E-T)*(E-T))}return[P,E,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(T,P){if(!(!_&&P===b.length-1)){var E=b[(P+1)%b.length],A=e.Util._getProjectionToSegment(T.x,T.y,E.x,E.y,g.x,g.y),$=A[0],M=A[1],C=A[2];Cb.length){var P=b;b=g,g=P}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,T=0,P=0,E=0;typeof w=="number"?x=T=P=E=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),T=Math.min(w[1]||0,b/2,_/2),E=Math.min(w[2]||0,b/2,_/2),P=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-T,0),g.arc(b-T,T,T,Math.PI*3/2,0,!1),g.lineTo(b,_-E),g.arc(b-E,_-E,E,0,Math.PI/2,!1),g.lineTo(P,_),g.arc(P,_-P,P,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Rt);var wt={},Te={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.getComponentValidator=de.getBooleanValidator=de.getNumberArrayValidator=de.getFunctionValidator=de.getStringOrGradientValidator=de.getStringValidator=de.getNumberOrAutoValidator=de.getNumberOrArrayOfNumbersValidator=de.getNumberValidator=de.alphaComponent=de.RGBComponent=void 0;const Ko=Pe,Nt=Rt;function Xo(e){return Nt.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nt.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function mce(e){return e>255?255:e<0?0:Math.round(e)}de.RGBComponent=mce;function yce(e){return e>1?1:e<1e-4?1e-4:e}de.alphaComponent=yce;function vce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isNumber(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}de.getNumberValidator=vce;function bce(e){if(Ko.Konva.isUnminified)return function(t,n){let r=Nt.Util._isNumber(t),i=Nt.Util._isArray(t)&&t.length==e;return!r&&!i&&Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}de.getNumberOrArrayOfNumbersValidator=bce;function Sce(){if(Ko.Konva.isUnminified)return function(e,t){var n=Nt.Util._isNumber(e),r=e==="auto";return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}de.getNumberOrAutoValidator=Sce;function _ce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isString(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}de.getStringValidator=_ce;function wce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Nt.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}de.getStringOrGradientValidator=wce;function xce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isFunction(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}de.getFunctionValidator=xce;function Cce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nt.Util._isArray(e)?e.forEach(function(r){Nt.Util._isNumber(r)||Nt.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}de.getNumberArrayValidator=Cce;function Tce(){if(Ko.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}de.getBooleanValidator=Tce;function Ece(e){if(Ko.Konva.isUnminified)return function(t,n){return t==null||Nt.Util.isObject(t)||Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}de.getComponentValidator=Ece;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Rt,n=de;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Te);var _i={},Ro={};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.HitContext=Ro.SceneContext=Ro.Context=void 0;const sN=Rt,Pce=Pe;function Ace(e){var t=[],n=e.length,r=sN.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=kce+u.join(YE)+Oce)):(o+=a.property,t||(o+=Dce+a.val)),o+=Mce;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=$ce&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=QE.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=Ace(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(ov);Object.defineProperty(wt,"__esModule",{value:!0});wt.Node=void 0;const ke=Rt,Ah=Te,Dp=_i,ya=Pe,Br=ov,zt=de;var bg="absoluteOpacity",Lp="allEventListeners",bo="absoluteTransform",ZE="absoluteScale",va="canvas",Hce="Change",qce="children",Wce="konva",g2="listening",JE="mouseenter",e6="mouseleave",t6="set",n6="Shape",Sg=" ",r6="stage",ss="transform",Kce="Stage",m2="visible",Xce=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(Sg);let Yce=1,Se=class y2{constructor(t){this._id=Yce++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===ss||t===bo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===ss||t===bo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(Sg);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(va)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===bo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(va)){const{scene:t,filter:n,hit:r}=this._cache.get(va);ke.Util.releaseCanvas(t,n,r),this._cache.delete(va)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){ke.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new Dp.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new Dp.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new Dp.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(va),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(bg),this._clearSelfAndDescendantCache(ZE),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(va,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(va)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==qce&&(r=t6+ke.Util._capitalize(n),ke.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(g2,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(m2,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Br.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!ya.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==Kce&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(ss),this._clearSelfAndDescendantCache(bo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ke.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(ss);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(ss),this._clearSelfAndDescendantCache(bo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ke.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ke.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ke.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(bg,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ke.Util.isObject(i)&&!ke.Util._isPlainObject(i)&&!ke.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ke.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ke.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():ya.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;Br.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Br.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Br.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ke.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ke.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=y2.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),ya.Konva[r]||(ke.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ya.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Ub.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Ub.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hY.indexOf("pointer")>=0?"pointer":Y.indexOf("touch")>=0?"touch":"mouse",U=Y=>{const B=j(Y);if(B==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(B==="touch")return L.touch;if(B==="mouse")return L.mouse};function G(Y={}){return(Y.clipFunc||Y.clipWidth||Y.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),Y}const W="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class X extends r.Container{constructor(B){super(G(B)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{G(this.attrs)}),this._checkVisibility()}_validateAdd(B){const H=B.getType()==="Layer",Q=B.getType()==="FastLayer";H||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const B=this.visible()?"":"none";this.content.style.display=B}setContainer(B){if(typeof B===c){if(B.charAt(0)==="."){var H=B.slice(1);B=document.getElementsByClassName(H)[0]}else{var Q;B.charAt(0)!=="#"?Q=B:Q=B.slice(1),B=document.getElementById(Q)}if(!B)throw"Can not find container in document with id "+Q}return this._setAttr("container",B),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),B.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var B=this.children,H=B.length,Q;for(Q=0;Q-1&&e.stages.splice(H,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const B=this._pointerPositions[0]||this._changedPointerPositions[0];return B?{x:B.x,y:B.y}:(t.Util.warn(W),null)}_getPointerById(B){return this._pointerPositions.find(H=>H.id===B)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(B){B=B||{},B.x=B.x||0,B.y=B.y||0,B.width=B.width||this.width(),B.height=B.height||this.height();var H=new o.SceneCanvas({width:B.width,height:B.height,pixelRatio:B.pixelRatio||1}),Q=H.getContext()._context,J=this.children;return(B.x||B.y)&&Q.translate(-1*B.x,-1*B.y),J.forEach(function(ne){if(ne.isVisible()){var te=ne._toKonvaCanvas(B);Q.drawImage(te._canvas,B.x,B.y,te.getWidth()/te.getPixelRatio(),te.getHeight()/te.getPixelRatio())}}),H}getIntersection(B){if(!B)return null;var H=this.children,Q=H.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const te=H[ne].getIntersection(B);if(te)return te}return null}_resizeDOM(){var B=this.width(),H=this.height();this.content&&(this.content.style.width=B+d,this.content.style.height=H+d),this.bufferCanvas.setSize(B,H),this.bufferHitCanvas.setSize(B,H),this.children.forEach(Q=>{Q.setSize({width:B,height:H}),Q.draw()})}add(B,...H){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),B.setSize({width:this.width(),height:this.height()}),B.draw(),i.Konva.isBrowser&&this.content.appendChild(B.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(B){return l.hasPointerCapture(B,this)}setPointerCapture(B){l.setPointerCapture(B,this)}releaseCapture(B){l.releaseCapture(B,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([B,H])=>{this.content.addEventListener(B,Q=>{this[H](Q)},{passive:!1})})}_pointerenter(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerenter,{evt:B,target:this,currentTarget:this})}_pointerover(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerover,{evt:B,target:this,currentTarget:this})}_getTargetShape(B){let H=this[B+"targetShape"];return H&&!H.getStage()&&(H=null),H}_pointerleave(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(H.pointerout,{evt:B}),J._fireAndBubble(H.pointerleave,{evt:B}),this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this._fire(H.pointerout,{evt:B,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=!1;this._changedPointerPositions.forEach(ne=>{var te=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(te&&te.isListening()))return;i.Konva.capturePointerEventsEnabled&&te.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=te,te._fireAndBubble(H.pointerdown,{evt:B,pointerId:ne.id}),J=!0;const ve=B.type.indexOf("touch")>=0;te.preventDefault()&&B.cancelable&&ve&&B.preventDefault()}),J||this._fire(H.pointerdown,{evt:B,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(B){const H=U(B.type),Q=j(B.type);if(!H)return;s.DD.isDragging&&s.DD.node.preventDefault()&&B.cancelable&&B.preventDefault(),this.setPointersPositions(B);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let te=!1;var xe=this._getTargetShape(Q);this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve),Ne=ve.id,se={evt:B,pointerId:Ne};var gt=xe!==ce;if(gt&&xe&&(xe._fireAndBubble(H.pointerout,Object.assign({},se),ce),xe._fireAndBubble(H.pointerleave,Object.assign({},se),ce)),ce){if(ne[ce._id])return;ne[ce._id]=!0}ce&&ce.isListening()?(te=!0,gt&&(ce._fireAndBubble(H.pointerover,Object.assign({},se),xe),ce._fireAndBubble(H.pointerenter,Object.assign({},se),xe),this[Q+"targetShape"]=ce),ce._fireAndBubble(H.pointermove,Object.assign({},se))):xe&&(this._fire(H.pointerover,{evt:B,target:this,currentTarget:this,pointerId:Ne}),this[Q+"targetShape"]=null)}),te||this._fire(H.pointermove,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(B){const H=U(B.type),Q=j(B.type);if(!H)return;this.setPointersPositions(B);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var te={};let xe=!1;this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve);if(ce){if(ce.releaseCapture(ve.id),te[ce._id])return;te[ce._id]=!0}const Ne=ve.id,se={evt:B,pointerId:Ne};let gt=!1;i.Konva["_"+Q+"InDblClickWindow"]?(gt=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),ce&&ce.isListening()?(xe=!0,this[Q+"ClickEndShape"]=ce,ce._fireAndBubble(H.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===ce&&(ce._fireAndBubble(H.pointerclick,Object.assign({},se)),gt&&ne&&ne===ce&&ce._fireAndBubble(H.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(H.pointerclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}),gt&&this._fire(H.pointerdblclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}))}),xe||this._fire(H.pointerup,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,B.cancelable&&Q!=="touch"&&B.preventDefault()}_contextmenu(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble($,{evt:B}):this._fire($,{evt:B,target:this,currentTarget:this})}_wheel(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble(N,{evt:B}):this._fire(N,{evt:B,target:this,currentTarget:this})}_pointercancel(B){this.setPointersPositions(B);const H=l.getCapturedShape(B.pointerId)||this.getIntersection(this.getPointerPosition());H&&H._fireAndBubble(_,l.createEvent(B)),l.releaseCapture(B.pointerId)}_lostpointercapture(B){l.releaseCapture(B.pointerId)}setPointersPositions(B){var H=this._getContentPosition(),Q=null,J=null;B=B||window.event,B.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(B.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})}),Array.prototype.forEach.call(B.changedTouches||B.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})})):(Q=(B.clientX-H.left)/H.scaleX,J=(B.clientY-H.top)/H.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}])}_setPointerPosition(B){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(B)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var B=this.content.getBoundingClientRect();return{top:B.top,left:B.left,scaleX:B.width/this.content.clientWidth||1,scaleY:B.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var B=this.container();if(!B)throw"Stage has no container. A container is required.";B.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),B.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(B){B.batchDraw()}),this}}e.Stage=X,X.prototype.nodeType=u,(0,a._registerNode)(X),n.Factory.addGetterSetter(X,"container")})(uN);var kh={},sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Pe,n=Rt,r=Te,i=wt,o=de,s=Pe,a=Tr;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(P){const E=this.attrs.fillRule;E?P.fill(E):P.fill()}function S(P){P.stroke()}function v(P){P.fill()}function y(P){P.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class T extends i.Node{constructor(E){super(E);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var E=p();const A=E.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const M=$.getMatrix(),C=typeof DOMMatrix>"u"?{a:M[0],b:M[1],c:M[2],d:M[3],e:M[4],f:M[5]}:new DOMMatrix(M);A.setTransform(C)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var E=this.fillLinearGradientColorStops();if(E){for(var A=p(),$=this.fillLinearGradientStartPoint(),M=this.fillLinearGradientEndPoint(),C=A.createLinearGradient($.x,$.y,M.x,M.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const E=this.hitStrokeWidth();return E==="auto"?this.hasStroke():this.strokeEnabled()&&!!E}intersects(E){var A=this.getStage(),$=A.bufferHitCanvas,M;return $.getContext().clear(),this.drawHit($,null,!0),M=$.context.getImageData(Math.round(E.x),Math.round(E.y),1,1).data,M[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(E){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const M=E||this.hasFill(),C=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(M&&C&&O)return!0;const I=this.hasShadow(),N=this.shadowForStrokeEnabled();return!!(M&&C&&I&&N)}setStrokeHitEnabled(E){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),E?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var E=this.size();return{x:this._centroid?-E.width/2:0,y:this._centroid?-E.height/2:0,width:E.width,height:E.height}}getClientRect(E={}){const A=E.skipTransform,$=E.relativeTo,M=this.getSelfRect(),O=!E.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=M.width+O,N=M.height+O,R=!E.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,j=I+Math.abs(D),U=N+Math.abs(L),G=R&&this.shadowBlur()||0,W=j+G*2,X=U+G*2,Y={width:W,height:X,x:-(O/2+G)+Math.min(D,0)+M.x,y:-(O/2+G)+Math.min(L,0)+M.y};return A?Y:this._transformedRect(Y,$)}drawScene(E,A){var $=this.getLayer(),M=E||$.getCanvas(),C=M.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),N=this.hasShadow(),R,D,L,j=M.isCache,U=A===this;if(!this.isVisible()&&!U)return this;if(O){C.save();var G=this.getAbsoluteTransform(A).getMatrix();return C.transform(G[0],G[1],G[2],G[3],G[4],G[5]),this._drawCachedSceneCanvas(C),C.restore(),this}if(!I)return this;if(C.save(),this._useBufferCanvas()&&!j){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var W=this.getAbsoluteTransform(A).getMatrix();L.transform(W[0],W[1],W[2],W[3],W[4],W[5]),I.call(this,L,this),L.restore();var X=D.pixelRatio;N&&C._applyShadow(this),C._applyOpacity(this),C._applyGlobalCompositeOperation(this),C.drawImage(D._canvas,0,0,D.width/X,D.height/X)}else{if(C._applyLineJoin(this),!U){var W=this.getAbsoluteTransform(A).getMatrix();C.transform(W[0],W[1],W[2],W[3],W[4],W[5]),C._applyOpacity(this),C._applyGlobalCompositeOperation(this)}N&&C._applyShadow(this),I.call(this,C,this)}return C.restore(),this}drawHit(E,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var M=this.getLayer(),C=E||M.hitCanvas,O=C&&C.getContext(),I=this.hitFunc()||this.sceneFunc(),N=this._getCanvasCache(),R=N&&N.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var j=this.getAbsoluteTransform(A).getMatrix();O.transform(j[0],j[1],j[2],j[3],j[4],j[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(E=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),M=A.hit,C=M.getContext(),O=M.getWidth(),I=M.getHeight(),N,R,D,L,j,U;C.clear(),C.drawImage($._canvas,0,0,O,I);try{for(N=C.getImageData(0,0,O,I),R=N.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),j=0;jE?(R[j]=L.r,R[j+1]=L.g,R[j+2]=L.b,R[j+3]=255):R[j+3]=0;C.putImageData(N,0,0)}catch(G){n.Util.error("Unable to draw hit graph from cached scene canvas. "+G.message)}return this}hasPointerCapture(E){return a.hasPointerCapture(E,this)}setPointerCapture(E){a.setPointerCapture(E,this)}releaseCapture(E){a.releaseCapture(E,this)}}e.Shape=T,T.prototype._fillFunc=m,T.prototype._strokeFunc=S,T.prototype._fillFuncHit=v,T.prototype._strokeFuncHit=y,T.prototype._centroid=!1,T.prototype.nodeType="Shape",(0,s._registerNode)(T),T.prototype.eventListeners={},T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(T,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(T,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(T,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"lineJoin"),r.Factory.addGetterSetter(T,"lineCap"),r.Factory.addGetterSetter(T,"sceneFunc"),r.Factory.addGetterSetter(T,"hitFunc"),r.Factory.addGetterSetter(T,"dash"),r.Factory.addGetterSetter(T,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(T,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(T,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternImage"),r.Factory.addGetterSetter(T,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(T,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(T,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(T,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(T,"fillEnabled",!0),r.Factory.addGetterSetter(T,"strokeEnabled",!0),r.Factory.addGetterSetter(T,"shadowEnabled",!0),r.Factory.addGetterSetter(T,"dashEnabled",!0),r.Factory.addGetterSetter(T,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(T,"fillPriority","color"),r.Factory.addComponentsGetterSetter(T,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(T,"fillPatternRotation",0),r.Factory.addGetterSetter(T,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(T,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(sn);Object.defineProperty(kh,"__esModule",{value:!0});kh.Layer=void 0;const go=Rt,Gb=gl,Ul=wt,wC=Te,i6=_i,tde=de,nde=sn,rde=Pe;var ide="#",ode="beforeDraw",sde="draw",fN=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],ade=fN.length;class vc extends Gb.Container{constructor(t){super(t),this.canvas=new i6.SceneCanvas,this.hitCanvas=new i6.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ode,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Gb.Container.prototype.drawScene.call(this,i,n),this._fire(sde,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Gb.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return go.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}kh.Layer=vc;vc.prototype.nodeType="Layer";(0,rde._registerNode)(vc);wC.Factory.addGetterSetter(vc,"imageSmoothingEnabled",!0);wC.Factory.addGetterSetter(vc,"clearBeforeDraw",!0);wC.Factory.addGetterSetter(vc,"hitGraphEnabled",!0,(0,tde.getBooleanValidator)());var av={};Object.defineProperty(av,"__esModule",{value:!0});av.FastLayer=void 0;const lde=Rt,ude=kh,cde=Pe;class xC extends ude.Layer{constructor(t){super(t),this.listening(!1),lde.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}av.FastLayer=xC;xC.prototype.nodeType="FastLayer";(0,cde._registerNode)(xC);var bc={};Object.defineProperty(bc,"__esModule",{value:!0});bc.Group=void 0;const dde=Rt,fde=gl,hde=Pe;class CC extends fde.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&dde.Util.throw("You may only add groups and shapes to groups.")}}bc.Group=CC;CC.prototype.nodeType="Group";(0,hde._registerNode)(CC);var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0});Sc.Animation=void 0;const Hb=Pe,o6=Rt;var qb=function(){return Hb.glob.performance&&Hb.glob.performance.now?function(){return Hb.glob.performance.now()}:function(){return new Date().getTime()}}();class Gi{constructor(t,n){this.id=Gi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:qb(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,T,P;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(T=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}lv.Arc=Yo;Yo.prototype._centroid=!0;Yo.prototype.className="Arc";Yo.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,gde._registerNode)(Yo);uv.Factory.addGetterSetter(Yo,"innerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"outerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"angle",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"clockwise",!1,(0,cv.getBooleanValidator)());var dv={},Oh={};Object.defineProperty(Oh,"__esModule",{value:!0});Oh.Line=void 0;const fv=Te,mde=sn,pN=de,yde=Pe;function v2(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function a6(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(gN);Object.defineProperty(_c,"__esModule",{value:!0});_c.Path=void 0;const vde=Te,bde=sn,Sde=Pe,Gl=gN;class Jt extends bde.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Jt.parsePathData(this.data()),this.pathLength=Jt.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=Jt.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Jt.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Jt.getPointOnCubicBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Jt.getPointOnQuadraticBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,Jt.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,T,P,E,A,$,M,C,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),N=p.shift();if(l+=I,u+=N,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+N;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,T,l,u);break;case"t":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,T,l,u);break;case"A":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break;case"a":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Jt;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,Gl.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Gl.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(E){return Math.sqrt(E[0]*E[0]+E[1]*E[1])},b=function(E,A){return(E[0]*A[0]+E[1]*A[1])/(g(E)*g(A))},_=function(E,A){return(E[0]*A[1]=1&&(P=0),s===0&&P>0&&(P=P-2*Math.PI),s===1&&P<0&&(P=P+2*Math.PI),[v,y,a,l,w,P,c,s]}}_c.Path=Jt;Jt.prototype.className="Path";Jt.prototype._attrsAffectingSize=["data"];(0,Sde._registerNode)(Jt);vde.Factory.addGetterSetter(Jt,"data");Object.defineProperty(dv,"__esModule",{value:!0});dv.Arrow=void 0;const hv=Te,_de=Oh,mN=de,wde=Pe,l6=_c;class yl extends _de.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=l6.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=l6.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}dv.Arrow=yl;yl.prototype.className="Arrow";(0,wde._registerNode)(yl);hv.Factory.addGetterSetter(yl,"pointerLength",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerWidth",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerAtBeginning",!1);hv.Factory.addGetterSetter(yl,"pointerAtEnding",!0);var pv={};Object.defineProperty(pv,"__esModule",{value:!0});pv.Circle=void 0;const xde=Te,Cde=sn,Tde=de,Ede=Pe;let wc=class extends Cde.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};pv.Circle=wc;wc.prototype._centroid=!0;wc.prototype.className="Circle";wc.prototype._attrsAffectingSize=["radius"];(0,Ede._registerNode)(wc);xde.Factory.addGetterSetter(wc,"radius",0,(0,Tde.getNumberValidator)());var gv={};Object.defineProperty(gv,"__esModule",{value:!0});gv.Ellipse=void 0;const TC=Te,Pde=sn,yN=de,Ade=Pe;class oa extends Pde.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}gv.Ellipse=oa;oa.prototype.className="Ellipse";oa.prototype._centroid=!0;oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,Ade._registerNode)(oa);TC.Factory.addComponentsGetterSetter(oa,"radius",["x","y"]);TC.Factory.addGetterSetter(oa,"radiusX",0,(0,yN.getNumberValidator)());TC.Factory.addGetterSetter(oa,"radiusY",0,(0,yN.getNumberValidator)());var mv={};Object.defineProperty(mv,"__esModule",{value:!0});mv.Image=void 0;const Wb=Rt,vl=Te,kde=sn,Ode=Pe,Rh=de;let ao=class vN extends kde.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Wb.Util.createImageElement();i.onload=function(){var o=new vN({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};mv.Image=ao;ao.prototype.className="Image";(0,Ode._registerNode)(ao);vl.Factory.addGetterSetter(ao,"cornerRadius",0,(0,Rh.getNumberOrArrayOfNumbersValidator)(4));vl.Factory.addGetterSetter(ao,"image");vl.Factory.addComponentsGetterSetter(ao,"crop",["x","y","width","height"]);vl.Factory.addGetterSetter(ao,"cropX",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropY",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropWidth",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropHeight",0,(0,Rh.getNumberValidator)());var oc={};Object.defineProperty(oc,"__esModule",{value:!0});oc.Tag=oc.Label=void 0;const yv=Te,Rde=sn,Ide=bc,EC=de,bN=Pe;var SN=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Mde="Change.konva",Nde="none",b2="up",S2="right",_2="down",w2="left",Dde=SN.length;class PC extends Ide.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bv.RegularPolygon=Sl;Sl.prototype.className="RegularPolygon";Sl.prototype._centroid=!0;Sl.prototype._attrsAffectingSize=["radius"];(0,zde._registerNode)(Sl);_N.Factory.addGetterSetter(Sl,"radius",0,(0,wN.getNumberValidator)());_N.Factory.addGetterSetter(Sl,"sides",0,(0,wN.getNumberValidator)());var Sv={};Object.defineProperty(Sv,"__esModule",{value:!0});Sv.Ring=void 0;const xN=Te,Ude=sn,CN=de,Gde=Pe;var u6=Math.PI*2;class _l extends Ude.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,u6,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),u6,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}Sv.Ring=_l;_l.prototype.className="Ring";_l.prototype._centroid=!0;_l.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,Gde._registerNode)(_l);xN.Factory.addGetterSetter(_l,"innerRadius",0,(0,CN.getNumberValidator)());xN.Factory.addGetterSetter(_l,"outerRadius",0,(0,CN.getNumberValidator)());var _v={};Object.defineProperty(_v,"__esModule",{value:!0});_v.Sprite=void 0;const wl=Te,Hde=sn,qde=Sc,TN=de,Wde=Pe;class lo extends Hde.Shape{constructor(t){super(t),this._updated=!0,this.anim=new qde.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Fp;function Xb(){return Fp||(Fp=x2.Util.createCanvasElement().getContext(efe),Fp)}function dfe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function ffe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function hfe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Ut extends Yde.Shape{constructor(t){super(hfe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=x2.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(tfe,n),this}getWidth(){var t=this.attrs.width===Hl||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Hl||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return x2.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Xb(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+$p+this.fontVariant()+$p+(this.fontSize()+ofe)+cfe(this.fontFamily())}_addTextLine(t){this.align()===Jc&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Xb().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==Hl&&o!==void 0,l=s!==Hl&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==f6,m=h!==lfe&&p,S=this.ellipsis();this.textArr=[],Xb().font=this._getContextFont();for(var v=S?this._getTextWidth(Kb):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,T="",P=0;w>>1,A=b.slice(0,E+1),$=this._getTextWidth(A)+v;$<=c?(w=E+1,T=A,P=$):x=E}if(T){if(m){var M,C=b[T.length],O=C===$p||C===c6;O&&P<=c?M=T.length:M=Math.max(T.lastIndexOf($p),T.lastIndexOf(c6))+1,M>0&&(w=M,T=T.slice(0,w),P=this._getTextWidth(T))}T=T.trimRight(),this._addTextLine(T),r=Math.max(r,P),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Hl&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==f6;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Hl&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Kb)n?null:ed.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=ed.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${NN}`).join(" "),g6="nodesRect",_fe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],wfe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const xfe="ontouchstart"in si.Konva._global;function Cfe(e,t){if(e==="rotater")return"crosshair";t+=Qe.Util.degToRad(wfe[e]||0);var n=(Qe.Util.radToDeg(t)%360+360)%360;return Qe.Util._inRange(n,315+22.5,360)||Qe.Util._inRange(n,0,22.5)?"ns-resize":Qe.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":Qe.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":Qe.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":Qe.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":Qe.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":Qe.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":Qe.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(Qe.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var Qm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],m6=1e8;function Tfe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function DN(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Efe(e,t){const n=Tfe(e);return DN(e,t,n)}function Pfe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Qe.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(_fe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(g6),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(g6,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(si.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return DN(c,-si.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-m6,y:-m6,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new Qe.Transform;r.rotate(-si.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:si.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Qm.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new vfe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:xfe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=si.Konva.getAngle(this.rotation()),o=Cfe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new yfe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*Qe.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let M=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(M-=Math.PI);var f=si.Konva.getAngle(this.rotation());const C=f+M,O=si.Konva.getAngle(this.rotationSnapTolerance()),N=Pfe(this.rotationSnaps(),C,O)-d.rotation,R=Efe(d,N);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Qe.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Qe.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new Qe.Transform;if(s.rotate(si.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:Qe.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new Qe.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new Qe.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new Qe.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(Qe.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Qe.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Qe.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),p6.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return h6.Node.prototype.toObject.call(this)}clone(t){var n=h6.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Cv.Transformer=ze;function Afe(e){return e instanceof Array||Qe.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Qm.indexOf(t)===-1&&Qe.Util.warn("Unknown anchor name: "+t+". Available names are: "+Qm.join(", "))}),e||[]}ze.prototype.className="Transformer";(0,bfe._registerNode)(ze);Ye.Factory.addGetterSetter(ze,"enabledAnchors",Qm,Afe);Ye.Factory.addGetterSetter(ze,"flipEnabled",!0,(0,la.getBooleanValidator)());Ye.Factory.addGetterSetter(ze,"resizeEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorSize",10,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotateEnabled",!0);Ye.Factory.addGetterSetter(ze,"rotationSnaps",[]);Ye.Factory.addGetterSetter(ze,"rotateAnchorOffset",50,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotationSnapTolerance",5,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"anchorStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"anchorFill","white");Ye.Factory.addGetterSetter(ze,"anchorCornerRadius",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"borderStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderDash");Ye.Factory.addGetterSetter(ze,"keepRatio",!0);Ye.Factory.addGetterSetter(ze,"shiftBehavior","default");Ye.Factory.addGetterSetter(ze,"centeredScaling",!1);Ye.Factory.addGetterSetter(ze,"ignoreStroke",!1);Ye.Factory.addGetterSetter(ze,"padding",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"node");Ye.Factory.addGetterSetter(ze,"nodes");Ye.Factory.addGetterSetter(ze,"boundBoxFunc");Ye.Factory.addGetterSetter(ze,"anchorDragBoundFunc");Ye.Factory.addGetterSetter(ze,"anchorStyleFunc");Ye.Factory.addGetterSetter(ze,"shouldOverdrawWholeArea",!1);Ye.Factory.addGetterSetter(ze,"useSingleNodeRotation",!0);Ye.Factory.backCompat(ze,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Tv={};Object.defineProperty(Tv,"__esModule",{value:!0});Tv.Wedge=void 0;const Ev=Te,kfe=sn,Ofe=Pe,LN=de,Rfe=Pe;class Qo extends kfe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Ofe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Tv.Wedge=Qo;Qo.prototype.className="Wedge";Qo.prototype._centroid=!0;Qo.prototype._attrsAffectingSize=["radius"];(0,Rfe._registerNode)(Qo);Ev.Factory.addGetterSetter(Qo,"radius",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"angle",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"clockwise",!1);Ev.Factory.backCompat(Qo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var Pv={};Object.defineProperty(Pv,"__esModule",{value:!0});Pv.Blur=void 0;const y6=Te,Ife=wt,Mfe=de;function v6(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Nfe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Dfe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Lfe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,T,P,E,A,$,M=t+t+1,C=r-1,O=i-1,I=t+1,N=I*(I+1)/2,R=new v6,D=null,L=R,j=null,U=null,G=Nfe[t],W=Dfe[t];for(a=1;a>W,A!==0?(A=255/A,n[c]=(f*G>>W)*A,n[c+1]=(h*G>>W)*A,n[c+2]=(p*G>>W)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=d+((l=o+t+1)>W,A>0?(A=255/A,n[l]=(f*G>>W)*A,n[l+1]=(h*G>>W)*A,n[l+2]=(p*G>>W)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=o+((l=s+I)0&&Lfe(t,n)};Pv.Blur=$fe;y6.Factory.addGetterSetter(Ife.Node,"blurRadius",0,(0,Mfe.getNumberValidator)(),y6.Factory.afterSetFilter);var Av={};Object.defineProperty(Av,"__esModule",{value:!0});Av.Brighten=void 0;const b6=Te,Ffe=wt,Bfe=de,jfe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};kv.Contrast=Ufe;S6.Factory.addGetterSetter(Vfe.Node,"contrast",0,(0,zfe.getNumberValidator)(),S6.Factory.afterSetFilter);var Ov={};Object.defineProperty(Ov,"__esModule",{value:!0});Ov.Emboss=void 0;const Ws=Te,Rv=wt,Gfe=Rt,$N=de,Hfe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Gfe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,T=b>0?b:-b,P=_>0?_:-_;if(T>x&&(w=b),P>x&&(w=_),w*=t,i){var E=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=E>255?255:E<0?0:E,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var M=n-w;M<0?M=0:M>255&&(M=255),a[S]=a[S+1]=a[S+2]=M}}while(--m)}while(--d)};Ov.Emboss=Hfe;Ws.Factory.addGetterSetter(Rv.Node,"embossStrength",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossWhiteLevel",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossDirection","top-left",null,Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossBlend",!1,null,Ws.Factory.afterSetFilter);var Iv={};Object.defineProperty(Iv,"__esModule",{value:!0});Iv.Enhance=void 0;const _6=Te,qfe=wt,Wfe=de;function Zb(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const Kfe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,T;for(_=0;_g?y:g;var b=s,_=o,w,x,T=n.polarRotation||0,P,E;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function uhe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};jv.Pixelate=yhe;T6.Factory.addGetterSetter(ghe.Node,"pixelSize",8,(0,mhe.getNumberValidator)(),T6.Factory.afterSetFilter);var Vv={};Object.defineProperty(Vv,"__esModule",{value:!0});Vv.Posterize=void 0;const E6=Te,vhe=wt,bhe=de,She=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"blue",0,_he.RGBComponent,Jm.Factory.afterSetFilter);var Uv={};Object.defineProperty(Uv,"__esModule",{value:!0});Uv.RGBA=void 0;const Bf=Te,Gv=wt,xhe=de,Che=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"blue",0,xhe.RGBComponent,Bf.Factory.afterSetFilter);Bf.Factory.addGetterSetter(Gv.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var Hv={};Object.defineProperty(Hv,"__esModule",{value:!0});Hv.Sepia=void 0;const The=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};qv.Solarize=Ehe;var Wv={};Object.defineProperty(Wv,"__esModule",{value:!0});Wv.Threshold=void 0;const P6=Te,Phe=wt,Ahe=de,khe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new nd.Stage({container:o,width:r,height:i}),a=new nd.Layer,l=new nd.Layer;return a.add(new nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},gpe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),O6=async(e,t)=>{const n=e.toDataURL(t);return await gpe(n,t.width,t.height)},mpe=async(e,t,n,r,i)=>{const o=fe("canvas"),s=tv(),a=Ple();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await Km(u,d),h=await O6(u,d),p=await ppe(r?e.objects.filter(MR):[],l,i),m=await Km(p,l),S=await O6(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},ype=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=ype(e.data),i=vpe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},Spe=e=>oR(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Kv=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Spe(i),s=t.nodes[lt];if(r&&o.length&&o.length){const a={id:Rp,type:"collect",is_intermediate:!0};t.nodes[Rp]=a,t.edges.push({source:{node_id:Rp,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=_0(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Rp,field:"item"}})})}},xc=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[lt];if(a){rY(t.nodes[Fe],"prompt");const c={id:zb,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[zb]=c,t.nodes[lr]=d,t.edges.push({source:{node_id:zb,field:"prompt_collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Fe,field:"prompt"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"positive_prompt"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:lt,field:"seed"}})}else t.nodes[Le].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Co,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[lr]=d,t.nodes[Co]=c,t.edges.push({source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}}),t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"seed"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else c.start=i}},Mh=(e,t,n)=>{const{loras:r}=e.lora,i=hR(r),o=t.nodes[lt];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===pt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===rt&&["clip"].includes(l.source.field))));let s="",a=0;Qa(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${uce}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:pt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:rt,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Fe,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:qe,field:"clip"}})),s=f,a+=1})},jN=Jn(e=>e.ui,e=>AR[e.activeTab],{memoizeOptions:{equalityCheck:S0}}),n4e=Jn(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:S0}}),r4e=Jn(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:S0}}),xl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[lt];if(!o)return;o.is_intermediate=!0;const a={id:fu,type:"img_nsfw",is_intermediate:i};t.nodes[fu]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:fu,field:"image"}}),s&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:fu,field:"metadata"}})},Nh=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[lt];r||(t.nodes[Zc]={type:"vae_loader",id:Zc,is_intermediate:!0,vae_model:n}),(t.id===bC||t.id===Xm)&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:nt,field:"vae"}}),t.id===Xm&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.id===iN&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:Mi,field:"vae"}}),n&&i&&(i.vae=n)},Cl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[fu],a=t.nodes[lt];if(!o)return;const l={id:Qc,type:"img_watermark",is_intermediate:i};t.nodes[Qc]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:fu,field:"image"},destination:{node_id:Qc,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Qc,field:"image"}}),a&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:Qc,field:"metadata"}})},_pe=(e,t)=>{const n=fe("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f}=e.generation,{width:h,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:m}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const S=f?d:Wo.shouldUseCpuNoise,v={id:Xm,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:r},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:i},[Le]:{type:"noise",id:Le,is_intermediate:!0,use_cpu:S},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:o},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:c},[Kt]:{type:"l2l",id:Kt,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[bt]:{type:"i2l",id:bt,is_intermediate:!0},[nt]:{type:"l2i",id:nt,is_intermediate:!m}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(t.width!==h||t.height!==p){const y={id:Qn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:h,height:p};v.nodes[Qn]=y,v.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),v.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else v.nodes[bt].image={image_name:t.image_name},v.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return v.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:p,width:h,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:S?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:c,strength:u,init_image:t.image_name},Mh(e,v,Kt),Nh(e,v),xc(e,v),Kv(e,v,Kt),e.system.shouldUseNSFWChecker&&xl(e,v),e.system.shouldUseWatermarker&&Cl(e,v),v},wpe=(e,t,n)=>{const r=fe("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:c,shouldFitToWidthHeight:d,iterations:f,seed:h,shouldRandomizeSeed:p,seamSize:m,seamBlur:S,seamSteps:v,seamStrength:y,tileSize:g,infillMethod:b,clipSkip:_}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:w,height:x}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:T,boundingBoxScaleMethod:P,shouldAutoSave:E}=e.canvas,A={id:iN,nodes:{[Mi]:{is_intermediate:!E,type:"inpaint",id:Mi,steps:u,width:w,height:x,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:c,fit:d,mask:{image_name:n.image_name},seam_size:m,seam_blur:S,seam_strength:y,seam_steps:v,tile_size:b==="tile"?g:void 0,infill_method:b,inpaint_width:P!=="none"?T.width:void 0,inpaint_height:P!=="none"?T.height:void 0},[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:i},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:o},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:s},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:_},[Co]:{type:"range_of_size",id:Co,is_intermediate:!0,size:f,step:1},[lr]:{type:"iterate",id:lr,is_intermediate:!0}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Mi,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Mi,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Mi,field:"positive_conditioning"}},{source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Mi,field:"seed"}}]};if(Mh(e,A,Mi),Nh(e,A),p){const $={id:Fi,type:"rand_int"};A.nodes[Fi]=$,A.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else A.nodes[Co].start=h;return e.system.shouldUseNSFWChecker&&xl(e,A,Mi),e.system.shouldUseWatermarker&&Cl(e,A,Mi),A},xpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:c}=e.generation,{width:d,height:f}=e.canvas.boundingBoxDimensions,{shouldAutoSave:h}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const p=c?u:Wo.shouldUseCpuNoise,m={id:bC,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:n},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:r},[Le]:{type:"noise",id:Le,is_intermediate:!0,width:d,height:f,use_cpu:p},[dn]:{type:"t2l",id:dn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:i},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:l},[nt]:{type:"l2i",id:nt,is_intermediate:!h}},edges:[{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Cpe=(e,t,n,r)=>{let i;if(t==="txt2img")i=xpe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=_pe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=wpe(e,n,r)}return i},Tpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:c}=o.canvas,d=await mpe(s,a,l,u,c);if(!d){i.error("Unable to create canvas data");return}const{baseBlob:f,baseImageData:h,maskBlob:p,maskImageData:m}=d,S=bpe(h,m);if(o.system.enableImageDebugging){const x=await XE(f),T=await XE(p);gce([{base64:T,caption:"mask b64"},{base64:x,caption:"image b64"}])}i.debug(`Generation mode: ${S}`);let v,y;["img2img","inpaint","outpaint"].includes(S)&&(v=await n(he.endpoints.uploadImage.initiate({file:new File([f],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(S)&&(y=await n(he.endpoints.uploadImage.initiate({file:new File([p],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const g=Cpe(o,S,v,y);i.debug({graph:ra(g)},"Canvas graph built"),n(KM(g));const{requestId:b}=n(On({graph:g})),[_]=await r(x=>On.fulfilled.match(x)&&x.meta.requestId===b),w=_.payload.id;["img2img","inpaint"].includes(S)&&v&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:v,session_id:w})),["inpaint"].includes(S)&&y&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:y,session_id:w})),o.canvas.layerState.stagingArea.boundingBox||n(jQ({sessionId:w,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(VQ(w)),n(pl())}})},Epe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:c,width:d,height:f,clipSkip:h,shouldUseCpuNoise:p,shouldUseNoiseSettings:m,vaePrecision:S}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=m?p:Wo.shouldUseCpuNoise,y={id:Xm,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:h},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,use_cpu:v},[nt]:{type:"l2i",id:nt,fp32:S==="fp32"},[Kt]:{type:"l2l",id:Kt,cfg_scale:o,scheduler:s,steps:a,strength:u},[bt]:{type:"i2l",id:bt,fp32:S==="fp32"}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(c&&(l.width!==d||l.height!==f)){const g={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};y.nodes[Qn]=g,y.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),y.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else y.nodes[bt].image={image_name:l.imageName},y.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return y.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:v?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:h,strength:u,init_image:l.imageName},Mh(e,y,Kt),Nh(e,y),xc(e,y),Kv(e,y,Kt),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},VN=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:c,refinerCFGScale:d,refinerStart:f}=e.sdxl;if(!o)return;const h=t.nodes[lt];h&&(h.refiner_model=o,h.refiner_aesthetic_store=s,h.refiner_cfg_scale=d,h.refiner_scheduler=c,h.refiner_start=f,h.refiner_steps=u),t.edges=t.edges.filter(p=>!(p.source.node_id===n&&["latents"].includes(p.source.field))),t.edges=t.edges.filter(p=>!(p.source.node_id===en&&["vae"].includes(p.source.field))),n===Ni&&t.edges.push({source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.nodes[zl]={type:"sdxl_refiner_model_loader",id:zl,model:o},t.nodes[Ip]={type:"sdxl_refiner_compel_prompt",id:Ip,style:`${r} ${a}`,aesthetic_score:s},t.nodes[Mp]={type:"sdxl_refiner_compel_prompt",id:Mp,style:`${i} ${l}`,aesthetic_score:s},t.nodes[ma]={type:"l2l_sdxl",id:ma,cfg_scale:d,steps:u/(1-Math.min(f,.99)),scheduler:c,denoising_start:f,denoising_end:1},t.edges.push({source:{node_id:zl,field:"unet"},destination:{node_id:ma,field:"unet"}},{source:{node_id:zl,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Ip,field:"clip2"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Mp,field:"clip2"}},{source:{node_id:Ip,field:"conditioning"},destination:{node_id:ma,field:"positive_conditioning"}},{source:{node_id:Mp,field:"conditioning"},destination:{node_id:ma,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:ma,field:"latents"}},{source:{node_id:ma,field:"latents"},destination:{node_id:nt,field:"latents"}})},Ppe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p,vaePrecision:m}=e.generation,{positiveStylePrompt:S,negativeStylePrompt:v,shouldUseSDXLRefiner:y,refinerStart:g,sdxlImg2ImgDenoisingStrength:b}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=p?h:Wo.shouldUseCpuNoise,w={id:dce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:S},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:v},[Le]:{type:"noise",id:Le,use_cpu:_},[nt]:{type:"l2i",id:nt,fp32:m==="fp32"},[Ni]:{type:"l2l_sdxl",id:Ni,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(g,1-b):1-b,denoising_end:y?g:1},[bt]:{type:"i2l",id:bt,fp32:m==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:Ni,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Ni,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Ni,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Ni,field:"noise"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Ni,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Ni,field:"negative_conditioning"}}]};if(u&&(l.width!==c||l.height!==d)){const x={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:c,height:d};w.nodes[Qn]=x,w.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),w.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),w.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else w.nodes[bt].image={image_name:l.imageName},w.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),w.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return w.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:d,width:c,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:b,init_image:l.imageName,positive_style_prompt:S,negative_style_prompt:v},w.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),y&&VN(e,w,Ni),xc(e,w),e.system.shouldUseNSFWChecker&&xl(e,w),e.system.shouldUseWatermarker&&Cl(e,w),w},Ape=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=Ppe(o):a=Epe(o),n(WM(a)),i.debug({graph:ra(a)},"Image to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})};let jp;const kpe=new Uint8Array(16);function Ope(){if(!jp&&(jp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!jp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return jp(kpe)}const Cn=[];for(let e=0;e<256;++e)Cn.push((e+256).toString(16).slice(1));function Rpe(e,t=0){return(Cn[e[t+0]]+Cn[e[t+1]]+Cn[e[t+2]]+Cn[e[t+3]]+"-"+Cn[e[t+4]]+Cn[e[t+5]]+"-"+Cn[e[t+6]]+Cn[e[t+7]]+"-"+Cn[e[t+8]]+Cn[e[t+9]]+"-"+Cn[e[t+10]]+Cn[e[t+11]]+Cn[e[t+12]]+Cn[e[t+13]]+Cn[e[t+14]]+Cn[e[t+15]]).toLowerCase()}const Ipe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),R6={randomUUID:Ipe};function Mpe(e,t,n){if(R6.randomUUID&&!t&&!e)return R6.randomUUID();e=e||{};const r=e.random||(e.rng||Ope)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Rpe(r)}const Npe=e=>{if(e.type==="color"&&e.value){const t=Ln(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},Dpe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:c}=l,{type:d,inputs:f}=c,h=Lx(f,(m,S,v)=>{const y=Npe(S);return m[v]=y,m},{}),p={type:d,id:u,...h};return Object.assign(a,{[u]:p}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:c,sourceHandle:d,targetHandle:f}=l;return a.push({source:{node_id:u,field:d},destination:{node_id:c,field:f}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=_0(l,u)}),{id:Mpe(),nodes:i,edges:o}},Lpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=Dpe(o);n(XM(s)),i.debug({graph:ra(s)},"Nodes graph built"),n(On({graph:s})),await r(On.fulfilled.match),n(pl())}})},$pe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,{positiveStylePrompt:p,negativeStylePrompt:m,shouldUseSDXLRefiner:S,refinerStart:v}=e.sdxl,y=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const g={id:cce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:p},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:m},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:y},[is]:{type:"t2l_sdxl",id:is,cfg_scale:o,scheduler:s,steps:a,denoising_end:S?v:1},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:is,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:is,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:is,field:"negative_conditioning"}},{source:{node_id:Le,field:"noise"},destination:{node_id:is,field:"noise"}},{source:{node_id:is,field:"latents"},destination:{node_id:nt,field:"latents"}}]};return g.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c,positive_style_prompt:p,negative_style_prompt:m},g.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),S&&VN(e,g,is),xc(e,g),e.system.shouldUseNSFWChecker&&xl(e,g),e.system.shouldUseWatermarker&&Cl(e,g),g},Fpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,p=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m={id:bC,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:c},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:p},[dn]:{type:"t2l",id:dn,cfg_scale:o,scheduler:s,steps:a},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Bpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=$pe(o):a=Fpe(o),n(qM(a)),i.debug({graph:ra(a)},"Text to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})},zN=Wk(),le=zN.startListening;Yle();Qle();eue();zle();Ule();Gle();Hle();Sle();Xle();Tpe();Lpe();Bpe();Ape();que();Dle();Ile();Ole();Nle();sce();ple();Xue();Yue();Zue();Jue();tce();Wue();Kue();ice();oce();nce();rce();ece();jue();Vue();zue();Uue();Gue();Hue();$ue();Fue();Bue();Fle();$le();Ble();jle();Wle();Kle();_le();Rue();qle();tue();vle();rue();mle();gle();pce();lce();const jpe={canvas:zQ,gallery:lJ,generation:SQ,nodes:qse,postprocessing:Wse,system:Sae,config:oY,ui:wQ,hotkeys:Cae,controlNet:rJ,boards:aJ,dynamicPrompts:oJ,imageDeletion:fJ,lora:pJ,modelmanager:xae,sdxl:Yse,[Hs.reducerPath]:Hs.reducer},Vpe=pc(jpe),zpe=Xae(Vpe),Upe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],Gpe=Pk({reducer:zpe,enhancers:e=>e.concat(Yae(window.localStorage,Upe,{persistDebounce:300,serialize:ale,unserialize:ule,prefix:Qae})).concat(Xk()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hs.middleware).concat(Aae).prepend(zN.middleware),devTools:{actionSanitizer:dle,stateSanitizer:hle,trace:!0,predicate:(e,t)=>!fle.includes(t.type)}}),i4e=e=>e;function Hpe(e){if(e.sheet)return e.sheet;for(var t=0;t0?Pn(Cc,--Sr):0,lc--,Xt===10&&(lc=1,Yv--),Xt}function Ar(){return Xt=Sr2||Vf(Xt)>3?"":" "}function ige(e,t){for(;--t&&Ar()&&!(Xt<48||Xt>102||Xt>57&&Xt<65||Xt>70&&Xt<97););return Dh(e,_g()+(t<6&&Zi()==32&&Ar()==32))}function T2(e){for(;Ar();)switch(Xt){case e:return Sr;case 34:case 39:e!==34&&e!==39&&T2(Xt);break;case 40:e===41&&T2(e);break;case 92:Ar();break}return Sr}function oge(e,t){for(;Ar()&&e+Xt!==47+10;)if(e+Xt===42+42&&Zi()===47)break;return"/*"+Dh(t,Sr-1)+"*"+Xv(e===47?e:Ar())}function sge(e){for(;!Vf(Zi());)Ar();return Dh(e,Sr)}function age(e){return KN(xg("",null,null,null,[""],e=WN(e),0,[0],e))}function xg(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=Ar()){case 40:if(p!=108&&Pn(x,d-1)==58){C2(x+=He(wg(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=wg(y);break;case 9:case 10:case 13:case 32:x+=rge(p);break;case 92:x+=ige(_g()-1,7);continue;case 47:switch(Zi()){case 42:case 47:Vp(lge(oge(Ar(),_g()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=Bi(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=He(x,/\f/g,"")),h>0&&Bi(x)-d&&Vp(h>32?M6(x+";",r,n,d-1):M6(He(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(Vp(w=I6(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)xg(x,t,w,w,b,o,d,a,_);else switch(f===99&&Pn(x,3)===110?100:f){case 100:case 108:case 109:case 115:xg(e,w,w,r&&Vp(I6(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:xg(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+Bi(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&nge()==125)continue}switch(x+=Xv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(Bi(x)-1)*v,v=1;break;case 64:Zi()===45&&(x+=wg(Ar())),f=Zi(),c=d=Bi(g=x+=sge(_g())),y++;break;case 45:p===45&&Bi(x)==2&&(m=0)}}return o}function I6(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=$C(f),p=0,m=0,S=0;p0?f[v]+" "+y:He(y,/&\f/g,f[v])))&&(l[S++]=g);return Qv(e,t,n,i===0?DC:a,l,u,c)}function lge(e,t,n){return Qv(e,t,n,UN,Xv(tge()),jf(e,2,-2),0)}function M6(e,t,n,r){return Qv(e,t,n,LC,jf(e,0,r),jf(e,r+1,-1),r)}function Lu(e,t){for(var n="",r=$C(e),i=0;i6)switch(Pn(e,t+1)){case 109:if(Pn(e,t+4)!==45)break;case 102:return He(e,/(.+:)(.+)-([^]+)/,"$1"+Ge+"$2-$3$1"+ey+(Pn(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~C2(e,"stretch")?YN(He(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Pn(e,t+1)!==115)break;case 6444:switch(Pn(e,Bi(e)-3-(~C2(e,"!important")&&10))){case 107:return He(e,":",":"+Ge)+e;case 101:return He(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ge+(Pn(e,14)===45?"inline-":"")+"box$3$1"+Ge+"$2$3$1"+Dn+"$2box$3")+e}break;case 5936:switch(Pn(e,t+11)){case 114:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Ge+e+Dn+e+e}return e}var yge=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case LC:t.return=YN(t.value,t.length);break;case GN:return Lu([rd(t,{value:He(t.value,"@","@"+Ge)})],i);case DC:if(t.length)return ege(t.props,function(o){switch(Jpe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Lu([rd(t,{props:[He(o,/:(read-\w+)/,":"+ey+"$1")]})],i);case"::placeholder":return Lu([rd(t,{props:[He(o,/:(plac\w+)/,":"+Ge+"input-$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,":"+ey+"$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,Dn+"input-$1")]})],i)}return""})}},vge=[yge],bge=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||vge,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var xge={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Cge=/[A-Z]|^ms/g,Tge=/_EMO_([^_]+?)_([^]*?)_EMO_/g,JN=function(t){return t.charCodeAt(1)===45},L6=function(t){return t!=null&&typeof t!="boolean"},Jb=XN(function(e){return JN(e)?e:e.replace(Cge,"-$&").toLowerCase()}),$6=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Tge,function(r,i,o){return ji={name:i,styles:o,next:ji},i})}return xge[t]!==1&&!JN(t)&&typeof n=="number"&&n!==0?n+"px":n};function zf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return ji={name:n.name,styles:n.styles,next:ji},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ji={name:r.name,styles:r.styles,next:ji},r=r.next;var i=n.styles+";";return i}return Ege(e,t,n)}case"function":{if(e!==void 0){var o=ji,s=n(e);return ji=o,zf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function Ege(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var iD=k.createContext({});iD.displayName="ColorModeContext";function BC(){const e=k.useContext(iD);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function a4e(e,t){const{colorMode:n}=BC();return n==="dark"?t:e}function Nge(){const e=BC(),t=rD();return{...e,theme:t}}function Dge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function Lge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function l4e(e,t,n){const r=rD();return $ge(e,t,n)(r)}function $ge(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return Dge(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return Lge(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var oD=(...e)=>e.filter(Boolean).join(" ");function Fge(){return!1}function Io(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var u4e=e=>{const{condition:t,message:n}=e;t&&Fge()&&console.warn(n)};function Na(e,...t){return Bge(e)?e(...t):e}var Bge=e=>typeof e=="function",c4e=e=>e?"":void 0,d4e=e=>e?!0:void 0;function f4e(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function h4e(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var ty={exports:{}};ty.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",T="[object WeakMap]",P="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",M="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",N="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,j=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,G={};G[A]=G[$]=G[M]=G[C]=G[O]=G[I]=G[N]=G[R]=G[D]=!0,G[a]=G[l]=G[P]=G[c]=G[E]=G[d]=G[f]=G[h]=G[m]=G[S]=G[y]=G[b]=G[_]=G[w]=G[T]=!1;var W=typeof Ee=="object"&&Ee&&Ee.Object===Object&&Ee,X=typeof self=="object"&&self&&self.Object===Object&&self,Y=W||X||Function("return this")(),B=t&&!t.nodeType&&t,H=B&&!0&&e&&!e.nodeType&&e,Q=H&&H.exports===B,J=Q&&W.process,ne=function(){try{var F=H&&H.require&&H.require("util").types;return F||J&&J.binding&&J.binding("util")}catch{}}(),te=ne&&ne.isTypedArray;function xe(F,V,q){switch(q.length){case 0:return F.call(V);case 1:return F.call(V,q[0]);case 2:return F.call(V,q[0],q[1]);case 3:return F.call(V,q[0],q[1],q[2])}return F.apply(V,q)}function ve(F,V){for(var q=-1,ie=Array(F);++q-1}function fo(F,V){var q=this.__data__,ie=kl(q,F);return ie<0?(++this.size,q.push([F,V])):q[ie][1]=V,this}wn.prototype.clear=co,wn.prototype.delete=Zo,wn.prototype.get=Jo,wn.prototype.has=Al,wn.prototype.set=fo;function qn(F){var V=-1,q=F==null?0:F.length;for(this.clear();++V1?q[De-1]:void 0,mt=De>2?q[2]:void 0;for(tt=F.length>3&&typeof tt=="function"?(De--,tt):void 0,mt&&V$(q[0],q[1],mt)&&(tt=De<3?void 0:tt,De=1),V=Object(V);++ie-1&&F%1==0&&F0){if(++V>=i)return arguments[0]}else V=0;return F.apply(void 0,arguments)}}function X$(F){if(F!=null){try{return Je.call(F)}catch{}try{return F+""}catch{}}return""}function Kh(F,V){return F===V||F!==F&&V!==V}var P1=qh(function(){return arguments}())?qh:function(F){return Oc(F)&&Gt.call(F,"callee")&&!ri.call(F,"callee")},A1=Array.isArray;function k1(F){return F!=null&&k3(F.length)&&!O1(F)}function Y$(F){return Oc(F)&&k1(F)}var A3=ca||tF;function O1(F){if(!ha(F))return!1;var V=Rl(F);return V==h||V==p||V==u||V==g}function k3(F){return typeof F=="number"&&F>-1&&F%1==0&&F<=s}function ha(F){var V=typeof F;return F!=null&&(V=="object"||V=="function")}function Oc(F){return F!=null&&typeof F=="object"}function Q$(F){if(!Oc(F)||Rl(F)!=y)return!1;var V=wr(F);if(V===null)return!0;var q=Gt.call(V,"constructor")&&V.constructor;return typeof q=="function"&&q instanceof q&&Je.call(q)==Lr}var O3=te?ce(te):kc;function Z$(F){return L$(F,R3(F))}function R3(F){return k1(F)?_1(F,!0):A$(F)}var J$=$$(function(F,V,q,ie){T3(F,V,q,ie)});function eF(F){return function(){return F}}function I3(F){return F}function tF(){return!1}e.exports=J$})(ty,ty.exports);var jge=ty.exports;const Wi=al(jge);var Vge=e=>/!(important)?$/.test(e),j6=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,zge=(e,t)=>n=>{const r=String(t),i=Vge(r),o=j6(r),s=e?`${e}.${o}`:o;let a=Io(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=j6(a),i?`${a} !important`:a};function jC(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=zge(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var zp=(...e)=>t=>e.reduce((n,r)=>r(n),t);function jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=jC({scale:e,transform:t}),r}}var Uge=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function Gge(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Uge(t),transform:n?jC({scale:n,compose:r}):r}}var sD=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Hge(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...sD].join(" ")}function qge(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...sD].join(" ")}var Wge={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Kge={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function Xge(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Yge={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},E2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Qge=new Set(Object.values(E2)),P2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Zge=e=>e.trim();function Jge(e,t){if(e==null||P2.has(e))return e;if(!(A2(e)||P2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(Zge).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in E2?E2[l]:l;u.unshift(c);const d=u.map(f=>{if(Qge.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=A2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var A2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),eme=(e,t)=>Jge(e,t??{});function tme(e){return/^var\(--.+\)$/.test(e)}var nme=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Ii=e=>t=>`${e}(${t})`,je={filter(e){return e!=="auto"?e:Wge},backdropFilter(e){return e!=="auto"?e:Kge},ring(e){return Xge(je.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Hge():e==="auto-gpu"?qge():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=nme(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(tme(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:eme,blur:Ii("blur"),opacity:Ii("opacity"),brightness:Ii("brightness"),contrast:Ii("contrast"),dropShadow:Ii("drop-shadow"),grayscale:Ii("grayscale"),hueRotate:Ii("hue-rotate"),invert:Ii("invert"),saturate:Ii("saturate"),sepia:Ii("sepia"),bgImage(e){return e==null||A2(e)||P2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=Yge[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},z={borderWidths:jr("borderWidths"),borderStyles:jr("borderStyles"),colors:jr("colors"),borders:jr("borders"),gradients:jr("gradients",je.gradient),radii:jr("radii",je.px),space:jr("space",zp(je.vh,je.px)),spaceT:jr("space",zp(je.vh,je.px)),degreeT(e){return{property:e,transform:je.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:jC({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:jr("sizes",zp(je.vh,je.px)),sizesT:jr("sizes",zp(je.vh,je.fraction)),shadows:jr("shadows"),logical:Gge,blur:jr("blur",je.blur)},Cg={background:z.colors("background"),backgroundColor:z.colors("backgroundColor"),backgroundImage:z.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:je.bgClip},bgSize:z.prop("backgroundSize"),bgPosition:z.prop("backgroundPosition"),bg:z.colors("background"),bgColor:z.colors("backgroundColor"),bgPos:z.prop("backgroundPosition"),bgRepeat:z.prop("backgroundRepeat"),bgAttachment:z.prop("backgroundAttachment"),bgGradient:z.gradients("backgroundImage"),bgClip:{transform:je.bgClip}};Object.assign(Cg,{bgImage:Cg.backgroundImage,bgImg:Cg.backgroundImage});var Ue={border:z.borders("border"),borderWidth:z.borderWidths("borderWidth"),borderStyle:z.borderStyles("borderStyle"),borderColor:z.colors("borderColor"),borderRadius:z.radii("borderRadius"),borderTop:z.borders("borderTop"),borderBlockStart:z.borders("borderBlockStart"),borderTopLeftRadius:z.radii("borderTopLeftRadius"),borderStartStartRadius:z.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:z.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:z.radii("borderTopRightRadius"),borderStartEndRadius:z.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:z.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:z.borders("borderRight"),borderInlineEnd:z.borders("borderInlineEnd"),borderBottom:z.borders("borderBottom"),borderBlockEnd:z.borders("borderBlockEnd"),borderBottomLeftRadius:z.radii("borderBottomLeftRadius"),borderBottomRightRadius:z.radii("borderBottomRightRadius"),borderLeft:z.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:z.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:z.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:z.borders(["borderLeft","borderRight"]),borderInline:z.borders("borderInline"),borderY:z.borders(["borderTop","borderBottom"]),borderBlock:z.borders("borderBlock"),borderTopWidth:z.borderWidths("borderTopWidth"),borderBlockStartWidth:z.borderWidths("borderBlockStartWidth"),borderTopColor:z.colors("borderTopColor"),borderBlockStartColor:z.colors("borderBlockStartColor"),borderTopStyle:z.borderStyles("borderTopStyle"),borderBlockStartStyle:z.borderStyles("borderBlockStartStyle"),borderBottomWidth:z.borderWidths("borderBottomWidth"),borderBlockEndWidth:z.borderWidths("borderBlockEndWidth"),borderBottomColor:z.colors("borderBottomColor"),borderBlockEndColor:z.colors("borderBlockEndColor"),borderBottomStyle:z.borderStyles("borderBottomStyle"),borderBlockEndStyle:z.borderStyles("borderBlockEndStyle"),borderLeftWidth:z.borderWidths("borderLeftWidth"),borderInlineStartWidth:z.borderWidths("borderInlineStartWidth"),borderLeftColor:z.colors("borderLeftColor"),borderInlineStartColor:z.colors("borderInlineStartColor"),borderLeftStyle:z.borderStyles("borderLeftStyle"),borderInlineStartStyle:z.borderStyles("borderInlineStartStyle"),borderRightWidth:z.borderWidths("borderRightWidth"),borderInlineEndWidth:z.borderWidths("borderInlineEndWidth"),borderRightColor:z.colors("borderRightColor"),borderInlineEndColor:z.colors("borderInlineEndColor"),borderRightStyle:z.borderStyles("borderRightStyle"),borderInlineEndStyle:z.borderStyles("borderInlineEndStyle"),borderTopRadius:z.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:z.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:z.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:z.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Ue,{rounded:Ue.borderRadius,roundedTop:Ue.borderTopRadius,roundedTopLeft:Ue.borderTopLeftRadius,roundedTopRight:Ue.borderTopRightRadius,roundedTopStart:Ue.borderStartStartRadius,roundedTopEnd:Ue.borderStartEndRadius,roundedBottom:Ue.borderBottomRadius,roundedBottomLeft:Ue.borderBottomLeftRadius,roundedBottomRight:Ue.borderBottomRightRadius,roundedBottomStart:Ue.borderEndStartRadius,roundedBottomEnd:Ue.borderEndEndRadius,roundedLeft:Ue.borderLeftRadius,roundedRight:Ue.borderRightRadius,roundedStart:Ue.borderInlineStartRadius,roundedEnd:Ue.borderInlineEndRadius,borderStart:Ue.borderInlineStart,borderEnd:Ue.borderInlineEnd,borderTopStartRadius:Ue.borderStartStartRadius,borderTopEndRadius:Ue.borderStartEndRadius,borderBottomStartRadius:Ue.borderEndStartRadius,borderBottomEndRadius:Ue.borderEndEndRadius,borderStartRadius:Ue.borderInlineStartRadius,borderEndRadius:Ue.borderInlineEndRadius,borderStartWidth:Ue.borderInlineStartWidth,borderEndWidth:Ue.borderInlineEndWidth,borderStartColor:Ue.borderInlineStartColor,borderEndColor:Ue.borderInlineEndColor,borderStartStyle:Ue.borderInlineStartStyle,borderEndStyle:Ue.borderInlineEndStyle});var rme={color:z.colors("color"),textColor:z.colors("color"),fill:z.colors("fill"),stroke:z.colors("stroke")},k2={boxShadow:z.shadows("boxShadow"),mixBlendMode:!0,blendMode:z.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:z.prop("backgroundBlendMode"),opacity:!0};Object.assign(k2,{shadow:k2.boxShadow});var ime={filter:{transform:je.filter},blur:z.blur("--chakra-blur"),brightness:z.propT("--chakra-brightness",je.brightness),contrast:z.propT("--chakra-contrast",je.contrast),hueRotate:z.degreeT("--chakra-hue-rotate"),invert:z.propT("--chakra-invert",je.invert),saturate:z.propT("--chakra-saturate",je.saturate),dropShadow:z.propT("--chakra-drop-shadow",je.dropShadow),backdropFilter:{transform:je.backdropFilter},backdropBlur:z.blur("--chakra-backdrop-blur"),backdropBrightness:z.propT("--chakra-backdrop-brightness",je.brightness),backdropContrast:z.propT("--chakra-backdrop-contrast",je.contrast),backdropHueRotate:z.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:z.propT("--chakra-backdrop-invert",je.invert),backdropSaturate:z.propT("--chakra-backdrop-saturate",je.saturate)},ny={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:je.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:z.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:z.space("gap"),rowGap:z.space("rowGap"),columnGap:z.space("columnGap")};Object.assign(ny,{flexDir:ny.flexDirection});var aD={gridGap:z.space("gridGap"),gridColumnGap:z.space("gridColumnGap"),gridRowGap:z.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},ome={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:je.outline},outlineOffset:!0,outlineColor:z.colors("outlineColor")},zr={width:z.sizesT("width"),inlineSize:z.sizesT("inlineSize"),height:z.sizes("height"),blockSize:z.sizes("blockSize"),boxSize:z.sizes(["width","height"]),minWidth:z.sizes("minWidth"),minInlineSize:z.sizes("minInlineSize"),minHeight:z.sizes("minHeight"),minBlockSize:z.sizes("minBlockSize"),maxWidth:z.sizes("maxWidth"),maxInlineSize:z.sizes("maxInlineSize"),maxHeight:z.sizes("maxHeight"),maxBlockSize:z.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:z.propT("float",je.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(zr,{w:zr.width,h:zr.height,minW:zr.minWidth,maxW:zr.maxWidth,minH:zr.minHeight,maxH:zr.maxHeight,overscroll:zr.overscrollBehavior,overscrollX:zr.overscrollBehaviorX,overscrollY:zr.overscrollBehaviorY});var sme={listStyleType:!0,listStylePosition:!0,listStylePos:z.prop("listStylePosition"),listStyleImage:!0,listStyleImg:z.prop("listStyleImage")};function ame(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},ume=lme(ame),cme={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},dme={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},eS=(e,t,n)=>{const r={},i=ume(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},fme={srOnly:{transform(e){return e===!0?cme:e==="focusable"?dme:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>eS(t,e,n)}},Od={position:!0,pos:z.prop("position"),zIndex:z.prop("zIndex","zIndices"),inset:z.spaceT("inset"),insetX:z.spaceT(["left","right"]),insetInline:z.spaceT("insetInline"),insetY:z.spaceT(["top","bottom"]),insetBlock:z.spaceT("insetBlock"),top:z.spaceT("top"),insetBlockStart:z.spaceT("insetBlockStart"),bottom:z.spaceT("bottom"),insetBlockEnd:z.spaceT("insetBlockEnd"),left:z.spaceT("left"),insetInlineStart:z.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:z.spaceT("right"),insetInlineEnd:z.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Od,{insetStart:Od.insetInlineStart,insetEnd:Od.insetInlineEnd});var hme={ring:{transform:je.ring},ringColor:z.colors("--chakra-ring-color"),ringOffset:z.prop("--chakra-ring-offset-width"),ringOffsetColor:z.colors("--chakra-ring-offset-color"),ringInset:z.prop("--chakra-ring-inset")},dt={margin:z.spaceT("margin"),marginTop:z.spaceT("marginTop"),marginBlockStart:z.spaceT("marginBlockStart"),marginRight:z.spaceT("marginRight"),marginInlineEnd:z.spaceT("marginInlineEnd"),marginBottom:z.spaceT("marginBottom"),marginBlockEnd:z.spaceT("marginBlockEnd"),marginLeft:z.spaceT("marginLeft"),marginInlineStart:z.spaceT("marginInlineStart"),marginX:z.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:z.spaceT("marginInline"),marginY:z.spaceT(["marginTop","marginBottom"]),marginBlock:z.spaceT("marginBlock"),padding:z.space("padding"),paddingTop:z.space("paddingTop"),paddingBlockStart:z.space("paddingBlockStart"),paddingRight:z.space("paddingRight"),paddingBottom:z.space("paddingBottom"),paddingBlockEnd:z.space("paddingBlockEnd"),paddingLeft:z.space("paddingLeft"),paddingInlineStart:z.space("paddingInlineStart"),paddingInlineEnd:z.space("paddingInlineEnd"),paddingX:z.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:z.space("paddingInline"),paddingY:z.space(["paddingTop","paddingBottom"]),paddingBlock:z.space("paddingBlock")};Object.assign(dt,{m:dt.margin,mt:dt.marginTop,mr:dt.marginRight,me:dt.marginInlineEnd,marginEnd:dt.marginInlineEnd,mb:dt.marginBottom,ml:dt.marginLeft,ms:dt.marginInlineStart,marginStart:dt.marginInlineStart,mx:dt.marginX,my:dt.marginY,p:dt.padding,pt:dt.paddingTop,py:dt.paddingY,px:dt.paddingX,pb:dt.paddingBottom,pl:dt.paddingLeft,ps:dt.paddingInlineStart,paddingStart:dt.paddingInlineStart,pr:dt.paddingRight,pe:dt.paddingInlineEnd,paddingEnd:dt.paddingInlineEnd});var pme={textDecorationColor:z.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:z.shadows("textShadow")},gme={clipPath:!0,transform:z.propT("transform",je.transform),transformOrigin:!0,translateX:z.spaceT("--chakra-translate-x"),translateY:z.spaceT("--chakra-translate-y"),skewX:z.degreeT("--chakra-skew-x"),skewY:z.degreeT("--chakra-skew-y"),scaleX:z.prop("--chakra-scale-x"),scaleY:z.prop("--chakra-scale-y"),scale:z.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:z.degreeT("--chakra-rotate")},mme={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:z.prop("transitionDuration","transition.duration"),transitionProperty:z.prop("transitionProperty","transition.property"),transitionTimingFunction:z.prop("transitionTimingFunction","transition.easing")},yme={fontFamily:z.prop("fontFamily","fonts"),fontSize:z.prop("fontSize","fontSizes",je.px),fontWeight:z.prop("fontWeight","fontWeights"),lineHeight:z.prop("lineHeight","lineHeights"),letterSpacing:z.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},vme={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:z.spaceT("scrollMargin"),scrollMarginTop:z.spaceT("scrollMarginTop"),scrollMarginBottom:z.spaceT("scrollMarginBottom"),scrollMarginLeft:z.spaceT("scrollMarginLeft"),scrollMarginRight:z.spaceT("scrollMarginRight"),scrollMarginX:z.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:z.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:z.spaceT("scrollPadding"),scrollPaddingTop:z.spaceT("scrollPaddingTop"),scrollPaddingBottom:z.spaceT("scrollPaddingBottom"),scrollPaddingLeft:z.spaceT("scrollPaddingLeft"),scrollPaddingRight:z.spaceT("scrollPaddingRight"),scrollPaddingX:z.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:z.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function lD(e){return Io(e)&&e.reference?e.reference:String(e)}var Zv=(e,...t)=>t.map(lD).join(` ${e} `).replace(/calc/g,""),V6=(...e)=>`calc(${Zv("+",...e)})`,z6=(...e)=>`calc(${Zv("-",...e)})`,O2=(...e)=>`calc(${Zv("*",...e)})`,U6=(...e)=>`calc(${Zv("/",...e)})`,G6=e=>{const t=lD(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:O2(t,-1)},Pa=Object.assign(e=>({add:(...t)=>Pa(V6(e,...t)),subtract:(...t)=>Pa(z6(e,...t)),multiply:(...t)=>Pa(O2(e,...t)),divide:(...t)=>Pa(U6(e,...t)),negate:()=>Pa(G6(e)),toString:()=>e.toString()}),{add:V6,subtract:z6,multiply:O2,divide:U6,negate:G6});function bme(e,t="-"){return e.replace(/\s+/g,t)}function Sme(e){const t=bme(e.toString());return wme(_me(t))}function _me(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function wme(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function xme(e,t=""){return[t,e].filter(Boolean).join("-")}function Cme(e,t){return`var(${e}${t?`, ${t}`:""})`}function Tme(e,t=""){return Sme(`--${xme(e,t)}`)}function R2(e,t,n){const r=Tme(e,n);return{variable:r,reference:Cme(r,t)}}function p4e(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=R2(`${e}-${i}`,o);continue}n[r]=R2(`${e}-${r}`)}return n}function Eme(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Pme(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function I2(e){if(e==null)return e;const{unitless:t}=Pme(e);return t||typeof e=="number"?`${e}px`:e}var uD=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,VC=e=>Object.fromEntries(Object.entries(e).sort(uD));function H6(e){const t=VC(e);return Object.assign(Object.values(t),t)}function Ame(e){const t=Object.keys(VC(e));return new Set(t)}function q6(e){var t;if(!e)return e;e=(t=I2(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pd(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${I2(e)})`),t&&n.push("and",`(max-width: ${I2(t)})`),n.join(" ")}function kme(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=H6(e),r=Object.entries(e).sort(uD).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?q6(d):void 0,{_minW:q6(a),breakpoint:s,minW:a,maxW:d,maxWQuery:pd(null,d),minWQuery:pd(a),minMaxQuery:pd(a,d)}}),i=Ame(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:VC(e),asArray:H6(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pd(s)).slice(1)],toArrayValue(s){if(!Io(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;Eme(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var xn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},os=e=>cD(t=>e(t,"&"),"[role=group]","[data-group]",".group"),mo=e=>cD(t=>e(t,"~ &"),"[data-peer]",".peer"),cD=(e,...t)=>t.map(e).join(", "),Jv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:os(xn.hover),_peerHover:mo(xn.hover),_groupFocus:os(xn.focus),_peerFocus:mo(xn.focus),_groupFocusVisible:os(xn.focusVisible),_peerFocusVisible:mo(xn.focusVisible),_groupActive:os(xn.active),_peerActive:mo(xn.active),_groupDisabled:os(xn.disabled),_peerDisabled:mo(xn.disabled),_groupInvalid:os(xn.invalid),_peerInvalid:mo(xn.invalid),_groupChecked:os(xn.checked),_peerChecked:mo(xn.checked),_groupFocusWithin:os(xn.focusWithin),_peerFocusWithin:mo(xn.focusWithin),_peerPlaceholderShown:mo(xn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},dD=Object.keys(Jv);function W6(e,t){return R2(String(e).replace(/\./g,"-"),void 0,t)}function Ome(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=W6(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Pa.negate(a),v=Pa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=W6(p,t==null?void 0:t.cssVarPrefix);return S},d=Io(a)?a:{default:a};n=Wi(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Jv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Rme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Ime(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Mme(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function K6(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(Mme(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var Nme=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Dme(e){return Ime(e,Nme)}function Lme(e){return e.semanticTokens}function $me(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var Fme=e=>dD.includes(e)||e==="default";function Bme({tokens:e,semanticTokens:t}){const n={};return K6(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),K6(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(Fme)}),n}function g4e(e){var t;const n=$me(e),r=Dme(n),i=Lme(n),o=Bme({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=Ome(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:kme(n.breakpoints)}),n}var zC=Wi({},Cg,Ue,rme,ny,zr,ime,hme,ome,aD,fme,Od,k2,dt,vme,yme,pme,gme,sme,mme),jme=Object.assign({},dt,zr,ny,aD,Od),m4e=Object.keys(jme),Vme=[...Object.keys(zC),...dD],zme={...zC,...Jv},Ume=e=>e in zme,Gme=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Na(e[s],t);if(a==null)continue;if(a=Io(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!qme(t),Kme=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Hme(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Xme(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=Na(o,r),d=Gme(c)(r);let f={};for(let h in d){const p=d[h];let m=Na(p,r);h in n&&(h=n[h]),Wme(h,m)&&(m=Kme(r,m));let S=t[h];if(S===!0&&(S={property:h}),Io(m)){f[h]=(a=f[h])!=null?a:{},f[h]=Wi({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=Na(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=Na(S.static,r);f=Wi({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&Io(v)?f=Wi({},f,v):f[y]=v;continue}if(Io(v)){f=Wi({},f,v);continue}f[h]=v}return f};return i}var Yme=e=>t=>Xme({theme:t,pseudos:Jv,configs:zC})(e);function y4e(e){return e}function v4e(e){return e}function b4e(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Qme(e,t){if(Array.isArray(e))return e;if(Io(e))return t(e);if(e!=null)return[e]}function Zme(e,t){for(let n=t+1;n{Wi(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?Wi(u,y):u[v]=y;continue}u[v]=y}}return u}}function eye(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Jme(o);return Wi({},Na((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function S4e(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function fD(e){return Rme(e,["styleConfig","size","variant","colorScheme"])}function tye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function _4e(e){var t;return tye(e)&&(t=e.ownerDocument)!=null?t:document}function nye(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var rye=nye();function iye(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function oye(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},aye=sye(oye);function hD(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var pD=e=>hD(e,t=>t!=null);function lye(e){return typeof e=="function"}function uye(e,...t){return lye(e)?e(...t):e}function cye(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var dye=typeof Element<"u",fye=typeof Map=="function",hye=typeof Set=="function",pye=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Tg(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Tg(e[r],t[r]))return!1;return!0}var o;if(fye&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Tg(r.value[1],t.get(r.value[0])))return!1;return!0}if(hye&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(pye&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(dye&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Tg(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var gye=function(t,n){try{return Tg(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const mye=al(gye);function gD(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=Nge(),a=e?aye(o,`components.${e}`):void 0,l=r||a,u=Wi({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},pD(iye(i,["children"]))),c=k.useRef({});if(l){const f=eye(l)(u);mye(c.current,f)||(c.current=f)}return c.current}function mD(e,t={}){return gD(e,t)}function w4e(e,t={}){return gD(e,t)}var yye=new Set([...Vme,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),vye=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function bye(e){return vye.has(e)||!yye.has(e)}function Sye(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var _ye=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,wye=XN(function(e){return _ye.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),xye=wye,Cye=function(t){return t!=="theme"},X6=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?xye:Cye},Y6=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Tye=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return QN(n,r,i),Age(function(){return ZN(n,r,i)}),null},Eye=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Y6(t,n,r),l=a||X6(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=hD(s,(d,f)=>Ume(f)),l=uye(e,t),u=Sye({},i,l,pD(a),o),c=Yme(u)(t.theme);return r?[c,r]:c};function tS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=bye);const i=kye({baseStyle:n}),o=Aye(e,r)(i);return We.forwardRef(function(l,u){const{colorMode:c,forced:d}=BC();return We.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Oye(){const e=new Map;return new Proxy(tS,{apply(t,n,r){return tS(...r)},get(t,n){return e.has(n)||e.set(n,tS(n)),e.get(n)}})}var sl=Oye();function Tl(e){return k.forwardRef(e)}const yD=k.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),e1=k.createContext({}),Lh=k.createContext(null),t1=typeof document<"u",iy=t1?k.useLayoutEffect:k.useEffect,vD=k.createContext({strict:!1});function Rye(e,t,n,r){const{visualElement:i}=k.useContext(e1),o=k.useContext(vD),s=k.useContext(Lh),a=k.useContext(yD).reducedMotion,l=k.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return k.useInsertionEffect(()=>{u&&u.update(n,s)}),iy(()=>{u&&u.render()}),k.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?iy:k.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function hu(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Iye(e,t,n){return k.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):hu(n)&&(n.current=r))},[t])}function Gf(e){return typeof e=="string"||Array.isArray(e)}function n1(e){return typeof e=="object"&&typeof e.start=="function"}const UC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],GC=["initial",...UC];function r1(e){return n1(e.animate)||GC.some(t=>Gf(e[t]))}function bD(e){return!!(r1(e)||e.variants)}function Mye(e,t){if(r1(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Gf(n)?n:void 0,animate:Gf(r)?r:void 0}}return e.inherit!==!1?t:{}}function Nye(e){const{initial:t,animate:n}=Mye(e,k.useContext(e1));return k.useMemo(()=>({initial:t,animate:n}),[Z6(t),Z6(n)])}function Z6(e){return Array.isArray(e)?e.join(" "):e}const J6={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Hf={};for(const e in J6)Hf[e]={isEnabled:t=>J6[e].some(n=>!!t[n])};function Dye(e){for(const t in e)Hf[t]={...Hf[t],...e[t]}}const HC=k.createContext({}),SD=k.createContext({}),Lye=Symbol.for("motionComponentSymbol");function $ye({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Dye(e);function o(a,l){let u;const c={...k.useContext(yD),...a,layoutId:Fye(a)},{isStatic:d}=c,f=Nye(a),h=r(a,d);if(!d&&t1){f.visualElement=Rye(i,h,c,t);const p=k.useContext(SD),m=k.useContext(vD).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return k.createElement(e1.Provider,{value:f},u&&f.visualElement?k.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Iye(h,f.visualElement,l),h,d,f.visualElement))}const s=k.forwardRef(o);return s[Lye]=i,s}function Fye({layoutId:e}){const t=k.useContext(HC).id;return t&&e!==void 0?t+"-"+e:e}function Bye(e){function t(r,i={}){return $ye(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const jye=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function qC(e){return typeof e!="string"||e.includes("-")?!1:!!(jye.indexOf(e)>-1||/[A-Z]/.test(e))}const oy={};function Vye(e){Object.assign(oy,e)}const $h=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],El=new Set($h);function _D(e,{layout:t,layoutId:n}){return El.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!oy[e]||e==="opacity")}const _r=e=>!!(e&&e.getVelocity),zye={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Uye=$h.length;function Gye(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),xD=wD("--"),M2=wD("var(--"),Hye=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,qye=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Ks=(e,t,n)=>Math.min(Math.max(n,e),t),Pl={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Rd={...Pl,transform:e=>Ks(0,1,e)},Up={...Pl,default:1},Id=e=>Math.round(e*1e5)/1e5,i1=/(-)?([\d]*\.?[\d])+/g,CD=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Wye=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Fh(e){return typeof e=="string"}const Bh=e=>({test:t=>Fh(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),as=Bh("deg"),Ji=Bh("%"),me=Bh("px"),Kye=Bh("vh"),Xye=Bh("vw"),e8={...Ji,parse:e=>Ji.parse(e)/100,transform:e=>Ji.transform(e*100)},t8={...Pl,transform:Math.round},TD={borderWidth:me,borderTopWidth:me,borderRightWidth:me,borderBottomWidth:me,borderLeftWidth:me,borderRadius:me,radius:me,borderTopLeftRadius:me,borderTopRightRadius:me,borderBottomRightRadius:me,borderBottomLeftRadius:me,width:me,maxWidth:me,height:me,maxHeight:me,size:me,top:me,right:me,bottom:me,left:me,padding:me,paddingTop:me,paddingRight:me,paddingBottom:me,paddingLeft:me,margin:me,marginTop:me,marginRight:me,marginBottom:me,marginLeft:me,rotate:as,rotateX:as,rotateY:as,rotateZ:as,scale:Up,scaleX:Up,scaleY:Up,scaleZ:Up,skew:as,skewX:as,skewY:as,distance:me,translateX:me,translateY:me,translateZ:me,x:me,y:me,z:me,perspective:me,transformPerspective:me,opacity:Rd,originX:e8,originY:e8,originZ:me,zIndex:t8,fillOpacity:Rd,strokeOpacity:Rd,numOctaves:t8};function WC(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(xD(d)){o[d]=f;continue}const h=TD[d],p=qye(f,h);if(El.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Gye(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const KC=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ED(e,t,n){for(const r in t)!_r(t[r])&&!_D(r,n)&&(e[r]=t[r])}function Yye({transformTemplate:e},t,n){return k.useMemo(()=>{const r=KC();return WC(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Qye(e,t,n){const r=e.style||{},i={};return ED(i,r,e),Object.assign(i,Yye(e,t,n)),e.transformValues?e.transformValues(i):i}function Zye(e,t,n){const r={},i=Qye(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Jye=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function sy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Jye.has(e)}let PD=e=>!sy(e);function e0e(e){e&&(PD=t=>t.startsWith("on")?!sy(t):e(t))}try{e0e(require("@emotion/is-prop-valid").default)}catch{}function t0e(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(PD(i)||n===!0&&sy(i)||!t&&!sy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function n8(e,t,n){return typeof e=="string"?e:me.transform(t+n*e)}function n0e(e,t,n){const r=n8(t,e.x,e.width),i=n8(n,e.y,e.height);return`${r} ${i}`}const r0e={offset:"stroke-dashoffset",array:"stroke-dasharray"},i0e={offset:"strokeDashoffset",array:"strokeDasharray"};function o0e(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?r0e:i0e;e[o.offset]=me.transform(-r);const s=me.transform(t),a=me.transform(n);e[o.array]=`${s} ${a}`}function XC(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(WC(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=n0e(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&o0e(h,s,a,l,!1)}const AD=()=>({...KC(),attrs:{}}),YC=e=>typeof e=="string"&&e.toLowerCase()==="svg";function s0e(e,t,n,r){const i=k.useMemo(()=>{const o=AD();return XC(o,t,{enableHardwareAcceleration:!1},YC(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};ED(o,e.style,e),i.style={...o,...i.style}}return i}function a0e(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(qC(n)?s0e:Zye)(r,o,s,n),c={...t0e(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=k.useMemo(()=>_r(d)?d.get():d,[d]);return k.createElement(n,{...c,children:f})}}const QC=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kD(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const OD=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function RD(e,t,n,r){kD(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(OD.has(i)?i:QC(i),t.attrs[i])}function ZC(e,t){const{style:n}=e,r={};for(const i in n)(_r(n[i])||t.style&&_r(t.style[i])||_D(i,e))&&(r[i]=n[i]);return r}function ID(e,t){const n=ZC(e,t);for(const r in e)if(_r(e[r])||_r(t[r])){const i=$h.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function JC(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function MD(e){const t=k.useRef(null);return t.current===null&&(t.current=e()),t.current}const ay=e=>Array.isArray(e),l0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),u0e=e=>ay(e)?e[e.length-1]||0:e;function Eg(e){const t=_r(e)?e.get():e;return l0e(t)?t.toValue():t}function c0e({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:d0e(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const ND=e=>(t,n)=>{const r=k.useContext(e1),i=k.useContext(Lh),o=()=>c0e(e,t,r,i);return n?o():MD(o)};function d0e(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=Eg(o[f]);let{initial:s,animate:a}=e;const l=r1(e),u=bD(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!n1(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=JC(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const f0e={useVisualState:ND({scrapeMotionValuesFromProps:ID,createRenderState:AD,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}XC(n,r,{enableHardwareAcceleration:!1},YC(t.tagName),e.transformTemplate),RD(t,n)}})},h0e={useVisualState:ND({scrapeMotionValuesFromProps:ZC,createRenderState:KC})};function p0e(e,{forwardMotionProps:t=!1},n,r){return{...qC(e)?f0e:h0e,preloadedFeatures:n,useRender:a0e(t),createVisualElement:r,Component:e}}function Ao(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const DD=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function o1(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const g0e=e=>t=>DD(t)&&e(t,o1(t));function Mo(e,t,n,r){return Ao(e,t,g0e(n),r)}const m0e=(e,t)=>n=>t(e(n)),Ns=(...e)=>e.reduce(m0e);function LD(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const r8=LD("dragHorizontal"),i8=LD("dragVertical");function $D(e){let t=!1;if(e==="y")t=i8();else if(e==="x")t=r8();else{const n=r8(),r=i8();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function FD(){const e=$D(!0);return e?(e(),!1):!0}class ua{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Qt=e=>e;function y0e(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=y0e(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,v0e),1),i.timestamp=d,i.isProcessing=!0,Gp.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:Gp.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>Gp.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:_t,cancel:Uo,state:$n,steps:nS}=b0e(typeof requestAnimationFrame<"u"?requestAnimationFrame:Qt,!0);function o8(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||FD())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&_t.update(()=>a[r](o,s))};return Mo(e.current,n,i,{passive:!e.getProps()[r]})}class S0e extends ua{mount(){this.unmount=Ns(o8(this.node,!0),o8(this.node,!1))}unmount(){}}class _0e extends ua{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ns(Ao(this.node.current,"focus",()=>this.onFocus()),Ao(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const BD=(e,t)=>t?e===t?!0:BD(e,t.parentElement):!1;function rS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,o1(n))}class w0e extends ua{constructor(){super(...arguments),this.removeStartListeners=Qt,this.removeEndListeners=Qt,this.removeAccessibleListeners=Qt,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Mo(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();_t.update(()=>{BD(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Mo(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ns(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||rS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&_t.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Ao(this.node.current,"keyup",s),rS("down",(a,l)=>{this.startPress(a,l)})},n=Ao(this.node.current,"keydown",t),r=()=>{this.isPressing&&rS("cancel",(o,s)=>this.cancelPress(o,s))},i=Ao(this.node.current,"blur",r);this.removeAccessibleListeners=Ns(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&_t.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!FD()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&_t.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Mo(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Ao(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ns(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const N2=new WeakMap,iS=new WeakMap,x0e=e=>{const t=N2.get(e.target);t&&t(e)},C0e=e=>{e.forEach(x0e)};function T0e({root:e,...t}){const n=e||document;iS.has(n)||iS.set(n,{});const r=iS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(C0e,{root:e,...t})),r[i]}function E0e(e,t,n){const r=T0e(t);return N2.set(e,n),r.observe(e),()=>{N2.delete(e),r.unobserve(e)}}const P0e={some:0,all:1};class A0e extends ua{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:P0e[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return E0e(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(k0e(t,n))&&this.startObserver()}unmount(){}}function k0e({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const O0e={inView:{Feature:A0e},tap:{Feature:w0e},focus:{Feature:_0e},hover:{Feature:S0e}};function jD(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function I0e(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function s1(e,t,n){const r=e.getProps();return JC(r,t,n!==void 0?n:r.custom,R0e(e),I0e(e))}const M0e="framerAppearId",N0e="data-"+QC(M0e);let D0e=Qt,e3=Qt;const Ds=e=>e*1e3,No=e=>e/1e3,L0e={current:!1},VD=e=>Array.isArray(e)&&typeof e[0]=="number";function zD(e){return!!(!e||typeof e=="string"&&UD[e]||VD(e)||Array.isArray(e)&&e.every(zD))}const gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,UD={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gd([0,.65,.55,1]),circOut:gd([.55,0,1,.45]),backIn:gd([.31,.01,.66,-.59]),backOut:gd([.33,1.53,.69,.99])};function GD(e){if(e)return VD(e)?gd(e):Array.isArray(e)?e.map(GD):UD[e]}function $0e(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=GD(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const s8={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},oS={},HD={};for(const e in s8)HD[e]=()=>(oS[e]===void 0&&(oS[e]=s8[e]()),oS[e]);function F0e(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const qD=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,B0e=1e-7,j0e=12;function V0e(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=qD(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>B0e&&++aV0e(o,0,1,e,n);return o=>o===0||o===1?o:qD(i(o),t,r)}const z0e=jh(.42,0,1,1),U0e=jh(0,0,.58,1),WD=jh(.42,0,.58,1),G0e=e=>Array.isArray(e)&&typeof e[0]!="number",KD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,XD=e=>t=>1-e(1-t),YD=e=>1-Math.sin(Math.acos(e)),t3=XD(YD),H0e=KD(t3),QD=jh(.33,1.53,.69,.99),n3=XD(QD),q0e=KD(n3),W0e=e=>(e*=2)<1?.5*n3(e):.5*(2-Math.pow(2,-10*(e-1))),K0e={linear:Qt,easeIn:z0e,easeInOut:WD,easeOut:U0e,circIn:YD,circInOut:H0e,circOut:t3,backIn:n3,backInOut:q0e,backOut:QD,anticipate:W0e},a8=e=>{if(Array.isArray(e)){e3(e.length===4);const[t,n,r,i]=e;return jh(t,n,r,i)}else if(typeof e=="string")return K0e[e];return e},r3=(e,t)=>n=>!!(Fh(n)&&Wye.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ZD=(e,t,n)=>r=>{if(!Fh(r))return r;const[i,o,s,a]=r.match(i1);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},X0e=e=>Ks(0,255,e),sS={...Pl,transform:e=>Math.round(X0e(e))},Da={test:r3("rgb","red"),parse:ZD("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+sS.transform(e)+", "+sS.transform(t)+", "+sS.transform(n)+", "+Id(Rd.transform(r))+")"};function Y0e(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const D2={test:r3("#"),parse:Y0e,transform:Da.transform},pu={test:r3("hsl","hue"),parse:ZD("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Ji.transform(Id(t))+", "+Ji.transform(Id(n))+", "+Id(Rd.transform(r))+")"},Xn={test:e=>Da.test(e)||D2.test(e)||pu.test(e),parse:e=>Da.test(e)?Da.parse(e):pu.test(e)?pu.parse(e):D2.parse(e),transform:e=>Fh(e)?e:e.hasOwnProperty("red")?Da.transform(e):pu.transform(e)},At=(e,t,n)=>-n*e+n*t+e;function aS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Q0e({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=aS(l,a,e+1/3),o=aS(l,a,e),s=aS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const lS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Z0e=[D2,Da,pu],J0e=e=>Z0e.find(t=>t.test(e));function l8(e){const t=J0e(e);let n=t.parse(e);return t===pu&&(n=Q0e(n)),n}const JD=(e,t)=>{const n=l8(e),r=l8(t),i={...n};return o=>(i.red=lS(n.red,r.red,o),i.green=lS(n.green,r.green,o),i.blue=lS(n.blue,r.blue,o),i.alpha=At(n.alpha,r.alpha,o),Da.transform(i))};function eve(e){var t,n;return isNaN(e)&&Fh(e)&&(((t=e.match(i1))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(CD))===null||n===void 0?void 0:n.length)||0)>0}const eL={regex:Hye,countKey:"Vars",token:"${v}",parse:Qt},tL={regex:CD,countKey:"Colors",token:"${c}",parse:Xn.parse},nL={regex:i1,countKey:"Numbers",token:"${n}",parse:Pl.parse};function uS(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function ly(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&uS(n,eL),uS(n,tL),uS(n,nL),n}function rL(e){return ly(e).values}function iL(e){const{values:t,numColors:n,numVars:r,tokenised:i}=ly(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function nve(e){const t=rL(e);return iL(e)(t.map(tve))}const Xs={test:eve,parse:rL,createTransformer:iL,getAnimatableNone:nve},oL=(e,t)=>n=>`${n>0?t:e}`;function sL(e,t){return typeof e=="number"?n=>At(e,t,n):Xn.test(e)?JD(e,t):e.startsWith("var(")?oL(e,t):lL(e,t)}const aL=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>sL(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=sL(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},lL=(e,t)=>{const n=Xs.createTransformer(t),r=ly(e),i=ly(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ns(aL(r.values,i.values),n):oL(e,t)},qf=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},u8=(e,t)=>n=>At(e,t,n);function ive(e){return typeof e=="number"?u8:typeof e=="string"?Xn.test(e)?JD:lL:Array.isArray(e)?aL:typeof e=="object"?rve:u8}function ove(e,t,n){const r=[],i=n||ive(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=ove(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(Ks(e[0],e[o-1],u)):l}function sve(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=qf(0,t,r);e.push(At(n,1,i))}}function ave(e){const t=[0];return sve(t,e.length-1),t}function lve(e,t){return e.map(n=>n*t)}function uve(e,t){return e.map(()=>t||WD).splice(0,e.length-1)}function uy({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=G0e(r)?r.map(a8):a8(r),o={done:!1,value:t[0]},s=lve(n&&n.length===t.length?n:ave(t),e),a=uL(s,t,{ease:Array.isArray(i)?i:uve(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function cL(e,t){return t?e*(1e3/t):0}const cve=5;function dL(e,t,n){const r=Math.max(t-cve,0);return cL(n-e(r),t-r)}const cS=.001,dve=.01,c8=10,fve=.05,hve=1;function pve({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;D0e(e<=Ds(c8));let s=1-t;s=Ks(fve,hve,s),e=Ks(dve,c8,No(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=L2(u,s),p=Math.exp(-d);return cS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=L2(Math.pow(u,2),s);return(-i(u)+cS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-cS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=mve(i,o,a);if(e=Ds(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const gve=12;function mve(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function bve(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!d8(e,vve)&&d8(e,yve)){const n=pve(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function fL({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=bve(r),h=c?-No(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=No(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=L2(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=dL(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function f8({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=T=>a!==void 0&&Tl,p=T=>a===void 0?l:l===void 0||Math.abs(a-T)-m*Math.exp(-T/r),g=T=>v+y(T),b=T=>{const P=y(T),E=g(T);f.done=Math.abs(P)<=u,f.value=f.done?v:E};let _,w;const x=T=>{h(f.value)&&(_=T,w=fL({keyframes:[f.value,p(f.value)],velocity:dL(g,T,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:T=>{let P=!1;return!w&&_===void 0&&(P=!0,b(T),x(T)),_!==void 0&&T>_?w.next(T-_):(!P&&b(T),f)}}}const Sve=e=>{const t=({timestamp:n})=>e(n);return{start:()=>_t.update(t,!0),stop:()=>Uo(t),now:()=>$n.isProcessing?$n.timestamp:performance.now()}},h8=2e4;function p8(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=h8?1/0:t}const _ve={decay:f8,inertia:f8,tween:uy,keyframes:uy,spring:fL};function cy({autoplay:e=!0,delay:t=0,driver:n=Sve,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(j=>{m=j})};v();let y;const g=_ve[i]||uy;let b;g!==uy&&typeof r[0]!="number"&&(b=uL([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",T=null,P=null,E=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=p8(_));const{calculatedDuration:A}=_;let $=1/0,M=1/0;A!==null&&($=A+s,M=$*(o+1)-s);let C=0;const O=j=>{if(P===null)return;h>0&&(P=Math.min(P,j)),h<0&&(P=Math.min(j-M/h,P)),T!==null?C=T:C=Math.round(j-P)*h;const U=C-t*(h>=0?1:-1),G=h>=0?U<0:U>M;C=Math.max(U,0),x==="finished"&&T===null&&(C=M);let W=C,X=_;if(o){const Q=C/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const te=!!(J%2);te&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(X=w));let xe=Ks(0,1,ne);C>M&&(xe=a==="reverse"&&te?1:0),W=xe*$}const Y=G?{done:!1,value:r[0]}:X.next(W);b&&(Y.value=b(Y.value));let{done:B}=Y;!G&&A!==null&&(B=h>=0?C>=M:C<=0);const H=T===null&&(x==="finished"||x==="running"&&B);return d&&d(Y.value),H&&R(),Y},I=()=>{y&&y.stop(),y=void 0},N=()=>{x="idle",I(),m(),v(),P=E=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const j=y.now();l&&l(),T!==null?P=j-T:(!P||x==="finished")&&(P=j),x==="finished"&&v(),E=P,T=null,x="running",y.start()};e&&D();const L={then(j,U){return S.then(j,U)},get time(){return No(C)},set time(j){j=Ds(j),C=j,T!==null||!y||h===0?T=j:P=y.now()-j/h},get duration(){const j=_.calculatedDuration===null?p8(_):_.calculatedDuration;return No(j)},get speed(){return h},set speed(j){j===h||!y||(h=j,L.time=No(C))},get state(){return x},play:D,pause:()=>{x="paused",T=C},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),N())},cancel:()=>{E!==null&&O(E),N()},complete:()=>{x="finished"},sample:j=>(P=0,O(j))};return L}const wve=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Hp=10,xve=2e4,Cve=(e,t)=>t.type==="spring"||e==="backgroundColor"||!zD(t.ease);function Tve(e,t,{onUpdate:n,onComplete:r,...i}){if(!(HD.waapi()&&wve.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(Cve(t,i)){const v=cy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{_t.update(m),a(),u()};return p.onfinish=()=>{e.set(F0e(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return No(p.currentTime||0)},set time(v){p.currentTime=Ds(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return No(d)},play:()=>{s||(p.play(),Uo(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=cy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-Hp).value,y.sample(v).value,Hp)}S()},complete:()=>p.finish(),cancel:S}}function Eve({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Qt,pause:Qt,stop:Qt,then:o=>(o(),Promise.resolve()),cancel:Qt,complete:Qt});return t?cy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const Pve={type:"spring",stiffness:500,damping:25,restSpeed:10},Ave=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),kve={type:"keyframes",duration:.8},Ove={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Rve=(e,{keyframes:t})=>t.length>2?kve:El.has(e)?e.startsWith("scale")?Ave(t[1]):Pve:Ove,$2=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xs.test(t)||t==="0")&&!t.startsWith("url(")),Ive=new Set(["brightness","contrast","saturate","opacity"]);function Mve(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(i1)||[];if(!r)return e;const i=n.replace(r,"");let o=Ive.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const Nve=/([a-z-]*)\(.*?\)/g,F2={...Xs,getAnimatableNone:e=>{const t=e.match(Nve);return t?t.map(Mve).join(" "):e}},Dve={...TD,color:Xn,backgroundColor:Xn,outlineColor:Xn,fill:Xn,stroke:Xn,borderColor:Xn,borderTopColor:Xn,borderRightColor:Xn,borderBottomColor:Xn,borderLeftColor:Xn,filter:F2,WebkitFilter:F2},i3=e=>Dve[e];function hL(e,t){let n=i3(e);return n!==F2&&(n=Xs),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const pL=e=>/^0[^.\s]+$/.test(e);function Lve(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||pL(e)}function $ve(e,t,n,r){const i=$2(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=gL(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ds(s);const l=$ve(t,e,n,o),u=l[0],c=l[l.length-1],d=$2(e,u),f=$2(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Fve(o)||(h={...h,...Rve(e,h)}),h.duration&&(h.duration=Ds(h.duration)),h.repeatDelay&&(h.repeatDelay=Ds(h.repeatDelay)),!d||!f||L0e.current||o.type===!1)return Eve(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=Tve(t,e,h);if(p)return p}return cy(h)};function dy(e){return!!(_r(e)&&e.add)}const Bve=e=>/^\-?\d*\.?\d+$/.test(e);function s3(e,t){e.indexOf(t)===-1&&e.push(t)}function a3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class l3{constructor(){this.subscriptions=[]}add(t){return s3(this.subscriptions,t),()=>a3(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Vve{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=$n;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,_t.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>_t.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=jve(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new l3);const r=this.events[t].add(n);return t==="change"?()=>{r(),_t.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?cL(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function uc(e,t){return new Vve(e,t)}const mL=e=>t=>t.test(e),zve={test:e=>e==="auto",parse:e=>e},yL=[Pl,me,Ji,as,Xye,Kye,zve],id=e=>yL.find(mL(e)),Uve=[...yL,Xn,Xs],Gve=e=>Uve.find(mL(e));function Hve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,uc(n))}function qve(e,t){const n=s1(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=u0e(o[s]);Hve(e,s,a)}}function Wve(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&qve(e,s)}),u}function B2(e,t,n={}){const r=s1(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(vL(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Qve(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Qve(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(Zve).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(B2(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function Zve(e,t){return e.sortNodePosition(t)}function Jve(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>B2(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=B2(e,t,n);else{const i=typeof t=="function"?s1(e,t,n.custom):t;r=Promise.all(vL(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const e1e=[...UC].reverse(),t1e=UC.length;function n1e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Jve(e,n,r)))}function r1e(e){let t=n1e(e);const n=o1e();let r=!0;const i=(l,u)=>{const c=s1(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const E=Array.isArray(b)?b:[b];let A=E.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,M={...$,...A},C=O=>{P=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in M){const I=A[O],N=$[O];p.hasOwnProperty(O)||(I!==N?ay(I)&&ay(N)?!jD(I,N)||T?C(O):g.protectedKeys[O]=!0:I!==void 0?C(O):h.add(O):I!==void 0&&h.has(O)?C(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(P=!1),P&&!x&&f.push(...E.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function i1e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!jD(t,e):!1}function ba(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function o1e(){return{animate:ba(!0),whileInView:ba(),whileHover:ba(),whileTap:ba(),whileDrag:ba(),whileFocus:ba(),exit:ba()}}class s1e extends ua{constructor(t){super(t),t.animationState||(t.animationState=r1e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),n1(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let a1e=0;class l1e extends ua{constructor(){super(...arguments),this.id=a1e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const u1e={animation:{Feature:s1e},exit:{Feature:l1e}},g8=(e,t)=>Math.abs(e-t);function c1e(e,t){const n=g8(e.x,t.x),r=g8(e.y,t.y);return Math.sqrt(n**2+r**2)}class bL{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=fS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=c1e(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=$n;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=dS(c,this.transformPagePoint),_t.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=fS(u.type==="pointercancel"?this.lastMoveEventInfo:dS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!DD(t))return;this.handlers=n,this.transformPagePoint=r;const i=o1(t),o=dS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=$n;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,fS(o,this.history)),this.removeListeners=Ns(Mo(window,"pointermove",this.handlePointerMove),Mo(window,"pointerup",this.handlePointerUp),Mo(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Uo(this.updatePoint)}}function dS(e,t){return t?{point:t(e.point)}:e}function m8(e,t){return{x:e.x-t.x,y:e.y-t.y}}function fS({point:e},t){return{point:e,delta:m8(e,SL(t)),offset:m8(e,d1e(t)),velocity:f1e(t,.1)}}function d1e(e){return e[0]}function SL(e){return e[e.length-1]}function f1e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=SL(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ds(t)));)n--;if(!r)return{x:0,y:0};const o=No(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Ir(e){return e.max-e.min}function j2(e,t=0,n=.01){return Math.abs(e-t)<=n}function y8(e,t,n,r=.5){e.origin=r,e.originPoint=At(t.min,t.max,e.origin),e.scale=Ir(n)/Ir(t),(j2(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=At(n.min,n.max,e.origin)-e.originPoint,(j2(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Md(e,t,n,r){y8(e.x,t.x,n.x,r?r.originX:void 0),y8(e.y,t.y,n.y,r?r.originY:void 0)}function v8(e,t,n){e.min=n.min+t.min,e.max=e.min+Ir(t)}function h1e(e,t,n){v8(e.x,t.x,n.x),v8(e.y,t.y,n.y)}function b8(e,t,n){e.min=t.min-n.min,e.max=e.min+Ir(t)}function Nd(e,t,n){b8(e.x,t.x,n.x),b8(e.y,t.y,n.y)}function p1e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?At(n,e,r.max):Math.min(e,n)),e}function S8(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function g1e(e,{top:t,left:n,bottom:r,right:i}){return{x:S8(e.x,n,i),y:S8(e.y,t,r)}}function _8(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=qf(t.min,t.max-r,e.min):r>i&&(n=qf(e.min,e.max-i,t.min)),Ks(0,1,n)}function v1e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const V2=.35;function b1e(e=V2){return e===!1?e=0:e===!0&&(e=V2),{x:w8(e,"left","right"),y:w8(e,"top","bottom")}}function w8(e,t,n){return{min:x8(e,t),max:x8(e,n)}}function x8(e,t){return typeof e=="number"?e:e[t]||0}const C8=()=>({translate:0,scale:1,origin:0,originPoint:0}),gu=()=>({x:C8(),y:C8()}),T8=()=>({min:0,max:0}),Wt=()=>({x:T8(),y:T8()});function Li(e){return[e("x"),e("y")]}function _L({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function S1e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function _1e(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function hS(e){return e===void 0||e===1}function z2({scale:e,scaleX:t,scaleY:n}){return!hS(e)||!hS(t)||!hS(n)}function Ca(e){return z2(e)||wL(e)||e.z||e.rotate||e.rotateX||e.rotateY}function wL(e){return E8(e.x)||E8(e.y)}function E8(e){return e&&e!=="0%"}function fy(e,t,n){const r=e-n,i=t*r;return n+i}function P8(e,t,n,r,i){return i!==void 0&&(e=fy(e,i,r)),fy(e,n,r)+t}function U2(e,t=0,n=1,r,i){e.min=P8(e.min,t,n,r,i),e.max=P8(e.max,t,n,r,i)}function xL(e,{x:t,y:n}){U2(e.x,t.translate,t.scale,t.originPoint),U2(e.y,n.translate,n.scale,n.originPoint)}function w1e(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fs(e,t){e.min=e.min+t,e.max=e.max+t}function k8(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=At(e.min,e.max,o);U2(e,t[n],t[r],s,t.scale)}const x1e=["x","scaleX","originX"],C1e=["y","scaleY","originY"];function mu(e,t){k8(e.x,t,x1e),k8(e.y,t,C1e)}function CL(e,t){return _L(_1e(e.getBoundingClientRect(),t))}function T1e(e,t,n){const r=CL(e,n),{scroll:i}=t;return i&&(fs(r.x,i.offset.x),fs(r.y,i.offset.y)),r}const E1e=new WeakMap;class P1e{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Wt(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(o1(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=$D(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Li(p=>{let m=this.getAxisMotionValue(p).get()||0;if(Ji.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Ir(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&_t.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=A1e(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new bL(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&_t.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!qp(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=p1e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&hu(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=g1e(r.layoutBox,t):this.constraints=!1,this.elastic=b1e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Li(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=v1e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!hu(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=T1e(r,i.root,this.visualElement.getTransformPagePoint());let s=m1e(i.layout.layoutBox,o);if(n){const a=n(S1e(s));this.hasMutatedConstraints=!!a,a&&(s=_L(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Li(c=>{if(!qp(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(o3(t,r,0,n))}stopAnimation(){Li(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Li(n=>{const{drag:r}=this.getProps();if(!qp(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-At(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!hu(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Li(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=y1e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Li(s=>{if(!qp(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(At(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;E1e.set(this.visualElement,this);const t=this.visualElement.current,n=Mo(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();hu(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Ao(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Li(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=V2,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function qp(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function A1e(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class k1e extends ua{constructor(t){super(t),this.removeGroupControls=Qt,this.removeListeners=Qt,this.controls=new P1e(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Qt}unmount(){this.removeGroupControls(),this.removeListeners()}}const O8=e=>(t,n)=>{e&&_t.update(()=>e(t,n))};class O1e extends ua{constructor(){super(...arguments),this.removePointerDownListener=Qt}onPointerDown(t){this.session=new bL(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:O8(t),onStart:O8(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&_t.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Mo(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function R1e(){const e=k.useContext(Lh);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=k.useId();return k.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function x4e(){return I1e(k.useContext(Lh))}function I1e(e){return e===null?!0:e.isPresent}const Pg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function R8(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const od={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(me.test(e))e=parseFloat(e);else return e;const n=R8(e,t.target.x),r=R8(e,t.target.y);return`${n}% ${r}%`}},M1e={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xs.parse(e);if(i.length>5)return r;const o=Xs.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=At(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class N1e extends We.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Vye(D1e),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Pg.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||_t.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function TL(e){const[t,n]=R1e(),r=k.useContext(HC);return We.createElement(N1e,{...e,layoutGroup:r,switchLayoutGroup:k.useContext(SD),isPresent:t,safeToRemove:n})}const D1e={borderRadius:{...od,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:od,borderTopRightRadius:od,borderBottomLeftRadius:od,borderBottomRightRadius:od,boxShadow:M1e},EL=["TopLeft","TopRight","BottomLeft","BottomRight"],L1e=EL.length,I8=e=>typeof e=="string"?parseFloat(e):e,M8=e=>typeof e=="number"||me.test(e);function $1e(e,t,n,r,i,o){i?(e.opacity=At(0,n.opacity!==void 0?n.opacity:1,F1e(r)),e.opacityExit=At(t.opacity!==void 0?t.opacity:1,0,B1e(r))):o&&(e.opacity=At(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(qf(e,t,r))}function D8(e,t){e.min=t.min,e.max=t.max}function Vr(e,t){D8(e.x,t.x),D8(e.y,t.y)}function L8(e,t,n,r,i){return e-=t,e=fy(e,1/n,r),i!==void 0&&(e=fy(e,1/i,r)),e}function j1e(e,t=0,n=1,r=.5,i,o=e,s=e){if(Ji.test(t)&&(t=parseFloat(t),t=At(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=At(o.min,o.max,r);e===o&&(a-=t),e.min=L8(e.min,t,n,a,i),e.max=L8(e.max,t,n,a,i)}function $8(e,t,[n,r,i],o,s){j1e(e,t[n],t[r],t[i],t.scale,o,s)}const V1e=["x","scaleX","originX"],z1e=["y","scaleY","originY"];function F8(e,t,n,r){$8(e.x,t,V1e,n?n.x:void 0,r?r.x:void 0),$8(e.y,t,z1e,n?n.y:void 0,r?r.y:void 0)}function B8(e){return e.translate===0&&e.scale===1}function AL(e){return B8(e.x)&&B8(e.y)}function G2(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function j8(e){return Ir(e.x)/Ir(e.y)}class U1e{constructor(){this.members=[]}add(t){s3(this.members,t),t.scheduleRender()}remove(t){if(a3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function V8(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const G1e=(e,t)=>e.depth-t.depth;class H1e{constructor(){this.children=[],this.isDirty=!1}add(t){s3(this.children,t),this.isDirty=!0}remove(t){a3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(G1e),this.isDirty=!1,this.children.forEach(t)}}function q1e(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Uo(r),e(o-t))};return _t.read(r,!0),()=>Uo(r)}function W1e(e){window.MotionDebug&&window.MotionDebug.record(e)}function K1e(e){return e instanceof SVGElement&&e.tagName!=="svg"}function X1e(e,t,n){const r=_r(e)?e:uc(e);return r.start(o3("",r,t,n)),r.animation}const z8=["","X","Y","Z"],U8=1e3;let Y1e=0;const Ta={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kL({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Y1e++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ta.totalNodes=Ta.resolvedTargetDeltas=Ta.recalculatedProjection=0,this.nodes.forEach(J1e),this.nodes.forEach(ibe),this.nodes.forEach(obe),this.nodes.forEach(ebe),W1e(Ta)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=q1e(f,250),Pg.hasAnimatedSinceResize&&(Pg.hasAnimatedSinceResize=!1,this.nodes.forEach(H8))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||cbe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!G2(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...gL(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||H8(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Uo(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(sbe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(tbe),this.sharedNodes.forEach(abe)}scheduleUpdateProjection(){_t.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){_t.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;q8(d.x,s.x,_),q8(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Nd(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),lbe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&G2(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=Wt()),Vr(g,this.relativeTarget)),m&&(this.animationValues=c,$1e(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Uo(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=_t.update(()=>{Pg.hasAnimatedSinceResize=!0,this.currentAnimation=X1e(0,U8,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(U8),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&OL(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Wt();const d=Ir(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Ir(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}Vr(a,l),mu(a,c),Md(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new U1e),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(G8),this.root.sharedNodes.clear()}}}function Q1e(e){e.updateLayout()}function Z1e(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(f);f.min=r[d].min,f.max=f.min+h}):OL(o,n.layoutBox,r)&&Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=gu();Md(a,r,n.layoutBox);const l=gu();s?Md(l,e.applyTransform(i,!0),n.measuredBox):Md(l,r,n.layoutBox);const u=!AL(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=Wt();Nd(p,n.layoutBox,f.layoutBox);const m=Wt();Nd(m,r,h.layoutBox),G2(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function J1e(e){Ta.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function ebe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function tbe(e){e.clearSnapshot()}function G8(e){e.clearMeasurements()}function nbe(e){e.isLayoutDirty=!1}function rbe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function H8(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function ibe(e){e.resolveTargetDelta()}function obe(e){e.calcProjection()}function sbe(e){e.resetRotation()}function abe(e){e.removeLeadSnapshot()}function q8(e,t,n){e.translate=At(t.translate,0,n),e.scale=At(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function W8(e,t,n,r){e.min=At(t.min,n.min,r),e.max=At(t.max,n.max,r)}function lbe(e,t,n,r){W8(e.x,t.x,n.x,r),W8(e.y,t.y,n.y,r)}function ube(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const cbe={duration:.45,ease:[.4,0,.1,1]};function K8(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function dbe(e){K8(e.x),K8(e.y)}function OL(e,t,n){return e==="position"||e==="preserve-aspect"&&!j2(j8(t),j8(n),.2)}const fbe=kL({attachResizeListener:(e,t)=>Ao(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),pS={current:void 0},RL=kL({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!pS.current){const e=new fbe({});e.mount(window),e.setOptions({layoutScroll:!0}),pS.current=e}return pS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),hbe={pan:{Feature:O1e},drag:{Feature:k1e,ProjectionNode:RL,MeasureLayout:TL}},pbe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function gbe(e){const t=pbe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function H2(e,t,n=1){const[r,i]=gbe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():M2(i)?H2(i,t,n+1):i}function mbe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!M2(o))return;const s=H2(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!M2(o))continue;const s=H2(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const ybe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),IL=e=>ybe.has(e),vbe=e=>Object.keys(e).some(IL),X8=e=>e===Pl||e===me,Y8=(e,t)=>parseFloat(e.split(", ")[t]),Q8=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return Y8(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?Y8(o[1],e):0}},bbe=new Set(["x","y","z"]),Sbe=$h.filter(e=>!bbe.has(e));function _be(e){const t=[];return Sbe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const cc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:Q8(4,13),y:Q8(5,14)};cc.translateX=cc.x;cc.translateY=cc.y;const wbe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=cc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=cc[u](l,o)}),e},xbe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(IL);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=id(c);const f=t[l];let h;if(ay(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=id(c);for(let S=m;S=0?window.pageYOffset:null,u=wbe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),t1&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Cbe(e,t,n,r){return vbe(t)?xbe(e,t,n,r):{target:t,transitionEnd:r}}const Tbe=(e,t,n,r)=>{const i=mbe(e,t,r);return t=i.target,r=i.transitionEnd,Cbe(e,t,n,r)},q2={current:null},ML={current:!1};function Ebe(){if(ML.current=!0,!!t1)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>q2.current=e.matches;e.addListener(t),t()}else q2.current=!1}function Pbe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(_r(o))e.addValue(i,o),dy(r)&&r.add(i);else if(_r(s))e.addValue(i,uc(o,{owner:e})),dy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,uc(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const Z8=new WeakMap,NL=Object.keys(Hf),Abe=NL.length,J8=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],kbe=GC.length;class Obe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>_t.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=r1(n),this.isVariantNode=bD(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&_r(f)&&(f.set(a[d],!1),dy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,Z8.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),ML.current||Ebe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:q2.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){Z8.delete(this.current),this.projection&&this.projection.unmount(),Uo(this.notifyUpdate),Uo(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=El.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&_t.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Wt()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=uc(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=JC(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!_r(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new l3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class DL extends Obe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Xve(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Wve(this,r,s);const a=Tbe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Rbe(e){return window.getComputedStyle(e)}class Ibe extends DL{readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}else{const r=Rbe(t),i=(xD(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return CL(t,n)}build(t,n,r,i){WC(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return ZC(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;_r(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kD(t,n,r,i)}}class Mbe extends DL{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}return n=OD.has(n)?n:QC(n),t.getAttribute(n)}measureInstanceViewportBox(){return Wt()}scrapeMotionValuesFromProps(t,n){return ID(t,n)}build(t,n,r,i){XC(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){RD(t,n,r,i)}mount(t){this.isSVGTag=YC(t.tagName),super.mount(t)}}const Nbe=(e,t)=>qC(e)?new Mbe(t,{enableHardwareAcceleration:!1}):new Ibe(t,{enableHardwareAcceleration:!0}),Dbe={layout:{ProjectionNode:RL,MeasureLayout:TL}},Lbe={...u1e,...O0e,...hbe,...Dbe},$be=Bye((e,t)=>p0e(e,t,Lbe,Nbe));function LL(){const e=k.useRef(!1);return iy(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Fbe(){const e=LL(),[t,n]=k.useState(0),r=k.useCallback(()=>{e.current&&n(t+1)},[t]);return[k.useCallback(()=>_t.postRender(r),[r]),t]}class Bbe extends k.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function jbe({children:e,isPresent:t}){const n=k.useId(),r=k.useRef(null),i=k.useRef({width:0,height:0,top:0,left:0});return k.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function GM(e,t){if(e){if(typeof e=="string")return ME(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ME(e,t)}}function ME(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?Vae:zae;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function $E(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function FE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){$E(o,r,i,s,a,"next",l)}function a(l){$E(o,r,i,s,a,"throw",l)}s(void 0)})}}var Gae=function(){var e=FE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield Lae(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=FE(function*(){var p=UM(t.getState(),n);yield Uae(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),pC(p,d)||t.dispatch({type:Rae,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(Mae(f,u)):t.subscribe(Iae(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const Hae=Gae;function $f(e){"@babel/helpers - typeof";return $f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$f(e)}function BE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jb(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=jb({},r));var o=typeof t=="function"?t:pc(t);switch(i.type){case d2:return n.state=o(jb(jb({},n.state),i.payload||{}),{type:d2}),n.state;default:return o(r,i)}}},Yae=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return Hae(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const k5e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],Qae="@@invokeai-",Zae=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],Jae=["pendingControlImages"],ele=["selection","selectedBoardId","galleryView"],tle=["schema","invocationTemplates"],nle=[],rle=[],ile=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],ole=["shouldShowImageDetails"],sle={canvas:Zae,gallery:ele,generation:nle,nodes:tle,postprocessing:rle,system:ile,ui:ole,controlNet:Jae},ale=(e,t)=>{const n=_0(e,sle[t]);return JSON.stringify(n)},lle={canvas:NR,gallery:k7,generation:Wo,nodes:kM,postprocessing:IM,system:$M,config:gR,ui:kR,hotkeys:jM,controlNet:z_},ule=(e,t)=>gX(JSON.parse(e),lle[t]),qM=ue("nodes/textToImageGraphBuilt"),WM=ue("nodes/imageToImageGraphBuilt"),KM=ue("nodes/canvasGraphBuilt"),XM=ue("nodes/nodesGraphBuilt"),cle=ei(qM,WM,KM,XM),dle=e=>{if(cle(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Df.fulfilled.match(e)?{...e,payload:""}:dC.match(e)?{...e,payload:""}:e},fle=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],hle=e=>e,ple=()=>{le({actionCreator:FQ,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(hl({session_id:o}))}}})};ue("app/appStarted");const gle=()=>{le({matcher:he.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==di({board_id:"none",categories:gi}))return;r(),n();const i=e.payload;i.ids.length>0&&t(Rs(i.ids[0]))}})},gC=Hs.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:O5e,useGetAppConfigQuery:R5e}=gC,mle=()=>{le({matcher:gC.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r,nsfw_methods:i,watermarking_methods:o}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(yQ(r[0])),i.includes("nsfw_checker")||n(vae(!1)),o.includes("invisible_watermark")||n(bae(!1))}})},yle=ue("app/appStarted"),vle=()=>{le({actionCreator:yle,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},mC={memoizeOptions:{resultEqualityCheck:S0}},YM=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Ea(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Ea(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},ble=Jn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return YM(e,n)},mC),Sle=()=>{le({matcher:ec.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const c=YM(l,u);c.isInitialImage&&!i&&(t(ER()),i=!0),c.isCanvasImage&&!o&&(t(LR()),o=!0),c.isNodesImage&&!s&&(t(RM()),s=!0),c.isControlNetImage&&!a&&(t(T7()),a=!0)})}})},_le=()=>{le({matcher:ei(U_,Am),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=U_.match(e)?e.payload:o.gallery.selectedBoardId,l=(Am.match(e)?e.payload:o.gallery.galleryView)==="images"?gi:_s,u={board_id:s??"none",categories:l};if(await r(()=>he.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=he.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(Rs(d.ids[0]??null)):n(Rs(null))}else n(Rs(null))}})},wle=ue("canvas/canvasSavedToGallery"),xle=ue("canvas/canvasCopiedToClipboard"),Cle=ue("canvas/canvasDownloadedAsImage"),Tle=ue("canvas/canvasMerged"),Ele=ue("canvas/stagingAreaImageSaved");let QM=null,ZM=null;const I5e=e=>{QM=e},tv=()=>QM,M5e=e=>{ZM=e},Ple=()=>ZM,Ale=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Km=async(e,t)=>await Ale(e.toCanvas(t)),yC=async e=>{const t=tv();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Km(o,a)},kle=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},Ole=()=>{le({actionCreator:xle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}kle(o),t(Ft({title:"Canvas Copied to Clipboard",status:"success"}))}})},Rle=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},Ile=()=>{le({actionCreator:Cle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}Rle(o,"canvas.png"),t(Ft({title:"Canvas Downloaded",status:"success"}))}})},Mle=async()=>{const e=tv();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Km(t,t.getClientRect())},Nle=()=>{le({actionCreator:Tle,effect:async(e,{dispatch:t})=>{const n=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await Mle();if(!r){n.error("Problem getting base layer blob"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=tv();if(!i){n.error("Problem getting canvas base layer"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(he.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(BQ({kind:"image",layer:"base",imageName:a,...o}))}})},Dle=()=>{le({actionCreator:wle,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(he.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Lle=(e,t,n)=>{if(!(tJ.match(e)||bT.match(e)||Hx.match(e)||nJ.match(e)||ST.match(e))||ST.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(bT.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},$le=()=>{le({predicate:Lle,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=fe("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(Gx({controlNetId:o}))}})},pl=ue("system/sessionReadyToInvoke"),JM=e=>(e==null?void 0:e.type)==="image_output",Fle=()=>{le({actionCreator:Gx,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=fe("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!s.controlImage){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(On({graph:a})),[u]=await r(f=>On.fulfilled.match(f)&&f.meta.requestId===l.requestId),c=u.payload.id;t(pl());const[d]=await r(f=>zx.match(f)&&f.payload.data.graph_execution_state_id===c);if(JM(d.payload.data.result)){const{image_name:f}=d.payload.data.result.image,[{payload:h}]=await r(m=>he.endpoints.getImageDTO.matchFulfilled(m)&&m.payload.image_name===f),p=h;i.debug({controlNetId:e.payload,processedControlImage:p},"ControlNet image processed"),t(eJ({controlNetId:o,processedControlImage:p.image_name}))}}})},Ble=()=>{le({matcher:he.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},jle=()=>{le({matcher:he.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},N5e=e=>e.gallery,D5e=Jn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],mC),Vle=Jn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?gi:_s,offset:0,limit:GQ,is_intermediate:!1}},mC),eN=ue("imageDeletion/imageDeletionConfirmed"),zle=()=>{le({actionCreator:eN,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(I7(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=Vle(a),{data:f}=he.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Ss(p,0,m.length-1),v=m[S];t(Rs(v||null))}o.isCanvasImage&&t(LR()),o.isControlNetImage&&t(T7()),o.isInitialImage&&t(ER()),o.isNodesImage&&t(RM());const{requestId:u}=t(he.endpoints.deleteImage.initiate(i));await r(d=>he.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(Hs.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},Ule=()=>{le({matcher:he.endpoints.deleteImage.matchPending,effect:()=>{}})},Gle=()=>{le({matcher:he.endpoints.deleteImage.matchFulfilled,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},Hle=()=>{le({matcher:he.endpoints.deleteImage.matchRejected,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},tN=ue("dnd/dndDropped"),qle=()=>{le({actionCreator:tN,effect:async(e,{dispatch:t})=>{const n=fe("images"),{activeData:r,overData:i}=e.payload;if(n.debug({activeData:r,overData:i},"Image or selection dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO.image_name));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(C0(r.payload.imageDTO));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(G_([r.payload.imageDTO.image_name]));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_NAMES"){t(G_(r.payload.image_names));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(Hx({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t($R(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="SET_MULTI_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:[r.payload.imageDTO]}));return}if(i.actionType==="MOVE_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;if(!s){t(he.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}t(he.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}}})},Wle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},Kle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},Xle=()=>{le({actionCreator:dJ,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=ble(n());if(!s)return;const a=s.isCanvasImage||s.isInitialImage||s.isControlNetImage||s.isNodesImage;if(o||a){t(I7(!0));return}t(eN({imageDTO:r,imageUsage:s}))}})},ga={title:"Image Uploaded",status:"success"},Yle=()=>{le({matcher:he.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=fe("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Ft({...ga,...l}));else{t(he.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=ec.endpoints.listAllBoards.select()(o),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Ft({...ga,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t($R(i)),t(Ft({...ga,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(Hx({controlNetId:l,controlImage:i.image_name})),t(Ft({...ga,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(C0(i)),t(Ft({...ga,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(u2({nodeId:l,fieldName:u,value:i})),t(Ft({...ga,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(G_([i.image_name])),t(Ft({...ga,description:"Added to batch"}));return}}}})},Qle=()=>{le({matcher:he.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=fe("images"),r={arg:{..._0(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Ft({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},Zle=ue("generation/initialImageSelected"),Jle=ue("generation/modelSelected"),eue=()=>{le({actionCreator:Zle,effect:(e,{dispatch:t})=>{if(!e.payload){t(Ft(Ga({title:kd("toast.imageNotLoadedDesc"),status:"error"})));return}t(C0(e.payload)),t(Ft(Ga(kd("toast.sentToImageToImage"))))}})},tue=()=>{le({actionCreator:Jle,effect:(e,{getState:t,dispatch:n})=>{var l;const r=fe("models"),i=t(),o=xf.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Qa(i.lora.loras,(f,h)=>{f.base_model!==a&&(n(N7(h)),u+=1)});const{vae:c}=i.generation;c&&c.base_model!==a&&(n(PR(null)),u+=1);const{controlNets:d}=i.controlNet;Qa(d,(f,h)=>{var p;((p=f.model)==null?void 0:p.base_model)!==a&&(n(C7({controlNetId:h})),u+=1)}),u>0&&n(Ft(Ga({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(ja(s))}})},jE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),VE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),zE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),UE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),GE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),nue=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Yc=e=>{const t=[];return e.forEach(n=>{const r={...Ln(n),id:nue(n)};t.push(r)}),t},xo=Hs.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${F_.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return jE.setAll(jE.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return VE.setAll(VE.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return zE.setAll(zE.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return GE.setAll(GE.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return UE.setAll(UE.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${F_.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Be}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:L5e,useGetControlNetModelsQuery:$5e,useGetLoRAModelsQuery:F5e,useGetTextualInversionModelsQuery:B5e,useGetVaeModelsQuery:j5e,useUpdateMainModelsMutation:V5e,useDeleteMainModelsMutation:z5e,useImportMainModelsMutation:U5e,useAddMainModelsMutation:G5e,useConvertMainModelsMutation:H5e,useMergeMainModelsMutation:q5e,useSyncModelsMutation:W5e,useGetModelsInFolderQuery:K5e,useGetCheckpointConfigsQuery:X5e}=xo,rue=()=>{le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(ja(l.data))}}),le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(wE(null)),n(Xse(!1));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(wE(l.data))}}),le({matcher:xo.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=pQ.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse VAE model");return}n(PR(l.data))}}),le({matcher:xo.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(N7(s))})}}),le({matcher:xo.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>{var u,c;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((c=o==null?void 0:o.model)==null?void 0:c.base_model)})||n(C7({controlNetId:s}))})}}),le({matcher:xo.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{fe("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},ra=e=>JSON.parse(JSON.stringify(e)),h2=e=>!("$ref"in e),iue=e=>!("$ref"in e),Y5e=500,oue={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},sue=500,Dt=e=>`var(--invokeai-colors-${e}-${sue})`,Q5e={integer:{color:"red",colorCssVar:Dt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Dt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Dt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Dt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Dt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Dt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Dt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Dt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Dt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Dt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Dt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Dt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Dt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Dt("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Dt("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Dt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Dt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Dt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Dt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Dt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Dt("gray"),title:"Color",description:"A RGBA color."}},Z5e=250,Vb=e=>e.$ref.split("/").slice(-1)[0],aue=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},lue=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},uue=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},cue=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),due=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fue=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),hue=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),pue=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),gue=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),mue=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),yue=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),vue=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bue=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Sue=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_ue=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),wue=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),xue=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Cue=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},HE=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),qE=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Tue=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),nN=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Vb(e.allOf[0]):e.anyOf?r=Vb(e.anyOf[0]):e.oneOf&&(r=Vb(e.oneOf[0]));const i=oue[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Eue=(e,t,n)=>{const r=nN(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return mue({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return yue({schemaObject:e,baseField:i});if(["latents"].includes(r))return vue({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return bue({schemaObject:e,baseField:i});if(["unet"].includes(r))return Sue({schemaObject:e,baseField:i});if(["clip"].includes(r))return _ue({schemaObject:e,baseField:i});if(["vae"].includes(r))return wue({schemaObject:e,baseField:i});if(["control"].includes(r))return xue({schemaObject:e,baseField:i});if(["model"].includes(r))return due({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return fue({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return hue({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return pue({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return gue({schemaObject:e,baseField:i});if(["enum"].includes(r))return Cue({schemaObject:e,baseField:i});if(["integer"].includes(r))return aue({schemaObject:e,baseField:i});if(["number","float"].includes(r))return lue({schemaObject:e,baseField:i});if(["string"].includes(r))return uue({schemaObject:e,baseField:i});if(["boolean"].includes(r))return cue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i});if(["color"].includes(r))return Tue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i})},Pue=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return h2(i)?Lx(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&h2(a)){const u=nN(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Aue=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],kue=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Oue=e=>{var r;return oR((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!kue.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,c;if(iue(o)){const d=o.properties.type.default,f=Aue(d),h=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),p=(a=o.ui)==null?void 0:a.type_hints,m={};if(d==="collect"){const g=o.properties.item;m.item={type:"item",name:"item",description:g.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(d==="iterate"){const g=o.properties.collection;m.collection={type:"array",name:"collection",title:g.title??"",default:[],description:g.description??"",inputRequirement:"always",inputKind:"connection"}}else Lx(o.properties,(g,b,_)=>{if(!f.includes(_)&&h2(b)){const w=Eue(b,_,p);w&&(g[_]=w)}return g},m);const S=o.output;let v;if(d==="iterate"){const g=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;v={item:{name:"item",title:(g==null?void 0:g.title)??"",description:(g==null?void 0:g.description)??"",type:"array"}}}else v=Pue(S,e,p);const y={title:h,type:d,tags:((c=o.ui)==null?void 0:c.tags)??[],description:o.description??"",inputs:m,outputs:v};Object.assign(i,{[d]:y})}return i},{})},Rue=()=>{le({actionCreator:Df.fulfilled,effect:(e,{dispatch:t})=>{const n=fe("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Oue(r);n.debug({nodeTemplates:ra(i)},`Built ${hR(i)} node templates`),t(dC(i))}}),le({actionCreator:Df.rejected,effect:()=>{fe("system").error("Problem dereferencing OpenAPI Schema")}})},Iue=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Mue=new Map(Iue),Nue=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],p2=Symbol(".toJSON was called"),Due=e=>{e[p2]=!0;const t=e.toJSON();return delete e[p2],t},Lue=e=>Mue.get(e)??Error,rN=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&WE(e)){const u=Lue(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[p2]!==!0)return Due(e);const l=u=>rN({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Nue)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:WE(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function vC(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?rN({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function WE(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const $ue=()=>{le({actionCreator:hl.pending,effect:()=>{}})},Fue=()=>{le({actionCreator:hl.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Bue=()=>{le({actionCreator:hl.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem canceling session")}}})},jue=()=>{le({actionCreator:On.pending,effect:()=>{}})},Vue=()=>{le({actionCreator:On.fulfilled,effect:e=>{const t=fe("session"),n=e.payload;t.debug({session:ra(n)},`Session created (${n.id})`)}})},zue=()=>{le({actionCreator:On.rejected,effect:e=>{const t=fe("session");if(e.payload){const{error:n,status:r}=e.payload,i=ra(e.meta.arg);t.error({graph:i,status:r,error:vC(n)},"Problem creating session")}}})},Uue=()=>{le({actionCreator:yh.pending,effect:()=>{}})},Gue=()=>{le({actionCreator:yh.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Hue=()=>{le({actionCreator:yh.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem invoking session")}}})},que=()=>{le({actionCreator:pl,effect:(e,{getState:t,dispatch:n})=>{const r=fe("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(yh({session_id:i})))}})},Wue=()=>{le({actionCreator:n7,effect:(e,{dispatch:t,getState:n})=>{fe("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Df()),t(r7(e.payload)),t(xo.util.invalidateTags([{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be},{type:"LoRAModel",id:Be},{type:"ControlNetModel",id:Be},{type:"VaeModel",id:Be},{type:"TextualInversionModel",id:Be},{type:"ScannedModels",id:Be}])),t(gC.util.invalidateTags(["AppConfig","AppVersion"]))}})},Kue=()=>{le({actionCreator:i7,effect:(e,{dispatch:t})=>{fe("socketio").debug("Disconnected"),t(o7(e.payload))}})},Xue=()=>{le({actionCreator:g7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(m7(e.payload))}})},Yue=()=>{le({actionCreator:h7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Session complete"),t(p7(e.payload))}})},Que=["dataURL_image"],Zue=()=>{le({actionCreator:zx,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("socketio"),{data:i}=e.payload;r.debug({data:ra(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(hl({session_id:o}));const{result:l,node:u,graph_execution_state_id:c}=i;if(JM(l)&&!Que.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(he.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t($Q(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?he.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):he.util.updateQueryData("listImages",{board_id:"none",categories:gi},y=>{const g=y.total,_=Kn.addOne(y,p).total-g;y.total=y.total+_})),t(he.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(U_(m)),t(Am("images"))):m||t(Am("images")),t(Rs(p.image_name)))}t(yae(null))}t(d7(e.payload))}})},Jue=()=>{le({actionCreator:f7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(Ux(e.payload))}})},ece=()=>{le({actionCreator:_7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(w7(e.payload))}})},tce=()=>{le({actionCreator:u7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(c7(e.payload))}})},nce=()=>{le({actionCreator:y7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(ZZ(e.payload))}}),le({actionCreator:v7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(JZ(e.payload))}})},rce=()=>{le({actionCreator:b7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(S7(e.payload))}})},ice=()=>{le({actionCreator:Vx,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Subscribed"),t(s7(e.payload))}})},oce=()=>{le({actionCreator:a7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Unsubscribed"),t(l7(e.payload))}})},sce=()=>{le({actionCreator:Ele,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(he.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(he.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Ft({title:"Image Saved",status:"success"}))}catch(i){t(Ft({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},J5e=["sd-1","sd-2","sdxl","sdxl-refiner"],ace=["sd-1","sd-2","sdxl"],e4e=["sdxl-refiner"],lce=()=>{le({actionCreator:RR,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=xo.endpoints.getMainModels.select(ace)(t());if(!i){n(ja(null));return}const o=[];Qa(i.entities,u=>{u&&["sd-1","sd-2"].includes(u.base_model)&&o.push(u)});const s=o[0];if(!s){n(ja(null));return}const{base_model:a,model_name:l}=s;n(ja({base_model:a,model_name:l}))}}})},Fe="positive_conditioning",qe="negative_conditioning",dn="text_to_latents",nt="latents_to_image",fu="nsfw_checker",Qc="invisible_watermark",Le="noise",Fi="rand_int",Co="range_of_size",lr="iterate",pt="main_model_loader",Zc="vae_loader",uce="lora_loader",rt="clip_skip",bt="image_to_latents",Kt="latents_to_latents",Qn="resize_image",Mi="inpaint",Rp="control_net_collect",zb="dynamic_prompt",lt="metadata_accumulator",KE="esrgan",en="sdxl_model_loader",is="t2l_sdxl",Ni="l2l_sdxl",zl="sdxl_refiner_model_loader",Ip="sdxl_refiner_positive_conditioning",Mp="sdxl_refiner_negative_conditioning",ma="l2l_sdxl_refiner",bC="text_to_image_graph",cce="sdxl_text_to_image_graph",dce="sxdl_image_to_image_graph",Xm="image_to_image_graph",iN="inpaint_graph",fce=({image_name:e,esrganModelName:t})=>{const n={id:KE,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[KE]:n},edges:[]}},hce=ue("upscale/upscaleRequested"),pce=()=>{le({actionCreator:hce,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=fce({image_name:i,esrganModelName:o});t(On({graph:s})),await r(On.fulfilled.match),t(pl())}})},gce=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},XE=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var SC={exports:{}},nv={},oN={},Pe={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof Ee<"u"?Ee:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Pe);var Rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Pe;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,T=this.m[1]*_+this.m[3]*w,P=this.m[0]*-w+this.m[2]*_,E=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=T,this.m[2]=P,this.m[3]=E,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,T=this.m[2]+this.m[0]*b,P=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=T,this.m[3]=P,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],T=this.m[1]*b.m[2]+this.m[3]*b.m[3],P=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],E=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,T=this.m[0]*b,P=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),E=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],T=this.m[4],P=this.m[5],E=b*x-_*w;let A={x:T,y:P,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=E/$,A.skewX=(b*w+_*x)/E,A.skewY=0}else if(w!=0||x!=0){var M=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/M):-Math.acos(w/M)),A.scaleX=E/M,A.scaleY=M,A.skewX=0,A.skewY=(b*w+_*x)/E}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,T=Number(_[2])/100;let P,E,A;if(x===0)return A=T*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};T<.5?P=T*(1+x):P=T+x-T*x;const $=2*T-P,M=[0,0,0];for(let C=0;C<3;C++)E=w+1/3*-(C-1),E<0&&E++,E>1&&E--,6*E<1?A=$+(P-$)*6*E:2*E<1?A=P:3*E<2?A=$+(P-$)*(2/3-E)*6:A=$,M[C]=A*255;return{r:Math.round(M[0]),g:Math.round(M[1]),b:Math.round(M[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(P=_,E=w,A=(_-x)*(_-x)+(w-T)*(w-T)):(P=g+M*(_-g),E=b+M*(w-b),A=(P-x)*(P-x)+(E-T)*(E-T))}return[P,E,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(T,P){if(!(!_&&P===b.length-1)){var E=b[(P+1)%b.length],A=e.Util._getProjectionToSegment(T.x,T.y,E.x,E.y,g.x,g.y),$=A[0],M=A[1],C=A[2];Cb.length){var P=b;b=g,g=P}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,T=0,P=0,E=0;typeof w=="number"?x=T=P=E=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),T=Math.min(w[1]||0,b/2,_/2),E=Math.min(w[2]||0,b/2,_/2),P=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-T,0),g.arc(b-T,T,T,Math.PI*3/2,0,!1),g.lineTo(b,_-E),g.arc(b-E,_-E,E,0,Math.PI/2,!1),g.lineTo(P,_),g.arc(P,_-P,P,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Rt);var wt={},Te={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.getComponentValidator=de.getBooleanValidator=de.getNumberArrayValidator=de.getFunctionValidator=de.getStringOrGradientValidator=de.getStringValidator=de.getNumberOrAutoValidator=de.getNumberOrArrayOfNumbersValidator=de.getNumberValidator=de.alphaComponent=de.RGBComponent=void 0;const Ko=Pe,Nt=Rt;function Xo(e){return Nt.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nt.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function mce(e){return e>255?255:e<0?0:Math.round(e)}de.RGBComponent=mce;function yce(e){return e>1?1:e<1e-4?1e-4:e}de.alphaComponent=yce;function vce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isNumber(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}de.getNumberValidator=vce;function bce(e){if(Ko.Konva.isUnminified)return function(t,n){let r=Nt.Util._isNumber(t),i=Nt.Util._isArray(t)&&t.length==e;return!r&&!i&&Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}de.getNumberOrArrayOfNumbersValidator=bce;function Sce(){if(Ko.Konva.isUnminified)return function(e,t){var n=Nt.Util._isNumber(e),r=e==="auto";return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}de.getNumberOrAutoValidator=Sce;function _ce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isString(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}de.getStringValidator=_ce;function wce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Nt.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}de.getStringOrGradientValidator=wce;function xce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isFunction(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}de.getFunctionValidator=xce;function Cce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nt.Util._isArray(e)?e.forEach(function(r){Nt.Util._isNumber(r)||Nt.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}de.getNumberArrayValidator=Cce;function Tce(){if(Ko.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}de.getBooleanValidator=Tce;function Ece(e){if(Ko.Konva.isUnminified)return function(t,n){return t==null||Nt.Util.isObject(t)||Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}de.getComponentValidator=Ece;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Rt,n=de;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Te);var _i={},Ro={};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.HitContext=Ro.SceneContext=Ro.Context=void 0;const sN=Rt,Pce=Pe;function Ace(e){var t=[],n=e.length,r=sN.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=kce+u.join(YE)+Oce)):(o+=a.property,t||(o+=Dce+a.val)),o+=Mce;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=$ce&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=QE.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=Ace(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(ov);Object.defineProperty(wt,"__esModule",{value:!0});wt.Node=void 0;const ke=Rt,Ah=Te,Dp=_i,ya=Pe,Br=ov,zt=de;var bg="absoluteOpacity",Lp="allEventListeners",bo="absoluteTransform",ZE="absoluteScale",va="canvas",Hce="Change",qce="children",Wce="konva",g2="listening",JE="mouseenter",e6="mouseleave",t6="set",n6="Shape",Sg=" ",r6="stage",ss="transform",Kce="Stage",m2="visible",Xce=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(Sg);let Yce=1,Se=class y2{constructor(t){this._id=Yce++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===ss||t===bo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===ss||t===bo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(Sg);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(va)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===bo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(va)){const{scene:t,filter:n,hit:r}=this._cache.get(va);ke.Util.releaseCanvas(t,n,r),this._cache.delete(va)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){ke.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new Dp.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new Dp.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new Dp.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(va),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(bg),this._clearSelfAndDescendantCache(ZE),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(va,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(va)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==qce&&(r=t6+ke.Util._capitalize(n),ke.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(g2,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(m2,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Br.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!ya.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==Kce&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(ss),this._clearSelfAndDescendantCache(bo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ke.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(ss);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(ss),this._clearSelfAndDescendantCache(bo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ke.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ke.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ke.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(bg,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ke.Util.isObject(i)&&!ke.Util._isPlainObject(i)&&!ke.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ke.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ke.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():ya.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;Br.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Br.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Br.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ke.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ke.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=y2.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),ya.Konva[r]||(ke.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ya.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Ub.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Ub.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hY.indexOf("pointer")>=0?"pointer":Y.indexOf("touch")>=0?"touch":"mouse",U=Y=>{const B=j(Y);if(B==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(B==="touch")return L.touch;if(B==="mouse")return L.mouse};function G(Y={}){return(Y.clipFunc||Y.clipWidth||Y.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),Y}const W="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class X extends r.Container{constructor(B){super(G(B)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{G(this.attrs)}),this._checkVisibility()}_validateAdd(B){const H=B.getType()==="Layer",Q=B.getType()==="FastLayer";H||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const B=this.visible()?"":"none";this.content.style.display=B}setContainer(B){if(typeof B===c){if(B.charAt(0)==="."){var H=B.slice(1);B=document.getElementsByClassName(H)[0]}else{var Q;B.charAt(0)!=="#"?Q=B:Q=B.slice(1),B=document.getElementById(Q)}if(!B)throw"Can not find container in document with id "+Q}return this._setAttr("container",B),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),B.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var B=this.children,H=B.length,Q;for(Q=0;Q-1&&e.stages.splice(H,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const B=this._pointerPositions[0]||this._changedPointerPositions[0];return B?{x:B.x,y:B.y}:(t.Util.warn(W),null)}_getPointerById(B){return this._pointerPositions.find(H=>H.id===B)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(B){B=B||{},B.x=B.x||0,B.y=B.y||0,B.width=B.width||this.width(),B.height=B.height||this.height();var H=new o.SceneCanvas({width:B.width,height:B.height,pixelRatio:B.pixelRatio||1}),Q=H.getContext()._context,J=this.children;return(B.x||B.y)&&Q.translate(-1*B.x,-1*B.y),J.forEach(function(ne){if(ne.isVisible()){var te=ne._toKonvaCanvas(B);Q.drawImage(te._canvas,B.x,B.y,te.getWidth()/te.getPixelRatio(),te.getHeight()/te.getPixelRatio())}}),H}getIntersection(B){if(!B)return null;var H=this.children,Q=H.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const te=H[ne].getIntersection(B);if(te)return te}return null}_resizeDOM(){var B=this.width(),H=this.height();this.content&&(this.content.style.width=B+d,this.content.style.height=H+d),this.bufferCanvas.setSize(B,H),this.bufferHitCanvas.setSize(B,H),this.children.forEach(Q=>{Q.setSize({width:B,height:H}),Q.draw()})}add(B,...H){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),B.setSize({width:this.width(),height:this.height()}),B.draw(),i.Konva.isBrowser&&this.content.appendChild(B.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(B){return l.hasPointerCapture(B,this)}setPointerCapture(B){l.setPointerCapture(B,this)}releaseCapture(B){l.releaseCapture(B,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([B,H])=>{this.content.addEventListener(B,Q=>{this[H](Q)},{passive:!1})})}_pointerenter(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerenter,{evt:B,target:this,currentTarget:this})}_pointerover(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerover,{evt:B,target:this,currentTarget:this})}_getTargetShape(B){let H=this[B+"targetShape"];return H&&!H.getStage()&&(H=null),H}_pointerleave(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(H.pointerout,{evt:B}),J._fireAndBubble(H.pointerleave,{evt:B}),this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this._fire(H.pointerout,{evt:B,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=!1;this._changedPointerPositions.forEach(ne=>{var te=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(te&&te.isListening()))return;i.Konva.capturePointerEventsEnabled&&te.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=te,te._fireAndBubble(H.pointerdown,{evt:B,pointerId:ne.id}),J=!0;const ve=B.type.indexOf("touch")>=0;te.preventDefault()&&B.cancelable&&ve&&B.preventDefault()}),J||this._fire(H.pointerdown,{evt:B,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(B){const H=U(B.type),Q=j(B.type);if(!H)return;s.DD.isDragging&&s.DD.node.preventDefault()&&B.cancelable&&B.preventDefault(),this.setPointersPositions(B);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let te=!1;var xe=this._getTargetShape(Q);this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve),Ne=ve.id,se={evt:B,pointerId:Ne};var gt=xe!==ce;if(gt&&xe&&(xe._fireAndBubble(H.pointerout,Object.assign({},se),ce),xe._fireAndBubble(H.pointerleave,Object.assign({},se),ce)),ce){if(ne[ce._id])return;ne[ce._id]=!0}ce&&ce.isListening()?(te=!0,gt&&(ce._fireAndBubble(H.pointerover,Object.assign({},se),xe),ce._fireAndBubble(H.pointerenter,Object.assign({},se),xe),this[Q+"targetShape"]=ce),ce._fireAndBubble(H.pointermove,Object.assign({},se))):xe&&(this._fire(H.pointerover,{evt:B,target:this,currentTarget:this,pointerId:Ne}),this[Q+"targetShape"]=null)}),te||this._fire(H.pointermove,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(B){const H=U(B.type),Q=j(B.type);if(!H)return;this.setPointersPositions(B);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var te={};let xe=!1;this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve);if(ce){if(ce.releaseCapture(ve.id),te[ce._id])return;te[ce._id]=!0}const Ne=ve.id,se={evt:B,pointerId:Ne};let gt=!1;i.Konva["_"+Q+"InDblClickWindow"]?(gt=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),ce&&ce.isListening()?(xe=!0,this[Q+"ClickEndShape"]=ce,ce._fireAndBubble(H.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===ce&&(ce._fireAndBubble(H.pointerclick,Object.assign({},se)),gt&&ne&&ne===ce&&ce._fireAndBubble(H.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(H.pointerclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}),gt&&this._fire(H.pointerdblclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}))}),xe||this._fire(H.pointerup,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,B.cancelable&&Q!=="touch"&&B.preventDefault()}_contextmenu(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble($,{evt:B}):this._fire($,{evt:B,target:this,currentTarget:this})}_wheel(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble(N,{evt:B}):this._fire(N,{evt:B,target:this,currentTarget:this})}_pointercancel(B){this.setPointersPositions(B);const H=l.getCapturedShape(B.pointerId)||this.getIntersection(this.getPointerPosition());H&&H._fireAndBubble(_,l.createEvent(B)),l.releaseCapture(B.pointerId)}_lostpointercapture(B){l.releaseCapture(B.pointerId)}setPointersPositions(B){var H=this._getContentPosition(),Q=null,J=null;B=B||window.event,B.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(B.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})}),Array.prototype.forEach.call(B.changedTouches||B.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})})):(Q=(B.clientX-H.left)/H.scaleX,J=(B.clientY-H.top)/H.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}])}_setPointerPosition(B){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(B)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var B=this.content.getBoundingClientRect();return{top:B.top,left:B.left,scaleX:B.width/this.content.clientWidth||1,scaleY:B.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var B=this.container();if(!B)throw"Stage has no container. A container is required.";B.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),B.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(B){B.batchDraw()}),this}}e.Stage=X,X.prototype.nodeType=u,(0,a._registerNode)(X),n.Factory.addGetterSetter(X,"container")})(uN);var kh={},sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Pe,n=Rt,r=Te,i=wt,o=de,s=Pe,a=Tr;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(P){const E=this.attrs.fillRule;E?P.fill(E):P.fill()}function S(P){P.stroke()}function v(P){P.fill()}function y(P){P.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class T extends i.Node{constructor(E){super(E);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var E=p();const A=E.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const M=$.getMatrix(),C=typeof DOMMatrix>"u"?{a:M[0],b:M[1],c:M[2],d:M[3],e:M[4],f:M[5]}:new DOMMatrix(M);A.setTransform(C)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var E=this.fillLinearGradientColorStops();if(E){for(var A=p(),$=this.fillLinearGradientStartPoint(),M=this.fillLinearGradientEndPoint(),C=A.createLinearGradient($.x,$.y,M.x,M.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const E=this.hitStrokeWidth();return E==="auto"?this.hasStroke():this.strokeEnabled()&&!!E}intersects(E){var A=this.getStage(),$=A.bufferHitCanvas,M;return $.getContext().clear(),this.drawHit($,null,!0),M=$.context.getImageData(Math.round(E.x),Math.round(E.y),1,1).data,M[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(E){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const M=E||this.hasFill(),C=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(M&&C&&O)return!0;const I=this.hasShadow(),N=this.shadowForStrokeEnabled();return!!(M&&C&&I&&N)}setStrokeHitEnabled(E){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),E?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var E=this.size();return{x:this._centroid?-E.width/2:0,y:this._centroid?-E.height/2:0,width:E.width,height:E.height}}getClientRect(E={}){const A=E.skipTransform,$=E.relativeTo,M=this.getSelfRect(),O=!E.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=M.width+O,N=M.height+O,R=!E.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,j=I+Math.abs(D),U=N+Math.abs(L),G=R&&this.shadowBlur()||0,W=j+G*2,X=U+G*2,Y={width:W,height:X,x:-(O/2+G)+Math.min(D,0)+M.x,y:-(O/2+G)+Math.min(L,0)+M.y};return A?Y:this._transformedRect(Y,$)}drawScene(E,A){var $=this.getLayer(),M=E||$.getCanvas(),C=M.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),N=this.hasShadow(),R,D,L,j=M.isCache,U=A===this;if(!this.isVisible()&&!U)return this;if(O){C.save();var G=this.getAbsoluteTransform(A).getMatrix();return C.transform(G[0],G[1],G[2],G[3],G[4],G[5]),this._drawCachedSceneCanvas(C),C.restore(),this}if(!I)return this;if(C.save(),this._useBufferCanvas()&&!j){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var W=this.getAbsoluteTransform(A).getMatrix();L.transform(W[0],W[1],W[2],W[3],W[4],W[5]),I.call(this,L,this),L.restore();var X=D.pixelRatio;N&&C._applyShadow(this),C._applyOpacity(this),C._applyGlobalCompositeOperation(this),C.drawImage(D._canvas,0,0,D.width/X,D.height/X)}else{if(C._applyLineJoin(this),!U){var W=this.getAbsoluteTransform(A).getMatrix();C.transform(W[0],W[1],W[2],W[3],W[4],W[5]),C._applyOpacity(this),C._applyGlobalCompositeOperation(this)}N&&C._applyShadow(this),I.call(this,C,this)}return C.restore(),this}drawHit(E,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var M=this.getLayer(),C=E||M.hitCanvas,O=C&&C.getContext(),I=this.hitFunc()||this.sceneFunc(),N=this._getCanvasCache(),R=N&&N.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var j=this.getAbsoluteTransform(A).getMatrix();O.transform(j[0],j[1],j[2],j[3],j[4],j[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(E=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),M=A.hit,C=M.getContext(),O=M.getWidth(),I=M.getHeight(),N,R,D,L,j,U;C.clear(),C.drawImage($._canvas,0,0,O,I);try{for(N=C.getImageData(0,0,O,I),R=N.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),j=0;jE?(R[j]=L.r,R[j+1]=L.g,R[j+2]=L.b,R[j+3]=255):R[j+3]=0;C.putImageData(N,0,0)}catch(G){n.Util.error("Unable to draw hit graph from cached scene canvas. "+G.message)}return this}hasPointerCapture(E){return a.hasPointerCapture(E,this)}setPointerCapture(E){a.setPointerCapture(E,this)}releaseCapture(E){a.releaseCapture(E,this)}}e.Shape=T,T.prototype._fillFunc=m,T.prototype._strokeFunc=S,T.prototype._fillFuncHit=v,T.prototype._strokeFuncHit=y,T.prototype._centroid=!1,T.prototype.nodeType="Shape",(0,s._registerNode)(T),T.prototype.eventListeners={},T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(T,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(T,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(T,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"lineJoin"),r.Factory.addGetterSetter(T,"lineCap"),r.Factory.addGetterSetter(T,"sceneFunc"),r.Factory.addGetterSetter(T,"hitFunc"),r.Factory.addGetterSetter(T,"dash"),r.Factory.addGetterSetter(T,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(T,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(T,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternImage"),r.Factory.addGetterSetter(T,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(T,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(T,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(T,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(T,"fillEnabled",!0),r.Factory.addGetterSetter(T,"strokeEnabled",!0),r.Factory.addGetterSetter(T,"shadowEnabled",!0),r.Factory.addGetterSetter(T,"dashEnabled",!0),r.Factory.addGetterSetter(T,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(T,"fillPriority","color"),r.Factory.addComponentsGetterSetter(T,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(T,"fillPatternRotation",0),r.Factory.addGetterSetter(T,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(T,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(sn);Object.defineProperty(kh,"__esModule",{value:!0});kh.Layer=void 0;const go=Rt,Gb=gl,Ul=wt,wC=Te,i6=_i,tde=de,nde=sn,rde=Pe;var ide="#",ode="beforeDraw",sde="draw",fN=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],ade=fN.length;class vc extends Gb.Container{constructor(t){super(t),this.canvas=new i6.SceneCanvas,this.hitCanvas=new i6.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ode,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Gb.Container.prototype.drawScene.call(this,i,n),this._fire(sde,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Gb.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return go.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}kh.Layer=vc;vc.prototype.nodeType="Layer";(0,rde._registerNode)(vc);wC.Factory.addGetterSetter(vc,"imageSmoothingEnabled",!0);wC.Factory.addGetterSetter(vc,"clearBeforeDraw",!0);wC.Factory.addGetterSetter(vc,"hitGraphEnabled",!0,(0,tde.getBooleanValidator)());var av={};Object.defineProperty(av,"__esModule",{value:!0});av.FastLayer=void 0;const lde=Rt,ude=kh,cde=Pe;class xC extends ude.Layer{constructor(t){super(t),this.listening(!1),lde.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}av.FastLayer=xC;xC.prototype.nodeType="FastLayer";(0,cde._registerNode)(xC);var bc={};Object.defineProperty(bc,"__esModule",{value:!0});bc.Group=void 0;const dde=Rt,fde=gl,hde=Pe;class CC extends fde.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&dde.Util.throw("You may only add groups and shapes to groups.")}}bc.Group=CC;CC.prototype.nodeType="Group";(0,hde._registerNode)(CC);var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0});Sc.Animation=void 0;const Hb=Pe,o6=Rt;var qb=function(){return Hb.glob.performance&&Hb.glob.performance.now?function(){return Hb.glob.performance.now()}:function(){return new Date().getTime()}}();class Gi{constructor(t,n){this.id=Gi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:qb(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,T,P;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(T=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}lv.Arc=Yo;Yo.prototype._centroid=!0;Yo.prototype.className="Arc";Yo.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,gde._registerNode)(Yo);uv.Factory.addGetterSetter(Yo,"innerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"outerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"angle",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"clockwise",!1,(0,cv.getBooleanValidator)());var dv={},Oh={};Object.defineProperty(Oh,"__esModule",{value:!0});Oh.Line=void 0;const fv=Te,mde=sn,pN=de,yde=Pe;function v2(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function a6(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(gN);Object.defineProperty(_c,"__esModule",{value:!0});_c.Path=void 0;const vde=Te,bde=sn,Sde=Pe,Gl=gN;class Jt extends bde.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Jt.parsePathData(this.data()),this.pathLength=Jt.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=Jt.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Jt.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Jt.getPointOnCubicBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Jt.getPointOnQuadraticBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,Jt.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,T,P,E,A,$,M,C,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),N=p.shift();if(l+=I,u+=N,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+N;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,T,l,u);break;case"t":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,T,l,u);break;case"A":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break;case"a":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Jt;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,Gl.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Gl.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(E){return Math.sqrt(E[0]*E[0]+E[1]*E[1])},b=function(E,A){return(E[0]*A[0]+E[1]*A[1])/(g(E)*g(A))},_=function(E,A){return(E[0]*A[1]=1&&(P=0),s===0&&P>0&&(P=P-2*Math.PI),s===1&&P<0&&(P=P+2*Math.PI),[v,y,a,l,w,P,c,s]}}_c.Path=Jt;Jt.prototype.className="Path";Jt.prototype._attrsAffectingSize=["data"];(0,Sde._registerNode)(Jt);vde.Factory.addGetterSetter(Jt,"data");Object.defineProperty(dv,"__esModule",{value:!0});dv.Arrow=void 0;const hv=Te,_de=Oh,mN=de,wde=Pe,l6=_c;class yl extends _de.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=l6.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=l6.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}dv.Arrow=yl;yl.prototype.className="Arrow";(0,wde._registerNode)(yl);hv.Factory.addGetterSetter(yl,"pointerLength",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerWidth",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerAtBeginning",!1);hv.Factory.addGetterSetter(yl,"pointerAtEnding",!0);var pv={};Object.defineProperty(pv,"__esModule",{value:!0});pv.Circle=void 0;const xde=Te,Cde=sn,Tde=de,Ede=Pe;let wc=class extends Cde.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};pv.Circle=wc;wc.prototype._centroid=!0;wc.prototype.className="Circle";wc.prototype._attrsAffectingSize=["radius"];(0,Ede._registerNode)(wc);xde.Factory.addGetterSetter(wc,"radius",0,(0,Tde.getNumberValidator)());var gv={};Object.defineProperty(gv,"__esModule",{value:!0});gv.Ellipse=void 0;const TC=Te,Pde=sn,yN=de,Ade=Pe;class oa extends Pde.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}gv.Ellipse=oa;oa.prototype.className="Ellipse";oa.prototype._centroid=!0;oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,Ade._registerNode)(oa);TC.Factory.addComponentsGetterSetter(oa,"radius",["x","y"]);TC.Factory.addGetterSetter(oa,"radiusX",0,(0,yN.getNumberValidator)());TC.Factory.addGetterSetter(oa,"radiusY",0,(0,yN.getNumberValidator)());var mv={};Object.defineProperty(mv,"__esModule",{value:!0});mv.Image=void 0;const Wb=Rt,vl=Te,kde=sn,Ode=Pe,Rh=de;let ao=class vN extends kde.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Wb.Util.createImageElement();i.onload=function(){var o=new vN({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};mv.Image=ao;ao.prototype.className="Image";(0,Ode._registerNode)(ao);vl.Factory.addGetterSetter(ao,"cornerRadius",0,(0,Rh.getNumberOrArrayOfNumbersValidator)(4));vl.Factory.addGetterSetter(ao,"image");vl.Factory.addComponentsGetterSetter(ao,"crop",["x","y","width","height"]);vl.Factory.addGetterSetter(ao,"cropX",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropY",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropWidth",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropHeight",0,(0,Rh.getNumberValidator)());var oc={};Object.defineProperty(oc,"__esModule",{value:!0});oc.Tag=oc.Label=void 0;const yv=Te,Rde=sn,Ide=bc,EC=de,bN=Pe;var SN=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Mde="Change.konva",Nde="none",b2="up",S2="right",_2="down",w2="left",Dde=SN.length;class PC extends Ide.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bv.RegularPolygon=Sl;Sl.prototype.className="RegularPolygon";Sl.prototype._centroid=!0;Sl.prototype._attrsAffectingSize=["radius"];(0,zde._registerNode)(Sl);_N.Factory.addGetterSetter(Sl,"radius",0,(0,wN.getNumberValidator)());_N.Factory.addGetterSetter(Sl,"sides",0,(0,wN.getNumberValidator)());var Sv={};Object.defineProperty(Sv,"__esModule",{value:!0});Sv.Ring=void 0;const xN=Te,Ude=sn,CN=de,Gde=Pe;var u6=Math.PI*2;class _l extends Ude.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,u6,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),u6,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}Sv.Ring=_l;_l.prototype.className="Ring";_l.prototype._centroid=!0;_l.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,Gde._registerNode)(_l);xN.Factory.addGetterSetter(_l,"innerRadius",0,(0,CN.getNumberValidator)());xN.Factory.addGetterSetter(_l,"outerRadius",0,(0,CN.getNumberValidator)());var _v={};Object.defineProperty(_v,"__esModule",{value:!0});_v.Sprite=void 0;const wl=Te,Hde=sn,qde=Sc,TN=de,Wde=Pe;class lo extends Hde.Shape{constructor(t){super(t),this._updated=!0,this.anim=new qde.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Fp;function Xb(){return Fp||(Fp=x2.Util.createCanvasElement().getContext(efe),Fp)}function dfe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function ffe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function hfe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Ut extends Yde.Shape{constructor(t){super(hfe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=x2.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(tfe,n),this}getWidth(){var t=this.attrs.width===Hl||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Hl||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return x2.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Xb(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+$p+this.fontVariant()+$p+(this.fontSize()+ofe)+cfe(this.fontFamily())}_addTextLine(t){this.align()===Jc&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Xb().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==Hl&&o!==void 0,l=s!==Hl&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==f6,m=h!==lfe&&p,S=this.ellipsis();this.textArr=[],Xb().font=this._getContextFont();for(var v=S?this._getTextWidth(Kb):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,T="",P=0;w>>1,A=b.slice(0,E+1),$=this._getTextWidth(A)+v;$<=c?(w=E+1,T=A,P=$):x=E}if(T){if(m){var M,C=b[T.length],O=C===$p||C===c6;O&&P<=c?M=T.length:M=Math.max(T.lastIndexOf($p),T.lastIndexOf(c6))+1,M>0&&(w=M,T=T.slice(0,w),P=this._getTextWidth(T))}T=T.trimRight(),this._addTextLine(T),r=Math.max(r,P),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Hl&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==f6;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Hl&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Kb)n?null:ed.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=ed.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${NN}`).join(" "),g6="nodesRect",_fe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],wfe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const xfe="ontouchstart"in si.Konva._global;function Cfe(e,t){if(e==="rotater")return"crosshair";t+=Qe.Util.degToRad(wfe[e]||0);var n=(Qe.Util.radToDeg(t)%360+360)%360;return Qe.Util._inRange(n,315+22.5,360)||Qe.Util._inRange(n,0,22.5)?"ns-resize":Qe.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":Qe.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":Qe.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":Qe.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":Qe.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":Qe.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":Qe.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(Qe.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var Qm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],m6=1e8;function Tfe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function DN(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Efe(e,t){const n=Tfe(e);return DN(e,t,n)}function Pfe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Qe.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(_fe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(g6),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(g6,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(si.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return DN(c,-si.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-m6,y:-m6,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new Qe.Transform;r.rotate(-si.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:si.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Qm.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new vfe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:xfe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=si.Konva.getAngle(this.rotation()),o=Cfe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new yfe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*Qe.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let M=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(M-=Math.PI);var f=si.Konva.getAngle(this.rotation());const C=f+M,O=si.Konva.getAngle(this.rotationSnapTolerance()),N=Pfe(this.rotationSnaps(),C,O)-d.rotation,R=Efe(d,N);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Qe.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Qe.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new Qe.Transform;if(s.rotate(si.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:Qe.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new Qe.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new Qe.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new Qe.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(Qe.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Qe.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Qe.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),p6.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return h6.Node.prototype.toObject.call(this)}clone(t){var n=h6.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Cv.Transformer=ze;function Afe(e){return e instanceof Array||Qe.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Qm.indexOf(t)===-1&&Qe.Util.warn("Unknown anchor name: "+t+". Available names are: "+Qm.join(", "))}),e||[]}ze.prototype.className="Transformer";(0,bfe._registerNode)(ze);Ye.Factory.addGetterSetter(ze,"enabledAnchors",Qm,Afe);Ye.Factory.addGetterSetter(ze,"flipEnabled",!0,(0,la.getBooleanValidator)());Ye.Factory.addGetterSetter(ze,"resizeEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorSize",10,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotateEnabled",!0);Ye.Factory.addGetterSetter(ze,"rotationSnaps",[]);Ye.Factory.addGetterSetter(ze,"rotateAnchorOffset",50,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotationSnapTolerance",5,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"anchorStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"anchorFill","white");Ye.Factory.addGetterSetter(ze,"anchorCornerRadius",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"borderStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderDash");Ye.Factory.addGetterSetter(ze,"keepRatio",!0);Ye.Factory.addGetterSetter(ze,"shiftBehavior","default");Ye.Factory.addGetterSetter(ze,"centeredScaling",!1);Ye.Factory.addGetterSetter(ze,"ignoreStroke",!1);Ye.Factory.addGetterSetter(ze,"padding",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"node");Ye.Factory.addGetterSetter(ze,"nodes");Ye.Factory.addGetterSetter(ze,"boundBoxFunc");Ye.Factory.addGetterSetter(ze,"anchorDragBoundFunc");Ye.Factory.addGetterSetter(ze,"anchorStyleFunc");Ye.Factory.addGetterSetter(ze,"shouldOverdrawWholeArea",!1);Ye.Factory.addGetterSetter(ze,"useSingleNodeRotation",!0);Ye.Factory.backCompat(ze,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Tv={};Object.defineProperty(Tv,"__esModule",{value:!0});Tv.Wedge=void 0;const Ev=Te,kfe=sn,Ofe=Pe,LN=de,Rfe=Pe;class Qo extends kfe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Ofe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Tv.Wedge=Qo;Qo.prototype.className="Wedge";Qo.prototype._centroid=!0;Qo.prototype._attrsAffectingSize=["radius"];(0,Rfe._registerNode)(Qo);Ev.Factory.addGetterSetter(Qo,"radius",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"angle",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"clockwise",!1);Ev.Factory.backCompat(Qo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var Pv={};Object.defineProperty(Pv,"__esModule",{value:!0});Pv.Blur=void 0;const y6=Te,Ife=wt,Mfe=de;function v6(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Nfe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Dfe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Lfe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,T,P,E,A,$,M=t+t+1,C=r-1,O=i-1,I=t+1,N=I*(I+1)/2,R=new v6,D=null,L=R,j=null,U=null,G=Nfe[t],W=Dfe[t];for(a=1;a>W,A!==0?(A=255/A,n[c]=(f*G>>W)*A,n[c+1]=(h*G>>W)*A,n[c+2]=(p*G>>W)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=d+((l=o+t+1)>W,A>0?(A=255/A,n[l]=(f*G>>W)*A,n[l+1]=(h*G>>W)*A,n[l+2]=(p*G>>W)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=o+((l=s+I)0&&Lfe(t,n)};Pv.Blur=$fe;y6.Factory.addGetterSetter(Ife.Node,"blurRadius",0,(0,Mfe.getNumberValidator)(),y6.Factory.afterSetFilter);var Av={};Object.defineProperty(Av,"__esModule",{value:!0});Av.Brighten=void 0;const b6=Te,Ffe=wt,Bfe=de,jfe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};kv.Contrast=Ufe;S6.Factory.addGetterSetter(Vfe.Node,"contrast",0,(0,zfe.getNumberValidator)(),S6.Factory.afterSetFilter);var Ov={};Object.defineProperty(Ov,"__esModule",{value:!0});Ov.Emboss=void 0;const Ws=Te,Rv=wt,Gfe=Rt,$N=de,Hfe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Gfe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,T=b>0?b:-b,P=_>0?_:-_;if(T>x&&(w=b),P>x&&(w=_),w*=t,i){var E=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=E>255?255:E<0?0:E,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var M=n-w;M<0?M=0:M>255&&(M=255),a[S]=a[S+1]=a[S+2]=M}}while(--m)}while(--d)};Ov.Emboss=Hfe;Ws.Factory.addGetterSetter(Rv.Node,"embossStrength",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossWhiteLevel",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossDirection","top-left",null,Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossBlend",!1,null,Ws.Factory.afterSetFilter);var Iv={};Object.defineProperty(Iv,"__esModule",{value:!0});Iv.Enhance=void 0;const _6=Te,qfe=wt,Wfe=de;function Zb(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const Kfe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,T;for(_=0;_g?y:g;var b=s,_=o,w,x,T=n.polarRotation||0,P,E;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function uhe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};jv.Pixelate=yhe;T6.Factory.addGetterSetter(ghe.Node,"pixelSize",8,(0,mhe.getNumberValidator)(),T6.Factory.afterSetFilter);var Vv={};Object.defineProperty(Vv,"__esModule",{value:!0});Vv.Posterize=void 0;const E6=Te,vhe=wt,bhe=de,She=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"blue",0,_he.RGBComponent,Jm.Factory.afterSetFilter);var Uv={};Object.defineProperty(Uv,"__esModule",{value:!0});Uv.RGBA=void 0;const Bf=Te,Gv=wt,xhe=de,Che=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"blue",0,xhe.RGBComponent,Bf.Factory.afterSetFilter);Bf.Factory.addGetterSetter(Gv.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var Hv={};Object.defineProperty(Hv,"__esModule",{value:!0});Hv.Sepia=void 0;const The=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};qv.Solarize=Ehe;var Wv={};Object.defineProperty(Wv,"__esModule",{value:!0});Wv.Threshold=void 0;const P6=Te,Phe=wt,Ahe=de,khe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new nd.Stage({container:o,width:r,height:i}),a=new nd.Layer,l=new nd.Layer;return a.add(new nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},gpe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),O6=async(e,t)=>{const n=e.toDataURL(t);return await gpe(n,t.width,t.height)},mpe=async(e,t,n,r,i)=>{const o=fe("canvas"),s=tv(),a=Ple();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await Km(u,d),h=await O6(u,d),p=await ppe(r?e.objects.filter(MR):[],l,i),m=await Km(p,l),S=await O6(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},ype=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=ype(e.data),i=vpe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},Spe=e=>oR(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Kv=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Spe(i),s=t.nodes[lt];if(r&&o.length&&o.length){const a={id:Rp,type:"collect",is_intermediate:!0};t.nodes[Rp]=a,t.edges.push({source:{node_id:Rp,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=_0(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Rp,field:"item"}})})}},xc=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[lt];if(a){rY(t.nodes[Fe],"prompt");const c={id:zb,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[zb]=c,t.nodes[lr]=d,t.edges.push({source:{node_id:zb,field:"prompt_collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Fe,field:"prompt"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"positive_prompt"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:lt,field:"seed"}})}else t.nodes[Le].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Co,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[lr]=d,t.nodes[Co]=c,t.edges.push({source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}}),t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"seed"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else c.start=i}},Mh=(e,t,n)=>{const{loras:r}=e.lora,i=hR(r),o=t.nodes[lt];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===pt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===rt&&["clip"].includes(l.source.field))));let s="",a=0;Qa(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${uce}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:pt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:rt,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Fe,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:qe,field:"clip"}})),s=f,a+=1})},jN=Jn(e=>e.ui,e=>AR[e.activeTab],{memoizeOptions:{equalityCheck:S0}}),r4e=Jn(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:S0}}),i4e=Jn(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:S0}}),xl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[lt];if(!o)return;o.is_intermediate=!0;const a={id:fu,type:"img_nsfw",is_intermediate:i};t.nodes[fu]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:fu,field:"image"}}),s&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:fu,field:"metadata"}})},Nh=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[lt];r||(t.nodes[Zc]={type:"vae_loader",id:Zc,is_intermediate:!0,vae_model:n}),(t.id===bC||t.id===Xm)&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:nt,field:"vae"}}),t.id===Xm&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.id===iN&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:Mi,field:"vae"}}),n&&i&&(i.vae=n)},Cl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[fu],a=t.nodes[lt];if(!o)return;const l={id:Qc,type:"img_watermark",is_intermediate:i};t.nodes[Qc]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:fu,field:"image"},destination:{node_id:Qc,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Qc,field:"image"}}),a&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:Qc,field:"metadata"}})},_pe=(e,t)=>{const n=fe("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f}=e.generation,{width:h,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:m}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const S=f?d:Wo.shouldUseCpuNoise,v={id:Xm,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:r},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:i},[Le]:{type:"noise",id:Le,is_intermediate:!0,use_cpu:S},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:o},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:c},[Kt]:{type:"l2l",id:Kt,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[bt]:{type:"i2l",id:bt,is_intermediate:!0},[nt]:{type:"l2i",id:nt,is_intermediate:!m}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(t.width!==h||t.height!==p){const y={id:Qn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:h,height:p};v.nodes[Qn]=y,v.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),v.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else v.nodes[bt].image={image_name:t.image_name},v.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return v.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:p,width:h,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:S?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:c,strength:u,init_image:t.image_name},Mh(e,v,Kt),Nh(e,v),xc(e,v),Kv(e,v,Kt),e.system.shouldUseNSFWChecker&&xl(e,v),e.system.shouldUseWatermarker&&Cl(e,v),v},wpe=(e,t,n)=>{const r=fe("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:c,shouldFitToWidthHeight:d,iterations:f,seed:h,shouldRandomizeSeed:p,seamSize:m,seamBlur:S,seamSteps:v,seamStrength:y,tileSize:g,infillMethod:b,clipSkip:_}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:w,height:x}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:T,boundingBoxScaleMethod:P,shouldAutoSave:E}=e.canvas,A={id:iN,nodes:{[Mi]:{is_intermediate:!E,type:"inpaint",id:Mi,steps:u,width:w,height:x,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:c,fit:d,mask:{image_name:n.image_name},seam_size:m,seam_blur:S,seam_strength:y,seam_steps:v,tile_size:b==="tile"?g:void 0,infill_method:b,inpaint_width:P!=="none"?T.width:void 0,inpaint_height:P!=="none"?T.height:void 0},[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:i},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:o},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:s},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:_},[Co]:{type:"range_of_size",id:Co,is_intermediate:!0,size:f,step:1},[lr]:{type:"iterate",id:lr,is_intermediate:!0}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Mi,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Mi,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Mi,field:"positive_conditioning"}},{source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Mi,field:"seed"}}]};if(Mh(e,A,Mi),Nh(e,A),p){const $={id:Fi,type:"rand_int"};A.nodes[Fi]=$,A.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else A.nodes[Co].start=h;return e.system.shouldUseNSFWChecker&&xl(e,A,Mi),e.system.shouldUseWatermarker&&Cl(e,A,Mi),A},xpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:c}=e.generation,{width:d,height:f}=e.canvas.boundingBoxDimensions,{shouldAutoSave:h}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const p=c?u:Wo.shouldUseCpuNoise,m={id:bC,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:n},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:r},[Le]:{type:"noise",id:Le,is_intermediate:!0,width:d,height:f,use_cpu:p},[dn]:{type:"t2l",id:dn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:i},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:l},[nt]:{type:"l2i",id:nt,is_intermediate:!h}},edges:[{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Cpe=(e,t,n,r)=>{let i;if(t==="txt2img")i=xpe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=_pe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=wpe(e,n,r)}return i},Tpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:c}=o.canvas,d=await mpe(s,a,l,u,c);if(!d){i.error("Unable to create canvas data");return}const{baseBlob:f,baseImageData:h,maskBlob:p,maskImageData:m}=d,S=bpe(h,m);if(o.system.enableImageDebugging){const x=await XE(f),T=await XE(p);gce([{base64:T,caption:"mask b64"},{base64:x,caption:"image b64"}])}i.debug(`Generation mode: ${S}`);let v,y;["img2img","inpaint","outpaint"].includes(S)&&(v=await n(he.endpoints.uploadImage.initiate({file:new File([f],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(S)&&(y=await n(he.endpoints.uploadImage.initiate({file:new File([p],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const g=Cpe(o,S,v,y);i.debug({graph:ra(g)},"Canvas graph built"),n(KM(g));const{requestId:b}=n(On({graph:g})),[_]=await r(x=>On.fulfilled.match(x)&&x.meta.requestId===b),w=_.payload.id;["img2img","inpaint"].includes(S)&&v&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:v,session_id:w})),["inpaint"].includes(S)&&y&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:y,session_id:w})),o.canvas.layerState.stagingArea.boundingBox||n(jQ({sessionId:w,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(VQ(w)),n(pl())}})},Epe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:c,width:d,height:f,clipSkip:h,shouldUseCpuNoise:p,shouldUseNoiseSettings:m,vaePrecision:S}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=m?p:Wo.shouldUseCpuNoise,y={id:Xm,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:h},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,use_cpu:v},[nt]:{type:"l2i",id:nt,fp32:S==="fp32"},[Kt]:{type:"l2l",id:Kt,cfg_scale:o,scheduler:s,steps:a,strength:u},[bt]:{type:"i2l",id:bt,fp32:S==="fp32"}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(c&&(l.width!==d||l.height!==f)){const g={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};y.nodes[Qn]=g,y.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),y.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else y.nodes[bt].image={image_name:l.imageName},y.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return y.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:v?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:h,strength:u,init_image:l.imageName},Mh(e,y,Kt),Nh(e,y),xc(e,y),Kv(e,y,Kt),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},VN=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:c,refinerCFGScale:d,refinerStart:f}=e.sdxl;if(!o)return;const h=t.nodes[lt];h&&(h.refiner_model=o,h.refiner_aesthetic_store=s,h.refiner_cfg_scale=d,h.refiner_scheduler=c,h.refiner_start=f,h.refiner_steps=u),t.edges=t.edges.filter(p=>!(p.source.node_id===n&&["latents"].includes(p.source.field))),t.edges=t.edges.filter(p=>!(p.source.node_id===en&&["vae"].includes(p.source.field))),n===Ni&&t.edges.push({source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.nodes[zl]={type:"sdxl_refiner_model_loader",id:zl,model:o},t.nodes[Ip]={type:"sdxl_refiner_compel_prompt",id:Ip,style:`${r} ${a}`,aesthetic_score:s},t.nodes[Mp]={type:"sdxl_refiner_compel_prompt",id:Mp,style:`${i} ${l}`,aesthetic_score:s},t.nodes[ma]={type:"l2l_sdxl",id:ma,cfg_scale:d,steps:u/(1-Math.min(f,.99)),scheduler:c,denoising_start:f,denoising_end:1},t.edges.push({source:{node_id:zl,field:"unet"},destination:{node_id:ma,field:"unet"}},{source:{node_id:zl,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Ip,field:"clip2"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Mp,field:"clip2"}},{source:{node_id:Ip,field:"conditioning"},destination:{node_id:ma,field:"positive_conditioning"}},{source:{node_id:Mp,field:"conditioning"},destination:{node_id:ma,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:ma,field:"latents"}},{source:{node_id:ma,field:"latents"},destination:{node_id:nt,field:"latents"}})},Ppe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p,vaePrecision:m}=e.generation,{positiveStylePrompt:S,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:y,shouldUseSDXLRefiner:g,refinerStart:b,sdxlImg2ImgDenoisingStrength:_}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const w=p?h:Wo.shouldUseCpuNoise,x={id:dce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:y?`${n} ${S}`:S},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:y?`${r} ${v}`:v},[Le]:{type:"noise",id:Le,use_cpu:w},[nt]:{type:"l2i",id:nt,fp32:m==="fp32"},[Ni]:{type:"l2l_sdxl",id:Ni,cfg_scale:o,scheduler:s,steps:a,denoising_start:g?Math.min(b,1-_):1-_,denoising_end:g?b:1},[bt]:{type:"i2l",id:bt,fp32:m==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:Ni,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Ni,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Ni,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Ni,field:"noise"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Ni,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Ni,field:"negative_conditioning"}}]};if(u&&(l.width!==c||l.height!==d)){const T={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:c,height:d};x.nodes[Qn]=T,x.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),x.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),x.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else x.nodes[bt].image={image_name:l.imageName},x.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),x.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return x.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:d,width:c,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:w?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:_,init_image:l.imageName,positive_style_prompt:S,negative_style_prompt:v},x.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),g&&VN(e,x,Ni),xc(e,x),e.system.shouldUseNSFWChecker&&xl(e,x),e.system.shouldUseWatermarker&&Cl(e,x),x},Ape=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=Ppe(o):a=Epe(o),n(WM(a)),i.debug({graph:ra(a)},"Image to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})};let jp;const kpe=new Uint8Array(16);function Ope(){if(!jp&&(jp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!jp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return jp(kpe)}const Cn=[];for(let e=0;e<256;++e)Cn.push((e+256).toString(16).slice(1));function Rpe(e,t=0){return(Cn[e[t+0]]+Cn[e[t+1]]+Cn[e[t+2]]+Cn[e[t+3]]+"-"+Cn[e[t+4]]+Cn[e[t+5]]+"-"+Cn[e[t+6]]+Cn[e[t+7]]+"-"+Cn[e[t+8]]+Cn[e[t+9]]+"-"+Cn[e[t+10]]+Cn[e[t+11]]+Cn[e[t+12]]+Cn[e[t+13]]+Cn[e[t+14]]+Cn[e[t+15]]).toLowerCase()}const Ipe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),R6={randomUUID:Ipe};function Mpe(e,t,n){if(R6.randomUUID&&!t&&!e)return R6.randomUUID();e=e||{};const r=e.random||(e.rng||Ope)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Rpe(r)}const Npe=e=>{if(e.type==="color"&&e.value){const t=Ln(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},Dpe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:c}=l,{type:d,inputs:f}=c,h=Lx(f,(m,S,v)=>{const y=Npe(S);return m[v]=y,m},{}),p={type:d,id:u,...h};return Object.assign(a,{[u]:p}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:c,sourceHandle:d,targetHandle:f}=l;return a.push({source:{node_id:u,field:d},destination:{node_id:c,field:f}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=_0(l,u)}),{id:Mpe(),nodes:i,edges:o}},Lpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=Dpe(o);n(XM(s)),i.debug({graph:ra(s)},"Nodes graph built"),n(On({graph:s})),await r(On.fulfilled.match),n(pl())}})},$pe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,{positiveStylePrompt:p,negativeStylePrompt:m,shouldConcatSDXLStylePrompt:S,shouldUseSDXLRefiner:v,refinerStart:y}=e.sdxl,g=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const b={id:cce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:S?`${n} ${p}`:p},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:S?`${r} ${m}`:m},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:g},[is]:{type:"t2l_sdxl",id:is,cfg_scale:o,scheduler:s,steps:a,denoising_end:v?y:1},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:is,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:is,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:is,field:"negative_conditioning"}},{source:{node_id:Le,field:"noise"},destination:{node_id:is,field:"noise"}},{source:{node_id:is,field:"latents"},destination:{node_id:nt,field:"latents"}}]};return b.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:g?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c,positive_style_prompt:p,negative_style_prompt:m},b.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),v&&VN(e,b,is),xc(e,b),e.system.shouldUseNSFWChecker&&xl(e,b),e.system.shouldUseWatermarker&&Cl(e,b),b},Fpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,p=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m={id:bC,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:c},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:p},[dn]:{type:"t2l",id:dn,cfg_scale:o,scheduler:s,steps:a},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Bpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=$pe(o):a=Fpe(o),n(qM(a)),i.debug({graph:ra(a)},"Text to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})},zN=Wk(),le=zN.startListening;Yle();Qle();eue();zle();Ule();Gle();Hle();Sle();Xle();Tpe();Lpe();Bpe();Ape();que();Dle();Ile();Ole();Nle();sce();ple();Xue();Yue();Zue();Jue();tce();Wue();Kue();ice();oce();nce();rce();ece();jue();Vue();zue();Uue();Gue();Hue();$ue();Fue();Bue();Fle();$le();Ble();jle();Wle();Kle();_le();Rue();qle();tue();vle();rue();mle();gle();pce();lce();const jpe={canvas:zQ,gallery:lJ,generation:SQ,nodes:qse,postprocessing:Wse,system:Sae,config:oY,ui:wQ,hotkeys:Cae,controlNet:rJ,boards:aJ,dynamicPrompts:oJ,imageDeletion:fJ,lora:pJ,modelmanager:xae,sdxl:Yse,[Hs.reducerPath]:Hs.reducer},Vpe=pc(jpe),zpe=Xae(Vpe),Upe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],Gpe=Pk({reducer:zpe,enhancers:e=>e.concat(Yae(window.localStorage,Upe,{persistDebounce:300,serialize:ale,unserialize:ule,prefix:Qae})).concat(Xk()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hs.middleware).concat(Aae).prepend(zN.middleware),devTools:{actionSanitizer:dle,stateSanitizer:hle,trace:!0,predicate:(e,t)=>!fle.includes(t.type)}}),o4e=e=>e;function Hpe(e){if(e.sheet)return e.sheet;for(var t=0;t0?Pn(Cc,--Sr):0,lc--,Xt===10&&(lc=1,Yv--),Xt}function Ar(){return Xt=Sr2||Vf(Xt)>3?"":" "}function ige(e,t){for(;--t&&Ar()&&!(Xt<48||Xt>102||Xt>57&&Xt<65||Xt>70&&Xt<97););return Dh(e,_g()+(t<6&&Zi()==32&&Ar()==32))}function T2(e){for(;Ar();)switch(Xt){case e:return Sr;case 34:case 39:e!==34&&e!==39&&T2(Xt);break;case 40:e===41&&T2(e);break;case 92:Ar();break}return Sr}function oge(e,t){for(;Ar()&&e+Xt!==47+10;)if(e+Xt===42+42&&Zi()===47)break;return"/*"+Dh(t,Sr-1)+"*"+Xv(e===47?e:Ar())}function sge(e){for(;!Vf(Zi());)Ar();return Dh(e,Sr)}function age(e){return KN(xg("",null,null,null,[""],e=WN(e),0,[0],e))}function xg(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=Ar()){case 40:if(p!=108&&Pn(x,d-1)==58){C2(x+=He(wg(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=wg(y);break;case 9:case 10:case 13:case 32:x+=rge(p);break;case 92:x+=ige(_g()-1,7);continue;case 47:switch(Zi()){case 42:case 47:Vp(lge(oge(Ar(),_g()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=Bi(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=He(x,/\f/g,"")),h>0&&Bi(x)-d&&Vp(h>32?M6(x+";",r,n,d-1):M6(He(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(Vp(w=I6(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)xg(x,t,w,w,b,o,d,a,_);else switch(f===99&&Pn(x,3)===110?100:f){case 100:case 108:case 109:case 115:xg(e,w,w,r&&Vp(I6(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:xg(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+Bi(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&nge()==125)continue}switch(x+=Xv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(Bi(x)-1)*v,v=1;break;case 64:Zi()===45&&(x+=wg(Ar())),f=Zi(),c=d=Bi(g=x+=sge(_g())),y++;break;case 45:p===45&&Bi(x)==2&&(m=0)}}return o}function I6(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=$C(f),p=0,m=0,S=0;p0?f[v]+" "+y:He(y,/&\f/g,f[v])))&&(l[S++]=g);return Qv(e,t,n,i===0?DC:a,l,u,c)}function lge(e,t,n){return Qv(e,t,n,UN,Xv(tge()),jf(e,2,-2),0)}function M6(e,t,n,r){return Qv(e,t,n,LC,jf(e,0,r),jf(e,r+1,-1),r)}function Lu(e,t){for(var n="",r=$C(e),i=0;i6)switch(Pn(e,t+1)){case 109:if(Pn(e,t+4)!==45)break;case 102:return He(e,/(.+:)(.+)-([^]+)/,"$1"+Ge+"$2-$3$1"+ey+(Pn(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~C2(e,"stretch")?YN(He(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Pn(e,t+1)!==115)break;case 6444:switch(Pn(e,Bi(e)-3-(~C2(e,"!important")&&10))){case 107:return He(e,":",":"+Ge)+e;case 101:return He(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ge+(Pn(e,14)===45?"inline-":"")+"box$3$1"+Ge+"$2$3$1"+Dn+"$2box$3")+e}break;case 5936:switch(Pn(e,t+11)){case 114:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Ge+e+Dn+e+e}return e}var yge=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case LC:t.return=YN(t.value,t.length);break;case GN:return Lu([rd(t,{value:He(t.value,"@","@"+Ge)})],i);case DC:if(t.length)return ege(t.props,function(o){switch(Jpe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Lu([rd(t,{props:[He(o,/:(read-\w+)/,":"+ey+"$1")]})],i);case"::placeholder":return Lu([rd(t,{props:[He(o,/:(plac\w+)/,":"+Ge+"input-$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,":"+ey+"$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,Dn+"input-$1")]})],i)}return""})}},vge=[yge],bge=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||vge,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var xge={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Cge=/[A-Z]|^ms/g,Tge=/_EMO_([^_]+?)_([^]*?)_EMO_/g,JN=function(t){return t.charCodeAt(1)===45},L6=function(t){return t!=null&&typeof t!="boolean"},Jb=XN(function(e){return JN(e)?e:e.replace(Cge,"-$&").toLowerCase()}),$6=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Tge,function(r,i,o){return ji={name:i,styles:o,next:ji},i})}return xge[t]!==1&&!JN(t)&&typeof n=="number"&&n!==0?n+"px":n};function zf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return ji={name:n.name,styles:n.styles,next:ji},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ji={name:r.name,styles:r.styles,next:ji},r=r.next;var i=n.styles+";";return i}return Ege(e,t,n)}case"function":{if(e!==void 0){var o=ji,s=n(e);return ji=o,zf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function Ege(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var iD=k.createContext({});iD.displayName="ColorModeContext";function BC(){const e=k.useContext(iD);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function l4e(e,t){const{colorMode:n}=BC();return n==="dark"?t:e}function Nge(){const e=BC(),t=rD();return{...e,theme:t}}function Dge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function Lge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function u4e(e,t,n){const r=rD();return $ge(e,t,n)(r)}function $ge(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return Dge(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return Lge(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var oD=(...e)=>e.filter(Boolean).join(" ");function Fge(){return!1}function Io(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var c4e=e=>{const{condition:t,message:n}=e;t&&Fge()&&console.warn(n)};function Na(e,...t){return Bge(e)?e(...t):e}var Bge=e=>typeof e=="function",d4e=e=>e?"":void 0,f4e=e=>e?!0:void 0;function h4e(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function p4e(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var ty={exports:{}};ty.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",T="[object WeakMap]",P="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",M="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",N="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,j=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,G={};G[A]=G[$]=G[M]=G[C]=G[O]=G[I]=G[N]=G[R]=G[D]=!0,G[a]=G[l]=G[P]=G[c]=G[E]=G[d]=G[f]=G[h]=G[m]=G[S]=G[y]=G[b]=G[_]=G[w]=G[T]=!1;var W=typeof Ee=="object"&&Ee&&Ee.Object===Object&&Ee,X=typeof self=="object"&&self&&self.Object===Object&&self,Y=W||X||Function("return this")(),B=t&&!t.nodeType&&t,H=B&&!0&&e&&!e.nodeType&&e,Q=H&&H.exports===B,J=Q&&W.process,ne=function(){try{var F=H&&H.require&&H.require("util").types;return F||J&&J.binding&&J.binding("util")}catch{}}(),te=ne&&ne.isTypedArray;function xe(F,V,q){switch(q.length){case 0:return F.call(V);case 1:return F.call(V,q[0]);case 2:return F.call(V,q[0],q[1]);case 3:return F.call(V,q[0],q[1],q[2])}return F.apply(V,q)}function ve(F,V){for(var q=-1,ie=Array(F);++q-1}function fo(F,V){var q=this.__data__,ie=kl(q,F);return ie<0?(++this.size,q.push([F,V])):q[ie][1]=V,this}wn.prototype.clear=co,wn.prototype.delete=Zo,wn.prototype.get=Jo,wn.prototype.has=Al,wn.prototype.set=fo;function qn(F){var V=-1,q=F==null?0:F.length;for(this.clear();++V1?q[De-1]:void 0,mt=De>2?q[2]:void 0;for(tt=F.length>3&&typeof tt=="function"?(De--,tt):void 0,mt&&V$(q[0],q[1],mt)&&(tt=De<3?void 0:tt,De=1),V=Object(V);++ie-1&&F%1==0&&F0){if(++V>=i)return arguments[0]}else V=0;return F.apply(void 0,arguments)}}function X$(F){if(F!=null){try{return Je.call(F)}catch{}try{return F+""}catch{}}return""}function Kh(F,V){return F===V||F!==F&&V!==V}var P1=qh(function(){return arguments}())?qh:function(F){return Oc(F)&&Gt.call(F,"callee")&&!ri.call(F,"callee")},A1=Array.isArray;function k1(F){return F!=null&&k3(F.length)&&!O1(F)}function Y$(F){return Oc(F)&&k1(F)}var A3=ca||tF;function O1(F){if(!ha(F))return!1;var V=Rl(F);return V==h||V==p||V==u||V==g}function k3(F){return typeof F=="number"&&F>-1&&F%1==0&&F<=s}function ha(F){var V=typeof F;return F!=null&&(V=="object"||V=="function")}function Oc(F){return F!=null&&typeof F=="object"}function Q$(F){if(!Oc(F)||Rl(F)!=y)return!1;var V=wr(F);if(V===null)return!0;var q=Gt.call(V,"constructor")&&V.constructor;return typeof q=="function"&&q instanceof q&&Je.call(q)==Lr}var O3=te?ce(te):kc;function Z$(F){return L$(F,R3(F))}function R3(F){return k1(F)?_1(F,!0):A$(F)}var J$=$$(function(F,V,q,ie){T3(F,V,q,ie)});function eF(F){return function(){return F}}function I3(F){return F}function tF(){return!1}e.exports=J$})(ty,ty.exports);var jge=ty.exports;const Wi=al(jge);var Vge=e=>/!(important)?$/.test(e),j6=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,zge=(e,t)=>n=>{const r=String(t),i=Vge(r),o=j6(r),s=e?`${e}.${o}`:o;let a=Io(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=j6(a),i?`${a} !important`:a};function jC(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=zge(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var zp=(...e)=>t=>e.reduce((n,r)=>r(n),t);function jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=jC({scale:e,transform:t}),r}}var Uge=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function Gge(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Uge(t),transform:n?jC({scale:n,compose:r}):r}}var sD=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Hge(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...sD].join(" ")}function qge(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...sD].join(" ")}var Wge={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Kge={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function Xge(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Yge={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},E2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Qge=new Set(Object.values(E2)),P2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Zge=e=>e.trim();function Jge(e,t){if(e==null||P2.has(e))return e;if(!(A2(e)||P2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(Zge).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in E2?E2[l]:l;u.unshift(c);const d=u.map(f=>{if(Qge.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=A2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var A2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),eme=(e,t)=>Jge(e,t??{});function tme(e){return/^var\(--.+\)$/.test(e)}var nme=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Ii=e=>t=>`${e}(${t})`,je={filter(e){return e!=="auto"?e:Wge},backdropFilter(e){return e!=="auto"?e:Kge},ring(e){return Xge(je.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Hge():e==="auto-gpu"?qge():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=nme(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(tme(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:eme,blur:Ii("blur"),opacity:Ii("opacity"),brightness:Ii("brightness"),contrast:Ii("contrast"),dropShadow:Ii("drop-shadow"),grayscale:Ii("grayscale"),hueRotate:Ii("hue-rotate"),invert:Ii("invert"),saturate:Ii("saturate"),sepia:Ii("sepia"),bgImage(e){return e==null||A2(e)||P2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=Yge[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},z={borderWidths:jr("borderWidths"),borderStyles:jr("borderStyles"),colors:jr("colors"),borders:jr("borders"),gradients:jr("gradients",je.gradient),radii:jr("radii",je.px),space:jr("space",zp(je.vh,je.px)),spaceT:jr("space",zp(je.vh,je.px)),degreeT(e){return{property:e,transform:je.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:jC({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:jr("sizes",zp(je.vh,je.px)),sizesT:jr("sizes",zp(je.vh,je.fraction)),shadows:jr("shadows"),logical:Gge,blur:jr("blur",je.blur)},Cg={background:z.colors("background"),backgroundColor:z.colors("backgroundColor"),backgroundImage:z.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:je.bgClip},bgSize:z.prop("backgroundSize"),bgPosition:z.prop("backgroundPosition"),bg:z.colors("background"),bgColor:z.colors("backgroundColor"),bgPos:z.prop("backgroundPosition"),bgRepeat:z.prop("backgroundRepeat"),bgAttachment:z.prop("backgroundAttachment"),bgGradient:z.gradients("backgroundImage"),bgClip:{transform:je.bgClip}};Object.assign(Cg,{bgImage:Cg.backgroundImage,bgImg:Cg.backgroundImage});var Ue={border:z.borders("border"),borderWidth:z.borderWidths("borderWidth"),borderStyle:z.borderStyles("borderStyle"),borderColor:z.colors("borderColor"),borderRadius:z.radii("borderRadius"),borderTop:z.borders("borderTop"),borderBlockStart:z.borders("borderBlockStart"),borderTopLeftRadius:z.radii("borderTopLeftRadius"),borderStartStartRadius:z.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:z.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:z.radii("borderTopRightRadius"),borderStartEndRadius:z.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:z.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:z.borders("borderRight"),borderInlineEnd:z.borders("borderInlineEnd"),borderBottom:z.borders("borderBottom"),borderBlockEnd:z.borders("borderBlockEnd"),borderBottomLeftRadius:z.radii("borderBottomLeftRadius"),borderBottomRightRadius:z.radii("borderBottomRightRadius"),borderLeft:z.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:z.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:z.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:z.borders(["borderLeft","borderRight"]),borderInline:z.borders("borderInline"),borderY:z.borders(["borderTop","borderBottom"]),borderBlock:z.borders("borderBlock"),borderTopWidth:z.borderWidths("borderTopWidth"),borderBlockStartWidth:z.borderWidths("borderBlockStartWidth"),borderTopColor:z.colors("borderTopColor"),borderBlockStartColor:z.colors("borderBlockStartColor"),borderTopStyle:z.borderStyles("borderTopStyle"),borderBlockStartStyle:z.borderStyles("borderBlockStartStyle"),borderBottomWidth:z.borderWidths("borderBottomWidth"),borderBlockEndWidth:z.borderWidths("borderBlockEndWidth"),borderBottomColor:z.colors("borderBottomColor"),borderBlockEndColor:z.colors("borderBlockEndColor"),borderBottomStyle:z.borderStyles("borderBottomStyle"),borderBlockEndStyle:z.borderStyles("borderBlockEndStyle"),borderLeftWidth:z.borderWidths("borderLeftWidth"),borderInlineStartWidth:z.borderWidths("borderInlineStartWidth"),borderLeftColor:z.colors("borderLeftColor"),borderInlineStartColor:z.colors("borderInlineStartColor"),borderLeftStyle:z.borderStyles("borderLeftStyle"),borderInlineStartStyle:z.borderStyles("borderInlineStartStyle"),borderRightWidth:z.borderWidths("borderRightWidth"),borderInlineEndWidth:z.borderWidths("borderInlineEndWidth"),borderRightColor:z.colors("borderRightColor"),borderInlineEndColor:z.colors("borderInlineEndColor"),borderRightStyle:z.borderStyles("borderRightStyle"),borderInlineEndStyle:z.borderStyles("borderInlineEndStyle"),borderTopRadius:z.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:z.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:z.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:z.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Ue,{rounded:Ue.borderRadius,roundedTop:Ue.borderTopRadius,roundedTopLeft:Ue.borderTopLeftRadius,roundedTopRight:Ue.borderTopRightRadius,roundedTopStart:Ue.borderStartStartRadius,roundedTopEnd:Ue.borderStartEndRadius,roundedBottom:Ue.borderBottomRadius,roundedBottomLeft:Ue.borderBottomLeftRadius,roundedBottomRight:Ue.borderBottomRightRadius,roundedBottomStart:Ue.borderEndStartRadius,roundedBottomEnd:Ue.borderEndEndRadius,roundedLeft:Ue.borderLeftRadius,roundedRight:Ue.borderRightRadius,roundedStart:Ue.borderInlineStartRadius,roundedEnd:Ue.borderInlineEndRadius,borderStart:Ue.borderInlineStart,borderEnd:Ue.borderInlineEnd,borderTopStartRadius:Ue.borderStartStartRadius,borderTopEndRadius:Ue.borderStartEndRadius,borderBottomStartRadius:Ue.borderEndStartRadius,borderBottomEndRadius:Ue.borderEndEndRadius,borderStartRadius:Ue.borderInlineStartRadius,borderEndRadius:Ue.borderInlineEndRadius,borderStartWidth:Ue.borderInlineStartWidth,borderEndWidth:Ue.borderInlineEndWidth,borderStartColor:Ue.borderInlineStartColor,borderEndColor:Ue.borderInlineEndColor,borderStartStyle:Ue.borderInlineStartStyle,borderEndStyle:Ue.borderInlineEndStyle});var rme={color:z.colors("color"),textColor:z.colors("color"),fill:z.colors("fill"),stroke:z.colors("stroke")},k2={boxShadow:z.shadows("boxShadow"),mixBlendMode:!0,blendMode:z.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:z.prop("backgroundBlendMode"),opacity:!0};Object.assign(k2,{shadow:k2.boxShadow});var ime={filter:{transform:je.filter},blur:z.blur("--chakra-blur"),brightness:z.propT("--chakra-brightness",je.brightness),contrast:z.propT("--chakra-contrast",je.contrast),hueRotate:z.degreeT("--chakra-hue-rotate"),invert:z.propT("--chakra-invert",je.invert),saturate:z.propT("--chakra-saturate",je.saturate),dropShadow:z.propT("--chakra-drop-shadow",je.dropShadow),backdropFilter:{transform:je.backdropFilter},backdropBlur:z.blur("--chakra-backdrop-blur"),backdropBrightness:z.propT("--chakra-backdrop-brightness",je.brightness),backdropContrast:z.propT("--chakra-backdrop-contrast",je.contrast),backdropHueRotate:z.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:z.propT("--chakra-backdrop-invert",je.invert),backdropSaturate:z.propT("--chakra-backdrop-saturate",je.saturate)},ny={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:je.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:z.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:z.space("gap"),rowGap:z.space("rowGap"),columnGap:z.space("columnGap")};Object.assign(ny,{flexDir:ny.flexDirection});var aD={gridGap:z.space("gridGap"),gridColumnGap:z.space("gridColumnGap"),gridRowGap:z.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},ome={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:je.outline},outlineOffset:!0,outlineColor:z.colors("outlineColor")},zr={width:z.sizesT("width"),inlineSize:z.sizesT("inlineSize"),height:z.sizes("height"),blockSize:z.sizes("blockSize"),boxSize:z.sizes(["width","height"]),minWidth:z.sizes("minWidth"),minInlineSize:z.sizes("minInlineSize"),minHeight:z.sizes("minHeight"),minBlockSize:z.sizes("minBlockSize"),maxWidth:z.sizes("maxWidth"),maxInlineSize:z.sizes("maxInlineSize"),maxHeight:z.sizes("maxHeight"),maxBlockSize:z.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:z.propT("float",je.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(zr,{w:zr.width,h:zr.height,minW:zr.minWidth,maxW:zr.maxWidth,minH:zr.minHeight,maxH:zr.maxHeight,overscroll:zr.overscrollBehavior,overscrollX:zr.overscrollBehaviorX,overscrollY:zr.overscrollBehaviorY});var sme={listStyleType:!0,listStylePosition:!0,listStylePos:z.prop("listStylePosition"),listStyleImage:!0,listStyleImg:z.prop("listStyleImage")};function ame(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},ume=lme(ame),cme={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},dme={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},eS=(e,t,n)=>{const r={},i=ume(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},fme={srOnly:{transform(e){return e===!0?cme:e==="focusable"?dme:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>eS(t,e,n)}},Od={position:!0,pos:z.prop("position"),zIndex:z.prop("zIndex","zIndices"),inset:z.spaceT("inset"),insetX:z.spaceT(["left","right"]),insetInline:z.spaceT("insetInline"),insetY:z.spaceT(["top","bottom"]),insetBlock:z.spaceT("insetBlock"),top:z.spaceT("top"),insetBlockStart:z.spaceT("insetBlockStart"),bottom:z.spaceT("bottom"),insetBlockEnd:z.spaceT("insetBlockEnd"),left:z.spaceT("left"),insetInlineStart:z.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:z.spaceT("right"),insetInlineEnd:z.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Od,{insetStart:Od.insetInlineStart,insetEnd:Od.insetInlineEnd});var hme={ring:{transform:je.ring},ringColor:z.colors("--chakra-ring-color"),ringOffset:z.prop("--chakra-ring-offset-width"),ringOffsetColor:z.colors("--chakra-ring-offset-color"),ringInset:z.prop("--chakra-ring-inset")},dt={margin:z.spaceT("margin"),marginTop:z.spaceT("marginTop"),marginBlockStart:z.spaceT("marginBlockStart"),marginRight:z.spaceT("marginRight"),marginInlineEnd:z.spaceT("marginInlineEnd"),marginBottom:z.spaceT("marginBottom"),marginBlockEnd:z.spaceT("marginBlockEnd"),marginLeft:z.spaceT("marginLeft"),marginInlineStart:z.spaceT("marginInlineStart"),marginX:z.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:z.spaceT("marginInline"),marginY:z.spaceT(["marginTop","marginBottom"]),marginBlock:z.spaceT("marginBlock"),padding:z.space("padding"),paddingTop:z.space("paddingTop"),paddingBlockStart:z.space("paddingBlockStart"),paddingRight:z.space("paddingRight"),paddingBottom:z.space("paddingBottom"),paddingBlockEnd:z.space("paddingBlockEnd"),paddingLeft:z.space("paddingLeft"),paddingInlineStart:z.space("paddingInlineStart"),paddingInlineEnd:z.space("paddingInlineEnd"),paddingX:z.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:z.space("paddingInline"),paddingY:z.space(["paddingTop","paddingBottom"]),paddingBlock:z.space("paddingBlock")};Object.assign(dt,{m:dt.margin,mt:dt.marginTop,mr:dt.marginRight,me:dt.marginInlineEnd,marginEnd:dt.marginInlineEnd,mb:dt.marginBottom,ml:dt.marginLeft,ms:dt.marginInlineStart,marginStart:dt.marginInlineStart,mx:dt.marginX,my:dt.marginY,p:dt.padding,pt:dt.paddingTop,py:dt.paddingY,px:dt.paddingX,pb:dt.paddingBottom,pl:dt.paddingLeft,ps:dt.paddingInlineStart,paddingStart:dt.paddingInlineStart,pr:dt.paddingRight,pe:dt.paddingInlineEnd,paddingEnd:dt.paddingInlineEnd});var pme={textDecorationColor:z.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:z.shadows("textShadow")},gme={clipPath:!0,transform:z.propT("transform",je.transform),transformOrigin:!0,translateX:z.spaceT("--chakra-translate-x"),translateY:z.spaceT("--chakra-translate-y"),skewX:z.degreeT("--chakra-skew-x"),skewY:z.degreeT("--chakra-skew-y"),scaleX:z.prop("--chakra-scale-x"),scaleY:z.prop("--chakra-scale-y"),scale:z.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:z.degreeT("--chakra-rotate")},mme={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:z.prop("transitionDuration","transition.duration"),transitionProperty:z.prop("transitionProperty","transition.property"),transitionTimingFunction:z.prop("transitionTimingFunction","transition.easing")},yme={fontFamily:z.prop("fontFamily","fonts"),fontSize:z.prop("fontSize","fontSizes",je.px),fontWeight:z.prop("fontWeight","fontWeights"),lineHeight:z.prop("lineHeight","lineHeights"),letterSpacing:z.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},vme={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:z.spaceT("scrollMargin"),scrollMarginTop:z.spaceT("scrollMarginTop"),scrollMarginBottom:z.spaceT("scrollMarginBottom"),scrollMarginLeft:z.spaceT("scrollMarginLeft"),scrollMarginRight:z.spaceT("scrollMarginRight"),scrollMarginX:z.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:z.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:z.spaceT("scrollPadding"),scrollPaddingTop:z.spaceT("scrollPaddingTop"),scrollPaddingBottom:z.spaceT("scrollPaddingBottom"),scrollPaddingLeft:z.spaceT("scrollPaddingLeft"),scrollPaddingRight:z.spaceT("scrollPaddingRight"),scrollPaddingX:z.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:z.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function lD(e){return Io(e)&&e.reference?e.reference:String(e)}var Zv=(e,...t)=>t.map(lD).join(` ${e} `).replace(/calc/g,""),V6=(...e)=>`calc(${Zv("+",...e)})`,z6=(...e)=>`calc(${Zv("-",...e)})`,O2=(...e)=>`calc(${Zv("*",...e)})`,U6=(...e)=>`calc(${Zv("/",...e)})`,G6=e=>{const t=lD(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:O2(t,-1)},Pa=Object.assign(e=>({add:(...t)=>Pa(V6(e,...t)),subtract:(...t)=>Pa(z6(e,...t)),multiply:(...t)=>Pa(O2(e,...t)),divide:(...t)=>Pa(U6(e,...t)),negate:()=>Pa(G6(e)),toString:()=>e.toString()}),{add:V6,subtract:z6,multiply:O2,divide:U6,negate:G6});function bme(e,t="-"){return e.replace(/\s+/g,t)}function Sme(e){const t=bme(e.toString());return wme(_me(t))}function _me(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function wme(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function xme(e,t=""){return[t,e].filter(Boolean).join("-")}function Cme(e,t){return`var(${e}${t?`, ${t}`:""})`}function Tme(e,t=""){return Sme(`--${xme(e,t)}`)}function R2(e,t,n){const r=Tme(e,n);return{variable:r,reference:Cme(r,t)}}function g4e(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=R2(`${e}-${i}`,o);continue}n[r]=R2(`${e}-${r}`)}return n}function Eme(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Pme(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function I2(e){if(e==null)return e;const{unitless:t}=Pme(e);return t||typeof e=="number"?`${e}px`:e}var uD=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,VC=e=>Object.fromEntries(Object.entries(e).sort(uD));function H6(e){const t=VC(e);return Object.assign(Object.values(t),t)}function Ame(e){const t=Object.keys(VC(e));return new Set(t)}function q6(e){var t;if(!e)return e;e=(t=I2(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pd(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${I2(e)})`),t&&n.push("and",`(max-width: ${I2(t)})`),n.join(" ")}function kme(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=H6(e),r=Object.entries(e).sort(uD).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?q6(d):void 0,{_minW:q6(a),breakpoint:s,minW:a,maxW:d,maxWQuery:pd(null,d),minWQuery:pd(a),minMaxQuery:pd(a,d)}}),i=Ame(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:VC(e),asArray:H6(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pd(s)).slice(1)],toArrayValue(s){if(!Io(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;Eme(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var xn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},os=e=>cD(t=>e(t,"&"),"[role=group]","[data-group]",".group"),mo=e=>cD(t=>e(t,"~ &"),"[data-peer]",".peer"),cD=(e,...t)=>t.map(e).join(", "),Jv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:os(xn.hover),_peerHover:mo(xn.hover),_groupFocus:os(xn.focus),_peerFocus:mo(xn.focus),_groupFocusVisible:os(xn.focusVisible),_peerFocusVisible:mo(xn.focusVisible),_groupActive:os(xn.active),_peerActive:mo(xn.active),_groupDisabled:os(xn.disabled),_peerDisabled:mo(xn.disabled),_groupInvalid:os(xn.invalid),_peerInvalid:mo(xn.invalid),_groupChecked:os(xn.checked),_peerChecked:mo(xn.checked),_groupFocusWithin:os(xn.focusWithin),_peerFocusWithin:mo(xn.focusWithin),_peerPlaceholderShown:mo(xn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},dD=Object.keys(Jv);function W6(e,t){return R2(String(e).replace(/\./g,"-"),void 0,t)}function Ome(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=W6(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Pa.negate(a),v=Pa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=W6(p,t==null?void 0:t.cssVarPrefix);return S},d=Io(a)?a:{default:a};n=Wi(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Jv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Rme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Ime(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Mme(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function K6(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(Mme(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var Nme=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Dme(e){return Ime(e,Nme)}function Lme(e){return e.semanticTokens}function $me(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var Fme=e=>dD.includes(e)||e==="default";function Bme({tokens:e,semanticTokens:t}){const n={};return K6(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),K6(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(Fme)}),n}function m4e(e){var t;const n=$me(e),r=Dme(n),i=Lme(n),o=Bme({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=Ome(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:kme(n.breakpoints)}),n}var zC=Wi({},Cg,Ue,rme,ny,zr,ime,hme,ome,aD,fme,Od,k2,dt,vme,yme,pme,gme,sme,mme),jme=Object.assign({},dt,zr,ny,aD,Od),y4e=Object.keys(jme),Vme=[...Object.keys(zC),...dD],zme={...zC,...Jv},Ume=e=>e in zme,Gme=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Na(e[s],t);if(a==null)continue;if(a=Io(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!qme(t),Kme=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Hme(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Xme(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=Na(o,r),d=Gme(c)(r);let f={};for(let h in d){const p=d[h];let m=Na(p,r);h in n&&(h=n[h]),Wme(h,m)&&(m=Kme(r,m));let S=t[h];if(S===!0&&(S={property:h}),Io(m)){f[h]=(a=f[h])!=null?a:{},f[h]=Wi({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=Na(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=Na(S.static,r);f=Wi({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&Io(v)?f=Wi({},f,v):f[y]=v;continue}if(Io(v)){f=Wi({},f,v);continue}f[h]=v}return f};return i}var Yme=e=>t=>Xme({theme:t,pseudos:Jv,configs:zC})(e);function v4e(e){return e}function b4e(e){return e}function S4e(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Qme(e,t){if(Array.isArray(e))return e;if(Io(e))return t(e);if(e!=null)return[e]}function Zme(e,t){for(let n=t+1;n{Wi(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?Wi(u,y):u[v]=y;continue}u[v]=y}}return u}}function eye(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Jme(o);return Wi({},Na((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function _4e(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function fD(e){return Rme(e,["styleConfig","size","variant","colorScheme"])}function tye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function w4e(e){var t;return tye(e)&&(t=e.ownerDocument)!=null?t:document}function nye(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var rye=nye();function iye(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function oye(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},aye=sye(oye);function hD(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var pD=e=>hD(e,t=>t!=null);function lye(e){return typeof e=="function"}function uye(e,...t){return lye(e)?e(...t):e}function cye(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var dye=typeof Element<"u",fye=typeof Map=="function",hye=typeof Set=="function",pye=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Tg(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Tg(e[r],t[r]))return!1;return!0}var o;if(fye&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Tg(r.value[1],t.get(r.value[0])))return!1;return!0}if(hye&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(pye&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(dye&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Tg(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var gye=function(t,n){try{return Tg(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const mye=al(gye);function gD(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=Nge(),a=e?aye(o,`components.${e}`):void 0,l=r||a,u=Wi({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},pD(iye(i,["children"]))),c=k.useRef({});if(l){const f=eye(l)(u);mye(c.current,f)||(c.current=f)}return c.current}function mD(e,t={}){return gD(e,t)}function x4e(e,t={}){return gD(e,t)}var yye=new Set([...Vme,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),vye=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function bye(e){return vye.has(e)||!yye.has(e)}function Sye(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var _ye=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,wye=XN(function(e){return _ye.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),xye=wye,Cye=function(t){return t!=="theme"},X6=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?xye:Cye},Y6=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Tye=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return QN(n,r,i),Age(function(){return ZN(n,r,i)}),null},Eye=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Y6(t,n,r),l=a||X6(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=hD(s,(d,f)=>Ume(f)),l=uye(e,t),u=Sye({},i,l,pD(a),o),c=Yme(u)(t.theme);return r?[c,r]:c};function tS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=bye);const i=kye({baseStyle:n}),o=Aye(e,r)(i);return We.forwardRef(function(l,u){const{colorMode:c,forced:d}=BC();return We.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Oye(){const e=new Map;return new Proxy(tS,{apply(t,n,r){return tS(...r)},get(t,n){return e.has(n)||e.set(n,tS(n)),e.get(n)}})}var sl=Oye();function Tl(e){return k.forwardRef(e)}const yD=k.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),e1=k.createContext({}),Lh=k.createContext(null),t1=typeof document<"u",iy=t1?k.useLayoutEffect:k.useEffect,vD=k.createContext({strict:!1});function Rye(e,t,n,r){const{visualElement:i}=k.useContext(e1),o=k.useContext(vD),s=k.useContext(Lh),a=k.useContext(yD).reducedMotion,l=k.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return k.useInsertionEffect(()=>{u&&u.update(n,s)}),iy(()=>{u&&u.render()}),k.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?iy:k.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function hu(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Iye(e,t,n){return k.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):hu(n)&&(n.current=r))},[t])}function Gf(e){return typeof e=="string"||Array.isArray(e)}function n1(e){return typeof e=="object"&&typeof e.start=="function"}const UC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],GC=["initial",...UC];function r1(e){return n1(e.animate)||GC.some(t=>Gf(e[t]))}function bD(e){return!!(r1(e)||e.variants)}function Mye(e,t){if(r1(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Gf(n)?n:void 0,animate:Gf(r)?r:void 0}}return e.inherit!==!1?t:{}}function Nye(e){const{initial:t,animate:n}=Mye(e,k.useContext(e1));return k.useMemo(()=>({initial:t,animate:n}),[Z6(t),Z6(n)])}function Z6(e){return Array.isArray(e)?e.join(" "):e}const J6={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Hf={};for(const e in J6)Hf[e]={isEnabled:t=>J6[e].some(n=>!!t[n])};function Dye(e){for(const t in e)Hf[t]={...Hf[t],...e[t]}}const HC=k.createContext({}),SD=k.createContext({}),Lye=Symbol.for("motionComponentSymbol");function $ye({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Dye(e);function o(a,l){let u;const c={...k.useContext(yD),...a,layoutId:Fye(a)},{isStatic:d}=c,f=Nye(a),h=r(a,d);if(!d&&t1){f.visualElement=Rye(i,h,c,t);const p=k.useContext(SD),m=k.useContext(vD).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return k.createElement(e1.Provider,{value:f},u&&f.visualElement?k.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Iye(h,f.visualElement,l),h,d,f.visualElement))}const s=k.forwardRef(o);return s[Lye]=i,s}function Fye({layoutId:e}){const t=k.useContext(HC).id;return t&&e!==void 0?t+"-"+e:e}function Bye(e){function t(r,i={}){return $ye(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const jye=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function qC(e){return typeof e!="string"||e.includes("-")?!1:!!(jye.indexOf(e)>-1||/[A-Z]/.test(e))}const oy={};function Vye(e){Object.assign(oy,e)}const $h=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],El=new Set($h);function _D(e,{layout:t,layoutId:n}){return El.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!oy[e]||e==="opacity")}const _r=e=>!!(e&&e.getVelocity),zye={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Uye=$h.length;function Gye(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),xD=wD("--"),M2=wD("var(--"),Hye=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,qye=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Ks=(e,t,n)=>Math.min(Math.max(n,e),t),Pl={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Rd={...Pl,transform:e=>Ks(0,1,e)},Up={...Pl,default:1},Id=e=>Math.round(e*1e5)/1e5,i1=/(-)?([\d]*\.?[\d])+/g,CD=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Wye=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Fh(e){return typeof e=="string"}const Bh=e=>({test:t=>Fh(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),as=Bh("deg"),Ji=Bh("%"),me=Bh("px"),Kye=Bh("vh"),Xye=Bh("vw"),eP={...Ji,parse:e=>Ji.parse(e)/100,transform:e=>Ji.transform(e*100)},tP={...Pl,transform:Math.round},TD={borderWidth:me,borderTopWidth:me,borderRightWidth:me,borderBottomWidth:me,borderLeftWidth:me,borderRadius:me,radius:me,borderTopLeftRadius:me,borderTopRightRadius:me,borderBottomRightRadius:me,borderBottomLeftRadius:me,width:me,maxWidth:me,height:me,maxHeight:me,size:me,top:me,right:me,bottom:me,left:me,padding:me,paddingTop:me,paddingRight:me,paddingBottom:me,paddingLeft:me,margin:me,marginTop:me,marginRight:me,marginBottom:me,marginLeft:me,rotate:as,rotateX:as,rotateY:as,rotateZ:as,scale:Up,scaleX:Up,scaleY:Up,scaleZ:Up,skew:as,skewX:as,skewY:as,distance:me,translateX:me,translateY:me,translateZ:me,x:me,y:me,z:me,perspective:me,transformPerspective:me,opacity:Rd,originX:eP,originY:eP,originZ:me,zIndex:tP,fillOpacity:Rd,strokeOpacity:Rd,numOctaves:tP};function WC(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(xD(d)){o[d]=f;continue}const h=TD[d],p=qye(f,h);if(El.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Gye(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const KC=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ED(e,t,n){for(const r in t)!_r(t[r])&&!_D(r,n)&&(e[r]=t[r])}function Yye({transformTemplate:e},t,n){return k.useMemo(()=>{const r=KC();return WC(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Qye(e,t,n){const r=e.style||{},i={};return ED(i,r,e),Object.assign(i,Yye(e,t,n)),e.transformValues?e.transformValues(i):i}function Zye(e,t,n){const r={},i=Qye(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Jye=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function sy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Jye.has(e)}let PD=e=>!sy(e);function e0e(e){e&&(PD=t=>t.startsWith("on")?!sy(t):e(t))}try{e0e(require("@emotion/is-prop-valid").default)}catch{}function t0e(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(PD(i)||n===!0&&sy(i)||!t&&!sy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function nP(e,t,n){return typeof e=="string"?e:me.transform(t+n*e)}function n0e(e,t,n){const r=nP(t,e.x,e.width),i=nP(n,e.y,e.height);return`${r} ${i}`}const r0e={offset:"stroke-dashoffset",array:"stroke-dasharray"},i0e={offset:"strokeDashoffset",array:"strokeDasharray"};function o0e(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?r0e:i0e;e[o.offset]=me.transform(-r);const s=me.transform(t),a=me.transform(n);e[o.array]=`${s} ${a}`}function XC(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(WC(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=n0e(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&o0e(h,s,a,l,!1)}const AD=()=>({...KC(),attrs:{}}),YC=e=>typeof e=="string"&&e.toLowerCase()==="svg";function s0e(e,t,n,r){const i=k.useMemo(()=>{const o=AD();return XC(o,t,{enableHardwareAcceleration:!1},YC(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};ED(o,e.style,e),i.style={...o,...i.style}}return i}function a0e(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(qC(n)?s0e:Zye)(r,o,s,n),c={...t0e(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=k.useMemo(()=>_r(d)?d.get():d,[d]);return k.createElement(n,{...c,children:f})}}const QC=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kD(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const OD=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function RD(e,t,n,r){kD(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(OD.has(i)?i:QC(i),t.attrs[i])}function ZC(e,t){const{style:n}=e,r={};for(const i in n)(_r(n[i])||t.style&&_r(t.style[i])||_D(i,e))&&(r[i]=n[i]);return r}function ID(e,t){const n=ZC(e,t);for(const r in e)if(_r(e[r])||_r(t[r])){const i=$h.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function JC(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function MD(e){const t=k.useRef(null);return t.current===null&&(t.current=e()),t.current}const ay=e=>Array.isArray(e),l0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),u0e=e=>ay(e)?e[e.length-1]||0:e;function Eg(e){const t=_r(e)?e.get():e;return l0e(t)?t.toValue():t}function c0e({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:d0e(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const ND=e=>(t,n)=>{const r=k.useContext(e1),i=k.useContext(Lh),o=()=>c0e(e,t,r,i);return n?o():MD(o)};function d0e(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=Eg(o[f]);let{initial:s,animate:a}=e;const l=r1(e),u=bD(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!n1(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=JC(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const f0e={useVisualState:ND({scrapeMotionValuesFromProps:ID,createRenderState:AD,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}XC(n,r,{enableHardwareAcceleration:!1},YC(t.tagName),e.transformTemplate),RD(t,n)}})},h0e={useVisualState:ND({scrapeMotionValuesFromProps:ZC,createRenderState:KC})};function p0e(e,{forwardMotionProps:t=!1},n,r){return{...qC(e)?f0e:h0e,preloadedFeatures:n,useRender:a0e(t),createVisualElement:r,Component:e}}function Ao(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const DD=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function o1(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const g0e=e=>t=>DD(t)&&e(t,o1(t));function Mo(e,t,n,r){return Ao(e,t,g0e(n),r)}const m0e=(e,t)=>n=>t(e(n)),Ns=(...e)=>e.reduce(m0e);function LD(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const rP=LD("dragHorizontal"),iP=LD("dragVertical");function $D(e){let t=!1;if(e==="y")t=iP();else if(e==="x")t=rP();else{const n=rP(),r=iP();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function FD(){const e=$D(!0);return e?(e(),!1):!0}class ua{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Qt=e=>e;function y0e(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=y0e(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,v0e),1),i.timestamp=d,i.isProcessing=!0,Gp.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:Gp.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>Gp.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:_t,cancel:Uo,state:$n,steps:nS}=b0e(typeof requestAnimationFrame<"u"?requestAnimationFrame:Qt,!0);function oP(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||FD())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&_t.update(()=>a[r](o,s))};return Mo(e.current,n,i,{passive:!e.getProps()[r]})}class S0e extends ua{mount(){this.unmount=Ns(oP(this.node,!0),oP(this.node,!1))}unmount(){}}class _0e extends ua{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ns(Ao(this.node.current,"focus",()=>this.onFocus()),Ao(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const BD=(e,t)=>t?e===t?!0:BD(e,t.parentElement):!1;function rS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,o1(n))}class w0e extends ua{constructor(){super(...arguments),this.removeStartListeners=Qt,this.removeEndListeners=Qt,this.removeAccessibleListeners=Qt,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Mo(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();_t.update(()=>{BD(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Mo(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ns(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||rS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&_t.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Ao(this.node.current,"keyup",s),rS("down",(a,l)=>{this.startPress(a,l)})},n=Ao(this.node.current,"keydown",t),r=()=>{this.isPressing&&rS("cancel",(o,s)=>this.cancelPress(o,s))},i=Ao(this.node.current,"blur",r);this.removeAccessibleListeners=Ns(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&_t.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!FD()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&_t.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Mo(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Ao(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ns(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const N2=new WeakMap,iS=new WeakMap,x0e=e=>{const t=N2.get(e.target);t&&t(e)},C0e=e=>{e.forEach(x0e)};function T0e({root:e,...t}){const n=e||document;iS.has(n)||iS.set(n,{});const r=iS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(C0e,{root:e,...t})),r[i]}function E0e(e,t,n){const r=T0e(t);return N2.set(e,n),r.observe(e),()=>{N2.delete(e),r.unobserve(e)}}const P0e={some:0,all:1};class A0e extends ua{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:P0e[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return E0e(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(k0e(t,n))&&this.startObserver()}unmount(){}}function k0e({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const O0e={inView:{Feature:A0e},tap:{Feature:w0e},focus:{Feature:_0e},hover:{Feature:S0e}};function jD(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function I0e(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function s1(e,t,n){const r=e.getProps();return JC(r,t,n!==void 0?n:r.custom,R0e(e),I0e(e))}const M0e="framerAppearId",N0e="data-"+QC(M0e);let D0e=Qt,e3=Qt;const Ds=e=>e*1e3,No=e=>e/1e3,L0e={current:!1},VD=e=>Array.isArray(e)&&typeof e[0]=="number";function zD(e){return!!(!e||typeof e=="string"&&UD[e]||VD(e)||Array.isArray(e)&&e.every(zD))}const gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,UD={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gd([0,.65,.55,1]),circOut:gd([.55,0,1,.45]),backIn:gd([.31,.01,.66,-.59]),backOut:gd([.33,1.53,.69,.99])};function GD(e){if(e)return VD(e)?gd(e):Array.isArray(e)?e.map(GD):UD[e]}function $0e(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=GD(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const sP={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},oS={},HD={};for(const e in sP)HD[e]=()=>(oS[e]===void 0&&(oS[e]=sP[e]()),oS[e]);function F0e(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const qD=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,B0e=1e-7,j0e=12;function V0e(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=qD(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>B0e&&++aV0e(o,0,1,e,n);return o=>o===0||o===1?o:qD(i(o),t,r)}const z0e=jh(.42,0,1,1),U0e=jh(0,0,.58,1),WD=jh(.42,0,.58,1),G0e=e=>Array.isArray(e)&&typeof e[0]!="number",KD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,XD=e=>t=>1-e(1-t),YD=e=>1-Math.sin(Math.acos(e)),t3=XD(YD),H0e=KD(t3),QD=jh(.33,1.53,.69,.99),n3=XD(QD),q0e=KD(n3),W0e=e=>(e*=2)<1?.5*n3(e):.5*(2-Math.pow(2,-10*(e-1))),K0e={linear:Qt,easeIn:z0e,easeInOut:WD,easeOut:U0e,circIn:YD,circInOut:H0e,circOut:t3,backIn:n3,backInOut:q0e,backOut:QD,anticipate:W0e},aP=e=>{if(Array.isArray(e)){e3(e.length===4);const[t,n,r,i]=e;return jh(t,n,r,i)}else if(typeof e=="string")return K0e[e];return e},r3=(e,t)=>n=>!!(Fh(n)&&Wye.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ZD=(e,t,n)=>r=>{if(!Fh(r))return r;const[i,o,s,a]=r.match(i1);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},X0e=e=>Ks(0,255,e),sS={...Pl,transform:e=>Math.round(X0e(e))},Da={test:r3("rgb","red"),parse:ZD("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+sS.transform(e)+", "+sS.transform(t)+", "+sS.transform(n)+", "+Id(Rd.transform(r))+")"};function Y0e(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const D2={test:r3("#"),parse:Y0e,transform:Da.transform},pu={test:r3("hsl","hue"),parse:ZD("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Ji.transform(Id(t))+", "+Ji.transform(Id(n))+", "+Id(Rd.transform(r))+")"},Xn={test:e=>Da.test(e)||D2.test(e)||pu.test(e),parse:e=>Da.test(e)?Da.parse(e):pu.test(e)?pu.parse(e):D2.parse(e),transform:e=>Fh(e)?e:e.hasOwnProperty("red")?Da.transform(e):pu.transform(e)},At=(e,t,n)=>-n*e+n*t+e;function aS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Q0e({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=aS(l,a,e+1/3),o=aS(l,a,e),s=aS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const lS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Z0e=[D2,Da,pu],J0e=e=>Z0e.find(t=>t.test(e));function lP(e){const t=J0e(e);let n=t.parse(e);return t===pu&&(n=Q0e(n)),n}const JD=(e,t)=>{const n=lP(e),r=lP(t),i={...n};return o=>(i.red=lS(n.red,r.red,o),i.green=lS(n.green,r.green,o),i.blue=lS(n.blue,r.blue,o),i.alpha=At(n.alpha,r.alpha,o),Da.transform(i))};function eve(e){var t,n;return isNaN(e)&&Fh(e)&&(((t=e.match(i1))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(CD))===null||n===void 0?void 0:n.length)||0)>0}const eL={regex:Hye,countKey:"Vars",token:"${v}",parse:Qt},tL={regex:CD,countKey:"Colors",token:"${c}",parse:Xn.parse},nL={regex:i1,countKey:"Numbers",token:"${n}",parse:Pl.parse};function uS(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function ly(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&uS(n,eL),uS(n,tL),uS(n,nL),n}function rL(e){return ly(e).values}function iL(e){const{values:t,numColors:n,numVars:r,tokenised:i}=ly(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function nve(e){const t=rL(e);return iL(e)(t.map(tve))}const Xs={test:eve,parse:rL,createTransformer:iL,getAnimatableNone:nve},oL=(e,t)=>n=>`${n>0?t:e}`;function sL(e,t){return typeof e=="number"?n=>At(e,t,n):Xn.test(e)?JD(e,t):e.startsWith("var(")?oL(e,t):lL(e,t)}const aL=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>sL(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=sL(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},lL=(e,t)=>{const n=Xs.createTransformer(t),r=ly(e),i=ly(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ns(aL(r.values,i.values),n):oL(e,t)},qf=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},uP=(e,t)=>n=>At(e,t,n);function ive(e){return typeof e=="number"?uP:typeof e=="string"?Xn.test(e)?JD:lL:Array.isArray(e)?aL:typeof e=="object"?rve:uP}function ove(e,t,n){const r=[],i=n||ive(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=ove(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(Ks(e[0],e[o-1],u)):l}function sve(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=qf(0,t,r);e.push(At(n,1,i))}}function ave(e){const t=[0];return sve(t,e.length-1),t}function lve(e,t){return e.map(n=>n*t)}function uve(e,t){return e.map(()=>t||WD).splice(0,e.length-1)}function uy({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=G0e(r)?r.map(aP):aP(r),o={done:!1,value:t[0]},s=lve(n&&n.length===t.length?n:ave(t),e),a=uL(s,t,{ease:Array.isArray(i)?i:uve(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function cL(e,t){return t?e*(1e3/t):0}const cve=5;function dL(e,t,n){const r=Math.max(t-cve,0);return cL(n-e(r),t-r)}const cS=.001,dve=.01,cP=10,fve=.05,hve=1;function pve({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;D0e(e<=Ds(cP));let s=1-t;s=Ks(fve,hve,s),e=Ks(dve,cP,No(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=L2(u,s),p=Math.exp(-d);return cS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=L2(Math.pow(u,2),s);return(-i(u)+cS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-cS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=mve(i,o,a);if(e=Ds(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const gve=12;function mve(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function bve(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!dP(e,vve)&&dP(e,yve)){const n=pve(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function fL({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=bve(r),h=c?-No(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=No(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=L2(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=dL(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function fP({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=T=>a!==void 0&&Tl,p=T=>a===void 0?l:l===void 0||Math.abs(a-T)-m*Math.exp(-T/r),g=T=>v+y(T),b=T=>{const P=y(T),E=g(T);f.done=Math.abs(P)<=u,f.value=f.done?v:E};let _,w;const x=T=>{h(f.value)&&(_=T,w=fL({keyframes:[f.value,p(f.value)],velocity:dL(g,T,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:T=>{let P=!1;return!w&&_===void 0&&(P=!0,b(T),x(T)),_!==void 0&&T>_?w.next(T-_):(!P&&b(T),f)}}}const Sve=e=>{const t=({timestamp:n})=>e(n);return{start:()=>_t.update(t,!0),stop:()=>Uo(t),now:()=>$n.isProcessing?$n.timestamp:performance.now()}},hP=2e4;function pP(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=hP?1/0:t}const _ve={decay:fP,inertia:fP,tween:uy,keyframes:uy,spring:fL};function cy({autoplay:e=!0,delay:t=0,driver:n=Sve,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(j=>{m=j})};v();let y;const g=_ve[i]||uy;let b;g!==uy&&typeof r[0]!="number"&&(b=uL([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",T=null,P=null,E=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=pP(_));const{calculatedDuration:A}=_;let $=1/0,M=1/0;A!==null&&($=A+s,M=$*(o+1)-s);let C=0;const O=j=>{if(P===null)return;h>0&&(P=Math.min(P,j)),h<0&&(P=Math.min(j-M/h,P)),T!==null?C=T:C=Math.round(j-P)*h;const U=C-t*(h>=0?1:-1),G=h>=0?U<0:U>M;C=Math.max(U,0),x==="finished"&&T===null&&(C=M);let W=C,X=_;if(o){const Q=C/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const te=!!(J%2);te&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(X=w));let xe=Ks(0,1,ne);C>M&&(xe=a==="reverse"&&te?1:0),W=xe*$}const Y=G?{done:!1,value:r[0]}:X.next(W);b&&(Y.value=b(Y.value));let{done:B}=Y;!G&&A!==null&&(B=h>=0?C>=M:C<=0);const H=T===null&&(x==="finished"||x==="running"&&B);return d&&d(Y.value),H&&R(),Y},I=()=>{y&&y.stop(),y=void 0},N=()=>{x="idle",I(),m(),v(),P=E=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const j=y.now();l&&l(),T!==null?P=j-T:(!P||x==="finished")&&(P=j),x==="finished"&&v(),E=P,T=null,x="running",y.start()};e&&D();const L={then(j,U){return S.then(j,U)},get time(){return No(C)},set time(j){j=Ds(j),C=j,T!==null||!y||h===0?T=j:P=y.now()-j/h},get duration(){const j=_.calculatedDuration===null?pP(_):_.calculatedDuration;return No(j)},get speed(){return h},set speed(j){j===h||!y||(h=j,L.time=No(C))},get state(){return x},play:D,pause:()=>{x="paused",T=C},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),N())},cancel:()=>{E!==null&&O(E),N()},complete:()=>{x="finished"},sample:j=>(P=0,O(j))};return L}const wve=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Hp=10,xve=2e4,Cve=(e,t)=>t.type==="spring"||e==="backgroundColor"||!zD(t.ease);function Tve(e,t,{onUpdate:n,onComplete:r,...i}){if(!(HD.waapi()&&wve.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(Cve(t,i)){const v=cy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{_t.update(m),a(),u()};return p.onfinish=()=>{e.set(F0e(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return No(p.currentTime||0)},set time(v){p.currentTime=Ds(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return No(d)},play:()=>{s||(p.play(),Uo(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=cy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-Hp).value,y.sample(v).value,Hp)}S()},complete:()=>p.finish(),cancel:S}}function Eve({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Qt,pause:Qt,stop:Qt,then:o=>(o(),Promise.resolve()),cancel:Qt,complete:Qt});return t?cy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const Pve={type:"spring",stiffness:500,damping:25,restSpeed:10},Ave=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),kve={type:"keyframes",duration:.8},Ove={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Rve=(e,{keyframes:t})=>t.length>2?kve:El.has(e)?e.startsWith("scale")?Ave(t[1]):Pve:Ove,$2=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xs.test(t)||t==="0")&&!t.startsWith("url(")),Ive=new Set(["brightness","contrast","saturate","opacity"]);function Mve(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(i1)||[];if(!r)return e;const i=n.replace(r,"");let o=Ive.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const Nve=/([a-z-]*)\(.*?\)/g,F2={...Xs,getAnimatableNone:e=>{const t=e.match(Nve);return t?t.map(Mve).join(" "):e}},Dve={...TD,color:Xn,backgroundColor:Xn,outlineColor:Xn,fill:Xn,stroke:Xn,borderColor:Xn,borderTopColor:Xn,borderRightColor:Xn,borderBottomColor:Xn,borderLeftColor:Xn,filter:F2,WebkitFilter:F2},i3=e=>Dve[e];function hL(e,t){let n=i3(e);return n!==F2&&(n=Xs),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const pL=e=>/^0[^.\s]+$/.test(e);function Lve(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||pL(e)}function $ve(e,t,n,r){const i=$2(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=gL(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ds(s);const l=$ve(t,e,n,o),u=l[0],c=l[l.length-1],d=$2(e,u),f=$2(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Fve(o)||(h={...h,...Rve(e,h)}),h.duration&&(h.duration=Ds(h.duration)),h.repeatDelay&&(h.repeatDelay=Ds(h.repeatDelay)),!d||!f||L0e.current||o.type===!1)return Eve(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=Tve(t,e,h);if(p)return p}return cy(h)};function dy(e){return!!(_r(e)&&e.add)}const Bve=e=>/^\-?\d*\.?\d+$/.test(e);function s3(e,t){e.indexOf(t)===-1&&e.push(t)}function a3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class l3{constructor(){this.subscriptions=[]}add(t){return s3(this.subscriptions,t),()=>a3(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Vve{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=$n;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,_t.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>_t.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=jve(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new l3);const r=this.events[t].add(n);return t==="change"?()=>{r(),_t.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?cL(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function uc(e,t){return new Vve(e,t)}const mL=e=>t=>t.test(e),zve={test:e=>e==="auto",parse:e=>e},yL=[Pl,me,Ji,as,Xye,Kye,zve],id=e=>yL.find(mL(e)),Uve=[...yL,Xn,Xs],Gve=e=>Uve.find(mL(e));function Hve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,uc(n))}function qve(e,t){const n=s1(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=u0e(o[s]);Hve(e,s,a)}}function Wve(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&qve(e,s)}),u}function B2(e,t,n={}){const r=s1(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(vL(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Qve(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Qve(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(Zve).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(B2(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function Zve(e,t){return e.sortNodePosition(t)}function Jve(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>B2(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=B2(e,t,n);else{const i=typeof t=="function"?s1(e,t,n.custom):t;r=Promise.all(vL(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const e1e=[...UC].reverse(),t1e=UC.length;function n1e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Jve(e,n,r)))}function r1e(e){let t=n1e(e);const n=o1e();let r=!0;const i=(l,u)=>{const c=s1(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const E=Array.isArray(b)?b:[b];let A=E.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,M={...$,...A},C=O=>{P=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in M){const I=A[O],N=$[O];p.hasOwnProperty(O)||(I!==N?ay(I)&&ay(N)?!jD(I,N)||T?C(O):g.protectedKeys[O]=!0:I!==void 0?C(O):h.add(O):I!==void 0&&h.has(O)?C(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(P=!1),P&&!x&&f.push(...E.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function i1e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!jD(t,e):!1}function ba(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function o1e(){return{animate:ba(!0),whileInView:ba(),whileHover:ba(),whileTap:ba(),whileDrag:ba(),whileFocus:ba(),exit:ba()}}class s1e extends ua{constructor(t){super(t),t.animationState||(t.animationState=r1e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),n1(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let a1e=0;class l1e extends ua{constructor(){super(...arguments),this.id=a1e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const u1e={animation:{Feature:s1e},exit:{Feature:l1e}},gP=(e,t)=>Math.abs(e-t);function c1e(e,t){const n=gP(e.x,t.x),r=gP(e.y,t.y);return Math.sqrt(n**2+r**2)}class bL{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=fS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=c1e(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=$n;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=dS(c,this.transformPagePoint),_t.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=fS(u.type==="pointercancel"?this.lastMoveEventInfo:dS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!DD(t))return;this.handlers=n,this.transformPagePoint=r;const i=o1(t),o=dS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=$n;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,fS(o,this.history)),this.removeListeners=Ns(Mo(window,"pointermove",this.handlePointerMove),Mo(window,"pointerup",this.handlePointerUp),Mo(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Uo(this.updatePoint)}}function dS(e,t){return t?{point:t(e.point)}:e}function mP(e,t){return{x:e.x-t.x,y:e.y-t.y}}function fS({point:e},t){return{point:e,delta:mP(e,SL(t)),offset:mP(e,d1e(t)),velocity:f1e(t,.1)}}function d1e(e){return e[0]}function SL(e){return e[e.length-1]}function f1e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=SL(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ds(t)));)n--;if(!r)return{x:0,y:0};const o=No(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Ir(e){return e.max-e.min}function j2(e,t=0,n=.01){return Math.abs(e-t)<=n}function yP(e,t,n,r=.5){e.origin=r,e.originPoint=At(t.min,t.max,e.origin),e.scale=Ir(n)/Ir(t),(j2(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=At(n.min,n.max,e.origin)-e.originPoint,(j2(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Md(e,t,n,r){yP(e.x,t.x,n.x,r?r.originX:void 0),yP(e.y,t.y,n.y,r?r.originY:void 0)}function vP(e,t,n){e.min=n.min+t.min,e.max=e.min+Ir(t)}function h1e(e,t,n){vP(e.x,t.x,n.x),vP(e.y,t.y,n.y)}function bP(e,t,n){e.min=t.min-n.min,e.max=e.min+Ir(t)}function Nd(e,t,n){bP(e.x,t.x,n.x),bP(e.y,t.y,n.y)}function p1e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?At(n,e,r.max):Math.min(e,n)),e}function SP(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function g1e(e,{top:t,left:n,bottom:r,right:i}){return{x:SP(e.x,n,i),y:SP(e.y,t,r)}}function _P(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=qf(t.min,t.max-r,e.min):r>i&&(n=qf(e.min,e.max-i,t.min)),Ks(0,1,n)}function v1e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const V2=.35;function b1e(e=V2){return e===!1?e=0:e===!0&&(e=V2),{x:wP(e,"left","right"),y:wP(e,"top","bottom")}}function wP(e,t,n){return{min:xP(e,t),max:xP(e,n)}}function xP(e,t){return typeof e=="number"?e:e[t]||0}const CP=()=>({translate:0,scale:1,origin:0,originPoint:0}),gu=()=>({x:CP(),y:CP()}),TP=()=>({min:0,max:0}),Wt=()=>({x:TP(),y:TP()});function Li(e){return[e("x"),e("y")]}function _L({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function S1e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function _1e(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function hS(e){return e===void 0||e===1}function z2({scale:e,scaleX:t,scaleY:n}){return!hS(e)||!hS(t)||!hS(n)}function Ca(e){return z2(e)||wL(e)||e.z||e.rotate||e.rotateX||e.rotateY}function wL(e){return EP(e.x)||EP(e.y)}function EP(e){return e&&e!=="0%"}function fy(e,t,n){const r=e-n,i=t*r;return n+i}function PP(e,t,n,r,i){return i!==void 0&&(e=fy(e,i,r)),fy(e,n,r)+t}function U2(e,t=0,n=1,r,i){e.min=PP(e.min,t,n,r,i),e.max=PP(e.max,t,n,r,i)}function xL(e,{x:t,y:n}){U2(e.x,t.translate,t.scale,t.originPoint),U2(e.y,n.translate,n.scale,n.originPoint)}function w1e(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fs(e,t){e.min=e.min+t,e.max=e.max+t}function kP(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=At(e.min,e.max,o);U2(e,t[n],t[r],s,t.scale)}const x1e=["x","scaleX","originX"],C1e=["y","scaleY","originY"];function mu(e,t){kP(e.x,t,x1e),kP(e.y,t,C1e)}function CL(e,t){return _L(_1e(e.getBoundingClientRect(),t))}function T1e(e,t,n){const r=CL(e,n),{scroll:i}=t;return i&&(fs(r.x,i.offset.x),fs(r.y,i.offset.y)),r}const E1e=new WeakMap;class P1e{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Wt(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(o1(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=$D(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Li(p=>{let m=this.getAxisMotionValue(p).get()||0;if(Ji.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Ir(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&_t.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=A1e(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new bL(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&_t.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!qp(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=p1e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&hu(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=g1e(r.layoutBox,t):this.constraints=!1,this.elastic=b1e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Li(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=v1e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!hu(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=T1e(r,i.root,this.visualElement.getTransformPagePoint());let s=m1e(i.layout.layoutBox,o);if(n){const a=n(S1e(s));this.hasMutatedConstraints=!!a,a&&(s=_L(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Li(c=>{if(!qp(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(o3(t,r,0,n))}stopAnimation(){Li(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Li(n=>{const{drag:r}=this.getProps();if(!qp(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-At(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!hu(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Li(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=y1e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Li(s=>{if(!qp(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(At(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;E1e.set(this.visualElement,this);const t=this.visualElement.current,n=Mo(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();hu(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Ao(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Li(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=V2,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function qp(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function A1e(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class k1e extends ua{constructor(t){super(t),this.removeGroupControls=Qt,this.removeListeners=Qt,this.controls=new P1e(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Qt}unmount(){this.removeGroupControls(),this.removeListeners()}}const OP=e=>(t,n)=>{e&&_t.update(()=>e(t,n))};class O1e extends ua{constructor(){super(...arguments),this.removePointerDownListener=Qt}onPointerDown(t){this.session=new bL(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:OP(t),onStart:OP(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&_t.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Mo(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function R1e(){const e=k.useContext(Lh);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=k.useId();return k.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function C4e(){return I1e(k.useContext(Lh))}function I1e(e){return e===null?!0:e.isPresent}const Pg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function RP(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const od={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(me.test(e))e=parseFloat(e);else return e;const n=RP(e,t.target.x),r=RP(e,t.target.y);return`${n}% ${r}%`}},M1e={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xs.parse(e);if(i.length>5)return r;const o=Xs.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=At(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class N1e extends We.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Vye(D1e),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Pg.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||_t.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function TL(e){const[t,n]=R1e(),r=k.useContext(HC);return We.createElement(N1e,{...e,layoutGroup:r,switchLayoutGroup:k.useContext(SD),isPresent:t,safeToRemove:n})}const D1e={borderRadius:{...od,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:od,borderTopRightRadius:od,borderBottomLeftRadius:od,borderBottomRightRadius:od,boxShadow:M1e},EL=["TopLeft","TopRight","BottomLeft","BottomRight"],L1e=EL.length,IP=e=>typeof e=="string"?parseFloat(e):e,MP=e=>typeof e=="number"||me.test(e);function $1e(e,t,n,r,i,o){i?(e.opacity=At(0,n.opacity!==void 0?n.opacity:1,F1e(r)),e.opacityExit=At(t.opacity!==void 0?t.opacity:1,0,B1e(r))):o&&(e.opacity=At(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(qf(e,t,r))}function DP(e,t){e.min=t.min,e.max=t.max}function Vr(e,t){DP(e.x,t.x),DP(e.y,t.y)}function LP(e,t,n,r,i){return e-=t,e=fy(e,1/n,r),i!==void 0&&(e=fy(e,1/i,r)),e}function j1e(e,t=0,n=1,r=.5,i,o=e,s=e){if(Ji.test(t)&&(t=parseFloat(t),t=At(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=At(o.min,o.max,r);e===o&&(a-=t),e.min=LP(e.min,t,n,a,i),e.max=LP(e.max,t,n,a,i)}function $P(e,t,[n,r,i],o,s){j1e(e,t[n],t[r],t[i],t.scale,o,s)}const V1e=["x","scaleX","originX"],z1e=["y","scaleY","originY"];function FP(e,t,n,r){$P(e.x,t,V1e,n?n.x:void 0,r?r.x:void 0),$P(e.y,t,z1e,n?n.y:void 0,r?r.y:void 0)}function BP(e){return e.translate===0&&e.scale===1}function AL(e){return BP(e.x)&&BP(e.y)}function G2(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function jP(e){return Ir(e.x)/Ir(e.y)}class U1e{constructor(){this.members=[]}add(t){s3(this.members,t),t.scheduleRender()}remove(t){if(a3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function VP(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const G1e=(e,t)=>e.depth-t.depth;class H1e{constructor(){this.children=[],this.isDirty=!1}add(t){s3(this.children,t),this.isDirty=!0}remove(t){a3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(G1e),this.isDirty=!1,this.children.forEach(t)}}function q1e(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Uo(r),e(o-t))};return _t.read(r,!0),()=>Uo(r)}function W1e(e){window.MotionDebug&&window.MotionDebug.record(e)}function K1e(e){return e instanceof SVGElement&&e.tagName!=="svg"}function X1e(e,t,n){const r=_r(e)?e:uc(e);return r.start(o3("",r,t,n)),r.animation}const zP=["","X","Y","Z"],UP=1e3;let Y1e=0;const Ta={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kL({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Y1e++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ta.totalNodes=Ta.resolvedTargetDeltas=Ta.recalculatedProjection=0,this.nodes.forEach(J1e),this.nodes.forEach(ibe),this.nodes.forEach(obe),this.nodes.forEach(ebe),W1e(Ta)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=q1e(f,250),Pg.hasAnimatedSinceResize&&(Pg.hasAnimatedSinceResize=!1,this.nodes.forEach(HP))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||cbe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!G2(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...gL(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||HP(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Uo(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(sbe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(tbe),this.sharedNodes.forEach(abe)}scheduleUpdateProjection(){_t.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){_t.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;qP(d.x,s.x,_),qP(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Nd(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),lbe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&G2(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=Wt()),Vr(g,this.relativeTarget)),m&&(this.animationValues=c,$1e(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Uo(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=_t.update(()=>{Pg.hasAnimatedSinceResize=!0,this.currentAnimation=X1e(0,UP,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(UP),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&OL(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Wt();const d=Ir(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Ir(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}Vr(a,l),mu(a,c),Md(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new U1e),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(GP),this.root.sharedNodes.clear()}}}function Q1e(e){e.updateLayout()}function Z1e(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(f);f.min=r[d].min,f.max=f.min+h}):OL(o,n.layoutBox,r)&&Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=gu();Md(a,r,n.layoutBox);const l=gu();s?Md(l,e.applyTransform(i,!0),n.measuredBox):Md(l,r,n.layoutBox);const u=!AL(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=Wt();Nd(p,n.layoutBox,f.layoutBox);const m=Wt();Nd(m,r,h.layoutBox),G2(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function J1e(e){Ta.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function ebe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function tbe(e){e.clearSnapshot()}function GP(e){e.clearMeasurements()}function nbe(e){e.isLayoutDirty=!1}function rbe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function HP(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function ibe(e){e.resolveTargetDelta()}function obe(e){e.calcProjection()}function sbe(e){e.resetRotation()}function abe(e){e.removeLeadSnapshot()}function qP(e,t,n){e.translate=At(t.translate,0,n),e.scale=At(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function WP(e,t,n,r){e.min=At(t.min,n.min,r),e.max=At(t.max,n.max,r)}function lbe(e,t,n,r){WP(e.x,t.x,n.x,r),WP(e.y,t.y,n.y,r)}function ube(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const cbe={duration:.45,ease:[.4,0,.1,1]};function KP(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function dbe(e){KP(e.x),KP(e.y)}function OL(e,t,n){return e==="position"||e==="preserve-aspect"&&!j2(jP(t),jP(n),.2)}const fbe=kL({attachResizeListener:(e,t)=>Ao(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),pS={current:void 0},RL=kL({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!pS.current){const e=new fbe({});e.mount(window),e.setOptions({layoutScroll:!0}),pS.current=e}return pS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),hbe={pan:{Feature:O1e},drag:{Feature:k1e,ProjectionNode:RL,MeasureLayout:TL}},pbe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function gbe(e){const t=pbe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function H2(e,t,n=1){const[r,i]=gbe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():M2(i)?H2(i,t,n+1):i}function mbe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!M2(o))return;const s=H2(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!M2(o))continue;const s=H2(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const ybe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),IL=e=>ybe.has(e),vbe=e=>Object.keys(e).some(IL),XP=e=>e===Pl||e===me,YP=(e,t)=>parseFloat(e.split(", ")[t]),QP=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return YP(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?YP(o[1],e):0}},bbe=new Set(["x","y","z"]),Sbe=$h.filter(e=>!bbe.has(e));function _be(e){const t=[];return Sbe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const cc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:QP(4,13),y:QP(5,14)};cc.translateX=cc.x;cc.translateY=cc.y;const wbe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=cc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=cc[u](l,o)}),e},xbe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(IL);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=id(c);const f=t[l];let h;if(ay(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=id(c);for(let S=m;S=0?window.pageYOffset:null,u=wbe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),t1&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Cbe(e,t,n,r){return vbe(t)?xbe(e,t,n,r):{target:t,transitionEnd:r}}const Tbe=(e,t,n,r)=>{const i=mbe(e,t,r);return t=i.target,r=i.transitionEnd,Cbe(e,t,n,r)},q2={current:null},ML={current:!1};function Ebe(){if(ML.current=!0,!!t1)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>q2.current=e.matches;e.addListener(t),t()}else q2.current=!1}function Pbe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(_r(o))e.addValue(i,o),dy(r)&&r.add(i);else if(_r(s))e.addValue(i,uc(o,{owner:e})),dy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,uc(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const ZP=new WeakMap,NL=Object.keys(Hf),Abe=NL.length,JP=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],kbe=GC.length;class Obe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>_t.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=r1(n),this.isVariantNode=bD(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&_r(f)&&(f.set(a[d],!1),dy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,ZP.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),ML.current||Ebe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:q2.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){ZP.delete(this.current),this.projection&&this.projection.unmount(),Uo(this.notifyUpdate),Uo(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=El.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&_t.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Wt()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=uc(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=JC(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!_r(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new l3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class DL extends Obe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Xve(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Wve(this,r,s);const a=Tbe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Rbe(e){return window.getComputedStyle(e)}class Ibe extends DL{readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}else{const r=Rbe(t),i=(xD(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return CL(t,n)}build(t,n,r,i){WC(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return ZC(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;_r(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kD(t,n,r,i)}}class Mbe extends DL{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}return n=OD.has(n)?n:QC(n),t.getAttribute(n)}measureInstanceViewportBox(){return Wt()}scrapeMotionValuesFromProps(t,n){return ID(t,n)}build(t,n,r,i){XC(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){RD(t,n,r,i)}mount(t){this.isSVGTag=YC(t.tagName),super.mount(t)}}const Nbe=(e,t)=>qC(e)?new Mbe(t,{enableHardwareAcceleration:!1}):new Ibe(t,{enableHardwareAcceleration:!0}),Dbe={layout:{ProjectionNode:RL,MeasureLayout:TL}},Lbe={...u1e,...O0e,...hbe,...Dbe},$be=Bye((e,t)=>p0e(e,t,Lbe,Nbe));function LL(){const e=k.useRef(!1);return iy(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Fbe(){const e=LL(),[t,n]=k.useState(0),r=k.useCallback(()=>{e.current&&n(t+1)},[t]);return[k.useCallback(()=>_t.postRender(r),[r]),t]}class Bbe extends k.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function jbe({children:e,isPresent:t}){const n=k.useId(),r=k.useRef(null),i=k.useRef({width:0,height:0,top:0,left:0});return k.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${o}px !important; @@ -118,8 +118,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho top: ${a}px !important; left: ${l}px !important; } - `),()=>{document.head.removeChild(u)}},[t]),k.createElement(Bbe,{isPresent:t,childRef:r,sizeRef:i},k.cloneElement(e,{ref:r}))}const gS=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=MD(Vbe),l=k.useId(),u=k.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return k.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),k.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=k.createElement(jbe,{isPresent:n},e)),k.createElement(Lh.Provider,{value:u},e)};function Vbe(){return new Map}function zbe(e){return k.useEffect(()=>()=>e(),[])}const Ql=e=>e.key||"";function Ube(e,t){e.forEach(n=>{const r=Ql(n);t.set(r,n)})}function Gbe(e){const t=[];return k.Children.forEach(e,n=>{k.isValidElement(n)&&t.push(n)}),t}const Hbe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=k.useContext(HC).forceRender||Fbe()[0],l=LL(),u=Gbe(e);let c=u;const d=k.useRef(new Map).current,f=k.useRef(c),h=k.useRef(new Map).current,p=k.useRef(!0);if(iy(()=>{p.current=!1,Ube(u,h),f.current=c}),zbe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return k.createElement(k.Fragment,null,c.map(y=>k.createElement(gS,{key:Ql(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(Ql),S=u.map(Ql),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const T=f.current.findIndex(P=>P.key===g);if(f.current.splice(T,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=k.createElement(gS,{key:Ql(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:k.createElement(gS,{key:Ql(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),k.createElement(k.Fragment,null,d.size?c:c.map(y=>k.cloneElement(y)))};var qbe=Ige({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),$L=Tl((e,t)=>{const n=mD("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=fD(e),u=oD("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${qbe} ${o} linear infinite`,...n};return K.jsx(sl.div,{ref:t,__css:c,className:u,...l,children:r&&K.jsx(sl.span,{srOnly:!0,children:r})})});$L.displayName="Spinner";var W2=Tl(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return K.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});W2.displayName="NativeImage";function Wbe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=k.useState("pending");k.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=k.useRef(),f=k.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Mge(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var Kbe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function Xbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var u3=Tl(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=Wbe({...t,crossOrigin:d,ignoreFallback:S}),y=Kbe(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:Xbe(p,["onError","onLoad"])};return y?i||K.jsx(sl.img,{as:W2,className:"chakra-image__placeholder",src:r,...g}):K.jsx(sl.img,{as:W2,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});u3.displayName="Image";var Ybe=rye?k.useLayoutEffect:k.useEffect;function eP(e,t=[]){const n=k.useRef(e);return Ybe(()=>{n.current=e}),k.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Qbe(e,t){const n=k.useId();return k.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function Zbe(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Jbe(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=eP(n),s=eP(t),[a,l]=k.useState(e.defaultIsOpen||!1),[u,c]=Zbe(r,a),d=Qbe(i,"disclosure"),f=k.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=k.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=k.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:cye(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}var K2=Tl(function(t,n){const r=mD("Heading",t),{className:i,...o}=fD(t);return K.jsx(sl.h2,{ref:n,className:oD("chakra-heading",t.className),...o,__css:r})});K2.displayName="Heading";var c3=sl("div");c3.displayName="Box";var FL=Tl(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return K.jsx(c3,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});FL.displayName="Square";var eSe=Tl(function(t,n){const{size:r,...i}=t;return K.jsx(FL,{size:r,ref:n,borderRadius:"9999px",...i})});eSe.displayName="Circle";var d3=Tl(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return K.jsx(sl.div,{ref:n,__css:d,...c})});d3.displayName="Flex";const tSe=""+new URL("logo-13003d72.png",import.meta.url).href,nSe=()=>K.jsxs(d3,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[K.jsx(u3,{src:tSe,w:"8rem",h:"8rem"}),K.jsx($L,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),rSe=k.memo(nSe);function X2(e){"@babel/helpers - typeof";return X2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X2(e)}var BL=[],iSe=BL.forEach,oSe=BL.slice;function Y2(e){return iSe.call(oSe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function jL(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":X2(XMLHttpRequest))==="object"}function sSe(e){return!!e&&typeof e.then=="function"}function aSe(e){return sSe(e)?e:Promise.resolve(e)}function lSe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Q2={exports:{}},Wp={exports:{}},tP;function uSe(){return tP||(tP=1,function(e,t){var n=typeof self<"u"?self:Ee,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(C){return C&&DataView.prototype.isPrototypeOf(C)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(C){return C&&u.indexOf(Object.prototype.toString.call(C))>-1};function d(C){if(typeof C!="string"&&(C=String(C)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(C))throw new TypeError("Invalid character in header field name");return C.toLowerCase()}function f(C){return typeof C!="string"&&(C=String(C)),C}function h(C){var O={next:function(){var I=C.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(C){this.map={},C instanceof p?C.forEach(function(O,I){this.append(I,O)},this):Array.isArray(C)?C.forEach(function(O){this.append(O[0],O[1])},this):C&&Object.getOwnPropertyNames(C).forEach(function(O){this.append(O,C[O])},this)}p.prototype.append=function(C,O){C=d(C),O=f(O);var I=this.map[C];this.map[C]=I?I+", "+O:O},p.prototype.delete=function(C){delete this.map[d(C)]},p.prototype.get=function(C){return C=d(C),this.has(C)?this.map[C]:null},p.prototype.has=function(C){return this.map.hasOwnProperty(d(C))},p.prototype.set=function(C,O){this.map[d(C)]=f(O)},p.prototype.forEach=function(C,O){for(var I in this.map)this.map.hasOwnProperty(I)&&C.call(O,this.map[I],I,this)},p.prototype.keys=function(){var C=[];return this.forEach(function(O,I){C.push(I)}),h(C)},p.prototype.values=function(){var C=[];return this.forEach(function(O){C.push(O)}),h(C)},p.prototype.entries=function(){var C=[];return this.forEach(function(O,I){C.push([I,O])}),h(C)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(C){if(C.bodyUsed)return Promise.reject(new TypeError("Already read"));C.bodyUsed=!0}function S(C){return new Promise(function(O,I){C.onload=function(){O(C.result)},C.onerror=function(){I(C.error)}})}function v(C){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(C),I}function y(C){var O=new FileReader,I=S(O);return O.readAsText(C),I}function g(C){for(var O=new Uint8Array(C),I=new Array(O.length),N=0;N-1?O:C}function T(C,O){O=O||{};var I=O.body;if(C instanceof T){if(C.bodyUsed)throw new TypeError("Already read");this.url=C.url,this.credentials=C.credentials,O.headers||(this.headers=new p(C.headers)),this.method=C.method,this.mode=C.mode,this.signal=C.signal,!I&&C._bodyInit!=null&&(I=C._bodyInit,C.bodyUsed=!0)}else this.url=String(C);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})};function P(C){var O=new FormData;return C.trim().split("&").forEach(function(I){if(I){var N=I.split("="),R=N.shift().replace(/\+/g," "),D=N.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function E(C){var O=new p,I=C.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(N){var R=N.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(T.prototype);function A(C,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(C)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var C=new A(null,{status:0,statusText:""});return C.type="error",C};var $=[301,302,303,307,308];A.redirect=function(C,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:C}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var N=Error(O);this.stack=N.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function M(C,O){return new Promise(function(I,N){var R=new T(C,O);if(R.signal&&R.signal.aborted)return N(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var j={status:D.status,statusText:D.statusText,headers:E(D.getAllResponseHeaders()||"")};j.url="responseURL"in D?D.responseURL:j.headers.get("X-Request-URL");var U="response"in D?D.response:D.responseText;I(new A(U,j))},D.onerror=function(){N(new TypeError("Network request failed"))},D.ontimeout=function(){N(new TypeError("Network request failed"))},D.onabort=function(){N(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(j,U){D.setRequestHeader(U,j)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return M.polyfill=!0,o.fetch||(o.fetch=M,o.Headers=p,o.Request=T,o.Response=A),s.Headers=p,s.Request=T,s.Response=A,s.fetch=M,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Wp,Wp.exports)),Wp.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ee<"u"&&Ee.fetch?n=Ee.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof lSe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||uSe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Q2,Q2.exports);var VL=Q2.exports;const zL=al(VL),nP=OP({__proto__:null,default:zL},[VL]);function hy(e){"@babel/helpers - typeof";return hy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hy(e)}var Do;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Do=global.fetch:typeof window<"u"&&window.fetch?Do=window.fetch:Do=fetch);var Wf;jL()&&(typeof global<"u"&&global.XMLHttpRequest?Wf=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Wf=window.XMLHttpRequest));var py;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?py=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(py=window.ActiveXObject));!Do&&nP&&!Wf&&!py&&(Do=zL||nP);typeof Do!="function"&&(Do=void 0);var Z2=function(t,n){if(n&&hy(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},rP=function(t,n,r){Do(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},iP=!1,cSe=function(t,n,r,i){t.queryStringParams&&(n=Z2(n,t.queryStringParams));var o=Y2({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=Y2({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},iP?{}:s);try{rP(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),rP(n,a,i),iP=!0}catch(u){i(u)}}},dSe=function(t,n,r,i){r&&hy(r)==="object"&&(r=Z2("",r).slice(1)),t.queryStringParams&&(n=Z2(n,t.queryStringParams));try{var o;Wf?o=new Wf:o=new py("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},fSe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Do&&n.indexOf("file:")!==0)return cSe(t,n,r,i);if(jL()||typeof ActiveXObject=="function")return dSe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Kf(e){"@babel/helpers - typeof";return Kf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kf(e)}function hSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oP(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};hSe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return pSe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Y2(i,this.options||{},ySe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=aSe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();GL.type="backend";const vSe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,bSe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},SSe=e=>bSe[e],_Se=e=>e.replace(vSe,SSe);let J2={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:_Se};function wSe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};J2={...J2,...e}}function T4e(){return J2}let HL;function xSe(e){HL=e}function E4e(){return HL}const CSe={type:"3rdParty",init(e){wSe(e.options.react),xSe(e)}};zn.use(GL).use(CSe).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const TSe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{fe("socketio").debug("Connected"),r(n7());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(Vx({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Ft(Ga({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(i7())}),t.on("invocation_started",o=>{r(u7({data:o}))}),t.on("generator_progress",o=>{r(g7({data:o}))}),t.on("invocation_error",o=>{r(f7({data:o}))}),t.on("invocation_complete",o=>{r(zx({data:o}))}),t.on("graph_execution_state_complete",o=>{r(h7({data:o}))}),t.on("model_load_started",o=>{r(y7({data:o}))}),t.on("model_load_completed",o=>{r(v7({data:o}))}),t.on("session_retrieval_error",o=>{r(b7({data:o}))}),t.on("invocation_retrieval_error",o=>{r(_7({data:o}))})},ro=Object.create(null);ro.open="0";ro.close="1";ro.ping="2";ro.pong="3";ro.message="4";ro.upgrade="5";ro.noop="6";const Ag=Object.create(null);Object.keys(ro).forEach(e=>{Ag[ro[e]]=e});const ESe={type:"error",data:"parser error"},qL=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",WL=typeof ArrayBuffer=="function",KL=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f3=({type:e,data:t},n,r)=>qL&&t instanceof Blob?n?r(t):sP(t,r):WL&&(t instanceof ArrayBuffer||KL(t))?n?r(t):sP(new Blob([t]),r):r(ro[e]+(t||"")),sP=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function aP(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let mS;function PSe(e,t){if(qL&&e.data instanceof Blob)return e.data.arrayBuffer().then(aP).then(t);if(WL&&(e.data instanceof ArrayBuffer||KL(e.data)))return t(aP(e.data));f3(e,!1,n=>{mS||(mS=new TextEncoder),t(mS.encode(n))})}const lP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",md=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;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[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},kSe=typeof ArrayBuffer=="function",h3=(e,t)=>{if(typeof e!="string")return{type:"message",data:XL(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:OSe(e.substring(1),t)}:Ag[n]?e.length>1?{type:Ag[n],data:e.substring(1)}:{type:Ag[n]}:ESe},OSe=(e,t)=>{if(kSe){const n=ASe(e);return XL(n,t)}else return{base64:!0,data:e}},XL=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},YL=String.fromCharCode(30),RSe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{f3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(YL))})})},ISe=(e,t)=>{const n=e.split(YL),r=[];for(let i=0;i54;return h3(r?e:yS.decode(e),n)}const QL=4;function Zt(e){if(e)return NSe(e)}function NSe(e){for(var t in Zt.prototype)e[t]=Zt.prototype[t];return e}Zt.prototype.on=Zt.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Zt.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Zt.prototype.off=Zt.prototype.removeListener=Zt.prototype.removeAllListeners=Zt.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,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function ZL(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const DSe=qr.setTimeout,LSe=qr.clearTimeout;function a1(e,t){t.useNativeTimers?(e.setTimeoutFn=DSe.bind(qr),e.clearTimeoutFn=LSe.bind(qr)):(e.setTimeoutFn=qr.setTimeout.bind(qr),e.clearTimeoutFn=qr.clearTimeout.bind(qr))}const $Se=1.33;function FSe(e){return typeof e=="string"?BSe(e):Math.ceil((e.byteLength||e.size)*$Se)}function BSe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function jSe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function VSe(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function e$(){const e=dP(+new Date);return e!==cP?(uP=0,cP=e):e+"."+dP(uP++)}for(;Kp{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)};ISe(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,RSe(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]=e$()),!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 $u(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,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}}let $u=class kg extends Zt{constructor(t,n){super(),a1(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=ZL(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new n$(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}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 i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.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(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=kg.requestsCount++,kg.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=HSe,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete kg.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()}};$u.requestsCount=0;$u.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",fP);else if(typeof addEventListener=="function"){const e="onpagehide"in qr?"pagehide":"unload";addEventListener(e,fP,!1)}}function fP(){for(let e in $u.requests)$u.requests.hasOwnProperty(e)&&$u.requests[e].abort()}const g3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),Xp=qr.WebSocket||qr.MozWebSocket,hP=!0,KSe="arraybuffer",pP=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class XSe extends p3{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=pP?{}:ZL(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=hP&&!pP?n?new Xp(t,n):new Xp(t):new Xp(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||KSe,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 s={};try{hP&&this.ws.send(o)}catch{}i&&g3(()=>{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]=e$()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!Xp}}function YSe(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class QSe extends p3{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=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(MSe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{YSe(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&g3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const ZSe={websocket:XSe,webtransport:QSe,polling:WSe},JSe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e_e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function tw(e){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 i=JSe.exec(e||""),o={},s=14;for(;s--;)o[e_e[s]]=i[s]||"";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=t_e(o,o.path),o.queryKey=n_e(o,o.query),o}function t_e(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 n_e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let r$=class Zl extends Zt{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=tw(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=tw(n.host).host),a1(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=VSe(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=QL,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 ZSe[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Zl.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;Zl.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Zl.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 f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Zl.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,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=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),i&&this.once("flush",i),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){Zl.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 i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,i$=Object.prototype.toString,s_e=typeof Blob=="function"||typeof Blob<"u"&&i$.call(Blob)==="[object BlobConstructor]",a_e=typeof File=="function"||typeof File<"u"&&i$.call(File)==="[object FileConstructor]";function m3(e){return i_e&&(e instanceof ArrayBuffer||o_e(e))||s_e&&e instanceof Blob||a_e&&e instanceof File}function Og(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 s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),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((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(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:Me.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 Me.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 Me.EVENT:case Me.BINARY_EVENT:this.onevent(t);break;case Me.ACK:case Me.BINARY_ACK:this.onack(t);break;case Me.DISCONNECT:this.ondisconnect();break;case Me.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(...i){r||(r=!0,n.packet({type:Me.ACK,id:t,data:i}))}}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:Me.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}Tc.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};Tc.prototype.reset=function(){this.attempts=0};Tc.prototype.setMin=function(e){this.ms=e};Tc.prototype.setMax=function(e){this.max=e};Tc.prototype.setJitter=function(e){this.jitter=e};class iw extends Zt{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,a1(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 Tc({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||p_e;this.encoder=new i.Encoder,this.decoder=new i.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 r$(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=ui(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=ui(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(ui(t,"ping",this.onping.bind(this)),ui(t,"data",this.ondata.bind(this)),ui(t,"error",this.onerror.bind(this)),ui(t,"close",this.onclose.bind(this)),ui(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){g3(()=>{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 o$(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(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):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 sd={};function Rg(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=r_e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=sd[i]&&o in sd[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new iw(r,t):(sd[i]||(sd[i]=new iw(r,t)),l=sd[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Rg,{Manager:iw,Socket:o$,io:Rg,connect:Rg});const mP=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=Tf.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=Cf.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Rg(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(TSe({storeApi:o,socket:r}),e=!0,r.connect()),On.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(a7({sessionId:d}))),r.emit("subscribe",{session:c}),l(Vx({sessionId:c}))}s(a)}},l1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Ec(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function v3(e){return"nodeType"in e}function or(e){var t,n;return e?Ec(e)?e:v3(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function b3(e){const{Document:t}=or(e);return e instanceof t}function Vh(e){return Ec(e)?!1:e instanceof or(e).HTMLElement}function m_e(e){return e instanceof or(e).SVGElement}function Pc(e){return e?Ec(e)?e.document:v3(e)?b3(e)?e:Vh(e)?e.ownerDocument:document:document:document}const io=l1?k.useLayoutEffect:k.useEffect;function u1(e){const t=k.useRef(e);return io(()=>{t.current=e}),k.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=k.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xf(e,t){t===void 0&&(t=[e]);const n=k.useRef(e);return io(()=>{n.current!==e&&(n.current=e)},t),n}function zh(e,t){const n=k.useRef();return k.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function gy(e){const t=u1(e),n=k.useRef(null),r=k.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function my(e){const t=k.useRef();return k.useEffect(()=>{t.current=e},[e]),t.current}let vS={};function c1(e,t){return k.useMemo(()=>{if(t)return t;const n=vS[e]==null?0:vS[e]+1;return vS[e]=n,e+"-"+n},[e,t])}function s$(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const Fu=s$(1),yy=s$(-1);function v_e(e){return"clientX"in e&&"clientY"in e}function S3(e){if(!e)return!1;const{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function b_e(e){if(!e)return!1;const{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Yf(e){if(b_e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return v_e(e)?{x:e.clientX,y:e.clientY}:null}const Qf=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qf.Translate.toString(e),Qf.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),yP="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function S_e(e){return e.matches(yP)?e:e.querySelector(yP)}const __e={display:"none"};function w_e(e){let{id:t,value:n}=e;return We.createElement("div",{id:t,style:__e},n)}const x_e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function C_e(e){let{id:t,announcement:n}=e;return We.createElement("div",{id:t,style:x_e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function T_e(){const[e,t]=k.useState("");return{announce:k.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const a$=k.createContext(null);function E_e(e){const t=k.useContext(a$);k.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function P_e(){const[e]=k.useState(()=>new Set),t=k.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[k.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const A_e={draggable:` + `),()=>{document.head.removeChild(u)}},[t]),k.createElement(Bbe,{isPresent:t,childRef:r,sizeRef:i},k.cloneElement(e,{ref:r}))}const gS=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=MD(Vbe),l=k.useId(),u=k.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return k.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),k.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=k.createElement(jbe,{isPresent:n},e)),k.createElement(Lh.Provider,{value:u},e)};function Vbe(){return new Map}function zbe(e){return k.useEffect(()=>()=>e(),[])}const Ql=e=>e.key||"";function Ube(e,t){e.forEach(n=>{const r=Ql(n);t.set(r,n)})}function Gbe(e){const t=[];return k.Children.forEach(e,n=>{k.isValidElement(n)&&t.push(n)}),t}const Hbe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=k.useContext(HC).forceRender||Fbe()[0],l=LL(),u=Gbe(e);let c=u;const d=k.useRef(new Map).current,f=k.useRef(c),h=k.useRef(new Map).current,p=k.useRef(!0);if(iy(()=>{p.current=!1,Ube(u,h),f.current=c}),zbe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return k.createElement(k.Fragment,null,c.map(y=>k.createElement(gS,{key:Ql(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(Ql),S=u.map(Ql),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const T=f.current.findIndex(P=>P.key===g);if(f.current.splice(T,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=k.createElement(gS,{key:Ql(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:k.createElement(gS,{key:Ql(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),k.createElement(k.Fragment,null,d.size?c:c.map(y=>k.cloneElement(y)))};var qbe=Ige({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),$L=Tl((e,t)=>{const n=mD("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=fD(e),u=oD("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${qbe} ${o} linear infinite`,...n};return K.jsx(sl.div,{ref:t,__css:c,className:u,...l,children:r&&K.jsx(sl.span,{srOnly:!0,children:r})})});$L.displayName="Spinner";var W2=Tl(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return K.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});W2.displayName="NativeImage";function Wbe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=k.useState("pending");k.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=k.useRef(),f=k.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Mge(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var Kbe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function Xbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var u3=Tl(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=Wbe({...t,crossOrigin:d,ignoreFallback:S}),y=Kbe(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:Xbe(p,["onError","onLoad"])};return y?i||K.jsx(sl.img,{as:W2,className:"chakra-image__placeholder",src:r,...g}):K.jsx(sl.img,{as:W2,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});u3.displayName="Image";var Ybe=rye?k.useLayoutEffect:k.useEffect;function e8(e,t=[]){const n=k.useRef(e);return Ybe(()=>{n.current=e}),k.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Qbe(e,t){const n=k.useId();return k.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function Zbe(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Jbe(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=e8(n),s=e8(t),[a,l]=k.useState(e.defaultIsOpen||!1),[u,c]=Zbe(r,a),d=Qbe(i,"disclosure"),f=k.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=k.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=k.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:cye(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}var K2=Tl(function(t,n){const r=mD("Heading",t),{className:i,...o}=fD(t);return K.jsx(sl.h2,{ref:n,className:oD("chakra-heading",t.className),...o,__css:r})});K2.displayName="Heading";var c3=sl("div");c3.displayName="Box";var FL=Tl(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return K.jsx(c3,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});FL.displayName="Square";var eSe=Tl(function(t,n){const{size:r,...i}=t;return K.jsx(FL,{size:r,ref:n,borderRadius:"9999px",...i})});eSe.displayName="Circle";var d3=Tl(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return K.jsx(sl.div,{ref:n,__css:d,...c})});d3.displayName="Flex";const tSe=""+new URL("logo-13003d72.png",import.meta.url).href,nSe=()=>K.jsxs(d3,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[K.jsx(u3,{src:tSe,w:"8rem",h:"8rem"}),K.jsx($L,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),rSe=k.memo(nSe);function X2(e){"@babel/helpers - typeof";return X2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X2(e)}var BL=[],iSe=BL.forEach,oSe=BL.slice;function Y2(e){return iSe.call(oSe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function jL(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":X2(XMLHttpRequest))==="object"}function sSe(e){return!!e&&typeof e.then=="function"}function aSe(e){return sSe(e)?e:Promise.resolve(e)}function lSe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Q2={exports:{}},Wp={exports:{}},t8;function uSe(){return t8||(t8=1,function(e,t){var n=typeof self<"u"?self:Ee,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(C){return C&&DataView.prototype.isPrototypeOf(C)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(C){return C&&u.indexOf(Object.prototype.toString.call(C))>-1};function d(C){if(typeof C!="string"&&(C=String(C)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(C))throw new TypeError("Invalid character in header field name");return C.toLowerCase()}function f(C){return typeof C!="string"&&(C=String(C)),C}function h(C){var O={next:function(){var I=C.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(C){this.map={},C instanceof p?C.forEach(function(O,I){this.append(I,O)},this):Array.isArray(C)?C.forEach(function(O){this.append(O[0],O[1])},this):C&&Object.getOwnPropertyNames(C).forEach(function(O){this.append(O,C[O])},this)}p.prototype.append=function(C,O){C=d(C),O=f(O);var I=this.map[C];this.map[C]=I?I+", "+O:O},p.prototype.delete=function(C){delete this.map[d(C)]},p.prototype.get=function(C){return C=d(C),this.has(C)?this.map[C]:null},p.prototype.has=function(C){return this.map.hasOwnProperty(d(C))},p.prototype.set=function(C,O){this.map[d(C)]=f(O)},p.prototype.forEach=function(C,O){for(var I in this.map)this.map.hasOwnProperty(I)&&C.call(O,this.map[I],I,this)},p.prototype.keys=function(){var C=[];return this.forEach(function(O,I){C.push(I)}),h(C)},p.prototype.values=function(){var C=[];return this.forEach(function(O){C.push(O)}),h(C)},p.prototype.entries=function(){var C=[];return this.forEach(function(O,I){C.push([I,O])}),h(C)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(C){if(C.bodyUsed)return Promise.reject(new TypeError("Already read"));C.bodyUsed=!0}function S(C){return new Promise(function(O,I){C.onload=function(){O(C.result)},C.onerror=function(){I(C.error)}})}function v(C){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(C),I}function y(C){var O=new FileReader,I=S(O);return O.readAsText(C),I}function g(C){for(var O=new Uint8Array(C),I=new Array(O.length),N=0;N-1?O:C}function T(C,O){O=O||{};var I=O.body;if(C instanceof T){if(C.bodyUsed)throw new TypeError("Already read");this.url=C.url,this.credentials=C.credentials,O.headers||(this.headers=new p(C.headers)),this.method=C.method,this.mode=C.mode,this.signal=C.signal,!I&&C._bodyInit!=null&&(I=C._bodyInit,C.bodyUsed=!0)}else this.url=String(C);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})};function P(C){var O=new FormData;return C.trim().split("&").forEach(function(I){if(I){var N=I.split("="),R=N.shift().replace(/\+/g," "),D=N.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function E(C){var O=new p,I=C.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(N){var R=N.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(T.prototype);function A(C,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(C)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var C=new A(null,{status:0,statusText:""});return C.type="error",C};var $=[301,302,303,307,308];A.redirect=function(C,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:C}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var N=Error(O);this.stack=N.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function M(C,O){return new Promise(function(I,N){var R=new T(C,O);if(R.signal&&R.signal.aborted)return N(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var j={status:D.status,statusText:D.statusText,headers:E(D.getAllResponseHeaders()||"")};j.url="responseURL"in D?D.responseURL:j.headers.get("X-Request-URL");var U="response"in D?D.response:D.responseText;I(new A(U,j))},D.onerror=function(){N(new TypeError("Network request failed"))},D.ontimeout=function(){N(new TypeError("Network request failed"))},D.onabort=function(){N(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(j,U){D.setRequestHeader(U,j)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return M.polyfill=!0,o.fetch||(o.fetch=M,o.Headers=p,o.Request=T,o.Response=A),s.Headers=p,s.Request=T,s.Response=A,s.fetch=M,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Wp,Wp.exports)),Wp.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ee<"u"&&Ee.fetch?n=Ee.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof lSe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||uSe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Q2,Q2.exports);var VL=Q2.exports;const zL=al(VL),n8=O8({__proto__:null,default:zL},[VL]);function hy(e){"@babel/helpers - typeof";return hy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hy(e)}var Do;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Do=global.fetch:typeof window<"u"&&window.fetch?Do=window.fetch:Do=fetch);var Wf;jL()&&(typeof global<"u"&&global.XMLHttpRequest?Wf=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Wf=window.XMLHttpRequest));var py;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?py=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(py=window.ActiveXObject));!Do&&n8&&!Wf&&!py&&(Do=zL||n8);typeof Do!="function"&&(Do=void 0);var Z2=function(t,n){if(n&&hy(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},r8=function(t,n,r){Do(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},i8=!1,cSe=function(t,n,r,i){t.queryStringParams&&(n=Z2(n,t.queryStringParams));var o=Y2({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=Y2({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},i8?{}:s);try{r8(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),r8(n,a,i),i8=!0}catch(u){i(u)}}},dSe=function(t,n,r,i){r&&hy(r)==="object"&&(r=Z2("",r).slice(1)),t.queryStringParams&&(n=Z2(n,t.queryStringParams));try{var o;Wf?o=new Wf:o=new py("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},fSe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Do&&n.indexOf("file:")!==0)return cSe(t,n,r,i);if(jL()||typeof ActiveXObject=="function")return dSe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Kf(e){"@babel/helpers - typeof";return Kf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kf(e)}function hSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o8(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};hSe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return pSe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Y2(i,this.options||{},ySe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=aSe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();GL.type="backend";const vSe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,bSe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},SSe=e=>bSe[e],_Se=e=>e.replace(vSe,SSe);let J2={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:_Se};function wSe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};J2={...J2,...e}}function E4e(){return J2}let HL;function xSe(e){HL=e}function P4e(){return HL}const CSe={type:"3rdParty",init(e){wSe(e.options.react),xSe(e)}};zn.use(GL).use(CSe).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const TSe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{fe("socketio").debug("Connected"),r(n7());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(Vx({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Ft(Ga({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(i7())}),t.on("invocation_started",o=>{r(u7({data:o}))}),t.on("generator_progress",o=>{r(g7({data:o}))}),t.on("invocation_error",o=>{r(f7({data:o}))}),t.on("invocation_complete",o=>{r(zx({data:o}))}),t.on("graph_execution_state_complete",o=>{r(h7({data:o}))}),t.on("model_load_started",o=>{r(y7({data:o}))}),t.on("model_load_completed",o=>{r(v7({data:o}))}),t.on("session_retrieval_error",o=>{r(b7({data:o}))}),t.on("invocation_retrieval_error",o=>{r(_7({data:o}))})},ro=Object.create(null);ro.open="0";ro.close="1";ro.ping="2";ro.pong="3";ro.message="4";ro.upgrade="5";ro.noop="6";const Ag=Object.create(null);Object.keys(ro).forEach(e=>{Ag[ro[e]]=e});const ESe={type:"error",data:"parser error"},qL=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",WL=typeof ArrayBuffer=="function",KL=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f3=({type:e,data:t},n,r)=>qL&&t instanceof Blob?n?r(t):s8(t,r):WL&&(t instanceof ArrayBuffer||KL(t))?n?r(t):s8(new Blob([t]),r):r(ro[e]+(t||"")),s8=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function a8(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let mS;function PSe(e,t){if(qL&&e.data instanceof Blob)return e.data.arrayBuffer().then(a8).then(t);if(WL&&(e.data instanceof ArrayBuffer||KL(e.data)))return t(a8(e.data));f3(e,!1,n=>{mS||(mS=new TextEncoder),t(mS.encode(n))})}const l8="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",md=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;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[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},kSe=typeof ArrayBuffer=="function",h3=(e,t)=>{if(typeof e!="string")return{type:"message",data:XL(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:OSe(e.substring(1),t)}:Ag[n]?e.length>1?{type:Ag[n],data:e.substring(1)}:{type:Ag[n]}:ESe},OSe=(e,t)=>{if(kSe){const n=ASe(e);return XL(n,t)}else return{base64:!0,data:e}},XL=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},YL=String.fromCharCode(30),RSe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{f3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(YL))})})},ISe=(e,t)=>{const n=e.split(YL),r=[];for(let i=0;i54;return h3(r?e:yS.decode(e),n)}const QL=4;function Zt(e){if(e)return NSe(e)}function NSe(e){for(var t in Zt.prototype)e[t]=Zt.prototype[t];return e}Zt.prototype.on=Zt.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Zt.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Zt.prototype.off=Zt.prototype.removeListener=Zt.prototype.removeAllListeners=Zt.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,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function ZL(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const DSe=qr.setTimeout,LSe=qr.clearTimeout;function a1(e,t){t.useNativeTimers?(e.setTimeoutFn=DSe.bind(qr),e.clearTimeoutFn=LSe.bind(qr)):(e.setTimeoutFn=qr.setTimeout.bind(qr),e.clearTimeoutFn=qr.clearTimeout.bind(qr))}const $Se=1.33;function FSe(e){return typeof e=="string"?BSe(e):Math.ceil((e.byteLength||e.size)*$Se)}function BSe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function jSe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function VSe(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function e$(){const e=d8(+new Date);return e!==c8?(u8=0,c8=e):e+"."+d8(u8++)}for(;Kp{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)};ISe(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,RSe(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]=e$()),!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 $u(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,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}}let $u=class kg extends Zt{constructor(t,n){super(),a1(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=ZL(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new n$(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}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 i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.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(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=kg.requestsCount++,kg.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=HSe,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete kg.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()}};$u.requestsCount=0;$u.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",f8);else if(typeof addEventListener=="function"){const e="onpagehide"in qr?"pagehide":"unload";addEventListener(e,f8,!1)}}function f8(){for(let e in $u.requests)$u.requests.hasOwnProperty(e)&&$u.requests[e].abort()}const g3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),Xp=qr.WebSocket||qr.MozWebSocket,h8=!0,KSe="arraybuffer",p8=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class XSe extends p3{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=p8?{}:ZL(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=h8&&!p8?n?new Xp(t,n):new Xp(t):new Xp(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||KSe,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 s={};try{h8&&this.ws.send(o)}catch{}i&&g3(()=>{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]=e$()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!Xp}}function YSe(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class QSe extends p3{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=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(MSe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{YSe(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&g3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const ZSe={websocket:XSe,webtransport:QSe,polling:WSe},JSe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e_e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function tw(e){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 i=JSe.exec(e||""),o={},s=14;for(;s--;)o[e_e[s]]=i[s]||"";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=t_e(o,o.path),o.queryKey=n_e(o,o.query),o}function t_e(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 n_e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let r$=class Zl extends Zt{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=tw(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=tw(n.host).host),a1(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=VSe(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=QL,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 ZSe[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Zl.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;Zl.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Zl.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 f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Zl.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,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=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),i&&this.once("flush",i),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){Zl.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 i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,i$=Object.prototype.toString,s_e=typeof Blob=="function"||typeof Blob<"u"&&i$.call(Blob)==="[object BlobConstructor]",a_e=typeof File=="function"||typeof File<"u"&&i$.call(File)==="[object FileConstructor]";function m3(e){return i_e&&(e instanceof ArrayBuffer||o_e(e))||s_e&&e instanceof Blob||a_e&&e instanceof File}function Og(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 s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),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((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(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:Me.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 Me.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 Me.EVENT:case Me.BINARY_EVENT:this.onevent(t);break;case Me.ACK:case Me.BINARY_ACK:this.onack(t);break;case Me.DISCONNECT:this.ondisconnect();break;case Me.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(...i){r||(r=!0,n.packet({type:Me.ACK,id:t,data:i}))}}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:Me.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}Tc.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};Tc.prototype.reset=function(){this.attempts=0};Tc.prototype.setMin=function(e){this.ms=e};Tc.prototype.setMax=function(e){this.max=e};Tc.prototype.setJitter=function(e){this.jitter=e};class iw extends Zt{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,a1(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 Tc({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||p_e;this.encoder=new i.Encoder,this.decoder=new i.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 r$(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=ui(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=ui(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(ui(t,"ping",this.onping.bind(this)),ui(t,"data",this.ondata.bind(this)),ui(t,"error",this.onerror.bind(this)),ui(t,"close",this.onclose.bind(this)),ui(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){g3(()=>{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 o$(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(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):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 sd={};function Rg(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=r_e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=sd[i]&&o in sd[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new iw(r,t):(sd[i]||(sd[i]=new iw(r,t)),l=sd[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Rg,{Manager:iw,Socket:o$,io:Rg,connect:Rg});const m8=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=Tf.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=Cf.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Rg(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(TSe({storeApi:o,socket:r}),e=!0,r.connect()),On.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(a7({sessionId:d}))),r.emit("subscribe",{session:c}),l(Vx({sessionId:c}))}s(a)}},l1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Ec(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function v3(e){return"nodeType"in e}function or(e){var t,n;return e?Ec(e)?e:v3(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function b3(e){const{Document:t}=or(e);return e instanceof t}function Vh(e){return Ec(e)?!1:e instanceof or(e).HTMLElement}function m_e(e){return e instanceof or(e).SVGElement}function Pc(e){return e?Ec(e)?e.document:v3(e)?b3(e)?e:Vh(e)?e.ownerDocument:document:document:document}const io=l1?k.useLayoutEffect:k.useEffect;function u1(e){const t=k.useRef(e);return io(()=>{t.current=e}),k.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=k.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xf(e,t){t===void 0&&(t=[e]);const n=k.useRef(e);return io(()=>{n.current!==e&&(n.current=e)},t),n}function zh(e,t){const n=k.useRef();return k.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function gy(e){const t=u1(e),n=k.useRef(null),r=k.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function my(e){const t=k.useRef();return k.useEffect(()=>{t.current=e},[e]),t.current}let vS={};function c1(e,t){return k.useMemo(()=>{if(t)return t;const n=vS[e]==null?0:vS[e]+1;return vS[e]=n,e+"-"+n},[e,t])}function s$(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const Fu=s$(1),yy=s$(-1);function v_e(e){return"clientX"in e&&"clientY"in e}function S3(e){if(!e)return!1;const{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function b_e(e){if(!e)return!1;const{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Yf(e){if(b_e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return v_e(e)?{x:e.clientX,y:e.clientY}:null}const Qf=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qf.Translate.toString(e),Qf.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),y8="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function S_e(e){return e.matches(y8)?e:e.querySelector(y8)}const __e={display:"none"};function w_e(e){let{id:t,value:n}=e;return We.createElement("div",{id:t,style:__e},n)}const x_e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function C_e(e){let{id:t,announcement:n}=e;return We.createElement("div",{id:t,style:x_e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function T_e(){const[e,t]=k.useState("");return{announce:k.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const a$=k.createContext(null);function E_e(e){const t=k.useContext(a$);k.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function P_e(){const[e]=k.useState(()=>new Set),t=k.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[k.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const A_e={draggable:` To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel. - `},k_e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function O_e(e){let{announcements:t=k_e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=A_e}=e;const{announce:o,announcement:s}=T_e(),a=c1("DndLiveRegion"),[l,u]=k.useState(!1);if(k.useEffect(()=>{u(!0)},[]),E_e(k.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=We.createElement(We.Fragment,null,We.createElement(w_e,{id:r,value:i.draggable}),We.createElement(C_e,{id:a,announcement:s}));return n?zi.createPortal(c,n):c}var nn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(nn||(nn={}));function vy(){}function vP(e,t){return k.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function R_e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Ei=Object.freeze({x:0,y:0});function I_e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function M_e(e,t){const n=Yf(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function N_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function D_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function L_e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function $_e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function F_e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=F_e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(D_e)};function j_e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const V_e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&j_e(r,a)){const u=L_e(a).reduce((d,f)=>d+I_e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(N_e)};function z_e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function l$(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ei}function U_e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const G_e=U_e(1);function u$(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function H_e(e,t,n){const r=u$(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const q_e={ignoreTransform:!1};function Uh(e,t){t===void 0&&(t=q_e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=or(e).getComputedStyle(e);u&&(n=H_e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function bP(e){return Uh(e,{ignoreTransform:!0})}function W_e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function K_e(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position==="fixed"}function X_e(e,t){t===void 0&&(t=or(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _3(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(b3(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Vh(i)||m_e(i)||n.includes(i))return n;const o=or(e).getComputedStyle(i);return i!==e&&X_e(i,o)&&n.push(i),K_e(i,o)?n:r(i.parentNode)}return e?r(e):n}function c$(e){const[t]=_3(e,1);return t??null}function bS(e){return!l1||!e?null:Ec(e)?e:v3(e)?b3(e)||e===Pc(e).scrollingElement?window:Vh(e)?e:null:null}function d$(e){return Ec(e)?e.scrollX:e.scrollLeft}function f$(e){return Ec(e)?e.scrollY:e.scrollTop}function ow(e){return{x:d$(e),y:f$(e)}}var hn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(hn||(hn={}));function h$(e){return!l1||!e?!1:e===document.scrollingElement}function p$(e){const t={x:0,y:0},n=h$(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const Y_e={x:.2,y:.2};function Q_e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=Y_e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=p$(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=hn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=hn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=hn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=hn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function Z_e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function g$(e){return e.reduce((t,n)=>Fu(t,ow(n)),Ei)}function J_e(e){return e.reduce((t,n)=>t+d$(n),0)}function e2e(e){return e.reduce((t,n)=>t+f$(n),0)}function m$(e,t){if(t===void 0&&(t=Uh),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);c$(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const t2e=[["x",["left","right"],J_e],["y",["top","bottom"],e2e]];class w3{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_3(n),i=g$(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of t2e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Dd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function n2e(e){const{EventTarget:t}=or(e);return e instanceof t?e:Pc(e)}function SS(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var Ur;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ur||(Ur={}));function SP(e){e.preventDefault()}function r2e(e){e.stopPropagation()}var st;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(st||(st={}));const y$={start:[st.Space,st.Enter],cancel:[st.Esc],end:[st.Space,st.Enter]},i2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case st.Right:return{...n,x:n.x+25};case st.Left:return{...n,x:n.x-25};case st.Down:return{...n,y:n.y+25};case st.Up:return{...n,y:n.y-25}}};class v${constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Dd(Pc(n)),this.windowListeners=new Dd(or(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ur.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&m$(r),n(Ei)}handleKeyDown(t){if(S3(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=y$,coordinateGetter:s=i2e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Ei;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=yy(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=p$(m),x=Z_e(m),T={x:Math.min(S===st.Right?x.right-x.width/2:x.right,Math.max(S===st.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===st.Down?x.bottom-x.height/2:x.bottom,Math.max(S===st.Down?x.top:x.top+x.height/2,d.y))},P=S===st.Right&&!y||S===st.Left&&!g,E=S===st.Down&&!b||S===st.Up&&!v;if(P&&T.x!==d.x){const A=m.scrollLeft+f.x,$=S===st.Right&&A<=_.x||S===st.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===st.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(E&&T.y!==d.y){const A=m.scrollTop+f.y,$=S===st.Down&&A<=_.y||S===st.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===st.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Fu(yy(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}v$.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=y$,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function _P(e){return!!(e&&"distance"in e)}function wP(e){return!!(e&&"delay"in e)}class x3{constructor(t,n,r){var i;r===void 0&&(r=n2e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Pc(s),this.documentListeners=new Dd(this.document),this.listeners=new Dd(r),this.windowListeners=new Dd(or(s)),this.initialCoordinates=(i=Yf(o))!=null?i:Ei,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.DragStart,SP),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),this.windowListeners.add(Ur.ContextMenu,SP),this.documentListeners.add(Ur.Keydown,this.handleKeydown),n){if(_P(n))return;if(wP(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ur.Click,r2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ur.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Yf(t))!=null?n:Ei,u=yy(i,l);if(!r&&a){if(wP(a))return SS(u,a.tolerance)?this.handleCancel():void 0;if(_P(a))return a.tolerance!=null&&SS(u,a.tolerance)?this.handleCancel():SS(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===st.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const o2e={move:{name:"pointermove"},end:{name:"pointerup"}};class b$ extends x3{constructor(t){const{event:n}=t,r=Pc(n.target);super(t,o2e,r)}}b$.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const s2e={move:{name:"mousemove"},end:{name:"mouseup"}};var sw;(function(e){e[e.RightClick=2]="RightClick"})(sw||(sw={}));class S$ extends x3{constructor(t){super(t,s2e,Pc(t.event.target))}}S$.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===sw.RightClick?!1:(r==null||r({event:n}),!0)}}];const _S={move:{name:"touchmove"},end:{name:"touchend"}};class _$ extends x3{constructor(t){super(t,_S)}static setup(){return window.addEventListener(_S.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(_S.move.name,t)};function t(){}}}_$.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Ld;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Ld||(Ld={}));var by;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(by||(by={}));function a2e(e){let{acceleration:t,activator:n=Ld.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=by.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=u2e({delta:d,disabled:!o}),[p,m]=y_e(),S=k.useRef({x:0,y:0}),v=k.useRef({x:0,y:0}),y=k.useMemo(()=>{switch(n){case Ld.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Ld.DraggableRect:return i}},[n,i,l]),g=k.useRef(null),b=k.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,T=S.current.y*v.current.y;w.scrollBy(x,T)},[]),_=k.useMemo(()=>a===by.TreeOrder?[...u].reverse():u,[a,u]);k.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),T=c[x];if(!T)continue;const{direction:P,speed:E}=Q_e(w,T,y,t,f);for(const A of["x","y"])h[A][P[A]]||(E[A]=0,P[A]=0);if(E.x>0||E.y>0){m(),g.current=w,p(b,s),S.current=E,v.current=P;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const l2e={x:{[hn.Backward]:!1,[hn.Forward]:!1},y:{[hn.Backward]:!1,[hn.Forward]:!1}};function u2e(e){let{delta:t,disabled:n}=e;const r=my(t);return zh(i=>{if(n||!r||!i)return l2e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[hn.Backward]:i.x[hn.Backward]||o.x===-1,[hn.Forward]:i.x[hn.Forward]||o.x===1},y:{[hn.Backward]:i.y[hn.Backward]||o.y===-1,[hn.Forward]:i.y[hn.Forward]||o.y===1}}},[n,t,r])}function c2e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zh(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function d2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Zf;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Zf||(Zf={}));var aw;(function(e){e.Optimized="optimized"})(aw||(aw={}));const xP=new Map;function f2e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=k.useState(null),{frequency:a,measure:l,strategy:u}=i,c=k.useRef(e),d=S(),f=Xf(d),h=k.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=k.useRef(null),m=zh(v=>{if(d&&!n)return xP;if(!v||v===xP||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new w3(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return k.useEffect(()=>{c.current=e},[e]),k.useEffect(()=>{d||h()},[n,d]),k.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),k.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Zf.Always:return!1;case Zf.BeforeDragging:return n;default:return!n}}}function C3(e,t){return zh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function h2e(e,t){return C3(e,t)}function p2e(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function d1(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function g2e(e){return new w3(Uh(e),e)}function CP(e,t,n){t===void 0&&(t=g2e);const[r,i]=k.useReducer(a,null),o=p2e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=d1({callback:i});return io(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function m2e(e){const t=C3(e);return l$(e,t)}const TP=[];function y2e(e){const t=k.useRef(e),n=zh(r=>e?r&&r!==TP&&e&&t.current&&e.parentNode===t.current.parentNode?r:_3(e):TP,[e]);return k.useEffect(()=>{t.current=e},[e]),n}function v2e(e){const[t,n]=k.useState(null),r=k.useRef(e),i=k.useCallback(o=>{const s=bS(o.target);s&&n(a=>a?(a.set(s,ow(s)),new Map(a)):null)},[]);return k.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=bS(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,ow(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=bS(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),k.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>Fu(o,s),Ei):g$(e):Ei,[e,t])}function EP(e,t){t===void 0&&(t=[]);const n=k.useRef(null);return k.useEffect(()=>{n.current=null},t),k.useEffect(()=>{const r=e!==Ei;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?yy(e,n.current):Ei}function b2e(e){k.useEffect(()=>{if(!l1)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function S2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function w$(e){return k.useMemo(()=>e?W_e(e):null,[e])}const wS=[];function _2e(e,t){t===void 0&&(t=Uh);const[n]=e,r=w$(n?or(n):null),[i,o]=k.useReducer(a,wS),s=d1({callback:o});return e.length>0&&i===wS&&o(),io(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>h$(l)?r:new w3(t(l),l)):wS}}function x$(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Vh(t)?t:e}function w2e(e){let{measure:t}=e;const[n,r]=k.useState(null),i=k.useCallback(u=>{for(const{target:c}of u)if(Vh(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=d1({callback:i}),s=k.useCallback(u=>{const c=x$(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=gy(s);return k.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const x2e=[{sensor:b$,options:{}},{sensor:v$,options:{}}],C2e={current:{}},Ig={draggable:{measure:bP},droppable:{measure:bP,strategy:Zf.WhileDragging,frequency:aw.Optimized},dragOverlay:{measure:Uh}};class $d extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const T2e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new $d,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:vy},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ig,measureDroppableContainers:vy,windowRect:null,measuringScheduled:!1},C$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:vy,draggableNodes:new Map,over:null,measureDroppableContainers:vy},Gh=k.createContext(C$),T$=k.createContext(T2e);function E2e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new $d}}}function P2e(e,t){switch(t.type){case nn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case nn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case nn.DragEnd:case nn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case nn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new $d(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case nn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new $d(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case nn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new $d(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function A2e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=k.useContext(Gh),o=my(r),s=my(n==null?void 0:n.id);return k.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!S3(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=S_e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function E$(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function k2e(e){return k.useMemo(()=>({draggable:{...Ig.draggable,...e==null?void 0:e.draggable},droppable:{...Ig.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Ig.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function O2e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=k.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;io(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=l$(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=c$(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const f1=k.createContext({...Ei,scaleX:1,scaleY:1});var hs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hs||(hs={}));const R2e=k.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=x2e,collisionDetection:d=B_e,measuring:f,modifiers:h,...p}=t;const m=k.useReducer(P2e,void 0,E2e),[S,v]=m,[y,g]=P_e(),[b,_]=k.useState(hs.Uninitialized),w=b===hs.Initialized,{draggable:{active:x,nodes:T,translate:P},droppable:{containers:E}}=S,A=x?T.get(x):null,$=k.useRef({initial:null,translated:null}),M=k.useMemo(()=>{var Ct;return x!=null?{id:x,data:(Ct=A==null?void 0:A.data)!=null?Ct:C2e,rect:$}:null},[x,A]),C=k.useRef(null),[O,I]=k.useState(null),[N,R]=k.useState(null),D=Xf(p,Object.values(p)),L=c1("DndDescribedBy",s),j=k.useMemo(()=>E.getEnabled(),[E]),U=k2e(f),{droppableRects:G,measureDroppableContainers:W,measuringScheduled:X}=f2e(j,{dragging:w,dependencies:[P.x,P.y],config:U.droppable}),Y=c2e(T,x),B=k.useMemo(()=>N?Yf(N):null,[N]),H=da(),Q=h2e(Y,U.draggable.measure);O2e({activeNode:x?T.get(x):null,config:H.layoutShiftCompensation,initialRect:Q,measure:U.draggable.measure});const J=CP(Y,U.draggable.measure,Q),ne=CP(Y?Y.parentElement:null),te=k.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:G,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),xe=E.getNodeFor((n=te.current.over)==null?void 0:n.id),ve=w2e({measure:U.dragOverlay.measure}),ce=(r=ve.nodeRef.current)!=null?r:Y,Ne=w?(i=ve.rect)!=null?i:J:null,se=!!(ve.nodeRef.current&&ve.rect),gt=m2e(se?null:J),vn=w$(ce?or(ce):null),It=y2e(w?xe??Y:null),ut=_2e(It),Je=E$(h,{transform:{x:P.x-gt.x,y:P.y-gt.y,scaleX:1,scaleY:1},activatorEvent:N,active:M,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Ne,over:te.current.over,overlayNodeRect:ve.rect,scrollableAncestors:It,scrollableAncestorRects:ut,windowRect:vn}),Gt=B?Fu(B,P):null,sr=v2e(It),ni=EP(sr),Lr=EP(sr,[J]),Rn=Fu(Je,ni),bn=Ne?G_e(Ne,Je):null,Un=M&&bn?d({active:M,collisionRect:bn,droppableRects:G,droppableContainers:j,pointerCoordinates:Gt}):null,Ht=$_e(Un,"id"),[xt,wr]=k.useState(null),$r=se?Je:Fu(Je,Lr),ri=z_e($r,(o=xt==null?void 0:xt.rect)!=null?o:null,J),uo=k.useCallback((Ct,et)=>{let{sensor:_n,options:ln}=et;if(C.current==null)return;const In=T.get(C.current);if(!In)return;const Gn=Ct.nativeEvent,ar=new _n({active:C.current,activeNode:In,event:Gn,options:ln,context:te,onStart(Hn){const wn=C.current;if(wn==null)return;const co=T.get(wn);if(!co)return;const{onDragStart:Zo}=D.current,Jo={active:{id:wn,data:co.data,rect:$}};zi.unstable_batchedUpdates(()=>{Zo==null||Zo(Jo),_(hs.Initializing),v({type:nn.DragStart,initialCoordinates:Hn,active:wn}),y({type:"onDragStart",event:Jo})})},onMove(Hn){v({type:nn.DragMove,coordinates:Hn})},onEnd:Oi(nn.DragEnd),onCancel:Oi(nn.DragCancel)});zi.unstable_batchedUpdates(()=>{I(ar),R(Ct.nativeEvent)});function Oi(Hn){return async function(){const{active:co,collisions:Zo,over:Jo,scrollAdjustedTranslate:Al}=te.current;let fo=null;if(co&&Al){const{cancelDrop:qn}=D.current;fo={activatorEvent:Gn,active:co,collisions:Zo,delta:Al,over:Jo},Hn===nn.DragEnd&&typeof qn=="function"&&await Promise.resolve(qn(fo))&&(Hn=nn.DragCancel)}C.current=null,zi.unstable_batchedUpdates(()=>{v({type:Hn}),_(hs.Uninitialized),wr(null),I(null),R(null);const qn=Hn===nn.DragEnd?"onDragEnd":"onDragCancel";if(fo){const fa=D.current[qn];fa==null||fa(fo),y({type:qn,event:fo})}})}}},[T]),Sn=k.useCallback((Ct,et)=>(_n,ln)=>{const In=_n.nativeEvent,Gn=T.get(ln);if(C.current!==null||!Gn||In.dndKit||In.defaultPrevented)return;const ar={active:Gn};Ct(_n,et.options,ar)===!0&&(In.dndKit={capturedBy:et.sensor},C.current=ln,uo(_n,et))},[T,uo]),ii=d2e(c,Sn);b2e(c),io(()=>{J&&b===hs.Initializing&&_(hs.Initialized)},[J,b]),k.useEffect(()=>{const{onDragMove:Ct}=D.current,{active:et,activatorEvent:_n,collisions:ln,over:In}=te.current;if(!et||!_n)return;const Gn={active:et,activatorEvent:_n,collisions:ln,delta:{x:Rn.x,y:Rn.y},over:In};zi.unstable_batchedUpdates(()=>{Ct==null||Ct(Gn),y({type:"onDragMove",event:Gn})})},[Rn.x,Rn.y]),k.useEffect(()=>{const{active:Ct,activatorEvent:et,collisions:_n,droppableContainers:ln,scrollAdjustedTranslate:In}=te.current;if(!Ct||C.current==null||!et||!In)return;const{onDragOver:Gn}=D.current,ar=ln.get(Ht),Oi=ar&&ar.rect.current?{id:ar.id,rect:ar.rect.current,data:ar.data,disabled:ar.disabled}:null,Hn={active:Ct,activatorEvent:et,collisions:_n,delta:{x:In.x,y:In.y},over:Oi};zi.unstable_batchedUpdates(()=>{wr(Oi),Gn==null||Gn(Hn),y({type:"onDragOver",event:Hn})})},[Ht]),io(()=>{te.current={activatorEvent:N,active:M,activeNode:Y,collisionRect:bn,collisions:Un,droppableRects:G,draggableNodes:T,draggingNode:ce,draggingNodeRect:Ne,droppableContainers:E,over:xt,scrollableAncestors:It,scrollAdjustedTranslate:Rn},$.current={initial:Ne,translated:bn}},[M,Y,Un,bn,T,ce,Ne,G,E,xt,It,Rn]),a2e({...H,delta:P,draggingRect:bn,pointerCoordinates:Gt,scrollableAncestors:It,scrollableAncestorRects:ut});const ca=k.useMemo(()=>({active:M,activeNode:Y,activeNodeRect:J,activatorEvent:N,collisions:Un,containerNodeRect:ne,dragOverlay:ve,draggableNodes:T,droppableContainers:E,droppableRects:G,over:xt,measureDroppableContainers:W,scrollableAncestors:It,scrollableAncestorRects:ut,measuringConfiguration:U,measuringScheduled:X,windowRect:vn}),[M,Y,J,N,Un,ne,ve,T,E,G,xt,W,It,ut,U,X,vn]),ki=k.useMemo(()=>({activatorEvent:N,activators:ii,active:M,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:T,over:xt,measureDroppableContainers:W}),[N,ii,M,J,v,L,T,xt,W]);return We.createElement(a$.Provider,{value:g},We.createElement(Gh.Provider,{value:ki},We.createElement(T$.Provider,{value:ca},We.createElement(f1.Provider,{value:ri},u)),We.createElement(A2e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),We.createElement(O_e,{...a,hiddenTextDescribedById:L}));function da(){const Ct=(O==null?void 0:O.autoScrollEnabled)===!1,et=typeof l=="object"?l.enabled===!1:l===!1,_n=w&&!Ct&&!et;return typeof l=="object"?{...l,enabled:_n}:{enabled:_n}}}),I2e=k.createContext(null),PP="button",M2e="Droppable";function N2e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=c1(M2e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=k.useContext(Gh),{role:h=PP,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=k.useContext(S?f1:I2e),[y,g]=gy(),[b,_]=gy(),w=S2e(s,t),x=Xf(n);io(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const P=d.get(t);P&&P.key===o&&d.delete(t)}),[d,t]);const T=k.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===PP?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:T,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function D2e(){return k.useContext(T$)}const L2e="Droppable",$2e={timeout:25};function F2e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=c1(L2e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=k.useContext(Gh),c=k.useRef({disabled:n}),d=k.useRef(!1),f=k.useRef(null),h=k.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...$2e,...i},v=Xf(m??r),y=k.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=d1({callback:y,disabled:p||!s}),b=k.useCallback((T,P)=>{g&&(P&&(g.unobserve(P),d.current=!1),T&&g.observe(T))},[g]),[_,w]=gy(b),x=Xf(t);return k.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),io(()=>(a({type:nn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:nn.UnregisterDroppable,key:o,id:r})),[r]),k.useEffect(()=>{n!==c.current.disabled&&(a({type:nn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function B2e(e){let{animation:t,children:n}=e;const[r,i]=k.useState(null),[o,s]=k.useState(null),a=my(n);return!n&&!r&&a&&i(a),io(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),We.createElement(We.Fragment,null,n,r?k.cloneElement(r,{ref:s}):null)}const j2e={x:0,y:0,scaleX:1,scaleY:1};function V2e(e){let{children:t}=e;return We.createElement(Gh.Provider,{value:C$},We.createElement(f1.Provider,{value:j2e},t))}const z2e={position:"fixed",touchAction:"none"},U2e=e=>S3(e)?"transform 250ms ease":void 0,G2e=k.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=U2e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...z2e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Qf.Transform.toString(d),transformOrigin:i&&r?M_e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return We.createElement(n,{className:s,style:f,ref:t},o)}),H2e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},q2e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Qf.Transform.toString(t)},{transform:Qf.Transform.toString(n)}]},W2e={duration:250,easing:"ease",keyframes:q2e,sideEffects:H2e({styles:{active:{opacity:"0"}}})};function K2e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return u1((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=x$(s);if(!u)return;const{transform:c}=or(s).getComputedStyle(s),d=u$(c);if(!d)return;const f=typeof t=="function"?t:X2e(t);return m$(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function X2e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...W2e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let AP=0;function Y2e(e){return k.useMemo(()=>{if(e!=null)return AP++,AP},[e])}const Q2e=We.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=D2e(),w=k.useContext(f1),x=Y2e(d==null?void 0:d.id),T=E$(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),P=C3(f),E=K2e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=P?S.setRef:void 0;return We.createElement(V2e,null,We.createElement(B2e,{animation:E},d&&x?We.createElement(G2e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:P,style:{zIndex:u,...i},transform:T},n):null))}),Z2e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Yf(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},P$=()=>ak(),P4e=J9,Yp=28,kP={w:Yp,h:Yp,maxW:Yp,maxH:Yp,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},J2e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return K.jsx(c3,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:K.jsx(u3,{sx:{...kP},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?K.jsxs(d3,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...kP},children:[K.jsx(K2,{children:e.dragData.payload.image_names.length}),K.jsx(K2,{size:"sm",children:"Images"})]}):null},ewe=k.memo(J2e);function A4e(e){return F2e(e)}function k4e(e){return N2e(e)}const O4e=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function twe(e){return K.jsx(R2e,{...e})}const nwe=e=>{const[t,n]=k.useState(null),r=P$(),i=k.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=k.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current);const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(tN({overData:c,activeData:t})),n(null))},[t,r]),s=vP(S$,{activationConstraint:{distance:10}}),a=vP(_$,{activationConstraint:{distance:10}}),l=R_e(s,a);return K.jsxs(twe,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:V_e,children:[e.children,K.jsx(Q2e,{dropAnimation:null,modifiers:[Z2e],children:K.jsx(Hbe,{children:t&&K.jsx($be.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:K.jsx(ewe,{dragData:t})},"overlay-drag-image")})})]})},rwe=k.memo(nwe),iwe=k.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),owe=e=>{const[t,n]=k.useState(),{isOpen:r,onOpen:i,onClose:o}=Jbe(),s=P$(),a=k.useCallback(()=>{n(void 0),o()},[o]),l=k.useCallback(c=>{c&&(n(c),i())},[n,i]),u=k.useCallback(c=>{t&&(s(he.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return K.jsx(iwe.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},swe=k.lazy(()=>G9(()=>import("./App-6757ec55.js"),["./App-6757ec55.js","./MantineProvider-3c4df448.js","./App-6125620a.css"],import.meta.url)),awe=k.lazy(()=>G9(()=>import("./ThemeLocaleProvider-b9e7cc95.js"),["./ThemeLocaleProvider-b9e7cc95.js","./MantineProvider-3c4df448.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),lwe=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(k.useEffect(()=>(t&&Cf.set(t),e&&Tf.set(e),zM(),i&&i.length>0?c2(mP(),...i):c2(mP()),()=>{Tf.set(void 0),Cf.set(void 0)}),[e,t,i]),K.jsx(We.StrictMode,{children:K.jsx(mV,{store:Gpe,children:K.jsx(We.Suspense,{fallback:K.jsx(rSe,{}),children:K.jsx(awe,{children:K.jsx(rwe,{children:K.jsx(owe,{children:K.jsx(swe,{config:n,headerComponent:r})})})})})})})),uwe=k.memo(lwe);xS.createRoot(document.getElementById("root")).render(K.jsx(uwe,{}));export{fD as $,K as A,ti as B,Vt as C,Mu as D,Vn as E,fi as F,Xne as G,br as H,Is as I,$i as J,$3e as K,_I as L,cre as M,jre as N,ote as O,Zne as P,rc as Q,Tl as R,df as S,Nge as T,sl as U,oD as V,f4e as W,u4e as X,Hbe as Y,$be as Z,w4e as _,Zk as a,U_ as a$,$L as a0,mD as a1,c4e as a2,d4e as a3,Mge as a4,Ige as a5,h4e as a6,Na as a7,al as a8,rm as a9,d3 as aA,K2 as aB,i4e as aC,jN as aD,ZCe as aE,Y4 as aF,lCe as aG,zi as aH,BC as aI,nF as aJ,hwe as aK,dwe as aL,fwe as aM,Ee as aN,Ea as aO,C3e as aP,YM as aQ,w3e as aR,x3e as aS,S3e as aT,m3e as aU,Mpe as aV,A4e as aW,O4e as aX,b3e as aY,R3e as aZ,WCe as a_,IV as aa,We as ab,eP as ac,uye as ad,_4e as ae,Io as af,rD as ag,R1e as ah,m4e as ai,R2 as aj,l4e as ak,S4e as al,Jn as am,mC as an,S0 as ao,P4e as ap,B3e as aq,Th as ar,nM as as,AM as at,Z0 as au,P$ as av,p5e as aw,Ft as ax,Ga as ay,c3 as az,Tx as b,I7 as b$,_3e as b0,u3 as b1,tSe as b2,vxe as b3,Ss as b4,P5e as b5,hp as b6,bge as b7,FC as b8,ZN as b9,ue as bA,iwe as bB,KCe as bC,dJ as bD,e3e as bE,$R as bF,Yxe as bG,RR as bH,G_ as bI,k4e as bJ,a4e as bK,O3e as bL,YCe as bM,QCe as bN,Rs as bO,Vle as bP,HCe as bQ,qCe as bR,UCe as bS,Jbe as bT,Am as bU,r4e as bV,M5e as bW,mxe as bX,ble as bY,c5e as bZ,I3e as b_,_ge as ba,$3 as bb,A3e as bc,P3e as bd,cwe as be,mwe as bf,ywe as bg,Bwe as bh,jwe as bi,wwe as bj,qwe as bk,bwe as bl,Iwe as bm,Twe as bn,Jle as bo,Swe as bp,Vwe as bq,vwe as br,Qwe as bs,xwe as bt,Mwe as bu,Cwe as bv,Nwe as bw,Awe as bx,Lwe as by,Zle as bz,AU as c,bQ as c$,eN as c0,k5e as c1,GCe as c2,t3e as c3,T7 as c4,LR as c5,_we as c6,xxe as c7,zn as c8,S5e as c9,Ph as cA,lxe as cB,Zwe as cC,ixe as cD,Fwe as cE,g5e as cF,hl as cG,y5e as cH,n5e as cI,t5e as cJ,D5e as cK,J5e as cL,a5e as cM,o5e as cN,fe as cO,xf as cP,q5e as cQ,wE as cR,s5e as cS,l5e as cT,i5e as cU,Xse as cV,$we as cW,pQ as cX,B5e as cY,PR as cZ,uxe as c_,O5e as ca,A5e as cb,Qae as cc,b5e as cd,x5e as ce,C5e as cf,vQ as cg,vae as ch,bae as ci,pxe as cj,wxe as ck,w5e as cl,_Q as cm,F3e as cn,h5e as co,ER as cp,g3e as cq,f3e as cr,h3e as cs,p3e as ct,F5e as cu,Qa as cv,pwe as cw,xo as cx,ace as cy,kwe as cz,mX as d,Y5e as d$,Ui as d0,Dwe as d1,Kwe as d2,gwe as d3,aY as d4,Ywe as d5,r5e as d6,cxe as d7,e5e as d8,hce as d9,C7 as dA,i3e as dB,s3e as dC,n3e as dD,Spe as dE,r3e as dF,oxe as dG,sxe as dH,nxe as dI,rxe as dJ,txe as dK,K5e as dL,U5e as dM,E5e as dN,z5e as dO,Z5e as dP,W5e as dQ,T5e as dR,H5e as dS,G5e as dT,j5e as dU,V5e as dV,GI as dW,Lx as dX,X5e as dY,Fm as dZ,pe as d_,fxe as da,he as db,Kn as dc,N5e as dd,N3e as de,D3e as df,N7 as dg,$5e as dh,M3e as di,hR as dj,axe as dk,sY as dl,Pwe as dm,L5e as dn,bT as dp,a3e as dq,Hx as dr,tJ as ds,Xl as dt,ST as du,l3e as dv,u3e as dw,c3e as dx,nJ as dy,d3e as dz,ZO as e,Zxe as e$,u2 as e0,Ewe as e1,Q5e as e2,J9 as e3,ak as e4,J3e as e5,q3e as e6,W3e as e7,K3e as e8,RM as e9,nd as eA,sCe as eB,Vxe as eC,tv as eD,uCe as eE,$xe as eF,aCe as eG,Fxe as eH,Gxe as eI,Pxe as eJ,Exe as eK,Txe as eL,DCe as eM,MR as eN,Cf as eO,Ixe as eP,Mxe as eQ,Nxe as eR,ICe as eS,qxe as eT,Hxe as eU,FQ as eV,RCe as eW,Ele as eX,zxe as eY,mpe as eZ,bpe as e_,Q3e as ea,Z3e as eb,Df as ec,_0 as ed,z3e as ee,Dpe as ef,j3e as eg,V3e as eh,G3e as ei,U3e as ej,H3e as ek,Y3e as el,$ie as em,eM as en,oN as eo,CF as ep,Pe as eq,gCe as er,NCe as es,MCe as et,Kxe as eu,CCe as ev,LCe as ew,Ple as ex,jxe as ey,cCe as ez,sO as f,Yme as f$,Jxe as f0,mCe as f1,pCe as f2,dCe as f3,Axe as f4,kxe as f5,R5e as f6,I5e as f7,oCe as f8,Qxe as f9,Jwe as fA,Rxe as fB,tCe as fC,jCe as fD,zwe as fE,Uwe as fF,Gwe as fG,Hwe as fH,nCe as fI,n4e as fJ,yxe as fK,AR as fL,Sxe as fM,bxe as fN,_xe as fO,iY as fP,yle as fQ,s4e as fR,iD as fS,b4e as fT,y4e as fU,p4e as fV,v4e as fW,Wi as fX,g4e as fY,o4e as fZ,aye as f_,yCe as fa,xCe as fb,vCe as fc,Wxe as fd,Bxe as fe,OCe as ff,kCe as fg,_Ce as fh,bCe as fi,SCe as fj,VCe as fk,PCe as fl,zCe as fm,iCe as fn,rCe as fo,Lxe as fp,Dxe as fq,BCe as fr,Xxe as fs,Tle as ft,wle as fu,xle as fv,Cle as fw,Oxe as fx,dxe as fy,yQ as fz,uX as g,x4e as g0,T4e as g1,E4e as g2,gO as h,vr as i,mc as j,v0 as k,mn as l,y0 as m,hh as n,Ci as o,ta as p,g0 as q,oo as r,gh as s,hb as t,_x as u,iO as v,kx as w,HO as x,aO as y,k as z}; + `},k_e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function O_e(e){let{announcements:t=k_e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=A_e}=e;const{announce:o,announcement:s}=T_e(),a=c1("DndLiveRegion"),[l,u]=k.useState(!1);if(k.useEffect(()=>{u(!0)},[]),E_e(k.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=We.createElement(We.Fragment,null,We.createElement(w_e,{id:r,value:i.draggable}),We.createElement(C_e,{id:a,announcement:s}));return n?zi.createPortal(c,n):c}var nn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(nn||(nn={}));function vy(){}function v8(e,t){return k.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function R_e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Ei=Object.freeze({x:0,y:0});function I_e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function M_e(e,t){const n=Yf(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function N_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function D_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function L_e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function $_e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function F_e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=F_e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(D_e)};function j_e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const V_e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&j_e(r,a)){const u=L_e(a).reduce((d,f)=>d+I_e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(N_e)};function z_e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function l$(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ei}function U_e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const G_e=U_e(1);function u$(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function H_e(e,t,n){const r=u$(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const q_e={ignoreTransform:!1};function Uh(e,t){t===void 0&&(t=q_e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=or(e).getComputedStyle(e);u&&(n=H_e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function b8(e){return Uh(e,{ignoreTransform:!0})}function W_e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function K_e(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position==="fixed"}function X_e(e,t){t===void 0&&(t=or(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _3(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(b3(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Vh(i)||m_e(i)||n.includes(i))return n;const o=or(e).getComputedStyle(i);return i!==e&&X_e(i,o)&&n.push(i),K_e(i,o)?n:r(i.parentNode)}return e?r(e):n}function c$(e){const[t]=_3(e,1);return t??null}function bS(e){return!l1||!e?null:Ec(e)?e:v3(e)?b3(e)||e===Pc(e).scrollingElement?window:Vh(e)?e:null:null}function d$(e){return Ec(e)?e.scrollX:e.scrollLeft}function f$(e){return Ec(e)?e.scrollY:e.scrollTop}function ow(e){return{x:d$(e),y:f$(e)}}var hn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(hn||(hn={}));function h$(e){return!l1||!e?!1:e===document.scrollingElement}function p$(e){const t={x:0,y:0},n=h$(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const Y_e={x:.2,y:.2};function Q_e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=Y_e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=p$(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=hn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=hn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=hn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=hn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function Z_e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function g$(e){return e.reduce((t,n)=>Fu(t,ow(n)),Ei)}function J_e(e){return e.reduce((t,n)=>t+d$(n),0)}function e2e(e){return e.reduce((t,n)=>t+f$(n),0)}function m$(e,t){if(t===void 0&&(t=Uh),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);c$(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const t2e=[["x",["left","right"],J_e],["y",["top","bottom"],e2e]];class w3{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_3(n),i=g$(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of t2e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Dd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function n2e(e){const{EventTarget:t}=or(e);return e instanceof t?e:Pc(e)}function SS(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var Ur;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ur||(Ur={}));function S8(e){e.preventDefault()}function r2e(e){e.stopPropagation()}var st;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(st||(st={}));const y$={start:[st.Space,st.Enter],cancel:[st.Esc],end:[st.Space,st.Enter]},i2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case st.Right:return{...n,x:n.x+25};case st.Left:return{...n,x:n.x-25};case st.Down:return{...n,y:n.y+25};case st.Up:return{...n,y:n.y-25}}};class v${constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Dd(Pc(n)),this.windowListeners=new Dd(or(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ur.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&m$(r),n(Ei)}handleKeyDown(t){if(S3(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=y$,coordinateGetter:s=i2e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Ei;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=yy(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=p$(m),x=Z_e(m),T={x:Math.min(S===st.Right?x.right-x.width/2:x.right,Math.max(S===st.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===st.Down?x.bottom-x.height/2:x.bottom,Math.max(S===st.Down?x.top:x.top+x.height/2,d.y))},P=S===st.Right&&!y||S===st.Left&&!g,E=S===st.Down&&!b||S===st.Up&&!v;if(P&&T.x!==d.x){const A=m.scrollLeft+f.x,$=S===st.Right&&A<=_.x||S===st.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===st.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(E&&T.y!==d.y){const A=m.scrollTop+f.y,$=S===st.Down&&A<=_.y||S===st.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===st.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Fu(yy(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}v$.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=y$,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function _8(e){return!!(e&&"distance"in e)}function w8(e){return!!(e&&"delay"in e)}class x3{constructor(t,n,r){var i;r===void 0&&(r=n2e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Pc(s),this.documentListeners=new Dd(this.document),this.listeners=new Dd(r),this.windowListeners=new Dd(or(s)),this.initialCoordinates=(i=Yf(o))!=null?i:Ei,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.DragStart,S8),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),this.windowListeners.add(Ur.ContextMenu,S8),this.documentListeners.add(Ur.Keydown,this.handleKeydown),n){if(_8(n))return;if(w8(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ur.Click,r2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ur.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Yf(t))!=null?n:Ei,u=yy(i,l);if(!r&&a){if(w8(a))return SS(u,a.tolerance)?this.handleCancel():void 0;if(_8(a))return a.tolerance!=null&&SS(u,a.tolerance)?this.handleCancel():SS(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===st.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const o2e={move:{name:"pointermove"},end:{name:"pointerup"}};class b$ extends x3{constructor(t){const{event:n}=t,r=Pc(n.target);super(t,o2e,r)}}b$.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const s2e={move:{name:"mousemove"},end:{name:"mouseup"}};var sw;(function(e){e[e.RightClick=2]="RightClick"})(sw||(sw={}));class S$ extends x3{constructor(t){super(t,s2e,Pc(t.event.target))}}S$.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===sw.RightClick?!1:(r==null||r({event:n}),!0)}}];const _S={move:{name:"touchmove"},end:{name:"touchend"}};class _$ extends x3{constructor(t){super(t,_S)}static setup(){return window.addEventListener(_S.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(_S.move.name,t)};function t(){}}}_$.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Ld;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Ld||(Ld={}));var by;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(by||(by={}));function a2e(e){let{acceleration:t,activator:n=Ld.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=by.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=u2e({delta:d,disabled:!o}),[p,m]=y_e(),S=k.useRef({x:0,y:0}),v=k.useRef({x:0,y:0}),y=k.useMemo(()=>{switch(n){case Ld.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Ld.DraggableRect:return i}},[n,i,l]),g=k.useRef(null),b=k.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,T=S.current.y*v.current.y;w.scrollBy(x,T)},[]),_=k.useMemo(()=>a===by.TreeOrder?[...u].reverse():u,[a,u]);k.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),T=c[x];if(!T)continue;const{direction:P,speed:E}=Q_e(w,T,y,t,f);for(const A of["x","y"])h[A][P[A]]||(E[A]=0,P[A]=0);if(E.x>0||E.y>0){m(),g.current=w,p(b,s),S.current=E,v.current=P;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const l2e={x:{[hn.Backward]:!1,[hn.Forward]:!1},y:{[hn.Backward]:!1,[hn.Forward]:!1}};function u2e(e){let{delta:t,disabled:n}=e;const r=my(t);return zh(i=>{if(n||!r||!i)return l2e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[hn.Backward]:i.x[hn.Backward]||o.x===-1,[hn.Forward]:i.x[hn.Forward]||o.x===1},y:{[hn.Backward]:i.y[hn.Backward]||o.y===-1,[hn.Forward]:i.y[hn.Forward]||o.y===1}}},[n,t,r])}function c2e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zh(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function d2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Zf;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Zf||(Zf={}));var aw;(function(e){e.Optimized="optimized"})(aw||(aw={}));const x8=new Map;function f2e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=k.useState(null),{frequency:a,measure:l,strategy:u}=i,c=k.useRef(e),d=S(),f=Xf(d),h=k.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=k.useRef(null),m=zh(v=>{if(d&&!n)return x8;if(!v||v===x8||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new w3(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return k.useEffect(()=>{c.current=e},[e]),k.useEffect(()=>{d||h()},[n,d]),k.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),k.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Zf.Always:return!1;case Zf.BeforeDragging:return n;default:return!n}}}function C3(e,t){return zh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function h2e(e,t){return C3(e,t)}function p2e(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function d1(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function g2e(e){return new w3(Uh(e),e)}function C8(e,t,n){t===void 0&&(t=g2e);const[r,i]=k.useReducer(a,null),o=p2e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=d1({callback:i});return io(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function m2e(e){const t=C3(e);return l$(e,t)}const T8=[];function y2e(e){const t=k.useRef(e),n=zh(r=>e?r&&r!==T8&&e&&t.current&&e.parentNode===t.current.parentNode?r:_3(e):T8,[e]);return k.useEffect(()=>{t.current=e},[e]),n}function v2e(e){const[t,n]=k.useState(null),r=k.useRef(e),i=k.useCallback(o=>{const s=bS(o.target);s&&n(a=>a?(a.set(s,ow(s)),new Map(a)):null)},[]);return k.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=bS(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,ow(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=bS(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),k.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>Fu(o,s),Ei):g$(e):Ei,[e,t])}function E8(e,t){t===void 0&&(t=[]);const n=k.useRef(null);return k.useEffect(()=>{n.current=null},t),k.useEffect(()=>{const r=e!==Ei;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?yy(e,n.current):Ei}function b2e(e){k.useEffect(()=>{if(!l1)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function S2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function w$(e){return k.useMemo(()=>e?W_e(e):null,[e])}const wS=[];function _2e(e,t){t===void 0&&(t=Uh);const[n]=e,r=w$(n?or(n):null),[i,o]=k.useReducer(a,wS),s=d1({callback:o});return e.length>0&&i===wS&&o(),io(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>h$(l)?r:new w3(t(l),l)):wS}}function x$(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Vh(t)?t:e}function w2e(e){let{measure:t}=e;const[n,r]=k.useState(null),i=k.useCallback(u=>{for(const{target:c}of u)if(Vh(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=d1({callback:i}),s=k.useCallback(u=>{const c=x$(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=gy(s);return k.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const x2e=[{sensor:b$,options:{}},{sensor:v$,options:{}}],C2e={current:{}},Ig={draggable:{measure:b8},droppable:{measure:b8,strategy:Zf.WhileDragging,frequency:aw.Optimized},dragOverlay:{measure:Uh}};class $d extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const T2e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new $d,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:vy},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ig,measureDroppableContainers:vy,windowRect:null,measuringScheduled:!1},C$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:vy,draggableNodes:new Map,over:null,measureDroppableContainers:vy},Gh=k.createContext(C$),T$=k.createContext(T2e);function E2e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new $d}}}function P2e(e,t){switch(t.type){case nn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case nn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case nn.DragEnd:case nn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case nn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new $d(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case nn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new $d(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case nn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new $d(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function A2e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=k.useContext(Gh),o=my(r),s=my(n==null?void 0:n.id);return k.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!S3(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=S_e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function E$(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function k2e(e){return k.useMemo(()=>({draggable:{...Ig.draggable,...e==null?void 0:e.draggable},droppable:{...Ig.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Ig.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function O2e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=k.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;io(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=l$(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=c$(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const f1=k.createContext({...Ei,scaleX:1,scaleY:1});var hs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hs||(hs={}));const R2e=k.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=x2e,collisionDetection:d=B_e,measuring:f,modifiers:h,...p}=t;const m=k.useReducer(P2e,void 0,E2e),[S,v]=m,[y,g]=P_e(),[b,_]=k.useState(hs.Uninitialized),w=b===hs.Initialized,{draggable:{active:x,nodes:T,translate:P},droppable:{containers:E}}=S,A=x?T.get(x):null,$=k.useRef({initial:null,translated:null}),M=k.useMemo(()=>{var Ct;return x!=null?{id:x,data:(Ct=A==null?void 0:A.data)!=null?Ct:C2e,rect:$}:null},[x,A]),C=k.useRef(null),[O,I]=k.useState(null),[N,R]=k.useState(null),D=Xf(p,Object.values(p)),L=c1("DndDescribedBy",s),j=k.useMemo(()=>E.getEnabled(),[E]),U=k2e(f),{droppableRects:G,measureDroppableContainers:W,measuringScheduled:X}=f2e(j,{dragging:w,dependencies:[P.x,P.y],config:U.droppable}),Y=c2e(T,x),B=k.useMemo(()=>N?Yf(N):null,[N]),H=da(),Q=h2e(Y,U.draggable.measure);O2e({activeNode:x?T.get(x):null,config:H.layoutShiftCompensation,initialRect:Q,measure:U.draggable.measure});const J=C8(Y,U.draggable.measure,Q),ne=C8(Y?Y.parentElement:null),te=k.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:G,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),xe=E.getNodeFor((n=te.current.over)==null?void 0:n.id),ve=w2e({measure:U.dragOverlay.measure}),ce=(r=ve.nodeRef.current)!=null?r:Y,Ne=w?(i=ve.rect)!=null?i:J:null,se=!!(ve.nodeRef.current&&ve.rect),gt=m2e(se?null:J),vn=w$(ce?or(ce):null),It=y2e(w?xe??Y:null),ut=_2e(It),Je=E$(h,{transform:{x:P.x-gt.x,y:P.y-gt.y,scaleX:1,scaleY:1},activatorEvent:N,active:M,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Ne,over:te.current.over,overlayNodeRect:ve.rect,scrollableAncestors:It,scrollableAncestorRects:ut,windowRect:vn}),Gt=B?Fu(B,P):null,sr=v2e(It),ni=E8(sr),Lr=E8(sr,[J]),Rn=Fu(Je,ni),bn=Ne?G_e(Ne,Je):null,Un=M&&bn?d({active:M,collisionRect:bn,droppableRects:G,droppableContainers:j,pointerCoordinates:Gt}):null,Ht=$_e(Un,"id"),[xt,wr]=k.useState(null),$r=se?Je:Fu(Je,Lr),ri=z_e($r,(o=xt==null?void 0:xt.rect)!=null?o:null,J),uo=k.useCallback((Ct,et)=>{let{sensor:_n,options:ln}=et;if(C.current==null)return;const In=T.get(C.current);if(!In)return;const Gn=Ct.nativeEvent,ar=new _n({active:C.current,activeNode:In,event:Gn,options:ln,context:te,onStart(Hn){const wn=C.current;if(wn==null)return;const co=T.get(wn);if(!co)return;const{onDragStart:Zo}=D.current,Jo={active:{id:wn,data:co.data,rect:$}};zi.unstable_batchedUpdates(()=>{Zo==null||Zo(Jo),_(hs.Initializing),v({type:nn.DragStart,initialCoordinates:Hn,active:wn}),y({type:"onDragStart",event:Jo})})},onMove(Hn){v({type:nn.DragMove,coordinates:Hn})},onEnd:Oi(nn.DragEnd),onCancel:Oi(nn.DragCancel)});zi.unstable_batchedUpdates(()=>{I(ar),R(Ct.nativeEvent)});function Oi(Hn){return async function(){const{active:co,collisions:Zo,over:Jo,scrollAdjustedTranslate:Al}=te.current;let fo=null;if(co&&Al){const{cancelDrop:qn}=D.current;fo={activatorEvent:Gn,active:co,collisions:Zo,delta:Al,over:Jo},Hn===nn.DragEnd&&typeof qn=="function"&&await Promise.resolve(qn(fo))&&(Hn=nn.DragCancel)}C.current=null,zi.unstable_batchedUpdates(()=>{v({type:Hn}),_(hs.Uninitialized),wr(null),I(null),R(null);const qn=Hn===nn.DragEnd?"onDragEnd":"onDragCancel";if(fo){const fa=D.current[qn];fa==null||fa(fo),y({type:qn,event:fo})}})}}},[T]),Sn=k.useCallback((Ct,et)=>(_n,ln)=>{const In=_n.nativeEvent,Gn=T.get(ln);if(C.current!==null||!Gn||In.dndKit||In.defaultPrevented)return;const ar={active:Gn};Ct(_n,et.options,ar)===!0&&(In.dndKit={capturedBy:et.sensor},C.current=ln,uo(_n,et))},[T,uo]),ii=d2e(c,Sn);b2e(c),io(()=>{J&&b===hs.Initializing&&_(hs.Initialized)},[J,b]),k.useEffect(()=>{const{onDragMove:Ct}=D.current,{active:et,activatorEvent:_n,collisions:ln,over:In}=te.current;if(!et||!_n)return;const Gn={active:et,activatorEvent:_n,collisions:ln,delta:{x:Rn.x,y:Rn.y},over:In};zi.unstable_batchedUpdates(()=>{Ct==null||Ct(Gn),y({type:"onDragMove",event:Gn})})},[Rn.x,Rn.y]),k.useEffect(()=>{const{active:Ct,activatorEvent:et,collisions:_n,droppableContainers:ln,scrollAdjustedTranslate:In}=te.current;if(!Ct||C.current==null||!et||!In)return;const{onDragOver:Gn}=D.current,ar=ln.get(Ht),Oi=ar&&ar.rect.current?{id:ar.id,rect:ar.rect.current,data:ar.data,disabled:ar.disabled}:null,Hn={active:Ct,activatorEvent:et,collisions:_n,delta:{x:In.x,y:In.y},over:Oi};zi.unstable_batchedUpdates(()=>{wr(Oi),Gn==null||Gn(Hn),y({type:"onDragOver",event:Hn})})},[Ht]),io(()=>{te.current={activatorEvent:N,active:M,activeNode:Y,collisionRect:bn,collisions:Un,droppableRects:G,draggableNodes:T,draggingNode:ce,draggingNodeRect:Ne,droppableContainers:E,over:xt,scrollableAncestors:It,scrollAdjustedTranslate:Rn},$.current={initial:Ne,translated:bn}},[M,Y,Un,bn,T,ce,Ne,G,E,xt,It,Rn]),a2e({...H,delta:P,draggingRect:bn,pointerCoordinates:Gt,scrollableAncestors:It,scrollableAncestorRects:ut});const ca=k.useMemo(()=>({active:M,activeNode:Y,activeNodeRect:J,activatorEvent:N,collisions:Un,containerNodeRect:ne,dragOverlay:ve,draggableNodes:T,droppableContainers:E,droppableRects:G,over:xt,measureDroppableContainers:W,scrollableAncestors:It,scrollableAncestorRects:ut,measuringConfiguration:U,measuringScheduled:X,windowRect:vn}),[M,Y,J,N,Un,ne,ve,T,E,G,xt,W,It,ut,U,X,vn]),ki=k.useMemo(()=>({activatorEvent:N,activators:ii,active:M,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:T,over:xt,measureDroppableContainers:W}),[N,ii,M,J,v,L,T,xt,W]);return We.createElement(a$.Provider,{value:g},We.createElement(Gh.Provider,{value:ki},We.createElement(T$.Provider,{value:ca},We.createElement(f1.Provider,{value:ri},u)),We.createElement(A2e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),We.createElement(O_e,{...a,hiddenTextDescribedById:L}));function da(){const Ct=(O==null?void 0:O.autoScrollEnabled)===!1,et=typeof l=="object"?l.enabled===!1:l===!1,_n=w&&!Ct&&!et;return typeof l=="object"?{...l,enabled:_n}:{enabled:_n}}}),I2e=k.createContext(null),P8="button",M2e="Droppable";function N2e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=c1(M2e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=k.useContext(Gh),{role:h=P8,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=k.useContext(S?f1:I2e),[y,g]=gy(),[b,_]=gy(),w=S2e(s,t),x=Xf(n);io(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const P=d.get(t);P&&P.key===o&&d.delete(t)}),[d,t]);const T=k.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===P8?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:T,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function D2e(){return k.useContext(T$)}const L2e="Droppable",$2e={timeout:25};function F2e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=c1(L2e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=k.useContext(Gh),c=k.useRef({disabled:n}),d=k.useRef(!1),f=k.useRef(null),h=k.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...$2e,...i},v=Xf(m??r),y=k.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=d1({callback:y,disabled:p||!s}),b=k.useCallback((T,P)=>{g&&(P&&(g.unobserve(P),d.current=!1),T&&g.observe(T))},[g]),[_,w]=gy(b),x=Xf(t);return k.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),io(()=>(a({type:nn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:nn.UnregisterDroppable,key:o,id:r})),[r]),k.useEffect(()=>{n!==c.current.disabled&&(a({type:nn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function B2e(e){let{animation:t,children:n}=e;const[r,i]=k.useState(null),[o,s]=k.useState(null),a=my(n);return!n&&!r&&a&&i(a),io(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),We.createElement(We.Fragment,null,n,r?k.cloneElement(r,{ref:s}):null)}const j2e={x:0,y:0,scaleX:1,scaleY:1};function V2e(e){let{children:t}=e;return We.createElement(Gh.Provider,{value:C$},We.createElement(f1.Provider,{value:j2e},t))}const z2e={position:"fixed",touchAction:"none"},U2e=e=>S3(e)?"transform 250ms ease":void 0,G2e=k.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=U2e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...z2e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Qf.Transform.toString(d),transformOrigin:i&&r?M_e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return We.createElement(n,{className:s,style:f,ref:t},o)}),H2e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},q2e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Qf.Transform.toString(t)},{transform:Qf.Transform.toString(n)}]},W2e={duration:250,easing:"ease",keyframes:q2e,sideEffects:H2e({styles:{active:{opacity:"0"}}})};function K2e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return u1((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=x$(s);if(!u)return;const{transform:c}=or(s).getComputedStyle(s),d=u$(c);if(!d)return;const f=typeof t=="function"?t:X2e(t);return m$(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function X2e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...W2e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let A8=0;function Y2e(e){return k.useMemo(()=>{if(e!=null)return A8++,A8},[e])}const Q2e=We.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=D2e(),w=k.useContext(f1),x=Y2e(d==null?void 0:d.id),T=E$(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),P=C3(f),E=K2e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=P?S.setRef:void 0;return We.createElement(V2e,null,We.createElement(B2e,{animation:E},d&&x?We.createElement(G2e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:P,style:{zIndex:u,...i},transform:T},n):null))}),Z2e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Yf(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},P$=()=>ak(),A4e=J9,Yp=28,k8={w:Yp,h:Yp,maxW:Yp,maxH:Yp,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},J2e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return K.jsx(c3,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:K.jsx(u3,{sx:{...k8},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?K.jsxs(d3,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...k8},children:[K.jsx(K2,{children:e.dragData.payload.image_names.length}),K.jsx(K2,{size:"sm",children:"Images"})]}):null},ewe=k.memo(J2e);function k4e(e){return F2e(e)}function O4e(e){return N2e(e)}const R4e=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function twe(e){return K.jsx(R2e,{...e})}const nwe=e=>{const[t,n]=k.useState(null),r=P$(),i=k.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=k.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current);const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(tN({overData:c,activeData:t})),n(null))},[t,r]),s=v8(S$,{activationConstraint:{distance:10}}),a=v8(_$,{activationConstraint:{distance:10}}),l=R_e(s,a);return K.jsxs(twe,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:V_e,children:[e.children,K.jsx(Q2e,{dropAnimation:null,modifiers:[Z2e],children:K.jsx(Hbe,{children:t&&K.jsx($be.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:K.jsx(ewe,{dragData:t})},"overlay-drag-image")})})]})},rwe=k.memo(nwe),iwe=k.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),owe=e=>{const[t,n]=k.useState(),{isOpen:r,onOpen:i,onClose:o}=Jbe(),s=P$(),a=k.useCallback(()=>{n(void 0),o()},[o]),l=k.useCallback(c=>{c&&(n(c),i())},[n,i]),u=k.useCallback(c=>{t&&(s(he.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return K.jsx(iwe.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},swe=k.lazy(()=>G9(()=>import("./App-69e5ea36.js"),["./App-69e5ea36.js","./MantineProvider-8184f020.js","./App-6125620a.css"],import.meta.url)),awe=k.lazy(()=>G9(()=>import("./ThemeLocaleProvider-9ac72450.js"),["./ThemeLocaleProvider-9ac72450.js","./MantineProvider-8184f020.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),lwe=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(k.useEffect(()=>(t&&Cf.set(t),e&&Tf.set(e),zM(),i&&i.length>0?c2(m8(),...i):c2(m8()),()=>{Tf.set(void 0),Cf.set(void 0)}),[e,t,i]),K.jsx(We.StrictMode,{children:K.jsx(mV,{store:Gpe,children:K.jsx(We.Suspense,{fallback:K.jsx(rSe,{}),children:K.jsx(awe,{children:K.jsx(rwe,{children:K.jsx(owe,{children:K.jsx(swe,{config:n,headerComponent:r})})})})})})})),uwe=k.memo(lwe);xS.createRoot(document.getElementById("root")).render(K.jsx(uwe,{}));export{fD as $,K as A,ti as B,Vt as C,Mu as D,Vn as E,fi as F,Xne as G,br as H,Is as I,$i as J,$3e as K,_I as L,cre as M,jre as N,ote as O,Zne as P,rc as Q,Tl as R,df as S,Nge as T,sl as U,oD as V,h4e as W,c4e as X,Hbe as Y,$be as Z,x4e as _,Zk as a,U_ as a$,$L as a0,mD as a1,d4e as a2,f4e as a3,Mge as a4,Ige as a5,p4e as a6,Na as a7,al as a8,rm as a9,d3 as aA,K2 as aB,o4e as aC,jN as aD,ZCe as aE,Y4 as aF,lCe as aG,zi as aH,BC as aI,nF as aJ,hwe as aK,dwe as aL,fwe as aM,Ee as aN,Ea as aO,C3e as aP,YM as aQ,w3e as aR,x3e as aS,S3e as aT,m3e as aU,Mpe as aV,k4e as aW,R4e as aX,b3e as aY,R3e as aZ,WCe as a_,IV as aa,We as ab,e8 as ac,uye as ad,w4e as ae,Io as af,rD as ag,R1e as ah,y4e as ai,R2 as aj,u4e as ak,_4e as al,Jn as am,mC as an,S0 as ao,A4e as ap,B3e as aq,Th as ar,nM as as,AM as at,Z0 as au,P$ as av,g5e as aw,Ft as ax,Ga as ay,c3 as az,Tx as b,I7 as b$,_3e as b0,u3 as b1,tSe as b2,vxe as b3,Ss as b4,A5e as b5,hp as b6,bge as b7,FC as b8,ZN as b9,ue as bA,iwe as bB,KCe as bC,dJ as bD,e3e as bE,$R as bF,Yxe as bG,RR as bH,G_ as bI,O4e as bJ,l4e as bK,O3e as bL,YCe as bM,QCe as bN,Rs as bO,Vle as bP,HCe as bQ,qCe as bR,UCe as bS,Jbe as bT,Am as bU,i4e as bV,N5e as bW,mxe as bX,ble as bY,d5e as bZ,I3e as b_,_ge as ba,$3 as bb,A3e as bc,P3e as bd,cwe as be,mwe as bf,ywe as bg,Bwe as bh,jwe as bi,wwe as bj,qwe as bk,bwe as bl,Iwe as bm,Twe as bn,Jle as bo,Swe as bp,Vwe as bq,vwe as br,Qwe as bs,xwe as bt,Mwe as bu,Cwe as bv,Nwe as bw,Awe as bx,Lwe as by,Zle as bz,AU as c,uxe as c$,eN as c0,O5e as c1,GCe as c2,t3e as c3,T7 as c4,LR as c5,_we as c6,xxe as c7,zn as c8,_5e as c9,Ph as cA,lxe as cB,Zwe as cC,ixe as cD,Fwe as cE,m5e as cF,hl as cG,v5e as cH,r5e as cI,n5e as cJ,t5e as cK,L5e as cL,e4e as cM,l5e as cN,s5e as cO,fe as cP,xf as cQ,W5e as cR,wE as cS,a5e as cT,u5e as cU,o5e as cV,Xse as cW,$we as cX,pQ as cY,j5e as cZ,PR as c_,R5e as ca,k5e as cb,Qae as cc,S5e as cd,C5e as ce,T5e as cf,vQ as cg,vae as ch,bae as ci,pxe as cj,wxe as ck,x5e as cl,_Q as cm,F3e as cn,p5e as co,ER as cp,g3e as cq,f3e as cr,h3e as cs,p3e as ct,B5e as cu,Qa as cv,pwe as cw,xo as cx,ace as cy,kwe as cz,mX as d,pe as d$,bQ as d0,Ui as d1,Dwe as d2,Kwe as d3,gwe as d4,aY as d5,Ywe as d6,i5e as d7,cxe as d8,e5e as d9,d3e as dA,C7 as dB,i3e as dC,s3e as dD,n3e as dE,Spe as dF,r3e as dG,oxe as dH,sxe as dI,nxe as dJ,rxe as dK,txe as dL,X5e as dM,G5e as dN,P5e as dO,U5e as dP,J5e as dQ,K5e as dR,E5e as dS,q5e as dT,H5e as dU,V5e as dV,z5e as dW,GI as dX,Lx as dY,Y5e as dZ,Fm as d_,hce as da,fxe as db,he as dc,Kn as dd,D5e as de,N3e as df,D3e as dg,N7 as dh,F5e as di,M3e as dj,hR as dk,axe as dl,sY as dm,Pwe as dn,$5e as dp,bT as dq,a3e as dr,Hx as ds,tJ as dt,Xl as du,ST as dv,l3e as dw,u3e as dx,c3e as dy,nJ as dz,ZO as e,bpe as e$,Q5e as e0,u2 as e1,Ewe as e2,Z5e as e3,J9 as e4,ak as e5,J3e as e6,q3e as e7,W3e as e8,K3e as e9,cCe as eA,nd as eB,sCe as eC,Vxe as eD,tv as eE,uCe as eF,$xe as eG,aCe as eH,Fxe as eI,Gxe as eJ,Pxe as eK,Exe as eL,Txe as eM,DCe as eN,MR as eO,Cf as eP,Ixe as eQ,Mxe as eR,Nxe as eS,ICe as eT,qxe as eU,Hxe as eV,FQ as eW,RCe as eX,Ele as eY,zxe as eZ,mpe as e_,RM as ea,Q3e as eb,Z3e as ec,Df as ed,_0 as ee,z3e as ef,Dpe as eg,j3e as eh,V3e as ei,G3e as ej,U3e as ek,H3e as el,Y3e as em,$ie as en,eM as eo,oN as ep,CF as eq,Pe as er,gCe as es,NCe as et,MCe as eu,Kxe as ev,CCe as ew,LCe as ex,Ple as ey,jxe as ez,sO as f,aye as f$,Zxe as f0,Jxe as f1,mCe as f2,pCe as f3,dCe as f4,Axe as f5,kxe as f6,I5e as f7,M5e as f8,oCe as f9,yQ as fA,Jwe as fB,Rxe as fC,tCe as fD,jCe as fE,zwe as fF,Uwe as fG,Gwe as fH,Hwe as fI,nCe as fJ,r4e as fK,yxe as fL,AR as fM,Sxe as fN,bxe as fO,_xe as fP,iY as fQ,yle as fR,a4e as fS,iD as fT,S4e as fU,v4e as fV,g4e as fW,b4e as fX,Wi as fY,m4e as fZ,s4e as f_,Qxe as fa,yCe as fb,xCe as fc,vCe as fd,Wxe as fe,Bxe as ff,OCe as fg,kCe as fh,_Ce as fi,bCe as fj,SCe as fk,VCe as fl,PCe as fm,zCe as fn,iCe as fo,rCe as fp,Lxe as fq,Dxe as fr,BCe as fs,Xxe as ft,Tle as fu,wle as fv,xle as fw,Cle as fx,Oxe as fy,dxe as fz,uX as g,Yme as g0,C4e as g1,E4e as g2,P4e as g3,gO as h,vr as i,mc as j,v0 as k,mn as l,y0 as m,hh as n,Ci as o,ta as p,g0 as q,oo as r,gh as s,hb as t,_x as u,iO as v,kx as w,HO as x,aO as y,k as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index e59b4aed36..2695157ddf 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + From bf1f6619df0c748656f807b4ab0078b5af432e8f Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 15:02:32 -0400 Subject: [PATCH 057/106] fix conversion for sd1 and sd2 models --- .../backend/model_management/models/stable_diffusion.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index 735e2e6bfb..64dbd1c9ee 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -14,6 +14,7 @@ from .base import ( read_checkpoint_meta, classproperty, InvalidModelException, + ModelNotFoundException, ) from .sdxl import StableDiffusionXLModel import invokeai.backend.util.logging as logger @@ -268,12 +269,17 @@ def _convert_ckpt_and_cache( # to avoid circular import errors from ..convert_ckpt_to_diffusers import convert_ckpt_to_diffusers from ...util.devices import choose_torch_device, torch_dtype - + + model_base_to_model_type = {BaseModelType.StableDiffusion1: 'FrozenCLIPEmbedder', + BaseModelType.StableDiffusion2: 'FrozenOpenCLIPEmbedder', + } + logger.info(f'Converting {weights} to diffusers format') with SilenceWarnings(): convert_ckpt_to_diffusers( weights, output_path, + model_type=model_base_to_model_type[version], model_version=version, model_variant=model_config.variant, original_config_file=config_file, From 7053347559263c6bb209332cc240b2110847b666 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 07:09:51 +1200 Subject: [PATCH 058/106] fix: Metadata Not Being Saved --- .../buildCanvasImageToImageGraph.ts | 16 +++++++ .../graphBuilders/buildCanvasInpaintGraph.ts | 42 ++++++++++++++++++- .../buildCanvasTextToImageGraph.ts | 16 +++++++ .../buildLinearImageToImageGraph.ts | 16 +++++++ .../buildLinearSDXLImageToImageGraph.ts | 27 +++++++----- .../buildLinearSDXLTextToImageGraph.ts | 27 +++++++----- .../buildLinearTextToImageGraph.ts | 16 +++++++ 7 files changed, 136 insertions(+), 24 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 81e99e0dd0..2981c090d8 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -335,5 +335,21 @@ export const buildCanvasImageToImageGraph = ( addWatermarkerToGraph(state, graph); } + if ( + !state.system.shouldUseNSFWChecker && + !state.system.shouldUseWatermarker + ) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 4154c1b5eb..8462b32e63 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -8,20 +8,21 @@ import { RangeOfSizeInvocation, } from 'services/api/types'; import { addLoRAsToGraph } from './addLoRAsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, INPAINT, INPAINT_GRAPH, ITERATE, MAIN_MODEL_LOADER, + METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, POSITIVE_CONDITIONING, RANDOM_INT, RANGE_OF_SIZE, } from './constants'; -import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; -import { addWatermarkerToGraph } from './addWatermarkerToGraph'; /** * Builds the Canvas tab's Inpaint graph. @@ -251,6 +252,27 @@ export const buildCanvasInpaintGraph = ( (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; } + // add metadata accumulator, which is only mostly populated - some fields are added later + graph.nodes[METADATA_ACCUMULATOR] = { + id: METADATA_ACCUMULATOR, + type: 'metadata_accumulator', + generation_mode: 'txt2img', + cfg_scale, + height, + width, + positive_prompt: '', // set in addDynamicPromptsToGraph + negative_prompt: negativePrompt, + model, + seed: 0, // set in addDynamicPromptsToGraph + steps, + rand_device: 'cpu', + scheduler, + vae: undefined, // option; set in addVAEToGraph + controlnets: [], // populated in addControlNetToLinearGraph + loras: [], // populated in addLoRAsToGraph + clip_skip: clipSkip, + }; + // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! @@ -262,5 +284,21 @@ export const buildCanvasInpaintGraph = ( addWatermarkerToGraph(state, graph, INPAINT); } + if ( + !state.system.shouldUseNSFWChecker && + !state.system.shouldUseWatermarker + ) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: INPAINT, + field: 'metadata', + }, + }); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 597a643367..55e11e4f37 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -240,5 +240,21 @@ export const buildCanvasTextToImageGraph = ( addWatermarkerToGraph(state, graph); } + if ( + !state.system.shouldUseNSFWChecker && + !state.system.shouldUseWatermarker + ) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index d78e2e1356..e726a02a5c 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -345,5 +345,21 @@ export const buildLinearImageToImageGraph = ( addWatermarkerToGraph(state, graph); } + if ( + !state.system.shouldUseNSFWChecker && + !state.system.shouldUseWatermarker + ) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index a260dbc467..3697b96bea 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -353,17 +353,6 @@ export const buildLinearSDXLImageToImageGraph = ( negative_style_prompt: negativeStylePrompt, }; - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, - }); - // Add Refiner if enabled if (shouldUseSDXLRefiner) { addSDXLRefinerToGraph(state, graph, SDXL_LATENTS_TO_LATENTS); @@ -383,5 +372,21 @@ export const buildLinearSDXLImageToImageGraph = ( addWatermarkerToGraph(state, graph); } + if ( + !state.system.shouldUseNSFWChecker && + !state.system.shouldUseWatermarker + ) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index c10e7831d3..1669de5341 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -235,17 +235,6 @@ export const buildLinearSDXLTextToImageGraph = ( negative_style_prompt: negativeStylePrompt, }; - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, - }); - // Add Refiner if enabled if (shouldUseSDXLRefiner) { addSDXLRefinerToGraph(state, graph, SDXL_TEXT_TO_LATENTS); @@ -265,5 +254,21 @@ export const buildLinearSDXLTextToImageGraph = ( addWatermarkerToGraph(state, graph); } + if ( + !state.system.shouldUseNSFWChecker && + !state.system.shouldUseWatermarker + ) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + } + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 94f35feba0..08aa355d4d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -229,5 +229,21 @@ export const buildLinearTextToImageGraph = ( addWatermarkerToGraph(state, graph); } + if ( + !state.system.shouldUseNSFWChecker && + !state.system.shouldUseWatermarker + ) { + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + } + return graph; }; From 020031f376bca74bb1e6a93f3507f47517a56017 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 15:17:00 -0400 Subject: [PATCH 059/106] add all legacy model .yaml files to configs directory unconditionally --- invokeai/backend/install/invokeai_configure.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index cd4ad1c798..0d3f98155c 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -767,8 +767,8 @@ def main(): if migrate_if_needed(opt, config.root_path): sys.exit(0) - if not config.model_conf_path.exists(): - initialize_rootdir(config.root_path, opt.yes_to_all) + # run this unconditionally in case new directories need to be added + initialize_rootdir(config.root_path, opt.yes_to_all) models_to_download = default_user_selections(opt) new_init_file = config.root_path / 'invokeai.yaml' From 3ff8c87c09ecb07574c2b14e136b8ca38e0a0dd6 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 08:00:12 +1200 Subject: [PATCH 060/106] feat: Upgrade Diffusers to 0.19.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5cc6971df6..bac2b3dc24 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,7 +40,7 @@ dependencies = [ "controlnet-aux>=0.0.6", "timm==0.6.13", # needed to override timm latest in controlnet_aux, see https://github.com/isl-org/ZoeDepth/issues/26 "datasets", - "diffusers[torch]~=0.18.1", + "diffusers[torch]~=0.19.0", "dnspython==2.2.1", "dynamicprompts", "easing-functions", From 049645d66e56483808f290caa8913977b3cd3df5 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 17:27:33 -0400 Subject: [PATCH 061/106] updated LICENSE files and added information about watermarking --- ...SE-ModelWeights.txt => LICENSE-SD1+SD2.txt | 0 LICENSE-SDXL.txt | 290 ++++++++++++++++++ docs/features/CONFIGURATION.md | 5 +- docs/features/{NSFW.md => WATERMARK+NSFW.md} | 69 +++-- docs/index.md | 2 +- docs/installation/010_INSTALL_AUTOMATED.md | 39 ++- .../backend/install/invokeai_configure.py | 7 +- 7 files changed, 351 insertions(+), 61 deletions(-) rename LICENSE-ModelWeights.txt => LICENSE-SD1+SD2.txt (100%) create mode 100644 LICENSE-SDXL.txt rename docs/features/{NSFW.md => WATERMARK+NSFW.md} (62%) diff --git a/LICENSE-ModelWeights.txt b/LICENSE-SD1+SD2.txt similarity index 100% rename from LICENSE-ModelWeights.txt rename to LICENSE-SD1+SD2.txt diff --git a/LICENSE-SDXL.txt b/LICENSE-SDXL.txt new file mode 100644 index 0000000000..05fbe3abb6 --- /dev/null +++ b/LICENSE-SDXL.txt @@ -0,0 +1,290 @@ +Copyright (c) 2023 Stability AI +CreativeML Open RAIL++-M License dated July 26, 2023 + +Section I: PREAMBLE + +Multimodal generative models are being widely adopted and used, and +have the potential to transform the way artists, among other +individuals, conceive and benefit from AI or ML technologies as a tool +for content creation. + +Notwithstanding the current and potential benefits that these +artifacts can bring to society at large, there are also concerns about +potential misuses of them, either due to their technical limitations +or ethical considerations. + +In short, this license strives for both the open and responsible +downstream use of the accompanying model. When it comes to the open +character, we took inspiration from open source permissive licenses +regarding the grant of IP rights. Referring to the downstream +responsible use, we added use-based restrictions not permitting the +use of the model in very specific scenarios, in order for the licensor +to be able to enforce the license in case potential misuses of the +Model may occur. At the same time, we strive to promote open and +responsible research on generative models for art and content +generation. + +Even though downstream derivative versions of the model could be +released under different licensing terms, the latter will always have +to include - at minimum - the same use-based restrictions as the ones +in the original license (this license). We believe in the intersection +between open and responsible AI development; thus, this agreement aims +to strike a balance between both in order to enable responsible +open-science in the field of AI. + +This CreativeML Open RAIL++-M License governs the use of the model +(and its derivatives) and is informed by the model card associated +with the model. + +NOW THEREFORE, You and Licensor agree as follows: + +Definitions + +"License" means the terms and conditions for use, reproduction, and +Distribution as defined in this document. + +"Data" means a collection of information and/or content extracted from +the dataset used with the Model, including to train, pretrain, or +otherwise evaluate the Model. The Data is not licensed under this +License. + +"Output" means the results of operating a Model as embodied in +informational content resulting therefrom. + +"Model" means any accompanying machine-learning based assemblies +(including checkpoints), consisting of learnt weights, parameters +(including optimizer states), corresponding to the model architecture +as embodied in the Complementary Material, that have been trained or +tuned, in whole or in part on the Data, using the Complementary +Material. + +"Derivatives of the Model" means all modifications to the Model, works +based on the Model, or any other model which is created or initialized +by transfer of patterns of the weights, parameters, activations or +output of the Model, to the other model, in order to cause the other +model to perform similarly to the Model, including - but not limited +to - distillation methods entailing the use of intermediate data +representations or methods based on the generation of synthetic data +by the Model for training the other model. + +"Complementary Material" means the accompanying source code and +scripts used to define, run, load, benchmark or evaluate the Model, +and used to prepare data for training or evaluation, if any. This +includes any accompanying documentation, tutorials, examples, etc, if +any. + +"Distribution" means any transmission, reproduction, publication or +other sharing of the Model or Derivatives of the Model to a third +party, including providing the Model as a hosted service made +available by electronic or other remote means - e.g. API-based or web +access. + +"Licensor" means the copyright owner or entity authorized by the +copyright owner that is granting the License, including the persons or +entities that may have rights in the Model and/or distributing the +Model. + +"You" (or "Your") means an individual or Legal Entity exercising +permissions granted by this License and/or making use of the Model for +whichever purpose and in any field of use, including usage of the +Model in an end-use application - e.g. chatbot, translator, image +generator. + +"Third Parties" means individuals or legal entities that are not under +common control with Licensor or You. + +"Contribution" means any work of authorship, including the original +version of the Model and any modifications or additions to that Model +or Derivatives of the Model thereof, that is intentionally submitted +to Licensor for inclusion in the Model by the copyright owner or by an +individual or Legal Entity authorized to submit on behalf of the +copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent to +the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control +systems, and issue tracking systems that are managed by, or on behalf +of, the Licensor for the purpose of discussing and improving the +Model, but excluding communication that is conspicuously marked or +otherwise designated in writing by the copyright owner as "Not a +Contribution." + +"Contributor" means Licensor and any individual or Legal Entity on +behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Model. + +Section II: INTELLECTUAL PROPERTY RIGHTS + +Both copyright and patent grants apply to the Model, Derivatives of +the Model and Complementary Material. The Model and Derivatives of the +Model are subject to additional terms as described in + +Section III. + +Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare, publicly display, publicly +perform, sublicense, and distribute the Complementary Material, the +Model, and Derivatives of the Model. + +Grant of Patent License. Subject to the terms and conditions of this +License and where and as applicable, each Contributor hereby grants to +You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this paragraph) patent license to +make, have made, use, offer to sell, sell, import, and otherwise +transfer the Model and the Complementary Material, where such license +applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by +combination of their Contribution(s) with the Model to which such +Contribution(s) was submitted. If You institute patent litigation +against any entity (including a cross-claim or counterclaim in a +lawsuit) alleging that the Model and/or Complementary Material or a +Contribution incorporated within the Model and/or Complementary +Material constitutes direct or contributory patent infringement, then +any patent licenses granted to You under this License for the Model +and/or Work shall terminate as of the date such litigation is asserted +or filed. + +Section III: CONDITIONS OF USAGE, DISTRIBUTION AND REDISTRIBUTION + +Distribution and Redistribution. You may host for Third Party remote +access purposes (e.g. software-as-a-service), reproduce and distribute +copies of the Model or Derivatives of the Model thereof in any medium, +with or without modifications, provided that You meet the following +conditions: Use-based restrictions as referenced in paragraph 5 MUST +be included as an enforceable provision by You in any type of legal +agreement (e.g. a license) governing the use and/or distribution of +the Model or Derivatives of the Model, and You shall give notice to +subsequent users You Distribute to, that the Model or Derivatives of +the Model are subject to paragraph 5. This provision does not apply to +the use of Complementary Material. You must give any Third Party +recipients of the Model or Derivatives of the Model a copy of this +License; You must cause any modified files to carry prominent notices +stating that You changed the files; You must retain all copyright, +patent, trademark, and attribution notices excluding those notices +that do not pertain to any part of the Model, Derivatives of the +Model. You may add Your own copyright statement to Your modifications +and may provide additional or different license terms and conditions - +respecting paragraph 4.a. - for use, reproduction, or Distribution of +Your modifications, or for any such Derivatives of the Model as a +whole, provided Your use, reproduction, and Distribution of the Model +otherwise complies with the conditions stated in this License. + +Use-based restrictions. The restrictions set forth in Attachment A are +considered Use-based restrictions. Therefore You cannot use the Model +and the Derivatives of the Model for the specified restricted +uses. You may use the Model subject to this License, including only +for lawful purposes and in accordance with the License. Use may +include creating any content with, finetuning, updating, running, +training, evaluating and/or reparametrizing the Model. You shall +require all of Your users who use the Model or a Derivative of the +Model to comply with the terms of this paragraph (paragraph 5). + +The Output You Generate. Except as set forth herein, Licensor claims +no rights in the Output You generate using the Model. You are +accountable for the Output you generate and its subsequent uses. No +use of the output can contravene any provision as stated in the +License. + +Section IV: OTHER PROVISIONS + +Updates and Runtime Restrictions. To the maximum extent permitted by +law, Licensor reserves the right to restrict (remotely or otherwise) +usage of the Model in violation of this License. + +Trademarks and related. Nothing in this License permits You to make +use of Licensors’ trademarks, trade names, logos or to otherwise +suggest endorsement or misrepresent the relationship between the +parties; and any rights not expressly granted herein are reserved by +the Licensors. + +Disclaimer of Warranty. Unless required by applicable law or agreed to +in writing, Licensor provides the Model and the Complementary Material +(and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Model, Derivatives of +the Model, and the Complementary Material and assume any risks +associated with Your exercise of permissions under this License. + +Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, unless +required by applicable law (such as deliberate and grossly negligent +acts) or agreed to in writing, shall any Contributor be liable to You +for damages, including any direct, indirect, special, incidental, or +consequential damages of any character arising as a result of this +License or out of the use or inability to use the Model and the +Complementary Material (including but not limited to damages for loss +of goodwill, work stoppage, computer failure or malfunction, or any +and all other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +Accepting Warranty or Additional Liability. While redistributing the +Model, Derivatives of the Model and the Complementary Material +thereof, You may choose to offer, and charge a fee for, acceptance of +support, warranty, indemnity, or other liability obligations and/or +rights consistent with this License. However, in accepting such +obligations, You may act only on Your own behalf and on Your sole +responsibility, not on behalf of any other Contributor, and only if +You agree to indemnify, defend, and hold each Contributor harmless for +any liability incurred by, or claims asserted against, such +Contributor by reason of your accepting any such warranty or +additional liability. + +If any provision of this License is held to be invalid, illegal or +unenforceable, the remaining provisions shall be unaffected thereby +and remain valid as if such provision had not been set forth herein. + + +END OF TERMS AND CONDITIONS + +Attachment A + +Use Restrictions + +You agree not to use the Model or Derivatives of the Model: + +* In any way that violates any applicable national, federal, state, +local or international law or regulation; + +* For the purpose of exploiting, harming or attempting to exploit or +harm minors in any way; + +* To generate or disseminate verifiably false information and/or + content with the purpose of harming others; + +* To generate or disseminate personal identifiable information that + can be used to harm an individual; + +* To defame, disparage or otherwise harass others; + +* For fully automated decision making that adversely impacts an + individual’s legal rights or otherwise creates or modifies a + binding, enforceable obligation; + +* For any use intended to or which has the effect of discriminating + against or harming individuals or groups based on online or offline + social behavior or known or predicted personal or personality + characteristics; + +* To exploit any of the vulnerabilities of a specific group of persons + based on their age, social, physical or mental characteristics, in + order to materially distort the behavior of a person pertaining to + that group in a manner that causes or is likely to cause that person + or another person physical or psychological harm; + +* For any use intended to or which has the effect of discriminating + against individuals or groups based on legally protected + characteristics or categories; + +* To provide medical advice and medical results interpretation; + +* To generate or disseminate information for the purpose to be used + for administration of justice, law enforcement, immigration or + asylum processes, such as predicting an individual will commit + fraud/crime commitment (e.g. by text profiling, drawing causal + relationships between assertions made in documents, indiscriminate + and arbitrarily-targeted use). + diff --git a/docs/features/CONFIGURATION.md b/docs/features/CONFIGURATION.md index ccb23ae79a..09e6143e95 100644 --- a/docs/features/CONFIGURATION.md +++ b/docs/features/CONFIGURATION.md @@ -65,7 +65,6 @@ InvokeAI: esrgan: true internet_available: true log_tokenization: false - nsfw_checker: false patchmatch: true restore: true ... @@ -138,7 +137,7 @@ command-line options by giving the `--help` argument: (.venv) > invokeai-web --help usage: InvokeAI [-h] [--host HOST] [--port PORT] [--allow_origins [ALLOW_ORIGINS ...]] [--allow_credentials | --no-allow_credentials] [--allow_methods [ALLOW_METHODS ...]] [--allow_headers [ALLOW_HEADERS ...]] [--esrgan | --no-esrgan] [--internet_available | --no-internet_available] [--log_tokenization | --no-log_tokenization] - [--nsfw_checker | --no-nsfw_checker] [--invisible_watermark | --no-invisible_watermark] [--patchmatch | --no-patchmatch] [--restore | --no-restore] + [--patchmatch | --no-patchmatch] [--restore | --no-restore] [--always_use_cpu | --no-always_use_cpu] [--free_gpu_mem | --no-free_gpu_mem] [--max_loaded_models MAX_LOADED_MODELS] [--max_cache_size MAX_CACHE_SIZE] [--max_vram_cache_size MAX_VRAM_CACHE_SIZE] [--gpu_mem_reserved GPU_MEM_RESERVED] [--precision {auto,float16,float32,autocast}] [--sequential_guidance | --no-sequential_guidance] [--xformers_enabled | --no-xformers_enabled] [--tiled_decode | --no-tiled_decode] [--root ROOT] @@ -175,8 +174,6 @@ These configuration settings allow you to enable and disable various InvokeAI fe | `esrgan` | `true` | Activate the ESRGAN upscaling options| | `internet_available` | `true` | When a resource is not available locally, try to fetch it via the internet | | `log_tokenization` | `false` | Before each text2image generation, print a color-coded representation of the prompt to the console; this can help understand why a prompt is not working as expected | -| `nsfw_checker` | `true` | Activate the NSFW checker to blur out risque images | -| `invisible_watermark` | `true` | Write an invisible watermark 'InvokeAI' into generated images for use by AI image detectors | | `patchmatch` | `true` | Activate the "patchmatch" algorithm for improved inpainting | | `restore` | `true` | Activate the facial restoration features (DEPRECATED; restoration features will be removed in 3.0.0) | diff --git a/docs/features/NSFW.md b/docs/features/WATERMARK+NSFW.md similarity index 62% rename from docs/features/NSFW.md rename to docs/features/WATERMARK+NSFW.md index f0539cc6a9..c837d66b57 100644 --- a/docs/features/NSFW.md +++ b/docs/features/WATERMARK+NSFW.md @@ -1,12 +1,40 @@ --- -title: The NSFW Checker +title: Watermarking, NSFW Image Checking --- -# :material-image-off: NSFW Checker +# :material-image-off: Invisible Watermark and the NSFW Checker + +## Watermarking + +InvokeAI does not apply watermarking to images by default. However, +many computer scientists working in the field of generative AI worry +that a flood of computer-generated imagery will contaminate the image +data sets needed to train future generations of generative models. + +InvokeAI offers an optional watermarking mode that writes a small bit +of text, **InvokeAI**, into each image that it generates using an +"invisible" watermarking library that spreads the information +throughout the image in a way that is not perceptible to the human +eye. If you are planning to share your generated images on +internet-accessible services, we encourage you to activate the +invisible watermark mode in order to help preserve the digital image +environment. + +The downside of watermarking is that it increases the size of the +image moderately, and has been reported by some individuals to degrade +image quality. Your mileage may vary. + +To read the watermark in an image, activate the InvokeAI virtual +environment (called the "developer's console" in the launcher) and run +the command: + +``` +invisible-watermark -a decode -t bytes -m dwtDct -l 64 /path/to/image.png +``` ## The NSFW ("Safety") Checker -The Stable Diffusion image generation models will produce sexual +Stable Diffusion 1.5-based image generation models will produce sexual imagery if deliberately prompted, and will occasionally produce such images when this is not intended. Such images are colloquially known as "Not Safe for Work" (NSFW). This behavior is due to the nature of @@ -18,35 +46,17 @@ jurisdictions it may be illegal to publicly distribute such imagery, including mounting a publicly-available server that provides unfiltered images to the public. Furthermore, the [Stable Diffusion weights -License](https://github.com/invoke-ai/InvokeAI/blob/main/LICENSE-ModelWeights.txt) -forbids the model from being used to "exploit any of the +License](https://github.com/invoke-ai/InvokeAI/blob/main/LICENSE-SD1+SD2.txt), +and the [Stable Diffusion XL +License][https://github.com/invoke-ai/InvokeAI/blob/main/LICENSE-SDXL.txt] +both forbid the models from being used to "exploit any of the vulnerabilities of a specific group of persons." For these reasons Stable Diffusion offers a "safety checker," a machine learning model trained to recognize potentially disturbing imagery. When a potentially NSFW image is detected, the checker will blur the image and paste a warning icon on top. The checker can be -turned on and off on the command line using `--nsfw_checker` and -`--no-nsfw_checker`. - -At installation time, InvokeAI will ask whether the checker should be -activated by default (neither argument given on the command line). The -response is stored in the InvokeAI initialization file -(`invokeai.yaml` in the InvokeAI root directory). You can change the -default at any time by opening this file in a text editor and -changing the line `nsfw_checker:` from true to false or vice-versa: - - -``` -... - Features: - esrgan: true - internet_available: true - log_tokenization: false - nsfw_checker: true - patchmatch: true - restore: true -``` +turned on and off in the Web interface under Settings. ## Caveats @@ -84,10 +94,3 @@ are encouraged to turn **off** intermediate image rendering when you are using the checker. Future versions of InvokeAI will apply additional blurring to intermediate images when the checker is active. -### Watermarking - -InvokeAI does not apply any sort of watermark to images it -generates. However, it does write metadata into the PNG data area, -including the prompt used to generate the image and relevant parameter -settings. These fields can be examined using the `sd-metadata.py` -script that comes with the InvokeAI package. diff --git a/docs/index.md b/docs/index.md index ce26f1f1f3..319df59bae 100644 --- a/docs/index.md +++ b/docs/index.md @@ -148,7 +148,7 @@ images in full-precision mode: - [Model Merging](features/MODEL_MERGING.md) - [ControlNet Models](features/CONTROLNET.md) - [Style/Subject Concepts and Embeddings](features/CONCEPTS.md) -- [Not Safe for Work (NSFW) Checker](features/NSFW.md) +- [Watermarking and the Not Safe for Work (NSFW) Checker](features/WATERMARK+NSFW.md) ### Prompt Engineering - [Prompt Syntax](features/PROMPTS.md) diff --git a/docs/installation/010_INSTALL_AUTOMATED.md b/docs/installation/010_INSTALL_AUTOMATED.md index 8072364b55..db97640ecd 100644 --- a/docs/installation/010_INSTALL_AUTOMATED.md +++ b/docs/installation/010_INSTALL_AUTOMATED.md @@ -215,17 +215,6 @@ experimental versions later. Generally the defaults are fine, and you can come back to this screen at any time to tweak your system. Here are the options you can adjust: - - ***Output directory for images*** - This is the path to a directory in which InvokeAI will store all its - generated images. - - - ***NSFW checker*** - If checked, InvokeAI will test images for potential sexual content - and blur them out if found. Note that the NSFW checker consumes - an additional 0.6 GB of VRAM on top of the 2-3 GB of VRAM used - by most image models. If you have a low VRAM GPU (4-6 GB), you - can reduce out of memory errors by disabling the checker. - - ***HuggingFace Access Token*** InvokeAI has the ability to download embedded styles and subjects from the HuggingFace Concept Library on-demand. However, some of @@ -257,20 +246,30 @@ experimental versions later. and graphics cards. The "autocast" option is deprecated and shouldn't be used unless you are asked to by a member of the team. - - ***Number of models to cache in CPU memory*** + - **Size of the RAM cache used for fast model switching*** This allows you to keep models in memory and switch rapidly among them rather than having them load from disk each time. This slider - controls how many models to keep loaded at once. Each - model will use 2-4 GB of RAM, so use this cautiously + controls how many models to keep loaded at once. A typical SD-1 or SD-2 model + uses 2-3 GB of memory. A typical SDXL model uses 6-7 GB. Providing more + RAM will allow more models to be co-resident. - - ***Directory containing embedding/textual inversion files*** - This is the directory in which you can place custom embedding - files (.pt or .bin). During startup, this directory will be - scanned and InvokeAI will print out the text terms that - are available to trigger the embeddings. + - ***Output directory for images*** + This is the path to a directory in which InvokeAI will store all its + generated images. + + - ***Autoimport Folder*** + This is the directory in which you can place models you have + downloaded and wish to load into InvokeAI. You can place a variety + of models in this directory, including diffusers folders, .ckpt files, + .safetensors files, as well as LoRAs, ControlNet and Textual Inversion + files (both folder and file versions). To help organize this folder, + you can create several levels of subfolders and drop your models into + whichever ones you want. + + - ***Autoimport FolderLICENSE*** At the bottom of the screen you will see a checkbox for accepting - the CreativeML Responsible AI License. You need to accept the license + the CreativeML Responsible AI Licenses. You need to accept the license in order to download Stable Diffusion models from the next screen. _You can come back to the startup options form_ as many times as you like. diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 0d3f98155c..9e7bcdde2c 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -412,8 +412,9 @@ Use cursor arrows to make a checkbox selection, and space to toggle. ) self.nextrely -= 1 label = """BY DOWNLOADING THE STABLE DIFFUSION WEIGHT FILES, YOU AGREE TO HAVE READ -AND ACCEPTED THE CREATIVEML RESPONSIBLE AI LICENSE LOCATED AT -https://huggingface.co/spaces/CompVis/stable-diffusion-license +AND ACCEPTED THE CREATIVEML RESPONSIBLE AI LICENSES LOCATED AT +https://huggingface.co/spaces/CompVis/stable-diffusion-license and +https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENSE.md """ for i in textwrap.wrap(label,width=window_width-6): self.add_widget_intelligent( @@ -424,7 +425,7 @@ https://huggingface.co/spaces/CompVis/stable-diffusion-license ) self.license_acceptance = self.add_widget_intelligent( npyscreen.Checkbox, - name="I accept the CreativeML Responsible AI License", + name="I accept the CreativeML Responsible AI Licenses", value=not first_time, relx=2, scroll_exit=True, From 049e6664126b4aa9ddef563e103810b73766522c Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 27 Jul 2023 09:43:45 +1000 Subject: [PATCH 062/106] fix(ui): revise metadata edges in linear graphs - always add metadata to l2i nodes - no metadata handling for inpaint, removed --- .../buildCanvasImageToImageGraph.ts | 27 ++++++-------- .../graphBuilders/buildCanvasInpaintGraph.ts | 37 ------------------- .../buildCanvasTextToImageGraph.ts | 27 ++++++-------- .../buildLinearImageToImageGraph.ts | 27 ++++++-------- .../buildLinearSDXLImageToImageGraph.ts | 27 ++++++-------- .../buildLinearSDXLTextToImageGraph.ts | 27 ++++++-------- .../buildLinearTextToImageGraph.ts | 27 ++++++-------- 7 files changed, 66 insertions(+), 133 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 2981c090d8..42f768c107 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -312,6 +312,17 @@ export const buildCanvasImageToImageGraph = ( init_image: initialImage.image_name, }; + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + // add LoRA support addLoRAsToGraph(state, graph, LATENTS_TO_LATENTS); @@ -335,21 +346,5 @@ export const buildCanvasImageToImageGraph = ( addWatermarkerToGraph(state, graph); } - if ( - !state.system.shouldUseNSFWChecker && - !state.system.shouldUseWatermarker - ) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, - }); - } - return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 8462b32e63..c47a169634 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -252,27 +252,6 @@ export const buildCanvasInpaintGraph = ( (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; } - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', - generation_mode: 'txt2img', - cfg_scale, - height, - width, - positive_prompt: '', // set in addDynamicPromptsToGraph - negative_prompt: negativePrompt, - model, - seed: 0, // set in addDynamicPromptsToGraph - steps, - rand_device: 'cpu', - scheduler, - vae: undefined, // option; set in addVAEToGraph - controlnets: [], // populated in addControlNetToLinearGraph - loras: [], // populated in addLoRAsToGraph - clip_skip: clipSkip, - }; - // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! @@ -284,21 +263,5 @@ export const buildCanvasInpaintGraph = ( addWatermarkerToGraph(state, graph, INPAINT); } - if ( - !state.system.shouldUseNSFWChecker && - !state.system.shouldUseWatermarker - ) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: INPAINT, - field: 'metadata', - }, - }); - } - return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 55e11e4f37..13b27392ba 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -217,6 +217,17 @@ export const buildCanvasTextToImageGraph = ( clip_skip: clipSkip, }; + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + // add LoRA support addLoRAsToGraph(state, graph, TEXT_TO_LATENTS); @@ -240,21 +251,5 @@ export const buildCanvasTextToImageGraph = ( addWatermarkerToGraph(state, graph); } - if ( - !state.system.shouldUseNSFWChecker && - !state.system.shouldUseWatermarker - ) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, - }); - } - return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index e726a02a5c..f264edc6be 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -322,6 +322,17 @@ export const buildLinearImageToImageGraph = ( init_image: initialImage.imageName, }; + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + // add LoRA support addLoRAsToGraph(state, graph, LATENTS_TO_LATENTS); @@ -345,21 +356,5 @@ export const buildLinearImageToImageGraph = ( addWatermarkerToGraph(state, graph); } - if ( - !state.system.shouldUseNSFWChecker && - !state.system.shouldUseWatermarker - ) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, - }); - } - return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index 3697b96bea..a260dbc467 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -353,6 +353,17 @@ export const buildLinearSDXLImageToImageGraph = ( negative_style_prompt: negativeStylePrompt, }; + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + // Add Refiner if enabled if (shouldUseSDXLRefiner) { addSDXLRefinerToGraph(state, graph, SDXL_LATENTS_TO_LATENTS); @@ -372,21 +383,5 @@ export const buildLinearSDXLImageToImageGraph = ( addWatermarkerToGraph(state, graph); } - if ( - !state.system.shouldUseNSFWChecker && - !state.system.shouldUseWatermarker - ) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, - }); - } - return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 1669de5341..c10e7831d3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -235,6 +235,17 @@ export const buildLinearSDXLTextToImageGraph = ( negative_style_prompt: negativeStylePrompt, }; + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + // Add Refiner if enabled if (shouldUseSDXLRefiner) { addSDXLRefinerToGraph(state, graph, SDXL_TEXT_TO_LATENTS); @@ -254,21 +265,5 @@ export const buildLinearSDXLTextToImageGraph = ( addWatermarkerToGraph(state, graph); } - if ( - !state.system.shouldUseNSFWChecker && - !state.system.shouldUseWatermarker - ) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, - }); - } - return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 08aa355d4d..3766ac1ee3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -206,6 +206,17 @@ export const buildLinearTextToImageGraph = ( clip_skip: clipSkip, }; + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + // add LoRA support addLoRAsToGraph(state, graph, TEXT_TO_LATENTS); @@ -229,21 +240,5 @@ export const buildLinearTextToImageGraph = ( addWatermarkerToGraph(state, graph); } - if ( - !state.system.shouldUseNSFWChecker && - !state.system.shouldUseWatermarker - ) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, - }); - } - return graph; }; From 4bfbdb0d97c94ca3e9d412584ff713ade8468c91 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 27 Jul 2023 11:58:59 +1000 Subject: [PATCH 063/106] chore(ui): lint --- .../features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index c47a169634..3cec76757f 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -17,7 +17,6 @@ import { INPAINT_GRAPH, ITERATE, MAIN_MODEL_LOADER, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, POSITIVE_CONDITIONING, RANDOM_INT, From 451b8c96e5f2667b7967f34c3624718cf83df2b5 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 22:29:39 -0400 Subject: [PATCH 064/106] do not overwrite models.yaml if it is well formed --- invokeai/backend/install/invokeai_configure.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 0d3f98155c..98b92858e7 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -13,8 +13,8 @@ import os import shutil import textwrap import traceback -import warnings import yaml +import warnings from argparse import Namespace from pathlib import Path from shutil import get_terminal_size @@ -56,7 +56,6 @@ from invokeai.frontend.install.widgets import ( from invokeai.backend.install.legacy_arg_parsing import legacy_parser from invokeai.backend.install.model_install_backend import ( hf_download_from_pretrained, - hf_download_with_resume, InstallSelections, ModelInstall, ) @@ -391,7 +390,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. self.autoimport_dirs = {} self.autoimport_dirs['autoimport_dir'] = self.add_widget_intelligent( FileBox, - name=f'Autoimport Folder', + name='Autoimport Folder', value=str(config.root_path / config.autoimport_dir), select_dir=True, must_exist=False, @@ -583,7 +582,18 @@ def initialize_rootdir(root: Path, yes_to_all: bool = False): path = dest / 'core' path.mkdir(parents=True, exist_ok=True) - with open(root / 'configs' / 'models.yaml','w') as yaml_file: + maybe_create_models_yaml(root) + +def maybe_create_models_yaml(root: Path): + models_yaml = root / 'configs' / 'models.yaml' + if models_yaml.exists(): + if OmegaConf.load(models_yaml).get('__metadata__'): # up to date + return + else: + logger.info('Creating new models.yaml, original saved as models.yaml.orig') + models_yaml.rename(models_yaml.parent / 'models.yaml.orig') + + with open(models_yaml,'w') as yaml_file: yaml_file.write(yaml.dump({'__metadata__': {'version':'3.0.0'} } From 9c4acb9d3f08158d51b66435e06e3d79b00624ea Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 23:06:27 -0400 Subject: [PATCH 065/106] install SDXL "fixed" VAE --- .../backend/install/model_install_backend.py | 2 +- .../backend/model_management/model_probe.py | 9 ++++++++- invokeai/configs/INITIAL_MODELS.yaml | 18 +++++++++++------- scripts/probe-model.py | 11 +++++++++++ 4 files changed, 31 insertions(+), 9 deletions(-) create mode 100755 scripts/probe-model.py diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index 26d37a7cbf..5aed8cc034 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -154,7 +154,7 @@ class ModelInstall(object): models = set() for key, value in self.datasets.items(): name,base,model_type = ModelManager.parse_key(key) - if all_models or model_type==ModelType.Main: + if all_models or model_type in [ModelType.Main, ModelType.Vae]: models.add(key) return models diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index f768417506..ff5464ee99 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -416,7 +416,14 @@ class PipelineFolderProbe(FolderProbeBase): class VaeFolderProbe(FolderProbeBase): def get_base_type(self)->BaseModelType: - return BaseModelType.StableDiffusion1 + config_file = self.folder_path / 'config.json' + if not config_file.exists(): + raise InvalidModelException(f"Cannot determine base type for {self.folder_path}") + with open(config_file,'r') as file: + config = json.load(file) + return BaseModelType.StableDiffusionXL \ + if config.get('scaling_factor',0)==0.13025 and config.get('sample_size') in [512, 1024] \ + else BaseModelType.StableDiffusion1 class TextualInversionFolderProbe(FolderProbeBase): def get_format(self)->str: diff --git a/invokeai/configs/INITIAL_MODELS.yaml b/invokeai/configs/INITIAL_MODELS.yaml index e148ee9b55..71db9b55e7 100644 --- a/invokeai/configs/INITIAL_MODELS.yaml +++ b/invokeai/configs/INITIAL_MODELS.yaml @@ -16,14 +16,18 @@ sd-2/main/stable-diffusion-2-inpainting: description: Stable Diffusion version 2.0 inpainting model (5.21 GB) repo_id: stabilityai/stable-diffusion-2-inpainting recommended: False -sdxl/main/stable-diffusion-xl-base-0-9: - description: Stable Diffusion XL base model (12 GB; access token required) - repo_id: stabilityai/stable-diffusion-xl-base-0.9 - recommended: False -sdxl-refiner/main/stable-diffusion-xl-refiner-0-9: - description: Stable Diffusion XL refiner model (12 GB; access token required) - repo_id: stabilityai/stable-diffusion-xl-refiner-0.9 +sdxl/main/stable-diffusion-xl-base-1-0: + description: Stable Diffusion XL base model (12 GB) + repo_id: stabilityai/stable-diffusion-xl-base-1.0 recommended: False +sdxl-refiner/main/stable-diffusion-xl-refiner-1-0: + description: Stable Diffusion XL refiner model (12 GB) + repo_id: stabilityai/stable-diffusion-xl-refiner-1.0 + recommended: false +sdxl/vae/sdxl-1-0-vae-fix: + description: Fine tuned version of the SDXL-1.0 VAE + repo_id: madebyollin/sdxl-vae-fp16-fix + recommended: true sd-1/main/Analog-Diffusion: description: An SD-1.5 model trained on diverse analog photographs (2.13 GB) repo_id: wavymulder/Analog-Diffusion diff --git a/scripts/probe-model.py b/scripts/probe-model.py new file mode 100755 index 0000000000..46fd86984c --- /dev/null +++ b/scripts/probe-model.py @@ -0,0 +1,11 @@ +#!/bin/env python + +import sys +from pathlib import Path +from invokeai.backend.model_management.model_probe import ModelProbe + +info = ModelProbe().probe(Path(sys.argv[1])) +print(info) + + + From 77946bfea59b32b3641f5a0b7388c6d02d6e1940 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 26 Jul 2023 23:28:58 -0400 Subject: [PATCH 066/106] restore ability to convert SDXL checkpoints to diffusers --- invokeai/backend/model_management/models/sdxl.py | 4 ---- invokeai/backend/model_management/models/stable_diffusion.py | 3 ++- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/invokeai/backend/model_management/models/sdxl.py b/invokeai/backend/model_management/models/sdxl.py index ef0dd4c720..9a0de4ea79 100644 --- a/invokeai/backend/model_management/models/sdxl.py +++ b/invokeai/backend/model_management/models/sdxl.py @@ -112,16 +112,12 @@ class StableDiffusionXLModel(DiffusersModel): # The convert script adapted from the diffusers package uses # strings for the base model type. To avoid making too many # source code changes, we simply translate here - model_base_to_model_type = {BaseModelType.StableDiffusionXL: 'SDXL', - BaseModelType.StableDiffusionXLRefiner: 'SDXL-Refiner', - } if isinstance(config, cls.CheckpointConfig): from invokeai.backend.model_management.models.stable_diffusion import _convert_ckpt_and_cache return _convert_ckpt_and_cache( version=base_model, model_config=config, output_path=output_path, - model_type=model_base_to_model_type[base_model], use_safetensors=False, # corrupts sdxl models for some reason ) else: diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index 64dbd1c9ee..dd0b78ebf7 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -272,8 +272,9 @@ def _convert_ckpt_and_cache( model_base_to_model_type = {BaseModelType.StableDiffusion1: 'FrozenCLIPEmbedder', BaseModelType.StableDiffusion2: 'FrozenOpenCLIPEmbedder', + BaseModelType.StableDiffusionXL: 'SDXL', + BaseModelType.StableDiffusionXLRefiner: 'SDXL-Refiner', } - logger.info(f'Converting {weights} to diffusers format') with SilenceWarnings(): convert_ckpt_to_diffusers( From 61aff8540cbc8fb2b5db19fb99fea2c24b01df4d Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 27 Jul 2023 00:02:10 -0400 Subject: [PATCH 067/106] fix refiner conversion --- invokeai/backend/model_management/model_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 894fca9d74..184c95e5c1 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -754,7 +754,7 @@ class ModelManager(object): # We are taking advantage of a side effect of get_model() that converts check points # into cached diffusers directories stored at `location`. It doesn't matter # what submodeltype we request here, so we get the smallest. - submodel = {"submodel_type": SubModelType.Tokenizer} if model_type==ModelType.Main else {} + submodel = {"submodel_type": SubModelType.Scheduler} if model_type==ModelType.Main else {} model = self.get_model(model_name, base_model, model_type, From dcb85b0097251099a05255d2b233495f4971817a Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 27 Jul 2023 00:37:23 -0400 Subject: [PATCH 068/106] rebuild frontend; bump version --- invokeai/configs/INITIAL_MODELS.yaml | 4 ---- .../{App-69e5ea36.js => App-58b095d3.js} | 2 +- ...184f020.js => MantineProvider-ea42d3d1.js} | 2 +- ...450.js => ThemeLocaleProvider-13e3db3d.js} | 2 +- .../{index-89941396.js => index-5a784cdd.js} | 24 +++++++++---------- invokeai/frontend/web/dist/index.html | 2 +- .../frontend/web/src/services/api/schema.d.ts | 12 +++++----- invokeai/version/invokeai_version.py | 2 +- 8 files changed, 23 insertions(+), 27 deletions(-) rename invokeai/frontend/web/dist/assets/{App-69e5ea36.js => App-58b095d3.js} (99%) rename invokeai/frontend/web/dist/assets/{MantineProvider-8184f020.js => MantineProvider-ea42d3d1.js} (99%) rename invokeai/frontend/web/dist/assets/{ThemeLocaleProvider-9ac72450.js => ThemeLocaleProvider-13e3db3d.js} (99%) rename invokeai/frontend/web/dist/assets/{index-89941396.js => index-5a784cdd.js} (83%) diff --git a/invokeai/configs/INITIAL_MODELS.yaml b/invokeai/configs/INITIAL_MODELS.yaml index 303c8ad5a9..86357e7b56 100644 --- a/invokeai/configs/INITIAL_MODELS.yaml +++ b/invokeai/configs/INITIAL_MODELS.yaml @@ -20,10 +20,6 @@ sdxl/main/stable-diffusion-xl-base-1-0: description: Stable Diffusion XL base model (12 GB) repo_id: stabilityai/stable-diffusion-xl-base-1.0 recommended: False -sdxl-refiner/main/stable-diffusion-xl-refiner-1-0: - description: Stable Diffusion XL refiner model (12 GB) - repo_id: stabilityai/stable-diffusion-xl-refiner-1.0 - recommended: False sdxl-refiner/main/stable-diffusion-xl-refiner-1-0: description: Stable Diffusion XL refiner model (12 GB) repo_id: stabilityai/stable-diffusion-xl-refiner-1.0 diff --git a/invokeai/frontend/web/dist/assets/App-69e5ea36.js b/invokeai/frontend/web/dist/assets/App-58b095d3.js similarity index 99% rename from invokeai/frontend/web/dist/assets/App-69e5ea36.js rename to invokeai/frontend/web/dist/assets/App-58b095d3.js index a87a1119a7..c1eb7e228b 100644 --- a/invokeai/frontend/web/dist/assets/App-69e5ea36.js +++ b/invokeai/frontend/web/dist/assets/App-58b095d3.js @@ -1,4 +1,4 @@ -import{t as cv,r as Q8,i as uv,a as Rc,b as h_,S as m_,c as g_,d as v_,e as dv,f as b_,g as fv,h as J8,j as Z8,k as eR,l as tR,m as y_,n as nR,o as rR,p as oR,q as x_,s as sR,u as aR,v as iR,w as lR,x as cR,y as uR,z as f,A as i,B as Qh,C as Ip,D as dR,E as w_,F as S_,G as fR,P as id,H as M1,I as pR,J as hR,K as mR,L as gR,M as vR,N as bR,O as yR,Q as P2,R as Te,T as xR,U as Ie,V as kt,W as et,X as ld,Y as Fo,Z as Xr,_ as Br,$ as qn,a0 as dl,a1 as $a,a2 as tn,a3 as ns,a4 as Zl,a5 as za,a6 as Jh,a7 as D1,a8 as cd,a9 as or,aa as wR,ab as F,ac as C_,ad as j2,ae as k_,af as pv,ag as Mc,ah as SR,ai as __,aj as P_,ak as Dc,al as CR,am as fe,an as Ge,ao as Qt,ap as z,aq as kR,ar as I2,as as _R,at as PR,au as E2,av as te,aw as jR,ax as Dn,ay as Bn,az as Oe,aA as H,aB as Xs,aC as Ye,aD as Kn,aE as j_,aF as I_,aG as E_,aH as _i,aI as Ds,aJ as T1,aK as IR,aL as ER,aM as OR,aN as Rl,aO as xu,aP as RR,aQ as MR,aR as DR,aS as TR,aT as AR,aU as O2,aV as ui,aW as A1,aX as Ep,aY as Zh,aZ as O_,a_ as os,a$ as R_,b0 as NR,b1 as Tc,b2 as M_,b3 as D_,b4 as Es,b5 as _o,b6 as wu,b7 as $R,b8 as zR,b9 as LR,ba as BR,bb as N1,bc as Op,bd as FR,be as HR,bf as If,bg as Ef,bh as Ru,bi as Mu,bj as R2,bk as Rp,bl as M2,bm as Mp,bn as D2,bo as hv,bp as T2,bq as mv,br as A2,bs as Dp,bt as N2,bu as hc,bv as $2,bw as mc,bx as z2,by as Tp,bz as $1,bA as z1,bB as T_,bC as L1,bD as B1,bE as WR,bF as VR,bG as em,bH as ql,bI as UR,bJ as GR,bK as vp,bL as qR,bM as KR,bN as YR,bO as gv,bP as A_,bQ as XR,bR as N_,bS as $_,bT as ss,bU as L2,bV as La,bW as QR,bX as vv,bY as JR,bZ as z_,b_ as B2,b$ as ZR,c0 as eM,c1 as tM,c2 as nM,c3 as rM,c4 as oM,c5 as F1,c6 as H1,c7 as sM,c8 as Ln,c9 as F2,ca as L_,cb as aM,cc as iM,cd as lM,ce as cM,cf as uM,cg as dM,ch as fM,ci as pM,cj as hM,ck as B_,cl as mM,cm as gM,cn as vM,co as bM,cp as yM,cq as xM,cr as wM,cs as SM,ct as CM,cu as kM,cv as jo,cw as vr,cx as _M,cy as W1,cz as ud,cA as dd,cB as PM,cC as H2,cD as jM,cE as W2,cF as IM,cG as EM,cH as OM,cI as RM,cJ as V2,cK as U2,cL as na,cM as V1,cN as G2,cO as q2,cP as tm,cQ as MM,cR as DM,cS as TM,cT as AM,cU as K2,cV as Y2,cW as NM,cX as X2,cY as $M,cZ as F_,c_ as Q2,c$ as zM,d0 as LM,d1 as Ss,d2 as BM,d3 as FM,d4 as H_,d5 as W_,d6 as HM,d7 as J2,d8 as WM,d9 as VM,da as V_,db as UM,dc as GM,dd as qM,de as KM,df as YM,dg as XM,dh as QM,di as U_,dj as JM,dk as G_,dl as Z2,dm as Of,dn as ZM,dp as U1,dq as q_,dr as e7,ds as t7,dt as n7,du as ls,dv as r7,dw as o7,dx as s7,dy as a7,dz as i7,dA as l7,dB as c7,dC as u7,dD as d7,dE as f7,dF as p7,dG as h7,dH as m7,dI as g7,dJ as ew,dK as tw,dL as v7,dM as K_,dN as Y_,dO as fd,dP as X_,dQ as Hu,dR as Q_,dS as nw,dT as b7,dU as y7,dV as J_,dW as x7,dX as G1,dY as rw,dZ as Z_,d_ as w7,d$ as ow,e0 as e3,e1 as Ts,e2 as S7,e3 as t3,e4 as sw,e5 as C7,e6 as k7,e7 as _7,e8 as P7,e9 as j7,ea as I7,eb as E7,ec as O7,ed as R7,ee as M7,ef as D7,eg as T7,eh as A7,ei as N7,ej as $7,ek as z7,el as L7,em as B7,en as F7,eo as H7,ep as aw,eq as bp,er as W7,es as Ap,et as n3,eu as Wu,ev as V7,ew as U7,ex as ea,ey as r3,ez as q1,eA as pd,eB as G7,eC as q7,eD as K7,eE as Ia,eF as o3,eG as Y7,eH as X7,eI as s3,eJ as Q7,eK as J7,eL as Z7,eM as eD,eN as tD,eO as nD,eP as rD,eQ as oD,eR as sD,eS as aD,eT as iw,eU as iD,eV as lD,eW as cD,eX as uD,eY as dD,eZ as fD,e_ as pD,e$ as hD,f0 as a0,f1 as Js,f2 as i0,f3 as l0,f4 as Rf,f5 as lw,f6 as bv,f7 as mD,f8 as gD,f9 as vD,fa as bD,fb as Np,fc as a3,fd as i3,fe as yD,ff as xD,fg as l3,fh as c3,fi as u3,fj as d3,fk as f3,fl as p3,fm as h3,fn as m3,fo as ec,fp as tc,fq as g3,fr as v3,fs as wD,ft as b3,fu as y3,fv as x3,fw as w3,fx as S3,fy as C3,fz as K1,fA as SD,fB as cw,fC as CD,fD as kD,fE as $p,fF as uw,fG as dw,fH as fw,fI as pw,fJ as _D,fK as PD,fL as jD,fM as ID,fN as ED,fO as OD,fP as RD,fQ as MD,fR as DD}from"./index-89941396.js";import{I as Kr,u as TD,c as AD,a as Rn,b as rr,d as Ba,P as Vu,C as ND,e as be,m as nm,f as k3,g as Fa,h as $D,r as Ue,i as zD,j as hw,k as Wt,l as Sr}from"./MantineProvider-8184f020.js";function LD(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var mw=1/0,BD=17976931348623157e292;function c0(e){if(!e)return e===0?e:0;if(e=cv(e),e===mw||e===-mw){var t=e<0?-1:1;return t*BD}return e===e?e:0}var FD=function(){return Q8.Date.now()};const u0=FD;var HD="Expected a function",WD=Math.max,VD=Math.min;function UD(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(HD);t=cv(t)||0,uv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?WD(cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,T=t-R;return m?VD(T,s-M):T}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=u0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function I(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function P(){return c===void 0?a:_(u0())}function E(){var O=u0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=I,E.flush=P,E}var GD=200;function qD(e,t,n,r){var o=-1,s=g_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Rc(t,h_(n))),r?(s=v_,a=!1):t.length>=GD&&(s=dv,a=!1,t=new m_(t));e:for(;++o=120&&h.length>=120)?new m_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}const _3=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:Qh(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};_3.displayName="MiniMapNode";var pT=f.memo(_3);const hT=e=>e.nodeOrigin,mT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),d0=e=>e instanceof Function?e:()=>e;function gT({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=pT,onClick:a}){const c=Ip(mT,M1),d=Ip(hT),p=d0(t),h=d0(e),m=d0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=dR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var vT=f.memo(gT);const bT=200,yT=150,xT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?mR(gR(t,e.nodeOrigin),n):n,rfId:e.rfId}},wT="react-flow__minimap-desc";function P3({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const I=w_(),P=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Ip(xT,M1),M=(e==null?void 0:e.width)??bT,T=(e==null?void 0:e.height)??yT,A=E.width/M,$=E.height/T,Q=Math.max(A,$),B=Q*M,V=Q*T,q=5*Q,G=E.x-(B-E.width)/2-q,D=E.y-(V-E.height)/2-q,L=B+q*2,W=V+q*2,Y=`${wT}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(P.current){const X=S_(P.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=I.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,_e=oe[2]*Math.pow(2,ge);le.scaleTo(pe,_e)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:_e,height:ie}=I.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const Se=ae.current*Math.max(1,oe[2])*(k?-1:1),Fe={x:oe[0]-re.sourceEvent.movementX*Se,y:oe[1]-re.sourceEvent.movementY*Se},Ae=[[0,0],[_e,ie]],He=pR.translate(Fe.x,Fe.y).scale(oe[2]),Ct=le.constrain()(He,Ae,ge);le.transform(pe,Ct)},se=fR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const ye=v?X=>{const K=hR(X);v(X,{x:K[0],y:K[1]})}:void 0,ue=b?(X,K)=>{const U=I.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(id,{position:m,style:e,className:Qh(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:T,viewBox:`${G} ${D} ${L} ${W}`,role:"img","aria-labelledby":Y,ref:P,onClick:ye,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(vT,{onClick:ue,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${D-q}h${L+q*2}v${W+q*2}h${-L-q*2}z +import{t as cv,r as Q8,i as uv,a as Rc,b as h_,S as m_,c as g_,d as v_,e as dv,f as b_,g as fv,h as J8,j as Z8,k as eR,l as tR,m as y_,n as nR,o as rR,p as oR,q as x_,s as sR,u as aR,v as iR,w as lR,x as cR,y as uR,z as f,A as i,B as Qh,C as Ip,D as dR,E as w_,F as S_,G as fR,P as id,H as M1,I as pR,J as hR,K as mR,L as gR,M as vR,N as bR,O as yR,Q as P2,R as Te,T as xR,U as Ie,V as kt,W as et,X as ld,Y as Fo,Z as Xr,_ as Br,$ as qn,a0 as dl,a1 as $a,a2 as tn,a3 as ns,a4 as Zl,a5 as za,a6 as Jh,a7 as D1,a8 as cd,a9 as or,aa as wR,ab as F,ac as C_,ad as j2,ae as k_,af as pv,ag as Mc,ah as SR,ai as __,aj as P_,ak as Dc,al as CR,am as fe,an as Ge,ao as Qt,ap as z,aq as kR,ar as I2,as as _R,at as PR,au as E2,av as te,aw as jR,ax as Dn,ay as Bn,az as Oe,aA as H,aB as Xs,aC as Ye,aD as Kn,aE as j_,aF as I_,aG as E_,aH as _i,aI as Ds,aJ as T1,aK as IR,aL as ER,aM as OR,aN as Rl,aO as xu,aP as RR,aQ as MR,aR as DR,aS as TR,aT as AR,aU as O2,aV as ui,aW as A1,aX as Ep,aY as Zh,aZ as O_,a_ as os,a$ as R_,b0 as NR,b1 as Tc,b2 as M_,b3 as D_,b4 as Es,b5 as _o,b6 as wu,b7 as $R,b8 as zR,b9 as LR,ba as BR,bb as N1,bc as Op,bd as FR,be as HR,bf as If,bg as Ef,bh as Ru,bi as Mu,bj as R2,bk as Rp,bl as M2,bm as Mp,bn as D2,bo as hv,bp as T2,bq as mv,br as A2,bs as Dp,bt as N2,bu as hc,bv as $2,bw as mc,bx as z2,by as Tp,bz as $1,bA as z1,bB as T_,bC as L1,bD as B1,bE as WR,bF as VR,bG as em,bH as ql,bI as UR,bJ as GR,bK as vp,bL as qR,bM as KR,bN as YR,bO as gv,bP as A_,bQ as XR,bR as N_,bS as $_,bT as ss,bU as L2,bV as La,bW as QR,bX as vv,bY as JR,bZ as z_,b_ as B2,b$ as ZR,c0 as eM,c1 as tM,c2 as nM,c3 as rM,c4 as oM,c5 as F1,c6 as H1,c7 as sM,c8 as Ln,c9 as F2,ca as L_,cb as aM,cc as iM,cd as lM,ce as cM,cf as uM,cg as dM,ch as fM,ci as pM,cj as hM,ck as B_,cl as mM,cm as gM,cn as vM,co as bM,cp as yM,cq as xM,cr as wM,cs as SM,ct as CM,cu as kM,cv as jo,cw as vr,cx as _M,cy as W1,cz as ud,cA as dd,cB as PM,cC as H2,cD as jM,cE as W2,cF as IM,cG as EM,cH as OM,cI as RM,cJ as V2,cK as U2,cL as na,cM as V1,cN as G2,cO as q2,cP as tm,cQ as MM,cR as DM,cS as TM,cT as AM,cU as K2,cV as Y2,cW as NM,cX as X2,cY as $M,cZ as F_,c_ as Q2,c$ as zM,d0 as LM,d1 as Ss,d2 as BM,d3 as FM,d4 as H_,d5 as W_,d6 as HM,d7 as J2,d8 as WM,d9 as VM,da as V_,db as UM,dc as GM,dd as qM,de as KM,df as YM,dg as XM,dh as QM,di as U_,dj as JM,dk as G_,dl as Z2,dm as Of,dn as ZM,dp as U1,dq as q_,dr as e7,ds as t7,dt as n7,du as ls,dv as r7,dw as o7,dx as s7,dy as a7,dz as i7,dA as l7,dB as c7,dC as u7,dD as d7,dE as f7,dF as p7,dG as h7,dH as m7,dI as g7,dJ as ew,dK as tw,dL as v7,dM as K_,dN as Y_,dO as fd,dP as X_,dQ as Hu,dR as Q_,dS as nw,dT as b7,dU as y7,dV as J_,dW as x7,dX as G1,dY as rw,dZ as Z_,d_ as w7,d$ as ow,e0 as e3,e1 as Ts,e2 as S7,e3 as t3,e4 as sw,e5 as C7,e6 as k7,e7 as _7,e8 as P7,e9 as j7,ea as I7,eb as E7,ec as O7,ed as R7,ee as M7,ef as D7,eg as T7,eh as A7,ei as N7,ej as $7,ek as z7,el as L7,em as B7,en as F7,eo as H7,ep as aw,eq as bp,er as W7,es as Ap,et as n3,eu as Wu,ev as V7,ew as U7,ex as ea,ey as r3,ez as q1,eA as pd,eB as G7,eC as q7,eD as K7,eE as Ia,eF as o3,eG as Y7,eH as X7,eI as s3,eJ as Q7,eK as J7,eL as Z7,eM as eD,eN as tD,eO as nD,eP as rD,eQ as oD,eR as sD,eS as aD,eT as iw,eU as iD,eV as lD,eW as cD,eX as uD,eY as dD,eZ as fD,e_ as pD,e$ as hD,f0 as a0,f1 as Js,f2 as i0,f3 as l0,f4 as Rf,f5 as lw,f6 as bv,f7 as mD,f8 as gD,f9 as vD,fa as bD,fb as Np,fc as a3,fd as i3,fe as yD,ff as xD,fg as l3,fh as c3,fi as u3,fj as d3,fk as f3,fl as p3,fm as h3,fn as m3,fo as ec,fp as tc,fq as g3,fr as v3,fs as wD,ft as b3,fu as y3,fv as x3,fw as w3,fx as S3,fy as C3,fz as K1,fA as SD,fB as cw,fC as CD,fD as kD,fE as $p,fF as uw,fG as dw,fH as fw,fI as pw,fJ as _D,fK as PD,fL as jD,fM as ID,fN as ED,fO as OD,fP as RD,fQ as MD,fR as DD}from"./index-5a784cdd.js";import{I as Kr,u as TD,c as AD,a as Rn,b as rr,d as Ba,P as Vu,C as ND,e as be,m as nm,f as k3,g as Fa,h as $D,r as Ue,i as zD,j as hw,k as Wt,l as Sr}from"./MantineProvider-ea42d3d1.js";function LD(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var mw=1/0,BD=17976931348623157e292;function c0(e){if(!e)return e===0?e:0;if(e=cv(e),e===mw||e===-mw){var t=e<0?-1:1;return t*BD}return e===e?e:0}var FD=function(){return Q8.Date.now()};const u0=FD;var HD="Expected a function",WD=Math.max,VD=Math.min;function UD(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(HD);t=cv(t)||0,uv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?WD(cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,T=t-R;return m?VD(T,s-M):T}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=u0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function I(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function P(){return c===void 0?a:_(u0())}function E(){var O=u0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=I,E.flush=P,E}var GD=200;function qD(e,t,n,r){var o=-1,s=g_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Rc(t,h_(n))),r?(s=v_,a=!1):t.length>=GD&&(s=dv,a=!1,t=new m_(t));e:for(;++o=120&&h.length>=120)?new m_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}const _3=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:Qh(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};_3.displayName="MiniMapNode";var pT=f.memo(_3);const hT=e=>e.nodeOrigin,mT=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),d0=e=>e instanceof Function?e:()=>e;function gT({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=pT,onClick:a}){const c=Ip(mT,M1),d=Ip(hT),p=d0(t),h=d0(e),m=d0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=dR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var vT=f.memo(gT);const bT=200,yT=150,xT=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?mR(gR(t,e.nodeOrigin),n):n,rfId:e.rfId}},wT="react-flow__minimap-desc";function P3({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const I=w_(),P=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Ip(xT,M1),M=(e==null?void 0:e.width)??bT,T=(e==null?void 0:e.height)??yT,A=E.width/M,$=E.height/T,Q=Math.max(A,$),B=Q*M,V=Q*T,q=5*Q,G=E.x-(B-E.width)/2-q,D=E.y-(V-E.height)/2-q,L=B+q*2,W=V+q*2,Y=`${wT}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(P.current){const X=S_(P.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=I.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,_e=oe[2]*Math.pow(2,ge);le.scaleTo(pe,_e)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:_e,height:ie}=I.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const Se=ae.current*Math.max(1,oe[2])*(k?-1:1),Fe={x:oe[0]-re.sourceEvent.movementX*Se,y:oe[1]-re.sourceEvent.movementY*Se},Ae=[[0,0],[_e,ie]],He=pR.translate(Fe.x,Fe.y).scale(oe[2]),Ct=le.constrain()(He,Ae,ge);le.transform(pe,Ct)},se=fR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const ye=v?X=>{const K=hR(X);v(X,{x:K[0],y:K[1]})}:void 0,ue=b?(X,K)=>{const U=I.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(id,{position:m,style:e,className:Qh(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:T,viewBox:`${G} ${D} ${L} ${W}`,role:"img","aria-labelledby":Y,ref:P,onClick:ye,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(vT,{onClick:ue,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${D-q}h${L+q*2}v${W+q*2}h${-L-q*2}z M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}P3.displayName="MiniMap";var ST=f.memo(P3),Cs;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Cs||(Cs={}));function CT({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function kT({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const _T={[Cs.Dots]:"#91919a",[Cs.Lines]:"#eee",[Cs.Cross]:"#e2e2e2"},PT={[Cs.Dots]:1,[Cs.Lines]:1,[Cs.Cross]:6},jT=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function j3({id:e,variant:t=Cs.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Ip(jT,M1),v=a||_T[t],b=r||PT[t],w=t===Cs.Dots,y=t===Cs.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],I=y?[_,_]:k,P=w?[_/s,_/s]:[I[0]/s,I[1]/s];return i.jsxs("svg",{className:Qh(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${P[0]},-${P[1]})`,children:w?i.jsx(kT,{color:v,radius:_/s}):i.jsx(CT,{dimensions:I,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}j3.displayName="Background";var IT=f.memo(j3),Du;(function(e){e.Line="line",e.Handle="handle"})(Du||(Du={}));function ET({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const I3={width:0,height:0,x:0,y:0},OT={...I3,pointerX:0,pointerY:0,aspectRatio:1};function RT({nodeId:e,position:t,variant:n=Du.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=vR(),k=typeof e=="string"?e:S,_=w_(),I=f.useRef(null),P=f.useRef(OT),E=f.useRef(I3),O=bR(),R=n===Du.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!I.current||!k)return;const Q=S_(I.current),B=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),D=yR().on("start",L=>{const W=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(L);E.current={width:(W==null?void 0:W.width)??0,height:(W==null?void 0:W.height)??0,x:(W==null?void 0:W.position.x)??0,y:(W==null?void 0:W.position.y)??0},P.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(L,{...E.current})}).on("drag",L=>{const{nodeInternals:W,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:ye}=O(L),ue=W.get(k);if(ue){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=P.current,{x:ge,y:_e,width:ie,height:Se}=E.current,Fe=Math.floor(B?ae-K:0),Ae=Math.floor(V?ye-U:0);let He=P2(se+(q?-Fe:Fe),c,p),Ct=P2(re+(G?-Ae:Ae),d,h);if(m){const Re=He/Ct,Pt=B&&V,At=B&&!V,xe=V&&!B;He=Re<=le&&Pt||xe?Ct*le:He,Ct=Re>le&&Pt||At?He/le:Ct,He>=p?(He=p,Ct=p/le):He<=c&&(He=c,Ct=c/le),Ct>=h?(Ct=h,He=h*le):Ct<=d&&(Ct=d,He=d*le)}const ct=He!==ie,on=Ct!==Se;if(q||G){const Re=q?oe-(He-se):oe,Pt=G?pe-(Ct-re):pe,At=Re!==ge&&ct,xe=Pt!==_e&&on;if(At||xe){const ht={id:ue.id,type:"position",position:{x:At?Re:ge,y:xe?Pt:_e}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Re={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:He,height:Ct}};X.push(Re),E.current.width=He,E.current.height=Ct}if(X.length===0)return;const vt=ET({width:E.current.width,prevWidth:ie,height:E.current.height,prevHeight:Se,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(L,bt))===!1)return;w==null||w(L,bt),Y(X)}}).on("end",L=>{const W={id:k,type:"dimensions",resizing:!1};y==null||y(L,{...E.current}),_.getState().triggerNodeChanges([W])});return Q.call(D),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const T=M.split("-"),A=n===Du.Line?"borderColor":"backgroundColor",$=a?{...o,[A]:a}:o;return i.jsx("div",{className:Qh(["react-flow__resize-control","nodrag",...T,n,r]),ref:I,style:$,children:s})}var MT=f.memo(RT);const E3=1/60*1e3,DT=typeof performance<"u"?()=>performance.now():()=>Date.now(),O3=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(DT()),E3);function TT(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=TT(()=>Uu=!0),e),{}),NT=hd.reduce((e,t)=>{const n=rm[t];return e[t]=(r,o=!1,s=!1)=>(Uu||LT(),n.schedule(r,o,s)),e},{}),$T=hd.reduce((e,t)=>(e[t]=rm[t].cancel,e),{});hd.reduce((e,t)=>(e[t]=()=>rm[t].process(nc),e),{});const zT=e=>rm[e].process(nc),R3=e=>{Uu=!1,nc.delta=yv?E3:Math.max(Math.min(e-nc.timestamp,AT),1),nc.timestamp=e,xv=!0,hd.forEach(zT),xv=!1,Uu&&(yv=!1,O3(R3))},LT=()=>{Uu=!0,yv=!0,xv||O3(R3)},bw=()=>nc;function Y1(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function md(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Te((c,d)=>i.jsx(Kr,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function BT(e){const{theme:t}=xR(),n=TD();return f.useMemo(()=>AD(t.direction,{...n,...e}),[e,t.direction,n])}var FT=Object.defineProperty,HT=(e,t,n)=>t in e?FT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gr=(e,t,n)=>(HT(e,typeof t!="symbol"?t+"":t,n),n);function yw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var WT=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function xw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function ww(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var wv=typeof window<"u"?f.useLayoutEffect:f.useEffect,zp=e=>e,VT=class{constructor(){gr(this,"descendants",new Map),gr(this,"register",e=>{if(e!=null)return WT(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),gr(this,"unregister",e=>{this.descendants.delete(e);const t=yw(Array.from(this.descendants.keys()));this.assignIndex(t)}),gr(this,"destroy",()=>{this.descendants.clear()}),gr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),gr(this,"count",()=>this.descendants.size),gr(this,"enabledCount",()=>this.enabledValues().length),gr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),gr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),gr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),gr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),gr(this,"first",()=>this.item(0)),gr(this,"firstEnabled",()=>this.enabledItem(0)),gr(this,"last",()=>this.item(this.descendants.size-1)),gr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),gr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),gr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),gr(this,"next",(e,t=!0)=>{const n=xw(e,this.count(),t);return this.item(n)}),gr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=xw(r,this.enabledCount(),t);return this.enabledItem(o)}),gr(this,"prev",(e,t=!0)=>{const n=ww(e,this.count()-1,t);return this.item(n)}),gr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=ww(r,this.enabledCount()-1,t);return this.enabledItem(o)}),gr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=yw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function UT(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{UT(n,t)})}}function GT(...e){return f.useMemo(()=>cn(...e),e)}function qT(){const e=f.useRef(new VT);return wv(()=>()=>e.current.destroy()),e.current}var[KT,M3]=Rn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function YT(e){const t=M3(),[n,r]=f.useState(-1),o=f.useRef(null);wv(()=>()=>{o.current&&t.unregister(o.current)},[]),wv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=zp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function X1(){return[zp(KT),()=>zp(M3()),()=>qT(),o=>YT(o)]}var[XT,om]=Rn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[QT,Q1]=Rn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[JT,pde,ZT,eA]=X1(),Su=Te(function(t,n){const{getButtonProps:r}=Q1(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...om().button};return i.jsx(Ie.button,{...o,className:kt("chakra-accordion__button",t.className),__css:a})});Su.displayName="AccordionButton";function Ac(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=rr(r),a=rr(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=rr(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function tA(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;oA(e),sA(e);const c=ZT(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=Ac({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[nA,J1]=Rn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function rA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=J1(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;aA(e);const{register:v,index:b,descendants:w}=eA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);iA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},I=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),P=f.useCallback(M=>{const A={ArrowDown:()=>{const $=w.nextEnabled(b);$==null||$.node.focus()},ArrowUp:()=>{const $=w.prevEnabled(b);$==null||$.node.focus()},Home:()=>{const $=w.firstEnabled();$==null||$.node.focus()},End:()=>{const $=w.lastEnabled();$==null||$.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(T={},A=null){return{...T,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(T.onClick,I),onFocus:et(T.onFocus,E),onKeyDown:et(T.onKeyDown,P)}},[h,t,y,I,E,P,m,v]),R=f.useCallback(function(T={},A=null){return{...T,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function oA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;ld({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function sA(e){ld({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function aA(e){ld({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. `})}function iA(e){ld({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Cu(e){const{isOpen:t,isDisabled:n}=Q1(),{reduceMotion:r}=J1(),o=kt("chakra-accordion__icon",e.className),s=om(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(Kr,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Cu.displayName="AccordionIcon";var ku=Te(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=rA(t),d={...om().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(QT,{value:p,children:i.jsx(Ie.div,{ref:n,...s,className:kt("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});ku.displayName="AccordionItem";var Gi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},uu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function Sv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return uu.slideRight;case"left":return uu.slideLeft;case"bottom":return uu.slideDown;case"top":return uu.slideUp;default:return uu.slideRight}}var Ki={enter:{duration:.2,ease:Gi.easeOut},exit:{duration:.1,ease:Gi.easeIn}},ks={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},lA=e=>e!=null&&parseInt(e.toString(),10)>0,Sw={exit:{height:{duration:.2,ease:Gi.ease},opacity:{duration:.3,ease:Gi.ease}},enter:{height:{duration:.3,ease:Gi.ease},opacity:{duration:.4,ease:Gi.ease}}},cA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:lA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Sw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:ks.enter(Sw.enter,o)}}},sm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),ld({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(Fo,{initial:!1,custom:y,children:S&&i.jsx(Xr.div,{ref:t,...m,className:kt("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:cA,initial:r?"exit":!1,animate:k,exit:"exit"})})});sm.displayName="Collapse";var uA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:ks.exit(Ki.exit,n),transitionEnd:t==null?void 0:t.exit}}},D3={initial:"exit",animate:"enter",exit:"exit",variants:uA},dA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(Fo,{custom:v,children:m&&i.jsx(Xr.div,{ref:n,className:kt("chakra-fade",s),custom:v,...D3,animate:h,...p})})});dA.displayName="Fade";var fA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:e==null?void 0:e.enter}}},T3={initial:"exit",animate:"enter",exit:"exit",variants:fA},pA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(Fo,{custom:w,children:v&&i.jsx(Xr.div,{ref:n,className:kt("chakra-offset-slide",c),...T3,animate:b,custom:w,...m})})});pA.displayName="ScaleFade";var hA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ki.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Ki.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:ks.exit(Ki.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Cv={initial:"initial",animate:"enter",exit:"exit",variants:hA},mA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(Fo,{custom:y,children:b&&i.jsx(Xr.div,{ref:n,className:kt("chakra-offset-slide",a),custom:y,...Cv,animate:w,...v})})});mA.displayName="SlideFade";var Cw={exit:{duration:.15,ease:Gi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},gA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=Sv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:ks.exit(Cw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=Sv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:ks.enter(Cw.enter,r),transitionEnd:t==null?void 0:t.enter}}},A3=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=Sv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(Fo,{custom:k,children:y&&i.jsx(Xr.div,{...v,ref:n,initial:"exit",className:kt("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:gA,style:w,...m})})});A3.displayName="Slide";var _u=Te(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=J1(),{getPanelProps:c,isOpen:d}=Q1(),p=c(s,n),h=kt("chakra-accordion__panel",r),m=om();a||delete p.hidden;const v=i.jsx(Ie.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(sm,{in:d,...o,children:v})});_u.displayName="AccordionPanel";var N3=Te(function({children:t,reduceMotion:n,...r},o){const s=Br("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=tA(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(JT,{value:d,children:i.jsx(nA,{value:h,children:i.jsx(XT,{value:s,children:i.jsx(Ie.div,{ref:o,...c,className:kt("chakra-accordion",r.className),__css:s.root,children:t})})})})});N3.displayName="Accordion";function gd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[vA,bA]=Rn({strict:!1,name:"ButtonGroupContext"}),yA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},xA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},nr=Te(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=kt("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?yA[h]:xA[h](c)};const y=h==="vertical";return i.jsx(vA,{value:b,children:i.jsx(Ie.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});nr.displayName="ButtonGroup";function wA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function kv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=kt("chakra-button__icon",n);return i.jsx(Ie.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}kv.displayName="ButtonIcon";function Lp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(dl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=kt("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(Ie.div,{className:d,...c,__css:h,children:o})}Lp.displayName="ButtonSpinner";var gc=Te((e,t)=>{const n=bA(),r=$a("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:I,type:P}=wA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(Ie.button,{ref:GT(t,I),as:S,type:v??P,"data-active":tn(a),"data-loading":tn(s),__css:_,className:kt("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Lp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(Ie.span,{opacity:0,children:i.jsx(kw,{...E})}):i.jsx(kw,{...E}),s&&w==="end"&&i.jsx(Lp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});gc.displayName="Button";function kw(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(kv,{marginEnd:o,children:t}),r,n&&i.jsx(kv,{marginStart:o,children:n})]})}var Sa=Te((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(gc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});Sa.displayName="IconButton";var[hde,SA]=Rn({name:"CheckboxGroupContext",strict:!1});function CA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function kA(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function _A(e){return i.jsx(Ie.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function PA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?_A:kA;return n||t?i.jsx(Ie.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[jA,$3]=Rn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[IA,vd]=Rn({strict:!1,name:"FormControlContext"});function EA(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,T=>{T&&y(!0)})}),[m]),I=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":tn(S),"data-disabled":tn(o),"data-invalid":tn(r),"data-readonly":tn(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),P=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,T=>{T&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:P,getRootProps:E,getLabelProps:I,getRequiredIndicatorProps:O}}var ho=Te(function(t,n){const r=Br("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=EA(o),d=kt("chakra-form-control",t.className);return i.jsx(IA,{value:c,children:i.jsx(jA,{value:r,children:i.jsx(Ie.div,{...s({},n),className:d,__css:r.container})})})});ho.displayName="FormControl";var OA=Te(function(t,n){const r=vd(),o=$3(),s=kt("chakra-form__helper-text",t.className);return i.jsx(Ie.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});OA.displayName="FormHelperText";var zo=Te(function(t,n){var r;const o=$a("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(z3,{}),optionalIndicator:p=null,...h}=s,m=vd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(Ie.label,{...v,className:kt("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});zo.displayName="FormLabel";var z3=Te(function(t,n){const r=vd(),o=$3();if(!(r!=null&&r.isRequired))return null;const s=kt("chakra-form__required-indicator",t.className);return i.jsx(Ie.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});z3.displayName="RequiredIndicator";function Z1(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=eb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":ns(n),"aria-required":ns(o),"aria-readonly":ns(r)}}function eb(e){var t,n,r;const o=vd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var tb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},L3=Ie("span",{baseStyle:tb});L3.displayName="VisuallyHidden";var RA=Ie("input",{baseStyle:tb});RA.displayName="VisuallyHiddenInput";var _w=!1,bd=null,nl=!1,_v=!1,Pv=new Set;function nb(e,t){Pv.forEach(n=>n(e,t))}var MA=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function DA(e){return!(e.metaKey||!MA&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Pw(e){nl=!0,DA(e)&&(bd="keyboard",nb("keyboard",e))}function Dl(e){if(bd="pointer",e.type==="mousedown"||e.type==="pointerdown"){nl=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;nb("pointer",e)}}function TA(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function AA(e){TA(e)&&(nl=!0,bd="virtual")}function NA(e){e.target===window||e.target===document||(!nl&&!_v&&(bd="virtual",nb("virtual",e)),nl=!1,_v=!1)}function $A(){nl=!1,_v=!0}function jw(){return bd!=="pointer"}function zA(){if(typeof window>"u"||_w)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){nl=!0,e.apply(this,n)},document.addEventListener("keydown",Pw,!0),document.addEventListener("keyup",Pw,!0),document.addEventListener("click",AA,!0),window.addEventListener("focus",NA,!0),window.addEventListener("blur",$A,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Dl,!0),document.addEventListener("pointermove",Dl,!0),document.addEventListener("pointerup",Dl,!0)):(document.addEventListener("mousedown",Dl,!0),document.addEventListener("mousemove",Dl,!0),document.addEventListener("mouseup",Dl,!0)),_w=!0}function B3(e){zA(),e(jw());const t=()=>e(jw());return Pv.add(t),()=>{Pv.delete(t)}}function LA(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function F3(e={}){const t=eb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":I,"aria-invalid":P,...E}=e,O=LA(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=rr(b),M=rr(c),T=rr(d),[A,$]=f.useState(!1),[Q,B]=f.useState(!1),[V,q]=f.useState(!1),[G,D]=f.useState(!1);f.useEffect(()=>B3($),[]);const L=f.useRef(null),[W,Y]=f.useState(!0),[ae,ye]=f.useState(!!h),ue=m!==void 0,X=ue?m:ae,K=f.useCallback(ie=>{if(r||n){ie.preventDefault();return}ue||ye(X?ie.target.checked:w?!0:ie.target.checked),R==null||R(ie)},[r,n,X,ue,w,R]);Zl(()=>{L.current&&(L.current.indeterminate=!!w)},[w]),Ba(()=>{n&&B(!1)},[n,B]),Zl(()=>{const ie=L.current;ie!=null&&ie.form&&(ie.form.onreset=()=>{ye(!!h)})},[]);const U=n&&!v,se=f.useCallback(ie=>{ie.key===" "&&D(!0)},[D]),re=f.useCallback(ie=>{ie.key===" "&&D(!1)},[D]);Zl(()=>{if(!L.current)return;L.current.checked!==X&&ye(L.current.checked)},[L.current]);const oe=f.useCallback((ie={},Se=null)=>{const Fe=Ae=>{Q&&Ae.preventDefault(),D(!0)};return{...ie,ref:Se,"data-active":tn(G),"data-hover":tn(V),"data-checked":tn(X),"data-focus":tn(Q),"data-focus-visible":tn(Q&&A),"data-indeterminate":tn(w),"data-disabled":tn(n),"data-invalid":tn(s),"data-readonly":tn(r),"aria-hidden":!0,onMouseDown:et(ie.onMouseDown,Fe),onMouseUp:et(ie.onMouseUp,()=>D(!1)),onMouseEnter:et(ie.onMouseEnter,()=>q(!0)),onMouseLeave:et(ie.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((ie={},Se=null)=>({...O,...ie,ref:cn(Se,Fe=>{Fe&&Y(Fe.tagName==="LABEL")}),onClick:et(ie.onClick,()=>{var Fe;W||((Fe=L.current)==null||Fe.click(),requestAnimationFrame(()=>{var Ae;(Ae=L.current)==null||Ae.focus({preventScroll:!0})}))}),"data-disabled":tn(n),"data-checked":tn(X),"data-invalid":tn(s)}),[O,n,X,s,W]),le=f.useCallback((ie={},Se=null)=>({...ie,ref:cn(L,Se),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(ie.onChange,K),onBlur:et(ie.onBlur,M,()=>B(!1)),onFocus:et(ie.onFocus,T,()=>B(!0)),onKeyDown:et(ie.onKeyDown,se),onKeyUp:et(ie.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":I,"aria-invalid":P?!!P:s,"aria-describedby":p,"aria-disabled":n,style:tb}),[y,S,a,K,M,T,se,re,o,X,U,r,_,I,P,s,p,n,k]),ge=f.useCallback((ie={},Se=null)=>({...ie,ref:Se,onMouseDown:et(ie.onMouseDown,BA),"data-disabled":tn(n),"data-checked":tn(X),"data-invalid":tn(s)}),[X,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:X,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:pe,getCheckboxProps:oe,getInputProps:le,getLabelProps:ge,htmlProps:O}}function BA(e){e.preventDefault(),e.stopPropagation()}var FA={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},HA={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},WA=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),VA=za({from:{opacity:0},to:{opacity:1}}),UA=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),H3=Te(function(t,n){const r=SA(),o={...r,...t},s=Br("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(PA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let I=y;r!=null&&r.onChange&&a.value&&(I=Jh(r.onChange,y));const{state:P,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=F3({...k,isDisabled:w,isChecked:_,onChange:I}),T=CA(P.isChecked),A=f.useMemo(()=>({animation:T?P.isIndeterminate?`${VA} 20ms linear, ${UA} 200ms linear`:`${WA} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,T,P.isIndeterminate,s.icon]),$=f.cloneElement(v,{__css:A,isIndeterminate:P.isIndeterminate,isChecked:P.isChecked});return i.jsxs(Ie.label,{__css:{...HA,...s.container},className:kt("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(Ie.span,{__css:{...FA,...s.control},className:"chakra-checkbox__control",...O(),children:$}),p&&i.jsx(Ie.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});H3.displayName="Checkbox";function GA(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function rb(e,t){let n=GA(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function jv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Bp(e,t,n){return(e-t)*100/(n-t)}function W3(e,t,n){return(n-t)*e+t}function Iv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=jv(n);return rb(r,o)}function rc(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=f0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=V3(ni(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),ni(A)))},[p,v,b]),k=f.useCallback(A=>{let $=A;return d&&($=rc($,a,c)),rb($,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let $;b===""?$=ni(A):$=ni(b)+A,$=k($),S($)},[k,s,S,b]),I=f.useCallback((A=s)=>{let $;b===""?$=ni(-A):$=ni(b)-A,$=k($),S($)},[k,s,S,b]),P=f.useCallback(()=>{var A;let $;r==null?$="":$=(A=f0(r,s,n))!=null?A:a,S($)},[r,n,s,S,a]),E=f.useCallback(A=>{var $;const Q=($=f0(A,s,y))!=null?$:a;S(Q)},[y,s,S,a]),O=ni(b);return{isOutOfRange:O>c||O" `}),[YA,G3]=Rn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),q3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},K3=Te(function(t,n){const{getInputProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__input",t.className);return i.jsx(Ie.input,{...s,__css:{outline:0,...q3,...o.input},className:a})});K3.displayName="EditableInput";var Y3=Te(function(t,n){const{getPreviewProps:r}=G3(),o=U3(),s=r(t,n),a=kt("chakra-editable__preview",t.className);return i.jsx(Ie.span,{...s,__css:{cursor:"text",display:"inline-block",...q3,...o.preview},className:a})});Y3.displayName="EditablePreview";function Yi(e,t,n,r){const o=rr(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function XA(e){return"current"in e}var X3=()=>typeof window<"u";function QA(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var JA=e=>X3()&&e.test(navigator.vendor),ZA=e=>X3()&&e.test(QA()),e9=()=>ZA(/mac|iphone|ipad|ipod/i),t9=()=>e9()&&JA(/apple/i);function Q3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!t9()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=XA(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Iw(e,t){return e?e===t||e.contains(t):!1}function n9(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=rr(b),k=!!(d&&!a),[_,I]=f.useState(k),[P,E]=Ac({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(P),M=f.useRef(null),T=f.useRef(null),A=f.useRef(null),$=f.useRef(null),Q=f.useRef(null);Q3({ref:M,enabled:_,elements:[$,Q]});const B=!_&&!a;Zl(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Ba(()=>{var oe,pe,le,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(le=M.current)==null||le.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{B&&I(!0)},[B]),q=f.useCallback(()=>{R(P)},[P]),G=f.useCallback(()=>{I(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),D=f.useCallback(()=>{I(!1),R(P),r==null||r(P),o==null||o(O)},[P,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const L=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),W=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:_e=>{!_e.shiftKey&&!_e.metaKey&&D()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,D]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=P.length===0,ye=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,_e=Iw($.current,ge),ie=Iw(Q.current,ge);!_e&&!ie&&(h?D():G())},[h,D,G,_]),ue=f.useCallback((oe={},pe=null)=>{const le=B&&p?0:void 0;return{...oe,ref:cn(pe,T),children:ae?v:P,hidden:_,"aria-disabled":ns(a),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[a,_,B,p,ae,V,q,v,P]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,L),onKeyDown:et(oe.onKeyDown,W),onFocus:et(oe.onFocus,q)}),[a,_,ye,L,W,q,v,P]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:P,onBlur:et(oe.onBlur,ye),onChange:et(oe.onChange,L),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,ye,L,Y,q,v,P]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,D),disabled:a}),[D,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn($,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ae,value:P,onEdit:V,onCancel:G,onSubmit:D,getPreviewProps:ue,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var J3=Te(function(t,n){const r=Br("Editable",t),o=qn(t),{htmlProps:s,...a}=n9(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=kt("chakra-editable",t.className),v=D1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(YA,{value:a,children:i.jsx(KA,{value:r,children:i.jsx(Ie.div,{ref:n,...s,className:m,children:v})})})});J3.displayName="Editable";var Z3={exports:{}},r9="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",o9=r9,s9=o9;function eP(){}function tP(){}tP.resetWarningCache=eP;var a9=function(){function e(r,o,s,a,c,d){if(d!==s9){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:tP,resetWarningCache:eP};return n.PropTypes=n,n};Z3.exports=a9();var i9=Z3.exports;const zn=cd(i9);var Ev="data-focus-lock",nP="data-focus-lock-disabled",l9="data-no-focus-lock",c9="data-autofocus-inside",u9="data-no-autofocus";function d9(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function f9(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function rP(e,t){return f9(t||null,function(n){return e.forEach(function(r){return d9(r,n)})})}var p0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Qs=function(){return Qs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Ov(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(P9)},j9=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],ib=j9.join(","),I9="".concat(ib,", [data-focus-guard]"),wP=function(e,t){return ia((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?I9:ib)?[r]:[],wP(r))},[])},E9=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?am([e.contentDocument.body],t):[e]},am=function(e,t){return e.reduce(function(n,r){var o,s=wP(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return E9(c,t)}));return n.concat(a,r.parentNode?ia(r.parentNode.querySelectorAll(ib)).filter(function(c){return c===r}):[])},[])},O9=function(e){var t=e.querySelectorAll("[".concat(c9,"]"));return ia(t).map(function(n){return am([n])}).reduce(function(n,r){return n.concat(r)},[])},lb=function(e,t){return ia(e).filter(function(n){return mP(t,n)}).filter(function(n){return C9(n)})},Ow=function(e,t){return t===void 0&&(t=new Map),ia(e).filter(function(n){return gP(t,n)})},Mv=function(e,t,n){return xP(lb(am(e,n),t),!0,n)},Rw=function(e,t){return xP(lb(am(e),t),!1)},R9=function(e,t){return lb(O9(e),t)},oc=function(e,t){return e.shadowRoot?oc(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:ia(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?oc(o,t):!1}return oc(n,t)})},M9=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},SP=function(e){return e.parentNode?SP(e.parentNode):e},cb=function(e){var t=Fp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Ev);return n.push.apply(n,o?M9(ia(SP(r).querySelectorAll("[".concat(Ev,'="').concat(o,'"]:not([').concat(nP,'="disabled"])')))):[r]),n},[])},D9=function(e){try{return e()}catch{return}},Gu=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Gu(t.shadowRoot):t instanceof HTMLIFrameElement&&D9(function(){return t.contentWindow.document})?Gu(t.contentWindow.document):t}},T9=function(e,t){return e===t},A9=function(e,t){return!!ia(e.querySelectorAll("iframe")).some(function(n){return T9(n,t)})},CP=function(e,t){return t===void 0&&(t=Gu(fP(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:cb(e).some(function(n){return oc(n,t)||A9(n,t)})},N9=function(e){e===void 0&&(e=document);var t=Gu(e);return t?ia(e.querySelectorAll("[".concat(l9,"]"))).some(function(n){return oc(n,t)}):!1},$9=function(e,t){return t.filter(yP).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},ub=function(e,t){return yP(e)&&e.name?$9(e,t):e},z9=function(e){var t=new Set;return e.forEach(function(n){return t.add(ub(n,e))}),e.filter(function(n){return t.has(n)})},Mw=function(e){return e[0]&&e.length>1?ub(e[0],e):e[0]},Dw=function(e,t){return e.length>1?e.indexOf(ub(e[t],e)):t},kP="NEW_FOCUS",L9=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=ab(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=z9(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Dw(e,0),_=Dw(e,o-1);if(d===-1||h===-1)return kP;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},B9=function(e){return function(t){var n,r=(n=vP(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},F9=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ow(r.filter(B9(n)));return o&&o.length?Mw(o):Mw(Ow(t))},Dv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Dv(e.parentNode.host||e.parentNode,t),t},h0=function(e,t){for(var n=Dv(e),r=Dv(t),o=0;o=0)return s}return!1},_P=function(e,t,n){var r=Fp(e),o=Fp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=h0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=h0(s,d);p&&(!a||oc(p,a)?a=p:a=h0(p,a))})}),a},H9=function(e,t){return e.reduce(function(n,r){return n.concat(R9(r,t))},[])},W9=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(_9)},V9=function(e,t){var n=Gu(Fp(e).length>0?document:fP(e).ownerDocument),r=cb(e).filter(Hp),o=_P(n||e,e,r),s=new Map,a=Rw(r,s),c=Mv(r,s).filter(function(b){var w=b.node;return Hp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Rw([o],s).map(function(b){var w=b.node;return w}),p=W9(d,c),h=p.map(function(b){var w=b.node;return w}),m=L9(h,d,n,t);if(m===kP){var v=F9(a,h,H9(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},U9=function(e){var t=cb(e).filter(Hp),n=_P(e,e,t),r=new Map,o=Mv([n],r,!0),s=Mv(t,r).filter(function(a){var c=a.node;return Hp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:ab(c)}})},G9=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},m0=0,g0=!1,PP=function(e,t,n){n===void 0&&(n={});var r=V9(e,t);if(!g0&&r){if(m0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),g0=!0,setTimeout(function(){g0=!1},1);return}m0++,G9(r.node,n.focusOptions),m0--}};function db(e){setTimeout(e,1)}var q9=function(){return document&&document.activeElement===document.body},K9=function(){return q9()||N9()},sc=null,Kl=null,ac=null,qu=!1,Y9=function(){return!0},X9=function(t){return(sc.whiteList||Y9)(t)},Q9=function(t,n){ac={observerNode:t,portaledElement:n}},J9=function(t){return ac&&ac.portaledElement===t};function Tw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var Z9=function(t){return t&&"current"in t?t.current:t},eN=function(t){return t?!!qu:qu==="meanwhile"},tN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},nN=function(t,n){return n.some(function(r){return tN(t,r,r)})},Wp=function(){var t=!1;if(sc){var n=sc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||ac&&ac.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(Z9).filter(Boolean));if((!h||X9(h))&&(o||eN(c)||!K9()||!Kl&&s)&&(p&&!(CP(m)||h&&nN(h,m)||J9(h))&&(document&&!Kl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=PP(m,Kl,{focusOptions:d}),ac={})),qu=!1,Kl=document&&document.activeElement),document){var v=document&&document.activeElement,b=U9(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),Tw(w,b.length,1,b),Tw(w,-1,-1,b))}}}return t},jP=function(t){Wp()&&t&&(t.stopPropagation(),t.preventDefault())},fb=function(){return db(Wp)},rN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||Q9(r,n)},oN=function(){return null},IP=function(){qu="just",db(function(){qu="meanwhile"})},sN=function(){document.addEventListener("focusin",jP),document.addEventListener("focusout",fb),window.addEventListener("blur",IP)},aN=function(){document.removeEventListener("focusin",jP),document.removeEventListener("focusout",fb),window.removeEventListener("blur",IP)};function iN(e){return e.filter(function(t){var n=t.disabled;return!n})}function lN(e){var t=e.slice(-1)[0];t&&!sc&&sN();var n=sc,r=n&&t&&t.id===n.id;sc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Kl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Wp(),db(Wp)):(aN(),Kl=null)}cP.assignSyncMedium(rN);uP.assignMedium(fb);h9.assignMedium(function(e){return e({moveFocusInside:PP,focusInside:CP})});const cN=b9(iN,lN)(oN);var EP=f.forwardRef(function(t,n){return f.createElement(dP,or({sideCar:cN,ref:n},t))}),OP=dP.propTypes||{};OP.sideCar;LD(OP,["sideCar"]);EP.propTypes={};const Aw=EP;function RP(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function pb(e){var t;if(!RP(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function uN(e){var t,n;return(n=(t=MP(e))==null?void 0:t.defaultView)!=null?n:window}function MP(e){return RP(e)?e.ownerDocument:document}function dN(e){return MP(e).activeElement}function fN(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function pN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function DP(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:pb(e)&&fN(e)?e:DP(pN(e))}var TP=e=>e.hasAttribute("tabindex"),hN=e=>TP(e)&&e.tabIndex===-1;function mN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function AP(e){return e.parentElement&&AP(e.parentElement)?!0:e.hidden}function gN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function NP(e){if(!pb(e)||AP(e)||mN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():gN(e)?!0:TP(e)}function vN(e){return e?pb(e)&&NP(e)&&!hN(e):!1}var bN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],yN=bN.join(),xN=e=>e.offsetWidth>0&&e.offsetHeight>0;function $P(e){const t=Array.from(e.querySelectorAll(yN));return t.unshift(e),t.filter(n=>NP(n)&&xN(n))}var Nw,wN=(Nw=Aw.default)!=null?Nw:Aw,zP=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&$P(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(wN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};zP.displayName="FocusLock";function SN(e,t,n,r){const o=C_(t);return f.useEffect(()=>{var s;const a=(s=j2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=j2(n))!=null?s:document).removeEventListener(e,o,r)}}function CN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=C_(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{v0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&v0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&v0(m,t)&&(a.isPointerDown=!1,o(m))},h=k_(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function v0(e,t){var n;const r=e.target;return r&&!k_(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[kN,_N]=Rn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),LP=Te(function(t,n){const r=Br("Input",t),{children:o,className:s,...a}=qn(t),c=kt("chakra-input__group",s),d={},p=gd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=Y1({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(Ie.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate"},"data-group":!0,...a,children:i.jsx(kN,{value:r,children:m})})});LP.displayName="InputGroup";var PN=Ie("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),im=Te(function(t,n){var r,o;const{placement:s="left",...a}=t,c=_N(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(PN,{ref:n,__css:h,...a})});im.id="InputElement";im.displayName="InputElement";var BP=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__left-element",r);return i.jsx(im,{ref:n,placement:"left",className:s,...o})});BP.id="InputLeftElement";BP.displayName="InputLeftElement";var hb=Te(function(t,n){const{className:r,...o}=t,s=kt("chakra-input__right-element",r);return i.jsx(im,{ref:n,placement:"right",className:s,...o})});hb.id="InputRightElement";hb.displayName="InputRightElement";var yd=Te(function(t,n){const{htmlSize:r,...o}=t,s=Br("Input",o),a=qn(o),c=Z1(a),d=kt("chakra-input",t.className);return i.jsx(Ie.input,{size:r,...c,__css:s.field,ref:n,className:d})});yd.displayName="Input";yd.id="Input";var mb=Te(function(t,n){const r=$a("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(Ie.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:kt("chakra-link",o),...a,__css:r})});mb.displayName="Link";var[jN,FP]=Rn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),gb=Te(function(t,n){const r=Br("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=gd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(jN,{value:r,children:i.jsx(Ie.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});gb.displayName="List";var IN=Te((e,t)=>{const{as:n,...r}=e;return i.jsx(gb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});IN.displayName="OrderedList";var vb=Te(function(t,n){const{as:r,...o}=t;return i.jsx(gb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});vb.displayName="UnorderedList";var xa=Te(function(t,n){const r=FP();return i.jsx(Ie.li,{ref:n,...t,__css:r.item})});xa.displayName="ListItem";var EN=Te(function(t,n){const r=FP();return i.jsx(Kr,{ref:n,role:"presentation",...t,__css:r.icon})});EN.displayName="ListIcon";var rl=Te(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(Ie.div,{ref:n,__css:y,...w})});rl.displayName="Grid";function HP(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):pv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var fl=Ie("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});fl.displayName="Spacer";var tt=Te(function(t,n){const r=$a("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=Y1({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(Ie.p,{ref:n,className:kt("chakra-text",t.className),...p,...d,__css:r})});tt.displayName="Text";var WP=e=>i.jsx(Ie.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});WP.displayName="StackItem";function ON(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":HP(n,o=>r[o])}}var bb=Te((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>ON({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const I=gd(d);return S?I:I.map((P,E)=>{const O=typeof P.key<"u"?P.key:E,R=E+1===I.length,T=m?i.jsx(WP,{children:P},O):P;if(!y)return T;const A=f.cloneElement(p,{__css:w}),$=R?null:A;return i.jsxs(f.Fragment,{children:[T,$]},O)})},[p,w,y,S,m,d]),_=kt("chakra-stack",h);return i.jsx(Ie.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});bb.displayName="Stack";var VP=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"column",ref:t}));VP.displayName="VStack";var di=Te((e,t)=>i.jsx(bb,{align:"center",...e,direction:"row",ref:t}));di.displayName="HStack";function $w(e){return HP(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Tv=Te(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=Y1({gridArea:r,gridColumn:$w(o),gridRow:$w(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(Ie.div,{ref:n,__css:m,...h})});Tv.displayName="GridItem";var pl=Te(function(t,n){const r=$a("Badge",t),{className:o,...s}=qn(t);return i.jsx(Ie.span,{ref:n,className:kt("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});pl.displayName="Badge";var hl=Te(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=$a("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(Ie.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:kt("chakra-divider",m)})});hl.displayName="Divider";function RN(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function MN(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(RN(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function DN(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function TN(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function b0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function UP(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),I=TN(),P=D=>{D&&D.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(D=>{if(n){D.stopPropagation(),D.preventDefault();return}D.currentTarget.focus(),d==null||d(D)},[n,d]),M=f.useCallback(D=>{k&&b0(D)&&(D.preventDefault(),D.stopPropagation(),_(!1),I.remove(document,"keyup",M,!1))},[k,I]),T=f.useCallback(D=>{if(p==null||p(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;const L=o&&D.key==="Enter";s&&D.key===" "&&(D.preventDefault(),_(!0)),L&&(D.preventDefault(),D.currentTarget.click()),I.add(document,"keyup",M,!1)},[n,y,p,o,s,I,M]),A=f.useCallback(D=>{if(h==null||h(D),n||D.defaultPrevented||D.metaKey||!b0(D.nativeEvent)||y)return;s&&D.key===" "&&(D.preventDefault(),_(!1),D.currentTarget.click())},[s,y,n,h]),$=f.useCallback(D=>{D.button===0&&(_(!1),I.remove(document,"mouseup",$,!1))},[I]),Q=f.useCallback(D=>{if(D.button!==0)return;if(n){D.stopPropagation(),D.preventDefault();return}y||_(!0),D.currentTarget.focus({preventScroll:!0}),I.add(document,"mouseup",$,!1),a==null||a(D)},[n,y,a,I,$]),B=f.useCallback(D=>{D.button===0&&(y||_(!1),c==null||c(D))},[c,y]),V=f.useCallback(D=>{if(n){D.preventDefault();return}v==null||v(D)},[n,v]),q=f.useCallback(D=>{k&&(D.preventDefault(),_(!1)),b==null||b(D)},[k,b]),G=cn(t,P);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":tn(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:B,onKeyUp:A,onKeyDown:T,onMouseOver:V,onMouseLeave:q}}function AN(e){const t=e.current;if(!t)return!1;const n=dN(t);return!n||t.contains(n)?!1:!!vN(n)}function GP(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Ba(()=>{if(!s||AN(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var NN={preventScroll:!0,shouldFocus:!1};function $N(e,t=NN){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=zN(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);Zl(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=$P(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Ba(()=>{h()},[h]),Yi(a,"transitionend",h)}function zN(e){return"current"in e}var Tl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Pr={arrowShadowColor:Tl("--popper-arrow-shadow-color"),arrowSize:Tl("--popper-arrow-size","8px"),arrowSizeHalf:Tl("--popper-arrow-size-half"),arrowBg:Tl("--popper-arrow-bg"),transformOrigin:Tl("--popper-transform-origin"),arrowOffset:Tl("--popper-arrow-offset")};function LN(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var BN={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},FN=e=>BN[e],zw={scroll:!0,resize:!0};function HN(e){let t;return typeof e=="object"?t={enabled:!0,options:{...zw,...e}}:t={enabled:e,options:zw},t}var WN={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},VN={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Lw(e)},effect:({state:e})=>()=>{Lw(e)}},Lw=e=>{e.elements.popper.style.setProperty(Pr.transformOrigin.var,FN(e.placement))},UN={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{GN(e)}},GN=e=>{var t;if(!e.placement)return;const n=qN(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Pr.arrowSize.varRef,height:Pr.arrowSize.varRef,zIndex:-1});const r={[Pr.arrowSizeHalf.var]:`calc(${Pr.arrowSize.varRef} / 2 - 1px)`,[Pr.arrowOffset.var]:`calc(${Pr.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},qN=e=>{if(e.startsWith("top"))return{property:"bottom",value:Pr.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Pr.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Pr.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Pr.arrowOffset.varRef}},KN={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Bw(e)},effect:({state:e})=>()=>{Bw(e)}},Bw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=LN(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Pr.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},YN={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},XN={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function QN(e,t="ltr"){var n,r;const o=((n=YN[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=XN[e])!=null?r:o}var Co="top",as="bottom",is="right",ko="left",yb="auto",xd=[Co,as,is,ko],vc="start",Ku="end",JN="clippingParents",qP="viewport",du="popper",ZN="reference",Fw=xd.reduce(function(e,t){return e.concat([t+"-"+vc,t+"-"+Ku])},[]),KP=[].concat(xd,[yb]).reduce(function(e,t){return e.concat([t,t+"-"+vc,t+"-"+Ku])},[]),e$="beforeRead",t$="read",n$="afterRead",r$="beforeMain",o$="main",s$="afterMain",a$="beforeWrite",i$="write",l$="afterWrite",c$=[e$,t$,n$,r$,o$,s$,a$,i$,l$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Lo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ol(e){var t=Lo(e).Element;return e instanceof t||e instanceof Element}function rs(e){var t=Lo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function xb(e){if(typeof ShadowRoot>"u")return!1;var t=Lo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function u$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!rs(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function d$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!rs(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const f$={name:"applyStyles",enabled:!0,phase:"write",fn:u$,effect:d$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Xi=Math.max,Vp=Math.min,bc=Math.round;function Av(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function YP(){return!/^((?!chrome|android).)*safari/i.test(Av())}function yc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&rs(e)&&(o=e.offsetWidth>0&&bc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&bc(r.height)/e.offsetHeight||1);var a=ol(e)?Lo(e):window,c=a.visualViewport,d=!YP()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function wb(e){var t=yc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function XP(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&xb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ea(e){return Lo(e).getComputedStyle(e)}function p$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((ol(e)?e.ownerDocument:e.document)||window.document).documentElement}function lm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(xb(e)?e.host:null)||Pi(e)}function Hw(e){return!rs(e)||Ea(e).position==="fixed"?null:e.offsetParent}function h$(e){var t=/firefox/i.test(Av()),n=/Trident/i.test(Av());if(n&&rs(e)){var r=Ea(e);if(r.position==="fixed")return null}var o=lm(e);for(xb(o)&&(o=o.host);rs(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ea(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function wd(e){for(var t=Lo(e),n=Hw(e);n&&p$(n)&&Ea(n).position==="static";)n=Hw(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ea(n).position==="static")?t:n||h$(e)||t}function Sb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Tu(e,t,n){return Xi(e,Vp(t,n))}function m$(e,t,n){var r=Tu(e,t,n);return r>n?n:r}function QP(){return{top:0,right:0,bottom:0,left:0}}function JP(e){return Object.assign({},QP(),e)}function ZP(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var g$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,JP(typeof t!="number"?t:ZP(t,xd))};function v$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=Sb(c),p=[ko,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=g$(o.padding,n),v=wb(s),b=d==="y"?Co:ko,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=wd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,I=y/2-S/2,P=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+I,R=Tu(P,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function b$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||XP(t.elements.popper,o)&&(t.elements.arrow=o))}const y$={name:"arrow",enabled:!0,phase:"main",fn:v$,effect:b$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xc(e){return e.split("-")[1]}var x$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function w$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:bc(n*o)/o||0,y:bc(r*o)/o||0}}function Ww(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),I=ko,P=Co,E=window;if(p){var O=wd(n),R="clientHeight",M="clientWidth";if(O===Lo(n)&&(O=Pi(n),Ea(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===Co||(o===ko||o===is)&&s===Ku){P=as;var T=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=T-r.height,y*=d?1:-1}if(o===ko||(o===Co||o===as)&&s===Ku){I=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var $=Object.assign({position:c},p&&x$),Q=h===!0?w$({x:b,y},Lo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var B;return Object.assign({},$,(B={},B[P]=_?"0":"",B[I]=k?"0":"",B.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",B))}return Object.assign({},$,(t={},t[P]=_?y+"px":"",t[I]=k?b+"px":"",t.transform="",t))}function S$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:xc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ww(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ww(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const C$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:S$,data:{}};var Mf={passive:!0};function k$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Lo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Mf)}),c&&d.addEventListener("resize",n.update,Mf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Mf)}),c&&d.removeEventListener("resize",n.update,Mf)}}const _$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:k$,data:{}};var P$={left:"right",right:"left",bottom:"top",top:"bottom"};function yp(e){return e.replace(/left|right|bottom|top/g,function(t){return P$[t]})}var j$={start:"end",end:"start"};function Vw(e){return e.replace(/start|end/g,function(t){return j$[t]})}function Cb(e){var t=Lo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function kb(e){return yc(Pi(e)).left+Cb(e).scrollLeft}function I$(e,t){var n=Lo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=YP();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+kb(e),y:d}}function E$(e){var t,n=Pi(e),r=Cb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Xi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Xi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+kb(e),d=-r.scrollTop;return Ea(o||n).direction==="rtl"&&(c+=Xi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function _b(e){var t=Ea(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function e5(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:rs(e)&&_b(e)?e:e5(lm(e))}function Au(e,t){var n;t===void 0&&(t=[]);var r=e5(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Lo(r),a=o?[s].concat(s.visualViewport||[],_b(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Au(lm(a)))}function Nv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function O$(e,t){var n=yc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Uw(e,t,n){return t===qP?Nv(I$(e,n)):ol(t)?O$(t,n):Nv(E$(Pi(e)))}function R$(e){var t=Au(lm(e)),n=["absolute","fixed"].indexOf(Ea(e).position)>=0,r=n&&rs(e)?wd(e):e;return ol(r)?t.filter(function(o){return ol(o)&&XP(o,r)&&ra(o)!=="body"}):[]}function M$(e,t,n,r){var o=t==="clippingParents"?R$(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=Uw(e,p,r);return d.top=Xi(h.top,d.top),d.right=Vp(h.right,d.right),d.bottom=Vp(h.bottom,d.bottom),d.left=Xi(h.left,d.left),d},Uw(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function t5(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?xc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case Co:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case ko:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?Sb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case vc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case Ku:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function Yu(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?JN:c,p=n.rootBoundary,h=p===void 0?qP:p,m=n.elementContext,v=m===void 0?du:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=JP(typeof S!="number"?S:ZP(S,xd)),_=v===du?ZN:du,I=e.rects.popper,P=e.elements[w?_:v],E=M$(ol(P)?P:P.contextElement||Pi(e.elements.popper),d,h,a),O=yc(e.elements.reference),R=t5({reference:O,element:I,strategy:"absolute",placement:o}),M=Nv(Object.assign({},I,R)),T=v===du?M:O,A={top:E.top-T.top+k.top,bottom:T.bottom-E.bottom+k.bottom,left:E.left-T.left+k.left,right:T.right-E.right+k.right},$=e.modifiersData.offset;if(v===du&&$){var Q=$[o];Object.keys(A).forEach(function(B){var V=[is,as].indexOf(B)>=0?1:-1,q=[Co,as].indexOf(B)>=0?"y":"x";A[B]+=Q[q]*V})}return A}function D$(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?KP:d,h=xc(r),m=h?c?Fw:Fw.filter(function(w){return xc(w)===h}):xd,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=Yu(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function T$(e){if(ta(e)===yb)return[];var t=yp(e);return[Vw(e),t,Vw(t)]}function A$(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,I=d||(_||!w?[yp(S)]:T$(S)),P=[S].concat(I).reduce(function(X,K){return X.concat(ta(K)===yb?D$(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,T=P[0],A=0;A=0,q=V?"width":"height",G=Yu(t,{placement:$,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),D=V?B?is:ko:B?as:Co;E[q]>O[q]&&(D=yp(D));var L=yp(D),W=[];if(s&&W.push(G[Q]<=0),c&&W.push(G[D]<=0,G[L]<=0),W.every(function(X){return X})){T=$,M=!1;break}R.set($,W)}if(M)for(var Y=w?3:1,ae=function(K){var U=P.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return T=U,"break"},ye=Y;ye>0;ye--){var ue=ae(ye);if(ue==="break")break}t.placement!==T&&(t.modifiersData[r]._skip=!0,t.placement=T,t.reset=!0)}}const N$={name:"flip",enabled:!0,phase:"main",fn:A$,requiresIfExists:["offset"],data:{_skip:!1}};function Gw(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function qw(e){return[Co,is,as,ko].some(function(t){return e[t]>=0})}function $$(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=Yu(t,{elementContext:"reference"}),c=Yu(t,{altBoundary:!0}),d=Gw(a,r),p=Gw(c,o,s),h=qw(d),m=qw(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const z$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:$$};function L$(e,t,n){var r=ta(e),o=[ko,Co].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[ko,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function B$(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=KP.reduce(function(h,m){return h[m]=L$(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const F$={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:B$};function H$(e){var t=e.state,n=e.name;t.modifiersData[n]=t5({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const W$={name:"popperOffsets",enabled:!0,phase:"read",fn:H$,data:{}};function V$(e){return e==="x"?"y":"x"}function U$(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=Yu(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=xc(t.placement),I=!_,P=Sb(k),E=V$(P),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,T=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),$=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var B,V=P==="y"?Co:ko,q=P==="y"?as:is,G=P==="y"?"height":"width",D=O[P],L=D+S[V],W=D-S[q],Y=b?-M[G]/2:0,ae=_===vc?R[G]:M[G],ye=_===vc?-M[G]:-R[G],ue=t.elements.arrow,X=b&&ue?wb(ue):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:QP(),U=K[V],se=K[q],re=Tu(0,R[G],X[G]),oe=I?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=I?-R[G]/2+Y+re+se+A.mainAxis:ye+re+se+A.mainAxis,le=t.elements.arrow&&wd(t.elements.arrow),ge=le?P==="y"?le.clientTop||0:le.clientLeft||0:0,_e=(B=$==null?void 0:$[P])!=null?B:0,ie=D+oe-_e-ge,Se=D+pe-_e,Fe=Tu(b?Vp(L,ie):L,D,b?Xi(W,Se):W);O[P]=Fe,Q[P]=Fe-D}if(c){var Ae,He=P==="x"?Co:ko,Ct=P==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[He],bt=ct-S[Ct],we=[Co,ko].indexOf(k)!==-1,Re=(Ae=$==null?void 0:$[E])!=null?Ae:0,Pt=we?vt:ct-R[on]-M[on]-Re+A.altAxis,At=we?ct+R[on]+M[on]-Re-A.altAxis:bt,xe=b&&we?m$(Pt,ct,At):Tu(b?Pt:vt,ct,b?At:bt);O[E]=xe,Q[E]=xe-ct}t.modifiersData[r]=Q}}const G$={name:"preventOverflow",enabled:!0,phase:"main",fn:U$,requiresIfExists:["offset"]};function q$(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function K$(e){return e===Lo(e)||!rs(e)?Cb(e):q$(e)}function Y$(e){var t=e.getBoundingClientRect(),n=bc(t.width)/e.offsetWidth||1,r=bc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function X$(e,t,n){n===void 0&&(n=!1);var r=rs(t),o=rs(t)&&Y$(t),s=Pi(t),a=yc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||_b(s))&&(c=K$(t)),rs(t)?(d=yc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=kb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function Q$(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function J$(e){var t=Q$(e);return c$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function Z$(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function ez(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Kw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),n=0;n{}),I=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=rz(w.current,y.current,{placement:k,modifiers:[KN,UN,VN,{...WN,enabled:!!v},{name:"eventListeners",...HN(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const P=f.useCallback(A=>{w.current=A,I()},[I]),E=f.useCallback((A={},$=null)=>({...A,ref:cn(P,$)}),[P]),O=f.useCallback(A=>{y.current=A,I()},[I]),R=f.useCallback((A={},$=null)=>({...A,ref:cn(O,$),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},$=null)=>{const{size:Q,shadowColor:B,bg:V,style:q,...G}=A;return{...G,ref:$,"data-popper-arrow":"",style:oz(A)}},[]),T=f.useCallback((A={},$=null)=>({...A,ref:$,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Pr.transformOrigin.varRef,referenceRef:P,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:T,getReferenceProps:E}}function oz(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function jb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=rr(n),a=rr(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(I){var P;(P=_.onClick)==null||P.call(_,I),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function sz(e){const{ref:t,handler:n,enabled:r=!0}=e,o=rr(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{y0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&y0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&y0(m,t)&&(a.isPointerDown=!1,o(m))},h=n5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function y0(e,t){var n;const r=e.target;return r&&!n5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function n5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function r5(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=uN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ib(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[az,iz,lz,cz]=X1(),[uz,Sd]=Rn({strict:!1,name:"MenuContext"});function dz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function o5(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function Xw(e){return o5(e).activeElement===e}function fz(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=lz(),I=f.useCallback(()=>{requestAnimationFrame(()=>{var ue;(ue=S.current)==null||ue.focus({preventScroll:!1})})},[]),P=f.useCallback(()=>{const ue=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&B(K.index)}});L.current.add(ue)},[_,o]),E=f.useCallback(()=>{const ue=setTimeout(()=>{const X=_.lastEnabled();X&&B(X.index)});L.current.add(ue)},[_]),O=f.useCallback(()=>{h==null||h(),s?P():I()},[s,P,I,h]),{isOpen:R,onOpen:M,onClose:T,onToggle:A}=jb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});sz({enabled:R&&r,ref:S,handler:ue=>{var X;(X=k.current)!=null&&X.contains(ue.target)||T()}});const $=Pb({...y,enabled:R||w,placement:m,direction:b}),[Q,B]=f.useState(-1);Ba(()=>{R||B(-1)},[R]),GP(S,{focusRef:k,visible:R,shouldFocus:!0});const V=r5({isOpen:R,ref:S}),[q,G]=dz(t,"menu-button","menu-list"),D=f.useCallback(()=>{M(),I()},[M,I]),L=f.useRef(new Set([]));xz(()=>{L.current.forEach(ue=>clearTimeout(ue)),L.current.clear()});const W=f.useCallback(()=>{M(),P()},[P,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ue,X;const K=o5(S.current),U=(ue=S.current)==null?void 0:ue.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),ye=f.useRef(null);return{openAndFocusMenu:D,openAndFocusFirstItem:W,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:$,buttonId:q,menuId:G,forceUpdate:$.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:T,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:B,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:ye}}function pz(e={},t=null){const n=Sd(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":tn(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function $v(e){var t;return bz(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function hz(e={},t=null){const n=Sd();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=iz(),b=MN({preventDefault:k=>k.key!==" "&&$v(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,P={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(P){k.preventDefault(),P(k);return}const E=b(O=>{const R=DN(v.values(),O,M=>{var T,A;return(A=(T=M==null?void 0:M.node)==null?void 0:T.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});$v(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ib({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function mz(e={}){const{popper:t,isOpen:n}=Sd();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function s5(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Sd(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:I,rafId:P}=v,E=f.useRef(null),O=`${I}-menuitem-${f.useId()}`,{index:R,register:M}=cz({disabled:c&&!d}),T=f.useCallback(D=>{n==null||n(D),!c&&b(R)},[b,R,c,n]),A=f.useCallback(D=>{r==null||r(D),E.current&&!Xw(E.current)&&T(D)},[T,r]),$=f.useCallback(D=>{o==null||o(D),!c&&b(-1)},[b,c,o]),Q=f.useCallback(D=>{s==null||s(D),$v(D.currentTarget)&&(p??y)&&S()},[S,s,y,p]),B=f.useCallback(D=>{a==null||a(D),b(R)},[b,a,R]),V=R===w,q=c&&!d;Ba(()=>{_&&(V&&!q&&E.current?(P.current&&cancelAnimationFrame(P.current),P.current=requestAnimationFrame(()=>{var D;(D=E.current)==null||D.focus(),P.current=null})):k.current&&!Xw(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=UP({onClick:Q,onFocus:B,onMouseEnter:T,onMouseMove:A,onMouseLeave:$,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function gz(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...s5(o,t),role:`menuitem${n}`,"aria-checked":r}}function vz(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=Ac({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=gd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,I;m(w.props.value),(I=(_=w.props).onClick)==null||I.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function bz(e){var t;if(!yz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function yz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function xz(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[wz,Cd]=Rn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),kd=e=>{const{children:t}=e,n=Br("Menu",e),r=qn(e),{direction:o}=Mc(),{descendants:s,...a}=fz({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(az,{value:s,children:i.jsx(uz,{value:c,children:i.jsx(wz,{value:n,children:D1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};kd.displayName="Menu";var a5=Te((e,t)=>{const n=Cd();return i.jsx(Ie.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});a5.displayName="MenuCommand";var i5=Te((e,t)=>{const{type:n,...r}=e,o=Cd(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(Ie.button,{ref:t,type:s,...r,__css:a})}),Eb=e=>{const{className:t,children:n,...r}=e,o=f.Children.only(n),s=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:kt("chakra-menu__icon",o.props.className)}):null,a=kt("chakra-menu__icon-wrapper",t);return i.jsx(Ie.span,{className:a,...r,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s})};Eb.displayName="MenuIcon";var _r=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=s5(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(i5,{...d,className:kt("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(a5,{marginStart:s,children:o})]})});_r.displayName="MenuItem";var Sz={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},Cz=Ie(Xr.div),zc=Te(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Sd(),m=hz(c,n),v=mz(s),b=Cd();return i.jsx(Ie.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(Cz,{variants:Sz,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:kt("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:Jh(h.onComplete,m.onAnimationComplete)})})});zc.displayName="MenuList";var Xu=Te((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=kt("chakra-menu__group__title",o),c=Cd();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(Ie.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});Xu.displayName="MenuGroup";var l5=e=>{const{className:t,title:n,...r}=e,o=vz(r);return i.jsx(Xu,{title:n,className:kt("chakra-menu__option-group",t),...o})};l5.displayName="MenuOptionGroup";var kz=Te((e,t)=>{const n=Cd();return i.jsx(Ie.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),_d=Te((e,t)=>{const{children:n,as:r,...o}=e,s=pz(o,t),a=r||kz;return i.jsx(a,{...s,className:kt("chakra-menu__menu-button",e.className),children:i.jsx(Ie.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});_d.displayName="MenuButton";var _z=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),Up=Te((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=gz(o,t);return i.jsxs(i5,{...s,className:kt("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Eb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(_z,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});Up.id="MenuItemOption";Up.displayName="MenuItemOption";var Pz={slideInBottom:{...Cv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Cv,custom:{offsetX:16,reverse:!0}},scale:{...T3,custom:{initialScale:.95,reverse:!0}},none:{}},jz=Ie(Xr.section),Iz=e=>Pz[e||"none"],c5=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=Iz(n),...o}=e;return i.jsx(jz,{ref:t,...r,...o})});c5.displayName="ModalTransition";var Ez=Object.defineProperty,Oz=(e,t,n)=>t in e?Ez(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rz=(e,t,n)=>(Oz(e,typeof t!="symbol"?t+"":t,n),n),Mz=class{constructor(){Rz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},zv=new Mz;function u5(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=zv.add(o);r(s)}return()=>{zv.remove(o),r(0)}}},[t,e]),n}var Dz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Al=new WeakMap,Df=new WeakMap,Tf={},x0=0,d5=function(e){return e&&(e.host||d5(e.parentNode))},Tz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=d5(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Az=function(e,t,n,r){var o=Tz(t,Array.isArray(e)?e:[e]);Tf[n]||(Tf[n]=new WeakMap);var s=Tf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Al.get(v)||0)+1,S=(s.get(v)||0)+1;Al.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Df.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),x0++,function(){a.forEach(function(m){var v=Al.get(m)-1,b=s.get(m)-1;Al.set(m,v),s.set(m,b),v||(Df.has(m)||m.removeAttribute(r),Df.delete(m)),b||m.removeAttribute(n)}),x0--,x0||(Al=new WeakMap,Al=new WeakMap,Df=new WeakMap,Tf={})}},Nz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||Dz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Az(r,o,n,"aria-hidden")):function(){return null}};function $z(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=Lz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");zz(p,t&&a);const w=u5(p,t),y=f.useRef(null),S=f.useCallback(T=>{y.current=T.target},[]),k=f.useCallback(T=>{T.key==="Escape"&&(T.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,I]=f.useState(!1),[P,E]=f.useState(!1),O=f.useCallback((T={},A=null)=>({role:"dialog",...T,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":P?b:void 0,onClick:et(T.onClick,$=>$.stopPropagation())}),[b,P,m,v,_]),R=f.useCallback(T=>{T.stopPropagation(),y.current===T.target&&zv.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((T={},A=null)=>({...T,ref:cn(A,h),onClick:et(T.onClick,R),onKeyDown:et(T.onKeyDown,k),onMouseDown:et(T.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:I,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function zz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return Nz(e.current)},[t,e,n])}function Lz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[Bz,Lc]=Rn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Fz,sl]=Rn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Qu=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Br("Modal",t),k={...$z(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx(Fz,{value:k,children:i.jsx(Bz,{value:y,children:i.jsx(Fo,{onExitComplete:w,children:k.isOpen&&i.jsx(Vu,{...n,children:r})})})})};Qu.displayName="Modal";var xp="right-scroll-bar-position",wp="width-before-scroll-bar",Hz="with-scroll-bars-hidden",Wz="--removed-body-scroll-bar-size",f5=iP(),w0=function(){},cm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:w0,onWheelCapture:w0,onTouchMoveCapture:w0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,I=oP(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=v,E=rP([n,t]),O=Qs(Qs({},I),o);return f.createElement(f.Fragment,null,h&&f.createElement(P,{sideCar:f5,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(k,Qs({},O,{className:d,ref:E}),c))});cm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};cm.classNames={fullWidth:wp,zeroRight:xp};var Qw,Vz=function(){if(Qw)return Qw;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Uz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Vz();return t&&e.setAttribute("nonce",t),e}function Gz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function qz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Kz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Uz())&&(Gz(t,n),qz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Yz=function(){var e=Kz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},p5=function(){var e=Yz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},Xz={left:0,top:0,right:0,gap:0},S0=function(e){return parseInt(e||"",10)||0},Qz=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[S0(n),S0(r),S0(o)]},Jz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Xz;var t=Qz(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Zz=p5(),eL=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` .`.concat(Hz,` { diff --git a/invokeai/frontend/web/dist/assets/MantineProvider-8184f020.js b/invokeai/frontend/web/dist/assets/MantineProvider-ea42d3d1.js similarity index 99% rename from invokeai/frontend/web/dist/assets/MantineProvider-8184f020.js rename to invokeai/frontend/web/dist/assets/MantineProvider-ea42d3d1.js index cc098c35c0..6c084ee634 100644 --- a/invokeai/frontend/web/dist/assets/MantineProvider-8184f020.js +++ b/invokeai/frontend/web/dist/assets/MantineProvider-ea42d3d1.js @@ -1 +1 @@ -import{z as p,A as d,a4 as Z,aH as xe,g1 as We,Z as De,U as E,a7 as q,R as z,V as R,a1 as _e,a0 as Be,$ as Ce,_ as Ge,Y as Ue,g2 as Ve,g3 as Ze,fU as qe,ab as j,fS as B,f_ as Xe}from"./index-89941396.js";function Ye(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Ye(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Je,Ke]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Je,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),Y="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ke();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=Y,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=Y),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=Y;G.selector=tt;G.displayName="Portal";function P(e,t){return r=>r.colorMode==="dark"?t:e}function Or(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var at=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(at(o,t))return r}function st(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function it(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function lt(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ct(e,t){const r=lt(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var ut={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=ut,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const v=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ct(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>st(s),[s]);return d.jsx(De.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:v,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(E.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function dt(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},v=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(E.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(E.svg,{verticalAlign:"middle",viewBox:v,...g,...c,children:$})});L.displayName="Icon";function ft(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[mt,J]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[gt,K]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),je={info:{icon:pt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:ft,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:Be,colorScheme:"blue"}};function bt(e){return je[e].colorScheme}function yt(e){return je[e].icon}var Ee=z(function(t,r){const o=K(),{status:a}=J(),n={display:"inline",...o.description};return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});Ee.displayName="AlertDescription";function Ae(e){const{status:t}=J(),r=yt(t),o=K(),a=t==="loading"?o.spinner:o.icon;return d.jsx(E.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ae.displayName="AlertIcon";var Ne=z(function(t,r){const o=K(),{status:a}=J();return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:bt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(mt,{value:{status:a},children:d.jsx(gt,{value:l,children:d.jsx(E.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(E.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var vt={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=St(vt);function St(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=xt(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function xt(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var _t=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ae,{children:c}),d.jsxs(E.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(Ee,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=_t}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function zr(e,t){const r=a=>{var n;return{...t,...a,position:dt((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[Rr,Mr]=M({name:"ToastOptionsContext",strict:!1}),Lr=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${i}`,style:it(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function Ct(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function kt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):kt(e,t,r)}const Pt=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function Fr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(Pt)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const h=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[h,{},!1];return k.t=h,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(h=>wt(h,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let v=c.join();t.lng&&(v=`${t.lng}${v}`);const $=Et(v),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:h,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==v&&S.current&&g(f);function w(){S.current&&g(f)}return h&&n&&n.on(h,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,h&&n&&h.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,v]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(h=>{t.lng?ce(n,t.lng,c,()=>h()):le(n,c,()=>h())})}function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Hr=m("accordion").parts("root","container","button","panel").extend("icon");m("alert").parts("title","description","container").extend("icon","spinner");m("avatar").parts("label","badge","container").extend("excessLabel","group");m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Wr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var Dr=m("editable").parts("preview","input","textarea");m("form").parts("container","requiredIndicator","helperText");m("formError").parts("text","icon");var Br=m("input").parts("addon","field","element");m("list").parts("container","item","icon");var At=m("menu").parts("button","list","item").extend("groupTitle","command","divider"),Gr=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Ur=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Vr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Zr=m("progress").parts("label","filledTrack","track");m("radio").parts("container","control","label");var qr=m("select").parts("field","icon"),Xr=m("slider").parts("container","track","thumb","filledTrack","mark");m("stat").parts("container","label","helpText","number","icon");var Yr=m("switch").parts("container","track","thumb");m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var Jr=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");m("tag").parts("container","label","closeButton");m("card").parts("container","header","body","footer");const{definePartsStyle:Nt,defineMultiStyleConfig:$t}=qe(At.keys),Tt=Nt(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),Kr=$t({variants:{invokeAI:Tt},defaultProps:{variant:"invokeAI"}}),Qr={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},It={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function Ot(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var zt=Object.defineProperty,ue=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))Rt.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Mt.call(t,r)&&de(e,r,t[r]);return e};function Lt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const A=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):A(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Wt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Dt(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Bt(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Gt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Ut(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Bt(e)?Gt(e):e.startsWith("rgb")?Ut(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Vt(e=0){return{position:"absolute",top:A(e),right:A(e),left:A(e),bottom:A(e)}}function Zt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function qt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Xt(e){return t=>{if(typeof t=="number")return A(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Yt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function Jt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Yt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Kt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Qt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function er(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function tr(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:Ot,themeColor:Q,focusStyles:Lt,linearGradient:Ft,radialGradient:Ht,smallerThan:Dt,largerThan:Wt,rgba:T,cover:Vt,darken:Zt,lighten:qt,radius:Xt,variant:Jt,primaryShade:F,hover:Qt,gradient:Re,primaryColor:Kt,placeholderStyles:er,dimmed:tr};var rr=Object.defineProperty,nr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ir=(e,t)=>{for(var r in t||(t={}))ar.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))sr.call(t,r)&&me(e,r,t[r]);return e},lr=(e,t)=>nr(e,or(t));function Fe(e){return lr(ir({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const cr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:It,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(cr);var ur=Object.defineProperty,dr=Object.defineProperties,fr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gr=(e,t)=>{for(var r in t||(t={}))pr.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))mr.call(t,r)&&be(e,r,t[r]);return e},br=(e,t)=>dr(e,fr(t));function yr({theme:e}){return j.createElement(B,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:br(gr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=A){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function hr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),j.createElement(B,{styles:{":root":t}})}var vr=Object.defineProperty,Sr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,he=(e,t,r)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))_r.call(t,r)&&he(e,r,t[r]);if(ye)for(var r of ye(t))Cr.call(t,r)&&he(e,r,t[r]);return e},V=(e,t)=>Sr(e,xr(t));function kr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function wr(e,t){return Fe(kr(e,t))}function Pr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${A(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Er(){return j.createElement(B,{styles:jr})}var Ar=Object.defineProperty,ve=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Nr.call(t,r)&&Se(e,r,t[r]);if(ve)for(var r of ve(t))$r.call(t,r)&&Se(e,r,t[r]);return e};const D=p.createContext({theme:te});function He(){var e;return((e=p.useContext(D))==null?void 0:e.theme)||te}function en(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function tn(){var e;return(e=p.useContext(D))==null?void 0:e.emotionCache}function rn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Pr(r))}function Tr({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(D),l=wr(te,n?O(O({},i.theme),e):e);return j.createElement(Xe,{theme:l},j.createElement(D.Provider,{value:{theme:l,emotionCache:t}},r&&j.createElement(Er,null),o&&j.createElement(yr,{theme:l}),a&&j.createElement(hr,{theme:l}),typeof l.globalStyles=="function"&&j.createElement(B,{styles:l.globalStyles(l)}),s))}Tr.displayName="@mantine/core/MantineProvider";export{Zr as A,qr as B,Te as C,Xr as D,Yr as E,Jr as F,Kr as G,L as I,Tr as M,G as P,Rr as T,M as a,lt as b,zr as c,ne as d,Fr as e,tn as f,He as g,en as h,Pr as i,W as j,Le as k,rn as l,Qr as m,P as n,Or as o,Qe as p,Lr as q,A as r,Hr as s,Wr as t,Mr as u,Dr as v,Br as w,Gr as x,Ur as y,Vr as z}; +import{z as p,A as d,a4 as Z,aH as xe,g1 as We,Z as De,U as E,a7 as q,R as z,V as R,a1 as _e,a0 as Be,$ as Ce,_ as Ge,Y as Ue,g2 as Ve,g3 as Ze,fU as qe,ab as j,fS as B,f_ as Xe}from"./index-5a784cdd.js";function Ye(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Ye(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Je,Ke]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Je,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),Y="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ke();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=Y,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=Y),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=Y;G.selector=tt;G.displayName="Portal";function P(e,t){return r=>r.colorMode==="dark"?t:e}function Or(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var at=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(at(o,t))return r}function st(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function it(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function lt(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ct(e,t){const r=lt(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var ut={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=ut,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const v=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ct(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>st(s),[s]);return d.jsx(De.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:v,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(E.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function dt(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},v=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(E.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(E.svg,{verticalAlign:"middle",viewBox:v,...g,...c,children:$})});L.displayName="Icon";function ft(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[mt,J]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[gt,K]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),je={info:{icon:pt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:ft,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:Be,colorScheme:"blue"}};function bt(e){return je[e].colorScheme}function yt(e){return je[e].icon}var Ee=z(function(t,r){const o=K(),{status:a}=J(),n={display:"inline",...o.description};return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});Ee.displayName="AlertDescription";function Ae(e){const{status:t}=J(),r=yt(t),o=K(),a=t==="loading"?o.spinner:o.icon;return d.jsx(E.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ae.displayName="AlertIcon";var Ne=z(function(t,r){const o=K(),{status:a}=J();return d.jsx(E.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:bt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(mt,{value:{status:a},children:d.jsx(gt,{value:l,children:d.jsx(E.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(E.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var vt={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=St(vt);function St(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=xt(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function xt(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var _t=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ae,{children:c}),d.jsxs(E.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(Ee,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=_t}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function zr(e,t){const r=a=>{var n;return{...t,...a,position:dt((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[Rr,Mr]=M({name:"ToastOptionsContext",strict:!1}),Lr=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${i}`,style:it(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function Ct(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function kt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):kt(e,t,r)}const Pt=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function Fr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(Pt)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const h=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[h,{},!1];return k.t=h,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(h=>wt(h,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let v=c.join();t.lng&&(v=`${t.lng}${v}`);const $=Et(v),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:h,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==v&&S.current&&g(f);function w(){S.current&&g(f)}return h&&n&&n.on(h,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,h&&n&&h.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,v]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(h=>{t.lng?ce(n,t.lng,c,()=>h()):le(n,c,()=>h())})}function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Hr=m("accordion").parts("root","container","button","panel").extend("icon");m("alert").parts("title","description","container").extend("icon","spinner");m("avatar").parts("label","badge","container").extend("excessLabel","group");m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Wr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer");var Dr=m("editable").parts("preview","input","textarea");m("form").parts("container","requiredIndicator","helperText");m("formError").parts("text","icon");var Br=m("input").parts("addon","field","element");m("list").parts("container","item","icon");var At=m("menu").parts("button","list","item").extend("groupTitle","command","divider"),Gr=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Ur=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Vr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Zr=m("progress").parts("label","filledTrack","track");m("radio").parts("container","control","label");var qr=m("select").parts("field","icon"),Xr=m("slider").parts("container","track","thumb","filledTrack","mark");m("stat").parts("container","label","helpText","number","icon");var Yr=m("switch").parts("container","track","thumb");m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption");var Jr=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator");m("tag").parts("container","label","closeButton");m("card").parts("container","header","body","footer");const{definePartsStyle:Nt,defineMultiStyleConfig:$t}=qe(At.keys),Tt=Nt(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),Kr=$t({variants:{invokeAI:Tt},defaultProps:{variant:"invokeAI"}}),Qr={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},It={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function Ot(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var zt=Object.defineProperty,ue=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))Rt.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Mt.call(t,r)&&de(e,r,t[r]);return e};function Lt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const A=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):A(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Wt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Dt(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Bt(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Gt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Ut(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Bt(e)?Gt(e):e.startsWith("rgb")?Ut(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Vt(e=0){return{position:"absolute",top:A(e),right:A(e),left:A(e),bottom:A(e)}}function Zt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function qt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Xt(e){return t=>{if(typeof t=="number")return A(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Yt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function Jt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Yt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Kt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Qt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function er(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function tr(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:Ot,themeColor:Q,focusStyles:Lt,linearGradient:Ft,radialGradient:Ht,smallerThan:Dt,largerThan:Wt,rgba:T,cover:Vt,darken:Zt,lighten:qt,radius:Xt,variant:Jt,primaryShade:F,hover:Qt,gradient:Re,primaryColor:Kt,placeholderStyles:er,dimmed:tr};var rr=Object.defineProperty,nr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ir=(e,t)=>{for(var r in t||(t={}))ar.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))sr.call(t,r)&&me(e,r,t[r]);return e},lr=(e,t)=>nr(e,or(t));function Fe(e){return lr(ir({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const cr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:It,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(cr);var ur=Object.defineProperty,dr=Object.defineProperties,fr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gr=(e,t)=>{for(var r in t||(t={}))pr.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))mr.call(t,r)&&be(e,r,t[r]);return e},br=(e,t)=>dr(e,fr(t));function yr({theme:e}){return j.createElement(B,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:br(gr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=A){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function hr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),j.createElement(B,{styles:{":root":t}})}var vr=Object.defineProperty,Sr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,he=(e,t,r)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))_r.call(t,r)&&he(e,r,t[r]);if(ye)for(var r of ye(t))Cr.call(t,r)&&he(e,r,t[r]);return e},V=(e,t)=>Sr(e,xr(t));function kr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function wr(e,t){return Fe(kr(e,t))}function Pr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const jr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${A(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function Er(){return j.createElement(B,{styles:jr})}var Ar=Object.defineProperty,ve=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Nr.call(t,r)&&Se(e,r,t[r]);if(ve)for(var r of ve(t))$r.call(t,r)&&Se(e,r,t[r]);return e};const D=p.createContext({theme:te});function He(){var e;return((e=p.useContext(D))==null?void 0:e.theme)||te}function en(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function tn(){var e;return(e=p.useContext(D))==null?void 0:e.emotionCache}function rn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Pr(r))}function Tr({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(D),l=wr(te,n?O(O({},i.theme),e):e);return j.createElement(Xe,{theme:l},j.createElement(D.Provider,{value:{theme:l,emotionCache:t}},r&&j.createElement(Er,null),o&&j.createElement(yr,{theme:l}),a&&j.createElement(hr,{theme:l}),typeof l.globalStyles=="function"&&j.createElement(B,{styles:l.globalStyles(l)}),s))}Tr.displayName="@mantine/core/MantineProvider";export{Zr as A,qr as B,Te as C,Xr as D,Yr as E,Jr as F,Kr as G,L as I,Tr as M,G as P,Rr as T,M as a,lt as b,zr as c,ne as d,Fr as e,tn as f,He as g,en as h,Pr as i,W as j,Le as k,rn as l,Qr as m,P as n,Or as o,Qe as p,Lr as q,A as r,Hr as s,Wr as t,Mr as u,Dr as v,Br as w,Gr as x,Ur as y,Vr as z}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-9ac72450.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-13e3db3d.js similarity index 99% rename from invokeai/frontend/web/dist/assets/ThemeLocaleProvider-9ac72450.js rename to invokeai/frontend/web/dist/assets/ThemeLocaleProvider-13e3db3d.js index 83a0fe8451..0a75b9fa39 100644 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-9ac72450.js +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-13e3db3d.js @@ -1,4 +1,4 @@ -import{A as g,fS as Xe,z as x,a4 as Ba,fT as Ea,af as ca,aj as c,fU as b,al as Da,fV as t,fW as Ra,fX as h,fY as ba,fZ as ja,f_ as Ha,aI as Wa,f$ as Va,ad as La,g0 as qa}from"./index-89941396.js";import{n,o as Sr,p as Oa,T as Na,q as Ga,s as Ua,t as Ya,v as Xa,w as Ka,x as Za,y as Ja,z as Qa,A as et,B as rt,D as at,E as tt,F as ot,G as nt,e as it,M as lt}from"./MantineProvider-8184f020.js";var va=String.raw,ua=va` +import{A as g,fS as Xe,z as x,a4 as Ba,fT as Ea,af as ca,aj as c,fU as b,al as Da,fV as t,fW as Ra,fX as h,fY as ba,fZ as ja,f_ as Ha,aI as Wa,f$ as Va,ad as La,g0 as qa}from"./index-5a784cdd.js";import{n,o as Sr,p as Oa,T as Na,q as Ga,s as Ua,t as Ya,v as Xa,w as Ka,x as Za,y as Ja,z as Qa,A as et,B as rt,D as at,E as tt,F as ot,G as nt,e as it,M as lt}from"./MantineProvider-ea42d3d1.js";var va=String.raw,ua=va` :root, :host { --chakra-vh: 100vh; diff --git a/invokeai/frontend/web/dist/assets/index-89941396.js b/invokeai/frontend/web/dist/assets/index-5a784cdd.js similarity index 83% rename from invokeai/frontend/web/dist/assets/index-89941396.js rename to invokeai/frontend/web/dist/assets/index-5a784cdd.js index af6430d8cd..11701648de 100644 --- a/invokeai/frontend/web/dist/assets/index-89941396.js +++ b/invokeai/frontend/web/dist/assets/index-5a784cdd.js @@ -6,7 +6,7 @@ function O8(e,t){for(var n=0;na||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{D1=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ad(e):""}function kF(e){switch(e.tag){case 5:return ad(e.type);case 16:return ad("Lazy");case 13:return ad("Suspense");case 19:return ad("SuspenseList");case 0:case 2:case 15:return e=L1(e.type,!1),e;case 11:return e=L1(e.type.render,!1),e;case 1:return e=L1(e.type,!0),e;default:return""}}function AS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case eu:return"Fragment";case Jl:return"Portal";case TS:return"Profiler";case gw:return"StrictMode";case ES:return"Suspense";case PS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case W8:return(e.displayName||"Context")+".Consumer";case q8:return(e._context.displayName||"Context")+".Provider";case mw:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yw:return t=e.displayName||null,t!==null?t:AS(e.type)||"Memo";case ls:t=e._payload,e=e._init;try{return AS(e(t))}catch{}}return null}function OF(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return AS(t);case 8:return t===gw?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ls(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function X8(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function RF(e){var t=X8(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qh(e){e._valueTracker||(e._valueTracker=RF(e))}function Y8(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=X8(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mg(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function kS(e,t){var n=t.checked;return Ot({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function V3(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ls(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Q8(e,t){t=t.checked,t!=null&&pw(e,"checked",t,!1)}function OS(e,t){Q8(e,t);var n=Ls(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?RS(e,t.type,n):t.hasOwnProperty("defaultValue")&&RS(e,t.type,Ls(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function z3(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function RS(e,t,n){(t!=="number"||Mg(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ld=Array.isArray;function yu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Zh.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bd(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},IF=["Webkit","ms","Moz","O"];Object.keys(yd).forEach(function(e){IF.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),yd[t]=yd[e]})});function tA(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||yd.hasOwnProperty(e)&&yd[e]?(""+t).trim():t+"px"}function nA(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=tA(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var MF=Ot({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function NS(e,t){if(t){if(MF[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Z(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Z(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Z(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Z(62))}}function DS(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var LS=null;function vw(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $S=null,vu=null,bu=null;function H3(e){if(e=nh(e)){if(typeof $S!="function")throw Error(Z(280));var t=e.stateNode;t&&(t=Ty(t),$S(e.stateNode,e.type,t))}}function rA(e){vu?bu?bu.push(e):bu=[e]:vu=e}function iA(){if(vu){var e=vu,t=bu;if(bu=vu=null,H3(e),t)for(e=0;e>>=0,e===0?32:31-(GF(e)/HF|0)|0}var Jh=64,ep=4194304;function ud(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $g(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=ud(a):(o&=s,o!==0&&(r=ud(o)))}else s=n&~i,s!==0?r=ud(s):o!==0&&(r=ud(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function eh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mi(t),e[t]=n}function XF(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=bd),e5=String.fromCharCode(32),t5=!1;function CA(e,t){switch(e){case"keyup":return xB.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function TA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var tu=!1;function TB(e,t){switch(e){case"compositionend":return TA(t);case"keypress":return t.which!==32?null:(t5=!0,e5);case"textInput":return e=t.data,e===e5&&t5?null:e;default:return null}}function EB(e,t){if(tu)return e==="compositionend"||!Ew&&CA(e,t)?(e=wA(),eg=xw=vs=null,tu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=o5(n)}}function kA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?kA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function OA(){for(var e=window,t=Mg();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mg(e.document)}return t}function Pw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function DB(e){var t=OA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&kA(n.ownerDocument.documentElement,n)){if(r!==null&&Pw(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=s5(n,o);var s=s5(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,nu=null,US=null,_d=null,GS=!1;function a5(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;GS||nu==null||nu!==Mg(r)||(r=nu,"selectionStart"in r&&Pw(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_d&&Hd(_d,r)||(_d=r,r=jg(US,"onSelect"),0ou||(e.current=YS[ou],YS[ou]=null,ou--)}function at(e,t){ou++,YS[ou]=e.current,e.current=t}var $s={},Bn=Qs($s),pr=Qs(!1),Ha=$s;function ju(e,t){var n=e.type.contextTypes;if(!n)return $s;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function gr(e){return e=e.childContextTypes,e!=null}function zg(){ht(pr),ht(Bn)}function p5(e,t,n){if(Bn.current!==$s)throw Error(Z(168));at(Bn,t),at(pr,n)}function BA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Z(108,OF(e)||"Unknown",i));return Ot({},n,r)}function Ug(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$s,Ha=Bn.current,at(Bn,e),at(pr,pr.current),!0}function g5(e,t,n){var r=e.stateNode;if(!r)throw Error(Z(169));n?(e=BA(e,t,Ha),r.__reactInternalMemoizedMergedChildContext=e,ht(pr),ht(Bn),at(Bn,e)):ht(pr),at(pr,n)}var _o=null,Ey=!1,Y1=!1;function jA(e){_o===null?_o=[e]:_o.push(e)}function WB(e){Ey=!0,jA(e)}function Zs(){if(!Y1&&_o!==null){Y1=!0;var e=0,t=Ke;try{var n=_o;for(Ke=1;e>=s,i-=s,To=1<<32-mi(t)+i|n<T?(P=x,x=null):P=x.sibling;var E=f(v,x,g[T],b);if(E===null){x===null&&(x=P);break}e&&x&&E.alternate===null&&t(v,x),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E,x=P}if(T===g.length)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;TT?(P=x,x=null):P=x.sibling;var A=f(v,x,E.value,b);if(A===null){x===null&&(x=P);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,T),w===null?_=A:w.sibling=A,w=A,x=P}if(E.done)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;!E.done;T++,E=g.next())E=d(v,E.value,b),E!==null&&(y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return St&&Sa(v,T),_}for(x=r(v,x);!E.done;T++,E=g.next())E=h(x,v,T,E.value,b),E!==null&&(e&&E.alternate!==null&&x.delete(E.key===null?T:E.key),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return e&&x.forEach(function($){return t(v,$)}),St&&Sa(v,T),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===eu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yh:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===eu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===ls&&w5(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=$c(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===eu?(y=$a(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=lg(g.type,g.key,g.props,null,v.mode,b),b.ref=$c(v,y,g),b.return=v,v=b)}return s(v);case Jl:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=ib(g,v.mode,b),y.return=v,v=y}return s(v);case ls:return w=g._init,S(v,y,w(g._payload),b)}if(ld(g))return p(v,y,g,b);if(Ic(g))return m(v,y,g,b);ap(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=rb(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var zu=KA(!0),XA=KA(!1),rh={},Xi=Qs(rh),Xd=Qs(rh),Yd=Qs(rh);function Oa(e){if(e===rh)throw Error(Z(174));return e}function Lw(e,t){switch(at(Yd,t),at(Xd,e),at(Xi,rh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:MS(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=MS(t,e)}ht(Xi),at(Xi,t)}function Uu(){ht(Xi),ht(Xd),ht(Yd)}function YA(e){Oa(Yd.current);var t=Oa(Xi.current),n=MS(t,e.type);t!==n&&(at(Xd,e),at(Xi,n))}function $w(e){Xd.current===e&&(ht(Xi),ht(Xd))}var Et=Qs(0);function Xg(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Q1=[];function Fw(){for(var e=0;en?n:4,e(!0);var r=Z1.transition;Z1.transition={};try{e(!1),t()}finally{Ke=n,Z1.transition=r}}function f9(){return Qr().memoizedState}function QB(e,t,n){var r=As(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},h9(e))p9(t,n);else if(n=GA(e,t,n,r),n!==null){var i=Zn();yi(n,e,r,i),g9(n,t,r)}}function ZB(e,t,n){var r=As(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(h9(e))p9(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,wi(a,s)){var l=t.interleaved;l===null?(i.next=i,Nw(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=GA(e,t,i,r),n!==null&&(i=Zn(),yi(n,e,r,i),g9(n,t,r))}}function h9(e){var t=e.alternate;return e===kt||t!==null&&t===kt}function p9(e,t){wd=Yg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function g9(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Sw(e,n)}}var Qg={readContext:Yr,useCallback:Mn,useContext:Mn,useEffect:Mn,useImperativeHandle:Mn,useInsertionEffect:Mn,useLayoutEffect:Mn,useMemo:Mn,useReducer:Mn,useRef:Mn,useState:Mn,useDebugValue:Mn,useDeferredValue:Mn,useTransition:Mn,useMutableSource:Mn,useSyncExternalStore:Mn,useId:Mn,unstable_isNewReconciler:!1},JB={readContext:Yr,useCallback:function(e,t){return Di().memoizedState=[e,t===void 0?null:t],e},useContext:Yr,useEffect:C5,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ig(4194308,4,a9.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ig(4194308,4,e,t)},useInsertionEffect:function(e,t){return ig(4,2,e,t)},useMemo:function(e,t){var n=Di();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Di();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=QB.bind(null,kt,e),[r.memoizedState,e]},useRef:function(e){var t=Di();return e={current:e},t.memoizedState=e},useState:x5,useDebugValue:Uw,useDeferredValue:function(e){return Di().memoizedState=e},useTransition:function(){var e=x5(!1),t=e[0];return e=YB.bind(null,e[1]),Di().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=kt,i=Di();if(St){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=t(),gn===null)throw Error(Z(349));Wa&30||JA(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,C5(t9.bind(null,r,o,e),[e]),r.flags|=2048,Jd(9,e9.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Di(),t=gn.identifierPrefix;if(St){var n=Eo,r=To;n=(r&~(1<<32-mi(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qd++,0")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{D1=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ad(e):""}function kF(e){switch(e.tag){case 5:return ad(e.type);case 16:return ad("Lazy");case 13:return ad("Suspense");case 19:return ad("SuspenseList");case 0:case 2:case 15:return e=L1(e.type,!1),e;case 11:return e=L1(e.type.render,!1),e;case 1:return e=L1(e.type,!0),e;default:return""}}function AS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case eu:return"Fragment";case Jl:return"Portal";case TS:return"Profiler";case gw:return"StrictMode";case ES:return"Suspense";case PS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case W8:return(e.displayName||"Context")+".Consumer";case q8:return(e._context.displayName||"Context")+".Provider";case mw:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yw:return t=e.displayName||null,t!==null?t:AS(e.type)||"Memo";case ls:t=e._payload,e=e._init;try{return AS(e(t))}catch{}}return null}function OF(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return AS(t);case 8:return t===gw?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ls(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function X8(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function RF(e){var t=X8(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qh(e){e._valueTracker||(e._valueTracker=RF(e))}function Y8(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=X8(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mg(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function kS(e,t){var n=t.checked;return Ot({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function V3(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ls(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Q8(e,t){t=t.checked,t!=null&&pw(e,"checked",t,!1)}function OS(e,t){Q8(e,t);var n=Ls(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?RS(e,t.type,n):t.hasOwnProperty("defaultValue")&&RS(e,t.type,Ls(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function z3(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function RS(e,t,n){(t!=="number"||Mg(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ld=Array.isArray;function yu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Zh.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bd(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var yd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},IF=["Webkit","ms","Moz","O"];Object.keys(yd).forEach(function(e){IF.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),yd[t]=yd[e]})});function tA(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||yd.hasOwnProperty(e)&&yd[e]?(""+t).trim():t+"px"}function nA(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=tA(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var MF=Ot({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function NS(e,t){if(t){if(MF[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Z(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Z(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Z(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Z(62))}}function DS(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var LS=null;function vw(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $S=null,vu=null,bu=null;function H3(e){if(e=nh(e)){if(typeof $S!="function")throw Error(Z(280));var t=e.stateNode;t&&(t=Ty(t),$S(e.stateNode,e.type,t))}}function rA(e){vu?bu?bu.push(e):bu=[e]:vu=e}function iA(){if(vu){var e=vu,t=bu;if(bu=vu=null,H3(e),t)for(e=0;e>>=0,e===0?32:31-(GF(e)/HF|0)|0}var Jh=64,ep=4194304;function ud(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $g(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=ud(a):(o&=s,o!==0&&(r=ud(o)))}else s=n&~i,s!==0?r=ud(s):o!==0&&(r=ud(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function eh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mi(t),e[t]=n}function XF(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=bd),e5=String.fromCharCode(32),t5=!1;function CA(e,t){switch(e){case"keyup":return xB.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function TA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var tu=!1;function TB(e,t){switch(e){case"compositionend":return TA(t);case"keypress":return t.which!==32?null:(t5=!0,e5);case"textInput":return e=t.data,e===e5&&t5?null:e;default:return null}}function EB(e,t){if(tu)return e==="compositionend"||!Ew&&CA(e,t)?(e=wA(),eg=xw=vs=null,tu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=o5(n)}}function kA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?kA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function OA(){for(var e=window,t=Mg();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mg(e.document)}return t}function Pw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function DB(e){var t=OA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&kA(n.ownerDocument.documentElement,n)){if(r!==null&&Pw(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=s5(n,o);var s=s5(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,nu=null,US=null,_d=null,GS=!1;function a5(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;GS||nu==null||nu!==Mg(r)||(r=nu,"selectionStart"in r&&Pw(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_d&&Hd(_d,r)||(_d=r,r=jg(US,"onSelect"),0ou||(e.current=YS[ou],YS[ou]=null,ou--)}function lt(e,t){ou++,YS[ou]=e.current,e.current=t}var $s={},Bn=Qs($s),pr=Qs(!1),Ha=$s;function ju(e,t){var n=e.type.contextTypes;if(!n)return $s;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function gr(e){return e=e.childContextTypes,e!=null}function zg(){ht(pr),ht(Bn)}function p5(e,t,n){if(Bn.current!==$s)throw Error(Z(168));lt(Bn,t),lt(pr,n)}function BA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Z(108,OF(e)||"Unknown",i));return Ot({},n,r)}function Ug(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$s,Ha=Bn.current,lt(Bn,e),lt(pr,pr.current),!0}function g5(e,t,n){var r=e.stateNode;if(!r)throw Error(Z(169));n?(e=BA(e,t,Ha),r.__reactInternalMemoizedMergedChildContext=e,ht(pr),ht(Bn),lt(Bn,e)):ht(pr),lt(pr,n)}var _o=null,Ey=!1,Y1=!1;function jA(e){_o===null?_o=[e]:_o.push(e)}function WB(e){Ey=!0,jA(e)}function Zs(){if(!Y1&&_o!==null){Y1=!0;var e=0,t=Ye;try{var n=_o;for(Ye=1;e>=s,i-=s,To=1<<32-mi(t)+i|n<T?(P=x,x=null):P=x.sibling;var E=f(v,x,g[T],b);if(E===null){x===null&&(x=P);break}e&&x&&E.alternate===null&&t(v,x),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E,x=P}if(T===g.length)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;TT?(P=x,x=null):P=x.sibling;var A=f(v,x,E.value,b);if(A===null){x===null&&(x=P);break}e&&x&&A.alternate===null&&t(v,x),y=o(A,y,T),w===null?_=A:w.sibling=A,w=A,x=P}if(E.done)return n(v,x),St&&Sa(v,T),_;if(x===null){for(;!E.done;T++,E=g.next())E=d(v,E.value,b),E!==null&&(y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return St&&Sa(v,T),_}for(x=r(v,x);!E.done;T++,E=g.next())E=h(x,v,T,E.value,b),E!==null&&(e&&E.alternate!==null&&x.delete(E.key===null?T:E.key),y=o(E,y,T),w===null?_=E:w.sibling=E,w=E);return e&&x.forEach(function($){return t(v,$)}),St&&Sa(v,T),_}function S(v,y,g,b){if(typeof g=="object"&&g!==null&&g.type===eu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yh:e:{for(var _=g.key,w=y;w!==null;){if(w.key===_){if(_=g.type,_===eu){if(w.tag===7){n(v,w.sibling),y=i(w,g.props.children),y.return=v,v=y;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===ls&&w5(_)===w.type){n(v,w.sibling),y=i(w,g.props),y.ref=$c(v,w,g),y.return=v,v=y;break e}n(v,w);break}else t(v,w);w=w.sibling}g.type===eu?(y=$a(g.props.children,v.mode,b,g.key),y.return=v,v=y):(b=lg(g.type,g.key,g.props,null,v.mode,b),b.ref=$c(v,y,g),b.return=v,v=b)}return s(v);case Jl:e:{for(w=g.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===g.containerInfo&&y.stateNode.implementation===g.implementation){n(v,y.sibling),y=i(y,g.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else t(v,y);y=y.sibling}y=ib(g,v.mode,b),y.return=v,v=y}return s(v);case ls:return w=g._init,S(v,y,w(g._payload),b)}if(ld(g))return p(v,y,g,b);if(Ic(g))return m(v,y,g,b);ap(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,y!==null&&y.tag===6?(n(v,y.sibling),y=i(y,g),y.return=v,v=y):(n(v,y),y=rb(g,v.mode,b),y.return=v,v=y),s(v)):n(v,y)}return S}var zu=KA(!0),XA=KA(!1),rh={},Xi=Qs(rh),Xd=Qs(rh),Yd=Qs(rh);function Oa(e){if(e===rh)throw Error(Z(174));return e}function Lw(e,t){switch(lt(Yd,t),lt(Xd,e),lt(Xi,rh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:MS(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=MS(t,e)}ht(Xi),lt(Xi,t)}function Uu(){ht(Xi),ht(Xd),ht(Yd)}function YA(e){Oa(Yd.current);var t=Oa(Xi.current),n=MS(t,e.type);t!==n&&(lt(Xd,e),lt(Xi,n))}function $w(e){Xd.current===e&&(ht(Xi),ht(Xd))}var Et=Qs(0);function Xg(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Q1=[];function Fw(){for(var e=0;en?n:4,e(!0);var r=Z1.transition;Z1.transition={};try{e(!1),t()}finally{Ye=n,Z1.transition=r}}function f9(){return Qr().memoizedState}function QB(e,t,n){var r=As(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},h9(e))p9(t,n);else if(n=GA(e,t,n,r),n!==null){var i=Zn();yi(n,e,r,i),g9(n,t,r)}}function ZB(e,t,n){var r=As(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(h9(e))p9(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,wi(a,s)){var l=t.interleaved;l===null?(i.next=i,Nw(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=GA(e,t,i,r),n!==null&&(i=Zn(),yi(n,e,r,i),g9(n,t,r))}}function h9(e){var t=e.alternate;return e===kt||t!==null&&t===kt}function p9(e,t){wd=Yg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function g9(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Sw(e,n)}}var Qg={readContext:Yr,useCallback:Mn,useContext:Mn,useEffect:Mn,useImperativeHandle:Mn,useInsertionEffect:Mn,useLayoutEffect:Mn,useMemo:Mn,useReducer:Mn,useRef:Mn,useState:Mn,useDebugValue:Mn,useDeferredValue:Mn,useTransition:Mn,useMutableSource:Mn,useSyncExternalStore:Mn,useId:Mn,unstable_isNewReconciler:!1},JB={readContext:Yr,useCallback:function(e,t){return Di().memoizedState=[e,t===void 0?null:t],e},useContext:Yr,useEffect:C5,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ig(4194308,4,a9.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ig(4194308,4,e,t)},useInsertionEffect:function(e,t){return ig(4,2,e,t)},useMemo:function(e,t){var n=Di();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Di();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=QB.bind(null,kt,e),[r.memoizedState,e]},useRef:function(e){var t=Di();return e={current:e},t.memoizedState=e},useState:x5,useDebugValue:Uw,useDeferredValue:function(e){return Di().memoizedState=e},useTransition:function(){var e=x5(!1),t=e[0];return e=YB.bind(null,e[1]),Di().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=kt,i=Di();if(St){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=t(),gn===null)throw Error(Z(349));Wa&30||JA(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,C5(t9.bind(null,r,o,e),[e]),r.flags|=2048,Jd(9,e9.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Di(),t=gn.identifierPrefix;if(St){var n=Eo,r=To;n=(r&~(1<<32-mi(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qd++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Vi]=t,e[Kd]=r,C9(e,t,!1,!1),t.stateNode=e;e:{switch(s=DS(n,r),n){case"dialog":ct("cancel",e),ct("close",e),i=r;break;case"iframe":case"object":case"embed":ct("load",e),i=r;break;case"video":case"audio":for(i=0;iHu&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xg(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fc(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!St)return Nn(t),null}else 2*Bt()-o.renderingStartTime>Hu&&n!==1073741824&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Bt(),t.sibling=null,n=Et.current,at(Et,r?n&1|2:n&1),t):(Nn(t),null);case 22:case 23:return Xw(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Cr&1073741824&&(Nn(t),t.subtreeFlags&6&&(t.flags|=8192)):Nn(t),null;case 24:return null;case 25:return null}throw Error(Z(156,t.tag))}function aj(e,t){switch(kw(t),t.tag){case 1:return gr(t.type)&&zg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Uu(),ht(pr),ht(Bn),Fw(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $w(t),null;case 13:if(ht(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Z(340));Vu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ht(Et),null;case 4:return Uu(),null;case 10:return Mw(t.type._context),null;case 22:case 23:return Xw(),null;case 24:return null;default:return null}}var up=!1,Fn=!1,lj=typeof WeakSet=="function"?WeakSet:Set,ae=null;function uu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Mt(e,t,r)}else n.current=null}function l_(e,t,n){try{n()}catch(r){Mt(e,t,r)}}var M5=!1;function uj(e,t){if(HS=Fg,e=OA(),Pw(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(qS={focusedElem:e,selectionRange:n},Fg=!1,ae=t;ae!==null;)if(t=ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ae=e;else for(;ae!==null;){t=ae;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ai(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(b){Mt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,ae=e;break}ae=t.return}return p=M5,M5=!1,p}function xd(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&l_(t,n,o)}i=i.next}while(i!==r)}}function ky(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function u_(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function P9(e){var t=e.alternate;t!==null&&(e.alternate=null,P9(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vi],delete t[Kd],delete t[XS],delete t[HB],delete t[qB])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function A9(e){return e.tag===5||e.tag===3||e.tag===4}function N5(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||A9(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function c_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vg));else if(r!==4&&(e=e.child,e!==null))for(c_(e,t,n),e=e.sibling;e!==null;)c_(e,t,n),e=e.sibling}function d_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(d_(e,t,n),e=e.sibling;e!==null;)d_(e,t,n),e=e.sibling}var Tn=null,li=!1;function ts(e,t,n){for(n=n.child;n!==null;)k9(e,t,n),n=n.sibling}function k9(e,t,n){if(Ki&&typeof Ki.onCommitFiberUnmount=="function")try{Ki.onCommitFiberUnmount(_y,n)}catch{}switch(n.tag){case 5:Fn||uu(n,t);case 6:var r=Tn,i=li;Tn=null,ts(e,t,n),Tn=r,li=i,Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tn.removeChild(n.stateNode));break;case 18:Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?X1(e.parentNode,n):e.nodeType===1&&X1(e,n),Ud(e)):X1(Tn,n.stateNode));break;case 4:r=Tn,i=li,Tn=n.stateNode.containerInfo,li=!0,ts(e,t,n),Tn=r,li=i;break;case 0:case 11:case 14:case 15:if(!Fn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&l_(n,t,s),i=i.next}while(i!==r)}ts(e,t,n);break;case 1:if(!Fn&&(uu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Mt(n,t,a)}ts(e,t,n);break;case 21:ts(e,t,n);break;case 22:n.mode&1?(Fn=(r=Fn)||n.memoizedState!==null,ts(e,t,n),Fn=r):ts(e,t,n);break;default:ts(e,t,n)}}function D5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new lj),t.forEach(function(r){var i=vj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function oi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Bt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dj(r/1960))-r,10e?16:e,bs===null)var r=!1;else{if(e=bs,bs=null,em=0,$e&6)throw Error(Z(331));var i=$e;for($e|=4,ae=e.current;ae!==null;){var o=ae,s=o.child;if(ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lBt()-Ww?La(e,0):qw|=n),mr(e,t)}function $9(e,t){t===0&&(e.mode&1?(t=ep,ep<<=1,!(ep&130023424)&&(ep=4194304)):t=1);var n=Zn();e=Fo(e,t),e!==null&&(eh(e,t,n),mr(e,n))}function yj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$9(e,n)}function vj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(t),$9(e,n)}var F9;F9=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pr.current)dr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return dr=!1,oj(e,t,n);dr=!!(e.flags&131072)}else dr=!1,St&&t.flags&1048576&&VA(t,Hg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;og(e,t),e=t.pendingProps;var i=ju(t,Bn.current);_u(t,n),i=jw(null,t,r,e,i,n);var o=Vw();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,gr(r)?(o=!0,Ug(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Dw(t),i.updater=Py,t.stateNode=i,i._reactInternals=t,t_(t,r,e,n),t=i_(null,t,r,!0,o,n)):(t.tag=0,St&&o&&Aw(t),Yn(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(og(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Sj(r),e=ai(r,e),i){case 0:t=r_(null,t,r,e,n);break e;case 1:t=O5(null,t,r,e,n);break e;case 11:t=A5(null,t,r,e,n);break e;case 14:t=k5(null,t,r,ai(r.type,e),n);break e}throw Error(Z(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),r_(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),O5(e,t,r,i,n);case 3:e:{if(_9(t),e===null)throw Error(Z(387));r=t.pendingProps,o=t.memoizedState,i=o.element,HA(e,t),Kg(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Gu(Error(Z(423)),t),t=R5(e,t,r,n,i);break e}else if(r!==i){i=Gu(Error(Z(424)),t),t=R5(e,t,r,n,i);break e}else for(Er=Ts(t.stateNode.containerInfo.firstChild),Pr=t,St=!0,ci=null,n=XA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Vu(),r===i){t=Bo(e,t,n);break e}Yn(e,t,r,n)}t=t.child}return t;case 5:return YA(t),e===null&&ZS(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,WS(r,i)?s=null:o!==null&&WS(r,o)&&(t.flags|=32),S9(e,t),Yn(e,t,s,n),t.child;case 6:return e===null&&ZS(t),null;case 13:return w9(e,t,n);case 4:return Lw(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=zu(t,null,r,n):Yn(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),A5(e,t,r,i,n);case 7:return Yn(e,t,t.pendingProps,n),t.child;case 8:return Yn(e,t,t.pendingProps.children,n),t.child;case 12:return Yn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,at(qg,r._currentValue),r._currentValue=s,o!==null)if(wi(o.value,s)){if(o.children===i.children&&!pr.current){t=Bo(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ko(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),JS(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(Z(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),JS(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Yn(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,_u(t,n),i=Yr(i),r=r(i),t.flags|=1,Yn(e,t,r,n),t.child;case 14:return r=t.type,i=ai(r,t.pendingProps),i=ai(r.type,i),k5(e,t,r,i,n);case 15:return v9(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),og(e,t),t.tag=1,gr(r)?(e=!0,Ug(t)):e=!1,_u(t,n),WA(t,r,i),t_(t,r,i,n),i_(null,t,r,!0,e,n);case 19:return x9(e,t,n);case 22:return b9(e,t,n)}throw Error(Z(156,t.tag))};function B9(e,t){return dA(e,t)}function bj(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wr(e,t,n,r){return new bj(e,t,n,r)}function Qw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sj(e){if(typeof e=="function")return Qw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===mw)return 11;if(e===yw)return 14}return 2}function ks(e,t){var n=e.alternate;return n===null?(n=Wr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")Qw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case eu:return $a(n.children,i,o,t);case gw:s=8,i|=8;break;case TS:return e=Wr(12,n,t,i|2),e.elementType=TS,e.lanes=o,e;case ES:return e=Wr(13,n,t,i),e.elementType=ES,e.lanes=o,e;case PS:return e=Wr(19,n,t,i),e.elementType=PS,e.lanes=o,e;case K8:return Ry(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case q8:s=10;break e;case W8:s=9;break e;case mw:s=11;break e;case yw:s=14;break e;case ls:s=16,r=null;break e}throw Error(Z(130,e==null?e:typeof e,""))}return t=Wr(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function $a(e,t,n,r){return e=Wr(7,e,r,t),e.lanes=n,e}function Ry(e,t,n,r){return e=Wr(22,e,r,t),e.elementType=K8,e.lanes=n,e.stateNode={isHidden:!1},e}function rb(e,t,n){return e=Wr(6,e,null,t),e.lanes=n,e}function ib(e,t,n){return t=Wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _j(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=F1(0),this.expirationTimes=F1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=F1(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Zw(e,t,n,r,i,o,s,a,l){return e=new _j(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Wr(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Dw(o),e}function wj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(U9)}catch(e){console.error(e)}}U9(),V8.exports=Mr;var zi=V8.exports;const cwe=al(zi);var U5=zi;xS.createRoot=U5.createRoot,xS.hydrateRoot=U5.hydrateRoot;const Pj="modulepreload",Aj=function(e,t){return new URL(e,t).href},G5={},G9=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Aj(o,r),o in G5)return;G5[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Pj,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var H9={exports:{}},q9={};/** +`+o.stack}return{value:e,source:t,stack:i,digest:null}}function tb(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function n_(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var nj=typeof WeakMap=="function"?WeakMap:Map;function m9(e,t,n){n=ko(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Jg||(Jg=!0,f_=r),n_(e,t)},n}function y9(e,t,n){n=ko(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){n_(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){n_(e,t),typeof r!="function"&&(Ps===null?Ps=new Set([this]):Ps.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}function T5(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new nj;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=mj.bind(null,e,t,n),t.then(e,e))}function E5(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function P5(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=ko(-1,1),t.tag=2,Es(n,t,1))),n.lanes|=1),e)}var rj=Go.ReactCurrentOwner,dr=!1;function Yn(e,t,n,r){t.child=e===null?XA(t,null,n,r):zu(t,e.child,n,r)}function A5(e,t,n,r,i){n=n.render;var o=t.ref;return _u(t,i),r=jw(e,t,n,r,o,i),n=Vw(),e!==null&&!dr?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Bo(e,t,i)):(St&&n&&Aw(t),t.flags|=1,Yn(e,t,r,i),t.child)}function k5(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!Qw(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,v9(e,t,o,r,i)):(e=lg(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&i)){var s=o.memoizedProps;if(n=n.compare,n=n!==null?n:Hd,n(s,r)&&e.ref===t.ref)return Bo(e,t,i)}return t.flags|=1,e=ks(o,r),e.ref=t.ref,e.return=t,t.child=e}function v9(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(Hd(o,r)&&e.ref===t.ref)if(dr=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&(dr=!0);else return t.lanes=e.lanes,Bo(e,t,i)}return r_(e,t,n,r,i)}function b9(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},lt(cu,Cr),Cr|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,lt(cu,Cr),Cr|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,lt(cu,Cr),Cr|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,lt(cu,Cr),Cr|=r;return Yn(e,t,i,n),t.child}function S9(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function r_(e,t,n,r,i){var o=gr(n)?Ha:Bn.current;return o=ju(t,o),_u(t,i),n=jw(e,t,n,r,o,i),r=Vw(),e!==null&&!dr?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Bo(e,t,i)):(St&&r&&Aw(t),t.flags|=1,Yn(e,t,n,i),t.child)}function O5(e,t,n,r,i){if(gr(n)){var o=!0;Ug(t)}else o=!1;if(_u(t,i),t.stateNode===null)og(e,t),WA(t,n,r),t_(t,n,r,i),r=!0;else if(e===null){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,u=n.contextType;typeof u=="object"&&u!==null?u=Yr(u):(u=gr(n)?Ha:Bn.current,u=ju(t,u));var c=n.getDerivedStateFromProps,d=typeof c=="function"||typeof s.getSnapshotBeforeUpdate=="function";d||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==r||l!==u)&&_5(t,s,r,u),us=!1;var f=t.memoizedState;s.state=f,Kg(t,r,s,i),l=t.memoizedState,a!==r||f!==l||pr.current||us?(typeof c=="function"&&(e_(t,n,c,r),l=t.memoizedState),(a=us||S5(t,n,a,r,f,l,u))?(d||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=u,r=a):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,HA(e,t),a=t.memoizedProps,u=t.type===t.elementType?a:ai(t.type,a),s.props=u,d=t.pendingProps,f=s.context,l=n.contextType,typeof l=="object"&&l!==null?l=Yr(l):(l=gr(n)?Ha:Bn.current,l=ju(t,l));var h=n.getDerivedStateFromProps;(c=typeof h=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==d||f!==l)&&_5(t,s,r,l),us=!1,f=t.memoizedState,s.state=f,Kg(t,r,s,i);var p=t.memoizedState;a!==d||f!==p||pr.current||us?(typeof h=="function"&&(e_(t,n,h,r),p=t.memoizedState),(u=us||S5(t,n,u,r,f,p,l)||!1)?(c||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(r,p,l),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(r,p,l)),typeof s.componentDidUpdate=="function"&&(t.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),s.props=r,s.state=p,s.context=l,r=u):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return i_(e,t,n,r,o,i)}function i_(e,t,n,r,i,o){S9(e,t);var s=(t.flags&128)!==0;if(!r&&!s)return i&&g5(t,n,!1),Bo(e,t,o);r=t.stateNode,rj.current=t;var a=s&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&s?(t.child=zu(t,e.child,null,o),t.child=zu(t,null,a,o)):Yn(e,t,a,o),t.memoizedState=r.state,i&&g5(t,n,!0),t.child}function _9(e){var t=e.stateNode;t.pendingContext?p5(e,t.pendingContext,t.pendingContext!==t.context):t.context&&p5(e,t.context,!1),Lw(e,t.containerInfo)}function R5(e,t,n,r,i){return Vu(),Ow(i),t.flags|=256,Yn(e,t,n,r),t.child}var o_={dehydrated:null,treeContext:null,retryLane:0};function s_(e){return{baseLanes:e,cachePool:null,transitions:null}}function w9(e,t,n){var r=t.pendingProps,i=Et.current,o=!1,s=(t.flags&128)!==0,a;if((a=s)||(a=e!==null&&e.memoizedState===null?!1:(i&2)!==0),a?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),lt(Et,i&1),e===null)return ZS(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(s=r.children,e=r.fallback,o?(r=t.mode,o=t.child,s={mode:"hidden",children:s},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=s):o=Ry(s,r,0,null),e=$a(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=s_(n),t.memoizedState=o_,e):Gw(t,s));if(i=e.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return ij(e,t,s,r,a,i,n);if(o){o=r.fallback,s=t.mode,i=e.child,a=i.sibling;var l={mode:"hidden",children:r.children};return!(s&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=ks(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?o=ks(a,o):(o=$a(o,s,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,s=e.child.memoizedState,s=s===null?s_(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},o.memoizedState=s,o.childLanes=e.childLanes&~n,t.memoizedState=o_,r}return o=e.child,e=o.sibling,r=ks(o,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Gw(e,t){return t=Ry({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function lp(e,t,n,r){return r!==null&&Ow(r),zu(t,e.child,null,n),e=Gw(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ij(e,t,n,r,i,o,s){if(n)return t.flags&256?(t.flags&=-257,r=tb(Error(Z(422))),lp(e,t,s,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,i=t.mode,r=Ry({mode:"visible",children:r.children},i,0,null),o=$a(o,i,s,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,t.mode&1&&zu(t,e.child,null,s),t.child.memoizedState=s_(s),t.memoizedState=o_,o);if(!(t.mode&1))return lp(e,t,s,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,o=Error(Z(419)),r=tb(o,r,void 0),lp(e,t,s,r)}if(a=(s&e.childLanes)!==0,dr||a){if(r=gn,r!==null){switch(s&-s){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|s)?0:i,i!==0&&i!==o.retryLane&&(o.retryLane=i,Fo(e,i),yi(r,e,i,-1))}return Yw(),r=tb(Error(Z(421))),lp(e,t,s,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=yj.bind(null,e),i._reactRetry=t,null):(e=o.treeContext,Er=Ts(i.nextSibling),Pr=t,St=!0,ci=null,e!==null&&(Gr[Hr++]=To,Gr[Hr++]=Eo,Gr[Hr++]=qa,To=e.id,Eo=e.overflow,qa=t),t=Gw(t,r.children),t.flags|=4096,t)}function I5(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),JS(e.return,t,n)}function nb(e,t,n,r,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function x9(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(Yn(e,t,r.children,n),r=Et.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&I5(e,n,t);else if(e.tag===19)I5(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(lt(Et,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Xg(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),nb(t,!1,i,n,o);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Xg(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}nb(t,!0,n,null,o);break;case"together":nb(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function og(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Bo(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ka|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(Z(153));if(t.child!==null){for(e=t.child,n=ks(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ks(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function oj(e,t,n){switch(t.tag){case 3:_9(t),Vu();break;case 5:YA(t);break;case 1:gr(t.type)&&Ug(t);break;case 4:Lw(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;lt(qg,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(lt(Et,Et.current&1),t.flags|=128,null):n&t.child.childLanes?w9(e,t,n):(lt(Et,Et.current&1),e=Bo(e,t,n),e!==null?e.sibling:null);lt(Et,Et.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return x9(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),lt(Et,Et.current),r)break;return null;case 22:case 23:return t.lanes=0,b9(e,t,n)}return Bo(e,t,n)}var C9,a_,T9,E9;C9=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};a_=function(){};T9=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Oa(Xi.current);var o=null;switch(n){case"input":i=kS(e,i),r=kS(e,r),o=[];break;case"select":i=Ot({},i,{value:void 0}),r=Ot({},r,{value:void 0}),o=[];break;case"textarea":i=IS(e,i),r=IS(e,r),o=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Vg)}NS(n,r);var s;n=null;for(u in i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u==="style"){var a=i[u];for(s in a)a.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Fd.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var l=r[u];if(a=i!=null?i[u]:void 0,r.hasOwnProperty(u)&&l!==a&&(l!=null||a!=null))if(u==="style")if(a){for(s in a)!a.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in l)l.hasOwnProperty(s)&&a[s]!==l[s]&&(n||(n={}),n[s]=l[s])}else n||(o||(o=[]),o.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(o=o||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Fd.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&ct("scroll",e),o||a===l||(o=[])):(o=o||[]).push(u,l))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}};E9=function(e,t,n,r){n!==r&&(t.flags|=4)};function Fc(e,t){if(!St)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Nn(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function sj(e,t,n){var r=t.pendingProps;switch(kw(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Nn(t),null;case 1:return gr(t.type)&&zg(),Nn(t),null;case 3:return r=t.stateNode,Uu(),ht(pr),ht(Bn),Fw(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(sp(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ci!==null&&(g_(ci),ci=null))),a_(e,t),Nn(t),null;case 5:$w(t);var i=Oa(Yd.current);if(n=t.type,e!==null&&t.stateNode!=null)T9(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(Z(166));return Nn(t),null}if(e=Oa(Xi.current),sp(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[Vi]=t,r[Kd]=o,e=(t.mode&1)!==0,n){case"dialog":ct("cancel",r),ct("close",r);break;case"iframe":case"object":case"embed":ct("load",r);break;case"video":case"audio":for(i=0;i<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Vi]=t,e[Kd]=r,C9(e,t,!1,!1),t.stateNode=e;e:{switch(s=DS(n,r),n){case"dialog":ct("cancel",e),ct("close",e),i=r;break;case"iframe":case"object":case"embed":ct("load",e),i=r;break;case"video":case"audio":for(i=0;iHu&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xg(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fc(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!St)return Nn(t),null}else 2*Bt()-o.renderingStartTime>Hu&&n!==1073741824&&(t.flags|=128,r=!0,Fc(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Bt(),t.sibling=null,n=Et.current,lt(Et,r?n&1|2:n&1),t):(Nn(t),null);case 22:case 23:return Xw(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Cr&1073741824&&(Nn(t),t.subtreeFlags&6&&(t.flags|=8192)):Nn(t),null;case 24:return null;case 25:return null}throw Error(Z(156,t.tag))}function aj(e,t){switch(kw(t),t.tag){case 1:return gr(t.type)&&zg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Uu(),ht(pr),ht(Bn),Fw(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $w(t),null;case 13:if(ht(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Z(340));Vu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ht(Et),null;case 4:return Uu(),null;case 10:return Mw(t.type._context),null;case 22:case 23:return Xw(),null;case 24:return null;default:return null}}var up=!1,Fn=!1,lj=typeof WeakSet=="function"?WeakSet:Set,ae=null;function uu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Mt(e,t,r)}else n.current=null}function l_(e,t,n){try{n()}catch(r){Mt(e,t,r)}}var M5=!1;function uj(e,t){if(HS=Fg,e=OA(),Pw(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(qS={focusedElem:e,selectionRange:n},Fg=!1,ae=t;ae!==null;)if(t=ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ae=e;else for(;ae!==null;){t=ae;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ai(t.type,m),S);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(b){Mt(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,ae=e;break}ae=t.return}return p=M5,M5=!1,p}function xd(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&l_(t,n,o)}i=i.next}while(i!==r)}}function ky(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function u_(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function P9(e){var t=e.alternate;t!==null&&(e.alternate=null,P9(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vi],delete t[Kd],delete t[XS],delete t[HB],delete t[qB])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function A9(e){return e.tag===5||e.tag===3||e.tag===4}function N5(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||A9(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function c_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vg));else if(r!==4&&(e=e.child,e!==null))for(c_(e,t,n),e=e.sibling;e!==null;)c_(e,t,n),e=e.sibling}function d_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(d_(e,t,n),e=e.sibling;e!==null;)d_(e,t,n),e=e.sibling}var Tn=null,li=!1;function ts(e,t,n){for(n=n.child;n!==null;)k9(e,t,n),n=n.sibling}function k9(e,t,n){if(Ki&&typeof Ki.onCommitFiberUnmount=="function")try{Ki.onCommitFiberUnmount(_y,n)}catch{}switch(n.tag){case 5:Fn||uu(n,t);case 6:var r=Tn,i=li;Tn=null,ts(e,t,n),Tn=r,li=i,Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tn.removeChild(n.stateNode));break;case 18:Tn!==null&&(li?(e=Tn,n=n.stateNode,e.nodeType===8?X1(e.parentNode,n):e.nodeType===1&&X1(e,n),Ud(e)):X1(Tn,n.stateNode));break;case 4:r=Tn,i=li,Tn=n.stateNode.containerInfo,li=!0,ts(e,t,n),Tn=r,li=i;break;case 0:case 11:case 14:case 15:if(!Fn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&l_(n,t,s),i=i.next}while(i!==r)}ts(e,t,n);break;case 1:if(!Fn&&(uu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Mt(n,t,a)}ts(e,t,n);break;case 21:ts(e,t,n);break;case 22:n.mode&1?(Fn=(r=Fn)||n.memoizedState!==null,ts(e,t,n),Fn=r):ts(e,t,n);break;default:ts(e,t,n)}}function D5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new lj),t.forEach(function(r){var i=vj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function oi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Bt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dj(r/1960))-r,10e?16:e,bs===null)var r=!1;else{if(e=bs,bs=null,em=0,$e&6)throw Error(Z(331));var i=$e;for($e|=4,ae=e.current;ae!==null;){var o=ae,s=o.child;if(ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lBt()-Ww?La(e,0):qw|=n),mr(e,t)}function $9(e,t){t===0&&(e.mode&1?(t=ep,ep<<=1,!(ep&130023424)&&(ep=4194304)):t=1);var n=Zn();e=Fo(e,t),e!==null&&(eh(e,t,n),mr(e,n))}function yj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$9(e,n)}function vj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(t),$9(e,n)}var F9;F9=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pr.current)dr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return dr=!1,oj(e,t,n);dr=!!(e.flags&131072)}else dr=!1,St&&t.flags&1048576&&VA(t,Hg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;og(e,t),e=t.pendingProps;var i=ju(t,Bn.current);_u(t,n),i=jw(null,t,r,e,i,n);var o=Vw();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,gr(r)?(o=!0,Ug(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Dw(t),i.updater=Py,t.stateNode=i,i._reactInternals=t,t_(t,r,e,n),t=i_(null,t,r,!0,o,n)):(t.tag=0,St&&o&&Aw(t),Yn(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(og(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Sj(r),e=ai(r,e),i){case 0:t=r_(null,t,r,e,n);break e;case 1:t=O5(null,t,r,e,n);break e;case 11:t=A5(null,t,r,e,n);break e;case 14:t=k5(null,t,r,ai(r.type,e),n);break e}throw Error(Z(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),r_(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),O5(e,t,r,i,n);case 3:e:{if(_9(t),e===null)throw Error(Z(387));r=t.pendingProps,o=t.memoizedState,i=o.element,HA(e,t),Kg(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Gu(Error(Z(423)),t),t=R5(e,t,r,n,i);break e}else if(r!==i){i=Gu(Error(Z(424)),t),t=R5(e,t,r,n,i);break e}else for(Er=Ts(t.stateNode.containerInfo.firstChild),Pr=t,St=!0,ci=null,n=XA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Vu(),r===i){t=Bo(e,t,n);break e}Yn(e,t,r,n)}t=t.child}return t;case 5:return YA(t),e===null&&ZS(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,WS(r,i)?s=null:o!==null&&WS(r,o)&&(t.flags|=32),S9(e,t),Yn(e,t,s,n),t.child;case 6:return e===null&&ZS(t),null;case 13:return w9(e,t,n);case 4:return Lw(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=zu(t,null,r,n):Yn(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),A5(e,t,r,i,n);case 7:return Yn(e,t,t.pendingProps,n),t.child;case 8:return Yn(e,t,t.pendingProps.children,n),t.child;case 12:return Yn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,lt(qg,r._currentValue),r._currentValue=s,o!==null)if(wi(o.value,s)){if(o.children===i.children&&!pr.current){t=Bo(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ko(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),JS(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(Z(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),JS(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Yn(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,_u(t,n),i=Yr(i),r=r(i),t.flags|=1,Yn(e,t,r,n),t.child;case 14:return r=t.type,i=ai(r,t.pendingProps),i=ai(r.type,i),k5(e,t,r,i,n);case 15:return v9(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),og(e,t),t.tag=1,gr(r)?(e=!0,Ug(t)):e=!1,_u(t,n),WA(t,r,i),t_(t,r,i,n),i_(null,t,r,!0,e,n);case 19:return x9(e,t,n);case 22:return b9(e,t,n)}throw Error(Z(156,t.tag))};function B9(e,t){return dA(e,t)}function bj(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wr(e,t,n,r){return new bj(e,t,n,r)}function Qw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sj(e){if(typeof e=="function")return Qw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===mw)return 11;if(e===yw)return 14}return 2}function ks(e,t){var n=e.alternate;return n===null?(n=Wr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")Qw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case eu:return $a(n.children,i,o,t);case gw:s=8,i|=8;break;case TS:return e=Wr(12,n,t,i|2),e.elementType=TS,e.lanes=o,e;case ES:return e=Wr(13,n,t,i),e.elementType=ES,e.lanes=o,e;case PS:return e=Wr(19,n,t,i),e.elementType=PS,e.lanes=o,e;case K8:return Ry(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case q8:s=10;break e;case W8:s=9;break e;case mw:s=11;break e;case yw:s=14;break e;case ls:s=16,r=null;break e}throw Error(Z(130,e==null?e:typeof e,""))}return t=Wr(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function $a(e,t,n,r){return e=Wr(7,e,r,t),e.lanes=n,e}function Ry(e,t,n,r){return e=Wr(22,e,r,t),e.elementType=K8,e.lanes=n,e.stateNode={isHidden:!1},e}function rb(e,t,n){return e=Wr(6,e,null,t),e.lanes=n,e}function ib(e,t,n){return t=Wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _j(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=F1(0),this.expirationTimes=F1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=F1(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Zw(e,t,n,r,i,o,s,a,l){return e=new _j(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Wr(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Dw(o),e}function wj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(U9)}catch(e){console.error(e)}}U9(),V8.exports=Mr;var zi=V8.exports;const cwe=al(zi);var U5=zi;xS.createRoot=U5.createRoot,xS.hydrateRoot=U5.hydrateRoot;const Pj="modulepreload",Aj=function(e,t){return new URL(e,t).href},G5={},G9=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Aj(o,r),o in G5)return;G5[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":Pj,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var H9={exports:{}},q9={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -53,14 +53,14 @@ Error generating stack: `+o.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ly=k,Bj=Fj;function jj(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Vj=typeof Object.is=="function"?Object.is:jj,zj=Bj.useSyncExternalStore,Uj=Ly.useRef,Gj=Ly.useEffect,Hj=Ly.useMemo,qj=Ly.useDebugValue;K9.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Uj(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=Hj(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return d=p}return d=h}if(p=d,Vj(c,h))return p;var m=r(h);return i!==void 0&&i(p,m)?p:(c=h,d=m)}var u=!1,c,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var a=zj(e,o[0],o[1]);return Gj(function(){s.hasValue=!0,s.value=a},[a]),qj(a),a};W9.exports=K9;var X9=W9.exports;const Wj=al(X9);function Kj(e){e()}let Y9=Kj;const Xj=e=>Y9=e,Yj=()=>Y9,H5=Symbol.for(`react-redux-context-${k.version}`),q5=globalThis;function Qj(){let e=q5[H5];return e||(e=k.createContext(null),q5[H5]=e),e}const Fs=new Proxy({},new Proxy({},{get(e,t){const n=Qj();return(r,...i)=>Reflect[t](n,...i)}}));function nx(e=Fs){return function(){return k.useContext(e)}}const Q9=nx(),Zj=()=>{throw new Error("uSES not initialized!")};let Z9=Zj;const Jj=e=>{Z9=e},eV=(e,t)=>e===t;function tV(e=Fs){const t=e===Fs?Q9:nx(e);return function(r,i={}){const{equalityFn:o=eV,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:c,stabilityCheck:d,noopCheck:f}=t();k.useRef(!0);const h=k.useCallback({[r.name](m){return r(m)}}[r.name],[r,d,s]),p=Z9(u.addNestedSub,l.getState,c||l.getState,h,o);return k.useDebugValue(p),p}}const J9=tV();function rm(){return rm=Object.assign?Object.assign.bind():function(e){for(var t=1;tY9=e,Yj=()=>Y9,H5=Symbol.for(`react-redux-context-${k.version}`),q5=globalThis;function Qj(){let e=q5[H5];return e||(e=k.createContext(null),q5[H5]=e),e}const Fs=new Proxy({},new Proxy({},{get(e,t){const n=Qj();return(r,...i)=>Reflect[t](n,...i)}}));function nx(e=Fs){return function(){return k.useContext(e)}}const Q9=nx(),Zj=()=>{throw new Error("uSES not initialized!")};let Z9=Zj;const Jj=e=>{Z9=e},eV=(e,t)=>e===t;function tV(e=Fs){const t=e===Fs?Q9:nx(e);return function(r,i={}){const{equalityFn:o=eV,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:c,stabilityCheck:d,noopCheck:f}=t();k.useRef(!0);const h=k.useCallback({[r.name](m){return r(m)}}[r.name],[r,d,s]),p=Z9(u.addNestedSub,l.getState,c||l.getState,h,o);return k.useDebugValue(p),p}}const J9=tV();function rm(){return rm=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const W5={notify(){},get:()=>[]};function hV(e,t){let n,r=W5;function i(d){return l(),r.subscribe(d)}function o(){r.notify()}function s(){c.onStateChange&&c.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=fV())}function u(){n&&(n(),n=void 0,r.clear(),r=W5)}const c={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return c}const pV=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",gV=pV?k.useLayoutEffect:k.useEffect;function K5(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function im(e,t){if(K5(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=hV(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=k.useMemo(()=>e.getState(),[e]);gV(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Fs;return We.createElement(l.Provider,{value:s},n)}function ok(e=Fs){const t=e===Fs?Q9:nx(e);return function(){const{store:r}=t();return r}}const sk=ok();function yV(e=Fs){const t=e===Fs?sk:ok(e);return function(){return t().dispatch}}const ak=yV();Jj(X9.useSyncExternalStoreWithSelector);Xj(zi.unstable_batchedUpdates);function pn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:r0(e)?2:i0(e)?3:0}function Os(e,t){return Bs(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function ug(e,t){return Bs(e)===2?e.get(t):e[t]}function lk(e,t,n){var r=Bs(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function uk(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function r0(e){return xV&&e instanceof Map}function i0(e){return CV&&e instanceof Set}function un(e){return e.o||e.t}function ux(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=dk(e);delete t[_e];for(var n=Cu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=vV),Object.freeze(e),t&&jo(e,function(n,r){return ih(r,!0)},!0)),e}function vV(){pn(2)}function cx(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Yi(e){var t=y_[e];return t||pn(18,e),t}function dx(e,t){y_[e]||(y_[e]=t)}function tf(){return rf}function sb(e,t){t&&(Yi("Patches"),e.u=[],e.s=[],e.v=t)}function om(e){m_(e),e.p.forEach(bV),e.p=null}function m_(e){e===rf&&(rf=e.l)}function X5(e){return rf={p:[],l:rf,h:e,m:!0,_:0}}function bV(e){var t=e[_e];t.i===0||t.i===1?t.j():t.g=!0}function ab(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Yi("ES5").S(t,e,r),r?(n[_e].P&&(om(t),pn(4)),yr(e)&&(e=sm(t,e),t.l||am(t,e)),t.u&&Yi("Patches").M(n[_e].t,e,t.u,t.s)):e=sm(t,n,[]),om(t),t.u&&t.v(t.u,t.s),e!==s0?e:void 0}function sm(e,t,n){if(cx(t))return t;var r=t[_e];if(!r)return jo(t,function(a,l){return Y5(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return am(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=ux(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),jo(o,function(a,l){return Y5(e,r,i,a,l,n,s)}),am(e,i,!1),n&&e.u&&Yi("Patches").N(r,n,e.u,e.s)}return r.o}function Y5(e,t,n,r,i,o,s){if(er(i)){var a=sm(e,i,o&&t&&t.i!==3&&!Os(t.R,r)?o.concat(r):void 0);if(lk(n,r,a),!er(a))return;e.m=!1}else s&&n.add(i);if(yr(i)&&!cx(i)){if(!e.h.D&&e._<1)return;sm(e,i),t&&t.A.l||am(e,i)}}function am(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&ih(t,n)}function lb(e,t){var n=e[_e];return(n?un(n):e)[t]}function Q5(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function cr(e){e.P||(e.P=!0,e.l&&cr(e.l))}function ub(e){e.o||(e.o=ux(e.t))}function nf(e,t,n){var r=r0(t)?Yi("MapSet").F(t,n):i0(t)?Yi("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:tf(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=of;s&&(l=[a],u=dd);var c=Proxy.revocable(l,u),d=c.revoke,f=c.proxy;return a.k=f,a.j=d,f}(t,n):Yi("ES5").J(t,n);return(n?n.A:tf()).p.push(r),r}function o0(e){return er(e)||pn(22,e),function t(n){if(!yr(n))return n;var r,i=n[_e],o=Bs(n);if(i){if(!i.P&&(i.i<4||!Yi("ES5").K(i)))return i.t;i.I=!0,r=Z5(n,o),i.I=!1}else r=Z5(n,o);return jo(r,function(s,a){i&&ug(i.t,s)===a||lk(r,s,t(a))}),o===3?new Set(r):r}(e)}function Z5(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ux(e)}function fx(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[_e];return of.get(l,o)},set:function(l){var u=this[_e];of.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][_e];if(!a.P)switch(a.i){case 5:r(a)&&cr(a);break;case 4:n(a)&&cr(a)}}}function n(o){for(var s=o.t,a=o.k,l=Cu(a),u=l.length-1;u>=0;u--){var c=l[u];if(c!==_e){var d=s[c];if(d===void 0&&!Os(s,c))return!0;var f=a[c],h=f&&f[_e];if(h?h.t!==d:!uk(f,d))return!0}}var p=!!s[_e];return l.length!==Cu(s).length+(p?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?v-1:0),g=1;g1?c-1:0),f=1;f=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Yi("Patches").$;return er(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Or=new fk,hk=Or.produce,gx=Or.produceWithPatches.bind(Or),EV=Or.setAutoFreeze.bind(Or),PV=Or.setUseProxies.bind(Or),v_=Or.applyPatches.bind(Or),AV=Or.createDraft.bind(Or),kV=Or.finishDraft.bind(Or);const Js=hk,dwe=Object.freeze(Object.defineProperty({__proto__:null,Immer:fk,applyPatches:v_,castDraft:_V,castImmutable:wV,createDraft:AV,current:o0,default:Js,enableAllPlugins:SV,enableES5:fx,enableMapSet:ck,enablePatches:hx,finishDraft:kV,freeze:ih,immerable:xu,isDraft:er,isDraftable:yr,nothing:s0,original:lx,produce:hk,produceWithPatches:gx,setAutoFreeze:EV,setUseProxies:PV},Symbol.toStringTag,{value:"Module"}));function sf(e){"@babel/helpers - typeof";return sf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sf(e)}function OV(e,t){if(sf(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(sf(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function RV(e){var t=OV(e,"string");return sf(t)==="symbol"?t:String(t)}function IV(e,t,n){return t=RV(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function n4(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(En(1));return n(oh)(e,t)}if(typeof e!="function")throw new Error(En(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function c(){if(l)throw new Error(En(3));return o}function d(m){if(typeof m!="function")throw new Error(En(4));if(l)throw new Error(En(5));var S=!0;return u(),a.push(m),function(){if(S){if(l)throw new Error(En(6));S=!1,u();var y=a.indexOf(m);a.splice(y,1),s=null}}}function f(m){if(!MV(m))throw new Error(En(7));if(typeof m.type>"u")throw new Error(En(8));if(l)throw new Error(En(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var S=s=a,v=0;v"u")throw new Error(En(12));if(typeof n(void 0,{type:Wu.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(En(13))})}function pc(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(En(14));d[h]=S,c=c||S!==m}return c=c||o.length!==Object.keys(l).length,c?d:l}}function i4(e,t){return function(){return t(e.apply(this,arguments))}}function gk(e,t){if(typeof e=="function")return i4(e,t);if(typeof e!="object"||e===null)throw new Error(En(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=i4(i,t))}return n}function Ku(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return lm}function i(a,l){r(a)===lm&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var mk=function(t,n){return t===n};function FV(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(S,v){var y=t?t+"."+S:S;if(l){var g=i.some(function(b){return b instanceof RegExp?b.test(y):y===b});if(g)return"continue"}if(!n(v))return{value:{keyPath:y,value:v}};if(typeof v=="object"&&(s=Ck(v,y,n,r,i,o),s))return{value:s}},c=0,d=a;c-1}function ez(e){return""+e}function kk(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function tz(e){return typeof e=="function"}function Ok(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?kk(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(tz(e))l=function(){return b_(e())};else{var u=b_(e);l=function(){return u}}function c(d,f){d===void 0&&(d=l());var h=js([o[f.type]],s.filter(function(p){var m=p.matcher;return m(f)}).map(function(p){var m=p.reducer;return m}));return h.filter(function(p){return!!p}).length===0&&(h=[a]),h.reduce(function(p,m){if(m)if(er(p)){var S=p,v=m(S,f);return v===void 0?p:v}else{if(yr(p))return Js(p,function(y){return m(y,f)});var v=m(p,f);if(v===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}return p},d)}return c.getInitialState=l,c}function nz(e,t){return e+"/"+t}function Pt(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:b_(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(c){var d=r[c],f=nz(t,c),h,p;"reducer"in d?(h=d.reducer,p=d.prepare):h=d,o[c]=h,s[f]=h,a[c]=p?ue(f,p):ue(f)});function l(){var c=typeof e.extraReducers=="function"?kk(e.extraReducers):[e.extraReducers],d=c[0],f=d===void 0?{}:d,h=c[1],p=h===void 0?[]:h,m=c[2],S=m===void 0?void 0:m,v=fr(fr({},f),s);return Ok(n,function(y){for(var g in v)y.addCase(g,v[g]);for(var b=0,_=p;b<_.length;b++){var w=_[b];y.addMatcher(w.matcher,w.reducer)}S&&y.addDefaultCase(S)})}var u;return{name:t,reducer:function(c,d){return u||(u=l()),u(c,d)},actions:a,caseReducers:o,getInitialState:function(){return u||(u=l()),u.getInitialState()}}}function rz(){return{ids:[],entities:{}}}function iz(){function e(t){return t===void 0&&(t={}),Object.assign(rz(),t)}return{getInitialState:e}}function oz(){function e(t){var n=function(u){return u.ids},r=function(u){return u.entities},i=yo(n,r,function(u,c){return u.map(function(d){return c[d]})}),o=function(u,c){return c},s=function(u,c){return u[c]},a=yo(n,function(u){return u.length});if(!t)return{selectIds:n,selectEntities:r,selectAll:i,selectTotal:a,selectById:yo(r,o,s)};var l=yo(t,r);return{selectIds:yo(t,n),selectEntities:l,selectAll:yo(t,i),selectTotal:yo(t,a),selectById:yo(l,o,s)}}return{getSelectors:e}}function sz(e){var t=Lt(function(n,r){return e(r)});return function(r){return t(r,void 0)}}function Lt(e){return function(n,r){function i(s){return Ak(s)}var o=function(s){i(r)?e(r.payload,s):e(r,s)};return er(n)?(o(n),n):Js(n,o)}}function Ed(e,t){var n=t(e);return n}function Fa(e){return Array.isArray(e)||(e=Object.values(e)),e}function Rk(e,t,n){e=Fa(e);for(var r=[],i=[],o=0,s=e;o0;if(y){var g=p.filter(function(b){return u(S,b,m)}).length>0;g&&(m.ids=Object.keys(m.entities))}}function f(p,m){return h([p],m)}function h(p,m){var S=Rk(p,e,m),v=S[0],y=S[1];d(y,m),n(v,m)}return{removeAll:sz(l),addOne:Lt(t),addMany:Lt(n),setOne:Lt(r),setMany:Lt(i),setAll:Lt(o),updateOne:Lt(c),updateMany:Lt(d),upsertOne:Lt(f),upsertMany:Lt(h),removeOne:Lt(s),removeMany:Lt(a)}}function az(e,t){var n=Ik(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(y,g){return a([y],g)}function a(y,g){y=Fa(y);var b=y.filter(function(_){return!(Ed(_,e)in g.entities)});b.length!==0&&S(b,g)}function l(y,g){return u([y],g)}function u(y,g){y=Fa(y),y.length!==0&&S(y,g)}function c(y,g){y=Fa(y),g.entities={},g.ids=[],a(y,g)}function d(y,g){return f([y],g)}function f(y,g){for(var b=!1,_=0,w=y;_-1;return n&&r}function lh(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function u0(){for(var e=[],t=0;t0)for(var g=h.getState(),b=Array.from(n.values()),_=0,w=b;_Math.floor(e/t)*t,Ui=(e,t)=>Math.round(e/t)*t;var Tz=typeof global=="object"&&global&&global.Object===Object&&global;const Yk=Tz;var Ez=typeof self=="object"&&self&&self.Object===Object&&self,Pz=Yk||Ez||Function("return this")();const oo=Pz;var Az=oo.Symbol;const Zr=Az;var Qk=Object.prototype,kz=Qk.hasOwnProperty,Oz=Qk.toString,jc=Zr?Zr.toStringTag:void 0;function Rz(e){var t=kz.call(e,jc),n=e[jc];try{e[jc]=void 0;var r=!0}catch{}var i=Oz.call(e);return r&&(t?e[jc]=n:delete e[jc]),i}var Iz=Object.prototype,Mz=Iz.toString;function Nz(e){return Mz.call(e)}var Dz="[object Null]",Lz="[object Undefined]",f4=Zr?Zr.toStringTag:void 0;function ta(e){return e==null?e===void 0?Lz:Dz:f4&&f4 in Object(e)?Rz(e):Nz(e)}function Ci(e){return e!=null&&typeof e=="object"}var $z="[object Symbol]";function c0(e){return typeof e=="symbol"||Ci(e)&&ta(e)==$z}function Zk(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=gU)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bU(e){return function(){return e}}var SU=function(){try{var e=fl(Object,"defineProperty");return e({},"",{}),e}catch{}}();const fm=SU;var _U=fm?function(e,t){return fm(e,"toString",{configurable:!0,enumerable:!1,value:bU(t),writable:!0})}:d0;const wU=_U;var xU=vU(wU);const nO=xU;function rO(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var kU=9007199254740991,OU=/^(?:0|[1-9]\d*)$/;function _x(e,t){var n=typeof e;return t=t??kU,!!t&&(n=="number"||n!="symbol"&&OU.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MU}function mc(e){return e!=null&&xx(e.length)&&!Sx(e)}function aO(e,t,n){if(!vr(n))return!1;var r=typeof t;return(r=="number"?mc(n)&&_x(t,n.length):r=="string"&&t in n)?fh(n[t],e):!1}function lO(e){return sO(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&aO(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function KG(e,t){var n=this.__data__,r=f0(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ho(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?gO(a,t-1,n,r,i):Ox(i,a):r||(i[i.length]=a)}return i}function fH(e){var t=e==null?0:e.length;return t?gO(e,1):[]}function hH(e){return nO(oO(e,void 0,fH),e+"")}var pH=hO(Object.getPrototypeOf,Object);const Rx=pH;var gH="[object Object]",mH=Function.prototype,yH=Object.prototype,mO=mH.toString,vH=yH.hasOwnProperty,bH=mO.call(Object);function yO(e){if(!Ci(e)||ta(e)!=gH)return!1;var t=Rx(e);if(t===null)return!0;var n=vH.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&mO.call(n)==bH}function vO(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:vO(e,t,n)}var _H="\\ud800-\\udfff",wH="\\u0300-\\u036f",xH="\\ufe20-\\ufe2f",CH="\\u20d0-\\u20ff",TH=wH+xH+CH,EH="\\ufe0e\\ufe0f",PH="\\u200d",AH=RegExp("["+PH+_H+TH+EH+"]");function Ix(e){return AH.test(e)}function kH(e){return e.split("")}var bO="\\ud800-\\udfff",OH="\\u0300-\\u036f",RH="\\ufe20-\\ufe2f",IH="\\u20d0-\\u20ff",MH=OH+RH+IH,NH="\\ufe0e\\ufe0f",DH="["+bO+"]",x_="["+MH+"]",C_="\\ud83c[\\udffb-\\udfff]",LH="(?:"+x_+"|"+C_+")",SO="[^"+bO+"]",_O="(?:\\ud83c[\\udde6-\\uddff]){2}",wO="[\\ud800-\\udbff][\\udc00-\\udfff]",$H="\\u200d",xO=LH+"?",CO="["+NH+"]?",FH="(?:"+$H+"(?:"+[SO,_O,wO].join("|")+")"+CO+xO+")*",BH=CO+xO+FH,jH="(?:"+[SO+x_+"?",x_,_O,wO,DH].join("|")+")",VH=RegExp(C_+"(?="+C_+")|"+jH+BH,"g");function zH(e){return e.match(VH)||[]}function UH(e){return Ix(e)?zH(e):kH(e)}function GH(e){return function(t){t=p0(t);var n=Ix(t)?UH(t):void 0,r=n?n[0]:t.charAt(0),i=n?SH(n,1).join(""):t.slice(1);return r[e]()+i}}var HH=GH("toUpperCase");const qH=HH;function TO(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function Ss(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=hb(n),n=n===n?n:0),t!==void 0&&(t=hb(t),t=t===t?t:0),Lq(hb(e),t,n)}function $q(){this.__data__=new Ho,this.size=0}function Fq(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Bq(e){return this.__data__.get(e)}function jq(e){return this.__data__.has(e)}var Vq=200;function zq(e,t){var n=this.__data__;if(n instanceof Ho){var r=n.__data__;if(!cf||r.lengtha))return!1;var u=o.get(e),c=o.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=n&wK?new df:void 0;for(o.set(e,t),o.set(t,e);++d1),o}),gc(e,HO(e),n),r&&(n=Ad(n,EX|PX|AX,TX));for(var i=t.length;i--;)sR(n,t[i]);return n});const _0=kX;var OX=nR("length");const RX=OX;var aR="\\ud800-\\udfff",IX="\\u0300-\\u036f",MX="\\ufe20-\\ufe2f",NX="\\u20d0-\\u20ff",DX=IX+MX+NX,LX="\\ufe0e\\ufe0f",$X="["+aR+"]",O_="["+DX+"]",R_="\\ud83c[\\udffb-\\udfff]",FX="(?:"+O_+"|"+R_+")",lR="[^"+aR+"]",uR="(?:\\ud83c[\\udde6-\\uddff]){2}",cR="[\\ud800-\\udbff][\\udc00-\\udfff]",BX="\\u200d",dR=FX+"?",fR="["+LX+"]?",jX="(?:"+BX+"(?:"+[lR,uR,cR].join("|")+")"+fR+dR+")*",VX=fR+dR+jX,zX="(?:"+[lR+O_+"?",O_,uR,cR,$X].join("|")+")",H4=RegExp(R_+"(?="+R_+")|"+zX+VX,"g");function UX(e){for(var t=H4.lastIndex=0;H4.test(e);)++t;return t}function GX(e){return Ix(e)?UX(e):RX(e)}function HX(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function Lx(e,t,n){var r=mn(e)?TO:HX,i=arguments.length<3;return r(e,y0(t),n,i,v0)}var qX="[object Map]",WX="[object Set]";function hR(e){if(e==null)return 0;if(mc(e))return _X(e)?GX(e):e.length;var t=Qu(e);return t==qX||t==WX?e.size:pO(e).length}function KX(e,t){var n;return v0(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function Ea(e,t,n){var r=mn(e)?QO:KX;return n&&aO(e,t,n)&&(t=void 0),r(e,y0(t))}var XX=Dq(function(e,t,n){return e+(n?" ":"")+qH(t)});const YX=XX;var QX=1/0,ZX=Au&&1/Dx(new Au([,-0]))[1]==QX?function(e){return new Au(e)}:pU;const JX=ZX;var eY=200;function pR(e,t,n){var r=-1,i=AU,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=mX;else if(o>=eY){var u=t?null:JX(e);if(u)return Dx(u);s=!1,i=ZO,l=new df}else l=t?[]:a;e:for(;++r{CX(e,t.payload)}}}),{configChanged:iY}=mR.actions,oY=mR.reducer,pwe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},sY={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},gwe=0,aY=4294967295;var Ve;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(Ve||(Ve={}));var I_;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(I_||(I_={}));const re=Ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ms=e=>{switch(typeof e){case"undefined":return re.undefined;case"string":return re.string;case"number":return isNaN(e)?re.nan:re.number;case"boolean":return re.boolean;case"function":return re.function;case"bigint":return re.bigint;case"symbol":return re.symbol;case"object":return Array.isArray(e)?re.array:e===null?re.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?re.promise:typeof Map<"u"&&e instanceof Map?re.map:typeof Set<"u"&&e instanceof Set?re.set:typeof Date<"u"&&e instanceof Date?re.date:re.object;default:return re.unknown}},ee=Ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),lY=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class bi extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}bi.create=e=>new bi(e);const ff=(e,t)=>{let n;switch(e.code){case ee.invalid_type:e.received===re.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case ee.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ve.jsonStringifyReplacer)}`;break;case ee.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ve.joinValues(e.keys,", ")}`;break;case ee.invalid_union:n="Invalid input";break;case ee.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ve.joinValues(e.options)}`;break;case ee.invalid_enum_value:n=`Invalid enum value. Expected ${Ve.joinValues(e.options)}, received '${e.received}'`;break;case ee.invalid_arguments:n="Invalid function arguments";break;case ee.invalid_return_type:n="Invalid function return type";break;case ee.invalid_date:n="Invalid date";break;case ee.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ve.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case ee.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case ee.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case ee.custom:n="Invalid input";break;case ee.invalid_intersection_types:n="Intersection results could not be merged";break;case ee.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ee.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ve.assertNever(e)}return{message:n}};let yR=ff;function uY(e){yR=e}function pm(){return yR}const gm=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},cY=[];function oe(e,t){const n=gm({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,pm(),ff].filter(r=>!!r)});e.common.issues.push(n)}class jn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return be;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return jn.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return be;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const be=Object.freeze({status:"aborted"}),vR=e=>({status:"dirty",value:e}),tr=e=>({status:"valid",value:e}),M_=e=>e.status==="aborted",N_=e=>e.status==="dirty",mm=e=>e.status==="valid",ym=e=>typeof Promise<"u"&&e instanceof Promise;var ge;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ge||(ge={}));class eo{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const q4=(e,t)=>{if(mm(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new bi(e.common.issues);return this._error=n,this._error}}};function we(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class Ce{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ms(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new jn,ctx:{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(ym(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},o=this._parseSync({data:t,path:i.path,parent:i});return q4(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(ym(i)?i:Promise.resolve(i));return q4(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:ee.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ti({schema:this,typeName:ye.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return Oo.create(this,this._def)}nullable(){return el.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Si.create(this,this._def)}promise(){return Ju.create(this,this._def)}or(t){return mf.create([this,t],this._def)}and(t){return yf.create(this,t,this._def)}transform(t){return new Ti({...we(this._def),schema:this,typeName:ye.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new wf({...we(this._def),innerType:this,defaultValue:n,typeName:ye.ZodDefault})}brand(){return new SR({typeName:ye.ZodBranded,type:this,...we(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _m({...we(this._def),innerType:this,catchValue:n,typeName:ye.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return mh.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const dY=/^c[^\s-]{8,}$/i,fY=/^[a-z][a-z0-9]*$/,hY=/[0-9A-HJKMNP-TV-Z]{26}/,pY=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,gY=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,mY=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,yY=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,vY=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,bY=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function SY(e,t){return!!((t==="v4"||!t)&&yY.test(e)||(t==="v6"||!t)&&vY.test(e))}class pi extends Ce{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:ee.invalid_string,...ge.errToObj(r)}),this.nonempty=t=>this.min(1,ge.errToObj(t)),this.trim=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==re.string){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.string,received:o.parsedType}),be}const r=new jn;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...ge.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ge.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...ge.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ge.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ge.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ge.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ge.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ge.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new pi({checks:[],typeName:ye.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};function _Y(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zs extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==re.number){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.number,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="int"?Ve.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?_Y(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_finite,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new zs({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new zs({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ge.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ge.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&Ve.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zs({checks:[],typeName:ye.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Us extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==re.bigint){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.bigint,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Us({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Us({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Us({checks:[],typeName:ye.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};class hf extends Ce{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==re.boolean){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.boolean,received:r.parsedType}),be}return tr(t.data)}}hf.create=e=>new hf({typeName:ye.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Za extends Ce{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==re.date){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.date,received:o.parsedType}),be}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_date}),be}const r=new jn;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):Ve.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Za({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ge.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ge.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew Za({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:ye.ZodDate,...we(e)});class vm extends Ce{_parse(t){if(this._getType(t)!==re.symbol){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.symbol,received:r.parsedType}),be}return tr(t.data)}}vm.create=e=>new vm({typeName:ye.ZodSymbol,...we(e)});class pf extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.undefined,received:r.parsedType}),be}return tr(t.data)}}pf.create=e=>new pf({typeName:ye.ZodUndefined,...we(e)});class gf extends Ce{_parse(t){if(this._getType(t)!==re.null){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.null,received:r.parsedType}),be}return tr(t.data)}}gf.create=e=>new gf({typeName:ye.ZodNull,...we(e)});class Zu extends Ce{constructor(){super(...arguments),this._any=!0}_parse(t){return tr(t.data)}}Zu.create=e=>new Zu({typeName:ye.ZodAny,...we(e)});class Ba extends Ce{constructor(){super(...arguments),this._unknown=!0}_parse(t){return tr(t.data)}}Ba.create=e=>new Ba({typeName:ye.ZodUnknown,...we(e)});class Vo extends Ce{_parse(t){const n=this._getOrReturnCtx(t);return oe(n,{code:ee.invalid_type,expected:re.never,received:n.parsedType}),be}}Vo.create=e=>new Vo({typeName:ye.ZodNever,...we(e)});class bm extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.void,received:r.parsedType}),be}return tr(t.data)}}bm.create=e=>new bm({typeName:ye.ZodVoid,...we(e)});class Si extends Ce{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==re.array)return oe(n,{code:ee.invalid_type,expected:re.array,received:n.parsedType}),be;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(oe(n,{code:ee.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new eo(n,s,n.path,a)))).then(s=>jn.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new eo(n,s,n.path,a)));return jn.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Si({...this._def,minLength:{value:t,message:ge.toString(n)}})}max(t,n){return new Si({...this._def,maxLength:{value:t,message:ge.toString(n)}})}length(t,n){return new Si({...this._def,exactLength:{value:t,message:ge.toString(n)}})}nonempty(t){return this.min(1,t)}}Si.create=(e,t)=>new Si({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ye.ZodArray,...we(t)});function Wl(e){if(e instanceof Tt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Oo.create(Wl(r))}return new Tt({...e._def,shape:()=>t})}else return e instanceof Si?new Si({...e._def,type:Wl(e.element)}):e instanceof Oo?Oo.create(Wl(e.unwrap())):e instanceof el?el.create(Wl(e.unwrap())):e instanceof to?to.create(e.items.map(t=>Wl(t))):e}class Tt extends Ce{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Ve.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==re.object){const u=this._getOrReturnCtx(t);return oe(u,{code:ee.invalid_type,expected:re.object,received:u.parsedType}),be}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Vo&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const c=o[u],d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new eo(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Vo){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(u==="strict")a.length>0&&(oe(i,{code:ee.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new eo(i,d,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of l){const d=await c.key;u.push({key:d,value:await c.value,alwaysSet:c.alwaysSet})}return u}).then(u=>jn.mergeObjectSync(r,u)):jn.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return ge.errToObj,new Tt({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=ge.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new Tt({...this._def,unknownKeys:"strip"})}passthrough(){return new Tt({...this._def,unknownKeys:"passthrough"})}extend(t){return new Tt({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Tt({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ye.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Tt({...this._def,catchall:t})}pick(t){const n={};return Ve.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}omit(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}deepPartial(){return Wl(this)}partial(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new Tt({...this._def,shape:()=>n})}required(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof Oo;)o=o._def.innerType;n[r]=o}}),new Tt({...this._def,shape:()=>n})}keyof(){return bR(Ve.objectKeys(this.shape))}}Tt.create=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.strictCreate=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strict",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.lazycreate=(e,t)=>new Tt({shape:e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});class mf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new bi(a.ctx.common.issues));return oe(n,{code:ee.invalid_union,unionErrors:s}),be}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new bi(l));return oe(n,{code:ee.invalid_union,unionErrors:a}),be}}get options(){return this._def.options}}mf.create=(e,t)=>new mf({options:e,typeName:ye.ZodUnion,...we(t)});const dg=e=>e instanceof bf?dg(e.schema):e instanceof Ti?dg(e.innerType()):e instanceof Sf?[e.value]:e instanceof Gs?e.options:e instanceof _f?Object.keys(e.enum):e instanceof wf?dg(e._def.innerType):e instanceof pf?[void 0]:e instanceof gf?[null]:null;class w0 extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.object)return oe(n,{code:ee.invalid_type,expected:re.object,received:n.parsedType}),be;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(oe(n,{code:ee.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),be)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=dg(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new w0({typeName:ye.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...we(r)})}}function D_(e,t){const n=ms(e),r=ms(t);if(e===t)return{valid:!0,data:e};if(n===re.object&&r===re.object){const i=Ve.objectKeys(t),o=Ve.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=D_(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===re.array&&r===re.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(M_(o)||M_(s))return be;const a=D_(o.value,s.value);return a.valid?((N_(o)||N_(s))&&n.dirty(),{status:n.value,value:a.data}):(oe(r,{code:ee.invalid_intersection_types}),be)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}yf.create=(e,t,n)=>new yf({left:e,right:t,typeName:ye.ZodIntersection,...we(n)});class to extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.array)return oe(r,{code:ee.invalid_type,expected:re.array,received:r.parsedType}),be;if(r.data.lengththis._def.items.length&&(oe(r,{code:ee.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new eo(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>jn.mergeArray(n,s)):jn.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new to({...this._def,rest:t})}}to.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new to({items:e,typeName:ye.ZodTuple,rest:null,...we(t)})};class vf extends Ce{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.object)return oe(r,{code:ee.invalid_type,expected:re.object,received:r.parsedType}),be;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new eo(r,a,r.path,a)),value:s._parse(new eo(r,r.data[a],r.path,a))});return r.common.async?jn.mergeObjectAsync(n,i):jn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ce?new vf({keyType:t,valueType:n,typeName:ye.ZodRecord,...we(r)}):new vf({keyType:pi.create(),valueType:t,typeName:ye.ZodRecord,...we(n)})}}class Sm extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.map)return oe(r,{code:ee.invalid_type,expected:re.map,received:r.parsedType}),be;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new eo(r,a,r.path,[u,"key"])),value:o._parse(new eo(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}}Sm.create=(e,t,n)=>new Sm({valueType:t,keyType:e,typeName:ye.ZodMap,...we(n)});class Ja extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.set)return oe(r,{code:ee.invalid_type,expected:re.set,received:r.parsedType}),be;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(oe(r,{code:ee.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const c of l){if(c.status==="aborted")return be;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new eo(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new Ja({...this._def,minSize:{value:t,message:ge.toString(n)}})}max(t,n){return new Ja({...this._def,maxSize:{value:t,message:ge.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Ja.create=(e,t)=>new Ja({valueType:e,minSize:null,maxSize:null,typeName:ye.ZodSet,...we(t)});class ku extends Ce{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.function)return oe(n,{code:ee.invalid_type,expected:re.function,received:n.parsedType}),be;function r(a,l){return gm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,pm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_arguments,argumentsError:l}})}function i(a,l){return gm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,pm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof Ju?tr(async(...a)=>{const l=new bi([]),u=await this._def.args.parseAsync(a,o).catch(f=>{throw l.addIssue(r(a,f)),l}),c=await s(...u);return await this._def.returns._def.type.parseAsync(c,o).catch(f=>{throw l.addIssue(i(c,f)),l})}):tr((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new bi([r(a,l.error)]);const u=s(...l.data),c=this._def.returns.safeParse(u,o);if(!c.success)throw new bi([i(u,c.error)]);return c.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new ku({...this._def,args:to.create(t).rest(Ba.create())})}returns(t){return new ku({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new ku({args:t||to.create([]).rest(Ba.create()),returns:n||Ba.create(),typeName:ye.ZodFunction,...we(r)})}}class bf extends Ce{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}bf.create=(e,t)=>new bf({getter:e,typeName:ye.ZodLazy,...we(t)});class Sf extends Ce{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return oe(n,{received:n.data,code:ee.invalid_literal,expected:this._def.value}),be}return{status:"valid",value:t.data}}get value(){return this._def.value}}Sf.create=(e,t)=>new Sf({value:e,typeName:ye.ZodLiteral,...we(t)});function bR(e,t){return new Gs({values:e,typeName:ye.ZodEnum,...we(t)})}class Gs extends Ce{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{expected:Ve.joinValues(r),received:n.parsedType,code:ee.invalid_type}),be}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{received:n.data,code:ee.invalid_enum_value,options:r}),be}return tr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return Gs.create(t)}exclude(t){return Gs.create(this.options.filter(n=>!t.includes(n)))}}Gs.create=bR;class _f extends Ce{_parse(t){const n=Ve.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==re.string&&r.parsedType!==re.number){const i=Ve.objectValues(n);return oe(r,{expected:Ve.joinValues(i),received:r.parsedType,code:ee.invalid_type}),be}if(n.indexOf(t.data)===-1){const i=Ve.objectValues(n);return oe(r,{received:r.data,code:ee.invalid_enum_value,options:i}),be}return tr(t.data)}get enum(){return this._def.values}}_f.create=(e,t)=>new _f({values:e,typeName:ye.ZodNativeEnum,...we(t)});class Ju extends Ce{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.promise&&n.common.async===!1)return oe(n,{code:ee.invalid_type,expected:re.promise,received:n.parsedType}),be;const r=n.parsedType===re.promise?n.data:Promise.resolve(n.data);return tr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Ju.create=(e,t)=>new Ju({type:e,typeName:ye.ZodPromise,...we(t)});class Ti extends Ce{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ye.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{oe(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!mm(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>mm(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);Ve.assertNever(i)}}Ti.create=(e,t,n)=>new Ti({schema:e,typeName:ye.ZodEffects,effect:t,...we(n)});Ti.createWithPreprocess=(e,t,n)=>new Ti({schema:t,effect:{type:"preprocess",transform:e},typeName:ye.ZodEffects,...we(n)});class Oo extends Ce{_parse(t){return this._getType(t)===re.undefined?tr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Oo.create=(e,t)=>new Oo({innerType:e,typeName:ye.ZodOptional,...we(t)});class el extends Ce{_parse(t){return this._getType(t)===re.null?tr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}el.create=(e,t)=>new el({innerType:e,typeName:ye.ZodNullable,...we(t)});class wf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===re.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}wf.create=(e,t)=>new wf({innerType:e,typeName:ye.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...we(t)});class _m extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return ym(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_m.create=(e,t)=>new _m({innerType:e,typeName:ye.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...we(t)});class wm extends Ce{_parse(t){if(this._getType(t)!==re.nan){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.nan,received:r.parsedType}),be}return{status:"valid",value:t.data}}}wm.create=e=>new wm({typeName:ye.ZodNaN,...we(e)});const wY=Symbol("zod_brand");class SR extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class mh extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?be:o.status==="dirty"?(n.dirty(),vR(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?be:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new mh({in:t,out:n,typeName:ye.ZodPipeline})}}const _R=(e,t={},n)=>e?Zu.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Zu.create(),xY={object:Tt.lazycreate};var ye;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(ye||(ye={}));const CY=(e,t={message:`Input not instance of ${e.name}`})=>_R(n=>n instanceof e,t),wR=pi.create,xR=zs.create,TY=wm.create,EY=Us.create,CR=hf.create,PY=Za.create,AY=vm.create,kY=pf.create,OY=gf.create,RY=Zu.create,IY=Ba.create,MY=Vo.create,NY=bm.create,DY=Si.create,LY=Tt.create,$Y=Tt.strictCreate,FY=mf.create,BY=w0.create,jY=yf.create,VY=to.create,zY=vf.create,UY=Sm.create,GY=Ja.create,HY=ku.create,qY=bf.create,WY=Sf.create,KY=Gs.create,XY=_f.create,YY=Ju.create,W4=Ti.create,QY=Oo.create,ZY=el.create,JY=Ti.createWithPreprocess,eQ=mh.create,tQ=()=>wR().optional(),nQ=()=>xR().optional(),rQ=()=>CR().optional(),iQ={string:e=>pi.create({...e,coerce:!0}),number:e=>zs.create({...e,coerce:!0}),boolean:e=>hf.create({...e,coerce:!0}),bigint:e=>Us.create({...e,coerce:!0}),date:e=>Za.create({...e,coerce:!0})},oQ=be;var jt=Object.freeze({__proto__:null,defaultErrorMap:ff,setErrorMap:uY,getErrorMap:pm,makeIssue:gm,EMPTY_PATH:cY,addIssueToContext:oe,ParseStatus:jn,INVALID:be,DIRTY:vR,OK:tr,isAborted:M_,isDirty:N_,isValid:mm,isAsync:ym,get util(){return Ve},get objectUtil(){return I_},ZodParsedType:re,getParsedType:ms,ZodType:Ce,ZodString:pi,ZodNumber:zs,ZodBigInt:Us,ZodBoolean:hf,ZodDate:Za,ZodSymbol:vm,ZodUndefined:pf,ZodNull:gf,ZodAny:Zu,ZodUnknown:Ba,ZodNever:Vo,ZodVoid:bm,ZodArray:Si,ZodObject:Tt,ZodUnion:mf,ZodDiscriminatedUnion:w0,ZodIntersection:yf,ZodTuple:to,ZodRecord:vf,ZodMap:Sm,ZodSet:Ja,ZodFunction:ku,ZodLazy:bf,ZodLiteral:Sf,ZodEnum:Gs,ZodNativeEnum:_f,ZodPromise:Ju,ZodEffects:Ti,ZodTransformer:Ti,ZodOptional:Oo,ZodNullable:el,ZodDefault:wf,ZodCatch:_m,ZodNaN:wm,BRAND:wY,ZodBranded:SR,ZodPipeline:mh,custom:_R,Schema:Ce,ZodSchema:Ce,late:xY,get ZodFirstPartyTypeKind(){return ye},coerce:iQ,any:RY,array:DY,bigint:EY,boolean:CR,date:PY,discriminatedUnion:BY,effect:W4,enum:KY,function:HY,instanceof:CY,intersection:jY,lazy:qY,literal:WY,map:UY,nan:TY,nativeEnum:XY,never:MY,null:OY,nullable:ZY,number:xR,object:LY,oboolean:rQ,onumber:nQ,optional:QY,ostring:tQ,pipeline:eQ,preprocess:JY,promise:YY,record:zY,set:GY,strictObject:$Y,string:wR,symbol:AY,transformer:W4,tuple:VY,undefined:kY,union:FY,unknown:IY,void:NY,NEVER:oQ,ZodIssueCode:ee,quotelessJson:lY,ZodError:bi});const sQ=jt.string(),mwe=e=>sQ.safeParse(e).success,aQ=jt.string(),ywe=e=>aQ.safeParse(e).success;jt.string();jt.string();const lQ=jt.number().int().min(1),vwe=e=>lQ.safeParse(e).success,uQ=jt.number().min(1),bwe=e=>uQ.safeParse(e).success,cQ=jt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),Swe=e=>cQ.safeParse(e).success,_we={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},dQ=jt.number().int().min(0).max(aY),wwe=e=>dQ.safeParse(e).success,fQ=jt.number().multipleOf(8).min(64),xwe=e=>fQ.safeParse(e).success,hQ=jt.number().multipleOf(8).min(64),Cwe=e=>hQ.safeParse(e).success,x0=jt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),xf=jt.object({model_name:jt.string().min(1),base_model:x0}),Twe=e=>xf.safeParse(e).success,pQ=jt.object({model_name:jt.string().min(1),base_model:x0}),Ewe=jt.object({model_name:jt.string().min(1),base_model:x0}),Pwe=jt.object({model_name:jt.string().min(1),base_model:x0}),gQ=jt.number().min(0).max(1),Awe=e=>gQ.safeParse(e).success;jt.enum(["fp16","fp32"]);const Wo={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},mQ=Wo,TR=Pt({name:"generation",initialState:mQ,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Ss(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Ss(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Wo}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=sY[e.model.base_model];e.clipSkip=Ss(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ui(e.width/n,8))}},extraReducers:e=>{e.addCase(iY,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=xf.safeParse({model_name:a,base_model:o});l.success&&(t.model=l.data)}}),e.addCase(vQ,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:kwe,clearInitialImage:ER,resetParametersState:Owe,resetSeed:Rwe,setCfgScale:Iwe,setWidth:Mwe,setHeight:Nwe,toggleSize:Dwe,setImg2imgStrength:Lwe,setInfillMethod:yQ,setIterations:$we,setPerlin:Fwe,setPositivePrompt:Bwe,setNegativePrompt:jwe,setScheduler:Vwe,setSeamBlur:zwe,setSeamSize:Uwe,setSeamSteps:Gwe,setSeamStrength:Hwe,setSeed:qwe,setSeedWeights:Wwe,setShouldFitToWidthHeight:Kwe,setShouldGenerateVariations:Xwe,setShouldRandomizeSeed:Ywe,setSteps:Qwe,setThreshold:Zwe,setTileSize:Jwe,setVariationAmount:exe,setShouldUseSymmetry:txe,setHorizontalSymmetrySteps:nxe,setVerticalSymmetrySteps:rxe,initialImageChanged:C0,modelChanged:ja,vaeSelected:PR,setShouldUseNoiseSettings:ixe,setSeamlessXAxis:oxe,setSeamlessYAxis:sxe,setClipSkip:axe,shouldUseCpuNoiseChanged:lxe,setShouldShowAdvancedOptions:vQ,setAspectRatio:bQ,vaePrecisionChanged:uxe}=TR.actions,SQ=TR.reducer,AR=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],K4=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=AR.indexOf(t)},kR={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},OR=Pt({name:"ui",initialState:kR,reducers:{setActiveTab:(e,t)=>{K4(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(C0,t=>{K4(t,"img2img")})}}),{setActiveTab:RR,setShouldPinParametersPanel:cxe,setShouldShowParametersPanel:dxe,setShouldShowImageDetails:fxe,setShouldUseCanvasBetaLayout:_Q,setShouldShowExistingModelsInSearch:hxe,setShouldUseSliders:pxe,setShouldHidePreview:gxe,setShouldShowGallery:mxe,togglePanels:yxe,togglePinGalleryPanel:vxe,togglePinParametersPanel:bxe,toggleParametersPanel:Sxe,toggleGalleryPanel:_xe,setShouldShowProgressInViewer:wxe,favoriteSchedulersChanged:xxe,toggleEmbeddingPicker:Cxe}=OR.actions,wQ=OR.reducer;let Wn=[],T0=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!Wn.length;for(let s=0;s(e.events=e.events||{},e.events[n+mp]||(e.events[n+mp]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+mp](),delete e.events[n+mp])}),TQ=1e3,EQ=(e,t)=>CQ(e,r=>{let i=t(r);i&&e.events[gp].push(i)},xQ,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[gp]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[gp])s();e.events[gp]=[]}},TQ)},()=>{e.listen=i,e.off=o}}),PQ=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=T0(void 0,Math.max(...e.map(o=>o.l))+1);return EQ(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const AQ={"Content-Type":"application/json"},kQ=/\/*$/;function OQ(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function RQ(e){return JSON.stringify(e)}function IQ(e,t){let n=`${t.baseUrl?t.baseUrl.replace(kQ,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function MQ(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...AQ,...i.headers??{}});async function s(a,l){const{headers:u,body:c,params:d={},parseAs:f="json",querySerializer:h=n??OQ,bodySerializer:p=r??RQ,...m}=l||{},S=IQ(a,{baseUrl:i.baseUrl,params:d,querySerializer:h}),v=new Headers(o),y=new Headers(u);for(const[w,x]of y.entries())x==null?v.delete(w):v.set(w,x);const g={redirect:"follow",...i,...m,headers:v};c&&(g.body=p(c)),g.body instanceof FormData&&v.delete("Content-Type");const b=await t(S,g);if(b.status===204||b.headers.get("Content-Length")==="0")return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok){let w=b.body;if(f!=="stream"){const x=b.clone();w=typeof x[f]=="function"?await x[f]():await x.text()}return{data:w,response:b}}let _={};try{_=await b.clone().json()}catch{_=await b.clone().text()}return{error:_,response:b}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Cf=T0(),Tf=T0(),E0=PQ([Cf,Tf],(e,t)=>MQ({headers:e?{Authorization:`Bearer ${e}`}:{},baseUrl:`${t??""}`})),On=Vs("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),NQ=e=>vr(e)&&"status"in e,yh=Vs("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return NQ(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),hl=Vs("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Vs("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const IR=ei(On.rejected,yh.rejected),Ml=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},Nl=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},Txe=.999,Exe=.1,Pxe=20,Vc=.95,Axe=30,kxe=10,X4=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),pa=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ui(a/o,64)):o<1&&(r.height=a,r.width=Ui(a*o,64)),s=r.width*r.height;return r},DQ=e=>({width:Ui(e.width,64),height:Ui(e.height,64)}),Oxe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],Rxe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],MR=e=>e.kind==="line"&&e.layer==="mask",Ixe=e=>e.kind==="line"&&e.layer==="base",Y4=e=>e.kind==="image"&&e.layer==="base",Mxe=e=>e.kind==="fillRect"&&e.layer==="base",Nxe=e=>e.kind==="eraseRect"&&e.layer==="base",LQ=e=>e.kind==="line",Kl={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},NR={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:Kl,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},DR=Pt({name:"canvas",initialState:NR,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!MR(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:hp(Ss(r,64,512),64),height:hp(Ss(i,64,512),64)},a={x:Ui(r/2-s.width/2,64),y:Ui(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const c=pa(s);e.scaledBoundingBoxDimensions=c}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ln(e.layerState)),e.layerState={...Kl,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=Nl(o.width,o.height,r,i,Vc),u=Ml(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=DQ(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=pa(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=X4(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...Kl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(LQ);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ln(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState=Kl,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(Y4),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const c=Nl(i.width,i.height,512,512,Vc),d=Ml(i.width,i.height,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=pa(f);e.scaledBoundingBoxDimensions=h}return}const{width:o,height:s}=r,l=Nl(t,n,o,s,.95),u=Ml(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=X4(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(Y4)){const i=Nl(r.width,r.height,512,512,Vc),o=Ml(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=pa(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const c=r?1:Nl(i,o,l,u,Vc),d=Ml(i,o,s,a,l,u,c);e.stageScale=c,e.stageCoordinates=d}else{const c=Nl(i,o,512,512,Vc),d=Ml(i,o,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=pa(f);e.scaledBoundingBoxDimensions=h}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...n[r]}),e.layerState.stagingArea={...Kl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:hp(Ss(o,64,512),64),height:hp(Ss(s,64,512),64)},l={x:Ui(o/2-a.width/2,64),y:Ui(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=pa(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=pa(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ln(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(hl.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=Kl.stagingArea)}),e.addCase(_Q,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(RR,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(bQ,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ui(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:Dxe,addFillRect:Lxe,addImageToStagingArea:$Q,addLine:$xe,addPointToCurrentLine:Fxe,clearCanvasHistory:Bxe,clearMask:jxe,commitColorPickerColor:Vxe,commitStagingAreaImage:FQ,discardStagedImages:zxe,fitBoundingBoxToStage:Uxe,mouseLeftCanvas:Gxe,nextStagingAreaImage:Hxe,prevStagingAreaImage:qxe,redo:Wxe,resetCanvas:LR,resetCanvasInteractionState:Kxe,resetCanvasView:Xxe,resizeAndScaleCanvas:Yxe,resizeCanvas:Qxe,setBoundingBoxCoordinates:Zxe,setBoundingBoxDimensions:Jxe,setBoundingBoxPreviewFill:eCe,setBoundingBoxScaleMethod:tCe,flipBoundingBoxAxes:nCe,setBrushColor:rCe,setBrushSize:iCe,setCanvasContainerDimensions:oCe,setColorPickerColor:sCe,setCursorPosition:aCe,setDoesCanvasNeedScaling:lCe,setInitialCanvasImage:$R,setIsDrawing:uCe,setIsMaskEnabled:cCe,setIsMouseOverBoundingBox:dCe,setIsMoveBoundingBoxKeyHeld:fCe,setIsMoveStageKeyHeld:hCe,setIsMovingBoundingBox:pCe,setIsMovingStage:gCe,setIsTransformingBoundingBox:mCe,setLayer:yCe,setMaskColor:vCe,setMergedCanvas:BQ,setShouldAutoSave:bCe,setShouldCropToBoundingBoxOnSave:SCe,setShouldDarkenOutsideBoundingBox:_Ce,setShouldLockBoundingBox:wCe,setShouldPreserveMaskedArea:xCe,setShouldShowBoundingBox:CCe,setShouldShowBrush:TCe,setShouldShowBrushPreview:ECe,setShouldShowCanvasDebugInfo:PCe,setShouldShowCheckboardTransparency:ACe,setShouldShowGrid:kCe,setShouldShowIntermediates:OCe,setShouldShowStagingImage:RCe,setShouldShowStagingOutline:ICe,setShouldSnapToGrid:MCe,setStageCoordinates:NCe,setStageScale:DCe,setTool:LCe,toggleShouldLockBoundingBox:$Ce,toggleTool:FCe,undo:BCe,setScaledBoundingBoxDimensions:jCe,setShouldRestrictStrokesToBox:VCe,stagingAreaInitialized:jQ,canvasSessionIdChanged:VQ,setShouldAntialias:zCe}=DR.actions,zQ=DR.reducer,UQ=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,YQ=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),$_=Symbol("encodeFragmentIdentifier");function QQ(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),"[",i,"]"].join("")]:[...n,[qt(t,e),"[",qt(i,e),"]=",qt(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),"[]"].join("")]:[...n,[qt(t,e),"[]=",qt(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),":list="].join("")]:[...n,[qt(t,e),":list=",qt(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[qt(n,e),t,qt(i,e)].join("")]:[[r,qt(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,qt(t,e)]:[...n,[qt(t,e),"=",qt(r,e)].join("")]}}function ZQ(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&wo(r,e).includes(e.arrayFormatSeparator);r=s?wo(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>wo(l,e)):r===null?r:wo(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&wo(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>wo(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function jR(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function qt(e,t){return t.encode?t.strict?YQ(e):encodeURIComponent(e):e}function wo(e,t){return t.decode?WQ(e):e}function VR(e){return Array.isArray(e)?e.sort():typeof e=="object"?VR(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function zR(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function JQ(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function J4(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function $x(e){e=zR(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function Fx(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},jR(t.arrayFormatSeparator);const n=ZQ(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=BR(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:wo(a,t),n(wo(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=J4(a,t);else r[i]=J4(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=VR(s):i[o]=s,i},Object.create(null))}function UR(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},jR(t.arrayFormatSeparator);const n=s=>t.skipNull&&XQ(e[s])||t.skipEmptyString&&e[s]==="",r=QQ(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?qt(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?qt(s,t)+"[]":a.reduce(r(s),[]).join("&"):qt(s,t)+"="+qt(a,t)}).filter(s=>s.length>0).join("&")}function GR(e,t){var i;t={decode:!0,...t};let[n,r]=BR(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Fx($x(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:wo(r,t)}:{}}}function HR(e,t){t={encode:!0,strict:!0,[$_]:!0,...t};const n=zR(e.url).split("?")[0]||"",r=$x(e.url),i={...Fx(r,{sort:!1}),...e.query};let o=UR(i,t);o&&(o=`?${o}`);let s=JQ(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[$_]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function qR(e,t,n){n={parseFragmentIdentifier:!0,[$_]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=GR(e,n);return HR({url:r,query:KQ(i,t),fragmentIdentifier:o},n)}function eZ(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return qR(e,r,n)}const F_=Object.freeze(Object.defineProperty({__proto__:null,exclude:eZ,extract:$x,parse:Fx,parseUrl:GR,pick:qR,stringify:UR,stringifyUrl:HR},Symbol.toStringTag,{value:"Module"}));var xm=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function cZ(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var rT=xi;function XR(e,t){if(e===t||!(rT(e)&&rT(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},fZ=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function oT(e){if(!xi(e))return e;for(var t=$t({},e),n=0,r=Object.entries(t);n"u"&&a===iT&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(g,b){return Em(t,null,function(){var _,w,x,T,P,E,A,$,M,C,O,I,N,R,D,L,j,U,G,W,X,Y,B,H,Q,J,ne,te,xe,ve,ce,Ne,se,gt,vn,It;return xm(this,function(ut){switch(ut.label){case 0:return _=b.signal,w=b.getState,x=b.extra,T=b.endpoint,P=b.forced,E=b.type,$=typeof g=="string"?{url:g}:g,M=$.url,C=$.headers,O=C===void 0?new Headers(v.headers):C,I=$.params,N=I===void 0?void 0:I,R=$.responseHandler,D=R===void 0?m??"json":R,L=$.validateStatus,j=L===void 0?S??dZ:L,U=$.timeout,G=U===void 0?p:U,W=tT($,["url","headers","params","responseHandler","validateStatus","timeout"]),X=$t(Hi($t({},v),{signal:_}),W),O=new Headers(oT(O)),Y=X,[4,o(O,{getState:w,extra:x,endpoint:T,forced:P,type:E})];case 1:Y.headers=ut.sent()||O,B=function(Je){return typeof Je=="object"&&(xi(Je)||Array.isArray(Je)||typeof Je.toJSON=="function")},!X.headers.has("content-type")&&B(X.body)&&X.headers.set("content-type",f),B(X.body)&&c(X.headers)&&(X.body=JSON.stringify(X.body,h)),N&&(H=~M.indexOf("?")?"&":"?",Q=l?l(N):new URLSearchParams(oT(N)),M+=H+Q),M=lZ(r,M),J=new Request(M,X),ne=J.clone(),A={request:ne},xe=!1,ve=G&&setTimeout(function(){xe=!0,b.abort()},G),ut.label=2;case 2:return ut.trys.push([2,4,5,6]),[4,a(J)];case 3:return te=ut.sent(),[3,6];case 4:return ce=ut.sent(),[2,{error:{status:xe?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(ce)},meta:A}];case 5:return ve&&clearTimeout(ve),[7];case 6:Ne=te.clone(),A.response=Ne,gt="",ut.label=7;case 7:return ut.trys.push([7,9,,10]),[4,Promise.all([y(te,D).then(function(Je){return se=Je},function(Je){return vn=Je}),Ne.text().then(function(Je){return gt=Je},function(){})])];case 8:if(ut.sent(),vn)throw vn;return[3,10];case 9:return It=ut.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:te.status,data:gt,error:String(It)},meta:A}];case 10:return[2,j(te,se)?{data:se,meta:A}:{error:{status:te.status,data:se},meta:A}]}})})};function y(g,b){return Em(this,null,function(){var _;return xm(this,function(w){switch(w.label){case 0:return typeof b=="function"?[2,b(g)]:(b==="content-type"&&(b=c(g.headers)?"json":"text"),b!=="json"?[3,2]:[4,g.text()]);case 1:return _=w.sent(),[2,_.length?JSON.parse(_):null];case 2:return[2,g.text()]}})})}}var sT=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),Bx=ue("__rtkq/focused"),YR=ue("__rtkq/unfocused"),jx=ue("__rtkq/online"),QR=ue("__rtkq/offline"),no;(function(e){e.query="query",e.mutation="mutation"})(no||(no={}));function ZR(e){return e.type===no.query}function pZ(e){return e.type===no.mutation}function JR(e,t,n,r,i,o){return gZ(e)?e(t,n,r,i).map(B_).map(o):Array.isArray(e)?e.map(B_).map(o):[]}function gZ(e){return typeof e=="function"}function B_(e){return typeof e=="string"?{type:e}:e}function yb(e){return e!=null}var Ef=Symbol("forceQueryFn"),j_=function(e){return typeof e[Ef]=="function"};function mZ(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,c=l.removeMutationResult,d=l.updateSubscriptionOptions;return{buildInitiateQuery:y,buildInitiateMutation:g,getRunningQueryThunk:p,getRunningMutationThunk:m,getRunningQueriesThunk:S,getRunningMutationsThunk:v,getRunningOperationPromises:h,removalWarning:f};function f(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. + */var sx=Symbol.for("react.element"),ax=Symbol.for("react.portal"),Wy=Symbol.for("react.fragment"),Ky=Symbol.for("react.strict_mode"),Xy=Symbol.for("react.profiler"),Yy=Symbol.for("react.provider"),Qy=Symbol.for("react.context"),cV=Symbol.for("react.server_context"),Zy=Symbol.for("react.forward_ref"),Jy=Symbol.for("react.suspense"),e0=Symbol.for("react.suspense_list"),t0=Symbol.for("react.memo"),n0=Symbol.for("react.lazy"),dV=Symbol.for("react.offscreen"),ik;ik=Symbol.for("react.module.reference");function Jr(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case sx:switch(e=e.type,e){case Wy:case Xy:case Ky:case Jy:case e0:return e;default:switch(e=e&&e.$$typeof,e){case cV:case Qy:case Zy:case n0:case t0:case Yy:return e;default:return t}}case ax:return t}}}et.ContextConsumer=Qy;et.ContextProvider=Yy;et.Element=sx;et.ForwardRef=Zy;et.Fragment=Wy;et.Lazy=n0;et.Memo=t0;et.Portal=ax;et.Profiler=Xy;et.StrictMode=Ky;et.Suspense=Jy;et.SuspenseList=e0;et.isAsyncMode=function(){return!1};et.isConcurrentMode=function(){return!1};et.isContextConsumer=function(e){return Jr(e)===Qy};et.isContextProvider=function(e){return Jr(e)===Yy};et.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===sx};et.isForwardRef=function(e){return Jr(e)===Zy};et.isFragment=function(e){return Jr(e)===Wy};et.isLazy=function(e){return Jr(e)===n0};et.isMemo=function(e){return Jr(e)===t0};et.isPortal=function(e){return Jr(e)===ax};et.isProfiler=function(e){return Jr(e)===Xy};et.isStrictMode=function(e){return Jr(e)===Ky};et.isSuspense=function(e){return Jr(e)===Jy};et.isSuspenseList=function(e){return Jr(e)===e0};et.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Wy||e===Xy||e===Ky||e===Jy||e===e0||e===dV||typeof e=="object"&&e!==null&&(e.$$typeof===n0||e.$$typeof===t0||e.$$typeof===Yy||e.$$typeof===Qy||e.$$typeof===Zy||e.$$typeof===ik||e.getModuleId!==void 0)};et.typeOf=Jr;function fV(){const e=Yj();let t=null,n=null;return{clear(){t=null,n=null},notify(){e(()=>{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const W5={notify(){},get:()=>[]};function hV(e,t){let n,r=W5;function i(d){return l(),r.subscribe(d)}function o(){r.notify()}function s(){c.onStateChange&&c.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=fV())}function u(){n&&(n(),n=void 0,r.clear(),r=W5)}const c={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return c}const pV=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",gV=pV?k.useLayoutEffect:k.useEffect;function K5(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function im(e,t){if(K5(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=hV(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=k.useMemo(()=>e.getState(),[e]);gV(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Fs;return Xe.createElement(l.Provider,{value:s},n)}function ok(e=Fs){const t=e===Fs?Q9:nx(e);return function(){const{store:r}=t();return r}}const sk=ok();function yV(e=Fs){const t=e===Fs?sk:ok(e);return function(){return t().dispatch}}const ak=yV();Jj(X9.useSyncExternalStoreWithSelector);Xj(zi.unstable_batchedUpdates);function pn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:r0(e)?2:i0(e)?3:0}function Os(e,t){return Bs(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function ug(e,t){return Bs(e)===2?e.get(t):e[t]}function lk(e,t,n){var r=Bs(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function uk(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function r0(e){return xV&&e instanceof Map}function i0(e){return CV&&e instanceof Set}function un(e){return e.o||e.t}function ux(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=dk(e);delete t[_e];for(var n=Cu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=vV),Object.freeze(e),t&&jo(e,function(n,r){return ih(r,!0)},!0)),e}function vV(){pn(2)}function cx(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Yi(e){var t=y_[e];return t||pn(18,e),t}function dx(e,t){y_[e]||(y_[e]=t)}function tf(){return rf}function sb(e,t){t&&(Yi("Patches"),e.u=[],e.s=[],e.v=t)}function om(e){m_(e),e.p.forEach(bV),e.p=null}function m_(e){e===rf&&(rf=e.l)}function X5(e){return rf={p:[],l:rf,h:e,m:!0,_:0}}function bV(e){var t=e[_e];t.i===0||t.i===1?t.j():t.g=!0}function ab(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Yi("ES5").S(t,e,r),r?(n[_e].P&&(om(t),pn(4)),yr(e)&&(e=sm(t,e),t.l||am(t,e)),t.u&&Yi("Patches").M(n[_e].t,e,t.u,t.s)):e=sm(t,n,[]),om(t),t.u&&t.v(t.u,t.s),e!==s0?e:void 0}function sm(e,t,n){if(cx(t))return t;var r=t[_e];if(!r)return jo(t,function(a,l){return Y5(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return am(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=ux(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),jo(o,function(a,l){return Y5(e,r,i,a,l,n,s)}),am(e,i,!1),n&&e.u&&Yi("Patches").N(r,n,e.u,e.s)}return r.o}function Y5(e,t,n,r,i,o,s){if(er(i)){var a=sm(e,i,o&&t&&t.i!==3&&!Os(t.R,r)?o.concat(r):void 0);if(lk(n,r,a),!er(a))return;e.m=!1}else s&&n.add(i);if(yr(i)&&!cx(i)){if(!e.h.D&&e._<1)return;sm(e,i),t&&t.A.l||am(e,i)}}function am(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&ih(t,n)}function lb(e,t){var n=e[_e];return(n?un(n):e)[t]}function Q5(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function cr(e){e.P||(e.P=!0,e.l&&cr(e.l))}function ub(e){e.o||(e.o=ux(e.t))}function nf(e,t,n){var r=r0(t)?Yi("MapSet").F(t,n):i0(t)?Yi("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:tf(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=of;s&&(l=[a],u=dd);var c=Proxy.revocable(l,u),d=c.revoke,f=c.proxy;return a.k=f,a.j=d,f}(t,n):Yi("ES5").J(t,n);return(n?n.A:tf()).p.push(r),r}function o0(e){return er(e)||pn(22,e),function t(n){if(!yr(n))return n;var r,i=n[_e],o=Bs(n);if(i){if(!i.P&&(i.i<4||!Yi("ES5").K(i)))return i.t;i.I=!0,r=Z5(n,o),i.I=!1}else r=Z5(n,o);return jo(r,function(s,a){i&&ug(i.t,s)===a||lk(r,s,t(a))}),o===3?new Set(r):r}(e)}function Z5(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ux(e)}function fx(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[_e];return of.get(l,o)},set:function(l){var u=this[_e];of.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][_e];if(!a.P)switch(a.i){case 5:r(a)&&cr(a);break;case 4:n(a)&&cr(a)}}}function n(o){for(var s=o.t,a=o.k,l=Cu(a),u=l.length-1;u>=0;u--){var c=l[u];if(c!==_e){var d=s[c];if(d===void 0&&!Os(s,c))return!0;var f=a[c],h=f&&f[_e];if(h?h.t!==d:!uk(f,d))return!0}}var p=!!s[_e];return l.length!==Cu(s).length+(p?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?v-1:0),g=1;g1?c-1:0),f=1;f=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Yi("Patches").$;return er(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Or=new fk,hk=Or.produce,gx=Or.produceWithPatches.bind(Or),EV=Or.setAutoFreeze.bind(Or),PV=Or.setUseProxies.bind(Or),v_=Or.applyPatches.bind(Or),AV=Or.createDraft.bind(Or),kV=Or.finishDraft.bind(Or);const Js=hk,dwe=Object.freeze(Object.defineProperty({__proto__:null,Immer:fk,applyPatches:v_,castDraft:_V,castImmutable:wV,createDraft:AV,current:o0,default:Js,enableAllPlugins:SV,enableES5:fx,enableMapSet:ck,enablePatches:hx,finishDraft:kV,freeze:ih,immerable:xu,isDraft:er,isDraftable:yr,nothing:s0,original:lx,produce:hk,produceWithPatches:gx,setAutoFreeze:EV,setUseProxies:PV},Symbol.toStringTag,{value:"Module"}));function sf(e){"@babel/helpers - typeof";return sf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sf(e)}function OV(e,t){if(sf(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(sf(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function RV(e){var t=OV(e,"string");return sf(t)==="symbol"?t:String(t)}function IV(e,t,n){return t=RV(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function n4(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(En(1));return n(oh)(e,t)}if(typeof e!="function")throw new Error(En(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function c(){if(l)throw new Error(En(3));return o}function d(m){if(typeof m!="function")throw new Error(En(4));if(l)throw new Error(En(5));var S=!0;return u(),a.push(m),function(){if(S){if(l)throw new Error(En(6));S=!1,u();var y=a.indexOf(m);a.splice(y,1),s=null}}}function f(m){if(!MV(m))throw new Error(En(7));if(typeof m.type>"u")throw new Error(En(8));if(l)throw new Error(En(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var S=s=a,v=0;v"u")throw new Error(En(12));if(typeof n(void 0,{type:Wu.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(En(13))})}function pc(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(En(14));d[h]=S,c=c||S!==m}return c=c||o.length!==Object.keys(l).length,c?d:l}}function i4(e,t){return function(){return t(e.apply(this,arguments))}}function gk(e,t){if(typeof e=="function")return i4(e,t);if(typeof e!="object"||e===null)throw new Error(En(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=i4(i,t))}return n}function Ku(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return lm}function i(a,l){r(a)===lm&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var mk=function(t,n){return t===n};function FV(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(S,v){var y=t?t+"."+S:S;if(l){var g=i.some(function(b){return b instanceof RegExp?b.test(y):y===b});if(g)return"continue"}if(!n(v))return{value:{keyPath:y,value:v}};if(typeof v=="object"&&(s=Ck(v,y,n,r,i,o),s))return{value:s}},c=0,d=a;c-1}function ez(e){return""+e}function kk(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function tz(e){return typeof e=="function"}function Ok(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?kk(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(tz(e))l=function(){return b_(e())};else{var u=b_(e);l=function(){return u}}function c(d,f){d===void 0&&(d=l());var h=js([o[f.type]],s.filter(function(p){var m=p.matcher;return m(f)}).map(function(p){var m=p.reducer;return m}));return h.filter(function(p){return!!p}).length===0&&(h=[a]),h.reduce(function(p,m){if(m)if(er(p)){var S=p,v=m(S,f);return v===void 0?p:v}else{if(yr(p))return Js(p,function(y){return m(y,f)});var v=m(p,f);if(v===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return v}return p},d)}return c.getInitialState=l,c}function nz(e,t){return e+"/"+t}function Pt(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:b_(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(c){var d=r[c],f=nz(t,c),h,p;"reducer"in d?(h=d.reducer,p=d.prepare):h=d,o[c]=h,s[f]=h,a[c]=p?ue(f,p):ue(f)});function l(){var c=typeof e.extraReducers=="function"?kk(e.extraReducers):[e.extraReducers],d=c[0],f=d===void 0?{}:d,h=c[1],p=h===void 0?[]:h,m=c[2],S=m===void 0?void 0:m,v=fr(fr({},f),s);return Ok(n,function(y){for(var g in v)y.addCase(g,v[g]);for(var b=0,_=p;b<_.length;b++){var w=_[b];y.addMatcher(w.matcher,w.reducer)}S&&y.addDefaultCase(S)})}var u;return{name:t,reducer:function(c,d){return u||(u=l()),u(c,d)},actions:a,caseReducers:o,getInitialState:function(){return u||(u=l()),u.getInitialState()}}}function rz(){return{ids:[],entities:{}}}function iz(){function e(t){return t===void 0&&(t={}),Object.assign(rz(),t)}return{getInitialState:e}}function oz(){function e(t){var n=function(u){return u.ids},r=function(u){return u.entities},i=yo(n,r,function(u,c){return u.map(function(d){return c[d]})}),o=function(u,c){return c},s=function(u,c){return u[c]},a=yo(n,function(u){return u.length});if(!t)return{selectIds:n,selectEntities:r,selectAll:i,selectTotal:a,selectById:yo(r,o,s)};var l=yo(t,r);return{selectIds:yo(t,n),selectEntities:l,selectAll:yo(t,i),selectTotal:yo(t,a),selectById:yo(l,o,s)}}return{getSelectors:e}}function sz(e){var t=Lt(function(n,r){return e(r)});return function(r){return t(r,void 0)}}function Lt(e){return function(n,r){function i(s){return Ak(s)}var o=function(s){i(r)?e(r.payload,s):e(r,s)};return er(n)?(o(n),n):Js(n,o)}}function Ed(e,t){var n=t(e);return n}function Fa(e){return Array.isArray(e)||(e=Object.values(e)),e}function Rk(e,t,n){e=Fa(e);for(var r=[],i=[],o=0,s=e;o0;if(y){var g=p.filter(function(b){return u(S,b,m)}).length>0;g&&(m.ids=Object.keys(m.entities))}}function f(p,m){return h([p],m)}function h(p,m){var S=Rk(p,e,m),v=S[0],y=S[1];d(y,m),n(v,m)}return{removeAll:sz(l),addOne:Lt(t),addMany:Lt(n),setOne:Lt(r),setMany:Lt(i),setAll:Lt(o),updateOne:Lt(c),updateMany:Lt(d),upsertOne:Lt(f),upsertMany:Lt(h),removeOne:Lt(s),removeMany:Lt(a)}}function az(e,t){var n=Ik(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(y,g){return a([y],g)}function a(y,g){y=Fa(y);var b=y.filter(function(_){return!(Ed(_,e)in g.entities)});b.length!==0&&S(b,g)}function l(y,g){return u([y],g)}function u(y,g){y=Fa(y),y.length!==0&&S(y,g)}function c(y,g){y=Fa(y),g.entities={},g.ids=[],a(y,g)}function d(y,g){return f([y],g)}function f(y,g){for(var b=!1,_=0,w=y;_-1;return n&&r}function lh(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function u0(){for(var e=[],t=0;t0)for(var g=h.getState(),b=Array.from(n.values()),_=0,w=b;_Math.floor(e/t)*t,Ui=(e,t)=>Math.round(e/t)*t;var Tz=typeof global=="object"&&global&&global.Object===Object&&global;const Yk=Tz;var Ez=typeof self=="object"&&self&&self.Object===Object&&self,Pz=Yk||Ez||Function("return this")();const oo=Pz;var Az=oo.Symbol;const Zr=Az;var Qk=Object.prototype,kz=Qk.hasOwnProperty,Oz=Qk.toString,jc=Zr?Zr.toStringTag:void 0;function Rz(e){var t=kz.call(e,jc),n=e[jc];try{e[jc]=void 0;var r=!0}catch{}var i=Oz.call(e);return r&&(t?e[jc]=n:delete e[jc]),i}var Iz=Object.prototype,Mz=Iz.toString;function Nz(e){return Mz.call(e)}var Dz="[object Null]",Lz="[object Undefined]",f4=Zr?Zr.toStringTag:void 0;function ta(e){return e==null?e===void 0?Lz:Dz:f4&&f4 in Object(e)?Rz(e):Nz(e)}function Ci(e){return e!=null&&typeof e=="object"}var $z="[object Symbol]";function c0(e){return typeof e=="symbol"||Ci(e)&&ta(e)==$z}function Zk(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=gU)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bU(e){return function(){return e}}var SU=function(){try{var e=fl(Object,"defineProperty");return e({},"",{}),e}catch{}}();const fm=SU;var _U=fm?function(e,t){return fm(e,"toString",{configurable:!0,enumerable:!1,value:bU(t),writable:!0})}:d0;const wU=_U;var xU=vU(wU);const nO=xU;function rO(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var kU=9007199254740991,OU=/^(?:0|[1-9]\d*)$/;function _x(e,t){var n=typeof e;return t=t??kU,!!t&&(n=="number"||n!="symbol"&&OU.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MU}function mc(e){return e!=null&&xx(e.length)&&!Sx(e)}function aO(e,t,n){if(!vr(n))return!1;var r=typeof t;return(r=="number"?mc(n)&&_x(t,n.length):r=="string"&&t in n)?fh(n[t],e):!1}function lO(e){return sO(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&aO(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function KG(e,t){var n=this.__data__,r=f0(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ho(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?gO(a,t-1,n,r,i):Ox(i,a):r||(i[i.length]=a)}return i}function fH(e){var t=e==null?0:e.length;return t?gO(e,1):[]}function hH(e){return nO(oO(e,void 0,fH),e+"")}var pH=hO(Object.getPrototypeOf,Object);const Rx=pH;var gH="[object Object]",mH=Function.prototype,yH=Object.prototype,mO=mH.toString,vH=yH.hasOwnProperty,bH=mO.call(Object);function yO(e){if(!Ci(e)||ta(e)!=gH)return!1;var t=Rx(e);if(t===null)return!0;var n=vH.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&mO.call(n)==bH}function vO(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:vO(e,t,n)}var _H="\\ud800-\\udfff",wH="\\u0300-\\u036f",xH="\\ufe20-\\ufe2f",CH="\\u20d0-\\u20ff",TH=wH+xH+CH,EH="\\ufe0e\\ufe0f",PH="\\u200d",AH=RegExp("["+PH+_H+TH+EH+"]");function Ix(e){return AH.test(e)}function kH(e){return e.split("")}var bO="\\ud800-\\udfff",OH="\\u0300-\\u036f",RH="\\ufe20-\\ufe2f",IH="\\u20d0-\\u20ff",MH=OH+RH+IH,NH="\\ufe0e\\ufe0f",DH="["+bO+"]",x_="["+MH+"]",C_="\\ud83c[\\udffb-\\udfff]",LH="(?:"+x_+"|"+C_+")",SO="[^"+bO+"]",_O="(?:\\ud83c[\\udde6-\\uddff]){2}",wO="[\\ud800-\\udbff][\\udc00-\\udfff]",$H="\\u200d",xO=LH+"?",CO="["+NH+"]?",FH="(?:"+$H+"(?:"+[SO,_O,wO].join("|")+")"+CO+xO+")*",BH=CO+xO+FH,jH="(?:"+[SO+x_+"?",x_,_O,wO,DH].join("|")+")",VH=RegExp(C_+"(?="+C_+")|"+jH+BH,"g");function zH(e){return e.match(VH)||[]}function UH(e){return Ix(e)?zH(e):kH(e)}function GH(e){return function(t){t=p0(t);var n=Ix(t)?UH(t):void 0,r=n?n[0]:t.charAt(0),i=n?SH(n,1).join(""):t.slice(1);return r[e]()+i}}var HH=GH("toUpperCase");const qH=HH;function TO(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function Ss(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=hb(n),n=n===n?n:0),t!==void 0&&(t=hb(t),t=t===t?t:0),Lq(hb(e),t,n)}function $q(){this.__data__=new Ho,this.size=0}function Fq(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Bq(e){return this.__data__.get(e)}function jq(e){return this.__data__.has(e)}var Vq=200;function zq(e,t){var n=this.__data__;if(n instanceof Ho){var r=n.__data__;if(!cf||r.lengtha))return!1;var u=o.get(e),c=o.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=n&wK?new df:void 0;for(o.set(e,t),o.set(t,e);++d1),o}),gc(e,HO(e),n),r&&(n=Ad(n,EX|PX|AX,TX));for(var i=t.length;i--;)sR(n,t[i]);return n});const _0=kX;var OX=nR("length");const RX=OX;var aR="\\ud800-\\udfff",IX="\\u0300-\\u036f",MX="\\ufe20-\\ufe2f",NX="\\u20d0-\\u20ff",DX=IX+MX+NX,LX="\\ufe0e\\ufe0f",$X="["+aR+"]",O_="["+DX+"]",R_="\\ud83c[\\udffb-\\udfff]",FX="(?:"+O_+"|"+R_+")",lR="[^"+aR+"]",uR="(?:\\ud83c[\\udde6-\\uddff]){2}",cR="[\\ud800-\\udbff][\\udc00-\\udfff]",BX="\\u200d",dR=FX+"?",fR="["+LX+"]?",jX="(?:"+BX+"(?:"+[lR,uR,cR].join("|")+")"+fR+dR+")*",VX=fR+dR+jX,zX="(?:"+[lR+O_+"?",O_,uR,cR,$X].join("|")+")",H4=RegExp(R_+"(?="+R_+")|"+zX+VX,"g");function UX(e){for(var t=H4.lastIndex=0;H4.test(e);)++t;return t}function GX(e){return Ix(e)?UX(e):RX(e)}function HX(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function Lx(e,t,n){var r=mn(e)?TO:HX,i=arguments.length<3;return r(e,y0(t),n,i,v0)}var qX="[object Map]",WX="[object Set]";function hR(e){if(e==null)return 0;if(mc(e))return _X(e)?GX(e):e.length;var t=Qu(e);return t==qX||t==WX?e.size:pO(e).length}function KX(e,t){var n;return v0(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function Ea(e,t,n){var r=mn(e)?QO:KX;return n&&aO(e,t,n)&&(t=void 0),r(e,y0(t))}var XX=Dq(function(e,t,n){return e+(n?" ":"")+qH(t)});const YX=XX;var QX=1/0,ZX=Au&&1/Dx(new Au([,-0]))[1]==QX?function(e){return new Au(e)}:pU;const JX=ZX;var eY=200;function pR(e,t,n){var r=-1,i=AU,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=mX;else if(o>=eY){var u=t?null:JX(e);if(u)return Dx(u);s=!1,i=ZO,l=new df}else l=t?[]:a;e:for(;++r{CX(e,t.payload)}}}),{configChanged:iY}=mR.actions,oY=mR.reducer,pwe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},sY={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},gwe=0,aY=4294967295;var Ve;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(Ve||(Ve={}));var I_;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(I_||(I_={}));const re=Ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ms=e=>{switch(typeof e){case"undefined":return re.undefined;case"string":return re.string;case"number":return isNaN(e)?re.nan:re.number;case"boolean":return re.boolean;case"function":return re.function;case"bigint":return re.bigint;case"symbol":return re.symbol;case"object":return Array.isArray(e)?re.array:e===null?re.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?re.promise:typeof Map<"u"&&e instanceof Map?re.map:typeof Set<"u"&&e instanceof Set?re.set:typeof Date<"u"&&e instanceof Date?re.date:re.object;default:return re.unknown}},ee=Ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),lY=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class bi extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}bi.create=e=>new bi(e);const ff=(e,t)=>{let n;switch(e.code){case ee.invalid_type:e.received===re.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case ee.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ve.jsonStringifyReplacer)}`;break;case ee.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ve.joinValues(e.keys,", ")}`;break;case ee.invalid_union:n="Invalid input";break;case ee.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ve.joinValues(e.options)}`;break;case ee.invalid_enum_value:n=`Invalid enum value. Expected ${Ve.joinValues(e.options)}, received '${e.received}'`;break;case ee.invalid_arguments:n="Invalid function arguments";break;case ee.invalid_return_type:n="Invalid function return type";break;case ee.invalid_date:n="Invalid date";break;case ee.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ve.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case ee.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case ee.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case ee.custom:n="Invalid input";break;case ee.invalid_intersection_types:n="Intersection results could not be merged";break;case ee.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ee.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ve.assertNever(e)}return{message:n}};let yR=ff;function uY(e){yR=e}function pm(){return yR}const gm=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},cY=[];function oe(e,t){const n=gm({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,pm(),ff].filter(r=>!!r)});e.common.issues.push(n)}class jn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return be;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return jn.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return be;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const be=Object.freeze({status:"aborted"}),vR=e=>({status:"dirty",value:e}),tr=e=>({status:"valid",value:e}),M_=e=>e.status==="aborted",N_=e=>e.status==="dirty",mm=e=>e.status==="valid",ym=e=>typeof Promise<"u"&&e instanceof Promise;var ge;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ge||(ge={}));class eo{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const q4=(e,t)=>{if(mm(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new bi(e.common.issues);return this._error=n,this._error}}};function we(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class Ce{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ms(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new jn,ctx:{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(ym(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},o=this._parseSync({data:t,path:i.path,parent:i});return q4(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(ym(i)?i:Promise.resolve(i));return q4(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:ee.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ti({schema:this,typeName:ye.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return Oo.create(this,this._def)}nullable(){return el.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Si.create(this,this._def)}promise(){return Ju.create(this,this._def)}or(t){return mf.create([this,t],this._def)}and(t){return yf.create(this,t,this._def)}transform(t){return new Ti({...we(this._def),schema:this,typeName:ye.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new wf({...we(this._def),innerType:this,defaultValue:n,typeName:ye.ZodDefault})}brand(){return new SR({typeName:ye.ZodBranded,type:this,...we(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _m({...we(this._def),innerType:this,catchValue:n,typeName:ye.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return mh.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const dY=/^c[^\s-]{8,}$/i,fY=/^[a-z][a-z0-9]*$/,hY=/[0-9A-HJKMNP-TV-Z]{26}/,pY=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,gY=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,mY=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,yY=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,vY=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,bY=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function SY(e,t){return!!((t==="v4"||!t)&&yY.test(e)||(t==="v6"||!t)&&vY.test(e))}class pi extends Ce{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:ee.invalid_string,...ge.errToObj(r)}),this.nonempty=t=>this.min(1,ge.errToObj(t)),this.trim=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==re.string){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.string,received:o.parsedType}),be}const r=new jn;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...ge.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ge.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...ge.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ge.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ge.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ge.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ge.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ge.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new pi({checks:[],typeName:ye.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};function _Y(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zs extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==re.number){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.number,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="int"?Ve.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?_Y(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_finite,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new zs({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new zs({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ge.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ge.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&Ve.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zs({checks:[],typeName:ye.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Us extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==re.bigint){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.bigint,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Us({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Us({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Us({checks:[],typeName:ye.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};class hf extends Ce{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==re.boolean){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.boolean,received:r.parsedType}),be}return tr(t.data)}}hf.create=e=>new hf({typeName:ye.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Za extends Ce{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==re.date){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.date,received:o.parsedType}),be}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_date}),be}const r=new jn;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):Ve.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Za({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ge.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ge.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew Za({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:ye.ZodDate,...we(e)});class vm extends Ce{_parse(t){if(this._getType(t)!==re.symbol){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.symbol,received:r.parsedType}),be}return tr(t.data)}}vm.create=e=>new vm({typeName:ye.ZodSymbol,...we(e)});class pf extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.undefined,received:r.parsedType}),be}return tr(t.data)}}pf.create=e=>new pf({typeName:ye.ZodUndefined,...we(e)});class gf extends Ce{_parse(t){if(this._getType(t)!==re.null){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.null,received:r.parsedType}),be}return tr(t.data)}}gf.create=e=>new gf({typeName:ye.ZodNull,...we(e)});class Zu extends Ce{constructor(){super(...arguments),this._any=!0}_parse(t){return tr(t.data)}}Zu.create=e=>new Zu({typeName:ye.ZodAny,...we(e)});class Ba extends Ce{constructor(){super(...arguments),this._unknown=!0}_parse(t){return tr(t.data)}}Ba.create=e=>new Ba({typeName:ye.ZodUnknown,...we(e)});class Vo extends Ce{_parse(t){const n=this._getOrReturnCtx(t);return oe(n,{code:ee.invalid_type,expected:re.never,received:n.parsedType}),be}}Vo.create=e=>new Vo({typeName:ye.ZodNever,...we(e)});class bm extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.void,received:r.parsedType}),be}return tr(t.data)}}bm.create=e=>new bm({typeName:ye.ZodVoid,...we(e)});class Si extends Ce{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==re.array)return oe(n,{code:ee.invalid_type,expected:re.array,received:n.parsedType}),be;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(oe(n,{code:ee.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new eo(n,s,n.path,a)))).then(s=>jn.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new eo(n,s,n.path,a)));return jn.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Si({...this._def,minLength:{value:t,message:ge.toString(n)}})}max(t,n){return new Si({...this._def,maxLength:{value:t,message:ge.toString(n)}})}length(t,n){return new Si({...this._def,exactLength:{value:t,message:ge.toString(n)}})}nonempty(t){return this.min(1,t)}}Si.create=(e,t)=>new Si({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ye.ZodArray,...we(t)});function Wl(e){if(e instanceof Tt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Oo.create(Wl(r))}return new Tt({...e._def,shape:()=>t})}else return e instanceof Si?new Si({...e._def,type:Wl(e.element)}):e instanceof Oo?Oo.create(Wl(e.unwrap())):e instanceof el?el.create(Wl(e.unwrap())):e instanceof to?to.create(e.items.map(t=>Wl(t))):e}class Tt extends Ce{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Ve.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==re.object){const u=this._getOrReturnCtx(t);return oe(u,{code:ee.invalid_type,expected:re.object,received:u.parsedType}),be}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Vo&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const c=o[u],d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new eo(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Vo){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(u==="strict")a.length>0&&(oe(i,{code:ee.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new eo(i,d,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of l){const d=await c.key;u.push({key:d,value:await c.value,alwaysSet:c.alwaysSet})}return u}).then(u=>jn.mergeObjectSync(r,u)):jn.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return ge.errToObj,new Tt({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=ge.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new Tt({...this._def,unknownKeys:"strip"})}passthrough(){return new Tt({...this._def,unknownKeys:"passthrough"})}extend(t){return new Tt({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Tt({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ye.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Tt({...this._def,catchall:t})}pick(t){const n={};return Ve.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}omit(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}deepPartial(){return Wl(this)}partial(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new Tt({...this._def,shape:()=>n})}required(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof Oo;)o=o._def.innerType;n[r]=o}}),new Tt({...this._def,shape:()=>n})}keyof(){return bR(Ve.objectKeys(this.shape))}}Tt.create=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.strictCreate=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strict",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.lazycreate=(e,t)=>new Tt({shape:e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});class mf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new bi(a.ctx.common.issues));return oe(n,{code:ee.invalid_union,unionErrors:s}),be}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new bi(l));return oe(n,{code:ee.invalid_union,unionErrors:a}),be}}get options(){return this._def.options}}mf.create=(e,t)=>new mf({options:e,typeName:ye.ZodUnion,...we(t)});const dg=e=>e instanceof bf?dg(e.schema):e instanceof Ti?dg(e.innerType()):e instanceof Sf?[e.value]:e instanceof Gs?e.options:e instanceof _f?Object.keys(e.enum):e instanceof wf?dg(e._def.innerType):e instanceof pf?[void 0]:e instanceof gf?[null]:null;class w0 extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.object)return oe(n,{code:ee.invalid_type,expected:re.object,received:n.parsedType}),be;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(oe(n,{code:ee.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),be)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=dg(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new w0({typeName:ye.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...we(r)})}}function D_(e,t){const n=ms(e),r=ms(t);if(e===t)return{valid:!0,data:e};if(n===re.object&&r===re.object){const i=Ve.objectKeys(t),o=Ve.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=D_(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===re.array&&r===re.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(M_(o)||M_(s))return be;const a=D_(o.value,s.value);return a.valid?((N_(o)||N_(s))&&n.dirty(),{status:n.value,value:a.data}):(oe(r,{code:ee.invalid_intersection_types}),be)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}yf.create=(e,t,n)=>new yf({left:e,right:t,typeName:ye.ZodIntersection,...we(n)});class to extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.array)return oe(r,{code:ee.invalid_type,expected:re.array,received:r.parsedType}),be;if(r.data.lengththis._def.items.length&&(oe(r,{code:ee.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new eo(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>jn.mergeArray(n,s)):jn.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new to({...this._def,rest:t})}}to.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new to({items:e,typeName:ye.ZodTuple,rest:null,...we(t)})};class vf extends Ce{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.object)return oe(r,{code:ee.invalid_type,expected:re.object,received:r.parsedType}),be;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new eo(r,a,r.path,a)),value:s._parse(new eo(r,r.data[a],r.path,a))});return r.common.async?jn.mergeObjectAsync(n,i):jn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ce?new vf({keyType:t,valueType:n,typeName:ye.ZodRecord,...we(r)}):new vf({keyType:pi.create(),valueType:t,typeName:ye.ZodRecord,...we(n)})}}class Sm extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.map)return oe(r,{code:ee.invalid_type,expected:re.map,received:r.parsedType}),be;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new eo(r,a,r.path,[u,"key"])),value:o._parse(new eo(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}}Sm.create=(e,t,n)=>new Sm({valueType:t,keyType:e,typeName:ye.ZodMap,...we(n)});class Ja extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.set)return oe(r,{code:ee.invalid_type,expected:re.set,received:r.parsedType}),be;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(oe(r,{code:ee.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const c of l){if(c.status==="aborted")return be;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new eo(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new Ja({...this._def,minSize:{value:t,message:ge.toString(n)}})}max(t,n){return new Ja({...this._def,maxSize:{value:t,message:ge.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Ja.create=(e,t)=>new Ja({valueType:e,minSize:null,maxSize:null,typeName:ye.ZodSet,...we(t)});class ku extends Ce{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.function)return oe(n,{code:ee.invalid_type,expected:re.function,received:n.parsedType}),be;function r(a,l){return gm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,pm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_arguments,argumentsError:l}})}function i(a,l){return gm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,pm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof Ju?tr(async(...a)=>{const l=new bi([]),u=await this._def.args.parseAsync(a,o).catch(f=>{throw l.addIssue(r(a,f)),l}),c=await s(...u);return await this._def.returns._def.type.parseAsync(c,o).catch(f=>{throw l.addIssue(i(c,f)),l})}):tr((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new bi([r(a,l.error)]);const u=s(...l.data),c=this._def.returns.safeParse(u,o);if(!c.success)throw new bi([i(u,c.error)]);return c.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new ku({...this._def,args:to.create(t).rest(Ba.create())})}returns(t){return new ku({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new ku({args:t||to.create([]).rest(Ba.create()),returns:n||Ba.create(),typeName:ye.ZodFunction,...we(r)})}}class bf extends Ce{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}bf.create=(e,t)=>new bf({getter:e,typeName:ye.ZodLazy,...we(t)});class Sf extends Ce{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return oe(n,{received:n.data,code:ee.invalid_literal,expected:this._def.value}),be}return{status:"valid",value:t.data}}get value(){return this._def.value}}Sf.create=(e,t)=>new Sf({value:e,typeName:ye.ZodLiteral,...we(t)});function bR(e,t){return new Gs({values:e,typeName:ye.ZodEnum,...we(t)})}class Gs extends Ce{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{expected:Ve.joinValues(r),received:n.parsedType,code:ee.invalid_type}),be}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{received:n.data,code:ee.invalid_enum_value,options:r}),be}return tr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return Gs.create(t)}exclude(t){return Gs.create(this.options.filter(n=>!t.includes(n)))}}Gs.create=bR;class _f extends Ce{_parse(t){const n=Ve.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==re.string&&r.parsedType!==re.number){const i=Ve.objectValues(n);return oe(r,{expected:Ve.joinValues(i),received:r.parsedType,code:ee.invalid_type}),be}if(n.indexOf(t.data)===-1){const i=Ve.objectValues(n);return oe(r,{received:r.data,code:ee.invalid_enum_value,options:i}),be}return tr(t.data)}get enum(){return this._def.values}}_f.create=(e,t)=>new _f({values:e,typeName:ye.ZodNativeEnum,...we(t)});class Ju extends Ce{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.promise&&n.common.async===!1)return oe(n,{code:ee.invalid_type,expected:re.promise,received:n.parsedType}),be;const r=n.parsedType===re.promise?n.data:Promise.resolve(n.data);return tr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Ju.create=(e,t)=>new Ju({type:e,typeName:ye.ZodPromise,...we(t)});class Ti extends Ce{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ye.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{oe(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!mm(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>mm(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);Ve.assertNever(i)}}Ti.create=(e,t,n)=>new Ti({schema:e,typeName:ye.ZodEffects,effect:t,...we(n)});Ti.createWithPreprocess=(e,t,n)=>new Ti({schema:t,effect:{type:"preprocess",transform:e},typeName:ye.ZodEffects,...we(n)});class Oo extends Ce{_parse(t){return this._getType(t)===re.undefined?tr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Oo.create=(e,t)=>new Oo({innerType:e,typeName:ye.ZodOptional,...we(t)});class el extends Ce{_parse(t){return this._getType(t)===re.null?tr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}el.create=(e,t)=>new el({innerType:e,typeName:ye.ZodNullable,...we(t)});class wf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===re.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}wf.create=(e,t)=>new wf({innerType:e,typeName:ye.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...we(t)});class _m extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return ym(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_m.create=(e,t)=>new _m({innerType:e,typeName:ye.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...we(t)});class wm extends Ce{_parse(t){if(this._getType(t)!==re.nan){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.nan,received:r.parsedType}),be}return{status:"valid",value:t.data}}}wm.create=e=>new wm({typeName:ye.ZodNaN,...we(e)});const wY=Symbol("zod_brand");class SR extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class mh extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?be:o.status==="dirty"?(n.dirty(),vR(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?be:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new mh({in:t,out:n,typeName:ye.ZodPipeline})}}const _R=(e,t={},n)=>e?Zu.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Zu.create(),xY={object:Tt.lazycreate};var ye;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(ye||(ye={}));const CY=(e,t={message:`Input not instance of ${e.name}`})=>_R(n=>n instanceof e,t),wR=pi.create,xR=zs.create,TY=wm.create,EY=Us.create,CR=hf.create,PY=Za.create,AY=vm.create,kY=pf.create,OY=gf.create,RY=Zu.create,IY=Ba.create,MY=Vo.create,NY=bm.create,DY=Si.create,LY=Tt.create,$Y=Tt.strictCreate,FY=mf.create,BY=w0.create,jY=yf.create,VY=to.create,zY=vf.create,UY=Sm.create,GY=Ja.create,HY=ku.create,qY=bf.create,WY=Sf.create,KY=Gs.create,XY=_f.create,YY=Ju.create,W4=Ti.create,QY=Oo.create,ZY=el.create,JY=Ti.createWithPreprocess,eQ=mh.create,tQ=()=>wR().optional(),nQ=()=>xR().optional(),rQ=()=>CR().optional(),iQ={string:e=>pi.create({...e,coerce:!0}),number:e=>zs.create({...e,coerce:!0}),boolean:e=>hf.create({...e,coerce:!0}),bigint:e=>Us.create({...e,coerce:!0}),date:e=>Za.create({...e,coerce:!0})},oQ=be;var jt=Object.freeze({__proto__:null,defaultErrorMap:ff,setErrorMap:uY,getErrorMap:pm,makeIssue:gm,EMPTY_PATH:cY,addIssueToContext:oe,ParseStatus:jn,INVALID:be,DIRTY:vR,OK:tr,isAborted:M_,isDirty:N_,isValid:mm,isAsync:ym,get util(){return Ve},get objectUtil(){return I_},ZodParsedType:re,getParsedType:ms,ZodType:Ce,ZodString:pi,ZodNumber:zs,ZodBigInt:Us,ZodBoolean:hf,ZodDate:Za,ZodSymbol:vm,ZodUndefined:pf,ZodNull:gf,ZodAny:Zu,ZodUnknown:Ba,ZodNever:Vo,ZodVoid:bm,ZodArray:Si,ZodObject:Tt,ZodUnion:mf,ZodDiscriminatedUnion:w0,ZodIntersection:yf,ZodTuple:to,ZodRecord:vf,ZodMap:Sm,ZodSet:Ja,ZodFunction:ku,ZodLazy:bf,ZodLiteral:Sf,ZodEnum:Gs,ZodNativeEnum:_f,ZodPromise:Ju,ZodEffects:Ti,ZodTransformer:Ti,ZodOptional:Oo,ZodNullable:el,ZodDefault:wf,ZodCatch:_m,ZodNaN:wm,BRAND:wY,ZodBranded:SR,ZodPipeline:mh,custom:_R,Schema:Ce,ZodSchema:Ce,late:xY,get ZodFirstPartyTypeKind(){return ye},coerce:iQ,any:RY,array:DY,bigint:EY,boolean:CR,date:PY,discriminatedUnion:BY,effect:W4,enum:KY,function:HY,instanceof:CY,intersection:jY,lazy:qY,literal:WY,map:UY,nan:TY,nativeEnum:XY,never:MY,null:OY,nullable:ZY,number:xR,object:LY,oboolean:rQ,onumber:nQ,optional:QY,ostring:tQ,pipeline:eQ,preprocess:JY,promise:YY,record:zY,set:GY,strictObject:$Y,string:wR,symbol:AY,transformer:W4,tuple:VY,undefined:kY,union:FY,unknown:IY,void:NY,NEVER:oQ,ZodIssueCode:ee,quotelessJson:lY,ZodError:bi});const sQ=jt.string(),mwe=e=>sQ.safeParse(e).success,aQ=jt.string(),ywe=e=>aQ.safeParse(e).success;jt.string();jt.string();const lQ=jt.number().int().min(1),vwe=e=>lQ.safeParse(e).success,uQ=jt.number().min(1),bwe=e=>uQ.safeParse(e).success,cQ=jt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),Swe=e=>cQ.safeParse(e).success,_we={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},dQ=jt.number().int().min(0).max(aY),wwe=e=>dQ.safeParse(e).success,fQ=jt.number().multipleOf(8).min(64),xwe=e=>fQ.safeParse(e).success,hQ=jt.number().multipleOf(8).min(64),Cwe=e=>hQ.safeParse(e).success,x0=jt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),xf=jt.object({model_name:jt.string().min(1),base_model:x0}),Twe=e=>xf.safeParse(e).success,pQ=jt.object({model_name:jt.string().min(1),base_model:x0}),Ewe=jt.object({model_name:jt.string().min(1),base_model:x0}),Pwe=jt.object({model_name:jt.string().min(1),base_model:x0}),gQ=jt.number().min(0).max(1),Awe=e=>gQ.safeParse(e).success;jt.enum(["fp16","fp32"]);const Wo={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},mQ=Wo,TR=Pt({name:"generation",initialState:mQ,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Ss(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Ss(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Wo}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=sY[e.model.base_model];e.clipSkip=Ss(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ui(e.width/n,8))}},extraReducers:e=>{e.addCase(iY,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=xf.safeParse({model_name:a,base_model:o});l.success&&(t.model=l.data)}}),e.addCase(vQ,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:kwe,clearInitialImage:ER,resetParametersState:Owe,resetSeed:Rwe,setCfgScale:Iwe,setWidth:Mwe,setHeight:Nwe,toggleSize:Dwe,setImg2imgStrength:Lwe,setInfillMethod:yQ,setIterations:$we,setPerlin:Fwe,setPositivePrompt:Bwe,setNegativePrompt:jwe,setScheduler:Vwe,setSeamBlur:zwe,setSeamSize:Uwe,setSeamSteps:Gwe,setSeamStrength:Hwe,setSeed:qwe,setSeedWeights:Wwe,setShouldFitToWidthHeight:Kwe,setShouldGenerateVariations:Xwe,setShouldRandomizeSeed:Ywe,setSteps:Qwe,setThreshold:Zwe,setTileSize:Jwe,setVariationAmount:exe,setShouldUseSymmetry:txe,setHorizontalSymmetrySteps:nxe,setVerticalSymmetrySteps:rxe,initialImageChanged:C0,modelChanged:ja,vaeSelected:PR,setShouldUseNoiseSettings:ixe,setSeamlessXAxis:oxe,setSeamlessYAxis:sxe,setClipSkip:axe,shouldUseCpuNoiseChanged:lxe,setShouldShowAdvancedOptions:vQ,setAspectRatio:bQ,vaePrecisionChanged:uxe}=TR.actions,SQ=TR.reducer,AR=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],K4=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=AR.indexOf(t)},kR={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},OR=Pt({name:"ui",initialState:kR,reducers:{setActiveTab:(e,t)=>{K4(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(C0,t=>{K4(t,"img2img")})}}),{setActiveTab:RR,setShouldPinParametersPanel:cxe,setShouldShowParametersPanel:dxe,setShouldShowImageDetails:fxe,setShouldUseCanvasBetaLayout:_Q,setShouldShowExistingModelsInSearch:hxe,setShouldUseSliders:pxe,setShouldHidePreview:gxe,setShouldShowGallery:mxe,togglePanels:yxe,togglePinGalleryPanel:vxe,togglePinParametersPanel:bxe,toggleParametersPanel:Sxe,toggleGalleryPanel:_xe,setShouldShowProgressInViewer:wxe,favoriteSchedulersChanged:xxe,toggleEmbeddingPicker:Cxe}=OR.actions,wQ=OR.reducer;let Wn=[],T0=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!Wn.length;for(let s=0;s(e.events=e.events||{},e.events[n+mp]||(e.events[n+mp]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+mp](),delete e.events[n+mp])}),TQ=1e3,EQ=(e,t)=>CQ(e,r=>{let i=t(r);i&&e.events[gp].push(i)},xQ,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[gp]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[gp])s();e.events[gp]=[]}},TQ)},()=>{e.listen=i,e.off=o}}),PQ=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=T0(void 0,Math.max(...e.map(o=>o.l))+1);return EQ(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const AQ={"Content-Type":"application/json"},kQ=/\/*$/;function OQ(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function RQ(e){return JSON.stringify(e)}function IQ(e,t){let n=`${t.baseUrl?t.baseUrl.replace(kQ,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function MQ(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...AQ,...i.headers??{}});async function s(a,l){const{headers:u,body:c,params:d={},parseAs:f="json",querySerializer:h=n??OQ,bodySerializer:p=r??RQ,...m}=l||{},S=IQ(a,{baseUrl:i.baseUrl,params:d,querySerializer:h}),v=new Headers(o),y=new Headers(u);for(const[w,x]of y.entries())x==null?v.delete(w):v.set(w,x);const g={redirect:"follow",...i,...m,headers:v};c&&(g.body=p(c)),g.body instanceof FormData&&v.delete("Content-Type");const b=await t(S,g);if(b.status===204||b.headers.get("Content-Length")==="0")return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok){let w=b.body;if(f!=="stream"){const x=b.clone();w=typeof x[f]=="function"?await x[f]():await x.text()}return{data:w,response:b}}let _={};try{_=await b.clone().json()}catch{_=await b.clone().text()}return{error:_,response:b}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Cf=T0(),Tf=T0(),E0=PQ([Cf,Tf],(e,t)=>MQ({headers:e?{Authorization:`Bearer ${e}`}:{},baseUrl:`${t??""}`})),On=Vs("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),NQ=e=>vr(e)&&"status"in e,yh=Vs("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return NQ(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),hl=Vs("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Vs("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=E0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const IR=ei(On.rejected,yh.rejected),Ml=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},Nl=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},Txe=.999,Exe=.1,Pxe=20,Vc=.95,Axe=30,kxe=10,X4=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),pa=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ui(a/o,64)):o<1&&(r.height=a,r.width=Ui(a*o,64)),s=r.width*r.height;return r},DQ=e=>({width:Ui(e.width,64),height:Ui(e.height,64)}),Oxe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],Rxe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],MR=e=>e.kind==="line"&&e.layer==="mask",Ixe=e=>e.kind==="line"&&e.layer==="base",Y4=e=>e.kind==="image"&&e.layer==="base",Mxe=e=>e.kind==="fillRect"&&e.layer==="base",Nxe=e=>e.kind==="eraseRect"&&e.layer==="base",LQ=e=>e.kind==="line",Kl={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},NR={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:Kl,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},DR=Pt({name:"canvas",initialState:NR,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!MR(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:hp(Ss(r,64,512),64),height:hp(Ss(i,64,512),64)},a={x:Ui(r/2-s.width/2,64),y:Ui(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const c=pa(s);e.scaledBoundingBoxDimensions=c}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ln(e.layerState)),e.layerState={...Kl,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=Nl(o.width,o.height,r,i,Vc),u=Ml(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=DQ(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=pa(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=X4(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...Kl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(LQ);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ln(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState=Kl,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(Y4),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const c=Nl(i.width,i.height,512,512,Vc),d=Ml(i.width,i.height,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=pa(f);e.scaledBoundingBoxDimensions=h}return}const{width:o,height:s}=r,l=Nl(t,n,o,s,.95),u=Ml(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=X4(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(Y4)){const i=Nl(r.width,r.height,512,512,Vc),o=Ml(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=pa(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const c=r?1:Nl(i,o,l,u,Vc),d=Ml(i,o,s,a,l,u,c);e.stageScale=c,e.stageCoordinates=d}else{const c=Nl(i,o,512,512,Vc),d=Ml(i,o,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=pa(f);e.scaledBoundingBoxDimensions=h}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...n[r]}),e.layerState.stagingArea={...Kl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:hp(Ss(o,64,512),64),height:hp(Ss(s,64,512),64)},l={x:Ui(o/2-a.width/2,64),y:Ui(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=pa(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=pa(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ln(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(hl.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=Kl.stagingArea)}),e.addCase(_Q,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(RR,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(bQ,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ui(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:Dxe,addFillRect:Lxe,addImageToStagingArea:$Q,addLine:$xe,addPointToCurrentLine:Fxe,clearCanvasHistory:Bxe,clearMask:jxe,commitColorPickerColor:Vxe,commitStagingAreaImage:FQ,discardStagedImages:zxe,fitBoundingBoxToStage:Uxe,mouseLeftCanvas:Gxe,nextStagingAreaImage:Hxe,prevStagingAreaImage:qxe,redo:Wxe,resetCanvas:LR,resetCanvasInteractionState:Kxe,resetCanvasView:Xxe,resizeAndScaleCanvas:Yxe,resizeCanvas:Qxe,setBoundingBoxCoordinates:Zxe,setBoundingBoxDimensions:Jxe,setBoundingBoxPreviewFill:eCe,setBoundingBoxScaleMethod:tCe,flipBoundingBoxAxes:nCe,setBrushColor:rCe,setBrushSize:iCe,setCanvasContainerDimensions:oCe,setColorPickerColor:sCe,setCursorPosition:aCe,setDoesCanvasNeedScaling:lCe,setInitialCanvasImage:$R,setIsDrawing:uCe,setIsMaskEnabled:cCe,setIsMouseOverBoundingBox:dCe,setIsMoveBoundingBoxKeyHeld:fCe,setIsMoveStageKeyHeld:hCe,setIsMovingBoundingBox:pCe,setIsMovingStage:gCe,setIsTransformingBoundingBox:mCe,setLayer:yCe,setMaskColor:vCe,setMergedCanvas:BQ,setShouldAutoSave:bCe,setShouldCropToBoundingBoxOnSave:SCe,setShouldDarkenOutsideBoundingBox:_Ce,setShouldLockBoundingBox:wCe,setShouldPreserveMaskedArea:xCe,setShouldShowBoundingBox:CCe,setShouldShowBrush:TCe,setShouldShowBrushPreview:ECe,setShouldShowCanvasDebugInfo:PCe,setShouldShowCheckboardTransparency:ACe,setShouldShowGrid:kCe,setShouldShowIntermediates:OCe,setShouldShowStagingImage:RCe,setShouldShowStagingOutline:ICe,setShouldSnapToGrid:MCe,setStageCoordinates:NCe,setStageScale:DCe,setTool:LCe,toggleShouldLockBoundingBox:$Ce,toggleTool:FCe,undo:BCe,setScaledBoundingBoxDimensions:jCe,setShouldRestrictStrokesToBox:VCe,stagingAreaInitialized:jQ,canvasSessionIdChanged:VQ,setShouldAntialias:zCe}=DR.actions,zQ=DR.reducer,UQ=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,YQ=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),$_=Symbol("encodeFragmentIdentifier");function QQ(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),"[",i,"]"].join("")]:[...n,[qt(t,e),"[",qt(i,e),"]=",qt(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),"[]"].join("")]:[...n,[qt(t,e),"[]=",qt(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[qt(t,e),":list="].join("")]:[...n,[qt(t,e),":list=",qt(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[qt(n,e),t,qt(i,e)].join("")]:[[r,qt(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,qt(t,e)]:[...n,[qt(t,e),"=",qt(r,e)].join("")]}}function ZQ(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&wo(r,e).includes(e.arrayFormatSeparator);r=s?wo(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>wo(l,e)):r===null?r:wo(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&wo(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>wo(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function jR(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function qt(e,t){return t.encode?t.strict?YQ(e):encodeURIComponent(e):e}function wo(e,t){return t.decode?WQ(e):e}function VR(e){return Array.isArray(e)?e.sort():typeof e=="object"?VR(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function zR(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function JQ(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function J4(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function $x(e){e=zR(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function Fx(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},jR(t.arrayFormatSeparator);const n=ZQ(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=BR(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:wo(a,t),n(wo(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=J4(a,t);else r[i]=J4(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=VR(s):i[o]=s,i},Object.create(null))}function UR(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},jR(t.arrayFormatSeparator);const n=s=>t.skipNull&&XQ(e[s])||t.skipEmptyString&&e[s]==="",r=QQ(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?qt(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?qt(s,t)+"[]":a.reduce(r(s),[]).join("&"):qt(s,t)+"="+qt(a,t)}).filter(s=>s.length>0).join("&")}function GR(e,t){var i;t={decode:!0,...t};let[n,r]=BR(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Fx($x(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:wo(r,t)}:{}}}function HR(e,t){t={encode:!0,strict:!0,[$_]:!0,...t};const n=zR(e.url).split("?")[0]||"",r=$x(e.url),i={...Fx(r,{sort:!1}),...e.query};let o=UR(i,t);o&&(o=`?${o}`);let s=JQ(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[$_]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function qR(e,t,n){n={parseFragmentIdentifier:!0,[$_]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=GR(e,n);return HR({url:r,query:KQ(i,t),fragmentIdentifier:o},n)}function eZ(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return qR(e,r,n)}const F_=Object.freeze(Object.defineProperty({__proto__:null,exclude:eZ,extract:$x,parse:Fx,parseUrl:GR,pick:qR,stringify:UR,stringifyUrl:HR},Symbol.toStringTag,{value:"Module"}));var xm=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function cZ(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var rT=xi;function XR(e,t){if(e===t||!(rT(e)&&rT(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},fZ=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function oT(e){if(!xi(e))return e;for(var t=$t({},e),n=0,r=Object.entries(t);n"u"&&a===iT&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(g,b){return Em(t,null,function(){var _,w,x,T,P,E,A,$,M,C,O,I,N,R,D,L,j,U,G,W,X,Y,B,H,Q,J,ne,te,xe,ve,ce,Ne,se,gt,vn,It;return xm(this,function(ut){switch(ut.label){case 0:return _=b.signal,w=b.getState,x=b.extra,T=b.endpoint,P=b.forced,E=b.type,$=typeof g=="string"?{url:g}:g,M=$.url,C=$.headers,O=C===void 0?new Headers(v.headers):C,I=$.params,N=I===void 0?void 0:I,R=$.responseHandler,D=R===void 0?m??"json":R,L=$.validateStatus,j=L===void 0?S??dZ:L,U=$.timeout,G=U===void 0?p:U,W=tT($,["url","headers","params","responseHandler","validateStatus","timeout"]),X=$t(Hi($t({},v),{signal:_}),W),O=new Headers(oT(O)),Y=X,[4,o(O,{getState:w,extra:x,endpoint:T,forced:P,type:E})];case 1:Y.headers=ut.sent()||O,B=function(tt){return typeof tt=="object"&&(xi(tt)||Array.isArray(tt)||typeof tt.toJSON=="function")},!X.headers.has("content-type")&&B(X.body)&&X.headers.set("content-type",f),B(X.body)&&c(X.headers)&&(X.body=JSON.stringify(X.body,h)),N&&(H=~M.indexOf("?")?"&":"?",Q=l?l(N):new URLSearchParams(oT(N)),M+=H+Q),M=lZ(r,M),J=new Request(M,X),ne=J.clone(),A={request:ne},xe=!1,ve=G&&setTimeout(function(){xe=!0,b.abort()},G),ut.label=2;case 2:return ut.trys.push([2,4,5,6]),[4,a(J)];case 3:return te=ut.sent(),[3,6];case 4:return ce=ut.sent(),[2,{error:{status:xe?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(ce)},meta:A}];case 5:return ve&&clearTimeout(ve),[7];case 6:Ne=te.clone(),A.response=Ne,gt="",ut.label=7;case 7:return ut.trys.push([7,9,,10]),[4,Promise.all([y(te,D).then(function(tt){return se=tt},function(tt){return vn=tt}),Ne.text().then(function(tt){return gt=tt},function(){})])];case 8:if(ut.sent(),vn)throw vn;return[3,10];case 9:return It=ut.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:te.status,data:gt,error:String(It)},meta:A}];case 10:return[2,j(te,se)?{data:se,meta:A}:{error:{status:te.status,data:se},meta:A}]}})})};function y(g,b){return Em(this,null,function(){var _;return xm(this,function(w){switch(w.label){case 0:return typeof b=="function"?[2,b(g)]:(b==="content-type"&&(b=c(g.headers)?"json":"text"),b!=="json"?[3,2]:[4,g.text()]);case 1:return _=w.sent(),[2,_.length?JSON.parse(_):null];case 2:return[2,g.text()]}})})}}var sT=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),Bx=ue("__rtkq/focused"),YR=ue("__rtkq/unfocused"),jx=ue("__rtkq/online"),QR=ue("__rtkq/offline"),no;(function(e){e.query="query",e.mutation="mutation"})(no||(no={}));function ZR(e){return e.type===no.query}function pZ(e){return e.type===no.mutation}function JR(e,t,n,r,i,o){return gZ(e)?e(t,n,r,i).map(B_).map(o):Array.isArray(e)?e.map(B_).map(o):[]}function gZ(e){return typeof e=="function"}function B_(e){return typeof e=="string"?{type:e}:e}function yb(e){return e!=null}var Ef=Symbol("forceQueryFn"),j_=function(e){return typeof e[Ef]=="function"};function mZ(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,c=l.removeMutationResult,d=l.updateSubscriptionOptions;return{buildInitiateQuery:y,buildInitiateMutation:g,getRunningQueryThunk:p,getRunningMutationThunk:m,getRunningQueriesThunk:S,getRunningMutationsThunk:v,getRunningOperationPromises:h,removalWarning:f};function f(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. - See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function h(){typeof process<"u";var b=function(_){return Array.from(_.values()).flatMap(function(w){return w?Object.values(w):[]})};return Cm(Cm([],b(s)),b(a)).filter(yb)}function p(b,_){return function(w){var x,T=o.endpointDefinitions[b],P=t({queryArgs:_,endpointDefinition:T,endpointName:b});return(x=s.get(w))==null?void 0:x[P]}}function m(b,_){return function(w){var x;return(x=a.get(w))==null?void 0:x[_]}}function S(){return function(b){return Object.values(s.get(b)||{}).filter(yb)}}function v(){return function(b){return Object.values(a.get(b)||{}).filter(yb)}}function y(b,_){var w=function(x,T){var P=T===void 0?{}:T,E=P.subscribe,A=E===void 0?!0:E,$=P.forceRefetch,M=P.subscriptionOptions,C=Ef,O=P[C];return function(I,N){var R,D,L=t({queryArgs:x,endpointDefinition:_,endpointName:b}),j=n((R={type:"query",subscribe:A,forceRefetch:$,subscriptionOptions:M,endpointName:b,originalArgs:x,queryCacheKey:L},R[Ef]=O,R)),U=i.endpoints[b].select(x),G=I(j),W=U(N()),X=G.requestId,Y=G.abort,B=W.requestId!==X,H=(D=s.get(I))==null?void 0:D[L],Q=function(){return U(N())},J=Object.assign(O?G.then(Q):B&&!H?Promise.resolve(W):Promise.all([H,G]).then(Q),{arg:x,requestId:X,subscriptionOptions:M,queryCacheKey:L,abort:Y,unwrap:function(){return Em(this,null,function(){var te;return xm(this,function(xe){switch(xe.label){case 0:return[4,J];case 1:if(te=xe.sent(),te.isError)throw te.error;return[2,te.data]}})})},refetch:function(){return I(w(x,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){A&&I(u({queryCacheKey:L,requestId:X}))},updateSubscriptionOptions:function(te){J.subscriptionOptions=te,I(d({endpointName:b,requestId:X,queryCacheKey:L,options:te}))}});if(!H&&!B&&!O){var ne=s.get(I)||{};ne[L]=J,s.set(I,ne),J.then(function(){delete ne[L],Object.keys(ne).length||s.delete(I)})}return J}};return w}function g(b){return function(_,w){var x=w===void 0?{}:w,T=x.track,P=T===void 0?!0:T,E=x.fixedCacheKey;return function(A,$){var M=r({type:"mutation",endpointName:b,originalArgs:_,track:P,fixedCacheKey:E}),C=A(M),O=C.requestId,I=C.abort,N=C.unwrap,R=C.unwrap().then(function(U){return{data:U}}).catch(function(U){return{error:U}}),D=function(){A(c({requestId:O,fixedCacheKey:E}))},L=Object.assign(R,{arg:C.arg,requestId:O,abort:I,unwrap:N,unsubscribe:D,reset:D}),j=a.get(A)||{};return a.set(A,j),j[O]=L,L.then(function(){delete j[O],Object.keys(j).length||a.delete(A)}),E&&(j[E]=L,L.then(function(){j[E]===L&&(delete j[E],Object.keys(j).length||a.delete(A))})),L}}}}function aT(e){return e}function yZ(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(g,b,_){return function(w){var x=i[g];w(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:b,endpointDefinition:x,endpointName:g}),patches:_}))}},l=function(g,b,_){return function(w,x){var T,P,E=s.endpoints[g].select(b)(x()),A={patches:[],inversePatches:[],undo:function(){return w(s.util.patchQueryData(g,b,A.inversePatches))}};if(E.status===vt.uninitialized)return A;if("data"in E)if(yr(E.data)){var $=gx(E.data,_),M=$[1],C=$[2];(T=A.patches).push.apply(T,M),(P=A.inversePatches).push.apply(P,C)}else{var O=_(E.data);A.patches.push({op:"replace",path:[],value:O}),A.inversePatches.push({op:"replace",path:[],value:E.data})}return w(s.util.patchQueryData(g,b,A.patches)),A}},u=function(g,b,_){return function(w){var x;return w(s.endpoints[g].initiate(b,(x={subscribe:!1,forceRefetch:!0},x[Ef]=function(){return{data:_}},x)))}},c=function(g,b){return Em(t,[g,b],function(_,w){var x,T,P,E,A,$,M,C,O,I,N,R,D,L,j,U,G,W,X=w.signal,Y=w.abort,B=w.rejectWithValue,H=w.fulfillWithValue,Q=w.dispatch,J=w.getState,ne=w.extra;return xm(this,function(te){switch(te.label){case 0:x=i[_.endpointName],te.label=1;case 1:return te.trys.push([1,8,,13]),T=aT,P=void 0,E={signal:X,abort:Y,dispatch:Q,getState:J,extra:ne,endpoint:_.endpointName,type:_.type,forced:_.type==="query"?d(_,J()):void 0},A=_.type==="query"?_[Ef]:void 0,A?(P=A(),[3,6]):[3,2];case 2:return x.query?[4,r(x.query(_.originalArgs),E,x.extraOptions)]:[3,4];case 3:return P=te.sent(),x.transformResponse&&(T=x.transformResponse),[3,6];case 4:return[4,x.queryFn(_.originalArgs,E,x.extraOptions,function(xe){return r(xe,E,x.extraOptions)})];case 5:P=te.sent(),te.label=6;case 6:if(typeof process<"u",P.error)throw new sT(P.error,P.meta);return N=H,[4,T(P.data,P.meta,_.originalArgs)];case 7:return[2,N.apply(void 0,[te.sent(),(G={fulfilledTimeStamp:Date.now(),baseQueryMeta:P.meta},G[Ra]=!0,G)])];case 8:if(R=te.sent(),D=R,!(D instanceof sT))return[3,12];L=aT,x.query&&x.transformErrorResponse&&(L=x.transformErrorResponse),te.label=9;case 9:return te.trys.push([9,11,,12]),j=B,[4,L(D.value,D.meta,_.originalArgs)];case 10:return[2,j.apply(void 0,[te.sent(),(W={baseQueryMeta:D.meta},W[Ra]=!0,W)])];case 11:return U=te.sent(),D=U,[3,12];case 12:throw typeof process<"u",console.error(D),D;case 13:return[2]}})})};function d(g,b){var _,w,x,T,P=(w=(_=b[n])==null?void 0:_.queries)==null?void 0:w[g.queryCacheKey],E=(x=b[n])==null?void 0:x.config.refetchOnMountOrArgChange,A=P==null?void 0:P.fulfilledTimeStamp,$=(T=g.forceRefetch)!=null?T:g.subscribe&&E;return $?$===!0||(Number(new Date)-Number(A))/1e3>=$:!1}var f=Vs(n+"/executeQuery",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ra]=!0,g},condition:function(g,b){var _=b.getState,w,x,T,P=_(),E=(x=(w=P[n])==null?void 0:w.queries)==null?void 0:x[g.queryCacheKey],A=E==null?void 0:E.fulfilledTimeStamp,$=g.originalArgs,M=E==null?void 0:E.originalArgs,C=i[g.endpointName];return j_(g)?!0:(E==null?void 0:E.status)==="pending"?!1:d(g,P)||ZR(C)&&((T=C==null?void 0:C.forceRefetch)!=null&&T.call(C,{currentArg:$,previousArg:M,endpointState:E,state:P}))?!0:!A},dispatchConditionRejection:!0}),h=Vs(n+"/executeMutation",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ra]=!0,g}}),p=function(g){return"force"in g},m=function(g){return"ifOlderThan"in g},S=function(g,b,_){return function(w,x){var T=p(_)&&_.force,P=m(_)&&_.ifOlderThan,E=function(C){return C===void 0&&(C=!0),s.endpoints[g].initiate(b,{forceRefetch:C})},A=s.endpoints[g].select(b)(x());if(T)w(E());else if(P){var $=A==null?void 0:A.fulfilledTimeStamp;if(!$){w(E());return}var M=(Number(new Date)-Number(new Date($)))/1e3>=P;M&&w(E())}else w(E(!1))}};function v(g){return function(b){var _,w;return((w=(_=b==null?void 0:b.meta)==null?void 0:_.arg)==null?void 0:w.endpointName)===g}}function y(g,b){return{matchPending:Tu(u0(g),v(b)),matchFulfilled:Tu(ea(g),v(b)),matchRejected:Tu(Xu(g),v(b))}}return{queryThunk:f,mutationThunk:h,prefetch:S,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:y}}function e7(e,t,n,r){return JR(n[e.meta.arg.endpointName][t],ea(e)?e.payload:void 0,uh(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function yp(e,t,n){var r=e[t];r&&n(r)}function Pf(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function lT(e,t,n){var r=e[Pf(t)];r&&n(r)}var zc={};function vZ(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,c=e.config,d=ue(t+"/resetApiState"),f=Pt({name:t+"/queries",initialState:zc,reducers:{removeQueryResult:{reducer:function(_,w){var x=w.payload.queryCacheKey;delete _[x]},prepare:cg()},queryResultPatched:function(_,w){var x=w.payload,T=x.queryCacheKey,P=x.patches;yp(_,T,function(E){E.data=v_(E.data,P.concat())})}},extraReducers:function(_){_.addCase(n.pending,function(w,x){var T=x.meta,P=x.meta.arg,E,A,$=j_(P);(P.subscribe||$)&&((A=w[E=P.queryCacheKey])!=null||(w[E]={status:vt.uninitialized,endpointName:P.endpointName})),yp(w,P.queryCacheKey,function(M){M.status=vt.pending,M.requestId=$&&M.requestId?M.requestId:T.requestId,P.originalArgs!==void 0&&(M.originalArgs=P.originalArgs),M.startedTimeStamp=T.startedTimeStamp})}).addCase(n.fulfilled,function(w,x){var T=x.meta,P=x.payload;yp(w,T.arg.queryCacheKey,function(E){var A;if(!(E.requestId!==T.requestId&&!j_(T.arg))){var $=o[T.arg.endpointName].merge;if(E.status=vt.fulfilled,$)if(E.data!==void 0){var M=T.fulfilledTimeStamp,C=T.arg,O=T.baseQueryMeta,I=T.requestId,N=Js(E.data,function(R){return $(R,P,{arg:C.originalArgs,baseQueryMeta:O,fulfilledTimeStamp:M,requestId:I})});E.data=N}else E.data=P;else E.data=(A=o[T.arg.endpointName].structuralSharing)==null||A?XR(er(E.data)?lx(E.data):E.data,P):P;delete E.error,E.fulfilledTimeStamp=T.fulfilledTimeStamp}})}).addCase(n.rejected,function(w,x){var T=x.meta,P=T.condition,E=T.arg,A=T.requestId,$=x.error,M=x.payload;yp(w,E.queryCacheKey,function(C){if(!P){if(C.requestId!==A)return;C.status=vt.rejected,C.error=M??$}})}).addMatcher(l,function(w,x){for(var T=a(x).queries,P=0,E=Object.entries(T);P{const r=Tf.get(),i=Cf.get();return hZ({baseUrl:`${r??""}/api/v1`,prepareHeaders:s=>(i&&s.set("Authorization",`Bearer ${i}`),s)})(e,t,n)},Hs=XZ({baseQuery:QZ,reducerPath:"api",tagTypes:YZ,endpoints:()=>({})}),_b=(e,t)=>{if(!e)return!1;const n=V_.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=new Date(n[n.length-1].created_at);return r>=i}else if([0,1].includes(n.length))return!0;return!1},Uc=e=>gi.includes(e.image_category)?gi:_s,Kn=cl({selectId:e=>e.image_name,sortComparer:(e,t)=>UQ(t.updated_at,e.updated_at)}),V_=Kn.getSelectors(),di=e=>`images/?${F_.stringify(e,{arrayFormat:"none"})}`,he=Hs.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:di(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:di({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return di({board_id:n,categories:r})},transformResponse(t){const{total:n,items:r}=t;return Kn.addMany(Kn.getInitialState({total:n}),r)},merge:(t,n)=>{Kn.addMany(t,V_.selectAll(n)),t.total=n.total},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;V_.selectAll(i).forEach(o=>{n(he.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:di({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/${t}`}),providesTags:(t,n,r)=>{const i=[{type:"Image",id:r}];return t!=null&&t.board_id&&i.push({type:"Board",id:t.board_id}),i},keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),getBoardImagesTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:gi,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:_s,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s=[],a=Uc(t);s.push(n(he.util.updateQueryData("listImages",{board_id:o??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,i).total-u;l.total=l.total+d})));try{await r}catch{s.forEach(l=>l.undo())}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=Uc(t);if(n)s.push(r(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,t.image_name).total-u;l.total=l.total+d})));else{console.log(t);const l={board_id:t.board_id??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=_b(u.data,t);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.upsertOne(f,t).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(he.util.upsertQueryData("getImageDTO",u.image_name,u));const c=Uc(u);a(he.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:c},d=>{const f=d.total,p=Kn.addOne(d,u).total-f;d.total=d.total+p})),a(he.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:r},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=Uc(n);if(s.push(r(he.util.updateQueryData("getImageDTO",n.image_name,l=>{Object.assign(l,{board_id:t})}))),!n.is_intermediate){s.push(r(he.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},f=>{const h=f.total,m=Kn.removeOne(f,n.image_name).total-h;f.total=f.total+m})));const l={board_id:t??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=_b(u.data,n);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.addOne(f,n).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{board_id:n,image_name:r}=t;return{url:"board_images/",method:"DELETE",body:{board_id:n,image_name:r}}},invalidatesTags:(t,n,{imageDTO:r})=>[{type:"Board",id:r.board_id},{type:"BoardImagesTotal",id:r.board_id},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:r.board_id},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=Uc(t),s=[];s.push(n(he.util.updateQueryData("getImageDTO",t.image_name,d=>{Object.assign(d,{board_id:void 0})}))),s.push(n(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},d=>{const f=d.total,p=Kn.removeOne(d,t.image_name).total-f;d.total=d.total+p})));const a={board_id:"none",categories:o},l=he.endpoints.listImages.select(a)(i()),u=l.data&&l.data.ids.length>=l.data.total,c=_b(l.data,t);(u||c)&&s.push(n(he.util.updateQueryData("listImages",a,d=>{const f=d.total,p=Kn.upsertOne(d,t).total-f;d.total=d.total+p})));try{await r}catch{s.forEach(d=>d.undo())}}})})}),{useGetIntermediatesCountQuery:GCe,useListImagesQuery:HCe,useLazyListImagesQuery:qCe,useGetImageDTOQuery:WCe,useGetImageMetadataQuery:KCe,useDeleteImageMutation:XCe,useGetBoardImagesTotalQuery:YCe,useGetBoardAssetsTotalQuery:QCe,useUploadImageMutation:ZCe,useAddImageToBoardMutation:JCe,useRemoveImageFromBoardMutation:e3e,useClearIntermediatesMutation:t3e}=he,n7=ue("socket/socketConnected"),r7=ue("socket/appSocketConnected"),i7=ue("socket/socketDisconnected"),o7=ue("socket/appSocketDisconnected"),Vx=ue("socket/socketSubscribed"),s7=ue("socket/appSocketSubscribed"),a7=ue("socket/socketUnsubscribed"),l7=ue("socket/appSocketUnsubscribed"),u7=ue("socket/socketInvocationStarted"),c7=ue("socket/appSocketInvocationStarted"),zx=ue("socket/socketInvocationComplete"),d7=ue("socket/appSocketInvocationComplete"),f7=ue("socket/socketInvocationError"),Ux=ue("socket/appSocketInvocationError"),h7=ue("socket/socketGraphExecutionStateComplete"),p7=ue("socket/appSocketGraphExecutionStateComplete"),g7=ue("socket/socketGeneratorProgress"),m7=ue("socket/appSocketGeneratorProgress"),y7=ue("socket/socketModelLoadStarted"),ZZ=ue("socket/appSocketModelLoadStarted"),v7=ue("socket/socketModelLoadCompleted"),JZ=ue("socket/appSocketModelLoadCompleted"),b7=ue("socket/socketSessionRetrievalError"),S7=ue("socket/appSocketSessionRetrievalError"),_7=ue("socket/socketInvocationRetrievalError"),w7=ue("socket/appSocketInvocationRetrievalError"),Gx=ue("controlNet/imageProcessed"),Xl={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},_p={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},vT={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:Xl.canny_image_processor.default,shouldAutoConfig:!0},z_={controlNets:{},isEnabled:!1,pendingControlImages:[]},x7=Pt({name:"controlNet",initialState:z_,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??vT,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=Ln(e.controlNets[n]);i.controlNetId=r,e.controlNets[r]=i},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...vT,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload;e.controlNets[n].isEnabled=!e.controlNets[n].isEnabled},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n].controlImage=r,e.controlNets[n].processedControlImage=null,r!==null&&e.controlNets[n].processorType!=="none"&&e.pendingControlImages.push(n)},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload;e.controlNets[n].processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(i=>i!==n)},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload;if(e.controlNets[n].model=r,e.controlNets[n].processedControlImage=null,e.controlNets[n].shouldAutoConfig){let i;for(const o in _p)if(r.model_name.includes(o)){i=_p[o];break}i?(e.controlNets[n].processorType=i,e.controlNets[n].processorNode=Xl[i].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Xl.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload;e.controlNets[n].weight=r},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload;e.controlNets[n].beginStepPct=r},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload;e.controlNets[n].endStepPct=r},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload;e.controlNets[n].controlMode=r},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload;e.controlNets[n].resizeMode=r},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n].processorNode;e.controlNets[n].processorNode={...i,...r},e.controlNets[n].shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload;e.controlNets[n].processedControlImage=null,e.controlNets[n].processorType=r,e.controlNets[n].processorNode=Xl[r].default,e.controlNets[n].shouldAutoConfig=!1},controlNetAutoConfigToggled:(e,t)=>{var i;const{controlNetId:n}=t.payload,r=!e.controlNets[n].shouldAutoConfig;if(r){let o;for(const s in _p)if((i=e.controlNets[n].model)!=null&&i.model_name.includes(s)){o=_p[s];break}o?(e.controlNets[n].processorType=o,e.controlNets[n].processorNode=Xl[o].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Xl.none.default)}e.controlNets[n].shouldAutoConfig=r},controlNetReset:()=>({...z_})},extraReducers:e=>{e.addCase(Gx,(t,n)=>{t.controlNets[n.payload.controlNetId].controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(Ux,t=>{t.pendingControlImages=[]}),e.addMatcher(IR,t=>{t.pendingControlImages=[]}),e.addMatcher(he.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;Qa(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:n3e,controlNetAdded:r3e,controlNetDuplicated:i3e,controlNetAddedFromImage:o3e,controlNetRemoved:C7,controlNetImageChanged:Hx,controlNetProcessedImageChanged:eJ,controlNetToggled:s3e,controlNetModelChanged:bT,controlNetWeightChanged:a3e,controlNetBeginStepPctChanged:l3e,controlNetEndStepPctChanged:u3e,controlNetControlModeChanged:c3e,controlNetResizeModeChanged:d3e,controlNetProcessorParamsChanged:tJ,controlNetProcessorTypeChanged:nJ,controlNetReset:T7,controlNetAutoConfigToggled:ST}=x7.actions,rJ=x7.reducer,E7={isEnabled:!1,maxPrompts:100,combinatorial:!0},iJ=E7,P7=Pt({name:"dynamicPrompts",initialState:iJ,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=E7.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:f3e,maxPromptsChanged:h3e,maxPromptsReset:p3e,combinatorialToggled:g3e}=P7.actions,oJ=P7.reducer,sJ={updateBoardModalOpen:!1,searchText:""},A7=Pt({name:"boards",initialState:sJ,reducers:{setBoardSearchText:(e,t)=>{e.searchText=t.payload},setUpdateBoardModalOpen:(e,t)=>{e.updateBoardModalOpen=t.payload}}}),{setBoardSearchText:m3e,setUpdateBoardModalOpen:y3e}=A7.actions,aJ=A7.reducer,ec=Hs.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Be}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Be}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Be}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Be},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(he.util.updateQueryData("getImageDTO",u,c=>{c.board_id=void 0}))});const a=[{categories:gi},{categories:_s}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(he.util.updateQueryData("listImages",u,c=>{const d=c.total,h=Kn.updateMany(c,l).total-d;c.total=c.total+h}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Be},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:gi},{categories:_s}].forEach(l=>{n(he.util.updateQueryData("listImages",l,u=>{const c=u.total,f=Kn.removeMany(u,s).total-c;u.total=u.total+f}))})}catch{}}})})}),{useListBoardsQuery:v3e,useListAllBoardsQuery:b3e,useCreateBoardMutation:S3e,useUpdateBoardMutation:_3e,useDeleteBoardMutation:w3e,useDeleteBoardAndImagesMutation:x3e,useListAllImageNamesForBoardQuery:C3e}=ec,k7={selection:[],shouldAutoSwitch:!0,autoAddBoardId:void 0,galleryImageMinimumWidth:96,selectedBoardId:void 0,galleryView:"images",batchImageNames:[],isBatchEnabled:!1},O7=Pt({name:"gallery",initialState:k7,reducers:{imageRangeEndSelected:()=>{},imageSelectionToggled:()=>{},imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},isBatchEnabledChanged:(e,t)=>{e.isBatchEnabled=t.payload},imagesAddedToBatch:(e,t)=>{e.batchImageNames=tY(e.batchImageNames.concat(t.payload))},imagesRemovedFromBatch:(e,t)=>{e.batchImageNames=e.batchImageNames.filter(r=>!t.payload.includes(r));const n=e.selection.filter(r=>!t.payload.includes(r));if(n.length){e.selection=n;return}e.selection=[e.batchImageNames[0]]},batchReset:e=>{e.batchImageNames=[],e.selection=[]},autoAddBoardIdChanged:(e,t)=>{e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload}},extraReducers:e=>{e.addMatcher(uJ,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId=void 0,t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId=void 0)}),e.addMatcher(ec.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId=void 0))})}}),{imageRangeEndSelected:T3e,imageSelectionToggled:E3e,imageSelected:Rs,shouldAutoSwitchChanged:P3e,setGalleryImageMinimumWidth:A3e,boardIdSelected:U_,isBatchEnabledChanged:k3e,imagesAddedToBatch:G_,imagesRemovedFromBatch:O3e,autoAddBoardIdChanged:R3e,galleryViewChanged:Am}=O7.actions,lJ=O7.reducer,uJ=ei(ec.endpoints.deleteBoard.matchFulfilled,ec.endpoints.deleteBoardAndImages.matchFulfilled),cJ={imageToDelete:null,isModalOpen:!1},R7=Pt({name:"imageDeletion",initialState:cJ,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imageToDeleteSelected:(e,t)=>{e.imageToDelete=t.payload},imageToDeleteCleared:e=>{e.imageToDelete=null,e.isModalOpen=!1}}}),{isModalOpenChanged:I7,imageToDeleteSelected:dJ,imageToDeleteCleared:I3e}=R7.actions,fJ=R7.reducer,_T={weight:.75},hJ={loras:{}},M7=Pt({name:"lora",initialState:hJ,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,..._T}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload;e.loras[n].weight=r},loraWeightReset:(e,t)=>{const n=t.payload;e.loras[n].weight=_T.weight}}}),{loraAdded:M3e,loraRemoved:N7,loraWeightChanged:N3e,loraWeightReset:D3e,lorasCleared:L3e}=M7.actions,pJ=M7.reducer;function ti(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(!Object.is(c,t)){const d=t;t=u??typeof c!="object"?c:Object.assign({},t,c),n.forEach(f=>f(t,d))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},gJ=e=>e?wT(e):wT,{useSyncExternalStoreWithSelector:mJ}=Wj;function yJ(e,t=e.getState,n){const r=mJ(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return k.useDebugValue(r),r}function br(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function P0(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hg.prototype=P0.prototype={constructor:hg,on:function(e,t){var n=this._,r=bJ(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),CT.hasOwnProperty(t)?{space:CT[t],local:e}:e}function _J(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H_&&t.documentElement.namespaceURI===H_?t.createElement(e):t.createElementNS(n,e)}}function wJ(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function D7(e){var t=A0(e);return(t.local?wJ:_J)(t)}function xJ(){}function qx(e){return e==null?xJ:function(){return this.querySelector(e)}}function CJ(e){typeof e!="function"&&(e=qx(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=g&&(g=y+1);!(_=S[g])&&++g=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function XJ(e){e||(e=YJ);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function QJ(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ZJ(){return Array.from(this)}function JJ(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?cee:typeof t=="function"?fee:dee)(e,t,n??"")):tc(this.node(),e)}function tc(e,t){return e.style.getPropertyValue(t)||j7(e).getComputedStyle(e,null).getPropertyValue(t)}function pee(e){return function(){delete this[e]}}function gee(e,t){return function(){this[e]=t}}function mee(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function yee(e,t){return arguments.length>1?this.each((t==null?pee:typeof t=="function"?mee:gee)(e,t)):this.node()[e]}function V7(e){return e.trim().split(/^|\s+/)}function Wx(e){return e.classList||new z7(e)}function z7(e){this._node=e,this._names=V7(e.getAttribute("class")||"")}z7.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function U7(e,t){for(var n=Wx(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Hee(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function q_(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}q_.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function tte(e){return!e.ctrlKey&&!e.button}function nte(){return this.parentNode}function rte(e,t){return t??{x:e.x,y:e.y}}function ite(){return navigator.maxTouchPoints||"ontouchstart"in this}function ote(){var e=tte,t=nte,n=rte,r=ite,i={},o=P0("start","drag","end"),s=0,a,l,u,c,d=0;function f(b){b.on("mousedown.drag",h).filter(r).on("touchstart.drag",S).on("touchmove.drag",v,ete).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(b,_){if(!(c||!e.call(this,b,_))){var w=g(this,t.call(this,b,_),b,_,"mouse");w&&(fi(b.view).on("mousemove.drag",p,Af).on("mouseup.drag",m,Af),W7(b.view),wb(b),u=!1,a=b.clientX,l=b.clientY,w("start",b))}}function p(b){if(Ou(b),!u){var _=b.clientX-a,w=b.clientY-l;u=_*_+w*w>d}i.mouse("drag",b)}function m(b){fi(b.view).on("mousemove.drag mouseup.drag",null),K7(b.view,u),Ou(b),i.mouse("end",b)}function S(b,_){if(e.call(this,b,_)){var w=b.changedTouches,x=t.call(this,b,_),T=w.length,P,E;for(P=0;P>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?xp(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?xp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ate.exec(e))?new hr(t[1],t[2],t[3],1):(t=lte.exec(e))?new hr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ute.exec(e))?xp(t[1],t[2],t[3],t[4]):(t=cte.exec(e))?xp(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=dte.exec(e))?RT(t[1],t[2]/100,t[3]/100,1):(t=fte.exec(e))?RT(t[1],t[2]/100,t[3]/100,t[4]):TT.hasOwnProperty(e)?AT(TT[e]):e==="transparent"?new hr(NaN,NaN,NaN,0):null}function AT(e){return new hr(e>>16&255,e>>8&255,e&255,1)}function xp(e,t,n,r){return r<=0&&(e=t=n=NaN),new hr(e,t,n,r)}function gte(e){return e instanceof bh||(e=Rf(e)),e?(e=e.rgb(),new hr(e.r,e.g,e.b,e.opacity)):new hr}function W_(e,t,n,r){return arguments.length===1?gte(e):new hr(e,t,n,r??1)}function hr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Kx(hr,W_,X7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hr(Va(this.r),Va(this.g),Va(this.b),Rm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kT,formatHex:kT,formatHex8:mte,formatRgb:OT,toString:OT}));function kT(){return`#${Ma(this.r)}${Ma(this.g)}${Ma(this.b)}`}function mte(){return`#${Ma(this.r)}${Ma(this.g)}${Ma(this.b)}${Ma((isNaN(this.opacity)?1:this.opacity)*255)}`}function OT(){const e=Rm(this.opacity);return`${e===1?"rgb(":"rgba("}${Va(this.r)}, ${Va(this.g)}, ${Va(this.b)}${e===1?")":`, ${e})`}`}function Rm(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Va(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ma(e){return e=Va(e),(e<16?"0":"")+e.toString(16)}function RT(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hi(e,t,n,r)}function Y7(e){if(e instanceof hi)return new hi(e.h,e.s,e.l,e.opacity);if(e instanceof bh||(e=Rf(e)),!e)return new hi;if(e instanceof hi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new hi(s,a,l,e.opacity)}function yte(e,t,n,r){return arguments.length===1?Y7(e):new hi(e,t,n,r??1)}function hi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Kx(hi,yte,X7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new hr(xb(e>=240?e-240:e+120,i,r),xb(e,i,r),xb(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new hi(IT(this.h),Cp(this.s),Cp(this.l),Rm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Rm(this.opacity);return`${e===1?"hsl(":"hsla("}${IT(this.h)}, ${Cp(this.s)*100}%, ${Cp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function IT(e){return e=(e||0)%360,e<0?e+360:e}function Cp(e){return Math.max(0,Math.min(1,e||0))}function xb(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Q7=e=>()=>e;function vte(e,t){return function(n){return e+n*t}}function bte(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Ste(e){return(e=+e)==1?Z7:function(t,n){return n-t?bte(t,n,e):Q7(isNaN(t)?n:t)}}function Z7(e,t){var n=t-e;return n?vte(e,n):Q7(isNaN(e)?t:e)}const MT=function e(t){var n=Ste(t);function r(i,o){var s=n((i=W_(i)).r,(o=W_(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=Z7(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=e,r}(1);function cs(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var K_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Cb=new RegExp(K_.source,"g");function _te(e){return function(){return e}}function wte(e){return function(t){return e(t)+""}}function xte(e,t){var n=K_.lastIndex=Cb.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=K_.exec(e))&&(i=Cb.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cs(r,i)})),n=Cb.lastIndex;return n180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:cs(u,c)})):c&&d.push(i(d)+"rotate("+c+r)}function a(u,c,d,f){u!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:cs(u,c)}):c&&d.push(i(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:cs(u,d)},{i:m-2,x:cs(c,f)})}else(d!==1||f!==1)&&h.push(i(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),s(u.rotate,c.rotate,d,f),a(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,m=f.length,S;++p=0&&e._call.call(void 0,t),e=e._next;--nc}function LT(){tl=(Mm=If.now())+k0,nc=fd=0;try{Mte()}finally{nc=0,Dte(),tl=0}}function Nte(){var e=If.now(),t=e-Mm;t>tI&&(k0-=t,Mm=e)}function Dte(){for(var e,t=Im,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Im=n);hd=e,Y_(r)}function Y_(e){if(!nc){fd&&(fd=clearTimeout(fd));var t=e-tl;t>24?(e<1/0&&(fd=setTimeout(LT,e-If.now()-k0)),Gc&&(Gc=clearInterval(Gc))):(Gc||(Mm=If.now(),Gc=setInterval(Nte,tI)),nc=1,nI(LT))}}function $T(e,t,n){var r=new Nm;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Lte=P0("start","end","cancel","interrupt"),$te=[],iI=0,FT=1,Q_=2,pg=3,BT=4,Z_=5,gg=6;function O0(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Fte(e,n,{name:t,index:r,group:i,on:Lte,tween:$te,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:iI})}function Yx(e,t){var n=Pi(e,t);if(n.state>iI)throw new Error("too late; already scheduled");return n}function so(e,t){var n=Pi(e,t);if(n.state>pg)throw new Error("too late; already running");return n}function Pi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Fte(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=rI(o,0,n.time);function o(u){n.state=FT,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,f,h;if(n.state!==FT)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===pg)return $T(s);h.state===BT?(h.state=gg,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+cQ_&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function pne(e,t,n){var r,i,o=hne(t)?Yx:so;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function gne(e,t){var n=this._id;return arguments.length<2?Pi(this.node(),n).on.on(e):this.each(pne(n,e,t))}function mne(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function yne(){return this.on("end.remove",mne(this._id))}function vne(e){var t=this._name,n=this._id;typeof e!="function"&&(e=qx(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Une(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Po(e,t,n){this.k=e,this.x=t,this.y=n}Po.prototype={constructor:Po,scale:function(e){return e===1?this:new Po(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Po(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Is=new Po(1,0,0);Po.prototype;function Tb(e){e.stopImmediatePropagation()}function Hc(e){e.preventDefault(),e.stopImmediatePropagation()}function Gne(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Hne(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function jT(){return this.__zoom||Is}function qne(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Wne(){return navigator.maxTouchPoints||"ontouchstart"in this}function Kne(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Xne(){var e=Gne,t=Hne,n=Kne,r=qne,i=Wne,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Rte,u=P0("start","zoom","end"),c,d,f,h=500,p=150,m=0,S=10;function v(C){C.property("__zoom",jT).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",P).on("dblclick.zoom",E).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}v.transform=function(C,O,I,N){var R=C.selection?C.selection():C;R.property("__zoom",jT),C!==R?_(C,O,I,N):R.interrupt().each(function(){w(this,arguments).event(N).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},v.scaleBy=function(C,O,I,N){v.scaleTo(C,function(){var R=this.__zoom.k,D=typeof O=="function"?O.apply(this,arguments):O;return R*D},I,N)},v.scaleTo=function(C,O,I,N){v.transform(C,function(){var R=t.apply(this,arguments),D=this.__zoom,L=I==null?b(R):typeof I=="function"?I.apply(this,arguments):I,j=D.invert(L),U=typeof O=="function"?O.apply(this,arguments):O;return n(g(y(D,U),L,j),R,s)},I,N)},v.translateBy=function(C,O,I,N){v.transform(C,function(){return n(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof I=="function"?I.apply(this,arguments):I),t.apply(this,arguments),s)},null,N)},v.translateTo=function(C,O,I,N,R){v.transform(C,function(){var D=t.apply(this,arguments),L=this.__zoom,j=N==null?b(D):typeof N=="function"?N.apply(this,arguments):N;return n(Is.translate(j[0],j[1]).scale(L.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof I=="function"?-I.apply(this,arguments):-I),D,s)},N,R)};function y(C,O){return O=Math.max(o[0],Math.min(o[1],O)),O===C.k?C:new Po(O,C.x,C.y)}function g(C,O,I){var N=O[0]-I[0]*C.k,R=O[1]-I[1]*C.k;return N===C.x&&R===C.y?C:new Po(C.k,N,R)}function b(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function _(C,O,I,N){C.on("start.zoom",function(){w(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(N).end()}).tween("zoom",function(){var R=this,D=arguments,L=w(R,D).event(N),j=t.apply(R,D),U=I==null?b(j):typeof I=="function"?I.apply(R,D):I,G=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),W=R.__zoom,X=typeof O=="function"?O.apply(R,D):O,Y=l(W.invert(U).concat(G/W.k),X.invert(U).concat(G/X.k));return function(B){if(B===1)B=X;else{var H=Y(B),Q=G/H[2];B=new Po(Q,U[0]-H[0]*Q,U[1]-H[1]*Q)}L.zoom(null,B)}})}function w(C,O,I){return!I&&C.__zooming||new x(C,O)}function x(C,O){this.that=C,this.args=O,this.active=0,this.sourceEvent=null,this.extent=t.apply(C,O),this.taps=0}x.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,O){return this.mouse&&C!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var O=fi(this.that).datum();u.call(C,this.that,new Une(C,{sourceEvent:this.sourceEvent,target:v,type:C,transform:this.that.__zoom,dispatch:u}),O)}};function T(C,...O){if(!e.apply(this,arguments))return;var I=w(this,O).event(C),N=this.__zoom,R=Math.max(o[0],Math.min(o[1],N.k*Math.pow(2,r.apply(this,arguments)))),D=$i(C);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=N.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(N.k===R)return;I.mouse=[D,N.invert(D)],mg(this),I.start()}Hc(C),I.wheel=setTimeout(L,p),I.zoom("mouse",n(g(y(N,R),I.mouse[0],I.mouse[1]),I.extent,s));function L(){I.wheel=null,I.end()}}function P(C,...O){if(f||!e.apply(this,arguments))return;var I=C.currentTarget,N=w(this,O,!0).event(C),R=fi(C.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",G,!0),D=$i(C,I),L=C.clientX,j=C.clientY;W7(C.view),Tb(C),N.mouse=[D,this.__zoom.invert(D)],mg(this),N.start();function U(W){if(Hc(W),!N.moved){var X=W.clientX-L,Y=W.clientY-j;N.moved=X*X+Y*Y>m}N.event(W).zoom("mouse",n(g(N.that.__zoom,N.mouse[0]=$i(W,I),N.mouse[1]),N.extent,s))}function G(W){R.on("mousemove.zoom mouseup.zoom",null),K7(W.view,N.moved),Hc(W),N.event(W).end()}}function E(C,...O){if(e.apply(this,arguments)){var I=this.__zoom,N=$i(C.changedTouches?C.changedTouches[0]:C,this),R=I.invert(N),D=I.k*(C.shiftKey?.5:2),L=n(g(y(I,D),N,R),t.apply(this,O),s);Hc(C),a>0?fi(this).transition().duration(a).call(_,L,N,C):fi(this).call(v.transform,L,N,C)}}function A(C,...O){if(e.apply(this,arguments)){var I=C.touches,N=I.length,R=w(this,O,C.changedTouches.length===N).event(C),D,L,j,U;for(Tb(C),L=0;L"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},lI=qs.error001();function Vt(e,t){const n=k.useContext(R0);if(n===null)throw new Error(lI);return yJ(n,e,t)}const Vn=()=>{const e=k.useContext(R0);if(e===null)throw new Error(lI);return k.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Qne=e=>e.userSelectionActive?"none":"all";function Zne({position:e,children:t,className:n,style:r,...i}){const o=Vt(Qne),s=`${e}`.split("-");return K.jsx("div",{className:ti(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Jne({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:K.jsx(Zne,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:K.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const ere=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...c})=>{const d=k.useRef(null),[f,h]=k.useState({x:0,y:0,width:0,height:0}),p=ti(["react-flow__edge-textwrapper",u]);return k.useEffect(()=>{if(d.current){const m=d.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:K.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c,children:[i&&K.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),K.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r,children:n}),l]})};var tre=k.memo(ere);const Zx=e=>({width:e.offsetWidth,height:e.offsetHeight}),rc=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Jx=(e={x:0,y:0},t)=>({x:rc(e.x,t[0][0],t[1][0]),y:rc(e.y,t[0][1],t[1][1])}),VT=(e,t,n)=>en?-rc(Math.abs(e-n),1,50)/50:0,uI=(e,t)=>{const n=VT(e.x,35,t.width-35)*20,r=VT(e.y,35,t.height-35)*20;return[n,r]},cI=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},dI=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Dm=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),fI=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),zT=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),$3e=(e,t)=>fI(dI(Dm(e),Dm(t))),J_=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},nre=e=>Kr(e.width)&&Kr(e.height)&&Kr(e.x)&&Kr(e.y),Kr=e=>!isNaN(e)&&isFinite(e),on=Symbol.for("internals"),hI=["Enter"," ","Escape"],rre=(e,t)=>{},ire=e=>"nativeEvent"in e;function e2(e){var i,o;const t=ire(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const pI=e=>"clientX"in e,Ms=(e,t)=>{var o,s;const n=pI(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Sh=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>K.jsxs(K.Fragment,{children:[K.jsx("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&K.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&Kr(n)&&Kr(r)?K.jsx(tre,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Sh.displayName="BaseEdge";function qc(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function gI({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[S,v,y]=yI({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return K.jsx(Sh,{path:S,labelX:v,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:m})});eC.displayName="SimpleBezierEdge";const GT={[pe.Left]:{x:-1,y:0},[pe.Right]:{x:1,y:0},[pe.Top]:{x:0,y:-1},[pe.Bottom]:{x:0,y:1}},ore=({source:e,sourcePosition:t=pe.Bottom,target:n})=>t===pe.Left||t===pe.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function sre({source:e,sourcePosition:t=pe.Bottom,target:n,targetPosition:r=pe.Top,center:i,offset:o}){const s=GT[t],a=GT[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},c=ore({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",f=c[d];let h=[],p,m;const[S,v,y,g]=gI({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){p=i.x||S,m=i.y||v;const _=[{x:p,y:l.y},{x:p,y:u.y}],w=[{x:l.x,y:m},{x:u.x,y:m}];s[d]===f?h=d==="x"?_:w:h=d==="x"?w:_}else{const _=[{x:l.x,y:u.y}],w=[{x:u.x,y:l.y}];if(d==="x"?h=s.x===f?w:_:h=s.y===f?_:w,t!==r){const x=d==="x"?"y":"x",T=s[d]===a[x],P=l[x]>u[x],E=l[x]{let g="";return y>0&&y{const[v,y,g]=t2({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return K.jsx(Sh,{path:v,labelX:y,labelY:g,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:p,interactionWidth:S})});I0.displayName="SmoothStepEdge";const tC=k.memo(e=>{var t;return K.jsx(I0,{...e,pathOptions:k.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});tC.displayName="StepEdge";function lre({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=gI({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const nC=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{const[p,m,S]=lre({sourceX:e,sourceY:t,targetX:n,targetY:r});return K.jsx(Sh,{path:p,labelX:m,labelY:S,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});nC.displayName="StraightEdge";function Pp(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function qT({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case pe.Left:return[t-Pp(t-r,o),n];case pe.Right:return[t+Pp(r-t,o),n];case pe.Top:return[t,n-Pp(n-i,o)];case pe.Bottom:return[t,n+Pp(i-n,o)]}}function vI({sourceX:e,sourceY:t,sourcePosition:n=pe.Bottom,targetX:r,targetY:i,targetPosition:o=pe.Top,curvature:s=.25}){const[a,l]=qT({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,c]=qT({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[d,f,h,p]=mI({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${l} ${u},${c} ${r},${i}`,d,f,h,p]}const $m=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=pe.Bottom,targetPosition:o=pe.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,pathOptions:m,interactionWidth:S})=>{const[v,y,g]=vI({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return K.jsx(Sh,{path:v,labelX:y,labelY:g,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:S})});$m.displayName="BezierEdge";const rC=k.createContext(null),ure=rC.Provider;rC.Consumer;const cre=()=>k.useContext(rC),dre=e=>"id"in e&&"source"in e&&"target"in e,fre=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,n2=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,hre=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),bI=(e,t)=>{if(!e.source||!e.target)return t;let n;return dre(e)?n={...e}:n={...e,id:fre(e)},hre(n,t)?t:t.concat(n)},SI=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},pre=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Mu=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},_I=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=Mu(i,t).positionAbsolute;return dI(r,Dm({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return fI(n)},wI=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(c=>{const{width:d,height:f,selectable:h=!0,hidden:p=!1}=c;if(s&&!h||p)return!1;const{positionAbsolute:m}=Mu(c,a),S={x:m.x,y:m.y,width:d||0,height:f||0},v=J_(l,S),y=typeof d>"u"||typeof f>"u"||d===null||f===null,g=o&&v>0,b=(d||0)*(f||0);(y||g||v>=b||c.dragging)&&u.push(c)}),u},xI=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},CI=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=rc(l,r,i),c=e.x+e.width/2,d=e.y+e.height/2,f=t/2-c*u,h=n/2-d*u;return[f,h,u]},xa=(e,t=0)=>e.transition().duration(t);function WT(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function gre(e,t,n,r,i,o){const{x:s,y:a}=Ms(e),u=t.elementsFromPoint(s,a).find(p=>p.classList.contains("react-flow__handle"));if(u){const p=u.getAttribute("data-nodeid");if(p){const m=iC(void 0,u),S=u.getAttribute("data-handleid"),v=o({nodeId:p,id:S,type:m});if(v)return{handle:{id:S,type:m,nodeId:p,x:n.x,y:n.y},validHandleResult:v}}}let c=[],d=1/0;if(i.forEach(p=>{const m=Math.sqrt((p.x-n.x)**2+(p.y-n.y)**2);if(m<=r){const S=o(p);m<=d&&(mp.isValid),h=c.some(({handle:p})=>p.type==="target");return c.find(({handle:p,validHandleResult:m})=>h?p.type==="target":f?m.isValid:!0)||c[0]}const mre={source:null,target:null,sourceHandle:null,targetHandle:null},TI=()=>({handleDomNode:null,isValid:!1,connection:mre,endHandle:null});function EI(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...TI(),handleDomNode:l};if(l){const c=iC(void 0,l),d=l.getAttribute("data-nodeid"),f=l.getAttribute("data-handleid"),h=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),m={source:a?d:n,sourceHandle:a?f:r,target:a?n:d,targetHandle:a?r:f};u.connection=m,h&&p&&(t===nl.Strict?a&&c==="source"||!a&&c==="target":d!==n||f!==r)&&(u.endHandle={nodeId:d,handleId:f,type:c},u.isValid=o(m))}return u}function yre({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[on]){const{handleBounds:s}=o[on];let a=[],l=[];s&&(a=WT(o,s,"source",`${t}-${n}-${r}`),l=WT(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function iC(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Eb(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function vre(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function PI({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const c=cI(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:h,connectionRadius:p,onConnectStart:m,panBy:S,getNodes:v,cancelConnection:y}=o();let g=0,b;const{x:_,y:w}=Ms(e),x=c==null?void 0:c.elementFromPoint(_,w),T=iC(l,x),P=f==null?void 0:f.getBoundingClientRect();if(!P||!T)return;let E,A=Ms(e,P),$=!1,M=null,C=!1,O=null;const I=yre({nodes:v(),nodeId:n,handleId:t,handleType:T}),N=()=>{if(!h)return;const[L,j]=uI(A,P);S({x:L,y:j}),g=requestAnimationFrame(N)};s({connectionPosition:A,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:T,connectionStartHandle:{nodeId:n,handleId:t,type:T},connectionEndHandle:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:T});function R(L){const{transform:j}=o();A=Ms(L,P);const{handle:U,validHandleResult:G}=gre(L,c,SI(A,j,!1,[1,1]),p,I,W=>EI(W,d,n,t,i?"target":"source",a,c));if(b=U,$||(N(),$=!0),O=G.handleDomNode,M=G.connection,C=G.isValid,s({connectionPosition:b&&C?pre({x:b.x,y:b.y},j):A,connectionStatus:vre(!!b,C),connectionEndHandle:G.endHandle}),!b&&!C&&!O)return Eb(E);M.source!==M.target&&O&&(Eb(E),E=O,O.classList.add("connecting","react-flow__handle-connecting"),O.classList.toggle("valid",C),O.classList.toggle("react-flow__handle-valid",C))}function D(L){var j,U;(b||O)&&M&&C&&(r==null||r(M)),(U=(j=o()).onConnectEnd)==null||U.call(j,L),l&&(u==null||u(L)),Eb(E),y(),cancelAnimationFrame(g),$=!1,C=!1,M=null,O=null,c.removeEventListener("mousemove",R),c.removeEventListener("mouseup",D),c.removeEventListener("touchmove",R),c.removeEventListener("touchend",D)}c.addEventListener("mousemove",R),c.addEventListener("mouseup",D),c.addEventListener("touchmove",R),c.addEventListener("touchend",D)}const KT=()=>!0,bre=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Sre=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},AI=k.forwardRef(({type:e="source",position:t=pe.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{var P,E;const p=s||null,m=e==="target",S=Vn(),v=cre(),{connectOnClick:y,noPanClassName:g}=Vt(bre,br),{connecting:b,clickConnecting:_}=Vt(Sre(v,p,e),br);v||(E=(P=S.getState()).onError)==null||E.call(P,"010",qs.error010());const w=A=>{const{defaultEdgeOptions:$,onConnect:M,hasDefaultEdges:C}=S.getState(),O={...$,...A};if(C){const{edges:I,setEdges:N}=S.getState();N(bI(O,I))}M==null||M(O),a==null||a(O)},x=A=>{if(!v)return;const $=pI(A);i&&($&&A.button===0||!$)&&PI({event:A,handleId:p,nodeId:v,onConnect:w,isTarget:m,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||KT}),$?c==null||c(A):d==null||d(A)},T=A=>{const{onClickConnectStart:$,onClickConnectEnd:M,connectionClickStartHandle:C,connectionMode:O,isValidConnection:I}=S.getState();if(!v||!C&&!i)return;if(!C){$==null||$(A,{nodeId:v,handleId:p,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:p}});return}const N=cI(A.target),R=n||I||KT,{connection:D,isValid:L}=EI({nodeId:v,id:p,type:e},O,C.nodeId,C.handleId||null,C.type,R,N);L&&w(D),M==null||M(A),S.setState({connectionClickStartHandle:null})};return K.jsx("div",{"data-handleid":p,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${p}-${e}`,className:ti(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:o,connecting:_,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:x,onTouchStart:x,onClick:y?T:void 0,ref:h,...f,children:l})});AI.displayName="Handle";var Fm=k.memo(AI);const kI=({data:e,isConnectable:t,targetPosition:n=pe.Top,sourcePosition:r=pe.Bottom})=>K.jsxs(K.Fragment,{children:[K.jsx(Fm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,K.jsx(Fm,{type:"source",position:r,isConnectable:t})]});kI.displayName="DefaultNode";var r2=k.memo(kI);const OI=({data:e,isConnectable:t,sourcePosition:n=pe.Bottom})=>K.jsxs(K.Fragment,{children:[e==null?void 0:e.label,K.jsx(Fm,{type:"source",position:n,isConnectable:t})]});OI.displayName="InputNode";var RI=k.memo(OI);const II=({data:e,isConnectable:t,targetPosition:n=pe.Top})=>K.jsxs(K.Fragment,{children:[K.jsx(Fm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});II.displayName="OutputNode";var MI=k.memo(II);const oC=()=>null;oC.displayName="GroupNode";const _re=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Ap=e=>e.id;function wre(e,t){return br(e.selectedNodes.map(Ap),t.selectedNodes.map(Ap))&&br(e.selectedEdges.map(Ap),t.selectedEdges.map(Ap))}const NI=k.memo(({onSelectionChange:e})=>{const t=Vn(),{selectedNodes:n,selectedEdges:r}=Vt(_re,wre);return k.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});NI.displayName="SelectionListener";const xre=e=>!!e.onSelectionChange;function Cre({onSelectionChange:e}){const t=Vt(xre);return e||t?K.jsx(NI,{onSelectionChange:e}):null}const Tre=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Dl(e,t){k.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function Ae(e,t,n){k.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const Ere=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:S,nodeExtent:v,onNodesChange:y,onEdgesChange:g,elementsSelectable:b,connectionMode:_,snapGrid:w,snapToGrid:x,translateExtent:T,connectOnClick:P,defaultEdgeOptions:E,fitView:A,fitViewOptions:$,onNodesDelete:M,onEdgesDelete:C,onNodeDrag:O,onNodeDragStart:I,onNodeDragStop:N,onSelectionDrag:R,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:j,nodeOrigin:U,rfId:G,autoPanOnConnect:W,autoPanOnNodeDrag:X,onError:Y,connectionRadius:B,isValidConnection:H})=>{const{setNodes:Q,setEdges:J,setDefaultNodesAndEdges:ne,setMinZoom:te,setMaxZoom:xe,setTranslateExtent:ve,setNodeExtent:ce,reset:Ne}=Vt(Tre,br),se=Vn();return k.useEffect(()=>{const gt=r==null?void 0:r.map(vn=>({...vn,...E}));return ne(n,gt),()=>{Ne()}},[]),Ae("defaultEdgeOptions",E,se.setState),Ae("connectionMode",_,se.setState),Ae("onConnect",i,se.setState),Ae("onConnectStart",o,se.setState),Ae("onConnectEnd",s,se.setState),Ae("onClickConnectStart",a,se.setState),Ae("onClickConnectEnd",l,se.setState),Ae("nodesDraggable",u,se.setState),Ae("nodesConnectable",c,se.setState),Ae("nodesFocusable",d,se.setState),Ae("edgesFocusable",f,se.setState),Ae("edgesUpdatable",h,se.setState),Ae("elementsSelectable",b,se.setState),Ae("elevateNodesOnSelect",p,se.setState),Ae("snapToGrid",x,se.setState),Ae("snapGrid",w,se.setState),Ae("onNodesChange",y,se.setState),Ae("onEdgesChange",g,se.setState),Ae("connectOnClick",P,se.setState),Ae("fitViewOnInit",A,se.setState),Ae("fitViewOnInitOptions",$,se.setState),Ae("onNodesDelete",M,se.setState),Ae("onEdgesDelete",C,se.setState),Ae("onNodeDrag",O,se.setState),Ae("onNodeDragStart",I,se.setState),Ae("onNodeDragStop",N,se.setState),Ae("onSelectionDrag",R,se.setState),Ae("onSelectionDragStart",D,se.setState),Ae("onSelectionDragStop",L,se.setState),Ae("noPanClassName",j,se.setState),Ae("nodeOrigin",U,se.setState),Ae("rfId",G,se.setState),Ae("autoPanOnConnect",W,se.setState),Ae("autoPanOnNodeDrag",X,se.setState),Ae("onError",Y,se.setState),Ae("connectionRadius",B,se.setState),Ae("isValidConnection",H,se.setState),Dl(e,Q),Dl(t,J),Dl(m,te),Dl(S,xe),Dl(T,ve),Dl(v,ce),null},XT={display:"none"},Pre={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},DI="react-flow__node-desc",LI="react-flow__edge-desc",Are="react-flow__aria-live",kre=e=>e.ariaLiveMessage;function Ore({rfId:e}){const t=Vt(kre);return K.jsx("div",{id:`${Are}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Pre,children:t})}function Rre({rfId:e,disableKeyboardA11y:t}){return K.jsxs(K.Fragment,{children:[K.jsxs("div",{id:`${DI}-${e}`,style:XT,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),K.jsx("div",{id:`${LI}-${e}`,style:XT,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&K.jsx(Ore,{rfId:e})]})}const Ire=(e,t,n)=>n===pe.Left?e-t:n===pe.Right?e+t:e,Mre=(e,t,n)=>n===pe.Top?e-t:n===pe.Bottom?e+t:e,YT="react-flow__edgeupdater",QT=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>K.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:ti([YT,`${YT}-${a}`]),cx:Ire(t,r,e),cy:Mre(n,r,e),r,stroke:"transparent",fill:"transparent"}),Nre=()=>!0;var Ll=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:S,source:v,target:y,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,elementsSelectable:P,hidden:E,sourceHandleId:A,targetHandleId:$,onContextMenu:M,onMouseEnter:C,onMouseMove:O,onMouseLeave:I,edgeUpdaterRadius:N,onEdgeUpdate:R,onEdgeUpdateStart:D,onEdgeUpdateEnd:L,markerEnd:j,markerStart:U,rfId:G,ariaLabel:W,isFocusable:X,isUpdatable:Y,pathOptions:B,interactionWidth:H})=>{const Q=k.useRef(null),[J,ne]=k.useState(!1),[te,xe]=k.useState(!1),ve=Vn(),ce=k.useMemo(()=>`url(#${n2(U,G)})`,[U,G]),Ne=k.useMemo(()=>`url(#${n2(j,G)})`,[j,G]);if(E)return null;const se=Ht=>{const{edges:xt,addSelectedEdges:wr}=ve.getState();if(P&&(ve.setState({nodesSelectionActive:!1}),wr([n])),s){const $r=xt.find(ri=>ri.id===n);s(Ht,$r)}},gt=qc(n,ve.getState,a),vn=qc(n,ve.getState,M),It=qc(n,ve.getState,C),ut=qc(n,ve.getState,O),Je=qc(n,ve.getState,I),Gt=(Ht,xt)=>{if(Ht.button!==0)return;const{edges:wr,isValidConnection:$r}=ve.getState(),ri=xt?y:v,uo=(xt?$:A)||null,Sn=xt?"target":"source",ii=$r||Nre,ca=xt,ki=wr.find(et=>et.id===n);xe(!0),D==null||D(Ht,ki,Sn);const da=et=>{xe(!1),L==null||L(et,ki,Sn)};PI({event:Ht,handleId:uo,nodeId:ri,onConnect:et=>R==null?void 0:R(ki,et),isTarget:ca,getState:ve.getState,setState:ve.setState,isValidConnection:ii,edgeUpdaterType:Sn,onEdgeUpdateEnd:da})},sr=Ht=>Gt(Ht,!0),ni=Ht=>Gt(Ht,!1),Lr=()=>ne(!0),Rn=()=>ne(!1),bn=!P&&!s,Un=Ht=>{var xt;if(hI.includes(Ht.key)&&P){const{unselectNodesAndEdges:wr,addSelectedEdges:$r,edges:ri}=ve.getState();Ht.key==="Escape"?((xt=Q.current)==null||xt.blur(),wr({edges:[ri.find(Sn=>Sn.id===n)]})):$r([n])}};return K.jsxs("g",{className:ti(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:bn,updating:J}]),onClick:se,onDoubleClick:gt,onContextMenu:vn,onMouseEnter:It,onMouseMove:ut,onMouseLeave:Je,onKeyDown:X?Un:void 0,tabIndex:X?0:void 0,role:X?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":W===null?void 0:W||`Edge from ${v} to ${y}`,"aria-describedby":X?`${LI}-${G}`:void 0,ref:Q,children:[!te&&K.jsx(e,{id:n,source:v,target:y,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,data:o,style:S,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,sourceHandleId:A,targetHandleId:$,markerStart:ce,markerEnd:Ne,pathOptions:B,interactionWidth:H}),Y&&K.jsxs(K.Fragment,{children:[(Y==="source"||Y===!0)&&K.jsx(QT,{position:x,centerX:g,centerY:b,radius:N,onMouseDown:sr,onMouseEnter:Lr,onMouseOut:Rn,type:"source"}),(Y==="target"||Y===!0)&&K.jsx(QT,{position:T,centerX:_,centerY:w,radius:N,onMouseDown:ni,onMouseEnter:Lr,onMouseOut:Rn,type:"target"})]})]})};return t.displayName="EdgeWrapper",k.memo(t)};function Dre(e){const t={default:Ll(e.default||$m),straight:Ll(e.bezier||nC),step:Ll(e.step||tC),smoothstep:Ll(e.step||I0),simplebezier:Ll(e.simplebezier||eC)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Ll(e[o]||$m),i),n);return{...t,...r}}function ZT(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case pe.Top:return{x:r+o/2,y:i};case pe.Right:return{x:r+o,y:i+s/2};case pe.Bottom:return{x:r+o/2,y:i+s};case pe.Left:return{x:r,y:i+s/2}}}function JT(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Lre=(e,t,n,r,i,o)=>{const s=ZT(n,e,t),a=ZT(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function $re({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Dm({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),f=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*f)>0}function eE(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[on])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function $I(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:$I(n,t):!1}function tE(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Fre(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!$I(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Bre(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function FI(e,t,n,r,i=[0,0],o){const s=Bre(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:d,y:f}=Mu(c,i).positionAbsolute;a=c&&Kr(d)&&Kr(f)&&Kr(c.width)&&Kr(c.height)?[[d+e.width*i[0],f+e.height*i[1]],[d+c.width-e.width+e.width*i[0],f+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",qs.error005()),a=s;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:d,y:f}=Mu(c,i).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+f],[e.extent[1][0]+d,e.extent[1][1]+f]]}let l={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);l=Mu(c,i).positionAbsolute}const u=a?Jx(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Pb({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const nE=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...Zx(l)}})};function Wc(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function i2({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function jre(){const e=Vn();return k.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Ab(e){return(t,n,r)=>e==null?void 0:e(t,r)}function BI({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=Vn(),[l,u]=k.useState(!1),c=k.useRef([]),d=k.useRef({x:null,y:null}),f=k.useRef(0),h=k.useRef(null),p=k.useRef({x:0,y:0}),m=k.useRef(null),S=k.useRef(!1),v=jre();return k.useEffect(()=>{if(e!=null&&e.current){const y=fi(e.current),g=({x:_,y:w})=>{const{nodeInternals:x,onNodeDrag:T,onSelectionDrag:P,updateNodePositions:E,nodeExtent:A,snapGrid:$,snapToGrid:M,nodeOrigin:C,onError:O}=a.getState();d.current={x:_,y:w};let I=!1;if(c.current=c.current.map(R=>{const D={x:_-R.distance.x,y:w-R.distance.y};M&&(D.x=$[0]*Math.round(D.x/$[0]),D.y=$[1]*Math.round(D.y/$[1]));const L=FI(R,D,x,A,C,O);return I=I||R.position.x!==L.position.x||R.position.y!==L.position.y,R.position=L.position,R.positionAbsolute=L.positionAbsolute,R}),!I)return;E(c.current,!0,!0),u(!0);const N=i?T:Ab(P);if(N&&m.current){const[R,D]=Pb({nodeId:i,dragItems:c.current,nodeInternals:x});N(m.current,R,D)}},b=()=>{if(!h.current)return;const[_,w]=uI(p.current,h.current);if(_!==0||w!==0){const{transform:x,panBy:T}=a.getState();d.current.x=(d.current.x??0)-_/x[2],d.current.y=(d.current.y??0)-w/x[2],T({x:_,y:w})&&g(d.current)}f.current=requestAnimationFrame(b)};if(t)y.on(".drag",null);else{const _=ote().on("start",w=>{var I;const{nodeInternals:x,multiSelectionActive:T,domNode:P,nodesDraggable:E,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:M}=a.getState(),C=i?$:Ab(M);!s&&!T&&i&&((I=x.get(i))!=null&&I.selected||A()),i&&o&&s&&i2({id:i,store:a,nodeRef:e});const O=v(w);if(d.current=O,c.current=Fre(x,E,O,i),C&&c.current){const[N,R]=Pb({nodeId:i,dragItems:c.current,nodeInternals:x});C(w.sourceEvent,N,R)}h.current=(P==null?void 0:P.getBoundingClientRect())||null,p.current=Ms(w.sourceEvent,h.current)}).on("drag",w=>{const x=v(w),{autoPanOnNodeDrag:T}=a.getState();!S.current&&T&&(S.current=!0,b()),(d.current.x!==x.xSnapped||d.current.y!==x.ySnapped)&&c.current&&(m.current=w.sourceEvent,p.current=Ms(w.sourceEvent,h.current),g(x))}).on("end",w=>{if(u(!1),S.current=!1,cancelAnimationFrame(f.current),c.current){const{updateNodePositions:x,nodeInternals:T,onNodeDragStop:P,onSelectionDragStop:E}=a.getState(),A=i?P:Ab(E);if(x(c.current,!1,!1),A){const[$,M]=Pb({nodeId:i,dragItems:c.current,nodeInternals:T});A(w.sourceEvent,$,M)}}}).filter(w=>{const x=w.target;return!w.button&&(!n||!tE(x,`.${n}`,e))&&(!r||tE(x,r,e))});return y.call(_),()=>{y.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,v]),l}function jI(){const e=Vn();return k.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:c}=e.getState(),d=s().filter(y=>y.selected&&(y.draggable||c&&typeof y.draggable>"u")),f=a?l[0]:5,h=a?l[1]:5,p=n.isShiftPressed?4:1,m=n.x*f*p,S=n.y*h*p,v=d.map(y=>{if(y.positionAbsolute){const g={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+S};a&&(g.x=l[0]*Math.round(g.x/l[0]),g.y=l[1]*Math.round(g.y/l[1]));const{positionAbsolute:b,position:_}=FI(y,g,r,i,void 0,u);y.position=_,y.positionAbsolute=b}return y});o(v,!0,!1)},[])}const Nu={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kc=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:c,onMouseEnter:d,onMouseMove:f,onMouseLeave:h,onContextMenu:p,onDoubleClick:m,style:S,className:v,isDraggable:y,isSelectable:g,isConnectable:b,isFocusable:_,selectNodesOnDrag:w,sourcePosition:x,targetPosition:T,hidden:P,resizeObserver:E,dragHandle:A,zIndex:$,isParent:M,noDragClassName:C,noPanClassName:O,initialized:I,disableKeyboardA11y:N,ariaLabel:R,rfId:D})=>{const L=Vn(),j=k.useRef(null),U=k.useRef(x),G=k.useRef(T),W=k.useRef(r),X=g||y||c||d||f||h,Y=jI(),B=Wc(n,L.getState,d),H=Wc(n,L.getState,f),Q=Wc(n,L.getState,h),J=Wc(n,L.getState,p),ne=Wc(n,L.getState,m),te=ce=>{if(g&&(!w||!y)&&i2({id:n,store:L,nodeRef:j}),c){const Ne=L.getState().nodeInternals.get(n);c(ce,{...Ne})}},xe=ce=>{if(!e2(ce))if(hI.includes(ce.key)&&g){const Ne=ce.key==="Escape";i2({id:n,store:L,unselect:Ne,nodeRef:j})}else!N&&y&&u&&Object.prototype.hasOwnProperty.call(Nu,ce.key)&&(L.setState({ariaLiveMessage:`Moved selected node ${ce.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),Y({x:Nu[ce.key].x,y:Nu[ce.key].y,isShiftPressed:ce.shiftKey}))};k.useEffect(()=>{if(j.current&&!P){const ce=j.current;return E==null||E.observe(ce),()=>E==null?void 0:E.unobserve(ce)}},[P]),k.useEffect(()=>{const ce=W.current!==r,Ne=U.current!==x,se=G.current!==T;j.current&&(ce||Ne||se)&&(ce&&(W.current=r),Ne&&(U.current=x),se&&(G.current=T),L.getState().updateNodeDimensions([{id:n,nodeElement:j.current,forceUpdate:!0}]))},[n,r,x,T]);const ve=BI({nodeRef:j,disabled:P||!y,noDragClassName:C,handleSelector:A,nodeId:n,isSelectable:g,selectNodesOnDrag:w});return P?null:K.jsx("div",{className:ti(["react-flow__node",`react-flow__node-${r}`,{[O]:y},v,{selected:u,selectable:g,parent:M,dragging:ve}]),ref:j,style:{zIndex:$,transform:`translate(${a}px,${l}px)`,pointerEvents:X?"all":"none",visibility:I?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:B,onMouseMove:H,onMouseLeave:Q,onContextMenu:J,onClick:te,onDoubleClick:ne,onKeyDown:_?xe:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":N?void 0:`${DI}-${D}`,"aria-label":R,children:K.jsx(ure,{value:n,children:K.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:b,sourcePosition:x,targetPosition:T,dragging:ve,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",k.memo(t)};function Vre(e){const t={input:Kc(e.input||RI),default:Kc(e.default||r2),output:Kc(e.output||MI),group:Kc(e.group||oC)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kc(e[o]||r2),i),n);return{...t,...r}}const zre=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Ure=typeof document<"u"?document:null;var Nf=(e=null,t={target:Ure})=>{const[n,r]=k.useState(!1),i=k.useRef(!1),o=k.useRef(new Set([])),[s,a]=k.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.split("+")),c=u.reduce((d,f)=>d.concat(...f),[]);return[u,c]}return[[],[]]},[e]);return k.useEffect(()=>{var l,u;if(e!==null){const c=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,!i.current&&e2(h))return!1;const p=iE(h.code,a);o.current.add(h[p]),rE(s,o.current,!1)&&(h.preventDefault(),r(!0))},d=h=>{if(!i.current&&e2(h))return!1;const p=iE(h.code,a);rE(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(h[p]),i.current=!1},f=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",d),window.addEventListener("blur",f),()=>{var h,p;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",c),(p=t==null?void 0:t.target)==null||p.removeEventListener("keyup",d),window.removeEventListener("blur",f)}}},[e,r]),n};function rE(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function iE(e,t){return t.includes(e)?"code":"key"}function VI(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Mu(i,r);return VI(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[on])==null?void 0:s.z)??0)>(n.z??0)?((a=i[on])==null?void 0:a.z)??0:n.z??0},r)}function zI(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=VI(r,e,{...r.position,z:((i=r[on])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[on].z=a,n!=null&&n[r.id]&&(r[on].isParent=!0)}})}function kb(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var d;const l=(Kr(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),c={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(c.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(c,on,{enumerable:!1,value:{handleBounds:(d=u==null?void 0:u[on])==null?void 0:d.handleBounds,z:l}}),i.set(a.id,c)}),zI(i,n,o),i}function UI(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(a&&l&&(f||!t.initial)){const p=n().filter(S=>{var y;const v=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(y=t.nodes)!=null&&y.length?v&&t.nodes.some(g=>g.id===S.id):v}),m=p.every(S=>S.width&&S.height);if(p.length>0&&m){const S=_I(p,d),[v,y,g]=CI(S,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),b=Is.translate(v,y).scale(g);return typeof t.duration=="number"&&t.duration>0?a.transform(xa(l,t.duration),b):a.transform(l,b),!0}}return!1}function Gre(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[on]:r[on],selected:n.selected})}),new Map(t)}function Hre(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function kp({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Gre(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Hre(t,o)}),a==null||a(t))}const $l=()=>{},qre={zoomIn:$l,zoomOut:$l,zoomTo:$l,getZoom:()=>1,setViewport:$l,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:$l,fitBounds:$l,project:e=>e,viewportInitialized:!1},Wre=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Kre=()=>{const e=Vn(),{d3Zoom:t,d3Selection:n}=Vt(Wre,br);return k.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(xa(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(xa(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(xa(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Is.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(xa(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>UI(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,d=a/2-i*c,f=l/2-o*c,h=Is.translate(d,f).scale(c);t.transform(xa(n,s==null?void 0:s.duration),h)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[c,d,f]=CI(i,s,a,l,u,(o==null?void 0:o.padding)??.1),h=Is.translate(c,d).scale(f);t.transform(xa(n,o==null?void 0:o.duration),h)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return SI(i,o,s,a)},viewportInitialized:!0}:qre,[t,n])};function GI(){const e=Kre(),t=Vn(),n=k.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=k.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=k.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(S=>({...S}))},[]),o=k.useCallback(m=>{const{edges:S=[]}=t.getState();return S.find(v=>v.id===m)},[]),s=k.useCallback(m=>{const{getNodes:S,setNodes:v,hasDefaultNodes:y,onNodesChange:g}=t.getState(),b=S(),_=typeof m=="function"?m(b):m;if(y)v(_);else if(g){const w=_.length===0?b.map(x=>({type:"remove",id:x.id})):_.map(x=>({item:x,type:"reset"}));g(w)}},[]),a=k.useCallback(m=>{const{edges:S=[],setEdges:v,hasDefaultEdges:y,onEdgesChange:g}=t.getState(),b=typeof m=="function"?m(S):m;if(y)v(b);else if(g){const _=b.length===0?S.map(w=>({type:"remove",id:w.id})):b.map(w=>({item:w,type:"reset"}));g(_)}},[]),l=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{getNodes:v,setNodes:y,hasDefaultNodes:g,onNodesChange:b}=t.getState();if(g){const w=[...v(),...S];y(w)}else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),u=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{edges:v=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:b}=t.getState();if(g)y([...v,...S]);else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),c=k.useCallback(()=>{const{getNodes:m,edges:S=[],transform:v}=t.getState(),[y,g,b]=v;return{nodes:m().map(_=>({..._})),edges:S.map(_=>({..._})),viewport:{x:y,y:g,zoom:b}}},[]),d=k.useCallback(({nodes:m,edges:S})=>{const{nodeInternals:v,getNodes:y,edges:g,hasDefaultNodes:b,hasDefaultEdges:_,onNodesDelete:w,onEdgesDelete:x,onNodesChange:T,onEdgesChange:P}=t.getState(),E=(m||[]).map(O=>O.id),A=(S||[]).map(O=>O.id),$=y().reduce((O,I)=>{const N=!E.includes(I.id)&&I.parentNode&&O.find(D=>D.id===I.parentNode);return(typeof I.deletable=="boolean"?I.deletable:!0)&&(E.includes(I.id)||N)&&O.push(I),O},[]),M=g.filter(O=>typeof O.deletable=="boolean"?O.deletable:!0),C=M.filter(O=>A.includes(O.id));if($||C){const O=xI($,M),I=[...C,...O],N=I.reduce((R,D)=>(R.includes(D.id)||R.push(D.id),R),[]);if((_||b)&&(_&&t.setState({edges:g.filter(R=>!N.includes(R.id))}),b&&($.forEach(R=>{v.delete(R.id)}),t.setState({nodeInternals:new Map(v)}))),N.length>0&&(x==null||x(I),P&&P(N.map(R=>({id:R,type:"remove"})))),$.length>0&&(w==null||w($),T)){const R=$.map(D=>({id:D.id,type:"remove"}));T(R)}}},[]),f=k.useCallback(m=>{const S=nre(m),v=S?null:t.getState().nodeInternals.get(m.id);return[S?m:zT(v),v,S]},[]),h=k.useCallback((m,S=!0,v)=>{const[y,g,b]=f(m);return y?(v||t.getState().getNodes()).filter(_=>{if(!b&&(_.id===g.id||!_.positionAbsolute))return!1;const w=zT(_),x=J_(w,y);return S&&x>0||x>=m.width*m.height}):[]},[]),p=k.useCallback((m,S,v=!0)=>{const[y]=f(m);if(!y)return!1;const g=J_(y,S);return v&&g>0||g>=m.width*m.height},[]);return k.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,i,o,s,a,l,u,c,d,h,p])}var Xre=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Vn(),{deleteElements:r}=GI(),i=Nf(e),o=Nf(t);k.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(c=>c.selected),u=s.filter(c=>c.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),k.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function Yre(e){const t=Vn();k.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=Zx(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",qs.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const sC={position:"absolute",width:"100%",height:"100%",top:0,left:0},Qre=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Ob=e=>({x:e.x,y:e.y,zoom:e.k}),Fl=(e,t)=>e.target.closest(`.${t}`),oE=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Zre=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Jre=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=Iu.Free,zoomOnDoubleClick:u=!0,elementsSelectable:c,panOnDrag:d=!0,defaultViewport:f,translateExtent:h,minZoom:p,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:v=!0,children:y,noWheelClassName:g,noPanClassName:b})=>{const _=k.useRef(),w=Vn(),x=k.useRef(!1),T=k.useRef(!1),P=k.useRef(null),E=k.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:M,userSelectionActive:C}=Vt(Zre,br),O=Nf(S),I=k.useRef(0);return Yre(P),k.useEffect(()=>{if(P.current){const N=P.current.getBoundingClientRect(),R=Xne().scaleExtent([p,m]).translateExtent(h),D=fi(P.current).call(R),L=Is.translate(f.x,f.y).scale(rc(f.zoom,p,m)),j=[[0,0],[N.width,N.height]],U=R.constrain()(L,j,h);R.transform(D,U),w.setState({d3Zoom:R,d3Selection:D,d3ZoomHandler:D.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:P.current.closest(".react-flow")})}},[]),k.useEffect(()=>{$&&A&&(s&&!O&&!C?$.on("wheel.zoom",N=>{if(Fl(N,g))return!1;N.preventDefault(),N.stopImmediatePropagation();const R=$.property("__zoom").k||1;if(N.ctrlKey&&o){const U=$i(N),G=-N.deltaY*(N.deltaMode===1?.05:N.deltaMode?1:.002)*10,W=R*Math.pow(2,G);A.scaleTo($,W,U);return}const D=N.deltaMode===1?20:1,L=l===Iu.Vertical?0:N.deltaX*D,j=l===Iu.Horizontal?0:N.deltaY*D;A.translateBy($,-(L/R)*a,-(j/R)*a)},{passive:!1}):typeof M<"u"&&$.on("wheel.zoom",function(N,R){if(!v||Fl(N,g))return null;N.preventDefault(),M.call(this,N,R)},{passive:!1}))},[C,s,l,$,A,M,O,o,v,g]),k.useEffect(()=>{A&&A.on("start",N=>{var D;if(!N.sourceEvent)return null;I.current=N.sourceEvent.button;const{onViewportChangeStart:R}=w.getState();if(x.current=!0,((D=N.sourceEvent)==null?void 0:D.type)==="mousedown"&&w.setState({paneDragging:!0}),t||R){const L=Ob(N.transform);E.current=L,R==null||R(L),t==null||t(N.sourceEvent,L)}})},[A,t]),k.useEffect(()=>{A&&(C&&!x.current?A.on("zoom",null):C||A.on("zoom",N=>{const{onViewportChange:R}=w.getState();if(w.setState({transform:[N.transform.x,N.transform.y,N.transform.k]}),T.current=!!(r&&oE(d,I.current??0)),e||R){const D=Ob(N.transform);R==null||R(D),e==null||e(N.sourceEvent,D)}}))},[C,A,e,d,r]),k.useEffect(()=>{A&&A.on("end",N=>{if(!N.sourceEvent)return null;const{onViewportChangeEnd:R}=w.getState();if(x.current=!1,w.setState({paneDragging:!1}),r&&oE(d,I.current??0)&&!T.current&&r(N.sourceEvent),T.current=!1,(n||R)&&Qre(E.current,N.transform)){const D=Ob(N.transform);E.current=D,clearTimeout(_.current),_.current=setTimeout(()=>{R==null||R(D),n==null||n(N.sourceEvent,D)},s?150:0)}})},[A,s,d,n,r]),k.useEffect(()=>{A&&A.filter(N=>{const R=O||i,D=o&&N.ctrlKey;if(N.button===1&&N.type==="mousedown"&&(Fl(N,"react-flow__node")||Fl(N,"react-flow__edge")))return!0;if(!d&&!R&&!s&&!u&&!o||C||!u&&N.type==="dblclick"||Fl(N,g)&&N.type==="wheel"||Fl(N,b)&&N.type!=="wheel"||!o&&N.ctrlKey&&N.type==="wheel"||!R&&!s&&!D&&N.type==="wheel"||!d&&(N.type==="mousedown"||N.type==="touchstart")||Array.isArray(d)&&!d.includes(N.button)&&(N.type==="mousedown"||N.type==="touchstart"))return!1;const L=Array.isArray(d)&&d.includes(N.button)||!N.button||N.button<=1;return(!N.ctrlKey||N.type==="wheel")&&L})},[C,A,i,o,s,u,d,c,O]),K.jsx("div",{className:"react-flow__renderer",ref:P,style:sC,children:y})},eie=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function tie(){const{userSelectionActive:e,userSelectionRect:t}=Vt(eie,br);return e&&t?K.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function sE(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function HI(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&sE(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&sE(r,s);break}case"remove":return r}return r.push(s),r},n)}function qI(e,t){return HI(e,t)}function nie(e,t){return HI(e,t)}const ds=(e,t)=>({id:e,type:"select",selected:t});function du(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(ds(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(ds(r.id,!1))),n},[])}const Rb=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},rie=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),WI=k.memo(({isSelecting:e,selectionMode:t=Mf.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:c,children:d})=>{const f=k.useRef(null),h=Vn(),p=k.useRef(0),m=k.useRef(0),S=k.useRef(),{userSelectionActive:v,elementsSelectable:y,dragging:g}=Vt(rie,br),b=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,m.current=0},_=M=>{o==null||o(M),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},w=M=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){M.preventDefault();return}s==null||s(M)},x=a?M=>a(M):void 0,T=M=>{const{resetSelectedElements:C,domNode:O}=h.getState();if(S.current=O==null?void 0:O.getBoundingClientRect(),!y||!e||M.button!==0||M.target!==f.current||!S.current)return;const{x:I,y:N}=Ms(M,S.current);C(),h.setState({userSelectionRect:{width:0,height:0,startX:I,startY:N,x:I,y:N}}),r==null||r(M)},P=M=>{const{userSelectionRect:C,nodeInternals:O,edges:I,transform:N,onNodesChange:R,onEdgesChange:D,nodeOrigin:L,getNodes:j}=h.getState();if(!e||!S.current||!C)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});const U=Ms(M,S.current),G=C.startX??0,W=C.startY??0,X={...C,x:U.xJ.id),Q=B.map(J=>J.id);if(p.current!==Q.length){p.current=Q.length;const J=du(Y,Q);J.length&&(R==null||R(J))}if(m.current!==H.length){m.current=H.length;const J=du(I,H);J.length&&(D==null||D(J))}h.setState({userSelectionRect:X})},E=M=>{if(M.button!==0)return;const{userSelectionRect:C}=h.getState();!v&&C&&M.target===f.current&&(_==null||_(M)),h.setState({nodesSelectionActive:p.current>0}),b(),i==null||i(M)},A=M=>{v&&(h.setState({nodesSelectionActive:p.current>0}),i==null||i(M)),b()},$=y&&(e||v);return K.jsxs("div",{className:ti(["react-flow__pane",{dragging:g,selection:e}]),onClick:$?void 0:Rb(_,f),onContextMenu:Rb(w,f),onWheel:Rb(x,f),onMouseEnter:$?void 0:l,onMouseDown:$?T:void 0,onMouseMove:$?P:u,onMouseUp:$?E:void 0,onMouseLeave:$?A:c,ref:f,style:sC,children:[d,K.jsx(tie,{})]})});WI.displayName="Pane";const iie=e=>{const t=e.getNodes().filter(n=>n.selected);return{..._I(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function oie({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Vn(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Vt(iie,br),c=jI(),d=k.useRef(null);if(k.useEffect(()=>{var p;n||(p=d.current)==null||p.focus({preventScroll:!0})},[n]),BI({nodeRef:d}),u||!i||!o)return null;const f=e?p=>{const m=r.getState().getNodes().filter(S=>S.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(Nu,p.key)&&c({x:Nu[p.key].x,y:Nu[p.key].y,isShiftPressed:p.shiftKey})};return K.jsx("div",{className:ti(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:K.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:o,top:a,left:s}})})}var sie=k.memo(oie);const aie=e=>e.nodesSelectionActive,KI=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:v,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:E,defaultViewport:A,translateExtent:$,minZoom:M,maxZoom:C,preventScrolling:O,onSelectionContextMenu:I,noWheelClassName:N,noPanClassName:R,disableKeyboardA11y:D})=>{const L=Vt(aie),j=Nf(d),G=Nf(v)||E,W=j||f&&G!==!0;return Xre({deleteKeyCode:a,multiSelectionKeyCode:S}),K.jsx(Jre,{onMove:l,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:o,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:!j&&G,defaultViewport:A,translateExtent:$,minZoom:M,maxZoom:C,zoomActivationKeyCode:y,preventScrolling:O,noWheelClassName:N,noPanClassName:R,children:K.jsxs(WI,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:G,isSelecting:!!W,selectionMode:h,children:[e,L&&K.jsx(sie,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:D})]})})};KI.displayName="FlowRenderer";var lie=k.memo(KI);function uie(e){return Vt(k.useCallback(n=>e?wI(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const cie=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),XI=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Vt(cie,br),a=uie(e.onlyRenderVisibleElements),l=k.useRef(),u=k.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(d=>{const f=d.map(h=>({id:h.target.getAttribute("data-id"),nodeElement:h.target,forceUpdate:!0}));o(f)});return l.current=c,c},[]);return k.useEffect(()=>()=>{var c;(c=l==null?void 0:l.current)==null||c.disconnect()},[]),K.jsx("div",{className:"react-flow__nodes",style:sC,children:a.map(c=>{var _,w;let d=c.type||"default";e.nodeTypes[d]||(s==null||s("003",qs.error003(d)),d="default");const f=e.nodeTypes[d]||e.nodeTypes.default,h=!!(c.draggable||t&&typeof c.draggable>"u"),p=!!(c.selectable||i&&typeof c.selectable>"u"),m=!!(c.connectable||n&&typeof c.connectable>"u"),S=!!(c.focusable||r&&typeof c.focusable>"u"),v=e.nodeExtent?Jx(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,y=(v==null?void 0:v.x)??0,g=(v==null?void 0:v.y)??0,b=zre({x:y,y:g,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return K.jsx(f,{id:c.id,className:c.className,style:c.style,type:d,data:c.data,sourcePosition:c.sourcePosition||pe.Bottom,targetPosition:c.targetPosition||pe.Top,hidden:c.hidden,xPos:y,yPos:g,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:h,isSelectable:p,isConnectable:m,isFocusable:S,resizeObserver:u,dragHandle:c.dragHandle,zIndex:((_=c[on])==null?void 0:_.z)??0,isParent:!!((w=c[on])!=null&&w.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel},c.id)})})};XI.displayName="NodeRenderer";var die=k.memo(XI);const fie=[{level:0,isMaxLevel:!0,edges:[]}];function hie(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var c,d;const l=Kr(a.zIndex);let u=l?a.zIndex:0;if(n){const f=t.get(a.target),h=t.get(a.source),p=a.selected||(f==null?void 0:f.selected)||(h==null?void 0:h.selected),m=Math.max(((c=h==null?void 0:h[on])==null?void 0:c.z)||0,((d=f==null?void 0:f[on])==null?void 0:d.z)||0,1e3);u=(l?a.zIndex:0)+(p?m:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?fie:o}function pie(e,t,n){const r=Vt(k.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&$re({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return hie(r,t,n)}const gie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),mie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),aE={[Lm.Arrow]:gie,[Lm.ArrowClosed]:mie};function yie(e){const t=Vn();return k.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(aE,e)?aE[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",qs.error009(e)),null)},[e])}const vie=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=yie(t);return l?K.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:K.jsx(l,{color:n,strokeWidth:s})}):null},bie=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=n2(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},YI=({defaultColor:e,rfId:t})=>{const n=Vt(k.useCallback(bie({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return K.jsx("defs",{children:n.map(r=>K.jsx(vie,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};YI.displayName="MarkerDefinitions";var Sie=k.memo(YI);const _ie=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),QI=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:c,onEdgeClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,children:S})=>{const{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:g,width:b,height:_,connectionMode:w,nodeInternals:x,onError:T}=Vt(_ie,br),P=pie(t,x,n);return b?K.jsxs(K.Fragment,{children:[P.map(({level:E,edges:A,isMaxLevel:$})=>K.jsxs("svg",{style:{zIndex:E},width:b,height:_,className:"react-flow__edges react-flow__container",children:[$&&K.jsx(Sie,{defaultColor:e,rfId:r}),K.jsx("g",{children:A.map(M=>{const[C,O,I]=eE(x.get(M.source)),[N,R,D]=eE(x.get(M.target));if(!I||!D)return null;let L=M.type||"default";i[L]||(T==null||T("011",qs.error011(L)),L="default");const j=i[L]||i.default,U=w===nl.Strict?R.target:(R.target??[]).concat(R.source??[]),G=JT(O.source,M.sourceHandle),W=JT(U,M.targetHandle),X=(G==null?void 0:G.position)||pe.Bottom,Y=(W==null?void 0:W.position)||pe.Top,B=!!(M.focusable||v&&typeof M.focusable>"u"),H=typeof s<"u"&&(M.updatable||y&&typeof M.updatable>"u");if(!G||!W)return T==null||T("008",qs.error008(G,M)),null;const{sourceX:Q,sourceY:J,targetX:ne,targetY:te}=Lre(C,G,X,N,W,Y);return K.jsx(j,{id:M.id,className:ti([M.className,o]),type:L,data:M.data,selected:!!M.selected,animated:!!M.animated,hidden:!!M.hidden,label:M.label,labelStyle:M.labelStyle,labelShowBg:M.labelShowBg,labelBgStyle:M.labelBgStyle,labelBgPadding:M.labelBgPadding,labelBgBorderRadius:M.labelBgBorderRadius,style:M.style,source:M.source,target:M.target,sourceHandleId:M.sourceHandle,targetHandleId:M.targetHandle,markerEnd:M.markerEnd,markerStart:M.markerStart,sourceX:Q,sourceY:J,targetX:ne,targetY:te,sourcePosition:X,targetPosition:Y,elementsSelectable:g,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:c,onClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,rfId:r,ariaLabel:M.ariaLabel,isFocusable:B,isUpdatable:H,pathOptions:"pathOptions"in M?M.pathOptions:void 0,interactionWidth:M.interactionWidth},M.id)})})]},E)),S]}):null};QI.displayName="EdgeRenderer";var wie=k.memo(QI);const xie=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Cie({children:e}){const t=Vt(xie);return K.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Tie(e){const t=GI(),n=k.useRef(!1);k.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Eie={[pe.Left]:pe.Right,[pe.Right]:pe.Left,[pe.Top]:pe.Bottom,[pe.Bottom]:pe.Top},ZI=({nodeId:e,handleType:t,style:n,type:r=ys.Bezier,CustomComponent:i,connectionStatus:o})=>{var w,x,T;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:c}=Vt(k.useCallback(P=>({fromNode:P.nodeInternals.get(e),handleId:P.connectionHandleId,toX:(P.connectionPosition.x-P.transform[0])/P.transform[2],toY:(P.connectionPosition.y-P.transform[1])/P.transform[2],connectionMode:P.connectionMode}),[e]),br),d=(w=s==null?void 0:s[on])==null?void 0:w.handleBounds;let f=d==null?void 0:d[t];if(c===nl.Loose&&(f=f||(d==null?void 0:d[t==="source"?"target":"source"])),!s||!f)return null;const h=a?f.find(P=>P.id===a):f[0],p=h?h.x+h.width/2:(s.width??0)/2,m=h?h.y+h.height/2:s.height??0,S=(((x=s.positionAbsolute)==null?void 0:x.x)??0)+p,v=(((T=s.positionAbsolute)==null?void 0:T.y)??0)+m,y=h==null?void 0:h.position,g=y?Eie[y]:null;if(!y||!g)return null;if(i)return K.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:h,fromX:S,fromY:v,toX:l,toY:u,fromPosition:y,toPosition:g,connectionStatus:o});let b="";const _={sourceX:S,sourceY:v,sourcePosition:y,targetX:l,targetY:u,targetPosition:g};return r===ys.Bezier?[b]=vI(_):r===ys.Step?[b]=t2({..._,borderRadius:0}):r===ys.SmoothStep?[b]=t2(_):r===ys.SimpleBezier?[b]=yI(_):b=`M${S},${v} ${l},${u}`,K.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};ZI.displayName="ConnectionLine";const Pie=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Aie({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Vt(Pie,br);return!(i&&o&&a&&s)?null:K.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:K.jsx("g",{className:ti(["react-flow__connection",u]),children:K.jsx(ZI,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const JI=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:S,connectionLineType:v,connectionLineStyle:y,connectionLineComponent:g,connectionLineContainerStyle:b,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:M,selectNodesOnDrag:C,defaultViewport:O,translateExtent:I,minZoom:N,maxZoom:R,preventScrolling:D,defaultMarkerColor:L,zoomOnScroll:j,zoomOnPinch:U,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,zoomOnDoubleClick:Y,panOnDrag:B,onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:te,onPaneContextMenu:xe,onEdgeUpdate:ve,onEdgeContextMenu:ce,onEdgeMouseEnter:Ne,onEdgeMouseMove:se,onEdgeMouseLeave:gt,edgeUpdaterRadius:vn,onEdgeUpdateStart:It,onEdgeUpdateEnd:ut,noDragClassName:Je,noWheelClassName:Gt,noPanClassName:sr,elevateEdgesOnSelect:ni,disableKeyboardA11y:Lr,nodeOrigin:Rn,nodeExtent:bn,rfId:Un})=>(Tie(o),K.jsx(lie,{onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:xe,onPaneScroll:te,deleteKeyCode:A,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,elementsSelectable:M,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:j,zoomOnPinch:U,zoomOnDoubleClick:Y,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,panOnDrag:B,defaultViewport:O,translateExtent:I,minZoom:N,maxZoom:R,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:Je,noWheelClassName:Gt,noPanClassName:sr,disableKeyboardA11y:Lr,children:K.jsxs(Cie,{children:[K.jsx(wie,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:ve,onlyRenderVisibleElements:$,onEdgeContextMenu:ce,onEdgeMouseEnter:Ne,onEdgeMouseMove:se,onEdgeMouseLeave:gt,onEdgeUpdateStart:It,onEdgeUpdateEnd:ut,edgeUpdaterRadius:vn,defaultMarkerColor:L,noPanClassName:sr,elevateEdgesOnSelect:!!ni,disableKeyboardA11y:Lr,rfId:Un,children:K.jsx(Aie,{style:y,type:v,component:g,containerStyle:b})}),K.jsx("div",{className:"react-flow__edgelabel-renderer"}),K.jsx(die,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:C,onlyRenderVisibleElements:$,noPanClassName:sr,noDragClassName:Je,disableKeyboardA11y:Lr,nodeOrigin:Rn,nodeExtent:bn,rfId:Un})]})}));JI.displayName="GraphView";var kie=k.memo(JI);const o2=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],rs={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:o2,nodeExtent:o2,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:nl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:rre,isValidConnection:void 0},Oie=()=>gJ((e,t)=>({...rs,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:kb(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?kb(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),c=l==null?void 0:l.querySelector(".react-flow__viewport");if(!c)return;const d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((m,S)=>{const v=i.get(S.id);if(v){const y=Zx(S.nodeElement);!!(y.width&&y.height&&(v.width!==y.width||v.height!==y.height||S.forceUpdate))&&(i.set(v.id,{...v,[on]:{...v[on],handleBounds:{source:nE(".source",S.nodeElement,f,u),target:nE(".target",S.nodeElement,f,u)}},...y}),m.push({id:v.id,type:"dimensions",dimensions:y}))}return m},[]);zI(i,u);const p=s||o&&!s&&UI(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),(h==null?void 0:h.length)>0&&(r==null||r(h))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=qI(n,a()),c=kb(u,i,s,l);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=du(o(),n),a=du(i,[])),kp({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=du(i,n),a=du(o(),[])),kp({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(c=>(c.selected=!1,ds(c.id,!1))),u=a.map(c=>ds(c.id,!1));kp({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>ds(a.id,!1)),s=n.filter(a=>a.selected).map(a=>ds(a.id,!1));kp({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=Jx(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=Is.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[i,o]],d=s==null?void 0:s.constrain()(u,c,l);return s.transform(a,d),r[0]!==d.x||r[1]!==d.y||r[2]!==d.k},cancelConnection:()=>e({connectionNodeId:rs.connectionNodeId,connectionHandleId:rs.connectionHandleId,connectionHandleType:rs.connectionHandleType,connectionStatus:rs.connectionStatus,connectionStartHandle:rs.connectionStartHandle,connectionEndHandle:rs.connectionEndHandle}),reset:()=>e({...rs})})),eM=({children:e})=>{const t=k.useRef(null);return t.current||(t.current=Oie()),K.jsx(Yne,{value:t.current,children:e})};eM.displayName="ReactFlowProvider";const tM=({children:e})=>k.useContext(R0)?K.jsx(K.Fragment,{children:e}):K.jsx(eM,{children:e});tM.displayName="ReactFlowWrapper";function lE(e,t){return k.useRef(null),k.useMemo(()=>t(e),[e])}const Rie={input:RI,default:r2,output:MI,group:oC},Iie={default:$m,straight:nC,step:tC,smoothstep:I0,simplebezier:eC},Mie=[0,0],Nie=[15,15],Die={x:0,y:0,zoom:1},Lie={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},$ie=k.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Rie,edgeTypes:s=Iie,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onNodesDelete:E,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:M,onSelectionDrag:C,onSelectionDragStop:O,onSelectionContextMenu:I,onSelectionStart:N,onSelectionEnd:R,connectionMode:D=nl.Strict,connectionLineType:L=ys.Bezier,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,deleteKeyCode:W="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:Y=!1,selectionMode:B=Mf.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:Q="Meta",zoomActivationKeyCode:J="Meta",snapToGrid:ne=!1,snapGrid:te=Nie,onlyRenderVisibleElements:xe=!1,selectNodesOnDrag:ve=!0,nodesDraggable:ce,nodesConnectable:Ne,nodesFocusable:se,nodeOrigin:gt=Mie,edgesFocusable:vn,edgesUpdatable:It,elementsSelectable:ut,defaultViewport:Je=Die,minZoom:Gt=.5,maxZoom:sr=2,translateExtent:ni=o2,preventScrolling:Lr=!0,nodeExtent:Rn,defaultMarkerColor:bn="#b1b1b7",zoomOnScroll:Un=!0,zoomOnPinch:Ht=!0,panOnScroll:xt=!1,panOnScrollSpeed:wr=.5,panOnScrollMode:$r=Iu.Free,zoomOnDoubleClick:ri=!0,panOnDrag:uo=!0,onPaneClick:Sn,onPaneMouseEnter:ii,onPaneMouseMove:ca,onPaneMouseLeave:ki,onPaneScroll:da,onPaneContextMenu:Ct,children:et,onEdgeUpdate:_n,onEdgeContextMenu:ln,onEdgeDoubleClick:In,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Oi,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:wn,edgeUpdaterRadius:co=10,onNodesChange:Zo,onEdgesChange:Jo,noDragClassName:Al="nodrag",noWheelClassName:fo="nowheel",noPanClassName:qn="nopan",fitView:fa=!1,fitViewOptions:h1,connectOnClick:p1=!0,attributionPosition:g1,proOptions:m1,defaultEdgeOptions:es,elevateNodesOnSelect:y1=!0,elevateEdgesOnSelect:v1=!1,disableKeyboardA11y:Hh=!1,autoPanOnConnect:b1=!0,autoPanOnNodeDrag:S1=!0,connectionRadius:_1=20,isValidConnection:Ac,onError:w1,style:kl,id:Ol,...x1},Rl)=>{const qh=lE(o,Vre),C1=lE(s,Dre),kc=Ol||"1";return K.jsx("div",{...x1,style:{...kl,...Lie},ref:Rl,className:ti(["react-flow",i]),"data-testid":"rf__wrapper",id:Ol,children:K.jsxs(tM,{children:[K.jsx(kie,{onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,nodeTypes:qh,edgeTypes:C1,connectionLineType:L,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,selectionKeyCode:X,selectionOnDrag:Y,selectionMode:B,deleteKeyCode:W,multiSelectionKeyCode:Q,panActivationKeyCode:H,zoomActivationKeyCode:J,onlyRenderVisibleElements:xe,selectNodesOnDrag:ve,defaultViewport:Je,translateExtent:ni,minZoom:Gt,maxZoom:sr,preventScrolling:Lr,zoomOnScroll:Un,zoomOnPinch:Ht,zoomOnDoubleClick:ri,panOnScroll:xt,panOnScrollSpeed:wr,panOnScrollMode:$r,panOnDrag:uo,onPaneClick:Sn,onPaneMouseEnter:ii,onPaneMouseMove:ca,onPaneMouseLeave:ki,onPaneScroll:da,onPaneContextMenu:Ct,onSelectionContextMenu:I,onSelectionStart:N,onSelectionEnd:R,onEdgeUpdate:_n,onEdgeContextMenu:ln,onEdgeDoubleClick:In,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Oi,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:wn,edgeUpdaterRadius:co,defaultMarkerColor:bn,noDragClassName:Al,noWheelClassName:fo,noPanClassName:qn,elevateEdgesOnSelect:v1,rfId:kc,disableKeyboardA11y:Hh,nodeOrigin:gt,nodeExtent:Rn}),K.jsx(Ere,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,nodesDraggable:ce,nodesConnectable:Ne,nodesFocusable:se,edgesFocusable:vn,edgesUpdatable:It,elementsSelectable:ut,elevateNodesOnSelect:y1,minZoom:Gt,maxZoom:sr,nodeExtent:Rn,onNodesChange:Zo,onEdgesChange:Jo,snapToGrid:ne,snapGrid:te,connectionMode:D,translateExtent:ni,connectOnClick:p1,defaultEdgeOptions:es,fitView:fa,fitViewOptions:h1,onNodesDelete:E,onEdgesDelete:A,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onSelectionDrag:C,onSelectionDragStart:M,onSelectionDragStop:O,noPanClassName:qn,nodeOrigin:gt,rfId:kc,autoPanOnConnect:b1,autoPanOnNodeDrag:S1,onError:w1,connectionRadius:_1,isValidConnection:Ac}),K.jsx(Cre,{onSelectionChange:$}),et,K.jsx(Jne,{proOptions:m1,position:g1}),K.jsx(Rre,{rfId:kc,disableKeyboardA11y:Hh})]})})});$ie.displayName="ReactFlow";var nM={},M0={},N0={};Object.defineProperty(N0,"__esModule",{value:!0});N0.createLogMethods=void 0;var Fie=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};N0.createLogMethods=Fie;var aC={},D0={};Object.defineProperty(D0,"__esModule",{value:!0});D0.boolean=void 0;const Bie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};D0.boolean=Bie;var L0={};Object.defineProperty(L0,"__esModule",{value:!0});L0.isBooleanable=void 0;const jie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};L0.isBooleanable=jie;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=D0;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=L0;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(aC);var uE=Object.prototype.toString,rM=function(t){var n=uE.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&uE.call(t.callee)==="[object Function]"),r},Ib,cE;function Vie(){if(cE)return Ib;cE=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=rM,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(f){var h=f.constructor;return h&&h.prototype===f},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},c=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!u["$"+f]&&t.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{l(window[f])}catch{return!0}}catch{return!0}return!1}(),d=function(f){if(typeof window>"u"||!c)return l(f);try{return l(f)}catch{return!1}};e=function(h){var p=h!==null&&typeof h=="object",m=n.call(h)==="[object Function]",S=r(h),v=p&&n.call(h)==="[object String]",y=[];if(!p&&!m&&!S)throw new TypeError("Object.keys called on a non-object");var g=s&&m;if(v&&h.length>0&&!t.call(h,0))for(var b=0;b0)for(var _=0;_"u"||!cn?Oe:cn(Uint8Array),Ua={"%AggregateError%":typeof AggregateError>"u"?Oe:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Oe:ArrayBuffer,"%ArrayIteratorPrototype%":Bl&&cn?cn([][Symbol.iterator]()):Oe,"%AsyncFromSyncIteratorPrototype%":Oe,"%AsyncFunction%":Yl,"%AsyncGenerator%":Yl,"%AsyncGeneratorFunction%":Yl,"%AsyncIteratorPrototype%":Yl,"%Atomics%":typeof Atomics>"u"?Oe:Atomics,"%BigInt%":typeof BigInt>"u"?Oe:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Oe:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Oe:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Oe:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Oe:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Oe:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Oe:FinalizationRegistry,"%Function%":oM,"%GeneratorFunction%":Yl,"%Int8Array%":typeof Int8Array>"u"?Oe:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Oe:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Oe:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Bl&&cn?cn(cn([][Symbol.iterator]())):Oe,"%JSON%":typeof JSON=="object"?JSON:Oe,"%Map%":typeof Map>"u"?Oe:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Bl||!cn?Oe:cn(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Oe:Promise,"%Proxy%":typeof Proxy>"u"?Oe:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Oe:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Oe:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Bl||!cn?Oe:cn(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Oe:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Bl&&cn?cn(""[Symbol.iterator]()):Oe,"%Symbol%":Bl?Symbol:Oe,"%SyntaxError%":ic,"%ThrowTypeError%":roe,"%TypedArray%":ooe,"%TypeError%":Du,"%Uint8Array%":typeof Uint8Array>"u"?Oe:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Oe:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Oe:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Oe:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Oe:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Oe:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Oe:WeakSet};if(cn)try{null.error}catch(e){var soe=cn(cn(e));Ua["%Error.prototype%"]=soe}var aoe=function e(t){var n;if(t==="%AsyncFunction%")n=Nb("async function () {}");else if(t==="%GeneratorFunction%")n=Nb("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Nb("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&cn&&(n=cn(i.prototype))}return Ua[t]=n,n},gE={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},_h=iM,Bm=noe,loe=_h.call(Function.call,Array.prototype.concat),uoe=_h.call(Function.apply,Array.prototype.splice),mE=_h.call(Function.call,String.prototype.replace),jm=_h.call(Function.call,String.prototype.slice),coe=_h.call(Function.call,RegExp.prototype.exec),doe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,foe=/\\(\\)?/g,hoe=function(t){var n=jm(t,0,1),r=jm(t,-1);if(n==="%"&&r!=="%")throw new ic("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new ic("invalid intrinsic syntax, expected opening `%`");var i=[];return mE(t,doe,function(o,s,a,l){i[i.length]=a?mE(l,foe,"$1"):s||o}),i},poe=function(t,n){var r=t,i;if(Bm(gE,r)&&(i=gE[r],r="%"+i[0]+"%"),Bm(Ua,r)){var o=Ua[r];if(o===Yl&&(o=aoe(r)),typeof o>"u"&&!n)throw new Du("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new ic("intrinsic "+t+" does not exist!")},goe=function(t,n){if(typeof t!="string"||t.length===0)throw new Du("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Du('"allowMissing" argument must be a boolean');if(coe(/^%?[^%]*%?$/,t)===null)throw new ic("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=hoe(t),i=r.length>0?r[0]:"",o=poe("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],uoe(r,loe([0,1],u)));for(var c=1,d=!0;c=r.length){var m=za(a,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?a=m.get:a=a[f]}else d=Bm(a,f),a=a[f];d&&!l&&(Ua[s]=a)}}return a},moe=goe,s2=moe("%Object.defineProperty%",!0),a2=function(){if(s2)try{return s2({},"a",{value:1}),!0}catch{return!1}return!1};a2.hasArrayLengthDefineBug=function(){if(!a2())return null;try{return s2([],"length",{value:1}).length!==1}catch{return!0}};var yoe=a2,voe=Gie,boe=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",Soe=Object.prototype.toString,_oe=Array.prototype.concat,sM=Object.defineProperty,woe=function(e){return typeof e=="function"&&Soe.call(e)==="[object Function]"},xoe=yoe(),aM=sM&&xoe,Coe=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!woe(r)||!r())return}aM?sM(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},lM=function(e,t){var n=arguments.length>2?arguments[2]:{},r=voe(t);boe&&(r=_oe.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};j0.testComparisonRange=Hoe;var V0={};Object.defineProperty(V0,"__esModule",{value:!0});V0.testRange=void 0;var qoe=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};V0.testRange=qoe;(function(e){var t=Ee&&Ee.__assign||function(){return t=Object.assign||function(c){for(var d,f=1,h=arguments.length;f0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,Xoe.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};z0.highlight=Qoe;var U0={},gM={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(Ee,function(){function t(u,c,d){return this.id=++t.highestId,this.name=u,this.symbols=c,this.postprocess=d,this}t.highestId=0,t.prototype.toString=function(u){var c=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+c};function n(u,c,d,f){this.rule=u,this.dot=c,this.reference=d,this.data=[],this.wantedBy=f,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var c=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return c.left=this,c.right=u,c.isComplete&&(c.data=c.build(),c.right=void 0),c},n.prototype.build=function(){var u=[],c=this;do u.push(c.right.data),c=c.left;while(c.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,c){this.grammar=u,this.index=c,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var c=this.states,d=this.wants,f=this.completed,h=0;h=$:!1}var f=Vs(n+"/executeQuery",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ra]=!0,g},condition:function(g,b){var _=b.getState,w,x,T,P=_(),E=(x=(w=P[n])==null?void 0:w.queries)==null?void 0:x[g.queryCacheKey],A=E==null?void 0:E.fulfilledTimeStamp,$=g.originalArgs,M=E==null?void 0:E.originalArgs,C=i[g.endpointName];return j_(g)?!0:(E==null?void 0:E.status)==="pending"?!1:d(g,P)||ZR(C)&&((T=C==null?void 0:C.forceRefetch)!=null&&T.call(C,{currentArg:$,previousArg:M,endpointState:E,state:P}))?!0:!A},dispatchConditionRejection:!0}),h=Vs(n+"/executeMutation",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ra]=!0,g}}),p=function(g){return"force"in g},m=function(g){return"ifOlderThan"in g},S=function(g,b,_){return function(w,x){var T=p(_)&&_.force,P=m(_)&&_.ifOlderThan,E=function(C){return C===void 0&&(C=!0),s.endpoints[g].initiate(b,{forceRefetch:C})},A=s.endpoints[g].select(b)(x());if(T)w(E());else if(P){var $=A==null?void 0:A.fulfilledTimeStamp;if(!$){w(E());return}var M=(Number(new Date)-Number(new Date($)))/1e3>=P;M&&w(E())}else w(E(!1))}};function v(g){return function(b){var _,w;return((w=(_=b==null?void 0:b.meta)==null?void 0:_.arg)==null?void 0:w.endpointName)===g}}function y(g,b){return{matchPending:Tu(u0(g),v(b)),matchFulfilled:Tu(ea(g),v(b)),matchRejected:Tu(Xu(g),v(b))}}return{queryThunk:f,mutationThunk:h,prefetch:S,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:y}}function e7(e,t,n,r){return JR(n[e.meta.arg.endpointName][t],ea(e)?e.payload:void 0,uh(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function yp(e,t,n){var r=e[t];r&&n(r)}function Pf(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function lT(e,t,n){var r=e[Pf(t)];r&&n(r)}var zc={};function vZ(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,c=e.config,d=ue(t+"/resetApiState"),f=Pt({name:t+"/queries",initialState:zc,reducers:{removeQueryResult:{reducer:function(_,w){var x=w.payload.queryCacheKey;delete _[x]},prepare:cg()},queryResultPatched:function(_,w){var x=w.payload,T=x.queryCacheKey,P=x.patches;yp(_,T,function(E){E.data=v_(E.data,P.concat())})}},extraReducers:function(_){_.addCase(n.pending,function(w,x){var T=x.meta,P=x.meta.arg,E,A,$=j_(P);(P.subscribe||$)&&((A=w[E=P.queryCacheKey])!=null||(w[E]={status:vt.uninitialized,endpointName:P.endpointName})),yp(w,P.queryCacheKey,function(M){M.status=vt.pending,M.requestId=$&&M.requestId?M.requestId:T.requestId,P.originalArgs!==void 0&&(M.originalArgs=P.originalArgs),M.startedTimeStamp=T.startedTimeStamp})}).addCase(n.fulfilled,function(w,x){var T=x.meta,P=x.payload;yp(w,T.arg.queryCacheKey,function(E){var A;if(!(E.requestId!==T.requestId&&!j_(T.arg))){var $=o[T.arg.endpointName].merge;if(E.status=vt.fulfilled,$)if(E.data!==void 0){var M=T.fulfilledTimeStamp,C=T.arg,O=T.baseQueryMeta,I=T.requestId,N=Js(E.data,function(R){return $(R,P,{arg:C.originalArgs,baseQueryMeta:O,fulfilledTimeStamp:M,requestId:I})});E.data=N}else E.data=P;else E.data=(A=o[T.arg.endpointName].structuralSharing)==null||A?XR(er(E.data)?lx(E.data):E.data,P):P;delete E.error,E.fulfilledTimeStamp=T.fulfilledTimeStamp}})}).addCase(n.rejected,function(w,x){var T=x.meta,P=T.condition,E=T.arg,A=T.requestId,$=x.error,M=x.payload;yp(w,E.queryCacheKey,function(C){if(!P){if(C.requestId!==A)return;C.status=vt.rejected,C.error=M??$}})}).addMatcher(l,function(w,x){for(var T=a(x).queries,P=0,E=Object.entries(T);P{const r=Tf.get(),i=Cf.get();return hZ({baseUrl:`${r??""}/api/v1`,prepareHeaders:s=>(i&&s.set("Authorization",`Bearer ${i}`),s)})(e,t,n)},Hs=XZ({baseQuery:QZ,reducerPath:"api",tagTypes:YZ,endpoints:()=>({})}),_b=(e,t)=>{if(!e)return!1;const n=V_.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=new Date(n[n.length-1].created_at);return r>=i}else if([0,1].includes(n.length))return!0;return!1},Uc=e=>gi.includes(e.image_category)?gi:_s,Kn=cl({selectId:e=>e.image_name,sortComparer:(e,t)=>UQ(t.updated_at,e.updated_at)}),V_=Kn.getSelectors(),di=e=>`images/?${F_.stringify(e,{arrayFormat:"none"})}`,he=Hs.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:di(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:di({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return di({board_id:n,categories:r})},transformResponse(t){const{total:n,items:r}=t;return Kn.addMany(Kn.getInitialState({total:n}),r)},merge:(t,n)=>{Kn.addMany(t,V_.selectAll(n)),t.total=n.total},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;V_.selectAll(i).forEach(o=>{n(he.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:di({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/${t}`}),providesTags:(t,n,r)=>{const i=[{type:"Image",id:r}];return t!=null&&t.board_id&&i.push({type:"Board",id:t.board_id}),i},keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),getBoardImagesTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:gi,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:_s,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s=[],a=Uc(t);s.push(n(he.util.updateQueryData("listImages",{board_id:o??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,i).total-u;l.total=l.total+d})));try{await r}catch{s.forEach(l=>l.undo())}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=Uc(t);if(n)s.push(r(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,t.image_name).total-u;l.total=l.total+d})));else{console.log(t);const l={board_id:t.board_id??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=_b(u.data,t);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.upsertOne(f,t).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(he.util.upsertQueryData("getImageDTO",u.image_name,u));const c=Uc(u);a(he.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:c},d=>{const f=d.total,p=Kn.addOne(d,u).total-f;d.total=d.total+p})),a(he.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:r},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=Uc(n);if(s.push(r(he.util.updateQueryData("getImageDTO",n.image_name,l=>{Object.assign(l,{board_id:t})}))),!n.is_intermediate){s.push(r(he.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},f=>{const h=f.total,m=Kn.removeOne(f,n.image_name).total-h;f.total=f.total+m})));const l={board_id:t??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=_b(u.data,n);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.addOne(f,n).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{board_id:n,image_name:r}=t;return{url:"board_images/",method:"DELETE",body:{board_id:n,image_name:r}}},invalidatesTags:(t,n,{imageDTO:r})=>[{type:"Board",id:r.board_id},{type:"BoardImagesTotal",id:r.board_id},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:r.board_id},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=Uc(t),s=[];s.push(n(he.util.updateQueryData("getImageDTO",t.image_name,d=>{Object.assign(d,{board_id:void 0})}))),s.push(n(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},d=>{const f=d.total,p=Kn.removeOne(d,t.image_name).total-f;d.total=d.total+p})));const a={board_id:"none",categories:o},l=he.endpoints.listImages.select(a)(i()),u=l.data&&l.data.ids.length>=l.data.total,c=_b(l.data,t);(u||c)&&s.push(n(he.util.updateQueryData("listImages",a,d=>{const f=d.total,p=Kn.upsertOne(d,t).total-f;d.total=d.total+p})));try{await r}catch{s.forEach(d=>d.undo())}}})})}),{useGetIntermediatesCountQuery:GCe,useListImagesQuery:HCe,useLazyListImagesQuery:qCe,useGetImageDTOQuery:WCe,useGetImageMetadataQuery:KCe,useDeleteImageMutation:XCe,useGetBoardImagesTotalQuery:YCe,useGetBoardAssetsTotalQuery:QCe,useUploadImageMutation:ZCe,useAddImageToBoardMutation:JCe,useRemoveImageFromBoardMutation:e3e,useClearIntermediatesMutation:t3e}=he,n7=ue("socket/socketConnected"),r7=ue("socket/appSocketConnected"),i7=ue("socket/socketDisconnected"),o7=ue("socket/appSocketDisconnected"),Vx=ue("socket/socketSubscribed"),s7=ue("socket/appSocketSubscribed"),a7=ue("socket/socketUnsubscribed"),l7=ue("socket/appSocketUnsubscribed"),u7=ue("socket/socketInvocationStarted"),c7=ue("socket/appSocketInvocationStarted"),zx=ue("socket/socketInvocationComplete"),d7=ue("socket/appSocketInvocationComplete"),f7=ue("socket/socketInvocationError"),Ux=ue("socket/appSocketInvocationError"),h7=ue("socket/socketGraphExecutionStateComplete"),p7=ue("socket/appSocketGraphExecutionStateComplete"),g7=ue("socket/socketGeneratorProgress"),m7=ue("socket/appSocketGeneratorProgress"),y7=ue("socket/socketModelLoadStarted"),ZZ=ue("socket/appSocketModelLoadStarted"),v7=ue("socket/socketModelLoadCompleted"),JZ=ue("socket/appSocketModelLoadCompleted"),b7=ue("socket/socketSessionRetrievalError"),S7=ue("socket/appSocketSessionRetrievalError"),_7=ue("socket/socketInvocationRetrievalError"),w7=ue("socket/appSocketInvocationRetrievalError"),Gx=ue("controlNet/imageProcessed"),Xl={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},_p={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},vT={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:Xl.canny_image_processor.default,shouldAutoConfig:!0},z_={controlNets:{},isEnabled:!1,pendingControlImages:[]},x7=Pt({name:"controlNet",initialState:z_,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??vT,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=Ln(e.controlNets[n]);i.controlNetId=r,e.controlNets[r]=i},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...vT,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload;e.controlNets[n].isEnabled=!e.controlNets[n].isEnabled},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n].controlImage=r,e.controlNets[n].processedControlImage=null,r!==null&&e.controlNets[n].processorType!=="none"&&e.pendingControlImages.push(n)},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload;e.controlNets[n].processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(i=>i!==n)},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload;if(e.controlNets[n].model=r,e.controlNets[n].processedControlImage=null,e.controlNets[n].shouldAutoConfig){let i;for(const o in _p)if(r.model_name.includes(o)){i=_p[o];break}i?(e.controlNets[n].processorType=i,e.controlNets[n].processorNode=Xl[i].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Xl.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload;e.controlNets[n].weight=r},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload;e.controlNets[n].beginStepPct=r},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload;e.controlNets[n].endStepPct=r},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload;e.controlNets[n].controlMode=r},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload;e.controlNets[n].resizeMode=r},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n].processorNode;e.controlNets[n].processorNode={...i,...r},e.controlNets[n].shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload;e.controlNets[n].processedControlImage=null,e.controlNets[n].processorType=r,e.controlNets[n].processorNode=Xl[r].default,e.controlNets[n].shouldAutoConfig=!1},controlNetAutoConfigToggled:(e,t)=>{var i;const{controlNetId:n}=t.payload,r=!e.controlNets[n].shouldAutoConfig;if(r){let o;for(const s in _p)if((i=e.controlNets[n].model)!=null&&i.model_name.includes(s)){o=_p[s];break}o?(e.controlNets[n].processorType=o,e.controlNets[n].processorNode=Xl[o].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Xl.none.default)}e.controlNets[n].shouldAutoConfig=r},controlNetReset:()=>({...z_})},extraReducers:e=>{e.addCase(Gx,(t,n)=>{t.controlNets[n.payload.controlNetId].controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(Ux,t=>{t.pendingControlImages=[]}),e.addMatcher(IR,t=>{t.pendingControlImages=[]}),e.addMatcher(he.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;Qa(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:n3e,controlNetAdded:r3e,controlNetDuplicated:i3e,controlNetAddedFromImage:o3e,controlNetRemoved:C7,controlNetImageChanged:Hx,controlNetProcessedImageChanged:eJ,controlNetToggled:s3e,controlNetModelChanged:bT,controlNetWeightChanged:a3e,controlNetBeginStepPctChanged:l3e,controlNetEndStepPctChanged:u3e,controlNetControlModeChanged:c3e,controlNetResizeModeChanged:d3e,controlNetProcessorParamsChanged:tJ,controlNetProcessorTypeChanged:nJ,controlNetReset:T7,controlNetAutoConfigToggled:ST}=x7.actions,rJ=x7.reducer,E7={isEnabled:!1,maxPrompts:100,combinatorial:!0},iJ=E7,P7=Pt({name:"dynamicPrompts",initialState:iJ,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=E7.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:f3e,maxPromptsChanged:h3e,maxPromptsReset:p3e,combinatorialToggled:g3e}=P7.actions,oJ=P7.reducer,sJ={updateBoardModalOpen:!1,searchText:""},A7=Pt({name:"boards",initialState:sJ,reducers:{setBoardSearchText:(e,t)=>{e.searchText=t.payload},setUpdateBoardModalOpen:(e,t)=>{e.updateBoardModalOpen=t.payload}}}),{setBoardSearchText:m3e,setUpdateBoardModalOpen:y3e}=A7.actions,aJ=A7.reducer,ec=Hs.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Be}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Be}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Be}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Be},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(he.util.updateQueryData("getImageDTO",u,c=>{c.board_id=void 0}))});const a=[{categories:gi},{categories:_s}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(he.util.updateQueryData("listImages",u,c=>{const d=c.total,h=Kn.updateMany(c,l).total-d;c.total=c.total+h}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Be},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:gi},{categories:_s}].forEach(l=>{n(he.util.updateQueryData("listImages",l,u=>{const c=u.total,f=Kn.removeMany(u,s).total-c;u.total=u.total+f}))})}catch{}}})})}),{useListBoardsQuery:v3e,useListAllBoardsQuery:b3e,useCreateBoardMutation:S3e,useUpdateBoardMutation:_3e,useDeleteBoardMutation:w3e,useDeleteBoardAndImagesMutation:x3e,useListAllImageNamesForBoardQuery:C3e}=ec,k7={selection:[],shouldAutoSwitch:!0,autoAddBoardId:void 0,galleryImageMinimumWidth:96,selectedBoardId:void 0,galleryView:"images",batchImageNames:[],isBatchEnabled:!1},O7=Pt({name:"gallery",initialState:k7,reducers:{imageRangeEndSelected:()=>{},imageSelectionToggled:()=>{},imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},isBatchEnabledChanged:(e,t)=>{e.isBatchEnabled=t.payload},imagesAddedToBatch:(e,t)=>{e.batchImageNames=tY(e.batchImageNames.concat(t.payload))},imagesRemovedFromBatch:(e,t)=>{e.batchImageNames=e.batchImageNames.filter(r=>!t.payload.includes(r));const n=e.selection.filter(r=>!t.payload.includes(r));if(n.length){e.selection=n;return}e.selection=[e.batchImageNames[0]]},batchReset:e=>{e.batchImageNames=[],e.selection=[]},autoAddBoardIdChanged:(e,t)=>{e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload}},extraReducers:e=>{e.addMatcher(uJ,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId=void 0,t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId=void 0)}),e.addMatcher(ec.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId=void 0))})}}),{imageRangeEndSelected:T3e,imageSelectionToggled:E3e,imageSelected:Rs,shouldAutoSwitchChanged:P3e,setGalleryImageMinimumWidth:A3e,boardIdSelected:U_,isBatchEnabledChanged:k3e,imagesAddedToBatch:G_,imagesRemovedFromBatch:O3e,autoAddBoardIdChanged:R3e,galleryViewChanged:Am}=O7.actions,lJ=O7.reducer,uJ=ei(ec.endpoints.deleteBoard.matchFulfilled,ec.endpoints.deleteBoardAndImages.matchFulfilled),cJ={imageToDelete:null,isModalOpen:!1},R7=Pt({name:"imageDeletion",initialState:cJ,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imageToDeleteSelected:(e,t)=>{e.imageToDelete=t.payload},imageToDeleteCleared:e=>{e.imageToDelete=null,e.isModalOpen=!1}}}),{isModalOpenChanged:I7,imageToDeleteSelected:dJ,imageToDeleteCleared:I3e}=R7.actions,fJ=R7.reducer,_T={weight:.75},hJ={loras:{}},M7=Pt({name:"lora",initialState:hJ,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,..._T}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload;e.loras[n].weight=r},loraWeightReset:(e,t)=>{const n=t.payload;e.loras[n].weight=_T.weight}}}),{loraAdded:M3e,loraRemoved:N7,loraWeightChanged:N3e,loraWeightReset:D3e,lorasCleared:L3e}=M7.actions,pJ=M7.reducer;function ti(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(!Object.is(c,t)){const d=t;t=u??typeof c!="object"?c:Object.assign({},t,c),n.forEach(f=>f(t,d))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},gJ=e=>e?wT(e):wT,{useSyncExternalStoreWithSelector:mJ}=Wj;function yJ(e,t=e.getState,n){const r=mJ(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return k.useDebugValue(r),r}function br(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function P0(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hg.prototype=P0.prototype={constructor:hg,on:function(e,t){var n=this._,r=bJ(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),CT.hasOwnProperty(t)?{space:CT[t],local:e}:e}function _J(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H_&&t.documentElement.namespaceURI===H_?t.createElement(e):t.createElementNS(n,e)}}function wJ(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function D7(e){var t=A0(e);return(t.local?wJ:_J)(t)}function xJ(){}function qx(e){return e==null?xJ:function(){return this.querySelector(e)}}function CJ(e){typeof e!="function"&&(e=qx(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=g&&(g=y+1);!(_=S[g])&&++g=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function XJ(e){e||(e=YJ);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function QJ(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ZJ(){return Array.from(this)}function JJ(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?cee:typeof t=="function"?fee:dee)(e,t,n??"")):tc(this.node(),e)}function tc(e,t){return e.style.getPropertyValue(t)||j7(e).getComputedStyle(e,null).getPropertyValue(t)}function pee(e){return function(){delete this[e]}}function gee(e,t){return function(){this[e]=t}}function mee(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function yee(e,t){return arguments.length>1?this.each((t==null?pee:typeof t=="function"?mee:gee)(e,t)):this.node()[e]}function V7(e){return e.trim().split(/^|\s+/)}function Wx(e){return e.classList||new z7(e)}function z7(e){this._node=e,this._names=V7(e.getAttribute("class")||"")}z7.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function U7(e,t){for(var n=Wx(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Hee(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function q_(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}q_.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function tte(e){return!e.ctrlKey&&!e.button}function nte(){return this.parentNode}function rte(e,t){return t??{x:e.x,y:e.y}}function ite(){return navigator.maxTouchPoints||"ontouchstart"in this}function ote(){var e=tte,t=nte,n=rte,r=ite,i={},o=P0("start","drag","end"),s=0,a,l,u,c,d=0;function f(b){b.on("mousedown.drag",h).filter(r).on("touchstart.drag",S).on("touchmove.drag",v,ete).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(b,_){if(!(c||!e.call(this,b,_))){var w=g(this,t.call(this,b,_),b,_,"mouse");w&&(fi(b.view).on("mousemove.drag",p,Af).on("mouseup.drag",m,Af),W7(b.view),wb(b),u=!1,a=b.clientX,l=b.clientY,w("start",b))}}function p(b){if(Ou(b),!u){var _=b.clientX-a,w=b.clientY-l;u=_*_+w*w>d}i.mouse("drag",b)}function m(b){fi(b.view).on("mousemove.drag mouseup.drag",null),K7(b.view,u),Ou(b),i.mouse("end",b)}function S(b,_){if(e.call(this,b,_)){var w=b.changedTouches,x=t.call(this,b,_),T=w.length,P,E;for(P=0;P>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?xp(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?xp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ate.exec(e))?new hr(t[1],t[2],t[3],1):(t=lte.exec(e))?new hr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ute.exec(e))?xp(t[1],t[2],t[3],t[4]):(t=cte.exec(e))?xp(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=dte.exec(e))?RT(t[1],t[2]/100,t[3]/100,1):(t=fte.exec(e))?RT(t[1],t[2]/100,t[3]/100,t[4]):TT.hasOwnProperty(e)?AT(TT[e]):e==="transparent"?new hr(NaN,NaN,NaN,0):null}function AT(e){return new hr(e>>16&255,e>>8&255,e&255,1)}function xp(e,t,n,r){return r<=0&&(e=t=n=NaN),new hr(e,t,n,r)}function gte(e){return e instanceof bh||(e=Rf(e)),e?(e=e.rgb(),new hr(e.r,e.g,e.b,e.opacity)):new hr}function W_(e,t,n,r){return arguments.length===1?gte(e):new hr(e,t,n,r??1)}function hr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Kx(hr,W_,X7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hr(Va(this.r),Va(this.g),Va(this.b),Rm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kT,formatHex:kT,formatHex8:mte,formatRgb:OT,toString:OT}));function kT(){return`#${Ma(this.r)}${Ma(this.g)}${Ma(this.b)}`}function mte(){return`#${Ma(this.r)}${Ma(this.g)}${Ma(this.b)}${Ma((isNaN(this.opacity)?1:this.opacity)*255)}`}function OT(){const e=Rm(this.opacity);return`${e===1?"rgb(":"rgba("}${Va(this.r)}, ${Va(this.g)}, ${Va(this.b)}${e===1?")":`, ${e})`}`}function Rm(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Va(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ma(e){return e=Va(e),(e<16?"0":"")+e.toString(16)}function RT(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hi(e,t,n,r)}function Y7(e){if(e instanceof hi)return new hi(e.h,e.s,e.l,e.opacity);if(e instanceof bh||(e=Rf(e)),!e)return new hi;if(e instanceof hi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new hi(s,a,l,e.opacity)}function yte(e,t,n,r){return arguments.length===1?Y7(e):new hi(e,t,n,r??1)}function hi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Kx(hi,yte,X7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new hr(xb(e>=240?e-240:e+120,i,r),xb(e,i,r),xb(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new hi(IT(this.h),Cp(this.s),Cp(this.l),Rm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Rm(this.opacity);return`${e===1?"hsl(":"hsla("}${IT(this.h)}, ${Cp(this.s)*100}%, ${Cp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function IT(e){return e=(e||0)%360,e<0?e+360:e}function Cp(e){return Math.max(0,Math.min(1,e||0))}function xb(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Q7=e=>()=>e;function vte(e,t){return function(n){return e+n*t}}function bte(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Ste(e){return(e=+e)==1?Z7:function(t,n){return n-t?bte(t,n,e):Q7(isNaN(t)?n:t)}}function Z7(e,t){var n=t-e;return n?vte(e,n):Q7(isNaN(e)?t:e)}const MT=function e(t){var n=Ste(t);function r(i,o){var s=n((i=W_(i)).r,(o=W_(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=Z7(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=e,r}(1);function cs(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var K_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Cb=new RegExp(K_.source,"g");function _te(e){return function(){return e}}function wte(e){return function(t){return e(t)+""}}function xte(e,t){var n=K_.lastIndex=Cb.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=K_.exec(e))&&(i=Cb.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cs(r,i)})),n=Cb.lastIndex;return n180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:cs(u,c)})):c&&d.push(i(d)+"rotate("+c+r)}function a(u,c,d,f){u!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:cs(u,c)}):c&&d.push(i(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:cs(u,d)},{i:m-2,x:cs(c,f)})}else(d!==1||f!==1)&&h.push(i(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),s(u.rotate,c.rotate,d,f),a(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,m=f.length,S;++p=0&&e._call.call(void 0,t),e=e._next;--nc}function LT(){tl=(Mm=If.now())+k0,nc=fd=0;try{Mte()}finally{nc=0,Dte(),tl=0}}function Nte(){var e=If.now(),t=e-Mm;t>tI&&(k0-=t,Mm=e)}function Dte(){for(var e,t=Im,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Im=n);hd=e,Y_(r)}function Y_(e){if(!nc){fd&&(fd=clearTimeout(fd));var t=e-tl;t>24?(e<1/0&&(fd=setTimeout(LT,e-If.now()-k0)),Gc&&(Gc=clearInterval(Gc))):(Gc||(Mm=If.now(),Gc=setInterval(Nte,tI)),nc=1,nI(LT))}}function $T(e,t,n){var r=new Nm;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Lte=P0("start","end","cancel","interrupt"),$te=[],iI=0,FT=1,Q_=2,pg=3,BT=4,Z_=5,gg=6;function O0(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Fte(e,n,{name:t,index:r,group:i,on:Lte,tween:$te,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:iI})}function Yx(e,t){var n=Pi(e,t);if(n.state>iI)throw new Error("too late; already scheduled");return n}function so(e,t){var n=Pi(e,t);if(n.state>pg)throw new Error("too late; already running");return n}function Pi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Fte(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=rI(o,0,n.time);function o(u){n.state=FT,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,f,h;if(n.state!==FT)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===pg)return $T(s);h.state===BT?(h.state=gg,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+cQ_&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function pne(e,t,n){var r,i,o=hne(t)?Yx:so;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function gne(e,t){var n=this._id;return arguments.length<2?Pi(this.node(),n).on.on(e):this.each(pne(n,e,t))}function mne(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function yne(){return this.on("end.remove",mne(this._id))}function vne(e){var t=this._name,n=this._id;typeof e!="function"&&(e=qx(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Une(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Po(e,t,n){this.k=e,this.x=t,this.y=n}Po.prototype={constructor:Po,scale:function(e){return e===1?this:new Po(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Po(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Is=new Po(1,0,0);Po.prototype;function Tb(e){e.stopImmediatePropagation()}function Hc(e){e.preventDefault(),e.stopImmediatePropagation()}function Gne(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Hne(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function jT(){return this.__zoom||Is}function qne(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Wne(){return navigator.maxTouchPoints||"ontouchstart"in this}function Kne(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Xne(){var e=Gne,t=Hne,n=Kne,r=qne,i=Wne,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Rte,u=P0("start","zoom","end"),c,d,f,h=500,p=150,m=0,S=10;function v(C){C.property("__zoom",jT).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",P).on("dblclick.zoom",E).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}v.transform=function(C,O,I,N){var R=C.selection?C.selection():C;R.property("__zoom",jT),C!==R?_(C,O,I,N):R.interrupt().each(function(){w(this,arguments).event(N).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},v.scaleBy=function(C,O,I,N){v.scaleTo(C,function(){var R=this.__zoom.k,D=typeof O=="function"?O.apply(this,arguments):O;return R*D},I,N)},v.scaleTo=function(C,O,I,N){v.transform(C,function(){var R=t.apply(this,arguments),D=this.__zoom,L=I==null?b(R):typeof I=="function"?I.apply(this,arguments):I,j=D.invert(L),U=typeof O=="function"?O.apply(this,arguments):O;return n(g(y(D,U),L,j),R,s)},I,N)},v.translateBy=function(C,O,I,N){v.transform(C,function(){return n(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof I=="function"?I.apply(this,arguments):I),t.apply(this,arguments),s)},null,N)},v.translateTo=function(C,O,I,N,R){v.transform(C,function(){var D=t.apply(this,arguments),L=this.__zoom,j=N==null?b(D):typeof N=="function"?N.apply(this,arguments):N;return n(Is.translate(j[0],j[1]).scale(L.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof I=="function"?-I.apply(this,arguments):-I),D,s)},N,R)};function y(C,O){return O=Math.max(o[0],Math.min(o[1],O)),O===C.k?C:new Po(O,C.x,C.y)}function g(C,O,I){var N=O[0]-I[0]*C.k,R=O[1]-I[1]*C.k;return N===C.x&&R===C.y?C:new Po(C.k,N,R)}function b(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function _(C,O,I,N){C.on("start.zoom",function(){w(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(N).end()}).tween("zoom",function(){var R=this,D=arguments,L=w(R,D).event(N),j=t.apply(R,D),U=I==null?b(j):typeof I=="function"?I.apply(R,D):I,G=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),W=R.__zoom,X=typeof O=="function"?O.apply(R,D):O,Y=l(W.invert(U).concat(G/W.k),X.invert(U).concat(G/X.k));return function(B){if(B===1)B=X;else{var H=Y(B),Q=G/H[2];B=new Po(Q,U[0]-H[0]*Q,U[1]-H[1]*Q)}L.zoom(null,B)}})}function w(C,O,I){return!I&&C.__zooming||new x(C,O)}function x(C,O){this.that=C,this.args=O,this.active=0,this.sourceEvent=null,this.extent=t.apply(C,O),this.taps=0}x.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,O){return this.mouse&&C!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var O=fi(this.that).datum();u.call(C,this.that,new Une(C,{sourceEvent:this.sourceEvent,target:v,type:C,transform:this.that.__zoom,dispatch:u}),O)}};function T(C,...O){if(!e.apply(this,arguments))return;var I=w(this,O).event(C),N=this.__zoom,R=Math.max(o[0],Math.min(o[1],N.k*Math.pow(2,r.apply(this,arguments)))),D=$i(C);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=N.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(N.k===R)return;I.mouse=[D,N.invert(D)],mg(this),I.start()}Hc(C),I.wheel=setTimeout(L,p),I.zoom("mouse",n(g(y(N,R),I.mouse[0],I.mouse[1]),I.extent,s));function L(){I.wheel=null,I.end()}}function P(C,...O){if(f||!e.apply(this,arguments))return;var I=C.currentTarget,N=w(this,O,!0).event(C),R=fi(C.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",G,!0),D=$i(C,I),L=C.clientX,j=C.clientY;W7(C.view),Tb(C),N.mouse=[D,this.__zoom.invert(D)],mg(this),N.start();function U(W){if(Hc(W),!N.moved){var X=W.clientX-L,Y=W.clientY-j;N.moved=X*X+Y*Y>m}N.event(W).zoom("mouse",n(g(N.that.__zoom,N.mouse[0]=$i(W,I),N.mouse[1]),N.extent,s))}function G(W){R.on("mousemove.zoom mouseup.zoom",null),K7(W.view,N.moved),Hc(W),N.event(W).end()}}function E(C,...O){if(e.apply(this,arguments)){var I=this.__zoom,N=$i(C.changedTouches?C.changedTouches[0]:C,this),R=I.invert(N),D=I.k*(C.shiftKey?.5:2),L=n(g(y(I,D),N,R),t.apply(this,O),s);Hc(C),a>0?fi(this).transition().duration(a).call(_,L,N,C):fi(this).call(v.transform,L,N,C)}}function A(C,...O){if(e.apply(this,arguments)){var I=C.touches,N=I.length,R=w(this,O,C.changedTouches.length===N).event(C),D,L,j,U;for(Tb(C),L=0;L"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},lI=qs.error001();function Vt(e,t){const n=k.useContext(R0);if(n===null)throw new Error(lI);return yJ(n,e,t)}const Vn=()=>{const e=k.useContext(R0);if(e===null)throw new Error(lI);return k.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Qne=e=>e.userSelectionActive?"none":"all";function Zne({position:e,children:t,className:n,style:r,...i}){const o=Vt(Qne),s=`${e}`.split("-");return K.jsx("div",{className:ti(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Jne({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:K.jsx(Zne,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:K.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const ere=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...c})=>{const d=k.useRef(null),[f,h]=k.useState({x:0,y:0,width:0,height:0}),p=ti(["react-flow__edge-textwrapper",u]);return k.useEffect(()=>{if(d.current){const m=d.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:K.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c,children:[i&&K.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),K.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r,children:n}),l]})};var tre=k.memo(ere);const Zx=e=>({width:e.offsetWidth,height:e.offsetHeight}),rc=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Jx=(e={x:0,y:0},t)=>({x:rc(e.x,t[0][0],t[1][0]),y:rc(e.y,t[0][1],t[1][1])}),VT=(e,t,n)=>en?-rc(Math.abs(e-n),1,50)/50:0,uI=(e,t)=>{const n=VT(e.x,35,t.width-35)*20,r=VT(e.y,35,t.height-35)*20;return[n,r]},cI=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},dI=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Dm=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),fI=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),zT=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),$3e=(e,t)=>fI(dI(Dm(e),Dm(t))),J_=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},nre=e=>Kr(e.width)&&Kr(e.height)&&Kr(e.x)&&Kr(e.y),Kr=e=>!isNaN(e)&&isFinite(e),on=Symbol.for("internals"),hI=["Enter"," ","Escape"],rre=(e,t)=>{},ire=e=>"nativeEvent"in e;function e2(e){var i,o;const t=ire(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const pI=e=>"clientX"in e,Ms=(e,t)=>{var o,s;const n=pI(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Sh=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>K.jsxs(K.Fragment,{children:[K.jsx("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&K.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&Kr(n)&&Kr(r)?K.jsx(tre,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Sh.displayName="BaseEdge";function qc(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function gI({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[S,v,y]=yI({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return K.jsx(Sh,{path:S,labelX:v,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:m})});eC.displayName="SimpleBezierEdge";const GT={[pe.Left]:{x:-1,y:0},[pe.Right]:{x:1,y:0},[pe.Top]:{x:0,y:-1},[pe.Bottom]:{x:0,y:1}},ore=({source:e,sourcePosition:t=pe.Bottom,target:n})=>t===pe.Left||t===pe.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function sre({source:e,sourcePosition:t=pe.Bottom,target:n,targetPosition:r=pe.Top,center:i,offset:o}){const s=GT[t],a=GT[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},c=ore({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",f=c[d];let h=[],p,m;const[S,v,y,g]=gI({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){p=i.x||S,m=i.y||v;const _=[{x:p,y:l.y},{x:p,y:u.y}],w=[{x:l.x,y:m},{x:u.x,y:m}];s[d]===f?h=d==="x"?_:w:h=d==="x"?w:_}else{const _=[{x:l.x,y:u.y}],w=[{x:u.x,y:l.y}];if(d==="x"?h=s.x===f?w:_:h=s.y===f?_:w,t!==r){const x=d==="x"?"y":"x",T=s[d]===a[x],P=l[x]>u[x],E=l[x]{let g="";return y>0&&y{const[v,y,g]=t2({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return K.jsx(Sh,{path:v,labelX:y,labelY:g,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:p,interactionWidth:S})});I0.displayName="SmoothStepEdge";const tC=k.memo(e=>{var t;return K.jsx(I0,{...e,pathOptions:k.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});tC.displayName="StepEdge";function lre({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=gI({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const nC=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{const[p,m,S]=lre({sourceX:e,sourceY:t,targetX:n,targetY:r});return K.jsx(Sh,{path:p,labelX:m,labelY:S,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});nC.displayName="StraightEdge";function Pp(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function qT({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case pe.Left:return[t-Pp(t-r,o),n];case pe.Right:return[t+Pp(r-t,o),n];case pe.Top:return[t,n-Pp(n-i,o)];case pe.Bottom:return[t,n+Pp(i-n,o)]}}function vI({sourceX:e,sourceY:t,sourcePosition:n=pe.Bottom,targetX:r,targetY:i,targetPosition:o=pe.Top,curvature:s=.25}){const[a,l]=qT({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,c]=qT({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[d,f,h,p]=mI({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${l} ${u},${c} ${r},${i}`,d,f,h,p]}const $m=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=pe.Bottom,targetPosition:o=pe.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,pathOptions:m,interactionWidth:S})=>{const[v,y,g]=vI({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return K.jsx(Sh,{path:v,labelX:y,labelY:g,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:S})});$m.displayName="BezierEdge";const rC=k.createContext(null),ure=rC.Provider;rC.Consumer;const cre=()=>k.useContext(rC),dre=e=>"id"in e&&"source"in e&&"target"in e,fre=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,n2=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,hre=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),bI=(e,t)=>{if(!e.source||!e.target)return t;let n;return dre(e)?n={...e}:n={...e,id:fre(e)},hre(n,t)?t:t.concat(n)},SI=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},pre=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Mu=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},_I=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=Mu(i,t).positionAbsolute;return dI(r,Dm({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return fI(n)},wI=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(c=>{const{width:d,height:f,selectable:h=!0,hidden:p=!1}=c;if(s&&!h||p)return!1;const{positionAbsolute:m}=Mu(c,a),S={x:m.x,y:m.y,width:d||0,height:f||0},v=J_(l,S),y=typeof d>"u"||typeof f>"u"||d===null||f===null,g=o&&v>0,b=(d||0)*(f||0);(y||g||v>=b||c.dragging)&&u.push(c)}),u},xI=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},CI=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=rc(l,r,i),c=e.x+e.width/2,d=e.y+e.height/2,f=t/2-c*u,h=n/2-d*u;return[f,h,u]},xa=(e,t=0)=>e.transition().duration(t);function WT(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function gre(e,t,n,r,i,o){const{x:s,y:a}=Ms(e),u=t.elementsFromPoint(s,a).find(p=>p.classList.contains("react-flow__handle"));if(u){const p=u.getAttribute("data-nodeid");if(p){const m=iC(void 0,u),S=u.getAttribute("data-handleid"),v=o({nodeId:p,id:S,type:m});if(v)return{handle:{id:S,type:m,nodeId:p,x:n.x,y:n.y},validHandleResult:v}}}let c=[],d=1/0;if(i.forEach(p=>{const m=Math.sqrt((p.x-n.x)**2+(p.y-n.y)**2);if(m<=r){const S=o(p);m<=d&&(mp.isValid),h=c.some(({handle:p})=>p.type==="target");return c.find(({handle:p,validHandleResult:m})=>h?p.type==="target":f?m.isValid:!0)||c[0]}const mre={source:null,target:null,sourceHandle:null,targetHandle:null},TI=()=>({handleDomNode:null,isValid:!1,connection:mre,endHandle:null});function EI(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...TI(),handleDomNode:l};if(l){const c=iC(void 0,l),d=l.getAttribute("data-nodeid"),f=l.getAttribute("data-handleid"),h=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),m={source:a?d:n,sourceHandle:a?f:r,target:a?n:d,targetHandle:a?r:f};u.connection=m,h&&p&&(t===nl.Strict?a&&c==="source"||!a&&c==="target":d!==n||f!==r)&&(u.endHandle={nodeId:d,handleId:f,type:c},u.isValid=o(m))}return u}function yre({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[on]){const{handleBounds:s}=o[on];let a=[],l=[];s&&(a=WT(o,s,"source",`${t}-${n}-${r}`),l=WT(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function iC(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Eb(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function vre(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function PI({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const c=cI(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:h,connectionRadius:p,onConnectStart:m,panBy:S,getNodes:v,cancelConnection:y}=o();let g=0,b;const{x:_,y:w}=Ms(e),x=c==null?void 0:c.elementFromPoint(_,w),T=iC(l,x),P=f==null?void 0:f.getBoundingClientRect();if(!P||!T)return;let E,A=Ms(e,P),$=!1,M=null,C=!1,O=null;const I=yre({nodes:v(),nodeId:n,handleId:t,handleType:T}),N=()=>{if(!h)return;const[L,j]=uI(A,P);S({x:L,y:j}),g=requestAnimationFrame(N)};s({connectionPosition:A,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:T,connectionStartHandle:{nodeId:n,handleId:t,type:T},connectionEndHandle:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:T});function R(L){const{transform:j}=o();A=Ms(L,P);const{handle:U,validHandleResult:G}=gre(L,c,SI(A,j,!1,[1,1]),p,I,W=>EI(W,d,n,t,i?"target":"source",a,c));if(b=U,$||(N(),$=!0),O=G.handleDomNode,M=G.connection,C=G.isValid,s({connectionPosition:b&&C?pre({x:b.x,y:b.y},j):A,connectionStatus:vre(!!b,C),connectionEndHandle:G.endHandle}),!b&&!C&&!O)return Eb(E);M.source!==M.target&&O&&(Eb(E),E=O,O.classList.add("connecting","react-flow__handle-connecting"),O.classList.toggle("valid",C),O.classList.toggle("react-flow__handle-valid",C))}function D(L){var j,U;(b||O)&&M&&C&&(r==null||r(M)),(U=(j=o()).onConnectEnd)==null||U.call(j,L),l&&(u==null||u(L)),Eb(E),y(),cancelAnimationFrame(g),$=!1,C=!1,M=null,O=null,c.removeEventListener("mousemove",R),c.removeEventListener("mouseup",D),c.removeEventListener("touchmove",R),c.removeEventListener("touchend",D)}c.addEventListener("mousemove",R),c.addEventListener("mouseup",D),c.addEventListener("touchmove",R),c.addEventListener("touchend",D)}const KT=()=>!0,bre=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Sre=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},AI=k.forwardRef(({type:e="source",position:t=pe.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{var P,E;const p=s||null,m=e==="target",S=Vn(),v=cre(),{connectOnClick:y,noPanClassName:g}=Vt(bre,br),{connecting:b,clickConnecting:_}=Vt(Sre(v,p,e),br);v||(E=(P=S.getState()).onError)==null||E.call(P,"010",qs.error010());const w=A=>{const{defaultEdgeOptions:$,onConnect:M,hasDefaultEdges:C}=S.getState(),O={...$,...A};if(C){const{edges:I,setEdges:N}=S.getState();N(bI(O,I))}M==null||M(O),a==null||a(O)},x=A=>{if(!v)return;const $=pI(A);i&&($&&A.button===0||!$)&&PI({event:A,handleId:p,nodeId:v,onConnect:w,isTarget:m,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||KT}),$?c==null||c(A):d==null||d(A)},T=A=>{const{onClickConnectStart:$,onClickConnectEnd:M,connectionClickStartHandle:C,connectionMode:O,isValidConnection:I}=S.getState();if(!v||!C&&!i)return;if(!C){$==null||$(A,{nodeId:v,handleId:p,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:p}});return}const N=cI(A.target),R=n||I||KT,{connection:D,isValid:L}=EI({nodeId:v,id:p,type:e},O,C.nodeId,C.handleId||null,C.type,R,N);L&&w(D),M==null||M(A),S.setState({connectionClickStartHandle:null})};return K.jsx("div",{"data-handleid":p,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${p}-${e}`,className:ti(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:o,connecting:_,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:x,onTouchStart:x,onClick:y?T:void 0,ref:h,...f,children:l})});AI.displayName="Handle";var Fm=k.memo(AI);const kI=({data:e,isConnectable:t,targetPosition:n=pe.Top,sourcePosition:r=pe.Bottom})=>K.jsxs(K.Fragment,{children:[K.jsx(Fm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,K.jsx(Fm,{type:"source",position:r,isConnectable:t})]});kI.displayName="DefaultNode";var r2=k.memo(kI);const OI=({data:e,isConnectable:t,sourcePosition:n=pe.Bottom})=>K.jsxs(K.Fragment,{children:[e==null?void 0:e.label,K.jsx(Fm,{type:"source",position:n,isConnectable:t})]});OI.displayName="InputNode";var RI=k.memo(OI);const II=({data:e,isConnectable:t,targetPosition:n=pe.Top})=>K.jsxs(K.Fragment,{children:[K.jsx(Fm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});II.displayName="OutputNode";var MI=k.memo(II);const oC=()=>null;oC.displayName="GroupNode";const _re=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Ap=e=>e.id;function wre(e,t){return br(e.selectedNodes.map(Ap),t.selectedNodes.map(Ap))&&br(e.selectedEdges.map(Ap),t.selectedEdges.map(Ap))}const NI=k.memo(({onSelectionChange:e})=>{const t=Vn(),{selectedNodes:n,selectedEdges:r}=Vt(_re,wre);return k.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});NI.displayName="SelectionListener";const xre=e=>!!e.onSelectionChange;function Cre({onSelectionChange:e}){const t=Vt(xre);return e||t?K.jsx(NI,{onSelectionChange:e}):null}const Tre=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Dl(e,t){k.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function Ae(e,t,n){k.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const Ere=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:S,nodeExtent:v,onNodesChange:y,onEdgesChange:g,elementsSelectable:b,connectionMode:_,snapGrid:w,snapToGrid:x,translateExtent:T,connectOnClick:P,defaultEdgeOptions:E,fitView:A,fitViewOptions:$,onNodesDelete:M,onEdgesDelete:C,onNodeDrag:O,onNodeDragStart:I,onNodeDragStop:N,onSelectionDrag:R,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:j,nodeOrigin:U,rfId:G,autoPanOnConnect:W,autoPanOnNodeDrag:X,onError:Y,connectionRadius:B,isValidConnection:H})=>{const{setNodes:Q,setEdges:J,setDefaultNodesAndEdges:ne,setMinZoom:te,setMaxZoom:xe,setTranslateExtent:ve,setNodeExtent:ce,reset:Ne}=Vt(Tre,br),se=Vn();return k.useEffect(()=>{const gt=r==null?void 0:r.map(vn=>({...vn,...E}));return ne(n,gt),()=>{Ne()}},[]),Ae("defaultEdgeOptions",E,se.setState),Ae("connectionMode",_,se.setState),Ae("onConnect",i,se.setState),Ae("onConnectStart",o,se.setState),Ae("onConnectEnd",s,se.setState),Ae("onClickConnectStart",a,se.setState),Ae("onClickConnectEnd",l,se.setState),Ae("nodesDraggable",u,se.setState),Ae("nodesConnectable",c,se.setState),Ae("nodesFocusable",d,se.setState),Ae("edgesFocusable",f,se.setState),Ae("edgesUpdatable",h,se.setState),Ae("elementsSelectable",b,se.setState),Ae("elevateNodesOnSelect",p,se.setState),Ae("snapToGrid",x,se.setState),Ae("snapGrid",w,se.setState),Ae("onNodesChange",y,se.setState),Ae("onEdgesChange",g,se.setState),Ae("connectOnClick",P,se.setState),Ae("fitViewOnInit",A,se.setState),Ae("fitViewOnInitOptions",$,se.setState),Ae("onNodesDelete",M,se.setState),Ae("onEdgesDelete",C,se.setState),Ae("onNodeDrag",O,se.setState),Ae("onNodeDragStart",I,se.setState),Ae("onNodeDragStop",N,se.setState),Ae("onSelectionDrag",R,se.setState),Ae("onSelectionDragStart",D,se.setState),Ae("onSelectionDragStop",L,se.setState),Ae("noPanClassName",j,se.setState),Ae("nodeOrigin",U,se.setState),Ae("rfId",G,se.setState),Ae("autoPanOnConnect",W,se.setState),Ae("autoPanOnNodeDrag",X,se.setState),Ae("onError",Y,se.setState),Ae("connectionRadius",B,se.setState),Ae("isValidConnection",H,se.setState),Dl(e,Q),Dl(t,J),Dl(m,te),Dl(S,xe),Dl(T,ve),Dl(v,ce),null},XT={display:"none"},Pre={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},DI="react-flow__node-desc",LI="react-flow__edge-desc",Are="react-flow__aria-live",kre=e=>e.ariaLiveMessage;function Ore({rfId:e}){const t=Vt(kre);return K.jsx("div",{id:`${Are}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Pre,children:t})}function Rre({rfId:e,disableKeyboardA11y:t}){return K.jsxs(K.Fragment,{children:[K.jsxs("div",{id:`${DI}-${e}`,style:XT,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),K.jsx("div",{id:`${LI}-${e}`,style:XT,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&K.jsx(Ore,{rfId:e})]})}const Ire=(e,t,n)=>n===pe.Left?e-t:n===pe.Right?e+t:e,Mre=(e,t,n)=>n===pe.Top?e-t:n===pe.Bottom?e+t:e,YT="react-flow__edgeupdater",QT=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>K.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:ti([YT,`${YT}-${a}`]),cx:Ire(t,r,e),cy:Mre(n,r,e),r,stroke:"transparent",fill:"transparent"}),Nre=()=>!0;var Ll=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:S,source:v,target:y,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,elementsSelectable:P,hidden:E,sourceHandleId:A,targetHandleId:$,onContextMenu:M,onMouseEnter:C,onMouseMove:O,onMouseLeave:I,edgeUpdaterRadius:N,onEdgeUpdate:R,onEdgeUpdateStart:D,onEdgeUpdateEnd:L,markerEnd:j,markerStart:U,rfId:G,ariaLabel:W,isFocusable:X,isUpdatable:Y,pathOptions:B,interactionWidth:H})=>{const Q=k.useRef(null),[J,ne]=k.useState(!1),[te,xe]=k.useState(!1),ve=Vn(),ce=k.useMemo(()=>`url(#${n2(U,G)})`,[U,G]),Ne=k.useMemo(()=>`url(#${n2(j,G)})`,[j,G]);if(E)return null;const se=Ht=>{const{edges:xt,addSelectedEdges:wr}=ve.getState();if(P&&(ve.setState({nodesSelectionActive:!1}),wr([n])),s){const $r=xt.find(ri=>ri.id===n);s(Ht,$r)}},gt=qc(n,ve.getState,a),vn=qc(n,ve.getState,M),It=qc(n,ve.getState,C),ut=qc(n,ve.getState,O),tt=qc(n,ve.getState,I),Gt=(Ht,xt)=>{if(Ht.button!==0)return;const{edges:wr,isValidConnection:$r}=ve.getState(),ri=xt?y:v,uo=(xt?$:A)||null,Sn=xt?"target":"source",ii=$r||Nre,ca=xt,ki=wr.find(nt=>nt.id===n);xe(!0),D==null||D(Ht,ki,Sn);const da=nt=>{xe(!1),L==null||L(nt,ki,Sn)};PI({event:Ht,handleId:uo,nodeId:ri,onConnect:nt=>R==null?void 0:R(ki,nt),isTarget:ca,getState:ve.getState,setState:ve.setState,isValidConnection:ii,edgeUpdaterType:Sn,onEdgeUpdateEnd:da})},sr=Ht=>Gt(Ht,!0),ni=Ht=>Gt(Ht,!1),Lr=()=>ne(!0),Rn=()=>ne(!1),bn=!P&&!s,Un=Ht=>{var xt;if(hI.includes(Ht.key)&&P){const{unselectNodesAndEdges:wr,addSelectedEdges:$r,edges:ri}=ve.getState();Ht.key==="Escape"?((xt=Q.current)==null||xt.blur(),wr({edges:[ri.find(Sn=>Sn.id===n)]})):$r([n])}};return K.jsxs("g",{className:ti(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:bn,updating:J}]),onClick:se,onDoubleClick:gt,onContextMenu:vn,onMouseEnter:It,onMouseMove:ut,onMouseLeave:tt,onKeyDown:X?Un:void 0,tabIndex:X?0:void 0,role:X?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":W===null?void 0:W||`Edge from ${v} to ${y}`,"aria-describedby":X?`${LI}-${G}`:void 0,ref:Q,children:[!te&&K.jsx(e,{id:n,source:v,target:y,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,data:o,style:S,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,sourceHandleId:A,targetHandleId:$,markerStart:ce,markerEnd:Ne,pathOptions:B,interactionWidth:H}),Y&&K.jsxs(K.Fragment,{children:[(Y==="source"||Y===!0)&&K.jsx(QT,{position:x,centerX:g,centerY:b,radius:N,onMouseDown:sr,onMouseEnter:Lr,onMouseOut:Rn,type:"source"}),(Y==="target"||Y===!0)&&K.jsx(QT,{position:T,centerX:_,centerY:w,radius:N,onMouseDown:ni,onMouseEnter:Lr,onMouseOut:Rn,type:"target"})]})]})};return t.displayName="EdgeWrapper",k.memo(t)};function Dre(e){const t={default:Ll(e.default||$m),straight:Ll(e.bezier||nC),step:Ll(e.step||tC),smoothstep:Ll(e.step||I0),simplebezier:Ll(e.simplebezier||eC)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Ll(e[o]||$m),i),n);return{...t,...r}}function ZT(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case pe.Top:return{x:r+o/2,y:i};case pe.Right:return{x:r+o,y:i+s/2};case pe.Bottom:return{x:r+o/2,y:i+s};case pe.Left:return{x:r,y:i+s/2}}}function JT(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Lre=(e,t,n,r,i,o)=>{const s=ZT(n,e,t),a=ZT(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function $re({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Dm({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),f=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*f)>0}function eE(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[on])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function $I(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:$I(n,t):!1}function tE(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Fre(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!$I(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Bre(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function FI(e,t,n,r,i=[0,0],o){const s=Bre(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:d,y:f}=Mu(c,i).positionAbsolute;a=c&&Kr(d)&&Kr(f)&&Kr(c.width)&&Kr(c.height)?[[d+e.width*i[0],f+e.height*i[1]],[d+c.width-e.width+e.width*i[0],f+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",qs.error005()),a=s;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:d,y:f}=Mu(c,i).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+f],[e.extent[1][0]+d,e.extent[1][1]+f]]}let l={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);l=Mu(c,i).positionAbsolute}const u=a?Jx(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Pb({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const nE=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...Zx(l)}})};function Wc(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function i2({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function jre(){const e=Vn();return k.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Ab(e){return(t,n,r)=>e==null?void 0:e(t,r)}function BI({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=Vn(),[l,u]=k.useState(!1),c=k.useRef([]),d=k.useRef({x:null,y:null}),f=k.useRef(0),h=k.useRef(null),p=k.useRef({x:0,y:0}),m=k.useRef(null),S=k.useRef(!1),v=jre();return k.useEffect(()=>{if(e!=null&&e.current){const y=fi(e.current),g=({x:_,y:w})=>{const{nodeInternals:x,onNodeDrag:T,onSelectionDrag:P,updateNodePositions:E,nodeExtent:A,snapGrid:$,snapToGrid:M,nodeOrigin:C,onError:O}=a.getState();d.current={x:_,y:w};let I=!1;if(c.current=c.current.map(R=>{const D={x:_-R.distance.x,y:w-R.distance.y};M&&(D.x=$[0]*Math.round(D.x/$[0]),D.y=$[1]*Math.round(D.y/$[1]));const L=FI(R,D,x,A,C,O);return I=I||R.position.x!==L.position.x||R.position.y!==L.position.y,R.position=L.position,R.positionAbsolute=L.positionAbsolute,R}),!I)return;E(c.current,!0,!0),u(!0);const N=i?T:Ab(P);if(N&&m.current){const[R,D]=Pb({nodeId:i,dragItems:c.current,nodeInternals:x});N(m.current,R,D)}},b=()=>{if(!h.current)return;const[_,w]=uI(p.current,h.current);if(_!==0||w!==0){const{transform:x,panBy:T}=a.getState();d.current.x=(d.current.x??0)-_/x[2],d.current.y=(d.current.y??0)-w/x[2],T({x:_,y:w})&&g(d.current)}f.current=requestAnimationFrame(b)};if(t)y.on(".drag",null);else{const _=ote().on("start",w=>{var I;const{nodeInternals:x,multiSelectionActive:T,domNode:P,nodesDraggable:E,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:M}=a.getState(),C=i?$:Ab(M);!s&&!T&&i&&((I=x.get(i))!=null&&I.selected||A()),i&&o&&s&&i2({id:i,store:a,nodeRef:e});const O=v(w);if(d.current=O,c.current=Fre(x,E,O,i),C&&c.current){const[N,R]=Pb({nodeId:i,dragItems:c.current,nodeInternals:x});C(w.sourceEvent,N,R)}h.current=(P==null?void 0:P.getBoundingClientRect())||null,p.current=Ms(w.sourceEvent,h.current)}).on("drag",w=>{const x=v(w),{autoPanOnNodeDrag:T}=a.getState();!S.current&&T&&(S.current=!0,b()),(d.current.x!==x.xSnapped||d.current.y!==x.ySnapped)&&c.current&&(m.current=w.sourceEvent,p.current=Ms(w.sourceEvent,h.current),g(x))}).on("end",w=>{if(u(!1),S.current=!1,cancelAnimationFrame(f.current),c.current){const{updateNodePositions:x,nodeInternals:T,onNodeDragStop:P,onSelectionDragStop:E}=a.getState(),A=i?P:Ab(E);if(x(c.current,!1,!1),A){const[$,M]=Pb({nodeId:i,dragItems:c.current,nodeInternals:T});A(w.sourceEvent,$,M)}}}).filter(w=>{const x=w.target;return!w.button&&(!n||!tE(x,`.${n}`,e))&&(!r||tE(x,r,e))});return y.call(_),()=>{y.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,v]),l}function jI(){const e=Vn();return k.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:c}=e.getState(),d=s().filter(y=>y.selected&&(y.draggable||c&&typeof y.draggable>"u")),f=a?l[0]:5,h=a?l[1]:5,p=n.isShiftPressed?4:1,m=n.x*f*p,S=n.y*h*p,v=d.map(y=>{if(y.positionAbsolute){const g={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+S};a&&(g.x=l[0]*Math.round(g.x/l[0]),g.y=l[1]*Math.round(g.y/l[1]));const{positionAbsolute:b,position:_}=FI(y,g,r,i,void 0,u);y.position=_,y.positionAbsolute=b}return y});o(v,!0,!1)},[])}const Nu={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kc=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:c,onMouseEnter:d,onMouseMove:f,onMouseLeave:h,onContextMenu:p,onDoubleClick:m,style:S,className:v,isDraggable:y,isSelectable:g,isConnectable:b,isFocusable:_,selectNodesOnDrag:w,sourcePosition:x,targetPosition:T,hidden:P,resizeObserver:E,dragHandle:A,zIndex:$,isParent:M,noDragClassName:C,noPanClassName:O,initialized:I,disableKeyboardA11y:N,ariaLabel:R,rfId:D})=>{const L=Vn(),j=k.useRef(null),U=k.useRef(x),G=k.useRef(T),W=k.useRef(r),X=g||y||c||d||f||h,Y=jI(),B=Wc(n,L.getState,d),H=Wc(n,L.getState,f),Q=Wc(n,L.getState,h),J=Wc(n,L.getState,p),ne=Wc(n,L.getState,m),te=ce=>{if(g&&(!w||!y)&&i2({id:n,store:L,nodeRef:j}),c){const Ne=L.getState().nodeInternals.get(n);c(ce,{...Ne})}},xe=ce=>{if(!e2(ce))if(hI.includes(ce.key)&&g){const Ne=ce.key==="Escape";i2({id:n,store:L,unselect:Ne,nodeRef:j})}else!N&&y&&u&&Object.prototype.hasOwnProperty.call(Nu,ce.key)&&(L.setState({ariaLiveMessage:`Moved selected node ${ce.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),Y({x:Nu[ce.key].x,y:Nu[ce.key].y,isShiftPressed:ce.shiftKey}))};k.useEffect(()=>{if(j.current&&!P){const ce=j.current;return E==null||E.observe(ce),()=>E==null?void 0:E.unobserve(ce)}},[P]),k.useEffect(()=>{const ce=W.current!==r,Ne=U.current!==x,se=G.current!==T;j.current&&(ce||Ne||se)&&(ce&&(W.current=r),Ne&&(U.current=x),se&&(G.current=T),L.getState().updateNodeDimensions([{id:n,nodeElement:j.current,forceUpdate:!0}]))},[n,r,x,T]);const ve=BI({nodeRef:j,disabled:P||!y,noDragClassName:C,handleSelector:A,nodeId:n,isSelectable:g,selectNodesOnDrag:w});return P?null:K.jsx("div",{className:ti(["react-flow__node",`react-flow__node-${r}`,{[O]:y},v,{selected:u,selectable:g,parent:M,dragging:ve}]),ref:j,style:{zIndex:$,transform:`translate(${a}px,${l}px)`,pointerEvents:X?"all":"none",visibility:I?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:B,onMouseMove:H,onMouseLeave:Q,onContextMenu:J,onClick:te,onDoubleClick:ne,onKeyDown:_?xe:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":N?void 0:`${DI}-${D}`,"aria-label":R,children:K.jsx(ure,{value:n,children:K.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:b,sourcePosition:x,targetPosition:T,dragging:ve,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",k.memo(t)};function Vre(e){const t={input:Kc(e.input||RI),default:Kc(e.default||r2),output:Kc(e.output||MI),group:Kc(e.group||oC)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kc(e[o]||r2),i),n);return{...t,...r}}const zre=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Ure=typeof document<"u"?document:null;var Nf=(e=null,t={target:Ure})=>{const[n,r]=k.useState(!1),i=k.useRef(!1),o=k.useRef(new Set([])),[s,a]=k.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.split("+")),c=u.reduce((d,f)=>d.concat(...f),[]);return[u,c]}return[[],[]]},[e]);return k.useEffect(()=>{var l,u;if(e!==null){const c=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,!i.current&&e2(h))return!1;const p=iE(h.code,a);o.current.add(h[p]),rE(s,o.current,!1)&&(h.preventDefault(),r(!0))},d=h=>{if(!i.current&&e2(h))return!1;const p=iE(h.code,a);rE(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(h[p]),i.current=!1},f=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",d),window.addEventListener("blur",f),()=>{var h,p;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",c),(p=t==null?void 0:t.target)==null||p.removeEventListener("keyup",d),window.removeEventListener("blur",f)}}},[e,r]),n};function rE(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function iE(e,t){return t.includes(e)?"code":"key"}function VI(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Mu(i,r);return VI(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[on])==null?void 0:s.z)??0)>(n.z??0)?((a=i[on])==null?void 0:a.z)??0:n.z??0},r)}function zI(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=VI(r,e,{...r.position,z:((i=r[on])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[on].z=a,n!=null&&n[r.id]&&(r[on].isParent=!0)}})}function kb(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var d;const l=(Kr(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),c={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(c.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(c,on,{enumerable:!1,value:{handleBounds:(d=u==null?void 0:u[on])==null?void 0:d.handleBounds,z:l}}),i.set(a.id,c)}),zI(i,n,o),i}function UI(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(a&&l&&(f||!t.initial)){const p=n().filter(S=>{var y;const v=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(y=t.nodes)!=null&&y.length?v&&t.nodes.some(g=>g.id===S.id):v}),m=p.every(S=>S.width&&S.height);if(p.length>0&&m){const S=_I(p,d),[v,y,g]=CI(S,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),b=Is.translate(v,y).scale(g);return typeof t.duration=="number"&&t.duration>0?a.transform(xa(l,t.duration),b):a.transform(l,b),!0}}return!1}function Gre(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[on]:r[on],selected:n.selected})}),new Map(t)}function Hre(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function kp({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Gre(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Hre(t,o)}),a==null||a(t))}const $l=()=>{},qre={zoomIn:$l,zoomOut:$l,zoomTo:$l,getZoom:()=>1,setViewport:$l,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:$l,fitBounds:$l,project:e=>e,viewportInitialized:!1},Wre=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Kre=()=>{const e=Vn(),{d3Zoom:t,d3Selection:n}=Vt(Wre,br);return k.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(xa(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(xa(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(xa(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Is.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(xa(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>UI(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,d=a/2-i*c,f=l/2-o*c,h=Is.translate(d,f).scale(c);t.transform(xa(n,s==null?void 0:s.duration),h)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[c,d,f]=CI(i,s,a,l,u,(o==null?void 0:o.padding)??.1),h=Is.translate(c,d).scale(f);t.transform(xa(n,o==null?void 0:o.duration),h)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return SI(i,o,s,a)},viewportInitialized:!0}:qre,[t,n])};function GI(){const e=Kre(),t=Vn(),n=k.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=k.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=k.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(S=>({...S}))},[]),o=k.useCallback(m=>{const{edges:S=[]}=t.getState();return S.find(v=>v.id===m)},[]),s=k.useCallback(m=>{const{getNodes:S,setNodes:v,hasDefaultNodes:y,onNodesChange:g}=t.getState(),b=S(),_=typeof m=="function"?m(b):m;if(y)v(_);else if(g){const w=_.length===0?b.map(x=>({type:"remove",id:x.id})):_.map(x=>({item:x,type:"reset"}));g(w)}},[]),a=k.useCallback(m=>{const{edges:S=[],setEdges:v,hasDefaultEdges:y,onEdgesChange:g}=t.getState(),b=typeof m=="function"?m(S):m;if(y)v(b);else if(g){const _=b.length===0?S.map(w=>({type:"remove",id:w.id})):b.map(w=>({item:w,type:"reset"}));g(_)}},[]),l=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{getNodes:v,setNodes:y,hasDefaultNodes:g,onNodesChange:b}=t.getState();if(g){const w=[...v(),...S];y(w)}else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),u=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{edges:v=[],setEdges:y,hasDefaultEdges:g,onEdgesChange:b}=t.getState();if(g)y([...v,...S]);else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),c=k.useCallback(()=>{const{getNodes:m,edges:S=[],transform:v}=t.getState(),[y,g,b]=v;return{nodes:m().map(_=>({..._})),edges:S.map(_=>({..._})),viewport:{x:y,y:g,zoom:b}}},[]),d=k.useCallback(({nodes:m,edges:S})=>{const{nodeInternals:v,getNodes:y,edges:g,hasDefaultNodes:b,hasDefaultEdges:_,onNodesDelete:w,onEdgesDelete:x,onNodesChange:T,onEdgesChange:P}=t.getState(),E=(m||[]).map(O=>O.id),A=(S||[]).map(O=>O.id),$=y().reduce((O,I)=>{const N=!E.includes(I.id)&&I.parentNode&&O.find(D=>D.id===I.parentNode);return(typeof I.deletable=="boolean"?I.deletable:!0)&&(E.includes(I.id)||N)&&O.push(I),O},[]),M=g.filter(O=>typeof O.deletable=="boolean"?O.deletable:!0),C=M.filter(O=>A.includes(O.id));if($||C){const O=xI($,M),I=[...C,...O],N=I.reduce((R,D)=>(R.includes(D.id)||R.push(D.id),R),[]);if((_||b)&&(_&&t.setState({edges:g.filter(R=>!N.includes(R.id))}),b&&($.forEach(R=>{v.delete(R.id)}),t.setState({nodeInternals:new Map(v)}))),N.length>0&&(x==null||x(I),P&&P(N.map(R=>({id:R,type:"remove"})))),$.length>0&&(w==null||w($),T)){const R=$.map(D=>({id:D.id,type:"remove"}));T(R)}}},[]),f=k.useCallback(m=>{const S=nre(m),v=S?null:t.getState().nodeInternals.get(m.id);return[S?m:zT(v),v,S]},[]),h=k.useCallback((m,S=!0,v)=>{const[y,g,b]=f(m);return y?(v||t.getState().getNodes()).filter(_=>{if(!b&&(_.id===g.id||!_.positionAbsolute))return!1;const w=zT(_),x=J_(w,y);return S&&x>0||x>=m.width*m.height}):[]},[]),p=k.useCallback((m,S,v=!0)=>{const[y]=f(m);if(!y)return!1;const g=J_(y,S);return v&&g>0||g>=m.width*m.height},[]);return k.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,i,o,s,a,l,u,c,d,h,p])}var Xre=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Vn(),{deleteElements:r}=GI(),i=Nf(e),o=Nf(t);k.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(c=>c.selected),u=s.filter(c=>c.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),k.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function Yre(e){const t=Vn();k.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=Zx(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",qs.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const sC={position:"absolute",width:"100%",height:"100%",top:0,left:0},Qre=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Ob=e=>({x:e.x,y:e.y,zoom:e.k}),Fl=(e,t)=>e.target.closest(`.${t}`),oE=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Zre=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Jre=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=Iu.Free,zoomOnDoubleClick:u=!0,elementsSelectable:c,panOnDrag:d=!0,defaultViewport:f,translateExtent:h,minZoom:p,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:v=!0,children:y,noWheelClassName:g,noPanClassName:b})=>{const _=k.useRef(),w=Vn(),x=k.useRef(!1),T=k.useRef(!1),P=k.useRef(null),E=k.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:M,userSelectionActive:C}=Vt(Zre,br),O=Nf(S),I=k.useRef(0);return Yre(P),k.useEffect(()=>{if(P.current){const N=P.current.getBoundingClientRect(),R=Xne().scaleExtent([p,m]).translateExtent(h),D=fi(P.current).call(R),L=Is.translate(f.x,f.y).scale(rc(f.zoom,p,m)),j=[[0,0],[N.width,N.height]],U=R.constrain()(L,j,h);R.transform(D,U),w.setState({d3Zoom:R,d3Selection:D,d3ZoomHandler:D.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:P.current.closest(".react-flow")})}},[]),k.useEffect(()=>{$&&A&&(s&&!O&&!C?$.on("wheel.zoom",N=>{if(Fl(N,g))return!1;N.preventDefault(),N.stopImmediatePropagation();const R=$.property("__zoom").k||1;if(N.ctrlKey&&o){const U=$i(N),G=-N.deltaY*(N.deltaMode===1?.05:N.deltaMode?1:.002)*10,W=R*Math.pow(2,G);A.scaleTo($,W,U);return}const D=N.deltaMode===1?20:1,L=l===Iu.Vertical?0:N.deltaX*D,j=l===Iu.Horizontal?0:N.deltaY*D;A.translateBy($,-(L/R)*a,-(j/R)*a)},{passive:!1}):typeof M<"u"&&$.on("wheel.zoom",function(N,R){if(!v||Fl(N,g))return null;N.preventDefault(),M.call(this,N,R)},{passive:!1}))},[C,s,l,$,A,M,O,o,v,g]),k.useEffect(()=>{A&&A.on("start",N=>{var D;if(!N.sourceEvent)return null;I.current=N.sourceEvent.button;const{onViewportChangeStart:R}=w.getState();if(x.current=!0,((D=N.sourceEvent)==null?void 0:D.type)==="mousedown"&&w.setState({paneDragging:!0}),t||R){const L=Ob(N.transform);E.current=L,R==null||R(L),t==null||t(N.sourceEvent,L)}})},[A,t]),k.useEffect(()=>{A&&(C&&!x.current?A.on("zoom",null):C||A.on("zoom",N=>{const{onViewportChange:R}=w.getState();if(w.setState({transform:[N.transform.x,N.transform.y,N.transform.k]}),T.current=!!(r&&oE(d,I.current??0)),e||R){const D=Ob(N.transform);R==null||R(D),e==null||e(N.sourceEvent,D)}}))},[C,A,e,d,r]),k.useEffect(()=>{A&&A.on("end",N=>{if(!N.sourceEvent)return null;const{onViewportChangeEnd:R}=w.getState();if(x.current=!1,w.setState({paneDragging:!1}),r&&oE(d,I.current??0)&&!T.current&&r(N.sourceEvent),T.current=!1,(n||R)&&Qre(E.current,N.transform)){const D=Ob(N.transform);E.current=D,clearTimeout(_.current),_.current=setTimeout(()=>{R==null||R(D),n==null||n(N.sourceEvent,D)},s?150:0)}})},[A,s,d,n,r]),k.useEffect(()=>{A&&A.filter(N=>{const R=O||i,D=o&&N.ctrlKey;if(N.button===1&&N.type==="mousedown"&&(Fl(N,"react-flow__node")||Fl(N,"react-flow__edge")))return!0;if(!d&&!R&&!s&&!u&&!o||C||!u&&N.type==="dblclick"||Fl(N,g)&&N.type==="wheel"||Fl(N,b)&&N.type!=="wheel"||!o&&N.ctrlKey&&N.type==="wheel"||!R&&!s&&!D&&N.type==="wheel"||!d&&(N.type==="mousedown"||N.type==="touchstart")||Array.isArray(d)&&!d.includes(N.button)&&(N.type==="mousedown"||N.type==="touchstart"))return!1;const L=Array.isArray(d)&&d.includes(N.button)||!N.button||N.button<=1;return(!N.ctrlKey||N.type==="wheel")&&L})},[C,A,i,o,s,u,d,c,O]),K.jsx("div",{className:"react-flow__renderer",ref:P,style:sC,children:y})},eie=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function tie(){const{userSelectionActive:e,userSelectionRect:t}=Vt(eie,br);return e&&t?K.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function sE(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function HI(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&sE(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&sE(r,s);break}case"remove":return r}return r.push(s),r},n)}function qI(e,t){return HI(e,t)}function nie(e,t){return HI(e,t)}const ds=(e,t)=>({id:e,type:"select",selected:t});function du(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(ds(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(ds(r.id,!1))),n},[])}const Rb=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},rie=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),WI=k.memo(({isSelecting:e,selectionMode:t=Mf.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:c,children:d})=>{const f=k.useRef(null),h=Vn(),p=k.useRef(0),m=k.useRef(0),S=k.useRef(),{userSelectionActive:v,elementsSelectable:y,dragging:g}=Vt(rie,br),b=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,m.current=0},_=M=>{o==null||o(M),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},w=M=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){M.preventDefault();return}s==null||s(M)},x=a?M=>a(M):void 0,T=M=>{const{resetSelectedElements:C,domNode:O}=h.getState();if(S.current=O==null?void 0:O.getBoundingClientRect(),!y||!e||M.button!==0||M.target!==f.current||!S.current)return;const{x:I,y:N}=Ms(M,S.current);C(),h.setState({userSelectionRect:{width:0,height:0,startX:I,startY:N,x:I,y:N}}),r==null||r(M)},P=M=>{const{userSelectionRect:C,nodeInternals:O,edges:I,transform:N,onNodesChange:R,onEdgesChange:D,nodeOrigin:L,getNodes:j}=h.getState();if(!e||!S.current||!C)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});const U=Ms(M,S.current),G=C.startX??0,W=C.startY??0,X={...C,x:U.xJ.id),Q=B.map(J=>J.id);if(p.current!==Q.length){p.current=Q.length;const J=du(Y,Q);J.length&&(R==null||R(J))}if(m.current!==H.length){m.current=H.length;const J=du(I,H);J.length&&(D==null||D(J))}h.setState({userSelectionRect:X})},E=M=>{if(M.button!==0)return;const{userSelectionRect:C}=h.getState();!v&&C&&M.target===f.current&&(_==null||_(M)),h.setState({nodesSelectionActive:p.current>0}),b(),i==null||i(M)},A=M=>{v&&(h.setState({nodesSelectionActive:p.current>0}),i==null||i(M)),b()},$=y&&(e||v);return K.jsxs("div",{className:ti(["react-flow__pane",{dragging:g,selection:e}]),onClick:$?void 0:Rb(_,f),onContextMenu:Rb(w,f),onWheel:Rb(x,f),onMouseEnter:$?void 0:l,onMouseDown:$?T:void 0,onMouseMove:$?P:u,onMouseUp:$?E:void 0,onMouseLeave:$?A:c,ref:f,style:sC,children:[d,K.jsx(tie,{})]})});WI.displayName="Pane";const iie=e=>{const t=e.getNodes().filter(n=>n.selected);return{..._I(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function oie({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Vn(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Vt(iie,br),c=jI(),d=k.useRef(null);if(k.useEffect(()=>{var p;n||(p=d.current)==null||p.focus({preventScroll:!0})},[n]),BI({nodeRef:d}),u||!i||!o)return null;const f=e?p=>{const m=r.getState().getNodes().filter(S=>S.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(Nu,p.key)&&c({x:Nu[p.key].x,y:Nu[p.key].y,isShiftPressed:p.shiftKey})};return K.jsx("div",{className:ti(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:K.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:o,top:a,left:s}})})}var sie=k.memo(oie);const aie=e=>e.nodesSelectionActive,KI=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:v,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:E,defaultViewport:A,translateExtent:$,minZoom:M,maxZoom:C,preventScrolling:O,onSelectionContextMenu:I,noWheelClassName:N,noPanClassName:R,disableKeyboardA11y:D})=>{const L=Vt(aie),j=Nf(d),G=Nf(v)||E,W=j||f&&G!==!0;return Xre({deleteKeyCode:a,multiSelectionKeyCode:S}),K.jsx(Jre,{onMove:l,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:o,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:!j&&G,defaultViewport:A,translateExtent:$,minZoom:M,maxZoom:C,zoomActivationKeyCode:y,preventScrolling:O,noWheelClassName:N,noPanClassName:R,children:K.jsxs(WI,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:G,isSelecting:!!W,selectionMode:h,children:[e,L&&K.jsx(sie,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:D})]})})};KI.displayName="FlowRenderer";var lie=k.memo(KI);function uie(e){return Vt(k.useCallback(n=>e?wI(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const cie=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),XI=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Vt(cie,br),a=uie(e.onlyRenderVisibleElements),l=k.useRef(),u=k.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(d=>{const f=d.map(h=>({id:h.target.getAttribute("data-id"),nodeElement:h.target,forceUpdate:!0}));o(f)});return l.current=c,c},[]);return k.useEffect(()=>()=>{var c;(c=l==null?void 0:l.current)==null||c.disconnect()},[]),K.jsx("div",{className:"react-flow__nodes",style:sC,children:a.map(c=>{var _,w;let d=c.type||"default";e.nodeTypes[d]||(s==null||s("003",qs.error003(d)),d="default");const f=e.nodeTypes[d]||e.nodeTypes.default,h=!!(c.draggable||t&&typeof c.draggable>"u"),p=!!(c.selectable||i&&typeof c.selectable>"u"),m=!!(c.connectable||n&&typeof c.connectable>"u"),S=!!(c.focusable||r&&typeof c.focusable>"u"),v=e.nodeExtent?Jx(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,y=(v==null?void 0:v.x)??0,g=(v==null?void 0:v.y)??0,b=zre({x:y,y:g,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return K.jsx(f,{id:c.id,className:c.className,style:c.style,type:d,data:c.data,sourcePosition:c.sourcePosition||pe.Bottom,targetPosition:c.targetPosition||pe.Top,hidden:c.hidden,xPos:y,yPos:g,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:h,isSelectable:p,isConnectable:m,isFocusable:S,resizeObserver:u,dragHandle:c.dragHandle,zIndex:((_=c[on])==null?void 0:_.z)??0,isParent:!!((w=c[on])!=null&&w.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel},c.id)})})};XI.displayName="NodeRenderer";var die=k.memo(XI);const fie=[{level:0,isMaxLevel:!0,edges:[]}];function hie(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var c,d;const l=Kr(a.zIndex);let u=l?a.zIndex:0;if(n){const f=t.get(a.target),h=t.get(a.source),p=a.selected||(f==null?void 0:f.selected)||(h==null?void 0:h.selected),m=Math.max(((c=h==null?void 0:h[on])==null?void 0:c.z)||0,((d=f==null?void 0:f[on])==null?void 0:d.z)||0,1e3);u=(l?a.zIndex:0)+(p?m:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?fie:o}function pie(e,t,n){const r=Vt(k.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&$re({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return hie(r,t,n)}const gie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),mie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),aE={[Lm.Arrow]:gie,[Lm.ArrowClosed]:mie};function yie(e){const t=Vn();return k.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(aE,e)?aE[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",qs.error009(e)),null)},[e])}const vie=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=yie(t);return l?K.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:K.jsx(l,{color:n,strokeWidth:s})}):null},bie=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=n2(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},YI=({defaultColor:e,rfId:t})=>{const n=Vt(k.useCallback(bie({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return K.jsx("defs",{children:n.map(r=>K.jsx(vie,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};YI.displayName="MarkerDefinitions";var Sie=k.memo(YI);const _ie=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),QI=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:c,onEdgeClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,children:S})=>{const{edgesFocusable:v,edgesUpdatable:y,elementsSelectable:g,width:b,height:_,connectionMode:w,nodeInternals:x,onError:T}=Vt(_ie,br),P=pie(t,x,n);return b?K.jsxs(K.Fragment,{children:[P.map(({level:E,edges:A,isMaxLevel:$})=>K.jsxs("svg",{style:{zIndex:E},width:b,height:_,className:"react-flow__edges react-flow__container",children:[$&&K.jsx(Sie,{defaultColor:e,rfId:r}),K.jsx("g",{children:A.map(M=>{const[C,O,I]=eE(x.get(M.source)),[N,R,D]=eE(x.get(M.target));if(!I||!D)return null;let L=M.type||"default";i[L]||(T==null||T("011",qs.error011(L)),L="default");const j=i[L]||i.default,U=w===nl.Strict?R.target:(R.target??[]).concat(R.source??[]),G=JT(O.source,M.sourceHandle),W=JT(U,M.targetHandle),X=(G==null?void 0:G.position)||pe.Bottom,Y=(W==null?void 0:W.position)||pe.Top,B=!!(M.focusable||v&&typeof M.focusable>"u"),H=typeof s<"u"&&(M.updatable||y&&typeof M.updatable>"u");if(!G||!W)return T==null||T("008",qs.error008(G,M)),null;const{sourceX:Q,sourceY:J,targetX:ne,targetY:te}=Lre(C,G,X,N,W,Y);return K.jsx(j,{id:M.id,className:ti([M.className,o]),type:L,data:M.data,selected:!!M.selected,animated:!!M.animated,hidden:!!M.hidden,label:M.label,labelStyle:M.labelStyle,labelShowBg:M.labelShowBg,labelBgStyle:M.labelBgStyle,labelBgPadding:M.labelBgPadding,labelBgBorderRadius:M.labelBgBorderRadius,style:M.style,source:M.source,target:M.target,sourceHandleId:M.sourceHandle,targetHandleId:M.targetHandle,markerEnd:M.markerEnd,markerStart:M.markerStart,sourceX:Q,sourceY:J,targetX:ne,targetY:te,sourcePosition:X,targetPosition:Y,elementsSelectable:g,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:c,onClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,rfId:r,ariaLabel:M.ariaLabel,isFocusable:B,isUpdatable:H,pathOptions:"pathOptions"in M?M.pathOptions:void 0,interactionWidth:M.interactionWidth},M.id)})})]},E)),S]}):null};QI.displayName="EdgeRenderer";var wie=k.memo(QI);const xie=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Cie({children:e}){const t=Vt(xie);return K.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Tie(e){const t=GI(),n=k.useRef(!1);k.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Eie={[pe.Left]:pe.Right,[pe.Right]:pe.Left,[pe.Top]:pe.Bottom,[pe.Bottom]:pe.Top},ZI=({nodeId:e,handleType:t,style:n,type:r=ys.Bezier,CustomComponent:i,connectionStatus:o})=>{var w,x,T;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:c}=Vt(k.useCallback(P=>({fromNode:P.nodeInternals.get(e),handleId:P.connectionHandleId,toX:(P.connectionPosition.x-P.transform[0])/P.transform[2],toY:(P.connectionPosition.y-P.transform[1])/P.transform[2],connectionMode:P.connectionMode}),[e]),br),d=(w=s==null?void 0:s[on])==null?void 0:w.handleBounds;let f=d==null?void 0:d[t];if(c===nl.Loose&&(f=f||(d==null?void 0:d[t==="source"?"target":"source"])),!s||!f)return null;const h=a?f.find(P=>P.id===a):f[0],p=h?h.x+h.width/2:(s.width??0)/2,m=h?h.y+h.height/2:s.height??0,S=(((x=s.positionAbsolute)==null?void 0:x.x)??0)+p,v=(((T=s.positionAbsolute)==null?void 0:T.y)??0)+m,y=h==null?void 0:h.position,g=y?Eie[y]:null;if(!y||!g)return null;if(i)return K.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:h,fromX:S,fromY:v,toX:l,toY:u,fromPosition:y,toPosition:g,connectionStatus:o});let b="";const _={sourceX:S,sourceY:v,sourcePosition:y,targetX:l,targetY:u,targetPosition:g};return r===ys.Bezier?[b]=vI(_):r===ys.Step?[b]=t2({..._,borderRadius:0}):r===ys.SmoothStep?[b]=t2(_):r===ys.SimpleBezier?[b]=yI(_):b=`M${S},${v} ${l},${u}`,K.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};ZI.displayName="ConnectionLine";const Pie=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Aie({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Vt(Pie,br);return!(i&&o&&a&&s)?null:K.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:K.jsx("g",{className:ti(["react-flow__connection",u]),children:K.jsx(ZI,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const JI=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:S,connectionLineType:v,connectionLineStyle:y,connectionLineComponent:g,connectionLineContainerStyle:b,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:M,selectNodesOnDrag:C,defaultViewport:O,translateExtent:I,minZoom:N,maxZoom:R,preventScrolling:D,defaultMarkerColor:L,zoomOnScroll:j,zoomOnPinch:U,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,zoomOnDoubleClick:Y,panOnDrag:B,onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:te,onPaneContextMenu:xe,onEdgeUpdate:ve,onEdgeContextMenu:ce,onEdgeMouseEnter:Ne,onEdgeMouseMove:se,onEdgeMouseLeave:gt,edgeUpdaterRadius:vn,onEdgeUpdateStart:It,onEdgeUpdateEnd:ut,noDragClassName:tt,noWheelClassName:Gt,noPanClassName:sr,elevateEdgesOnSelect:ni,disableKeyboardA11y:Lr,nodeOrigin:Rn,nodeExtent:bn,rfId:Un})=>(Tie(o),K.jsx(lie,{onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:xe,onPaneScroll:te,deleteKeyCode:A,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,elementsSelectable:M,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:j,zoomOnPinch:U,zoomOnDoubleClick:Y,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,panOnDrag:B,defaultViewport:O,translateExtent:I,minZoom:N,maxZoom:R,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:tt,noWheelClassName:Gt,noPanClassName:sr,disableKeyboardA11y:Lr,children:K.jsxs(Cie,{children:[K.jsx(wie,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:ve,onlyRenderVisibleElements:$,onEdgeContextMenu:ce,onEdgeMouseEnter:Ne,onEdgeMouseMove:se,onEdgeMouseLeave:gt,onEdgeUpdateStart:It,onEdgeUpdateEnd:ut,edgeUpdaterRadius:vn,defaultMarkerColor:L,noPanClassName:sr,elevateEdgesOnSelect:!!ni,disableKeyboardA11y:Lr,rfId:Un,children:K.jsx(Aie,{style:y,type:v,component:g,containerStyle:b})}),K.jsx("div",{className:"react-flow__edgelabel-renderer"}),K.jsx(die,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:C,onlyRenderVisibleElements:$,noPanClassName:sr,noDragClassName:tt,disableKeyboardA11y:Lr,nodeOrigin:Rn,nodeExtent:bn,rfId:Un})]})}));JI.displayName="GraphView";var kie=k.memo(JI);const o2=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],rs={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:o2,nodeExtent:o2,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:nl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:rre,isValidConnection:void 0},Oie=()=>gJ((e,t)=>({...rs,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:kb(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?kb(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),c=l==null?void 0:l.querySelector(".react-flow__viewport");if(!c)return;const d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((m,S)=>{const v=i.get(S.id);if(v){const y=Zx(S.nodeElement);!!(y.width&&y.height&&(v.width!==y.width||v.height!==y.height||S.forceUpdate))&&(i.set(v.id,{...v,[on]:{...v[on],handleBounds:{source:nE(".source",S.nodeElement,f,u),target:nE(".target",S.nodeElement,f,u)}},...y}),m.push({id:v.id,type:"dimensions",dimensions:y}))}return m},[]);zI(i,u);const p=s||o&&!s&&UI(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),(h==null?void 0:h.length)>0&&(r==null||r(h))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=qI(n,a()),c=kb(u,i,s,l);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=du(o(),n),a=du(i,[])),kp({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=du(i,n),a=du(o(),[])),kp({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(c=>(c.selected=!1,ds(c.id,!1))),u=a.map(c=>ds(c.id,!1));kp({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>ds(a.id,!1)),s=n.filter(a=>a.selected).map(a=>ds(a.id,!1));kp({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=Jx(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=Is.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[i,o]],d=s==null?void 0:s.constrain()(u,c,l);return s.transform(a,d),r[0]!==d.x||r[1]!==d.y||r[2]!==d.k},cancelConnection:()=>e({connectionNodeId:rs.connectionNodeId,connectionHandleId:rs.connectionHandleId,connectionHandleType:rs.connectionHandleType,connectionStatus:rs.connectionStatus,connectionStartHandle:rs.connectionStartHandle,connectionEndHandle:rs.connectionEndHandle}),reset:()=>e({...rs})})),eM=({children:e})=>{const t=k.useRef(null);return t.current||(t.current=Oie()),K.jsx(Yne,{value:t.current,children:e})};eM.displayName="ReactFlowProvider";const tM=({children:e})=>k.useContext(R0)?K.jsx(K.Fragment,{children:e}):K.jsx(eM,{children:e});tM.displayName="ReactFlowWrapper";function lE(e,t){return k.useRef(null),k.useMemo(()=>t(e),[e])}const Rie={input:RI,default:r2,output:MI,group:oC},Iie={default:$m,straight:nC,step:tC,smoothstep:I0,simplebezier:eC},Mie=[0,0],Nie=[15,15],Die={x:0,y:0,zoom:1},Lie={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},$ie=k.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Rie,edgeTypes:s=Iie,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onNodesDelete:E,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:M,onSelectionDrag:C,onSelectionDragStop:O,onSelectionContextMenu:I,onSelectionStart:N,onSelectionEnd:R,connectionMode:D=nl.Strict,connectionLineType:L=ys.Bezier,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,deleteKeyCode:W="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:Y=!1,selectionMode:B=Mf.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:Q="Meta",zoomActivationKeyCode:J="Meta",snapToGrid:ne=!1,snapGrid:te=Nie,onlyRenderVisibleElements:xe=!1,selectNodesOnDrag:ve=!0,nodesDraggable:ce,nodesConnectable:Ne,nodesFocusable:se,nodeOrigin:gt=Mie,edgesFocusable:vn,edgesUpdatable:It,elementsSelectable:ut,defaultViewport:tt=Die,minZoom:Gt=.5,maxZoom:sr=2,translateExtent:ni=o2,preventScrolling:Lr=!0,nodeExtent:Rn,defaultMarkerColor:bn="#b1b1b7",zoomOnScroll:Un=!0,zoomOnPinch:Ht=!0,panOnScroll:xt=!1,panOnScrollSpeed:wr=.5,panOnScrollMode:$r=Iu.Free,zoomOnDoubleClick:ri=!0,panOnDrag:uo=!0,onPaneClick:Sn,onPaneMouseEnter:ii,onPaneMouseMove:ca,onPaneMouseLeave:ki,onPaneScroll:da,onPaneContextMenu:Ct,children:nt,onEdgeUpdate:_n,onEdgeContextMenu:ln,onEdgeDoubleClick:In,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Oi,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:wn,edgeUpdaterRadius:co=10,onNodesChange:Zo,onEdgesChange:Jo,noDragClassName:Al="nodrag",noWheelClassName:fo="nowheel",noPanClassName:qn="nopan",fitView:fa=!1,fitViewOptions:h1,connectOnClick:p1=!0,attributionPosition:g1,proOptions:m1,defaultEdgeOptions:es,elevateNodesOnSelect:y1=!0,elevateEdgesOnSelect:v1=!1,disableKeyboardA11y:Hh=!1,autoPanOnConnect:b1=!0,autoPanOnNodeDrag:S1=!0,connectionRadius:_1=20,isValidConnection:Ac,onError:w1,style:kl,id:Ol,...x1},Rl)=>{const qh=lE(o,Vre),C1=lE(s,Dre),kc=Ol||"1";return K.jsx("div",{...x1,style:{...kl,...Lie},ref:Rl,className:ti(["react-flow",i]),"data-testid":"rf__wrapper",id:Ol,children:K.jsxs(tM,{children:[K.jsx(kie,{onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,nodeTypes:qh,edgeTypes:C1,connectionLineType:L,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,selectionKeyCode:X,selectionOnDrag:Y,selectionMode:B,deleteKeyCode:W,multiSelectionKeyCode:Q,panActivationKeyCode:H,zoomActivationKeyCode:J,onlyRenderVisibleElements:xe,selectNodesOnDrag:ve,defaultViewport:tt,translateExtent:ni,minZoom:Gt,maxZoom:sr,preventScrolling:Lr,zoomOnScroll:Un,zoomOnPinch:Ht,zoomOnDoubleClick:ri,panOnScroll:xt,panOnScrollSpeed:wr,panOnScrollMode:$r,panOnDrag:uo,onPaneClick:Sn,onPaneMouseEnter:ii,onPaneMouseMove:ca,onPaneMouseLeave:ki,onPaneScroll:da,onPaneContextMenu:Ct,onSelectionContextMenu:I,onSelectionStart:N,onSelectionEnd:R,onEdgeUpdate:_n,onEdgeContextMenu:ln,onEdgeDoubleClick:In,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Oi,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:wn,edgeUpdaterRadius:co,defaultMarkerColor:bn,noDragClassName:Al,noWheelClassName:fo,noPanClassName:qn,elevateEdgesOnSelect:v1,rfId:kc,disableKeyboardA11y:Hh,nodeOrigin:gt,nodeExtent:Rn}),K.jsx(Ere,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:v,nodesDraggable:ce,nodesConnectable:Ne,nodesFocusable:se,edgesFocusable:vn,edgesUpdatable:It,elementsSelectable:ut,elevateNodesOnSelect:y1,minZoom:Gt,maxZoom:sr,nodeExtent:Rn,onNodesChange:Zo,onEdgesChange:Jo,snapToGrid:ne,snapGrid:te,connectionMode:D,translateExtent:ni,connectOnClick:p1,defaultEdgeOptions:es,fitView:fa,fitViewOptions:h1,onNodesDelete:E,onEdgesDelete:A,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onSelectionDrag:C,onSelectionDragStart:M,onSelectionDragStop:O,noPanClassName:qn,nodeOrigin:gt,rfId:kc,autoPanOnConnect:b1,autoPanOnNodeDrag:S1,onError:w1,connectionRadius:_1,isValidConnection:Ac}),K.jsx(Cre,{onSelectionChange:$}),nt,K.jsx(Jne,{proOptions:m1,position:g1}),K.jsx(Rre,{rfId:kc,disableKeyboardA11y:Hh})]})})});$ie.displayName="ReactFlow";var nM={},M0={},N0={};Object.defineProperty(N0,"__esModule",{value:!0});N0.createLogMethods=void 0;var Fie=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};N0.createLogMethods=Fie;var aC={},D0={};Object.defineProperty(D0,"__esModule",{value:!0});D0.boolean=void 0;const Bie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};D0.boolean=Bie;var L0={};Object.defineProperty(L0,"__esModule",{value:!0});L0.isBooleanable=void 0;const jie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};L0.isBooleanable=jie;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=D0;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=L0;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(aC);var uE=Object.prototype.toString,rM=function(t){var n=uE.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&uE.call(t.callee)==="[object Function]"),r},Ib,cE;function Vie(){if(cE)return Ib;cE=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=rM,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(f){var h=f.constructor;return h&&h.prototype===f},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},c=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!u["$"+f]&&t.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{l(window[f])}catch{return!0}}catch{return!0}return!1}(),d=function(f){if(typeof window>"u"||!c)return l(f);try{return l(f)}catch{return!1}};e=function(h){var p=h!==null&&typeof h=="object",m=n.call(h)==="[object Function]",S=r(h),v=p&&n.call(h)==="[object String]",y=[];if(!p&&!m&&!S)throw new TypeError("Object.keys called on a non-object");var g=s&&m;if(v&&h.length>0&&!t.call(h,0))for(var b=0;b0)for(var _=0;_"u"||!cn?Oe:cn(Uint8Array),Ua={"%AggregateError%":typeof AggregateError>"u"?Oe:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Oe:ArrayBuffer,"%ArrayIteratorPrototype%":Bl&&cn?cn([][Symbol.iterator]()):Oe,"%AsyncFromSyncIteratorPrototype%":Oe,"%AsyncFunction%":Yl,"%AsyncGenerator%":Yl,"%AsyncGeneratorFunction%":Yl,"%AsyncIteratorPrototype%":Yl,"%Atomics%":typeof Atomics>"u"?Oe:Atomics,"%BigInt%":typeof BigInt>"u"?Oe:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Oe:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Oe:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Oe:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Oe:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Oe:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Oe:FinalizationRegistry,"%Function%":oM,"%GeneratorFunction%":Yl,"%Int8Array%":typeof Int8Array>"u"?Oe:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Oe:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Oe:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Bl&&cn?cn(cn([][Symbol.iterator]())):Oe,"%JSON%":typeof JSON=="object"?JSON:Oe,"%Map%":typeof Map>"u"?Oe:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Bl||!cn?Oe:cn(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Oe:Promise,"%Proxy%":typeof Proxy>"u"?Oe:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Oe:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Oe:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Bl||!cn?Oe:cn(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Oe:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Bl&&cn?cn(""[Symbol.iterator]()):Oe,"%Symbol%":Bl?Symbol:Oe,"%SyntaxError%":ic,"%ThrowTypeError%":roe,"%TypedArray%":ooe,"%TypeError%":Du,"%Uint8Array%":typeof Uint8Array>"u"?Oe:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Oe:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Oe:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Oe:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Oe:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Oe:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Oe:WeakSet};if(cn)try{null.error}catch(e){var soe=cn(cn(e));Ua["%Error.prototype%"]=soe}var aoe=function e(t){var n;if(t==="%AsyncFunction%")n=Nb("async function () {}");else if(t==="%GeneratorFunction%")n=Nb("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Nb("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&cn&&(n=cn(i.prototype))}return Ua[t]=n,n},gE={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},_h=iM,Bm=noe,loe=_h.call(Function.call,Array.prototype.concat),uoe=_h.call(Function.apply,Array.prototype.splice),mE=_h.call(Function.call,String.prototype.replace),jm=_h.call(Function.call,String.prototype.slice),coe=_h.call(Function.call,RegExp.prototype.exec),doe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,foe=/\\(\\)?/g,hoe=function(t){var n=jm(t,0,1),r=jm(t,-1);if(n==="%"&&r!=="%")throw new ic("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new ic("invalid intrinsic syntax, expected opening `%`");var i=[];return mE(t,doe,function(o,s,a,l){i[i.length]=a?mE(l,foe,"$1"):s||o}),i},poe=function(t,n){var r=t,i;if(Bm(gE,r)&&(i=gE[r],r="%"+i[0]+"%"),Bm(Ua,r)){var o=Ua[r];if(o===Yl&&(o=aoe(r)),typeof o>"u"&&!n)throw new Du("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new ic("intrinsic "+t+" does not exist!")},goe=function(t,n){if(typeof t!="string"||t.length===0)throw new Du("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Du('"allowMissing" argument must be a boolean');if(coe(/^%?[^%]*%?$/,t)===null)throw new ic("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=hoe(t),i=r.length>0?r[0]:"",o=poe("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],uoe(r,loe([0,1],u)));for(var c=1,d=!0;c=r.length){var m=za(a,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?a=m.get:a=a[f]}else d=Bm(a,f),a=a[f];d&&!l&&(Ua[s]=a)}}return a},moe=goe,s2=moe("%Object.defineProperty%",!0),a2=function(){if(s2)try{return s2({},"a",{value:1}),!0}catch{return!1}return!1};a2.hasArrayLengthDefineBug=function(){if(!a2())return null;try{return s2([],"length",{value:1}).length!==1}catch{return!0}};var yoe=a2,voe=Gie,boe=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",Soe=Object.prototype.toString,_oe=Array.prototype.concat,sM=Object.defineProperty,woe=function(e){return typeof e=="function"&&Soe.call(e)==="[object Function]"},xoe=yoe(),aM=sM&&xoe,Coe=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!woe(r)||!r())return}aM?sM(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},lM=function(e,t){var n=arguments.length>2?arguments[2]:{},r=voe(t);boe&&(r=_oe.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};j0.testComparisonRange=Hoe;var V0={};Object.defineProperty(V0,"__esModule",{value:!0});V0.testRange=void 0;var qoe=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};V0.testRange=qoe;(function(e){var t=Ee&&Ee.__assign||function(){return t=Object.assign||function(c){for(var d,f=1,h=arguments.length;f0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,Xoe.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};z0.highlight=Qoe;var U0={},gM={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(Ee,function(){function t(u,c,d){return this.id=++t.highestId,this.name=u,this.symbols=c,this.postprocess=d,this}t.highestId=0,t.prototype.toString=function(u){var c=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+c};function n(u,c,d,f){this.rule=u,this.dot=c,this.reference=d,this.data=[],this.wantedBy=f,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var c=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return c.left=this,c.right=u,c.isComplete&&(c.data=c.build(),c.right=void 0),c},n.prototype.build=function(){var u=[],c=this;do u.push(c.right.data),c=c.left;while(c.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,c){this.grammar=u,this.index=c,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var c=this.states,d=this.wants,f=this.completed,h=0;h0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,v,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,v)}}};M0.createLogWriter=Gse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=M0;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(nM);Th.ROARR.write=nM.createLogWriter();const AM={};Th.Roarr.child(AM);const Z0=T0(Th.Roarr.child(AM)),fe=e=>Z0.get().child({namespace:e}),F3e=["trace","debug","info","warn","error","fatal"],B3e={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Hse(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Df=Vs("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=fe("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Hse()))}catch(i){return n({error:i})}}),kM={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},OM=Pt({name:"nodes",initialState:kM,reducers:{nodesChanged:(e,t)=>{e.nodes=qI(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=nie(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=bI(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Ln(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=nY(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Df.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:j3e,edgesChanged:V3e,nodeAdded:z3e,fieldValueChanged:u2,connectionMade:U3e,connectionStarted:G3e,connectionEnded:H3e,shouldShowGraphOverlayChanged:q3e,shouldShowFieldTypeLegendChanged:W3e,shouldShowMinimapPanelChanged:K3e,nodeTemplatesBuilt:dC,nodeEditorReset:RM,imageCollectionFieldValueChanged:X3e,setEditorInstance:Y3e,loadFileNodes:Q3e,loadFileEdges:Z3e,setProgressNodeSize:J3e}=OM.actions,qse=OM.reducer,IM={esrganModelName:"RealESRGAN_x4plus.pth"},MM=Pt({name:"postprocessing",initialState:IM,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:e5e}=MM.actions,Wse=MM.reducer,Kse={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},NM=Pt({name:"sdxl",initialState:Kse,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:t5e,setNegativeStylePromptSDXL:n5e,setShouldConcatSDXLStylePrompt:r5e,setShouldUseSDXLRefiner:Xse,setSDXLImg2ImgDenoisingStrength:i5e,refinerModelChanged:wE,setRefinerSteps:o5e,setRefinerCFGScale:s5e,setRefinerScheduler:a5e,setRefinerAestheticScore:l5e,setRefinerStart:u5e}=NM.actions,Yse=NM.reducer,Ph=ue("app/userInvoked"),Qse={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class zm{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Qse,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xc(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function xE(e){return e==null?"":""+e}function Zse(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function fC(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function CE(e,t,n){const{obj:r,k:i}=fC(e,t,Object);r[i]=n}function Jse(e,t,n,r){const{obj:i,k:o}=fC(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function Um(e,t){const{obj:n,k:r}=fC(e,t);if(n)return n[r]}function eae(e,t,n){const r=Um(e,n);return r!==void 0?r:Um(t,n)}function DM(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):DM(e[r],t[r],n):e[r]=t[r]);return e}function jl(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var tae={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function nae(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>tae[t]):e}const rae=[" ",",","?","!",";"];function iae(e,t,n){t=t||"",n=n||"";const r=rae.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function Gm(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?Gm(l,u,n):void 0}i=i[r[o]]}return i}function Hm(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class TE extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=Um(this.data,a);return l||!s||typeof r!="string"?l:Gm(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),CE(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=Um(this.data,a)||{};i?DM(l,r,o):l={...l,...r},CE(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var LM={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const EE={};class qm extends J0{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Zse(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=qi.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!iae(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],v=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof v=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const T=`${w}${o}${x}`;_[x]=this.translate(T,{...n,joinArrays:!1,ns:a}),_[x]===T&&(_[x]=f[x])}f=_}}else if(y&&typeof v=="string"&&m==="[object Array]")f=f.join(v),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=qm.hasDefaultValue(n),T=w?this.pluralResolver.getSuffix(u,n.count,n):"",P=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",E=n[`defaultValue${T}`]||n[`defaultValue${P}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=E),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,M=x&&E!==f&&this.options.updateMissing;if(_||b||M){if(this.logger.log(M?"updateKey":"missingKey",u,l,s,M?E:f),o){const N=this.resolve(s,{...n,keySeparator:!1});N&&N.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let C=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let N=0;N{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,R,L,M,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,R,L,M,n),this.emit("missingKey",N,l,R,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?C.forEach(N=>{this.pluralResolver.getSuffixes(N,n).forEach(R=>{I([N],s+R,n[`defaultValue${R}`]||E)})}):I(C,s,E))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!EE[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(EE[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(v=>{if(this.isValidLookup(r))return;s=v;const y=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,v,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(v,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(c+b),n.ordinal&&b.indexOf(w)===0&&y.push(c+b.replace(w,this.options.pluralSeparator)),h&&y.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;y.push(x),f&&(y.push(x+b),n.ordinal&&b.indexOf(w)===0&&y.push(x+b.replace(w,this.options.pluralSeparator)),h&&y.push(x+_))}}let g;for(;g=y.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(v,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function $b(e){return e.charAt(0).toUpperCase()+e.slice(1)}class PE{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=qi.create("languageUtils")}getScriptPartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=Hm(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=$b(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=$b(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let oae=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],sae={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const aae=["v1","v2","v3"],lae=["v4"],AE={zero:0,one:1,two:2,few:3,many:4,other:5};function uae(){const e={};return oae.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:sae[t.fc]}})}),e}class cae{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=qi.create("pluralResolver"),(!this.options.compatibilityJSON||lae.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=uae()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(Hm(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>AE[i]-AE[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!aae.includes(this.options.compatibilityJSON)}}function kE(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=eae(e,t,n);return!o&&i&&typeof n=="string"&&(o=Gm(e,n,r),o===void 0&&(o=Gm(t,n,r))),o}class dae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:nae,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?jl(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?jl(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?jl(n.nestingPrefix):n.nestingPrefixEscaped||jl("$t("),this.nestingSuffix=n.nestingSuffix?jl(n.nestingSuffix):n.nestingSuffixEscaped||jl(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const y=kE(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...i,...n,interpolationkey:p}):y}const m=p.split(this.formatSeparator),S=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(kE(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const v=d(t,o,i);s=typeof v=="string"?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=xE(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=xE(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function fae(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function Vl(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(Hm(i),o),t[s]=a),a(r)}}class hae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("formatter"),this.options=t,this.formats={number:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:Vl((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:Vl((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:Vl((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=Vl(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=fae(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function pae(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class gae extends J0{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=qi.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Jse(l.loaded,[o],s),pae(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function OE(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function RE(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Op(){}function mae(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Lf extends J0{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=RE(t),this.services={},this.logger=qi,this.modules={external:[]},mae(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=OE();this.options={...i,...this.options,...RE(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?qi.init(o(this.modules.logger),this.options):qi.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=hae);const d=new PE(this.options);this.store=new TE(this.options.resources,this.options);const f=this.services;f.logger=qi,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new cae(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new dae(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new gae(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Op),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Xc(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xc();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Op),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&LM.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xc();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xc();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xc();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new PE(OE());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Lf(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Op;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Lf(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new TE(this.store.data,i),o.services.resourceStore=o.store),o.translator=new qm(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},$M={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},FM=Pt({name:"system",initialState:$M,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(s7,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(l7,t=>{t.sessionId=null}),e.addCase(r7,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(o7,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(c7,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(m7,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(d7,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(p7,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Ph,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(hl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.canceled"),status:"warning"}))}),e.addCase(dC,t=>{t.wasSchemaParsed=!0}),e.addMatcher(IR,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(_ae,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ga({title:kd("toast.serverError"),status:"error",description:YX(n.payload.data.error_type)}))})}}),{setIsProcessing:c5e,setShouldConfirmOnDelete:d5e,setCurrentStatus:f5e,setIsCancelable:h5e,setEnableImageDebugging:p5e,addToast:Ft,clearToastQueue:g5e,cancelScheduled:m5e,scheduledCancelAborted:y5e,cancelTypeChanged:v5e,subscribedNodeIdsSet:b5e,consoleLogLevelChanged:S5e,shouldLogToConsoleChanged:_5e,isPersistedChanged:w5e,shouldAntialiasProgressImageChanged:x5e,languageChanged:C5e,progressImageSet:yae,setIsNodesEnabled:T5e,shouldUseNSFWCheckerChanged:vae,shouldUseWatermarkerChanged:bae}=FM.actions,Sae=FM.reducer,_ae=ei(Ux,S7,w7),wae={searchFolder:null,advancedAddScanModel:null},BM=Pt({name:"modelmanager",initialState:wae,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:E5e,setAdvancedAddScanModel:P5e}=BM.actions,xae=BM.reducer,jM={shift:!1},VM=Pt({name:"hotkeys",initialState:jM,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:A5e}=VM.actions,Cae=VM.reducer,Tae=nF(DV);zM=c2=void 0;var Eae=Tae,Pae=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(c){return function(d){return Eae.compose.apply(void 0,n)(c)(d)}}},o=function(){for(var u,c,d=arguments.length,f=Array(d),h=0;h=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function GM(e,t){if(e){if(typeof e=="string")return ME(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ME(e,t)}}function ME(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?Vae:zae;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function $E(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function FE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){$E(o,r,i,s,a,"next",l)}function a(l){$E(o,r,i,s,a,"throw",l)}s(void 0)})}}var Gae=function(){var e=FE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield Lae(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=FE(function*(){var p=UM(t.getState(),n);yield Uae(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),pC(p,d)||t.dispatch({type:Rae,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(Mae(f,u)):t.subscribe(Iae(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const Hae=Gae;function $f(e){"@babel/helpers - typeof";return $f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$f(e)}function BE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jb(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=jb({},r));var o=typeof t=="function"?t:pc(t);switch(i.type){case d2:return n.state=o(jb(jb({},n.state),i.payload||{}),{type:d2}),n.state;default:return o(r,i)}}},Yae=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return Hae(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const k5e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],Qae="@@invokeai-",Zae=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],Jae=["pendingControlImages"],ele=["selection","selectedBoardId","galleryView"],tle=["schema","invocationTemplates"],nle=[],rle=[],ile=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],ole=["shouldShowImageDetails"],sle={canvas:Zae,gallery:ele,generation:nle,nodes:tle,postprocessing:rle,system:ile,ui:ole,controlNet:Jae},ale=(e,t)=>{const n=_0(e,sle[t]);return JSON.stringify(n)},lle={canvas:NR,gallery:k7,generation:Wo,nodes:kM,postprocessing:IM,system:$M,config:gR,ui:kR,hotkeys:jM,controlNet:z_},ule=(e,t)=>gX(JSON.parse(e),lle[t]),qM=ue("nodes/textToImageGraphBuilt"),WM=ue("nodes/imageToImageGraphBuilt"),KM=ue("nodes/canvasGraphBuilt"),XM=ue("nodes/nodesGraphBuilt"),cle=ei(qM,WM,KM,XM),dle=e=>{if(cle(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Df.fulfilled.match(e)?{...e,payload:""}:dC.match(e)?{...e,payload:""}:e},fle=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],hle=e=>e,ple=()=>{le({actionCreator:FQ,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(hl({session_id:o}))}}})};ue("app/appStarted");const gle=()=>{le({matcher:he.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==di({board_id:"none",categories:gi}))return;r(),n();const i=e.payload;i.ids.length>0&&t(Rs(i.ids[0]))}})},gC=Hs.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:O5e,useGetAppConfigQuery:R5e}=gC,mle=()=>{le({matcher:gC.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r,nsfw_methods:i,watermarking_methods:o}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(yQ(r[0])),i.includes("nsfw_checker")||n(vae(!1)),o.includes("invisible_watermark")||n(bae(!1))}})},yle=ue("app/appStarted"),vle=()=>{le({actionCreator:yle,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},mC={memoizeOptions:{resultEqualityCheck:S0}},YM=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Ea(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Ea(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},ble=Jn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return YM(e,n)},mC),Sle=()=>{le({matcher:ec.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const c=YM(l,u);c.isInitialImage&&!i&&(t(ER()),i=!0),c.isCanvasImage&&!o&&(t(LR()),o=!0),c.isNodesImage&&!s&&(t(RM()),s=!0),c.isControlNetImage&&!a&&(t(T7()),a=!0)})}})},_le=()=>{le({matcher:ei(U_,Am),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=U_.match(e)?e.payload:o.gallery.selectedBoardId,l=(Am.match(e)?e.payload:o.gallery.galleryView)==="images"?gi:_s,u={board_id:s??"none",categories:l};if(await r(()=>he.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=he.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(Rs(d.ids[0]??null)):n(Rs(null))}else n(Rs(null))}})},wle=ue("canvas/canvasSavedToGallery"),xle=ue("canvas/canvasCopiedToClipboard"),Cle=ue("canvas/canvasDownloadedAsImage"),Tle=ue("canvas/canvasMerged"),Ele=ue("canvas/stagingAreaImageSaved");let QM=null,ZM=null;const I5e=e=>{QM=e},tv=()=>QM,M5e=e=>{ZM=e},Ple=()=>ZM,Ale=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Km=async(e,t)=>await Ale(e.toCanvas(t)),yC=async e=>{const t=tv();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Km(o,a)},kle=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},Ole=()=>{le({actionCreator:xle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}kle(o),t(Ft({title:"Canvas Copied to Clipboard",status:"success"}))}})},Rle=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},Ile=()=>{le({actionCreator:Cle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}Rle(o,"canvas.png"),t(Ft({title:"Canvas Downloaded",status:"success"}))}})},Mle=async()=>{const e=tv();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Km(t,t.getClientRect())},Nle=()=>{le({actionCreator:Tle,effect:async(e,{dispatch:t})=>{const n=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await Mle();if(!r){n.error("Problem getting base layer blob"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=tv();if(!i){n.error("Problem getting canvas base layer"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(he.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(BQ({kind:"image",layer:"base",imageName:a,...o}))}})},Dle=()=>{le({actionCreator:wle,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(he.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Lle=(e,t,n)=>{if(!(tJ.match(e)||bT.match(e)||Hx.match(e)||nJ.match(e)||ST.match(e))||ST.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(bT.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},$le=()=>{le({predicate:Lle,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=fe("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(Gx({controlNetId:o}))}})},pl=ue("system/sessionReadyToInvoke"),JM=e=>(e==null?void 0:e.type)==="image_output",Fle=()=>{le({actionCreator:Gx,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=fe("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!s.controlImage){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(On({graph:a})),[u]=await r(f=>On.fulfilled.match(f)&&f.meta.requestId===l.requestId),c=u.payload.id;t(pl());const[d]=await r(f=>zx.match(f)&&f.payload.data.graph_execution_state_id===c);if(JM(d.payload.data.result)){const{image_name:f}=d.payload.data.result.image,[{payload:h}]=await r(m=>he.endpoints.getImageDTO.matchFulfilled(m)&&m.payload.image_name===f),p=h;i.debug({controlNetId:e.payload,processedControlImage:p},"ControlNet image processed"),t(eJ({controlNetId:o,processedControlImage:p.image_name}))}}})},Ble=()=>{le({matcher:he.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},jle=()=>{le({matcher:he.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},N5e=e=>e.gallery,D5e=Jn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],mC),Vle=Jn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?gi:_s,offset:0,limit:GQ,is_intermediate:!1}},mC),eN=ue("imageDeletion/imageDeletionConfirmed"),zle=()=>{le({actionCreator:eN,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(I7(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=Vle(a),{data:f}=he.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Ss(p,0,m.length-1),v=m[S];t(Rs(v||null))}o.isCanvasImage&&t(LR()),o.isControlNetImage&&t(T7()),o.isInitialImage&&t(ER()),o.isNodesImage&&t(RM());const{requestId:u}=t(he.endpoints.deleteImage.initiate(i));await r(d=>he.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(Hs.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},Ule=()=>{le({matcher:he.endpoints.deleteImage.matchPending,effect:()=>{}})},Gle=()=>{le({matcher:he.endpoints.deleteImage.matchFulfilled,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},Hle=()=>{le({matcher:he.endpoints.deleteImage.matchRejected,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},tN=ue("dnd/dndDropped"),qle=()=>{le({actionCreator:tN,effect:async(e,{dispatch:t})=>{const n=fe("images"),{activeData:r,overData:i}=e.payload;if(n.debug({activeData:r,overData:i},"Image or selection dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO.image_name));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(C0(r.payload.imageDTO));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(G_([r.payload.imageDTO.image_name]));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_NAMES"){t(G_(r.payload.image_names));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(Hx({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t($R(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="SET_MULTI_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:[r.payload.imageDTO]}));return}if(i.actionType==="MOVE_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;if(!s){t(he.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}t(he.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}}})},Wle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},Kle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},Xle=()=>{le({actionCreator:dJ,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=ble(n());if(!s)return;const a=s.isCanvasImage||s.isInitialImage||s.isControlNetImage||s.isNodesImage;if(o||a){t(I7(!0));return}t(eN({imageDTO:r,imageUsage:s}))}})},ga={title:"Image Uploaded",status:"success"},Yle=()=>{le({matcher:he.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=fe("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Ft({...ga,...l}));else{t(he.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=ec.endpoints.listAllBoards.select()(o),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Ft({...ga,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t($R(i)),t(Ft({...ga,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(Hx({controlNetId:l,controlImage:i.image_name})),t(Ft({...ga,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(C0(i)),t(Ft({...ga,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(u2({nodeId:l,fieldName:u,value:i})),t(Ft({...ga,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(G_([i.image_name])),t(Ft({...ga,description:"Added to batch"}));return}}}})},Qle=()=>{le({matcher:he.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=fe("images"),r={arg:{..._0(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Ft({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},Zle=ue("generation/initialImageSelected"),Jle=ue("generation/modelSelected"),eue=()=>{le({actionCreator:Zle,effect:(e,{dispatch:t})=>{if(!e.payload){t(Ft(Ga({title:kd("toast.imageNotLoadedDesc"),status:"error"})));return}t(C0(e.payload)),t(Ft(Ga(kd("toast.sentToImageToImage"))))}})},tue=()=>{le({actionCreator:Jle,effect:(e,{getState:t,dispatch:n})=>{var l;const r=fe("models"),i=t(),o=xf.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Qa(i.lora.loras,(f,h)=>{f.base_model!==a&&(n(N7(h)),u+=1)});const{vae:c}=i.generation;c&&c.base_model!==a&&(n(PR(null)),u+=1);const{controlNets:d}=i.controlNet;Qa(d,(f,h)=>{var p;((p=f.model)==null?void 0:p.base_model)!==a&&(n(C7({controlNetId:h})),u+=1)}),u>0&&n(Ft(Ga({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(ja(s))}})},jE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),VE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),zE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),UE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),GE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),nue=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Yc=e=>{const t=[];return e.forEach(n=>{const r={...Ln(n),id:nue(n)};t.push(r)}),t},xo=Hs.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${F_.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return jE.setAll(jE.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return VE.setAll(VE.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return zE.setAll(zE.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return GE.setAll(GE.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return UE.setAll(UE.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${F_.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Be}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:L5e,useGetControlNetModelsQuery:$5e,useGetLoRAModelsQuery:F5e,useGetTextualInversionModelsQuery:B5e,useGetVaeModelsQuery:j5e,useUpdateMainModelsMutation:V5e,useDeleteMainModelsMutation:z5e,useImportMainModelsMutation:U5e,useAddMainModelsMutation:G5e,useConvertMainModelsMutation:H5e,useMergeMainModelsMutation:q5e,useSyncModelsMutation:W5e,useGetModelsInFolderQuery:K5e,useGetCheckpointConfigsQuery:X5e}=xo,rue=()=>{le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(ja(l.data))}}),le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(wE(null)),n(Xse(!1));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(wE(l.data))}}),le({matcher:xo.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=pQ.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse VAE model");return}n(PR(l.data))}}),le({matcher:xo.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(N7(s))})}}),le({matcher:xo.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>{var u,c;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((c=o==null?void 0:o.model)==null?void 0:c.base_model)})||n(C7({controlNetId:s}))})}}),le({matcher:xo.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{fe("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},ra=e=>JSON.parse(JSON.stringify(e)),h2=e=>!("$ref"in e),iue=e=>!("$ref"in e),Y5e=500,oue={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},sue=500,Dt=e=>`var(--invokeai-colors-${e}-${sue})`,Q5e={integer:{color:"red",colorCssVar:Dt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Dt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Dt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Dt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Dt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Dt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Dt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Dt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Dt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Dt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Dt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Dt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Dt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Dt("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Dt("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Dt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Dt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Dt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Dt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Dt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Dt("gray"),title:"Color",description:"A RGBA color."}},Z5e=250,Vb=e=>e.$ref.split("/").slice(-1)[0],aue=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},lue=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},uue=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},cue=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),due=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fue=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),hue=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),pue=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),gue=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),mue=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),yue=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),vue=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bue=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Sue=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_ue=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),wue=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),xue=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Cue=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},HE=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),qE=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Tue=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),nN=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Vb(e.allOf[0]):e.anyOf?r=Vb(e.anyOf[0]):e.oneOf&&(r=Vb(e.oneOf[0]));const i=oue[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Eue=(e,t,n)=>{const r=nN(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return mue({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return yue({schemaObject:e,baseField:i});if(["latents"].includes(r))return vue({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return bue({schemaObject:e,baseField:i});if(["unet"].includes(r))return Sue({schemaObject:e,baseField:i});if(["clip"].includes(r))return _ue({schemaObject:e,baseField:i});if(["vae"].includes(r))return wue({schemaObject:e,baseField:i});if(["control"].includes(r))return xue({schemaObject:e,baseField:i});if(["model"].includes(r))return due({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return fue({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return hue({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return pue({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return gue({schemaObject:e,baseField:i});if(["enum"].includes(r))return Cue({schemaObject:e,baseField:i});if(["integer"].includes(r))return aue({schemaObject:e,baseField:i});if(["number","float"].includes(r))return lue({schemaObject:e,baseField:i});if(["string"].includes(r))return uue({schemaObject:e,baseField:i});if(["boolean"].includes(r))return cue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i});if(["color"].includes(r))return Tue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i})},Pue=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return h2(i)?Lx(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&h2(a)){const u=nN(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Aue=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],kue=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Oue=e=>{var r;return oR((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!kue.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,c;if(iue(o)){const d=o.properties.type.default,f=Aue(d),h=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),p=(a=o.ui)==null?void 0:a.type_hints,m={};if(d==="collect"){const g=o.properties.item;m.item={type:"item",name:"item",description:g.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(d==="iterate"){const g=o.properties.collection;m.collection={type:"array",name:"collection",title:g.title??"",default:[],description:g.description??"",inputRequirement:"always",inputKind:"connection"}}else Lx(o.properties,(g,b,_)=>{if(!f.includes(_)&&h2(b)){const w=Eue(b,_,p);w&&(g[_]=w)}return g},m);const S=o.output;let v;if(d==="iterate"){const g=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;v={item:{name:"item",title:(g==null?void 0:g.title)??"",description:(g==null?void 0:g.description)??"",type:"array"}}}else v=Pue(S,e,p);const y={title:h,type:d,tags:((c=o.ui)==null?void 0:c.tags)??[],description:o.description??"",inputs:m,outputs:v};Object.assign(i,{[d]:y})}return i},{})},Rue=()=>{le({actionCreator:Df.fulfilled,effect:(e,{dispatch:t})=>{const n=fe("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Oue(r);n.debug({nodeTemplates:ra(i)},`Built ${hR(i)} node templates`),t(dC(i))}}),le({actionCreator:Df.rejected,effect:()=>{fe("system").error("Problem dereferencing OpenAPI Schema")}})},Iue=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Mue=new Map(Iue),Nue=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],p2=Symbol(".toJSON was called"),Due=e=>{e[p2]=!0;const t=e.toJSON();return delete e[p2],t},Lue=e=>Mue.get(e)??Error,rN=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&WE(e)){const u=Lue(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[p2]!==!0)return Due(e);const l=u=>rN({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Nue)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:WE(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function vC(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?rN({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function WE(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const $ue=()=>{le({actionCreator:hl.pending,effect:()=>{}})},Fue=()=>{le({actionCreator:hl.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Bue=()=>{le({actionCreator:hl.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem canceling session")}}})},jue=()=>{le({actionCreator:On.pending,effect:()=>{}})},Vue=()=>{le({actionCreator:On.fulfilled,effect:e=>{const t=fe("session"),n=e.payload;t.debug({session:ra(n)},`Session created (${n.id})`)}})},zue=()=>{le({actionCreator:On.rejected,effect:e=>{const t=fe("session");if(e.payload){const{error:n,status:r}=e.payload,i=ra(e.meta.arg);t.error({graph:i,status:r,error:vC(n)},"Problem creating session")}}})},Uue=()=>{le({actionCreator:yh.pending,effect:()=>{}})},Gue=()=>{le({actionCreator:yh.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Hue=()=>{le({actionCreator:yh.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem invoking session")}}})},que=()=>{le({actionCreator:pl,effect:(e,{getState:t,dispatch:n})=>{const r=fe("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(yh({session_id:i})))}})},Wue=()=>{le({actionCreator:n7,effect:(e,{dispatch:t,getState:n})=>{fe("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Df()),t(r7(e.payload)),t(xo.util.invalidateTags([{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be},{type:"LoRAModel",id:Be},{type:"ControlNetModel",id:Be},{type:"VaeModel",id:Be},{type:"TextualInversionModel",id:Be},{type:"ScannedModels",id:Be}])),t(gC.util.invalidateTags(["AppConfig","AppVersion"]))}})},Kue=()=>{le({actionCreator:i7,effect:(e,{dispatch:t})=>{fe("socketio").debug("Disconnected"),t(o7(e.payload))}})},Xue=()=>{le({actionCreator:g7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(m7(e.payload))}})},Yue=()=>{le({actionCreator:h7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Session complete"),t(p7(e.payload))}})},Que=["dataURL_image"],Zue=()=>{le({actionCreator:zx,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("socketio"),{data:i}=e.payload;r.debug({data:ra(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(hl({session_id:o}));const{result:l,node:u,graph_execution_state_id:c}=i;if(JM(l)&&!Que.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(he.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t($Q(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?he.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):he.util.updateQueryData("listImages",{board_id:"none",categories:gi},y=>{const g=y.total,_=Kn.addOne(y,p).total-g;y.total=y.total+_})),t(he.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(U_(m)),t(Am("images"))):m||t(Am("images")),t(Rs(p.image_name)))}t(yae(null))}t(d7(e.payload))}})},Jue=()=>{le({actionCreator:f7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(Ux(e.payload))}})},ece=()=>{le({actionCreator:_7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(w7(e.payload))}})},tce=()=>{le({actionCreator:u7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(c7(e.payload))}})},nce=()=>{le({actionCreator:y7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(ZZ(e.payload))}}),le({actionCreator:v7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(JZ(e.payload))}})},rce=()=>{le({actionCreator:b7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(S7(e.payload))}})},ice=()=>{le({actionCreator:Vx,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Subscribed"),t(s7(e.payload))}})},oce=()=>{le({actionCreator:a7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Unsubscribed"),t(l7(e.payload))}})},sce=()=>{le({actionCreator:Ele,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(he.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(he.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Ft({title:"Image Saved",status:"success"}))}catch(i){t(Ft({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},J5e=["sd-1","sd-2","sdxl","sdxl-refiner"],ace=["sd-1","sd-2","sdxl"],e4e=["sdxl-refiner"],lce=()=>{le({actionCreator:RR,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=xo.endpoints.getMainModels.select(ace)(t());if(!i){n(ja(null));return}const o=[];Qa(i.entities,u=>{u&&["sd-1","sd-2"].includes(u.base_model)&&o.push(u)});const s=o[0];if(!s){n(ja(null));return}const{base_model:a,model_name:l}=s;n(ja({base_model:a,model_name:l}))}}})},Fe="positive_conditioning",qe="negative_conditioning",dn="text_to_latents",nt="latents_to_image",fu="nsfw_checker",Qc="invisible_watermark",Le="noise",Fi="rand_int",Co="range_of_size",lr="iterate",pt="main_model_loader",Zc="vae_loader",uce="lora_loader",rt="clip_skip",bt="image_to_latents",Kt="latents_to_latents",Qn="resize_image",Mi="inpaint",Rp="control_net_collect",zb="dynamic_prompt",lt="metadata_accumulator",KE="esrgan",en="sdxl_model_loader",is="t2l_sdxl",Ni="l2l_sdxl",zl="sdxl_refiner_model_loader",Ip="sdxl_refiner_positive_conditioning",Mp="sdxl_refiner_negative_conditioning",ma="l2l_sdxl_refiner",bC="text_to_image_graph",cce="sdxl_text_to_image_graph",dce="sxdl_image_to_image_graph",Xm="image_to_image_graph",iN="inpaint_graph",fce=({image_name:e,esrganModelName:t})=>{const n={id:KE,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[KE]:n},edges:[]}},hce=ue("upscale/upscaleRequested"),pce=()=>{le({actionCreator:hce,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=fce({image_name:i,esrganModelName:o});t(On({graph:s})),await r(On.fulfilled.match),t(pl())}})},gce=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},XE=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var SC={exports:{}},nv={},oN={},Pe={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof Ee<"u"?Ee:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Pe);var Rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Pe;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,T=this.m[1]*_+this.m[3]*w,P=this.m[0]*-w+this.m[2]*_,E=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=T,this.m[2]=P,this.m[3]=E,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,T=this.m[2]+this.m[0]*b,P=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=T,this.m[3]=P,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],T=this.m[1]*b.m[2]+this.m[3]*b.m[3],P=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],E=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,T=this.m[0]*b,P=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),E=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],T=this.m[4],P=this.m[5],E=b*x-_*w;let A={x:T,y:P,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=E/$,A.skewX=(b*w+_*x)/E,A.skewY=0}else if(w!=0||x!=0){var M=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/M):-Math.acos(w/M)),A.scaleX=E/M,A.scaleY=M,A.skewX=0,A.skewY=(b*w+_*x)/E}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,T=Number(_[2])/100;let P,E,A;if(x===0)return A=T*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};T<.5?P=T*(1+x):P=T+x-T*x;const $=2*T-P,M=[0,0,0];for(let C=0;C<3;C++)E=w+1/3*-(C-1),E<0&&E++,E>1&&E--,6*E<1?A=$+(P-$)*6*E:2*E<1?A=P:3*E<2?A=$+(P-$)*(2/3-E)*6:A=$,M[C]=A*255;return{r:Math.round(M[0]),g:Math.round(M[1]),b:Math.round(M[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(P=_,E=w,A=(_-x)*(_-x)+(w-T)*(w-T)):(P=g+M*(_-g),E=b+M*(w-b),A=(P-x)*(P-x)+(E-T)*(E-T))}return[P,E,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(T,P){if(!(!_&&P===b.length-1)){var E=b[(P+1)%b.length],A=e.Util._getProjectionToSegment(T.x,T.y,E.x,E.y,g.x,g.y),$=A[0],M=A[1],C=A[2];Cb.length){var P=b;b=g,g=P}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,T=0,P=0,E=0;typeof w=="number"?x=T=P=E=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),T=Math.min(w[1]||0,b/2,_/2),E=Math.min(w[2]||0,b/2,_/2),P=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-T,0),g.arc(b-T,T,T,Math.PI*3/2,0,!1),g.lineTo(b,_-E),g.arc(b-E,_-E,E,0,Math.PI/2,!1),g.lineTo(P,_),g.arc(P,_-P,P,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Rt);var wt={},Te={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.getComponentValidator=de.getBooleanValidator=de.getNumberArrayValidator=de.getFunctionValidator=de.getStringOrGradientValidator=de.getStringValidator=de.getNumberOrAutoValidator=de.getNumberOrArrayOfNumbersValidator=de.getNumberValidator=de.alphaComponent=de.RGBComponent=void 0;const Ko=Pe,Nt=Rt;function Xo(e){return Nt.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nt.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function mce(e){return e>255?255:e<0?0:Math.round(e)}de.RGBComponent=mce;function yce(e){return e>1?1:e<1e-4?1e-4:e}de.alphaComponent=yce;function vce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isNumber(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}de.getNumberValidator=vce;function bce(e){if(Ko.Konva.isUnminified)return function(t,n){let r=Nt.Util._isNumber(t),i=Nt.Util._isArray(t)&&t.length==e;return!r&&!i&&Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}de.getNumberOrArrayOfNumbersValidator=bce;function Sce(){if(Ko.Konva.isUnminified)return function(e,t){var n=Nt.Util._isNumber(e),r=e==="auto";return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}de.getNumberOrAutoValidator=Sce;function _ce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isString(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}de.getStringValidator=_ce;function wce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Nt.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}de.getStringOrGradientValidator=wce;function xce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isFunction(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}de.getFunctionValidator=xce;function Cce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nt.Util._isArray(e)?e.forEach(function(r){Nt.Util._isNumber(r)||Nt.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}de.getNumberArrayValidator=Cce;function Tce(){if(Ko.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}de.getBooleanValidator=Tce;function Ece(e){if(Ko.Konva.isUnminified)return function(t,n){return t==null||Nt.Util.isObject(t)||Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}de.getComponentValidator=Ece;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Rt,n=de;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Te);var _i={},Ro={};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.HitContext=Ro.SceneContext=Ro.Context=void 0;const sN=Rt,Pce=Pe;function Ace(e){var t=[],n=e.length,r=sN.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=kce+u.join(YE)+Oce)):(o+=a.property,t||(o+=Dce+a.val)),o+=Mce;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=$ce&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=QE.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=Ace(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(ov);Object.defineProperty(wt,"__esModule",{value:!0});wt.Node=void 0;const ke=Rt,Ah=Te,Dp=_i,ya=Pe,Br=ov,zt=de;var bg="absoluteOpacity",Lp="allEventListeners",bo="absoluteTransform",ZE="absoluteScale",va="canvas",Hce="Change",qce="children",Wce="konva",g2="listening",JE="mouseenter",e6="mouseleave",t6="set",n6="Shape",Sg=" ",r6="stage",ss="transform",Kce="Stage",m2="visible",Xce=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(Sg);let Yce=1,Se=class y2{constructor(t){this._id=Yce++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===ss||t===bo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===ss||t===bo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(Sg);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(va)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===bo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(va)){const{scene:t,filter:n,hit:r}=this._cache.get(va);ke.Util.releaseCanvas(t,n,r),this._cache.delete(va)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){ke.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new Dp.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new Dp.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new Dp.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(va),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(bg),this._clearSelfAndDescendantCache(ZE),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(va,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(va)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==qce&&(r=t6+ke.Util._capitalize(n),ke.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(g2,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(m2,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Br.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!ya.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==Kce&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(ss),this._clearSelfAndDescendantCache(bo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ke.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(ss);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(ss),this._clearSelfAndDescendantCache(bo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ke.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ke.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ke.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(bg,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ke.Util.isObject(i)&&!ke.Util._isPlainObject(i)&&!ke.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ke.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ke.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():ya.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;Br.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Br.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Br.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ke.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ke.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=y2.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),ya.Konva[r]||(ke.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ya.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Ub.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Ub.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hY.indexOf("pointer")>=0?"pointer":Y.indexOf("touch")>=0?"touch":"mouse",U=Y=>{const B=j(Y);if(B==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(B==="touch")return L.touch;if(B==="mouse")return L.mouse};function G(Y={}){return(Y.clipFunc||Y.clipWidth||Y.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),Y}const W="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class X extends r.Container{constructor(B){super(G(B)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{G(this.attrs)}),this._checkVisibility()}_validateAdd(B){const H=B.getType()==="Layer",Q=B.getType()==="FastLayer";H||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const B=this.visible()?"":"none";this.content.style.display=B}setContainer(B){if(typeof B===c){if(B.charAt(0)==="."){var H=B.slice(1);B=document.getElementsByClassName(H)[0]}else{var Q;B.charAt(0)!=="#"?Q=B:Q=B.slice(1),B=document.getElementById(Q)}if(!B)throw"Can not find container in document with id "+Q}return this._setAttr("container",B),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),B.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var B=this.children,H=B.length,Q;for(Q=0;Q-1&&e.stages.splice(H,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const B=this._pointerPositions[0]||this._changedPointerPositions[0];return B?{x:B.x,y:B.y}:(t.Util.warn(W),null)}_getPointerById(B){return this._pointerPositions.find(H=>H.id===B)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(B){B=B||{},B.x=B.x||0,B.y=B.y||0,B.width=B.width||this.width(),B.height=B.height||this.height();var H=new o.SceneCanvas({width:B.width,height:B.height,pixelRatio:B.pixelRatio||1}),Q=H.getContext()._context,J=this.children;return(B.x||B.y)&&Q.translate(-1*B.x,-1*B.y),J.forEach(function(ne){if(ne.isVisible()){var te=ne._toKonvaCanvas(B);Q.drawImage(te._canvas,B.x,B.y,te.getWidth()/te.getPixelRatio(),te.getHeight()/te.getPixelRatio())}}),H}getIntersection(B){if(!B)return null;var H=this.children,Q=H.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const te=H[ne].getIntersection(B);if(te)return te}return null}_resizeDOM(){var B=this.width(),H=this.height();this.content&&(this.content.style.width=B+d,this.content.style.height=H+d),this.bufferCanvas.setSize(B,H),this.bufferHitCanvas.setSize(B,H),this.children.forEach(Q=>{Q.setSize({width:B,height:H}),Q.draw()})}add(B,...H){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),B.setSize({width:this.width(),height:this.height()}),B.draw(),i.Konva.isBrowser&&this.content.appendChild(B.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(B){return l.hasPointerCapture(B,this)}setPointerCapture(B){l.setPointerCapture(B,this)}releaseCapture(B){l.releaseCapture(B,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([B,H])=>{this.content.addEventListener(B,Q=>{this[H](Q)},{passive:!1})})}_pointerenter(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerenter,{evt:B,target:this,currentTarget:this})}_pointerover(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerover,{evt:B,target:this,currentTarget:this})}_getTargetShape(B){let H=this[B+"targetShape"];return H&&!H.getStage()&&(H=null),H}_pointerleave(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(H.pointerout,{evt:B}),J._fireAndBubble(H.pointerleave,{evt:B}),this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this._fire(H.pointerout,{evt:B,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=!1;this._changedPointerPositions.forEach(ne=>{var te=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(te&&te.isListening()))return;i.Konva.capturePointerEventsEnabled&&te.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=te,te._fireAndBubble(H.pointerdown,{evt:B,pointerId:ne.id}),J=!0;const ve=B.type.indexOf("touch")>=0;te.preventDefault()&&B.cancelable&&ve&&B.preventDefault()}),J||this._fire(H.pointerdown,{evt:B,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(B){const H=U(B.type),Q=j(B.type);if(!H)return;s.DD.isDragging&&s.DD.node.preventDefault()&&B.cancelable&&B.preventDefault(),this.setPointersPositions(B);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let te=!1;var xe=this._getTargetShape(Q);this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve),Ne=ve.id,se={evt:B,pointerId:Ne};var gt=xe!==ce;if(gt&&xe&&(xe._fireAndBubble(H.pointerout,Object.assign({},se),ce),xe._fireAndBubble(H.pointerleave,Object.assign({},se),ce)),ce){if(ne[ce._id])return;ne[ce._id]=!0}ce&&ce.isListening()?(te=!0,gt&&(ce._fireAndBubble(H.pointerover,Object.assign({},se),xe),ce._fireAndBubble(H.pointerenter,Object.assign({},se),xe),this[Q+"targetShape"]=ce),ce._fireAndBubble(H.pointermove,Object.assign({},se))):xe&&(this._fire(H.pointerover,{evt:B,target:this,currentTarget:this,pointerId:Ne}),this[Q+"targetShape"]=null)}),te||this._fire(H.pointermove,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(B){const H=U(B.type),Q=j(B.type);if(!H)return;this.setPointersPositions(B);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var te={};let xe=!1;this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve);if(ce){if(ce.releaseCapture(ve.id),te[ce._id])return;te[ce._id]=!0}const Ne=ve.id,se={evt:B,pointerId:Ne};let gt=!1;i.Konva["_"+Q+"InDblClickWindow"]?(gt=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),ce&&ce.isListening()?(xe=!0,this[Q+"ClickEndShape"]=ce,ce._fireAndBubble(H.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===ce&&(ce._fireAndBubble(H.pointerclick,Object.assign({},se)),gt&&ne&&ne===ce&&ce._fireAndBubble(H.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(H.pointerclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}),gt&&this._fire(H.pointerdblclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}))}),xe||this._fire(H.pointerup,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,B.cancelable&&Q!=="touch"&&B.preventDefault()}_contextmenu(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble($,{evt:B}):this._fire($,{evt:B,target:this,currentTarget:this})}_wheel(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble(N,{evt:B}):this._fire(N,{evt:B,target:this,currentTarget:this})}_pointercancel(B){this.setPointersPositions(B);const H=l.getCapturedShape(B.pointerId)||this.getIntersection(this.getPointerPosition());H&&H._fireAndBubble(_,l.createEvent(B)),l.releaseCapture(B.pointerId)}_lostpointercapture(B){l.releaseCapture(B.pointerId)}setPointersPositions(B){var H=this._getContentPosition(),Q=null,J=null;B=B||window.event,B.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(B.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})}),Array.prototype.forEach.call(B.changedTouches||B.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})})):(Q=(B.clientX-H.left)/H.scaleX,J=(B.clientY-H.top)/H.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}])}_setPointerPosition(B){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(B)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var B=this.content.getBoundingClientRect();return{top:B.top,left:B.left,scaleX:B.width/this.content.clientWidth||1,scaleY:B.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var B=this.container();if(!B)throw"Stage has no container. A container is required.";B.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),B.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(B){B.batchDraw()}),this}}e.Stage=X,X.prototype.nodeType=u,(0,a._registerNode)(X),n.Factory.addGetterSetter(X,"container")})(uN);var kh={},sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Pe,n=Rt,r=Te,i=wt,o=de,s=Pe,a=Tr;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(P){const E=this.attrs.fillRule;E?P.fill(E):P.fill()}function S(P){P.stroke()}function v(P){P.fill()}function y(P){P.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class T extends i.Node{constructor(E){super(E);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var E=p();const A=E.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const M=$.getMatrix(),C=typeof DOMMatrix>"u"?{a:M[0],b:M[1],c:M[2],d:M[3],e:M[4],f:M[5]}:new DOMMatrix(M);A.setTransform(C)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var E=this.fillLinearGradientColorStops();if(E){for(var A=p(),$=this.fillLinearGradientStartPoint(),M=this.fillLinearGradientEndPoint(),C=A.createLinearGradient($.x,$.y,M.x,M.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const E=this.hitStrokeWidth();return E==="auto"?this.hasStroke():this.strokeEnabled()&&!!E}intersects(E){var A=this.getStage(),$=A.bufferHitCanvas,M;return $.getContext().clear(),this.drawHit($,null,!0),M=$.context.getImageData(Math.round(E.x),Math.round(E.y),1,1).data,M[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(E){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const M=E||this.hasFill(),C=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(M&&C&&O)return!0;const I=this.hasShadow(),N=this.shadowForStrokeEnabled();return!!(M&&C&&I&&N)}setStrokeHitEnabled(E){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),E?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var E=this.size();return{x:this._centroid?-E.width/2:0,y:this._centroid?-E.height/2:0,width:E.width,height:E.height}}getClientRect(E={}){const A=E.skipTransform,$=E.relativeTo,M=this.getSelfRect(),O=!E.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=M.width+O,N=M.height+O,R=!E.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,j=I+Math.abs(D),U=N+Math.abs(L),G=R&&this.shadowBlur()||0,W=j+G*2,X=U+G*2,Y={width:W,height:X,x:-(O/2+G)+Math.min(D,0)+M.x,y:-(O/2+G)+Math.min(L,0)+M.y};return A?Y:this._transformedRect(Y,$)}drawScene(E,A){var $=this.getLayer(),M=E||$.getCanvas(),C=M.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),N=this.hasShadow(),R,D,L,j=M.isCache,U=A===this;if(!this.isVisible()&&!U)return this;if(O){C.save();var G=this.getAbsoluteTransform(A).getMatrix();return C.transform(G[0],G[1],G[2],G[3],G[4],G[5]),this._drawCachedSceneCanvas(C),C.restore(),this}if(!I)return this;if(C.save(),this._useBufferCanvas()&&!j){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var W=this.getAbsoluteTransform(A).getMatrix();L.transform(W[0],W[1],W[2],W[3],W[4],W[5]),I.call(this,L,this),L.restore();var X=D.pixelRatio;N&&C._applyShadow(this),C._applyOpacity(this),C._applyGlobalCompositeOperation(this),C.drawImage(D._canvas,0,0,D.width/X,D.height/X)}else{if(C._applyLineJoin(this),!U){var W=this.getAbsoluteTransform(A).getMatrix();C.transform(W[0],W[1],W[2],W[3],W[4],W[5]),C._applyOpacity(this),C._applyGlobalCompositeOperation(this)}N&&C._applyShadow(this),I.call(this,C,this)}return C.restore(),this}drawHit(E,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var M=this.getLayer(),C=E||M.hitCanvas,O=C&&C.getContext(),I=this.hitFunc()||this.sceneFunc(),N=this._getCanvasCache(),R=N&&N.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var j=this.getAbsoluteTransform(A).getMatrix();O.transform(j[0],j[1],j[2],j[3],j[4],j[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(E=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),M=A.hit,C=M.getContext(),O=M.getWidth(),I=M.getHeight(),N,R,D,L,j,U;C.clear(),C.drawImage($._canvas,0,0,O,I);try{for(N=C.getImageData(0,0,O,I),R=N.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),j=0;jE?(R[j]=L.r,R[j+1]=L.g,R[j+2]=L.b,R[j+3]=255):R[j+3]=0;C.putImageData(N,0,0)}catch(G){n.Util.error("Unable to draw hit graph from cached scene canvas. "+G.message)}return this}hasPointerCapture(E){return a.hasPointerCapture(E,this)}setPointerCapture(E){a.setPointerCapture(E,this)}releaseCapture(E){a.releaseCapture(E,this)}}e.Shape=T,T.prototype._fillFunc=m,T.prototype._strokeFunc=S,T.prototype._fillFuncHit=v,T.prototype._strokeFuncHit=y,T.prototype._centroid=!1,T.prototype.nodeType="Shape",(0,s._registerNode)(T),T.prototype.eventListeners={},T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(T,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(T,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(T,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"lineJoin"),r.Factory.addGetterSetter(T,"lineCap"),r.Factory.addGetterSetter(T,"sceneFunc"),r.Factory.addGetterSetter(T,"hitFunc"),r.Factory.addGetterSetter(T,"dash"),r.Factory.addGetterSetter(T,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(T,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(T,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternImage"),r.Factory.addGetterSetter(T,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(T,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(T,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(T,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(T,"fillEnabled",!0),r.Factory.addGetterSetter(T,"strokeEnabled",!0),r.Factory.addGetterSetter(T,"shadowEnabled",!0),r.Factory.addGetterSetter(T,"dashEnabled",!0),r.Factory.addGetterSetter(T,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(T,"fillPriority","color"),r.Factory.addComponentsGetterSetter(T,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(T,"fillPatternRotation",0),r.Factory.addGetterSetter(T,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(T,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(sn);Object.defineProperty(kh,"__esModule",{value:!0});kh.Layer=void 0;const go=Rt,Gb=gl,Ul=wt,wC=Te,i6=_i,tde=de,nde=sn,rde=Pe;var ide="#",ode="beforeDraw",sde="draw",fN=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],ade=fN.length;class vc extends Gb.Container{constructor(t){super(t),this.canvas=new i6.SceneCanvas,this.hitCanvas=new i6.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ode,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Gb.Container.prototype.drawScene.call(this,i,n),this._fire(sde,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Gb.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return go.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}kh.Layer=vc;vc.prototype.nodeType="Layer";(0,rde._registerNode)(vc);wC.Factory.addGetterSetter(vc,"imageSmoothingEnabled",!0);wC.Factory.addGetterSetter(vc,"clearBeforeDraw",!0);wC.Factory.addGetterSetter(vc,"hitGraphEnabled",!0,(0,tde.getBooleanValidator)());var av={};Object.defineProperty(av,"__esModule",{value:!0});av.FastLayer=void 0;const lde=Rt,ude=kh,cde=Pe;class xC extends ude.Layer{constructor(t){super(t),this.listening(!1),lde.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}av.FastLayer=xC;xC.prototype.nodeType="FastLayer";(0,cde._registerNode)(xC);var bc={};Object.defineProperty(bc,"__esModule",{value:!0});bc.Group=void 0;const dde=Rt,fde=gl,hde=Pe;class CC extends fde.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&dde.Util.throw("You may only add groups and shapes to groups.")}}bc.Group=CC;CC.prototype.nodeType="Group";(0,hde._registerNode)(CC);var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0});Sc.Animation=void 0;const Hb=Pe,o6=Rt;var qb=function(){return Hb.glob.performance&&Hb.glob.performance.now?function(){return Hb.glob.performance.now()}:function(){return new Date().getTime()}}();class Gi{constructor(t,n){this.id=Gi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:qb(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,T,P;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(T=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}lv.Arc=Yo;Yo.prototype._centroid=!0;Yo.prototype.className="Arc";Yo.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,gde._registerNode)(Yo);uv.Factory.addGetterSetter(Yo,"innerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"outerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"angle",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"clockwise",!1,(0,cv.getBooleanValidator)());var dv={},Oh={};Object.defineProperty(Oh,"__esModule",{value:!0});Oh.Line=void 0;const fv=Te,mde=sn,pN=de,yde=Pe;function v2(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function a6(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(gN);Object.defineProperty(_c,"__esModule",{value:!0});_c.Path=void 0;const vde=Te,bde=sn,Sde=Pe,Gl=gN;class Jt extends bde.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Jt.parsePathData(this.data()),this.pathLength=Jt.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=Jt.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Jt.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Jt.getPointOnCubicBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Jt.getPointOnQuadraticBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,Jt.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,T,P,E,A,$,M,C,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),N=p.shift();if(l+=I,u+=N,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+N;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,T,l,u);break;case"t":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,T,l,u);break;case"A":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break;case"a":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Jt;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,Gl.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Gl.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(E){return Math.sqrt(E[0]*E[0]+E[1]*E[1])},b=function(E,A){return(E[0]*A[0]+E[1]*A[1])/(g(E)*g(A))},_=function(E,A){return(E[0]*A[1]=1&&(P=0),s===0&&P>0&&(P=P-2*Math.PI),s===1&&P<0&&(P=P+2*Math.PI),[v,y,a,l,w,P,c,s]}}_c.Path=Jt;Jt.prototype.className="Path";Jt.prototype._attrsAffectingSize=["data"];(0,Sde._registerNode)(Jt);vde.Factory.addGetterSetter(Jt,"data");Object.defineProperty(dv,"__esModule",{value:!0});dv.Arrow=void 0;const hv=Te,_de=Oh,mN=de,wde=Pe,l6=_c;class yl extends _de.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=l6.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=l6.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}dv.Arrow=yl;yl.prototype.className="Arrow";(0,wde._registerNode)(yl);hv.Factory.addGetterSetter(yl,"pointerLength",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerWidth",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerAtBeginning",!1);hv.Factory.addGetterSetter(yl,"pointerAtEnding",!0);var pv={};Object.defineProperty(pv,"__esModule",{value:!0});pv.Circle=void 0;const xde=Te,Cde=sn,Tde=de,Ede=Pe;let wc=class extends Cde.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};pv.Circle=wc;wc.prototype._centroid=!0;wc.prototype.className="Circle";wc.prototype._attrsAffectingSize=["radius"];(0,Ede._registerNode)(wc);xde.Factory.addGetterSetter(wc,"radius",0,(0,Tde.getNumberValidator)());var gv={};Object.defineProperty(gv,"__esModule",{value:!0});gv.Ellipse=void 0;const TC=Te,Pde=sn,yN=de,Ade=Pe;class oa extends Pde.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}gv.Ellipse=oa;oa.prototype.className="Ellipse";oa.prototype._centroid=!0;oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,Ade._registerNode)(oa);TC.Factory.addComponentsGetterSetter(oa,"radius",["x","y"]);TC.Factory.addGetterSetter(oa,"radiusX",0,(0,yN.getNumberValidator)());TC.Factory.addGetterSetter(oa,"radiusY",0,(0,yN.getNumberValidator)());var mv={};Object.defineProperty(mv,"__esModule",{value:!0});mv.Image=void 0;const Wb=Rt,vl=Te,kde=sn,Ode=Pe,Rh=de;let ao=class vN extends kde.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Wb.Util.createImageElement();i.onload=function(){var o=new vN({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};mv.Image=ao;ao.prototype.className="Image";(0,Ode._registerNode)(ao);vl.Factory.addGetterSetter(ao,"cornerRadius",0,(0,Rh.getNumberOrArrayOfNumbersValidator)(4));vl.Factory.addGetterSetter(ao,"image");vl.Factory.addComponentsGetterSetter(ao,"crop",["x","y","width","height"]);vl.Factory.addGetterSetter(ao,"cropX",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropY",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropWidth",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropHeight",0,(0,Rh.getNumberValidator)());var oc={};Object.defineProperty(oc,"__esModule",{value:!0});oc.Tag=oc.Label=void 0;const yv=Te,Rde=sn,Ide=bc,EC=de,bN=Pe;var SN=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Mde="Change.konva",Nde="none",b2="up",S2="right",_2="down",w2="left",Dde=SN.length;class PC extends Ide.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bv.RegularPolygon=Sl;Sl.prototype.className="RegularPolygon";Sl.prototype._centroid=!0;Sl.prototype._attrsAffectingSize=["radius"];(0,zde._registerNode)(Sl);_N.Factory.addGetterSetter(Sl,"radius",0,(0,wN.getNumberValidator)());_N.Factory.addGetterSetter(Sl,"sides",0,(0,wN.getNumberValidator)());var Sv={};Object.defineProperty(Sv,"__esModule",{value:!0});Sv.Ring=void 0;const xN=Te,Ude=sn,CN=de,Gde=Pe;var u6=Math.PI*2;class _l extends Ude.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,u6,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),u6,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}Sv.Ring=_l;_l.prototype.className="Ring";_l.prototype._centroid=!0;_l.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,Gde._registerNode)(_l);xN.Factory.addGetterSetter(_l,"innerRadius",0,(0,CN.getNumberValidator)());xN.Factory.addGetterSetter(_l,"outerRadius",0,(0,CN.getNumberValidator)());var _v={};Object.defineProperty(_v,"__esModule",{value:!0});_v.Sprite=void 0;const wl=Te,Hde=sn,qde=Sc,TN=de,Wde=Pe;class lo extends Hde.Shape{constructor(t){super(t),this._updated=!0,this.anim=new qde.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Fp;function Xb(){return Fp||(Fp=x2.Util.createCanvasElement().getContext(efe),Fp)}function dfe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function ffe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function hfe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Ut extends Yde.Shape{constructor(t){super(hfe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=x2.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(tfe,n),this}getWidth(){var t=this.attrs.width===Hl||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Hl||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return x2.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Xb(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+$p+this.fontVariant()+$p+(this.fontSize()+ofe)+cfe(this.fontFamily())}_addTextLine(t){this.align()===Jc&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Xb().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==Hl&&o!==void 0,l=s!==Hl&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==f6,m=h!==lfe&&p,S=this.ellipsis();this.textArr=[],Xb().font=this._getContextFont();for(var v=S?this._getTextWidth(Kb):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,T="",P=0;w>>1,A=b.slice(0,E+1),$=this._getTextWidth(A)+v;$<=c?(w=E+1,T=A,P=$):x=E}if(T){if(m){var M,C=b[T.length],O=C===$p||C===c6;O&&P<=c?M=T.length:M=Math.max(T.lastIndexOf($p),T.lastIndexOf(c6))+1,M>0&&(w=M,T=T.slice(0,w),P=this._getTextWidth(T))}T=T.trimRight(),this._addTextLine(T),r=Math.max(r,P),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Hl&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==f6;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Hl&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Kb)n?null:ed.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=ed.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${NN}`).join(" "),g6="nodesRect",_fe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],wfe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const xfe="ontouchstart"in si.Konva._global;function Cfe(e,t){if(e==="rotater")return"crosshair";t+=Qe.Util.degToRad(wfe[e]||0);var n=(Qe.Util.radToDeg(t)%360+360)%360;return Qe.Util._inRange(n,315+22.5,360)||Qe.Util._inRange(n,0,22.5)?"ns-resize":Qe.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":Qe.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":Qe.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":Qe.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":Qe.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":Qe.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":Qe.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(Qe.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var Qm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],m6=1e8;function Tfe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function DN(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Efe(e,t){const n=Tfe(e);return DN(e,t,n)}function Pfe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Qe.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(_fe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(g6),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(g6,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(si.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return DN(c,-si.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-m6,y:-m6,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new Qe.Transform;r.rotate(-si.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:si.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Qm.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new vfe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:xfe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=si.Konva.getAngle(this.rotation()),o=Cfe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new yfe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*Qe.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let M=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(M-=Math.PI);var f=si.Konva.getAngle(this.rotation());const C=f+M,O=si.Konva.getAngle(this.rotationSnapTolerance()),N=Pfe(this.rotationSnaps(),C,O)-d.rotation,R=Efe(d,N);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Qe.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Qe.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new Qe.Transform;if(s.rotate(si.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:Qe.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new Qe.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new Qe.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new Qe.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(Qe.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Qe.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Qe.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),p6.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return h6.Node.prototype.toObject.call(this)}clone(t){var n=h6.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Cv.Transformer=ze;function Afe(e){return e instanceof Array||Qe.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Qm.indexOf(t)===-1&&Qe.Util.warn("Unknown anchor name: "+t+". Available names are: "+Qm.join(", "))}),e||[]}ze.prototype.className="Transformer";(0,bfe._registerNode)(ze);Ye.Factory.addGetterSetter(ze,"enabledAnchors",Qm,Afe);Ye.Factory.addGetterSetter(ze,"flipEnabled",!0,(0,la.getBooleanValidator)());Ye.Factory.addGetterSetter(ze,"resizeEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorSize",10,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotateEnabled",!0);Ye.Factory.addGetterSetter(ze,"rotationSnaps",[]);Ye.Factory.addGetterSetter(ze,"rotateAnchorOffset",50,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"rotationSnapTolerance",5,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderEnabled",!0);Ye.Factory.addGetterSetter(ze,"anchorStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"anchorStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"anchorFill","white");Ye.Factory.addGetterSetter(ze,"anchorCornerRadius",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderStroke","rgb(0, 161, 255)");Ye.Factory.addGetterSetter(ze,"borderStrokeWidth",1,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"borderDash");Ye.Factory.addGetterSetter(ze,"keepRatio",!0);Ye.Factory.addGetterSetter(ze,"shiftBehavior","default");Ye.Factory.addGetterSetter(ze,"centeredScaling",!1);Ye.Factory.addGetterSetter(ze,"ignoreStroke",!1);Ye.Factory.addGetterSetter(ze,"padding",0,(0,la.getNumberValidator)());Ye.Factory.addGetterSetter(ze,"node");Ye.Factory.addGetterSetter(ze,"nodes");Ye.Factory.addGetterSetter(ze,"boundBoxFunc");Ye.Factory.addGetterSetter(ze,"anchorDragBoundFunc");Ye.Factory.addGetterSetter(ze,"anchorStyleFunc");Ye.Factory.addGetterSetter(ze,"shouldOverdrawWholeArea",!1);Ye.Factory.addGetterSetter(ze,"useSingleNodeRotation",!0);Ye.Factory.backCompat(ze,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Tv={};Object.defineProperty(Tv,"__esModule",{value:!0});Tv.Wedge=void 0;const Ev=Te,kfe=sn,Ofe=Pe,LN=de,Rfe=Pe;class Qo extends kfe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Ofe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Tv.Wedge=Qo;Qo.prototype.className="Wedge";Qo.prototype._centroid=!0;Qo.prototype._attrsAffectingSize=["radius"];(0,Rfe._registerNode)(Qo);Ev.Factory.addGetterSetter(Qo,"radius",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"angle",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"clockwise",!1);Ev.Factory.backCompat(Qo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var Pv={};Object.defineProperty(Pv,"__esModule",{value:!0});Pv.Blur=void 0;const y6=Te,Ife=wt,Mfe=de;function v6(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Nfe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Dfe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Lfe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,T,P,E,A,$,M=t+t+1,C=r-1,O=i-1,I=t+1,N=I*(I+1)/2,R=new v6,D=null,L=R,j=null,U=null,G=Nfe[t],W=Dfe[t];for(a=1;a>W,A!==0?(A=255/A,n[c]=(f*G>>W)*A,n[c+1]=(h*G>>W)*A,n[c+2]=(p*G>>W)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=d+((l=o+t+1)>W,A>0?(A=255/A,n[l]=(f*G>>W)*A,n[l+1]=(h*G>>W)*A,n[l+2]=(p*G>>W)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=o+((l=s+I)0&&Lfe(t,n)};Pv.Blur=$fe;y6.Factory.addGetterSetter(Ife.Node,"blurRadius",0,(0,Mfe.getNumberValidator)(),y6.Factory.afterSetFilter);var Av={};Object.defineProperty(Av,"__esModule",{value:!0});Av.Brighten=void 0;const b6=Te,Ffe=wt,Bfe=de,jfe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};kv.Contrast=Ufe;S6.Factory.addGetterSetter(Vfe.Node,"contrast",0,(0,zfe.getNumberValidator)(),S6.Factory.afterSetFilter);var Ov={};Object.defineProperty(Ov,"__esModule",{value:!0});Ov.Emboss=void 0;const Ws=Te,Rv=wt,Gfe=Rt,$N=de,Hfe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Gfe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,T=b>0?b:-b,P=_>0?_:-_;if(T>x&&(w=b),P>x&&(w=_),w*=t,i){var E=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=E>255?255:E<0?0:E,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var M=n-w;M<0?M=0:M>255&&(M=255),a[S]=a[S+1]=a[S+2]=M}}while(--m)}while(--d)};Ov.Emboss=Hfe;Ws.Factory.addGetterSetter(Rv.Node,"embossStrength",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossWhiteLevel",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossDirection","top-left",null,Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossBlend",!1,null,Ws.Factory.afterSetFilter);var Iv={};Object.defineProperty(Iv,"__esModule",{value:!0});Iv.Enhance=void 0;const _6=Te,qfe=wt,Wfe=de;function Zb(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const Kfe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,T;for(_=0;_g?y:g;var b=s,_=o,w,x,T=n.polarRotation||0,P,E;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function uhe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};jv.Pixelate=yhe;T6.Factory.addGetterSetter(ghe.Node,"pixelSize",8,(0,mhe.getNumberValidator)(),T6.Factory.afterSetFilter);var Vv={};Object.defineProperty(Vv,"__esModule",{value:!0});Vv.Posterize=void 0;const E6=Te,vhe=wt,bhe=de,She=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"blue",0,_he.RGBComponent,Jm.Factory.afterSetFilter);var Uv={};Object.defineProperty(Uv,"__esModule",{value:!0});Uv.RGBA=void 0;const Bf=Te,Gv=wt,xhe=de,Che=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"blue",0,xhe.RGBComponent,Bf.Factory.afterSetFilter);Bf.Factory.addGetterSetter(Gv.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var Hv={};Object.defineProperty(Hv,"__esModule",{value:!0});Hv.Sepia=void 0;const The=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};qv.Solarize=Ehe;var Wv={};Object.defineProperty(Wv,"__esModule",{value:!0});Wv.Threshold=void 0;const P6=Te,Phe=wt,Ahe=de,khe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new nd.Stage({container:o,width:r,height:i}),a=new nd.Layer,l=new nd.Layer;return a.add(new nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},gpe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),O6=async(e,t)=>{const n=e.toDataURL(t);return await gpe(n,t.width,t.height)},mpe=async(e,t,n,r,i)=>{const o=fe("canvas"),s=tv(),a=Ple();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await Km(u,d),h=await O6(u,d),p=await ppe(r?e.objects.filter(MR):[],l,i),m=await Km(p,l),S=await O6(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},ype=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=ype(e.data),i=vpe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},Spe=e=>oR(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Kv=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Spe(i),s=t.nodes[lt];if(r&&o.length&&o.length){const a={id:Rp,type:"collect",is_intermediate:!0};t.nodes[Rp]=a,t.edges.push({source:{node_id:Rp,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=_0(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Rp,field:"item"}})})}},xc=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[lt];if(a){rY(t.nodes[Fe],"prompt");const c={id:zb,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[zb]=c,t.nodes[lr]=d,t.edges.push({source:{node_id:zb,field:"prompt_collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Fe,field:"prompt"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"positive_prompt"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:lt,field:"seed"}})}else t.nodes[Le].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Co,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[lr]=d,t.nodes[Co]=c,t.edges.push({source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}}),t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:lt,field:"seed"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else c.start=i}},Mh=(e,t,n)=>{const{loras:r}=e.lora,i=hR(r),o=t.nodes[lt];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===pt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===rt&&["clip"].includes(l.source.field))));let s="",a=0;Qa(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${uce}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:pt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:rt,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Fe,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:qe,field:"clip"}})),s=f,a+=1})},jN=Jn(e=>e.ui,e=>AR[e.activeTab],{memoizeOptions:{equalityCheck:S0}}),r4e=Jn(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:S0}}),i4e=Jn(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:S0}}),xl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[lt];if(!o)return;o.is_intermediate=!0;const a={id:fu,type:"img_nsfw",is_intermediate:i};t.nodes[fu]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:fu,field:"image"}}),s&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:fu,field:"metadata"}})},Nh=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[lt];r||(t.nodes[Zc]={type:"vae_loader",id:Zc,is_intermediate:!0,vae_model:n}),(t.id===bC||t.id===Xm)&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:nt,field:"vae"}}),t.id===Xm&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.id===iN&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:Mi,field:"vae"}}),n&&i&&(i.vae=n)},Cl=(e,t,n=nt)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[fu],a=t.nodes[lt];if(!o)return;const l={id:Qc,type:"img_watermark",is_intermediate:i};t.nodes[Qc]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:fu,field:"image"},destination:{node_id:Qc,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Qc,field:"image"}}),a&&t.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:Qc,field:"metadata"}})},_pe=(e,t)=>{const n=fe("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f}=e.generation,{width:h,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:m}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const S=f?d:Wo.shouldUseCpuNoise,v={id:Xm,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:r},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:i},[Le]:{type:"noise",id:Le,is_intermediate:!0,use_cpu:S},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:o},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:c},[Kt]:{type:"l2l",id:Kt,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[bt]:{type:"i2l",id:bt,is_intermediate:!0},[nt]:{type:"l2i",id:nt,is_intermediate:!m}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(t.width!==h||t.height!==p){const y={id:Qn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:h,height:p};v.nodes[Qn]=y,v.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),v.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else v.nodes[bt].image={image_name:t.image_name},v.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return v.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:p,width:h,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:S?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:c,strength:u,init_image:t.image_name},Mh(e,v,Kt),Nh(e,v),xc(e,v),Kv(e,v,Kt),e.system.shouldUseNSFWChecker&&xl(e,v),e.system.shouldUseWatermarker&&Cl(e,v),v},wpe=(e,t,n)=>{const r=fe("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:c,shouldFitToWidthHeight:d,iterations:f,seed:h,shouldRandomizeSeed:p,seamSize:m,seamBlur:S,seamSteps:v,seamStrength:y,tileSize:g,infillMethod:b,clipSkip:_}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:w,height:x}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:T,boundingBoxScaleMethod:P,shouldAutoSave:E}=e.canvas,A={id:iN,nodes:{[Mi]:{is_intermediate:!E,type:"inpaint",id:Mi,steps:u,width:w,height:x,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:c,fit:d,mask:{image_name:n.image_name},seam_size:m,seam_blur:S,seam_strength:y,seam_steps:v,tile_size:b==="tile"?g:void 0,infill_method:b,inpaint_width:P!=="none"?T.width:void 0,inpaint_height:P!=="none"?T.height:void 0},[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:i},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:o},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:s},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:_},[Co]:{type:"range_of_size",id:Co,is_intermediate:!0,size:f,step:1},[lr]:{type:"iterate",id:lr,is_intermediate:!0}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Mi,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Mi,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Mi,field:"positive_conditioning"}},{source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Mi,field:"seed"}}]};if(Mh(e,A,Mi),Nh(e,A),p){const $={id:Fi,type:"rand_int"};A.nodes[Fi]=$,A.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else A.nodes[Co].start=h;return e.system.shouldUseNSFWChecker&&xl(e,A,Mi),e.system.shouldUseWatermarker&&Cl(e,A,Mi),A},xpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:c}=e.generation,{width:d,height:f}=e.canvas.boundingBoxDimensions,{shouldAutoSave:h}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const p=c?u:Wo.shouldUseCpuNoise,m={id:bC,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:n},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:r},[Le]:{type:"noise",id:Le,is_intermediate:!0,width:d,height:f,use_cpu:p},[dn]:{type:"t2l",id:dn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:i},[rt]:{type:"clip_skip",id:rt,is_intermediate:!0,skipped_layers:l},[nt]:{type:"l2i",id:nt,is_intermediate:!h}},edges:[{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Cpe=(e,t,n,r)=>{let i;if(t==="txt2img")i=xpe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=_pe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=wpe(e,n,r)}return i},Tpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:c}=o.canvas,d=await mpe(s,a,l,u,c);if(!d){i.error("Unable to create canvas data");return}const{baseBlob:f,baseImageData:h,maskBlob:p,maskImageData:m}=d,S=bpe(h,m);if(o.system.enableImageDebugging){const x=await XE(f),T=await XE(p);gce([{base64:T,caption:"mask b64"},{base64:x,caption:"image b64"}])}i.debug(`Generation mode: ${S}`);let v,y;["img2img","inpaint","outpaint"].includes(S)&&(v=await n(he.endpoints.uploadImage.initiate({file:new File([f],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(S)&&(y=await n(he.endpoints.uploadImage.initiate({file:new File([p],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const g=Cpe(o,S,v,y);i.debug({graph:ra(g)},"Canvas graph built"),n(KM(g));const{requestId:b}=n(On({graph:g})),[_]=await r(x=>On.fulfilled.match(x)&&x.meta.requestId===b),w=_.payload.id;["img2img","inpaint"].includes(S)&&v&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:v,session_id:w})),["inpaint"].includes(S)&&y&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:y,session_id:w})),o.canvas.layerState.stagingArea.boundingBox||n(jQ({sessionId:w,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(VQ(w)),n(pl())}})},Epe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:c,width:d,height:f,clipSkip:h,shouldUseCpuNoise:p,shouldUseNoiseSettings:m,vaePrecision:S}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=m?p:Wo.shouldUseCpuNoise,y={id:Xm,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:h},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,use_cpu:v},[nt]:{type:"l2i",id:nt,fp32:S==="fp32"},[Kt]:{type:"l2l",id:Kt,cfg_scale:o,scheduler:s,steps:a,strength:u},[bt]:{type:"i2l",id:bt,fp32:S==="fp32"}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(c&&(l.width!==d||l.height!==f)){const g={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};y.nodes[Qn]=g,y.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),y.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else y.nodes[bt].image={image_name:l.imageName},y.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return y.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:v?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:h,strength:u,init_image:l.imageName},Mh(e,y,Kt),Nh(e,y),xc(e,y),Kv(e,y,Kt),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},VN=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:c,refinerCFGScale:d,refinerStart:f}=e.sdxl;if(!o)return;const h=t.nodes[lt];h&&(h.refiner_model=o,h.refiner_aesthetic_store=s,h.refiner_cfg_scale=d,h.refiner_scheduler=c,h.refiner_start=f,h.refiner_steps=u),t.edges=t.edges.filter(p=>!(p.source.node_id===n&&["latents"].includes(p.source.field))),t.edges=t.edges.filter(p=>!(p.source.node_id===en&&["vae"].includes(p.source.field))),n===Ni&&t.edges.push({source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.nodes[zl]={type:"sdxl_refiner_model_loader",id:zl,model:o},t.nodes[Ip]={type:"sdxl_refiner_compel_prompt",id:Ip,style:`${r} ${a}`,aesthetic_score:s},t.nodes[Mp]={type:"sdxl_refiner_compel_prompt",id:Mp,style:`${i} ${l}`,aesthetic_score:s},t.nodes[ma]={type:"l2l_sdxl",id:ma,cfg_scale:d,steps:u/(1-Math.min(f,.99)),scheduler:c,denoising_start:f,denoising_end:1},t.edges.push({source:{node_id:zl,field:"unet"},destination:{node_id:ma,field:"unet"}},{source:{node_id:zl,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Ip,field:"clip2"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Mp,field:"clip2"}},{source:{node_id:Ip,field:"conditioning"},destination:{node_id:ma,field:"positive_conditioning"}},{source:{node_id:Mp,field:"conditioning"},destination:{node_id:ma,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:ma,field:"latents"}},{source:{node_id:ma,field:"latents"},destination:{node_id:nt,field:"latents"}})},Ppe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p,vaePrecision:m}=e.generation,{positiveStylePrompt:S,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:y,shouldUseSDXLRefiner:g,refinerStart:b,sdxlImg2ImgDenoisingStrength:_}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const w=p?h:Wo.shouldUseCpuNoise,x={id:dce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:y?`${n} ${S}`:S},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:y?`${r} ${v}`:v},[Le]:{type:"noise",id:Le,use_cpu:w},[nt]:{type:"l2i",id:nt,fp32:m==="fp32"},[Ni]:{type:"l2l_sdxl",id:Ni,cfg_scale:o,scheduler:s,steps:a,denoising_start:g?Math.min(b,1-_):1-_,denoising_end:g?b:1},[bt]:{type:"i2l",id:bt,fp32:m==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:Ni,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Ni,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Ni,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Ni,field:"noise"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Ni,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Ni,field:"negative_conditioning"}}]};if(u&&(l.width!==c||l.height!==d)){const T={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:c,height:d};x.nodes[Qn]=T,x.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),x.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),x.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else x.nodes[bt].image={image_name:l.imageName},x.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),x.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return x.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:d,width:c,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:w?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:_,init_image:l.imageName,positive_style_prompt:S,negative_style_prompt:v},x.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),g&&VN(e,x,Ni),xc(e,x),e.system.shouldUseNSFWChecker&&xl(e,x),e.system.shouldUseWatermarker&&Cl(e,x),x},Ape=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=Ppe(o):a=Epe(o),n(WM(a)),i.debug({graph:ra(a)},"Image to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})};let jp;const kpe=new Uint8Array(16);function Ope(){if(!jp&&(jp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!jp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return jp(kpe)}const Cn=[];for(let e=0;e<256;++e)Cn.push((e+256).toString(16).slice(1));function Rpe(e,t=0){return(Cn[e[t+0]]+Cn[e[t+1]]+Cn[e[t+2]]+Cn[e[t+3]]+"-"+Cn[e[t+4]]+Cn[e[t+5]]+"-"+Cn[e[t+6]]+Cn[e[t+7]]+"-"+Cn[e[t+8]]+Cn[e[t+9]]+"-"+Cn[e[t+10]]+Cn[e[t+11]]+Cn[e[t+12]]+Cn[e[t+13]]+Cn[e[t+14]]+Cn[e[t+15]]).toLowerCase()}const Ipe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),R6={randomUUID:Ipe};function Mpe(e,t,n){if(R6.randomUUID&&!t&&!e)return R6.randomUUID();e=e||{};const r=e.random||(e.rng||Ope)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Rpe(r)}const Npe=e=>{if(e.type==="color"&&e.value){const t=Ln(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},Dpe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:c}=l,{type:d,inputs:f}=c,h=Lx(f,(m,S,v)=>{const y=Npe(S);return m[v]=y,m},{}),p={type:d,id:u,...h};return Object.assign(a,{[u]:p}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:c,sourceHandle:d,targetHandle:f}=l;return a.push({source:{node_id:u,field:d},destination:{node_id:c,field:f}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=_0(l,u)}),{id:Mpe(),nodes:i,edges:o}},Lpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=Dpe(o);n(XM(s)),i.debug({graph:ra(s)},"Nodes graph built"),n(On({graph:s})),await r(On.fulfilled.match),n(pl())}})},$pe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,{positiveStylePrompt:p,negativeStylePrompt:m,shouldConcatSDXLStylePrompt:S,shouldUseSDXLRefiner:v,refinerStart:y}=e.sdxl,g=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const b={id:cce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:S?`${n} ${p}`:p},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:S?`${r} ${m}`:m},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:g},[is]:{type:"t2l_sdxl",id:is,cfg_scale:o,scheduler:s,steps:a,denoising_end:v?y:1},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:is,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:nt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:is,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:is,field:"negative_conditioning"}},{source:{node_id:Le,field:"noise"},destination:{node_id:is,field:"noise"}},{source:{node_id:is,field:"latents"},destination:{node_id:nt,field:"latents"}}]};return b.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:g?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c,positive_style_prompt:p,negative_style_prompt:m},b.edges.push({source:{node_id:lt,field:"metadata"},destination:{node_id:nt,field:"metadata"}}),v&&VN(e,b,is),xc(e,b),e.system.shouldUseNSFWChecker&&xl(e,b),e.system.shouldUseWatermarker&&Cl(e,b),b},Fpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,p=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m={id:bC,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[rt]:{type:"clip_skip",id:rt,skipped_layers:c},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:p},[dn]:{type:"t2l",id:dn,cfg_scale:o,scheduler:s,steps:a},[nt]:{type:"l2i",id:nt,fp32:h==="fp32"}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:rt,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:rt,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:rt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:dn,field:"latents"},destination:{node_id:nt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[lt]={id:lt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c},Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Bpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=$pe(o):a=Fpe(o),n(qM(a)),i.debug({graph:ra(a)},"Text to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})},zN=Wk(),le=zN.startListening;Yle();Qle();eue();zle();Ule();Gle();Hle();Sle();Xle();Tpe();Lpe();Bpe();Ape();que();Dle();Ile();Ole();Nle();sce();ple();Xue();Yue();Zue();Jue();tce();Wue();Kue();ice();oce();nce();rce();ece();jue();Vue();zue();Uue();Gue();Hue();$ue();Fue();Bue();Fle();$le();Ble();jle();Wle();Kle();_le();Rue();qle();tue();vle();rue();mle();gle();pce();lce();const jpe={canvas:zQ,gallery:lJ,generation:SQ,nodes:qse,postprocessing:Wse,system:Sae,config:oY,ui:wQ,hotkeys:Cae,controlNet:rJ,boards:aJ,dynamicPrompts:oJ,imageDeletion:fJ,lora:pJ,modelmanager:xae,sdxl:Yse,[Hs.reducerPath]:Hs.reducer},Vpe=pc(jpe),zpe=Xae(Vpe),Upe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],Gpe=Pk({reducer:zpe,enhancers:e=>e.concat(Yae(window.localStorage,Upe,{persistDebounce:300,serialize:ale,unserialize:ule,prefix:Qae})).concat(Xk()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hs.middleware).concat(Aae).prepend(zN.middleware),devTools:{actionSanitizer:dle,stateSanitizer:hle,trace:!0,predicate:(e,t)=>!fle.includes(t.type)}}),o4e=e=>e;function Hpe(e){if(e.sheet)return e.sheet;for(var t=0;t0?Pn(Cc,--Sr):0,lc--,Xt===10&&(lc=1,Yv--),Xt}function Ar(){return Xt=Sr2||Vf(Xt)>3?"":" "}function ige(e,t){for(;--t&&Ar()&&!(Xt<48||Xt>102||Xt>57&&Xt<65||Xt>70&&Xt<97););return Dh(e,_g()+(t<6&&Zi()==32&&Ar()==32))}function T2(e){for(;Ar();)switch(Xt){case e:return Sr;case 34:case 39:e!==34&&e!==39&&T2(Xt);break;case 40:e===41&&T2(e);break;case 92:Ar();break}return Sr}function oge(e,t){for(;Ar()&&e+Xt!==47+10;)if(e+Xt===42+42&&Zi()===47)break;return"/*"+Dh(t,Sr-1)+"*"+Xv(e===47?e:Ar())}function sge(e){for(;!Vf(Zi());)Ar();return Dh(e,Sr)}function age(e){return KN(xg("",null,null,null,[""],e=WN(e),0,[0],e))}function xg(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=Ar()){case 40:if(p!=108&&Pn(x,d-1)==58){C2(x+=He(wg(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=wg(y);break;case 9:case 10:case 13:case 32:x+=rge(p);break;case 92:x+=ige(_g()-1,7);continue;case 47:switch(Zi()){case 42:case 47:Vp(lge(oge(Ar(),_g()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=Bi(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=He(x,/\f/g,"")),h>0&&Bi(x)-d&&Vp(h>32?M6(x+";",r,n,d-1):M6(He(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(Vp(w=I6(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)xg(x,t,w,w,b,o,d,a,_);else switch(f===99&&Pn(x,3)===110?100:f){case 100:case 108:case 109:case 115:xg(e,w,w,r&&Vp(I6(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:xg(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+Bi(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&nge()==125)continue}switch(x+=Xv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(Bi(x)-1)*v,v=1;break;case 64:Zi()===45&&(x+=wg(Ar())),f=Zi(),c=d=Bi(g=x+=sge(_g())),y++;break;case 45:p===45&&Bi(x)==2&&(m=0)}}return o}function I6(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=$C(f),p=0,m=0,S=0;p0?f[v]+" "+y:He(y,/&\f/g,f[v])))&&(l[S++]=g);return Qv(e,t,n,i===0?DC:a,l,u,c)}function lge(e,t,n){return Qv(e,t,n,UN,Xv(tge()),jf(e,2,-2),0)}function M6(e,t,n,r){return Qv(e,t,n,LC,jf(e,0,r),jf(e,r+1,-1),r)}function Lu(e,t){for(var n="",r=$C(e),i=0;i6)switch(Pn(e,t+1)){case 109:if(Pn(e,t+4)!==45)break;case 102:return He(e,/(.+:)(.+)-([^]+)/,"$1"+Ge+"$2-$3$1"+ey+(Pn(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~C2(e,"stretch")?YN(He(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Pn(e,t+1)!==115)break;case 6444:switch(Pn(e,Bi(e)-3-(~C2(e,"!important")&&10))){case 107:return He(e,":",":"+Ge)+e;case 101:return He(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ge+(Pn(e,14)===45?"inline-":"")+"box$3$1"+Ge+"$2$3$1"+Dn+"$2box$3")+e}break;case 5936:switch(Pn(e,t+11)){case 114:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Ge+e+Dn+e+e}return e}var yge=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case LC:t.return=YN(t.value,t.length);break;case GN:return Lu([rd(t,{value:He(t.value,"@","@"+Ge)})],i);case DC:if(t.length)return ege(t.props,function(o){switch(Jpe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Lu([rd(t,{props:[He(o,/:(read-\w+)/,":"+ey+"$1")]})],i);case"::placeholder":return Lu([rd(t,{props:[He(o,/:(plac\w+)/,":"+Ge+"input-$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,":"+ey+"$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,Dn+"input-$1")]})],i)}return""})}},vge=[yge],bge=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||vge,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var xge={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Cge=/[A-Z]|^ms/g,Tge=/_EMO_([^_]+?)_([^]*?)_EMO_/g,JN=function(t){return t.charCodeAt(1)===45},L6=function(t){return t!=null&&typeof t!="boolean"},Jb=XN(function(e){return JN(e)?e:e.replace(Cge,"-$&").toLowerCase()}),$6=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Tge,function(r,i,o){return ji={name:i,styles:o,next:ji},i})}return xge[t]!==1&&!JN(t)&&typeof n=="number"&&n!==0?n+"px":n};function zf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return ji={name:n.name,styles:n.styles,next:ji},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ji={name:r.name,styles:r.styles,next:ji},r=r.next;var i=n.styles+";";return i}return Ege(e,t,n)}case"function":{if(e!==void 0){var o=ji,s=n(e);return ji=o,zf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function Ege(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var iD=k.createContext({});iD.displayName="ColorModeContext";function BC(){const e=k.useContext(iD);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function l4e(e,t){const{colorMode:n}=BC();return n==="dark"?t:e}function Nge(){const e=BC(),t=rD();return{...e,theme:t}}function Dge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function Lge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function u4e(e,t,n){const r=rD();return $ge(e,t,n)(r)}function $ge(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return Dge(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return Lge(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var oD=(...e)=>e.filter(Boolean).join(" ");function Fge(){return!1}function Io(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var c4e=e=>{const{condition:t,message:n}=e;t&&Fge()&&console.warn(n)};function Na(e,...t){return Bge(e)?e(...t):e}var Bge=e=>typeof e=="function",d4e=e=>e?"":void 0,f4e=e=>e?!0:void 0;function h4e(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function p4e(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var ty={exports:{}};ty.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",T="[object WeakMap]",P="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",M="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",N="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,j=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,G={};G[A]=G[$]=G[M]=G[C]=G[O]=G[I]=G[N]=G[R]=G[D]=!0,G[a]=G[l]=G[P]=G[c]=G[E]=G[d]=G[f]=G[h]=G[m]=G[S]=G[y]=G[b]=G[_]=G[w]=G[T]=!1;var W=typeof Ee=="object"&&Ee&&Ee.Object===Object&&Ee,X=typeof self=="object"&&self&&self.Object===Object&&self,Y=W||X||Function("return this")(),B=t&&!t.nodeType&&t,H=B&&!0&&e&&!e.nodeType&&e,Q=H&&H.exports===B,J=Q&&W.process,ne=function(){try{var F=H&&H.require&&H.require("util").types;return F||J&&J.binding&&J.binding("util")}catch{}}(),te=ne&&ne.isTypedArray;function xe(F,V,q){switch(q.length){case 0:return F.call(V);case 1:return F.call(V,q[0]);case 2:return F.call(V,q[0],q[1]);case 3:return F.call(V,q[0],q[1],q[2])}return F.apply(V,q)}function ve(F,V){for(var q=-1,ie=Array(F);++q-1}function fo(F,V){var q=this.__data__,ie=kl(q,F);return ie<0?(++this.size,q.push([F,V])):q[ie][1]=V,this}wn.prototype.clear=co,wn.prototype.delete=Zo,wn.prototype.get=Jo,wn.prototype.has=Al,wn.prototype.set=fo;function qn(F){var V=-1,q=F==null?0:F.length;for(this.clear();++V1?q[De-1]:void 0,mt=De>2?q[2]:void 0;for(tt=F.length>3&&typeof tt=="function"?(De--,tt):void 0,mt&&V$(q[0],q[1],mt)&&(tt=De<3?void 0:tt,De=1),V=Object(V);++ie-1&&F%1==0&&F0){if(++V>=i)return arguments[0]}else V=0;return F.apply(void 0,arguments)}}function X$(F){if(F!=null){try{return Je.call(F)}catch{}try{return F+""}catch{}}return""}function Kh(F,V){return F===V||F!==F&&V!==V}var P1=qh(function(){return arguments}())?qh:function(F){return Oc(F)&&Gt.call(F,"callee")&&!ri.call(F,"callee")},A1=Array.isArray;function k1(F){return F!=null&&k3(F.length)&&!O1(F)}function Y$(F){return Oc(F)&&k1(F)}var A3=ca||tF;function O1(F){if(!ha(F))return!1;var V=Rl(F);return V==h||V==p||V==u||V==g}function k3(F){return typeof F=="number"&&F>-1&&F%1==0&&F<=s}function ha(F){var V=typeof F;return F!=null&&(V=="object"||V=="function")}function Oc(F){return F!=null&&typeof F=="object"}function Q$(F){if(!Oc(F)||Rl(F)!=y)return!1;var V=wr(F);if(V===null)return!0;var q=Gt.call(V,"constructor")&&V.constructor;return typeof q=="function"&&q instanceof q&&Je.call(q)==Lr}var O3=te?ce(te):kc;function Z$(F){return L$(F,R3(F))}function R3(F){return k1(F)?_1(F,!0):A$(F)}var J$=$$(function(F,V,q,ie){T3(F,V,q,ie)});function eF(F){return function(){return F}}function I3(F){return F}function tF(){return!1}e.exports=J$})(ty,ty.exports);var jge=ty.exports;const Wi=al(jge);var Vge=e=>/!(important)?$/.test(e),j6=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,zge=(e,t)=>n=>{const r=String(t),i=Vge(r),o=j6(r),s=e?`${e}.${o}`:o;let a=Io(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=j6(a),i?`${a} !important`:a};function jC(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=zge(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var zp=(...e)=>t=>e.reduce((n,r)=>r(n),t);function jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=jC({scale:e,transform:t}),r}}var Uge=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function Gge(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Uge(t),transform:n?jC({scale:n,compose:r}):r}}var sD=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Hge(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...sD].join(" ")}function qge(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...sD].join(" ")}var Wge={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Kge={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function Xge(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Yge={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},E2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Qge=new Set(Object.values(E2)),P2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Zge=e=>e.trim();function Jge(e,t){if(e==null||P2.has(e))return e;if(!(A2(e)||P2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(Zge).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in E2?E2[l]:l;u.unshift(c);const d=u.map(f=>{if(Qge.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=A2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var A2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),eme=(e,t)=>Jge(e,t??{});function tme(e){return/^var\(--.+\)$/.test(e)}var nme=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Ii=e=>t=>`${e}(${t})`,je={filter(e){return e!=="auto"?e:Wge},backdropFilter(e){return e!=="auto"?e:Kge},ring(e){return Xge(je.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Hge():e==="auto-gpu"?qge():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=nme(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(tme(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:eme,blur:Ii("blur"),opacity:Ii("opacity"),brightness:Ii("brightness"),contrast:Ii("contrast"),dropShadow:Ii("drop-shadow"),grayscale:Ii("grayscale"),hueRotate:Ii("hue-rotate"),invert:Ii("invert"),saturate:Ii("saturate"),sepia:Ii("sepia"),bgImage(e){return e==null||A2(e)||P2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=Yge[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},z={borderWidths:jr("borderWidths"),borderStyles:jr("borderStyles"),colors:jr("colors"),borders:jr("borders"),gradients:jr("gradients",je.gradient),radii:jr("radii",je.px),space:jr("space",zp(je.vh,je.px)),spaceT:jr("space",zp(je.vh,je.px)),degreeT(e){return{property:e,transform:je.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:jC({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:jr("sizes",zp(je.vh,je.px)),sizesT:jr("sizes",zp(je.vh,je.fraction)),shadows:jr("shadows"),logical:Gge,blur:jr("blur",je.blur)},Cg={background:z.colors("background"),backgroundColor:z.colors("backgroundColor"),backgroundImage:z.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:je.bgClip},bgSize:z.prop("backgroundSize"),bgPosition:z.prop("backgroundPosition"),bg:z.colors("background"),bgColor:z.colors("backgroundColor"),bgPos:z.prop("backgroundPosition"),bgRepeat:z.prop("backgroundRepeat"),bgAttachment:z.prop("backgroundAttachment"),bgGradient:z.gradients("backgroundImage"),bgClip:{transform:je.bgClip}};Object.assign(Cg,{bgImage:Cg.backgroundImage,bgImg:Cg.backgroundImage});var Ue={border:z.borders("border"),borderWidth:z.borderWidths("borderWidth"),borderStyle:z.borderStyles("borderStyle"),borderColor:z.colors("borderColor"),borderRadius:z.radii("borderRadius"),borderTop:z.borders("borderTop"),borderBlockStart:z.borders("borderBlockStart"),borderTopLeftRadius:z.radii("borderTopLeftRadius"),borderStartStartRadius:z.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:z.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:z.radii("borderTopRightRadius"),borderStartEndRadius:z.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:z.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:z.borders("borderRight"),borderInlineEnd:z.borders("borderInlineEnd"),borderBottom:z.borders("borderBottom"),borderBlockEnd:z.borders("borderBlockEnd"),borderBottomLeftRadius:z.radii("borderBottomLeftRadius"),borderBottomRightRadius:z.radii("borderBottomRightRadius"),borderLeft:z.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:z.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:z.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:z.borders(["borderLeft","borderRight"]),borderInline:z.borders("borderInline"),borderY:z.borders(["borderTop","borderBottom"]),borderBlock:z.borders("borderBlock"),borderTopWidth:z.borderWidths("borderTopWidth"),borderBlockStartWidth:z.borderWidths("borderBlockStartWidth"),borderTopColor:z.colors("borderTopColor"),borderBlockStartColor:z.colors("borderBlockStartColor"),borderTopStyle:z.borderStyles("borderTopStyle"),borderBlockStartStyle:z.borderStyles("borderBlockStartStyle"),borderBottomWidth:z.borderWidths("borderBottomWidth"),borderBlockEndWidth:z.borderWidths("borderBlockEndWidth"),borderBottomColor:z.colors("borderBottomColor"),borderBlockEndColor:z.colors("borderBlockEndColor"),borderBottomStyle:z.borderStyles("borderBottomStyle"),borderBlockEndStyle:z.borderStyles("borderBlockEndStyle"),borderLeftWidth:z.borderWidths("borderLeftWidth"),borderInlineStartWidth:z.borderWidths("borderInlineStartWidth"),borderLeftColor:z.colors("borderLeftColor"),borderInlineStartColor:z.colors("borderInlineStartColor"),borderLeftStyle:z.borderStyles("borderLeftStyle"),borderInlineStartStyle:z.borderStyles("borderInlineStartStyle"),borderRightWidth:z.borderWidths("borderRightWidth"),borderInlineEndWidth:z.borderWidths("borderInlineEndWidth"),borderRightColor:z.colors("borderRightColor"),borderInlineEndColor:z.colors("borderInlineEndColor"),borderRightStyle:z.borderStyles("borderRightStyle"),borderInlineEndStyle:z.borderStyles("borderInlineEndStyle"),borderTopRadius:z.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:z.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:z.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:z.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Ue,{rounded:Ue.borderRadius,roundedTop:Ue.borderTopRadius,roundedTopLeft:Ue.borderTopLeftRadius,roundedTopRight:Ue.borderTopRightRadius,roundedTopStart:Ue.borderStartStartRadius,roundedTopEnd:Ue.borderStartEndRadius,roundedBottom:Ue.borderBottomRadius,roundedBottomLeft:Ue.borderBottomLeftRadius,roundedBottomRight:Ue.borderBottomRightRadius,roundedBottomStart:Ue.borderEndStartRadius,roundedBottomEnd:Ue.borderEndEndRadius,roundedLeft:Ue.borderLeftRadius,roundedRight:Ue.borderRightRadius,roundedStart:Ue.borderInlineStartRadius,roundedEnd:Ue.borderInlineEndRadius,borderStart:Ue.borderInlineStart,borderEnd:Ue.borderInlineEnd,borderTopStartRadius:Ue.borderStartStartRadius,borderTopEndRadius:Ue.borderStartEndRadius,borderBottomStartRadius:Ue.borderEndStartRadius,borderBottomEndRadius:Ue.borderEndEndRadius,borderStartRadius:Ue.borderInlineStartRadius,borderEndRadius:Ue.borderInlineEndRadius,borderStartWidth:Ue.borderInlineStartWidth,borderEndWidth:Ue.borderInlineEndWidth,borderStartColor:Ue.borderInlineStartColor,borderEndColor:Ue.borderInlineEndColor,borderStartStyle:Ue.borderInlineStartStyle,borderEndStyle:Ue.borderInlineEndStyle});var rme={color:z.colors("color"),textColor:z.colors("color"),fill:z.colors("fill"),stroke:z.colors("stroke")},k2={boxShadow:z.shadows("boxShadow"),mixBlendMode:!0,blendMode:z.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:z.prop("backgroundBlendMode"),opacity:!0};Object.assign(k2,{shadow:k2.boxShadow});var ime={filter:{transform:je.filter},blur:z.blur("--chakra-blur"),brightness:z.propT("--chakra-brightness",je.brightness),contrast:z.propT("--chakra-contrast",je.contrast),hueRotate:z.degreeT("--chakra-hue-rotate"),invert:z.propT("--chakra-invert",je.invert),saturate:z.propT("--chakra-saturate",je.saturate),dropShadow:z.propT("--chakra-drop-shadow",je.dropShadow),backdropFilter:{transform:je.backdropFilter},backdropBlur:z.blur("--chakra-backdrop-blur"),backdropBrightness:z.propT("--chakra-backdrop-brightness",je.brightness),backdropContrast:z.propT("--chakra-backdrop-contrast",je.contrast),backdropHueRotate:z.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:z.propT("--chakra-backdrop-invert",je.invert),backdropSaturate:z.propT("--chakra-backdrop-saturate",je.saturate)},ny={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:je.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:z.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:z.space("gap"),rowGap:z.space("rowGap"),columnGap:z.space("columnGap")};Object.assign(ny,{flexDir:ny.flexDirection});var aD={gridGap:z.space("gridGap"),gridColumnGap:z.space("gridColumnGap"),gridRowGap:z.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},ome={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:je.outline},outlineOffset:!0,outlineColor:z.colors("outlineColor")},zr={width:z.sizesT("width"),inlineSize:z.sizesT("inlineSize"),height:z.sizes("height"),blockSize:z.sizes("blockSize"),boxSize:z.sizes(["width","height"]),minWidth:z.sizes("minWidth"),minInlineSize:z.sizes("minInlineSize"),minHeight:z.sizes("minHeight"),minBlockSize:z.sizes("minBlockSize"),maxWidth:z.sizes("maxWidth"),maxInlineSize:z.sizes("maxInlineSize"),maxHeight:z.sizes("maxHeight"),maxBlockSize:z.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:z.propT("float",je.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(zr,{w:zr.width,h:zr.height,minW:zr.minWidth,maxW:zr.maxWidth,minH:zr.minHeight,maxH:zr.maxHeight,overscroll:zr.overscrollBehavior,overscrollX:zr.overscrollBehaviorX,overscrollY:zr.overscrollBehaviorY});var sme={listStyleType:!0,listStylePosition:!0,listStylePos:z.prop("listStylePosition"),listStyleImage:!0,listStyleImg:z.prop("listStyleImage")};function ame(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},ume=lme(ame),cme={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},dme={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},eS=(e,t,n)=>{const r={},i=ume(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},fme={srOnly:{transform(e){return e===!0?cme:e==="focusable"?dme:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>eS(t,e,n)}},Od={position:!0,pos:z.prop("position"),zIndex:z.prop("zIndex","zIndices"),inset:z.spaceT("inset"),insetX:z.spaceT(["left","right"]),insetInline:z.spaceT("insetInline"),insetY:z.spaceT(["top","bottom"]),insetBlock:z.spaceT("insetBlock"),top:z.spaceT("top"),insetBlockStart:z.spaceT("insetBlockStart"),bottom:z.spaceT("bottom"),insetBlockEnd:z.spaceT("insetBlockEnd"),left:z.spaceT("left"),insetInlineStart:z.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:z.spaceT("right"),insetInlineEnd:z.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Od,{insetStart:Od.insetInlineStart,insetEnd:Od.insetInlineEnd});var hme={ring:{transform:je.ring},ringColor:z.colors("--chakra-ring-color"),ringOffset:z.prop("--chakra-ring-offset-width"),ringOffsetColor:z.colors("--chakra-ring-offset-color"),ringInset:z.prop("--chakra-ring-inset")},dt={margin:z.spaceT("margin"),marginTop:z.spaceT("marginTop"),marginBlockStart:z.spaceT("marginBlockStart"),marginRight:z.spaceT("marginRight"),marginInlineEnd:z.spaceT("marginInlineEnd"),marginBottom:z.spaceT("marginBottom"),marginBlockEnd:z.spaceT("marginBlockEnd"),marginLeft:z.spaceT("marginLeft"),marginInlineStart:z.spaceT("marginInlineStart"),marginX:z.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:z.spaceT("marginInline"),marginY:z.spaceT(["marginTop","marginBottom"]),marginBlock:z.spaceT("marginBlock"),padding:z.space("padding"),paddingTop:z.space("paddingTop"),paddingBlockStart:z.space("paddingBlockStart"),paddingRight:z.space("paddingRight"),paddingBottom:z.space("paddingBottom"),paddingBlockEnd:z.space("paddingBlockEnd"),paddingLeft:z.space("paddingLeft"),paddingInlineStart:z.space("paddingInlineStart"),paddingInlineEnd:z.space("paddingInlineEnd"),paddingX:z.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:z.space("paddingInline"),paddingY:z.space(["paddingTop","paddingBottom"]),paddingBlock:z.space("paddingBlock")};Object.assign(dt,{m:dt.margin,mt:dt.marginTop,mr:dt.marginRight,me:dt.marginInlineEnd,marginEnd:dt.marginInlineEnd,mb:dt.marginBottom,ml:dt.marginLeft,ms:dt.marginInlineStart,marginStart:dt.marginInlineStart,mx:dt.marginX,my:dt.marginY,p:dt.padding,pt:dt.paddingTop,py:dt.paddingY,px:dt.paddingX,pb:dt.paddingBottom,pl:dt.paddingLeft,ps:dt.paddingInlineStart,paddingStart:dt.paddingInlineStart,pr:dt.paddingRight,pe:dt.paddingInlineEnd,paddingEnd:dt.paddingInlineEnd});var pme={textDecorationColor:z.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:z.shadows("textShadow")},gme={clipPath:!0,transform:z.propT("transform",je.transform),transformOrigin:!0,translateX:z.spaceT("--chakra-translate-x"),translateY:z.spaceT("--chakra-translate-y"),skewX:z.degreeT("--chakra-skew-x"),skewY:z.degreeT("--chakra-skew-y"),scaleX:z.prop("--chakra-scale-x"),scaleY:z.prop("--chakra-scale-y"),scale:z.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:z.degreeT("--chakra-rotate")},mme={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:z.prop("transitionDuration","transition.duration"),transitionProperty:z.prop("transitionProperty","transition.property"),transitionTimingFunction:z.prop("transitionTimingFunction","transition.easing")},yme={fontFamily:z.prop("fontFamily","fonts"),fontSize:z.prop("fontSize","fontSizes",je.px),fontWeight:z.prop("fontWeight","fontWeights"),lineHeight:z.prop("lineHeight","lineHeights"),letterSpacing:z.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},vme={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:z.spaceT("scrollMargin"),scrollMarginTop:z.spaceT("scrollMarginTop"),scrollMarginBottom:z.spaceT("scrollMarginBottom"),scrollMarginLeft:z.spaceT("scrollMarginLeft"),scrollMarginRight:z.spaceT("scrollMarginRight"),scrollMarginX:z.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:z.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:z.spaceT("scrollPadding"),scrollPaddingTop:z.spaceT("scrollPaddingTop"),scrollPaddingBottom:z.spaceT("scrollPaddingBottom"),scrollPaddingLeft:z.spaceT("scrollPaddingLeft"),scrollPaddingRight:z.spaceT("scrollPaddingRight"),scrollPaddingX:z.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:z.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function lD(e){return Io(e)&&e.reference?e.reference:String(e)}var Zv=(e,...t)=>t.map(lD).join(` ${e} `).replace(/calc/g,""),V6=(...e)=>`calc(${Zv("+",...e)})`,z6=(...e)=>`calc(${Zv("-",...e)})`,O2=(...e)=>`calc(${Zv("*",...e)})`,U6=(...e)=>`calc(${Zv("/",...e)})`,G6=e=>{const t=lD(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:O2(t,-1)},Pa=Object.assign(e=>({add:(...t)=>Pa(V6(e,...t)),subtract:(...t)=>Pa(z6(e,...t)),multiply:(...t)=>Pa(O2(e,...t)),divide:(...t)=>Pa(U6(e,...t)),negate:()=>Pa(G6(e)),toString:()=>e.toString()}),{add:V6,subtract:z6,multiply:O2,divide:U6,negate:G6});function bme(e,t="-"){return e.replace(/\s+/g,t)}function Sme(e){const t=bme(e.toString());return wme(_me(t))}function _me(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function wme(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function xme(e,t=""){return[t,e].filter(Boolean).join("-")}function Cme(e,t){return`var(${e}${t?`, ${t}`:""})`}function Tme(e,t=""){return Sme(`--${xme(e,t)}`)}function R2(e,t,n){const r=Tme(e,n);return{variable:r,reference:Cme(r,t)}}function g4e(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=R2(`${e}-${i}`,o);continue}n[r]=R2(`${e}-${r}`)}return n}function Eme(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Pme(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function I2(e){if(e==null)return e;const{unitless:t}=Pme(e);return t||typeof e=="number"?`${e}px`:e}var uD=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,VC=e=>Object.fromEntries(Object.entries(e).sort(uD));function H6(e){const t=VC(e);return Object.assign(Object.values(t),t)}function Ame(e){const t=Object.keys(VC(e));return new Set(t)}function q6(e){var t;if(!e)return e;e=(t=I2(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pd(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${I2(e)})`),t&&n.push("and",`(max-width: ${I2(t)})`),n.join(" ")}function kme(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=H6(e),r=Object.entries(e).sort(uD).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?q6(d):void 0,{_minW:q6(a),breakpoint:s,minW:a,maxW:d,maxWQuery:pd(null,d),minWQuery:pd(a),minMaxQuery:pd(a,d)}}),i=Ame(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:VC(e),asArray:H6(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pd(s)).slice(1)],toArrayValue(s){if(!Io(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;Eme(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var xn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},os=e=>cD(t=>e(t,"&"),"[role=group]","[data-group]",".group"),mo=e=>cD(t=>e(t,"~ &"),"[data-peer]",".peer"),cD=(e,...t)=>t.map(e).join(", "),Jv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:os(xn.hover),_peerHover:mo(xn.hover),_groupFocus:os(xn.focus),_peerFocus:mo(xn.focus),_groupFocusVisible:os(xn.focusVisible),_peerFocusVisible:mo(xn.focusVisible),_groupActive:os(xn.active),_peerActive:mo(xn.active),_groupDisabled:os(xn.disabled),_peerDisabled:mo(xn.disabled),_groupInvalid:os(xn.invalid),_peerInvalid:mo(xn.invalid),_groupChecked:os(xn.checked),_peerChecked:mo(xn.checked),_groupFocusWithin:os(xn.focusWithin),_peerFocusWithin:mo(xn.focusWithin),_peerPlaceholderShown:mo(xn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},dD=Object.keys(Jv);function W6(e,t){return R2(String(e).replace(/\./g,"-"),void 0,t)}function Ome(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=W6(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Pa.negate(a),v=Pa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=W6(p,t==null?void 0:t.cssVarPrefix);return S},d=Io(a)?a:{default:a};n=Wi(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Jv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Rme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Ime(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Mme(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function K6(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(Mme(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var Nme=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Dme(e){return Ime(e,Nme)}function Lme(e){return e.semanticTokens}function $me(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var Fme=e=>dD.includes(e)||e==="default";function Bme({tokens:e,semanticTokens:t}){const n={};return K6(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),K6(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(Fme)}),n}function m4e(e){var t;const n=$me(e),r=Dme(n),i=Lme(n),o=Bme({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=Ome(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:kme(n.breakpoints)}),n}var zC=Wi({},Cg,Ue,rme,ny,zr,ime,hme,ome,aD,fme,Od,k2,dt,vme,yme,pme,gme,sme,mme),jme=Object.assign({},dt,zr,ny,aD,Od),y4e=Object.keys(jme),Vme=[...Object.keys(zC),...dD],zme={...zC,...Jv},Ume=e=>e in zme,Gme=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Na(e[s],t);if(a==null)continue;if(a=Io(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!qme(t),Kme=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Hme(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Xme(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=Na(o,r),d=Gme(c)(r);let f={};for(let h in d){const p=d[h];let m=Na(p,r);h in n&&(h=n[h]),Wme(h,m)&&(m=Kme(r,m));let S=t[h];if(S===!0&&(S={property:h}),Io(m)){f[h]=(a=f[h])!=null?a:{},f[h]=Wi({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=Na(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=Na(S.static,r);f=Wi({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&Io(v)?f=Wi({},f,v):f[y]=v;continue}if(Io(v)){f=Wi({},f,v);continue}f[h]=v}return f};return i}var Yme=e=>t=>Xme({theme:t,pseudos:Jv,configs:zC})(e);function v4e(e){return e}function b4e(e){return e}function S4e(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Qme(e,t){if(Array.isArray(e))return e;if(Io(e))return t(e);if(e!=null)return[e]}function Zme(e,t){for(let n=t+1;n{Wi(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?Wi(u,y):u[v]=y;continue}u[v]=y}}return u}}function eye(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Jme(o);return Wi({},Na((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function _4e(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function fD(e){return Rme(e,["styleConfig","size","variant","colorScheme"])}function tye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function w4e(e){var t;return tye(e)&&(t=e.ownerDocument)!=null?t:document}function nye(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var rye=nye();function iye(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function oye(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},aye=sye(oye);function hD(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var pD=e=>hD(e,t=>t!=null);function lye(e){return typeof e=="function"}function uye(e,...t){return lye(e)?e(...t):e}function cye(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var dye=typeof Element<"u",fye=typeof Map=="function",hye=typeof Set=="function",pye=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Tg(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Tg(e[r],t[r]))return!1;return!0}var o;if(fye&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Tg(r.value[1],t.get(r.value[0])))return!1;return!0}if(hye&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(pye&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(dye&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Tg(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var gye=function(t,n){try{return Tg(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const mye=al(gye);function gD(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=Nge(),a=e?aye(o,`components.${e}`):void 0,l=r||a,u=Wi({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},pD(iye(i,["children"]))),c=k.useRef({});if(l){const f=eye(l)(u);mye(c.current,f)||(c.current=f)}return c.current}function mD(e,t={}){return gD(e,t)}function x4e(e,t={}){return gD(e,t)}var yye=new Set([...Vme,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),vye=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function bye(e){return vye.has(e)||!yye.has(e)}function Sye(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var _ye=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,wye=XN(function(e){return _ye.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),xye=wye,Cye=function(t){return t!=="theme"},X6=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?xye:Cye},Y6=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Tye=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return QN(n,r,i),Age(function(){return ZN(n,r,i)}),null},Eye=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Y6(t,n,r),l=a||X6(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=hD(s,(d,f)=>Ume(f)),l=uye(e,t),u=Sye({},i,l,pD(a),o),c=Yme(u)(t.theme);return r?[c,r]:c};function tS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=bye);const i=kye({baseStyle:n}),o=Aye(e,r)(i);return We.forwardRef(function(l,u){const{colorMode:c,forced:d}=BC();return We.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Oye(){const e=new Map;return new Proxy(tS,{apply(t,n,r){return tS(...r)},get(t,n){return e.has(n)||e.set(n,tS(n)),e.get(n)}})}var sl=Oye();function Tl(e){return k.forwardRef(e)}const yD=k.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),e1=k.createContext({}),Lh=k.createContext(null),t1=typeof document<"u",iy=t1?k.useLayoutEffect:k.useEffect,vD=k.createContext({strict:!1});function Rye(e,t,n,r){const{visualElement:i}=k.useContext(e1),o=k.useContext(vD),s=k.useContext(Lh),a=k.useContext(yD).reducedMotion,l=k.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return k.useInsertionEffect(()=>{u&&u.update(n,s)}),iy(()=>{u&&u.render()}),k.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?iy:k.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function hu(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Iye(e,t,n){return k.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):hu(n)&&(n.current=r))},[t])}function Gf(e){return typeof e=="string"||Array.isArray(e)}function n1(e){return typeof e=="object"&&typeof e.start=="function"}const UC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],GC=["initial",...UC];function r1(e){return n1(e.animate)||GC.some(t=>Gf(e[t]))}function bD(e){return!!(r1(e)||e.variants)}function Mye(e,t){if(r1(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Gf(n)?n:void 0,animate:Gf(r)?r:void 0}}return e.inherit!==!1?t:{}}function Nye(e){const{initial:t,animate:n}=Mye(e,k.useContext(e1));return k.useMemo(()=>({initial:t,animate:n}),[Z6(t),Z6(n)])}function Z6(e){return Array.isArray(e)?e.join(" "):e}const J6={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Hf={};for(const e in J6)Hf[e]={isEnabled:t=>J6[e].some(n=>!!t[n])};function Dye(e){for(const t in e)Hf[t]={...Hf[t],...e[t]}}const HC=k.createContext({}),SD=k.createContext({}),Lye=Symbol.for("motionComponentSymbol");function $ye({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Dye(e);function o(a,l){let u;const c={...k.useContext(yD),...a,layoutId:Fye(a)},{isStatic:d}=c,f=Nye(a),h=r(a,d);if(!d&&t1){f.visualElement=Rye(i,h,c,t);const p=k.useContext(SD),m=k.useContext(vD).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return k.createElement(e1.Provider,{value:f},u&&f.visualElement?k.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Iye(h,f.visualElement,l),h,d,f.visualElement))}const s=k.forwardRef(o);return s[Lye]=i,s}function Fye({layoutId:e}){const t=k.useContext(HC).id;return t&&e!==void 0?t+"-"+e:e}function Bye(e){function t(r,i={}){return $ye(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const jye=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function qC(e){return typeof e!="string"||e.includes("-")?!1:!!(jye.indexOf(e)>-1||/[A-Z]/.test(e))}const oy={};function Vye(e){Object.assign(oy,e)}const $h=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],El=new Set($h);function _D(e,{layout:t,layoutId:n}){return El.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!oy[e]||e==="opacity")}const _r=e=>!!(e&&e.getVelocity),zye={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Uye=$h.length;function Gye(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),xD=wD("--"),M2=wD("var(--"),Hye=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,qye=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Ks=(e,t,n)=>Math.min(Math.max(n,e),t),Pl={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Rd={...Pl,transform:e=>Ks(0,1,e)},Up={...Pl,default:1},Id=e=>Math.round(e*1e5)/1e5,i1=/(-)?([\d]*\.?[\d])+/g,CD=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Wye=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Fh(e){return typeof e=="string"}const Bh=e=>({test:t=>Fh(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),as=Bh("deg"),Ji=Bh("%"),me=Bh("px"),Kye=Bh("vh"),Xye=Bh("vw"),eP={...Ji,parse:e=>Ji.parse(e)/100,transform:e=>Ji.transform(e*100)},tP={...Pl,transform:Math.round},TD={borderWidth:me,borderTopWidth:me,borderRightWidth:me,borderBottomWidth:me,borderLeftWidth:me,borderRadius:me,radius:me,borderTopLeftRadius:me,borderTopRightRadius:me,borderBottomRightRadius:me,borderBottomLeftRadius:me,width:me,maxWidth:me,height:me,maxHeight:me,size:me,top:me,right:me,bottom:me,left:me,padding:me,paddingTop:me,paddingRight:me,paddingBottom:me,paddingLeft:me,margin:me,marginTop:me,marginRight:me,marginBottom:me,marginLeft:me,rotate:as,rotateX:as,rotateY:as,rotateZ:as,scale:Up,scaleX:Up,scaleY:Up,scaleZ:Up,skew:as,skewX:as,skewY:as,distance:me,translateX:me,translateY:me,translateZ:me,x:me,y:me,z:me,perspective:me,transformPerspective:me,opacity:Rd,originX:eP,originY:eP,originZ:me,zIndex:tP,fillOpacity:Rd,strokeOpacity:Rd,numOctaves:tP};function WC(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(xD(d)){o[d]=f;continue}const h=TD[d],p=qye(f,h);if(El.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Gye(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const KC=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ED(e,t,n){for(const r in t)!_r(t[r])&&!_D(r,n)&&(e[r]=t[r])}function Yye({transformTemplate:e},t,n){return k.useMemo(()=>{const r=KC();return WC(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Qye(e,t,n){const r=e.style||{},i={};return ED(i,r,e),Object.assign(i,Yye(e,t,n)),e.transformValues?e.transformValues(i):i}function Zye(e,t,n){const r={},i=Qye(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Jye=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function sy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Jye.has(e)}let PD=e=>!sy(e);function e0e(e){e&&(PD=t=>t.startsWith("on")?!sy(t):e(t))}try{e0e(require("@emotion/is-prop-valid").default)}catch{}function t0e(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(PD(i)||n===!0&&sy(i)||!t&&!sy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function nP(e,t,n){return typeof e=="string"?e:me.transform(t+n*e)}function n0e(e,t,n){const r=nP(t,e.x,e.width),i=nP(n,e.y,e.height);return`${r} ${i}`}const r0e={offset:"stroke-dashoffset",array:"stroke-dasharray"},i0e={offset:"strokeDashoffset",array:"strokeDasharray"};function o0e(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?r0e:i0e;e[o.offset]=me.transform(-r);const s=me.transform(t),a=me.transform(n);e[o.array]=`${s} ${a}`}function XC(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(WC(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=n0e(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&o0e(h,s,a,l,!1)}const AD=()=>({...KC(),attrs:{}}),YC=e=>typeof e=="string"&&e.toLowerCase()==="svg";function s0e(e,t,n,r){const i=k.useMemo(()=>{const o=AD();return XC(o,t,{enableHardwareAcceleration:!1},YC(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};ED(o,e.style,e),i.style={...o,...i.style}}return i}function a0e(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(qC(n)?s0e:Zye)(r,o,s,n),c={...t0e(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=k.useMemo(()=>_r(d)?d.get():d,[d]);return k.createElement(n,{...c,children:f})}}const QC=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kD(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const OD=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function RD(e,t,n,r){kD(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(OD.has(i)?i:QC(i),t.attrs[i])}function ZC(e,t){const{style:n}=e,r={};for(const i in n)(_r(n[i])||t.style&&_r(t.style[i])||_D(i,e))&&(r[i]=n[i]);return r}function ID(e,t){const n=ZC(e,t);for(const r in e)if(_r(e[r])||_r(t[r])){const i=$h.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function JC(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function MD(e){const t=k.useRef(null);return t.current===null&&(t.current=e()),t.current}const ay=e=>Array.isArray(e),l0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),u0e=e=>ay(e)?e[e.length-1]||0:e;function Eg(e){const t=_r(e)?e.get():e;return l0e(t)?t.toValue():t}function c0e({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:d0e(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const ND=e=>(t,n)=>{const r=k.useContext(e1),i=k.useContext(Lh),o=()=>c0e(e,t,r,i);return n?o():MD(o)};function d0e(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=Eg(o[f]);let{initial:s,animate:a}=e;const l=r1(e),u=bD(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!n1(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=JC(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const f0e={useVisualState:ND({scrapeMotionValuesFromProps:ID,createRenderState:AD,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}XC(n,r,{enableHardwareAcceleration:!1},YC(t.tagName),e.transformTemplate),RD(t,n)}})},h0e={useVisualState:ND({scrapeMotionValuesFromProps:ZC,createRenderState:KC})};function p0e(e,{forwardMotionProps:t=!1},n,r){return{...qC(e)?f0e:h0e,preloadedFeatures:n,useRender:a0e(t),createVisualElement:r,Component:e}}function Ao(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const DD=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function o1(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const g0e=e=>t=>DD(t)&&e(t,o1(t));function Mo(e,t,n,r){return Ao(e,t,g0e(n),r)}const m0e=(e,t)=>n=>t(e(n)),Ns=(...e)=>e.reduce(m0e);function LD(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const rP=LD("dragHorizontal"),iP=LD("dragVertical");function $D(e){let t=!1;if(e==="y")t=iP();else if(e==="x")t=rP();else{const n=rP(),r=iP();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function FD(){const e=$D(!0);return e?(e(),!1):!0}class ua{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Qt=e=>e;function y0e(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=y0e(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,v0e),1),i.timestamp=d,i.isProcessing=!0,Gp.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:Gp.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>Gp.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:_t,cancel:Uo,state:$n,steps:nS}=b0e(typeof requestAnimationFrame<"u"?requestAnimationFrame:Qt,!0);function oP(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||FD())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&_t.update(()=>a[r](o,s))};return Mo(e.current,n,i,{passive:!e.getProps()[r]})}class S0e extends ua{mount(){this.unmount=Ns(oP(this.node,!0),oP(this.node,!1))}unmount(){}}class _0e extends ua{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ns(Ao(this.node.current,"focus",()=>this.onFocus()),Ao(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const BD=(e,t)=>t?e===t?!0:BD(e,t.parentElement):!1;function rS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,o1(n))}class w0e extends ua{constructor(){super(...arguments),this.removeStartListeners=Qt,this.removeEndListeners=Qt,this.removeAccessibleListeners=Qt,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Mo(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();_t.update(()=>{BD(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Mo(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ns(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||rS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&_t.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Ao(this.node.current,"keyup",s),rS("down",(a,l)=>{this.startPress(a,l)})},n=Ao(this.node.current,"keydown",t),r=()=>{this.isPressing&&rS("cancel",(o,s)=>this.cancelPress(o,s))},i=Ao(this.node.current,"blur",r);this.removeAccessibleListeners=Ns(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&_t.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!FD()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&_t.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Mo(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Ao(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ns(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const N2=new WeakMap,iS=new WeakMap,x0e=e=>{const t=N2.get(e.target);t&&t(e)},C0e=e=>{e.forEach(x0e)};function T0e({root:e,...t}){const n=e||document;iS.has(n)||iS.set(n,{});const r=iS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(C0e,{root:e,...t})),r[i]}function E0e(e,t,n){const r=T0e(t);return N2.set(e,n),r.observe(e),()=>{N2.delete(e),r.unobserve(e)}}const P0e={some:0,all:1};class A0e extends ua{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:P0e[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return E0e(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(k0e(t,n))&&this.startObserver()}unmount(){}}function k0e({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const O0e={inView:{Feature:A0e},tap:{Feature:w0e},focus:{Feature:_0e},hover:{Feature:S0e}};function jD(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function I0e(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function s1(e,t,n){const r=e.getProps();return JC(r,t,n!==void 0?n:r.custom,R0e(e),I0e(e))}const M0e="framerAppearId",N0e="data-"+QC(M0e);let D0e=Qt,e3=Qt;const Ds=e=>e*1e3,No=e=>e/1e3,L0e={current:!1},VD=e=>Array.isArray(e)&&typeof e[0]=="number";function zD(e){return!!(!e||typeof e=="string"&&UD[e]||VD(e)||Array.isArray(e)&&e.every(zD))}const gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,UD={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gd([0,.65,.55,1]),circOut:gd([.55,0,1,.45]),backIn:gd([.31,.01,.66,-.59]),backOut:gd([.33,1.53,.69,.99])};function GD(e){if(e)return VD(e)?gd(e):Array.isArray(e)?e.map(GD):UD[e]}function $0e(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=GD(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const sP={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},oS={},HD={};for(const e in sP)HD[e]=()=>(oS[e]===void 0&&(oS[e]=sP[e]()),oS[e]);function F0e(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const qD=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,B0e=1e-7,j0e=12;function V0e(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=qD(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>B0e&&++aV0e(o,0,1,e,n);return o=>o===0||o===1?o:qD(i(o),t,r)}const z0e=jh(.42,0,1,1),U0e=jh(0,0,.58,1),WD=jh(.42,0,.58,1),G0e=e=>Array.isArray(e)&&typeof e[0]!="number",KD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,XD=e=>t=>1-e(1-t),YD=e=>1-Math.sin(Math.acos(e)),t3=XD(YD),H0e=KD(t3),QD=jh(.33,1.53,.69,.99),n3=XD(QD),q0e=KD(n3),W0e=e=>(e*=2)<1?.5*n3(e):.5*(2-Math.pow(2,-10*(e-1))),K0e={linear:Qt,easeIn:z0e,easeInOut:WD,easeOut:U0e,circIn:YD,circInOut:H0e,circOut:t3,backIn:n3,backInOut:q0e,backOut:QD,anticipate:W0e},aP=e=>{if(Array.isArray(e)){e3(e.length===4);const[t,n,r,i]=e;return jh(t,n,r,i)}else if(typeof e=="string")return K0e[e];return e},r3=(e,t)=>n=>!!(Fh(n)&&Wye.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ZD=(e,t,n)=>r=>{if(!Fh(r))return r;const[i,o,s,a]=r.match(i1);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},X0e=e=>Ks(0,255,e),sS={...Pl,transform:e=>Math.round(X0e(e))},Da={test:r3("rgb","red"),parse:ZD("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+sS.transform(e)+", "+sS.transform(t)+", "+sS.transform(n)+", "+Id(Rd.transform(r))+")"};function Y0e(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const D2={test:r3("#"),parse:Y0e,transform:Da.transform},pu={test:r3("hsl","hue"),parse:ZD("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Ji.transform(Id(t))+", "+Ji.transform(Id(n))+", "+Id(Rd.transform(r))+")"},Xn={test:e=>Da.test(e)||D2.test(e)||pu.test(e),parse:e=>Da.test(e)?Da.parse(e):pu.test(e)?pu.parse(e):D2.parse(e),transform:e=>Fh(e)?e:e.hasOwnProperty("red")?Da.transform(e):pu.transform(e)},At=(e,t,n)=>-n*e+n*t+e;function aS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Q0e({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=aS(l,a,e+1/3),o=aS(l,a,e),s=aS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const lS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Z0e=[D2,Da,pu],J0e=e=>Z0e.find(t=>t.test(e));function lP(e){const t=J0e(e);let n=t.parse(e);return t===pu&&(n=Q0e(n)),n}const JD=(e,t)=>{const n=lP(e),r=lP(t),i={...n};return o=>(i.red=lS(n.red,r.red,o),i.green=lS(n.green,r.green,o),i.blue=lS(n.blue,r.blue,o),i.alpha=At(n.alpha,r.alpha,o),Da.transform(i))};function eve(e){var t,n;return isNaN(e)&&Fh(e)&&(((t=e.match(i1))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(CD))===null||n===void 0?void 0:n.length)||0)>0}const eL={regex:Hye,countKey:"Vars",token:"${v}",parse:Qt},tL={regex:CD,countKey:"Colors",token:"${c}",parse:Xn.parse},nL={regex:i1,countKey:"Numbers",token:"${n}",parse:Pl.parse};function uS(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function ly(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&uS(n,eL),uS(n,tL),uS(n,nL),n}function rL(e){return ly(e).values}function iL(e){const{values:t,numColors:n,numVars:r,tokenised:i}=ly(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function nve(e){const t=rL(e);return iL(e)(t.map(tve))}const Xs={test:eve,parse:rL,createTransformer:iL,getAnimatableNone:nve},oL=(e,t)=>n=>`${n>0?t:e}`;function sL(e,t){return typeof e=="number"?n=>At(e,t,n):Xn.test(e)?JD(e,t):e.startsWith("var(")?oL(e,t):lL(e,t)}const aL=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>sL(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=sL(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},lL=(e,t)=>{const n=Xs.createTransformer(t),r=ly(e),i=ly(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ns(aL(r.values,i.values),n):oL(e,t)},qf=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},uP=(e,t)=>n=>At(e,t,n);function ive(e){return typeof e=="number"?uP:typeof e=="string"?Xn.test(e)?JD:lL:Array.isArray(e)?aL:typeof e=="object"?rve:uP}function ove(e,t,n){const r=[],i=n||ive(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=ove(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(Ks(e[0],e[o-1],u)):l}function sve(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=qf(0,t,r);e.push(At(n,1,i))}}function ave(e){const t=[0];return sve(t,e.length-1),t}function lve(e,t){return e.map(n=>n*t)}function uve(e,t){return e.map(()=>t||WD).splice(0,e.length-1)}function uy({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=G0e(r)?r.map(aP):aP(r),o={done:!1,value:t[0]},s=lve(n&&n.length===t.length?n:ave(t),e),a=uL(s,t,{ease:Array.isArray(i)?i:uve(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function cL(e,t){return t?e*(1e3/t):0}const cve=5;function dL(e,t,n){const r=Math.max(t-cve,0);return cL(n-e(r),t-r)}const cS=.001,dve=.01,cP=10,fve=.05,hve=1;function pve({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;D0e(e<=Ds(cP));let s=1-t;s=Ks(fve,hve,s),e=Ks(dve,cP,No(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=L2(u,s),p=Math.exp(-d);return cS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=L2(Math.pow(u,2),s);return(-i(u)+cS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-cS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=mve(i,o,a);if(e=Ds(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const gve=12;function mve(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function bve(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!dP(e,vve)&&dP(e,yve)){const n=pve(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function fL({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=bve(r),h=c?-No(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=No(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=L2(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=dL(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function fP({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=T=>a!==void 0&&Tl,p=T=>a===void 0?l:l===void 0||Math.abs(a-T)-m*Math.exp(-T/r),g=T=>v+y(T),b=T=>{const P=y(T),E=g(T);f.done=Math.abs(P)<=u,f.value=f.done?v:E};let _,w;const x=T=>{h(f.value)&&(_=T,w=fL({keyframes:[f.value,p(f.value)],velocity:dL(g,T,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:T=>{let P=!1;return!w&&_===void 0&&(P=!0,b(T),x(T)),_!==void 0&&T>_?w.next(T-_):(!P&&b(T),f)}}}const Sve=e=>{const t=({timestamp:n})=>e(n);return{start:()=>_t.update(t,!0),stop:()=>Uo(t),now:()=>$n.isProcessing?$n.timestamp:performance.now()}},hP=2e4;function pP(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=hP?1/0:t}const _ve={decay:fP,inertia:fP,tween:uy,keyframes:uy,spring:fL};function cy({autoplay:e=!0,delay:t=0,driver:n=Sve,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(j=>{m=j})};v();let y;const g=_ve[i]||uy;let b;g!==uy&&typeof r[0]!="number"&&(b=uL([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",T=null,P=null,E=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=pP(_));const{calculatedDuration:A}=_;let $=1/0,M=1/0;A!==null&&($=A+s,M=$*(o+1)-s);let C=0;const O=j=>{if(P===null)return;h>0&&(P=Math.min(P,j)),h<0&&(P=Math.min(j-M/h,P)),T!==null?C=T:C=Math.round(j-P)*h;const U=C-t*(h>=0?1:-1),G=h>=0?U<0:U>M;C=Math.max(U,0),x==="finished"&&T===null&&(C=M);let W=C,X=_;if(o){const Q=C/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const te=!!(J%2);te&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(X=w));let xe=Ks(0,1,ne);C>M&&(xe=a==="reverse"&&te?1:0),W=xe*$}const Y=G?{done:!1,value:r[0]}:X.next(W);b&&(Y.value=b(Y.value));let{done:B}=Y;!G&&A!==null&&(B=h>=0?C>=M:C<=0);const H=T===null&&(x==="finished"||x==="running"&&B);return d&&d(Y.value),H&&R(),Y},I=()=>{y&&y.stop(),y=void 0},N=()=>{x="idle",I(),m(),v(),P=E=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const j=y.now();l&&l(),T!==null?P=j-T:(!P||x==="finished")&&(P=j),x==="finished"&&v(),E=P,T=null,x="running",y.start()};e&&D();const L={then(j,U){return S.then(j,U)},get time(){return No(C)},set time(j){j=Ds(j),C=j,T!==null||!y||h===0?T=j:P=y.now()-j/h},get duration(){const j=_.calculatedDuration===null?pP(_):_.calculatedDuration;return No(j)},get speed(){return h},set speed(j){j===h||!y||(h=j,L.time=No(C))},get state(){return x},play:D,pause:()=>{x="paused",T=C},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),N())},cancel:()=>{E!==null&&O(E),N()},complete:()=>{x="finished"},sample:j=>(P=0,O(j))};return L}const wve=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Hp=10,xve=2e4,Cve=(e,t)=>t.type==="spring"||e==="backgroundColor"||!zD(t.ease);function Tve(e,t,{onUpdate:n,onComplete:r,...i}){if(!(HD.waapi()&&wve.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(Cve(t,i)){const v=cy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{_t.update(m),a(),u()};return p.onfinish=()=>{e.set(F0e(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return No(p.currentTime||0)},set time(v){p.currentTime=Ds(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return No(d)},play:()=>{s||(p.play(),Uo(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=cy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-Hp).value,y.sample(v).value,Hp)}S()},complete:()=>p.finish(),cancel:S}}function Eve({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Qt,pause:Qt,stop:Qt,then:o=>(o(),Promise.resolve()),cancel:Qt,complete:Qt});return t?cy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const Pve={type:"spring",stiffness:500,damping:25,restSpeed:10},Ave=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),kve={type:"keyframes",duration:.8},Ove={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Rve=(e,{keyframes:t})=>t.length>2?kve:El.has(e)?e.startsWith("scale")?Ave(t[1]):Pve:Ove,$2=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xs.test(t)||t==="0")&&!t.startsWith("url(")),Ive=new Set(["brightness","contrast","saturate","opacity"]);function Mve(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(i1)||[];if(!r)return e;const i=n.replace(r,"");let o=Ive.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const Nve=/([a-z-]*)\(.*?\)/g,F2={...Xs,getAnimatableNone:e=>{const t=e.match(Nve);return t?t.map(Mve).join(" "):e}},Dve={...TD,color:Xn,backgroundColor:Xn,outlineColor:Xn,fill:Xn,stroke:Xn,borderColor:Xn,borderTopColor:Xn,borderRightColor:Xn,borderBottomColor:Xn,borderLeftColor:Xn,filter:F2,WebkitFilter:F2},i3=e=>Dve[e];function hL(e,t){let n=i3(e);return n!==F2&&(n=Xs),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const pL=e=>/^0[^.\s]+$/.test(e);function Lve(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||pL(e)}function $ve(e,t,n,r){const i=$2(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=gL(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ds(s);const l=$ve(t,e,n,o),u=l[0],c=l[l.length-1],d=$2(e,u),f=$2(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Fve(o)||(h={...h,...Rve(e,h)}),h.duration&&(h.duration=Ds(h.duration)),h.repeatDelay&&(h.repeatDelay=Ds(h.repeatDelay)),!d||!f||L0e.current||o.type===!1)return Eve(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=Tve(t,e,h);if(p)return p}return cy(h)};function dy(e){return!!(_r(e)&&e.add)}const Bve=e=>/^\-?\d*\.?\d+$/.test(e);function s3(e,t){e.indexOf(t)===-1&&e.push(t)}function a3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class l3{constructor(){this.subscriptions=[]}add(t){return s3(this.subscriptions,t),()=>a3(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Vve{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=$n;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,_t.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>_t.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=jve(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new l3);const r=this.events[t].add(n);return t==="change"?()=>{r(),_t.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?cL(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function uc(e,t){return new Vve(e,t)}const mL=e=>t=>t.test(e),zve={test:e=>e==="auto",parse:e=>e},yL=[Pl,me,Ji,as,Xye,Kye,zve],id=e=>yL.find(mL(e)),Uve=[...yL,Xn,Xs],Gve=e=>Uve.find(mL(e));function Hve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,uc(n))}function qve(e,t){const n=s1(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=u0e(o[s]);Hve(e,s,a)}}function Wve(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&qve(e,s)}),u}function B2(e,t,n={}){const r=s1(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(vL(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Qve(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Qve(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(Zve).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(B2(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function Zve(e,t){return e.sortNodePosition(t)}function Jve(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>B2(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=B2(e,t,n);else{const i=typeof t=="function"?s1(e,t,n.custom):t;r=Promise.all(vL(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const e1e=[...UC].reverse(),t1e=UC.length;function n1e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Jve(e,n,r)))}function r1e(e){let t=n1e(e);const n=o1e();let r=!0;const i=(l,u)=>{const c=s1(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const E=Array.isArray(b)?b:[b];let A=E.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,M={...$,...A},C=O=>{P=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in M){const I=A[O],N=$[O];p.hasOwnProperty(O)||(I!==N?ay(I)&&ay(N)?!jD(I,N)||T?C(O):g.protectedKeys[O]=!0:I!==void 0?C(O):h.add(O):I!==void 0&&h.has(O)?C(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(P=!1),P&&!x&&f.push(...E.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function i1e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!jD(t,e):!1}function ba(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function o1e(){return{animate:ba(!0),whileInView:ba(),whileHover:ba(),whileTap:ba(),whileDrag:ba(),whileFocus:ba(),exit:ba()}}class s1e extends ua{constructor(t){super(t),t.animationState||(t.animationState=r1e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),n1(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let a1e=0;class l1e extends ua{constructor(){super(...arguments),this.id=a1e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const u1e={animation:{Feature:s1e},exit:{Feature:l1e}},gP=(e,t)=>Math.abs(e-t);function c1e(e,t){const n=gP(e.x,t.x),r=gP(e.y,t.y);return Math.sqrt(n**2+r**2)}class bL{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=fS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=c1e(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=$n;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=dS(c,this.transformPagePoint),_t.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=fS(u.type==="pointercancel"?this.lastMoveEventInfo:dS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!DD(t))return;this.handlers=n,this.transformPagePoint=r;const i=o1(t),o=dS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=$n;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,fS(o,this.history)),this.removeListeners=Ns(Mo(window,"pointermove",this.handlePointerMove),Mo(window,"pointerup",this.handlePointerUp),Mo(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Uo(this.updatePoint)}}function dS(e,t){return t?{point:t(e.point)}:e}function mP(e,t){return{x:e.x-t.x,y:e.y-t.y}}function fS({point:e},t){return{point:e,delta:mP(e,SL(t)),offset:mP(e,d1e(t)),velocity:f1e(t,.1)}}function d1e(e){return e[0]}function SL(e){return e[e.length-1]}function f1e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=SL(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ds(t)));)n--;if(!r)return{x:0,y:0};const o=No(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Ir(e){return e.max-e.min}function j2(e,t=0,n=.01){return Math.abs(e-t)<=n}function yP(e,t,n,r=.5){e.origin=r,e.originPoint=At(t.min,t.max,e.origin),e.scale=Ir(n)/Ir(t),(j2(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=At(n.min,n.max,e.origin)-e.originPoint,(j2(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Md(e,t,n,r){yP(e.x,t.x,n.x,r?r.originX:void 0),yP(e.y,t.y,n.y,r?r.originY:void 0)}function vP(e,t,n){e.min=n.min+t.min,e.max=e.min+Ir(t)}function h1e(e,t,n){vP(e.x,t.x,n.x),vP(e.y,t.y,n.y)}function bP(e,t,n){e.min=t.min-n.min,e.max=e.min+Ir(t)}function Nd(e,t,n){bP(e.x,t.x,n.x),bP(e.y,t.y,n.y)}function p1e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?At(n,e,r.max):Math.min(e,n)),e}function SP(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function g1e(e,{top:t,left:n,bottom:r,right:i}){return{x:SP(e.x,n,i),y:SP(e.y,t,r)}}function _P(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=qf(t.min,t.max-r,e.min):r>i&&(n=qf(e.min,e.max-i,t.min)),Ks(0,1,n)}function v1e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const V2=.35;function b1e(e=V2){return e===!1?e=0:e===!0&&(e=V2),{x:wP(e,"left","right"),y:wP(e,"top","bottom")}}function wP(e,t,n){return{min:xP(e,t),max:xP(e,n)}}function xP(e,t){return typeof e=="number"?e:e[t]||0}const CP=()=>({translate:0,scale:1,origin:0,originPoint:0}),gu=()=>({x:CP(),y:CP()}),TP=()=>({min:0,max:0}),Wt=()=>({x:TP(),y:TP()});function Li(e){return[e("x"),e("y")]}function _L({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function S1e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function _1e(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function hS(e){return e===void 0||e===1}function z2({scale:e,scaleX:t,scaleY:n}){return!hS(e)||!hS(t)||!hS(n)}function Ca(e){return z2(e)||wL(e)||e.z||e.rotate||e.rotateX||e.rotateY}function wL(e){return EP(e.x)||EP(e.y)}function EP(e){return e&&e!=="0%"}function fy(e,t,n){const r=e-n,i=t*r;return n+i}function PP(e,t,n,r,i){return i!==void 0&&(e=fy(e,i,r)),fy(e,n,r)+t}function U2(e,t=0,n=1,r,i){e.min=PP(e.min,t,n,r,i),e.max=PP(e.max,t,n,r,i)}function xL(e,{x:t,y:n}){U2(e.x,t.translate,t.scale,t.originPoint),U2(e.y,n.translate,n.scale,n.originPoint)}function w1e(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fs(e,t){e.min=e.min+t,e.max=e.max+t}function kP(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=At(e.min,e.max,o);U2(e,t[n],t[r],s,t.scale)}const x1e=["x","scaleX","originX"],C1e=["y","scaleY","originY"];function mu(e,t){kP(e.x,t,x1e),kP(e.y,t,C1e)}function CL(e,t){return _L(_1e(e.getBoundingClientRect(),t))}function T1e(e,t,n){const r=CL(e,n),{scroll:i}=t;return i&&(fs(r.x,i.offset.x),fs(r.y,i.offset.y)),r}const E1e=new WeakMap;class P1e{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Wt(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(o1(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=$D(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Li(p=>{let m=this.getAxisMotionValue(p).get()||0;if(Ji.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Ir(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&_t.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=A1e(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new bL(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&_t.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!qp(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=p1e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&hu(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=g1e(r.layoutBox,t):this.constraints=!1,this.elastic=b1e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Li(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=v1e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!hu(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=T1e(r,i.root,this.visualElement.getTransformPagePoint());let s=m1e(i.layout.layoutBox,o);if(n){const a=n(S1e(s));this.hasMutatedConstraints=!!a,a&&(s=_L(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Li(c=>{if(!qp(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(o3(t,r,0,n))}stopAnimation(){Li(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Li(n=>{const{drag:r}=this.getProps();if(!qp(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-At(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!hu(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Li(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=y1e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Li(s=>{if(!qp(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(At(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;E1e.set(this.visualElement,this);const t=this.visualElement.current,n=Mo(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();hu(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Ao(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Li(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=V2,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function qp(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function A1e(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class k1e extends ua{constructor(t){super(t),this.removeGroupControls=Qt,this.removeListeners=Qt,this.controls=new P1e(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Qt}unmount(){this.removeGroupControls(),this.removeListeners()}}const OP=e=>(t,n)=>{e&&_t.update(()=>e(t,n))};class O1e extends ua{constructor(){super(...arguments),this.removePointerDownListener=Qt}onPointerDown(t){this.session=new bL(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:OP(t),onStart:OP(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&_t.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Mo(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function R1e(){const e=k.useContext(Lh);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=k.useId();return k.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function C4e(){return I1e(k.useContext(Lh))}function I1e(e){return e===null?!0:e.isPresent}const Pg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function RP(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const od={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(me.test(e))e=parseFloat(e);else return e;const n=RP(e,t.target.x),r=RP(e,t.target.y);return`${n}% ${r}%`}},M1e={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xs.parse(e);if(i.length>5)return r;const o=Xs.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=At(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class N1e extends We.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Vye(D1e),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Pg.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||_t.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function TL(e){const[t,n]=R1e(),r=k.useContext(HC);return We.createElement(N1e,{...e,layoutGroup:r,switchLayoutGroup:k.useContext(SD),isPresent:t,safeToRemove:n})}const D1e={borderRadius:{...od,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:od,borderTopRightRadius:od,borderBottomLeftRadius:od,borderBottomRightRadius:od,boxShadow:M1e},EL=["TopLeft","TopRight","BottomLeft","BottomRight"],L1e=EL.length,IP=e=>typeof e=="string"?parseFloat(e):e,MP=e=>typeof e=="number"||me.test(e);function $1e(e,t,n,r,i,o){i?(e.opacity=At(0,n.opacity!==void 0?n.opacity:1,F1e(r)),e.opacityExit=At(t.opacity!==void 0?t.opacity:1,0,B1e(r))):o&&(e.opacity=At(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(qf(e,t,r))}function DP(e,t){e.min=t.min,e.max=t.max}function Vr(e,t){DP(e.x,t.x),DP(e.y,t.y)}function LP(e,t,n,r,i){return e-=t,e=fy(e,1/n,r),i!==void 0&&(e=fy(e,1/i,r)),e}function j1e(e,t=0,n=1,r=.5,i,o=e,s=e){if(Ji.test(t)&&(t=parseFloat(t),t=At(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=At(o.min,o.max,r);e===o&&(a-=t),e.min=LP(e.min,t,n,a,i),e.max=LP(e.max,t,n,a,i)}function $P(e,t,[n,r,i],o,s){j1e(e,t[n],t[r],t[i],t.scale,o,s)}const V1e=["x","scaleX","originX"],z1e=["y","scaleY","originY"];function FP(e,t,n,r){$P(e.x,t,V1e,n?n.x:void 0,r?r.x:void 0),$P(e.y,t,z1e,n?n.y:void 0,r?r.y:void 0)}function BP(e){return e.translate===0&&e.scale===1}function AL(e){return BP(e.x)&&BP(e.y)}function G2(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function jP(e){return Ir(e.x)/Ir(e.y)}class U1e{constructor(){this.members=[]}add(t){s3(this.members,t),t.scheduleRender()}remove(t){if(a3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function VP(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const G1e=(e,t)=>e.depth-t.depth;class H1e{constructor(){this.children=[],this.isDirty=!1}add(t){s3(this.children,t),this.isDirty=!0}remove(t){a3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(G1e),this.isDirty=!1,this.children.forEach(t)}}function q1e(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Uo(r),e(o-t))};return _t.read(r,!0),()=>Uo(r)}function W1e(e){window.MotionDebug&&window.MotionDebug.record(e)}function K1e(e){return e instanceof SVGElement&&e.tagName!=="svg"}function X1e(e,t,n){const r=_r(e)?e:uc(e);return r.start(o3("",r,t,n)),r.animation}const zP=["","X","Y","Z"],UP=1e3;let Y1e=0;const Ta={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kL({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Y1e++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ta.totalNodes=Ta.resolvedTargetDeltas=Ta.recalculatedProjection=0,this.nodes.forEach(J1e),this.nodes.forEach(ibe),this.nodes.forEach(obe),this.nodes.forEach(ebe),W1e(Ta)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=q1e(f,250),Pg.hasAnimatedSinceResize&&(Pg.hasAnimatedSinceResize=!1,this.nodes.forEach(HP))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||cbe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!G2(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...gL(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||HP(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Uo(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(sbe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(tbe),this.sharedNodes.forEach(abe)}scheduleUpdateProjection(){_t.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){_t.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;qP(d.x,s.x,_),qP(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Nd(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),lbe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&G2(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=Wt()),Vr(g,this.relativeTarget)),m&&(this.animationValues=c,$1e(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Uo(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=_t.update(()=>{Pg.hasAnimatedSinceResize=!0,this.currentAnimation=X1e(0,UP,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(UP),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&OL(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Wt();const d=Ir(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Ir(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}Vr(a,l),mu(a,c),Md(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new U1e),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(GP),this.root.sharedNodes.clear()}}}function Q1e(e){e.updateLayout()}function Z1e(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(f);f.min=r[d].min,f.max=f.min+h}):OL(o,n.layoutBox,r)&&Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=gu();Md(a,r,n.layoutBox);const l=gu();s?Md(l,e.applyTransform(i,!0),n.measuredBox):Md(l,r,n.layoutBox);const u=!AL(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=Wt();Nd(p,n.layoutBox,f.layoutBox);const m=Wt();Nd(m,r,h.layoutBox),G2(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function J1e(e){Ta.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function ebe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function tbe(e){e.clearSnapshot()}function GP(e){e.clearMeasurements()}function nbe(e){e.isLayoutDirty=!1}function rbe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function HP(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function ibe(e){e.resolveTargetDelta()}function obe(e){e.calcProjection()}function sbe(e){e.resetRotation()}function abe(e){e.removeLeadSnapshot()}function qP(e,t,n){e.translate=At(t.translate,0,n),e.scale=At(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function WP(e,t,n,r){e.min=At(t.min,n.min,r),e.max=At(t.max,n.max,r)}function lbe(e,t,n,r){WP(e.x,t.x,n.x,r),WP(e.y,t.y,n.y,r)}function ube(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const cbe={duration:.45,ease:[.4,0,.1,1]};function KP(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function dbe(e){KP(e.x),KP(e.y)}function OL(e,t,n){return e==="position"||e==="preserve-aspect"&&!j2(jP(t),jP(n),.2)}const fbe=kL({attachResizeListener:(e,t)=>Ao(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),pS={current:void 0},RL=kL({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!pS.current){const e=new fbe({});e.mount(window),e.setOptions({layoutScroll:!0}),pS.current=e}return pS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),hbe={pan:{Feature:O1e},drag:{Feature:k1e,ProjectionNode:RL,MeasureLayout:TL}},pbe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function gbe(e){const t=pbe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function H2(e,t,n=1){const[r,i]=gbe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():M2(i)?H2(i,t,n+1):i}function mbe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!M2(o))return;const s=H2(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!M2(o))continue;const s=H2(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const ybe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),IL=e=>ybe.has(e),vbe=e=>Object.keys(e).some(IL),XP=e=>e===Pl||e===me,YP=(e,t)=>parseFloat(e.split(", ")[t]),QP=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return YP(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?YP(o[1],e):0}},bbe=new Set(["x","y","z"]),Sbe=$h.filter(e=>!bbe.has(e));function _be(e){const t=[];return Sbe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const cc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:QP(4,13),y:QP(5,14)};cc.translateX=cc.x;cc.translateY=cc.y;const wbe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=cc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=cc[u](l,o)}),e},xbe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(IL);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=id(c);const f=t[l];let h;if(ay(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=id(c);for(let S=m;S=0?window.pageYOffset:null,u=wbe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),t1&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Cbe(e,t,n,r){return vbe(t)?xbe(e,t,n,r):{target:t,transitionEnd:r}}const Tbe=(e,t,n,r)=>{const i=mbe(e,t,r);return t=i.target,r=i.transitionEnd,Cbe(e,t,n,r)},q2={current:null},ML={current:!1};function Ebe(){if(ML.current=!0,!!t1)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>q2.current=e.matches;e.addListener(t),t()}else q2.current=!1}function Pbe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(_r(o))e.addValue(i,o),dy(r)&&r.add(i);else if(_r(s))e.addValue(i,uc(o,{owner:e})),dy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,uc(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const ZP=new WeakMap,NL=Object.keys(Hf),Abe=NL.length,JP=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],kbe=GC.length;class Obe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>_t.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=r1(n),this.isVariantNode=bD(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&_r(f)&&(f.set(a[d],!1),dy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,ZP.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),ML.current||Ebe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:q2.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){ZP.delete(this.current),this.projection&&this.projection.unmount(),Uo(this.notifyUpdate),Uo(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=El.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&_t.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Wt()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=uc(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=JC(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!_r(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new l3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class DL extends Obe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Xve(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Wve(this,r,s);const a=Tbe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Rbe(e){return window.getComputedStyle(e)}class Ibe extends DL{readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}else{const r=Rbe(t),i=(xD(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return CL(t,n)}build(t,n,r,i){WC(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return ZC(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;_r(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kD(t,n,r,i)}}class Mbe extends DL{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}return n=OD.has(n)?n:QC(n),t.getAttribute(n)}measureInstanceViewportBox(){return Wt()}scrapeMotionValuesFromProps(t,n){return ID(t,n)}build(t,n,r,i){XC(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){RD(t,n,r,i)}mount(t){this.isSVGTag=YC(t.tagName),super.mount(t)}}const Nbe=(e,t)=>qC(e)?new Mbe(t,{enableHardwareAcceleration:!1}):new Ibe(t,{enableHardwareAcceleration:!0}),Dbe={layout:{ProjectionNode:RL,MeasureLayout:TL}},Lbe={...u1e,...O0e,...hbe,...Dbe},$be=Bye((e,t)=>p0e(e,t,Lbe,Nbe));function LL(){const e=k.useRef(!1);return iy(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Fbe(){const e=LL(),[t,n]=k.useState(0),r=k.useCallback(()=>{e.current&&n(t+1)},[t]);return[k.useCallback(()=>_t.postRender(r),[r]),t]}class Bbe extends k.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function jbe({children:e,isPresent:t}){const n=k.useId(),r=k.useRef(null),i=k.useRef({width:0,height:0,top:0,left:0});return k.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function GM(e,t){if(e){if(typeof e=="string")return ME(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ME(e,t)}}function ME(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?Vae:zae;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function $E(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function FE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){$E(o,r,i,s,a,"next",l)}function a(l){$E(o,r,i,s,a,"throw",l)}s(void 0)})}}var Gae=function(){var e=FE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield Lae(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=FE(function*(){var p=UM(t.getState(),n);yield Uae(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),pC(p,d)||t.dispatch({type:Rae,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(Mae(f,u)):t.subscribe(Iae(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const Hae=Gae;function $f(e){"@babel/helpers - typeof";return $f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$f(e)}function BE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jb(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=jb({},r));var o=typeof t=="function"?t:pc(t);switch(i.type){case d2:return n.state=o(jb(jb({},n.state),i.payload||{}),{type:d2}),n.state;default:return o(r,i)}}},Yae=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,v){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,v){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(v){return function(y,g,b){var _=v(y,g,b);return Hae(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const k5e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],Qae="@@invokeai-",Zae=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],Jae=["pendingControlImages"],ele=["selection","selectedBoardId","galleryView"],tle=["schema","invocationTemplates"],nle=[],rle=[],ile=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],ole=["shouldShowImageDetails"],sle={canvas:Zae,gallery:ele,generation:nle,nodes:tle,postprocessing:rle,system:ile,ui:ole,controlNet:Jae},ale=(e,t)=>{const n=_0(e,sle[t]);return JSON.stringify(n)},lle={canvas:NR,gallery:k7,generation:Wo,nodes:kM,postprocessing:IM,system:$M,config:gR,ui:kR,hotkeys:jM,controlNet:z_},ule=(e,t)=>gX(JSON.parse(e),lle[t]),qM=ue("nodes/textToImageGraphBuilt"),WM=ue("nodes/imageToImageGraphBuilt"),KM=ue("nodes/canvasGraphBuilt"),XM=ue("nodes/nodesGraphBuilt"),cle=ei(qM,WM,KM,XM),dle=e=>{if(cle(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Df.fulfilled.match(e)?{...e,payload:""}:dC.match(e)?{...e,payload:""}:e},fle=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],hle=e=>e,ple=()=>{le({actionCreator:FQ,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(hl({session_id:o}))}}})};ue("app/appStarted");const gle=()=>{le({matcher:he.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==di({board_id:"none",categories:gi}))return;r(),n();const i=e.payload;i.ids.length>0&&t(Rs(i.ids[0]))}})},gC=Hs.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:O5e,useGetAppConfigQuery:R5e}=gC,mle=()=>{le({matcher:gC.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r,nsfw_methods:i,watermarking_methods:o}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(yQ(r[0])),i.includes("nsfw_checker")||n(vae(!1)),o.includes("invisible_watermark")||n(bae(!1))}})},yle=ue("app/appStarted"),vle=()=>{le({actionCreator:yle,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},mC={memoizeOptions:{resultEqualityCheck:S0}},YM=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Ea(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Ea(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},ble=Jn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return YM(e,n)},mC),Sle=()=>{le({matcher:ec.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const c=YM(l,u);c.isInitialImage&&!i&&(t(ER()),i=!0),c.isCanvasImage&&!o&&(t(LR()),o=!0),c.isNodesImage&&!s&&(t(RM()),s=!0),c.isControlNetImage&&!a&&(t(T7()),a=!0)})}})},_le=()=>{le({matcher:ei(U_,Am),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=U_.match(e)?e.payload:o.gallery.selectedBoardId,l=(Am.match(e)?e.payload:o.gallery.galleryView)==="images"?gi:_s,u={board_id:s??"none",categories:l};if(await r(()=>he.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=he.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(Rs(d.ids[0]??null)):n(Rs(null))}else n(Rs(null))}})},wle=ue("canvas/canvasSavedToGallery"),xle=ue("canvas/canvasCopiedToClipboard"),Cle=ue("canvas/canvasDownloadedAsImage"),Tle=ue("canvas/canvasMerged"),Ele=ue("canvas/stagingAreaImageSaved");let QM=null,ZM=null;const I5e=e=>{QM=e},tv=()=>QM,M5e=e=>{ZM=e},Ple=()=>ZM,Ale=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Km=async(e,t)=>await Ale(e.toCanvas(t)),yC=async e=>{const t=tv();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Km(o,a)},kle=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},Ole=()=>{le({actionCreator:xle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}kle(o),t(Ft({title:"Canvas Copied to Clipboard",status:"success"}))}})},Rle=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},Ile=()=>{le({actionCreator:Cle,effect:async(e,{dispatch:t,getState:n})=>{const r=Z0.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}Rle(o,"canvas.png"),t(Ft({title:"Canvas Downloaded",status:"success"}))}})},Mle=async()=>{const e=tv();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Km(t,t.getClientRect())},Nle=()=>{le({actionCreator:Tle,effect:async(e,{dispatch:t})=>{const n=Z0.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await Mle();if(!r){n.error("Problem getting base layer blob"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=tv();if(!i){n.error("Problem getting canvas base layer"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(he.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(BQ({kind:"image",layer:"base",imageName:a,...o}))}})},Dle=()=>{le({actionCreator:wle,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),o=await yC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(he.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Lle=(e,t,n)=>{if(!(tJ.match(e)||bT.match(e)||Hx.match(e)||nJ.match(e)||ST.match(e))||ST.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(bT.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},$le=()=>{le({predicate:Lle,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=fe("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(Gx({controlNetId:o}))}})},pl=ue("system/sessionReadyToInvoke"),JM=e=>(e==null?void 0:e.type)==="image_output",Fle=()=>{le({actionCreator:Gx,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=fe("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!s.controlImage){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(On({graph:a})),[u]=await r(f=>On.fulfilled.match(f)&&f.meta.requestId===l.requestId),c=u.payload.id;t(pl());const[d]=await r(f=>zx.match(f)&&f.payload.data.graph_execution_state_id===c);if(JM(d.payload.data.result)){const{image_name:f}=d.payload.data.result.image,[{payload:h}]=await r(m=>he.endpoints.getImageDTO.matchFulfilled(m)&&m.payload.image_name===f),p=h;i.debug({controlNetId:e.payload,processedControlImage:p},"ControlNet image processed"),t(eJ({controlNetId:o,processedControlImage:p.image_name}))}}})},Ble=()=>{le({matcher:he.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},jle=()=>{le({matcher:he.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},N5e=e=>e.gallery,D5e=Jn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],mC),Vle=Jn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?gi:_s,offset:0,limit:GQ,is_intermediate:!1}},mC),eN=ue("imageDeletion/imageDeletionConfirmed"),zle=()=>{le({actionCreator:eN,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(I7(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=Vle(a),{data:f}=he.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(y=>y.toString()===s),m=h.filter(y=>y.toString()!==s),S=Ss(p,0,m.length-1),v=m[S];t(Rs(v||null))}o.isCanvasImage&&t(LR()),o.isControlNetImage&&t(T7()),o.isInitialImage&&t(ER()),o.isNodesImage&&t(RM());const{requestId:u}=t(he.endpoints.deleteImage.initiate(i));await r(d=>he.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(Hs.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},Ule=()=>{le({matcher:he.endpoints.deleteImage.matchPending,effect:()=>{}})},Gle=()=>{le({matcher:he.endpoints.deleteImage.matchFulfilled,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},Hle=()=>{le({matcher:he.endpoints.deleteImage.matchRejected,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},tN=ue("dnd/dndDropped"),qle=()=>{le({actionCreator:tN,effect:async(e,{dispatch:t})=>{const n=fe("images"),{activeData:r,overData:i}=e.payload;if(n.debug({activeData:r,overData:i},"Image or selection dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO.image_name));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(C0(r.payload.imageDTO));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(G_([r.payload.imageDTO.image_name]));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_NAMES"){t(G_(r.payload.image_names));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(Hx({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t($R(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="SET_MULTI_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(u2({nodeId:s,fieldName:o,value:[r.payload.imageDTO]}));return}if(i.actionType==="MOVE_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;if(!s){t(he.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}t(he.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}}})},Wle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},Kle=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},Xle=()=>{le({actionCreator:dJ,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=ble(n());if(!s)return;const a=s.isCanvasImage||s.isInitialImage||s.isControlNetImage||s.isNodesImage;if(o||a){t(I7(!0));return}t(eN({imageDTO:r,imageUsage:s}))}})},ga={title:"Image Uploaded",status:"success"},Yle=()=>{le({matcher:he.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=fe("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Ft({...ga,...l}));else{t(he.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=ec.endpoints.listAllBoards.select()(o),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Ft({...ga,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t($R(i)),t(Ft({...ga,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(Hx({controlNetId:l,controlImage:i.image_name})),t(Ft({...ga,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(C0(i)),t(Ft({...ga,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(u2({nodeId:l,fieldName:u,value:i})),t(Ft({...ga,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(G_([i.image_name])),t(Ft({...ga,description:"Added to batch"}));return}}}})},Qle=()=>{le({matcher:he.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=fe("images"),r={arg:{..._0(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Ft({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},Zle=ue("generation/initialImageSelected"),Jle=ue("generation/modelSelected"),eue=()=>{le({actionCreator:Zle,effect:(e,{dispatch:t})=>{if(!e.payload){t(Ft(Ga({title:kd("toast.imageNotLoadedDesc"),status:"error"})));return}t(C0(e.payload)),t(Ft(Ga(kd("toast.sentToImageToImage"))))}})},tue=()=>{le({actionCreator:Jle,effect:(e,{getState:t,dispatch:n})=>{var l;const r=fe("models"),i=t(),o=xf.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Qa(i.lora.loras,(f,h)=>{f.base_model!==a&&(n(N7(h)),u+=1)});const{vae:c}=i.generation;c&&c.base_model!==a&&(n(PR(null)),u+=1);const{controlNets:d}=i.controlNet;Qa(d,(f,h)=>{var p;((p=f.model)==null?void 0:p.base_model)!==a&&(n(C7({controlNetId:h})),u+=1)}),u>0&&n(Ft(Ga({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(ja(s))}})},jE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),VE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),zE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),UE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),GE=cl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),nue=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Yc=e=>{const t=[];return e.forEach(n=>{const r={...Ln(n),id:nue(n)};t.push(r)}),t},xo=Hs.injectEndpoints({endpoints:e=>({getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${F_.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return jE.setAll(jE.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/main/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return VE.setAll(VE.getInitialState(),i)}}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return zE.setAll(zE.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return GE.setAll(GE.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Be}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Yc(t.models);return UE.setAll(UE.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${F_.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Be}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:L5e,useGetControlNetModelsQuery:$5e,useGetLoRAModelsQuery:F5e,useGetTextualInversionModelsQuery:B5e,useGetVaeModelsQuery:j5e,useUpdateMainModelsMutation:V5e,useDeleteMainModelsMutation:z5e,useImportMainModelsMutation:U5e,useAddMainModelsMutation:G5e,useConvertMainModelsMutation:H5e,useMergeMainModelsMutation:q5e,useSyncModelsMutation:W5e,useGetModelsInFolderQuery:K5e,useGetCheckpointConfigsQuery:X5e}=xo,rue=()=>{le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(ja(l.data))}}),le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(wE(null)),n(Xse(!1));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(wE(l.data))}}),le({matcher:xo.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Ea(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(ja(null));return}const l=pQ.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse VAE model");return}n(PR(l.data))}}),le({matcher:xo.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(N7(s))})}}),le({matcher:xo.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Qa(i,(o,s)=>{Ea(e.payload.entities,l=>{var u,c;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((c=o==null?void 0:o.model)==null?void 0:c.base_model)})||n(C7({controlNetId:s}))})}}),le({matcher:xo.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{fe("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},ra=e=>JSON.parse(JSON.stringify(e)),h2=e=>!("$ref"in e),iue=e=>!("$ref"in e),Y5e=500,oue={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},sue=500,Dt=e=>`var(--invokeai-colors-${e}-${sue})`,Q5e={integer:{color:"red",colorCssVar:Dt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Dt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Dt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Dt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Dt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Dt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Dt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Dt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Dt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Dt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Dt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Dt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Dt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Dt("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Dt("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Dt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Dt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Dt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Dt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Dt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Dt("gray"),title:"Color",description:"A RGBA color."}},Z5e=250,Vb=e=>e.$ref.split("/").slice(-1)[0],aue=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},lue=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},uue=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},cue=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),due=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fue=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),hue=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),pue=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),gue=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),mue=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),yue=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),vue=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bue=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Sue=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_ue=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),wue=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),xue=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Cue=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},HE=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),qE=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Tue=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),nN=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Vb(e.allOf[0]):e.anyOf?r=Vb(e.anyOf[0]):e.oneOf&&(r=Vb(e.oneOf[0]));const i=oue[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Eue=(e,t,n)=>{const r=nN(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return mue({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return yue({schemaObject:e,baseField:i});if(["latents"].includes(r))return vue({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return bue({schemaObject:e,baseField:i});if(["unet"].includes(r))return Sue({schemaObject:e,baseField:i});if(["clip"].includes(r))return _ue({schemaObject:e,baseField:i});if(["vae"].includes(r))return wue({schemaObject:e,baseField:i});if(["control"].includes(r))return xue({schemaObject:e,baseField:i});if(["model"].includes(r))return due({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return fue({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return hue({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return pue({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return gue({schemaObject:e,baseField:i});if(["enum"].includes(r))return Cue({schemaObject:e,baseField:i});if(["integer"].includes(r))return aue({schemaObject:e,baseField:i});if(["number","float"].includes(r))return lue({schemaObject:e,baseField:i});if(["string"].includes(r))return uue({schemaObject:e,baseField:i});if(["boolean"].includes(r))return cue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i});if(["color"].includes(r))return Tue({schemaObject:e,baseField:i});if(["array"].includes(r))return HE({schemaObject:e,baseField:i});if(["item"].includes(r))return qE({schemaObject:e,baseField:i})},Pue=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return h2(i)?Lx(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&h2(a)){const u=nN(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Aue=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],kue=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Oue=e=>{var r;return oR((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!kue.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,c;if(iue(o)){const d=o.properties.type.default,f=Aue(d),h=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),p=(a=o.ui)==null?void 0:a.type_hints,m={};if(d==="collect"){const g=o.properties.item;m.item={type:"item",name:"item",description:g.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(d==="iterate"){const g=o.properties.collection;m.collection={type:"array",name:"collection",title:g.title??"",default:[],description:g.description??"",inputRequirement:"always",inputKind:"connection"}}else Lx(o.properties,(g,b,_)=>{if(!f.includes(_)&&h2(b)){const w=Eue(b,_,p);w&&(g[_]=w)}return g},m);const S=o.output;let v;if(d==="iterate"){const g=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;v={item:{name:"item",title:(g==null?void 0:g.title)??"",description:(g==null?void 0:g.description)??"",type:"array"}}}else v=Pue(S,e,p);const y={title:h,type:d,tags:((c=o.ui)==null?void 0:c.tags)??[],description:o.description??"",inputs:m,outputs:v};Object.assign(i,{[d]:y})}return i},{})},Rue=()=>{le({actionCreator:Df.fulfilled,effect:(e,{dispatch:t})=>{const n=fe("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Oue(r);n.debug({nodeTemplates:ra(i)},`Built ${hR(i)} node templates`),t(dC(i))}}),le({actionCreator:Df.rejected,effect:()=>{fe("system").error("Problem dereferencing OpenAPI Schema")}})},Iue=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Mue=new Map(Iue),Nue=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],p2=Symbol(".toJSON was called"),Due=e=>{e[p2]=!0;const t=e.toJSON();return delete e[p2],t},Lue=e=>Mue.get(e)??Error,rN=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&WE(e)){const u=Lue(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[p2]!==!0)return Due(e);const l=u=>rN({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Nue)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:WE(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function vC(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?rN({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function WE(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const $ue=()=>{le({actionCreator:hl.pending,effect:()=>{}})},Fue=()=>{le({actionCreator:hl.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Bue=()=>{le({actionCreator:hl.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem canceling session")}}})},jue=()=>{le({actionCreator:On.pending,effect:()=>{}})},Vue=()=>{le({actionCreator:On.fulfilled,effect:e=>{const t=fe("session"),n=e.payload;t.debug({session:ra(n)},`Session created (${n.id})`)}})},zue=()=>{le({actionCreator:On.rejected,effect:e=>{const t=fe("session");if(e.payload){const{error:n,status:r}=e.payload,i=ra(e.meta.arg);t.error({graph:i,status:r,error:vC(n)},"Problem creating session")}}})},Uue=()=>{le({actionCreator:yh.pending,effect:()=>{}})},Gue=()=>{le({actionCreator:yh.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Hue=()=>{le({actionCreator:yh.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:vC(r)},"Problem invoking session")}}})},que=()=>{le({actionCreator:pl,effect:(e,{getState:t,dispatch:n})=>{const r=fe("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(yh({session_id:i})))}})},Wue=()=>{le({actionCreator:n7,effect:(e,{dispatch:t,getState:n})=>{fe("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Df()),t(r7(e.payload)),t(xo.util.invalidateTags([{type:"MainModel",id:Be},{type:"SDXLRefinerModel",id:Be},{type:"LoRAModel",id:Be},{type:"ControlNetModel",id:Be},{type:"VaeModel",id:Be},{type:"TextualInversionModel",id:Be},{type:"ScannedModels",id:Be}])),t(gC.util.invalidateTags(["AppConfig","AppVersion"]))}})},Kue=()=>{le({actionCreator:i7,effect:(e,{dispatch:t})=>{fe("socketio").debug("Disconnected"),t(o7(e.payload))}})},Xue=()=>{le({actionCreator:g7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(m7(e.payload))}})},Yue=()=>{le({actionCreator:h7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Session complete"),t(p7(e.payload))}})},Que=["dataURL_image"],Zue=()=>{le({actionCreator:zx,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("socketio"),{data:i}=e.payload;r.debug({data:ra(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(hl({session_id:o}));const{result:l,node:u,graph_execution_state_id:c}=i;if(JM(l)&&!Que.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(he.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t($Q(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?he.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):he.util.updateQueryData("listImages",{board_id:"none",categories:gi},y=>{const g=y.total,_=Kn.addOne(y,p).total-g;y.total=y.total+_})),t(he.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:v}=h;v&&(m&&m!==S?(t(U_(m)),t(Am("images"))):m||t(Am("images")),t(Rs(p.image_name)))}t(yae(null))}t(d7(e.payload))}})},Jue=()=>{le({actionCreator:f7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(Ux(e.payload))}})},ece=()=>{le({actionCreator:_7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(w7(e.payload))}})},tce=()=>{le({actionCreator:u7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(c7(e.payload))}})},nce=()=>{le({actionCreator:y7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(ZZ(e.payload))}}),le({actionCreator:v7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(JZ(e.payload))}})},rce=()=>{le({actionCreator:b7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(S7(e.payload))}})},ice=()=>{le({actionCreator:Vx,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Subscribed"),t(s7(e.payload))}})},oce=()=>{le({actionCreator:a7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Unsubscribed"),t(l7(e.payload))}})},sce=()=>{le({actionCreator:Ele,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(he.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(he.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Ft({title:"Image Saved",status:"success"}))}catch(i){t(Ft({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},J5e=["sd-1","sd-2","sdxl","sdxl-refiner"],ace=["sd-1","sd-2","sdxl"],e4e=["sdxl-refiner"],lce=()=>{le({actionCreator:RR,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=xo.endpoints.getMainModels.select(ace)(t());if(!i){n(ja(null));return}const o=[];Qa(i.entities,u=>{u&&["sd-1","sd-2"].includes(u.base_model)&&o.push(u)});const s=o[0];if(!s){n(ja(null));return}const{base_model:a,model_name:l}=s;n(ja({base_model:a,model_name:l}))}}})},Fe="positive_conditioning",qe="negative_conditioning",dn="text_to_latents",We="latents_to_image",fu="nsfw_checker",Qc="invisible_watermark",Le="noise",Fi="rand_int",Co="range_of_size",lr="iterate",pt="main_model_loader",Zc="vae_loader",uce="lora_loader",it="clip_skip",bt="image_to_latents",Kt="latents_to_latents",Qn="resize_image",Mi="inpaint",Rp="control_net_collect",zb="dynamic_prompt",Ke="metadata_accumulator",KE="esrgan",en="sdxl_model_loader",is="t2l_sdxl",Ni="l2l_sdxl",zl="sdxl_refiner_model_loader",Ip="sdxl_refiner_positive_conditioning",Mp="sdxl_refiner_negative_conditioning",ma="l2l_sdxl_refiner",bC="text_to_image_graph",cce="sdxl_text_to_image_graph",dce="sxdl_image_to_image_graph",Xm="image_to_image_graph",iN="inpaint_graph",fce=({image_name:e,esrganModelName:t})=>{const n={id:KE,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[KE]:n},edges:[]}},hce=ue("upscale/upscaleRequested"),pce=()=>{le({actionCreator:hce,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=fce({image_name:i,esrganModelName:o});t(On({graph:s})),await r(On.fulfilled.match),t(pl())}})},gce=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},XE=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var SC={exports:{}},nv={},oN={},Pe={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof Ee<"u"?Ee:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Pe);var Rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Pe;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,T=this.m[1]*_+this.m[3]*w,P=this.m[0]*-w+this.m[2]*_,E=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=T,this.m[2]=P,this.m[3]=E,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,T=this.m[2]+this.m[0]*b,P=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=T,this.m[3]=P,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],T=this.m[1]*b.m[2]+this.m[3]*b.m[3],P=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],E=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,T=this.m[0]*b,P=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),E=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],T=this.m[4],P=this.m[5],E=b*x-_*w;let A={x:T,y:P,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=E/$,A.skewX=(b*w+_*x)/E,A.skewY=0}else if(w!=0||x!=0){var M=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/M):-Math.acos(w/M)),A.scaleX=E/M,A.scaleY=M,A.skewX=0,A.skewY=(b*w+_*x)/E}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,v=[];const y=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){v.push(g),v.length===1&&y(function(){const b=v;v=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,T=Number(_[2])/100;let P,E,A;if(x===0)return A=T*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};T<.5?P=T*(1+x):P=T+x-T*x;const $=2*T-P,M=[0,0,0];for(let C=0;C<3;C++)E=w+1/3*-(C-1),E<0&&E++,E>1&&E--,6*E<1?A=$+(P-$)*6*E:2*E<1?A=P:3*E<2?A=$+(P-$)*(2/3-E)*6:A=$,M[C]=A*255;return{r:Math.round(M[0]),g:Math.round(M[1]),b:Math.round(M[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(P=_,E=w,A=(_-x)*(_-x)+(w-T)*(w-T)):(P=g+M*(_-g),E=b+M*(w-b),A=(P-x)*(P-x)+(E-T)*(E-T))}return[P,E,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(T,P){if(!(!_&&P===b.length-1)){var E=b[(P+1)%b.length],A=e.Util._getProjectionToSegment(T.x,T.y,E.x,E.y,g.x,g.y),$=A[0],M=A[1],C=A[2];Cb.length){var P=b;b=g,g=P}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,T=0,P=0,E=0;typeof w=="number"?x=T=P=E=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),T=Math.min(w[1]||0,b/2,_/2),E=Math.min(w[2]||0,b/2,_/2),P=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-T,0),g.arc(b-T,T,T,Math.PI*3/2,0,!1),g.lineTo(b,_-E),g.arc(b-E,_-E,E,0,Math.PI/2,!1),g.lineTo(P,_),g.arc(P,_-P,P,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Rt);var wt={},Te={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.getComponentValidator=de.getBooleanValidator=de.getNumberArrayValidator=de.getFunctionValidator=de.getStringOrGradientValidator=de.getStringValidator=de.getNumberOrAutoValidator=de.getNumberOrArrayOfNumbersValidator=de.getNumberValidator=de.alphaComponent=de.RGBComponent=void 0;const Ko=Pe,Nt=Rt;function Xo(e){return Nt.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nt.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function mce(e){return e>255?255:e<0?0:Math.round(e)}de.RGBComponent=mce;function yce(e){return e>1?1:e<1e-4?1e-4:e}de.alphaComponent=yce;function vce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isNumber(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}de.getNumberValidator=vce;function bce(e){if(Ko.Konva.isUnminified)return function(t,n){let r=Nt.Util._isNumber(t),i=Nt.Util._isArray(t)&&t.length==e;return!r&&!i&&Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}de.getNumberOrArrayOfNumbersValidator=bce;function Sce(){if(Ko.Konva.isUnminified)return function(e,t){var n=Nt.Util._isNumber(e),r=e==="auto";return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}de.getNumberOrAutoValidator=Sce;function _ce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isString(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}de.getStringValidator=_ce;function wce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Nt.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}de.getStringOrGradientValidator=wce;function xce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isFunction(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}de.getFunctionValidator=xce;function Cce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nt.Util._isArray(e)?e.forEach(function(r){Nt.Util._isNumber(r)||Nt.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}de.getNumberArrayValidator=Cce;function Tce(){if(Ko.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}de.getBooleanValidator=Tce;function Ece(e){if(Ko.Konva.isUnminified)return function(t,n){return t==null||Nt.Util.isObject(t)||Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}de.getComponentValidator=Ece;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Rt,n=de;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var v={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,y,v),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Te);var _i={},Ro={};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.HitContext=Ro.SceneContext=Ro.Context=void 0;const sN=Rt,Pce=Pe;function Ace(e){var t=[],n=e.length,r=sN.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=kce+u.join(YE)+Oce)):(o+=a.property,t||(o+=Dce+a.val)),o+=Mce;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=$ce&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=QE.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=Ace(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(ov);Object.defineProperty(wt,"__esModule",{value:!0});wt.Node=void 0;const ke=Rt,Ah=Te,Dp=_i,ya=Pe,Br=ov,zt=de;var bg="absoluteOpacity",Lp="allEventListeners",bo="absoluteTransform",ZE="absoluteScale",va="canvas",Hce="Change",qce="children",Wce="konva",g2="listening",JE="mouseenter",e6="mouseleave",t6="set",n6="Shape",Sg=" ",r6="stage",ss="transform",Kce="Stage",m2="visible",Xce=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(Sg);let Yce=1,Se=class y2{constructor(t){this._id=Yce++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===ss||t===bo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===ss||t===bo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(Sg);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(va)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===bo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(va)){const{scene:t,filter:n,hit:r}=this._cache.get(va);ke.Util.releaseCanvas(t,n,r),this._cache.delete(va)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){ke.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new Dp.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new Dp.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new Dp.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(va),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(bg),this._clearSelfAndDescendantCache(ZE),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(va,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(va)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==qce&&(r=t6+ke.Util._capitalize(n),ke.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(g2,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(m2,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Br.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!ya.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==Kce&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(ss),this._clearSelfAndDescendantCache(bo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ke.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(ss);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(ss),this._clearSelfAndDescendantCache(bo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ke.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ke.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ke.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(bg,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ke.Util.isObject(i)&&!ke.Util._isPlainObject(i)&&!ke.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ke.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ke.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():ya.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;Br.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Br.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Br.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ke.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ke.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=y2.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),ya.Konva[r]||(ke.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ya.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Ub.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Ub.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hY.indexOf("pointer")>=0?"pointer":Y.indexOf("touch")>=0?"touch":"mouse",U=Y=>{const B=j(Y);if(B==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(B==="touch")return L.touch;if(B==="mouse")return L.mouse};function G(Y={}){return(Y.clipFunc||Y.clipWidth||Y.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),Y}const W="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class X extends r.Container{constructor(B){super(G(B)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{G(this.attrs)}),this._checkVisibility()}_validateAdd(B){const H=B.getType()==="Layer",Q=B.getType()==="FastLayer";H||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const B=this.visible()?"":"none";this.content.style.display=B}setContainer(B){if(typeof B===c){if(B.charAt(0)==="."){var H=B.slice(1);B=document.getElementsByClassName(H)[0]}else{var Q;B.charAt(0)!=="#"?Q=B:Q=B.slice(1),B=document.getElementById(Q)}if(!B)throw"Can not find container in document with id "+Q}return this._setAttr("container",B),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),B.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var B=this.children,H=B.length,Q;for(Q=0;Q-1&&e.stages.splice(H,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const B=this._pointerPositions[0]||this._changedPointerPositions[0];return B?{x:B.x,y:B.y}:(t.Util.warn(W),null)}_getPointerById(B){return this._pointerPositions.find(H=>H.id===B)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(B){B=B||{},B.x=B.x||0,B.y=B.y||0,B.width=B.width||this.width(),B.height=B.height||this.height();var H=new o.SceneCanvas({width:B.width,height:B.height,pixelRatio:B.pixelRatio||1}),Q=H.getContext()._context,J=this.children;return(B.x||B.y)&&Q.translate(-1*B.x,-1*B.y),J.forEach(function(ne){if(ne.isVisible()){var te=ne._toKonvaCanvas(B);Q.drawImage(te._canvas,B.x,B.y,te.getWidth()/te.getPixelRatio(),te.getHeight()/te.getPixelRatio())}}),H}getIntersection(B){if(!B)return null;var H=this.children,Q=H.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const te=H[ne].getIntersection(B);if(te)return te}return null}_resizeDOM(){var B=this.width(),H=this.height();this.content&&(this.content.style.width=B+d,this.content.style.height=H+d),this.bufferCanvas.setSize(B,H),this.bufferHitCanvas.setSize(B,H),this.children.forEach(Q=>{Q.setSize({width:B,height:H}),Q.draw()})}add(B,...H){if(arguments.length>1){for(var Q=0;QR&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),B.setSize({width:this.width(),height:this.height()}),B.draw(),i.Konva.isBrowser&&this.content.appendChild(B.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(B){return l.hasPointerCapture(B,this)}setPointerCapture(B){l.setPointerCapture(B,this)}releaseCapture(B){l.releaseCapture(B,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([B,H])=>{this.content.addEventListener(B,Q=>{this[H](Q)},{passive:!1})})}_pointerenter(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerenter,{evt:B,target:this,currentTarget:this})}_pointerover(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerover,{evt:B,target:this,currentTarget:this})}_getTargetShape(B){let H=this[B+"targetShape"];return H&&!H.getStage()&&(H=null),H}_pointerleave(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(H.pointerout,{evt:B}),J._fireAndBubble(H.pointerleave,{evt:B}),this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this._fire(H.pointerout,{evt:B,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=!1;this._changedPointerPositions.forEach(ne=>{var te=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(te&&te.isListening()))return;i.Konva.capturePointerEventsEnabled&&te.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=te,te._fireAndBubble(H.pointerdown,{evt:B,pointerId:ne.id}),J=!0;const ve=B.type.indexOf("touch")>=0;te.preventDefault()&&B.cancelable&&ve&&B.preventDefault()}),J||this._fire(H.pointerdown,{evt:B,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(B){const H=U(B.type),Q=j(B.type);if(!H)return;s.DD.isDragging&&s.DD.node.preventDefault()&&B.cancelable&&B.preventDefault(),this.setPointersPositions(B);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let te=!1;var xe=this._getTargetShape(Q);this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve),Ne=ve.id,se={evt:B,pointerId:Ne};var gt=xe!==ce;if(gt&&xe&&(xe._fireAndBubble(H.pointerout,Object.assign({},se),ce),xe._fireAndBubble(H.pointerleave,Object.assign({},se),ce)),ce){if(ne[ce._id])return;ne[ce._id]=!0}ce&&ce.isListening()?(te=!0,gt&&(ce._fireAndBubble(H.pointerover,Object.assign({},se),xe),ce._fireAndBubble(H.pointerenter,Object.assign({},se),xe),this[Q+"targetShape"]=ce),ce._fireAndBubble(H.pointermove,Object.assign({},se))):xe&&(this._fire(H.pointerover,{evt:B,target:this,currentTarget:this,pointerId:Ne}),this[Q+"targetShape"]=null)}),te||this._fire(H.pointermove,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(B){const H=U(B.type),Q=j(B.type);if(!H)return;this.setPointersPositions(B);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var te={};let xe=!1;this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve);if(ce){if(ce.releaseCapture(ve.id),te[ce._id])return;te[ce._id]=!0}const Ne=ve.id,se={evt:B,pointerId:Ne};let gt=!1;i.Konva["_"+Q+"InDblClickWindow"]?(gt=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),ce&&ce.isListening()?(xe=!0,this[Q+"ClickEndShape"]=ce,ce._fireAndBubble(H.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===ce&&(ce._fireAndBubble(H.pointerclick,Object.assign({},se)),gt&&ne&&ne===ce&&ce._fireAndBubble(H.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(H.pointerclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}),gt&&this._fire(H.pointerdblclick,{evt:B,target:this,currentTarget:this,pointerId:Ne}))}),xe||this._fire(H.pointerup,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,B.cancelable&&Q!=="touch"&&B.preventDefault()}_contextmenu(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble($,{evt:B}):this._fire($,{evt:B,target:this,currentTarget:this})}_wheel(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble(N,{evt:B}):this._fire(N,{evt:B,target:this,currentTarget:this})}_pointercancel(B){this.setPointersPositions(B);const H=l.getCapturedShape(B.pointerId)||this.getIntersection(this.getPointerPosition());H&&H._fireAndBubble(_,l.createEvent(B)),l.releaseCapture(B.pointerId)}_lostpointercapture(B){l.releaseCapture(B.pointerId)}setPointersPositions(B){var H=this._getContentPosition(),Q=null,J=null;B=B||window.event,B.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(B.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})}),Array.prototype.forEach.call(B.changedTouches||B.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})})):(Q=(B.clientX-H.left)/H.scaleX,J=(B.clientY-H.top)/H.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}])}_setPointerPosition(B){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(B)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var B=this.content.getBoundingClientRect();return{top:B.top,left:B.left,scaleX:B.width/this.content.clientWidth||1,scaleY:B.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var B=this.container();if(!B)throw"Stage has no container. A container is required.";B.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),B.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(B){B.batchDraw()}),this}}e.Stage=X,X.prototype.nodeType=u,(0,a._registerNode)(X),n.Factory.addGetterSetter(X,"container")})(uN);var kh={},sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Pe,n=Rt,r=Te,i=wt,o=de,s=Pe,a=Tr;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(P){const E=this.attrs.fillRule;E?P.fill(E):P.fill()}function S(P){P.stroke()}function v(P){P.fill()}function y(P){P.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class T extends i.Node{constructor(E){super(E);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var E=p();const A=E.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const M=$.getMatrix(),C=typeof DOMMatrix>"u"?{a:M[0],b:M[1],c:M[2],d:M[3],e:M[4],f:M[5]}:new DOMMatrix(M);A.setTransform(C)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var E=this.fillLinearGradientColorStops();if(E){for(var A=p(),$=this.fillLinearGradientStartPoint(),M=this.fillLinearGradientEndPoint(),C=A.createLinearGradient($.x,$.y,M.x,M.y),O=0;Othis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const E=this.hitStrokeWidth();return E==="auto"?this.hasStroke():this.strokeEnabled()&&!!E}intersects(E){var A=this.getStage(),$=A.bufferHitCanvas,M;return $.getContext().clear(),this.drawHit($,null,!0),M=$.context.getImageData(Math.round(E.x),Math.round(E.y),1,1).data,M[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(E){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const M=E||this.hasFill(),C=this.hasStroke(),O=this.getAbsoluteOpacity()!==1;if(M&&C&&O)return!0;const I=this.hasShadow(),N=this.shadowForStrokeEnabled();return!!(M&&C&&I&&N)}setStrokeHitEnabled(E){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),E?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var E=this.size();return{x:this._centroid?-E.width/2:0,y:this._centroid?-E.height/2:0,width:E.width,height:E.height}}getClientRect(E={}){const A=E.skipTransform,$=E.relativeTo,M=this.getSelfRect(),O=!E.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,I=M.width+O,N=M.height+O,R=!E.skipShadow&&this.hasShadow(),D=R?this.shadowOffsetX():0,L=R?this.shadowOffsetY():0,j=I+Math.abs(D),U=N+Math.abs(L),G=R&&this.shadowBlur()||0,W=j+G*2,X=U+G*2,Y={width:W,height:X,x:-(O/2+G)+Math.min(D,0)+M.x,y:-(O/2+G)+Math.min(L,0)+M.y};return A?Y:this._transformedRect(Y,$)}drawScene(E,A){var $=this.getLayer(),M=E||$.getCanvas(),C=M.getContext(),O=this._getCanvasCache(),I=this.getSceneFunc(),N=this.hasShadow(),R,D,L,j=M.isCache,U=A===this;if(!this.isVisible()&&!U)return this;if(O){C.save();var G=this.getAbsoluteTransform(A).getMatrix();return C.transform(G[0],G[1],G[2],G[3],G[4],G[5]),this._drawCachedSceneCanvas(C),C.restore(),this}if(!I)return this;if(C.save(),this._useBufferCanvas()&&!j){R=this.getStage(),D=R.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var W=this.getAbsoluteTransform(A).getMatrix();L.transform(W[0],W[1],W[2],W[3],W[4],W[5]),I.call(this,L,this),L.restore();var X=D.pixelRatio;N&&C._applyShadow(this),C._applyOpacity(this),C._applyGlobalCompositeOperation(this),C.drawImage(D._canvas,0,0,D.width/X,D.height/X)}else{if(C._applyLineJoin(this),!U){var W=this.getAbsoluteTransform(A).getMatrix();C.transform(W[0],W[1],W[2],W[3],W[4],W[5]),C._applyOpacity(this),C._applyGlobalCompositeOperation(this)}N&&C._applyShadow(this),I.call(this,C,this)}return C.restore(),this}drawHit(E,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var M=this.getLayer(),C=E||M.hitCanvas,O=C&&C.getContext(),I=this.hitFunc()||this.sceneFunc(),N=this._getCanvasCache(),R=N&&N.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),R){O.save();var D=this.getAbsoluteTransform(A).getMatrix();return O.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(O),O.restore(),this}if(!I)return this;if(O.save(),O._applyLineJoin(this),!(this===A)){var j=this.getAbsoluteTransform(A).getMatrix();O.transform(j[0],j[1],j[2],j[3],j[4],j[5])}return I.call(this,O,this),O.restore(),this}drawHitFromCache(E=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),M=A.hit,C=M.getContext(),O=M.getWidth(),I=M.getHeight(),N,R,D,L,j,U;C.clear(),C.drawImage($._canvas,0,0,O,I);try{for(N=C.getImageData(0,0,O,I),R=N.data,D=R.length,L=n.Util._hexToRgb(this.colorKey),j=0;jE?(R[j]=L.r,R[j+1]=L.g,R[j+2]=L.b,R[j+3]=255):R[j+3]=0;C.putImageData(N,0,0)}catch(G){n.Util.error("Unable to draw hit graph from cached scene canvas. "+G.message)}return this}hasPointerCapture(E){return a.hasPointerCapture(E,this)}setPointerCapture(E){a.setPointerCapture(E,this)}releaseCapture(E){a.releaseCapture(E,this)}}e.Shape=T,T.prototype._fillFunc=m,T.prototype._strokeFunc=S,T.prototype._fillFuncHit=v,T.prototype._strokeFuncHit=y,T.prototype._centroid=!1,T.prototype.nodeType="Shape",(0,s._registerNode)(T),T.prototype.eventListeners={},T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(T,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(T,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(T,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"lineJoin"),r.Factory.addGetterSetter(T,"lineCap"),r.Factory.addGetterSetter(T,"sceneFunc"),r.Factory.addGetterSetter(T,"hitFunc"),r.Factory.addGetterSetter(T,"dash"),r.Factory.addGetterSetter(T,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(T,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(T,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternImage"),r.Factory.addGetterSetter(T,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(T,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(T,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(T,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(T,"fillEnabled",!0),r.Factory.addGetterSetter(T,"strokeEnabled",!0),r.Factory.addGetterSetter(T,"shadowEnabled",!0),r.Factory.addGetterSetter(T,"dashEnabled",!0),r.Factory.addGetterSetter(T,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(T,"fillPriority","color"),r.Factory.addComponentsGetterSetter(T,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(T,"fillPatternRotation",0),r.Factory.addGetterSetter(T,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(T,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(sn);Object.defineProperty(kh,"__esModule",{value:!0});kh.Layer=void 0;const go=Rt,Gb=gl,Ul=wt,wC=Te,i6=_i,tde=de,nde=sn,rde=Pe;var ide="#",ode="beforeDraw",sde="draw",fN=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],ade=fN.length;class vc extends Gb.Container{constructor(t){super(t),this.canvas=new i6.SceneCanvas,this.hitCanvas=new i6.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ode,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Gb.Container.prototype.drawScene.call(this,i,n),this._fire(sde,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Gb.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return go.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}kh.Layer=vc;vc.prototype.nodeType="Layer";(0,rde._registerNode)(vc);wC.Factory.addGetterSetter(vc,"imageSmoothingEnabled",!0);wC.Factory.addGetterSetter(vc,"clearBeforeDraw",!0);wC.Factory.addGetterSetter(vc,"hitGraphEnabled",!0,(0,tde.getBooleanValidator)());var av={};Object.defineProperty(av,"__esModule",{value:!0});av.FastLayer=void 0;const lde=Rt,ude=kh,cde=Pe;class xC extends ude.Layer{constructor(t){super(t),this.listening(!1),lde.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}av.FastLayer=xC;xC.prototype.nodeType="FastLayer";(0,cde._registerNode)(xC);var bc={};Object.defineProperty(bc,"__esModule",{value:!0});bc.Group=void 0;const dde=Rt,fde=gl,hde=Pe;class CC extends fde.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&dde.Util.throw("You may only add groups and shapes to groups.")}}bc.Group=CC;CC.prototype.nodeType="Group";(0,hde._registerNode)(CC);var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0});Sc.Animation=void 0;const Hb=Pe,o6=Rt;var qb=function(){return Hb.glob.performance&&Hb.glob.performance.now?function(){return Hb.glob.performance.now()}:function(){return new Date().getTime()}}();class Gi{constructor(t,n){this.id=Gi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:qb(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,v=S._id,y,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?y=.3:p.duration===0?y=.001:y=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,y*1e3,b),this._addListeners(),f.attrs[v]||(f.attrs[v]={}),f.attrs[v][this._id]||(f.attrs[v][this._id]={}),f.tweens[v]||(f.tweens[v]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,v=S._id,y,g,b,_,w,x,T,P;if(b=f.tweens[v][p],b&&delete f.attrs[v][b][p],y=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,y.length),p==="points"&&m.length!==y.length&&(m.length>y.length?(T=y,y=t.Util._prepareArrayForTween(y,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,y,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],v;this.pause();for(v in S)delete f.tweens[p][v];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var v=1.70158;return m*(h/=S)*h*((v+1)*h-v)+p},BackEaseOut(h,p,m,S){var v=1.70158;return m*((h=h/S-1)*h*((v+1)*h+v)+1)+p},BackEaseInOut(h,p,m,S){var v=1.70158;return(h/=S/2)<1?m/2*(h*h*(((v*=1.525)+1)*h-v))+p:m/2*((h-=2)*h*(((v*=1.525)+1)*h+v)+2)+p},ElasticEaseIn(h,p,m,S,v,y){var g=0;return h===0?p:(h/=S)===1?p+m:(y||(y=S*.3),!v||v0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}lv.Arc=Yo;Yo.prototype._centroid=!0;Yo.prototype.className="Arc";Yo.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,gde._registerNode)(Yo);uv.Factory.addGetterSetter(Yo,"innerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"outerRadius",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"angle",0,(0,cv.getNumberValidator)());uv.Factory.addGetterSetter(Yo,"clockwise",!1,(0,cv.getBooleanValidator)());var dv={},Oh={};Object.defineProperty(Oh,"__esModule",{value:!0});Oh.Line=void 0;const fv=Te,mde=sn,pN=de,yde=Pe;function v2(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function a6(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),v=m/h,y=l+S,g=v-S*S,b=y*y+g>0?Math.sqrt(y*y+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((y+b)/(S+_))):0;return Math.sqrt(h)/2*(y*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(gN);Object.defineProperty(_c,"__esModule",{value:!0});_c.Path=void 0;const vde=Te,bde=sn,Sde=Pe,Gl=gN;class Jt extends bde.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Jt.parsePathData(this.data()),this.pathLength=Jt.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,v=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,v),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/v),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=Jt.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Jt.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Jt.getPointOnCubicBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Jt.getPointOnQuadraticBezier((0,Gl.t2length)(t,Jt.getPathLength(n),m=>(0,Gl.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,Jt.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var y=null,g=[],b=l,_=u,w,x,T,P,E,A,$,M,C,O;switch(h){case"l":l+=p.shift(),u+=p.shift(),y="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var I=p.shift(),N=p.shift();if(l+=I,u+=N,y="M",s.length>2&&s[s.length-1].command==="z"){for(var R=s.length-2;R>=0;R--)if(s[R].command==="M"){l=s[R].points[0]+I,u=s[R].points[1]+N;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),y="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),y="L",g.push(l,u);break;case"H":l=p.shift(),y="L",g.push(l,u);break;case"v":u+=p.shift(),y="L",g.push(l,u);break;case"V":u=p.shift(),y="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"S":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,p.shift(),p.shift()),l=p.shift(),u=p.shift(),y="C",g.push(l,u);break;case"s":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),y="Q",g.push(l,u);break;case"T":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l=p.shift(),u=p.shift(),y="Q",g.push(x,T,l,u);break;case"t":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),y="Q",g.push(x,T,l,u);break;case"A":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l=p.shift(),u=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break;case"a":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),M=p.shift(),C=l,O=u,l+=p.shift(),u+=p.shift(),y="A",g=this.convertEndpointToCenterParameterization(C,O,l,u,$,M,P,E,A);break}s.push({command:y||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,y||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Jt;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,Gl.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Gl.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,v=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,y=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(E){return Math.sqrt(E[0]*E[0]+E[1]*E[1])},b=function(E,A){return(E[0]*A[0]+E[1]*A[1])/(g(E)*g(A))},_=function(E,A){return(E[0]*A[1]=1&&(P=0),s===0&&P>0&&(P=P-2*Math.PI),s===1&&P<0&&(P=P+2*Math.PI),[v,y,a,l,w,P,c,s]}}_c.Path=Jt;Jt.prototype.className="Path";Jt.prototype._attrsAffectingSize=["data"];(0,Sde._registerNode)(Jt);vde.Factory.addGetterSetter(Jt,"data");Object.defineProperty(dv,"__esModule",{value:!0});dv.Arrow=void 0;const hv=Te,_de=Oh,mN=de,wde=Pe,l6=_c;class yl extends _de.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=l6.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=l6.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}dv.Arrow=yl;yl.prototype.className="Arrow";(0,wde._registerNode)(yl);hv.Factory.addGetterSetter(yl,"pointerLength",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerWidth",10,(0,mN.getNumberValidator)());hv.Factory.addGetterSetter(yl,"pointerAtBeginning",!1);hv.Factory.addGetterSetter(yl,"pointerAtEnding",!0);var pv={};Object.defineProperty(pv,"__esModule",{value:!0});pv.Circle=void 0;const xde=Te,Cde=sn,Tde=de,Ede=Pe;let wc=class extends Cde.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};pv.Circle=wc;wc.prototype._centroid=!0;wc.prototype.className="Circle";wc.prototype._attrsAffectingSize=["radius"];(0,Ede._registerNode)(wc);xde.Factory.addGetterSetter(wc,"radius",0,(0,Tde.getNumberValidator)());var gv={};Object.defineProperty(gv,"__esModule",{value:!0});gv.Ellipse=void 0;const TC=Te,Pde=sn,yN=de,Ade=Pe;class oa extends Pde.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}gv.Ellipse=oa;oa.prototype.className="Ellipse";oa.prototype._centroid=!0;oa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,Ade._registerNode)(oa);TC.Factory.addComponentsGetterSetter(oa,"radius",["x","y"]);TC.Factory.addGetterSetter(oa,"radiusX",0,(0,yN.getNumberValidator)());TC.Factory.addGetterSetter(oa,"radiusY",0,(0,yN.getNumberValidator)());var mv={};Object.defineProperty(mv,"__esModule",{value:!0});mv.Image=void 0;const Wb=Rt,vl=Te,kde=sn,Ode=Pe,Rh=de;let ao=class vN extends kde.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Wb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Wb.Util.createImageElement();i.onload=function(){var o=new vN({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};mv.Image=ao;ao.prototype.className="Image";(0,Ode._registerNode)(ao);vl.Factory.addGetterSetter(ao,"cornerRadius",0,(0,Rh.getNumberOrArrayOfNumbersValidator)(4));vl.Factory.addGetterSetter(ao,"image");vl.Factory.addComponentsGetterSetter(ao,"crop",["x","y","width","height"]);vl.Factory.addGetterSetter(ao,"cropX",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropY",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropWidth",0,(0,Rh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropHeight",0,(0,Rh.getNumberValidator)());var oc={};Object.defineProperty(oc,"__esModule",{value:!0});oc.Tag=oc.Label=void 0;const yv=Te,Rde=sn,Ide=bc,EC=de,bN=Pe;var SN=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],Mde="Change.konva",Nde="none",b2="up",S2="right",_2="down",w2="left",Dde=SN.length;class PC extends Ide.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bv.RegularPolygon=Sl;Sl.prototype.className="RegularPolygon";Sl.prototype._centroid=!0;Sl.prototype._attrsAffectingSize=["radius"];(0,zde._registerNode)(Sl);_N.Factory.addGetterSetter(Sl,"radius",0,(0,wN.getNumberValidator)());_N.Factory.addGetterSetter(Sl,"sides",0,(0,wN.getNumberValidator)());var Sv={};Object.defineProperty(Sv,"__esModule",{value:!0});Sv.Ring=void 0;const xN=Te,Ude=sn,CN=de,Gde=Pe;var u6=Math.PI*2;class _l extends Ude.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,u6,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),u6,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}Sv.Ring=_l;_l.prototype.className="Ring";_l.prototype._centroid=!0;_l.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,Gde._registerNode)(_l);xN.Factory.addGetterSetter(_l,"innerRadius",0,(0,CN.getNumberValidator)());xN.Factory.addGetterSetter(_l,"outerRadius",0,(0,CN.getNumberValidator)());var _v={};Object.defineProperty(_v,"__esModule",{value:!0});_v.Sprite=void 0;const wl=Te,Hde=sn,qde=Sc,TN=de,Wde=Pe;class lo extends Hde.Shape{constructor(t){super(t),this._updated=!0,this.anim=new qde.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Fp;function Xb(){return Fp||(Fp=x2.Util.createCanvasElement().getContext(efe),Fp)}function dfe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function ffe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function hfe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Ut extends Yde.Shape{constructor(t){super(hfe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(v+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=x2.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(tfe,n),this}getWidth(){var t=this.attrs.width===Hl||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Hl||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return x2.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Xb(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+$p+this.fontVariant()+$p+(this.fontSize()+ofe)+cfe(this.fontFamily())}_addTextLine(t){this.align()===Jc&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Xb().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==Hl&&o!==void 0,l=s!==Hl&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==f6,m=h!==lfe&&p,S=this.ellipsis();this.textArr=[],Xb().font=this._getContextFont();for(var v=S?this._getTextWidth(Kb):0,y=0,g=t.length;yc)for(;b.length>0;){for(var w=0,x=b.length,T="",P=0;w>>1,A=b.slice(0,E+1),$=this._getTextWidth(A)+v;$<=c?(w=E+1,T=A,P=$):x=E}if(T){if(m){var M,C=b[T.length],O=C===$p||C===c6;O&&P<=c?M=T.length:M=Math.max(T.lastIndexOf($p),T.lastIndexOf(c6))+1,M>0&&(w=M,T=T.slice(0,w),P=this._getTextWidth(T))}T=T.trimRight(),this._addTextLine(T),r=Math.max(r,P),f+=i;var I=this._shouldHandleEllipsis(f);if(I){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&yd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Hl&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==f6;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Hl&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Kb)n?null:ed.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=ed.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${NN}`).join(" "),g6="nodesRect",_fe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],wfe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const xfe="ontouchstart"in si.Konva._global;function Cfe(e,t){if(e==="rotater")return"crosshair";t+=Je.Util.degToRad(wfe[e]||0);var n=(Je.Util.radToDeg(t)%360+360)%360;return Je.Util._inRange(n,315+22.5,360)||Je.Util._inRange(n,0,22.5)?"ns-resize":Je.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":Je.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":Je.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":Je.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":Je.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":Je.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":Je.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(Je.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var Qm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],m6=1e8;function Tfe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function DN(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Efe(e,t){const n=Tfe(e);return DN(e,t,n)}function Pfe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Je.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(_fe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(g6),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(g6,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(si.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return DN(c,-si.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-m6,y:-m6,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new Je.Transform;r.rotate(-si.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:si.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Qm.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new vfe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:xfe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=si.Konva.getAngle(this.rotation()),o=Cfe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new yfe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*Je.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let M=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(M-=Math.PI);var f=si.Konva.getAngle(this.rotation());const C=f+M,O=si.Konva.getAngle(this.rotationSnapTolerance()),N=Pfe(this.rotationSnaps(),C,O)-d.rotation,R=Efe(d,N);this._fitNodesInto(R,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,v=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*v,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var y=o.position();this.findOne(".top-left").y(y.y),this.findOne(".bottom-right").x(y.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Je.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Je.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new Je.Transform;if(s.rotate(si.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:Je.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new Je.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new Je.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new Je.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(Je.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Je.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Je.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),p6.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return h6.Node.prototype.toObject.call(this)}clone(t){var n=h6.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Cv.Transformer=ze;function Afe(e){return e instanceof Array||Je.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Qm.indexOf(t)===-1&&Je.Util.warn("Unknown anchor name: "+t+". Available names are: "+Qm.join(", "))}),e||[]}ze.prototype.className="Transformer";(0,bfe._registerNode)(ze);Ze.Factory.addGetterSetter(ze,"enabledAnchors",Qm,Afe);Ze.Factory.addGetterSetter(ze,"flipEnabled",!0,(0,la.getBooleanValidator)());Ze.Factory.addGetterSetter(ze,"resizeEnabled",!0);Ze.Factory.addGetterSetter(ze,"anchorSize",10,(0,la.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"rotateEnabled",!0);Ze.Factory.addGetterSetter(ze,"rotationSnaps",[]);Ze.Factory.addGetterSetter(ze,"rotateAnchorOffset",50,(0,la.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"rotationSnapTolerance",5,(0,la.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"borderEnabled",!0);Ze.Factory.addGetterSetter(ze,"anchorStroke","rgb(0, 161, 255)");Ze.Factory.addGetterSetter(ze,"anchorStrokeWidth",1,(0,la.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"anchorFill","white");Ze.Factory.addGetterSetter(ze,"anchorCornerRadius",0,(0,la.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"borderStroke","rgb(0, 161, 255)");Ze.Factory.addGetterSetter(ze,"borderStrokeWidth",1,(0,la.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"borderDash");Ze.Factory.addGetterSetter(ze,"keepRatio",!0);Ze.Factory.addGetterSetter(ze,"shiftBehavior","default");Ze.Factory.addGetterSetter(ze,"centeredScaling",!1);Ze.Factory.addGetterSetter(ze,"ignoreStroke",!1);Ze.Factory.addGetterSetter(ze,"padding",0,(0,la.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"node");Ze.Factory.addGetterSetter(ze,"nodes");Ze.Factory.addGetterSetter(ze,"boundBoxFunc");Ze.Factory.addGetterSetter(ze,"anchorDragBoundFunc");Ze.Factory.addGetterSetter(ze,"anchorStyleFunc");Ze.Factory.addGetterSetter(ze,"shouldOverdrawWholeArea",!1);Ze.Factory.addGetterSetter(ze,"useSingleNodeRotation",!0);Ze.Factory.backCompat(ze,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Tv={};Object.defineProperty(Tv,"__esModule",{value:!0});Tv.Wedge=void 0;const Ev=Te,kfe=sn,Ofe=Pe,LN=de,Rfe=Pe;class Qo extends kfe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Ofe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Tv.Wedge=Qo;Qo.prototype.className="Wedge";Qo.prototype._centroid=!0;Qo.prototype._attrsAffectingSize=["radius"];(0,Rfe._registerNode)(Qo);Ev.Factory.addGetterSetter(Qo,"radius",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"angle",0,(0,LN.getNumberValidator)());Ev.Factory.addGetterSetter(Qo,"clockwise",!1);Ev.Factory.backCompat(Qo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var Pv={};Object.defineProperty(Pv,"__esModule",{value:!0});Pv.Blur=void 0;const y6=Te,Ife=wt,Mfe=de;function v6(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Nfe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Dfe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Lfe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,v,y,g,b,_,w,x,T,P,E,A,$,M=t+t+1,C=r-1,O=i-1,I=t+1,N=I*(I+1)/2,R=new v6,D=null,L=R,j=null,U=null,G=Nfe[t],W=Dfe[t];for(a=1;a>W,A!==0?(A=255/A,n[c]=(f*G>>W)*A,n[c+1]=(h*G>>W)*A,n[c+2]=(p*G>>W)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=d+((l=o+t+1)>W,A>0?(A=255/A,n[l]=(f*G>>W)*A,n[l+1]=(h*G>>W)*A,n[l+2]=(p*G>>W)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=v,p-=y,m-=g,S-=j.r,v-=j.g,y-=j.b,g-=j.a,l=o+((l=s+I)0&&Lfe(t,n)};Pv.Blur=$fe;y6.Factory.addGetterSetter(Ife.Node,"blurRadius",0,(0,Mfe.getNumberValidator)(),y6.Factory.afterSetFilter);var Av={};Object.defineProperty(Av,"__esModule",{value:!0});Av.Brighten=void 0;const b6=Te,Ffe=wt,Bfe=de,jfe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};kv.Contrast=Ufe;S6.Factory.addGetterSetter(Vfe.Node,"contrast",0,(0,zfe.getNumberValidator)(),S6.Factory.afterSetFilter);var Ov={};Object.defineProperty(Ov,"__esModule",{value:!0});Ov.Emboss=void 0;const Ws=Te,Rv=wt,Gfe=Rt,$N=de,Hfe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Gfe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,v=s;m+v<1&&(v=0),m+v>l&&(v=0);var y=p+(m-1+v)*4,g=a[S]-a[y],b=a[S+1]-a[y+1],_=a[S+2]-a[y+2],w=g,x=w>0?w:-w,T=b>0?b:-b,P=_>0?_:-_;if(T>x&&(w=b),P>x&&(w=_),w*=t,i){var E=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=E>255?255:E<0?0:E,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var M=n-w;M<0?M=0:M>255&&(M=255),a[S]=a[S+1]=a[S+2]=M}}while(--m)}while(--d)};Ov.Emboss=Hfe;Ws.Factory.addGetterSetter(Rv.Node,"embossStrength",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossWhiteLevel",.5,(0,$N.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossDirection","top-left",null,Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Rv.Node,"embossBlend",!1,null,Ws.Factory.afterSetFilter);var Iv={};Object.defineProperty(Iv,"__esModule",{value:!0});Iv.Enhance=void 0;const _6=Te,qfe=wt,Wfe=de;function Zb(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const Kfe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,v,y,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),y=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),v=(a+s)*.5,y=a+h*(a-v),g=s+h*(s-v),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fv?S:v;var y=s,g=o,b,_,w=360/g*Math.PI/180,x,T;for(_=0;_g?y:g;var b=s,_=o,w,x,T=n.polarRotation||0,P,E;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function uhe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};jv.Pixelate=yhe;T6.Factory.addGetterSetter(ghe.Node,"pixelSize",8,(0,mhe.getNumberValidator)(),T6.Factory.afterSetFilter);var Vv={};Object.defineProperty(Vv,"__esModule",{value:!0});Vv.Posterize=void 0;const E6=Te,vhe=wt,bhe=de,She=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Jm.Factory.addGetterSetter(NC.Node,"blue",0,_he.RGBComponent,Jm.Factory.afterSetFilter);var Uv={};Object.defineProperty(Uv,"__esModule",{value:!0});Uv.RGBA=void 0;const Bf=Te,Gv=wt,xhe=de,Che=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(Gv.Node,"blue",0,xhe.RGBComponent,Bf.Factory.afterSetFilter);Bf.Factory.addGetterSetter(Gv.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var Hv={};Object.defineProperty(Hv,"__esModule",{value:!0});Hv.Sepia=void 0;const The=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};qv.Solarize=Ehe;var Wv={};Object.defineProperty(Wv,"__esModule",{value:!0});Wv.Threshold=void 0;const P6=Te,Phe=wt,Ahe=de,khe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new nd.Stage({container:o,width:r,height:i}),a=new nd.Layer,l=new nd.Layer;return a.add(new nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},gpe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),O6=async(e,t)=>{const n=e.toDataURL(t);return await gpe(n,t.width,t.height)},mpe=async(e,t,n,r,i)=>{const o=fe("canvas"),s=tv(),a=Ple();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await Km(u,d),h=await O6(u,d),p=await ppe(r?e.objects.filter(MR):[],l,i),m=await Km(p,l),S=await O6(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},ype=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=ype(e.data),i=vpe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},Spe=e=>oR(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Kv=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Spe(i),s=t.nodes[Ke];if(r&&o.length&&o.length){const a={id:Rp,type:"collect",is_intermediate:!0};t.nodes[Rp]=a,t.edges.push({source:{node_id:Rp,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:v,weight:y}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:y};if(d&&v!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=_0(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Rp,field:"item"}})})}},xc=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[Ke];if(a){rY(t.nodes[Fe],"prompt");const c={id:zb,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[zb]=c,t.nodes[lr]=d,t.edges.push({source:{node_id:zb,field:"prompt_collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Fe,field:"prompt"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Ke,field:"positive_prompt"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Ke,field:"seed"}})}else t.nodes[Le].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Co,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[lr]=d,t.nodes[Co]=c,t.edges.push({source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}}),t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Le,field:"seed"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Ke,field:"seed"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else c.start=i}},Mh=(e,t,n)=>{const{loras:r}=e.lora,i=hR(r),o=t.nodes[Ke];i>0&&(t.edges=t.edges.filter(l=>!(l.source.node_id===pt&&["unet"].includes(l.source.field))),t.edges=t.edges.filter(l=>!(l.source.node_id===it&&["clip"].includes(l.source.field))));let s="",a=0;Qa(r,l=>{const{model_name:u,base_model:c,weight:d}=l,f=`${uce}_${u.replace(".","_")}`,h={type:"lora_loader",id:f,is_intermediate:!0,lora:{model_name:u,base_model:c},weight:d};o&&o.loras.push({lora:{model_name:u,base_model:c},weight:d}),t.nodes[f]=h,a===0?(t.edges.push({source:{node_id:pt,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:it,field:"clip"},destination:{node_id:f,field:"clip"}})):(t.edges.push({source:{node_id:s,field:"unet"},destination:{node_id:f,field:"unet"}}),t.edges.push({source:{node_id:s,field:"clip"},destination:{node_id:f,field:"clip"}})),a===i-1&&(t.edges.push({source:{node_id:f,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:Fe,field:"clip"}}),t.edges.push({source:{node_id:f,field:"clip"},destination:{node_id:qe,field:"clip"}})),s=f,a+=1})},jN=Jn(e=>e.ui,e=>AR[e.activeTab],{memoizeOptions:{equalityCheck:S0}}),r4e=Jn(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:S0}}),i4e=Jn(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:S0}}),xl=(e,t,n=We)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Ke];if(!o)return;o.is_intermediate=!0;const a={id:fu,type:"img_nsfw",is_intermediate:i};t.nodes[fu]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:fu,field:"image"}}),s&&t.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:fu,field:"metadata"}})},Nh=(e,t)=>{const{vae:n}=e.generation,r=!n,i=t.nodes[Ke];r||(t.nodes[Zc]={type:"vae_loader",id:Zc,is_intermediate:!0,vae_model:n}),(t.id===bC||t.id===Xm)&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:We,field:"vae"}}),t.id===Xm&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.id===iN&&t.edges.push({source:{node_id:r?pt:Zc,field:"vae"},destination:{node_id:Mi,field:"vae"}}),n&&i&&(i.vae=n)},Cl=(e,t,n=We)=>{const i=jN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[fu],a=t.nodes[Ke];if(!o)return;const l={id:Qc,type:"img_watermark",is_intermediate:i};t.nodes[Qc]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:fu,field:"image"},destination:{node_id:Qc,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Qc,field:"image"}}),a&&t.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:Qc,field:"metadata"}})},_pe=(e,t)=>{const n=fe("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f}=e.generation,{width:h,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:m}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const S=f?d:Wo.shouldUseCpuNoise,v={id:Xm,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:r},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:i},[Le]:{type:"noise",id:Le,is_intermediate:!0,use_cpu:S},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:o},[it]:{type:"clip_skip",id:it,is_intermediate:!0,skipped_layers:c},[Kt]:{type:"l2l",id:Kt,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[bt]:{type:"i2l",id:bt,is_intermediate:!0},[We]:{type:"l2i",id:We,is_intermediate:!m}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(t.width!==h||t.height!==p){const y={id:Qn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:h,height:p};v.nodes[Qn]=y,v.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),v.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else v.nodes[bt].image={image_name:t.image_name},v.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),v.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return v.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:p,width:h,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:S?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:c,strength:u,init_image:t.image_name},v.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),Mh(e,v,Kt),Nh(e,v),xc(e,v),Kv(e,v,Kt),e.system.shouldUseNSFWChecker&&xl(e,v),e.system.shouldUseWatermarker&&Cl(e,v),v},wpe=(e,t,n)=>{const r=fe("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:c,shouldFitToWidthHeight:d,iterations:f,seed:h,shouldRandomizeSeed:p,seamSize:m,seamBlur:S,seamSteps:v,seamStrength:y,tileSize:g,infillMethod:b,clipSkip:_}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:w,height:x}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:T,boundingBoxScaleMethod:P,shouldAutoSave:E}=e.canvas,A={id:iN,nodes:{[Mi]:{is_intermediate:!E,type:"inpaint",id:Mi,steps:u,width:w,height:x,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:c,fit:d,mask:{image_name:n.image_name},seam_size:m,seam_blur:S,seam_strength:y,seam_steps:v,tile_size:b==="tile"?g:void 0,infill_method:b,inpaint_width:P!=="none"?T.width:void 0,inpaint_height:P!=="none"?T.height:void 0},[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:i},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:o},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:s},[it]:{type:"clip_skip",id:it,is_intermediate:!0,skipped_layers:_},[Co]:{type:"range_of_size",id:Co,is_intermediate:!0,size:f,step:1},[lr]:{type:"iterate",id:lr,is_intermediate:!0}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Mi,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Mi,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Mi,field:"positive_conditioning"}},{source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Mi,field:"seed"}}]};if(Mh(e,A,Mi),Nh(e,A),p){const $={id:Fi,type:"rand_int"};A.nodes[Fi]=$,A.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else A.nodes[Co].start=h;return e.system.shouldUseNSFWChecker&&xl(e,A,Mi),e.system.shouldUseWatermarker&&Cl(e,A,Mi),A},xpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:c}=e.generation,{width:d,height:f}=e.canvas.boundingBoxDimensions,{shouldAutoSave:h}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const p=c?u:Wo.shouldUseCpuNoise,m={id:bC,nodes:{[Fe]:{type:"compel",id:Fe,is_intermediate:!0,prompt:n},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:r},[Le]:{type:"noise",id:Le,is_intermediate:!0,width:d,height:f,use_cpu:p},[dn]:{type:"t2l",id:dn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},[pt]:{type:"main_model_loader",id:pt,is_intermediate:!0,model:i},[it]:{type:"clip_skip",id:it,is_intermediate:!0,skipped_layers:l},[We]:{type:"l2i",id:We,is_intermediate:!h}},edges:[{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:pt,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:dn,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},m.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Cpe=(e,t,n,r)=>{let i;if(t==="txt2img")i=xpe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=_pe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=wpe(e,n,r)}return i},Tpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:c}=o.canvas,d=await mpe(s,a,l,u,c);if(!d){i.error("Unable to create canvas data");return}const{baseBlob:f,baseImageData:h,maskBlob:p,maskImageData:m}=d,S=bpe(h,m);if(o.system.enableImageDebugging){const x=await XE(f),T=await XE(p);gce([{base64:T,caption:"mask b64"},{base64:x,caption:"image b64"}])}i.debug(`Generation mode: ${S}`);let v,y;["img2img","inpaint","outpaint"].includes(S)&&(v=await n(he.endpoints.uploadImage.initiate({file:new File([f],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(S)&&(y=await n(he.endpoints.uploadImage.initiate({file:new File([p],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const g=Cpe(o,S,v,y);i.debug({graph:ra(g)},"Canvas graph built"),n(KM(g));const{requestId:b}=n(On({graph:g})),[_]=await r(x=>On.fulfilled.match(x)&&x.meta.requestId===b),w=_.payload.id;["img2img","inpaint"].includes(S)&&v&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:v,session_id:w})),["inpaint"].includes(S)&&y&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:y,session_id:w})),o.canvas.layerState.stagingArea.boundingBox||n(jQ({sessionId:w,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(VQ(w)),n(pl())}})},Epe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:c,width:d,height:f,clipSkip:h,shouldUseCpuNoise:p,shouldUseNoiseSettings:m,vaePrecision:S}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=m?p:Wo.shouldUseCpuNoise,y={id:Xm,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[it]:{type:"clip_skip",id:it,skipped_layers:h},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,use_cpu:v},[We]:{type:"l2i",id:We,fp32:S==="fp32"},[Kt]:{type:"l2l",id:Kt,cfg_scale:o,scheduler:s,steps:a,strength:u},[bt]:{type:"i2l",id:bt,fp32:S==="fp32"}},edges:[{source:{node_id:pt,field:"unet"},destination:{node_id:Kt,field:"unet"}},{source:{node_id:pt,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Kt,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Kt,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Kt,field:"noise"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Kt,field:"negative_conditioning"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Kt,field:"positive_conditioning"}}]};if(c&&(l.width!==d||l.height!==f)){const g={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};y.nodes[Qn]=g,y.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),y.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else y.nodes[bt].image={image_name:l.imageName},y.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),y.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return y.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:v?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:h,strength:u,init_image:l.imageName},y.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),Mh(e,y,Kt),Nh(e,y),xc(e,y),Kv(e,y,Kt),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},VN=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:c,refinerCFGScale:d,refinerStart:f}=e.sdxl;if(!o)return;const h=t.nodes[Ke];h&&(h.refiner_model=o,h.refiner_aesthetic_store=s,h.refiner_cfg_scale=d,h.refiner_scheduler=c,h.refiner_start=f,h.refiner_steps=u),t.edges=t.edges.filter(p=>!(p.source.node_id===n&&["latents"].includes(p.source.field))),t.edges=t.edges.filter(p=>!(p.source.node_id===en&&["vae"].includes(p.source.field))),n===Ni&&t.edges.push({source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}}),t.nodes[zl]={type:"sdxl_refiner_model_loader",id:zl,model:o},t.nodes[Ip]={type:"sdxl_refiner_compel_prompt",id:Ip,style:`${r} ${a}`,aesthetic_score:s},t.nodes[Mp]={type:"sdxl_refiner_compel_prompt",id:Mp,style:`${i} ${l}`,aesthetic_score:s},t.nodes[ma]={type:"l2l_sdxl",id:ma,cfg_scale:d,steps:u/(1-Math.min(f,.99)),scheduler:c,denoising_start:f,denoising_end:1},t.edges.push({source:{node_id:zl,field:"unet"},destination:{node_id:ma,field:"unet"}},{source:{node_id:zl,field:"vae"},destination:{node_id:We,field:"vae"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Ip,field:"clip2"}},{source:{node_id:zl,field:"clip2"},destination:{node_id:Mp,field:"clip2"}},{source:{node_id:Ip,field:"conditioning"},destination:{node_id:ma,field:"positive_conditioning"}},{source:{node_id:Mp,field:"conditioning"},destination:{node_id:ma,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:ma,field:"latents"}},{source:{node_id:ma,field:"latents"},destination:{node_id:We,field:"latents"}})},Ppe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p,vaePrecision:m}=e.generation,{positiveStylePrompt:S,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:y,shouldUseSDXLRefiner:g,refinerStart:b,sdxlImg2ImgDenoisingStrength:_}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const w=p?h:Wo.shouldUseCpuNoise,x={id:dce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:y?`${n} ${S}`:S},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:y?`${r} ${v}`:v},[Le]:{type:"noise",id:Le,use_cpu:w},[We]:{type:"l2i",id:We,fp32:m==="fp32"},[Ni]:{type:"l2l_sdxl",id:Ni,cfg_scale:o,scheduler:s,steps:a,denoising_start:g?Math.min(b,1-_):1-_,denoising_end:g?b:1},[bt]:{type:"i2l",id:bt,fp32:m==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:Ni,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:We,field:"vae"}},{source:{node_id:en,field:"vae"},destination:{node_id:bt,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Ni,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:bt,field:"latents"},destination:{node_id:Ni,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:Ni,field:"noise"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:Ni,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Ni,field:"negative_conditioning"}}]};if(u&&(l.width!==c||l.height!==d)){const T={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:c,height:d};x.nodes[Qn]=T,x.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:bt,field:"image"}}),x.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:Le,field:"width"}}),x.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:Le,field:"height"}})}else x.nodes[bt].image={image_name:l.imageName},x.edges.push({source:{node_id:bt,field:"width"},destination:{node_id:Le,field:"width"}}),x.edges.push({source:{node_id:bt,field:"height"},destination:{node_id:Le,field:"height"}});return x.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:d,width:c,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:w?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:_,init_image:l.imageName,positive_style_prompt:S,negative_style_prompt:v},x.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),g&&VN(e,x,Ni),xc(e,x),e.system.shouldUseNSFWChecker&&xl(e,x),e.system.shouldUseWatermarker&&Cl(e,x),x},Ape=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=Ppe(o):a=Epe(o),n(WM(a)),i.debug({graph:ra(a)},"Image to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})};let jp;const kpe=new Uint8Array(16);function Ope(){if(!jp&&(jp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!jp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return jp(kpe)}const Cn=[];for(let e=0;e<256;++e)Cn.push((e+256).toString(16).slice(1));function Rpe(e,t=0){return(Cn[e[t+0]]+Cn[e[t+1]]+Cn[e[t+2]]+Cn[e[t+3]]+"-"+Cn[e[t+4]]+Cn[e[t+5]]+"-"+Cn[e[t+6]]+Cn[e[t+7]]+"-"+Cn[e[t+8]]+Cn[e[t+9]]+"-"+Cn[e[t+10]]+Cn[e[t+11]]+Cn[e[t+12]]+Cn[e[t+13]]+Cn[e[t+14]]+Cn[e[t+15]]).toLowerCase()}const Ipe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),R6={randomUUID:Ipe};function Mpe(e,t,n){if(R6.randomUUID&&!t&&!e)return R6.randomUUID();e=e||{};const r=e.random||(e.rng||Ope)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Rpe(r)}const Npe=e=>{if(e.type==="color"&&e.value){const t=Ln(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},Dpe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:c}=l,{type:d,inputs:f}=c,h=Lx(f,(m,S,v)=>{const y=Npe(S);return m[v]=y,m},{}),p={type:d,id:u,...h};return Object.assign(a,{[u]:p}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:c,sourceHandle:d,targetHandle:f}=l;return a.push({source:{node_id:u,field:d},destination:{node_id:c,field:f}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=_0(l,u)}),{id:Mpe(),nodes:i,edges:o}},Lpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=Dpe(o);n(XM(s)),i.debug({graph:ra(s)},"Nodes graph built"),n(On({graph:s})),await r(On.fulfilled.match),n(pl())}})},$pe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,{positiveStylePrompt:p,negativeStylePrompt:m,shouldConcatSDXLStylePrompt:S,shouldUseSDXLRefiner:v,refinerStart:y}=e.sdxl,g=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const b={id:cce,nodes:{[en]:{type:"sdxl_model_loader",id:en,model:i},[Fe]:{type:"sdxl_compel_prompt",id:Fe,prompt:n,style:S?`${n} ${p}`:p},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:S?`${r} ${m}`:m},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:g},[is]:{type:"t2l_sdxl",id:is,cfg_scale:o,scheduler:s,steps:a,denoising_end:v?y:1},[We]:{type:"l2i",id:We,fp32:h==="fp32"}},edges:[{source:{node_id:en,field:"unet"},destination:{node_id:is,field:"unet"}},{source:{node_id:en,field:"vae"},destination:{node_id:We,field:"vae"}},{source:{node_id:en,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:Fe,field:"clip2"}},{source:{node_id:en,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:en,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:is,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:is,field:"negative_conditioning"}},{source:{node_id:Le,field:"noise"},destination:{node_id:is,field:"noise"}},{source:{node_id:is,field:"latents"},destination:{node_id:We,field:"latents"}}]};return b.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:g?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c,positive_style_prompt:p,negative_style_prompt:m},b.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),v&&VN(e,b,is),xc(e,b),e.system.shouldUseNSFWChecker&&xl(e,b),e.system.shouldUseWatermarker&&Cl(e,b),b},Fpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,p=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m={id:bC,nodes:{[pt]:{type:"main_model_loader",id:pt,model:i},[it]:{type:"clip_skip",id:it,skipped_layers:c},[Fe]:{type:"compel",id:Fe,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[Le]:{type:"noise",id:Le,width:l,height:u,use_cpu:p},[dn]:{type:"t2l",id:dn,cfg_scale:o,scheduler:s,steps:a},[We]:{type:"l2i",id:We,fp32:h==="fp32"}},edges:[{source:{node_id:pt,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:pt,field:"unet"},destination:{node_id:dn,field:"unet"}},{source:{node_id:it,field:"clip"},destination:{node_id:Fe,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Fe,field:"conditioning"},destination:{node_id:dn,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:dn,field:"negative_conditioning"}},{source:{node_id:dn,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:Le,field:"noise"},destination:{node_id:dn,field:"noise"}}]};return m.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c},m.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),Mh(e,m,dn),Nh(e,m),xc(e,m),Kv(e,m,dn),e.system.shouldUseNSFWChecker&&xl(e,m),e.system.shouldUseWatermarker&&Cl(e,m),m},Bpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=$pe(o):a=Fpe(o),n(qM(a)),i.debug({graph:ra(a)},"Text to Image graph built"),n(On({graph:a})),await r(On.fulfilled.match),n(pl())}})},zN=Wk(),le=zN.startListening;Yle();Qle();eue();zle();Ule();Gle();Hle();Sle();Xle();Tpe();Lpe();Bpe();Ape();que();Dle();Ile();Ole();Nle();sce();ple();Xue();Yue();Zue();Jue();tce();Wue();Kue();ice();oce();nce();rce();ece();jue();Vue();zue();Uue();Gue();Hue();$ue();Fue();Bue();Fle();$le();Ble();jle();Wle();Kle();_le();Rue();qle();tue();vle();rue();mle();gle();pce();lce();const jpe={canvas:zQ,gallery:lJ,generation:SQ,nodes:qse,postprocessing:Wse,system:Sae,config:oY,ui:wQ,hotkeys:Cae,controlNet:rJ,boards:aJ,dynamicPrompts:oJ,imageDeletion:fJ,lora:pJ,modelmanager:xae,sdxl:Yse,[Hs.reducerPath]:Hs.reducer},Vpe=pc(jpe),zpe=Xae(Vpe),Upe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],Gpe=Pk({reducer:zpe,enhancers:e=>e.concat(Yae(window.localStorage,Upe,{persistDebounce:300,serialize:ale,unserialize:ule,prefix:Qae})).concat(Xk()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hs.middleware).concat(Aae).prepend(zN.middleware),devTools:{actionSanitizer:dle,stateSanitizer:hle,trace:!0,predicate:(e,t)=>!fle.includes(t.type)}}),o4e=e=>e;function Hpe(e){if(e.sheet)return e.sheet;for(var t=0;t0?Pn(Cc,--Sr):0,lc--,Xt===10&&(lc=1,Yv--),Xt}function Ar(){return Xt=Sr2||Vf(Xt)>3?"":" "}function ige(e,t){for(;--t&&Ar()&&!(Xt<48||Xt>102||Xt>57&&Xt<65||Xt>70&&Xt<97););return Dh(e,_g()+(t<6&&Zi()==32&&Ar()==32))}function T2(e){for(;Ar();)switch(Xt){case e:return Sr;case 34:case 39:e!==34&&e!==39&&T2(Xt);break;case 40:e===41&&T2(e);break;case 92:Ar();break}return Sr}function oge(e,t){for(;Ar()&&e+Xt!==47+10;)if(e+Xt===42+42&&Zi()===47)break;return"/*"+Dh(t,Sr-1)+"*"+Xv(e===47?e:Ar())}function sge(e){for(;!Vf(Zi());)Ar();return Dh(e,Sr)}function age(e){return KN(xg("",null,null,null,[""],e=WN(e),0,[0],e))}function xg(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,v=1,y=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=y,y=Ar()){case 40:if(p!=108&&Pn(x,d-1)==58){C2(x+=He(wg(y),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:x+=wg(y);break;case 9:case 10:case 13:case 32:x+=rge(p);break;case 92:x+=ige(_g()-1,7);continue;case 47:switch(Zi()){case 42:case 47:Vp(lge(oge(Ar(),_g()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=Bi(x)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:S=0;case 59+c:v==-1&&(x=He(x,/\f/g,"")),h>0&&Bi(x)-d&&Vp(h>32?M6(x+";",r,n,d-1):M6(He(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(Vp(w=I6(x,t,n,u,c,i,a,g,b=[],_=[],d),o),y===123)if(c===0)xg(x,t,w,w,b,o,d,a,_);else switch(f===99&&Pn(x,3)===110?100:f){case 100:case 108:case 109:case 115:xg(e,w,w,r&&Vp(I6(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:xg(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=v=1,g=x="",d=s;break;case 58:d=1+Bi(x),h=p;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&nge()==125)continue}switch(x+=Xv(y),y*m){case 38:v=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(Bi(x)-1)*v,v=1;break;case 64:Zi()===45&&(x+=wg(Ar())),f=Zi(),c=d=Bi(g=x+=sge(_g())),y++;break;case 45:p===45&&Bi(x)==2&&(m=0)}}return o}function I6(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=$C(f),p=0,m=0,S=0;p0?f[v]+" "+y:He(y,/&\f/g,f[v])))&&(l[S++]=g);return Qv(e,t,n,i===0?DC:a,l,u,c)}function lge(e,t,n){return Qv(e,t,n,UN,Xv(tge()),jf(e,2,-2),0)}function M6(e,t,n,r){return Qv(e,t,n,LC,jf(e,0,r),jf(e,r+1,-1),r)}function Lu(e,t){for(var n="",r=$C(e),i=0;i6)switch(Pn(e,t+1)){case 109:if(Pn(e,t+4)!==45)break;case 102:return He(e,/(.+:)(.+)-([^]+)/,"$1"+Ge+"$2-$3$1"+ey+(Pn(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~C2(e,"stretch")?YN(He(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Pn(e,t+1)!==115)break;case 6444:switch(Pn(e,Bi(e)-3-(~C2(e,"!important")&&10))){case 107:return He(e,":",":"+Ge)+e;case 101:return He(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ge+(Pn(e,14)===45?"inline-":"")+"box$3$1"+Ge+"$2$3$1"+Dn+"$2box$3")+e}break;case 5936:switch(Pn(e,t+11)){case 114:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Ge+e+Dn+e+e}return e}var yge=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case LC:t.return=YN(t.value,t.length);break;case GN:return Lu([rd(t,{value:He(t.value,"@","@"+Ge)})],i);case DC:if(t.length)return ege(t.props,function(o){switch(Jpe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Lu([rd(t,{props:[He(o,/:(read-\w+)/,":"+ey+"$1")]})],i);case"::placeholder":return Lu([rd(t,{props:[He(o,/:(plac\w+)/,":"+Ge+"input-$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,":"+ey+"$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,Dn+"input-$1")]})],i)}return""})}},vge=[yge],bge=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||vge,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),v=1;v=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var xge={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Cge=/[A-Z]|^ms/g,Tge=/_EMO_([^_]+?)_([^]*?)_EMO_/g,JN=function(t){return t.charCodeAt(1)===45},L6=function(t){return t!=null&&typeof t!="boolean"},Jb=XN(function(e){return JN(e)?e:e.replace(Cge,"-$&").toLowerCase()}),$6=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Tge,function(r,i,o){return ji={name:i,styles:o,next:ji},i})}return xge[t]!==1&&!JN(t)&&typeof n=="number"&&n!==0?n+"px":n};function zf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return ji={name:n.name,styles:n.styles,next:ji},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ji={name:r.name,styles:r.styles,next:ji},r=r.next;var i=n.styles+";";return i}return Ege(e,t,n)}case"function":{if(e!==void 0){var o=ji,s=n(e);return ji=o,zf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function Ege(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var iD=k.createContext({});iD.displayName="ColorModeContext";function BC(){const e=k.useContext(iD);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function l4e(e,t){const{colorMode:n}=BC();return n==="dark"?t:e}function Nge(){const e=BC(),t=rD();return{...e,theme:t}}function Dge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function Lge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function u4e(e,t,n){const r=rD();return $ge(e,t,n)(r)}function $ge(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return Dge(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return Lge(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var oD=(...e)=>e.filter(Boolean).join(" ");function Fge(){return!1}function Io(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var c4e=e=>{const{condition:t,message:n}=e;t&&Fge()&&console.warn(n)};function Na(e,...t){return Bge(e)?e(...t):e}var Bge=e=>typeof e=="function",d4e=e=>e?"":void 0,f4e=e=>e?!0:void 0;function h4e(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function p4e(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var ty={exports:{}};ty.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",v="[object Null]",y="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",T="[object WeakMap]",P="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",M="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",I="[object Uint8Array]",N="[object Uint8ClampedArray]",R="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,j=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,G={};G[A]=G[$]=G[M]=G[C]=G[O]=G[I]=G[N]=G[R]=G[D]=!0,G[a]=G[l]=G[P]=G[c]=G[E]=G[d]=G[f]=G[h]=G[m]=G[S]=G[y]=G[b]=G[_]=G[w]=G[T]=!1;var W=typeof Ee=="object"&&Ee&&Ee.Object===Object&&Ee,X=typeof self=="object"&&self&&self.Object===Object&&self,Y=W||X||Function("return this")(),B=t&&!t.nodeType&&t,H=B&&!0&&e&&!e.nodeType&&e,Q=H&&H.exports===B,J=Q&&W.process,ne=function(){try{var F=H&&H.require&&H.require("util").types;return F||J&&J.binding&&J.binding("util")}catch{}}(),te=ne&&ne.isTypedArray;function xe(F,V,q){switch(q.length){case 0:return F.call(V);case 1:return F.call(V,q[0]);case 2:return F.call(V,q[0],q[1]);case 3:return F.call(V,q[0],q[1],q[2])}return F.apply(V,q)}function ve(F,V){for(var q=-1,ie=Array(F);++q-1}function fo(F,V){var q=this.__data__,ie=kl(q,F);return ie<0?(++this.size,q.push([F,V])):q[ie][1]=V,this}wn.prototype.clear=co,wn.prototype.delete=Zo,wn.prototype.get=Jo,wn.prototype.has=Al,wn.prototype.set=fo;function qn(F){var V=-1,q=F==null?0:F.length;for(this.clear();++V1?q[De-1]:void 0,mt=De>2?q[2]:void 0;for(rt=F.length>3&&typeof rt=="function"?(De--,rt):void 0,mt&&V$(q[0],q[1],mt)&&(rt=De<3?void 0:rt,De=1),V=Object(V);++ie-1&&F%1==0&&F0){if(++V>=i)return arguments[0]}else V=0;return F.apply(void 0,arguments)}}function X$(F){if(F!=null){try{return tt.call(F)}catch{}try{return F+""}catch{}}return""}function Kh(F,V){return F===V||F!==F&&V!==V}var P1=qh(function(){return arguments}())?qh:function(F){return Oc(F)&&Gt.call(F,"callee")&&!ri.call(F,"callee")},A1=Array.isArray;function k1(F){return F!=null&&k3(F.length)&&!O1(F)}function Y$(F){return Oc(F)&&k1(F)}var A3=ca||tF;function O1(F){if(!ha(F))return!1;var V=Rl(F);return V==h||V==p||V==u||V==g}function k3(F){return typeof F=="number"&&F>-1&&F%1==0&&F<=s}function ha(F){var V=typeof F;return F!=null&&(V=="object"||V=="function")}function Oc(F){return F!=null&&typeof F=="object"}function Q$(F){if(!Oc(F)||Rl(F)!=y)return!1;var V=wr(F);if(V===null)return!0;var q=Gt.call(V,"constructor")&&V.constructor;return typeof q=="function"&&q instanceof q&&tt.call(q)==Lr}var O3=te?ce(te):kc;function Z$(F){return L$(F,R3(F))}function R3(F){return k1(F)?_1(F,!0):A$(F)}var J$=$$(function(F,V,q,ie){T3(F,V,q,ie)});function eF(F){return function(){return F}}function I3(F){return F}function tF(){return!1}e.exports=J$})(ty,ty.exports);var jge=ty.exports;const Wi=al(jge);var Vge=e=>/!(important)?$/.test(e),j6=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,zge=(e,t)=>n=>{const r=String(t),i=Vge(r),o=j6(r),s=e?`${e}.${o}`:o;let a=Io(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=j6(a),i?`${a} !important`:a};function jC(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=zge(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var zp=(...e)=>t=>e.reduce((n,r)=>r(n),t);function jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=jC({scale:e,transform:t}),r}}var Uge=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function Gge(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Uge(t),transform:n?jC({scale:n,compose:r}):r}}var sD=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Hge(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...sD].join(" ")}function qge(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...sD].join(" ")}var Wge={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Kge={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function Xge(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Yge={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},E2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Qge=new Set(Object.values(E2)),P2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Zge=e=>e.trim();function Jge(e,t){if(e==null||P2.has(e))return e;if(!(A2(e)||P2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(Zge).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in E2?E2[l]:l;u.unshift(c);const d=u.map(f=>{if(Qge.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=A2(m)?m:m&&m.split(" "),v=`colors.${p}`,y=v in t.__cssMap?t.__cssMap[v].varRef:p;return S?[y,...Array.isArray(S)?S:[S]].join(" "):y});return`${a}(${d.join(", ")})`}var A2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),eme=(e,t)=>Jge(e,t??{});function tme(e){return/^var\(--.+\)$/.test(e)}var nme=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Ii=e=>t=>`${e}(${t})`,je={filter(e){return e!=="auto"?e:Wge},backdropFilter(e){return e!=="auto"?e:Kge},ring(e){return Xge(je.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Hge():e==="auto-gpu"?qge():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=nme(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(tme(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:eme,blur:Ii("blur"),opacity:Ii("opacity"),brightness:Ii("brightness"),contrast:Ii("contrast"),dropShadow:Ii("drop-shadow"),grayscale:Ii("grayscale"),hueRotate:Ii("hue-rotate"),invert:Ii("invert"),saturate:Ii("saturate"),sepia:Ii("sepia"),bgImage(e){return e==null||A2(e)||P2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=Yge[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},z={borderWidths:jr("borderWidths"),borderStyles:jr("borderStyles"),colors:jr("colors"),borders:jr("borders"),gradients:jr("gradients",je.gradient),radii:jr("radii",je.px),space:jr("space",zp(je.vh,je.px)),spaceT:jr("space",zp(je.vh,je.px)),degreeT(e){return{property:e,transform:je.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:jC({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:jr("sizes",zp(je.vh,je.px)),sizesT:jr("sizes",zp(je.vh,je.fraction)),shadows:jr("shadows"),logical:Gge,blur:jr("blur",je.blur)},Cg={background:z.colors("background"),backgroundColor:z.colors("backgroundColor"),backgroundImage:z.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:je.bgClip},bgSize:z.prop("backgroundSize"),bgPosition:z.prop("backgroundPosition"),bg:z.colors("background"),bgColor:z.colors("backgroundColor"),bgPos:z.prop("backgroundPosition"),bgRepeat:z.prop("backgroundRepeat"),bgAttachment:z.prop("backgroundAttachment"),bgGradient:z.gradients("backgroundImage"),bgClip:{transform:je.bgClip}};Object.assign(Cg,{bgImage:Cg.backgroundImage,bgImg:Cg.backgroundImage});var Ue={border:z.borders("border"),borderWidth:z.borderWidths("borderWidth"),borderStyle:z.borderStyles("borderStyle"),borderColor:z.colors("borderColor"),borderRadius:z.radii("borderRadius"),borderTop:z.borders("borderTop"),borderBlockStart:z.borders("borderBlockStart"),borderTopLeftRadius:z.radii("borderTopLeftRadius"),borderStartStartRadius:z.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:z.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:z.radii("borderTopRightRadius"),borderStartEndRadius:z.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:z.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:z.borders("borderRight"),borderInlineEnd:z.borders("borderInlineEnd"),borderBottom:z.borders("borderBottom"),borderBlockEnd:z.borders("borderBlockEnd"),borderBottomLeftRadius:z.radii("borderBottomLeftRadius"),borderBottomRightRadius:z.radii("borderBottomRightRadius"),borderLeft:z.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:z.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:z.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:z.borders(["borderLeft","borderRight"]),borderInline:z.borders("borderInline"),borderY:z.borders(["borderTop","borderBottom"]),borderBlock:z.borders("borderBlock"),borderTopWidth:z.borderWidths("borderTopWidth"),borderBlockStartWidth:z.borderWidths("borderBlockStartWidth"),borderTopColor:z.colors("borderTopColor"),borderBlockStartColor:z.colors("borderBlockStartColor"),borderTopStyle:z.borderStyles("borderTopStyle"),borderBlockStartStyle:z.borderStyles("borderBlockStartStyle"),borderBottomWidth:z.borderWidths("borderBottomWidth"),borderBlockEndWidth:z.borderWidths("borderBlockEndWidth"),borderBottomColor:z.colors("borderBottomColor"),borderBlockEndColor:z.colors("borderBlockEndColor"),borderBottomStyle:z.borderStyles("borderBottomStyle"),borderBlockEndStyle:z.borderStyles("borderBlockEndStyle"),borderLeftWidth:z.borderWidths("borderLeftWidth"),borderInlineStartWidth:z.borderWidths("borderInlineStartWidth"),borderLeftColor:z.colors("borderLeftColor"),borderInlineStartColor:z.colors("borderInlineStartColor"),borderLeftStyle:z.borderStyles("borderLeftStyle"),borderInlineStartStyle:z.borderStyles("borderInlineStartStyle"),borderRightWidth:z.borderWidths("borderRightWidth"),borderInlineEndWidth:z.borderWidths("borderInlineEndWidth"),borderRightColor:z.colors("borderRightColor"),borderInlineEndColor:z.colors("borderInlineEndColor"),borderRightStyle:z.borderStyles("borderRightStyle"),borderInlineEndStyle:z.borderStyles("borderInlineEndStyle"),borderTopRadius:z.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:z.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:z.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:z.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Ue,{rounded:Ue.borderRadius,roundedTop:Ue.borderTopRadius,roundedTopLeft:Ue.borderTopLeftRadius,roundedTopRight:Ue.borderTopRightRadius,roundedTopStart:Ue.borderStartStartRadius,roundedTopEnd:Ue.borderStartEndRadius,roundedBottom:Ue.borderBottomRadius,roundedBottomLeft:Ue.borderBottomLeftRadius,roundedBottomRight:Ue.borderBottomRightRadius,roundedBottomStart:Ue.borderEndStartRadius,roundedBottomEnd:Ue.borderEndEndRadius,roundedLeft:Ue.borderLeftRadius,roundedRight:Ue.borderRightRadius,roundedStart:Ue.borderInlineStartRadius,roundedEnd:Ue.borderInlineEndRadius,borderStart:Ue.borderInlineStart,borderEnd:Ue.borderInlineEnd,borderTopStartRadius:Ue.borderStartStartRadius,borderTopEndRadius:Ue.borderStartEndRadius,borderBottomStartRadius:Ue.borderEndStartRadius,borderBottomEndRadius:Ue.borderEndEndRadius,borderStartRadius:Ue.borderInlineStartRadius,borderEndRadius:Ue.borderInlineEndRadius,borderStartWidth:Ue.borderInlineStartWidth,borderEndWidth:Ue.borderInlineEndWidth,borderStartColor:Ue.borderInlineStartColor,borderEndColor:Ue.borderInlineEndColor,borderStartStyle:Ue.borderInlineStartStyle,borderEndStyle:Ue.borderInlineEndStyle});var rme={color:z.colors("color"),textColor:z.colors("color"),fill:z.colors("fill"),stroke:z.colors("stroke")},k2={boxShadow:z.shadows("boxShadow"),mixBlendMode:!0,blendMode:z.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:z.prop("backgroundBlendMode"),opacity:!0};Object.assign(k2,{shadow:k2.boxShadow});var ime={filter:{transform:je.filter},blur:z.blur("--chakra-blur"),brightness:z.propT("--chakra-brightness",je.brightness),contrast:z.propT("--chakra-contrast",je.contrast),hueRotate:z.degreeT("--chakra-hue-rotate"),invert:z.propT("--chakra-invert",je.invert),saturate:z.propT("--chakra-saturate",je.saturate),dropShadow:z.propT("--chakra-drop-shadow",je.dropShadow),backdropFilter:{transform:je.backdropFilter},backdropBlur:z.blur("--chakra-backdrop-blur"),backdropBrightness:z.propT("--chakra-backdrop-brightness",je.brightness),backdropContrast:z.propT("--chakra-backdrop-contrast",je.contrast),backdropHueRotate:z.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:z.propT("--chakra-backdrop-invert",je.invert),backdropSaturate:z.propT("--chakra-backdrop-saturate",je.saturate)},ny={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:je.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:z.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:z.space("gap"),rowGap:z.space("rowGap"),columnGap:z.space("columnGap")};Object.assign(ny,{flexDir:ny.flexDirection});var aD={gridGap:z.space("gridGap"),gridColumnGap:z.space("gridColumnGap"),gridRowGap:z.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},ome={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:je.outline},outlineOffset:!0,outlineColor:z.colors("outlineColor")},zr={width:z.sizesT("width"),inlineSize:z.sizesT("inlineSize"),height:z.sizes("height"),blockSize:z.sizes("blockSize"),boxSize:z.sizes(["width","height"]),minWidth:z.sizes("minWidth"),minInlineSize:z.sizes("minInlineSize"),minHeight:z.sizes("minHeight"),minBlockSize:z.sizes("minBlockSize"),maxWidth:z.sizes("maxWidth"),maxInlineSize:z.sizes("maxInlineSize"),maxHeight:z.sizes("maxHeight"),maxBlockSize:z.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:z.propT("float",je.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(zr,{w:zr.width,h:zr.height,minW:zr.minWidth,maxW:zr.maxWidth,minH:zr.minHeight,maxH:zr.maxHeight,overscroll:zr.overscrollBehavior,overscrollX:zr.overscrollBehaviorX,overscrollY:zr.overscrollBehaviorY});var sme={listStyleType:!0,listStylePosition:!0,listStylePos:z.prop("listStylePosition"),listStyleImage:!0,listStyleImg:z.prop("listStyleImage")};function ame(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},ume=lme(ame),cme={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},dme={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},eS=(e,t,n)=>{const r={},i=ume(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},fme={srOnly:{transform(e){return e===!0?cme:e==="focusable"?dme:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>eS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>eS(t,e,n)}},Od={position:!0,pos:z.prop("position"),zIndex:z.prop("zIndex","zIndices"),inset:z.spaceT("inset"),insetX:z.spaceT(["left","right"]),insetInline:z.spaceT("insetInline"),insetY:z.spaceT(["top","bottom"]),insetBlock:z.spaceT("insetBlock"),top:z.spaceT("top"),insetBlockStart:z.spaceT("insetBlockStart"),bottom:z.spaceT("bottom"),insetBlockEnd:z.spaceT("insetBlockEnd"),left:z.spaceT("left"),insetInlineStart:z.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:z.spaceT("right"),insetInlineEnd:z.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Od,{insetStart:Od.insetInlineStart,insetEnd:Od.insetInlineEnd});var hme={ring:{transform:je.ring},ringColor:z.colors("--chakra-ring-color"),ringOffset:z.prop("--chakra-ring-offset-width"),ringOffsetColor:z.colors("--chakra-ring-offset-color"),ringInset:z.prop("--chakra-ring-inset")},dt={margin:z.spaceT("margin"),marginTop:z.spaceT("marginTop"),marginBlockStart:z.spaceT("marginBlockStart"),marginRight:z.spaceT("marginRight"),marginInlineEnd:z.spaceT("marginInlineEnd"),marginBottom:z.spaceT("marginBottom"),marginBlockEnd:z.spaceT("marginBlockEnd"),marginLeft:z.spaceT("marginLeft"),marginInlineStart:z.spaceT("marginInlineStart"),marginX:z.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:z.spaceT("marginInline"),marginY:z.spaceT(["marginTop","marginBottom"]),marginBlock:z.spaceT("marginBlock"),padding:z.space("padding"),paddingTop:z.space("paddingTop"),paddingBlockStart:z.space("paddingBlockStart"),paddingRight:z.space("paddingRight"),paddingBottom:z.space("paddingBottom"),paddingBlockEnd:z.space("paddingBlockEnd"),paddingLeft:z.space("paddingLeft"),paddingInlineStart:z.space("paddingInlineStart"),paddingInlineEnd:z.space("paddingInlineEnd"),paddingX:z.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:z.space("paddingInline"),paddingY:z.space(["paddingTop","paddingBottom"]),paddingBlock:z.space("paddingBlock")};Object.assign(dt,{m:dt.margin,mt:dt.marginTop,mr:dt.marginRight,me:dt.marginInlineEnd,marginEnd:dt.marginInlineEnd,mb:dt.marginBottom,ml:dt.marginLeft,ms:dt.marginInlineStart,marginStart:dt.marginInlineStart,mx:dt.marginX,my:dt.marginY,p:dt.padding,pt:dt.paddingTop,py:dt.paddingY,px:dt.paddingX,pb:dt.paddingBottom,pl:dt.paddingLeft,ps:dt.paddingInlineStart,paddingStart:dt.paddingInlineStart,pr:dt.paddingRight,pe:dt.paddingInlineEnd,paddingEnd:dt.paddingInlineEnd});var pme={textDecorationColor:z.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:z.shadows("textShadow")},gme={clipPath:!0,transform:z.propT("transform",je.transform),transformOrigin:!0,translateX:z.spaceT("--chakra-translate-x"),translateY:z.spaceT("--chakra-translate-y"),skewX:z.degreeT("--chakra-skew-x"),skewY:z.degreeT("--chakra-skew-y"),scaleX:z.prop("--chakra-scale-x"),scaleY:z.prop("--chakra-scale-y"),scale:z.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:z.degreeT("--chakra-rotate")},mme={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:z.prop("transitionDuration","transition.duration"),transitionProperty:z.prop("transitionProperty","transition.property"),transitionTimingFunction:z.prop("transitionTimingFunction","transition.easing")},yme={fontFamily:z.prop("fontFamily","fonts"),fontSize:z.prop("fontSize","fontSizes",je.px),fontWeight:z.prop("fontWeight","fontWeights"),lineHeight:z.prop("lineHeight","lineHeights"),letterSpacing:z.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},vme={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:z.spaceT("scrollMargin"),scrollMarginTop:z.spaceT("scrollMarginTop"),scrollMarginBottom:z.spaceT("scrollMarginBottom"),scrollMarginLeft:z.spaceT("scrollMarginLeft"),scrollMarginRight:z.spaceT("scrollMarginRight"),scrollMarginX:z.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:z.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:z.spaceT("scrollPadding"),scrollPaddingTop:z.spaceT("scrollPaddingTop"),scrollPaddingBottom:z.spaceT("scrollPaddingBottom"),scrollPaddingLeft:z.spaceT("scrollPaddingLeft"),scrollPaddingRight:z.spaceT("scrollPaddingRight"),scrollPaddingX:z.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:z.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function lD(e){return Io(e)&&e.reference?e.reference:String(e)}var Zv=(e,...t)=>t.map(lD).join(` ${e} `).replace(/calc/g,""),V6=(...e)=>`calc(${Zv("+",...e)})`,z6=(...e)=>`calc(${Zv("-",...e)})`,O2=(...e)=>`calc(${Zv("*",...e)})`,U6=(...e)=>`calc(${Zv("/",...e)})`,G6=e=>{const t=lD(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:O2(t,-1)},Pa=Object.assign(e=>({add:(...t)=>Pa(V6(e,...t)),subtract:(...t)=>Pa(z6(e,...t)),multiply:(...t)=>Pa(O2(e,...t)),divide:(...t)=>Pa(U6(e,...t)),negate:()=>Pa(G6(e)),toString:()=>e.toString()}),{add:V6,subtract:z6,multiply:O2,divide:U6,negate:G6});function bme(e,t="-"){return e.replace(/\s+/g,t)}function Sme(e){const t=bme(e.toString());return wme(_me(t))}function _me(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function wme(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function xme(e,t=""){return[t,e].filter(Boolean).join("-")}function Cme(e,t){return`var(${e}${t?`, ${t}`:""})`}function Tme(e,t=""){return Sme(`--${xme(e,t)}`)}function R2(e,t,n){const r=Tme(e,n);return{variable:r,reference:Cme(r,t)}}function g4e(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=R2(`${e}-${i}`,o);continue}n[r]=R2(`${e}-${r}`)}return n}function Eme(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Pme(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function I2(e){if(e==null)return e;const{unitless:t}=Pme(e);return t||typeof e=="number"?`${e}px`:e}var uD=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,VC=e=>Object.fromEntries(Object.entries(e).sort(uD));function H6(e){const t=VC(e);return Object.assign(Object.values(t),t)}function Ame(e){const t=Object.keys(VC(e));return new Set(t)}function q6(e){var t;if(!e)return e;e=(t=I2(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pd(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${I2(e)})`),t&&n.push("and",`(max-width: ${I2(t)})`),n.join(" ")}function kme(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=H6(e),r=Object.entries(e).sort(uD).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?q6(d):void 0,{_minW:q6(a),breakpoint:s,minW:a,maxW:d,maxWQuery:pd(null,d),minWQuery:pd(a),minMaxQuery:pd(a,d)}}),i=Ame(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:VC(e),asArray:H6(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pd(s)).slice(1)],toArrayValue(s){if(!Io(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;Eme(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var xn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},os=e=>cD(t=>e(t,"&"),"[role=group]","[data-group]",".group"),mo=e=>cD(t=>e(t,"~ &"),"[data-peer]",".peer"),cD=(e,...t)=>t.map(e).join(", "),Jv={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:os(xn.hover),_peerHover:mo(xn.hover),_groupFocus:os(xn.focus),_peerFocus:mo(xn.focus),_groupFocusVisible:os(xn.focusVisible),_peerFocusVisible:mo(xn.focusVisible),_groupActive:os(xn.active),_peerActive:mo(xn.active),_groupDisabled:os(xn.disabled),_peerDisabled:mo(xn.disabled),_groupInvalid:os(xn.invalid),_peerInvalid:mo(xn.invalid),_groupChecked:os(xn.checked),_peerChecked:mo(xn.checked),_groupFocusWithin:os(xn.focusWithin),_peerFocusWithin:mo(xn.focusWithin),_peerPlaceholderShown:mo(xn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},dD=Object.keys(Jv);function W6(e,t){return R2(String(e).replace(/\./g,"-"),void 0,t)}function Ome(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=W6(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Pa.negate(a),v=Pa.negate(u);r[m]={value:S,var:l,varRef:v}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=W6(p,t==null?void 0:t.cssVarPrefix);return S},d=Io(a)?a:{default:a};n=Wi(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const v=c(`${p}`);if(h==="default")return f[l]=v,f;const y=(S=(m=Jv)==null?void 0:m[h])!=null?S:h;return f[y]={[l]:v},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Rme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Ime(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Mme(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function K6(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(Mme(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var Nme=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Dme(e){return Ime(e,Nme)}function Lme(e){return e.semanticTokens}function $me(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var Fme=e=>dD.includes(e)||e==="default";function Bme({tokens:e,semanticTokens:t}){const n={};return K6(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),K6(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(Fme)}),n}function m4e(e){var t;const n=$me(e),r=Dme(n),i=Lme(n),o=Bme({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=Ome(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:kme(n.breakpoints)}),n}var zC=Wi({},Cg,Ue,rme,ny,zr,ime,hme,ome,aD,fme,Od,k2,dt,vme,yme,pme,gme,sme,mme),jme=Object.assign({},dt,zr,ny,aD,Od),y4e=Object.keys(jme),Vme=[...Object.keys(zC),...dD],zme={...zC,...Jv},Ume=e=>e in zme,Gme=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Na(e[s],t);if(a==null)continue;if(a=Io(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!qme(t),Kme=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Hme(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function Xme(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=Na(o,r),d=Gme(c)(r);let f={};for(let h in d){const p=d[h];let m=Na(p,r);h in n&&(h=n[h]),Wme(h,m)&&(m=Kme(r,m));let S=t[h];if(S===!0&&(S={property:h}),Io(m)){f[h]=(a=f[h])!=null?a:{},f[h]=Wi({},f[h],i(m,!0));continue}let v=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;v=S!=null&&S.processResult?i(v,!0):v;const y=Na(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=Na(S.static,r);f=Wi({},f,g)}if(y&&Array.isArray(y)){for(const g of y)f[g]=v;continue}if(y){y==="&"&&Io(v)?f=Wi({},f,v):f[y]=v;continue}if(Io(v)){f=Wi({},f,v);continue}f[h]=v}return f};return i}var Yme=e=>t=>Xme({theme:t,pseudos:Jv,configs:zC})(e);function v4e(e){return e}function b4e(e){return e}function S4e(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Qme(e,t){if(Array.isArray(e))return e;if(Io(e))return t(e);if(e!=null)return[e]}function Zme(e,t){for(let n=t+1;n{Wi(u,{[g]:f?y[g]:{[v]:y[g]}})});continue}if(!h){f?Wi(u,y):u[v]=y;continue}u[v]=y}}return u}}function eye(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=Jme(o);return Wi({},Na((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function _4e(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function fD(e){return Rme(e,["styleConfig","size","variant","colorScheme"])}function tye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function w4e(e){var t;return tye(e)&&(t=e.ownerDocument)!=null?t:document}function nye(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var rye=nye();function iye(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function oye(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},aye=sye(oye);function hD(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var pD=e=>hD(e,t=>t!=null);function lye(e){return typeof e=="function"}function uye(e,...t){return lye(e)?e(...t):e}function cye(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var dye=typeof Element<"u",fye=typeof Map=="function",hye=typeof Set=="function",pye=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Tg(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Tg(e[r],t[r]))return!1;return!0}var o;if(fye&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Tg(r.value[1],t.get(r.value[0])))return!1;return!0}if(hye&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(pye&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(dye&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Tg(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var gye=function(t,n){try{return Tg(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const mye=al(gye);function gD(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=Nge(),a=e?aye(o,`components.${e}`):void 0,l=r||a,u=Wi({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},pD(iye(i,["children"]))),c=k.useRef({});if(l){const f=eye(l)(u);mye(c.current,f)||(c.current=f)}return c.current}function mD(e,t={}){return gD(e,t)}function x4e(e,t={}){return gD(e,t)}var yye=new Set([...Vme,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),vye=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function bye(e){return vye.has(e)||!yye.has(e)}function Sye(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var _ye=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,wye=XN(function(e){return _ye.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),xye=wye,Cye=function(t){return t!=="theme"},X6=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?xye:Cye},Y6=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Tye=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return QN(n,r,i),Age(function(){return ZN(n,r,i)}),null},Eye=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Y6(t,n,r),l=a||X6(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=hD(s,(d,f)=>Ume(f)),l=uye(e,t),u=Sye({},i,l,pD(a),o),c=Yme(u)(t.theme);return r?[c,r]:c};function tS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=bye);const i=kye({baseStyle:n}),o=Aye(e,r)(i);return Xe.forwardRef(function(l,u){const{colorMode:c,forced:d}=BC();return Xe.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function Oye(){const e=new Map;return new Proxy(tS,{apply(t,n,r){return tS(...r)},get(t,n){return e.has(n)||e.set(n,tS(n)),e.get(n)}})}var sl=Oye();function Tl(e){return k.forwardRef(e)}const yD=k.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),e1=k.createContext({}),Lh=k.createContext(null),t1=typeof document<"u",iy=t1?k.useLayoutEffect:k.useEffect,vD=k.createContext({strict:!1});function Rye(e,t,n,r){const{visualElement:i}=k.useContext(e1),o=k.useContext(vD),s=k.useContext(Lh),a=k.useContext(yD).reducedMotion,l=k.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return k.useInsertionEffect(()=>{u&&u.update(n,s)}),iy(()=>{u&&u.render()}),k.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?iy:k.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function hu(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Iye(e,t,n){return k.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):hu(n)&&(n.current=r))},[t])}function Gf(e){return typeof e=="string"||Array.isArray(e)}function n1(e){return typeof e=="object"&&typeof e.start=="function"}const UC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],GC=["initial",...UC];function r1(e){return n1(e.animate)||GC.some(t=>Gf(e[t]))}function bD(e){return!!(r1(e)||e.variants)}function Mye(e,t){if(r1(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Gf(n)?n:void 0,animate:Gf(r)?r:void 0}}return e.inherit!==!1?t:{}}function Nye(e){const{initial:t,animate:n}=Mye(e,k.useContext(e1));return k.useMemo(()=>({initial:t,animate:n}),[Z6(t),Z6(n)])}function Z6(e){return Array.isArray(e)?e.join(" "):e}const J6={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Hf={};for(const e in J6)Hf[e]={isEnabled:t=>J6[e].some(n=>!!t[n])};function Dye(e){for(const t in e)Hf[t]={...Hf[t],...e[t]}}const HC=k.createContext({}),SD=k.createContext({}),Lye=Symbol.for("motionComponentSymbol");function $ye({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Dye(e);function o(a,l){let u;const c={...k.useContext(yD),...a,layoutId:Fye(a)},{isStatic:d}=c,f=Nye(a),h=r(a,d);if(!d&&t1){f.visualElement=Rye(i,h,c,t);const p=k.useContext(SD),m=k.useContext(vD).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return k.createElement(e1.Provider,{value:f},u&&f.visualElement?k.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Iye(h,f.visualElement,l),h,d,f.visualElement))}const s=k.forwardRef(o);return s[Lye]=i,s}function Fye({layoutId:e}){const t=k.useContext(HC).id;return t&&e!==void 0?t+"-"+e:e}function Bye(e){function t(r,i={}){return $ye(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const jye=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function qC(e){return typeof e!="string"||e.includes("-")?!1:!!(jye.indexOf(e)>-1||/[A-Z]/.test(e))}const oy={};function Vye(e){Object.assign(oy,e)}const $h=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],El=new Set($h);function _D(e,{layout:t,layoutId:n}){return El.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!oy[e]||e==="opacity")}const _r=e=>!!(e&&e.getVelocity),zye={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Uye=$h.length;function Gye(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),xD=wD("--"),M2=wD("var(--"),Hye=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,qye=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Ks=(e,t,n)=>Math.min(Math.max(n,e),t),Pl={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Rd={...Pl,transform:e=>Ks(0,1,e)},Up={...Pl,default:1},Id=e=>Math.round(e*1e5)/1e5,i1=/(-)?([\d]*\.?[\d])+/g,CD=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Wye=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Fh(e){return typeof e=="string"}const Bh=e=>({test:t=>Fh(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),as=Bh("deg"),Ji=Bh("%"),me=Bh("px"),Kye=Bh("vh"),Xye=Bh("vw"),eP={...Ji,parse:e=>Ji.parse(e)/100,transform:e=>Ji.transform(e*100)},tP={...Pl,transform:Math.round},TD={borderWidth:me,borderTopWidth:me,borderRightWidth:me,borderBottomWidth:me,borderLeftWidth:me,borderRadius:me,radius:me,borderTopLeftRadius:me,borderTopRightRadius:me,borderBottomRightRadius:me,borderBottomLeftRadius:me,width:me,maxWidth:me,height:me,maxHeight:me,size:me,top:me,right:me,bottom:me,left:me,padding:me,paddingTop:me,paddingRight:me,paddingBottom:me,paddingLeft:me,margin:me,marginTop:me,marginRight:me,marginBottom:me,marginLeft:me,rotate:as,rotateX:as,rotateY:as,rotateZ:as,scale:Up,scaleX:Up,scaleY:Up,scaleZ:Up,skew:as,skewX:as,skewY:as,distance:me,translateX:me,translateY:me,translateZ:me,x:me,y:me,z:me,perspective:me,transformPerspective:me,opacity:Rd,originX:eP,originY:eP,originZ:me,zIndex:tP,fillOpacity:Rd,strokeOpacity:Rd,numOctaves:tP};function WC(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(xD(d)){o[d]=f;continue}const h=TD[d],p=qye(f,h);if(El.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Gye(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const KC=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ED(e,t,n){for(const r in t)!_r(t[r])&&!_D(r,n)&&(e[r]=t[r])}function Yye({transformTemplate:e},t,n){return k.useMemo(()=>{const r=KC();return WC(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Qye(e,t,n){const r=e.style||{},i={};return ED(i,r,e),Object.assign(i,Yye(e,t,n)),e.transformValues?e.transformValues(i):i}function Zye(e,t,n){const r={},i=Qye(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const Jye=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function sy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||Jye.has(e)}let PD=e=>!sy(e);function e0e(e){e&&(PD=t=>t.startsWith("on")?!sy(t):e(t))}try{e0e(require("@emotion/is-prop-valid").default)}catch{}function t0e(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(PD(i)||n===!0&&sy(i)||!t&&!sy(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function nP(e,t,n){return typeof e=="string"?e:me.transform(t+n*e)}function n0e(e,t,n){const r=nP(t,e.x,e.width),i=nP(n,e.y,e.height);return`${r} ${i}`}const r0e={offset:"stroke-dashoffset",array:"stroke-dasharray"},i0e={offset:"strokeDashoffset",array:"strokeDasharray"};function o0e(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?r0e:i0e;e[o.offset]=me.transform(-r);const s=me.transform(t),a=me.transform(n);e[o.array]=`${s} ${a}`}function XC(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(WC(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=n0e(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&o0e(h,s,a,l,!1)}const AD=()=>({...KC(),attrs:{}}),YC=e=>typeof e=="string"&&e.toLowerCase()==="svg";function s0e(e,t,n,r){const i=k.useMemo(()=>{const o=AD();return XC(o,t,{enableHardwareAcceleration:!1},YC(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};ED(o,e.style,e),i.style={...o,...i.style}}return i}function a0e(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(qC(n)?s0e:Zye)(r,o,s,n),c={...t0e(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=k.useMemo(()=>_r(d)?d.get():d,[d]);return k.createElement(n,{...c,children:f})}}const QC=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kD(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const OD=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function RD(e,t,n,r){kD(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(OD.has(i)?i:QC(i),t.attrs[i])}function ZC(e,t){const{style:n}=e,r={};for(const i in n)(_r(n[i])||t.style&&_r(t.style[i])||_D(i,e))&&(r[i]=n[i]);return r}function ID(e,t){const n=ZC(e,t);for(const r in e)if(_r(e[r])||_r(t[r])){const i=$h.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function JC(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function MD(e){const t=k.useRef(null);return t.current===null&&(t.current=e()),t.current}const ay=e=>Array.isArray(e),l0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),u0e=e=>ay(e)?e[e.length-1]||0:e;function Eg(e){const t=_r(e)?e.get():e;return l0e(t)?t.toValue():t}function c0e({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:d0e(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const ND=e=>(t,n)=>{const r=k.useContext(e1),i=k.useContext(Lh),o=()=>c0e(e,t,r,i);return n?o():MD(o)};function d0e(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=Eg(o[f]);let{initial:s,animate:a}=e;const l=r1(e),u=bD(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!n1(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=JC(e,h);if(!p)return;const{transitionEnd:m,transition:S,...v}=p;for(const y in v){let g=v[y];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[y]=g)}for(const y in m)i[y]=m[y]}),i}const f0e={useVisualState:ND({scrapeMotionValuesFromProps:ID,createRenderState:AD,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}XC(n,r,{enableHardwareAcceleration:!1},YC(t.tagName),e.transformTemplate),RD(t,n)}})},h0e={useVisualState:ND({scrapeMotionValuesFromProps:ZC,createRenderState:KC})};function p0e(e,{forwardMotionProps:t=!1},n,r){return{...qC(e)?f0e:h0e,preloadedFeatures:n,useRender:a0e(t),createVisualElement:r,Component:e}}function Ao(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const DD=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function o1(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const g0e=e=>t=>DD(t)&&e(t,o1(t));function Mo(e,t,n,r){return Ao(e,t,g0e(n),r)}const m0e=(e,t)=>n=>t(e(n)),Ns=(...e)=>e.reduce(m0e);function LD(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const rP=LD("dragHorizontal"),iP=LD("dragVertical");function $D(e){let t=!1;if(e==="y")t=iP();else if(e==="x")t=rP();else{const n=rP(),r=iP();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function FD(){const e=$D(!0);return e?(e(),!1):!0}class ua{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Qt=e=>e;function y0e(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=y0e(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,v0e),1),i.timestamp=d,i.isProcessing=!0,Gp.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:Gp.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>Gp.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:_t,cancel:Uo,state:$n,steps:nS}=b0e(typeof requestAnimationFrame<"u"?requestAnimationFrame:Qt,!0);function oP(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||FD())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&_t.update(()=>a[r](o,s))};return Mo(e.current,n,i,{passive:!e.getProps()[r]})}class S0e extends ua{mount(){this.unmount=Ns(oP(this.node,!0),oP(this.node,!1))}unmount(){}}class _0e extends ua{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ns(Ao(this.node.current,"focus",()=>this.onFocus()),Ao(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const BD=(e,t)=>t?e===t?!0:BD(e,t.parentElement):!1;function rS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,o1(n))}class w0e extends ua{constructor(){super(...arguments),this.removeStartListeners=Qt,this.removeEndListeners=Qt,this.removeAccessibleListeners=Qt,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Mo(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();_t.update(()=>{BD(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Mo(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ns(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||rS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&_t.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Ao(this.node.current,"keyup",s),rS("down",(a,l)=>{this.startPress(a,l)})},n=Ao(this.node.current,"keydown",t),r=()=>{this.isPressing&&rS("cancel",(o,s)=>this.cancelPress(o,s))},i=Ao(this.node.current,"blur",r);this.removeAccessibleListeners=Ns(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&_t.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!FD()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&_t.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Mo(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Ao(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ns(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const N2=new WeakMap,iS=new WeakMap,x0e=e=>{const t=N2.get(e.target);t&&t(e)},C0e=e=>{e.forEach(x0e)};function T0e({root:e,...t}){const n=e||document;iS.has(n)||iS.set(n,{});const r=iS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(C0e,{root:e,...t})),r[i]}function E0e(e,t,n){const r=T0e(t);return N2.set(e,n),r.observe(e),()=>{N2.delete(e),r.unobserve(e)}}const P0e={some:0,all:1};class A0e extends ua{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:P0e[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return E0e(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(k0e(t,n))&&this.startObserver()}unmount(){}}function k0e({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const O0e={inView:{Feature:A0e},tap:{Feature:w0e},focus:{Feature:_0e},hover:{Feature:S0e}};function jD(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function I0e(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function s1(e,t,n){const r=e.getProps();return JC(r,t,n!==void 0?n:r.custom,R0e(e),I0e(e))}const M0e="framerAppearId",N0e="data-"+QC(M0e);let D0e=Qt,e3=Qt;const Ds=e=>e*1e3,No=e=>e/1e3,L0e={current:!1},VD=e=>Array.isArray(e)&&typeof e[0]=="number";function zD(e){return!!(!e||typeof e=="string"&&UD[e]||VD(e)||Array.isArray(e)&&e.every(zD))}const gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,UD={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gd([0,.65,.55,1]),circOut:gd([.55,0,1,.45]),backIn:gd([.31,.01,.66,-.59]),backOut:gd([.33,1.53,.69,.99])};function GD(e){if(e)return VD(e)?gd(e):Array.isArray(e)?e.map(GD):UD[e]}function $0e(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=GD(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const sP={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},oS={},HD={};for(const e in sP)HD[e]=()=>(oS[e]===void 0&&(oS[e]=sP[e]()),oS[e]);function F0e(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const qD=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,B0e=1e-7,j0e=12;function V0e(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=qD(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>B0e&&++aV0e(o,0,1,e,n);return o=>o===0||o===1?o:qD(i(o),t,r)}const z0e=jh(.42,0,1,1),U0e=jh(0,0,.58,1),WD=jh(.42,0,.58,1),G0e=e=>Array.isArray(e)&&typeof e[0]!="number",KD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,XD=e=>t=>1-e(1-t),YD=e=>1-Math.sin(Math.acos(e)),t3=XD(YD),H0e=KD(t3),QD=jh(.33,1.53,.69,.99),n3=XD(QD),q0e=KD(n3),W0e=e=>(e*=2)<1?.5*n3(e):.5*(2-Math.pow(2,-10*(e-1))),K0e={linear:Qt,easeIn:z0e,easeInOut:WD,easeOut:U0e,circIn:YD,circInOut:H0e,circOut:t3,backIn:n3,backInOut:q0e,backOut:QD,anticipate:W0e},aP=e=>{if(Array.isArray(e)){e3(e.length===4);const[t,n,r,i]=e;return jh(t,n,r,i)}else if(typeof e=="string")return K0e[e];return e},r3=(e,t)=>n=>!!(Fh(n)&&Wye.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ZD=(e,t,n)=>r=>{if(!Fh(r))return r;const[i,o,s,a]=r.match(i1);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},X0e=e=>Ks(0,255,e),sS={...Pl,transform:e=>Math.round(X0e(e))},Da={test:r3("rgb","red"),parse:ZD("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+sS.transform(e)+", "+sS.transform(t)+", "+sS.transform(n)+", "+Id(Rd.transform(r))+")"};function Y0e(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const D2={test:r3("#"),parse:Y0e,transform:Da.transform},pu={test:r3("hsl","hue"),parse:ZD("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Ji.transform(Id(t))+", "+Ji.transform(Id(n))+", "+Id(Rd.transform(r))+")"},Xn={test:e=>Da.test(e)||D2.test(e)||pu.test(e),parse:e=>Da.test(e)?Da.parse(e):pu.test(e)?pu.parse(e):D2.parse(e),transform:e=>Fh(e)?e:e.hasOwnProperty("red")?Da.transform(e):pu.transform(e)},At=(e,t,n)=>-n*e+n*t+e;function aS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Q0e({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=aS(l,a,e+1/3),o=aS(l,a,e),s=aS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const lS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Z0e=[D2,Da,pu],J0e=e=>Z0e.find(t=>t.test(e));function lP(e){const t=J0e(e);let n=t.parse(e);return t===pu&&(n=Q0e(n)),n}const JD=(e,t)=>{const n=lP(e),r=lP(t),i={...n};return o=>(i.red=lS(n.red,r.red,o),i.green=lS(n.green,r.green,o),i.blue=lS(n.blue,r.blue,o),i.alpha=At(n.alpha,r.alpha,o),Da.transform(i))};function eve(e){var t,n;return isNaN(e)&&Fh(e)&&(((t=e.match(i1))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(CD))===null||n===void 0?void 0:n.length)||0)>0}const eL={regex:Hye,countKey:"Vars",token:"${v}",parse:Qt},tL={regex:CD,countKey:"Colors",token:"${c}",parse:Xn.parse},nL={regex:i1,countKey:"Numbers",token:"${n}",parse:Pl.parse};function uS(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function ly(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&uS(n,eL),uS(n,tL),uS(n,nL),n}function rL(e){return ly(e).values}function iL(e){const{values:t,numColors:n,numVars:r,tokenised:i}=ly(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function nve(e){const t=rL(e);return iL(e)(t.map(tve))}const Xs={test:eve,parse:rL,createTransformer:iL,getAnimatableNone:nve},oL=(e,t)=>n=>`${n>0?t:e}`;function sL(e,t){return typeof e=="number"?n=>At(e,t,n):Xn.test(e)?JD(e,t):e.startsWith("var(")?oL(e,t):lL(e,t)}const aL=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>sL(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=sL(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},lL=(e,t)=>{const n=Xs.createTransformer(t),r=ly(e),i=ly(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ns(aL(r.values,i.values),n):oL(e,t)},qf=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},uP=(e,t)=>n=>At(e,t,n);function ive(e){return typeof e=="number"?uP:typeof e=="string"?Xn.test(e)?JD:lL:Array.isArray(e)?aL:typeof e=="object"?rve:uP}function ove(e,t,n){const r=[],i=n||ive(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=ove(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(Ks(e[0],e[o-1],u)):l}function sve(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=qf(0,t,r);e.push(At(n,1,i))}}function ave(e){const t=[0];return sve(t,e.length-1),t}function lve(e,t){return e.map(n=>n*t)}function uve(e,t){return e.map(()=>t||WD).splice(0,e.length-1)}function uy({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=G0e(r)?r.map(aP):aP(r),o={done:!1,value:t[0]},s=lve(n&&n.length===t.length?n:ave(t),e),a=uL(s,t,{ease:Array.isArray(i)?i:uve(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function cL(e,t){return t?e*(1e3/t):0}const cve=5;function dL(e,t,n){const r=Math.max(t-cve,0);return cL(n-e(r),t-r)}const cS=.001,dve=.01,cP=10,fve=.05,hve=1;function pve({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;D0e(e<=Ds(cP));let s=1-t;s=Ks(fve,hve,s),e=Ks(dve,cP,No(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=L2(u,s),p=Math.exp(-d);return cS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=L2(Math.pow(u,2),s);return(-i(u)+cS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-cS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=mve(i,o,a);if(e=Ds(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const gve=12;function mve(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function bve(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!dP(e,vve)&&dP(e,yve)){const n=pve(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function fL({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=bve(r),h=c?-No(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=No(Math.sqrt(a/u)),v=Math.abs(m)<5;n||(n=v?.01:2),t||(t=v?.005:.5);let y;if(p<1){const g=L2(S,p);y=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)y=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);y=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=y(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=dL(y,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function fP({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=T=>a!==void 0&&Tl,p=T=>a===void 0?l:l===void 0||Math.abs(a-T)-m*Math.exp(-T/r),g=T=>v+y(T),b=T=>{const P=y(T),E=g(T);f.done=Math.abs(P)<=u,f.value=f.done?v:E};let _,w;const x=T=>{h(f.value)&&(_=T,w=fL({keyframes:[f.value,p(f.value)],velocity:dL(g,T,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:T=>{let P=!1;return!w&&_===void 0&&(P=!0,b(T),x(T)),_!==void 0&&T>_?w.next(T-_):(!P&&b(T),f)}}}const Sve=e=>{const t=({timestamp:n})=>e(n);return{start:()=>_t.update(t,!0),stop:()=>Uo(t),now:()=>$n.isProcessing?$n.timestamp:performance.now()}},hP=2e4;function pP(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=hP?1/0:t}const _ve={decay:fP,inertia:fP,tween:uy,keyframes:uy,spring:fL};function cy({autoplay:e=!0,delay:t=0,driver:n=Sve,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const v=()=>{S=new Promise(j=>{m=j})};v();let y;const g=_ve[i]||uy;let b;g!==uy&&typeof r[0]!="number"&&(b=uL([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",T=null,P=null,E=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=pP(_));const{calculatedDuration:A}=_;let $=1/0,M=1/0;A!==null&&($=A+s,M=$*(o+1)-s);let C=0;const O=j=>{if(P===null)return;h>0&&(P=Math.min(P,j)),h<0&&(P=Math.min(j-M/h,P)),T!==null?C=T:C=Math.round(j-P)*h;const U=C-t*(h>=0?1:-1),G=h>=0?U<0:U>M;C=Math.max(U,0),x==="finished"&&T===null&&(C=M);let W=C,X=_;if(o){const Q=C/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const te=!!(J%2);te&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(X=w));let xe=Ks(0,1,ne);C>M&&(xe=a==="reverse"&&te?1:0),W=xe*$}const Y=G?{done:!1,value:r[0]}:X.next(W);b&&(Y.value=b(Y.value));let{done:B}=Y;!G&&A!==null&&(B=h>=0?C>=M:C<=0);const H=T===null&&(x==="finished"||x==="running"&&B);return d&&d(Y.value),H&&R(),Y},I=()=>{y&&y.stop(),y=void 0},N=()=>{x="idle",I(),m(),v(),P=E=null},R=()=>{x="finished",c&&c(),I(),m()},D=()=>{if(p)return;y||(y=n(O));const j=y.now();l&&l(),T!==null?P=j-T:(!P||x==="finished")&&(P=j),x==="finished"&&v(),E=P,T=null,x="running",y.start()};e&&D();const L={then(j,U){return S.then(j,U)},get time(){return No(C)},set time(j){j=Ds(j),C=j,T!==null||!y||h===0?T=j:P=y.now()-j/h},get duration(){const j=_.calculatedDuration===null?pP(_):_.calculatedDuration;return No(j)},get speed(){return h},set speed(j){j===h||!y||(h=j,L.time=No(C))},get state(){return x},play:D,pause:()=>{x="paused",T=C},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),N())},cancel:()=>{E!==null&&O(E),N()},complete:()=>{x="finished"},sample:j=>(P=0,O(j))};return L}const wve=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Hp=10,xve=2e4,Cve=(e,t)=>t.type==="spring"||e==="backgroundColor"||!zD(t.ease);function Tve(e,t,{onUpdate:n,onComplete:r,...i}){if(!(HD.waapi()&&wve.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(v=>{a=v})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(Cve(t,i)){const v=cy({...i,repeat:0,delay:0});let y={done:!1,value:c[0]};const g=[];let b=0;for(;!y.done&&bp.cancel(),S=()=>{_t.update(m),a(),u()};return p.onfinish=()=>{e.set(F0e(c,i)),r&&r(),S()},{then(v,y){return l.then(v,y)},get time(){return No(p.currentTime||0)},set time(v){p.currentTime=Ds(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return No(d)},play:()=>{s||(p.play(),Uo(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const y=cy({...i,autoplay:!1});e.setWithVelocity(y.sample(v-Hp).value,y.sample(v).value,Hp)}S()},complete:()=>p.finish(),cancel:S}}function Eve({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Qt,pause:Qt,stop:Qt,then:o=>(o(),Promise.resolve()),cancel:Qt,complete:Qt});return t?cy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const Pve={type:"spring",stiffness:500,damping:25,restSpeed:10},Ave=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),kve={type:"keyframes",duration:.8},Ove={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Rve=(e,{keyframes:t})=>t.length>2?kve:El.has(e)?e.startsWith("scale")?Ave(t[1]):Pve:Ove,$2=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xs.test(t)||t==="0")&&!t.startsWith("url(")),Ive=new Set(["brightness","contrast","saturate","opacity"]);function Mve(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(i1)||[];if(!r)return e;const i=n.replace(r,"");let o=Ive.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const Nve=/([a-z-]*)\(.*?\)/g,F2={...Xs,getAnimatableNone:e=>{const t=e.match(Nve);return t?t.map(Mve).join(" "):e}},Dve={...TD,color:Xn,backgroundColor:Xn,outlineColor:Xn,fill:Xn,stroke:Xn,borderColor:Xn,borderTopColor:Xn,borderRightColor:Xn,borderBottomColor:Xn,borderLeftColor:Xn,filter:F2,WebkitFilter:F2},i3=e=>Dve[e];function hL(e,t){let n=i3(e);return n!==F2&&(n=Xs),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const pL=e=>/^0[^.\s]+$/.test(e);function Lve(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||pL(e)}function $ve(e,t,n,r){const i=$2(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=gL(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ds(s);const l=$ve(t,e,n,o),u=l[0],c=l[l.length-1],d=$2(e,u),f=$2(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Fve(o)||(h={...h,...Rve(e,h)}),h.duration&&(h.duration=Ds(h.duration)),h.repeatDelay&&(h.repeatDelay=Ds(h.repeatDelay)),!d||!f||L0e.current||o.type===!1)return Eve(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=Tve(t,e,h);if(p)return p}return cy(h)};function dy(e){return!!(_r(e)&&e.add)}const Bve=e=>/^\-?\d*\.?\d+$/.test(e);function s3(e,t){e.indexOf(t)===-1&&e.push(t)}function a3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class l3{constructor(){this.subscriptions=[]}add(t){return s3(this.subscriptions,t),()=>a3(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Vve{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=$n;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,_t.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>_t.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=jve(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new l3);const r=this.events[t].add(n);return t==="change"?()=>{r(),_t.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?cL(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function uc(e,t){return new Vve(e,t)}const mL=e=>t=>t.test(e),zve={test:e=>e==="auto",parse:e=>e},yL=[Pl,me,Ji,as,Xye,Kye,zve],id=e=>yL.find(mL(e)),Uve=[...yL,Xn,Xs],Gve=e=>Uve.find(mL(e));function Hve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,uc(n))}function qve(e,t){const n=s1(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=u0e(o[s]);Hve(e,s,a)}}function Wve(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&qve(e,s)}),u}function B2(e,t,n={}){const r=s1(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(vL(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Qve(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function Qve(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(Zve).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(B2(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function Zve(e,t){return e.sortNodePosition(t)}function Jve(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>B2(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=B2(e,t,n);else{const i=typeof t=="function"?s1(e,t,n.custom):t;r=Promise.all(vL(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const e1e=[...UC].reverse(),t1e=UC.length;function n1e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Jve(e,n,r)))}function r1e(e){let t=n1e(e);const n=o1e();let r=!0;const i=(l,u)=>{const c=s1(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let v=0;vm&&_;const E=Array.isArray(b)?b:[b];let A=E.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,M={...$,...A},C=O=>{P=!0,h.delete(O),g.needsAnimating[O]=!0};for(const O in M){const I=A[O],N=$[O];p.hasOwnProperty(O)||(I!==N?ay(I)&&ay(N)?!jD(I,N)||T?C(O):g.protectedKeys[O]=!0:I!==void 0?C(O):h.add(O):I!==void 0&&h.has(O)?C(O):g.protectedKeys[O]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(P=!1),P&&!x&&f.push(...E.map(O=>({animation:O,options:{type:y,...l}})))}if(h.size){const v={};h.forEach(y=>{const g=e.getBaseTarget(y);g!==void 0&&(v[y]=g)}),f.push({animation:v})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function i1e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!jD(t,e):!1}function ba(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function o1e(){return{animate:ba(!0),whileInView:ba(),whileHover:ba(),whileTap:ba(),whileDrag:ba(),whileFocus:ba(),exit:ba()}}class s1e extends ua{constructor(t){super(t),t.animationState||(t.animationState=r1e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),n1(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let a1e=0;class l1e extends ua{constructor(){super(...arguments),this.id=a1e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const u1e={animation:{Feature:s1e},exit:{Feature:l1e}},gP=(e,t)=>Math.abs(e-t);function c1e(e,t){const n=gP(e.x,t.x),r=gP(e.y,t.y);return Math.sqrt(n**2+r**2)}class bL{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=fS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=c1e(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=$n;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=dS(c,this.transformPagePoint),_t.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=fS(u.type==="pointercancel"?this.lastMoveEventInfo:dS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!DD(t))return;this.handlers=n,this.transformPagePoint=r;const i=o1(t),o=dS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=$n;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,fS(o,this.history)),this.removeListeners=Ns(Mo(window,"pointermove",this.handlePointerMove),Mo(window,"pointerup",this.handlePointerUp),Mo(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Uo(this.updatePoint)}}function dS(e,t){return t?{point:t(e.point)}:e}function mP(e,t){return{x:e.x-t.x,y:e.y-t.y}}function fS({point:e},t){return{point:e,delta:mP(e,SL(t)),offset:mP(e,d1e(t)),velocity:f1e(t,.1)}}function d1e(e){return e[0]}function SL(e){return e[e.length-1]}function f1e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=SL(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ds(t)));)n--;if(!r)return{x:0,y:0};const o=No(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Ir(e){return e.max-e.min}function j2(e,t=0,n=.01){return Math.abs(e-t)<=n}function yP(e,t,n,r=.5){e.origin=r,e.originPoint=At(t.min,t.max,e.origin),e.scale=Ir(n)/Ir(t),(j2(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=At(n.min,n.max,e.origin)-e.originPoint,(j2(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Md(e,t,n,r){yP(e.x,t.x,n.x,r?r.originX:void 0),yP(e.y,t.y,n.y,r?r.originY:void 0)}function vP(e,t,n){e.min=n.min+t.min,e.max=e.min+Ir(t)}function h1e(e,t,n){vP(e.x,t.x,n.x),vP(e.y,t.y,n.y)}function bP(e,t,n){e.min=t.min-n.min,e.max=e.min+Ir(t)}function Nd(e,t,n){bP(e.x,t.x,n.x),bP(e.y,t.y,n.y)}function p1e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?At(n,e,r.max):Math.min(e,n)),e}function SP(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function g1e(e,{top:t,left:n,bottom:r,right:i}){return{x:SP(e.x,n,i),y:SP(e.y,t,r)}}function _P(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=qf(t.min,t.max-r,e.min):r>i&&(n=qf(e.min,e.max-i,t.min)),Ks(0,1,n)}function v1e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const V2=.35;function b1e(e=V2){return e===!1?e=0:e===!0&&(e=V2),{x:wP(e,"left","right"),y:wP(e,"top","bottom")}}function wP(e,t,n){return{min:xP(e,t),max:xP(e,n)}}function xP(e,t){return typeof e=="number"?e:e[t]||0}const CP=()=>({translate:0,scale:1,origin:0,originPoint:0}),gu=()=>({x:CP(),y:CP()}),TP=()=>({min:0,max:0}),Wt=()=>({x:TP(),y:TP()});function Li(e){return[e("x"),e("y")]}function _L({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function S1e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function _1e(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function hS(e){return e===void 0||e===1}function z2({scale:e,scaleX:t,scaleY:n}){return!hS(e)||!hS(t)||!hS(n)}function Ca(e){return z2(e)||wL(e)||e.z||e.rotate||e.rotateX||e.rotateY}function wL(e){return EP(e.x)||EP(e.y)}function EP(e){return e&&e!=="0%"}function fy(e,t,n){const r=e-n,i=t*r;return n+i}function PP(e,t,n,r,i){return i!==void 0&&(e=fy(e,i,r)),fy(e,n,r)+t}function U2(e,t=0,n=1,r,i){e.min=PP(e.min,t,n,r,i),e.max=PP(e.max,t,n,r,i)}function xL(e,{x:t,y:n}){U2(e.x,t.translate,t.scale,t.originPoint),U2(e.y,n.translate,n.scale,n.originPoint)}function w1e(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fs(e,t){e.min=e.min+t,e.max=e.max+t}function kP(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=At(e.min,e.max,o);U2(e,t[n],t[r],s,t.scale)}const x1e=["x","scaleX","originX"],C1e=["y","scaleY","originY"];function mu(e,t){kP(e.x,t,x1e),kP(e.y,t,C1e)}function CL(e,t){return _L(_1e(e.getBoundingClientRect(),t))}function T1e(e,t,n){const r=CL(e,n),{scroll:i}=t;return i&&(fs(r.x,i.offset.x),fs(r.y,i.offset.y)),r}const E1e=new WeakMap;class P1e{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Wt(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(o1(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=$D(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Li(p=>{let m=this.getAxisMotionValue(p).get()||0;if(Ji.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const v=S.layout.layoutBox[p];v&&(m=Ir(v)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&_t.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=A1e(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new bL(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&_t.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!qp(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=p1e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&hu(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=g1e(r.layoutBox,t):this.constraints=!1,this.elastic=b1e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Li(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=v1e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!hu(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=T1e(r,i.root,this.visualElement.getTransformPagePoint());let s=m1e(i.layout.layoutBox,o);if(n){const a=n(S1e(s));this.hasMutatedConstraints=!!a,a&&(s=_L(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Li(c=>{if(!qp(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(o3(t,r,0,n))}stopAnimation(){Li(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Li(n=>{const{drag:r}=this.getProps();if(!qp(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-At(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!hu(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Li(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=y1e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Li(s=>{if(!qp(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(At(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;E1e.set(this.visualElement,this);const t=this.visualElement.current,n=Mo(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();hu(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Ao(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Li(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=V2,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function qp(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function A1e(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class k1e extends ua{constructor(t){super(t),this.removeGroupControls=Qt,this.removeListeners=Qt,this.controls=new P1e(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Qt}unmount(){this.removeGroupControls(),this.removeListeners()}}const OP=e=>(t,n)=>{e&&_t.update(()=>e(t,n))};class O1e extends ua{constructor(){super(...arguments),this.removePointerDownListener=Qt}onPointerDown(t){this.session=new bL(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:OP(t),onStart:OP(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&_t.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Mo(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function R1e(){const e=k.useContext(Lh);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=k.useId();return k.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function C4e(){return I1e(k.useContext(Lh))}function I1e(e){return e===null?!0:e.isPresent}const Pg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function RP(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const od={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(me.test(e))e=parseFloat(e);else return e;const n=RP(e,t.target.x),r=RP(e,t.target.y);return`${n}% ${r}%`}},M1e={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xs.parse(e);if(i.length>5)return r;const o=Xs.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=At(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class N1e extends Xe.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Vye(D1e),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Pg.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||_t.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function TL(e){const[t,n]=R1e(),r=k.useContext(HC);return Xe.createElement(N1e,{...e,layoutGroup:r,switchLayoutGroup:k.useContext(SD),isPresent:t,safeToRemove:n})}const D1e={borderRadius:{...od,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:od,borderTopRightRadius:od,borderBottomLeftRadius:od,borderBottomRightRadius:od,boxShadow:M1e},EL=["TopLeft","TopRight","BottomLeft","BottomRight"],L1e=EL.length,IP=e=>typeof e=="string"?parseFloat(e):e,MP=e=>typeof e=="number"||me.test(e);function $1e(e,t,n,r,i,o){i?(e.opacity=At(0,n.opacity!==void 0?n.opacity:1,F1e(r)),e.opacityExit=At(t.opacity!==void 0?t.opacity:1,0,B1e(r))):o&&(e.opacity=At(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(qf(e,t,r))}function DP(e,t){e.min=t.min,e.max=t.max}function Vr(e,t){DP(e.x,t.x),DP(e.y,t.y)}function LP(e,t,n,r,i){return e-=t,e=fy(e,1/n,r),i!==void 0&&(e=fy(e,1/i,r)),e}function j1e(e,t=0,n=1,r=.5,i,o=e,s=e){if(Ji.test(t)&&(t=parseFloat(t),t=At(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=At(o.min,o.max,r);e===o&&(a-=t),e.min=LP(e.min,t,n,a,i),e.max=LP(e.max,t,n,a,i)}function $P(e,t,[n,r,i],o,s){j1e(e,t[n],t[r],t[i],t.scale,o,s)}const V1e=["x","scaleX","originX"],z1e=["y","scaleY","originY"];function FP(e,t,n,r){$P(e.x,t,V1e,n?n.x:void 0,r?r.x:void 0),$P(e.y,t,z1e,n?n.y:void 0,r?r.y:void 0)}function BP(e){return e.translate===0&&e.scale===1}function AL(e){return BP(e.x)&&BP(e.y)}function G2(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function jP(e){return Ir(e.x)/Ir(e.y)}class U1e{constructor(){this.members=[]}add(t){s3(this.members,t),t.scheduleRender()}remove(t){if(a3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function VP(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const G1e=(e,t)=>e.depth-t.depth;class H1e{constructor(){this.children=[],this.isDirty=!1}add(t){s3(this.children,t),this.isDirty=!0}remove(t){a3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(G1e),this.isDirty=!1,this.children.forEach(t)}}function q1e(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Uo(r),e(o-t))};return _t.read(r,!0),()=>Uo(r)}function W1e(e){window.MotionDebug&&window.MotionDebug.record(e)}function K1e(e){return e instanceof SVGElement&&e.tagName!=="svg"}function X1e(e,t,n){const r=_r(e)?e:uc(e);return r.start(o3("",r,t,n)),r.animation}const zP=["","X","Y","Z"],UP=1e3;let Y1e=0;const Ta={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kL({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=Y1e++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ta.totalNodes=Ta.resolvedTargetDeltas=Ta.recalculatedProjection=0,this.nodes.forEach(J1e),this.nodes.forEach(ibe),this.nodes.forEach(obe),this.nodes.forEach(ebe),W1e(Ta)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=q1e(f,250),Pg.hasAnimatedSinceResize&&(Pg.hasAnimatedSinceResize=!1,this.nodes.forEach(HP))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||cbe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!G2(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...gL(m,"layout"),onPlay:S,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||HP(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Uo(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(sbe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(tbe),this.sharedNodes.forEach(abe)}scheduleUpdateProjection(){_t.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){_t.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;qP(d.x,s.x,_),qP(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Nd(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),lbe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&G2(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=Wt()),Vr(g,this.relativeTarget)),m&&(this.animationValues=c,$1e(c,u,this.latestValues,_,y,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Uo(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=_t.update(()=>{Pg.hasAnimatedSinceResize=!0,this.currentAnimation=X1e(0,UP,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(UP),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&OL(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Wt();const d=Ir(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Ir(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}Vr(a,l),mu(a,c),Md(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new U1e),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(GP),this.root.sharedNodes.clear()}}}function Q1e(e){e.updateLayout()}function Z1e(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(f);f.min=r[d].min,f.max=f.min+h}):OL(o,n.layoutBox,r)&&Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Ir(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=gu();Md(a,r,n.layoutBox);const l=gu();s?Md(l,e.applyTransform(i,!0),n.measuredBox):Md(l,r,n.layoutBox);const u=!AL(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=Wt();Nd(p,n.layoutBox,f.layoutBox);const m=Wt();Nd(m,r,h.layoutBox),G2(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function J1e(e){Ta.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function ebe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function tbe(e){e.clearSnapshot()}function GP(e){e.clearMeasurements()}function nbe(e){e.isLayoutDirty=!1}function rbe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function HP(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function ibe(e){e.resolveTargetDelta()}function obe(e){e.calcProjection()}function sbe(e){e.resetRotation()}function abe(e){e.removeLeadSnapshot()}function qP(e,t,n){e.translate=At(t.translate,0,n),e.scale=At(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function WP(e,t,n,r){e.min=At(t.min,n.min,r),e.max=At(t.max,n.max,r)}function lbe(e,t,n,r){WP(e.x,t.x,n.x,r),WP(e.y,t.y,n.y,r)}function ube(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const cbe={duration:.45,ease:[.4,0,.1,1]};function KP(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function dbe(e){KP(e.x),KP(e.y)}function OL(e,t,n){return e==="position"||e==="preserve-aspect"&&!j2(jP(t),jP(n),.2)}const fbe=kL({attachResizeListener:(e,t)=>Ao(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),pS={current:void 0},RL=kL({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!pS.current){const e=new fbe({});e.mount(window),e.setOptions({layoutScroll:!0}),pS.current=e}return pS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),hbe={pan:{Feature:O1e},drag:{Feature:k1e,ProjectionNode:RL,MeasureLayout:TL}},pbe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function gbe(e){const t=pbe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function H2(e,t,n=1){const[r,i]=gbe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():M2(i)?H2(i,t,n+1):i}function mbe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!M2(o))return;const s=H2(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!M2(o))continue;const s=H2(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const ybe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),IL=e=>ybe.has(e),vbe=e=>Object.keys(e).some(IL),XP=e=>e===Pl||e===me,YP=(e,t)=>parseFloat(e.split(", ")[t]),QP=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return YP(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?YP(o[1],e):0}},bbe=new Set(["x","y","z"]),Sbe=$h.filter(e=>!bbe.has(e));function _be(e){const t=[];return Sbe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const cc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:QP(4,13),y:QP(5,14)};cc.translateX=cc.x;cc.translateY=cc.y;const wbe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=cc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=cc[u](l,o)}),e},xbe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(IL);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=id(c);const f=t[l];let h;if(ay(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=id(c);for(let S=m;S=0?window.pageYOffset:null,u=wbe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),t1&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Cbe(e,t,n,r){return vbe(t)?xbe(e,t,n,r):{target:t,transitionEnd:r}}const Tbe=(e,t,n,r)=>{const i=mbe(e,t,r);return t=i.target,r=i.transitionEnd,Cbe(e,t,n,r)},q2={current:null},ML={current:!1};function Ebe(){if(ML.current=!0,!!t1)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>q2.current=e.matches;e.addListener(t),t()}else q2.current=!1}function Pbe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(_r(o))e.addValue(i,o),dy(r)&&r.add(i);else if(_r(s))e.addValue(i,uc(o,{owner:e})),dy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,uc(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const ZP=new WeakMap,NL=Object.keys(Hf),Abe=NL.length,JP=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],kbe=GC.length;class Obe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>_t.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=r1(n),this.isVariantNode=bD(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&_r(f)&&(f.set(a[d],!1),dy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,ZP.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),ML.current||Ebe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:q2.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){ZP.delete(this.current),this.projection&&this.projection.unmount(),Uo(this.notifyUpdate),Uo(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=El.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&_t.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Wt()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=uc(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=JC(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!_r(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new l3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class DL extends Obe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=Xve(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){Wve(this,r,s);const a=Tbe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Rbe(e){return window.getComputedStyle(e)}class Ibe extends DL{readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}else{const r=Rbe(t),i=(xD(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return CL(t,n)}build(t,n,r,i){WC(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return ZC(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;_r(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kD(t,n,r,i)}}class Mbe extends DL{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(El.has(n)){const r=i3(n);return r&&r.default||0}return n=OD.has(n)?n:QC(n),t.getAttribute(n)}measureInstanceViewportBox(){return Wt()}scrapeMotionValuesFromProps(t,n){return ID(t,n)}build(t,n,r,i){XC(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){RD(t,n,r,i)}mount(t){this.isSVGTag=YC(t.tagName),super.mount(t)}}const Nbe=(e,t)=>qC(e)?new Mbe(t,{enableHardwareAcceleration:!1}):new Ibe(t,{enableHardwareAcceleration:!0}),Dbe={layout:{ProjectionNode:RL,MeasureLayout:TL}},Lbe={...u1e,...O0e,...hbe,...Dbe},$be=Bye((e,t)=>p0e(e,t,Lbe,Nbe));function LL(){const e=k.useRef(!1);return iy(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Fbe(){const e=LL(),[t,n]=k.useState(0),r=k.useCallback(()=>{e.current&&n(t+1)},[t]);return[k.useCallback(()=>_t.postRender(r),[r]),t]}class Bbe extends k.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function jbe({children:e,isPresent:t}){const n=k.useId(),r=k.useRef(null),i=k.useRef({width:0,height:0,top:0,left:0});return k.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${o}px !important; @@ -118,8 +118,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho top: ${a}px !important; left: ${l}px !important; } - `),()=>{document.head.removeChild(u)}},[t]),k.createElement(Bbe,{isPresent:t,childRef:r,sizeRef:i},k.cloneElement(e,{ref:r}))}const gS=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=MD(Vbe),l=k.useId(),u=k.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return k.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),k.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=k.createElement(jbe,{isPresent:n},e)),k.createElement(Lh.Provider,{value:u},e)};function Vbe(){return new Map}function zbe(e){return k.useEffect(()=>()=>e(),[])}const Ql=e=>e.key||"";function Ube(e,t){e.forEach(n=>{const r=Ql(n);t.set(r,n)})}function Gbe(e){const t=[];return k.Children.forEach(e,n=>{k.isValidElement(n)&&t.push(n)}),t}const Hbe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=k.useContext(HC).forceRender||Fbe()[0],l=LL(),u=Gbe(e);let c=u;const d=k.useRef(new Map).current,f=k.useRef(c),h=k.useRef(new Map).current,p=k.useRef(!0);if(iy(()=>{p.current=!1,Ube(u,h),f.current=c}),zbe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return k.createElement(k.Fragment,null,c.map(y=>k.createElement(gS,{key:Ql(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(Ql),S=u.map(Ql),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const T=f.current.findIndex(P=>P.key===g);if(f.current.splice(T,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=k.createElement(gS,{key:Ql(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:k.createElement(gS,{key:Ql(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),k.createElement(k.Fragment,null,d.size?c:c.map(y=>k.cloneElement(y)))};var qbe=Ige({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),$L=Tl((e,t)=>{const n=mD("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=fD(e),u=oD("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${qbe} ${o} linear infinite`,...n};return K.jsx(sl.div,{ref:t,__css:c,className:u,...l,children:r&&K.jsx(sl.span,{srOnly:!0,children:r})})});$L.displayName="Spinner";var W2=Tl(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return K.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});W2.displayName="NativeImage";function Wbe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=k.useState("pending");k.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=k.useRef(),f=k.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Mge(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var Kbe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function Xbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var u3=Tl(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=Wbe({...t,crossOrigin:d,ignoreFallback:S}),y=Kbe(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:Xbe(p,["onError","onLoad"])};return y?i||K.jsx(sl.img,{as:W2,className:"chakra-image__placeholder",src:r,...g}):K.jsx(sl.img,{as:W2,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});u3.displayName="Image";var Ybe=rye?k.useLayoutEffect:k.useEffect;function e8(e,t=[]){const n=k.useRef(e);return Ybe(()=>{n.current=e}),k.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Qbe(e,t){const n=k.useId();return k.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function Zbe(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Jbe(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=e8(n),s=e8(t),[a,l]=k.useState(e.defaultIsOpen||!1),[u,c]=Zbe(r,a),d=Qbe(i,"disclosure"),f=k.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=k.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=k.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:cye(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}var K2=Tl(function(t,n){const r=mD("Heading",t),{className:i,...o}=fD(t);return K.jsx(sl.h2,{ref:n,className:oD("chakra-heading",t.className),...o,__css:r})});K2.displayName="Heading";var c3=sl("div");c3.displayName="Box";var FL=Tl(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return K.jsx(c3,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});FL.displayName="Square";var eSe=Tl(function(t,n){const{size:r,...i}=t;return K.jsx(FL,{size:r,ref:n,borderRadius:"9999px",...i})});eSe.displayName="Circle";var d3=Tl(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return K.jsx(sl.div,{ref:n,__css:d,...c})});d3.displayName="Flex";const tSe=""+new URL("logo-13003d72.png",import.meta.url).href,nSe=()=>K.jsxs(d3,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[K.jsx(u3,{src:tSe,w:"8rem",h:"8rem"}),K.jsx($L,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),rSe=k.memo(nSe);function X2(e){"@babel/helpers - typeof";return X2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X2(e)}var BL=[],iSe=BL.forEach,oSe=BL.slice;function Y2(e){return iSe.call(oSe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function jL(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":X2(XMLHttpRequest))==="object"}function sSe(e){return!!e&&typeof e.then=="function"}function aSe(e){return sSe(e)?e:Promise.resolve(e)}function lSe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Q2={exports:{}},Wp={exports:{}},t8;function uSe(){return t8||(t8=1,function(e,t){var n=typeof self<"u"?self:Ee,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(C){return C&&DataView.prototype.isPrototypeOf(C)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(C){return C&&u.indexOf(Object.prototype.toString.call(C))>-1};function d(C){if(typeof C!="string"&&(C=String(C)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(C))throw new TypeError("Invalid character in header field name");return C.toLowerCase()}function f(C){return typeof C!="string"&&(C=String(C)),C}function h(C){var O={next:function(){var I=C.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(C){this.map={},C instanceof p?C.forEach(function(O,I){this.append(I,O)},this):Array.isArray(C)?C.forEach(function(O){this.append(O[0],O[1])},this):C&&Object.getOwnPropertyNames(C).forEach(function(O){this.append(O,C[O])},this)}p.prototype.append=function(C,O){C=d(C),O=f(O);var I=this.map[C];this.map[C]=I?I+", "+O:O},p.prototype.delete=function(C){delete this.map[d(C)]},p.prototype.get=function(C){return C=d(C),this.has(C)?this.map[C]:null},p.prototype.has=function(C){return this.map.hasOwnProperty(d(C))},p.prototype.set=function(C,O){this.map[d(C)]=f(O)},p.prototype.forEach=function(C,O){for(var I in this.map)this.map.hasOwnProperty(I)&&C.call(O,this.map[I],I,this)},p.prototype.keys=function(){var C=[];return this.forEach(function(O,I){C.push(I)}),h(C)},p.prototype.values=function(){var C=[];return this.forEach(function(O){C.push(O)}),h(C)},p.prototype.entries=function(){var C=[];return this.forEach(function(O,I){C.push([I,O])}),h(C)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(C){if(C.bodyUsed)return Promise.reject(new TypeError("Already read"));C.bodyUsed=!0}function S(C){return new Promise(function(O,I){C.onload=function(){O(C.result)},C.onerror=function(){I(C.error)}})}function v(C){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(C),I}function y(C){var O=new FileReader,I=S(O);return O.readAsText(C),I}function g(C){for(var O=new Uint8Array(C),I=new Array(O.length),N=0;N-1?O:C}function T(C,O){O=O||{};var I=O.body;if(C instanceof T){if(C.bodyUsed)throw new TypeError("Already read");this.url=C.url,this.credentials=C.credentials,O.headers||(this.headers=new p(C.headers)),this.method=C.method,this.mode=C.mode,this.signal=C.signal,!I&&C._bodyInit!=null&&(I=C._bodyInit,C.bodyUsed=!0)}else this.url=String(C);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})};function P(C){var O=new FormData;return C.trim().split("&").forEach(function(I){if(I){var N=I.split("="),R=N.shift().replace(/\+/g," "),D=N.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function E(C){var O=new p,I=C.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(N){var R=N.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(T.prototype);function A(C,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(C)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var C=new A(null,{status:0,statusText:""});return C.type="error",C};var $=[301,302,303,307,308];A.redirect=function(C,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:C}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var N=Error(O);this.stack=N.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function M(C,O){return new Promise(function(I,N){var R=new T(C,O);if(R.signal&&R.signal.aborted)return N(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var j={status:D.status,statusText:D.statusText,headers:E(D.getAllResponseHeaders()||"")};j.url="responseURL"in D?D.responseURL:j.headers.get("X-Request-URL");var U="response"in D?D.response:D.responseText;I(new A(U,j))},D.onerror=function(){N(new TypeError("Network request failed"))},D.ontimeout=function(){N(new TypeError("Network request failed"))},D.onabort=function(){N(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(j,U){D.setRequestHeader(U,j)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return M.polyfill=!0,o.fetch||(o.fetch=M,o.Headers=p,o.Request=T,o.Response=A),s.Headers=p,s.Request=T,s.Response=A,s.fetch=M,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Wp,Wp.exports)),Wp.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ee<"u"&&Ee.fetch?n=Ee.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof lSe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||uSe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Q2,Q2.exports);var VL=Q2.exports;const zL=al(VL),n8=O8({__proto__:null,default:zL},[VL]);function hy(e){"@babel/helpers - typeof";return hy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hy(e)}var Do;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Do=global.fetch:typeof window<"u"&&window.fetch?Do=window.fetch:Do=fetch);var Wf;jL()&&(typeof global<"u"&&global.XMLHttpRequest?Wf=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Wf=window.XMLHttpRequest));var py;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?py=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(py=window.ActiveXObject));!Do&&n8&&!Wf&&!py&&(Do=zL||n8);typeof Do!="function"&&(Do=void 0);var Z2=function(t,n){if(n&&hy(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},r8=function(t,n,r){Do(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},i8=!1,cSe=function(t,n,r,i){t.queryStringParams&&(n=Z2(n,t.queryStringParams));var o=Y2({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=Y2({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},i8?{}:s);try{r8(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),r8(n,a,i),i8=!0}catch(u){i(u)}}},dSe=function(t,n,r,i){r&&hy(r)==="object"&&(r=Z2("",r).slice(1)),t.queryStringParams&&(n=Z2(n,t.queryStringParams));try{var o;Wf?o=new Wf:o=new py("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},fSe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Do&&n.indexOf("file:")!==0)return cSe(t,n,r,i);if(jL()||typeof ActiveXObject=="function")return dSe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Kf(e){"@babel/helpers - typeof";return Kf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kf(e)}function hSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o8(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};hSe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return pSe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Y2(i,this.options||{},ySe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=aSe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();GL.type="backend";const vSe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,bSe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},SSe=e=>bSe[e],_Se=e=>e.replace(vSe,SSe);let J2={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:_Se};function wSe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};J2={...J2,...e}}function E4e(){return J2}let HL;function xSe(e){HL=e}function P4e(){return HL}const CSe={type:"3rdParty",init(e){wSe(e.options.react),xSe(e)}};zn.use(GL).use(CSe).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const TSe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{fe("socketio").debug("Connected"),r(n7());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(Vx({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Ft(Ga({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(i7())}),t.on("invocation_started",o=>{r(u7({data:o}))}),t.on("generator_progress",o=>{r(g7({data:o}))}),t.on("invocation_error",o=>{r(f7({data:o}))}),t.on("invocation_complete",o=>{r(zx({data:o}))}),t.on("graph_execution_state_complete",o=>{r(h7({data:o}))}),t.on("model_load_started",o=>{r(y7({data:o}))}),t.on("model_load_completed",o=>{r(v7({data:o}))}),t.on("session_retrieval_error",o=>{r(b7({data:o}))}),t.on("invocation_retrieval_error",o=>{r(_7({data:o}))})},ro=Object.create(null);ro.open="0";ro.close="1";ro.ping="2";ro.pong="3";ro.message="4";ro.upgrade="5";ro.noop="6";const Ag=Object.create(null);Object.keys(ro).forEach(e=>{Ag[ro[e]]=e});const ESe={type:"error",data:"parser error"},qL=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",WL=typeof ArrayBuffer=="function",KL=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f3=({type:e,data:t},n,r)=>qL&&t instanceof Blob?n?r(t):s8(t,r):WL&&(t instanceof ArrayBuffer||KL(t))?n?r(t):s8(new Blob([t]),r):r(ro[e]+(t||"")),s8=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function a8(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let mS;function PSe(e,t){if(qL&&e.data instanceof Blob)return e.data.arrayBuffer().then(a8).then(t);if(WL&&(e.data instanceof ArrayBuffer||KL(e.data)))return t(a8(e.data));f3(e,!1,n=>{mS||(mS=new TextEncoder),t(mS.encode(n))})}const l8="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",md=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;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[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},kSe=typeof ArrayBuffer=="function",h3=(e,t)=>{if(typeof e!="string")return{type:"message",data:XL(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:OSe(e.substring(1),t)}:Ag[n]?e.length>1?{type:Ag[n],data:e.substring(1)}:{type:Ag[n]}:ESe},OSe=(e,t)=>{if(kSe){const n=ASe(e);return XL(n,t)}else return{base64:!0,data:e}},XL=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},YL=String.fromCharCode(30),RSe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{f3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(YL))})})},ISe=(e,t)=>{const n=e.split(YL),r=[];for(let i=0;i54;return h3(r?e:yS.decode(e),n)}const QL=4;function Zt(e){if(e)return NSe(e)}function NSe(e){for(var t in Zt.prototype)e[t]=Zt.prototype[t];return e}Zt.prototype.on=Zt.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Zt.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Zt.prototype.off=Zt.prototype.removeListener=Zt.prototype.removeAllListeners=Zt.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,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function ZL(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const DSe=qr.setTimeout,LSe=qr.clearTimeout;function a1(e,t){t.useNativeTimers?(e.setTimeoutFn=DSe.bind(qr),e.clearTimeoutFn=LSe.bind(qr)):(e.setTimeoutFn=qr.setTimeout.bind(qr),e.clearTimeoutFn=qr.clearTimeout.bind(qr))}const $Se=1.33;function FSe(e){return typeof e=="string"?BSe(e):Math.ceil((e.byteLength||e.size)*$Se)}function BSe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function jSe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function VSe(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function e$(){const e=d8(+new Date);return e!==c8?(u8=0,c8=e):e+"."+d8(u8++)}for(;Kp{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)};ISe(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,RSe(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]=e$()),!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 $u(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,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}}let $u=class kg extends Zt{constructor(t,n){super(),a1(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=ZL(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new n$(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}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 i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.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(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=kg.requestsCount++,kg.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=HSe,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete kg.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()}};$u.requestsCount=0;$u.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",f8);else if(typeof addEventListener=="function"){const e="onpagehide"in qr?"pagehide":"unload";addEventListener(e,f8,!1)}}function f8(){for(let e in $u.requests)$u.requests.hasOwnProperty(e)&&$u.requests[e].abort()}const g3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),Xp=qr.WebSocket||qr.MozWebSocket,h8=!0,KSe="arraybuffer",p8=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class XSe extends p3{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=p8?{}:ZL(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=h8&&!p8?n?new Xp(t,n):new Xp(t):new Xp(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||KSe,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 s={};try{h8&&this.ws.send(o)}catch{}i&&g3(()=>{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]=e$()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!Xp}}function YSe(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class QSe extends p3{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=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(MSe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{YSe(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&g3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const ZSe={websocket:XSe,webtransport:QSe,polling:WSe},JSe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e_e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function tw(e){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 i=JSe.exec(e||""),o={},s=14;for(;s--;)o[e_e[s]]=i[s]||"";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=t_e(o,o.path),o.queryKey=n_e(o,o.query),o}function t_e(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 n_e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let r$=class Zl extends Zt{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=tw(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=tw(n.host).host),a1(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=VSe(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=QL,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 ZSe[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Zl.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;Zl.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Zl.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 f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Zl.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,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=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),i&&this.once("flush",i),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){Zl.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 i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,i$=Object.prototype.toString,s_e=typeof Blob=="function"||typeof Blob<"u"&&i$.call(Blob)==="[object BlobConstructor]",a_e=typeof File=="function"||typeof File<"u"&&i$.call(File)==="[object FileConstructor]";function m3(e){return i_e&&(e instanceof ArrayBuffer||o_e(e))||s_e&&e instanceof Blob||a_e&&e instanceof File}function Og(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 s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),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((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(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:Me.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 Me.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 Me.EVENT:case Me.BINARY_EVENT:this.onevent(t);break;case Me.ACK:case Me.BINARY_ACK:this.onack(t);break;case Me.DISCONNECT:this.ondisconnect();break;case Me.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(...i){r||(r=!0,n.packet({type:Me.ACK,id:t,data:i}))}}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:Me.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}Tc.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};Tc.prototype.reset=function(){this.attempts=0};Tc.prototype.setMin=function(e){this.ms=e};Tc.prototype.setMax=function(e){this.max=e};Tc.prototype.setJitter=function(e){this.jitter=e};class iw extends Zt{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,a1(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 Tc({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||p_e;this.encoder=new i.Encoder,this.decoder=new i.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 r$(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=ui(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=ui(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(ui(t,"ping",this.onping.bind(this)),ui(t,"data",this.ondata.bind(this)),ui(t,"error",this.onerror.bind(this)),ui(t,"close",this.onclose.bind(this)),ui(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){g3(()=>{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 o$(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(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):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 sd={};function Rg(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=r_e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=sd[i]&&o in sd[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new iw(r,t):(sd[i]||(sd[i]=new iw(r,t)),l=sd[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Rg,{Manager:iw,Socket:o$,io:Rg,connect:Rg});const m8=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=Tf.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=Cf.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Rg(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(TSe({storeApi:o,socket:r}),e=!0,r.connect()),On.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(a7({sessionId:d}))),r.emit("subscribe",{session:c}),l(Vx({sessionId:c}))}s(a)}},l1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Ec(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function v3(e){return"nodeType"in e}function or(e){var t,n;return e?Ec(e)?e:v3(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function b3(e){const{Document:t}=or(e);return e instanceof t}function Vh(e){return Ec(e)?!1:e instanceof or(e).HTMLElement}function m_e(e){return e instanceof or(e).SVGElement}function Pc(e){return e?Ec(e)?e.document:v3(e)?b3(e)?e:Vh(e)?e.ownerDocument:document:document:document}const io=l1?k.useLayoutEffect:k.useEffect;function u1(e){const t=k.useRef(e);return io(()=>{t.current=e}),k.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=k.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xf(e,t){t===void 0&&(t=[e]);const n=k.useRef(e);return io(()=>{n.current!==e&&(n.current=e)},t),n}function zh(e,t){const n=k.useRef();return k.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function gy(e){const t=u1(e),n=k.useRef(null),r=k.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function my(e){const t=k.useRef();return k.useEffect(()=>{t.current=e},[e]),t.current}let vS={};function c1(e,t){return k.useMemo(()=>{if(t)return t;const n=vS[e]==null?0:vS[e]+1;return vS[e]=n,e+"-"+n},[e,t])}function s$(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const Fu=s$(1),yy=s$(-1);function v_e(e){return"clientX"in e&&"clientY"in e}function S3(e){if(!e)return!1;const{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function b_e(e){if(!e)return!1;const{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Yf(e){if(b_e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return v_e(e)?{x:e.clientX,y:e.clientY}:null}const Qf=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qf.Translate.toString(e),Qf.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),y8="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function S_e(e){return e.matches(y8)?e:e.querySelector(y8)}const __e={display:"none"};function w_e(e){let{id:t,value:n}=e;return We.createElement("div",{id:t,style:__e},n)}const x_e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function C_e(e){let{id:t,announcement:n}=e;return We.createElement("div",{id:t,style:x_e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function T_e(){const[e,t]=k.useState("");return{announce:k.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const a$=k.createContext(null);function E_e(e){const t=k.useContext(a$);k.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function P_e(){const[e]=k.useState(()=>new Set),t=k.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[k.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const A_e={draggable:` + `),()=>{document.head.removeChild(u)}},[t]),k.createElement(Bbe,{isPresent:t,childRef:r,sizeRef:i},k.cloneElement(e,{ref:r}))}const gS=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=MD(Vbe),l=k.useId(),u=k.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return k.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),k.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=k.createElement(jbe,{isPresent:n},e)),k.createElement(Lh.Provider,{value:u},e)};function Vbe(){return new Map}function zbe(e){return k.useEffect(()=>()=>e(),[])}const Ql=e=>e.key||"";function Ube(e,t){e.forEach(n=>{const r=Ql(n);t.set(r,n)})}function Gbe(e){const t=[];return k.Children.forEach(e,n=>{k.isValidElement(n)&&t.push(n)}),t}const Hbe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=k.useContext(HC).forceRender||Fbe()[0],l=LL(),u=Gbe(e);let c=u;const d=k.useRef(new Map).current,f=k.useRef(c),h=k.useRef(new Map).current,p=k.useRef(!0);if(iy(()=>{p.current=!1,Ube(u,h),f.current=c}),zbe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return k.createElement(k.Fragment,null,c.map(y=>k.createElement(gS,{key:Ql(y),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},y)));c=[...c];const m=f.current.map(Ql),S=u.map(Ql),v=m.length;for(let y=0;y{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=y;if(!w){const x=()=>{h.delete(g),d.delete(g);const T=f.current.findIndex(P=>P.key===g);if(f.current.splice(T,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=k.createElement(gS,{key:Ql(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(y=>{const g=y.key;return d.has(g)?y:k.createElement(gS,{key:Ql(y),isPresent:!0,presenceAffectsLayout:o,mode:s},y)}),k.createElement(k.Fragment,null,d.size?c:c.map(y=>k.cloneElement(y)))};var qbe=Ige({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),$L=Tl((e,t)=>{const n=mD("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=fD(e),u=oD("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${qbe} ${o} linear infinite`,...n};return K.jsx(sl.div,{ref:t,__css:c,className:u,...l,children:r&&K.jsx(sl.span,{srOnly:!0,children:r})})});$L.displayName="Spinner";var W2=Tl(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return K.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});W2.displayName="NativeImage";function Wbe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=k.useState("pending");k.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=k.useRef(),f=k.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return Mge(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var Kbe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function Xbe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var u3=Tl(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,v=Wbe({...t,crossOrigin:d,ignoreFallback:S}),y=Kbe(v,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:Xbe(p,["onError","onLoad"])};return y?i||K.jsx(sl.img,{as:W2,className:"chakra-image__placeholder",src:r,...g}):K.jsx(sl.img,{as:W2,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});u3.displayName="Image";var Ybe=rye?k.useLayoutEffect:k.useEffect;function e8(e,t=[]){const n=k.useRef(e);return Ybe(()=>{n.current=e}),k.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Qbe(e,t){const n=k.useId();return k.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function Zbe(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Jbe(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=e8(n),s=e8(t),[a,l]=k.useState(e.defaultIsOpen||!1),[u,c]=Zbe(r,a),d=Qbe(i,"disclosure"),f=k.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=k.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=k.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:cye(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}var K2=Tl(function(t,n){const r=mD("Heading",t),{className:i,...o}=fD(t);return K.jsx(sl.h2,{ref:n,className:oD("chakra-heading",t.className),...o,__css:r})});K2.displayName="Heading";var c3=sl("div");c3.displayName="Box";var FL=Tl(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return K.jsx(c3,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});FL.displayName="Square";var eSe=Tl(function(t,n){const{size:r,...i}=t;return K.jsx(FL,{size:r,ref:n,borderRadius:"9999px",...i})});eSe.displayName="Circle";var d3=Tl(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return K.jsx(sl.div,{ref:n,__css:d,...c})});d3.displayName="Flex";const tSe=""+new URL("logo-13003d72.png",import.meta.url).href,nSe=()=>K.jsxs(d3,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[K.jsx(u3,{src:tSe,w:"8rem",h:"8rem"}),K.jsx($L,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),rSe=k.memo(nSe);function X2(e){"@babel/helpers - typeof";return X2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X2(e)}var BL=[],iSe=BL.forEach,oSe=BL.slice;function Y2(e){return iSe.call(oSe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function jL(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":X2(XMLHttpRequest))==="object"}function sSe(e){return!!e&&typeof e.then=="function"}function aSe(e){return sSe(e)?e:Promise.resolve(e)}function lSe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Q2={exports:{}},Wp={exports:{}},t8;function uSe(){return t8||(t8=1,function(e,t){var n=typeof self<"u"?self:Ee,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(C){return C&&DataView.prototype.isPrototypeOf(C)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(C){return C&&u.indexOf(Object.prototype.toString.call(C))>-1};function d(C){if(typeof C!="string"&&(C=String(C)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(C))throw new TypeError("Invalid character in header field name");return C.toLowerCase()}function f(C){return typeof C!="string"&&(C=String(C)),C}function h(C){var O={next:function(){var I=C.shift();return{done:I===void 0,value:I}}};return a.iterable&&(O[Symbol.iterator]=function(){return O}),O}function p(C){this.map={},C instanceof p?C.forEach(function(O,I){this.append(I,O)},this):Array.isArray(C)?C.forEach(function(O){this.append(O[0],O[1])},this):C&&Object.getOwnPropertyNames(C).forEach(function(O){this.append(O,C[O])},this)}p.prototype.append=function(C,O){C=d(C),O=f(O);var I=this.map[C];this.map[C]=I?I+", "+O:O},p.prototype.delete=function(C){delete this.map[d(C)]},p.prototype.get=function(C){return C=d(C),this.has(C)?this.map[C]:null},p.prototype.has=function(C){return this.map.hasOwnProperty(d(C))},p.prototype.set=function(C,O){this.map[d(C)]=f(O)},p.prototype.forEach=function(C,O){for(var I in this.map)this.map.hasOwnProperty(I)&&C.call(O,this.map[I],I,this)},p.prototype.keys=function(){var C=[];return this.forEach(function(O,I){C.push(I)}),h(C)},p.prototype.values=function(){var C=[];return this.forEach(function(O){C.push(O)}),h(C)},p.prototype.entries=function(){var C=[];return this.forEach(function(O,I){C.push([I,O])}),h(C)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(C){if(C.bodyUsed)return Promise.reject(new TypeError("Already read"));C.bodyUsed=!0}function S(C){return new Promise(function(O,I){C.onload=function(){O(C.result)},C.onerror=function(){I(C.error)}})}function v(C){var O=new FileReader,I=S(O);return O.readAsArrayBuffer(C),I}function y(C){var O=new FileReader,I=S(O);return O.readAsText(C),I}function g(C){for(var O=new Uint8Array(C),I=new Array(O.length),N=0;N-1?O:C}function T(C,O){O=O||{};var I=O.body;if(C instanceof T){if(C.bodyUsed)throw new TypeError("Already read");this.url=C.url,this.credentials=C.credentials,O.headers||(this.headers=new p(C.headers)),this.method=C.method,this.mode=C.mode,this.signal=C.signal,!I&&C._bodyInit!=null&&(I=C._bodyInit,C.bodyUsed=!0)}else this.url=String(C);if(this.credentials=O.credentials||this.credentials||"same-origin",(O.headers||!this.headers)&&(this.headers=new p(O.headers)),this.method=x(O.method||this.method||"GET"),this.mode=O.mode||this.mode||null,this.signal=O.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&I)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(I)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})};function P(C){var O=new FormData;return C.trim().split("&").forEach(function(I){if(I){var N=I.split("="),R=N.shift().replace(/\+/g," "),D=N.join("=").replace(/\+/g," ");O.append(decodeURIComponent(R),decodeURIComponent(D))}}),O}function E(C){var O=new p,I=C.replace(/\r?\n[\t ]+/g," ");return I.split(/\r?\n/).forEach(function(N){var R=N.split(":"),D=R.shift().trim();if(D){var L=R.join(":").trim();O.append(D,L)}}),O}_.call(T.prototype);function A(C,O){O||(O={}),this.type="default",this.status=O.status===void 0?200:O.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in O?O.statusText:"OK",this.headers=new p(O.headers),this.url=O.url||"",this._initBody(C)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var C=new A(null,{status:0,statusText:""});return C.type="error",C};var $=[301,302,303,307,308];A.redirect=function(C,O){if($.indexOf(O)===-1)throw new RangeError("Invalid status code");return new A(null,{status:O,headers:{location:C}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(O,I){this.message=O,this.name=I;var N=Error(O);this.stack=N.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function M(C,O){return new Promise(function(I,N){var R=new T(C,O);if(R.signal&&R.signal.aborted)return N(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var j={status:D.status,statusText:D.statusText,headers:E(D.getAllResponseHeaders()||"")};j.url="responseURL"in D?D.responseURL:j.headers.get("X-Request-URL");var U="response"in D?D.response:D.responseText;I(new A(U,j))},D.onerror=function(){N(new TypeError("Network request failed"))},D.ontimeout=function(){N(new TypeError("Network request failed"))},D.onabort=function(){N(new s.DOMException("Aborted","AbortError"))},D.open(R.method,R.url,!0),R.credentials==="include"?D.withCredentials=!0:R.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),R.headers.forEach(function(j,U){D.setRequestHeader(U,j)}),R.signal&&(R.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&R.signal.removeEventListener("abort",L)}),D.send(typeof R._bodyInit>"u"?null:R._bodyInit)})}return M.polyfill=!0,o.fetch||(o.fetch=M,o.Headers=p,o.Request=T,o.Response=A),s.Headers=p,s.Request=T,s.Response=A,s.fetch=M,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Wp,Wp.exports)),Wp.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ee<"u"&&Ee.fetch?n=Ee.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof lSe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||uSe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Q2,Q2.exports);var VL=Q2.exports;const zL=al(VL),n8=O8({__proto__:null,default:zL},[VL]);function hy(e){"@babel/helpers - typeof";return hy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hy(e)}var Do;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Do=global.fetch:typeof window<"u"&&window.fetch?Do=window.fetch:Do=fetch);var Wf;jL()&&(typeof global<"u"&&global.XMLHttpRequest?Wf=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Wf=window.XMLHttpRequest));var py;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?py=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(py=window.ActiveXObject));!Do&&n8&&!Wf&&!py&&(Do=zL||n8);typeof Do!="function"&&(Do=void 0);var Z2=function(t,n){if(n&&hy(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},r8=function(t,n,r){Do(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},i8=!1,cSe=function(t,n,r,i){t.queryStringParams&&(n=Z2(n,t.queryStringParams));var o=Y2({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=Y2({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},i8?{}:s);try{r8(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),r8(n,a,i),i8=!0}catch(u){i(u)}}},dSe=function(t,n,r,i){r&&hy(r)==="object"&&(r=Z2("",r).slice(1)),t.queryStringParams&&(n=Z2(n,t.queryStringParams));try{var o;Wf?o=new Wf:o=new py("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},fSe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Do&&n.indexOf("file:")!==0)return cSe(t,n,r,i);if(jL()||typeof ActiveXObject=="function")return dSe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Kf(e){"@babel/helpers - typeof";return Kf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kf(e)}function hSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o8(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};hSe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return pSe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Y2(i,this.options||{},ySe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=aSe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();GL.type="backend";const vSe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,bSe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},SSe=e=>bSe[e],_Se=e=>e.replace(vSe,SSe);let J2={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:_Se};function wSe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};J2={...J2,...e}}function E4e(){return J2}let HL;function xSe(e){HL=e}function P4e(){return HL}const CSe={type:"3rdParty",init(e){wSe(e.options.react),xSe(e)}};zn.use(GL).use(CSe).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const TSe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{fe("socketio").debug("Connected"),r(n7());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(Vx({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Ft(Ga({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(i7())}),t.on("invocation_started",o=>{r(u7({data:o}))}),t.on("generator_progress",o=>{r(g7({data:o}))}),t.on("invocation_error",o=>{r(f7({data:o}))}),t.on("invocation_complete",o=>{r(zx({data:o}))}),t.on("graph_execution_state_complete",o=>{r(h7({data:o}))}),t.on("model_load_started",o=>{r(y7({data:o}))}),t.on("model_load_completed",o=>{r(v7({data:o}))}),t.on("session_retrieval_error",o=>{r(b7({data:o}))}),t.on("invocation_retrieval_error",o=>{r(_7({data:o}))})},ro=Object.create(null);ro.open="0";ro.close="1";ro.ping="2";ro.pong="3";ro.message="4";ro.upgrade="5";ro.noop="6";const Ag=Object.create(null);Object.keys(ro).forEach(e=>{Ag[ro[e]]=e});const ESe={type:"error",data:"parser error"},qL=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",WL=typeof ArrayBuffer=="function",KL=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f3=({type:e,data:t},n,r)=>qL&&t instanceof Blob?n?r(t):s8(t,r):WL&&(t instanceof ArrayBuffer||KL(t))?n?r(t):s8(new Blob([t]),r):r(ro[e]+(t||"")),s8=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function a8(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let mS;function PSe(e,t){if(qL&&e.data instanceof Blob)return e.data.arrayBuffer().then(a8).then(t);if(WL&&(e.data instanceof ArrayBuffer||KL(e.data)))return t(a8(e.data));f3(e,!1,n=>{mS||(mS=new TextEncoder),t(mS.encode(n))})}const l8="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",md=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;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[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},kSe=typeof ArrayBuffer=="function",h3=(e,t)=>{if(typeof e!="string")return{type:"message",data:XL(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:OSe(e.substring(1),t)}:Ag[n]?e.length>1?{type:Ag[n],data:e.substring(1)}:{type:Ag[n]}:ESe},OSe=(e,t)=>{if(kSe){const n=ASe(e);return XL(n,t)}else return{base64:!0,data:e}},XL=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},YL=String.fromCharCode(30),RSe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{f3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(YL))})})},ISe=(e,t)=>{const n=e.split(YL),r=[];for(let i=0;i54;return h3(r?e:yS.decode(e),n)}const QL=4;function Zt(e){if(e)return NSe(e)}function NSe(e){for(var t in Zt.prototype)e[t]=Zt.prototype[t];return e}Zt.prototype.on=Zt.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Zt.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Zt.prototype.off=Zt.prototype.removeListener=Zt.prototype.removeAllListeners=Zt.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,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function ZL(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const DSe=qr.setTimeout,LSe=qr.clearTimeout;function a1(e,t){t.useNativeTimers?(e.setTimeoutFn=DSe.bind(qr),e.clearTimeoutFn=LSe.bind(qr)):(e.setTimeoutFn=qr.setTimeout.bind(qr),e.clearTimeoutFn=qr.clearTimeout.bind(qr))}const $Se=1.33;function FSe(e){return typeof e=="string"?BSe(e):Math.ceil((e.byteLength||e.size)*$Se)}function BSe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function jSe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function VSe(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function e$(){const e=d8(+new Date);return e!==c8?(u8=0,c8=e):e+"."+d8(u8++)}for(;Kp{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)};ISe(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,RSe(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]=e$()),!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 $u(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,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}}let $u=class kg extends Zt{constructor(t,n){super(),a1(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=ZL(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new n$(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}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 i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.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(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=kg.requestsCount++,kg.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=HSe,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete kg.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()}};$u.requestsCount=0;$u.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",f8);else if(typeof addEventListener=="function"){const e="onpagehide"in qr?"pagehide":"unload";addEventListener(e,f8,!1)}}function f8(){for(let e in $u.requests)$u.requests.hasOwnProperty(e)&&$u.requests[e].abort()}const g3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),Xp=qr.WebSocket||qr.MozWebSocket,h8=!0,KSe="arraybuffer",p8=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class XSe extends p3{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=p8?{}:ZL(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=h8&&!p8?n?new Xp(t,n):new Xp(t):new Xp(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||KSe,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 s={};try{h8&&this.ws.send(o)}catch{}i&&g3(()=>{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]=e$()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!Xp}}function YSe(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class QSe extends p3{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=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(MSe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{YSe(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&g3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const ZSe={websocket:XSe,webtransport:QSe,polling:WSe},JSe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e_e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function tw(e){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 i=JSe.exec(e||""),o={},s=14;for(;s--;)o[e_e[s]]=i[s]||"";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=t_e(o,o.path),o.queryKey=n_e(o,o.query),o}function t_e(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 n_e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let r$=class Zl extends Zt{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=tw(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=tw(n.host).host),a1(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=VSe(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=QL,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 ZSe[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Zl.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;Zl.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Zl.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 f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Zl.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,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=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),i&&this.once("flush",i),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){Zl.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 i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,i$=Object.prototype.toString,s_e=typeof Blob=="function"||typeof Blob<"u"&&i$.call(Blob)==="[object BlobConstructor]",a_e=typeof File=="function"||typeof File<"u"&&i$.call(File)==="[object FileConstructor]";function m3(e){return i_e&&(e instanceof ArrayBuffer||o_e(e))||s_e&&e instanceof Blob||a_e&&e instanceof File}function Og(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 s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),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((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(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:Me.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 Me.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 Me.EVENT:case Me.BINARY_EVENT:this.onevent(t);break;case Me.ACK:case Me.BINARY_ACK:this.onack(t);break;case Me.DISCONNECT:this.ondisconnect();break;case Me.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(...i){r||(r=!0,n.packet({type:Me.ACK,id:t,data:i}))}}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:Me.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}Tc.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};Tc.prototype.reset=function(){this.attempts=0};Tc.prototype.setMin=function(e){this.ms=e};Tc.prototype.setMax=function(e){this.max=e};Tc.prototype.setJitter=function(e){this.jitter=e};class iw extends Zt{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,a1(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 Tc({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||p_e;this.encoder=new i.Encoder,this.decoder=new i.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 r$(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=ui(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=ui(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(ui(t,"ping",this.onping.bind(this)),ui(t,"data",this.ondata.bind(this)),ui(t,"error",this.onerror.bind(this)),ui(t,"close",this.onclose.bind(this)),ui(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){g3(()=>{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 o$(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(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):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 sd={};function Rg(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=r_e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=sd[i]&&o in sd[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new iw(r,t):(sd[i]||(sd[i]=new iw(r,t)),l=sd[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Rg,{Manager:iw,Socket:o$,io:Rg,connect:Rg});const m8=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=Tf.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=Cf.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Rg(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(TSe({storeApi:o,socket:r}),e=!0,r.connect()),On.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(a7({sessionId:d}))),r.emit("subscribe",{session:c}),l(Vx({sessionId:c}))}s(a)}},l1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Ec(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function v3(e){return"nodeType"in e}function or(e){var t,n;return e?Ec(e)?e:v3(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function b3(e){const{Document:t}=or(e);return e instanceof t}function Vh(e){return Ec(e)?!1:e instanceof or(e).HTMLElement}function m_e(e){return e instanceof or(e).SVGElement}function Pc(e){return e?Ec(e)?e.document:v3(e)?b3(e)?e:Vh(e)?e.ownerDocument:document:document:document}const io=l1?k.useLayoutEffect:k.useEffect;function u1(e){const t=k.useRef(e);return io(()=>{t.current=e}),k.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=k.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xf(e,t){t===void 0&&(t=[e]);const n=k.useRef(e);return io(()=>{n.current!==e&&(n.current=e)},t),n}function zh(e,t){const n=k.useRef();return k.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function gy(e){const t=u1(e),n=k.useRef(null),r=k.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function my(e){const t=k.useRef();return k.useEffect(()=>{t.current=e},[e]),t.current}let vS={};function c1(e,t){return k.useMemo(()=>{if(t)return t;const n=vS[e]==null?0:vS[e]+1;return vS[e]=n,e+"-"+n},[e,t])}function s$(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const Fu=s$(1),yy=s$(-1);function v_e(e){return"clientX"in e&&"clientY"in e}function S3(e){if(!e)return!1;const{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function b_e(e){if(!e)return!1;const{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Yf(e){if(b_e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return v_e(e)?{x:e.clientX,y:e.clientY}:null}const Qf=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qf.Translate.toString(e),Qf.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),y8="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function S_e(e){return e.matches(y8)?e:e.querySelector(y8)}const __e={display:"none"};function w_e(e){let{id:t,value:n}=e;return Xe.createElement("div",{id:t,style:__e},n)}const x_e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function C_e(e){let{id:t,announcement:n}=e;return Xe.createElement("div",{id:t,style:x_e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function T_e(){const[e,t]=k.useState("");return{announce:k.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const a$=k.createContext(null);function E_e(e){const t=k.useContext(a$);k.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function P_e(){const[e]=k.useState(()=>new Set),t=k.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[k.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const A_e={draggable:` To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel. - `},k_e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function O_e(e){let{announcements:t=k_e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=A_e}=e;const{announce:o,announcement:s}=T_e(),a=c1("DndLiveRegion"),[l,u]=k.useState(!1);if(k.useEffect(()=>{u(!0)},[]),E_e(k.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=We.createElement(We.Fragment,null,We.createElement(w_e,{id:r,value:i.draggable}),We.createElement(C_e,{id:a,announcement:s}));return n?zi.createPortal(c,n):c}var nn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(nn||(nn={}));function vy(){}function v8(e,t){return k.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function R_e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Ei=Object.freeze({x:0,y:0});function I_e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function M_e(e,t){const n=Yf(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function N_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function D_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function L_e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function $_e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function F_e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=F_e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(D_e)};function j_e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const V_e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&j_e(r,a)){const u=L_e(a).reduce((d,f)=>d+I_e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(N_e)};function z_e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function l$(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ei}function U_e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const G_e=U_e(1);function u$(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function H_e(e,t,n){const r=u$(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const q_e={ignoreTransform:!1};function Uh(e,t){t===void 0&&(t=q_e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=or(e).getComputedStyle(e);u&&(n=H_e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function b8(e){return Uh(e,{ignoreTransform:!0})}function W_e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function K_e(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position==="fixed"}function X_e(e,t){t===void 0&&(t=or(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _3(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(b3(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Vh(i)||m_e(i)||n.includes(i))return n;const o=or(e).getComputedStyle(i);return i!==e&&X_e(i,o)&&n.push(i),K_e(i,o)?n:r(i.parentNode)}return e?r(e):n}function c$(e){const[t]=_3(e,1);return t??null}function bS(e){return!l1||!e?null:Ec(e)?e:v3(e)?b3(e)||e===Pc(e).scrollingElement?window:Vh(e)?e:null:null}function d$(e){return Ec(e)?e.scrollX:e.scrollLeft}function f$(e){return Ec(e)?e.scrollY:e.scrollTop}function ow(e){return{x:d$(e),y:f$(e)}}var hn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(hn||(hn={}));function h$(e){return!l1||!e?!1:e===document.scrollingElement}function p$(e){const t={x:0,y:0},n=h$(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const Y_e={x:.2,y:.2};function Q_e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=Y_e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=p$(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=hn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=hn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=hn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=hn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function Z_e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function g$(e){return e.reduce((t,n)=>Fu(t,ow(n)),Ei)}function J_e(e){return e.reduce((t,n)=>t+d$(n),0)}function e2e(e){return e.reduce((t,n)=>t+f$(n),0)}function m$(e,t){if(t===void 0&&(t=Uh),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);c$(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const t2e=[["x",["left","right"],J_e],["y",["top","bottom"],e2e]];class w3{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_3(n),i=g$(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of t2e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Dd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function n2e(e){const{EventTarget:t}=or(e);return e instanceof t?e:Pc(e)}function SS(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var Ur;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ur||(Ur={}));function S8(e){e.preventDefault()}function r2e(e){e.stopPropagation()}var st;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(st||(st={}));const y$={start:[st.Space,st.Enter],cancel:[st.Esc],end:[st.Space,st.Enter]},i2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case st.Right:return{...n,x:n.x+25};case st.Left:return{...n,x:n.x-25};case st.Down:return{...n,y:n.y+25};case st.Up:return{...n,y:n.y-25}}};class v${constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Dd(Pc(n)),this.windowListeners=new Dd(or(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ur.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&m$(r),n(Ei)}handleKeyDown(t){if(S3(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=y$,coordinateGetter:s=i2e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Ei;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=yy(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=p$(m),x=Z_e(m),T={x:Math.min(S===st.Right?x.right-x.width/2:x.right,Math.max(S===st.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===st.Down?x.bottom-x.height/2:x.bottom,Math.max(S===st.Down?x.top:x.top+x.height/2,d.y))},P=S===st.Right&&!y||S===st.Left&&!g,E=S===st.Down&&!b||S===st.Up&&!v;if(P&&T.x!==d.x){const A=m.scrollLeft+f.x,$=S===st.Right&&A<=_.x||S===st.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===st.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(E&&T.y!==d.y){const A=m.scrollTop+f.y,$=S===st.Down&&A<=_.y||S===st.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===st.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Fu(yy(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}v$.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=y$,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function _8(e){return!!(e&&"distance"in e)}function w8(e){return!!(e&&"delay"in e)}class x3{constructor(t,n,r){var i;r===void 0&&(r=n2e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Pc(s),this.documentListeners=new Dd(this.document),this.listeners=new Dd(r),this.windowListeners=new Dd(or(s)),this.initialCoordinates=(i=Yf(o))!=null?i:Ei,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.DragStart,S8),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),this.windowListeners.add(Ur.ContextMenu,S8),this.documentListeners.add(Ur.Keydown,this.handleKeydown),n){if(_8(n))return;if(w8(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ur.Click,r2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ur.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Yf(t))!=null?n:Ei,u=yy(i,l);if(!r&&a){if(w8(a))return SS(u,a.tolerance)?this.handleCancel():void 0;if(_8(a))return a.tolerance!=null&&SS(u,a.tolerance)?this.handleCancel():SS(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===st.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const o2e={move:{name:"pointermove"},end:{name:"pointerup"}};class b$ extends x3{constructor(t){const{event:n}=t,r=Pc(n.target);super(t,o2e,r)}}b$.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const s2e={move:{name:"mousemove"},end:{name:"mouseup"}};var sw;(function(e){e[e.RightClick=2]="RightClick"})(sw||(sw={}));class S$ extends x3{constructor(t){super(t,s2e,Pc(t.event.target))}}S$.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===sw.RightClick?!1:(r==null||r({event:n}),!0)}}];const _S={move:{name:"touchmove"},end:{name:"touchend"}};class _$ extends x3{constructor(t){super(t,_S)}static setup(){return window.addEventListener(_S.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(_S.move.name,t)};function t(){}}}_$.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Ld;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Ld||(Ld={}));var by;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(by||(by={}));function a2e(e){let{acceleration:t,activator:n=Ld.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=by.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=u2e({delta:d,disabled:!o}),[p,m]=y_e(),S=k.useRef({x:0,y:0}),v=k.useRef({x:0,y:0}),y=k.useMemo(()=>{switch(n){case Ld.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Ld.DraggableRect:return i}},[n,i,l]),g=k.useRef(null),b=k.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,T=S.current.y*v.current.y;w.scrollBy(x,T)},[]),_=k.useMemo(()=>a===by.TreeOrder?[...u].reverse():u,[a,u]);k.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),T=c[x];if(!T)continue;const{direction:P,speed:E}=Q_e(w,T,y,t,f);for(const A of["x","y"])h[A][P[A]]||(E[A]=0,P[A]=0);if(E.x>0||E.y>0){m(),g.current=w,p(b,s),S.current=E,v.current=P;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const l2e={x:{[hn.Backward]:!1,[hn.Forward]:!1},y:{[hn.Backward]:!1,[hn.Forward]:!1}};function u2e(e){let{delta:t,disabled:n}=e;const r=my(t);return zh(i=>{if(n||!r||!i)return l2e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[hn.Backward]:i.x[hn.Backward]||o.x===-1,[hn.Forward]:i.x[hn.Forward]||o.x===1},y:{[hn.Backward]:i.y[hn.Backward]||o.y===-1,[hn.Forward]:i.y[hn.Forward]||o.y===1}}},[n,t,r])}function c2e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zh(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function d2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Zf;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Zf||(Zf={}));var aw;(function(e){e.Optimized="optimized"})(aw||(aw={}));const x8=new Map;function f2e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=k.useState(null),{frequency:a,measure:l,strategy:u}=i,c=k.useRef(e),d=S(),f=Xf(d),h=k.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=k.useRef(null),m=zh(v=>{if(d&&!n)return x8;if(!v||v===x8||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new w3(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return k.useEffect(()=>{c.current=e},[e]),k.useEffect(()=>{d||h()},[n,d]),k.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),k.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Zf.Always:return!1;case Zf.BeforeDragging:return n;default:return!n}}}function C3(e,t){return zh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function h2e(e,t){return C3(e,t)}function p2e(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function d1(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function g2e(e){return new w3(Uh(e),e)}function C8(e,t,n){t===void 0&&(t=g2e);const[r,i]=k.useReducer(a,null),o=p2e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=d1({callback:i});return io(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function m2e(e){const t=C3(e);return l$(e,t)}const T8=[];function y2e(e){const t=k.useRef(e),n=zh(r=>e?r&&r!==T8&&e&&t.current&&e.parentNode===t.current.parentNode?r:_3(e):T8,[e]);return k.useEffect(()=>{t.current=e},[e]),n}function v2e(e){const[t,n]=k.useState(null),r=k.useRef(e),i=k.useCallback(o=>{const s=bS(o.target);s&&n(a=>a?(a.set(s,ow(s)),new Map(a)):null)},[]);return k.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=bS(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,ow(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=bS(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),k.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>Fu(o,s),Ei):g$(e):Ei,[e,t])}function E8(e,t){t===void 0&&(t=[]);const n=k.useRef(null);return k.useEffect(()=>{n.current=null},t),k.useEffect(()=>{const r=e!==Ei;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?yy(e,n.current):Ei}function b2e(e){k.useEffect(()=>{if(!l1)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function S2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function w$(e){return k.useMemo(()=>e?W_e(e):null,[e])}const wS=[];function _2e(e,t){t===void 0&&(t=Uh);const[n]=e,r=w$(n?or(n):null),[i,o]=k.useReducer(a,wS),s=d1({callback:o});return e.length>0&&i===wS&&o(),io(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>h$(l)?r:new w3(t(l),l)):wS}}function x$(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Vh(t)?t:e}function w2e(e){let{measure:t}=e;const[n,r]=k.useState(null),i=k.useCallback(u=>{for(const{target:c}of u)if(Vh(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=d1({callback:i}),s=k.useCallback(u=>{const c=x$(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=gy(s);return k.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const x2e=[{sensor:b$,options:{}},{sensor:v$,options:{}}],C2e={current:{}},Ig={draggable:{measure:b8},droppable:{measure:b8,strategy:Zf.WhileDragging,frequency:aw.Optimized},dragOverlay:{measure:Uh}};class $d extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const T2e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new $d,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:vy},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ig,measureDroppableContainers:vy,windowRect:null,measuringScheduled:!1},C$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:vy,draggableNodes:new Map,over:null,measureDroppableContainers:vy},Gh=k.createContext(C$),T$=k.createContext(T2e);function E2e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new $d}}}function P2e(e,t){switch(t.type){case nn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case nn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case nn.DragEnd:case nn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case nn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new $d(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case nn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new $d(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case nn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new $d(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function A2e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=k.useContext(Gh),o=my(r),s=my(n==null?void 0:n.id);return k.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!S3(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=S_e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function E$(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function k2e(e){return k.useMemo(()=>({draggable:{...Ig.draggable,...e==null?void 0:e.draggable},droppable:{...Ig.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Ig.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function O2e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=k.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;io(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=l$(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=c$(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const f1=k.createContext({...Ei,scaleX:1,scaleY:1});var hs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hs||(hs={}));const R2e=k.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=x2e,collisionDetection:d=B_e,measuring:f,modifiers:h,...p}=t;const m=k.useReducer(P2e,void 0,E2e),[S,v]=m,[y,g]=P_e(),[b,_]=k.useState(hs.Uninitialized),w=b===hs.Initialized,{draggable:{active:x,nodes:T,translate:P},droppable:{containers:E}}=S,A=x?T.get(x):null,$=k.useRef({initial:null,translated:null}),M=k.useMemo(()=>{var Ct;return x!=null?{id:x,data:(Ct=A==null?void 0:A.data)!=null?Ct:C2e,rect:$}:null},[x,A]),C=k.useRef(null),[O,I]=k.useState(null),[N,R]=k.useState(null),D=Xf(p,Object.values(p)),L=c1("DndDescribedBy",s),j=k.useMemo(()=>E.getEnabled(),[E]),U=k2e(f),{droppableRects:G,measureDroppableContainers:W,measuringScheduled:X}=f2e(j,{dragging:w,dependencies:[P.x,P.y],config:U.droppable}),Y=c2e(T,x),B=k.useMemo(()=>N?Yf(N):null,[N]),H=da(),Q=h2e(Y,U.draggable.measure);O2e({activeNode:x?T.get(x):null,config:H.layoutShiftCompensation,initialRect:Q,measure:U.draggable.measure});const J=C8(Y,U.draggable.measure,Q),ne=C8(Y?Y.parentElement:null),te=k.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:G,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),xe=E.getNodeFor((n=te.current.over)==null?void 0:n.id),ve=w2e({measure:U.dragOverlay.measure}),ce=(r=ve.nodeRef.current)!=null?r:Y,Ne=w?(i=ve.rect)!=null?i:J:null,se=!!(ve.nodeRef.current&&ve.rect),gt=m2e(se?null:J),vn=w$(ce?or(ce):null),It=y2e(w?xe??Y:null),ut=_2e(It),Je=E$(h,{transform:{x:P.x-gt.x,y:P.y-gt.y,scaleX:1,scaleY:1},activatorEvent:N,active:M,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Ne,over:te.current.over,overlayNodeRect:ve.rect,scrollableAncestors:It,scrollableAncestorRects:ut,windowRect:vn}),Gt=B?Fu(B,P):null,sr=v2e(It),ni=E8(sr),Lr=E8(sr,[J]),Rn=Fu(Je,ni),bn=Ne?G_e(Ne,Je):null,Un=M&&bn?d({active:M,collisionRect:bn,droppableRects:G,droppableContainers:j,pointerCoordinates:Gt}):null,Ht=$_e(Un,"id"),[xt,wr]=k.useState(null),$r=se?Je:Fu(Je,Lr),ri=z_e($r,(o=xt==null?void 0:xt.rect)!=null?o:null,J),uo=k.useCallback((Ct,et)=>{let{sensor:_n,options:ln}=et;if(C.current==null)return;const In=T.get(C.current);if(!In)return;const Gn=Ct.nativeEvent,ar=new _n({active:C.current,activeNode:In,event:Gn,options:ln,context:te,onStart(Hn){const wn=C.current;if(wn==null)return;const co=T.get(wn);if(!co)return;const{onDragStart:Zo}=D.current,Jo={active:{id:wn,data:co.data,rect:$}};zi.unstable_batchedUpdates(()=>{Zo==null||Zo(Jo),_(hs.Initializing),v({type:nn.DragStart,initialCoordinates:Hn,active:wn}),y({type:"onDragStart",event:Jo})})},onMove(Hn){v({type:nn.DragMove,coordinates:Hn})},onEnd:Oi(nn.DragEnd),onCancel:Oi(nn.DragCancel)});zi.unstable_batchedUpdates(()=>{I(ar),R(Ct.nativeEvent)});function Oi(Hn){return async function(){const{active:co,collisions:Zo,over:Jo,scrollAdjustedTranslate:Al}=te.current;let fo=null;if(co&&Al){const{cancelDrop:qn}=D.current;fo={activatorEvent:Gn,active:co,collisions:Zo,delta:Al,over:Jo},Hn===nn.DragEnd&&typeof qn=="function"&&await Promise.resolve(qn(fo))&&(Hn=nn.DragCancel)}C.current=null,zi.unstable_batchedUpdates(()=>{v({type:Hn}),_(hs.Uninitialized),wr(null),I(null),R(null);const qn=Hn===nn.DragEnd?"onDragEnd":"onDragCancel";if(fo){const fa=D.current[qn];fa==null||fa(fo),y({type:qn,event:fo})}})}}},[T]),Sn=k.useCallback((Ct,et)=>(_n,ln)=>{const In=_n.nativeEvent,Gn=T.get(ln);if(C.current!==null||!Gn||In.dndKit||In.defaultPrevented)return;const ar={active:Gn};Ct(_n,et.options,ar)===!0&&(In.dndKit={capturedBy:et.sensor},C.current=ln,uo(_n,et))},[T,uo]),ii=d2e(c,Sn);b2e(c),io(()=>{J&&b===hs.Initializing&&_(hs.Initialized)},[J,b]),k.useEffect(()=>{const{onDragMove:Ct}=D.current,{active:et,activatorEvent:_n,collisions:ln,over:In}=te.current;if(!et||!_n)return;const Gn={active:et,activatorEvent:_n,collisions:ln,delta:{x:Rn.x,y:Rn.y},over:In};zi.unstable_batchedUpdates(()=>{Ct==null||Ct(Gn),y({type:"onDragMove",event:Gn})})},[Rn.x,Rn.y]),k.useEffect(()=>{const{active:Ct,activatorEvent:et,collisions:_n,droppableContainers:ln,scrollAdjustedTranslate:In}=te.current;if(!Ct||C.current==null||!et||!In)return;const{onDragOver:Gn}=D.current,ar=ln.get(Ht),Oi=ar&&ar.rect.current?{id:ar.id,rect:ar.rect.current,data:ar.data,disabled:ar.disabled}:null,Hn={active:Ct,activatorEvent:et,collisions:_n,delta:{x:In.x,y:In.y},over:Oi};zi.unstable_batchedUpdates(()=>{wr(Oi),Gn==null||Gn(Hn),y({type:"onDragOver",event:Hn})})},[Ht]),io(()=>{te.current={activatorEvent:N,active:M,activeNode:Y,collisionRect:bn,collisions:Un,droppableRects:G,draggableNodes:T,draggingNode:ce,draggingNodeRect:Ne,droppableContainers:E,over:xt,scrollableAncestors:It,scrollAdjustedTranslate:Rn},$.current={initial:Ne,translated:bn}},[M,Y,Un,bn,T,ce,Ne,G,E,xt,It,Rn]),a2e({...H,delta:P,draggingRect:bn,pointerCoordinates:Gt,scrollableAncestors:It,scrollableAncestorRects:ut});const ca=k.useMemo(()=>({active:M,activeNode:Y,activeNodeRect:J,activatorEvent:N,collisions:Un,containerNodeRect:ne,dragOverlay:ve,draggableNodes:T,droppableContainers:E,droppableRects:G,over:xt,measureDroppableContainers:W,scrollableAncestors:It,scrollableAncestorRects:ut,measuringConfiguration:U,measuringScheduled:X,windowRect:vn}),[M,Y,J,N,Un,ne,ve,T,E,G,xt,W,It,ut,U,X,vn]),ki=k.useMemo(()=>({activatorEvent:N,activators:ii,active:M,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:T,over:xt,measureDroppableContainers:W}),[N,ii,M,J,v,L,T,xt,W]);return We.createElement(a$.Provider,{value:g},We.createElement(Gh.Provider,{value:ki},We.createElement(T$.Provider,{value:ca},We.createElement(f1.Provider,{value:ri},u)),We.createElement(A2e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),We.createElement(O_e,{...a,hiddenTextDescribedById:L}));function da(){const Ct=(O==null?void 0:O.autoScrollEnabled)===!1,et=typeof l=="object"?l.enabled===!1:l===!1,_n=w&&!Ct&&!et;return typeof l=="object"?{...l,enabled:_n}:{enabled:_n}}}),I2e=k.createContext(null),P8="button",M2e="Droppable";function N2e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=c1(M2e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=k.useContext(Gh),{role:h=P8,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=k.useContext(S?f1:I2e),[y,g]=gy(),[b,_]=gy(),w=S2e(s,t),x=Xf(n);io(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const P=d.get(t);P&&P.key===o&&d.delete(t)}),[d,t]);const T=k.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===P8?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:T,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function D2e(){return k.useContext(T$)}const L2e="Droppable",$2e={timeout:25};function F2e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=c1(L2e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=k.useContext(Gh),c=k.useRef({disabled:n}),d=k.useRef(!1),f=k.useRef(null),h=k.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...$2e,...i},v=Xf(m??r),y=k.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=d1({callback:y,disabled:p||!s}),b=k.useCallback((T,P)=>{g&&(P&&(g.unobserve(P),d.current=!1),T&&g.observe(T))},[g]),[_,w]=gy(b),x=Xf(t);return k.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),io(()=>(a({type:nn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:nn.UnregisterDroppable,key:o,id:r})),[r]),k.useEffect(()=>{n!==c.current.disabled&&(a({type:nn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function B2e(e){let{animation:t,children:n}=e;const[r,i]=k.useState(null),[o,s]=k.useState(null),a=my(n);return!n&&!r&&a&&i(a),io(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),We.createElement(We.Fragment,null,n,r?k.cloneElement(r,{ref:s}):null)}const j2e={x:0,y:0,scaleX:1,scaleY:1};function V2e(e){let{children:t}=e;return We.createElement(Gh.Provider,{value:C$},We.createElement(f1.Provider,{value:j2e},t))}const z2e={position:"fixed",touchAction:"none"},U2e=e=>S3(e)?"transform 250ms ease":void 0,G2e=k.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=U2e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...z2e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Qf.Transform.toString(d),transformOrigin:i&&r?M_e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return We.createElement(n,{className:s,style:f,ref:t},o)}),H2e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},q2e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Qf.Transform.toString(t)},{transform:Qf.Transform.toString(n)}]},W2e={duration:250,easing:"ease",keyframes:q2e,sideEffects:H2e({styles:{active:{opacity:"0"}}})};function K2e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return u1((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=x$(s);if(!u)return;const{transform:c}=or(s).getComputedStyle(s),d=u$(c);if(!d)return;const f=typeof t=="function"?t:X2e(t);return m$(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function X2e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...W2e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let A8=0;function Y2e(e){return k.useMemo(()=>{if(e!=null)return A8++,A8},[e])}const Q2e=We.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=D2e(),w=k.useContext(f1),x=Y2e(d==null?void 0:d.id),T=E$(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),P=C3(f),E=K2e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=P?S.setRef:void 0;return We.createElement(V2e,null,We.createElement(B2e,{animation:E},d&&x?We.createElement(G2e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:P,style:{zIndex:u,...i},transform:T},n):null))}),Z2e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Yf(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},P$=()=>ak(),A4e=J9,Yp=28,k8={w:Yp,h:Yp,maxW:Yp,maxH:Yp,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},J2e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return K.jsx(c3,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:K.jsx(u3,{sx:{...k8},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?K.jsxs(d3,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...k8},children:[K.jsx(K2,{children:e.dragData.payload.image_names.length}),K.jsx(K2,{size:"sm",children:"Images"})]}):null},ewe=k.memo(J2e);function k4e(e){return F2e(e)}function O4e(e){return N2e(e)}const R4e=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function twe(e){return K.jsx(R2e,{...e})}const nwe=e=>{const[t,n]=k.useState(null),r=P$(),i=k.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=k.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current);const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(tN({overData:c,activeData:t})),n(null))},[t,r]),s=v8(S$,{activationConstraint:{distance:10}}),a=v8(_$,{activationConstraint:{distance:10}}),l=R_e(s,a);return K.jsxs(twe,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:V_e,children:[e.children,K.jsx(Q2e,{dropAnimation:null,modifiers:[Z2e],children:K.jsx(Hbe,{children:t&&K.jsx($be.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:K.jsx(ewe,{dragData:t})},"overlay-drag-image")})})]})},rwe=k.memo(nwe),iwe=k.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),owe=e=>{const[t,n]=k.useState(),{isOpen:r,onOpen:i,onClose:o}=Jbe(),s=P$(),a=k.useCallback(()=>{n(void 0),o()},[o]),l=k.useCallback(c=>{c&&(n(c),i())},[n,i]),u=k.useCallback(c=>{t&&(s(he.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return K.jsx(iwe.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},swe=k.lazy(()=>G9(()=>import("./App-69e5ea36.js"),["./App-69e5ea36.js","./MantineProvider-8184f020.js","./App-6125620a.css"],import.meta.url)),awe=k.lazy(()=>G9(()=>import("./ThemeLocaleProvider-9ac72450.js"),["./ThemeLocaleProvider-9ac72450.js","./MantineProvider-8184f020.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),lwe=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(k.useEffect(()=>(t&&Cf.set(t),e&&Tf.set(e),zM(),i&&i.length>0?c2(m8(),...i):c2(m8()),()=>{Tf.set(void 0),Cf.set(void 0)}),[e,t,i]),K.jsx(We.StrictMode,{children:K.jsx(mV,{store:Gpe,children:K.jsx(We.Suspense,{fallback:K.jsx(rSe,{}),children:K.jsx(awe,{children:K.jsx(rwe,{children:K.jsx(owe,{children:K.jsx(swe,{config:n,headerComponent:r})})})})})})})),uwe=k.memo(lwe);xS.createRoot(document.getElementById("root")).render(K.jsx(uwe,{}));export{fD as $,K as A,ti as B,Vt as C,Mu as D,Vn as E,fi as F,Xne as G,br as H,Is as I,$i as J,$3e as K,_I as L,cre as M,jre as N,ote as O,Zne as P,rc as Q,Tl as R,df as S,Nge as T,sl as U,oD as V,h4e as W,c4e as X,Hbe as Y,$be as Z,x4e as _,Zk as a,U_ as a$,$L as a0,mD as a1,d4e as a2,f4e as a3,Mge as a4,Ige as a5,p4e as a6,Na as a7,al as a8,rm as a9,d3 as aA,K2 as aB,o4e as aC,jN as aD,ZCe as aE,Y4 as aF,lCe as aG,zi as aH,BC as aI,nF as aJ,hwe as aK,dwe as aL,fwe as aM,Ee as aN,Ea as aO,C3e as aP,YM as aQ,w3e as aR,x3e as aS,S3e as aT,m3e as aU,Mpe as aV,k4e as aW,R4e as aX,b3e as aY,R3e as aZ,WCe as a_,IV as aa,We as ab,e8 as ac,uye as ad,w4e as ae,Io as af,rD as ag,R1e as ah,y4e as ai,R2 as aj,u4e as ak,_4e as al,Jn as am,mC as an,S0 as ao,A4e as ap,B3e as aq,Th as ar,nM as as,AM as at,Z0 as au,P$ as av,g5e as aw,Ft as ax,Ga as ay,c3 as az,Tx as b,I7 as b$,_3e as b0,u3 as b1,tSe as b2,vxe as b3,Ss as b4,A5e as b5,hp as b6,bge as b7,FC as b8,ZN as b9,ue as bA,iwe as bB,KCe as bC,dJ as bD,e3e as bE,$R as bF,Yxe as bG,RR as bH,G_ as bI,O4e as bJ,l4e as bK,O3e as bL,YCe as bM,QCe as bN,Rs as bO,Vle as bP,HCe as bQ,qCe as bR,UCe as bS,Jbe as bT,Am as bU,i4e as bV,N5e as bW,mxe as bX,ble as bY,d5e as bZ,I3e as b_,_ge as ba,$3 as bb,A3e as bc,P3e as bd,cwe as be,mwe as bf,ywe as bg,Bwe as bh,jwe as bi,wwe as bj,qwe as bk,bwe as bl,Iwe as bm,Twe as bn,Jle as bo,Swe as bp,Vwe as bq,vwe as br,Qwe as bs,xwe as bt,Mwe as bu,Cwe as bv,Nwe as bw,Awe as bx,Lwe as by,Zle as bz,AU as c,uxe as c$,eN as c0,O5e as c1,GCe as c2,t3e as c3,T7 as c4,LR as c5,_we as c6,xxe as c7,zn as c8,_5e as c9,Ph as cA,lxe as cB,Zwe as cC,ixe as cD,Fwe as cE,m5e as cF,hl as cG,v5e as cH,r5e as cI,n5e as cJ,t5e as cK,L5e as cL,e4e as cM,l5e as cN,s5e as cO,fe as cP,xf as cQ,W5e as cR,wE as cS,a5e as cT,u5e as cU,o5e as cV,Xse as cW,$we as cX,pQ as cY,j5e as cZ,PR as c_,R5e as ca,k5e as cb,Qae as cc,S5e as cd,C5e as ce,T5e as cf,vQ as cg,vae as ch,bae as ci,pxe as cj,wxe as ck,x5e as cl,_Q as cm,F3e as cn,p5e as co,ER as cp,g3e as cq,f3e as cr,h3e as cs,p3e as ct,B5e as cu,Qa as cv,pwe as cw,xo as cx,ace as cy,kwe as cz,mX as d,pe as d$,bQ as d0,Ui as d1,Dwe as d2,Kwe as d3,gwe as d4,aY as d5,Ywe as d6,i5e as d7,cxe as d8,e5e as d9,d3e as dA,C7 as dB,i3e as dC,s3e as dD,n3e as dE,Spe as dF,r3e as dG,oxe as dH,sxe as dI,nxe as dJ,rxe as dK,txe as dL,X5e as dM,G5e as dN,P5e as dO,U5e as dP,J5e as dQ,K5e as dR,E5e as dS,q5e as dT,H5e as dU,V5e as dV,z5e as dW,GI as dX,Lx as dY,Y5e as dZ,Fm as d_,hce as da,fxe as db,he as dc,Kn as dd,D5e as de,N3e as df,D3e as dg,N7 as dh,F5e as di,M3e as dj,hR as dk,axe as dl,sY as dm,Pwe as dn,$5e as dp,bT as dq,a3e as dr,Hx as ds,tJ as dt,Xl as du,ST as dv,l3e as dw,u3e as dx,c3e as dy,nJ as dz,ZO as e,bpe as e$,Q5e as e0,u2 as e1,Ewe as e2,Z5e as e3,J9 as e4,ak as e5,J3e as e6,q3e as e7,W3e as e8,K3e as e9,cCe as eA,nd as eB,sCe as eC,Vxe as eD,tv as eE,uCe as eF,$xe as eG,aCe as eH,Fxe as eI,Gxe as eJ,Pxe as eK,Exe as eL,Txe as eM,DCe as eN,MR as eO,Cf as eP,Ixe as eQ,Mxe as eR,Nxe as eS,ICe as eT,qxe as eU,Hxe as eV,FQ as eW,RCe as eX,Ele as eY,zxe as eZ,mpe as e_,RM as ea,Q3e as eb,Z3e as ec,Df as ed,_0 as ee,z3e as ef,Dpe as eg,j3e as eh,V3e as ei,G3e as ej,U3e as ek,H3e as el,Y3e as em,$ie as en,eM as eo,oN as ep,CF as eq,Pe as er,gCe as es,NCe as et,MCe as eu,Kxe as ev,CCe as ew,LCe as ex,Ple as ey,jxe as ez,sO as f,aye as f$,Zxe as f0,Jxe as f1,mCe as f2,pCe as f3,dCe as f4,Axe as f5,kxe as f6,I5e as f7,M5e as f8,oCe as f9,yQ as fA,Jwe as fB,Rxe as fC,tCe as fD,jCe as fE,zwe as fF,Uwe as fG,Gwe as fH,Hwe as fI,nCe as fJ,r4e as fK,yxe as fL,AR as fM,Sxe as fN,bxe as fO,_xe as fP,iY as fQ,yle as fR,a4e as fS,iD as fT,S4e as fU,v4e as fV,g4e as fW,b4e as fX,Wi as fY,m4e as fZ,s4e as f_,Qxe as fa,yCe as fb,xCe as fc,vCe as fd,Wxe as fe,Bxe as ff,OCe as fg,kCe as fh,_Ce as fi,bCe as fj,SCe as fk,VCe as fl,PCe as fm,zCe as fn,iCe as fo,rCe as fp,Lxe as fq,Dxe as fr,BCe as fs,Xxe as ft,Tle as fu,wle as fv,xle as fw,Cle as fx,Oxe as fy,dxe as fz,uX as g,Yme as g0,C4e as g1,E4e as g2,P4e as g3,gO as h,vr as i,mc as j,v0 as k,mn as l,y0 as m,hh as n,Ci as o,ta as p,g0 as q,oo as r,gh as s,hb as t,_x as u,iO as v,kx as w,HO as x,aO as y,k as z}; + `},k_e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function O_e(e){let{announcements:t=k_e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=A_e}=e;const{announce:o,announcement:s}=T_e(),a=c1("DndLiveRegion"),[l,u]=k.useState(!1);if(k.useEffect(()=>{u(!0)},[]),E_e(k.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=Xe.createElement(Xe.Fragment,null,Xe.createElement(w_e,{id:r,value:i.draggable}),Xe.createElement(C_e,{id:a,announcement:s}));return n?zi.createPortal(c,n):c}var nn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(nn||(nn={}));function vy(){}function v8(e,t){return k.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function R_e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Ei=Object.freeze({x:0,y:0});function I_e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function M_e(e,t){const n=Yf(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function N_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function D_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function L_e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function $_e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function F_e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=F_e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(D_e)};function j_e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const V_e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&j_e(r,a)){const u=L_e(a).reduce((d,f)=>d+I_e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(N_e)};function z_e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function l$(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ei}function U_e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const G_e=U_e(1);function u$(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function H_e(e,t,n){const r=u$(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const q_e={ignoreTransform:!1};function Uh(e,t){t===void 0&&(t=q_e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=or(e).getComputedStyle(e);u&&(n=H_e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function b8(e){return Uh(e,{ignoreTransform:!0})}function W_e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function K_e(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position==="fixed"}function X_e(e,t){t===void 0&&(t=or(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _3(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(b3(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Vh(i)||m_e(i)||n.includes(i))return n;const o=or(e).getComputedStyle(i);return i!==e&&X_e(i,o)&&n.push(i),K_e(i,o)?n:r(i.parentNode)}return e?r(e):n}function c$(e){const[t]=_3(e,1);return t??null}function bS(e){return!l1||!e?null:Ec(e)?e:v3(e)?b3(e)||e===Pc(e).scrollingElement?window:Vh(e)?e:null:null}function d$(e){return Ec(e)?e.scrollX:e.scrollLeft}function f$(e){return Ec(e)?e.scrollY:e.scrollTop}function ow(e){return{x:d$(e),y:f$(e)}}var hn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(hn||(hn={}));function h$(e){return!l1||!e?!1:e===document.scrollingElement}function p$(e){const t={x:0,y:0},n=h$(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const Y_e={x:.2,y:.2};function Q_e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=Y_e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=p$(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=hn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=hn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=hn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=hn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function Z_e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function g$(e){return e.reduce((t,n)=>Fu(t,ow(n)),Ei)}function J_e(e){return e.reduce((t,n)=>t+d$(n),0)}function e2e(e){return e.reduce((t,n)=>t+f$(n),0)}function m$(e,t){if(t===void 0&&(t=Uh),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);c$(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const t2e=[["x",["left","right"],J_e],["y",["top","bottom"],e2e]];class w3{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_3(n),i=g$(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of t2e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Dd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function n2e(e){const{EventTarget:t}=or(e);return e instanceof t?e:Pc(e)}function SS(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var Ur;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ur||(Ur={}));function S8(e){e.preventDefault()}function r2e(e){e.stopPropagation()}var at;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(at||(at={}));const y$={start:[at.Space,at.Enter],cancel:[at.Esc],end:[at.Space,at.Enter]},i2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case at.Right:return{...n,x:n.x+25};case at.Left:return{...n,x:n.x-25};case at.Down:return{...n,y:n.y+25};case at.Up:return{...n,y:n.y-25}}};class v${constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Dd(Pc(n)),this.windowListeners=new Dd(or(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ur.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&m$(r),n(Ei)}handleKeyDown(t){if(S3(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=y$,coordinateGetter:s=i2e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Ei;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=yy(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:v,isRight:y,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=p$(m),x=Z_e(m),T={x:Math.min(S===at.Right?x.right-x.width/2:x.right,Math.max(S===at.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===at.Down?x.bottom-x.height/2:x.bottom,Math.max(S===at.Down?x.top:x.top+x.height/2,d.y))},P=S===at.Right&&!y||S===at.Left&&!g,E=S===at.Down&&!b||S===at.Up&&!v;if(P&&T.x!==d.x){const A=m.scrollLeft+f.x,$=S===at.Right&&A<=_.x||S===at.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===at.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(E&&T.y!==d.y){const A=m.scrollTop+f.y,$=S===at.Down&&A<=_.y||S===at.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===at.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Fu(yy(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}v$.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=y$,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function _8(e){return!!(e&&"distance"in e)}function w8(e){return!!(e&&"delay"in e)}class x3{constructor(t,n,r){var i;r===void 0&&(r=n2e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Pc(s),this.documentListeners=new Dd(this.document),this.listeners=new Dd(r),this.windowListeners=new Dd(or(s)),this.initialCoordinates=(i=Yf(o))!=null?i:Ei,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.DragStart,S8),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),this.windowListeners.add(Ur.ContextMenu,S8),this.documentListeners.add(Ur.Keydown,this.handleKeydown),n){if(_8(n))return;if(w8(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ur.Click,r2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ur.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Yf(t))!=null?n:Ei,u=yy(i,l);if(!r&&a){if(w8(a))return SS(u,a.tolerance)?this.handleCancel():void 0;if(_8(a))return a.tolerance!=null&&SS(u,a.tolerance)?this.handleCancel():SS(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===at.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const o2e={move:{name:"pointermove"},end:{name:"pointerup"}};class b$ extends x3{constructor(t){const{event:n}=t,r=Pc(n.target);super(t,o2e,r)}}b$.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const s2e={move:{name:"mousemove"},end:{name:"mouseup"}};var sw;(function(e){e[e.RightClick=2]="RightClick"})(sw||(sw={}));class S$ extends x3{constructor(t){super(t,s2e,Pc(t.event.target))}}S$.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===sw.RightClick?!1:(r==null||r({event:n}),!0)}}];const _S={move:{name:"touchmove"},end:{name:"touchend"}};class _$ extends x3{constructor(t){super(t,_S)}static setup(){return window.addEventListener(_S.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(_S.move.name,t)};function t(){}}}_$.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Ld;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Ld||(Ld={}));var by;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(by||(by={}));function a2e(e){let{acceleration:t,activator:n=Ld.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=by.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=u2e({delta:d,disabled:!o}),[p,m]=y_e(),S=k.useRef({x:0,y:0}),v=k.useRef({x:0,y:0}),y=k.useMemo(()=>{switch(n){case Ld.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Ld.DraggableRect:return i}},[n,i,l]),g=k.useRef(null),b=k.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*v.current.x,T=S.current.y*v.current.y;w.scrollBy(x,T)},[]),_=k.useMemo(()=>a===by.TreeOrder?[...u].reverse():u,[a,u]);k.useEffect(()=>{if(!o||!u.length||!y){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),T=c[x];if(!T)continue;const{direction:P,speed:E}=Q_e(w,T,y,t,f);for(const A of["x","y"])h[A][P[A]]||(E[A]=0,P[A]=0);if(E.x>0||E.y>0){m(),g.current=w,p(b,s),S.current=E,v.current=P;return}}S.current={x:0,y:0},v.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(y),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const l2e={x:{[hn.Backward]:!1,[hn.Forward]:!1},y:{[hn.Backward]:!1,[hn.Forward]:!1}};function u2e(e){let{delta:t,disabled:n}=e;const r=my(t);return zh(i=>{if(n||!r||!i)return l2e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[hn.Backward]:i.x[hn.Backward]||o.x===-1,[hn.Forward]:i.x[hn.Forward]||o.x===1},y:{[hn.Backward]:i.y[hn.Backward]||o.y===-1,[hn.Forward]:i.y[hn.Forward]||o.y===1}}},[n,t,r])}function c2e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zh(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function d2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Zf;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Zf||(Zf={}));var aw;(function(e){e.Optimized="optimized"})(aw||(aw={}));const x8=new Map;function f2e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=k.useState(null),{frequency:a,measure:l,strategy:u}=i,c=k.useRef(e),d=S(),f=Xf(d),h=k.useCallback(function(v){v===void 0&&(v=[]),!f.current&&s(y=>y===null?v:y.concat(v.filter(g=>!y.includes(g))))},[f]),p=k.useRef(null),m=zh(v=>{if(d&&!n)return x8;if(!v||v===x8||c.current!==e||o!=null){const y=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){y.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new w3(l(b),b):null;g.rect.current=_,_&&y.set(g.id,_)}return y}return v},[e,o,n,d,l]);return k.useEffect(()=>{c.current=e},[e]),k.useEffect(()=>{d||h()},[n,d]),k.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),k.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Zf.Always:return!1;case Zf.BeforeDragging:return n;default:return!n}}}function C3(e,t){return zh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function h2e(e,t){return C3(e,t)}function p2e(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function d1(e){let{callback:t,disabled:n}=e;const r=u1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function g2e(e){return new w3(Uh(e),e)}function C8(e,t,n){t===void 0&&(t=g2e);const[r,i]=k.useReducer(a,null),o=p2e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=d1({callback:i});return io(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function m2e(e){const t=C3(e);return l$(e,t)}const T8=[];function y2e(e){const t=k.useRef(e),n=zh(r=>e?r&&r!==T8&&e&&t.current&&e.parentNode===t.current.parentNode?r:_3(e):T8,[e]);return k.useEffect(()=>{t.current=e},[e]),n}function v2e(e){const[t,n]=k.useState(null),r=k.useRef(e),i=k.useCallback(o=>{const s=bS(o.target);s&&n(a=>a?(a.set(s,ow(s)),new Map(a)):null)},[]);return k.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=bS(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,ow(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=bS(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),k.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>Fu(o,s),Ei):g$(e):Ei,[e,t])}function E8(e,t){t===void 0&&(t=[]);const n=k.useRef(null);return k.useEffect(()=>{n.current=null},t),k.useEffect(()=>{const r=e!==Ei;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?yy(e,n.current):Ei}function b2e(e){k.useEffect(()=>{if(!l1)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function S2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function w$(e){return k.useMemo(()=>e?W_e(e):null,[e])}const wS=[];function _2e(e,t){t===void 0&&(t=Uh);const[n]=e,r=w$(n?or(n):null),[i,o]=k.useReducer(a,wS),s=d1({callback:o});return e.length>0&&i===wS&&o(),io(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>h$(l)?r:new w3(t(l),l)):wS}}function x$(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Vh(t)?t:e}function w2e(e){let{measure:t}=e;const[n,r]=k.useState(null),i=k.useCallback(u=>{for(const{target:c}of u)if(Vh(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=d1({callback:i}),s=k.useCallback(u=>{const c=x$(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=gy(s);return k.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const x2e=[{sensor:b$,options:{}},{sensor:v$,options:{}}],C2e={current:{}},Ig={draggable:{measure:b8},droppable:{measure:b8,strategy:Zf.WhileDragging,frequency:aw.Optimized},dragOverlay:{measure:Uh}};class $d extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const T2e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new $d,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:vy},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ig,measureDroppableContainers:vy,windowRect:null,measuringScheduled:!1},C$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:vy,draggableNodes:new Map,over:null,measureDroppableContainers:vy},Gh=k.createContext(C$),T$=k.createContext(T2e);function E2e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new $d}}}function P2e(e,t){switch(t.type){case nn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case nn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case nn.DragEnd:case nn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case nn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new $d(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case nn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new $d(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case nn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new $d(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function A2e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=k.useContext(Gh),o=my(r),s=my(n==null?void 0:n.id);return k.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!S3(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=S_e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function E$(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function k2e(e){return k.useMemo(()=>({draggable:{...Ig.draggable,...e==null?void 0:e.draggable},droppable:{...Ig.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Ig.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function O2e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=k.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;io(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=l$(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=c$(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const f1=k.createContext({...Ei,scaleX:1,scaleY:1});var hs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hs||(hs={}));const R2e=k.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=x2e,collisionDetection:d=B_e,measuring:f,modifiers:h,...p}=t;const m=k.useReducer(P2e,void 0,E2e),[S,v]=m,[y,g]=P_e(),[b,_]=k.useState(hs.Uninitialized),w=b===hs.Initialized,{draggable:{active:x,nodes:T,translate:P},droppable:{containers:E}}=S,A=x?T.get(x):null,$=k.useRef({initial:null,translated:null}),M=k.useMemo(()=>{var Ct;return x!=null?{id:x,data:(Ct=A==null?void 0:A.data)!=null?Ct:C2e,rect:$}:null},[x,A]),C=k.useRef(null),[O,I]=k.useState(null),[N,R]=k.useState(null),D=Xf(p,Object.values(p)),L=c1("DndDescribedBy",s),j=k.useMemo(()=>E.getEnabled(),[E]),U=k2e(f),{droppableRects:G,measureDroppableContainers:W,measuringScheduled:X}=f2e(j,{dragging:w,dependencies:[P.x,P.y],config:U.droppable}),Y=c2e(T,x),B=k.useMemo(()=>N?Yf(N):null,[N]),H=da(),Q=h2e(Y,U.draggable.measure);O2e({activeNode:x?T.get(x):null,config:H.layoutShiftCompensation,initialRect:Q,measure:U.draggable.measure});const J=C8(Y,U.draggable.measure,Q),ne=C8(Y?Y.parentElement:null),te=k.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:G,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),xe=E.getNodeFor((n=te.current.over)==null?void 0:n.id),ve=w2e({measure:U.dragOverlay.measure}),ce=(r=ve.nodeRef.current)!=null?r:Y,Ne=w?(i=ve.rect)!=null?i:J:null,se=!!(ve.nodeRef.current&&ve.rect),gt=m2e(se?null:J),vn=w$(ce?or(ce):null),It=y2e(w?xe??Y:null),ut=_2e(It),tt=E$(h,{transform:{x:P.x-gt.x,y:P.y-gt.y,scaleX:1,scaleY:1},activatorEvent:N,active:M,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:Ne,over:te.current.over,overlayNodeRect:ve.rect,scrollableAncestors:It,scrollableAncestorRects:ut,windowRect:vn}),Gt=B?Fu(B,P):null,sr=v2e(It),ni=E8(sr),Lr=E8(sr,[J]),Rn=Fu(tt,ni),bn=Ne?G_e(Ne,tt):null,Un=M&&bn?d({active:M,collisionRect:bn,droppableRects:G,droppableContainers:j,pointerCoordinates:Gt}):null,Ht=$_e(Un,"id"),[xt,wr]=k.useState(null),$r=se?tt:Fu(tt,Lr),ri=z_e($r,(o=xt==null?void 0:xt.rect)!=null?o:null,J),uo=k.useCallback((Ct,nt)=>{let{sensor:_n,options:ln}=nt;if(C.current==null)return;const In=T.get(C.current);if(!In)return;const Gn=Ct.nativeEvent,ar=new _n({active:C.current,activeNode:In,event:Gn,options:ln,context:te,onStart(Hn){const wn=C.current;if(wn==null)return;const co=T.get(wn);if(!co)return;const{onDragStart:Zo}=D.current,Jo={active:{id:wn,data:co.data,rect:$}};zi.unstable_batchedUpdates(()=>{Zo==null||Zo(Jo),_(hs.Initializing),v({type:nn.DragStart,initialCoordinates:Hn,active:wn}),y({type:"onDragStart",event:Jo})})},onMove(Hn){v({type:nn.DragMove,coordinates:Hn})},onEnd:Oi(nn.DragEnd),onCancel:Oi(nn.DragCancel)});zi.unstable_batchedUpdates(()=>{I(ar),R(Ct.nativeEvent)});function Oi(Hn){return async function(){const{active:co,collisions:Zo,over:Jo,scrollAdjustedTranslate:Al}=te.current;let fo=null;if(co&&Al){const{cancelDrop:qn}=D.current;fo={activatorEvent:Gn,active:co,collisions:Zo,delta:Al,over:Jo},Hn===nn.DragEnd&&typeof qn=="function"&&await Promise.resolve(qn(fo))&&(Hn=nn.DragCancel)}C.current=null,zi.unstable_batchedUpdates(()=>{v({type:Hn}),_(hs.Uninitialized),wr(null),I(null),R(null);const qn=Hn===nn.DragEnd?"onDragEnd":"onDragCancel";if(fo){const fa=D.current[qn];fa==null||fa(fo),y({type:qn,event:fo})}})}}},[T]),Sn=k.useCallback((Ct,nt)=>(_n,ln)=>{const In=_n.nativeEvent,Gn=T.get(ln);if(C.current!==null||!Gn||In.dndKit||In.defaultPrevented)return;const ar={active:Gn};Ct(_n,nt.options,ar)===!0&&(In.dndKit={capturedBy:nt.sensor},C.current=ln,uo(_n,nt))},[T,uo]),ii=d2e(c,Sn);b2e(c),io(()=>{J&&b===hs.Initializing&&_(hs.Initialized)},[J,b]),k.useEffect(()=>{const{onDragMove:Ct}=D.current,{active:nt,activatorEvent:_n,collisions:ln,over:In}=te.current;if(!nt||!_n)return;const Gn={active:nt,activatorEvent:_n,collisions:ln,delta:{x:Rn.x,y:Rn.y},over:In};zi.unstable_batchedUpdates(()=>{Ct==null||Ct(Gn),y({type:"onDragMove",event:Gn})})},[Rn.x,Rn.y]),k.useEffect(()=>{const{active:Ct,activatorEvent:nt,collisions:_n,droppableContainers:ln,scrollAdjustedTranslate:In}=te.current;if(!Ct||C.current==null||!nt||!In)return;const{onDragOver:Gn}=D.current,ar=ln.get(Ht),Oi=ar&&ar.rect.current?{id:ar.id,rect:ar.rect.current,data:ar.data,disabled:ar.disabled}:null,Hn={active:Ct,activatorEvent:nt,collisions:_n,delta:{x:In.x,y:In.y},over:Oi};zi.unstable_batchedUpdates(()=>{wr(Oi),Gn==null||Gn(Hn),y({type:"onDragOver",event:Hn})})},[Ht]),io(()=>{te.current={activatorEvent:N,active:M,activeNode:Y,collisionRect:bn,collisions:Un,droppableRects:G,draggableNodes:T,draggingNode:ce,draggingNodeRect:Ne,droppableContainers:E,over:xt,scrollableAncestors:It,scrollAdjustedTranslate:Rn},$.current={initial:Ne,translated:bn}},[M,Y,Un,bn,T,ce,Ne,G,E,xt,It,Rn]),a2e({...H,delta:P,draggingRect:bn,pointerCoordinates:Gt,scrollableAncestors:It,scrollableAncestorRects:ut});const ca=k.useMemo(()=>({active:M,activeNode:Y,activeNodeRect:J,activatorEvent:N,collisions:Un,containerNodeRect:ne,dragOverlay:ve,draggableNodes:T,droppableContainers:E,droppableRects:G,over:xt,measureDroppableContainers:W,scrollableAncestors:It,scrollableAncestorRects:ut,measuringConfiguration:U,measuringScheduled:X,windowRect:vn}),[M,Y,J,N,Un,ne,ve,T,E,G,xt,W,It,ut,U,X,vn]),ki=k.useMemo(()=>({activatorEvent:N,activators:ii,active:M,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:v,draggableNodes:T,over:xt,measureDroppableContainers:W}),[N,ii,M,J,v,L,T,xt,W]);return Xe.createElement(a$.Provider,{value:g},Xe.createElement(Gh.Provider,{value:ki},Xe.createElement(T$.Provider,{value:ca},Xe.createElement(f1.Provider,{value:ri},u)),Xe.createElement(A2e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Xe.createElement(O_e,{...a,hiddenTextDescribedById:L}));function da(){const Ct=(O==null?void 0:O.autoScrollEnabled)===!1,nt=typeof l=="object"?l.enabled===!1:l===!1,_n=w&&!Ct&&!nt;return typeof l=="object"?{...l,enabled:_n}:{enabled:_n}}}),I2e=k.createContext(null),P8="button",M2e="Droppable";function N2e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=c1(M2e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=k.useContext(Gh),{role:h=P8,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,v=k.useContext(S?f1:I2e),[y,g]=gy(),[b,_]=gy(),w=S2e(s,t),x=Xf(n);io(()=>(d.set(t,{id:t,key:o,node:y,activatorNode:b,data:x}),()=>{const P=d.get(t);P&&P.key===o&&d.delete(t)}),[d,t]);const T=k.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===P8?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:T,isDragging:S,listeners:r?void 0:w,node:y,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:v}}function D2e(){return k.useContext(T$)}const L2e="Droppable",$2e={timeout:25};function F2e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=c1(L2e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=k.useContext(Gh),c=k.useRef({disabled:n}),d=k.useRef(!1),f=k.useRef(null),h=k.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...$2e,...i},v=Xf(m??r),y=k.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),h.current=null},S)},[S]),g=d1({callback:y,disabled:p||!s}),b=k.useCallback((T,P)=>{g&&(P&&(g.unobserve(P),d.current=!1),T&&g.observe(T))},[g]),[_,w]=gy(b),x=Xf(t);return k.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),io(()=>(a({type:nn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:nn.UnregisterDroppable,key:o,id:r})),[r]),k.useEffect(()=>{n!==c.current.disabled&&(a({type:nn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function B2e(e){let{animation:t,children:n}=e;const[r,i]=k.useState(null),[o,s]=k.useState(null),a=my(n);return!n&&!r&&a&&i(a),io(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Xe.createElement(Xe.Fragment,null,n,r?k.cloneElement(r,{ref:s}):null)}const j2e={x:0,y:0,scaleX:1,scaleY:1};function V2e(e){let{children:t}=e;return Xe.createElement(Gh.Provider,{value:C$},Xe.createElement(f1.Provider,{value:j2e},t))}const z2e={position:"fixed",touchAction:"none"},U2e=e=>S3(e)?"transform 250ms ease":void 0,G2e=k.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=U2e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...z2e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Qf.Transform.toString(d),transformOrigin:i&&r?M_e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return Xe.createElement(n,{className:s,style:f,ref:t},o)}),H2e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},q2e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Qf.Transform.toString(t)},{transform:Qf.Transform.toString(n)}]},W2e={duration:250,easing:"ease",keyframes:q2e,sideEffects:H2e({styles:{active:{opacity:"0"}}})};function K2e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return u1((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=x$(s);if(!u)return;const{transform:c}=or(s).getComputedStyle(s),d=u$(c);if(!d)return;const f=typeof t=="function"?t:X2e(t);return m$(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function X2e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...W2e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),v=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(y=>{v.onfinish=()=>{S==null||S(),y()}})}}let A8=0;function Y2e(e){return k.useMemo(()=>{if(e!=null)return A8++,A8},[e])}const Q2e=Xe.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:v,measuringConfiguration:y,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=D2e(),w=k.useContext(f1),x=Y2e(d==null?void 0:d.id),T=E$(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:v,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),P=C3(f),E=K2e({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:y}),A=P?S.setRef:void 0;return Xe.createElement(V2e,null,Xe.createElement(B2e,{animation:E},d&&x?Xe.createElement(G2e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:P,style:{zIndex:u,...i},transform:T},n):null))}),Z2e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Yf(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},P$=()=>ak(),A4e=J9,Yp=28,k8={w:Yp,h:Yp,maxW:Yp,maxH:Yp,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},J2e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return K.jsx(c3,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:K.jsx(u3,{sx:{...k8},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?K.jsxs(d3,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...k8},children:[K.jsx(K2,{children:e.dragData.payload.image_names.length}),K.jsx(K2,{size:"sm",children:"Images"})]}):null},ewe=k.memo(J2e);function k4e(e){return F2e(e)}function O4e(e){return N2e(e)}const R4e=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function twe(e){return K.jsx(R2e,{...e})}const nwe=e=>{const[t,n]=k.useState(null),r=P$(),i=k.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=k.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current);const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(tN({overData:c,activeData:t})),n(null))},[t,r]),s=v8(S$,{activationConstraint:{distance:10}}),a=v8(_$,{activationConstraint:{distance:10}}),l=R_e(s,a);return K.jsxs(twe,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:V_e,children:[e.children,K.jsx(Q2e,{dropAnimation:null,modifiers:[Z2e],children:K.jsx(Hbe,{children:t&&K.jsx($be.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:K.jsx(ewe,{dragData:t})},"overlay-drag-image")})})]})},rwe=k.memo(nwe),iwe=k.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),owe=e=>{const[t,n]=k.useState(),{isOpen:r,onOpen:i,onClose:o}=Jbe(),s=P$(),a=k.useCallback(()=>{n(void 0),o()},[o]),l=k.useCallback(c=>{c&&(n(c),i())},[n,i]),u=k.useCallback(c=>{t&&(s(he.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return K.jsx(iwe.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},swe=k.lazy(()=>G9(()=>import("./App-58b095d3.js"),["./App-58b095d3.js","./MantineProvider-ea42d3d1.js","./App-6125620a.css"],import.meta.url)),awe=k.lazy(()=>G9(()=>import("./ThemeLocaleProvider-13e3db3d.js"),["./ThemeLocaleProvider-13e3db3d.js","./MantineProvider-ea42d3d1.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),lwe=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(k.useEffect(()=>(t&&Cf.set(t),e&&Tf.set(e),zM(),i&&i.length>0?c2(m8(),...i):c2(m8()),()=>{Tf.set(void 0),Cf.set(void 0)}),[e,t,i]),K.jsx(Xe.StrictMode,{children:K.jsx(mV,{store:Gpe,children:K.jsx(Xe.Suspense,{fallback:K.jsx(rSe,{}),children:K.jsx(awe,{children:K.jsx(rwe,{children:K.jsx(owe,{children:K.jsx(swe,{config:n,headerComponent:r})})})})})})})),uwe=k.memo(lwe);xS.createRoot(document.getElementById("root")).render(K.jsx(uwe,{}));export{fD as $,K as A,ti as B,Vt as C,Mu as D,Vn as E,fi as F,Xne as G,br as H,Is as I,$i as J,$3e as K,_I as L,cre as M,jre as N,ote as O,Zne as P,rc as Q,Tl as R,df as S,Nge as T,sl as U,oD as V,h4e as W,c4e as X,Hbe as Y,$be as Z,x4e as _,Zk as a,U_ as a$,$L as a0,mD as a1,d4e as a2,f4e as a3,Mge as a4,Ige as a5,p4e as a6,Na as a7,al as a8,rm as a9,d3 as aA,K2 as aB,o4e as aC,jN as aD,ZCe as aE,Y4 as aF,lCe as aG,zi as aH,BC as aI,nF as aJ,hwe as aK,dwe as aL,fwe as aM,Ee as aN,Ea as aO,C3e as aP,YM as aQ,w3e as aR,x3e as aS,S3e as aT,m3e as aU,Mpe as aV,k4e as aW,R4e as aX,b3e as aY,R3e as aZ,WCe as a_,IV as aa,Xe as ab,e8 as ac,uye as ad,w4e as ae,Io as af,rD as ag,R1e as ah,y4e as ai,R2 as aj,u4e as ak,_4e as al,Jn as am,mC as an,S0 as ao,A4e as ap,B3e as aq,Th as ar,nM as as,AM as at,Z0 as au,P$ as av,g5e as aw,Ft as ax,Ga as ay,c3 as az,Tx as b,I7 as b$,_3e as b0,u3 as b1,tSe as b2,vxe as b3,Ss as b4,A5e as b5,hp as b6,bge as b7,FC as b8,ZN as b9,ue as bA,iwe as bB,KCe as bC,dJ as bD,e3e as bE,$R as bF,Yxe as bG,RR as bH,G_ as bI,O4e as bJ,l4e as bK,O3e as bL,YCe as bM,QCe as bN,Rs as bO,Vle as bP,HCe as bQ,qCe as bR,UCe as bS,Jbe as bT,Am as bU,i4e as bV,N5e as bW,mxe as bX,ble as bY,d5e as bZ,I3e as b_,_ge as ba,$3 as bb,A3e as bc,P3e as bd,cwe as be,mwe as bf,ywe as bg,Bwe as bh,jwe as bi,wwe as bj,qwe as bk,bwe as bl,Iwe as bm,Twe as bn,Jle as bo,Swe as bp,Vwe as bq,vwe as br,Qwe as bs,xwe as bt,Mwe as bu,Cwe as bv,Nwe as bw,Awe as bx,Lwe as by,Zle as bz,AU as c,uxe as c$,eN as c0,O5e as c1,GCe as c2,t3e as c3,T7 as c4,LR as c5,_we as c6,xxe as c7,zn as c8,_5e as c9,Ph as cA,lxe as cB,Zwe as cC,ixe as cD,Fwe as cE,m5e as cF,hl as cG,v5e as cH,r5e as cI,n5e as cJ,t5e as cK,L5e as cL,e4e as cM,l5e as cN,s5e as cO,fe as cP,xf as cQ,W5e as cR,wE as cS,a5e as cT,u5e as cU,o5e as cV,Xse as cW,$we as cX,pQ as cY,j5e as cZ,PR as c_,R5e as ca,k5e as cb,Qae as cc,S5e as cd,C5e as ce,T5e as cf,vQ as cg,vae as ch,bae as ci,pxe as cj,wxe as ck,x5e as cl,_Q as cm,F3e as cn,p5e as co,ER as cp,g3e as cq,f3e as cr,h3e as cs,p3e as ct,B5e as cu,Qa as cv,pwe as cw,xo as cx,ace as cy,kwe as cz,mX as d,pe as d$,bQ as d0,Ui as d1,Dwe as d2,Kwe as d3,gwe as d4,aY as d5,Ywe as d6,i5e as d7,cxe as d8,e5e as d9,d3e as dA,C7 as dB,i3e as dC,s3e as dD,n3e as dE,Spe as dF,r3e as dG,oxe as dH,sxe as dI,nxe as dJ,rxe as dK,txe as dL,X5e as dM,G5e as dN,P5e as dO,U5e as dP,J5e as dQ,K5e as dR,E5e as dS,q5e as dT,H5e as dU,V5e as dV,z5e as dW,GI as dX,Lx as dY,Y5e as dZ,Fm as d_,hce as da,fxe as db,he as dc,Kn as dd,D5e as de,N3e as df,D3e as dg,N7 as dh,F5e as di,M3e as dj,hR as dk,axe as dl,sY as dm,Pwe as dn,$5e as dp,bT as dq,a3e as dr,Hx as ds,tJ as dt,Xl as du,ST as dv,l3e as dw,u3e as dx,c3e as dy,nJ as dz,ZO as e,bpe as e$,Q5e as e0,u2 as e1,Ewe as e2,Z5e as e3,J9 as e4,ak as e5,J3e as e6,q3e as e7,W3e as e8,K3e as e9,cCe as eA,nd as eB,sCe as eC,Vxe as eD,tv as eE,uCe as eF,$xe as eG,aCe as eH,Fxe as eI,Gxe as eJ,Pxe as eK,Exe as eL,Txe as eM,DCe as eN,MR as eO,Cf as eP,Ixe as eQ,Mxe as eR,Nxe as eS,ICe as eT,qxe as eU,Hxe as eV,FQ as eW,RCe as eX,Ele as eY,zxe as eZ,mpe as e_,RM as ea,Q3e as eb,Z3e as ec,Df as ed,_0 as ee,z3e as ef,Dpe as eg,j3e as eh,V3e as ei,G3e as ej,U3e as ek,H3e as el,Y3e as em,$ie as en,eM as eo,oN as ep,CF as eq,Pe as er,gCe as es,NCe as et,MCe as eu,Kxe as ev,CCe as ew,LCe as ex,Ple as ey,jxe as ez,sO as f,aye as f$,Zxe as f0,Jxe as f1,mCe as f2,pCe as f3,dCe as f4,Axe as f5,kxe as f6,I5e as f7,M5e as f8,oCe as f9,yQ as fA,Jwe as fB,Rxe as fC,tCe as fD,jCe as fE,zwe as fF,Uwe as fG,Gwe as fH,Hwe as fI,nCe as fJ,r4e as fK,yxe as fL,AR as fM,Sxe as fN,bxe as fO,_xe as fP,iY as fQ,yle as fR,a4e as fS,iD as fT,S4e as fU,v4e as fV,g4e as fW,b4e as fX,Wi as fY,m4e as fZ,s4e as f_,Qxe as fa,yCe as fb,xCe as fc,vCe as fd,Wxe as fe,Bxe as ff,OCe as fg,kCe as fh,_Ce as fi,bCe as fj,SCe as fk,VCe as fl,PCe as fm,zCe as fn,iCe as fo,rCe as fp,Lxe as fq,Dxe as fr,BCe as fs,Xxe as ft,Tle as fu,wle as fv,xle as fw,Cle as fx,Oxe as fy,dxe as fz,uX as g,Yme as g0,C4e as g1,E4e as g2,P4e as g3,gO as h,vr as i,mc as j,v0 as k,mn as l,y0 as m,hh as n,Ci as o,ta as p,g0 as q,oo as r,gh as s,hb as t,_x as u,iO as v,kx as w,HO as x,aO as y,k as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 2695157ddf..5b3794f84c 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 8d3b55aa88..dcffa4572b 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -5562,12 +5562,6 @@ export type components = { * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. @@ -5580,6 +5574,12 @@ export type components = { * @enum {string} */ ControlNetModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; diff --git a/invokeai/version/invokeai_version.py b/invokeai/version/invokeai_version.py index ebc585fb61..30e5bd32ba 100644 --- a/invokeai/version/invokeai_version.py +++ b/invokeai/version/invokeai_version.py @@ -1 +1 @@ -__version__ = "3.0.1rc1" +__version__ = "3.0.1rc2" From be00a837cce6072ea7bebc93ba4e8ac1cfa81fac Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 27 Jul 2023 00:38:18 -0400 Subject: [PATCH 069/106] hotfix to remove duplicate key in INITIAL_MODELS --- invokeai/configs/INITIAL_MODELS.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/invokeai/configs/INITIAL_MODELS.yaml b/invokeai/configs/INITIAL_MODELS.yaml index 303c8ad5a9..86357e7b56 100644 --- a/invokeai/configs/INITIAL_MODELS.yaml +++ b/invokeai/configs/INITIAL_MODELS.yaml @@ -20,10 +20,6 @@ sdxl/main/stable-diffusion-xl-base-1-0: description: Stable Diffusion XL base model (12 GB) repo_id: stabilityai/stable-diffusion-xl-base-1.0 recommended: False -sdxl-refiner/main/stable-diffusion-xl-refiner-1-0: - description: Stable Diffusion XL refiner model (12 GB) - repo_id: stabilityai/stable-diffusion-xl-refiner-1.0 - recommended: False sdxl-refiner/main/stable-diffusion-xl-refiner-1-0: description: Stable Diffusion XL refiner model (12 GB) repo_id: stabilityai/stable-diffusion-xl-refiner-1.0 From 6f54fe9003ace31a1418259754a20999246409e4 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 27 Jul 2023 15:46:50 +1000 Subject: [PATCH 070/106] fix(ui): fix types for controlnet models `ControlNetModelConfig` was split into `ControlNetModelCheckpointConfig` and `ControlNetModelDiffusersConfig`, need to update the UI types --- invokeai/frontend/web/src/services/api/types.d.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/services/api/types.d.ts b/invokeai/frontend/web/src/services/api/types.d.ts index 7d9040321c..17f20ca1ac 100644 --- a/invokeai/frontend/web/src/services/api/types.d.ts +++ b/invokeai/frontend/web/src/services/api/types.d.ts @@ -42,8 +42,13 @@ export type ControlField = components['schemas']['ControlField']; // Model Configs export type LoRAModelConfig = components['schemas']['LoRAModelConfig']; export type VaeModelConfig = components['schemas']['VaeModelConfig']; +export type ControlNetModelCheckpointConfig = + components['schemas']['ControlNetModelCheckpointConfig']; +export type ControlNetModelDiffusersConfig = + components['schemas']['ControlNetModelDiffusersConfig']; export type ControlNetModelConfig = - components['schemas']['ControlNetModelConfig']; + | ControlNetModelCheckpointConfig + | ControlNetModelDiffusersConfig; export type TextualInversionModelConfig = components['schemas']['TextualInversionModelConfig']; export type DiffusersModelConfig = From 8b4af69d87c8e5d9fddb3059dfbc398ff91d9215 Mon Sep 17 00:00:00 2001 From: Martin Kristiansen Date: Fri, 21 Jul 2023 10:14:31 -0400 Subject: [PATCH 071/106] Black config, pre-commit and GHA --- .github/workflows/style-checks.yml | 27 ++++++++++++++++++++ .pre-commit-config.yaml | 40 ++++++++++++++++++++++++++++++ pyproject.toml | 9 ++++--- 3 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/style-checks.yml create mode 100644 .pre-commit-config.yaml diff --git a/.github/workflows/style-checks.yml b/.github/workflows/style-checks.yml new file mode 100644 index 0000000000..e082ef1c7f --- /dev/null +++ b/.github/workflows/style-checks.yml @@ -0,0 +1,27 @@ +name: Black # TODO: add isort and flake8 later + +on: + pull_request: {} + push: + branches: master + tags: "*" + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Install dependencies with pip + run: | + pip install --upgrade pip wheel + pip install .[test] + + # - run: isort --check-only . + - run: black --check . + # - run: flake8 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000..988bc2d992 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,40 @@ +# See https://pre-commit.com/ for usage and config +repos: +- repo: local + hooks: + - id: black + name: black + stages: [commit] + language: system + entry: black + types: [python] + + # - id: isort + # name: isort + # stages: [commit] + # language: system + # entry: isort + # types: [python] + + # - id: flake8 + # name: flake8 + # stages: [commit] + # language: system + # entry: flake8 + # types: [python] + + # - id: mypy + # name: mypy + # stages: [commit] + # language: system + # entry: mypy + # types: [python] + # require_serial: true + + # - id: pytest-cov + # name: pytest + # stages: [commit] + # language: system + # entry: pytest --cov --cov-fail-under=90 + # types: [python] + # pass_filenames: false diff --git a/pyproject.toml b/pyproject.toml index 5cc6971df6..d171c062dd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -98,7 +98,7 @@ dependencies = [ "dev" = [ "pudb", ] -"test" = ["pytest>6.0.0", "pytest-cov"] +"test" = ["pytest>6.0.0", "pytest-cov", "black"] "xformers" = [ "xformers~=0.0.19; sys_platform!='darwin'", "triton; sys_platform=='linux'", @@ -176,5 +176,8 @@ directory = "coverage/html" output = "coverage/index.xml" #=== End: PyTest and Coverage -[flake8] -max-line-length = 120 +[tool.flake8] +max-line-length = 100 + +[tool.black] +line-length = 100 \ No newline at end of file From fc9dacd08277fc55ff270bbc031c6d888d377558 Mon Sep 17 00:00:00 2001 From: Martin Kristiansen Date: Thu, 27 Jul 2023 10:12:25 -0400 Subject: [PATCH 072/106] Black/flake8 line length 100->120 --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d171c062dd..20397b9113 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -177,7 +177,7 @@ output = "coverage/index.xml" #=== End: PyTest and Coverage [tool.flake8] -max-line-length = 100 +max-line-length = 120 [tool.black] -line-length = 100 \ No newline at end of file +line-length = 120 \ No newline at end of file From 2183dba5c50e76b1476610ce68e282599fae4164 Mon Sep 17 00:00:00 2001 From: Martin Kristiansen Date: Thu, 27 Jul 2023 10:53:27 -0400 Subject: [PATCH 073/106] Remove whitespace and commented out pre-commit hooks --- .github/workflows/style-checks.yml | 2 +- .pre-commit-config.yaml | 30 ------------------------------ 2 files changed, 1 insertion(+), 31 deletions(-) diff --git a/.github/workflows/style-checks.yml b/.github/workflows/style-checks.yml index e082ef1c7f..8aceb6469e 100644 --- a/.github/workflows/style-checks.yml +++ b/.github/workflows/style-checks.yml @@ -1,6 +1,6 @@ name: Black # TODO: add isort and flake8 later -on: +on: pull_request: {} push: branches: master diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 988bc2d992..2b16b274d6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,33 +8,3 @@ repos: language: system entry: black types: [python] - - # - id: isort - # name: isort - # stages: [commit] - # language: system - # entry: isort - # types: [python] - - # - id: flake8 - # name: flake8 - # stages: [commit] - # language: system - # entry: flake8 - # types: [python] - - # - id: mypy - # name: mypy - # stages: [commit] - # language: system - # entry: mypy - # types: [python] - # require_serial: true - - # - id: pytest-cov - # name: pytest - # stages: [commit] - # language: system - # entry: pytest --cov --cov-fail-under=90 - # types: [python] - # pass_filenames: false From 218b6d0546b990fc449c876fb99f44b50c4daa35 Mon Sep 17 00:00:00 2001 From: Martin Kristiansen Date: Thu, 27 Jul 2023 10:54:01 -0400 Subject: [PATCH 074/106] Apply black --- .dev_scripts/diff_images.py | 6 +- installer/lib/installer.py | 55 +- installer/lib/main.py | 2 +- installer/lib/messages.py | 21 +- invokeai/app/api/dependencies.py | 8 +- invokeai/app/api/routers/app_info.py | 46 +- invokeai/app/api/routers/board_images.py | 1 - invokeai/app/api/routers/boards.py | 24 +- invokeai/app/api/routers/images.py | 40 +- invokeai/app/api/routers/models.py | 297 +++++----- invokeai/app/api/routers/sessions.py | 34 +- invokeai/app/api/sockets.py | 4 +- invokeai/app/api_app.py | 41 +- invokeai/app/cli/commands.py | 50 +- invokeai/app/cli/completer.py | 56 +- invokeai/app/cli_app.py | 115 ++-- invokeai/app/invocations/__init__.py | 6 +- invokeai/app/invocations/baseinvocation.py | 3 +- invokeai/app/invocations/collections.py | 44 +- invokeai/app/invocations/compel.py | 261 ++++----- .../controlnet_image_processors.py | 368 ++++++------ invokeai/app/invocations/cv.py | 5 +- invokeai/app/invocations/generate.py | 97 ++- invokeai/app/invocations/image.py | 136 ++--- invokeai/app/invocations/infill.py | 47 +- invokeai/app/invocations/latent.py | 219 +++---- invokeai/app/invocations/math.py | 25 +- invokeai/app/invocations/metadata.py | 69 +-- invokeai/app/invocations/model.py | 24 +- invokeai/app/invocations/param_easing.py | 83 +-- invokeai/app/invocations/params.py | 50 +- invokeai/app/invocations/prompt.py | 39 +- invokeai/app/invocations/sdxl.py | 157 +++-- invokeai/app/invocations/upscale.py | 13 +- invokeai/app/models/exceptions.py | 1 + invokeai/app/models/image.py | 6 +- .../services/board_image_record_storage.py | 4 +- invokeai/app/services/board_images.py | 8 +- invokeai/app/services/board_record_storage.py | 8 +- invokeai/app/services/boards.py | 42 +- invokeai/app/services/config.py | 243 ++++---- invokeai/app/services/default_graphs.py | 85 ++- invokeai/app/services/events.py | 8 +- invokeai/app/services/graph.py | 367 ++++-------- invokeai/app/services/image_file_storage.py | 10 +- invokeai/app/services/image_record_storage.py | 9 +- invokeai/app/services/images.py | 22 +- invokeai/app/services/invocation_queue.py | 9 +- invokeai/app/services/invoker.py | 5 +- invokeai/app/services/item_storage.py | 10 +- invokeai/app/services/latent_storage.py | 5 +- .../app/services/model_manager_service.py | 215 +++---- invokeai/app/services/models/board_record.py | 20 +- invokeai/app/services/models/image_record.py | 32 +- invokeai/app/services/processor.py | 42 +- invokeai/app/services/sqlite.py | 24 +- invokeai/app/util/controlnet_utils.py | 74 +-- invokeai/app/util/step_callback.py | 24 +- invokeai/backend/__init__.py | 13 +- invokeai/backend/generator/base.py | 207 +++---- invokeai/backend/generator/img2img.py | 9 +- invokeai/backend/generator/inpaint.py | 51 +- invokeai/backend/image_util/__init__.py | 4 +- .../backend/image_util/invisible_watermark.py | 14 +- invokeai/backend/image_util/patchmatch.py | 2 + invokeai/backend/image_util/pngwriter.py | 8 +- invokeai/backend/image_util/safety_checker.py | 23 +- invokeai/backend/image_util/seamless.py | 16 +- invokeai/backend/image_util/txt2mask.py | 29 +- invokeai/backend/install/check_root.py | 41 +- .../backend/install/invokeai_configure.py | 286 +++++---- .../backend/install/legacy_arg_parsing.py | 341 +++++------ invokeai/backend/install/migrate_to_3.py | 550 +++++++++--------- .../backend/install/model_install_backend.py | 345 +++++------ invokeai/backend/model_management/__init__.py | 10 +- .../convert_ckpt_to_diffusers.py | 90 +-- invokeai/backend/model_management/lora.py | 138 ++--- .../backend/model_management/model_cache.py | 120 ++-- .../backend/model_management/model_manager.py | 267 +++++---- .../backend/model_management/model_merge.py | 87 +-- .../backend/model_management/model_probe.py | 368 ++++++------ .../backend/model_management/model_search.py | 21 +- .../model_management/models/__init__.py | 49 +- .../backend/model_management/models/base.py | 114 ++-- .../model_management/models/controlnet.py | 60 +- .../backend/model_management/models/lora.py | 7 +- .../backend/model_management/models/sdxl.py | 15 +- .../models/stable_diffusion.py | 63 +- .../models/textual_inversion.py | 6 +- .../backend/model_management/models/vae.py | 30 +- .../stable_diffusion/diffusers_pipeline.py | 149 ++--- .../diffusion/cross_attention_control.py | 161 ++--- .../diffusion/cross_attention_map_saving.py | 12 +- .../diffusion/shared_invokeai_diffusion.py | 206 +++---- .../image_degradation/bsrgan.py | 52 +- .../image_degradation/bsrgan_light.py | 54 +- .../image_degradation/utils_image.py | 59 +- .../backend/stable_diffusion/offloading.py | 28 +- .../stable_diffusion/schedulers/__init__.py | 2 +- .../stable_diffusion/schedulers/schedulers.py | 26 +- .../training/textual_inversion_training.py | 152 ++--- invokeai/backend/util/__init__.py | 10 +- invokeai/backend/util/devices.py | 1 + invokeai/backend/util/hotfixes.py | 8 +- invokeai/backend/util/logging.py | 191 +++--- invokeai/backend/util/mps_fixes.py | 59 +- invokeai/backend/util/util.py | 55 +- invokeai/backend/web/invoke_ai_web_server.py | 292 +++------- .../web/modules/get_canvas_generation_mode.py | 4 +- invokeai/backend/web/modules/parameters.py | 6 +- invokeai/frontend/__init__.py | 4 +- invokeai/frontend/install/invokeai_update.py | 90 +-- invokeai/frontend/install/model_install.py | 432 +++++++------- invokeai/frontend/install/widgets.py | 207 ++++--- invokeai/frontend/legacy_launch_invokeai.py | 12 +- invokeai/frontend/merge/__init__.py | 1 - invokeai/frontend/merge/merge_diffusers.py | 51 +- .../frontend/training/textual_inversion.py | 62 +- invokeai/frontend/web/__init__.py | 4 +- invokeai/version/__init__.py | 1 + notebooks/notebook_helpers.py | 211 ++++--- scripts/configure_invokeai.py | 2 +- scripts/controlnet_legacy_txt2img_example.py | 10 +- scripts/dream.py | 9 +- scripts/images2prompt.py | 22 +- scripts/invokeai-cli.py | 8 +- scripts/invokeai-model-install.py | 2 +- scripts/invokeai-web.py | 7 +- scripts/make_models_markdown_table.py | 17 +- scripts/orig_scripts/img2img.py | 66 +-- scripts/orig_scripts/inpaint.py | 46 +- scripts/orig_scripts/knn2img.py | 127 ++-- scripts/orig_scripts/main.py | 543 ++++++++--------- scripts/orig_scripts/merge_embeddings.py | 40 +- scripts/orig_scripts/sample_diffusion.py | 142 ++--- scripts/orig_scripts/train_searcher.py | 151 ++--- scripts/orig_scripts/txt2img.py | 89 ++- scripts/probe-model.py | 3 - scripts/pypi_helper.py | 3 +- scripts/scan_models_directory.py | 60 +- scripts/sd-metadata.py | 6 +- tests/nodes/test_graph_execution_state.py | 58 +- tests/nodes/test_invoker.py | 26 +- tests/nodes/test_node_graph.py | 390 +++++++------ tests/nodes/test_nodes.py | 56 +- tests/nodes/test_sqlite.py | 119 ++-- tests/test_config.py | 74 +-- tests/test_path.py | 1 + 148 files changed, 5486 insertions(+), 6296 deletions(-) diff --git a/.dev_scripts/diff_images.py b/.dev_scripts/diff_images.py index e21cae214e..5208ed41ec 100644 --- a/.dev_scripts/diff_images.py +++ b/.dev_scripts/diff_images.py @@ -20,13 +20,13 @@ def calc_images_mean_L1(image1_path, image2_path): def parse_args(): parser = argparse.ArgumentParser() - parser.add_argument('image1_path') - parser.add_argument('image2_path') + parser.add_argument("image1_path") + parser.add_argument("image2_path") args = parser.parse_args() return args -if __name__ == '__main__': +if __name__ == "__main__": args = parse_args() mean_L1 = calc_images_mean_L1(args.image1_path, args.image2_path) print(mean_L1) diff --git a/installer/lib/installer.py b/installer/lib/installer.py index 5904a71968..e1ca8c2e8f 100644 --- a/installer/lib/installer.py +++ b/installer/lib/installer.py @@ -141,15 +141,16 @@ class Installer: # upgrade pip in Python 3.9 environments if int(platform.python_version_tuple()[1]) == 9: - from plumbum import FG, local pip = local[get_pip_from_venv(venv_dir)] - pip[ "install", "--upgrade", "pip"] & FG + pip["install", "--upgrade", "pip"] & FG return venv_dir - def install(self, root: str = "~/invokeai-3", version: str = "latest", yes_to_all=False, find_links: Path = None) -> None: + def install( + self, root: str = "~/invokeai-3", version: str = "latest", yes_to_all=False, find_links: Path = None + ) -> None: """ Install the InvokeAI application into the given runtime path @@ -175,7 +176,7 @@ class Installer: self.instance = InvokeAiInstance(runtime=self.dest, venv=self.venv, version=version) # install dependencies and the InvokeAI application - (extra_index_url,optional_modules) = get_torch_source() if not yes_to_all else (None,None) + (extra_index_url, optional_modules) = get_torch_source() if not yes_to_all else (None, None) self.instance.install( extra_index_url, optional_modules, @@ -188,6 +189,7 @@ class Installer: # run through the configuration flow self.instance.configure() + class InvokeAiInstance: """ Manages an installed instance of InvokeAI, comprising a virtual environment and a runtime directory. @@ -196,7 +198,6 @@ class InvokeAiInstance: """ def __init__(self, runtime: Path, venv: Path, version: str) -> None: - self.runtime = runtime self.venv = venv self.pip = get_pip_from_venv(venv) @@ -312,7 +313,7 @@ class InvokeAiInstance: "install", "--require-virtualenv", "--use-pep517", - str(src)+(optional_modules if optional_modules else ''), + str(src) + (optional_modules if optional_modules else ""), "--find-links" if find_links is not None else None, find_links, "--extra-index-url" if extra_index_url is not None else None, @@ -329,15 +330,15 @@ class InvokeAiInstance: # set sys.argv to a consistent state new_argv = [sys.argv[0]] - for i in range(1,len(sys.argv)): + for i in range(1, len(sys.argv)): el = sys.argv[i] - if el in ['-r','--root']: + if el in ["-r", "--root"]: new_argv.append(el) - new_argv.append(sys.argv[i+1]) - elif el in ['-y','--yes','--yes-to-all']: + new_argv.append(sys.argv[i + 1]) + elif el in ["-y", "--yes", "--yes-to-all"]: new_argv.append(el) sys.argv = new_argv - + import requests # to catch download exceptions from messages import introduction @@ -353,16 +354,16 @@ class InvokeAiInstance: invokeai_configure() succeeded = True except requests.exceptions.ConnectionError as e: - print(f'\nA network error was encountered during configuration and download: {str(e)}') + print(f"\nA network error was encountered during configuration and download: {str(e)}") except OSError as e: - print(f'\nAn OS error was encountered during configuration and download: {str(e)}') + print(f"\nAn OS error was encountered during configuration and download: {str(e)}") except Exception as e: - print(f'\nA problem was encountered during the configuration and download steps: {str(e)}') + print(f"\nA problem was encountered during the configuration and download steps: {str(e)}") finally: if not succeeded: print('To try again, find the "invokeai" directory, run the script "invoke.sh" or "invoke.bat"') - print('and choose option 7 to fix a broken install, optionally followed by option 5 to install models.') - print('Alternatively you can relaunch the installer.') + print("and choose option 7 to fix a broken install, optionally followed by option 5 to install models.") + print("Alternatively you can relaunch the installer.") def install_user_scripts(self): """ @@ -371,11 +372,11 @@ class InvokeAiInstance: ext = "bat" if OS == "Windows" else "sh" - #scripts = ['invoke', 'update'] - scripts = ['invoke'] - + # scripts = ['invoke', 'update'] + scripts = ["invoke"] + for script in scripts: - src = Path(__file__).parent / '..' / "templates" / f"{script}.{ext}.in" + src = Path(__file__).parent / ".." / "templates" / f"{script}.{ext}.in" dest = self.runtime / f"{script}.{ext}" shutil.copy(src, dest) os.chmod(dest, 0o0755) @@ -420,11 +421,7 @@ def set_sys_path(venv_path: Path) -> None: # filter out any paths in sys.path that may be system- or user-wide # but leave the temporary bootstrap virtualenv as it contains packages we # temporarily need at install time - sys.path = list(filter( - lambda p: not p.endswith("-packages") - or p.find(BOOTSTRAP_VENV_PREFIX) != -1, - sys.path - )) + sys.path = list(filter(lambda p: not p.endswith("-packages") or p.find(BOOTSTRAP_VENV_PREFIX) != -1, sys.path)) # determine site-packages/lib directory location for the venv lib = "Lib" if OS == "Windows" else f"lib/python{sys.version_info.major}.{sys.version_info.minor}" @@ -433,7 +430,7 @@ def set_sys_path(venv_path: Path) -> None: sys.path.append(str(Path(venv_path, lib, "site-packages").expanduser().resolve())) -def get_torch_source() -> (Union[str, None],str): +def get_torch_source() -> (Union[str, None], str): """ Determine the extra index URL for pip to use for torch installation. This depends on the OS and the graphics accelerator in use. @@ -461,9 +458,9 @@ def get_torch_source() -> (Union[str, None],str): elif device == "cpu": url = "https://download.pytorch.org/whl/cpu" - if device == 'cuda': - url = 'https://download.pytorch.org/whl/cu117' - optional_modules = '[xformers]' + if device == "cuda": + url = "https://download.pytorch.org/whl/cu117" + optional_modules = "[xformers]" # in all other cases, Torch wheels should be coming from PyPi as of Torch 1.13 diff --git a/installer/lib/main.py b/installer/lib/main.py index 42460bb0e8..b442f49255 100644 --- a/installer/lib/main.py +++ b/installer/lib/main.py @@ -41,7 +41,7 @@ if __name__ == "__main__": type=Path, default=None, ) - + args = parser.parse_args() inst = Installer() diff --git a/installer/lib/messages.py b/installer/lib/messages.py index 196c0e1eb0..3687b52d32 100644 --- a/installer/lib/messages.py +++ b/installer/lib/messages.py @@ -36,13 +36,15 @@ else: def welcome(): - @group() def text(): if (platform_specific := _platform_specific_help()) != "": yield platform_specific yield "" - yield Text.from_markup("Some of the installation steps take a long time to run. Please be patient. If the script appears to hang for more than 10 minutes, please interrupt with [i]Control-C[/] and retry.", justify="center") + yield Text.from_markup( + "Some of the installation steps take a long time to run. Please be patient. If the script appears to hang for more than 10 minutes, please interrupt with [i]Control-C[/] and retry.", + justify="center", + ) console.rule() print( @@ -58,6 +60,7 @@ def welcome(): ) console.line() + def confirm_install(dest: Path) -> bool: if dest.exists(): print(f":exclamation: Directory {dest} already exists :exclamation:") @@ -92,7 +95,6 @@ def dest_path(dest=None) -> Path: dest_confirmed = confirm_install(dest) while not dest_confirmed: - # if the given destination already exists, the starting point for browsing is its parent directory. # the user may have made a typo, or otherwise wants to place the root dir next to an existing one. # if the destination dir does NOT exist, then the user must have changed their mind about the selection. @@ -300,15 +302,20 @@ def introduction() -> None: ) console.line(2) -def _platform_specific_help()->str: + +def _platform_specific_help() -> str: if OS == "Darwin": - text = Text.from_markup("""[b wheat1]macOS Users![/]\n\nPlease be sure you have the [b wheat1]Xcode command-line tools[/] installed before continuing.\nIf not, cancel with [i]Control-C[/] and follow the Xcode install instructions at [deep_sky_blue1]https://www.freecodecamp.org/news/install-xcode-command-line-tools/[/].""") + text = Text.from_markup( + """[b wheat1]macOS Users![/]\n\nPlease be sure you have the [b wheat1]Xcode command-line tools[/] installed before continuing.\nIf not, cancel with [i]Control-C[/] and follow the Xcode install instructions at [deep_sky_blue1]https://www.freecodecamp.org/news/install-xcode-command-line-tools/[/].""" + ) elif OS == "Windows": - text = Text.from_markup("""[b wheat1]Windows Users![/]\n\nBefore you start, please do the following: + text = Text.from_markup( + """[b wheat1]Windows Users![/]\n\nBefore you start, please do the following: 1. Double-click on the file [b wheat1]WinLongPathsEnabled.reg[/] in order to enable long path support on your system. 2. Make sure you have the [b wheat1]Visual C++ core libraries[/] installed. If not, install from - [deep_sky_blue1]https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170[/]""") + [deep_sky_blue1]https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170[/]""" + ) else: text = "" return text diff --git a/invokeai/app/api/dependencies.py b/invokeai/app/api/dependencies.py index 050d1b091f..a186daedf5 100644 --- a/invokeai/app/api/dependencies.py +++ b/invokeai/app/api/dependencies.py @@ -78,9 +78,7 @@ class ApiDependencies: image_record_storage = SqliteImageRecordStorage(db_location) image_file_storage = DiskImageFileStorage(f"{output_folder}/images") names = SimpleNameService() - latents = ForwardCacheLatentsStorage( - DiskLatentsStorage(f"{output_folder}/latents") - ) + latents = ForwardCacheLatentsStorage(DiskLatentsStorage(f"{output_folder}/latents")) board_record_storage = SqliteBoardRecordStorage(db_location) board_image_record_storage = SqliteBoardImageRecordStorage(db_location) @@ -125,9 +123,7 @@ class ApiDependencies: boards=boards, board_images=board_images, queue=MemoryInvocationQueue(), - graph_library=SqliteItemStorage[LibraryGraph]( - filename=db_location, table_name="graphs" - ), + graph_library=SqliteItemStorage[LibraryGraph](filename=db_location, table_name="graphs"), graph_execution_manager=graph_execution_manager, processor=DefaultInvocationProcessor(), configuration=config, diff --git a/invokeai/app/api/routers/app_info.py b/invokeai/app/api/routers/app_info.py index e37184a77b..9d9e47d2ef 100644 --- a/invokeai/app/api/routers/app_info.py +++ b/invokeai/app/api/routers/app_info.py @@ -15,6 +15,7 @@ from invokeai.version import __version__ from ..dependencies import ApiDependencies from invokeai.backend.util.logging import logging + class LogLevel(int, Enum): NotSet = logging.NOTSET Debug = logging.DEBUG @@ -23,10 +24,12 @@ class LogLevel(int, Enum): Error = logging.ERROR Critical = logging.CRITICAL + class Upscaler(BaseModel): upscaling_method: str = Field(description="Name of upscaling method") upscaling_models: list[str] = Field(description="List of upscaling models for this method") - + + app_router = APIRouter(prefix="/v1/app", tags=["app"]) @@ -45,38 +48,30 @@ class AppConfig(BaseModel): watermarking_methods: list[str] = Field(description="List of invisible watermark methods") -@app_router.get( - "/version", operation_id="app_version", status_code=200, response_model=AppVersion -) +@app_router.get("/version", operation_id="app_version", status_code=200, response_model=AppVersion) async def get_version() -> AppVersion: return AppVersion(version=__version__) -@app_router.get( - "/config", operation_id="get_config", status_code=200, response_model=AppConfig -) +@app_router.get("/config", operation_id="get_config", status_code=200, response_model=AppConfig) async def get_config() -> AppConfig: - infill_methods = ['tile'] + infill_methods = ["tile"] if PatchMatch.patchmatch_available(): - infill_methods.append('patchmatch') - + infill_methods.append("patchmatch") upscaling_models = [] for model in typing.get_args(ESRGAN_MODELS): upscaling_models.append(str(Path(model).stem)) - upscaler = Upscaler( - upscaling_method = 'esrgan', - upscaling_models = upscaling_models - ) - + upscaler = Upscaler(upscaling_method="esrgan", upscaling_models=upscaling_models) + nsfw_methods = [] if SafetyChecker.safety_checker_available(): - nsfw_methods.append('nsfw_checker') + nsfw_methods.append("nsfw_checker") watermarking_methods = [] if InvisibleWatermark.invisible_watermark_available(): - watermarking_methods.append('invisible_watermark') - + watermarking_methods.append("invisible_watermark") + return AppConfig( infill_methods=infill_methods, upscaling_methods=[upscaler], @@ -84,25 +79,26 @@ async def get_config() -> AppConfig: watermarking_methods=watermarking_methods, ) + @app_router.get( "/logging", operation_id="get_log_level", - responses={200: {"description" : "The operation was successful"}}, - response_model = LogLevel, + responses={200: {"description": "The operation was successful"}}, + response_model=LogLevel, ) -async def get_log_level( -) -> LogLevel: +async def get_log_level() -> LogLevel: """Returns the log level""" return LogLevel(ApiDependencies.invoker.services.logger.level) + @app_router.post( "/logging", operation_id="set_log_level", - responses={200: {"description" : "The operation was successful"}}, - response_model = LogLevel, + responses={200: {"description": "The operation was successful"}}, + response_model=LogLevel, ) async def set_log_level( - level: LogLevel = Body(description="New log verbosity level"), + level: LogLevel = Body(description="New log verbosity level"), ) -> LogLevel: """Sets the log verbosity level""" ApiDependencies.invoker.services.logger.setLevel(level) diff --git a/invokeai/app/api/routers/board_images.py b/invokeai/app/api/routers/board_images.py index 651310af24..6cb073ca7c 100644 --- a/invokeai/app/api/routers/board_images.py +++ b/invokeai/app/api/routers/board_images.py @@ -52,4 +52,3 @@ async def remove_board_image( return result except Exception as e: raise HTTPException(status_code=500, detail="Failed to update board") - diff --git a/invokeai/app/api/routers/boards.py b/invokeai/app/api/routers/boards.py index f3de7f4952..69f4a8b3a7 100644 --- a/invokeai/app/api/routers/boards.py +++ b/invokeai/app/api/routers/boards.py @@ -18,9 +18,7 @@ class DeleteBoardResult(BaseModel): deleted_board_images: list[str] = Field( description="The image names of the board-images relationships that were deleted." ) - deleted_images: list[str] = Field( - description="The names of the images that were deleted." - ) + deleted_images: list[str] = Field(description="The names of the images that were deleted.") @boards_router.post( @@ -73,22 +71,16 @@ async def update_board( ) -> BoardDTO: """Updates a board""" try: - result = ApiDependencies.invoker.services.boards.update( - board_id=board_id, changes=changes - ) + result = ApiDependencies.invoker.services.boards.update(board_id=board_id, changes=changes) return result except Exception as e: raise HTTPException(status_code=500, detail="Failed to update board") -@boards_router.delete( - "/{board_id}", operation_id="delete_board", response_model=DeleteBoardResult -) +@boards_router.delete("/{board_id}", operation_id="delete_board", response_model=DeleteBoardResult) async def delete_board( board_id: str = Path(description="The id of board to delete"), - include_images: Optional[bool] = Query( - description="Permanently delete all images on the board", default=False - ), + include_images: Optional[bool] = Query(description="Permanently delete all images on the board", default=False), ) -> DeleteBoardResult: """Deletes a board""" try: @@ -96,9 +88,7 @@ async def delete_board( deleted_images = ApiDependencies.invoker.services.board_images.get_all_board_image_names_for_board( board_id=board_id ) - ApiDependencies.invoker.services.images.delete_images_on_board( - board_id=board_id - ) + ApiDependencies.invoker.services.images.delete_images_on_board(board_id=board_id) ApiDependencies.invoker.services.boards.delete(board_id=board_id) return DeleteBoardResult( board_id=board_id, @@ -127,9 +117,7 @@ async def delete_board( async def list_boards( all: Optional[bool] = Query(default=None, description="Whether to list all boards"), offset: Optional[int] = Query(default=None, description="The page offset"), - limit: Optional[int] = Query( - default=None, description="The number of boards per page" - ), + limit: Optional[int] = Query(default=None, description="The number of boards per page"), ) -> Union[OffsetPaginatedResults[BoardDTO], list[BoardDTO]]: """Gets a list of boards""" if all: diff --git a/invokeai/app/api/routers/images.py b/invokeai/app/api/routers/images.py index 36e2e3d75d..498a1139e4 100644 --- a/invokeai/app/api/routers/images.py +++ b/invokeai/app/api/routers/images.py @@ -40,15 +40,9 @@ async def upload_image( response: Response, image_category: ImageCategory = Query(description="The category of the image"), is_intermediate: bool = Query(description="Whether this is an intermediate image"), - board_id: Optional[str] = Query( - default=None, description="The board to add this image to, if any" - ), - session_id: Optional[str] = Query( - default=None, description="The session ID associated with this upload, if any" - ), - crop_visible: Optional[bool] = Query( - default=False, description="Whether to crop the image" - ), + board_id: Optional[str] = Query(default=None, description="The board to add this image to, if any"), + session_id: Optional[str] = Query(default=None, description="The session ID associated with this upload, if any"), + crop_visible: Optional[bool] = Query(default=False, description="Whether to crop the image"), ) -> ImageDTO: """Uploads an image""" if not file.content_type.startswith("image"): @@ -115,9 +109,7 @@ async def clear_intermediates() -> int: ) async def update_image( image_name: str = Path(description="The name of the image to update"), - image_changes: ImageRecordChanges = Body( - description="The changes to apply to the image" - ), + image_changes: ImageRecordChanges = Body(description="The changes to apply to the image"), ) -> ImageDTO: """Updates an image""" @@ -212,15 +204,11 @@ async def get_image_thumbnail( """Gets a thumbnail image file""" try: - path = ApiDependencies.invoker.services.images.get_path( - image_name, thumbnail=True - ) + path = ApiDependencies.invoker.services.images.get_path(image_name, thumbnail=True) if not ApiDependencies.invoker.services.images.validate_path(path): raise HTTPException(status_code=404) - response = FileResponse( - path, media_type="image/webp", content_disposition_type="inline" - ) + response = FileResponse(path, media_type="image/webp", content_disposition_type="inline") response.headers["Cache-Control"] = f"max-age={IMAGE_MAX_AGE}" return response except Exception as e: @@ -239,9 +227,7 @@ async def get_image_urls( try: image_url = ApiDependencies.invoker.services.images.get_url(image_name) - thumbnail_url = ApiDependencies.invoker.services.images.get_url( - image_name, thumbnail=True - ) + thumbnail_url = ApiDependencies.invoker.services.images.get_url(image_name, thumbnail=True) return ImageUrlsDTO( image_name=image_name, image_url=image_url, @@ -257,15 +243,9 @@ async def get_image_urls( response_model=OffsetPaginatedResults[ImageDTO], ) async def list_image_dtos( - image_origin: Optional[ResourceOrigin] = Query( - default=None, description="The origin of images to list." - ), - categories: Optional[list[ImageCategory]] = Query( - default=None, description="The categories of image to include." - ), - is_intermediate: Optional[bool] = Query( - default=None, description="Whether to list intermediate images." - ), + image_origin: Optional[ResourceOrigin] = Query(default=None, description="The origin of images to list."), + categories: Optional[list[ImageCategory]] = Query(default=None, description="The categories of image to include."), + is_intermediate: Optional[bool] = Query(default=None, description="Whether to list intermediate images."), board_id: Optional[str] = Query( default=None, description="The board id to filter by. Use 'none' to find images without a board.", diff --git a/invokeai/app/api/routers/models.py b/invokeai/app/api/routers/models.py index 759f6c9f59..3b2907b937 100644 --- a/invokeai/app/api/routers/models.py +++ b/invokeai/app/api/routers/models.py @@ -28,49 +28,52 @@ ConvertModelResponse = Union[tuple(OPENAPI_MODEL_CONFIGS)] MergeModelResponse = Union[tuple(OPENAPI_MODEL_CONFIGS)] ImportModelAttributes = Union[tuple(OPENAPI_MODEL_CONFIGS)] + class ModelsList(BaseModel): models: list[Union[tuple(OPENAPI_MODEL_CONFIGS)]] + @models_router.get( "/", operation_id="list_models", - responses={200: {"model": ModelsList }}, + responses={200: {"model": ModelsList}}, ) async def list_models( base_models: Optional[List[BaseModelType]] = Query(default=None, description="Base models to include"), model_type: Optional[ModelType] = Query(default=None, description="The type of model to get"), ) -> ModelsList: """Gets a list of models""" - if base_models and len(base_models)>0: + if base_models and len(base_models) > 0: models_raw = list() for base_model in base_models: models_raw.extend(ApiDependencies.invoker.services.model_manager.list_models(base_model, model_type)) else: models_raw = ApiDependencies.invoker.services.model_manager.list_models(None, model_type) - models = parse_obj_as(ModelsList, { "models": models_raw }) + models = parse_obj_as(ModelsList, {"models": models_raw}) return models + @models_router.patch( "/{base_model}/{model_type}/{model_name}", operation_id="update_model", - responses={200: {"description" : "The model was updated successfully"}, - 400: {"description" : "Bad request"}, - 404: {"description" : "The model could not be found"}, - 409: {"description" : "There is already a model corresponding to the new name"}, - }, - status_code = 200, - response_model = UpdateModelResponse, + responses={ + 200: {"description": "The model was updated successfully"}, + 400: {"description": "Bad request"}, + 404: {"description": "The model could not be found"}, + 409: {"description": "There is already a model corresponding to the new name"}, + }, + status_code=200, + response_model=UpdateModelResponse, ) async def update_model( - base_model: BaseModelType = Path(description="Base model"), - model_type: ModelType = Path(description="The type of model"), - model_name: str = Path(description="model name"), - info: Union[tuple(OPENAPI_MODEL_CONFIGS)] = Body(description="Model configuration"), + base_model: BaseModelType = Path(description="Base model"), + model_type: ModelType = Path(description="The type of model"), + model_name: str = Path(description="model name"), + info: Union[tuple(OPENAPI_MODEL_CONFIGS)] = Body(description="Model configuration"), ) -> UpdateModelResponse: - """ Update model contents with a new config. If the model name or base fields are changed, then the model is renamed. """ + """Update model contents with a new config. If the model name or base fields are changed, then the model is renamed.""" logger = ApiDependencies.invoker.services.logger - try: previous_info = ApiDependencies.invoker.services.model_manager.list_model( model_name=model_name, @@ -81,13 +84,13 @@ async def update_model( # rename operation requested if info.model_name != model_name or info.base_model != base_model: ApiDependencies.invoker.services.model_manager.rename_model( - base_model = base_model, - model_type = model_type, - model_name = model_name, - new_name = info.model_name, - new_base = info.base_model, + base_model=base_model, + model_type=model_type, + model_name=model_name, + new_name=info.model_name, + new_base=info.base_model, ) - logger.info(f'Successfully renamed {base_model}/{model_name}=>{info.base_model}/{info.model_name}') + logger.info(f"Successfully renamed {base_model}/{model_name}=>{info.base_model}/{info.model_name}") # update information to support an update of attributes model_name = info.model_name base_model = info.base_model @@ -96,16 +99,15 @@ async def update_model( base_model=base_model, model_type=model_type, ) - if new_info.get('path') != previous_info.get('path'): # model manager moved model path during rename - don't overwrite it - info.path = new_info.get('path') - + if new_info.get("path") != previous_info.get( + "path" + ): # model manager moved model path during rename - don't overwrite it + info.path = new_info.get("path") + ApiDependencies.invoker.services.model_manager.update_model( - model_name=model_name, - base_model=base_model, - model_type=model_type, - model_attributes=info.dict() + model_name=model_name, base_model=base_model, model_type=model_type, model_attributes=info.dict() ) - + model_raw = ApiDependencies.invoker.services.model_manager.list_model( model_name=model_name, base_model=base_model, @@ -123,49 +125,48 @@ async def update_model( return model_response + @models_router.post( "/import", operation_id="import_model", - responses= { - 201: {"description" : "The model imported successfully"}, - 404: {"description" : "The model could not be found"}, - 415: {"description" : "Unrecognized file/folder format"}, - 424: {"description" : "The model appeared to import successfully, but could not be found in the model manager"}, - 409: {"description" : "There is already a model corresponding to this path or repo_id"}, + responses={ + 201: {"description": "The model imported successfully"}, + 404: {"description": "The model could not be found"}, + 415: {"description": "Unrecognized file/folder format"}, + 424: {"description": "The model appeared to import successfully, but could not be found in the model manager"}, + 409: {"description": "There is already a model corresponding to this path or repo_id"}, }, status_code=201, - response_model=ImportModelResponse + response_model=ImportModelResponse, ) async def import_model( - location: str = Body(description="A model path, repo_id or URL to import"), - prediction_type: Optional[Literal['v_prediction','epsilon','sample']] = \ - Body(description='Prediction type for SDv2 checkpoint files', default="v_prediction"), + location: str = Body(description="A model path, repo_id or URL to import"), + prediction_type: Optional[Literal["v_prediction", "epsilon", "sample"]] = Body( + description="Prediction type for SDv2 checkpoint files", default="v_prediction" + ), ) -> ImportModelResponse: - """ Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically """ - + """Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically""" + items_to_import = {location} - prediction_types = { x.value: x for x in SchedulerPredictionType } + prediction_types = {x.value: x for x in SchedulerPredictionType} logger = ApiDependencies.invoker.services.logger try: installed_models = ApiDependencies.invoker.services.model_manager.heuristic_import( - items_to_import = items_to_import, - prediction_type_helper = lambda x: prediction_types.get(prediction_type) + items_to_import=items_to_import, prediction_type_helper=lambda x: prediction_types.get(prediction_type) ) info = installed_models.get(location) if not info: logger.error("Import failed") raise HTTPException(status_code=415) - - logger.info(f'Successfully imported {location}, got {info}') + + logger.info(f"Successfully imported {location}, got {info}") model_raw = ApiDependencies.invoker.services.model_manager.list_model( - model_name=info.name, - base_model=info.base_model, - model_type=info.model_type + model_name=info.name, base_model=info.base_model, model_type=info.model_type ) return parse_obj_as(ImportModelResponse, model_raw) - + except ModelNotFoundException as e: logger.error(str(e)) raise HTTPException(status_code=404, detail=str(e)) @@ -175,38 +176,34 @@ async def import_model( except ValueError as e: logger.error(str(e)) raise HTTPException(status_code=409, detail=str(e)) - + + @models_router.post( "/add", operation_id="add_model", - responses= { - 201: {"description" : "The model added successfully"}, - 404: {"description" : "The model could not be found"}, - 424: {"description" : "The model appeared to add successfully, but could not be found in the model manager"}, - 409: {"description" : "There is already a model corresponding to this path or repo_id"}, + responses={ + 201: {"description": "The model added successfully"}, + 404: {"description": "The model could not be found"}, + 424: {"description": "The model appeared to add successfully, but could not be found in the model manager"}, + 409: {"description": "There is already a model corresponding to this path or repo_id"}, }, status_code=201, - response_model=ImportModelResponse + response_model=ImportModelResponse, ) async def add_model( - info: Union[tuple(OPENAPI_MODEL_CONFIGS)] = Body(description="Model configuration"), + info: Union[tuple(OPENAPI_MODEL_CONFIGS)] = Body(description="Model configuration"), ) -> ImportModelResponse: - """ Add a model using the configuration information appropriate for its type. Only local models can be added by path""" - + """Add a model using the configuration information appropriate for its type. Only local models can be added by path""" + logger = ApiDependencies.invoker.services.logger try: ApiDependencies.invoker.services.model_manager.add_model( - info.model_name, - info.base_model, - info.model_type, - model_attributes = info.dict() + info.model_name, info.base_model, info.model_type, model_attributes=info.dict() ) - logger.info(f'Successfully added {info.model_name}') + logger.info(f"Successfully added {info.model_name}") model_raw = ApiDependencies.invoker.services.model_manager.list_model( - model_name=info.model_name, - base_model=info.base_model, - model_type=info.model_type + model_name=info.model_name, base_model=info.base_model, model_type=info.model_type ) return parse_obj_as(ImportModelResponse, model_raw) except ModelNotFoundException as e: @@ -216,66 +213,66 @@ async def add_model( logger.error(str(e)) raise HTTPException(status_code=409, detail=str(e)) - + @models_router.delete( "/{base_model}/{model_type}/{model_name}", operation_id="del_model", - responses={ - 204: { "description": "Model deleted successfully" }, - 404: { "description": "Model not found" } - }, - status_code = 204, - response_model = None, + responses={204: {"description": "Model deleted successfully"}, 404: {"description": "Model not found"}}, + status_code=204, + response_model=None, ) async def delete_model( - base_model: BaseModelType = Path(description="Base model"), - model_type: ModelType = Path(description="The type of model"), - model_name: str = Path(description="model name"), + base_model: BaseModelType = Path(description="Base model"), + model_type: ModelType = Path(description="The type of model"), + model_name: str = Path(description="model name"), ) -> Response: """Delete Model""" logger = ApiDependencies.invoker.services.logger - + try: - ApiDependencies.invoker.services.model_manager.del_model(model_name, - base_model = base_model, - model_type = model_type - ) + ApiDependencies.invoker.services.model_manager.del_model( + model_name, base_model=base_model, model_type=model_type + ) logger.info(f"Deleted model: {model_name}") return Response(status_code=204) except ModelNotFoundException as e: logger.error(str(e)) raise HTTPException(status_code=404, detail=str(e)) + @models_router.put( "/convert/{base_model}/{model_type}/{model_name}", operation_id="convert_model", responses={ - 200: { "description": "Model converted successfully" }, - 400: {"description" : "Bad request" }, - 404: { "description": "Model not found" }, + 200: {"description": "Model converted successfully"}, + 400: {"description": "Bad request"}, + 404: {"description": "Model not found"}, }, - status_code = 200, - response_model = ConvertModelResponse, + status_code=200, + response_model=ConvertModelResponse, ) async def convert_model( - base_model: BaseModelType = Path(description="Base model"), - model_type: ModelType = Path(description="The type of model"), - model_name: str = Path(description="model name"), - convert_dest_directory: Optional[str] = Query(default=None, description="Save the converted model to the designated directory"), + base_model: BaseModelType = Path(description="Base model"), + model_type: ModelType = Path(description="The type of model"), + model_name: str = Path(description="model name"), + convert_dest_directory: Optional[str] = Query( + default=None, description="Save the converted model to the designated directory" + ), ) -> ConvertModelResponse: """Convert a checkpoint model into a diffusers model, optionally saving to the indicated destination directory, or `models` if none.""" logger = ApiDependencies.invoker.services.logger try: logger.info(f"Converting model: {model_name}") dest = pathlib.Path(convert_dest_directory) if convert_dest_directory else None - ApiDependencies.invoker.services.model_manager.convert_model(model_name, - base_model = base_model, - model_type = model_type, - convert_dest_directory = dest, - ) - model_raw = ApiDependencies.invoker.services.model_manager.list_model(model_name, - base_model = base_model, - model_type = model_type) + ApiDependencies.invoker.services.model_manager.convert_model( + model_name, + base_model=base_model, + model_type=model_type, + convert_dest_directory=dest, + ) + model_raw = ApiDependencies.invoker.services.model_manager.list_model( + model_name, base_model=base_model, model_type=model_type + ) response = parse_obj_as(ConvertModelResponse, model_raw) except ModelNotFoundException as e: raise HTTPException(status_code=404, detail=f"Model '{model_name}' not found: {str(e)}") @@ -283,91 +280,101 @@ async def convert_model( raise HTTPException(status_code=400, detail=str(e)) return response + @models_router.get( "/search", operation_id="search_for_models", responses={ - 200: { "description": "Directory searched successfully" }, - 404: { "description": "Invalid directory path" }, + 200: {"description": "Directory searched successfully"}, + 404: {"description": "Invalid directory path"}, }, - status_code = 200, - response_model = List[pathlib.Path] + status_code=200, + response_model=List[pathlib.Path], ) async def search_for_models( - search_path: pathlib.Path = Query(description="Directory path to search for models") -)->List[pathlib.Path]: + search_path: pathlib.Path = Query(description="Directory path to search for models"), +) -> List[pathlib.Path]: if not search_path.is_dir(): - raise HTTPException(status_code=404, detail=f"The search path '{search_path}' does not exist or is not directory") + raise HTTPException( + status_code=404, detail=f"The search path '{search_path}' does not exist or is not directory" + ) return ApiDependencies.invoker.services.model_manager.search_for_models(search_path) + @models_router.get( "/ckpt_confs", operation_id="list_ckpt_configs", responses={ - 200: { "description" : "paths retrieved successfully" }, + 200: {"description": "paths retrieved successfully"}, }, - status_code = 200, - response_model = List[pathlib.Path] + status_code=200, + response_model=List[pathlib.Path], ) -async def list_ckpt_configs( -)->List[pathlib.Path]: +async def list_ckpt_configs() -> List[pathlib.Path]: """Return a list of the legacy checkpoint configuration files stored in `ROOT/configs/stable-diffusion`, relative to ROOT.""" return ApiDependencies.invoker.services.model_manager.list_checkpoint_configs() - - + + @models_router.post( "/sync", operation_id="sync_to_config", responses={ - 201: { "description": "synchronization successful" }, + 201: {"description": "synchronization successful"}, }, - status_code = 201, - response_model = bool + status_code=201, + response_model=bool, ) -async def sync_to_config( -)->bool: +async def sync_to_config() -> bool: """Call after making changes to models.yaml, autoimport directories or models directory to synchronize in-memory data structures with disk data structures.""" ApiDependencies.invoker.services.model_manager.sync_to_config() return True - + + @models_router.put( "/merge/{base_model}", operation_id="merge_models", responses={ - 200: { "description": "Model converted successfully" }, - 400: { "description": "Incompatible models" }, - 404: { "description": "One or more models not found" }, + 200: {"description": "Model converted successfully"}, + 400: {"description": "Incompatible models"}, + 404: {"description": "One or more models not found"}, }, - status_code = 200, - response_model = MergeModelResponse, + status_code=200, + response_model=MergeModelResponse, ) async def merge_models( - base_model: BaseModelType = Path(description="Base model"), - model_names: List[str] = Body(description="model name", min_items=2, max_items=3), - merged_model_name: Optional[str] = Body(description="Name of destination model"), - alpha: Optional[float] = Body(description="Alpha weighting strength to apply to 2d and 3d models", default=0.5), - interp: Optional[MergeInterpolationMethod] = Body(description="Interpolation method"), - force: Optional[bool] = Body(description="Force merging of models created with different versions of diffusers", default=False), - merge_dest_directory: Optional[str] = Body(description="Save the merged model to the designated directory (with 'merged_model_name' appended)", default=None) + base_model: BaseModelType = Path(description="Base model"), + model_names: List[str] = Body(description="model name", min_items=2, max_items=3), + merged_model_name: Optional[str] = Body(description="Name of destination model"), + alpha: Optional[float] = Body(description="Alpha weighting strength to apply to 2d and 3d models", default=0.5), + interp: Optional[MergeInterpolationMethod] = Body(description="Interpolation method"), + force: Optional[bool] = Body( + description="Force merging of models created with different versions of diffusers", default=False + ), + merge_dest_directory: Optional[str] = Body( + description="Save the merged model to the designated directory (with 'merged_model_name' appended)", + default=None, + ), ) -> MergeModelResponse: """Convert a checkpoint model into a diffusers model""" logger = ApiDependencies.invoker.services.logger try: logger.info(f"Merging models: {model_names} into {merge_dest_directory or ''}/{merged_model_name}") dest = pathlib.Path(merge_dest_directory) if merge_dest_directory else None - result = ApiDependencies.invoker.services.model_manager.merge_models(model_names, - base_model, - merged_model_name=merged_model_name or "+".join(model_names), - alpha=alpha, - interp=interp, - force=force, - merge_dest_directory = dest - ) - model_raw = ApiDependencies.invoker.services.model_manager.list_model(result.name, - base_model = base_model, - model_type = ModelType.Main, - ) + result = ApiDependencies.invoker.services.model_manager.merge_models( + model_names, + base_model, + merged_model_name=merged_model_name or "+".join(model_names), + alpha=alpha, + interp=interp, + force=force, + merge_dest_directory=dest, + ) + model_raw = ApiDependencies.invoker.services.model_manager.list_model( + result.name, + base_model=base_model, + model_type=ModelType.Main, + ) response = parse_obj_as(ConvertModelResponse, model_raw) except ModelNotFoundException: raise HTTPException(status_code=404, detail=f"One or more of the models '{model_names}' not found") diff --git a/invokeai/app/api/routers/sessions.py b/invokeai/app/api/routers/sessions.py index da842a3968..e4ba2a353e 100644 --- a/invokeai/app/api/routers/sessions.py +++ b/invokeai/app/api/routers/sessions.py @@ -30,9 +30,7 @@ session_router = APIRouter(prefix="/v1/sessions", tags=["sessions"]) }, ) async def create_session( - graph: Optional[Graph] = Body( - default=None, description="The graph to initialize the session with" - ) + graph: Optional[Graph] = Body(default=None, description="The graph to initialize the session with") ) -> GraphExecutionState: """Creates a new session, optionally initializing it with an invocation graph""" session = ApiDependencies.invoker.create_execution_state(graph) @@ -51,13 +49,9 @@ async def list_sessions( ) -> PaginatedResults[GraphExecutionState]: """Gets a list of sessions, optionally searching""" if query == "": - result = ApiDependencies.invoker.services.graph_execution_manager.list( - page, per_page - ) + result = ApiDependencies.invoker.services.graph_execution_manager.list(page, per_page) else: - result = ApiDependencies.invoker.services.graph_execution_manager.search( - query, page, per_page - ) + result = ApiDependencies.invoker.services.graph_execution_manager.search(query, page, per_page) return result @@ -91,9 +85,9 @@ async def get_session( ) async def add_node( session_id: str = Path(description="The id of the session"), - node: Annotated[ - Union[BaseInvocation.get_invocations()], Field(discriminator="type") # type: ignore - ] = Body(description="The node to add"), + node: Annotated[Union[BaseInvocation.get_invocations()], Field(discriminator="type")] = Body( # type: ignore + description="The node to add" + ), ) -> str: """Adds a node to the graph""" session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) @@ -124,9 +118,9 @@ async def add_node( async def update_node( session_id: str = Path(description="The id of the session"), node_path: str = Path(description="The path to the node in the graph"), - node: Annotated[ - Union[BaseInvocation.get_invocations()], Field(discriminator="type") # type: ignore - ] = Body(description="The new node"), + node: Annotated[Union[BaseInvocation.get_invocations()], Field(discriminator="type")] = Body( # type: ignore + description="The new node" + ), ) -> GraphExecutionState: """Updates a node in the graph and removes all linked edges""" session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) @@ -230,7 +224,7 @@ async def delete_edge( try: edge = Edge( source=EdgeConnection(node_id=from_node_id, field=from_field), - destination=EdgeConnection(node_id=to_node_id, field=to_field) + destination=EdgeConnection(node_id=to_node_id, field=to_field), ) session.delete_edge(edge) ApiDependencies.invoker.services.graph_execution_manager.set( @@ -255,9 +249,7 @@ async def delete_edge( ) async def invoke_session( session_id: str = Path(description="The id of the session to invoke"), - all: bool = Query( - default=False, description="Whether or not to invoke all remaining invocations" - ), + all: bool = Query(default=False, description="Whether or not to invoke all remaining invocations"), ) -> Response: """Invokes a session""" session = ApiDependencies.invoker.services.graph_execution_manager.get(session_id) @@ -274,9 +266,7 @@ async def invoke_session( @session_router.delete( "/{session_id}/invoke", operation_id="cancel_session_invoke", - responses={ - 202: {"description": "The invocation is canceled"} - }, + responses={202: {"description": "The invocation is canceled"}}, ) async def cancel_session_invoke( session_id: str = Path(description="The id of the session to cancel"), diff --git a/invokeai/app/api/sockets.py b/invokeai/app/api/sockets.py index f70d7a6609..4591bac540 100644 --- a/invokeai/app/api/sockets.py +++ b/invokeai/app/api/sockets.py @@ -16,9 +16,7 @@ class SocketIO: self.__sio.on("subscribe", handler=self._handle_sub) self.__sio.on("unsubscribe", handler=self._handle_unsub) - local_handler.register( - event_name=EventServiceBase.session_event, _func=self._handle_session_event - ) + local_handler.register(event_name=EventServiceBase.session_event, _func=self._handle_session_event) async def _handle_session_event(self, event: Event): await self.__sio.emit( diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index 044271779c..1f3a166e62 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -16,9 +16,10 @@ from fastapi_events.middleware import EventHandlerASGIMiddleware from pathlib import Path from pydantic.schema import schema -#This should come early so that modules can log their initialization properly +# This should come early so that modules can log their initialization properly from .services.config import InvokeAIAppConfig from ..backend.util.logging import InvokeAILogger + app_config = InvokeAIAppConfig.get_config() app_config.parse_args() logger = InvokeAILogger.getLogger(config=app_config) @@ -27,7 +28,7 @@ from invokeai.version.invokeai_version import __version__ # we call this early so that the message appears before # other invokeai initialization messages if app_config.version: - print(f'InvokeAI version {__version__}') + print(f"InvokeAI version {__version__}") sys.exit(0) import invokeai.frontend.web as web_dir @@ -37,17 +38,18 @@ from .api.dependencies import ApiDependencies from .api.routers import sessions, models, images, boards, board_images, app_info from .api.sockets import SocketIO from .invocations.baseinvocation import BaseInvocation - + import torch import invokeai.backend.util.hotfixes + if torch.backends.mps.is_available(): import invokeai.backend.util.mps_fixes # fix for windows mimetypes registry entries being borked # see https://github.com/invoke-ai/InvokeAI/discussions/3684#discussioncomment-6391352 -mimetypes.add_type('application/javascript', '.js') -mimetypes.add_type('text/css', '.css') +mimetypes.add_type("application/javascript", ".js") +mimetypes.add_type("text/css", ".css") # Create the app # TODO: create this all in a method so configuration/etc. can be passed in? @@ -57,14 +59,13 @@ app = FastAPI(title="Invoke AI", docs_url=None, redoc_url=None) event_handler_id: int = id(app) app.add_middleware( EventHandlerASGIMiddleware, - handlers=[ - local_handler - ], # TODO: consider doing this in services to support different configurations + handlers=[local_handler], # TODO: consider doing this in services to support different configurations middleware_id=event_handler_id, ) socket_io = SocketIO(app) + # Add startup event to load dependencies @app.on_event("startup") async def startup_event(): @@ -76,9 +77,7 @@ async def startup_event(): allow_headers=app_config.allow_headers, ) - ApiDependencies.initialize( - config=app_config, event_handler_id=event_handler_id, logger=logger - ) + ApiDependencies.initialize(config=app_config, event_handler_id=event_handler_id, logger=logger) # Shut down threads @@ -103,7 +102,8 @@ app.include_router(boards.boards_router, prefix="/api") app.include_router(board_images.board_images_router, prefix="/api") -app.include_router(app_info.app_router, prefix='/api') +app.include_router(app_info.app_router, prefix="/api") + # Build a custom OpenAPI to include all outputs # TODO: can outputs be included on metadata of invocation schemas somehow? @@ -144,6 +144,7 @@ def custom_openapi(): invoker_schema["output"] = outputs_ref from invokeai.backend.model_management.models import get_model_config_enums + for model_config_format_enum in set(get_model_config_enums()): name = model_config_format_enum.__qualname__ @@ -166,7 +167,8 @@ def custom_openapi(): app.openapi = custom_openapi # Override API doc favicons -app.mount("/static", StaticFiles(directory=Path(web_dir.__path__[0], 'static/dream_web')), name="static") +app.mount("/static", StaticFiles(directory=Path(web_dir.__path__[0], "static/dream_web")), name="static") + @app.get("/docs", include_in_schema=False) def overridden_swagger(): @@ -187,11 +189,8 @@ def overridden_redoc(): # Must mount *after* the other routes else it borks em -app.mount("/", - StaticFiles(directory=Path(web_dir.__path__[0],"dist"), - html=True - ), name="ui" - ) +app.mount("/", StaticFiles(directory=Path(web_dir.__path__[0], "dist"), html=True), name="ui") + def invoke_api(): def find_port(port: int): @@ -203,10 +202,11 @@ def invoke_api(): return find_port(port=port + 1) else: return port - + from invokeai.backend.install.check_root import check_invokeai_root + check_invokeai_root(app_config) # note, may exit with an exception if root not set up - + port = find_port(app_config.port) if port != app_config.port: logger.warn(f"Port {app_config.port} in use, using port {port}") @@ -217,5 +217,6 @@ def invoke_api(): server = uvicorn.Server(config) loop.run_until_complete(server.serve()) + if __name__ == "__main__": invoke_api() diff --git a/invokeai/app/cli/commands.py b/invokeai/app/cli/commands.py index bffb2988dc..64ea6034fc 100644 --- a/invokeai/app/cli/commands.py +++ b/invokeai/app/cli/commands.py @@ -14,8 +14,14 @@ from ..services.graph import GraphExecutionState, LibraryGraph, Edge from ..services.invoker import Invoker -def add_field_argument(command_parser, name: str, field, default_override = None): - default = default_override if default_override is not None else field.default if field.default_factory is None else field.default_factory() +def add_field_argument(command_parser, name: str, field, default_override=None): + default = ( + default_override + if default_override is not None + else field.default + if field.default_factory is None + else field.default_factory() + ) if get_origin(field.type_) == Literal: allowed_values = get_args(field.type_) allowed_types = set() @@ -47,8 +53,8 @@ def add_parsers( commands: list[type], command_field: str = "type", exclude_fields: list[str] = ["id", "type"], - add_arguments: Union[Callable[[argparse.ArgumentParser], None],None] = None - ): + add_arguments: Union[Callable[[argparse.ArgumentParser], None], None] = None, +): """Adds parsers for each command to the subparsers""" # Create subparsers for each command @@ -61,7 +67,7 @@ def add_parsers( add_arguments(command_parser) # Convert all fields to arguments - fields = command.__fields__ # type: ignore + fields = command.__fields__ # type: ignore for name, field in fields.items(): if name in exclude_fields: continue @@ -70,13 +76,11 @@ def add_parsers( def add_graph_parsers( - subparsers, - graphs: list[LibraryGraph], - add_arguments: Union[Callable[[argparse.ArgumentParser], None], None] = None + subparsers, graphs: list[LibraryGraph], add_arguments: Union[Callable[[argparse.ArgumentParser], None], None] = None ): for graph in graphs: command_parser = subparsers.add_parser(graph.name, help=graph.description) - + if add_arguments is not None: add_arguments(command_parser) @@ -128,6 +132,7 @@ class CliContext: class ExitCli(Exception): """Exception to exit the CLI""" + pass @@ -155,7 +160,7 @@ class BaseCommand(ABC, BaseModel): @classmethod def get_commands_map(cls): # Get the type strings out of the literals and into a dictionary - return dict(map(lambda t: (get_args(get_type_hints(t)['type'])[0], t),BaseCommand.get_all_subclasses())) + return dict(map(lambda t: (get_args(get_type_hints(t)["type"])[0], t), BaseCommand.get_all_subclasses())) @abstractmethod def run(self, context: CliContext) -> None: @@ -165,7 +170,8 @@ class BaseCommand(ABC, BaseModel): class ExitCommand(BaseCommand): """Exits the CLI""" - type: Literal['exit'] = 'exit' + + type: Literal["exit"] = "exit" def run(self, context: CliContext) -> None: raise ExitCli() @@ -173,7 +179,8 @@ class ExitCommand(BaseCommand): class HelpCommand(BaseCommand): """Shows help""" - type: Literal['help'] = 'help' + + type: Literal["help"] = "help" def run(self, context: CliContext) -> None: context.parser.print_help() @@ -183,11 +190,7 @@ def get_graph_execution_history( graph_execution_state: GraphExecutionState, ) -> Iterable[str]: """Gets the history of fully-executed invocations for a graph execution""" - return ( - n - for n in reversed(graph_execution_state.executed_history) - if n in graph_execution_state.graph.nodes - ) + return (n for n in reversed(graph_execution_state.executed_history) if n in graph_execution_state.graph.nodes) def get_invocation_command(invocation) -> str: @@ -218,7 +221,8 @@ def get_invocation_command(invocation) -> str: class HistoryCommand(BaseCommand): """Shows the invocation history""" - type: Literal['history'] = 'history' + + type: Literal["history"] = "history" # Inputs # fmt: off @@ -235,7 +239,8 @@ class HistoryCommand(BaseCommand): class SetDefaultCommand(BaseCommand): """Sets a default value for a field""" - type: Literal['default'] = 'default' + + type: Literal["default"] = "default" # Inputs # fmt: off @@ -253,7 +258,8 @@ class SetDefaultCommand(BaseCommand): class DrawGraphCommand(BaseCommand): """Debugs a graph""" - type: Literal['draw_graph'] = 'draw_graph' + + type: Literal["draw_graph"] = "draw_graph" def run(self, context: CliContext) -> None: session: GraphExecutionState = context.invoker.services.graph_execution_manager.get(context.session.id) @@ -271,7 +277,8 @@ class DrawGraphCommand(BaseCommand): class DrawExecutionGraphCommand(BaseCommand): """Debugs an execution graph""" - type: Literal['draw_xgraph'] = 'draw_xgraph' + + type: Literal["draw_xgraph"] = "draw_xgraph" def run(self, context: CliContext) -> None: session: GraphExecutionState = context.invoker.services.graph_execution_manager.get(context.session.id) @@ -286,6 +293,7 @@ class DrawExecutionGraphCommand(BaseCommand): plt.axis("off") plt.show() + class SortedHelpFormatter(argparse.HelpFormatter): def _iter_indented_subactions(self, action): try: diff --git a/invokeai/app/cli/completer.py b/invokeai/app/cli/completer.py index 79274dab8c..fd10034dd7 100644 --- a/invokeai/app/cli/completer.py +++ b/invokeai/app/cli/completer.py @@ -19,8 +19,8 @@ from ..services.invocation_services import InvocationServices # singleton object, class variable completer = None + class Completer(object): - def __init__(self, model_manager: ModelManager): self.commands = self.get_commands() self.matches = None @@ -43,7 +43,7 @@ class Completer(object): except IndexError: pass options = options or list(self.parse_commands().keys()) - + if not text: # first time self.matches = options else: @@ -56,17 +56,17 @@ class Completer(object): return match @classmethod - def get_commands(self)->List[object]: + def get_commands(self) -> List[object]: """ Return a list of all the client commands and invocations. """ return BaseCommand.get_commands() + BaseInvocation.get_invocations() - def get_current_command(self, buffer: str)->tuple[str, str]: + def get_current_command(self, buffer: str) -> tuple[str, str]: """ Parse the readline buffer to find the most recent command and its switch. """ - if len(buffer)==0: + if len(buffer) == 0: return None, None tokens = shlex.split(buffer) command = None @@ -78,11 +78,11 @@ class Completer(object): else: switch = t # don't try to autocomplete switches that are already complete - if switch and buffer.endswith(' '): - switch=None - return command or '', switch or '' + if switch and buffer.endswith(" "): + switch = None + return command or "", switch or "" - def parse_commands(self)->Dict[str, List[str]]: + def parse_commands(self) -> Dict[str, List[str]]: """ Return a dict in which the keys are the command name and the values are the parameters the command takes. @@ -90,11 +90,11 @@ class Completer(object): result = dict() for command in self.commands: hints = get_type_hints(command) - name = get_args(hints['type'])[0] - result.update({name:hints}) + name = get_args(hints["type"])[0] + result.update({name: hints}) return result - def get_command_options(self, command: str, switch: str)->List[str]: + def get_command_options(self, command: str, switch: str) -> List[str]: """ Return all the parameters that can be passed to the command as command-line switches. Returns None if the command is unrecognized. @@ -102,42 +102,46 @@ class Completer(object): parsed_commands = self.parse_commands() if command not in parsed_commands: return None - + # handle switches in the format "-foo=bar" argument = None - if switch and '=' in switch: - switch, argument = switch.split('=') - - parameter = switch.strip('-') + if switch and "=" in switch: + switch, argument = switch.split("=") + + parameter = switch.strip("-") if parameter in parsed_commands[command]: if argument is None: return self.get_parameter_options(parameter, parsed_commands[command][parameter]) else: - return [f"--{parameter}={x}" for x in self.get_parameter_options(parameter, parsed_commands[command][parameter])] + return [ + f"--{parameter}={x}" + for x in self.get_parameter_options(parameter, parsed_commands[command][parameter]) + ] else: return [f"--{x}" for x in parsed_commands[command].keys()] - def get_parameter_options(self, parameter: str, typehint)->List[str]: + def get_parameter_options(self, parameter: str, typehint) -> List[str]: """ Given a parameter type (such as Literal), offers autocompletions. """ if get_origin(typehint) == Literal: return get_args(typehint) - if parameter == 'model': + if parameter == "model": return self.manager.model_names() - + def _pre_input_hook(self): if self.linebuffer: readline.insert_text(self.linebuffer) readline.redisplay() self.linebuffer = None - + + def set_autocompleter(services: InvocationServices) -> Completer: global completer - + if completer: return completer - + completer = Completer(services.model_manager) readline.set_completer(completer.complete) @@ -162,8 +166,6 @@ def set_autocompleter(services: InvocationServices) -> Completer: pass except OSError: # file likely corrupted newname = f"{histfile}.old" - logger.error( - f"Your history file {histfile} couldn't be loaded and may be corrupted. Renaming it to {newname}" - ) + logger.error(f"Your history file {histfile} couldn't be loaded and may be corrupted. Renaming it to {newname}") histfile.replace(Path(newname)) atexit.register(readline.write_history_file, histfile) diff --git a/invokeai/app/cli_app.py b/invokeai/app/cli_app.py index 341e9e5b7e..bad95bb559 100644 --- a/invokeai/app/cli_app.py +++ b/invokeai/app/cli_app.py @@ -13,6 +13,7 @@ from pydantic.fields import Field # This should come early so that the logger can pick up its configuration options from .services.config import InvokeAIAppConfig from invokeai.backend.util.logging import InvokeAILogger + config = InvokeAIAppConfig.get_config() config.parse_args() logger = InvokeAILogger().getLogger(config=config) @@ -20,7 +21,7 @@ from invokeai.version.invokeai_version import __version__ # we call this early so that the message appears before other invokeai initialization messages if config.version: - print(f'InvokeAI version {__version__}') + print(f"InvokeAI version {__version__}") sys.exit(0) from invokeai.app.services.board_image_record_storage import ( @@ -36,18 +37,21 @@ from invokeai.app.services.image_record_storage import SqliteImageRecordStorage from invokeai.app.services.images import ImageService, ImageServiceDependencies from invokeai.app.services.resource_name import SimpleNameService from invokeai.app.services.urls import LocalUrlService -from .services.default_graphs import (default_text_to_image_graph_id, - create_system_graphs) +from .services.default_graphs import default_text_to_image_graph_id, create_system_graphs from .services.latent_storage import DiskLatentsStorage, ForwardCacheLatentsStorage -from .cli.commands import (BaseCommand, CliContext, ExitCli, - SortedHelpFormatter, add_graph_parsers, add_parsers) +from .cli.commands import BaseCommand, CliContext, ExitCli, SortedHelpFormatter, add_graph_parsers, add_parsers from .cli.completer import set_autocompleter from .invocations.baseinvocation import BaseInvocation from .services.events import EventServiceBase -from .services.graph import (Edge, EdgeConnection, GraphExecutionState, - GraphInvocation, LibraryGraph, - are_connection_types_compatible) +from .services.graph import ( + Edge, + EdgeConnection, + GraphExecutionState, + GraphInvocation, + LibraryGraph, + are_connection_types_compatible, +) from .services.image_file_storage import DiskImageFileStorage from .services.invocation_queue import MemoryInvocationQueue from .services.invocation_services import InvocationServices @@ -58,6 +62,7 @@ from .services.sqlite import SqliteItemStorage import torch import invokeai.backend.util.hotfixes + if torch.backends.mps.is_available(): import invokeai.backend.util.mps_fixes @@ -69,6 +74,7 @@ class CliCommand(BaseModel): class InvalidArgs(Exception): pass + def add_invocation_args(command_parser): # Add linking capability command_parser.add_argument( @@ -113,7 +119,7 @@ def get_command_parser(services: InvocationServices) -> argparse.ArgumentParser: return parser -class NodeField(): +class NodeField: alias: str node_path: str field: str @@ -126,15 +132,20 @@ class NodeField(): self.field_type = field_type -def fields_from_type_hints(hints: dict[str, type], node_path: str) -> dict[str,NodeField]: - return {k:NodeField(alias=k, node_path=node_path, field=k, field_type=v) for k, v in hints.items()} +def fields_from_type_hints(hints: dict[str, type], node_path: str) -> dict[str, NodeField]: + return {k: NodeField(alias=k, node_path=node_path, field=k, field_type=v) for k, v in hints.items()} def get_node_input_field(graph: LibraryGraph, field_alias: str, node_id: str) -> NodeField: """Gets the node field for the specified field alias""" exposed_input = next(e for e in graph.exposed_inputs if e.alias == field_alias) node_type = type(graph.graph.get_node(exposed_input.node_path)) - return NodeField(alias=exposed_input.alias, node_path=f'{node_id}.{exposed_input.node_path}', field=exposed_input.field, field_type=get_type_hints(node_type)[exposed_input.field]) + return NodeField( + alias=exposed_input.alias, + node_path=f"{node_id}.{exposed_input.node_path}", + field=exposed_input.field, + field_type=get_type_hints(node_type)[exposed_input.field], + ) def get_node_output_field(graph: LibraryGraph, field_alias: str, node_id: str) -> NodeField: @@ -142,7 +153,12 @@ def get_node_output_field(graph: LibraryGraph, field_alias: str, node_id: str) - exposed_output = next(e for e in graph.exposed_outputs if e.alias == field_alias) node_type = type(graph.graph.get_node(exposed_output.node_path)) node_output_type = node_type.get_output_type() - return NodeField(alias=exposed_output.alias, node_path=f'{node_id}.{exposed_output.node_path}', field=exposed_output.field, field_type=get_type_hints(node_output_type)[exposed_output.field]) + return NodeField( + alias=exposed_output.alias, + node_path=f"{node_id}.{exposed_output.node_path}", + field=exposed_output.field, + field_type=get_type_hints(node_output_type)[exposed_output.field], + ) def get_node_inputs(invocation: BaseInvocation, context: CliContext) -> dict[str, NodeField]: @@ -165,9 +181,7 @@ def get_node_outputs(invocation: BaseInvocation, context: CliContext) -> dict[st return {e.alias: get_node_output_field(graph, e.alias, invocation.id) for e in graph.exposed_outputs} -def generate_matching_edges( - a: BaseInvocation, b: BaseInvocation, context: CliContext -) -> list[Edge]: +def generate_matching_edges(a: BaseInvocation, b: BaseInvocation, context: CliContext) -> list[Edge]: """Generates all possible edges between two invocations""" afields = get_node_outputs(a, context) bfields = get_node_inputs(b, context) @@ -179,12 +193,14 @@ def generate_matching_edges( matching_fields = matching_fields.difference(invalid_fields) # Validate types - matching_fields = [f for f in matching_fields if are_connection_types_compatible(afields[f].field_type, bfields[f].field_type)] + matching_fields = [ + f for f in matching_fields if are_connection_types_compatible(afields[f].field_type, bfields[f].field_type) + ] edges = [ Edge( source=EdgeConnection(node_id=afields[alias].node_path, field=afields[alias].field), - destination=EdgeConnection(node_id=bfields[alias].node_path, field=bfields[alias].field) + destination=EdgeConnection(node_id=bfields[alias].node_path, field=bfields[alias].field), ) for alias in matching_fields ] @@ -193,6 +209,7 @@ def generate_matching_edges( class SessionError(Exception): """Raised when a session error has occurred""" + pass @@ -209,22 +226,23 @@ def invoke_all(context: CliContext): context.invoker.services.logger.error( f"Error in node {n} (source node {context.session.prepared_source_mapping[n]}): {context.session.errors[n]}" ) - + raise SessionError() + def invoke_cli(): - logger.info(f'InvokeAI version {__version__}') + logger.info(f"InvokeAI version {__version__}") # get the optional list of invocations to execute on the command line parser = config.get_parser() - parser.add_argument('commands',nargs='*') + parser.add_argument("commands", nargs="*") invocation_commands = parser.parse_args().commands # get the optional file to read commands from. # Simplest is to use it for STDIN if infile := config.from_file: - sys.stdin = open(infile,"r") - - model_manager = ModelManagerService(config,logger) + sys.stdin = open(infile, "r") + + model_manager = ModelManagerService(config, logger) events = EventServiceBase() output_folder = config.output_path @@ -234,13 +252,13 @@ def invoke_cli(): db_location = ":memory:" else: db_location = config.db_path - db_location.parent.mkdir(parents=True,exist_ok=True) + db_location.parent.mkdir(parents=True, exist_ok=True) logger.info(f'InvokeAI database location is "{db_location}"') graph_execution_manager = SqliteItemStorage[GraphExecutionState]( - filename=db_location, table_name="graph_executions" - ) + filename=db_location, table_name="graph_executions" + ) urls = LocalUrlService() image_record_storage = SqliteImageRecordStorage(db_location) @@ -281,24 +299,21 @@ def invoke_cli(): graph_execution_manager=graph_execution_manager, ) ) - + services = InvocationServices( model_manager=model_manager, events=events, - latents = ForwardCacheLatentsStorage(DiskLatentsStorage(f'{output_folder}/latents')), + latents=ForwardCacheLatentsStorage(DiskLatentsStorage(f"{output_folder}/latents")), images=images, boards=boards, board_images=board_images, queue=MemoryInvocationQueue(), - graph_library=SqliteItemStorage[LibraryGraph]( - filename=db_location, table_name="graphs" - ), + graph_library=SqliteItemStorage[LibraryGraph](filename=db_location, table_name="graphs"), graph_execution_manager=graph_execution_manager, processor=DefaultInvocationProcessor(), logger=logger, configuration=config, ) - system_graphs = create_system_graphs(services.graph_library) system_graph_names = set([g.name for g in system_graphs]) @@ -308,7 +323,7 @@ def invoke_cli(): session: GraphExecutionState = invoker.create_execution_state() parser = get_command_parser(services) - re_negid = re.compile('^-[0-9]+$') + re_negid = re.compile("^-[0-9]+$") # Uncomment to print out previous sessions at startup # print(services.session_manager.list()) @@ -318,7 +333,7 @@ def invoke_cli(): command_line_args_exist = len(invocation_commands) > 0 done = False - + while not done: try: if command_line_args_exist: @@ -332,7 +347,7 @@ def invoke_cli(): try: # Refresh the state of the session - #history = list(get_graph_execution_history(context.session)) + # history = list(get_graph_execution_history(context.session)) history = list(reversed(context.nodes_added)) # Split the command for piping @@ -353,17 +368,17 @@ def invoke_cli(): args[field_name] = field_default # Parse invocation - command: CliCommand = None # type:ignore + command: CliCommand = None # type:ignore system_graph: Optional[LibraryGraph] = None - if args['type'] in system_graph_names: - system_graph = next(filter(lambda g: g.name == args['type'], system_graphs)) + if args["type"] in system_graph_names: + system_graph = next(filter(lambda g: g.name == args["type"], system_graphs)) invocation = GraphInvocation(graph=system_graph.graph, id=str(current_id)) for exposed_input in system_graph.exposed_inputs: if exposed_input.alias in args: node = invocation.graph.get_node(exposed_input.node_path) field = exposed_input.field setattr(node, field, args[exposed_input.alias]) - command = CliCommand(command = invocation) + command = CliCommand(command=invocation) context.graph_nodes[invocation.id] = system_graph.id else: args["id"] = current_id @@ -385,17 +400,13 @@ def invoke_cli(): # Pipe previous command output (if there was a previous command) edges: list[Edge] = list() if len(history) > 0 or current_id != start_id: - from_id = ( - history[0] if current_id == start_id else str(current_id - 1) - ) + from_id = history[0] if current_id == start_id else str(current_id - 1) from_node = ( next(filter(lambda n: n[0].id == from_id, new_invocations))[0] if current_id != start_id else context.session.graph.get_node(from_id) ) - matching_edges = generate_matching_edges( - from_node, command.command, context - ) + matching_edges = generate_matching_edges(from_node, command.command, context) edges.extend(matching_edges) # Parse provided links @@ -406,16 +417,18 @@ def invoke_cli(): node_id = str(current_id + int(node_id)) link_node = context.session.graph.get_node(node_id) - matching_edges = generate_matching_edges( - link_node, command.command, context - ) + matching_edges = generate_matching_edges(link_node, command.command, context) matching_destinations = [e.destination for e in matching_edges] edges = [e for e in edges if e.destination not in matching_destinations] edges.extend(matching_edges) if "link" in args and args["link"]: for link in args["link"]: - edges = [e for e in edges if e.destination.node_id != command.command.id or e.destination.field != link[2]] + edges = [ + e + for e in edges + if e.destination.node_id != command.command.id or e.destination.field != link[2] + ] node_id = link[0] if re_negid.match(node_id): @@ -428,7 +441,7 @@ def invoke_cli(): edges.append( Edge( source=EdgeConnection(node_id=node_output.node_path, field=node_output.field), - destination=EdgeConnection(node_id=node_input.node_path, field=node_input.field) + destination=EdgeConnection(node_id=node_input.node_path, field=node_input.field), ) ) diff --git a/invokeai/app/invocations/__init__.py b/invokeai/app/invocations/__init__.py index 0a451ff618..6407a1cdee 100644 --- a/invokeai/app/invocations/__init__.py +++ b/invokeai/app/invocations/__init__.py @@ -4,9 +4,5 @@ __all__ = [] dirname = os.path.dirname(os.path.abspath(__file__)) for f in os.listdir(dirname): - if ( - f != "__init__.py" - and os.path.isfile("%s/%s" % (dirname, f)) - and f[-3:] == ".py" - ): + if f != "__init__.py" and os.path.isfile("%s/%s" % (dirname, f)) and f[-3:] == ".py": __all__.append(f[:-3]) diff --git a/invokeai/app/invocations/baseinvocation.py b/invokeai/app/invocations/baseinvocation.py index 4c7314bd2b..758ab2e787 100644 --- a/invokeai/app/invocations/baseinvocation.py +++ b/invokeai/app/invocations/baseinvocation.py @@ -4,8 +4,7 @@ from __future__ import annotations from abc import ABC, abstractmethod from inspect import signature -from typing import (TYPE_CHECKING, Dict, List, Literal, TypedDict, get_args, - get_type_hints) +from typing import TYPE_CHECKING, Dict, List, Literal, TypedDict, get_args, get_type_hints from pydantic import BaseConfig, BaseModel, Field diff --git a/invokeai/app/invocations/collections.py b/invokeai/app/invocations/collections.py index 5446757eb0..01c003da96 100644 --- a/invokeai/app/invocations/collections.py +++ b/invokeai/app/invocations/collections.py @@ -8,8 +8,7 @@ from pydantic import Field, validator from invokeai.app.models.image import ImageField from invokeai.app.util.misc import SEED_MAX, get_random_seed -from .baseinvocation import (BaseInvocation, BaseInvocationOutput, - InvocationConfig, InvocationContext, UIConfig) +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext, UIConfig class IntCollectionOutput(BaseInvocationOutput): @@ -27,8 +26,7 @@ class FloatCollectionOutput(BaseInvocationOutput): type: Literal["float_collection"] = "float_collection" # Outputs - collection: list[float] = Field( - default=[], description="The float collection") + collection: list[float] = Field(default=[], description="The float collection") class ImageCollectionOutput(BaseInvocationOutput): @@ -37,8 +35,7 @@ class ImageCollectionOutput(BaseInvocationOutput): type: Literal["image_collection"] = "image_collection" # Outputs - collection: list[ImageField] = Field( - default=[], description="The output images") + collection: list[ImageField] = Field(default=[], description="The output images") class Config: schema_extra = {"required": ["type", "collection"]} @@ -56,10 +53,7 @@ class RangeInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Range", - "tags": ["range", "integer", "collection"] - }, + "ui": {"title": "Range", "tags": ["range", "integer", "collection"]}, } @validator("stop") @@ -69,9 +63,7 @@ class RangeInvocation(BaseInvocation): return v def invoke(self, context: InvocationContext) -> IntCollectionOutput: - return IntCollectionOutput( - collection=list(range(self.start, self.stop, self.step)) - ) + return IntCollectionOutput(collection=list(range(self.start, self.stop, self.step))) class RangeOfSizeInvocation(BaseInvocation): @@ -86,18 +78,11 @@ class RangeOfSizeInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Sized Range", - "tags": ["range", "integer", "size", "collection"] - }, + "ui": {"title": "Sized Range", "tags": ["range", "integer", "size", "collection"]}, } def invoke(self, context: InvocationContext) -> IntCollectionOutput: - return IntCollectionOutput( - collection=list( - range( - self.start, self.start + self.size, - self.step))) + return IntCollectionOutput(collection=list(range(self.start, self.start + self.size, self.step))) class RandomRangeInvocation(BaseInvocation): @@ -107,9 +92,7 @@ class RandomRangeInvocation(BaseInvocation): # Inputs low: int = Field(default=0, description="The inclusive low value") - high: int = Field( - default=np.iinfo(np.int32).max, description="The exclusive high value" - ) + high: int = Field(default=np.iinfo(np.int32).max, description="The exclusive high value") size: int = Field(default=1, description="The number of values to generate") seed: int = Field( ge=0, @@ -120,19 +103,12 @@ class RandomRangeInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Random Range", - "tags": ["range", "integer", "random", "collection"] - }, + "ui": {"title": "Random Range", "tags": ["range", "integer", "random", "collection"]}, } def invoke(self, context: InvocationContext) -> IntCollectionOutput: rng = np.random.default_rng(self.seed) - return IntCollectionOutput( - collection=list( - rng.integers( - low=self.low, high=self.high, - size=self.size))) + return IntCollectionOutput(collection=list(rng.integers(low=self.low, high=self.high, size=self.size))) class ImageCollectionInvocation(BaseInvocation): diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index 6aadbf509d..fb29e01628 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -3,64 +3,63 @@ from pydantic import BaseModel, Field import re import torch from compel import Compel, ReturnedEmbeddingsType -from compel.prompt_parser import (Blend, Conjunction, - CrossAttentionControlSubstitute, - FlattenedPrompt, Fragment) +from compel.prompt_parser import Blend, Conjunction, CrossAttentionControlSubstitute, FlattenedPrompt, Fragment from ...backend.util.devices import torch_dtype from ...backend.model_management import ModelType from ...backend.model_management.models import ModelNotFoundException from ...backend.model_management.lora import ModelPatcher from ...backend.stable_diffusion.diffusion import InvokeAIDiffuserComponent -from .baseinvocation import (BaseInvocation, BaseInvocationOutput, - InvocationConfig, InvocationContext) +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext from .model import ClipField from dataclasses import dataclass class ConditioningField(BaseModel): - conditioning_name: Optional[str] = Field( - default=None, description="The name of conditioning data") + conditioning_name: Optional[str] = Field(default=None, description="The name of conditioning data") class Config: schema_extra = {"required": ["conditioning_name"]} + @dataclass class BasicConditioningInfo: - #type: Literal["basic_conditioning"] = "basic_conditioning" + # type: Literal["basic_conditioning"] = "basic_conditioning" embeds: torch.Tensor extra_conditioning: Optional[InvokeAIDiffuserComponent.ExtraConditioningInfo] # weight: float # mode: ConditioningAlgo + @dataclass class SDXLConditioningInfo(BasicConditioningInfo): - #type: Literal["sdxl_conditioning"] = "sdxl_conditioning" + # type: Literal["sdxl_conditioning"] = "sdxl_conditioning" pooled_embeds: torch.Tensor add_time_ids: torch.Tensor -ConditioningInfoType = Annotated[ - Union[BasicConditioningInfo, SDXLConditioningInfo], - Field(discriminator="type") -] + +ConditioningInfoType = Annotated[Union[BasicConditioningInfo, SDXLConditioningInfo], Field(discriminator="type")] + @dataclass class ConditioningFieldData: conditionings: List[Union[BasicConditioningInfo, SDXLConditioningInfo]] - #unconditioned: Optional[torch.Tensor] + # unconditioned: Optional[torch.Tensor] -#class ConditioningAlgo(str, Enum): + +# class ConditioningAlgo(str, Enum): # Compose = "compose" # ComposeEx = "compose_ex" # PerpNeg = "perp_neg" + class CompelOutput(BaseInvocationOutput): """Compel parser output""" - #fmt: off + # fmt: off type: Literal["compel_output"] = "compel_output" conditioning: ConditioningField = Field(default=None, description="Conditioning") - #fmt: on + # fmt: on class CompelInvocation(BaseInvocation): @@ -74,33 +73,28 @@ class CompelInvocation(BaseInvocation): # Schema customisation class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Prompt (Compel)", - "tags": ["prompt", "compel"], - "type_hints": { - "model": "model" - } - }, + "ui": {"title": "Prompt (Compel)", "tags": ["prompt", "compel"], "type_hints": {"model": "model"}}, } @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: tokenizer_info = context.services.model_manager.get_model( - **self.clip.tokenizer.dict(), context=context, + **self.clip.tokenizer.dict(), + context=context, ) text_encoder_info = context.services.model_manager.get_model( - **self.clip.text_encoder.dict(), context=context, + **self.clip.text_encoder.dict(), + context=context, ) def _lora_loader(): for lora in self.clip.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context) + lora_info = context.services.model_manager.get_model(**lora.dict(exclude={"weight"}), context=context) yield (lora_info.context.model, lora.weight) del lora_info return - #loras = [(context.services.model_manager.get_model(**lora.dict(exclude={"weight"})).context.model, lora.weight) for lora in self.clip.loras] + # loras = [(context.services.model_manager.get_model(**lora.dict(exclude={"weight"})).context.model, lora.weight) for lora in self.clip.loras] ti_list = [] for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", self.prompt): @@ -116,15 +110,18 @@ class CompelInvocation(BaseInvocation): ) except ModelNotFoundException: # print(e) - #import traceback - #print(traceback.format_exc()) - print(f"Warn: trigger: \"{trigger}\" not found") - - with ModelPatcher.apply_lora_text_encoder(text_encoder_info.context.model, _lora_loader()),\ - ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as (tokenizer, ti_manager),\ - ModelPatcher.apply_clip_skip(text_encoder_info.context.model, self.clip.skipped_layers),\ - text_encoder_info as text_encoder: + # import traceback + # print(traceback.format_exc()) + print(f'Warn: trigger: "{trigger}" not found') + with ModelPatcher.apply_lora_text_encoder( + text_encoder_info.context.model, _lora_loader() + ), ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as ( + tokenizer, + ti_manager, + ), ModelPatcher.apply_clip_skip( + text_encoder_info.context.model, self.clip.skipped_layers + ), text_encoder_info as text_encoder: compel = Compel( tokenizer=tokenizer, text_encoder=text_encoder, @@ -139,14 +136,12 @@ class CompelInvocation(BaseInvocation): if context.services.configuration.log_tokenization: log_tokenization_for_prompt_object(prompt, tokenizer) - c, options = compel.build_conditioning_tensor_for_prompt_object( - prompt) + c, options = compel.build_conditioning_tensor_for_prompt_object(prompt) ec = InvokeAIDiffuserComponent.ExtraConditioningInfo( - tokens_count_including_eos_bos=get_max_token_count( - tokenizer, conjunction), - cross_attention_control_args=options.get( - "cross_attention_control", None),) + tokens_count_including_eos_bos=get_max_token_count(tokenizer, conjunction), + cross_attention_control_args=options.get("cross_attention_control", None), + ) c = c.detach().to("cpu") @@ -168,24 +163,26 @@ class CompelInvocation(BaseInvocation): ), ) + class SDXLPromptInvocationBase: def run_clip_raw(self, context, clip_field, prompt, get_pooled): tokenizer_info = context.services.model_manager.get_model( - **clip_field.tokenizer.dict(), context=context, + **clip_field.tokenizer.dict(), + context=context, ) text_encoder_info = context.services.model_manager.get_model( - **clip_field.text_encoder.dict(), context=context, + **clip_field.text_encoder.dict(), + context=context, ) def _lora_loader(): for lora in clip_field.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context) + lora_info = context.services.model_manager.get_model(**lora.dict(exclude={"weight"}), context=context) yield (lora_info.context.model, lora.weight) del lora_info return - #loras = [(context.services.model_manager.get_model(**lora.dict(exclude={"weight"})).context.model, lora.weight) for lora in self.clip.loras] + # loras = [(context.services.model_manager.get_model(**lora.dict(exclude={"weight"})).context.model, lora.weight) for lora in self.clip.loras] ti_list = [] for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", prompt): @@ -201,15 +198,18 @@ class SDXLPromptInvocationBase: ) except ModelNotFoundException: # print(e) - #import traceback - #print(traceback.format_exc()) - print(f"Warn: trigger: \"{trigger}\" not found") - - with ModelPatcher.apply_lora_text_encoder(text_encoder_info.context.model, _lora_loader()),\ - ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as (tokenizer, ti_manager),\ - ModelPatcher.apply_clip_skip(text_encoder_info.context.model, clip_field.skipped_layers),\ - text_encoder_info as text_encoder: + # import traceback + # print(traceback.format_exc()) + print(f'Warn: trigger: "{trigger}" not found') + with ModelPatcher.apply_lora_text_encoder( + text_encoder_info.context.model, _lora_loader() + ), ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as ( + tokenizer, + ti_manager, + ), ModelPatcher.apply_clip_skip( + text_encoder_info.context.model, clip_field.skipped_layers + ), text_encoder_info as text_encoder: text_inputs = tokenizer( prompt, padding="max_length", @@ -241,21 +241,22 @@ class SDXLPromptInvocationBase: def run_clip_compel(self, context, clip_field, prompt, get_pooled): tokenizer_info = context.services.model_manager.get_model( - **clip_field.tokenizer.dict(), context=context, + **clip_field.tokenizer.dict(), + context=context, ) text_encoder_info = context.services.model_manager.get_model( - **clip_field.text_encoder.dict(), context=context, + **clip_field.text_encoder.dict(), + context=context, ) def _lora_loader(): for lora in clip_field.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context) + lora_info = context.services.model_manager.get_model(**lora.dict(exclude={"weight"}), context=context) yield (lora_info.context.model, lora.weight) del lora_info return - #loras = [(context.services.model_manager.get_model(**lora.dict(exclude={"weight"})).context.model, lora.weight) for lora in self.clip.loras] + # loras = [(context.services.model_manager.get_model(**lora.dict(exclude={"weight"})).context.model, lora.weight) for lora in self.clip.loras] ti_list = [] for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", prompt): @@ -271,22 +272,25 @@ class SDXLPromptInvocationBase: ) except ModelNotFoundException: # print(e) - #import traceback - #print(traceback.format_exc()) - print(f"Warn: trigger: \"{trigger}\" not found") - - with ModelPatcher.apply_lora_text_encoder(text_encoder_info.context.model, _lora_loader()),\ - ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as (tokenizer, ti_manager),\ - ModelPatcher.apply_clip_skip(text_encoder_info.context.model, clip_field.skipped_layers),\ - text_encoder_info as text_encoder: + # import traceback + # print(traceback.format_exc()) + print(f'Warn: trigger: "{trigger}" not found') + with ModelPatcher.apply_lora_text_encoder( + text_encoder_info.context.model, _lora_loader() + ), ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as ( + tokenizer, + ti_manager, + ), ModelPatcher.apply_clip_skip( + text_encoder_info.context.model, clip_field.skipped_layers + ), text_encoder_info as text_encoder: compel = Compel( tokenizer=tokenizer, text_encoder=text_encoder, textual_inversion_manager=ti_manager, dtype_for_device_getter=torch_dtype, truncate_long_prompts=True, # TODO: - returned_embeddings_type=ReturnedEmbeddingsType.PENULTIMATE_HIDDEN_STATES_NON_NORMALIZED, # TODO: clip skip + returned_embeddings_type=ReturnedEmbeddingsType.PENULTIMATE_HIDDEN_STATES_NON_NORMALIZED, # TODO: clip skip requires_pooled=True, ) @@ -320,6 +324,7 @@ class SDXLPromptInvocationBase: return c, c_pooled, ec + class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): """Parse prompt using compel package to conditioning.""" @@ -339,13 +344,7 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): # Schema customisation class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "SDXL Prompt (Compel)", - "tags": ["prompt", "compel"], - "type_hints": { - "model": "model" - } - }, + "ui": {"title": "SDXL Prompt (Compel)", "tags": ["prompt", "compel"], "type_hints": {"model": "model"}}, } @torch.no_grad() @@ -360,9 +359,7 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): crop_coords = (self.crop_top, self.crop_left) target_size = (self.target_height, self.target_width) - add_time_ids = torch.tensor([ - original_size + crop_coords + target_size - ]) + add_time_ids = torch.tensor([original_size + crop_coords + target_size]) conditioning_data = ConditioningFieldData( conditionings=[ @@ -384,12 +381,13 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): ), ) + class SDXLRefinerCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): """Parse prompt using compel package to conditioning.""" type: Literal["sdxl_refiner_compel_prompt"] = "sdxl_refiner_compel_prompt" - style: str = Field(default="", description="Style prompt") # TODO: ? + style: str = Field(default="", description="Style prompt") # TODO: ? original_width: int = Field(1024, description="") original_height: int = Field(1024, description="") crop_top: int = Field(0, description="") @@ -403,9 +401,7 @@ class SDXLRefinerCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase "ui": { "title": "SDXL Refiner Prompt (Compel)", "tags": ["prompt", "compel"], - "type_hints": { - "model": "model" - } + "type_hints": {"model": "model"}, }, } @@ -416,9 +412,7 @@ class SDXLRefinerCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) - add_time_ids = torch.tensor([ - original_size + crop_coords + (self.aesthetic_score,) - ]) + add_time_ids = torch.tensor([original_size + crop_coords + (self.aesthetic_score,)]) conditioning_data = ConditioningFieldData( conditionings=[ @@ -426,7 +420,7 @@ class SDXLRefinerCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase embeds=c2, pooled_embeds=c2_pooled, add_time_ids=add_time_ids, - extra_conditioning=ec2, # or None + extra_conditioning=ec2, # or None ) ] ) @@ -440,6 +434,7 @@ class SDXLRefinerCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase ), ) + class SDXLRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): """Pass unmodified prompt to conditioning without compel processing.""" @@ -459,13 +454,7 @@ class SDXLRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): # Schema customisation class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "SDXL Prompt (Raw)", - "tags": ["prompt", "compel"], - "type_hints": { - "model": "model" - } - }, + "ui": {"title": "SDXL Prompt (Raw)", "tags": ["prompt", "compel"], "type_hints": {"model": "model"}}, } @torch.no_grad() @@ -480,9 +469,7 @@ class SDXLRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): crop_coords = (self.crop_top, self.crop_left) target_size = (self.target_height, self.target_width) - add_time_ids = torch.tensor([ - original_size + crop_coords + target_size - ]) + add_time_ids = torch.tensor([original_size + crop_coords + target_size]) conditioning_data = ConditioningFieldData( conditionings=[ @@ -504,12 +491,13 @@ class SDXLRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): ), ) + class SDXLRefinerRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): """Parse prompt using compel package to conditioning.""" type: Literal["sdxl_refiner_raw_prompt"] = "sdxl_refiner_raw_prompt" - style: str = Field(default="", description="Style prompt") # TODO: ? + style: str = Field(default="", description="Style prompt") # TODO: ? original_width: int = Field(1024, description="") original_height: int = Field(1024, description="") crop_top: int = Field(0, description="") @@ -523,9 +511,7 @@ class SDXLRefinerRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): "ui": { "title": "SDXL Refiner Prompt (Raw)", "tags": ["prompt", "compel"], - "type_hints": { - "model": "model" - } + "type_hints": {"model": "model"}, }, } @@ -536,9 +522,7 @@ class SDXLRefinerRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) - add_time_ids = torch.tensor([ - original_size + crop_coords + (self.aesthetic_score,) - ]) + add_time_ids = torch.tensor([original_size + crop_coords + (self.aesthetic_score,)]) conditioning_data = ConditioningFieldData( conditionings=[ @@ -546,7 +530,7 @@ class SDXLRefinerRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): embeds=c2, pooled_embeds=c2_pooled, add_time_ids=add_time_ids, - extra_conditioning=ec2, # or None + extra_conditioning=ec2, # or None ) ] ) @@ -563,11 +547,14 @@ class SDXLRefinerRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): class ClipSkipInvocationOutput(BaseInvocationOutput): """Clip skip node output""" + type: Literal["clip_skip_output"] = "clip_skip_output" clip: ClipField = Field(None, description="Clip with skipped layers") + class ClipSkipInvocation(BaseInvocation): """Skip layers in clip text_encoder model.""" + type: Literal["clip_skip"] = "clip_skip" clip: ClipField = Field(None, description="Clip to use") @@ -575,10 +562,7 @@ class ClipSkipInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "CLIP Skip", - "tags": ["clip", "skip"] - }, + "ui": {"title": "CLIP Skip", "tags": ["clip", "skip"]}, } def invoke(self, context: InvocationContext) -> ClipSkipInvocationOutput: @@ -589,46 +573,26 @@ class ClipSkipInvocation(BaseInvocation): def get_max_token_count( - tokenizer, prompt: Union[FlattenedPrompt, Blend, Conjunction], - truncate_if_too_long=False) -> int: + tokenizer, prompt: Union[FlattenedPrompt, Blend, Conjunction], truncate_if_too_long=False +) -> int: if type(prompt) is Blend: blend: Blend = prompt - return max( - [ - get_max_token_count(tokenizer, p, truncate_if_too_long) - for p in blend.prompts - ] - ) + return max([get_max_token_count(tokenizer, p, truncate_if_too_long) for p in blend.prompts]) elif type(prompt) is Conjunction: conjunction: Conjunction = prompt - return sum( - [ - get_max_token_count(tokenizer, p, truncate_if_too_long) - for p in conjunction.prompts - ] - ) + return sum([get_max_token_count(tokenizer, p, truncate_if_too_long) for p in conjunction.prompts]) else: - return len( - get_tokens_for_prompt_object( - tokenizer, prompt, truncate_if_too_long)) + return len(get_tokens_for_prompt_object(tokenizer, prompt, truncate_if_too_long)) -def get_tokens_for_prompt_object( - tokenizer, parsed_prompt: FlattenedPrompt, truncate_if_too_long=True -) -> List[str]: +def get_tokens_for_prompt_object(tokenizer, parsed_prompt: FlattenedPrompt, truncate_if_too_long=True) -> List[str]: if type(parsed_prompt) is Blend: - raise ValueError( - "Blend is not supported here - you need to get tokens for each of its .children" - ) + raise ValueError("Blend is not supported here - you need to get tokens for each of its .children") text_fragments = [ x.text if type(x) is Fragment - else ( - " ".join([f.text for f in x.original]) - if type(x) is CrossAttentionControlSubstitute - else str(x) - ) + else (" ".join([f.text for f in x.original]) if type(x) is CrossAttentionControlSubstitute else str(x)) for x in parsed_prompt.children ] text = " ".join(text_fragments) @@ -639,25 +603,17 @@ def get_tokens_for_prompt_object( return tokens -def log_tokenization_for_conjunction( - c: Conjunction, tokenizer, display_label_prefix=None -): +def log_tokenization_for_conjunction(c: Conjunction, tokenizer, display_label_prefix=None): display_label_prefix = display_label_prefix or "" for i, p in enumerate(c.prompts): if len(c.prompts) > 1: this_display_label_prefix = f"{display_label_prefix}(conjunction part {i + 1}, weight={c.weights[i]})" else: this_display_label_prefix = display_label_prefix - log_tokenization_for_prompt_object( - p, - tokenizer, - display_label_prefix=this_display_label_prefix - ) + log_tokenization_for_prompt_object(p, tokenizer, display_label_prefix=this_display_label_prefix) -def log_tokenization_for_prompt_object( - p: Union[Blend, FlattenedPrompt], tokenizer, display_label_prefix=None -): +def log_tokenization_for_prompt_object(p: Union[Blend, FlattenedPrompt], tokenizer, display_label_prefix=None): display_label_prefix = display_label_prefix or "" if type(p) is Blend: blend: Blend = p @@ -694,13 +650,10 @@ def log_tokenization_for_prompt_object( ) else: text = " ".join([x.text for x in flattened_prompt.children]) - log_tokenization_for_text( - text, tokenizer, display_label=display_label_prefix - ) + log_tokenization_for_text(text, tokenizer, display_label=display_label_prefix) -def log_tokenization_for_text( - text, tokenizer, display_label=None, truncate_if_too_long=False): +def log_tokenization_for_text(text, tokenizer, display_label=None, truncate_if_too_long=False): """shows how the prompt is tokenized # usually tokens have '' to indicate end-of-word, # but for readability it has been replaced with ' ' diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index 2087594b7b..d2b2d44526 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -6,20 +6,29 @@ from typing import Dict, List, Literal, Optional, Union import cv2 import numpy as np -from controlnet_aux import (CannyDetector, ContentShuffleDetector, HEDdetector, - LeresDetector, LineartAnimeDetector, - LineartDetector, MediapipeFaceDetector, - MidasDetector, MLSDdetector, NormalBaeDetector, - OpenposeDetector, PidiNetDetector, SamDetector, - ZoeDetector) +from controlnet_aux import ( + CannyDetector, + ContentShuffleDetector, + HEDdetector, + LeresDetector, + LineartAnimeDetector, + LineartDetector, + MediapipeFaceDetector, + MidasDetector, + MLSDdetector, + NormalBaeDetector, + OpenposeDetector, + PidiNetDetector, + SamDetector, + ZoeDetector, +) from controlnet_aux.util import HWC3, ade_palette from PIL import Image from pydantic import BaseModel, Field, validator from ...backend.model_management import BaseModelType, ModelType from ..models.image import ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import (BaseInvocation, BaseInvocationOutput, - InvocationConfig, InvocationContext) +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext from ..models.image import ImageOutput, PILInvocationConfig CONTROLNET_DEFAULT_MODELS = [ @@ -34,7 +43,6 @@ CONTROLNET_DEFAULT_MODELS = [ "lllyasviel/sd-controlnet-scribble", "lllyasviel/sd-controlnet-normal", "lllyasviel/sd-controlnet-mlsd", - ############################################# # lllyasviel sd v1.5, ControlNet v1.1 models ############################################# @@ -56,7 +64,6 @@ CONTROLNET_DEFAULT_MODELS = [ "lllyasviel/control_v11e_sd15_shuffle", "lllyasviel/control_v11e_sd15_ip2p", "lllyasviel/control_v11f1e_sd15_tile", - ################################################# # thibaud sd v2.1 models (ControlNet v1.0? or v1.1? ################################################## @@ -71,7 +78,6 @@ CONTROLNET_DEFAULT_MODELS = [ "thibaud/controlnet-sd21-lineart-diffusers", "thibaud/controlnet-sd21-normalbae-diffusers", "thibaud/controlnet-sd21-ade20k-diffusers", - ############################################## # ControlNetMediaPipeface, ControlNet v1.1 ############################################## @@ -83,10 +89,17 @@ CONTROLNET_DEFAULT_MODELS = [ ] CONTROLNET_NAME_VALUES = Literal[tuple(CONTROLNET_DEFAULT_MODELS)] -CONTROLNET_MODE_VALUES = Literal[tuple( - ["balanced", "more_prompt", "more_control", "unbalanced"])] -CONTROLNET_RESIZE_VALUES = Literal[tuple( - ["just_resize", "crop_resize", "fill_resize", "just_resize_simple",])] +CONTROLNET_MODE_VALUES = Literal[tuple(["balanced", "more_prompt", "more_control", "unbalanced"])] +CONTROLNET_RESIZE_VALUES = Literal[ + tuple( + [ + "just_resize", + "crop_resize", + "fill_resize", + "just_resize_simple", + ] + ) +] class ControlNetModelField(BaseModel): @@ -98,21 +111,17 @@ class ControlNetModelField(BaseModel): class ControlField(BaseModel): image: ImageField = Field(default=None, description="The control image") - control_model: Optional[ControlNetModelField] = Field( - default=None, description="The ControlNet model to use") + control_model: Optional[ControlNetModelField] = Field(default=None, description="The ControlNet model to use") # control_weight: Optional[float] = Field(default=1, description="weight given to controlnet") - control_weight: Union[float, List[float]] = Field( - default=1, description="The weight given to the ControlNet") + control_weight: Union[float, List[float]] = Field(default=1, description="The weight given to the ControlNet") begin_step_percent: float = Field( - default=0, ge=0, le=1, - description="When the ControlNet is first applied (% of total steps)") + default=0, ge=0, le=1, description="When the ControlNet is first applied (% of total steps)" + ) end_step_percent: float = Field( - default=1, ge=0, le=1, - description="When the ControlNet is last applied (% of total steps)") - control_mode: CONTROLNET_MODE_VALUES = Field( - default="balanced", description="The control mode to use") - resize_mode: CONTROLNET_RESIZE_VALUES = Field( - default="just_resize", description="The resize mode to use") + default=1, ge=0, le=1, description="When the ControlNet is last applied (% of total steps)" + ) + control_mode: CONTROLNET_MODE_VALUES = Field(default="balanced", description="The control mode to use") + resize_mode: CONTROLNET_RESIZE_VALUES = Field(default="just_resize", description="The resize mode to use") @validator("control_weight") def validate_control_weight(cls, v): @@ -120,11 +129,10 @@ class ControlField(BaseModel): if isinstance(v, list): for i in v: if i < -1 or i > 2: - raise ValueError( - 'Control weights must be within -1 to 2 range') + raise ValueError("Control weights must be within -1 to 2 range") else: if v < -1 or v > 2: - raise ValueError('Control weights must be within -1 to 2 range') + raise ValueError("Control weights must be within -1 to 2 range") return v class Config: @@ -136,12 +144,13 @@ class ControlField(BaseModel): "control_model": "controlnet_model", # "control_weight": "number", } - } + }, } class ControlOutput(BaseInvocationOutput): """node output for ControlNet info""" + # fmt: off type: Literal["control_output"] = "control_output" control: ControlField = Field(default=None, description="The control info") @@ -150,6 +159,7 @@ class ControlOutput(BaseInvocationOutput): class ControlNetInvocation(BaseInvocation): """Collects ControlNet info to pass to other nodes""" + # fmt: off type: Literal["controlnet"] = "controlnet" # Inputs @@ -176,7 +186,7 @@ class ControlNetInvocation(BaseInvocation): # "cfg_scale": "float", "cfg_scale": "number", "control_weight": "float", - } + }, }, } @@ -205,10 +215,7 @@ class ImageProcessorInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Image Processor", - "tags": ["image", "processor"] - }, + "ui": {"title": "Image Processor", "tags": ["image", "processor"]}, } def run_processor(self, image): @@ -233,7 +240,7 @@ class ImageProcessorInvocation(BaseInvocation, PILInvocationConfig): image_category=ImageCategory.CONTROL, session_id=context.graph_execution_state_id, node_id=self.id, - is_intermediate=self.is_intermediate + is_intermediate=self.is_intermediate, ) """Builds an ImageOutput and its ImageField""" @@ -248,9 +255,9 @@ class ImageProcessorInvocation(BaseInvocation, PILInvocationConfig): ) -class CannyImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class CannyImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Canny edge detection for ControlNet""" + # fmt: off type: Literal["canny_image_processor"] = "canny_image_processor" # Input @@ -260,22 +267,18 @@ class CannyImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Canny Processor", - "tags": ["controlnet", "canny", "image", "processor"] - }, + "ui": {"title": "Canny Processor", "tags": ["controlnet", "canny", "image", "processor"]}, } def run_processor(self, image): canny_processor = CannyDetector() - processed_image = canny_processor( - image, self.low_threshold, self.high_threshold) + processed_image = canny_processor(image, self.low_threshold, self.high_threshold) return processed_image -class HedImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class HedImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies HED edge detection to image""" + # fmt: off type: Literal["hed_image_processor"] = "hed_image_processor" # Inputs @@ -288,27 +291,25 @@ class HedImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Softedge(HED) Processor", - "tags": ["controlnet", "softedge", "hed", "image", "processor"] - }, + "ui": {"title": "Softedge(HED) Processor", "tags": ["controlnet", "softedge", "hed", "image", "processor"]}, } def run_processor(self, image): hed_processor = HEDdetector.from_pretrained("lllyasviel/Annotators") - processed_image = hed_processor(image, - detect_resolution=self.detect_resolution, - image_resolution=self.image_resolution, - # safe not supported in controlnet_aux v0.0.3 - # safe=self.safe, - scribble=self.scribble, - ) + processed_image = hed_processor( + image, + detect_resolution=self.detect_resolution, + image_resolution=self.image_resolution, + # safe not supported in controlnet_aux v0.0.3 + # safe=self.safe, + scribble=self.scribble, + ) return processed_image -class LineartImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class LineartImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies line art processing to image""" + # fmt: off type: Literal["lineart_image_processor"] = "lineart_image_processor" # Inputs @@ -319,24 +320,20 @@ class LineartImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Lineart Processor", - "tags": ["controlnet", "lineart", "image", "processor"] - }, + "ui": {"title": "Lineart Processor", "tags": ["controlnet", "lineart", "image", "processor"]}, } def run_processor(self, image): - lineart_processor = LineartDetector.from_pretrained( - "lllyasviel/Annotators") + lineart_processor = LineartDetector.from_pretrained("lllyasviel/Annotators") processed_image = lineart_processor( - image, detect_resolution=self.detect_resolution, - image_resolution=self.image_resolution, coarse=self.coarse) + image, detect_resolution=self.detect_resolution, image_resolution=self.image_resolution, coarse=self.coarse + ) return processed_image -class LineartAnimeImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class LineartAnimeImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies line art anime processing to image""" + # fmt: off type: Literal["lineart_anime_image_processor"] = "lineart_anime_image_processor" # Inputs @@ -348,23 +345,23 @@ class LineartAnimeImageProcessorInvocation( schema_extra = { "ui": { "title": "Lineart Anime Processor", - "tags": ["controlnet", "lineart", "anime", "image", "processor"] + "tags": ["controlnet", "lineart", "anime", "image", "processor"], }, } def run_processor(self, image): - processor = LineartAnimeDetector.from_pretrained( - "lllyasviel/Annotators") - processed_image = processor(image, - detect_resolution=self.detect_resolution, - image_resolution=self.image_resolution, - ) + processor = LineartAnimeDetector.from_pretrained("lllyasviel/Annotators") + processed_image = processor( + image, + detect_resolution=self.detect_resolution, + image_resolution=self.image_resolution, + ) return processed_image -class OpenposeImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class OpenposeImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies Openpose processing to image""" + # fmt: off type: Literal["openpose_image_processor"] = "openpose_image_processor" # Inputs @@ -375,25 +372,23 @@ class OpenposeImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Openpose Processor", - "tags": ["controlnet", "openpose", "image", "processor"] - }, + "ui": {"title": "Openpose Processor", "tags": ["controlnet", "openpose", "image", "processor"]}, } def run_processor(self, image): - openpose_processor = OpenposeDetector.from_pretrained( - "lllyasviel/Annotators") + openpose_processor = OpenposeDetector.from_pretrained("lllyasviel/Annotators") processed_image = openpose_processor( - image, detect_resolution=self.detect_resolution, + image, + detect_resolution=self.detect_resolution, image_resolution=self.image_resolution, - hand_and_face=self.hand_and_face,) + hand_and_face=self.hand_and_face, + ) return processed_image -class MidasDepthImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class MidasDepthImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies Midas depth processing to image""" + # fmt: off type: Literal["midas_depth_image_processor"] = "midas_depth_image_processor" # Inputs @@ -405,26 +400,24 @@ class MidasDepthImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Midas (Depth) Processor", - "tags": ["controlnet", "midas", "depth", "image", "processor"] - }, + "ui": {"title": "Midas (Depth) Processor", "tags": ["controlnet", "midas", "depth", "image", "processor"]}, } def run_processor(self, image): midas_processor = MidasDetector.from_pretrained("lllyasviel/Annotators") - processed_image = midas_processor(image, - a=np.pi * self.a_mult, - bg_th=self.bg_th, - # dept_and_normal not supported in controlnet_aux v0.0.3 - # depth_and_normal=self.depth_and_normal, - ) + processed_image = midas_processor( + image, + a=np.pi * self.a_mult, + bg_th=self.bg_th, + # dept_and_normal not supported in controlnet_aux v0.0.3 + # depth_and_normal=self.depth_and_normal, + ) return processed_image -class NormalbaeImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class NormalbaeImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies NormalBae processing to image""" + # fmt: off type: Literal["normalbae_image_processor"] = "normalbae_image_processor" # Inputs @@ -434,24 +427,20 @@ class NormalbaeImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Normal BAE Processor", - "tags": ["controlnet", "normal", "bae", "image", "processor"] - }, + "ui": {"title": "Normal BAE Processor", "tags": ["controlnet", "normal", "bae", "image", "processor"]}, } def run_processor(self, image): - normalbae_processor = NormalBaeDetector.from_pretrained( - "lllyasviel/Annotators") + normalbae_processor = NormalBaeDetector.from_pretrained("lllyasviel/Annotators") processed_image = normalbae_processor( - image, detect_resolution=self.detect_resolution, - image_resolution=self.image_resolution) + image, detect_resolution=self.detect_resolution, image_resolution=self.image_resolution + ) return processed_image -class MlsdImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class MlsdImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies MLSD processing to image""" + # fmt: off type: Literal["mlsd_image_processor"] = "mlsd_image_processor" # Inputs @@ -463,24 +452,24 @@ class MlsdImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "MLSD Processor", - "tags": ["controlnet", "mlsd", "image", "processor"] - }, + "ui": {"title": "MLSD Processor", "tags": ["controlnet", "mlsd", "image", "processor"]}, } def run_processor(self, image): mlsd_processor = MLSDdetector.from_pretrained("lllyasviel/Annotators") processed_image = mlsd_processor( - image, detect_resolution=self.detect_resolution, - image_resolution=self.image_resolution, thr_v=self.thr_v, - thr_d=self.thr_d) + image, + detect_resolution=self.detect_resolution, + image_resolution=self.image_resolution, + thr_v=self.thr_v, + thr_d=self.thr_d, + ) return processed_image -class PidiImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class PidiImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies PIDI processing to image""" + # fmt: off type: Literal["pidi_image_processor"] = "pidi_image_processor" # Inputs @@ -492,25 +481,24 @@ class PidiImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "PIDI Processor", - "tags": ["controlnet", "pidi", "image", "processor"] - }, + "ui": {"title": "PIDI Processor", "tags": ["controlnet", "pidi", "image", "processor"]}, } def run_processor(self, image): - pidi_processor = PidiNetDetector.from_pretrained( - "lllyasviel/Annotators") + pidi_processor = PidiNetDetector.from_pretrained("lllyasviel/Annotators") processed_image = pidi_processor( - image, detect_resolution=self.detect_resolution, - image_resolution=self.image_resolution, safe=self.safe, - scribble=self.scribble) + image, + detect_resolution=self.detect_resolution, + image_resolution=self.image_resolution, + safe=self.safe, + scribble=self.scribble, + ) return processed_image -class ContentShuffleImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class ContentShuffleImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies content shuffle processing to image""" + # fmt: off type: Literal["content_shuffle_image_processor"] = "content_shuffle_image_processor" # Inputs @@ -525,48 +513,45 @@ class ContentShuffleImageProcessorInvocation( schema_extra = { "ui": { "title": "Content Shuffle Processor", - "tags": ["controlnet", "contentshuffle", "image", "processor"] + "tags": ["controlnet", "contentshuffle", "image", "processor"], }, } def run_processor(self, image): content_shuffle_processor = ContentShuffleDetector() - processed_image = content_shuffle_processor(image, - detect_resolution=self.detect_resolution, - image_resolution=self.image_resolution, - h=self.h, - w=self.w, - f=self.f - ) + processed_image = content_shuffle_processor( + image, + detect_resolution=self.detect_resolution, + image_resolution=self.image_resolution, + h=self.h, + w=self.w, + f=self.f, + ) return processed_image # should work with controlnet_aux >= 0.0.4 and timm <= 0.6.13 -class ZoeDepthImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class ZoeDepthImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies Zoe depth processing to image""" + # fmt: off type: Literal["zoe_depth_image_processor"] = "zoe_depth_image_processor" # fmt: on class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Zoe (Depth) Processor", - "tags": ["controlnet", "zoe", "depth", "image", "processor"] - }, + "ui": {"title": "Zoe (Depth) Processor", "tags": ["controlnet", "zoe", "depth", "image", "processor"]}, } def run_processor(self, image): - zoe_depth_processor = ZoeDetector.from_pretrained( - "lllyasviel/Annotators") + zoe_depth_processor = ZoeDetector.from_pretrained("lllyasviel/Annotators") processed_image = zoe_depth_processor(image) return processed_image -class MediapipeFaceProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class MediapipeFaceProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies mediapipe face processing to image""" + # fmt: off type: Literal["mediapipe_face_processor"] = "mediapipe_face_processor" # Inputs @@ -576,26 +561,22 @@ class MediapipeFaceProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Mediapipe Processor", - "tags": ["controlnet", "mediapipe", "image", "processor"] - }, + "ui": {"title": "Mediapipe Processor", "tags": ["controlnet", "mediapipe", "image", "processor"]}, } def run_processor(self, image): # MediaPipeFaceDetector throws an error if image has alpha channel # so convert to RGB if needed - if image.mode == 'RGBA': - image = image.convert('RGB') + if image.mode == "RGBA": + image = image.convert("RGB") mediapipe_face_processor = MediapipeFaceDetector() - processed_image = mediapipe_face_processor( - image, max_faces=self.max_faces, min_confidence=self.min_confidence) + processed_image = mediapipe_face_processor(image, max_faces=self.max_faces, min_confidence=self.min_confidence) return processed_image -class LeresImageProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class LeresImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies leres processing to image""" + # fmt: off type: Literal["leres_image_processor"] = "leres_image_processor" # Inputs @@ -608,24 +589,23 @@ class LeresImageProcessorInvocation( class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Leres (Depth) Processor", - "tags": ["controlnet", "leres", "depth", "image", "processor"] - }, + "ui": {"title": "Leres (Depth) Processor", "tags": ["controlnet", "leres", "depth", "image", "processor"]}, } def run_processor(self, image): leres_processor = LeresDetector.from_pretrained("lllyasviel/Annotators") processed_image = leres_processor( - image, thr_a=self.thr_a, thr_b=self.thr_b, boost=self.boost, + image, + thr_a=self.thr_a, + thr_b=self.thr_b, + boost=self.boost, detect_resolution=self.detect_resolution, - image_resolution=self.image_resolution) + image_resolution=self.image_resolution, + ) return processed_image -class TileResamplerProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): - +class TileResamplerProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): # fmt: off type: Literal["tile_image_processor"] = "tile_image_processor" # Inputs @@ -637,16 +617,17 @@ class TileResamplerProcessorInvocation( schema_extra = { "ui": { "title": "Tile Resample Processor", - "tags": ["controlnet", "tile", "resample", "image", "processor"] + "tags": ["controlnet", "tile", "resample", "image", "processor"], }, } # tile_resample copied from sd-webui-controlnet/scripts/processor.py - def tile_resample(self, - np_img: np.ndarray, - res=512, # never used? - down_sampling_rate=1.0, - ): + def tile_resample( + self, + np_img: np.ndarray, + res=512, # never used? + down_sampling_rate=1.0, + ): np_img = HWC3(np_img) if down_sampling_rate < 1.1: return np_img @@ -658,36 +639,41 @@ class TileResamplerProcessorInvocation( def run_processor(self, img): np_img = np.array(img, dtype=np.uint8) - processed_np_image = self.tile_resample(np_img, - # res=self.tile_size, - down_sampling_rate=self.down_sampling_rate - ) + processed_np_image = self.tile_resample( + np_img, + # res=self.tile_size, + down_sampling_rate=self.down_sampling_rate, + ) processed_image = Image.fromarray(processed_np_image) return processed_image -class SegmentAnythingProcessorInvocation( - ImageProcessorInvocation, PILInvocationConfig): +class SegmentAnythingProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): """Applies segment anything processing to image""" + # fmt: off type: Literal["segment_anything_processor"] = "segment_anything_processor" # fmt: on class Config(InvocationConfig): - schema_extra = {"ui": {"title": "Segment Anything Processor", "tags": [ - "controlnet", "segment", "anything", "sam", "image", "processor"]}, } + schema_extra = { + "ui": { + "title": "Segment Anything Processor", + "tags": ["controlnet", "segment", "anything", "sam", "image", "processor"], + }, + } def run_processor(self, image): # segment_anything_processor = SamDetector.from_pretrained("ybelkada/segment-anything", subfolder="checkpoints") segment_anything_processor = SamDetectorReproducibleColors.from_pretrained( - "ybelkada/segment-anything", subfolder="checkpoints") + "ybelkada/segment-anything", subfolder="checkpoints" + ) np_img = np.array(image, dtype=np.uint8) processed_image = segment_anything_processor(np_img) return processed_image class SamDetectorReproducibleColors(SamDetector): - # overriding SamDetector.show_anns() method to use reproducible colors for segmentation image # base class show_anns() method randomizes colors, # which seems to also lead to non-reproducible image generation @@ -695,19 +681,15 @@ class SamDetectorReproducibleColors(SamDetector): def show_anns(self, anns: List[Dict]): if len(anns) == 0: return - sorted_anns = sorted(anns, key=(lambda x: x['area']), reverse=True) - h, w = anns[0]['segmentation'].shape - final_img = Image.fromarray( - np.zeros((h, w, 3), dtype=np.uint8), mode="RGB") + sorted_anns = sorted(anns, key=(lambda x: x["area"]), reverse=True) + h, w = anns[0]["segmentation"].shape + final_img = Image.fromarray(np.zeros((h, w, 3), dtype=np.uint8), mode="RGB") palette = ade_palette() for i, ann in enumerate(sorted_anns): - m = ann['segmentation'] + m = ann["segmentation"] img = np.empty((m.shape[0], m.shape[1], 3), dtype=np.uint8) # doing modulo just in case number of annotated regions exceeds number of colors in palette ann_color = palette[i % len(palette)] img[:, :] = ann_color - final_img.paste( - Image.fromarray(img, mode="RGB"), - (0, 0), - Image.fromarray(np.uint8(m * 255))) + final_img.paste(Image.fromarray(img, mode="RGB"), (0, 0), Image.fromarray(np.uint8(m * 255))) return np.array(final_img, dtype=np.uint8) diff --git a/invokeai/app/invocations/cv.py b/invokeai/app/invocations/cv.py index cd7eaebeec..bd3a4adbe4 100644 --- a/invokeai/app/invocations/cv.py +++ b/invokeai/app/invocations/cv.py @@ -37,10 +37,7 @@ class CvInpaintInvocation(BaseInvocation, CvInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "OpenCV Inpaint", - "tags": ["opencv", "inpaint"] - }, + "ui": {"title": "OpenCV Inpaint", "tags": ["opencv", "inpaint"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: diff --git a/invokeai/app/invocations/generate.py b/invokeai/app/invocations/generate.py index 910a7edf8b..d48c9f922e 100644 --- a/invokeai/app/invocations/generate.py +++ b/invokeai/app/invocations/generate.py @@ -6,8 +6,7 @@ from typing import Literal, Optional, get_args import torch from pydantic import Field -from invokeai.app.models.image import (ColorField, ImageCategory, ImageField, - ResourceOrigin) +from invokeai.app.models.image import ColorField, ImageCategory, ImageField, ResourceOrigin from invokeai.app.util.misc import SEED_MAX, get_random_seed from invokeai.backend.generator.inpaint import infill_methods @@ -25,13 +24,12 @@ from contextlib import contextmanager, ExitStack, ContextDecorator SAMPLER_NAME_VALUES = Literal[tuple(InvokeAIGenerator.schedulers())] INFILL_METHODS = Literal[tuple(infill_methods())] -DEFAULT_INFILL_METHOD = ( - "patchmatch" if "patchmatch" in get_args(INFILL_METHODS) else "tile" -) +DEFAULT_INFILL_METHOD = "patchmatch" if "patchmatch" in get_args(INFILL_METHODS) else "tile" from .latent import get_scheduler + class OldModelContext(ContextDecorator): model: StableDiffusionGeneratorPipeline @@ -44,6 +42,7 @@ class OldModelContext(ContextDecorator): def __exit__(self, *exc): return False + class OldModelInfo: name: str hash: str @@ -64,20 +63,34 @@ class InpaintInvocation(BaseInvocation): positive_conditioning: Optional[ConditioningField] = Field(description="Positive conditioning for generation") negative_conditioning: Optional[ConditioningField] = Field(description="Negative conditioning for generation") - seed: int = Field(ge=0, le=SEED_MAX, description="The seed to use (omit for random)", default_factory=get_random_seed) - steps: int = Field(default=30, gt=0, description="The number of steps to use to generate the image") - width: int = Field(default=512, multiple_of=8, gt=0, description="The width of the resulting image", ) - height: int = Field(default=512, multiple_of=8, gt=0, description="The height of the resulting image", ) - cfg_scale: float = Field(default=7.5, ge=1, description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt", ) - scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use" ) + seed: int = Field( + ge=0, le=SEED_MAX, description="The seed to use (omit for random)", default_factory=get_random_seed + ) + steps: int = Field(default=30, gt=0, description="The number of steps to use to generate the image") + width: int = Field( + default=512, + multiple_of=8, + gt=0, + description="The width of the resulting image", + ) + height: int = Field( + default=512, + multiple_of=8, + gt=0, + description="The height of the resulting image", + ) + cfg_scale: float = Field( + default=7.5, + ge=1, + description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt", + ) + scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use") unet: UNetField = Field(default=None, description="UNet model") vae: VaeField = Field(default=None, description="Vae model") # Inputs image: Optional[ImageField] = Field(description="The input image") - strength: float = Field( - default=0.75, gt=0, le=1, description="The strength of the original image" - ) + strength: float = Field(default=0.75, gt=0, le=1, description="The strength of the original image") fit: bool = Field( default=True, description="Whether or not the result should be fit to the aspect ratio of the input image", @@ -86,18 +99,10 @@ class InpaintInvocation(BaseInvocation): # Inputs mask: Optional[ImageField] = Field(description="The mask") seam_size: int = Field(default=96, ge=1, description="The seam inpaint size (px)") - seam_blur: int = Field( - default=16, ge=0, description="The seam inpaint blur radius (px)" - ) - seam_strength: float = Field( - default=0.75, gt=0, le=1, description="The seam inpaint strength" - ) - seam_steps: int = Field( - default=30, ge=1, description="The number of steps to use for seam inpaint" - ) - tile_size: int = Field( - default=32, ge=1, description="The tile infill method size (px)" - ) + seam_blur: int = Field(default=16, ge=0, description="The seam inpaint blur radius (px)") + seam_strength: float = Field(default=0.75, gt=0, le=1, description="The seam inpaint strength") + seam_steps: int = Field(default=30, ge=1, description="The number of steps to use for seam inpaint") + tile_size: int = Field(default=32, ge=1, description="The tile infill method size (px)") infill_method: INFILL_METHODS = Field( default=DEFAULT_INFILL_METHOD, description="The method used to infill empty regions (px)", @@ -128,10 +133,7 @@ class InpaintInvocation(BaseInvocation): # Schema customisation class Config(InvocationConfig): schema_extra = { - "ui": { - "tags": ["stable-diffusion", "image"], - "title": "Inpaint" - }, + "ui": {"tags": ["stable-diffusion", "image"], "title": "Inpaint"}, } def dispatch_progress( @@ -162,18 +164,23 @@ class InpaintInvocation(BaseInvocation): def _lora_loader(): for lora in self.unet.loras: lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context,) + **lora.dict(exclude={"weight"}), + context=context, + ) yield (lora_info.context.model, lora.weight) del lora_info return - - unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context,) - vae_info = context.services.model_manager.get_model(**self.vae.vae.dict(), context=context,) - with vae_info as vae,\ - ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ - unet_info as unet: + unet_info = context.services.model_manager.get_model( + **self.unet.unet.dict(), + context=context, + ) + vae_info = context.services.model_manager.get_model( + **self.vae.vae.dict(), + context=context, + ) + with vae_info as vae, ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()), unet_info as unet: device = context.services.model_manager.mgr.cache.execution_device dtype = context.services.model_manager.mgr.cache.precision @@ -197,21 +204,11 @@ class InpaintInvocation(BaseInvocation): ) def invoke(self, context: InvocationContext) -> ImageOutput: - image = ( - None - if self.image is None - else context.services.images.get_pil_image(self.image.image_name) - ) - mask = ( - None - if self.mask is None - else context.services.images.get_pil_image(self.mask.image_name) - ) + image = None if self.image is None else context.services.images.get_pil_image(self.image.image_name) + mask = None if self.mask is None else context.services.images.get_pil_image(self.mask.image_name) # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) + graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) source_node_id = graph_execution_state.prepared_source_mapping[self.id] scheduler = get_scheduler( diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 26ee9e391d..3f40ea3cbe 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -9,9 +9,13 @@ from pathlib import Path from typing import Union from invokeai.app.invocations.metadata import CoreMetadata from ..models.image import ( - ImageCategory, ImageField, ResourceOrigin, - PILInvocationConfig, ImageOutput, MaskOutput, -) + ImageCategory, + ImageField, + ResourceOrigin, + PILInvocationConfig, + ImageOutput, + MaskOutput, +) from .baseinvocation import ( BaseInvocation, InvocationContext, @@ -20,6 +24,7 @@ from .baseinvocation import ( from invokeai.backend.image_util.safety_checker import SafetyChecker from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark + class LoadImageInvocation(BaseInvocation): """Load an image and provide it as output.""" @@ -34,10 +39,7 @@ class LoadImageInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Load Image", - "tags": ["image", "load"] - }, + "ui": {"title": "Load Image", "tags": ["image", "load"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -56,16 +58,11 @@ class ShowImageInvocation(BaseInvocation): type: Literal["show_image"] = "show_image" # Inputs - image: Optional[ImageField] = Field( - default=None, description="The image to show" - ) + image: Optional[ImageField] = Field(default=None, description="The image to show") class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Show Image", - "tags": ["image", "show"] - }, + "ui": {"title": "Show Image", "tags": ["image", "show"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -98,18 +95,13 @@ class ImageCropInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Crop Image", - "tags": ["image", "crop"] - }, + "ui": {"title": "Crop Image", "tags": ["image", "crop"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - image_crop = Image.new( - mode="RGBA", size=(self.width, self.height), color=(0, 0, 0, 0) - ) + image_crop = Image.new(mode="RGBA", size=(self.width, self.height), color=(0, 0, 0, 0)) image_crop.paste(image, (-self.x, -self.y)) image_dto = context.services.images.create( @@ -144,21 +136,14 @@ class ImagePasteInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Paste Image", - "tags": ["image", "paste"] - }, + "ui": {"title": "Paste Image", "tags": ["image", "paste"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: base_image = context.services.images.get_pil_image(self.base_image.image_name) image = context.services.images.get_pil_image(self.image.image_name) mask = ( - None - if self.mask is None - else ImageOps.invert( - context.services.images.get_pil_image(self.mask.image_name) - ) + None if self.mask is None else ImageOps.invert(context.services.images.get_pil_image(self.mask.image_name)) ) # TODO: probably shouldn't invert mask here... should user be required to do it? @@ -167,9 +152,7 @@ class ImagePasteInvocation(BaseInvocation, PILInvocationConfig): max_x = max(base_image.width, image.width + self.x) max_y = max(base_image.height, image.height + self.y) - new_image = Image.new( - mode="RGBA", size=(max_x - min_x, max_y - min_y), color=(0, 0, 0, 0) - ) + new_image = Image.new(mode="RGBA", size=(max_x - min_x, max_y - min_y), color=(0, 0, 0, 0)) new_image.paste(base_image, (abs(min_x), abs(min_y))) new_image.paste(image, (max(0, self.x), max(0, self.y)), mask=mask) @@ -202,10 +185,7 @@ class MaskFromAlphaInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Mask From Alpha", - "tags": ["image", "mask", "alpha"] - }, + "ui": {"title": "Mask From Alpha", "tags": ["image", "mask", "alpha"]}, } def invoke(self, context: InvocationContext) -> MaskOutput: @@ -244,10 +224,7 @@ class ImageMultiplyInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Multiply Images", - "tags": ["image", "multiply"] - }, + "ui": {"title": "Multiply Images", "tags": ["image", "multiply"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -288,10 +265,7 @@ class ImageChannelInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Image Channel", - "tags": ["image", "channel"] - }, + "ui": {"title": "Image Channel", "tags": ["image", "channel"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -331,10 +305,7 @@ class ImageConvertInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Convert Image", - "tags": ["image", "convert"] - }, + "ui": {"title": "Convert Image", "tags": ["image", "convert"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -357,6 +328,7 @@ class ImageConvertInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) + class ImageBlurInvocation(BaseInvocation, PILInvocationConfig): """Blurs an image""" @@ -371,19 +343,14 @@ class ImageBlurInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Blur Image", - "tags": ["image", "blur"] - }, + "ui": {"title": "Blur Image", "tags": ["image", "blur"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) blur = ( - ImageFilter.GaussianBlur(self.radius) - if self.blur_type == "gaussian" - else ImageFilter.BoxBlur(self.radius) + ImageFilter.GaussianBlur(self.radius) if self.blur_type == "gaussian" else ImageFilter.BoxBlur(self.radius) ) blur_image = image.filter(blur) @@ -438,10 +405,7 @@ class ImageResizeInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Resize Image", - "tags": ["image", "resize"] - }, + "ui": {"title": "Resize Image", "tags": ["image", "resize"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -484,10 +448,7 @@ class ImageScaleInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Scale Image", - "tags": ["image", "scale"] - }, + "ui": {"title": "Scale Image", "tags": ["image", "scale"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -532,10 +493,7 @@ class ImageLerpInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Image Linear Interpolation", - "tags": ["image", "linear", "interpolation", "lerp"] - }, + "ui": {"title": "Image Linear Interpolation", "tags": ["image", "linear", "interpolation", "lerp"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -561,6 +519,7 @@ class ImageLerpInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) + class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): """Inverse linear interpolation of all pixels of an image""" @@ -577,7 +536,7 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): schema_extra = { "ui": { "title": "Image Inverse Linear Interpolation", - "tags": ["image", "linear", "interpolation", "inverse"] + "tags": ["image", "linear", "interpolation", "inverse"], }, } @@ -585,12 +544,7 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): image = context.services.images.get_pil_image(self.image.image_name) image_arr = numpy.asarray(image, dtype=numpy.float32) - image_arr = ( - numpy.minimum( - numpy.maximum(image_arr - self.min, 0) / float(self.max - self.min), 1 - ) - * 255 - ) + image_arr = numpy.minimum(numpy.maximum(image_arr - self.min, 0) / float(self.max - self.min), 1) * 255 ilerp_image = Image.fromarray(numpy.uint8(image_arr)) @@ -609,6 +563,7 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) + class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): """Add blur to NSFW-flagged images""" @@ -622,22 +577,19 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Blur NSFW Images", - "tags": ["image", "nsfw", "checker"] - }, + "ui": {"title": "Blur NSFW Images", "tags": ["image", "nsfw", "checker"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - + logger = context.services.logger logger.debug("Running NSFW checker") if SafetyChecker.has_nsfw_concept(image): logger.info("A potentially NSFW image has been detected. Image will be blurred.") blurry_image = image.filter(filter=ImageFilter.GaussianBlur(radius=32)) caution = self._get_caution_img() - blurry_image.paste(caution,(0,0),caution) + blurry_image.paste(caution, (0, 0), caution) image = blurry_image image_dto = context.services.images.create( @@ -649,20 +601,22 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): is_intermediate=self.is_intermediate, metadata=self.metadata.dict() if self.metadata else None, ) - + return ImageOutput( image=ImageField(image_name=image_dto.image_name), width=image_dto.width, height=image_dto.height, ) - - def _get_caution_img(self)->Image: + + def _get_caution_img(self) -> Image: import invokeai.app.assets.images as image_assets - caution = Image.open(Path(image_assets.__path__[0]) / 'caution.png') - return caution.resize((caution.width // 2, caution.height //2)) + + caution = Image.open(Path(image_assets.__path__[0]) / "caution.png") + return caution.resize((caution.width // 2, caution.height // 2)) + class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): - """ Add an invisible watermark to an image """ + """Add an invisible watermark to an image""" # fmt: off type: Literal["img_watermark"] = "img_watermark" @@ -675,10 +629,7 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Add Invisible Watermark", - "tags": ["image", "watermark", "invisible"] - }, + "ui": {"title": "Add Invisible Watermark", "tags": ["image", "watermark", "invisible"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -699,6 +650,3 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): width=image_dto.width, height=image_dto.height, ) - - - diff --git a/invokeai/app/invocations/infill.py b/invokeai/app/invocations/infill.py index ff8900fc50..cd5b2f9a11 100644 --- a/invokeai/app/invocations/infill.py +++ b/invokeai/app/invocations/infill.py @@ -30,9 +30,7 @@ def infill_methods() -> list[str]: INFILL_METHODS = Literal[tuple(infill_methods())] -DEFAULT_INFILL_METHOD = ( - "patchmatch" if "patchmatch" in get_args(INFILL_METHODS) else "tile" -) +DEFAULT_INFILL_METHOD = "patchmatch" if "patchmatch" in get_args(INFILL_METHODS) else "tile" def infill_patchmatch(im: Image.Image) -> Image.Image: @@ -44,9 +42,7 @@ def infill_patchmatch(im: Image.Image) -> Image.Image: return im # Patchmatch (note, we may want to expose patch_size? Increasing it significantly impacts performance though) - im_patched_np = PatchMatch.inpaint( - im.convert("RGB"), ImageOps.invert(im.split()[-1]), patch_size=3 - ) + im_patched_np = PatchMatch.inpaint(im.convert("RGB"), ImageOps.invert(im.split()[-1]), patch_size=3) im_patched = Image.fromarray(im_patched_np, mode="RGB") return im_patched @@ -68,9 +64,7 @@ def get_tile_images(image: np.ndarray, width=8, height=8): ) -def tile_fill_missing( - im: Image.Image, tile_size: int = 16, seed: Optional[int] = None -) -> Image.Image: +def tile_fill_missing(im: Image.Image, tile_size: int = 16, seed: Optional[int] = None) -> Image.Image: # Only fill if there's an alpha layer if im.mode != "RGBA": return im @@ -103,9 +97,7 @@ def tile_fill_missing( # Find all invalid tiles and replace with a random valid tile replace_count = (tiles_mask == False).sum() rng = np.random.default_rng(seed=seed) - tiles_all[np.logical_not(tiles_mask)] = filtered_tiles[ - rng.choice(filtered_tiles.shape[0], replace_count), :, :, : - ] + tiles_all[np.logical_not(tiles_mask)] = filtered_tiles[rng.choice(filtered_tiles.shape[0], replace_count), :, :, :] # Convert back to an image tiles_all = tiles_all.reshape(tshape) @@ -126,9 +118,7 @@ class InfillColorInvocation(BaseInvocation): """Infills transparent areas of an image with a solid color""" type: Literal["infill_rgba"] = "infill_rgba" - image: Optional[ImageField] = Field( - default=None, description="The image to infill" - ) + image: Optional[ImageField] = Field(default=None, description="The image to infill") color: ColorField = Field( default=ColorField(r=127, g=127, b=127, a=255), description="The color to use to infill", @@ -136,10 +126,7 @@ class InfillColorInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Color Infill", - "tags": ["image", "inpaint", "color", "infill"] - }, + "ui": {"title": "Color Infill", "tags": ["image", "inpaint", "color", "infill"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -171,9 +158,7 @@ class InfillTileInvocation(BaseInvocation): type: Literal["infill_tile"] = "infill_tile" - image: Optional[ImageField] = Field( - default=None, description="The image to infill" - ) + image: Optional[ImageField] = Field(default=None, description="The image to infill") tile_size: int = Field(default=32, ge=1, description="The tile size (px)") seed: int = Field( ge=0, @@ -184,18 +169,13 @@ class InfillTileInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Tile Infill", - "tags": ["image", "inpaint", "tile", "infill"] - }, + "ui": {"title": "Tile Infill", "tags": ["image", "inpaint", "tile", "infill"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) - infilled = tile_fill_missing( - image.copy(), seed=self.seed, tile_size=self.tile_size - ) + infilled = tile_fill_missing(image.copy(), seed=self.seed, tile_size=self.tile_size) infilled.paste(image, (0, 0), image.split()[-1]) image_dto = context.services.images.create( @@ -219,16 +199,11 @@ class InfillPatchMatchInvocation(BaseInvocation): type: Literal["infill_patchmatch"] = "infill_patchmatch" - image: Optional[ImageField] = Field( - default=None, description="The image to infill" - ) + image: Optional[ImageField] = Field(default=None, description="The image to infill") class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Patch Match Infill", - "tags": ["image", "inpaint", "patchmatch", "infill"] - }, + "ui": {"title": "Patch Match Infill", "tags": ["image", "inpaint", "patchmatch", "infill"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 69dffef09f..1b25dfc633 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -17,15 +17,16 @@ from invokeai.backend.model_management.models.base import ModelType from ...backend.model_management.lora import ModelPatcher from ...backend.stable_diffusion import PipelineIntermediateState from ...backend.stable_diffusion.diffusers_pipeline import ( - ConditioningData, ControlNetData, StableDiffusionGeneratorPipeline, - image_resized_to_grid_as_tensor) -from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import \ - PostprocessingSettings + ConditioningData, + ControlNetData, + StableDiffusionGeneratorPipeline, + image_resized_to_grid_as_tensor, +) +from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import PostprocessingSettings from ...backend.stable_diffusion.schedulers import SCHEDULER_MAP from ...backend.util.devices import choose_torch_device, torch_dtype, choose_precision from ..models.image import ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import (BaseInvocation, BaseInvocationOutput, - InvocationConfig, InvocationContext) +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext from .compel import ConditioningField from .controlnet_image_processors import ControlField from .image import ImageOutput @@ -46,8 +47,7 @@ DEFAULT_PRECISION = choose_precision(choose_torch_device()) class LatentsField(BaseModel): """A latents field used for passing latents between invocations""" - latents_name: Optional[str] = Field( - default=None, description="The name of the latents") + latents_name: Optional[str] = Field(default=None, description="The name of the latents") class Config: schema_extra = {"required": ["latents_name"]} @@ -55,14 +55,15 @@ class LatentsField(BaseModel): class LatentsOutput(BaseInvocationOutput): """Base class for invocations that output latents""" - #fmt: off + + # fmt: off type: Literal["latents_output"] = "latents_output" # Inputs latents: LatentsField = Field(default=None, description="The output latents") width: int = Field(description="The width of the latents in pixels") height: int = Field(description="The height of the latents in pixels") - #fmt: on + # fmt: on def build_latents_output(latents_name: str, latents: torch.Tensor): @@ -73,9 +74,7 @@ def build_latents_output(latents_name: str, latents: torch.Tensor): ) -SAMPLER_NAME_VALUES = Literal[ - tuple(list(SCHEDULER_MAP.keys())) -] +SAMPLER_NAME_VALUES = Literal[tuple(list(SCHEDULER_MAP.keys()))] def get_scheduler( @@ -83,11 +82,10 @@ def get_scheduler( scheduler_info: ModelInfo, scheduler_name: str, ) -> Scheduler: - scheduler_class, scheduler_extra_config = SCHEDULER_MAP.get( - scheduler_name, SCHEDULER_MAP['ddim'] - ) + scheduler_class, scheduler_extra_config = SCHEDULER_MAP.get(scheduler_name, SCHEDULER_MAP["ddim"]) orig_scheduler_info = context.services.model_manager.get_model( - **scheduler_info.dict(), context=context, + **scheduler_info.dict(), + context=context, ) with orig_scheduler_info as orig_scheduler: scheduler_config = orig_scheduler.config @@ -102,7 +100,7 @@ def get_scheduler( scheduler = scheduler_class.from_config(scheduler_config) # hack copied over from generate.py - if not hasattr(scheduler, 'uses_inpainting_model'): + if not hasattr(scheduler, "uses_inpainting_model"): scheduler.uses_inpainting_model = lambda: False return scheduler @@ -123,8 +121,8 @@ class TextToLatentsInvocation(BaseInvocation): scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use" ) unet: UNetField = Field(default=None, description="UNet submodel") control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") - #seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) - #seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") + # seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) + # seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") # fmt: on @validator("cfg_scale") @@ -133,10 +131,10 @@ class TextToLatentsInvocation(BaseInvocation): if isinstance(v, list): for i in v: if i < 1: - raise ValueError('cfg_scale must be greater than 1') + raise ValueError("cfg_scale must be greater than 1") else: if v < 1: - raise ValueError('cfg_scale must be greater than 1') + raise ValueError("cfg_scale must be greater than 1") return v # Schema customisation @@ -149,8 +147,8 @@ class TextToLatentsInvocation(BaseInvocation): "model": "model", "control": "control", # "cfg_scale": "float", - "cfg_scale": "number" - } + "cfg_scale": "number", + }, }, } @@ -190,16 +188,14 @@ class TextToLatentsInvocation(BaseInvocation): threshold=0.0, # threshold, warmup=0.2, # warmup, h_symmetry_time_pct=None, # h_symmetry_time_pct, - v_symmetry_time_pct=None # v_symmetry_time_pct, + v_symmetry_time_pct=None, # v_symmetry_time_pct, ), ) conditioning_data = conditioning_data.add_scheduler_args_if_applicable( scheduler, - # for ddim scheduler eta=0.0, # ddim_eta - # for ancestral and sde schedulers generator=torch.Generator(device=unet.device).manual_seed(0), ) @@ -247,7 +243,6 @@ class TextToLatentsInvocation(BaseInvocation): exit_stack: ExitStack, do_classifier_free_guidance: bool = True, ) -> List[ControlNetData]: - # assuming fixed dimensional scaling of 8:1 for image:latents control_height_resize = latents_shape[2] * 8 control_width_resize = latents_shape[3] * 8 @@ -261,7 +256,7 @@ class TextToLatentsInvocation(BaseInvocation): control_list = control_input else: control_list = None - if (control_list is None): + if control_list is None: control_data = None # from above handling, any control that is not None should now be of type list[ControlField] else: @@ -281,9 +276,7 @@ class TextToLatentsInvocation(BaseInvocation): control_models.append(control_model) control_image_field = control_info.image - input_image = context.services.images.get_pil_image( - control_image_field.image_name - ) + input_image = context.services.images.get_pil_image(control_image_field.image_name) # self.image.image_type, self.image.image_name # FIXME: still need to test with different widths, heights, devices, dtypes # and add in batch_size, num_images_per_prompt? @@ -321,9 +314,7 @@ class TextToLatentsInvocation(BaseInvocation): noise = context.services.latents.get(self.noise.latents_name) # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) + graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) source_node_id = graph_execution_state.prepared_source_mapping[self.id] def step_callback(state: PipelineIntermediateState): @@ -332,19 +323,20 @@ class TextToLatentsInvocation(BaseInvocation): def _lora_loader(): for lora in self.unet.loras: lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context, + **lora.dict(exclude={"weight"}), + context=context, ) yield (lora_info.context.model, lora.weight) del lora_info return unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), context=context, + **self.unet.unet.dict(), + context=context, ) - with ExitStack() as exit_stack,\ - ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ - unet_info as unet: - + with ExitStack() as exit_stack, ModelPatcher.apply_lora_unet( + unet_info.context.model, _lora_loader() + ), unet_info as unet: noise = noise.to(device=unet.device, dtype=unet.dtype) scheduler = get_scheduler( @@ -357,7 +349,9 @@ class TextToLatentsInvocation(BaseInvocation): conditioning_data = self.get_conditioning_data(context, scheduler, unet) control_data = self.prep_control_data( - model=pipeline, context=context, control_input=self.control, + model=pipeline, + context=context, + control_input=self.control, latents_shape=noise.shape, # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) do_classifier_free_guidance=True, @@ -378,7 +372,7 @@ class TextToLatentsInvocation(BaseInvocation): result_latents = result_latents.to("cpu") torch.cuda.empty_cache() - name = f'{context.graph_execution_state_id}__{self.id}' + name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, result_latents) return build_latents_output(latents_name=name, latents=result_latents) @@ -389,11 +383,8 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): type: Literal["l2l"] = "l2l" # Inputs - latents: Optional[LatentsField] = Field( - description="The latents to use as a base image") - strength: float = Field( - default=0.7, ge=0, le=1, - description="The strength of the latents to use") + latents: Optional[LatentsField] = Field(description="The latents to use as a base image") + strength: float = Field(default=0.7, ge=0, le=1, description="The strength of the latents to use") # Schema customisation class Config(InvocationConfig): @@ -405,7 +396,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): "model": "model", "control": "control", "cfg_scale": "number", - } + }, }, } @@ -415,9 +406,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): latent = context.services.latents.get(self.latents.latents_name) # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) + graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) source_node_id = graph_execution_state.prepared_source_mapping[self.id] def step_callback(state: PipelineIntermediateState): @@ -426,19 +415,20 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): def _lora_loader(): for lora in self.unet.loras: lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context, + **lora.dict(exclude={"weight"}), + context=context, ) yield (lora_info.context.model, lora.weight) del lora_info return unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), context=context, + **self.unet.unet.dict(), + context=context, ) - with ExitStack() as exit_stack,\ - ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ - unet_info as unet: - + with ExitStack() as exit_stack, ModelPatcher.apply_lora_unet( + unet_info.context.model, _lora_loader() + ), unet_info as unet: noise = noise.to(device=unet.device, dtype=unet.dtype) latent = latent.to(device=unet.device, dtype=unet.dtype) @@ -452,7 +442,9 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): conditioning_data = self.get_conditioning_data(context, scheduler, unet) control_data = self.prep_control_data( - model=pipeline, context=context, control_input=self.control, + model=pipeline, + context=context, + control_input=self.control, latents_shape=noise.shape, # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) do_classifier_free_guidance=True, @@ -460,8 +452,8 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): ) # TODO: Verify the noise is the right size - initial_latents = latent if self.strength < 1.0 else torch.zeros_like( - latent, device=unet.device, dtype=latent.dtype + initial_latents = ( + latent if self.strength < 1.0 else torch.zeros_like(latent, device=unet.device, dtype=latent.dtype) ) timesteps, _ = pipeline.get_img2img_timesteps( @@ -477,14 +469,14 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): num_inference_steps=self.steps, conditioning_data=conditioning_data, control_data=control_data, # list[ControlNetData] - callback=step_callback + callback=step_callback, ) # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 result_latents = result_latents.to("cpu") torch.cuda.empty_cache() - name = f'{context.graph_execution_state_id}__{self.id}' + name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, result_latents) return build_latents_output(latents_name=name, latents=result_latents) @@ -496,14 +488,13 @@ class LatentsToImageInvocation(BaseInvocation): type: Literal["l2i"] = "l2i" # Inputs - latents: Optional[LatentsField] = Field( - description="The latents to generate an image from") + latents: Optional[LatentsField] = Field(description="The latents to generate an image from") vae: VaeField = Field(default=None, description="Vae submodel") - tiled: bool = Field( - default=False, - description="Decode latents by overlapping tiles(less memory consumption)") - fp32: bool = Field(DEFAULT_PRECISION=='float32', description="Decode in full precision") - metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") + tiled: bool = Field(default=False, description="Decode latents by overlapping tiles(less memory consumption)") + fp32: bool = Field(DEFAULT_PRECISION == "float32", description="Decode in full precision") + metadata: Optional[CoreMetadata] = Field( + default=None, description="Optional core metadata to be written to the image" + ) # Schema customisation class Config(InvocationConfig): @@ -519,7 +510,8 @@ class LatentsToImageInvocation(BaseInvocation): latents = context.services.latents.get(self.latents.latents_name) vae_info = context.services.model_manager.get_model( - **self.vae.vae.dict(), context=context, + **self.vae.vae.dict(), + context=context, ) with vae_info as vae: @@ -586,8 +578,7 @@ class LatentsToImageInvocation(BaseInvocation): ) -LATENTS_INTERPOLATION_MODE = Literal["nearest", "linear", - "bilinear", "bicubic", "trilinear", "area", "nearest-exact"] +LATENTS_INTERPOLATION_MODE = Literal["nearest", "linear", "bilinear", "bicubic", "trilinear", "area", "nearest-exact"] class ResizeLatentsInvocation(BaseInvocation): @@ -596,36 +587,30 @@ class ResizeLatentsInvocation(BaseInvocation): type: Literal["lresize"] = "lresize" # Inputs - latents: Optional[LatentsField] = Field( - description="The latents to resize") - width: Union[int, None] = Field(default=512, - ge=64, multiple_of=8, description="The width to resize to (px)") - height: Union[int, None] = Field(default=512, - ge=64, multiple_of=8, description="The height to resize to (px)") - mode: LATENTS_INTERPOLATION_MODE = Field( - default="bilinear", description="The interpolation mode") + latents: Optional[LatentsField] = Field(description="The latents to resize") + width: Union[int, None] = Field(default=512, ge=64, multiple_of=8, description="The width to resize to (px)") + height: Union[int, None] = Field(default=512, ge=64, multiple_of=8, description="The height to resize to (px)") + mode: LATENTS_INTERPOLATION_MODE = Field(default="bilinear", description="The interpolation mode") antialias: bool = Field( - default=False, - description="Whether or not to antialias (applied in bilinear and bicubic modes only)") + default=False, description="Whether or not to antialias (applied in bilinear and bicubic modes only)" + ) class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Resize Latents", - "tags": ["latents", "resize"] - }, + "ui": {"title": "Resize Latents", "tags": ["latents", "resize"]}, } def invoke(self, context: InvocationContext) -> LatentsOutput: latents = context.services.latents.get(self.latents.latents_name) # TODO: - device=choose_torch_device() + device = choose_torch_device() resized_latents = torch.nn.functional.interpolate( - latents.to(device), size=(self.height // 8, self.width // 8), - mode=self.mode, antialias=self.antialias - if self.mode in ["bilinear", "bicubic"] else False, + latents.to(device), + size=(self.height // 8, self.width // 8), + mode=self.mode, + antialias=self.antialias if self.mode in ["bilinear", "bicubic"] else False, ) # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 @@ -644,35 +629,30 @@ class ScaleLatentsInvocation(BaseInvocation): type: Literal["lscale"] = "lscale" # Inputs - latents: Optional[LatentsField] = Field( - description="The latents to scale") - scale_factor: float = Field( - gt=0, description="The factor by which to scale the latents") - mode: LATENTS_INTERPOLATION_MODE = Field( - default="bilinear", description="The interpolation mode") + latents: Optional[LatentsField] = Field(description="The latents to scale") + scale_factor: float = Field(gt=0, description="The factor by which to scale the latents") + mode: LATENTS_INTERPOLATION_MODE = Field(default="bilinear", description="The interpolation mode") antialias: bool = Field( - default=False, - description="Whether or not to antialias (applied in bilinear and bicubic modes only)") + default=False, description="Whether or not to antialias (applied in bilinear and bicubic modes only)" + ) class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Scale Latents", - "tags": ["latents", "scale"] - }, + "ui": {"title": "Scale Latents", "tags": ["latents", "scale"]}, } def invoke(self, context: InvocationContext) -> LatentsOutput: latents = context.services.latents.get(self.latents.latents_name) # TODO: - device=choose_torch_device() + device = choose_torch_device() # resizing resized_latents = torch.nn.functional.interpolate( - latents.to(device), scale_factor=self.scale_factor, mode=self.mode, - antialias=self.antialias - if self.mode in ["bilinear", "bicubic"] else False, + latents.to(device), + scale_factor=self.scale_factor, + mode=self.mode, + antialias=self.antialias if self.mode in ["bilinear", "bicubic"] else False, ) # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 @@ -693,19 +673,13 @@ class ImageToLatentsInvocation(BaseInvocation): # Inputs image: Optional[ImageField] = Field(description="The image to encode") vae: VaeField = Field(default=None, description="Vae submodel") - tiled: bool = Field( - default=False, - description="Encode latents by overlaping tiles(less memory consumption)") - fp32: bool = Field(DEFAULT_PRECISION=='float32', description="Decode in full precision") - + tiled: bool = Field(default=False, description="Encode latents by overlaping tiles(less memory consumption)") + fp32: bool = Field(DEFAULT_PRECISION == "float32", description="Decode in full precision") # Schema customisation class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Image To Latents", - "tags": ["latents", "image"] - }, + "ui": {"title": "Image To Latents", "tags": ["latents", "image"]}, } @torch.no_grad() @@ -715,9 +689,10 @@ class ImageToLatentsInvocation(BaseInvocation): # ) image = context.services.images.get_pil_image(self.image.image_name) - #vae_info = context.services.model_manager.get_model(**self.vae.vae.dict()) + # vae_info = context.services.model_manager.get_model(**self.vae.vae.dict()) vae_info = context.services.model_manager.get_model( - **self.vae.vae.dict(), context=context, + **self.vae.vae.dict(), + context=context, ) image_tensor = image_resized_to_grid_as_tensor(image.convert("RGB")) @@ -744,12 +719,12 @@ class ImageToLatentsInvocation(BaseInvocation): vae.post_quant_conv.to(orig_dtype) vae.decoder.conv_in.to(orig_dtype) vae.decoder.mid_block.to(orig_dtype) - #else: + # else: # latents = latents.float() else: vae.to(dtype=torch.float16) - #latents = latents.half() + # latents = latents.half() if self.tiled: vae.enable_tiling() @@ -760,9 +735,7 @@ class ImageToLatentsInvocation(BaseInvocation): image_tensor = image_tensor.to(device=vae.device, dtype=vae.dtype) with torch.inference_mode(): image_tensor_dist = vae.encode(image_tensor).latent_dist - latents = image_tensor_dist.sample().to( - dtype=vae.dtype - ) # FIXME: uses torch.randn. make reproducible! + latents = image_tensor_dist.sample().to(dtype=vae.dtype) # FIXME: uses torch.randn. make reproducible! latents = vae.config.scaling_factor * latents latents = latents.to(dtype=orig_dtype) diff --git a/invokeai/app/invocations/math.py b/invokeai/app/invocations/math.py index 92cff04bf7..32b1ab2a39 100644 --- a/invokeai/app/invocations/math.py +++ b/invokeai/app/invocations/math.py @@ -54,10 +54,7 @@ class AddInvocation(BaseInvocation, MathInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Add", - "tags": ["math", "add"] - }, + "ui": {"title": "Add", "tags": ["math", "add"]}, } def invoke(self, context: InvocationContext) -> IntOutput: @@ -75,10 +72,7 @@ class SubtractInvocation(BaseInvocation, MathInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Subtract", - "tags": ["math", "subtract"] - }, + "ui": {"title": "Subtract", "tags": ["math", "subtract"]}, } def invoke(self, context: InvocationContext) -> IntOutput: @@ -96,10 +90,7 @@ class MultiplyInvocation(BaseInvocation, MathInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Multiply", - "tags": ["math", "multiply"] - }, + "ui": {"title": "Multiply", "tags": ["math", "multiply"]}, } def invoke(self, context: InvocationContext) -> IntOutput: @@ -117,10 +108,7 @@ class DivideInvocation(BaseInvocation, MathInvocationConfig): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Divide", - "tags": ["math", "divide"] - }, + "ui": {"title": "Divide", "tags": ["math", "divide"]}, } def invoke(self, context: InvocationContext) -> IntOutput: @@ -140,10 +128,7 @@ class RandomIntInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Random Integer", - "tags": ["math", "random", "integer"] - }, + "ui": {"title": "Random Integer", "tags": ["math", "random", "integer"]}, } def invoke(self, context: InvocationContext) -> IntOutput: diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index b0742d0419..3588ef4ebe 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -11,6 +11,7 @@ from invokeai.app.invocations.baseinvocation import ( from invokeai.app.invocations.controlnet_image_processors import ControlField from invokeai.app.invocations.model import LoRAModelField, MainModelField, VAEModelField + class LoRAMetadataField(BaseModel): """LoRA metadata for an image generated in InvokeAI.""" @@ -37,9 +38,7 @@ class CoreMetadata(BaseModel): description="The number of skipped CLIP layers", ) model: MainModelField = Field(description="The main model used for inference") - controlnets: list[ControlField] = Field( - description="The ControlNets used for inference" - ) + controlnets: list[ControlField] = Field(description="The ControlNets used for inference") loras: list[LoRAMetadataField] = Field(description="The LoRAs used for inference") vae: Union[VAEModelField, None] = Field( default=None, @@ -51,38 +50,24 @@ class CoreMetadata(BaseModel): default=None, description="The strength used for latents-to-latents", ) - init_image: Union[str, None] = Field( - default=None, description="The name of the initial image" - ) + init_image: Union[str, None] = Field(default=None, description="The name of the initial image") # SDXL - positive_style_prompt: Union[str, None] = Field( - default=None, description="The positive style prompt parameter" - ) - negative_style_prompt: Union[str, None] = Field( - default=None, description="The negative style prompt parameter" - ) + positive_style_prompt: Union[str, None] = Field(default=None, description="The positive style prompt parameter") + negative_style_prompt: Union[str, None] = Field(default=None, description="The negative style prompt parameter") # SDXL Refiner - refiner_model: Union[MainModelField, None] = Field( - default=None, description="The SDXL Refiner model used" - ) + refiner_model: Union[MainModelField, None] = Field(default=None, description="The SDXL Refiner model used") refiner_cfg_scale: Union[float, None] = Field( default=None, description="The classifier-free guidance scale parameter used for the refiner", ) - refiner_steps: Union[int, None] = Field( - default=None, description="The number of steps used for the refiner" - ) - refiner_scheduler: Union[str, None] = Field( - default=None, description="The scheduler used for the refiner" - ) + refiner_steps: Union[int, None] = Field(default=None, description="The number of steps used for the refiner") + refiner_scheduler: Union[str, None] = Field(default=None, description="The scheduler used for the refiner") refiner_aesthetic_store: Union[float, None] = Field( default=None, description="The aesthetic score used for the refiner" ) - refiner_start: Union[float, None] = Field( - default=None, description="The start value used for refiner denoising" - ) + refiner_start: Union[float, None] = Field(default=None, description="The start value used for refiner denoising") class ImageMetadata(BaseModel): @@ -92,9 +77,7 @@ class ImageMetadata(BaseModel): default=None, description="The image's core metadata, if it was created in the Linear or Canvas UI", ) - graph: Optional[dict] = Field( - default=None, description="The graph that created the image" - ) + graph: Optional[dict] = Field(default=None, description="The graph that created the image") class MetadataAccumulatorOutput(BaseInvocationOutput): @@ -126,50 +109,34 @@ class MetadataAccumulatorInvocation(BaseInvocation): description="The number of skipped CLIP layers", ) model: MainModelField = Field(description="The main model used for inference") - controlnets: list[ControlField] = Field( - description="The ControlNets used for inference" - ) + controlnets: list[ControlField] = Field(description="The ControlNets used for inference") loras: list[LoRAMetadataField] = Field(description="The LoRAs used for inference") strength: Union[float, None] = Field( default=None, description="The strength used for latents-to-latents", ) - init_image: Union[str, None] = Field( - default=None, description="The name of the initial image" - ) + init_image: Union[str, None] = Field(default=None, description="The name of the initial image") vae: Union[VAEModelField, None] = Field( default=None, description="The VAE used for decoding, if the main model's default was not used", ) # SDXL - positive_style_prompt: Union[str, None] = Field( - default=None, description="The positive style prompt parameter" - ) - negative_style_prompt: Union[str, None] = Field( - default=None, description="The negative style prompt parameter" - ) + positive_style_prompt: Union[str, None] = Field(default=None, description="The positive style prompt parameter") + negative_style_prompt: Union[str, None] = Field(default=None, description="The negative style prompt parameter") # SDXL Refiner - refiner_model: Union[MainModelField, None] = Field( - default=None, description="The SDXL Refiner model used" - ) + refiner_model: Union[MainModelField, None] = Field(default=None, description="The SDXL Refiner model used") refiner_cfg_scale: Union[float, None] = Field( default=None, description="The classifier-free guidance scale parameter used for the refiner", ) - refiner_steps: Union[int, None] = Field( - default=None, description="The number of steps used for the refiner" - ) - refiner_scheduler: Union[str, None] = Field( - default=None, description="The scheduler used for the refiner" - ) + refiner_steps: Union[int, None] = Field(default=None, description="The number of steps used for the refiner") + refiner_scheduler: Union[str, None] = Field(default=None, description="The scheduler used for the refiner") refiner_aesthetic_store: Union[float, None] = Field( default=None, description="The aesthetic score used for the refiner" ) - refiner_start: Union[float, None] = Field( - default=None, description="The start value used for refiner denoising" - ) + refiner_start: Union[float, None] = Field(default=None, description="The start value used for refiner denoising") class Config(InvocationConfig): schema_extra = { diff --git a/invokeai/app/invocations/model.py b/invokeai/app/invocations/model.py index 5f1a91ae3b..2388d12e25 100644 --- a/invokeai/app/invocations/model.py +++ b/invokeai/app/invocations/model.py @@ -4,17 +4,14 @@ from typing import List, Literal, Optional, Union from pydantic import BaseModel, Field from ...backend.model_management import BaseModelType, ModelType, SubModelType -from .baseinvocation import (BaseInvocation, BaseInvocationOutput, - InvocationConfig, InvocationContext) +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext class ModelInfo(BaseModel): model_name: str = Field(description="Info to load submodel") base_model: BaseModelType = Field(description="Base model") model_type: ModelType = Field(description="Info to load submodel") - submodel: Optional[SubModelType] = Field( - default=None, description="Info to load submodel" - ) + submodel: Optional[SubModelType] = Field(default=None, description="Info to load submodel") class LoraInfo(ModelInfo): @@ -33,6 +30,7 @@ class ClipField(BaseModel): skipped_layers: int = Field(description="Number of skipped layers in text_encoder") loras: List[LoraInfo] = Field(description="Loras to apply on model loading") + class VaeField(BaseModel): # TODO: better naming? vae: ModelInfo = Field(description="Info to load vae submodel") @@ -49,6 +47,7 @@ class ModelLoaderOutput(BaseInvocationOutput): vae: VaeField = Field(default=None, description="Vae submodel") # fmt: on + class MainModelField(BaseModel): """Main model field""" @@ -62,6 +61,7 @@ class LoRAModelField(BaseModel): model_name: str = Field(description="Name of the LoRA model") base_model: BaseModelType = Field(description="Base model") + class MainModelLoaderInvocation(BaseInvocation): """Loads a main model, outputting its submodels.""" @@ -180,7 +180,7 @@ class MainModelLoaderInvocation(BaseInvocation): ), ) - + class LoraLoaderOutput(BaseInvocationOutput): """Model loader output""" @@ -197,9 +197,7 @@ class LoraLoaderInvocation(BaseInvocation): type: Literal["lora_loader"] = "lora_loader" - lora: Union[LoRAModelField, None] = Field( - default=None, description="Lora model name" - ) + lora: Union[LoRAModelField, None] = Field(default=None, description="Lora model name") weight: float = Field(default=0.75, description="With what weight to apply lora") unet: Optional[UNetField] = Field(description="UNet model for applying lora") @@ -228,14 +226,10 @@ class LoraLoaderInvocation(BaseInvocation): ): raise Exception(f"Unkown lora name: {lora_name}!") - if self.unet is not None and any( - lora.model_name == lora_name for lora in self.unet.loras - ): + if self.unet is not None and any(lora.model_name == lora_name for lora in self.unet.loras): raise Exception(f'Lora "{lora_name}" already applied to unet') - if self.clip is not None and any( - lora.model_name == lora_name for lora in self.clip.loras - ): + if self.clip is not None and any(lora.model_name == lora_name for lora in self.clip.loras): raise Exception(f'Lora "{lora_name}" already applied to clip') output = LoraLoaderOutput() diff --git a/invokeai/app/invocations/param_easing.py b/invokeai/app/invocations/param_easing.py index 70d3ddc7d2..f910e5379c 100644 --- a/invokeai/app/invocations/param_easing.py +++ b/invokeai/app/invocations/param_easing.py @@ -12,16 +12,37 @@ import matplotlib.pyplot as plt from easing_functions import ( LinearInOut, - QuadEaseInOut, QuadEaseIn, QuadEaseOut, - CubicEaseInOut, CubicEaseIn, CubicEaseOut, - QuarticEaseInOut, QuarticEaseIn, QuarticEaseOut, - QuinticEaseInOut, QuinticEaseIn, QuinticEaseOut, - SineEaseInOut, SineEaseIn, SineEaseOut, - CircularEaseIn, CircularEaseInOut, CircularEaseOut, - ExponentialEaseInOut, ExponentialEaseIn, ExponentialEaseOut, - ElasticEaseIn, ElasticEaseInOut, ElasticEaseOut, - BackEaseIn, BackEaseInOut, BackEaseOut, - BounceEaseIn, BounceEaseInOut, BounceEaseOut) + QuadEaseInOut, + QuadEaseIn, + QuadEaseOut, + CubicEaseInOut, + CubicEaseIn, + CubicEaseOut, + QuarticEaseInOut, + QuarticEaseIn, + QuarticEaseOut, + QuinticEaseInOut, + QuinticEaseIn, + QuinticEaseOut, + SineEaseInOut, + SineEaseIn, + SineEaseOut, + CircularEaseIn, + CircularEaseInOut, + CircularEaseOut, + ExponentialEaseInOut, + ExponentialEaseIn, + ExponentialEaseOut, + ElasticEaseIn, + ElasticEaseInOut, + ElasticEaseOut, + BackEaseIn, + BackEaseInOut, + BackEaseOut, + BounceEaseIn, + BounceEaseInOut, + BounceEaseOut, +) from .baseinvocation import ( BaseInvocation, @@ -45,17 +66,12 @@ class FloatLinearRangeInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Linear Range (Float)", - "tags": ["math", "float", "linear", "range"] - }, + "ui": {"title": "Linear Range (Float)", "tags": ["math", "float", "linear", "range"]}, } def invoke(self, context: InvocationContext) -> FloatCollectionOutput: param_list = list(np.linspace(self.start, self.stop, self.steps)) - return FloatCollectionOutput( - collection=param_list - ) + return FloatCollectionOutput(collection=param_list) EASING_FUNCTIONS_MAP = { @@ -92,9 +108,7 @@ EASING_FUNCTIONS_MAP = { "BounceInOut": BounceEaseInOut, } -EASING_FUNCTION_KEYS: Any = Literal[ - tuple(list(EASING_FUNCTIONS_MAP.keys())) -] +EASING_FUNCTION_KEYS: Any = Literal[tuple(list(EASING_FUNCTIONS_MAP.keys()))] # actually I think for now could just use CollectionOutput (which is list[Any] @@ -123,13 +137,9 @@ class StepParamEasingInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Param Easing By Step", - "tags": ["param", "step", "easing"] - }, + "ui": {"title": "Param Easing By Step", "tags": ["param", "step", "easing"]}, } - def invoke(self, context: InvocationContext) -> FloatCollectionOutput: log_diagnostics = False # convert from start_step_percent to nearest step <= (steps * start_step_percent) @@ -170,12 +180,13 @@ class StepParamEasingInvocation(BaseInvocation): # and create reverse copy of list[1:end-1] # but if even then number_of_steps/2 === ceil(number_of_steps/2), so can just use ceil always - base_easing_duration = int(np.ceil(num_easing_steps/2.0)) - if log_diagnostics: context.services.logger.debug("base easing duration: " + str(base_easing_duration)) - even_num_steps = (num_easing_steps % 2 == 0) # even number of steps - easing_function = easing_class(start=self.start_value, - end=self.end_value, - duration=base_easing_duration - 1) + base_easing_duration = int(np.ceil(num_easing_steps / 2.0)) + if log_diagnostics: + context.services.logger.debug("base easing duration: " + str(base_easing_duration)) + even_num_steps = num_easing_steps % 2 == 0 # even number of steps + easing_function = easing_class( + start=self.start_value, end=self.end_value, duration=base_easing_duration - 1 + ) base_easing_vals = list() for step_index in range(base_easing_duration): easing_val = easing_function.ease(step_index) @@ -214,9 +225,7 @@ class StepParamEasingInvocation(BaseInvocation): # else: # no mirroring (default) - easing_function = easing_class(start=self.start_value, - end=self.end_value, - duration=num_easing_steps - 1) + easing_function = easing_class(start=self.start_value, end=self.end_value, duration=num_easing_steps - 1) for step_index in range(num_easing_steps): step_val = easing_function.ease(step_index) easing_list.append(step_val) @@ -240,13 +249,11 @@ class StepParamEasingInvocation(BaseInvocation): ax = plt.gca() ax.xaxis.set_major_locator(MaxNLocator(integer=True)) buf = io.BytesIO() - plt.savefig(buf, format='png') + plt.savefig(buf, format="png") buf.seek(0) im = PIL.Image.open(buf) im.show() buf.close() # output array of size steps, each entry list[i] is param value for step i - return FloatCollectionOutput( - collection=param_list - ) + return FloatCollectionOutput(collection=param_list) diff --git a/invokeai/app/invocations/params.py b/invokeai/app/invocations/params.py index 0f01d65948..127eefa21d 100644 --- a/invokeai/app/invocations/params.py +++ b/invokeai/app/invocations/params.py @@ -4,67 +4,63 @@ from typing import Literal from pydantic import Field -from .baseinvocation import (BaseInvocation, BaseInvocationOutput, - InvocationConfig, InvocationContext) +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext from .math import FloatOutput, IntOutput # Pass-through parameter nodes - used by subgraphs + class ParamIntInvocation(BaseInvocation): """An integer parameter""" - #fmt: off + + # fmt: off type: Literal["param_int"] = "param_int" a: int = Field(default=0, description="The integer value") - #fmt: on + # fmt: on class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["param", "integer"], - "title": "Integer Parameter" - }, - } + schema_extra = { + "ui": {"tags": ["param", "integer"], "title": "Integer Parameter"}, + } def invoke(self, context: InvocationContext) -> IntOutput: return IntOutput(a=self.a) + class ParamFloatInvocation(BaseInvocation): """A float parameter""" - #fmt: off + + # fmt: off type: Literal["param_float"] = "param_float" param: float = Field(default=0.0, description="The float value") - #fmt: on + # fmt: on class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["param", "float"], - "title": "Float Parameter" - }, - } + schema_extra = { + "ui": {"tags": ["param", "float"], "title": "Float Parameter"}, + } def invoke(self, context: InvocationContext) -> FloatOutput: return FloatOutput(param=self.param) + class StringOutput(BaseInvocationOutput): """A string output""" + type: Literal["string_output"] = "string_output" text: str = Field(default=None, description="The output string") class ParamStringInvocation(BaseInvocation): """A string parameter""" - type: Literal['param_string'] = 'param_string' - text: str = Field(default='', description='The string value') + + type: Literal["param_string"] = "param_string" + text: str = Field(default="", description="The string value") class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["param", "string"], - "title": "String Parameter" - }, - } + schema_extra = { + "ui": {"tags": ["param", "string"], "title": "String Parameter"}, + } def invoke(self, context: InvocationContext) -> StringOutput: return StringOutput(text=self.text) - \ No newline at end of file diff --git a/invokeai/app/invocations/prompt.py b/invokeai/app/invocations/prompt.py index 5d07a88759..83a397ddcf 100644 --- a/invokeai/app/invocations/prompt.py +++ b/invokeai/app/invocations/prompt.py @@ -7,19 +7,21 @@ from pydantic import Field, validator from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext from dynamicprompts.generators import RandomPromptGenerator, CombinatorialPromptGenerator + class PromptOutput(BaseInvocationOutput): """Base class for invocations that output a prompt""" - #fmt: off + + # fmt: off type: Literal["prompt"] = "prompt" prompt: str = Field(default=None, description="The output prompt") - #fmt: on + # fmt: on class Config: schema_extra = { - 'required': [ - 'type', - 'prompt', + "required": [ + "type", + "prompt", ] } @@ -44,16 +46,11 @@ class DynamicPromptInvocation(BaseInvocation): type: Literal["dynamic_prompt"] = "dynamic_prompt" prompt: str = Field(description="The prompt to parse with dynamicprompts") max_prompts: int = Field(default=1, description="The number of prompts to generate") - combinatorial: bool = Field( - default=False, description="Whether to use the combinatorial generator" - ) + combinatorial: bool = Field(default=False, description="Whether to use the combinatorial generator") class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Dynamic Prompt", - "tags": ["prompt", "dynamic"] - }, + "ui": {"title": "Dynamic Prompt", "tags": ["prompt", "dynamic"]}, } def invoke(self, context: InvocationContext) -> PromptCollectionOutput: @@ -65,10 +62,11 @@ class DynamicPromptInvocation(BaseInvocation): prompts = generator.generate(self.prompt, num_images=self.max_prompts) return PromptCollectionOutput(prompt_collection=prompts, count=len(prompts)) - + class PromptsFromFileInvocation(BaseInvocation): - '''Loads prompts from a text file''' + """Loads prompts from a text file""" + # fmt: off type: Literal['prompt_from_file'] = 'prompt_from_file' @@ -78,14 +76,11 @@ class PromptsFromFileInvocation(BaseInvocation): post_prompt: Optional[str] = Field(description="String to append to each prompt") start_line: int = Field(default=1, ge=1, description="Line in the file to start start from") max_prompts: int = Field(default=1, ge=0, description="Max lines to read from file (0=all)") - #fmt: on + # fmt: on class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Prompts From File", - "tags": ["prompt", "file"] - }, + "ui": {"title": "Prompts From File", "tags": ["prompt", "file"]}, } @validator("file_path") @@ -103,11 +98,13 @@ class PromptsFromFileInvocation(BaseInvocation): with open(file_path) as f: for i, line in enumerate(f): if i >= start_line and i < end_line: - prompts.append((pre_prompt or '') + line.strip() + (post_prompt or '')) + prompts.append((pre_prompt or "") + line.strip() + (post_prompt or "")) if i >= end_line: break return prompts def invoke(self, context: InvocationContext) -> PromptCollectionOutput: - prompts = self.promptsFromFile(self.file_path, self.pre_prompt, self.post_prompt, self.start_line, self.max_prompts) + prompts = self.promptsFromFile( + self.file_path, self.pre_prompt, self.post_prompt, self.start_line, self.max_prompts + ) return PromptCollectionOutput(prompt_collection=prompts, count=len(prompts)) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index 3b4d3a9d86..303a2fedd9 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -7,13 +7,13 @@ from pydantic import Field, validator from ...backend.model_management import ModelType, SubModelType from invokeai.app.util.step_callback import stable_diffusion_xl_step_callback -from .baseinvocation import (BaseInvocation, BaseInvocationOutput, - InvocationConfig, InvocationContext) +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext from .model import UNetField, ClipField, VaeField, MainModelField, ModelInfo from .compel import ConditioningField from .latent import LatentsField, SAMPLER_NAME_VALUES, LatentsOutput, get_scheduler, build_latents_output + class SDXLModelLoaderOutput(BaseInvocationOutput): """SDXL base model loader output""" @@ -26,16 +26,19 @@ class SDXLModelLoaderOutput(BaseInvocationOutput): vae: VaeField = Field(default=None, description="Vae submodel") # fmt: on + class SDXLRefinerModelLoaderOutput(BaseInvocationOutput): """SDXL refiner model loader output""" + # fmt: off type: Literal["sdxl_refiner_model_loader_output"] = "sdxl_refiner_model_loader_output" unet: UNetField = Field(default=None, description="UNet submodel") clip2: ClipField = Field(default=None, description="Tokenizer and text_encoder submodels") vae: VaeField = Field(default=None, description="Vae submodel") # fmt: on - #fmt: on - + # fmt: on + + class SDXLModelLoaderInvocation(BaseInvocation): """Loads an sdxl base model, outputting its submodels.""" @@ -125,8 +128,10 @@ class SDXLModelLoaderInvocation(BaseInvocation): ), ) + class SDXLRefinerModelLoaderInvocation(BaseInvocation): """Loads an sdxl refiner model, outputting its submodels.""" + type: Literal["sdxl_refiner_model_loader"] = "sdxl_refiner_model_loader" model: MainModelField = Field(description="The model to load") @@ -196,7 +201,8 @@ class SDXLRefinerModelLoaderInvocation(BaseInvocation): ), ), ) - + + # Text to image class SDXLTextToLatentsInvocation(BaseInvocation): """Generates latents from conditionings.""" @@ -213,9 +219,9 @@ class SDXLTextToLatentsInvocation(BaseInvocation): scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use" ) unet: UNetField = Field(default=None, description="UNet submodel") denoising_end: float = Field(default=1.0, gt=0, le=1, description="") - #control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") - #seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) - #seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") + # control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") + # seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) + # seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") # fmt: on @validator("cfg_scale") @@ -224,10 +230,10 @@ class SDXLTextToLatentsInvocation(BaseInvocation): if isinstance(v, list): for i in v: if i < 1: - raise ValueError('cfg_scale must be greater than 1') + raise ValueError("cfg_scale must be greater than 1") else: if v < 1: - raise ValueError('cfg_scale must be greater than 1') + raise ValueError("cfg_scale must be greater than 1") return v # Schema customisation @@ -237,10 +243,10 @@ class SDXLTextToLatentsInvocation(BaseInvocation): "title": "SDXL Text To Latents", "tags": ["latents"], "type_hints": { - "model": "model", - # "cfg_scale": "float", - "cfg_scale": "number" - } + "model": "model", + # "cfg_scale": "float", + "cfg_scale": "number", + }, }, } @@ -265,9 +271,7 @@ class SDXLTextToLatentsInvocation(BaseInvocation): # https://github.com/huggingface/diffusers/blob/3ebbaf7c96801271f9e6c21400033b6aa5ffcf29/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py#L375 @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) + graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) source_node_id = graph_execution_state.prepared_source_mapping[self.id] latents = context.services.latents.get(self.noise.latents_name) @@ -293,14 +297,10 @@ class SDXLTextToLatentsInvocation(BaseInvocation): latents = latents * scheduler.init_noise_sigma - - unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), context=context - ) + unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) do_classifier_free_guidance = True cross_attention_kwargs = None with unet_info as unet: - extra_step_kwargs = dict() if "eta" in set(inspect.signature(scheduler.step).parameters.keys()): extra_step_kwargs.update( @@ -350,10 +350,10 @@ class SDXLTextToLatentsInvocation(BaseInvocation): if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) noise_pred = noise_pred_uncond + self.cfg_scale * (noise_pred_text - noise_pred_uncond) - #del noise_pred_uncond - #del noise_pred_text + # del noise_pred_uncond + # del noise_pred_text - #if do_classifier_free_guidance and guidance_rescale > 0.0: + # if do_classifier_free_guidance and guidance_rescale > 0.0: # # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf # noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale) @@ -364,7 +364,7 @@ class SDXLTextToLatentsInvocation(BaseInvocation): if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % scheduler.order == 0): progress_bar.update() self.dispatch_progress(context, source_node_id, latents, i, num_inference_steps) - #if callback is not None and i % callback_steps == 0: + # if callback is not None and i % callback_steps == 0: # callback(i, t, latents) else: negative_pooled_prompt_embeds = negative_pooled_prompt_embeds.to(device=unet.device, dtype=unet.dtype) @@ -378,13 +378,13 @@ class SDXLTextToLatentsInvocation(BaseInvocation): with tqdm(total=num_inference_steps) as progress_bar: for i, t in enumerate(timesteps): # expand the latents if we are doing classifier free guidance - #latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents + # latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = scheduler.scale_model_input(latents, t) - #import gc - #gc.collect() - #torch.cuda.empty_cache() + # import gc + # gc.collect() + # torch.cuda.empty_cache() # predict the noise residual @@ -411,42 +411,41 @@ class SDXLTextToLatentsInvocation(BaseInvocation): # perform guidance noise_pred = noise_pred_uncond + self.cfg_scale * (noise_pred_text - noise_pred_uncond) - #del noise_pred_text - #del noise_pred_uncond - #import gc - #gc.collect() - #torch.cuda.empty_cache() + # del noise_pred_text + # del noise_pred_uncond + # import gc + # gc.collect() + # torch.cuda.empty_cache() - #if do_classifier_free_guidance and guidance_rescale > 0.0: + # if do_classifier_free_guidance and guidance_rescale > 0.0: # # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf # noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale) # compute the previous noisy sample x_t -> x_t-1 latents = scheduler.step(noise_pred, t, latents, **extra_step_kwargs, return_dict=False)[0] - #del noise_pred - #import gc - #gc.collect() - #torch.cuda.empty_cache() + # del noise_pred + # import gc + # gc.collect() + # torch.cuda.empty_cache() # call the callback, if provided if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % scheduler.order == 0): progress_bar.update() self.dispatch_progress(context, source_node_id, latents, i, num_inference_steps) - #if callback is not None and i % callback_steps == 0: + # if callback is not None and i % callback_steps == 0: # callback(i, t, latents) - - ################# latents = latents.to("cpu") torch.cuda.empty_cache() - name = f'{context.graph_execution_state_id}__{self.id}' + name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, latents) return build_latents_output(latents_name=name, latents=latents) + class SDXLLatentsToLatentsInvocation(BaseInvocation): """Generates latents from conditionings.""" @@ -466,9 +465,9 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): denoising_start: float = Field(default=0.0, ge=0, le=1, description="") denoising_end: float = Field(default=1.0, ge=0, le=1, description="") - #control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") - #seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) - #seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") + # control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") + # seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) + # seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") # fmt: on @validator("cfg_scale") @@ -477,10 +476,10 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): if isinstance(v, list): for i in v: if i < 1: - raise ValueError('cfg_scale must be greater than 1') + raise ValueError("cfg_scale must be greater than 1") else: if v < 1: - raise ValueError('cfg_scale must be greater than 1') + raise ValueError("cfg_scale must be greater than 1") return v # Schema customisation @@ -490,10 +489,10 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): "title": "SDXL Latents to Latents", "tags": ["latents"], "type_hints": { - "model": "model", - # "cfg_scale": "float", - "cfg_scale": "number" - } + "model": "model", + # "cfg_scale": "float", + "cfg_scale": "number", + }, }, } @@ -518,9 +517,7 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): # https://github.com/huggingface/diffusers/blob/3ebbaf7c96801271f9e6c21400033b6aa5ffcf29/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py#L375 @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) + graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) source_node_id = graph_execution_state.prepared_source_mapping[self.id] latents = context.services.latents.get(self.latents.latents_name) @@ -545,7 +542,7 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): scheduler.set_timesteps(num_inference_steps) t_start = int(round(self.denoising_start * num_inference_steps)) - timesteps = scheduler.timesteps[t_start * scheduler.order:] + timesteps = scheduler.timesteps[t_start * scheduler.order :] num_inference_steps = num_inference_steps - t_start # apply noise(if provided) @@ -555,12 +552,12 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): del noise unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), context=context, + **self.unet.unet.dict(), + context=context, ) do_classifier_free_guidance = True cross_attention_kwargs = None with unet_info as unet: - # apply scheduler extra args extra_step_kwargs = dict() if "eta" in set(inspect.signature(scheduler.step).parameters.keys()): @@ -611,10 +608,10 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): if do_classifier_free_guidance: noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) noise_pred = noise_pred_uncond + self.cfg_scale * (noise_pred_text - noise_pred_uncond) - #del noise_pred_uncond - #del noise_pred_text + # del noise_pred_uncond + # del noise_pred_text - #if do_classifier_free_guidance and guidance_rescale > 0.0: + # if do_classifier_free_guidance and guidance_rescale > 0.0: # # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf # noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale) @@ -625,7 +622,7 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % scheduler.order == 0): progress_bar.update() self.dispatch_progress(context, source_node_id, latents, i, num_inference_steps) - #if callback is not None and i % callback_steps == 0: + # if callback is not None and i % callback_steps == 0: # callback(i, t, latents) else: negative_pooled_prompt_embeds = negative_pooled_prompt_embeds.to(device=unet.device, dtype=unet.dtype) @@ -639,13 +636,13 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): with tqdm(total=num_inference_steps) as progress_bar: for i, t in enumerate(timesteps): # expand the latents if we are doing classifier free guidance - #latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents + # latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = scheduler.scale_model_input(latents, t) - #import gc - #gc.collect() - #torch.cuda.empty_cache() + # import gc + # gc.collect() + # torch.cuda.empty_cache() # predict the noise residual @@ -672,38 +669,36 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): # perform guidance noise_pred = noise_pred_uncond + self.cfg_scale * (noise_pred_text - noise_pred_uncond) - #del noise_pred_text - #del noise_pred_uncond - #import gc - #gc.collect() - #torch.cuda.empty_cache() + # del noise_pred_text + # del noise_pred_uncond + # import gc + # gc.collect() + # torch.cuda.empty_cache() - #if do_classifier_free_guidance and guidance_rescale > 0.0: + # if do_classifier_free_guidance and guidance_rescale > 0.0: # # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf # noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale) # compute the previous noisy sample x_t -> x_t-1 latents = scheduler.step(noise_pred, t, latents, **extra_step_kwargs, return_dict=False)[0] - #del noise_pred - #import gc - #gc.collect() - #torch.cuda.empty_cache() + # del noise_pred + # import gc + # gc.collect() + # torch.cuda.empty_cache() # call the callback, if provided if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % scheduler.order == 0): progress_bar.update() self.dispatch_progress(context, source_node_id, latents, i, num_inference_steps) - #if callback is not None and i % callback_steps == 0: + # if callback is not None and i % callback_steps == 0: # callback(i, t, latents) - - ################# latents = latents.to("cpu") torch.cuda.empty_cache() - name = f'{context.graph_execution_state_id}__{self.id}' + name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, latents) return build_latents_output(latents_name=name, latents=latents) diff --git a/invokeai/app/invocations/upscale.py b/invokeai/app/invocations/upscale.py index 1a45a631df..fd220223db 100644 --- a/invokeai/app/invocations/upscale.py +++ b/invokeai/app/invocations/upscale.py @@ -29,16 +29,11 @@ class ESRGANInvocation(BaseInvocation): type: Literal["esrgan"] = "esrgan" image: Union[ImageField, None] = Field(default=None, description="The input image") - model_name: ESRGAN_MODELS = Field( - default="RealESRGAN_x4plus.pth", description="The Real-ESRGAN model to use" - ) + model_name: ESRGAN_MODELS = Field(default="RealESRGAN_x4plus.pth", description="The Real-ESRGAN model to use") class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Upscale (RealESRGAN)", - "tags": ["image", "upscale", "realesrgan"] - }, + "ui": {"title": "Upscale (RealESRGAN)", "tags": ["image", "upscale", "realesrgan"]}, } def invoke(self, context: InvocationContext) -> ImageOutput: @@ -108,9 +103,7 @@ class ESRGANInvocation(BaseInvocation): upscaled_image, img_mode = upsampler.enhance(cv_image) # back to PIL - pil_image = Image.fromarray( - cv.cvtColor(upscaled_image, cv.COLOR_BGR2RGB) - ).convert("RGBA") + pil_image = Image.fromarray(cv.cvtColor(upscaled_image, cv.COLOR_BGR2RGB)).convert("RGBA") image_dto = context.services.images.create( image=pil_image, diff --git a/invokeai/app/models/exceptions.py b/invokeai/app/models/exceptions.py index 32ad3b8f03..662e1948ce 100644 --- a/invokeai/app/models/exceptions.py +++ b/invokeai/app/models/exceptions.py @@ -1,3 +1,4 @@ class CanceledException(Exception): """Execution canceled by user.""" + pass diff --git a/invokeai/app/models/image.py b/invokeai/app/models/image.py index 1183cabc54..2a5a0f9d3b 100644 --- a/invokeai/app/models/image.py +++ b/invokeai/app/models/image.py @@ -8,6 +8,7 @@ from ..invocations.baseinvocation import ( InvocationConfig, ) + class ImageField(BaseModel): """An image field used for passing image objects between invocations""" @@ -34,6 +35,7 @@ class ProgressImage(BaseModel): height: int = Field(description="The effective height of the image in pixels") dataURL: str = Field(description="The image data as a b64 data URL") + class PILInvocationConfig(BaseModel): """Helper class to provide all PIL invocations with additional config""" @@ -44,6 +46,7 @@ class PILInvocationConfig(BaseModel): }, } + class ImageOutput(BaseInvocationOutput): """Base class for invocations that output an image""" @@ -76,6 +79,7 @@ class MaskOutput(BaseInvocationOutput): ] } + class ResourceOrigin(str, Enum, metaclass=MetaEnum): """The origin of a resource (eg image). @@ -132,5 +136,3 @@ class InvalidImageCategoryException(ValueError): def __init__(self, message="Invalid image category."): super().__init__(message) - - diff --git a/invokeai/app/services/board_image_record_storage.py b/invokeai/app/services/board_image_record_storage.py index 491972bd32..f0007c8cef 100644 --- a/invokeai/app/services/board_image_record_storage.py +++ b/invokeai/app/services/board_image_record_storage.py @@ -207,9 +207,7 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): raise e finally: self._lock.release() - return OffsetPaginatedResults( - items=images, offset=offset, limit=limit, total=count - ) + return OffsetPaginatedResults(items=images, offset=offset, limit=limit, total=count) def get_all_board_image_names_for_board(self, board_id: str) -> list[str]: try: diff --git a/invokeai/app/services/board_images.py b/invokeai/app/services/board_images.py index b9f9663603..22332d6c29 100644 --- a/invokeai/app/services/board_images.py +++ b/invokeai/app/services/board_images.py @@ -102,9 +102,7 @@ class BoardImagesService(BoardImagesServiceABC): self, board_id: str, ) -> list[str]: - return self._services.board_image_records.get_all_board_image_names_for_board( - board_id - ) + return self._services.board_image_records.get_all_board_image_names_for_board(board_id) def get_board_for_image( self, @@ -114,9 +112,7 @@ class BoardImagesService(BoardImagesServiceABC): return board_id -def board_record_to_dto( - board_record: BoardRecord, cover_image_name: Optional[str], image_count: int -) -> BoardDTO: +def board_record_to_dto(board_record: BoardRecord, cover_image_name: Optional[str], image_count: int) -> BoardDTO: """Converts a board record to a board DTO.""" return BoardDTO( **board_record.dict(exclude={"cover_image_name"}), diff --git a/invokeai/app/services/board_record_storage.py b/invokeai/app/services/board_record_storage.py index 15ea9cc5a7..2fad7b0ab3 100644 --- a/invokeai/app/services/board_record_storage.py +++ b/invokeai/app/services/board_record_storage.py @@ -15,9 +15,7 @@ from pydantic import BaseModel, Field, Extra class BoardChanges(BaseModel, extra=Extra.forbid): board_name: Optional[str] = Field(description="The board's new name.") - cover_image_name: Optional[str] = Field( - description="The name of the board's new cover image." - ) + cover_image_name: Optional[str] = Field(description="The name of the board's new cover image.") class BoardRecordNotFoundException(Exception): @@ -292,9 +290,7 @@ class SqliteBoardRecordStorage(BoardRecordStorageBase): count = cast(int, self._cursor.fetchone()[0]) - return OffsetPaginatedResults[BoardRecord]( - items=boards, offset=offset, limit=limit, total=count - ) + return OffsetPaginatedResults[BoardRecord](items=boards, offset=offset, limit=limit, total=count) except sqlite3.Error as e: self._conn.rollback() diff --git a/invokeai/app/services/boards.py b/invokeai/app/services/boards.py index 9361322e6c..53d30b2e85 100644 --- a/invokeai/app/services/boards.py +++ b/invokeai/app/services/boards.py @@ -108,16 +108,12 @@ class BoardService(BoardServiceABC): def get_dto(self, board_id: str) -> BoardDTO: board_record = self._services.board_records.get(board_id) - cover_image = self._services.image_records.get_most_recent_image_for_board( - board_record.board_id - ) + cover_image = self._services.image_records.get_most_recent_image_for_board(board_record.board_id) if cover_image: cover_image_name = cover_image.image_name else: cover_image_name = None - image_count = self._services.board_image_records.get_image_count_for_board( - board_id - ) + image_count = self._services.board_image_records.get_image_count_for_board(board_id) return board_record_to_dto(board_record, cover_image_name, image_count) def update( @@ -126,60 +122,44 @@ class BoardService(BoardServiceABC): changes: BoardChanges, ) -> BoardDTO: board_record = self._services.board_records.update(board_id, changes) - cover_image = self._services.image_records.get_most_recent_image_for_board( - board_record.board_id - ) + cover_image = self._services.image_records.get_most_recent_image_for_board(board_record.board_id) if cover_image: cover_image_name = cover_image.image_name else: cover_image_name = None - image_count = self._services.board_image_records.get_image_count_for_board( - board_id - ) + image_count = self._services.board_image_records.get_image_count_for_board(board_id) return board_record_to_dto(board_record, cover_image_name, image_count) def delete(self, board_id: str) -> None: self._services.board_records.delete(board_id) - def get_many( - self, offset: int = 0, limit: int = 10 - ) -> OffsetPaginatedResults[BoardDTO]: + def get_many(self, offset: int = 0, limit: int = 10) -> OffsetPaginatedResults[BoardDTO]: board_records = self._services.board_records.get_many(offset, limit) board_dtos = [] for r in board_records.items: - cover_image = self._services.image_records.get_most_recent_image_for_board( - r.board_id - ) + cover_image = self._services.image_records.get_most_recent_image_for_board(r.board_id) if cover_image: cover_image_name = cover_image.image_name else: cover_image_name = None - image_count = self._services.board_image_records.get_image_count_for_board( - r.board_id - ) + image_count = self._services.board_image_records.get_image_count_for_board(r.board_id) board_dtos.append(board_record_to_dto(r, cover_image_name, image_count)) - return OffsetPaginatedResults[BoardDTO]( - items=board_dtos, offset=offset, limit=limit, total=len(board_dtos) - ) + return OffsetPaginatedResults[BoardDTO](items=board_dtos, offset=offset, limit=limit, total=len(board_dtos)) def get_all(self) -> list[BoardDTO]: board_records = self._services.board_records.get_all() board_dtos = [] for r in board_records: - cover_image = self._services.image_records.get_most_recent_image_for_board( - r.board_id - ) + cover_image = self._services.image_records.get_most_recent_image_for_board(r.board_id) if cover_image: cover_image_name = cover_image.image_name else: cover_image_name = None - image_count = self._services.board_image_records.get_image_count_for_board( - r.board_id - ) + image_count = self._services.board_image_records.get_image_count_for_board(r.board_id) board_dtos.append(board_record_to_dto(r, cover_image_name, image_count)) - return board_dtos \ No newline at end of file + return board_dtos diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index dfcff86ca0..98855fe879 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -1,6 +1,6 @@ # Copyright (c) 2023 Lincoln Stein (https://github.com/lstein) and the InvokeAI Development Team -'''Invokeai configuration system. +"""Invokeai configuration system. Arguments and fields are taken from the pydantic definition of the model. Defaults can be set by creating a yaml configuration file that @@ -158,7 +158,7 @@ two configs are kept in separate sections of the config file: outdir: outputs ... -''' +""" from __future__ import annotations import argparse import pydoc @@ -170,64 +170,68 @@ from pathlib import Path from pydantic import BaseSettings, Field, parse_obj_as from typing import ClassVar, Dict, List, Set, Literal, Union, get_origin, get_type_hints, get_args -INIT_FILE = Path('invokeai.yaml') -MODEL_CORE = Path('models/core') -DB_FILE = Path('invokeai.db') -LEGACY_INIT_FILE = Path('invokeai.init') +INIT_FILE = Path("invokeai.yaml") +MODEL_CORE = Path("models/core") +DB_FILE = Path("invokeai.db") +LEGACY_INIT_FILE = Path("invokeai.init") + class InvokeAISettings(BaseSettings): - ''' + """ Runtime configuration settings in which default values are read from an omegaconf .yaml file. - ''' - initconf : ClassVar[DictConfig] = None - argparse_groups : ClassVar[Dict] = {} + """ - def parse_args(self, argv: list=sys.argv[1:]): + initconf: ClassVar[DictConfig] = None + argparse_groups: ClassVar[Dict] = {} + + def parse_args(self, argv: list = sys.argv[1:]): parser = self.get_parser() opt = parser.parse_args(argv) for name in self.__fields__: if name not in self._excluded(): - setattr(self, name, getattr(opt,name)) + setattr(self, name, getattr(opt, name)) - def to_yaml(self)->str: + def to_yaml(self) -> str: """ Return a YAML string representing our settings. This can be used as the contents of `invokeai.yaml` to restore settings later. """ cls = self.__class__ - type = get_args(get_type_hints(cls)['type'])[0] - field_dict = dict({type:dict()}) - for name,field in self.__fields__.items(): + type = get_args(get_type_hints(cls)["type"])[0] + field_dict = dict({type: dict()}) + for name, field in self.__fields__.items(): if name in cls._excluded_from_yaml(): continue category = field.field_info.extra.get("category") or "Uncategorized" - value = getattr(self,name) + value = getattr(self, name) if category not in field_dict[type]: field_dict[type][category] = dict() # keep paths as strings to make it easier to read - field_dict[type][category][name] = str(value) if isinstance(value,Path) else value + field_dict[type][category][name] = str(value) if isinstance(value, Path) else value conf = OmegaConf.create(field_dict) return OmegaConf.to_yaml(conf) @classmethod def add_parser_arguments(cls, parser): - if 'type' in get_type_hints(cls): - settings_stanza = get_args(get_type_hints(cls)['type'])[0] + if "type" in get_type_hints(cls): + settings_stanza = get_args(get_type_hints(cls)["type"])[0] else: settings_stanza = "Uncategorized" - env_prefix = cls.Config.env_prefix if hasattr(cls.Config,'env_prefix') else settings_stanza.upper() + env_prefix = cls.Config.env_prefix if hasattr(cls.Config, "env_prefix") else settings_stanza.upper() - initconf = cls.initconf.get(settings_stanza) \ - if cls.initconf and settings_stanza in cls.initconf \ - else OmegaConf.create() + initconf = ( + cls.initconf.get(settings_stanza) + if cls.initconf and settings_stanza in cls.initconf + else OmegaConf.create() + ) # create an upcase version of the environment in # order to achieve case-insensitive environment # variables (the way Windows does) upcase_environ = dict() - for key,value in os.environ.items(): + for key, value in os.environ.items(): upcase_environ[key.upper()] = value fields = cls.__fields__ @@ -237,8 +241,8 @@ class InvokeAISettings(BaseSettings): if name not in cls._excluded(): current_default = field.default - category = field.field_info.extra.get("category","Uncategorized") - env_name = env_prefix + '_' + name + category = field.field_info.extra.get("category", "Uncategorized") + env_name = env_prefix + "_" + name if category in initconf and name in initconf.get(category): field.default = initconf.get(category).get(name) if env_name.upper() in upcase_environ: @@ -248,15 +252,15 @@ class InvokeAISettings(BaseSettings): field.default = current_default @classmethod - def cmd_name(self, command_field: str='type')->str: + def cmd_name(self, command_field: str = "type") -> str: hints = get_type_hints(self) if command_field in hints: return get_args(hints[command_field])[0] else: - return 'Uncategorized' + return "Uncategorized" @classmethod - def get_parser(cls)->ArgumentParser: + def get_parser(cls) -> ArgumentParser: parser = PagingArgumentParser( prog=cls.cmd_name(), description=cls.__doc__, @@ -269,24 +273,41 @@ class InvokeAISettings(BaseSettings): parser.add_parser(cls.cmd_name(), help=cls.__doc__) @classmethod - def _excluded(self)->List[str]: + def _excluded(self) -> List[str]: # internal fields that shouldn't be exposed as command line options - return ['type','initconf'] - + return ["type", "initconf"] + @classmethod - def _excluded_from_yaml(self)->List[str]: + def _excluded_from_yaml(self) -> List[str]: # combination of deprecated parameters and internal ones that shouldn't be exposed as invokeai.yaml options - return ['type','initconf', 'gpu_mem_reserved', 'max_loaded_models', 'version', 'from_file', 'model', 'restore', 'root', 'nsfw_checker'] + return [ + "type", + "initconf", + "gpu_mem_reserved", + "max_loaded_models", + "version", + "from_file", + "model", + "restore", + "root", + "nsfw_checker", + ] class Config: - env_file_encoding = 'utf-8' + env_file_encoding = "utf-8" arbitrary_types_allowed = True case_sensitive = True @classmethod - def add_field_argument(cls, command_parser, name: str, field, default_override = None): + def add_field_argument(cls, command_parser, name: str, field, default_override=None): field_type = get_type_hints(cls).get(name) - default = default_override if default_override is not None else field.default if field.default_factory is None else field.default_factory() + default = ( + default_override + if default_override is not None + else field.default + if field.default_factory is None + else field.default_factory() + ) if category := field.field_info.extra.get("category"): if category not in cls.argparse_groups: cls.argparse_groups[category] = command_parser.add_argument_group(category) @@ -315,10 +336,10 @@ class InvokeAISettings(BaseSettings): argparse_group.add_argument( f"--{name}", dest=name, - nargs='*', + nargs="*", type=field.type_, default=default, - action=argparse.BooleanOptionalAction if field.type_==bool else 'store', + action=argparse.BooleanOptionalAction if field.type_ == bool else "store", help=field.field_info.description, ) else: @@ -327,31 +348,35 @@ class InvokeAISettings(BaseSettings): dest=name, type=field.type_, default=default, - action=argparse.BooleanOptionalAction if field.type_==bool else 'store', + action=argparse.BooleanOptionalAction if field.type_ == bool else "store", help=field.field_info.description, ) -def _find_root()->Path: + + +def _find_root() -> Path: venv = Path(os.environ.get("VIRTUAL_ENV") or ".") if os.environ.get("INVOKEAI_ROOT"): root = Path(os.environ.get("INVOKEAI_ROOT")).resolve() - elif any([(venv.parent/x).exists() for x in [INIT_FILE, LEGACY_INIT_FILE, MODEL_CORE]]): + elif any([(venv.parent / x).exists() for x in [INIT_FILE, LEGACY_INIT_FILE, MODEL_CORE]]): root = (venv.parent).resolve() else: root = Path("~/invokeai").expanduser().resolve() return root + class InvokeAIAppConfig(InvokeAISettings): - ''' -Generate images using Stable Diffusion. Use "invokeai" to launch -the command-line client (recommended for experts only), or -"invokeai-web" to launch the web server. Global options -can be changed by editing the file "INVOKEAI_ROOT/invokeai.yaml" or by -setting environment variables INVOKEAI_. - ''' + """ + Generate images using Stable Diffusion. Use "invokeai" to launch + the command-line client (recommended for experts only), or + "invokeai-web" to launch the web server. Global options + can be changed by editing the file "INVOKEAI_ROOT/invokeai.yaml" or by + setting environment variables INVOKEAI_. + """ + singleton_config: ClassVar[InvokeAIAppConfig] = None singleton_init: ClassVar[Dict] = None - #fmt: off + # fmt: off type: Literal["InvokeAI"] = "InvokeAI" host : str = Field(default="127.0.0.1", description="IP address to bind to", category='Web Server') port : int = Field(default=9090, description="Port to bind to", category='Web Server') @@ -399,16 +424,16 @@ setting environment variables INVOKEAI_. log_level : Literal[tuple(["debug","info","warning","error","critical"])] = Field(default="info", description="Emit logging messages at this level or higher", category="Logging") version : bool = Field(default=False, description="Show InvokeAI version and exit", category="Other") - #fmt: on + # fmt: on - def parse_args(self, argv: List[str]=None, conf: DictConfig = None, clobber=False): - ''' + def parse_args(self, argv: List[str] = None, conf: DictConfig = None, clobber=False): + """ Update settings with contents of init file, environment, and command-line settings. :param conf: alternate Omegaconf dictionary object :param argv: aternate sys.argv list :param clobber: ovewrite any initialization parameters passed during initialization - ''' + """ # Set the runtime root directory. We parse command-line switches here # in order to pick up the --root_dir option. super().parse_args(argv) @@ -425,135 +450,139 @@ setting environment variables INVOKEAI_. if self.singleton_init and not clobber: hints = get_type_hints(self.__class__) for k in self.singleton_init: - setattr(self,k,parse_obj_as(hints[k],self.singleton_init[k])) + setattr(self, k, parse_obj_as(hints[k], self.singleton_init[k])) @classmethod - def get_config(cls,**kwargs)->InvokeAIAppConfig: - ''' + def get_config(cls, **kwargs) -> InvokeAIAppConfig: + """ This returns a singleton InvokeAIAppConfig configuration object. - ''' - if cls.singleton_config is None \ - or type(cls.singleton_config)!=cls \ - or (kwargs and cls.singleton_init != kwargs): + """ + if ( + cls.singleton_config is None + or type(cls.singleton_config) != cls + or (kwargs and cls.singleton_init != kwargs) + ): cls.singleton_config = cls(**kwargs) cls.singleton_init = kwargs return cls.singleton_config @property - def root_path(self)->Path: - ''' + def root_path(self) -> Path: + """ Path to the runtime root directory - ''' + """ if self.root: return Path(self.root).expanduser().absolute() else: return self.find_root() @property - def root_dir(self)->Path: - ''' + def root_dir(self) -> Path: + """ Alias for above. - ''' + """ return self.root_path - def _resolve(self,partial_path:Path)->Path: + def _resolve(self, partial_path: Path) -> Path: return (self.root_path / partial_path).resolve() @property - def init_file_path(self)->Path: - ''' + def init_file_path(self) -> Path: + """ Path to invokeai.yaml - ''' + """ return self._resolve(INIT_FILE) @property - def output_path(self)->Path: - ''' + def output_path(self) -> Path: + """ Path to defaults outputs directory. - ''' + """ return self._resolve(self.outdir) @property - def db_path(self)->Path: - ''' + def db_path(self) -> Path: + """ Path to the invokeai.db file. - ''' + """ return self._resolve(self.db_dir) / DB_FILE @property - def model_conf_path(self)->Path: - ''' + def model_conf_path(self) -> Path: + """ Path to models configuration file. - ''' + """ return self._resolve(self.conf_path) @property - def legacy_conf_path(self)->Path: - ''' + def legacy_conf_path(self) -> Path: + """ Path to directory of legacy configuration files (e.g. v1-inference.yaml) - ''' + """ return self._resolve(self.legacy_conf_dir) @property - def models_path(self)->Path: - ''' + def models_path(self) -> Path: + """ Path to the models directory - ''' + """ return self._resolve(self.models_dir) @property - def autoconvert_path(self)->Path: - ''' + def autoconvert_path(self) -> Path: + """ Path to the directory containing models to be imported automatically at startup. - ''' + """ return self._resolve(self.autoconvert_dir) if self.autoconvert_dir else None # the following methods support legacy calls leftover from the Globals era @property - def full_precision(self)->bool: + def full_precision(self) -> bool: """Return true if precision set to float32""" - return self.precision=='float32' + return self.precision == "float32" @property - def disable_xformers(self)->bool: + def disable_xformers(self) -> bool: """Return true if xformers_enabled is false""" return not self.xformers_enabled @property - def try_patchmatch(self)->bool: + def try_patchmatch(self) -> bool: """Return true if patchmatch true""" return self.patchmatch @property - def nsfw_checker(self)->bool: - """ NSFW node is always active and disabled from Web UIe""" + def nsfw_checker(self) -> bool: + """NSFW node is always active and disabled from Web UIe""" return True @property - def invisible_watermark(self)->bool: - """ invisible watermark node is always active and disabled from Web UIe""" + def invisible_watermark(self) -> bool: + """invisible watermark node is always active and disabled from Web UIe""" return True - + @staticmethod - def find_root()->Path: - ''' + def find_root() -> Path: + """ Choose the runtime root directory when not specified on command line or init file. - ''' + """ return _find_root() class PagingArgumentParser(argparse.ArgumentParser): - ''' + """ A custom ArgumentParser that uses pydoc to page its output. It also supports reading defaults from an init file. - ''' + """ + def print_help(self, file=None): text = self.format_help() pydoc.pager(text) -def get_invokeai_config(**kwargs)->InvokeAIAppConfig: - ''' + +def get_invokeai_config(**kwargs) -> InvokeAIAppConfig: + """ Legacy function which returns InvokeAIAppConfig.get_config() - ''' + """ return InvokeAIAppConfig.get_config(**kwargs) diff --git a/invokeai/app/services/default_graphs.py b/invokeai/app/services/default_graphs.py index 22e35d1d6b..cafb6f0339 100644 --- a/invokeai/app/services/default_graphs.py +++ b/invokeai/app/services/default_graphs.py @@ -7,57 +7,80 @@ from .graph import Edge, EdgeConnection, ExposedNodeInput, ExposedNodeOutput, Gr from .item_storage import ItemStorageABC -default_text_to_image_graph_id = '539b2af5-2b4d-4d8c-8071-e54a3255fc74' +default_text_to_image_graph_id = "539b2af5-2b4d-4d8c-8071-e54a3255fc74" def create_text_to_image() -> LibraryGraph: return LibraryGraph( id=default_text_to_image_graph_id, - name='t2i', - description='Converts text to an image', + name="t2i", + description="Converts text to an image", graph=Graph( nodes={ - 'width': ParamIntInvocation(id='width', a=512), - 'height': ParamIntInvocation(id='height', a=512), - 'seed': ParamIntInvocation(id='seed', a=-1), - '3': NoiseInvocation(id='3'), - '4': CompelInvocation(id='4'), - '5': CompelInvocation(id='5'), - '6': TextToLatentsInvocation(id='6'), - '7': LatentsToImageInvocation(id='7'), - '8': ImageNSFWBlurInvocation(id='8'), + "width": ParamIntInvocation(id="width", a=512), + "height": ParamIntInvocation(id="height", a=512), + "seed": ParamIntInvocation(id="seed", a=-1), + "3": NoiseInvocation(id="3"), + "4": CompelInvocation(id="4"), + "5": CompelInvocation(id="5"), + "6": TextToLatentsInvocation(id="6"), + "7": LatentsToImageInvocation(id="7"), + "8": ImageNSFWBlurInvocation(id="8"), }, edges=[ - Edge(source=EdgeConnection(node_id='width', field='a'), destination=EdgeConnection(node_id='3', field='width')), - Edge(source=EdgeConnection(node_id='height', field='a'), destination=EdgeConnection(node_id='3', field='height')), - Edge(source=EdgeConnection(node_id='seed', field='a'), destination=EdgeConnection(node_id='3', field='seed')), - Edge(source=EdgeConnection(node_id='3', field='noise'), destination=EdgeConnection(node_id='6', field='noise')), - Edge(source=EdgeConnection(node_id='6', field='latents'), destination=EdgeConnection(node_id='7', field='latents')), - Edge(source=EdgeConnection(node_id='4', field='conditioning'), destination=EdgeConnection(node_id='6', field='positive_conditioning')), - Edge(source=EdgeConnection(node_id='5', field='conditioning'), destination=EdgeConnection(node_id='6', field='negative_conditioning')), - Edge(source=EdgeConnection(node_id='7', field='image'), destination=EdgeConnection(node_id='8', field='image')), - ] + Edge( + source=EdgeConnection(node_id="width", field="a"), + destination=EdgeConnection(node_id="3", field="width"), + ), + Edge( + source=EdgeConnection(node_id="height", field="a"), + destination=EdgeConnection(node_id="3", field="height"), + ), + Edge( + source=EdgeConnection(node_id="seed", field="a"), + destination=EdgeConnection(node_id="3", field="seed"), + ), + Edge( + source=EdgeConnection(node_id="3", field="noise"), + destination=EdgeConnection(node_id="6", field="noise"), + ), + Edge( + source=EdgeConnection(node_id="6", field="latents"), + destination=EdgeConnection(node_id="7", field="latents"), + ), + Edge( + source=EdgeConnection(node_id="4", field="conditioning"), + destination=EdgeConnection(node_id="6", field="positive_conditioning"), + ), + Edge( + source=EdgeConnection(node_id="5", field="conditioning"), + destination=EdgeConnection(node_id="6", field="negative_conditioning"), + ), + Edge( + source=EdgeConnection(node_id="7", field="image"), + destination=EdgeConnection(node_id="8", field="image"), + ), + ], ), exposed_inputs=[ - ExposedNodeInput(node_path='4', field='prompt', alias='positive_prompt'), - ExposedNodeInput(node_path='5', field='prompt', alias='negative_prompt'), - ExposedNodeInput(node_path='width', field='a', alias='width'), - ExposedNodeInput(node_path='height', field='a', alias='height'), - ExposedNodeInput(node_path='seed', field='a', alias='seed'), + ExposedNodeInput(node_path="4", field="prompt", alias="positive_prompt"), + ExposedNodeInput(node_path="5", field="prompt", alias="negative_prompt"), + ExposedNodeInput(node_path="width", field="a", alias="width"), + ExposedNodeInput(node_path="height", field="a", alias="height"), + ExposedNodeInput(node_path="seed", field="a", alias="seed"), ], - exposed_outputs=[ - ExposedNodeOutput(node_path='8', field='image', alias='image') - ]) + exposed_outputs=[ExposedNodeOutput(node_path="8", field="image", alias="image")], + ) def create_system_graphs(graph_library: ItemStorageABC[LibraryGraph]) -> list[LibraryGraph]: """Creates the default system graphs, or adds new versions if the old ones don't match""" - + # TODO: Uncomment this when we are ready to fix this up to prevent breaking changes graphs: list[LibraryGraph] = list() # text_to_image = graph_library.get(default_text_to_image_graph_id) - + # # TODO: Check if the graph is the same as the default one, and if not, update it # #if text_to_image is None: text_to_image = create_text_to_image() diff --git a/invokeai/app/services/events.py b/invokeai/app/services/events.py index 73d74de2d9..30fa89bd29 100644 --- a/invokeai/app/services/events.py +++ b/invokeai/app/services/events.py @@ -44,9 +44,7 @@ class EventServiceBase: graph_execution_state_id=graph_execution_state_id, node=node, source_node_id=source_node_id, - progress_image=progress_image.dict() - if progress_image is not None - else None, + progress_image=progress_image.dict() if progress_image is not None else None, step=step, total_steps=total_steps, ), @@ -90,9 +88,7 @@ class EventServiceBase: ), ) - def emit_invocation_started( - self, graph_execution_state_id: str, node: dict, source_node_id: str - ) -> None: + def emit_invocation_started(self, graph_execution_state_id: str, node: dict, source_node_id: str) -> None: """Emitted when an invocation has started""" self.__emit_session_event( event_name="invocation_started", diff --git a/invokeai/app/services/graph.py b/invokeai/app/services/graph.py index 24096da29b..d7f021df14 100644 --- a/invokeai/app/services/graph.py +++ b/invokeai/app/services/graph.py @@ -28,6 +28,7 @@ from ..invocations.baseinvocation import ( # in 3.10 this would be "from types import NoneType" NoneType = type(None) + class EdgeConnection(BaseModel): node_id: str = Field(description="The id of the node for this edge connection") field: str = Field(description="The field for this connection") @@ -61,6 +62,7 @@ def get_input_field(node: BaseInvocation, field: str) -> Any: node_input_field = node_inputs.get(field) or None return node_input_field + def is_union_subtype(t1, t2): t1_args = get_args(t1) t2_args = get_args(t2) @@ -71,6 +73,7 @@ def is_union_subtype(t1, t2): # t1 is a Union, check that all of its types are in t2_args return all(arg in t2_args for arg in t1_args) + def is_list_or_contains_list(t): t_args = get_args(t) @@ -154,15 +157,17 @@ class GraphInvocationOutput(BaseInvocationOutput): class Config: schema_extra = { - 'required': [ - 'type', - 'image', + "required": [ + "type", + "image", ] } + # TODO: Fill this out and move to invocations class GraphInvocation(BaseInvocation): """Execute a graph""" + type: Literal["graph"] = "graph" # TODO: figure out how to create a default here @@ -182,23 +187,21 @@ class IterateInvocationOutput(BaseInvocationOutput): class Config: schema_extra = { - 'required': [ - 'type', - 'item', + "required": [ + "type", + "item", ] } + # TODO: Fill this out and move to invocations class IterateInvocation(BaseInvocation): """Iterates over a list of items""" + type: Literal["iterate"] = "iterate" - collection: list[Any] = Field( - description="The list of items to iterate over", default_factory=list - ) - index: int = Field( - description="The index, will be provided on executed iterators", default=0 - ) + collection: list[Any] = Field(description="The list of items to iterate over", default_factory=list) + index: int = Field(description="The index, will be provided on executed iterators", default=0) def invoke(self, context: InvocationContext) -> IterateInvocationOutput: """Produces the outputs as values""" @@ -212,12 +215,13 @@ class CollectInvocationOutput(BaseInvocationOutput): class Config: schema_extra = { - 'required': [ - 'type', - 'collection', + "required": [ + "type", + "collection", ] } + class CollectInvocation(BaseInvocation): """Collects values into a collection""" @@ -269,9 +273,7 @@ class Graph(BaseModel): if node_path in self.nodes: return (self, node_path) - node_id = ( - node_path if "." not in node_path else node_path[: node_path.index(".")] - ) + node_id = node_path if "." not in node_path else node_path[: node_path.index(".")] if node_id not in self.nodes: raise NodeNotFoundError(f"Node {node_path} not found in graph") @@ -333,9 +335,7 @@ class Graph(BaseModel): return False # Validate all edges reference nodes in the graph - node_ids = set( - [e.source.node_id for e in self.edges] + [e.destination.node_id for e in self.edges] - ) + node_ids = set([e.source.node_id for e in self.edges] + [e.destination.node_id for e in self.edges]) if not all((self.has_node(node_id) for node_id in node_ids)): return False @@ -361,22 +361,14 @@ class Graph(BaseModel): # Validate all iterators # TODO: may need to validate all iterators in subgraphs so edge connections in parent graphs will be available if not all( - ( - self._is_iterator_connection_valid(n.id) - for n in self.nodes.values() - if isinstance(n, IterateInvocation) - ) + (self._is_iterator_connection_valid(n.id) for n in self.nodes.values() if isinstance(n, IterateInvocation)) ): return False # Validate all collectors # TODO: may need to validate all collectors in subgraphs so edge connections in parent graphs will be available if not all( - ( - self._is_collector_connection_valid(n.id) - for n in self.nodes.values() - if isinstance(n, CollectInvocation) - ) + (self._is_collector_connection_valid(n.id) for n in self.nodes.values() if isinstance(n, CollectInvocation)) ): return False @@ -395,48 +387,51 @@ class Graph(BaseModel): # Validate that an edge to this node+field doesn't already exist input_edges = self._get_input_edges(edge.destination.node_id, edge.destination.field) if len(input_edges) > 0 and not isinstance(to_node, CollectInvocation): - raise InvalidEdgeError(f'Edge to node {edge.destination.node_id} field {edge.destination.field} already exists') + raise InvalidEdgeError( + f"Edge to node {edge.destination.node_id} field {edge.destination.field} already exists" + ) # Validate that no cycles would be created g = self.nx_graph_flat() g.add_edge(edge.source.node_id, edge.destination.node_id) if not nx.is_directed_acyclic_graph(g): - raise InvalidEdgeError(f'Edge creates a cycle in the graph: {edge.source.node_id} -> {edge.destination.node_id}') + raise InvalidEdgeError( + f"Edge creates a cycle in the graph: {edge.source.node_id} -> {edge.destination.node_id}" + ) # Validate that the field types are compatible - if not are_connections_compatible( - from_node, edge.source.field, to_node, edge.destination.field - ): - raise InvalidEdgeError(f'Fields are incompatible: cannot connect {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}') + if not are_connections_compatible(from_node, edge.source.field, to_node, edge.destination.field): + raise InvalidEdgeError( + f"Fields are incompatible: cannot connect {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}" + ) # Validate if iterator output type matches iterator input type (if this edge results in both being set) if isinstance(to_node, IterateInvocation) and edge.destination.field == "collection": - if not self._is_iterator_connection_valid( - edge.destination.node_id, new_input=edge.source - ): - raise InvalidEdgeError(f'Iterator input type does not match iterator output type: {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}') + if not self._is_iterator_connection_valid(edge.destination.node_id, new_input=edge.source): + raise InvalidEdgeError( + f"Iterator input type does not match iterator output type: {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}" + ) # Validate if iterator input type matches output type (if this edge results in both being set) if isinstance(from_node, IterateInvocation) and edge.source.field == "item": - if not self._is_iterator_connection_valid( - edge.source.node_id, new_output=edge.destination - ): - raise InvalidEdgeError(f'Iterator output type does not match iterator input type:, {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}') + if not self._is_iterator_connection_valid(edge.source.node_id, new_output=edge.destination): + raise InvalidEdgeError( + f"Iterator output type does not match iterator input type:, {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}" + ) # Validate if collector input type matches output type (if this edge results in both being set) if isinstance(to_node, CollectInvocation) and edge.destination.field == "item": - if not self._is_collector_connection_valid( - edge.destination.node_id, new_input=edge.source - ): - raise InvalidEdgeError(f'Collector output type does not match collector input type: {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}') + if not self._is_collector_connection_valid(edge.destination.node_id, new_input=edge.source): + raise InvalidEdgeError( + f"Collector output type does not match collector input type: {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}" + ) # Validate if collector output type matches input type (if this edge results in both being set) if isinstance(from_node, CollectInvocation) and edge.source.field == "collection": - if not self._is_collector_connection_valid( - edge.source.node_id, new_output=edge.destination - ): - raise InvalidEdgeError(f'Collector input type does not match collector output type: {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}') - + if not self._is_collector_connection_valid(edge.source.node_id, new_output=edge.destination): + raise InvalidEdgeError( + f"Collector input type does not match collector output type: {edge.source.node_id}.{edge.source.field} to {edge.destination.node_id}.{edge.destination.field}" + ) def has_node(self, node_path: str) -> bool: """Determines whether or not a node exists in the graph.""" @@ -465,17 +460,13 @@ class Graph(BaseModel): # Ensure the node type matches the new node if type(node) != type(new_node): - raise TypeError( - f"Node {node_path} is type {type(node)} but new node is type {type(new_node)}" - ) + raise TypeError(f"Node {node_path} is type {type(node)} but new node is type {type(new_node)}") # Ensure the new id is either the same or is not in the graph prefix = None if "." not in node_path else node_path[: node_path.rindex(".")] new_path = self._get_node_path(new_node.id, prefix=prefix) if new_node.id != node.id and self.has_node(new_path): - raise NodeAlreadyInGraphError( - "Node with id {new_node.id} already exists in graph" - ) + raise NodeAlreadyInGraphError("Node with id {new_node.id} already exists in graph") # Set the new node in the graph graph.nodes[new_node.id] = new_node @@ -497,9 +488,7 @@ class Graph(BaseModel): graph.add_edge( Edge( source=edge.source, - destination=EdgeConnection( - node_id=new_graph_node_path, field=edge.destination.field - ) + destination=EdgeConnection(node_id=new_graph_node_path, field=edge.destination.field), ) ) @@ -512,16 +501,12 @@ class Graph(BaseModel): ) graph.add_edge( Edge( - source=EdgeConnection( - node_id=new_graph_node_path, field=edge.source.field - ), - destination=edge.destination + source=EdgeConnection(node_id=new_graph_node_path, field=edge.source.field), + destination=edge.destination, ) ) - def _get_input_edges( - self, node_path: str, field: Optional[str] = None - ) -> list[Edge]: + def _get_input_edges(self, node_path: str, field: Optional[str] = None) -> list[Edge]: """Gets all input edges for a node""" edges = self._get_input_edges_and_graphs(node_path) @@ -538,7 +523,7 @@ class Graph(BaseModel): destination=EdgeConnection( node_id=self._get_node_path(e.destination.node_id, prefix=prefix), field=e.destination.field, - ) + ), ) for _, prefix, e in filtered_edges ] @@ -550,32 +535,20 @@ class Graph(BaseModel): edges = list() # Return any input edges that appear in this graph - edges.extend( - [(self, prefix, e) for e in self.edges if e.destination.node_id == node_path] - ) + edges.extend([(self, prefix, e) for e in self.edges if e.destination.node_id == node_path]) - node_id = ( - node_path if "." not in node_path else node_path[: node_path.index(".")] - ) + node_id = node_path if "." not in node_path else node_path[: node_path.index(".")] node = self.nodes[node_id] if isinstance(node, GraphInvocation): graph = node.graph - graph_path = ( - node.id - if prefix is None or prefix == "" - else self._get_node_path(node.id, prefix=prefix) - ) - graph_edges = graph._get_input_edges_and_graphs( - node_path[(len(node_id) + 1) :], prefix=graph_path - ) + graph_path = node.id if prefix is None or prefix == "" else self._get_node_path(node.id, prefix=prefix) + graph_edges = graph._get_input_edges_and_graphs(node_path[(len(node_id) + 1) :], prefix=graph_path) edges.extend(graph_edges) return edges - def _get_output_edges( - self, node_path: str, field: str - ) -> list[Edge]: + def _get_output_edges(self, node_path: str, field: str) -> list[Edge]: """Gets all output edges for a node""" edges = self._get_output_edges_and_graphs(node_path) @@ -592,7 +565,7 @@ class Graph(BaseModel): destination=EdgeConnection( node_id=self._get_node_path(e.destination.node_id, prefix=prefix), field=e.destination.field, - ) + ), ) for _, prefix, e in filtered_edges ] @@ -604,25 +577,15 @@ class Graph(BaseModel): edges = list() # Return any input edges that appear in this graph - edges.extend( - [(self, prefix, e) for e in self.edges if e.source.node_id == node_path] - ) + edges.extend([(self, prefix, e) for e in self.edges if e.source.node_id == node_path]) - node_id = ( - node_path if "." not in node_path else node_path[: node_path.index(".")] - ) + node_id = node_path if "." not in node_path else node_path[: node_path.index(".")] node = self.nodes[node_id] if isinstance(node, GraphInvocation): graph = node.graph - graph_path = ( - node.id - if prefix is None or prefix == "" - else self._get_node_path(node.id, prefix=prefix) - ) - graph_edges = graph._get_output_edges_and_graphs( - node_path[(len(node_id) + 1) :], prefix=graph_path - ) + graph_path = node.id if prefix is None or prefix == "" else self._get_node_path(node.id, prefix=prefix) + graph_edges = graph._get_output_edges_and_graphs(node_path[(len(node_id) + 1) :], prefix=graph_path) edges.extend(graph_edges) return edges @@ -646,12 +609,8 @@ class Graph(BaseModel): return False # Get input and output fields (the fields linked to the iterator's input/output) - input_field = get_output_field( - self.get_node(inputs[0].node_id), inputs[0].field - ) - output_fields = list( - [get_input_field(self.get_node(e.node_id), e.field) for e in outputs] - ) + input_field = get_output_field(self.get_node(inputs[0].node_id), inputs[0].field) + output_fields = list([get_input_field(self.get_node(e.node_id), e.field) for e in outputs]) # Input type must be a list if get_origin(input_field) != list: @@ -659,12 +618,7 @@ class Graph(BaseModel): # Validate that all outputs match the input type input_field_item_type = get_args(input_field)[0] - if not all( - ( - are_connection_types_compatible(input_field_item_type, f) - for f in output_fields - ) - ): + if not all((are_connection_types_compatible(input_field_item_type, f) for f in output_fields)): return False return True @@ -684,35 +638,21 @@ class Graph(BaseModel): outputs.append(new_output) # Get input and output fields (the fields linked to the iterator's input/output) - input_fields = list( - [get_output_field(self.get_node(e.node_id), e.field) for e in inputs] - ) - output_fields = list( - [get_input_field(self.get_node(e.node_id), e.field) for e in outputs] - ) + input_fields = list([get_output_field(self.get_node(e.node_id), e.field) for e in inputs]) + output_fields = list([get_input_field(self.get_node(e.node_id), e.field) for e in outputs]) # Validate that all inputs are derived from or match a single type input_field_types = set( [ t for input_field in input_fields - for t in ( - [input_field] - if get_origin(input_field) == None - else get_args(input_field) - ) + for t in ([input_field] if get_origin(input_field) == None else get_args(input_field)) if t != NoneType ] ) # Get unique types type_tree = nx.DiGraph() type_tree.add_nodes_from(input_field_types) - type_tree.add_edges_from( - [ - e - for e in itertools.permutations(input_field_types, 2) - if issubclass(e[1], e[0]) - ] - ) + type_tree.add_edges_from([e for e in itertools.permutations(input_field_types, 2) if issubclass(e[1], e[0])]) type_degrees = type_tree.in_degree(type_tree.nodes) if sum((t[1] == 0 for t in type_degrees)) != 1: # type: ignore return False # There is more than one root type @@ -729,9 +669,7 @@ class Graph(BaseModel): return False # Verify that all outputs match the input type (are a base class or the same class) - if not all( - (issubclass(input_root_type, get_args(f)[0]) for f in output_fields) - ): + if not all((issubclass(input_root_type, get_args(f)[0]) for f in output_fields)): return False return True @@ -751,9 +689,7 @@ class Graph(BaseModel): g.add_edges_from(set([(e.source.node_id, e.destination.node_id) for e in self.edges])) return g - def nx_graph_flat( - self, nx_graph: Optional[nx.DiGraph] = None, prefix: Optional[str] = None - ) -> nx.DiGraph: + def nx_graph_flat(self, nx_graph: Optional[nx.DiGraph] = None, prefix: Optional[str] = None) -> nx.DiGraph: """Returns a flattened NetworkX DiGraph, including all subgraphs (but not with iterations expanded)""" g = nx_graph or nx.DiGraph() @@ -762,26 +698,18 @@ class Graph(BaseModel): [ self._get_node_path(n.id, prefix) for n in self.nodes.values() - if not isinstance(n, GraphInvocation) - and not isinstance(n, IterateInvocation) + if not isinstance(n, GraphInvocation) and not isinstance(n, IterateInvocation) ] ) # Expand graph nodes - for sgn in ( - gn for gn in self.nodes.values() if isinstance(gn, GraphInvocation) - ): + for sgn in (gn for gn in self.nodes.values() if isinstance(gn, GraphInvocation)): g = sgn.graph.nx_graph_flat(g, self._get_node_path(sgn.id, prefix)) # TODO: figure out if iteration nodes need to be expanded unique_edges = set([(e.source.node_id, e.destination.node_id) for e in self.edges]) - g.add_edges_from( - [ - (self._get_node_path(e[0], prefix), self._get_node_path(e[1], prefix)) - for e in unique_edges - ] - ) + g.add_edges_from([(self._get_node_path(e[0], prefix), self._get_node_path(e[1], prefix)) for e in unique_edges]) return g @@ -800,23 +728,19 @@ class GraphExecutionState(BaseModel): ) # Nodes that have been executed - executed: set[str] = Field( - description="The set of node ids that have been executed", default_factory=set - ) + executed: set[str] = Field(description="The set of node ids that have been executed", default_factory=set) executed_history: list[str] = Field( description="The list of node ids that have been executed, in order of execution", default_factory=list, ) # The results of executed nodes - results: dict[ - str, Annotated[InvocationOutputsUnion, Field(discriminator="type")] - ] = Field(description="The results of node executions", default_factory=dict) + results: dict[str, Annotated[InvocationOutputsUnion, Field(discriminator="type")]] = Field( + description="The results of node executions", default_factory=dict + ) # Errors raised when executing nodes - errors: dict[str, str] = Field( - description="Errors raised when executing nodes", default_factory=dict - ) + errors: dict[str, str] = Field(description="Errors raised when executing nodes", default_factory=dict) # Map of prepared/executed nodes to their original nodes prepared_source_mapping: dict[str, str] = Field( @@ -832,16 +756,16 @@ class GraphExecutionState(BaseModel): class Config: schema_extra = { - 'required': [ - 'id', - 'graph', - 'execution_graph', - 'executed', - 'executed_history', - 'results', - 'errors', - 'prepared_source_mapping', - 'source_prepared_mapping', + "required": [ + "id", + "graph", + "execution_graph", + "executed", + "executed_history", + "results", + "errors", + "prepared_source_mapping", + "source_prepared_mapping", ] } @@ -899,9 +823,7 @@ class GraphExecutionState(BaseModel): """Returns true if the graph has any errors""" return len(self.errors) > 0 - def _create_execution_node( - self, node_path: str, iteration_node_map: list[tuple[str, str]] - ) -> list[str]: + def _create_execution_node(self, node_path: str, iteration_node_map: list[tuple[str, str]]) -> list[str]: """Prepares an iteration node and connects all edges, returning the new node id""" node = self.graph.get_node(node_path) @@ -911,20 +833,12 @@ class GraphExecutionState(BaseModel): # If this is an iterator node, we must create a copy for each iteration if isinstance(node, IterateInvocation): # Get input collection edge (should error if there are no inputs) - input_collection_edge = next( - iter(self.graph._get_input_edges(node_path, "collection")) - ) + input_collection_edge = next(iter(self.graph._get_input_edges(node_path, "collection"))) input_collection_prepared_node_id = next( - n[1] - for n in iteration_node_map - if n[0] == input_collection_edge.source.node_id - ) - input_collection_prepared_node_output = self.results[ - input_collection_prepared_node_id - ] - input_collection = getattr( - input_collection_prepared_node_output, input_collection_edge.source.field + n[1] for n in iteration_node_map if n[0] == input_collection_edge.source.node_id ) + input_collection_prepared_node_output = self.results[input_collection_prepared_node_id] + input_collection = getattr(input_collection_prepared_node_output, input_collection_edge.source.field) self_iteration_count = len(input_collection) new_nodes = list() @@ -939,9 +853,7 @@ class GraphExecutionState(BaseModel): # For collect nodes, this may contain multiple inputs to the same field new_edges = list() for edge in input_edges: - for input_node_id in ( - n[1] for n in iteration_node_map if n[0] == edge.source.node_id - ): + for input_node_id in (n[1] for n in iteration_node_map if n[0] == edge.source.node_id): new_edge = Edge( source=EdgeConnection(node_id=input_node_id, field=edge.source.field), destination=EdgeConnection(node_id="", field=edge.destination.field), @@ -982,11 +894,7 @@ class GraphExecutionState(BaseModel): def _iterator_graph(self) -> nx.DiGraph: """Gets a DiGraph with edges to collectors removed so an ancestor search produces all active iterators for any node""" g = self.graph.nx_graph_flat() - collectors = ( - n - for n in self.graph.nodes - if isinstance(self.graph.get_node(n), CollectInvocation) - ) + collectors = (n for n in self.graph.nodes if isinstance(self.graph.get_node(n), CollectInvocation)) for c in collectors: g.remove_edges_from(list(g.in_edges(c))) return g @@ -994,11 +902,7 @@ class GraphExecutionState(BaseModel): def _get_node_iterators(self, node_id: str) -> list[str]: """Gets iterators for a node""" g = self._iterator_graph() - iterators = [ - n - for n in nx.ancestors(g, node_id) - if isinstance(self.graph.get_node(n), IterateInvocation) - ] + iterators = [n for n in nx.ancestors(g, node_id) if isinstance(self.graph.get_node(n), IterateInvocation)] return iterators def _prepare(self) -> Optional[str]: @@ -1045,29 +949,18 @@ class GraphExecutionState(BaseModel): if isinstance(next_node, CollectInvocation): # Collapse all iterator input mappings and create a single execution node for the collect invocation all_iteration_mappings = list( - itertools.chain( - *( - ((s, p) for p in self.source_prepared_mapping[s]) - for s in next_node_parents - ) - ) + itertools.chain(*(((s, p) for p in self.source_prepared_mapping[s]) for s in next_node_parents)) ) # all_iteration_mappings = list(set(itertools.chain(*prepared_parent_mappings))) - create_results = self._create_execution_node( - next_node_id, all_iteration_mappings - ) + create_results = self._create_execution_node(next_node_id, all_iteration_mappings) if create_results is not None: new_node_ids.extend(create_results) else: # Iterators or normal nodes # Get all iterator combinations for this node # Will produce a list of lists of prepared iterator nodes, from which results can be iterated iterator_nodes = self._get_node_iterators(next_node_id) - iterator_nodes_prepared = [ - list(self.source_prepared_mapping[n]) for n in iterator_nodes - ] - iterator_node_prepared_combinations = list( - itertools.product(*iterator_nodes_prepared) - ) + iterator_nodes_prepared = [list(self.source_prepared_mapping[n]) for n in iterator_nodes] + iterator_node_prepared_combinations = list(itertools.product(*iterator_nodes_prepared)) # Select the correct prepared parents for each iteration # For every iterator, the parent must either not be a child of that iterator, or must match the prepared iteration for that iterator @@ -1096,31 +989,16 @@ class GraphExecutionState(BaseModel): return next(iter(prepared_nodes)) # Check if the requested node is an iterator - prepared_iterator = next( - (n for n in prepared_nodes if n in prepared_iterator_nodes), None - ) + prepared_iterator = next((n for n in prepared_nodes if n in prepared_iterator_nodes), None) if prepared_iterator is not None: return prepared_iterator # Filter to only iterator nodes that are a parent of the specified node, in tuple format (prepared, source) - iterator_source_node_mapping = [ - (n, self.prepared_source_mapping[n]) for n in prepared_iterator_nodes - ] - parent_iterators = [ - itn - for itn in iterator_source_node_mapping - if nx.has_path(graph, itn[1], source_node_path) - ] + iterator_source_node_mapping = [(n, self.prepared_source_mapping[n]) for n in prepared_iterator_nodes] + parent_iterators = [itn for itn in iterator_source_node_mapping if nx.has_path(graph, itn[1], source_node_path)] return next( - ( - n - for n in prepared_nodes - if all( - nx.has_path(execution_graph, pit[0], n) - for pit in parent_iterators - ) - ), + (n for n in prepared_nodes if all(nx.has_path(execution_graph, pit[0], n) for pit in parent_iterators)), None, ) @@ -1130,13 +1008,13 @@ class GraphExecutionState(BaseModel): # Depth-first search with pre-order traversal is a depth-first topological sort sorted_nodes = nx.dfs_preorder_nodes(g) - + next_node = next( ( n for n in sorted_nodes - if n not in self.executed # the node must not already be executed... - and all((e[0] in self.executed for e in g.in_edges(n))) # ...and all its inputs must be executed + if n not in self.executed # the node must not already be executed... + and all((e[0] in self.executed for e in g.in_edges(n))) # ...and all its inputs must be executed ), None, ) @@ -1221,15 +1099,18 @@ class ExposedNodeOutput(BaseModel): field: str = Field(description="The field name of the output") alias: str = Field(description="The alias of the output") + class LibraryGraph(BaseModel): id: str = Field(description="The unique identifier for this library graph", default_factory=uuid.uuid4) graph: Graph = Field(description="The graph") name: str = Field(description="The name of the graph") description: str = Field(description="The description of the graph") exposed_inputs: list[ExposedNodeInput] = Field(description="The inputs exposed by this graph", default_factory=list) - exposed_outputs: list[ExposedNodeOutput] = Field(description="The outputs exposed by this graph", default_factory=list) + exposed_outputs: list[ExposedNodeOutput] = Field( + description="The outputs exposed by this graph", default_factory=list + ) - @validator('exposed_inputs', 'exposed_outputs') + @validator("exposed_inputs", "exposed_outputs") def validate_exposed_aliases(cls, v): if len(v) != len(set(i.alias for i in v)): raise ValueError("Duplicate exposed alias") @@ -1237,23 +1118,27 @@ class LibraryGraph(BaseModel): @root_validator def validate_exposed_nodes(cls, values): - graph = values['graph'] + graph = values["graph"] # Validate exposed inputs - for exposed_input in values['exposed_inputs']: + for exposed_input in values["exposed_inputs"]: if not graph.has_node(exposed_input.node_path): raise ValueError(f"Exposed input node {exposed_input.node_path} does not exist") node = graph.get_node(exposed_input.node_path) if get_input_field(node, exposed_input.field) is None: - raise ValueError(f"Exposed input field {exposed_input.field} does not exist on node {exposed_input.node_path}") + raise ValueError( + f"Exposed input field {exposed_input.field} does not exist on node {exposed_input.node_path}" + ) # Validate exposed outputs - for exposed_output in values['exposed_outputs']: + for exposed_output in values["exposed_outputs"]: if not graph.has_node(exposed_output.node_path): raise ValueError(f"Exposed output node {exposed_output.node_path} does not exist") node = graph.get_node(exposed_output.node_path) if get_output_field(node, exposed_output.field) is None: - raise ValueError(f"Exposed output field {exposed_output.field} does not exist on node {exposed_output.node_path}") + raise ValueError( + f"Exposed output field {exposed_output.field} does not exist on node {exposed_output.node_path}" + ) return values diff --git a/invokeai/app/services/image_file_storage.py b/invokeai/app/services/image_file_storage.py index 60ae613748..fb8563a3e4 100644 --- a/invokeai/app/services/image_file_storage.py +++ b/invokeai/app/services/image_file_storage.py @@ -85,9 +85,7 @@ class DiskImageFileStorage(ImageFileStorageBase): self.__cache_ids = Queue() self.__max_cache_size = 10 # TODO: get this from config - self.__output_folder: Path = ( - output_folder if isinstance(output_folder, Path) else Path(output_folder) - ) + self.__output_folder: Path = output_folder if isinstance(output_folder, Path) else Path(output_folder) self.__thumbnails_folder = self.__output_folder / "thumbnails" # Validate required output folders at launch @@ -120,7 +118,7 @@ class DiskImageFileStorage(ImageFileStorageBase): image_path = self.get_path(image_name) pnginfo = PngImagePlugin.PngInfo() - + if metadata is not None: pnginfo.add_text("invokeai_metadata", json.dumps(metadata)) if graph is not None: @@ -183,9 +181,7 @@ class DiskImageFileStorage(ImageFileStorageBase): def __set_cache(self, image_name: Path, image: PILImageType): if not image_name in self.__cache: self.__cache[image_name] = image - self.__cache_ids.put( - image_name - ) # TODO: this should refresh position for LRU cache + self.__cache_ids.put(image_name) # TODO: this should refresh position for LRU cache if len(self.__cache) > self.__max_cache_size: cache_id = self.__cache_ids.get() if cache_id in self.__cache: diff --git a/invokeai/app/services/image_record_storage.py b/invokeai/app/services/image_record_storage.py index eb69679a35..8c274ab8f9 100644 --- a/invokeai/app/services/image_record_storage.py +++ b/invokeai/app/services/image_record_storage.py @@ -426,9 +426,7 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): finally: self._lock.release() - return OffsetPaginatedResults( - items=images, offset=offset, limit=limit, total=count - ) + return OffsetPaginatedResults(items=images, offset=offset, limit=limit, total=count) def delete(self, image_name: str) -> None: try: @@ -466,7 +464,6 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): finally: self._lock.release() - def delete_intermediates(self) -> list[str]: try: self._lock.acquire() @@ -505,9 +502,7 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): is_intermediate: bool = False, ) -> datetime: try: - metadata_json = ( - None if metadata is None else json.dumps(metadata) - ) + metadata_json = None if metadata is None else json.dumps(metadata) self._lock.acquire() self._cursor.execute( """--sql diff --git a/invokeai/app/services/images.py b/invokeai/app/services/images.py index 007f4021d4..f8376eb626 100644 --- a/invokeai/app/services/images.py +++ b/invokeai/app/services/images.py @@ -217,12 +217,8 @@ class ImageService(ImageServiceABC): session_id=session_id, ) if board_id is not None: - self._services.board_image_records.add_image_to_board( - board_id=board_id, image_name=image_name - ) - self._services.image_files.save( - image_name=image_name, image=image, metadata=metadata, graph=graph - ) + self._services.board_image_records.add_image_to_board(board_id=board_id, image_name=image_name) + self._services.image_files.save(image_name=image_name, image=image, metadata=metadata, graph=graph) image_dto = self.get_dto(image_name) return image_dto @@ -297,9 +293,7 @@ class ImageService(ImageServiceABC): if not image_record.session_id: return ImageMetadata() - session_raw = self._services.graph_execution_manager.get_raw( - image_record.session_id - ) + session_raw = self._services.graph_execution_manager.get_raw(image_record.session_id) graph = None if session_raw: @@ -364,9 +358,7 @@ class ImageService(ImageServiceABC): r, self._services.urls.get_image_url(r.image_name), self._services.urls.get_image_url(r.image_name, True), - self._services.board_image_records.get_board_for_image( - r.image_name - ), + self._services.board_image_records.get_board_for_image(r.image_name), ), results.items, ) @@ -398,11 +390,7 @@ class ImageService(ImageServiceABC): def delete_images_on_board(self, board_id: str): try: - image_names = ( - self._services.board_image_records.get_all_board_image_names_for_board( - board_id - ) - ) + image_names = self._services.board_image_records.get_all_board_image_names_for_board(board_id) for image_name in image_names: self._services.image_files.delete(image_name) self._services.image_records.delete_many(image_names) diff --git a/invokeai/app/services/invocation_queue.py b/invokeai/app/services/invocation_queue.py index eb78a542a6..963d500aa8 100644 --- a/invokeai/app/services/invocation_queue.py +++ b/invokeai/app/services/invocation_queue.py @@ -7,6 +7,7 @@ from queue import Queue from pydantic import BaseModel, Field from typing import Optional + class InvocationQueueItem(BaseModel): graph_execution_state_id: str = Field(description="The ID of the graph execution state") invocation_id: str = Field(description="The ID of the node being invoked") @@ -45,9 +46,11 @@ class MemoryInvocationQueue(InvocationQueueABC): def get(self) -> InvocationQueueItem: item = self.__queue.get() - while isinstance(item, InvocationQueueItem) \ - and item.graph_execution_state_id in self.__cancellations \ - and self.__cancellations[item.graph_execution_state_id] > item.timestamp: + while ( + isinstance(item, InvocationQueueItem) + and item.graph_execution_state_id in self.__cancellations + and self.__cancellations[item.graph_execution_state_id] > item.timestamp + ): item = self.__queue.get() # Clear old items diff --git a/invokeai/app/services/invoker.py b/invokeai/app/services/invoker.py index 951d3b17c4..1a7b0de27e 100644 --- a/invokeai/app/services/invoker.py +++ b/invokeai/app/services/invoker.py @@ -7,6 +7,7 @@ from .graph import Graph, GraphExecutionState from .invocation_queue import InvocationQueueItem from .invocation_services import InvocationServices + class Invoker: """The invoker, used to execute invocations""" @@ -16,9 +17,7 @@ class Invoker: self.services = services self._start() - def invoke( - self, graph_execution_state: GraphExecutionState, invoke_all: bool = False - ) -> Optional[str]: + def invoke(self, graph_execution_state: GraphExecutionState, invoke_all: bool = False) -> Optional[str]: """Determines the next node to invoke and enqueues it, preparing if needed. Returns the id of the queued node, or `None` if there are no nodes left to enqueue.""" diff --git a/invokeai/app/services/item_storage.py b/invokeai/app/services/item_storage.py index 709d88bf97..5fe4eb7456 100644 --- a/invokeai/app/services/item_storage.py +++ b/invokeai/app/services/item_storage.py @@ -9,13 +9,15 @@ T = TypeVar("T", bound=BaseModel) class PaginatedResults(GenericModel, Generic[T]): """Paginated results""" - #fmt: off + + # fmt: off items: list[T] = Field(description="Items") page: int = Field(description="Current Page") pages: int = Field(description="Total number of pages") per_page: int = Field(description="Number of items per page") total: int = Field(description="Total number of items in result") - #fmt: on + # fmt: on + class ItemStorageABC(ABC, Generic[T]): _on_changed_callbacks: list[Callable[[T], None]] @@ -48,9 +50,7 @@ class ItemStorageABC(ABC, Generic[T]): pass @abstractmethod - def search( - self, query: str, page: int = 0, per_page: int = 10 - ) -> PaginatedResults[T]: + def search(self, query: str, page: int = 0, per_page: int = 10) -> PaginatedResults[T]: pass def on_changed(self, on_changed: Callable[[T], None]) -> None: diff --git a/invokeai/app/services/latent_storage.py b/invokeai/app/services/latent_storage.py index 0e23d6d018..7e781c49ec 100644 --- a/invokeai/app/services/latent_storage.py +++ b/invokeai/app/services/latent_storage.py @@ -7,6 +7,7 @@ from typing import Dict, Union, Optional import torch + class LatentsStorageBase(ABC): """Responsible for storing and retrieving latents.""" @@ -25,7 +26,7 @@ class LatentsStorageBase(ABC): class ForwardCacheLatentsStorage(LatentsStorageBase): """Caches the latest N latents in memory, writing-thorugh to and reading from underlying storage""" - + __cache: Dict[str, torch.Tensor] __cache_ids: Queue __max_cache_size: int @@ -87,8 +88,6 @@ class DiskLatentsStorage(LatentsStorageBase): def delete(self, name: str) -> None: latent_path = self.get_path(name) latent_path.unlink() - def get_path(self, name: str) -> Path: return self.__output_folder / name - diff --git a/invokeai/app/services/model_manager_service.py b/invokeai/app/services/model_manager_service.py index f7d3b3a7a7..c84cc3d189 100644 --- a/invokeai/app/services/model_manager_service.py +++ b/invokeai/app/services/model_manager_service.py @@ -103,7 +103,7 @@ class ModelManagerServiceBase(ABC): } """ pass - + @abstractmethod def list_model(self, model_name: str, base_model: BaseModelType, model_type: ModelType) -> dict: """ @@ -125,7 +125,7 @@ class ModelManagerServiceBase(ABC): base_model: BaseModelType, model_type: ModelType, model_attributes: dict, - clobber: bool = False + clobber: bool = False, ) -> AddModelResult: """ Update the named model with a dictionary of attributes. Will fail with an @@ -148,12 +148,12 @@ class ModelManagerServiceBase(ABC): Update the named model with a dictionary of attributes. Will fail with a ModelNotFoundException if the name does not already exist. - On a successful update, the config will be changed in memory. Will fail - with an assertion error if provided attributes are incorrect or + On a successful update, the config will be changed in memory. Will fail + with an assertion error if provided attributes are incorrect or the model name is missing. Call commit() to write changes to disk. """ pass - + @abstractmethod def del_model( self, @@ -169,21 +169,20 @@ class ModelManagerServiceBase(ABC): pass @abstractmethod - def rename_model(self, - model_name: str, - base_model: BaseModelType, - model_type: ModelType, - new_name: str, - ): + def rename_model( + self, + model_name: str, + base_model: BaseModelType, + model_type: ModelType, + new_name: str, + ): """ Rename the indicated model. """ pass @abstractmethod - def list_checkpoint_configs( - self - )->List[Path]: + def list_checkpoint_configs(self) -> List[Path]: """ List the checkpoint config paths from ROOT/configs/stable-diffusion. """ @@ -194,7 +193,7 @@ class ModelManagerServiceBase(ABC): self, model_name: str, base_model: BaseModelType, - model_type: Union[ModelType.Main,ModelType.Vae], + model_type: Union[ModelType.Main, ModelType.Vae], ) -> AddModelResult: """ Convert a checkpoint file into a diffusers folder, deleting the cached @@ -211,11 +210,12 @@ class ModelManagerServiceBase(ABC): pass @abstractmethod - def heuristic_import(self, - items_to_import: set[str], - prediction_type_helper: Optional[Callable[[Path],SchedulerPredictionType]]=None, - )->dict[str, AddModelResult]: - '''Import a list of paths, repo_ids or URLs. Returns the set of + def heuristic_import( + self, + items_to_import: set[str], + prediction_type_helper: Optional[Callable[[Path], SchedulerPredictionType]] = None, + ) -> dict[str, AddModelResult]: + """Import a list of paths, repo_ids or URLs. Returns the set of successfully imported items. :param items_to_import: Set of strings corresponding to models to be imported. :param prediction_type_helper: A callback that receives the Path of a Stable Diffusion 2 checkpoint model and returns a SchedulerPredictionType. @@ -230,19 +230,23 @@ class ModelManagerServiceBase(ABC): The result is a set of successfully installed models. Each element of the set is a dict corresponding to the newly-created OmegaConf stanza for that model. - ''' + """ pass @abstractmethod def merge_models( - self, - model_names: List[str] = Field(default=None, min_items=2, max_items=3, description="List of model names to merge"), - base_model: Union[BaseModelType,str] = Field(default=None, description="Base model shared by all models to be merged"), - merged_model_name: str = Field(default=None, description="Name of destination model after merging"), - alpha: Optional[float] = 0.5, - interp: Optional[MergeInterpolationMethod] = None, - force: Optional[bool] = False, - merge_dest_directory: Optional[Path] = None + self, + model_names: List[str] = Field( + default=None, min_items=2, max_items=3, description="List of model names to merge" + ), + base_model: Union[BaseModelType, str] = Field( + default=None, description="Base model shared by all models to be merged" + ), + merged_model_name: str = Field(default=None, description="Name of destination model after merging"), + alpha: Optional[float] = 0.5, + interp: Optional[MergeInterpolationMethod] = None, + force: Optional[bool] = False, + merge_dest_directory: Optional[Path] = None, ) -> AddModelResult: """ Merge two to three diffusrs pipeline models and save as a new model. @@ -250,27 +254,27 @@ class ModelManagerServiceBase(ABC): :param base_model: Base model to use for all models :param merged_model_name: Name of destination merged model :param alpha: Alpha strength to apply to 2d and 3d model - :param interp: Interpolation method. None (default) + :param interp: Interpolation method. None (default) :param merge_dest_directory: Save the merged model to the designated directory (with 'merged_model_name' appended) """ pass @abstractmethod - def search_for_models(self, directory: Path)->List[Path]: + def search_for_models(self, directory: Path) -> List[Path]: """ Return list of all models found in the designated directory. """ pass - + @abstractmethod def sync_to_config(self): """ - Re-read models.yaml, rescan the models directory, and reimport models + Re-read models.yaml, rescan the models directory, and reimport models in the autoimport directories. Call after making changes outside the model manager API. """ pass - + @abstractmethod def commit(self, conf_file: Optional[Path] = None) -> None: """ @@ -280,9 +284,11 @@ class ModelManagerServiceBase(ABC): """ pass + # simple implementation class ModelManagerService(ModelManagerServiceBase): """Responsible for managing models on disk and in memory""" + def __init__( self, config: InvokeAIAppConfig, @@ -298,17 +304,17 @@ class ModelManagerService(ModelManagerServiceBase): config_file = config.model_conf_path else: config_file = config.root_dir / "configs/models.yaml" - - logger.debug(f'Config file={config_file}') + + logger.debug(f"Config file={config_file}") device = torch.device(choose_torch_device()) - device_name = torch.cuda.get_device_name() if device==torch.device('cuda') else '' - logger.info(f'GPU device = {device} {device_name}') + device_name = torch.cuda.get_device_name() if device == torch.device("cuda") else "" + logger.info(f"GPU device = {device} {device_name}") precision = config.precision if precision == "auto": precision = choose_precision(device) - dtype = torch.float32 if precision == 'float32' else torch.float16 + dtype = torch.float32 if precision == "float32" else torch.float16 # this is transitional backward compatibility # support for the deprecated `max_loaded_models` @@ -316,9 +322,7 @@ class ModelManagerService(ModelManagerServiceBase): # cache size is set to 2.5 GB times # the number of max_loaded_models. Otherwise # use new `max_cache_size` config setting - max_cache_size = config.max_cache_size \ - if hasattr(config,'max_cache_size') \ - else config.max_loaded_models * 2.5 + max_cache_size = config.max_cache_size if hasattr(config, "max_cache_size") else config.max_loaded_models * 2.5 logger.debug(f"Maximum RAM cache size: {max_cache_size} GiB") @@ -332,7 +336,7 @@ class ModelManagerService(ModelManagerServiceBase): sequential_offload=sequential_offload, logger=logger, ) - logger.info('Model manager service initialized') + logger.info("Model manager service initialized") def get_model( self, @@ -371,7 +375,7 @@ class ModelManagerService(ModelManagerServiceBase): base_model=base_model, model_type=model_type, submodel=submodel, - model_info=model_info + model_info=model_info, ) return model_info @@ -405,9 +409,7 @@ class ModelManagerService(ModelManagerServiceBase): return self.mgr.model_names() def list_models( - self, - base_model: Optional[BaseModelType] = None, - model_type: Optional[ModelType] = None + self, base_model: Optional[BaseModelType] = None, model_type: Optional[ModelType] = None ) -> list[dict]: """ Return a list of models. @@ -418,9 +420,7 @@ class ModelManagerService(ModelManagerServiceBase): """ Return information about the model using the same format as list_models() """ - return self.mgr.list_model(model_name=model_name, - base_model=base_model, - model_type=model_type) + return self.mgr.list_model(model_name=model_name, base_model=base_model, model_type=model_type) def add_model( self, @@ -429,7 +429,7 @@ class ModelManagerService(ModelManagerServiceBase): model_type: ModelType, model_attributes: dict, clobber: bool = False, - )->None: + ) -> None: """ Update the named model with a dictionary of attributes. Will fail with an assertion error if the name already exists. Pass clobber=True to overwrite. @@ -437,7 +437,7 @@ class ModelManagerService(ModelManagerServiceBase): with an assertion error if provided attributes are incorrect or the model name is missing. Call commit() to write changes to disk. """ - self.logger.debug(f'add/update model {model_name}') + self.logger.debug(f"add/update model {model_name}") return self.mgr.add_model(model_name, base_model, model_type, model_attributes, clobber) def update_model( @@ -450,15 +450,15 @@ class ModelManagerService(ModelManagerServiceBase): """ Update the named model with a dictionary of attributes. Will fail with a ModelNotFoundException exception if the name does not already exist. - On a successful update, the config will be changed in memory. Will fail - with an assertion error if provided attributes are incorrect or + On a successful update, the config will be changed in memory. Will fail + with an assertion error if provided attributes are incorrect or the model name is missing. Call commit() to write changes to disk. """ - self.logger.debug(f'update model {model_name}') + self.logger.debug(f"update model {model_name}") if not self.model_exists(model_name, base_model, model_type): raise ModelNotFoundException(f"Unknown model {model_name}") return self.add_model(model_name, base_model, model_type, model_attributes, clobber=True) - + def del_model( self, model_name: str, @@ -470,7 +470,7 @@ class ModelManagerService(ModelManagerServiceBase): then the underlying weight file or diffusers directory will be deleted as well. """ - self.logger.debug(f'delete model {model_name}') + self.logger.debug(f"delete model {model_name}") self.mgr.del_model(model_name, base_model, model_type) self.mgr.commit() @@ -478,8 +478,10 @@ class ModelManagerService(ModelManagerServiceBase): self, model_name: str, base_model: BaseModelType, - model_type: Union[ModelType.Main,ModelType.Vae], - convert_dest_directory: Optional[Path] = Field(default=None, description="Optional directory location for merged model"), + model_type: Union[ModelType.Main, ModelType.Vae], + convert_dest_directory: Optional[Path] = Field( + default=None, description="Optional directory location for merged model" + ), ) -> AddModelResult: """ Convert a checkpoint file into a diffusers folder, deleting the cached @@ -494,10 +496,10 @@ class ModelManagerService(ModelManagerServiceBase): also raise a ValueError in the event that there is a similarly-named diffusers directory already in place. """ - self.logger.debug(f'convert model {model_name}') + self.logger.debug(f"convert model {model_name}") return self.mgr.convert_model(model_name, base_model, model_type, convert_dest_directory) - def commit(self, conf_file: Optional[Path]=None): + def commit(self, conf_file: Optional[Path] = None): """ Write current configuration out to the indicated file. If no conf_file is provided, then replaces the @@ -524,7 +526,7 @@ class ModelManagerService(ModelManagerServiceBase): base_model=base_model, model_type=model_type, submodel=submodel, - model_info=model_info + model_info=model_info, ) else: context.services.events.emit_model_load_started( @@ -535,16 +537,16 @@ class ModelManagerService(ModelManagerServiceBase): submodel=submodel, ) - @property def logger(self): return self.mgr.logger - def heuristic_import(self, - items_to_import: set[str], - prediction_type_helper: Optional[Callable[[Path],SchedulerPredictionType]]=None, - )->dict[str, AddModelResult]: - '''Import a list of paths, repo_ids or URLs. Returns the set of + def heuristic_import( + self, + items_to_import: set[str], + prediction_type_helper: Optional[Callable[[Path], SchedulerPredictionType]] = None, + ) -> dict[str, AddModelResult]: + """Import a list of paths, repo_ids or URLs. Returns the set of successfully imported items. :param items_to_import: Set of strings corresponding to models to be imported. :param prediction_type_helper: A callback that receives the Path of a Stable Diffusion 2 checkpoint model and returns a SchedulerPredictionType. @@ -559,18 +561,24 @@ class ModelManagerService(ModelManagerServiceBase): The result is a set of successfully installed models. Each element of the set is a dict corresponding to the newly-created OmegaConf stanza for that model. - ''' - return self.mgr.heuristic_import(items_to_import, prediction_type_helper) + """ + return self.mgr.heuristic_import(items_to_import, prediction_type_helper) def merge_models( - self, - model_names: List[str] = Field(default=None, min_items=2, max_items=3, description="List of model names to merge"), - base_model: Union[BaseModelType,str] = Field(default=None, description="Base model shared by all models to be merged"), - merged_model_name: str = Field(default=None, description="Name of destination model after merging"), - alpha: Optional[float] = 0.5, - interp: Optional[MergeInterpolationMethod] = None, - force: Optional[bool] = False, - merge_dest_directory: Optional[Path] = Field(default=None, description="Optional directory location for merged model"), + self, + model_names: List[str] = Field( + default=None, min_items=2, max_items=3, description="List of model names to merge" + ), + base_model: Union[BaseModelType, str] = Field( + default=None, description="Base model shared by all models to be merged" + ), + merged_model_name: str = Field(default=None, description="Name of destination model after merging"), + alpha: Optional[float] = 0.5, + interp: Optional[MergeInterpolationMethod] = None, + force: Optional[bool] = False, + merge_dest_directory: Optional[Path] = Field( + default=None, description="Optional directory location for merged model" + ), ) -> AddModelResult: """ Merge two to three diffusrs pipeline models and save as a new model. @@ -578,25 +586,25 @@ class ModelManagerService(ModelManagerServiceBase): :param base_model: Base model to use for all models :param merged_model_name: Name of destination merged model :param alpha: Alpha strength to apply to 2d and 3d model - :param interp: Interpolation method. None (default) + :param interp: Interpolation method. None (default) :param merge_dest_directory: Save the merged model to the designated directory (with 'merged_model_name' appended) """ merger = ModelMerger(self.mgr) try: result = merger.merge_diffusion_models_and_save( - model_names = model_names, - base_model = base_model, - merged_model_name = merged_model_name, - alpha = alpha, - interp = interp, - force = force, + model_names=model_names, + base_model=base_model, + merged_model_name=merged_model_name, + alpha=alpha, + interp=interp, + force=force, merge_dest_directory=merge_dest_directory, ) except AssertionError as e: raise ValueError(e) return result - def search_for_models(self, directory: Path)->List[Path]: + def search_for_models(self, directory: Path) -> List[Path]: """ Return list of all models found in the designated directory. """ @@ -605,28 +613,29 @@ class ModelManagerService(ModelManagerServiceBase): def sync_to_config(self): """ - Re-read models.yaml, rescan the models directory, and reimport models + Re-read models.yaml, rescan the models directory, and reimport models in the autoimport directories. Call after making changes outside the model manager API. """ return self.mgr.sync_to_config() - def list_checkpoint_configs(self)->List[Path]: + def list_checkpoint_configs(self) -> List[Path]: """ List the checkpoint config paths from ROOT/configs/stable-diffusion. """ config = self.mgr.app_config conf_path = config.legacy_conf_path root_path = config.root_path - return [(conf_path / x).relative_to(root_path) for x in conf_path.glob('**/*.yaml')] + return [(conf_path / x).relative_to(root_path) for x in conf_path.glob("**/*.yaml")] - def rename_model(self, - model_name: str, - base_model: BaseModelType, - model_type: ModelType, - new_name: str = None, - new_base: BaseModelType = None, - ): + def rename_model( + self, + model_name: str, + base_model: BaseModelType, + model_type: ModelType, + new_name: str = None, + new_base: BaseModelType = None, + ): """ Rename the indicated model. Can provide a new name and/or a new base. :param model_name: Current name of the model @@ -635,10 +644,10 @@ class ModelManagerService(ModelManagerServiceBase): :param new_name: New name for the model :param new_base: New base for the model """ - self.mgr.rename_model(base_model = base_model, - model_type = model_type, - model_name = model_name, - new_name = new_name, - new_base = new_base, - ) - + self.mgr.rename_model( + base_model=base_model, + model_type=model_type, + model_name=model_name, + new_name=new_name, + new_base=new_base, + ) diff --git a/invokeai/app/services/models/board_record.py b/invokeai/app/services/models/board_record.py index bf5401b209..658698e794 100644 --- a/invokeai/app/services/models/board_record.py +++ b/invokeai/app/services/models/board_record.py @@ -11,30 +11,20 @@ class BoardRecord(BaseModel): """The unique ID of the board.""" board_name: str = Field(description="The name of the board.") """The name of the board.""" - created_at: Union[datetime, str] = Field( - description="The created timestamp of the board." - ) + created_at: Union[datetime, str] = Field(description="The created timestamp of the board.") """The created timestamp of the image.""" - updated_at: Union[datetime, str] = Field( - description="The updated timestamp of the board." - ) + updated_at: Union[datetime, str] = Field(description="The updated timestamp of the board.") """The updated timestamp of the image.""" - deleted_at: Union[datetime, str, None] = Field( - description="The deleted timestamp of the board." - ) + deleted_at: Union[datetime, str, None] = Field(description="The deleted timestamp of the board.") """The updated timestamp of the image.""" - cover_image_name: Optional[str] = Field( - description="The name of the cover image of the board." - ) + cover_image_name: Optional[str] = Field(description="The name of the cover image of the board.") """The name of the cover image of the board.""" class BoardDTO(BoardRecord): """Deserialized board record with cover image URL and image count.""" - cover_image_name: Optional[str] = Field( - description="The name of the board's cover image." - ) + cover_image_name: Optional[str] = Field(description="The name of the board's cover image.") """The URL of the thumbnail of the most recent image in the board.""" image_count: int = Field(description="The number of images in the board.") """The number of images in the board.""" diff --git a/invokeai/app/services/models/image_record.py b/invokeai/app/services/models/image_record.py index cf10f6e8b2..a105d03ba8 100644 --- a/invokeai/app/services/models/image_record.py +++ b/invokeai/app/services/models/image_record.py @@ -20,17 +20,11 @@ class ImageRecord(BaseModel): """The actual width of the image in px. This may be different from the width in metadata.""" height: int = Field(description="The height of the image in px.") """The actual height of the image in px. This may be different from the height in metadata.""" - created_at: Union[datetime.datetime, str] = Field( - description="The created timestamp of the image." - ) + created_at: Union[datetime.datetime, str] = Field(description="The created timestamp of the image.") """The created timestamp of the image.""" - updated_at: Union[datetime.datetime, str] = Field( - description="The updated timestamp of the image." - ) + updated_at: Union[datetime.datetime, str] = Field(description="The updated timestamp of the image.") """The updated timestamp of the image.""" - deleted_at: Union[datetime.datetime, str, None] = Field( - description="The deleted timestamp of the image." - ) + deleted_at: Union[datetime.datetime, str, None] = Field(description="The deleted timestamp of the image.") """The deleted timestamp of the image.""" is_intermediate: bool = Field(description="Whether this is an intermediate image.") """Whether this is an intermediate image.""" @@ -55,18 +49,14 @@ class ImageRecordChanges(BaseModel, extra=Extra.forbid): - `is_intermediate`: change the image's `is_intermediate` flag """ - image_category: Optional[ImageCategory] = Field( - description="The image's new category." - ) + image_category: Optional[ImageCategory] = Field(description="The image's new category.") """The image's new category.""" session_id: Optional[StrictStr] = Field( default=None, description="The image's new session ID.", ) """The image's new session ID.""" - is_intermediate: Optional[StrictBool] = Field( - default=None, description="The image's new `is_intermediate` flag." - ) + is_intermediate: Optional[StrictBool] = Field(default=None, description="The image's new `is_intermediate` flag.") """The image's new `is_intermediate` flag.""" @@ -84,9 +74,7 @@ class ImageUrlsDTO(BaseModel): class ImageDTO(ImageRecord, ImageUrlsDTO): """Deserialized image record, enriched for the frontend.""" - board_id: Optional[str] = Field( - description="The id of the board the image belongs to, if one exists." - ) + board_id: Optional[str] = Field(description="The id of the board the image belongs to, if one exists.") """The id of the board the image belongs to, if one exists.""" pass @@ -110,12 +98,8 @@ def deserialize_image_record(image_dict: dict) -> ImageRecord: # TODO: do we really need to handle default values here? ideally the data is the correct shape... image_name = image_dict.get("image_name", "unknown") - image_origin = ResourceOrigin( - image_dict.get("image_origin", ResourceOrigin.INTERNAL.value) - ) - image_category = ImageCategory( - image_dict.get("image_category", ImageCategory.GENERAL.value) - ) + image_origin = ResourceOrigin(image_dict.get("image_origin", ResourceOrigin.INTERNAL.value)) + image_category = ImageCategory(image_dict.get("image_category", ImageCategory.GENERAL.value)) width = image_dict.get("width", 0) height = image_dict.get("height", 0) session_id = image_dict.get("session_id", None) diff --git a/invokeai/app/services/processor.py b/invokeai/app/services/processor.py index 5995e4ffc3..50fe217e05 100644 --- a/invokeai/app/services/processor.py +++ b/invokeai/app/services/processor.py @@ -8,6 +8,8 @@ from .invoker import InvocationProcessorABC, Invoker from ..models.exceptions import CanceledException import invokeai.backend.util.logging as logger + + class DefaultInvocationProcessor(InvocationProcessorABC): __invoker_thread: Thread __stop_event: Event @@ -24,9 +26,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): target=self.__process, kwargs=dict(stop_event=self.__stop_event), ) - self.__invoker_thread.daemon = ( - True # TODO: make async and do not use threads - ) + self.__invoker_thread.daemon = True # TODO: make async and do not use threads self.__invoker_thread.start() def stop(self, *args, **kwargs) -> None: @@ -47,10 +47,8 @@ class DefaultInvocationProcessor(InvocationProcessorABC): continue try: - graph_execution_state = ( - self.__invoker.services.graph_execution_manager.get( - queue_item.graph_execution_state_id - ) + graph_execution_state = self.__invoker.services.graph_execution_manager.get( + queue_item.graph_execution_state_id ) except Exception as e: self.__invoker.services.logger.error("Exception while retrieving session:\n%s" % e) @@ -60,11 +58,9 @@ class DefaultInvocationProcessor(InvocationProcessorABC): error=traceback.format_exc(), ) continue - + try: - invocation = graph_execution_state.execution_graph.get_node( - queue_item.invocation_id - ) + invocation = graph_execution_state.execution_graph.get_node(queue_item.invocation_id) except Exception as e: self.__invoker.services.logger.error("Exception while retrieving invocation:\n%s" % e) self.__invoker.services.events.emit_invocation_retrieval_error( @@ -82,7 +78,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): self.__invoker.services.events.emit_invocation_started( graph_execution_state_id=graph_execution_state.id, node=invocation.dict(), - source_node_id=source_node_id + source_node_id=source_node_id, ) # Invoke @@ -95,18 +91,14 @@ class DefaultInvocationProcessor(InvocationProcessorABC): ) # Check queue to see if this is canceled, and skip if so - if self.__invoker.services.queue.is_canceled( - graph_execution_state.id - ): + if self.__invoker.services.queue.is_canceled(graph_execution_state.id): continue # Save outputs and history graph_execution_state.complete(invocation.id, outputs) # Save the state changes - self.__invoker.services.graph_execution_manager.set( - graph_execution_state - ) + self.__invoker.services.graph_execution_manager.set(graph_execution_state) # Send complete event self.__invoker.services.events.emit_invocation_complete( @@ -130,9 +122,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): graph_execution_state.set_node_error(invocation.id, error) # Save the state changes - self.__invoker.services.graph_execution_manager.set( - graph_execution_state - ) + self.__invoker.services.graph_execution_manager.set(graph_execution_state) self.__invoker.services.logger.error("Error while invoking:\n%s" % e) # Send error event @@ -147,9 +137,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): pass # Check queue to see if this is canceled, and skip if so - if self.__invoker.services.queue.is_canceled( - graph_execution_state.id - ): + if self.__invoker.services.queue.is_canceled(graph_execution_state.id): continue # Queue any further commands if invoking all @@ -164,12 +152,10 @@ class DefaultInvocationProcessor(InvocationProcessorABC): node=invocation.dict(), source_node_id=source_node_id, error_type=e.__class__.__name__, - error=traceback.format_exc() + error=traceback.format_exc(), ) elif is_complete: - self.__invoker.services.events.emit_graph_execution_complete( - graph_execution_state.id - ) + self.__invoker.services.events.emit_graph_execution_complete(graph_execution_state.id) except KeyboardInterrupt: pass # Log something? KeyboardInterrupt is probably not going to be seen by the processor diff --git a/invokeai/app/services/sqlite.py b/invokeai/app/services/sqlite.py index 8902415096..855f3f1939 100644 --- a/invokeai/app/services/sqlite.py +++ b/invokeai/app/services/sqlite.py @@ -66,9 +66,7 @@ class SqliteItemStorage(ItemStorageABC, Generic[T]): def get(self, id: str) -> Optional[T]: try: self._lock.acquire() - self._cursor.execute( - f"""SELECT item FROM {self._table_name} WHERE id = ?;""", (str(id),) - ) + self._cursor.execute(f"""SELECT item FROM {self._table_name} WHERE id = ?;""", (str(id),)) result = self._cursor.fetchone() finally: self._lock.release() @@ -81,9 +79,7 @@ class SqliteItemStorage(ItemStorageABC, Generic[T]): def get_raw(self, id: str) -> Optional[str]: try: self._lock.acquire() - self._cursor.execute( - f"""SELECT item FROM {self._table_name} WHERE id = ?;""", (str(id),) - ) + self._cursor.execute(f"""SELECT item FROM {self._table_name} WHERE id = ?;""", (str(id),)) result = self._cursor.fetchone() finally: self._lock.release() @@ -96,9 +92,7 @@ class SqliteItemStorage(ItemStorageABC, Generic[T]): def delete(self, id: str): try: self._lock.acquire() - self._cursor.execute( - f"""DELETE FROM {self._table_name} WHERE id = ?;""", (str(id),) - ) + self._cursor.execute(f"""DELETE FROM {self._table_name} WHERE id = ?;""", (str(id),)) self._conn.commit() finally: self._lock.release() @@ -122,13 +116,9 @@ class SqliteItemStorage(ItemStorageABC, Generic[T]): pageCount = int(count / per_page) + 1 - return PaginatedResults[T]( - items=items, page=page, pages=pageCount, per_page=per_page, total=count - ) + return PaginatedResults[T](items=items, page=page, pages=pageCount, per_page=per_page, total=count) - def search( - self, query: str, page: int = 0, per_page: int = 10 - ) -> PaginatedResults[T]: + def search(self, query: str, page: int = 0, per_page: int = 10) -> PaginatedResults[T]: try: self._lock.acquire() self._cursor.execute( @@ -149,6 +139,4 @@ class SqliteItemStorage(ItemStorageABC, Generic[T]): pageCount = int(count / per_page) + 1 - return PaginatedResults[T]( - items=items, page=page, pages=pageCount, per_page=per_page, total=count - ) + return PaginatedResults[T](items=items, page=page, pages=pageCount, per_page=per_page, total=count) diff --git a/invokeai/app/util/controlnet_utils.py b/invokeai/app/util/controlnet_utils.py index 342fa147c5..6f2c49fec2 100644 --- a/invokeai/app/util/controlnet_utils.py +++ b/invokeai/app/util/controlnet_utils.py @@ -17,16 +17,8 @@ from controlnet_aux.util import HWC3, resize_image # If you use this, please Cite "High Quality Edge Thinning using Pure Python", Lvmin Zhang, In Mikubill/sd-webui-controlnet. lvmin_kernels_raw = [ - np.array([ - [-1, -1, -1], - [0, 1, 0], - [1, 1, 1] - ], dtype=np.int32), - np.array([ - [0, -1, -1], - [1, 1, -1], - [0, 1, 0] - ], dtype=np.int32) + np.array([[-1, -1, -1], [0, 1, 0], [1, 1, 1]], dtype=np.int32), + np.array([[0, -1, -1], [1, 1, -1], [0, 1, 0]], dtype=np.int32), ] lvmin_kernels = [] @@ -36,16 +28,8 @@ lvmin_kernels += [np.rot90(x, k=2, axes=(0, 1)) for x in lvmin_kernels_raw] lvmin_kernels += [np.rot90(x, k=3, axes=(0, 1)) for x in lvmin_kernels_raw] lvmin_prunings_raw = [ - np.array([ - [-1, -1, -1], - [-1, 1, -1], - [0, 0, -1] - ], dtype=np.int32), - np.array([ - [-1, -1, -1], - [-1, 1, -1], - [-1, 0, 0] - ], dtype=np.int32) + np.array([[-1, -1, -1], [-1, 1, -1], [0, 0, -1]], dtype=np.int32), + np.array([[-1, -1, -1], [-1, 1, -1], [-1, 0, 0]], dtype=np.int32), ] lvmin_prunings = [] @@ -99,10 +83,10 @@ def nake_nms(x): ################################################################################ # FIXME: not using yet, if used in the future will most likely require modification of preprocessors def pixel_perfect_resolution( - image: np.ndarray, - target_H: int, - target_W: int, - resize_mode: str, + image: np.ndarray, + target_H: int, + target_W: int, + resize_mode: str, ) -> int: """ Calculate the estimated resolution for resizing an image while preserving aspect ratio. @@ -135,7 +119,7 @@ def pixel_perfect_resolution( if resize_mode == "fill_resize": estimation = min(k0, k1) * float(min(raw_H, raw_W)) - else: # "crop_resize" or "just_resize" (or possibly "just_resize_simple"?) + else: # "crop_resize" or "just_resize" (or possibly "just_resize_simple"?) estimation = max(k0, k1) * float(min(raw_H, raw_W)) # print(f"Pixel Perfect Computation:") @@ -154,13 +138,7 @@ def pixel_perfect_resolution( # modified for InvokeAI ########################################################################### # def detectmap_proc(detected_map, module, resize_mode, h, w): -def np_img_resize( - np_img: np.ndarray, - resize_mode: str, - h: int, - w: int, - device: torch.device = torch.device('cpu') -): +def np_img_resize(np_img: np.ndarray, resize_mode: str, h: int, w: int, device: torch.device = torch.device("cpu")): # if 'inpaint' in module: # np_img = np_img.astype(np.float32) # else: @@ -184,15 +162,14 @@ def np_img_resize( # below is very boring but do not change these. If you change these Apple or Mac may fail. y = torch.from_numpy(y) y = y.float() / 255.0 - y = rearrange(y, 'h w c -> 1 c h w') + y = rearrange(y, "h w c -> 1 c h w") y = y.clone() # y = y.to(devices.get_device_for("controlnet")) y = y.to(device) y = y.clone() return y - def high_quality_resize(x: np.ndarray, - size): + def high_quality_resize(x: np.ndarray, size): # Written by lvmin # Super high-quality control map up-scaling, considering binary, seg, and one-pixel edges inpaint_mask = None @@ -244,7 +221,7 @@ def np_img_resize( return y # if resize_mode == external_code.ResizeMode.RESIZE: - if resize_mode == "just_resize": # RESIZE + if resize_mode == "just_resize": # RESIZE np_img = high_quality_resize(np_img, (w, h)) np_img = safe_numpy(np_img) return get_pytorch_control(np_img), np_img @@ -270,20 +247,21 @@ def np_img_resize( new_h, new_w, _ = np_img.shape pad_h = max(0, (h - new_h) // 2) pad_w = max(0, (w - new_w) // 2) - high_quality_background[pad_h:pad_h + new_h, pad_w:pad_w + new_w] = np_img + high_quality_background[pad_h : pad_h + new_h, pad_w : pad_w + new_w] = np_img np_img = high_quality_background np_img = safe_numpy(np_img) return get_pytorch_control(np_img), np_img - else: # resize_mode == "crop_resize" (INNER_FIT) + else: # resize_mode == "crop_resize" (INNER_FIT) k = max(k0, k1) np_img = high_quality_resize(np_img, (safeint(old_w * k), safeint(old_h * k))) new_h, new_w, _ = np_img.shape pad_h = max(0, (new_h - h) // 2) pad_w = max(0, (new_w - w) // 2) - np_img = np_img[pad_h:pad_h + h, pad_w:pad_w + w] + np_img = np_img[pad_h : pad_h + h, pad_w : pad_w + w] np_img = safe_numpy(np_img) return get_pytorch_control(np_img), np_img + def prepare_control_image( # image used to be Union[PIL.Image.Image, List[PIL.Image.Image], torch.Tensor, List[torch.Tensor]] # but now should be able to assume that image is a single PIL.Image, which simplifies things @@ -301,15 +279,17 @@ def prepare_control_image( resize_mode="just_resize_simple", ): # FIXME: implement "crop_resize_simple" and "fill_resize_simple", or pull them out - if (resize_mode == "just_resize_simple" or - resize_mode == "crop_resize_simple" or - resize_mode == "fill_resize_simple"): + if ( + resize_mode == "just_resize_simple" + or resize_mode == "crop_resize_simple" + or resize_mode == "fill_resize_simple" + ): image = image.convert("RGB") - if (resize_mode == "just_resize_simple"): + if resize_mode == "just_resize_simple": image = image.resize((width, height), resample=PIL_INTERPOLATION["lanczos"]) - elif (resize_mode == "crop_resize_simple"): # not yet implemented + elif resize_mode == "crop_resize_simple": # not yet implemented pass - elif (resize_mode == "fill_resize_simple"): # not yet implemented + elif resize_mode == "fill_resize_simple": # not yet implemented pass nimage = np.array(image) nimage = nimage[None, :] @@ -320,7 +300,7 @@ def prepare_control_image( timage = torch.from_numpy(nimage) # use fancy lvmin controlnet resizing - elif (resize_mode == "just_resize" or resize_mode == "crop_resize" or resize_mode == "fill_resize"): + elif resize_mode == "just_resize" or resize_mode == "crop_resize" or resize_mode == "fill_resize": nimage = np.array(image) timage, nimage = np_img_resize( np_img=nimage, @@ -336,7 +316,7 @@ def prepare_control_image( exit(1) timage = timage.to(device=device, dtype=dtype) - cfg_injection = (control_mode == "more_control" or control_mode == "unbalanced") + cfg_injection = control_mode == "more_control" or control_mode == "unbalanced" if do_classifier_free_guidance and not cfg_injection: timage = torch.cat([timage] * 2) return timage diff --git a/invokeai/app/util/step_callback.py b/invokeai/app/util/step_callback.py index 1e8939b0bf..994d83e705 100644 --- a/invokeai/app/util/step_callback.py +++ b/invokeai/app/util/step_callback.py @@ -9,19 +9,16 @@ from ...backend.stable_diffusion import PipelineIntermediateState from invokeai.app.services.config import InvokeAIAppConfig -def sample_to_lowres_estimated_image(samples, latent_rgb_factors, smooth_matrix = None): +def sample_to_lowres_estimated_image(samples, latent_rgb_factors, smooth_matrix=None): latent_image = samples[0].permute(1, 2, 0) @ latent_rgb_factors if smooth_matrix is not None: latent_image = latent_image.unsqueeze(0).permute(3, 0, 1, 2) - latent_image = torch.nn.functional.conv2d(latent_image, smooth_matrix.reshape((1,1,3,3)), padding=1) + latent_image = torch.nn.functional.conv2d(latent_image, smooth_matrix.reshape((1, 1, 3, 3)), padding=1) latent_image = latent_image.permute(1, 2, 3, 0).squeeze(0) latents_ubyte = ( - ((latent_image + 1) / 2) - .clamp(0, 1) # change scale from -1..1 to 0..1 - .mul(0xFF) # to 0..255 - .byte() + ((latent_image + 1) / 2).clamp(0, 1).mul(0xFF).byte() # change scale from -1..1 to 0..1 # to 0..255 ).cpu() return Image.fromarray(latents_ubyte.numpy()) @@ -92,6 +89,7 @@ def stable_diffusion_step_callback( total_steps=node["steps"], ) + def stable_diffusion_xl_step_callback( context: InvocationContext, node: dict, @@ -106,9 +104,9 @@ def stable_diffusion_xl_step_callback( sdxl_latent_rgb_factors = torch.tensor( [ # R G B - [ 0.3816, 0.4930, 0.5320], - [-0.3753, 0.1631, 0.1739], - [ 0.1770, 0.3588, -0.2048], + [0.3816, 0.4930, 0.5320], + [-0.3753, 0.1631, 0.1739], + [0.1770, 0.3588, -0.2048], [-0.4350, -0.2644, -0.4289], ], dtype=sample.dtype, @@ -117,9 +115,9 @@ def stable_diffusion_xl_step_callback( sdxl_smooth_matrix = torch.tensor( [ - #[ 0.0478, 0.1285, 0.0478], - #[ 0.1285, 0.2948, 0.1285], - #[ 0.0478, 0.1285, 0.0478], + # [ 0.0478, 0.1285, 0.0478], + # [ 0.1285, 0.2948, 0.1285], + # [ 0.0478, 0.1285, 0.0478], [0.0358, 0.0964, 0.0358], [0.0964, 0.4711, 0.0964], [0.0358, 0.0964, 0.0358], @@ -143,4 +141,4 @@ def stable_diffusion_xl_step_callback( progress_image=ProgressImage(width=width, height=height, dataURL=dataURL), step=step, total_steps=total_steps, - ) \ No newline at end of file + ) diff --git a/invokeai/backend/__init__.py b/invokeai/backend/__init__.py index a33b70ceb4..aa2a1f1ca6 100644 --- a/invokeai/backend/__init__.py +++ b/invokeai/backend/__init__.py @@ -1,15 +1,6 @@ """ Initialization file for invokeai.backend """ -from .generator import ( - InvokeAIGeneratorBasicParams, - InvokeAIGenerator, - InvokeAIGeneratorOutput, - Img2Img, - Inpaint -) -from .model_management import ( - ModelManager, ModelCache, BaseModelType, - ModelType, SubModelType, ModelInfo - ) +from .generator import InvokeAIGeneratorBasicParams, InvokeAIGenerator, InvokeAIGeneratorOutput, Img2Img, Inpaint +from .model_management import ModelManager, ModelCache, BaseModelType, ModelType, SubModelType, ModelInfo from .model_management.models import SilenceWarnings diff --git a/invokeai/backend/generator/base.py b/invokeai/backend/generator/base.py index 8af8d399d5..af3231a7d1 100644 --- a/invokeai/backend/generator/base.py +++ b/invokeai/backend/generator/base.py @@ -33,61 +33,66 @@ from ..stable_diffusion.schedulers import SCHEDULER_MAP downsampling = 8 + @dataclass class InvokeAIGeneratorBasicParams: - seed: Optional[int]=None - width: int=512 - height: int=512 - cfg_scale: float=7.5 - steps: int=20 - ddim_eta: float=0.0 - scheduler: str='ddim' - precision: str='float16' - perlin: float=0.0 - threshold: float=0.0 - seamless: bool=False - seamless_axes: List[str]=field(default_factory=lambda: ['x', 'y']) - h_symmetry_time_pct: Optional[float]=None - v_symmetry_time_pct: Optional[float]=None + seed: Optional[int] = None + width: int = 512 + height: int = 512 + cfg_scale: float = 7.5 + steps: int = 20 + ddim_eta: float = 0.0 + scheduler: str = "ddim" + precision: str = "float16" + perlin: float = 0.0 + threshold: float = 0.0 + seamless: bool = False + seamless_axes: List[str] = field(default_factory=lambda: ["x", "y"]) + h_symmetry_time_pct: Optional[float] = None + v_symmetry_time_pct: Optional[float] = None variation_amount: float = 0.0 - with_variations: list=field(default_factory=list) + with_variations: list = field(default_factory=list) + @dataclass class InvokeAIGeneratorOutput: - ''' + """ InvokeAIGeneratorOutput is a dataclass that contains the outputs of a generation operation, including the image, its seed, the model name used to generate the image and the model hash, as well as all the generate() parameters that went into generating the image (in .params, also available as attributes) - ''' + """ + image: Image.Image seed: int model_hash: str attention_maps_images: List[Image.Image] params: Namespace + # we are interposing a wrapper around the original Generator classes so that # old code that calls Generate will continue to work. class InvokeAIGenerator(metaclass=ABCMeta): - def __init__(self, - model_info: dict, - params: InvokeAIGeneratorBasicParams=InvokeAIGeneratorBasicParams(), - **kwargs, - ): - self.model_info=model_info - self.params=params + def __init__( + self, + model_info: dict, + params: InvokeAIGeneratorBasicParams = InvokeAIGeneratorBasicParams(), + **kwargs, + ): + self.model_info = model_info + self.params = params self.kwargs = kwargs def generate( self, conditioning: tuple, scheduler, - callback: Optional[Callable]=None, - step_callback: Optional[Callable]=None, - iterations: int=1, + callback: Optional[Callable] = None, + step_callback: Optional[Callable] = None, + iterations: int = 1, **keyword_args, - )->Iterator[InvokeAIGeneratorOutput]: - ''' + ) -> Iterator[InvokeAIGeneratorOutput]: + """ Return an iterator across the indicated number of generations. Each time the iterator is called it will return an InvokeAIGeneratorOutput object. Use like this: @@ -107,7 +112,7 @@ class InvokeAIGenerator(metaclass=ABCMeta): for o in outputs: print(o.image, o.seed) - ''' + """ generator_args = dataclasses.asdict(self.params) generator_args.update(keyword_args) @@ -118,22 +123,21 @@ class InvokeAIGenerator(metaclass=ABCMeta): gen_class = self._generator_class() generator = gen_class(model, self.params.precision, **self.kwargs) if self.params.variation_amount > 0: - generator.set_variation(generator_args.get('seed'), - generator_args.get('variation_amount'), - generator_args.get('with_variations') - ) + generator.set_variation( + generator_args.get("seed"), + generator_args.get("variation_amount"), + generator_args.get("with_variations"), + ) if isinstance(model, DiffusionPipeline): for component in [model.unet, model.vae]: - configure_model_padding(component, - generator_args.get('seamless',False), - generator_args.get('seamless_axes') - ) + configure_model_padding( + component, generator_args.get("seamless", False), generator_args.get("seamless_axes") + ) else: - configure_model_padding(model, - generator_args.get('seamless',False), - generator_args.get('seamless_axes') - ) + configure_model_padding( + model, generator_args.get("seamless", False), generator_args.get("seamless_axes") + ) iteration_count = range(iterations) if iterations else itertools.count(start=0, step=1) for i in iteration_count: @@ -147,66 +151,66 @@ class InvokeAIGenerator(metaclass=ABCMeta): image=results[0][0], seed=results[0][1], attention_maps_images=results[0][2], - model_hash = model_hash, - params=Namespace(model_name=model_name,**generator_args), + model_hash=model_hash, + params=Namespace(model_name=model_name, **generator_args), ) if callback: callback(output) yield output @classmethod - def schedulers(self)->List[str]: - ''' + def schedulers(self) -> List[str]: + """ Return list of all the schedulers that we currently handle. - ''' + """ return list(SCHEDULER_MAP.keys()) def load_generator(self, model: StableDiffusionGeneratorPipeline, generator_class: Type[Generator]): return generator_class(model, self.params.precision) @classmethod - def _generator_class(cls)->Type[Generator]: - ''' + def _generator_class(cls) -> Type[Generator]: + """ In derived classes return the name of the generator to apply. If you don't override will return the name of the derived class, which nicely parallels the generator class names. - ''' + """ return Generator + # ------------------------------------ class Img2Img(InvokeAIGenerator): - def generate(self, - init_image: Union[Image.Image, torch.FloatTensor], - strength: float=0.75, - **keyword_args - )->Iterator[InvokeAIGeneratorOutput]: - return super().generate(init_image=init_image, - strength=strength, - **keyword_args - ) + def generate( + self, init_image: Union[Image.Image, torch.FloatTensor], strength: float = 0.75, **keyword_args + ) -> Iterator[InvokeAIGeneratorOutput]: + return super().generate(init_image=init_image, strength=strength, **keyword_args) + @classmethod def _generator_class(cls): from .img2img import Img2Img + return Img2Img + # ------------------------------------ # Takes all the arguments of Img2Img and adds the mask image and the seam/infill stuff class Inpaint(Img2Img): - def generate(self, - mask_image: Union[Image.Image, torch.FloatTensor], - # Seam settings - when 0, doesn't fill seam - seam_size: int = 96, - seam_blur: int = 16, - seam_strength: float = 0.7, - seam_steps: int = 30, - tile_size: int = 32, - inpaint_replace=False, - infill_method=None, - inpaint_width=None, - inpaint_height=None, - inpaint_fill: tuple(int) = (0x7F, 0x7F, 0x7F, 0xFF), - **keyword_args - )->Iterator[InvokeAIGeneratorOutput]: + def generate( + self, + mask_image: Union[Image.Image, torch.FloatTensor], + # Seam settings - when 0, doesn't fill seam + seam_size: int = 96, + seam_blur: int = 16, + seam_strength: float = 0.7, + seam_steps: int = 30, + tile_size: int = 32, + inpaint_replace=False, + infill_method=None, + inpaint_width=None, + inpaint_height=None, + inpaint_fill: tuple(int) = (0x7F, 0x7F, 0x7F, 0xFF), + **keyword_args, + ) -> Iterator[InvokeAIGeneratorOutput]: return super().generate( mask_image=mask_image, seam_size=seam_size, @@ -219,13 +223,16 @@ class Inpaint(Img2Img): inpaint_width=inpaint_width, inpaint_height=inpaint_height, inpaint_fill=inpaint_fill, - **keyword_args + **keyword_args, ) + @classmethod def _generator_class(cls): from .inpaint import Inpaint + return Inpaint + class Generator: downsampling_factor: int latent_channels: int @@ -251,9 +258,7 @@ class Generator: Returns a function returning an image derived from the prompt and the initial image Return value depends on the seed at the time you call it """ - raise NotImplementedError( - "image_iterator() must be implemented in a descendent class" - ) + raise NotImplementedError("image_iterator() must be implemented in a descendent class") def set_variation(self, seed, variation_amount, with_variations): self.seed = seed @@ -280,9 +285,7 @@ class Generator: scope = nullcontext self.free_gpu_mem = free_gpu_mem attention_maps_images = [] - attention_maps_callback = lambda saver: attention_maps_images.append( - saver.get_stacked_maps_image() - ) + attention_maps_callback = lambda saver: attention_maps_images.append(saver.get_stacked_maps_image()) make_image = self.get_make_image( sampler=sampler, init_image=init_image, @@ -327,11 +330,7 @@ class Generator: results.append([image, seed, attention_maps_images]) if image_callback is not None: - attention_maps_image = ( - None - if len(attention_maps_images) == 0 - else attention_maps_images[-1] - ) + attention_maps_image = None if len(attention_maps_images) == 0 else attention_maps_images[-1] image_callback( image, seed, @@ -342,9 +341,7 @@ class Generator: seed = self.new_seed() # Free up memory from the last generation. - clear_cuda_cache = ( - kwargs["clear_cuda_cache"] if "clear_cuda_cache" in kwargs else None - ) + clear_cuda_cache = kwargs["clear_cuda_cache"] if "clear_cuda_cache" in kwargs else None if clear_cuda_cache is not None: clear_cuda_cache() @@ -371,14 +368,8 @@ class Generator: # Get the original alpha channel of the mask if there is one. # Otherwise it is some other black/white image format ('1', 'L' or 'RGB') - pil_init_mask = ( - init_mask.getchannel("A") - if init_mask.mode == "RGBA" - else init_mask.convert("L") - ) - pil_init_image = init_image.convert( - "RGBA" - ) # Add an alpha channel if one doesn't exist + pil_init_mask = init_mask.getchannel("A") if init_mask.mode == "RGBA" else init_mask.convert("L") + pil_init_image = init_image.convert("RGBA") # Add an alpha channel if one doesn't exist # Build an image with only visible pixels from source to use as reference for color-matching. init_rgb_pixels = np.asarray(init_image.convert("RGB"), dtype=np.uint8) @@ -404,10 +395,7 @@ class Generator: np_matched_result[:, :, :] = ( ( ( - ( - np_matched_result[:, :, :].astype(np.float32) - - gen_means[None, None, :] - ) + (np_matched_result[:, :, :].astype(np.float32) - gen_means[None, None, :]) / gen_std[None, None, :] ) * init_std[None, None, :] @@ -433,9 +421,7 @@ class Generator: else: blurred_init_mask = pil_init_mask - multiplied_blurred_init_mask = ImageChops.multiply( - blurred_init_mask, self.pil_image.split()[-1] - ) + multiplied_blurred_init_mask = ImageChops.multiply(blurred_init_mask, self.pil_image.split()[-1]) # Paste original on color-corrected generation (using blurred mask) matched_result.paste(init_image, (0, 0), mask=multiplied_blurred_init_mask) @@ -461,10 +447,7 @@ class Generator: latent_image = samples[0].permute(1, 2, 0) @ v1_5_latent_rgb_factors latents_ubyte = ( - ((latent_image + 1) / 2) - .clamp(0, 1) # change scale from -1..1 to 0..1 - .mul(0xFF) # to 0..255 - .byte() + ((latent_image + 1) / 2).clamp(0, 1).mul(0xFF).byte() # change scale from -1..1 to 0..1 # to 0..255 ).cpu() return Image.fromarray(latents_ubyte.numpy()) @@ -494,9 +477,7 @@ class Generator: temp_height = int((height + 7) / 8) * 8 noise = torch.stack( [ - rand_perlin_2d( - (temp_height, temp_width), (8, 8), device=self.model.device - ).to(fixdevice) + rand_perlin_2d((temp_height, temp_width), (8, 8), device=self.model.device).to(fixdevice) for _ in range(input_channels) ], dim=0, @@ -573,8 +554,6 @@ class Generator: device=device, ) if self.perlin > 0.0: - perlin_noise = self.get_perlin_noise( - width // self.downsampling_factor, height // self.downsampling_factor - ) + perlin_noise = self.get_perlin_noise(width // self.downsampling_factor, height // self.downsampling_factor) x = (1 - self.perlin) * x + self.perlin * perlin_noise return x diff --git a/invokeai/backend/generator/img2img.py b/invokeai/backend/generator/img2img.py index b3b0e8f510..5490b2325c 100644 --- a/invokeai/backend/generator/img2img.py +++ b/invokeai/backend/generator/img2img.py @@ -77,10 +77,7 @@ class Img2Img(Generator): callback=step_callback, seed=seed, ) - if ( - pipeline_output.attention_map_saver is not None - and attention_maps_callback is not None - ): + if pipeline_output.attention_map_saver is not None and attention_maps_callback is not None: attention_maps_callback(pipeline_output.attention_map_saver) return pipeline.numpy_to_pil(pipeline_output.images)[0] @@ -91,7 +88,5 @@ class Img2Img(Generator): x = torch.randn_like(like, device=device) if self.perlin > 0.0: shape = like.shape - x = (1 - self.perlin) * x + self.perlin * self.get_perlin_noise( - shape[3], shape[2] - ) + x = (1 - self.perlin) * x + self.perlin * self.get_perlin_noise(shape[3], shape[2]) return x diff --git a/invokeai/backend/generator/inpaint.py b/invokeai/backend/generator/inpaint.py index c91fe0c6a7..7aeb3d4809 100644 --- a/invokeai/backend/generator/inpaint.py +++ b/invokeai/backend/generator/inpaint.py @@ -68,15 +68,11 @@ class Inpaint(Img2Img): return im # Patchmatch (note, we may want to expose patch_size? Increasing it significantly impacts performance though) - im_patched_np = PatchMatch.inpaint( - im.convert("RGB"), ImageOps.invert(im.split()[-1]), patch_size=3 - ) + im_patched_np = PatchMatch.inpaint(im.convert("RGB"), ImageOps.invert(im.split()[-1]), patch_size=3) im_patched = Image.fromarray(im_patched_np, mode="RGB") return im_patched - def tile_fill_missing( - self, im: Image.Image, tile_size: int = 16, seed: Optional[int] = None - ) -> Image.Image: + def tile_fill_missing(self, im: Image.Image, tile_size: int = 16, seed: Optional[int] = None) -> Image.Image: # Only fill if there's an alpha layer if im.mode != "RGBA": return im @@ -127,15 +123,11 @@ class Inpaint(Img2Img): return si - def mask_edge( - self, mask: Image.Image, edge_size: int, edge_blur: int - ) -> Image.Image: + def mask_edge(self, mask: Image.Image, edge_size: int, edge_blur: int) -> Image.Image: npimg = np.asarray(mask, dtype=np.uint8) # Detect any partially transparent regions - npgradient = np.uint8( - 255 * (1.0 - np.floor(np.abs(0.5 - np.float32(npimg) / 255.0) * 2.0)) - ) + npgradient = np.uint8(255 * (1.0 - np.floor(np.abs(0.5 - np.float32(npimg) / 255.0) * 2.0))) # Detect hard edges npedge = cv2.Canny(npimg, threshold1=100, threshold2=200) @@ -144,9 +136,7 @@ class Inpaint(Img2Img): npmask = npgradient + npedge # Expand - npmask = cv2.dilate( - npmask, np.ones((3, 3), np.uint8), iterations=int(edge_size / 2) - ) + npmask = cv2.dilate(npmask, np.ones((3, 3), np.uint8), iterations=int(edge_size / 2)) new_mask = Image.fromarray(npmask) @@ -242,25 +232,19 @@ class Inpaint(Img2Img): if infill_method == "patchmatch" and PatchMatch.patchmatch_available(): init_filled = self.infill_patchmatch(self.pil_image.copy()) elif infill_method == "tile": - init_filled = self.tile_fill_missing( - self.pil_image.copy(), seed=self.seed, tile_size=tile_size - ) + init_filled = self.tile_fill_missing(self.pil_image.copy(), seed=self.seed, tile_size=tile_size) elif infill_method == "solid": solid_bg = Image.new("RGBA", init_image.size, inpaint_fill) init_filled = Image.alpha_composite(solid_bg, init_image) else: - raise ValueError( - f"Non-supported infill type {infill_method}", infill_method - ) + raise ValueError(f"Non-supported infill type {infill_method}", infill_method) init_filled.paste(init_image, (0, 0), init_image.split()[-1]) # Resize if requested for inpainting if inpaint_width and inpaint_height: init_filled = init_filled.resize((inpaint_width, inpaint_height)) - debug_image( - init_filled, "init_filled", debug_status=self.enable_image_debugging - ) + debug_image(init_filled, "init_filled", debug_status=self.enable_image_debugging) # Create init tensor init_image = image_resized_to_grid_as_tensor(init_filled.convert("RGB")) @@ -289,9 +273,7 @@ class Inpaint(Img2Img): "mask_image AFTER multiply with pil_image", debug_status=self.enable_image_debugging, ) - mask: torch.FloatTensor = image_resized_to_grid_as_tensor( - mask_image, normalize=False - ) + mask: torch.FloatTensor = image_resized_to_grid_as_tensor(mask_image, normalize=False) else: mask: torch.FloatTensor = mask_image @@ -302,9 +284,9 @@ class Inpaint(Img2Img): # todo: support cross-attention control uc, c, _ = conditioning - conditioning_data = ConditioningData( - uc, c, cfg_scale - ).add_scheduler_args_if_applicable(pipeline.scheduler, eta=ddim_eta) + conditioning_data = ConditioningData(uc, c, cfg_scale).add_scheduler_args_if_applicable( + pipeline.scheduler, eta=ddim_eta + ) def make_image(x_T: torch.Tensor, seed: int): pipeline_output = pipeline.inpaint_from_embeddings( @@ -318,15 +300,10 @@ class Inpaint(Img2Img): seed=seed, ) - if ( - pipeline_output.attention_map_saver is not None - and attention_maps_callback is not None - ): + if pipeline_output.attention_map_saver is not None and attention_maps_callback is not None: attention_maps_callback(pipeline_output.attention_map_saver) - result = self.postprocess_size_and_mask( - pipeline.numpy_to_pil(pipeline_output.images)[0] - ) + result = self.postprocess_size_and_mask(pipeline.numpy_to_pil(pipeline_output.images)[0]) # Seam paint if this is our first pass (seam_size set to 0 during seam painting) if seam_size > 0: diff --git a/invokeai/backend/image_util/__init__.py b/invokeai/backend/image_util/__init__.py index 410f003f6a..9fa635b389 100644 --- a/invokeai/backend/image_util/__init__.py +++ b/invokeai/backend/image_util/__init__.py @@ -8,9 +8,7 @@ from .txt2mask import Txt2Mask from .util import InitImageResizer, make_grid -def debug_image( - debug_image, debug_text, debug_show=True, debug_result=False, debug_status=False -): +def debug_image(debug_image, debug_text, debug_show=True, debug_result=False, debug_status=False): if not debug_status: return diff --git a/invokeai/backend/image_util/invisible_watermark.py b/invokeai/backend/image_util/invisible_watermark.py index 0fb72b095d..4605daea43 100644 --- a/invokeai/backend/image_util/invisible_watermark.py +++ b/invokeai/backend/image_util/invisible_watermark.py @@ -9,26 +9,26 @@ from PIL import Image from imwatermark import WatermarkEncoder from invokeai.app.services.config import InvokeAIAppConfig import invokeai.backend.util.logging as logger + config = InvokeAIAppConfig.get_config() + class InvisibleWatermark: """ Wrapper around InvisibleWatermark module. """ - + @classmethod def invisible_watermark_available(self) -> bool: return config.invisible_watermark @classmethod - def add_watermark(self, image: Image, watermark_text:str) -> Image: + def add_watermark(self, image: Image, watermark_text: str) -> Image: if not self.invisible_watermark_available(): return image logger.debug(f'Applying invisible watermark "{watermark_text}"') bgr = cv2.cvtColor(np.array(image.convert("RGB")), cv2.COLOR_RGB2BGR) encoder = WatermarkEncoder() - encoder.set_watermark('bytes', watermark_text.encode('utf-8')) - bgr_encoded = encoder.encode(bgr, 'dwtDct') - return Image.fromarray( - cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB) - ).convert("RGBA") + encoder.set_watermark("bytes", watermark_text.encode("utf-8")) + bgr_encoded = encoder.encode(bgr, "dwtDct") + return Image.fromarray(cv2.cvtColor(bgr_encoded, cv2.COLOR_BGR2RGB)).convert("RGBA") diff --git a/invokeai/backend/image_util/patchmatch.py b/invokeai/backend/image_util/patchmatch.py index 2e65f08d9f..98055f60c8 100644 --- a/invokeai/backend/image_util/patchmatch.py +++ b/invokeai/backend/image_util/patchmatch.py @@ -7,8 +7,10 @@ be suppressed or deferred import numpy as np import invokeai.backend.util.logging as logger from invokeai.app.services.config import InvokeAIAppConfig + config = InvokeAIAppConfig.get_config() + class PatchMatch: """ Thin class wrapper around the patchmatch function. diff --git a/invokeai/backend/image_util/pngwriter.py b/invokeai/backend/image_util/pngwriter.py index 452bbfc783..d3f53d7e72 100644 --- a/invokeai/backend/image_util/pngwriter.py +++ b/invokeai/backend/image_util/pngwriter.py @@ -34,9 +34,7 @@ class PngWriter: # saves image named _image_ to outdir/name, writing metadata from prompt # returns full path of output - def save_image_and_prompt_to_png( - self, image, dream_prompt, name, metadata=None, compress_level=6 - ): + def save_image_and_prompt_to_png(self, image, dream_prompt, name, metadata=None, compress_level=6): path = os.path.join(self.outdir, name) info = PngImagePlugin.PngInfo() info.add_text("Dream", dream_prompt) @@ -114,8 +112,6 @@ class PromptFormatter: if opt.variation_amount > 0: switches.append(f"-v{opt.variation_amount}") if opt.with_variations: - formatted_variations = ",".join( - f"{seed}:{weight}" for seed, weight in opt.with_variations - ) + formatted_variations = ",".join(f"{seed}:{weight}" for seed, weight in opt.with_variations) switches.append(f"-V{formatted_variations}") return " ".join(switches) diff --git a/invokeai/backend/image_util/safety_checker.py b/invokeai/backend/image_util/safety_checker.py index 7a31c9422d..483e563b82 100644 --- a/invokeai/backend/image_util/safety_checker.py +++ b/invokeai/backend/image_util/safety_checker.py @@ -9,14 +9,17 @@ from invokeai.backend import SilenceWarnings from invokeai.app.services.config import InvokeAIAppConfig from invokeai.backend.util.devices import choose_torch_device import invokeai.backend.util.logging as logger + config = InvokeAIAppConfig.get_config() -CHECKER_PATH = 'core/convert/stable-diffusion-safety-checker' +CHECKER_PATH = "core/convert/stable-diffusion-safety-checker" + class SafetyChecker: """ Wrapper around SafetyChecker model. """ + safety_checker = None feature_extractor = None tried_load: bool = False @@ -25,21 +28,19 @@ class SafetyChecker: def _load_safety_checker(self): if self.tried_load: return - + if config.nsfw_checker: try: from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker from transformers import AutoFeatureExtractor - self.safety_checker = StableDiffusionSafetyChecker.from_pretrained( - config.models_path / CHECKER_PATH - ) - self.feature_extractor = AutoFeatureExtractor.from_pretrained( - config.models_path / CHECKER_PATH) - logger.info('NSFW checker initialized') + + self.safety_checker = StableDiffusionSafetyChecker.from_pretrained(config.models_path / CHECKER_PATH) + self.feature_extractor = AutoFeatureExtractor.from_pretrained(config.models_path / CHECKER_PATH) + logger.info("NSFW checker initialized") except Exception as e: - logger.warning(f'Could not load NSFW checker: {str(e)}') + logger.warning(f"Could not load NSFW checker: {str(e)}") else: - logger.info('NSFW checker loading disabled') + logger.info("NSFW checker loading disabled") self.tried_load = True @classmethod @@ -51,7 +52,7 @@ class SafetyChecker: def has_nsfw_concept(self, image: Image) -> bool: if not self.safety_checker_available(): return False - + device = choose_torch_device() features = self.feature_extractor([image], return_tensors="pt") features.to(device) diff --git a/invokeai/backend/image_util/seamless.py b/invokeai/backend/image_util/seamless.py index 4fbc0cd78e..6fb2617901 100644 --- a/invokeai/backend/image_util/seamless.py +++ b/invokeai/backend/image_util/seamless.py @@ -5,12 +5,8 @@ def _conv_forward_asymmetric(self, input, weight, bias): """ Patch for Conv2d._conv_forward that supports asymmetric padding """ - working = nn.functional.pad( - input, self.asymmetric_padding["x"], mode=self.asymmetric_padding_mode["x"] - ) - working = nn.functional.pad( - working, self.asymmetric_padding["y"], mode=self.asymmetric_padding_mode["y"] - ) + working = nn.functional.pad(input, self.asymmetric_padding["x"], mode=self.asymmetric_padding_mode["x"]) + working = nn.functional.pad(working, self.asymmetric_padding["y"], mode=self.asymmetric_padding_mode["y"]) return nn.functional.conv2d( working, weight, @@ -32,18 +28,14 @@ def configure_model_padding(model, seamless, seamless_axes): if seamless: m.asymmetric_padding_mode = {} m.asymmetric_padding = {} - m.asymmetric_padding_mode["x"] = ( - "circular" if ("x" in seamless_axes) else "constant" - ) + m.asymmetric_padding_mode["x"] = "circular" if ("x" in seamless_axes) else "constant" m.asymmetric_padding["x"] = ( m._reversed_padding_repeated_twice[0], m._reversed_padding_repeated_twice[1], 0, 0, ) - m.asymmetric_padding_mode["y"] = ( - "circular" if ("y" in seamless_axes) else "constant" - ) + m.asymmetric_padding_mode["y"] = "circular" if ("y" in seamless_axes) else "constant" m.asymmetric_padding["y"] = ( 0, 0, diff --git a/invokeai/backend/image_util/txt2mask.py b/invokeai/backend/image_util/txt2mask.py index 429c9b63fb..12db54b0db 100644 --- a/invokeai/backend/image_util/txt2mask.py +++ b/invokeai/backend/image_util/txt2mask.py @@ -39,23 +39,18 @@ CLIPSEG_MODEL = "CIDAS/clipseg-rd64-refined" CLIPSEG_SIZE = 352 config = InvokeAIAppConfig.get_config() + class SegmentedGrayscale(object): def __init__(self, image: Image, heatmap: torch.Tensor): self.heatmap = heatmap self.image = image def to_grayscale(self, invert: bool = False) -> Image: - return self._rescale( - Image.fromarray( - np.uint8(255 - self.heatmap * 255 if invert else self.heatmap * 255) - ) - ) + return self._rescale(Image.fromarray(np.uint8(255 - self.heatmap * 255 if invert else self.heatmap * 255))) def to_mask(self, threshold: float = 0.5) -> Image: discrete_heatmap = self.heatmap.lt(threshold).int() - return self._rescale( - Image.fromarray(np.uint8(discrete_heatmap * 255), mode="L") - ) + return self._rescale(Image.fromarray(np.uint8(discrete_heatmap * 255), mode="L")) def to_transparent(self, invert: bool = False) -> Image: transparent_image = self.image.copy() @@ -67,11 +62,7 @@ class SegmentedGrayscale(object): # unscales and uncrops the 352x352 heatmap so that it matches the image again def _rescale(self, heatmap: Image) -> Image: - size = ( - self.image.width - if (self.image.width > self.image.height) - else self.image.height - ) + size = self.image.width if (self.image.width > self.image.height) else self.image.height resized_image = heatmap.resize((size, size), resample=Image.Resampling.LANCZOS) return resized_image.crop((0, 0, self.image.width, self.image.height)) @@ -87,12 +78,8 @@ class Txt2Mask(object): # BUG: we are not doing anything with the device option at this time self.device = device - self.processor = AutoProcessor.from_pretrained( - CLIPSEG_MODEL, cache_dir=config.cache_dir - ) - self.model = CLIPSegForImageSegmentation.from_pretrained( - CLIPSEG_MODEL, cache_dir=config.cache_dir - ) + self.processor = AutoProcessor.from_pretrained(CLIPSEG_MODEL, cache_dir=config.cache_dir) + self.model = CLIPSegForImageSegmentation.from_pretrained(CLIPSEG_MODEL, cache_dir=config.cache_dir) @torch.no_grad() def segment(self, image, prompt: str) -> SegmentedGrayscale: @@ -107,9 +94,7 @@ class Txt2Mask(object): image = ImageOps.exif_transpose(image) img = self._scale_and_crop(image) - inputs = self.processor( - text=[prompt], images=[img], padding=True, return_tensors="pt" - ) + inputs = self.processor(text=[prompt], images=[img], padding=True, return_tensors="pt") outputs = self.model(**inputs) heatmap = torch.sigmoid(outputs.logits) return SegmentedGrayscale(image, heatmap) diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py index e8dde681bf..ded9e66635 100644 --- a/invokeai/backend/install/check_root.py +++ b/invokeai/backend/install/check_root.py @@ -6,28 +6,31 @@ from invokeai.app.services.config import ( InvokeAIAppConfig, ) + def check_invokeai_root(config: InvokeAIAppConfig): try: - assert config.model_conf_path.exists(), f'{config.model_conf_path} not found' - assert config.db_path.parent.exists(), f'{config.db_path.parent} not found' - assert config.models_path.exists(), f'{config.models_path} not found' + assert config.model_conf_path.exists(), f"{config.model_conf_path} not found" + assert config.db_path.parent.exists(), f"{config.db_path.parent} not found" + assert config.models_path.exists(), f"{config.models_path} not found" for model in [ - 'CLIP-ViT-bigG-14-laion2B-39B-b160k', - 'bert-base-uncased', - 'clip-vit-large-patch14', - 'sd-vae-ft-mse', - 'stable-diffusion-2-clip', - 'stable-diffusion-safety-checker']: - path = config.models_path / f'core/convert/{model}' - assert path.exists(), f'{path} is missing' + "CLIP-ViT-bigG-14-laion2B-39B-b160k", + "bert-base-uncased", + "clip-vit-large-patch14", + "sd-vae-ft-mse", + "stable-diffusion-2-clip", + "stable-diffusion-safety-checker", + ]: + path = config.models_path / f"core/convert/{model}" + assert path.exists(), f"{path} is missing" except Exception as e: print() - print(f'An exception has occurred: {str(e)}') - print('== STARTUP ABORTED ==') - print('** One or more necessary files is missing from your InvokeAI root directory **') - print('** Please rerun the configuration script to fix this problem. **') - print('** From the launcher, selection option [7]. **') - print('** From the command line, activate the virtual environment and run "invokeai-configure --yes --skip-sd-weights" **') - input('Press any key to continue...') + print(f"An exception has occurred: {str(e)}") + print("== STARTUP ABORTED ==") + print("** One or more necessary files is missing from your InvokeAI root directory **") + print("** Please rerun the configuration script to fix this problem. **") + print("** From the launcher, selection option [7]. **") + print( + '** From the command line, activate the virtual environment and run "invokeai-configure --yes --skip-sd-weights" **' + ) + input("Press any key to continue...") sys.exit(0) - diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index d3ba4f4ae2..972e6668c4 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -60,9 +60,7 @@ from invokeai.backend.install.model_install_backend import ( InstallSelections, ModelInstall, ) -from invokeai.backend.model_management.model_probe import ( - ModelType, BaseModelType - ) +from invokeai.backend.model_management.model_probe import ModelType, BaseModelType warnings.filterwarnings("ignore") transformers.logging.set_verbosity_error() @@ -77,7 +75,7 @@ Model_dir = "models" Default_config_file = config.model_conf_path SD_Configs = config.legacy_conf_path -PRECISION_CHOICES = ['auto','float16','float32'] +PRECISION_CHOICES = ["auto", "float16", "float32"] INIT_FILE_PREAMBLE = """# InvokeAI initialization file # This is the InvokeAI initialization file, which contains command-line default values. @@ -85,7 +83,8 @@ INIT_FILE_PREAMBLE = """# InvokeAI initialization file # or renaming it and then running invokeai-configure again. """ -logger=InvokeAILogger.getLogger() +logger = InvokeAILogger.getLogger() + # -------------------------------------------- def postscript(errors: None): @@ -108,7 +107,9 @@ Add the '--help' argument to see all of the command-line switches available for """ else: - message = "\n** There were errors during installation. It is possible some of the models were not fully downloaded.\n" + message = ( + "\n** There were errors during installation. It is possible some of the models were not fully downloaded.\n" + ) for err in errors: message += f"\t - {err}\n" message += "Please check the logs above and correct any issues." @@ -169,9 +170,7 @@ def download_with_progress_bar(model_url: str, model_dest: str, label: str = "th logger.info(f"Installing {label} model file {model_url}...") if not os.path.exists(model_dest): os.makedirs(os.path.dirname(model_dest), exist_ok=True) - request.urlretrieve( - model_url, model_dest, ProgressBar(os.path.basename(model_dest)) - ) + request.urlretrieve(model_url, model_dest, ProgressBar(os.path.basename(model_dest))) logger.info("...downloaded successfully") else: logger.info("...exists") @@ -182,90 +181,93 @@ def download_with_progress_bar(model_url: str, model_dest: str, label: str = "th def download_conversion_models(): - target_dir = config.root_path / 'models/core/convert' + target_dir = config.root_path / "models/core/convert" kwargs = dict() # for future use try: - logger.info('Downloading core tokenizers and text encoders') + logger.info("Downloading core tokenizers and text encoders") # bert with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=DeprecationWarning) bert = BertTokenizerFast.from_pretrained("bert-base-uncased", **kwargs) - bert.save_pretrained(target_dir / 'bert-base-uncased', safe_serialization=True) - + bert.save_pretrained(target_dir / "bert-base-uncased", safe_serialization=True) + # sd-1 - repo_id = 'openai/clip-vit-large-patch14' - hf_download_from_pretrained(CLIPTokenizer, repo_id, target_dir / 'clip-vit-large-patch14') - hf_download_from_pretrained(CLIPTextModel, repo_id, target_dir / 'clip-vit-large-patch14') + repo_id = "openai/clip-vit-large-patch14" + hf_download_from_pretrained(CLIPTokenizer, repo_id, target_dir / "clip-vit-large-patch14") + hf_download_from_pretrained(CLIPTextModel, repo_id, target_dir / "clip-vit-large-patch14") # sd-2 repo_id = "stabilityai/stable-diffusion-2" pipeline = CLIPTokenizer.from_pretrained(repo_id, subfolder="tokenizer", **kwargs) - pipeline.save_pretrained(target_dir / 'stable-diffusion-2-clip' / 'tokenizer', safe_serialization=True) + pipeline.save_pretrained(target_dir / "stable-diffusion-2-clip" / "tokenizer", safe_serialization=True) pipeline = CLIPTextModel.from_pretrained(repo_id, subfolder="text_encoder", **kwargs) - pipeline.save_pretrained(target_dir / 'stable-diffusion-2-clip' / 'text_encoder', safe_serialization=True) + pipeline.save_pretrained(target_dir / "stable-diffusion-2-clip" / "text_encoder", safe_serialization=True) # sd-xl - tokenizer_2 repo_id = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k" - _, model_name = repo_id.split('/') + _, model_name = repo_id.split("/") pipeline = CLIPTokenizer.from_pretrained(repo_id, **kwargs) pipeline.save_pretrained(target_dir / model_name, safe_serialization=True) - + pipeline = CLIPTextConfig.from_pretrained(repo_id, **kwargs) pipeline.save_pretrained(target_dir / model_name, safe_serialization=True) - + # VAE - logger.info('Downloading stable diffusion VAE') - vae = AutoencoderKL.from_pretrained('stabilityai/sd-vae-ft-mse', **kwargs) - vae.save_pretrained(target_dir / 'sd-vae-ft-mse', safe_serialization=True) + logger.info("Downloading stable diffusion VAE") + vae = AutoencoderKL.from_pretrained("stabilityai/sd-vae-ft-mse", **kwargs) + vae.save_pretrained(target_dir / "sd-vae-ft-mse", safe_serialization=True) # safety checking - logger.info('Downloading safety checker') + logger.info("Downloading safety checker") repo_id = "CompVis/stable-diffusion-safety-checker" - pipeline = AutoFeatureExtractor.from_pretrained(repo_id,**kwargs) - pipeline.save_pretrained(target_dir / 'stable-diffusion-safety-checker', safe_serialization=True) + pipeline = AutoFeatureExtractor.from_pretrained(repo_id, **kwargs) + pipeline.save_pretrained(target_dir / "stable-diffusion-safety-checker", safe_serialization=True) - pipeline = StableDiffusionSafetyChecker.from_pretrained(repo_id,**kwargs) - pipeline.save_pretrained(target_dir / 'stable-diffusion-safety-checker', safe_serialization=True) + pipeline = StableDiffusionSafetyChecker.from_pretrained(repo_id, **kwargs) + pipeline.save_pretrained(target_dir / "stable-diffusion-safety-checker", safe_serialization=True) except KeyboardInterrupt: raise except Exception as e: logger.error(str(e)) + # --------------------------------------------- def download_realesrgan(): logger.info("Installing ESRGAN Upscaling models...") URLs = [ dict( - url = "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth", - dest = "core/upscaling/realesrgan/RealESRGAN_x4plus.pth", - description = "RealESRGAN_x4plus.pth", + url="https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth", + dest="core/upscaling/realesrgan/RealESRGAN_x4plus.pth", + description="RealESRGAN_x4plus.pth", ), dict( - url = "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth", - dest = "core/upscaling/realesrgan/RealESRGAN_x4plus_anime_6B.pth", - description = "RealESRGAN_x4plus_anime_6B.pth", + url="https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth", + dest="core/upscaling/realesrgan/RealESRGAN_x4plus_anime_6B.pth", + description="RealESRGAN_x4plus_anime_6B.pth", ), dict( - url= "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.1/ESRGAN_SRx4_DF2KOST_official-ff704c30.pth", - dest= "core/upscaling/realesrgan/ESRGAN_SRx4_DF2KOST_official-ff704c30.pth", - description = "ESRGAN_SRx4_DF2KOST_official.pth", + url="https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.1/ESRGAN_SRx4_DF2KOST_official-ff704c30.pth", + dest="core/upscaling/realesrgan/ESRGAN_SRx4_DF2KOST_official-ff704c30.pth", + description="ESRGAN_SRx4_DF2KOST_official.pth", ), dict( - url= "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth", - dest= "core/upscaling/realesrgan/RealESRGAN_x2plus.pth", - description = "RealESRGAN_x2plus.pth", + url="https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth", + dest="core/upscaling/realesrgan/RealESRGAN_x2plus.pth", + description="RealESRGAN_x2plus.pth", ), ] for model in URLs: - download_with_progress_bar(model['url'], config.models_path / model['dest'], model['description']) + download_with_progress_bar(model["url"], config.models_path / model["dest"], model["description"]) + # --------------------------------------------- def download_support_models(): download_realesrgan() download_conversion_models() + # ------------------------------------- def get_root(root: str = None) -> str: if root: @@ -275,6 +277,7 @@ def get_root(root: str = None) -> str: else: return str(config.root_path) + # ------------------------------------- class editOptsForm(CyclingForm, npyscreen.FormMultiPage): # for responsive resizing - disabled @@ -283,14 +286,14 @@ class editOptsForm(CyclingForm, npyscreen.FormMultiPage): def create(self): program_opts = self.parentApp.program_opts old_opts = self.parentApp.invokeai_opts - first_time = not (config.root_path / 'invokeai.yaml').exists() + first_time = not (config.root_path / "invokeai.yaml").exists() access_token = HfFolder.get_token() window_width, window_height = get_terminal_size() label = """Configure startup settings. You can come back and change these later. Use ctrl-N and ctrl-P to move to the ext and

revious fields. Use cursor arrows to make a checkbox selection, and space to toggle. """ - for i in textwrap.wrap(label,width=window_width-6): + for i in textwrap.wrap(label, width=window_width - 6): self.add_widget_intelligent( npyscreen.FixedText, value=i, @@ -300,7 +303,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. self.nextrely += 1 label = """HuggingFace access token (OPTIONAL) for automatic model downloads. See https://huggingface.co/settings/tokens.""" - for line in textwrap.wrap(label,width=window_width-6): + for line in textwrap.wrap(label, width=window_width - 6): self.add_widget_intelligent( npyscreen.FixedText, value=line, @@ -343,7 +346,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. relx=50, scroll_exit=True, ) - self.nextrely -=1 + self.nextrely -= 1 self.always_use_cpu = self.add_widget_intelligent( npyscreen.Checkbox, name="Force CPU to be used on GPU systems", @@ -351,10 +354,8 @@ Use cursor arrows to make a checkbox selection, and space to toggle. relx=80, scroll_exit=True, ) - precision = old_opts.precision or ( - "float32" if program_opts.full_precision else "auto" - ) - self.nextrely +=1 + precision = old_opts.precision or ("float32" if program_opts.full_precision else "auto") + self.nextrely += 1 self.add_widget_intelligent( npyscreen.TitleFixedText, name="Floating Point Precision", @@ -363,10 +364,10 @@ Use cursor arrows to make a checkbox selection, and space to toggle. color="CONTROL", scroll_exit=True, ) - self.nextrely -=1 + self.nextrely -= 1 self.precision = self.add_widget_intelligent( SingleSelectColumns, - columns = 3, + columns=3, name="Precision", values=PRECISION_CHOICES, value=PRECISION_CHOICES.index(precision), @@ -398,25 +399,25 @@ Use cursor arrows to make a checkbox selection, and space to toggle. scroll_exit=True, ) self.autoimport_dirs = {} - self.autoimport_dirs['autoimport_dir'] = self.add_widget_intelligent( - FileBox, - name=f'Folder to recursively scan for new checkpoints, ControlNets, LoRAs and TI models', - value=str(config.root_path / config.autoimport_dir), - select_dir=True, - must_exist=False, - use_two_lines=False, - labelColor="GOOD", - begin_entry_at=32, - max_height = 3, - scroll_exit=True - ) + self.autoimport_dirs["autoimport_dir"] = self.add_widget_intelligent( + FileBox, + name=f"Folder to recursively scan for new checkpoints, ControlNets, LoRAs and TI models", + value=str(config.root_path / config.autoimport_dir), + select_dir=True, + must_exist=False, + use_two_lines=False, + labelColor="GOOD", + begin_entry_at=32, + max_height=3, + scroll_exit=True, + ) self.nextrely += 1 label = """BY DOWNLOADING THE STABLE DIFFUSION WEIGHT FILES, YOU AGREE TO HAVE READ AND ACCEPTED THE CREATIVEML RESPONSIBLE AI LICENSES LOCATED AT https://huggingface.co/spaces/CompVis/stable-diffusion-license and https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENSE.md """ - for i in textwrap.wrap(label,width=window_width-6): + for i in textwrap.wrap(label, width=window_width - 6): self.add_widget_intelligent( npyscreen.FixedText, value=i, @@ -431,11 +432,7 @@ https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENS scroll_exit=True, ) self.nextrely += 1 - label = ( - "DONE" - if program_opts.skip_sd_weights or program_opts.default_only - else "NEXT" - ) + label = "DONE" if program_opts.skip_sd_weights or program_opts.default_only else "NEXT" self.ok_button = self.add_widget_intelligent( CenteredButtonPress, name=label, @@ -454,13 +451,11 @@ https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENS self.editing = False else: self.editing = True - + def validate_field_values(self, opt: Namespace) -> bool: bad_fields = [] if not opt.license_acceptance: - bad_fields.append( - "Please accept the license terms before proceeding to model downloads" - ) + bad_fields.append("Please accept the license terms before proceeding to model downloads") if not Path(opt.outdir).parent.exists(): bad_fields.append( f"The output directory does not seem to be valid. Please check that {str(Path(opt.outdir).parent)} is an existing directory." @@ -478,11 +473,11 @@ https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENS new_opts = Namespace() for attr in [ - "outdir", - "free_gpu_mem", - "max_cache_size", - "xformers_enabled", - "always_use_cpu", + "outdir", + "free_gpu_mem", + "max_cache_size", + "xformers_enabled", + "always_use_cpu", ]: setattr(new_opts, attr, getattr(self, attr).value) @@ -495,7 +490,7 @@ https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENS new_opts.hf_token = self.hf_token.value new_opts.license_acceptance = self.license_acceptance.value new_opts.precision = PRECISION_CHOICES[self.precision.value[0]] - + return new_opts @@ -534,19 +529,20 @@ def edit_opts(program_opts: Namespace, invokeai_opts: Namespace) -> argparse.Nam editApp.run() return editApp.new_opts() + def default_startup_options(init_file: Path) -> Namespace: opts = InvokeAIAppConfig.get_config() return opts + def default_user_selections(program_opts: Namespace) -> InstallSelections: - try: installer = ModelInstall(config) except omegaconf.errors.ConfigKeyError: - logger.warning('Your models.yaml file is corrupt or out of date. Reinitializing') + logger.warning("Your models.yaml file is corrupt or out of date. Reinitializing") initialize_rootdir(config.root_path, True) installer = ModelInstall(config) - + models = installer.all_models() return InstallSelections( install_models=[models[installer.default_model()].path or models[installer.default_model()].repo_id] @@ -556,55 +552,46 @@ def default_user_selections(program_opts: Namespace) -> InstallSelections: else list(), ) + # ------------------------------------- def initialize_rootdir(root: Path, yes_to_all: bool = False): logger.info("Initializing InvokeAI runtime directory") - for name in ( - "models", - "databases", - "text-inversion-output", - "text-inversion-training-data", - "configs" - ): + for name in ("models", "databases", "text-inversion-output", "text-inversion-training-data", "configs"): os.makedirs(os.path.join(root, name), exist_ok=True) for model_type in ModelType: - Path(root, 'autoimport', model_type.value).mkdir(parents=True, exist_ok=True) + Path(root, "autoimport", model_type.value).mkdir(parents=True, exist_ok=True) configs_src = Path(configs.__path__[0]) configs_dest = root / "configs" if not os.path.samefile(configs_src, configs_dest): shutil.copytree(configs_src, configs_dest, dirs_exist_ok=True) - dest = root / 'models' + dest = root / "models" for model_base in BaseModelType: for model_type in ModelType: path = dest / model_base.value / model_type.value path.mkdir(parents=True, exist_ok=True) - path = dest / 'core' + path = dest / "core" path.mkdir(parents=True, exist_ok=True) maybe_create_models_yaml(root) + def maybe_create_models_yaml(root: Path): - models_yaml = root / 'configs' / 'models.yaml' + models_yaml = root / "configs" / "models.yaml" if models_yaml.exists(): - if OmegaConf.load(models_yaml).get('__metadata__'): # up to date + if OmegaConf.load(models_yaml).get("__metadata__"): # up to date return else: - logger.info('Creating new models.yaml, original saved as models.yaml.orig') - models_yaml.rename(models_yaml.parent / 'models.yaml.orig') - - with open(models_yaml,'w') as yaml_file: - yaml_file.write(yaml.dump({'__metadata__': - {'version':'3.0.0'} - } - ) - ) - + logger.info("Creating new models.yaml, original saved as models.yaml.orig") + models_yaml.rename(models_yaml.parent / "models.yaml.orig") + + with open(models_yaml, "w") as yaml_file: + yaml_file.write(yaml.dump({"__metadata__": {"version": "3.0.0"}})) + + # ------------------------------------- -def run_console_ui( - program_opts: Namespace, initfile: Path = None -) -> (Namespace, Namespace): +def run_console_ui(program_opts: Namespace, initfile: Path = None) -> (Namespace, Namespace): # parse_args() will read from init file if present invokeai_opts = default_startup_options(initfile) invokeai_opts.root = program_opts.root @@ -616,8 +603,9 @@ def run_console_ui( # the install-models application spawns a subprocess to install # models, and will crash unless this is set before running. import torch + torch.multiprocessing.set_start_method("spawn") - + editApp = EditOptApplication(program_opts, invokeai_opts) editApp.run() if editApp.user_cancelled: @@ -634,39 +622,42 @@ def write_opts(opts: Namespace, init_file: Path): # this will load current settings new_config = InvokeAIAppConfig.get_config() new_config.root = config.root - - for key,value in opts.__dict__.items(): - if hasattr(new_config,key): - setattr(new_config,key,value) - with open(init_file,'w', encoding='utf-8') as file: + for key, value in opts.__dict__.items(): + if hasattr(new_config, key): + setattr(new_config, key, value) + + with open(init_file, "w", encoding="utf-8") as file: file.write(new_config.to_yaml()) - if hasattr(opts,'hf_token') and opts.hf_token: + if hasattr(opts, "hf_token") and opts.hf_token: HfLogin(opts.hf_token) + # ------------------------------------- def default_output_dir() -> Path: return config.root_path / "outputs" + # ------------------------------------- def write_default_options(program_opts: Namespace, initfile: Path): opt = default_startup_options(initfile) write_opts(opt, initfile) + # ------------------------------------- # Here we bring in # the legacy Args object in order to parse # the old init file and write out the new # yaml format. -def migrate_init_file(legacy_format:Path): - old = legacy_parser.parse_args([f'@{str(legacy_format)}']) +def migrate_init_file(legacy_format: Path): + old = legacy_parser.parse_args([f"@{str(legacy_format)}"]) new = InvokeAIAppConfig.get_config() fields = list(get_type_hints(InvokeAIAppConfig).keys()) for attr in fields: - if hasattr(old,attr): - setattr(new,attr,getattr(old,attr)) + if hasattr(old, attr): + setattr(new, attr, getattr(old, attr)) # a few places where the field names have changed and we have to # manually add in the new names/values @@ -674,40 +665,43 @@ def migrate_init_file(legacy_format:Path): new.conf_path = old.conf new.root = legacy_format.parent.resolve() - invokeai_yaml = legacy_format.parent / 'invokeai.yaml' - with open(invokeai_yaml,"w", encoding="utf-8") as outfile: + invokeai_yaml = legacy_format.parent / "invokeai.yaml" + with open(invokeai_yaml, "w", encoding="utf-8") as outfile: outfile.write(new.to_yaml()) - legacy_format.replace(legacy_format.parent / 'invokeai.init.orig') + legacy_format.replace(legacy_format.parent / "invokeai.init.orig") + # ------------------------------------- def migrate_models(root: Path): from invokeai.backend.install.migrate_to_3 import do_migrate + do_migrate(root, root) -def migrate_if_needed(opt: Namespace, root: Path)->bool: - # We check for to see if the runtime directory is correctly initialized. - old_init_file = root / 'invokeai.init' - new_init_file = root / 'invokeai.yaml' - old_hub = root / 'models/hub' - migration_needed = (old_init_file.exists() and not new_init_file.exists()) and old_hub.exists() - - if migration_needed: - if opt.yes_to_all or \ - yes_or_no(f'{str(config.root_path)} appears to be a 2.3 format root directory. Convert to version 3.0?'): - logger.info('** Migrating invokeai.init to invokeai.yaml') +def migrate_if_needed(opt: Namespace, root: Path) -> bool: + # We check for to see if the runtime directory is correctly initialized. + old_init_file = root / "invokeai.init" + new_init_file = root / "invokeai.yaml" + old_hub = root / "models/hub" + migration_needed = (old_init_file.exists() and not new_init_file.exists()) and old_hub.exists() + + if migration_needed: + if opt.yes_to_all or yes_or_no( + f"{str(config.root_path)} appears to be a 2.3 format root directory. Convert to version 3.0?" + ): + logger.info("** Migrating invokeai.init to invokeai.yaml") migrate_init_file(old_init_file) - config.parse_args(argv=[],conf=OmegaConf.load(new_init_file)) + config.parse_args(argv=[], conf=OmegaConf.load(new_init_file)) if old_hub.exists(): migrate_models(config.root_path) else: - print('Cannot continue without conversion. Aborting.') - + print("Cannot continue without conversion. Aborting.") + return migration_needed - + # ------------------------------------- def main(): parser = argparse.ArgumentParser(description="InvokeAI model downloader") @@ -764,9 +758,9 @@ def main(): invoke_args = [] if opt.root: - invoke_args.extend(['--root',opt.root]) + invoke_args.extend(["--root", opt.root]) if opt.full_precision: - invoke_args.extend(['--precision','float32']) + invoke_args.extend(["--precision", "float32"]) config.parse_args(invoke_args) logger = InvokeAILogger().getLogger(config=config) @@ -782,22 +776,18 @@ def main(): initialize_rootdir(config.root_path, opt.yes_to_all) models_to_download = default_user_selections(opt) - new_init_file = config.root_path / 'invokeai.yaml' + new_init_file = config.root_path / "invokeai.yaml" if opt.yes_to_all: write_default_options(opt, new_init_file) - init_options = Namespace( - precision="float32" if opt.full_precision else "float16" - ) + init_options = Namespace(precision="float32" if opt.full_precision else "float16") else: init_options, models_to_download = run_console_ui(opt, new_init_file) if init_options: write_opts(init_options, new_init_file) else: - logger.info( - '\n** CANCELLED AT USER\'S REQUEST. USE THE "invoke.sh" LAUNCHER TO RUN LATER **\n' - ) + logger.info('\n** CANCELLED AT USER\'S REQUEST. USE THE "invoke.sh" LAUNCHER TO RUN LATER **\n') sys.exit(0) - + if opt.skip_support_models: logger.info("Skipping support models at user's request") else: @@ -811,7 +801,7 @@ def main(): postscript(errors=errors) if not opt.yes_to_all: - input('Press any key to continue...') + input("Press any key to continue...") except KeyboardInterrupt: print("\nGoodbye! Come back soon.") diff --git a/invokeai/backend/install/legacy_arg_parsing.py b/invokeai/backend/install/legacy_arg_parsing.py index 684c50c77d..f6a0682f2a 100644 --- a/invokeai/backend/install/legacy_arg_parsing.py +++ b/invokeai/backend/install/legacy_arg_parsing.py @@ -47,17 +47,18 @@ PRECISION_CHOICES = [ "float16", ] + class FileArgumentParser(ArgumentParser): """ Supports reading defaults from an init file. """ + def convert_arg_line_to_args(self, arg_line): return shlex.split(arg_line, comments=True) legacy_parser = FileArgumentParser( - description= - """ + description=""" Generate images using Stable Diffusion. Use --web to launch the web interface. Use --from_file to load prompts from a file path or standard input ("-"). @@ -65,304 +66,279 @@ Generate images using Stable Diffusion. Other command-line arguments are defaults that can usually be overridden prompt the command prompt. """, - fromfile_prefix_chars='@', + fromfile_prefix_chars="@", ) -general_group = legacy_parser.add_argument_group('General') -model_group = legacy_parser.add_argument_group('Model selection') -file_group = legacy_parser.add_argument_group('Input/output') -web_server_group = legacy_parser.add_argument_group('Web server') -render_group = legacy_parser.add_argument_group('Rendering') -postprocessing_group = legacy_parser.add_argument_group('Postprocessing') -deprecated_group = legacy_parser.add_argument_group('Deprecated options') +general_group = legacy_parser.add_argument_group("General") +model_group = legacy_parser.add_argument_group("Model selection") +file_group = legacy_parser.add_argument_group("Input/output") +web_server_group = legacy_parser.add_argument_group("Web server") +render_group = legacy_parser.add_argument_group("Rendering") +postprocessing_group = legacy_parser.add_argument_group("Postprocessing") +deprecated_group = legacy_parser.add_argument_group("Deprecated options") -deprecated_group.add_argument('--laion400m') -deprecated_group.add_argument('--weights') # deprecated -general_group.add_argument( - '--version','-V', - action='store_true', - help='Print InvokeAI version number' -) +deprecated_group.add_argument("--laion400m") +deprecated_group.add_argument("--weights") # deprecated +general_group.add_argument("--version", "-V", action="store_true", help="Print InvokeAI version number") model_group.add_argument( - '--root_dir', + "--root_dir", default=None, help='Path to directory containing "models", "outputs" and "configs". If not present will read from environment variable INVOKEAI_ROOT. Defaults to ~/invokeai.', ) model_group.add_argument( - '--config', - '-c', - '-config', - dest='conf', - default='./configs/models.yaml', - help='Path to configuration file for alternate models.', + "--config", + "-c", + "-config", + dest="conf", + default="./configs/models.yaml", + help="Path to configuration file for alternate models.", ) model_group.add_argument( - '--model', + "--model", help='Indicates which diffusion model to load (defaults to "default" stanza in configs/models.yaml)', ) model_group.add_argument( - '--weight_dirs', - nargs='+', + "--weight_dirs", + nargs="+", type=str, - help='List of one or more directories that will be auto-scanned for new model weights to import', + help="List of one or more directories that will be auto-scanned for new model weights to import", ) model_group.add_argument( - '--png_compression','-z', + "--png_compression", + "-z", type=int, default=6, - choices=range(0,9), - dest='png_compression', - help='level of PNG compression, from 0 (none) to 9 (maximum). Default is 6.' + choices=range(0, 9), + dest="png_compression", + help="level of PNG compression, from 0 (none) to 9 (maximum). Default is 6.", ) model_group.add_argument( - '-F', - '--full_precision', - dest='full_precision', - action='store_true', - help='Deprecated way to set --precision=float32', + "-F", + "--full_precision", + dest="full_precision", + action="store_true", + help="Deprecated way to set --precision=float32", ) model_group.add_argument( - '--max_loaded_models', - dest='max_loaded_models', + "--max_loaded_models", + dest="max_loaded_models", type=int, default=2, - help='Maximum number of models to keep in memory for fast switching, including the one in GPU', + help="Maximum number of models to keep in memory for fast switching, including the one in GPU", ) model_group.add_argument( - '--free_gpu_mem', - dest='free_gpu_mem', - action='store_true', - help='Force free gpu memory before final decoding', + "--free_gpu_mem", + dest="free_gpu_mem", + action="store_true", + help="Force free gpu memory before final decoding", ) model_group.add_argument( - '--sequential_guidance', - dest='sequential_guidance', - action='store_true', - help="Calculate guidance in serial instead of in parallel, lowering memory requirement " - "at the expense of speed", + "--sequential_guidance", + dest="sequential_guidance", + action="store_true", + help="Calculate guidance in serial instead of in parallel, lowering memory requirement " "at the expense of speed", ) model_group.add_argument( - '--xformers', + "--xformers", action=argparse.BooleanOptionalAction, default=True, - help='Enable/disable xformers support (default enabled if installed)', + help="Enable/disable xformers support (default enabled if installed)", ) model_group.add_argument( - "--always_use_cpu", - dest="always_use_cpu", - action="store_true", - help="Force use of CPU even if GPU is available" + "--always_use_cpu", dest="always_use_cpu", action="store_true", help="Force use of CPU even if GPU is available" ) model_group.add_argument( - '--precision', - dest='precision', + "--precision", + dest="precision", type=str, choices=PRECISION_CHOICES, - metavar='PRECISION', + metavar="PRECISION", help=f'Set model precision. Defaults to auto selected based on device. Options: {", ".join(PRECISION_CHOICES)}', - default='auto', + default="auto", ) model_group.add_argument( - '--ckpt_convert', + "--ckpt_convert", action=argparse.BooleanOptionalAction, - dest='ckpt_convert', + dest="ckpt_convert", default=True, - help='Deprecated option. Legacy ckpt files are now always converted to diffusers when loaded.' + help="Deprecated option. Legacy ckpt files are now always converted to diffusers when loaded.", ) model_group.add_argument( - '--internet', + "--internet", action=argparse.BooleanOptionalAction, - dest='internet_available', + dest="internet_available", default=True, - help='Indicate whether internet is available for just-in-time model downloading (default: probe automatically).', + help="Indicate whether internet is available for just-in-time model downloading (default: probe automatically).", ) model_group.add_argument( - '--nsfw_checker', - '--safety_checker', + "--nsfw_checker", + "--safety_checker", action=argparse.BooleanOptionalAction, - dest='safety_checker', + dest="safety_checker", default=False, - help='Check for and blur potentially NSFW images. Use --no-nsfw_checker to disable.', + help="Check for and blur potentially NSFW images. Use --no-nsfw_checker to disable.", ) model_group.add_argument( - '--autoimport', + "--autoimport", default=None, type=str, - help='Check the indicated directory for .ckpt/.safetensors weights files at startup and import directly', + help="Check the indicated directory for .ckpt/.safetensors weights files at startup and import directly", ) model_group.add_argument( - '--autoconvert', + "--autoconvert", default=None, type=str, - help='Check the indicated directory for .ckpt/.safetensors weights files at startup and import as optimized diffuser models', + help="Check the indicated directory for .ckpt/.safetensors weights files at startup and import as optimized diffuser models", ) model_group.add_argument( - '--patchmatch', + "--patchmatch", action=argparse.BooleanOptionalAction, default=True, - help='Load the patchmatch extension for outpainting. Use --no-patchmatch to disable.', + help="Load the patchmatch extension for outpainting. Use --no-patchmatch to disable.", ) file_group.add_argument( - '--from_file', - dest='infile', + "--from_file", + dest="infile", type=str, - help='If specified, load prompts from this file', + help="If specified, load prompts from this file", ) file_group.add_argument( - '--outdir', - '-o', + "--outdir", + "-o", type=str, - help='Directory to save generated images and a log of prompts and seeds. Default: ROOTDIR/outputs', - default='outputs', + help="Directory to save generated images and a log of prompts and seeds. Default: ROOTDIR/outputs", + default="outputs", ) file_group.add_argument( - '--prompt_as_dir', - '-p', - action='store_true', - help='Place images in subdirectories named after the prompt.', + "--prompt_as_dir", + "-p", + action="store_true", + help="Place images in subdirectories named after the prompt.", ) render_group.add_argument( - '--fnformat', - default='{prefix}.{seed}.png', + "--fnformat", + default="{prefix}.{seed}.png", type=str, - help='Overwrite the filename format. You can use any argument as wildcard enclosed in curly braces. Default is {prefix}.{seed}.png', + help="Overwrite the filename format. You can use any argument as wildcard enclosed in curly braces. Default is {prefix}.{seed}.png", ) +render_group.add_argument("-s", "--steps", type=int, default=50, help="Number of steps") render_group.add_argument( - '-s', - '--steps', + "-W", + "--width", type=int, - default=50, - help='Number of steps' + help="Image width, multiple of 64", ) render_group.add_argument( - '-W', - '--width', + "-H", + "--height", type=int, - help='Image width, multiple of 64', + help="Image height, multiple of 64", ) render_group.add_argument( - '-H', - '--height', - type=int, - help='Image height, multiple of 64', -) -render_group.add_argument( - '-C', - '--cfg_scale', + "-C", + "--cfg_scale", default=7.5, type=float, help='Classifier free guidance (CFG) scale - higher numbers cause generator to "try" harder.', ) render_group.add_argument( - '--sampler', - '-A', - '-m', - dest='sampler_name', + "--sampler", + "-A", + "-m", + dest="sampler_name", type=str, choices=SAMPLER_CHOICES, - metavar='SAMPLER_NAME', + metavar="SAMPLER_NAME", help=f'Set the default sampler. Supported samplers: {", ".join(SAMPLER_CHOICES)}', - default='k_lms', + default="k_lms", ) render_group.add_argument( - '--log_tokenization', - '-t', - action='store_true', - help='shows how the prompt is split into tokens' + "--log_tokenization", "-t", action="store_true", help="shows how the prompt is split into tokens" ) render_group.add_argument( - '-f', - '--strength', + "-f", + "--strength", type=float, - help='img2img strength for noising/unnoising. 0.0 preserves image exactly, 1.0 replaces it completely', + help="img2img strength for noising/unnoising. 0.0 preserves image exactly, 1.0 replaces it completely", ) render_group.add_argument( - '-T', - '-fit', - '--fit', + "-T", + "-fit", + "--fit", action=argparse.BooleanOptionalAction, - help='If specified, will resize the input image to fit within the dimensions of width x height (512x512 default)', + help="If specified, will resize the input image to fit within the dimensions of width x height (512x512 default)", ) +render_group.add_argument("--grid", "-g", action=argparse.BooleanOptionalAction, help="generate a grid") render_group.add_argument( - '--grid', - '-g', - action=argparse.BooleanOptionalAction, - help='generate a grid' -) -render_group.add_argument( - '--embedding_directory', - '--embedding_path', - dest='embedding_path', - default='embeddings', + "--embedding_directory", + "--embedding_path", + dest="embedding_path", + default="embeddings", type=str, - help='Path to a directory containing .bin and/or .pt files, or a single .bin/.pt file. You may use subdirectories. (default is ROOTDIR/embeddings)' + help="Path to a directory containing .bin and/or .pt files, or a single .bin/.pt file. You may use subdirectories. (default is ROOTDIR/embeddings)", ) render_group.add_argument( - '--lora_directory', - dest='lora_path', - default='loras', + "--lora_directory", + dest="lora_path", + default="loras", type=str, - help='Path to a directory containing LoRA files; subdirectories are not supported. (default is ROOTDIR/loras)' + help="Path to a directory containing LoRA files; subdirectories are not supported. (default is ROOTDIR/loras)", ) render_group.add_argument( - '--embeddings', + "--embeddings", action=argparse.BooleanOptionalAction, default=True, - help='Enable embedding directory (default). Use --no-embeddings to disable.', + help="Enable embedding directory (default). Use --no-embeddings to disable.", ) +render_group.add_argument("--enable_image_debugging", action="store_true", help="Generates debugging image to display") render_group.add_argument( - '--enable_image_debugging', - action='store_true', - help='Generates debugging image to display' -) -render_group.add_argument( - '--karras_max', + "--karras_max", type=int, default=None, - help="control the point at which the K* samplers will shift from using the Karras noise schedule (good for low step counts) to the LatentDiffusion noise schedule (good for high step counts). Set to 0 to use LatentDiffusion for all step values, and to a high value (e.g. 1000) to use Karras for all step values. [29]." + help="control the point at which the K* samplers will shift from using the Karras noise schedule (good for low step counts) to the LatentDiffusion noise schedule (good for high step counts). Set to 0 to use LatentDiffusion for all step values, and to a high value (e.g. 1000) to use Karras for all step values. [29].", ) # Restoration related args postprocessing_group.add_argument( - '--no_restore', - dest='restore', - action='store_false', - help='Disable face restoration with GFPGAN or codeformer', + "--no_restore", + dest="restore", + action="store_false", + help="Disable face restoration with GFPGAN or codeformer", ) postprocessing_group.add_argument( - '--no_upscale', - dest='esrgan', - action='store_false', - help='Disable upscaling with ESRGAN', + "--no_upscale", + dest="esrgan", + action="store_false", + help="Disable upscaling with ESRGAN", ) postprocessing_group.add_argument( - '--esrgan_bg_tile', + "--esrgan_bg_tile", type=int, default=400, - help='Tile size for background sampler, 0 for no tile during testing. Default: 400.', + help="Tile size for background sampler, 0 for no tile during testing. Default: 400.", ) postprocessing_group.add_argument( - '--esrgan_denoise_str', + "--esrgan_denoise_str", type=float, default=0.75, - help='esrgan denoise str. 0 is no denoise, 1 is max denoise. Default: 0.75', + help="esrgan denoise str. 0 is no denoise, 1 is max denoise. Default: 0.75", ) postprocessing_group.add_argument( - '--gfpgan_model_path', + "--gfpgan_model_path", type=str, - default='./models/gfpgan/GFPGANv1.4.pth', - help='Indicates the path to the GFPGAN model', + default="./models/gfpgan/GFPGANv1.4.pth", + help="Indicates the path to the GFPGAN model", ) web_server_group.add_argument( - '--web', - dest='web', - action='store_true', - help='Start in web server mode.', + "--web", + dest="web", + action="store_true", + help="Start in web server mode.", ) web_server_group.add_argument( - '--web_develop', - dest='web_develop', - action='store_true', - help='Start in web server development mode.', + "--web_develop", + dest="web_develop", + action="store_true", + help="Start in web server development mode.", ) web_server_group.add_argument( "--web_verbose", @@ -376,32 +352,27 @@ web_server_group.add_argument( help="Additional allowed origins, comma-separated", ) web_server_group.add_argument( - '--host', + "--host", type=str, - default='127.0.0.1', - help='Web server: Host or IP to listen on. Set to 0.0.0.0 to accept traffic from other devices on your network.' + default="127.0.0.1", + help="Web server: Host or IP to listen on. Set to 0.0.0.0 to accept traffic from other devices on your network.", ) +web_server_group.add_argument("--port", type=int, default="9090", help="Web server: Port to listen on") web_server_group.add_argument( - '--port', - type=int, - default='9090', - help='Web server: Port to listen on' -) -web_server_group.add_argument( - '--certfile', + "--certfile", type=str, default=None, - help='Web server: Path to certificate file to use for SSL. Use together with --keyfile' + help="Web server: Path to certificate file to use for SSL. Use together with --keyfile", ) web_server_group.add_argument( - '--keyfile', + "--keyfile", type=str, default=None, - help='Web server: Path to private key file to use for SSL. Use together with --certfile' + help="Web server: Path to private key file to use for SSL. Use together with --certfile", ) web_server_group.add_argument( - '--gui', - dest='gui', - action='store_true', - help='Start InvokeAI GUI', + "--gui", + dest="gui", + action="store_true", + help="Start InvokeAI GUI", ) diff --git a/invokeai/backend/install/migrate_to_3.py b/invokeai/backend/install/migrate_to_3.py index 85de3f5e69..9152e46951 100644 --- a/invokeai/backend/install/migrate_to_3.py +++ b/invokeai/backend/install/migrate_to_3.py @@ -1,7 +1,7 @@ -''' +""" Migrate the models directory and models.yaml file from an existing InvokeAI 2.3 installation to 3.0.0. -''' +""" import os import argparse @@ -29,14 +29,13 @@ from transformers import ( import invokeai.backend.util.logging as logger from invokeai.app.services.config import InvokeAIAppConfig from invokeai.backend.model_management import ModelManager -from invokeai.backend.model_management.model_probe import ( - ModelProbe, ModelType, BaseModelType, ModelProbeInfo - ) +from invokeai.backend.model_management.model_probe import ModelProbe, ModelType, BaseModelType, ModelProbeInfo warnings.filterwarnings("ignore") transformers.logging.set_verbosity_error() diffusers.logging.set_verbosity_error() + # holder for paths that we will migrate @dataclass class ModelPaths: @@ -45,81 +44,82 @@ class ModelPaths: loras: Path controlnets: Path + class MigrateTo3(object): - def __init__(self, - from_root: Path, - to_models: Path, - model_manager: ModelManager, - src_paths: ModelPaths, - ): + def __init__( + self, + from_root: Path, + to_models: Path, + model_manager: ModelManager, + src_paths: ModelPaths, + ): self.root_directory = from_root self.dest_models = to_models self.mgr = model_manager self.src_paths = src_paths - + @classmethod def initialize_yaml(cls, yaml_file: Path): - with open(yaml_file, 'w') as file: - file.write( - yaml.dump( - { - '__metadata__': {'version':'3.0.0'} - } - ) - ) - + with open(yaml_file, "w") as file: + file.write(yaml.dump({"__metadata__": {"version": "3.0.0"}})) + def create_directory_structure(self): - ''' + """ Create the basic directory structure for the models folder. - ''' - for model_base in [BaseModelType.StableDiffusion1,BaseModelType.StableDiffusion2]: - for model_type in [ModelType.Main, ModelType.Vae, ModelType.Lora, - ModelType.ControlNet,ModelType.TextualInversion]: + """ + for model_base in [BaseModelType.StableDiffusion1, BaseModelType.StableDiffusion2]: + for model_type in [ + ModelType.Main, + ModelType.Vae, + ModelType.Lora, + ModelType.ControlNet, + ModelType.TextualInversion, + ]: path = self.dest_models / model_base.value / model_type.value path.mkdir(parents=True, exist_ok=True) - path = self.dest_models / 'core' + path = self.dest_models / "core" path.mkdir(parents=True, exist_ok=True) @staticmethod - def copy_file(src:Path,dest:Path): - ''' + def copy_file(src: Path, dest: Path): + """ copy a single file with logging - ''' + """ if dest.exists(): - logger.info(f'Skipping existing {str(dest)}') + logger.info(f"Skipping existing {str(dest)}") return - logger.info(f'Copying {str(src)} to {str(dest)}') + logger.info(f"Copying {str(src)} to {str(dest)}") try: shutil.copy(src, dest) except Exception as e: - logger.error(f'COPY FAILED: {str(e)}') + logger.error(f"COPY FAILED: {str(e)}") @staticmethod - def copy_dir(src:Path,dest:Path): - ''' + def copy_dir(src: Path, dest: Path): + """ Recursively copy a directory with logging - ''' + """ if dest.exists(): - logger.info(f'Skipping existing {str(dest)}') + logger.info(f"Skipping existing {str(dest)}") return - - logger.info(f'Copying {str(src)} to {str(dest)}') + + logger.info(f"Copying {str(src)} to {str(dest)}") try: shutil.copytree(src, dest) except Exception as e: - logger.error(f'COPY FAILED: {str(e)}') + logger.error(f"COPY FAILED: {str(e)}") def migrate_models(self, src_dir: Path): - ''' + """ Recursively walk through src directory, probe anything that looks like a model, and copy the model into the appropriate location within the destination models directory. - ''' + """ directories_scanned = set() for root, dirs, files in os.walk(src_dir): for d in dirs: try: - model = Path(root,d) + model = Path(root, d) info = ModelProbe().heuristic_probe(model) if not info: continue @@ -136,9 +136,9 @@ class MigrateTo3(object): # don't copy raw learned_embeds.bin or pytorch_lora_weights.bin # let them be copied as part of a tree copy operation try: - if f in {'learned_embeds.bin','pytorch_lora_weights.bin'}: + if f in {"learned_embeds.bin", "pytorch_lora_weights.bin"}: continue - model = Path(root,f) + model = Path(root, f) if model.parent in directories_scanned: continue info = ModelProbe().heuristic_probe(model) @@ -154,148 +154,146 @@ class MigrateTo3(object): logger.error(str(e)) def migrate_support_models(self): - ''' + """ Copy the clipseg, upscaler, and restoration models to their new locations. - ''' + """ dest_directory = self.dest_models - if (self.root_directory / 'models/clipseg').exists(): - self.copy_dir(self.root_directory / 'models/clipseg', dest_directory / 'core/misc/clipseg') - if (self.root_directory / 'models/realesrgan').exists(): - self.copy_dir(self.root_directory / 'models/realesrgan', dest_directory / 'core/upscaling/realesrgan') - for d in ['codeformer','gfpgan']: - path = self.root_directory / 'models' / d + if (self.root_directory / "models/clipseg").exists(): + self.copy_dir(self.root_directory / "models/clipseg", dest_directory / "core/misc/clipseg") + if (self.root_directory / "models/realesrgan").exists(): + self.copy_dir(self.root_directory / "models/realesrgan", dest_directory / "core/upscaling/realesrgan") + for d in ["codeformer", "gfpgan"]: + path = self.root_directory / "models" / d if path.exists(): - self.copy_dir(path,dest_directory / f'core/face_restoration/{d}') + self.copy_dir(path, dest_directory / f"core/face_restoration/{d}") def migrate_tuning_models(self): - ''' + """ Migrate the embeddings, loras and controlnets directories to their new homes. - ''' + """ for src in [self.src_paths.embeddings, self.src_paths.loras, self.src_paths.controlnets]: if not src: continue if src.is_dir(): - logger.info(f'Scanning {src}') + logger.info(f"Scanning {src}") self.migrate_models(src) else: - logger.info(f'{src} directory not found; skipping') + logger.info(f"{src} directory not found; skipping") continue def migrate_conversion_models(self): - ''' + """ Migrate all the models that are needed by the ckpt_to_diffusers conversion script. - ''' + """ dest_directory = self.dest_models kwargs = dict( - cache_dir = self.root_directory / 'models/hub', - #local_files_only = True + cache_dir=self.root_directory / "models/hub", + # local_files_only = True ) try: - logger.info('Migrating core tokenizers and text encoders') - target_dir = dest_directory / 'core' / 'convert' + logger.info("Migrating core tokenizers and text encoders") + target_dir = dest_directory / "core" / "convert" - self._migrate_pretrained(BertTokenizerFast, - repo_id='bert-base-uncased', - dest = target_dir / 'bert-base-uncased', - **kwargs) + self._migrate_pretrained( + BertTokenizerFast, repo_id="bert-base-uncased", dest=target_dir / "bert-base-uncased", **kwargs + ) # sd-1 - repo_id = 'openai/clip-vit-large-patch14' - self._migrate_pretrained(CLIPTokenizer, - repo_id= repo_id, - dest= target_dir / 'clip-vit-large-patch14', - **kwargs) - self._migrate_pretrained(CLIPTextModel, - repo_id = repo_id, - dest = target_dir / 'clip-vit-large-patch14', - force = True, - **kwargs) + repo_id = "openai/clip-vit-large-patch14" + self._migrate_pretrained( + CLIPTokenizer, repo_id=repo_id, dest=target_dir / "clip-vit-large-patch14", **kwargs + ) + self._migrate_pretrained( + CLIPTextModel, repo_id=repo_id, dest=target_dir / "clip-vit-large-patch14", force=True, **kwargs + ) # sd-2 repo_id = "stabilityai/stable-diffusion-2" - self._migrate_pretrained(CLIPTokenizer, - repo_id = repo_id, - dest = target_dir / 'stable-diffusion-2-clip' / 'tokenizer', - **{'subfolder':'tokenizer',**kwargs} - ) - self._migrate_pretrained(CLIPTextModel, - repo_id = repo_id, - dest = target_dir / 'stable-diffusion-2-clip' / 'text_encoder', - **{'subfolder':'text_encoder',**kwargs} - ) + self._migrate_pretrained( + CLIPTokenizer, + repo_id=repo_id, + dest=target_dir / "stable-diffusion-2-clip" / "tokenizer", + **{"subfolder": "tokenizer", **kwargs}, + ) + self._migrate_pretrained( + CLIPTextModel, + repo_id=repo_id, + dest=target_dir / "stable-diffusion-2-clip" / "text_encoder", + **{"subfolder": "text_encoder", **kwargs}, + ) # VAE - logger.info('Migrating stable diffusion VAE') - self._migrate_pretrained(AutoencoderKL, - repo_id = 'stabilityai/sd-vae-ft-mse', - dest = target_dir / 'sd-vae-ft-mse', - **kwargs) - + logger.info("Migrating stable diffusion VAE") + self._migrate_pretrained( + AutoencoderKL, repo_id="stabilityai/sd-vae-ft-mse", dest=target_dir / "sd-vae-ft-mse", **kwargs + ) + # safety checking - logger.info('Migrating safety checker') + logger.info("Migrating safety checker") repo_id = "CompVis/stable-diffusion-safety-checker" - self._migrate_pretrained(AutoFeatureExtractor, - repo_id = repo_id, - dest = target_dir / 'stable-diffusion-safety-checker', - **kwargs) - self._migrate_pretrained(StableDiffusionSafetyChecker, - repo_id = repo_id, - dest = target_dir / 'stable-diffusion-safety-checker', - **kwargs) + self._migrate_pretrained( + AutoFeatureExtractor, repo_id=repo_id, dest=target_dir / "stable-diffusion-safety-checker", **kwargs + ) + self._migrate_pretrained( + StableDiffusionSafetyChecker, + repo_id=repo_id, + dest=target_dir / "stable-diffusion-safety-checker", + **kwargs, + ) except KeyboardInterrupt: raise except Exception as e: logger.error(str(e)) - def _model_probe_to_path(self, info: ModelProbeInfo)->Path: + def _model_probe_to_path(self, info: ModelProbeInfo) -> Path: return Path(self.dest_models, info.base_type.value, info.model_type.value) - def _migrate_pretrained(self, model_class, repo_id: str, dest: Path, force:bool=False, **kwargs): + def _migrate_pretrained(self, model_class, repo_id: str, dest: Path, force: bool = False, **kwargs): if dest.exists() and not force: - logger.info(f'Skipping existing {dest}') + logger.info(f"Skipping existing {dest}") return model = model_class.from_pretrained(repo_id, **kwargs) self._save_pretrained(model, dest, overwrite=force) - def _save_pretrained(self, model, dest: Path, overwrite: bool=False): + def _save_pretrained(self, model, dest: Path, overwrite: bool = False): model_name = dest.name if overwrite: model.save_pretrained(dest, safe_serialization=True) else: - download_path = dest.with_name(f'{model_name}.downloading') + download_path = dest.with_name(f"{model_name}.downloading") model.save_pretrained(download_path, safe_serialization=True) download_path.replace(dest) - def _download_vae(self, repo_id: str, subfolder:str=None)->Path: - vae = AutoencoderKL.from_pretrained(repo_id, cache_dir=self.root_directory / 'models/hub', subfolder=subfolder) + def _download_vae(self, repo_id: str, subfolder: str = None) -> Path: + vae = AutoencoderKL.from_pretrained(repo_id, cache_dir=self.root_directory / "models/hub", subfolder=subfolder) info = ModelProbe().heuristic_probe(vae) - _, model_name = repo_id.split('/') + _, model_name = repo_id.split("/") dest = self._model_probe_to_path(info) / self.unique_name(model_name, info) vae.save_pretrained(dest, safe_serialization=True) return dest - def _vae_path(self, vae: Union[str,dict])->Path: - ''' + def _vae_path(self, vae: Union[str, dict]) -> Path: + """ Convert 2.3 VAE stanza to a straight path. - ''' + """ vae_path = None - + # First get a path - if isinstance(vae,str): + if isinstance(vae, str): vae_path = vae - elif isinstance(vae,DictConfig): - if p := vae.get('path'): + elif isinstance(vae, DictConfig): + if p := vae.get("path"): vae_path = p - elif repo_id := vae.get('repo_id'): - if repo_id=='stabilityai/sd-vae-ft-mse': # this guy is already downloaded - vae_path = 'models/core/convert/sd-vae-ft-mse' + elif repo_id := vae.get("repo_id"): + if repo_id == "stabilityai/sd-vae-ft-mse": # this guy is already downloaded + vae_path = "models/core/convert/sd-vae-ft-mse" return vae_path else: - vae_path = self._download_vae(repo_id, vae.get('subfolder')) + vae_path = self._download_vae(repo_id, vae.get("subfolder")) assert vae_path is not None, "Couldn't find VAE for this model" @@ -307,152 +305,144 @@ class MigrateTo3(object): dest = self._model_probe_to_path(info) / vae_path.name if not dest.exists(): if vae_path.is_dir(): - self.copy_dir(vae_path,dest) + self.copy_dir(vae_path, dest) else: - self.copy_file(vae_path,dest) + self.copy_file(vae_path, dest) vae_path = dest if vae_path.is_relative_to(self.dest_models): rel_path = vae_path.relative_to(self.dest_models) - return Path('models',rel_path) + return Path("models", rel_path) else: return vae_path - def migrate_repo_id(self, repo_id: str, model_name: str=None, **extra_config): - ''' + def migrate_repo_id(self, repo_id: str, model_name: str = None, **extra_config): + """ Migrate a locally-cached diffusers pipeline identified with a repo_id - ''' + """ dest_dir = self.dest_models - - cache = self.root_directory / 'models/hub' + + cache = self.root_directory / "models/hub" kwargs = dict( - cache_dir = cache, - safety_checker = None, + cache_dir=cache, + safety_checker=None, # local_files_only = True, ) - owner,repo_name = repo_id.split('/') + owner, repo_name = repo_id.split("/") model_name = model_name or repo_name - model = cache / '--'.join(['models',owner,repo_name]) - - if len(list(model.glob('snapshots/**/model_index.json')))==0: + model = cache / "--".join(["models", owner, repo_name]) + + if len(list(model.glob("snapshots/**/model_index.json"))) == 0: return - revisions = [x.name for x in model.glob('refs/*')] + revisions = [x.name for x in model.glob("refs/*")] # if an fp16 is available we use that - revision = 'fp16' if len(revisions) > 1 and 'fp16' in revisions else revisions[0] - pipeline = StableDiffusionPipeline.from_pretrained( - repo_id, - revision=revision, - **kwargs) + revision = "fp16" if len(revisions) > 1 and "fp16" in revisions else revisions[0] + pipeline = StableDiffusionPipeline.from_pretrained(repo_id, revision=revision, **kwargs) info = ModelProbe().heuristic_probe(pipeline) if not info: return if self.mgr.model_exists(model_name, info.base_type, info.model_type): - logger.warning(f'A model named {model_name} already exists at the destination. Skipping migration.') + logger.warning(f"A model named {model_name} already exists at the destination. Skipping migration.") return dest = self._model_probe_to_path(info) / model_name self._save_pretrained(pipeline, dest) - - rel_path = Path('models',dest.relative_to(dest_dir)) + + rel_path = Path("models", dest.relative_to(dest_dir)) self._add_model(model_name, info, rel_path, **extra_config) - def migrate_path(self, location: Path, model_name: str=None, **extra_config): - ''' + def migrate_path(self, location: Path, model_name: str = None, **extra_config): + """ Migrate a model referred to using 'weights' or 'path' - ''' + """ # handle relative paths dest_dir = self.dest_models location = self.root_directory / location model_name = model_name or location.stem - + info = ModelProbe().heuristic_probe(location) if not info: return - + if self.mgr.model_exists(model_name, info.base_type, info.model_type): - logger.warning(f'A model named {model_name} already exists at the destination. Skipping migration.') + logger.warning(f"A model named {model_name} already exists at the destination. Skipping migration.") return # uh oh, weights is in the old models directory - move it into the new one if Path(location).is_relative_to(self.src_paths.models): dest = Path(dest_dir, info.base_type.value, info.model_type.value, location.name) if location.is_dir(): - self.copy_dir(location,dest) + self.copy_dir(location, dest) else: - self.copy_file(location,dest) - location = Path('models', info.base_type.value, info.model_type.value, location.name) + self.copy_file(location, dest) + location = Path("models", info.base_type.value, info.model_type.value, location.name) self._add_model(model_name, info, location, **extra_config) - def _add_model(self, - model_name: str, - info: ModelProbeInfo, - location: Path, - **extra_config): + def _add_model(self, model_name: str, info: ModelProbeInfo, location: Path, **extra_config): if info.model_type != ModelType.Main: return - - self.mgr.add_model( - model_name = model_name, - base_model = info.base_type, - model_type = info.model_type, - clobber = True, - model_attributes = { - 'path': str(location), - 'description': f'A {info.base_type.value} {info.model_type.value} model', - 'model_format': info.format, - 'variant': info.variant_type.value, - **extra_config, - } - ) - - def migrate_defined_models(self): - ''' - Migrate models defined in models.yaml - ''' - # find any models referred to in old models.yaml - conf = OmegaConf.load(self.root_directory / 'configs/models.yaml') - - for model_name, stanza in conf.items(): + self.mgr.add_model( + model_name=model_name, + base_model=info.base_type, + model_type=info.model_type, + clobber=True, + model_attributes={ + "path": str(location), + "description": f"A {info.base_type.value} {info.model_type.value} model", + "model_format": info.format, + "variant": info.variant_type.value, + **extra_config, + }, + ) + + def migrate_defined_models(self): + """ + Migrate models defined in models.yaml + """ + # find any models referred to in old models.yaml + conf = OmegaConf.load(self.root_directory / "configs/models.yaml") + + for model_name, stanza in conf.items(): try: passthru_args = {} - - if vae := stanza.get('vae'): + + if vae := stanza.get("vae"): try: - passthru_args['vae'] = str(self._vae_path(vae)) + passthru_args["vae"] = str(self._vae_path(vae)) except Exception as e: logger.warning(f'Could not find a VAE matching "{vae}" for model "{model_name}"') logger.warning(str(e)) - if config := stanza.get('config'): - passthru_args['config'] = config + if config := stanza.get("config"): + passthru_args["config"] = config - if description:= stanza.get('description'): - passthru_args['description'] = description - - if repo_id := stanza.get('repo_id'): - logger.info(f'Migrating diffusers model {model_name}') + if description := stanza.get("description"): + passthru_args["description"] = description + + if repo_id := stanza.get("repo_id"): + logger.info(f"Migrating diffusers model {model_name}") self.migrate_repo_id(repo_id, model_name, **passthru_args) - elif location := stanza.get('weights'): - logger.info(f'Migrating checkpoint model {model_name}') + elif location := stanza.get("weights"): + logger.info(f"Migrating checkpoint model {model_name}") self.migrate_path(Path(location), model_name, **passthru_args) - - elif location := stanza.get('path'): - logger.info(f'Migrating diffusers model {model_name}') + + elif location := stanza.get("path"): + logger.info(f"Migrating diffusers model {model_name}") self.migrate_path(Path(location), model_name, **passthru_args) - + except KeyboardInterrupt: raise except Exception as e: logger.error(str(e)) - + def migrate(self): self.create_directory_structure() # the configure script is doing this @@ -461,67 +451,71 @@ class MigrateTo3(object): self.migrate_tuning_models() self.migrate_defined_models() -def _parse_legacy_initfile(root: Path, initfile: Path)->ModelPaths: - ''' + +def _parse_legacy_initfile(root: Path, initfile: Path) -> ModelPaths: + """ Returns tuple of (embedding_path, lora_path, controlnet_path) - ''' - parser = argparse.ArgumentParser(fromfile_prefix_chars='@') + """ + parser = argparse.ArgumentParser(fromfile_prefix_chars="@") parser.add_argument( - '--embedding_directory', - '--embedding_path', + "--embedding_directory", + "--embedding_path", type=Path, - dest='embedding_path', - default=Path('embeddings'), + dest="embedding_path", + default=Path("embeddings"), ) parser.add_argument( - '--lora_directory', - dest='lora_path', + "--lora_directory", + dest="lora_path", type=Path, - default=Path('loras'), + default=Path("loras"), ) - opt,_ = parser.parse_known_args([f'@{str(initfile)}']) + opt, _ = parser.parse_known_args([f"@{str(initfile)}"]) return ModelPaths( - models = root / 'models', - embeddings = root / str(opt.embedding_path).strip('"'), - loras = root / str(opt.lora_path).strip('"'), - controlnets = root / 'controlnets', + models=root / "models", + embeddings=root / str(opt.embedding_path).strip('"'), + loras=root / str(opt.lora_path).strip('"'), + controlnets=root / "controlnets", ) -def _parse_legacy_yamlfile(root: Path, initfile: Path)->ModelPaths: - ''' + +def _parse_legacy_yamlfile(root: Path, initfile: Path) -> ModelPaths: + """ Returns tuple of (embedding_path, lora_path, controlnet_path) - ''' + """ # Don't use the config object because it is unforgiving of version updates # Just use omegaconf directly opt = OmegaConf.load(initfile) paths = opt.InvokeAI.Paths - models = paths.get('models_dir','models') - embeddings = paths.get('embedding_dir','embeddings') - loras = paths.get('lora_dir','loras') - controlnets = paths.get('controlnet_dir','controlnets') + models = paths.get("models_dir", "models") + embeddings = paths.get("embedding_dir", "embeddings") + loras = paths.get("lora_dir", "loras") + controlnets = paths.get("controlnet_dir", "controlnets") return ModelPaths( - models = root / models, - embeddings = root / embeddings, - loras = root /loras, - controlnets = root / controlnets, + models=root / models, + embeddings=root / embeddings, + loras=root / loras, + controlnets=root / controlnets, ) - + + def get_legacy_embeddings(root: Path) -> ModelPaths: - path = root / 'invokeai.init' + path = root / "invokeai.init" if path.exists(): return _parse_legacy_initfile(root, path) - path = root / 'invokeai.yaml' + path = root / "invokeai.yaml" if path.exists(): return _parse_legacy_yamlfile(root, path) + def do_migrate(src_directory: Path, dest_directory: Path): """ Migrate models from src to dest InvokeAI root directories """ - config_file = dest_directory / 'configs' / 'models.yaml.3' - dest_models = dest_directory / 'models.3' - - version_3 = (dest_directory / 'models' / 'core').exists() + config_file = dest_directory / "configs" / "models.yaml.3" + dest_models = dest_directory / "models.3" + + version_3 = (dest_directory / "models" / "core").exists() # Here we create the destination models.yaml file. # If we are writing into a version 3 directory and the @@ -530,80 +524,80 @@ def do_migrate(src_directory: Path, dest_directory: Path): # create a new empty one. if version_3: # write into the dest directory try: - shutil.copy(dest_directory / 'configs' / 'models.yaml', config_file) + shutil.copy(dest_directory / "configs" / "models.yaml", config_file) except: MigrateTo3.initialize_yaml(config_file) - mgr = ModelManager(config_file) # important to initialize BEFORE moving the models directory - (dest_directory / 'models').replace(dest_models) + mgr = ModelManager(config_file) # important to initialize BEFORE moving the models directory + (dest_directory / "models").replace(dest_models) else: MigrateTo3.initialize_yaml(config_file) mgr = ModelManager(config_file) - + paths = get_legacy_embeddings(src_directory) - migrator = MigrateTo3( - from_root = src_directory, - to_models = dest_models, - model_manager = mgr, - src_paths = paths - ) + migrator = MigrateTo3(from_root=src_directory, to_models=dest_models, model_manager=mgr, src_paths=paths) migrator.migrate() print("Migration successful.") if not version_3: - (dest_directory / 'models').replace(src_directory / 'models.orig') - print(f'Original models directory moved to {dest_directory}/models.orig') - - (dest_directory / 'configs' / 'models.yaml').replace(src_directory / 'configs' / 'models.yaml.orig') - print(f'Original models.yaml file moved to {dest_directory}/configs/models.yaml.orig') - - config_file.replace(config_file.with_suffix('')) - dest_models.replace(dest_models.with_suffix('')) - + (dest_directory / "models").replace(src_directory / "models.orig") + print(f"Original models directory moved to {dest_directory}/models.orig") + + (dest_directory / "configs" / "models.yaml").replace(src_directory / "configs" / "models.yaml.orig") + print(f"Original models.yaml file moved to {dest_directory}/configs/models.yaml.orig") + + config_file.replace(config_file.with_suffix("")) + dest_models.replace(dest_models.with_suffix("")) + + def main(): - parser = argparse.ArgumentParser(prog="invokeai-migrate3", - description=""" + parser = argparse.ArgumentParser( + prog="invokeai-migrate3", + description=""" This will copy and convert the models directory and the configs/models.yaml from the InvokeAI 2.3 format '--from-directory' root to the InvokeAI 3.0 '--to-directory' root. These may be abbreviated '--from' and '--to'.a The old models directory and config file will be renamed 'models.orig' and 'models.yaml.orig' respectively. It is safe to provide the same directory for both arguments, but it is better to use the invokeai_configure -script, which will perform a full upgrade in place.""" - ) - parser.add_argument('--from-directory', - dest='src_root', - type=Path, - required=True, - help='Source InvokeAI 2.3 root directory (containing "invokeai.init" or "invokeai.yaml")' - ) - parser.add_argument('--to-directory', - dest='dest_root', - type=Path, - required=True, - help='Destination InvokeAI 3.0 directory (containing "invokeai.yaml")' - ) +script, which will perform a full upgrade in place.""", + ) + parser.add_argument( + "--from-directory", + dest="src_root", + type=Path, + required=True, + help='Source InvokeAI 2.3 root directory (containing "invokeai.init" or "invokeai.yaml")', + ) + parser.add_argument( + "--to-directory", + dest="dest_root", + type=Path, + required=True, + help='Destination InvokeAI 3.0 directory (containing "invokeai.yaml")', + ) args = parser.parse_args() src_root = args.src_root assert src_root.is_dir(), f"{src_root} is not a valid directory" - assert (src_root / 'models').is_dir(), f"{src_root} does not contain a 'models' subdirectory" - assert (src_root / 'models' / 'hub').exists(), f"{src_root} does not contain a version 2.3 models directory" - assert (src_root / 'invokeai.init').exists() or (src_root / 'invokeai.yaml').exists(), f"{src_root} does not contain an InvokeAI init file." + assert (src_root / "models").is_dir(), f"{src_root} does not contain a 'models' subdirectory" + assert (src_root / "models" / "hub").exists(), f"{src_root} does not contain a version 2.3 models directory" + assert (src_root / "invokeai.init").exists() or ( + src_root / "invokeai.yaml" + ).exists(), f"{src_root} does not contain an InvokeAI init file." dest_root = args.dest_root assert dest_root.is_dir(), f"{dest_root} is not a valid directory" config = InvokeAIAppConfig.get_config() - config.parse_args(['--root',str(dest_root)]) + config.parse_args(["--root", str(dest_root)]) # TODO: revisit - don't rely on invokeai.yaml to exist yet! - dest_is_setup = (dest_root / 'models/core').exists() and (dest_root / 'databases').exists() + dest_is_setup = (dest_root / "models/core").exists() and (dest_root / "databases").exists() if not dest_is_setup: import invokeai.frontend.install.invokeai_configure from invokeai.backend.install.invokeai_configure import initialize_rootdir + initialize_rootdir(dest_root, True) - do_migrate(src_root,dest_root) + do_migrate(src_root, dest_root) -if __name__ == '__main__': + +if __name__ == "__main__": main() - - - diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index 5aed8cc034..b3ab88b5dd 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -4,7 +4,7 @@ Utility (backend) functions used by model_install.py import os import shutil import warnings -from dataclasses import dataclass,field +from dataclasses import dataclass, field from pathlib import Path from tempfile import TemporaryDirectory from typing import List, Dict, Callable, Union, Set @@ -28,7 +28,7 @@ warnings.filterwarnings("ignore") # --------------------------globals----------------------- config = InvokeAIAppConfig.get_config() -logger = InvokeAILogger.getLogger(name='InvokeAI') +logger = InvokeAILogger.getLogger(name="InvokeAI") # the initial "configs" dir is now bundled in the `invokeai.configs` package Dataset_path = Path(configs.__path__[0]) / "INITIAL_MODELS.yaml" @@ -45,59 +45,63 @@ Config_preamble = """ LEGACY_CONFIGS = { BaseModelType.StableDiffusion1: { - ModelVariantType.Normal: 'v1-inference.yaml', - ModelVariantType.Inpaint: 'v1-inpainting-inference.yaml', + ModelVariantType.Normal: "v1-inference.yaml", + ModelVariantType.Inpaint: "v1-inpainting-inference.yaml", }, - BaseModelType.StableDiffusion2: { ModelVariantType.Normal: { - SchedulerPredictionType.Epsilon: 'v2-inference.yaml', - SchedulerPredictionType.VPrediction: 'v2-inference-v.yaml', + SchedulerPredictionType.Epsilon: "v2-inference.yaml", + SchedulerPredictionType.VPrediction: "v2-inference-v.yaml", }, ModelVariantType.Inpaint: { - SchedulerPredictionType.Epsilon: 'v2-inpainting-inference.yaml', - SchedulerPredictionType.VPrediction: 'v2-inpainting-inference-v.yaml', - } + SchedulerPredictionType.Epsilon: "v2-inpainting-inference.yaml", + SchedulerPredictionType.VPrediction: "v2-inpainting-inference-v.yaml", + }, }, - BaseModelType.StableDiffusionXL: { - ModelVariantType.Normal: 'sd_xl_base.yaml', + ModelVariantType.Normal: "sd_xl_base.yaml", }, - BaseModelType.StableDiffusionXLRefiner: { - ModelVariantType.Normal: 'sd_xl_refiner.yaml', + ModelVariantType.Normal: "sd_xl_refiner.yaml", }, } + @dataclass class ModelInstallList: - '''Class for listing models to be installed/removed''' + """Class for listing models to be installed/removed""" + install_models: List[str] = field(default_factory=list) remove_models: List[str] = field(default_factory=list) -@dataclass -class InstallSelections(): - install_models: List[str]= field(default_factory=list) - remove_models: List[str]=field(default_factory=list) @dataclass -class ModelLoadInfo(): +class InstallSelections: + install_models: List[str] = field(default_factory=list) + remove_models: List[str] = field(default_factory=list) + + +@dataclass +class ModelLoadInfo: name: str model_type: ModelType base_type: BaseModelType path: Path = None repo_id: str = None - description: str = '' + description: str = "" installed: bool = False recommended: bool = False default: bool = False + class ModelInstall(object): - def __init__(self, - config:InvokeAIAppConfig, - prediction_type_helper: Callable[[Path],SchedulerPredictionType]=None, - model_manager: ModelManager = None, - access_token:str = None): + def __init__( + self, + config: InvokeAIAppConfig, + prediction_type_helper: Callable[[Path], SchedulerPredictionType] = None, + model_manager: ModelManager = None, + access_token: str = None, + ): self.config = config self.mgr = model_manager or ModelManager(config.model_conf_path) self.datasets = OmegaConf.load(Dataset_path) @@ -105,66 +109,66 @@ class ModelInstall(object): self.access_token = access_token or HfFolder.get_token() self.reverse_paths = self._reverse_paths(self.datasets) - def all_models(self)->Dict[str,ModelLoadInfo]: - ''' + def all_models(self) -> Dict[str, ModelLoadInfo]: + """ Return dict of model_key=>ModelLoadInfo objects. This method consolidates and simplifies the entries in both models.yaml and INITIAL_MODELS.yaml so that they can be treated uniformly. It also sorts the models alphabetically by their name, to improve the display somewhat. - ''' + """ model_dict = dict() - + # first populate with the entries in INITIAL_MODELS.yaml for key, value in self.datasets.items(): - name,base,model_type = ModelManager.parse_key(key) - value['name'] = name - value['base_type'] = base - value['model_type'] = model_type + name, base, model_type = ModelManager.parse_key(key) + value["name"] = name + value["base_type"] = base + value["model_type"] = model_type model_dict[key] = ModelLoadInfo(**value) # supplement with entries in models.yaml installed_models = self.mgr.list_models() - + for md in installed_models: - base = md['base_model'] - model_type = md['model_type'] - name = md['model_name'] + base = md["base_model"] + model_type = md["model_type"] + name = md["model_name"] key = ModelManager.create_key(name, base, model_type) if key in model_dict: model_dict[key].installed = True else: model_dict[key] = ModelLoadInfo( - name = name, - base_type = base, - model_type = model_type, - path = value.get('path'), - installed = True, + name=name, + base_type=base, + model_type=model_type, + path=value.get("path"), + installed=True, ) - return {x : model_dict[x] for x in sorted(model_dict.keys(),key=lambda y: model_dict[y].name.lower())} + return {x: model_dict[x] for x in sorted(model_dict.keys(), key=lambda y: model_dict[y].name.lower())} def list_models(self, model_type): installed = self.mgr.list_models(model_type=model_type) - print(f'Installed models of type `{model_type}`:') + print(f"Installed models of type `{model_type}`:") for i in installed: print(f"{i['model_name']}\t{i['base_model']}\t{i['path']}") # logic here a little reversed to maintain backward compatibility - def starter_models(self, all_models: bool=False)->Set[str]: + def starter_models(self, all_models: bool = False) -> Set[str]: models = set() for key, value in self.datasets.items(): - name,base,model_type = ModelManager.parse_key(key) + name, base, model_type = ModelManager.parse_key(key) if all_models or model_type in [ModelType.Main, ModelType.Vae]: models.add(key) return models - def recommended_models(self)->Set[str]: + def recommended_models(self) -> Set[str]: starters = self.starter_models(all_models=True) - return set([x for x in starters if self.datasets[x].get('recommended',False)]) - - def default_model(self)->str: + return set([x for x in starters if self.datasets[x].get("recommended", False)]) + + def default_model(self) -> str: starters = self.starter_models() - defaults = [x for x in starters if self.datasets[x].get('default',False)] + defaults = [x for x in starters if self.datasets[x].get("default", False)] return defaults[0] def install(self, selections: InstallSelections): @@ -173,54 +177,57 @@ class ModelInstall(object): job = 1 jobs = len(selections.remove_models) + len(selections.install_models) - + # remove requested models for key in selections.remove_models: - name,base,mtype = self.mgr.parse_key(key) - logger.info(f'Deleting {mtype} model {name} [{job}/{jobs}]') + name, base, mtype = self.mgr.parse_key(key) + logger.info(f"Deleting {mtype} model {name} [{job}/{jobs}]") try: - self.mgr.del_model(name,base,mtype) + self.mgr.del_model(name, base, mtype) except FileNotFoundError as e: logger.warning(e) job += 1 - + # add requested models for path in selections.install_models: - logger.info(f'Installing {path} [{job}/{jobs}]') + logger.info(f"Installing {path} [{job}/{jobs}]") try: self.heuristic_import(path) except (ValueError, KeyError) as e: logger.error(str(e)) job += 1 - + dlogging.set_verbosity(verbosity) self.mgr.commit() - def heuristic_import(self, - model_path_id_or_url: Union[str,Path], - models_installed: Set[Path]=None, - )->Dict[str, AddModelResult]: - ''' + def heuristic_import( + self, + model_path_id_or_url: Union[str, Path], + models_installed: Set[Path] = None, + ) -> Dict[str, AddModelResult]: + """ :param model_path_id_or_url: A Path to a local model to import, or a string representing its repo_id or URL :param models_installed: Set of installed models, used for recursive invocation Returns a set of dict objects corresponding to newly-created stanzas in models.yaml. - ''' + """ if not models_installed: models_installed = dict() - + # A little hack to allow nested routines to retrieve info on the requested ID self.current_id = model_path_id_or_url path = Path(model_path_id_or_url) # checkpoint file, or similar if path.is_file(): - models_installed.update({str(path):self._install_path(path)}) + models_installed.update({str(path): self._install_path(path)}) # folders style or similar - elif path.is_dir() and any([(path/x).exists() for x in \ - {'config.json','model_index.json','learned_embeds.bin','pytorch_lora_weights.bin'} - ] - ): + elif path.is_dir() and any( + [ + (path / x).exists() + for x in {"config.json", "model_index.json", "learned_embeds.bin", "pytorch_lora_weights.bin"} + ] + ): models_installed.update({str(model_path_id_or_url): self._install_path(path)}) # recursive scan @@ -229,7 +236,7 @@ class ModelInstall(object): self.heuristic_import(child, models_installed=models_installed) # huggingface repo - elif len(str(model_path_id_or_url).split('/')) == 2: + elif len(str(model_path_id_or_url).split("/")) == 2: models_installed.update({str(model_path_id_or_url): self._install_repo(str(model_path_id_or_url))}) # a URL @@ -237,42 +244,43 @@ class ModelInstall(object): models_installed.update({str(model_path_id_or_url): self._install_url(model_path_id_or_url)}) else: - raise KeyError(f'{str(model_path_id_or_url)} is not recognized as a local path, repo ID or URL. Skipping') + raise KeyError(f"{str(model_path_id_or_url)} is not recognized as a local path, repo ID or URL. Skipping") return models_installed # install a model from a local path. The optional info parameter is there to prevent # the model from being probed twice in the event that it has already been probed. - def _install_path(self, path: Path, info: ModelProbeInfo=None)->AddModelResult: - info = info or ModelProbe().heuristic_probe(path,self.prediction_helper) + def _install_path(self, path: Path, info: ModelProbeInfo = None) -> AddModelResult: + info = info or ModelProbe().heuristic_probe(path, self.prediction_helper) if not info: - logger.warning(f'Unable to parse format of {path}') + logger.warning(f"Unable to parse format of {path}") return None model_name = path.stem if path.is_file() else path.name if self.mgr.model_exists(model_name, info.base_type, info.model_type): raise ValueError(f'A model named "{model_name}" is already installed.') - attributes = self._make_attributes(path,info) - return self.mgr.add_model(model_name = model_name, - base_model = info.base_type, - model_type = info.model_type, - model_attributes = attributes, - ) + attributes = self._make_attributes(path, info) + return self.mgr.add_model( + model_name=model_name, + base_model=info.base_type, + model_type=info.model_type, + model_attributes=attributes, + ) - def _install_url(self, url: str)->AddModelResult: + def _install_url(self, url: str) -> AddModelResult: with TemporaryDirectory(dir=self.config.models_path) as staging: - location = download_with_resume(url,Path(staging)) + location = download_with_resume(url, Path(staging)) if not location: - logger.error(f'Unable to download {url}. Skipping.') + logger.error(f"Unable to download {url}. Skipping.") info = ModelProbe().heuristic_probe(location) dest = self.config.models_path / info.base_type.value / info.model_type.value / location.name - models_path = shutil.move(location,dest) + models_path = shutil.move(location, dest) # staged version will be garbage-collected at this time return self._install_path(Path(models_path), info) - def _install_repo(self, repo_id: str)->AddModelResult: + def _install_repo(self, repo_id: str) -> AddModelResult: hinfo = HfApi().model_info(repo_id) - + # we try to figure out how to download this most economically # list all the files in the repo files = [x.rfilename for x in hinfo.siblings] @@ -280,42 +288,49 @@ class ModelInstall(object): with TemporaryDirectory(dir=self.config.models_path) as staging: staging = Path(staging) - if 'model_index.json' in files: - location = self._download_hf_pipeline(repo_id, staging) # pipeline + if "model_index.json" in files: + location = self._download_hf_pipeline(repo_id, staging) # pipeline else: - for suffix in ['safetensors','bin']: - if f'pytorch_lora_weights.{suffix}' in files: - location = self._download_hf_model(repo_id, ['pytorch_lora_weights.bin'], staging) # LoRA + for suffix in ["safetensors", "bin"]: + if f"pytorch_lora_weights.{suffix}" in files: + location = self._download_hf_model(repo_id, ["pytorch_lora_weights.bin"], staging) # LoRA break - elif self.config.precision=='float16' and f'diffusion_pytorch_model.fp16.{suffix}' in files: # vae, controlnet or some other standalone - files = ['config.json', f'diffusion_pytorch_model.fp16.{suffix}'] + elif ( + self.config.precision == "float16" and f"diffusion_pytorch_model.fp16.{suffix}" in files + ): # vae, controlnet or some other standalone + files = ["config.json", f"diffusion_pytorch_model.fp16.{suffix}"] location = self._download_hf_model(repo_id, files, staging) break - elif f'diffusion_pytorch_model.{suffix}' in files: - files = ['config.json', f'diffusion_pytorch_model.{suffix}'] + elif f"diffusion_pytorch_model.{suffix}" in files: + files = ["config.json", f"diffusion_pytorch_model.{suffix}"] location = self._download_hf_model(repo_id, files, staging) break - elif f'learned_embeds.{suffix}' in files: - location = self._download_hf_model(repo_id, [f'learned_embeds.{suffix}'], staging) + elif f"learned_embeds.{suffix}" in files: + location = self._download_hf_model(repo_id, [f"learned_embeds.{suffix}"], staging) break if not location: - logger.warning(f'Could not determine type of repo {repo_id}. Skipping install.') + logger.warning(f"Could not determine type of repo {repo_id}. Skipping install.") return {} info = ModelProbe().heuristic_probe(location, self.prediction_helper) if not info: - logger.warning(f'Could not probe {location}. Skipping install.') + logger.warning(f"Could not probe {location}. Skipping install.") return {} - dest = self.config.models_path / info.base_type.value / info.model_type.value / self._get_model_name(repo_id,location) + dest = ( + self.config.models_path + / info.base_type.value + / info.model_type.value + / self._get_model_name(repo_id, location) + ) if dest.exists(): shutil.rmtree(dest) - shutil.copytree(location,dest) + shutil.copytree(location, dest) return self._install_path(dest, info) - def _get_model_name(self,path_name: str, location: Path)->str: - ''' + def _get_model_name(self, path_name: str, location: Path) -> str: + """ Calculate a name for the model - primitive implementation. - ''' + """ if key := self.reverse_paths.get(path_name): (name, base, mtype) = ModelManager.parse_key(key) return name @@ -324,99 +339,103 @@ class ModelInstall(object): else: return location.stem - def _make_attributes(self, path: Path, info: ModelProbeInfo)->dict: + def _make_attributes(self, path: Path, info: ModelProbeInfo) -> dict: model_name = path.name if path.is_dir() else path.stem - description = f'{info.base_type.value} {info.model_type.value} model {model_name}' + description = f"{info.base_type.value} {info.model_type.value} model {model_name}" if key := self.reverse_paths.get(self.current_id): if key in self.datasets: - description = self.datasets[key].get('description') or description + description = self.datasets[key].get("description") or description rel_path = self.relative_to_root(path) attributes = dict( - path = str(rel_path), - description = str(description), - model_format = info.format, - ) + path=str(rel_path), + description=str(description), + model_format=info.format, + ) legacy_conf = None if info.model_type == ModelType.Main: - attributes.update(dict(variant = info.variant_type,)) - if info.format=="checkpoint": + attributes.update( + dict( + variant=info.variant_type, + ) + ) + if info.format == "checkpoint": try: - possible_conf = path.with_suffix('.yaml') + possible_conf = path.with_suffix(".yaml") if possible_conf.exists(): legacy_conf = str(self.relative_to_root(possible_conf)) elif info.base_type == BaseModelType.StableDiffusion2: - legacy_conf = Path(self.config.legacy_conf_dir, LEGACY_CONFIGS[info.base_type][info.variant_type][info.prediction_type]) + legacy_conf = Path( + self.config.legacy_conf_dir, + LEGACY_CONFIGS[info.base_type][info.variant_type][info.prediction_type], + ) else: - legacy_conf = Path(self.config.legacy_conf_dir, LEGACY_CONFIGS[info.base_type][info.variant_type]) + legacy_conf = Path( + self.config.legacy_conf_dir, LEGACY_CONFIGS[info.base_type][info.variant_type] + ) except KeyError: - legacy_conf = Path(self.config.legacy_conf_dir, 'v1-inference.yaml') # best guess - - if info.model_type == ModelType.ControlNet and info.format=="checkpoint": - possible_conf = path.with_suffix('.yaml') + legacy_conf = Path(self.config.legacy_conf_dir, "v1-inference.yaml") # best guess + + if info.model_type == ModelType.ControlNet and info.format == "checkpoint": + possible_conf = path.with_suffix(".yaml") if possible_conf.exists(): legacy_conf = str(self.relative_to_root(possible_conf)) if legacy_conf: - attributes.update( - dict( - config = str(legacy_conf) - ) - ) + attributes.update(dict(config=str(legacy_conf))) return attributes - def relative_to_root(self, path: Path)->Path: + def relative_to_root(self, path: Path) -> Path: root = self.config.root_path if path.is_relative_to(root): return path.relative_to(root) else: return path - def _download_hf_pipeline(self, repo_id: str, staging: Path)->Path: - ''' + def _download_hf_pipeline(self, repo_id: str, staging: Path) -> Path: + """ This retrieves a StableDiffusion model from cache or remote and then does a save_pretrained() to the indicated staging area. - ''' - _,name = repo_id.split("/") - revisions = ['fp16','main'] if self.config.precision=='float16' else ['main'] + """ + _, name = repo_id.split("/") + revisions = ["fp16", "main"] if self.config.precision == "float16" else ["main"] model = None for revision in revisions: try: - model = DiffusionPipeline.from_pretrained(repo_id,revision=revision,safety_checker=None) + model = DiffusionPipeline.from_pretrained(repo_id, revision=revision, safety_checker=None) except: # most errors are due to fp16 not being present. Fix this to catch other errors pass if model: break if not model: - logger.error(f'Diffusers model {repo_id} could not be downloaded. Skipping.') + logger.error(f"Diffusers model {repo_id} could not be downloaded. Skipping.") return None model.save_pretrained(staging / name, safe_serialization=True) return staging / name - def _download_hf_model(self, repo_id: str, files: List[str], staging: Path)->Path: - _,name = repo_id.split("/") + def _download_hf_model(self, repo_id: str, files: List[str], staging: Path) -> Path: + _, name = repo_id.split("/") location = staging / name paths = list() for filename in files: - p = hf_download_with_resume(repo_id, - model_dir=location, - model_name=filename, - access_token = self.access_token - ) + p = hf_download_with_resume( + repo_id, model_dir=location, model_name=filename, access_token=self.access_token + ) if p: paths.append(p) else: - logger.warning(f'Could not download {filename} from {repo_id}.') - - return location if len(paths)>0 else None + logger.warning(f"Could not download {filename} from {repo_id}.") + + return location if len(paths) > 0 else None @classmethod - def _reverse_paths(cls,datasets)->dict: - ''' + def _reverse_paths(cls, datasets) -> dict: + """ Reverse mapping from repo_id/path to destination name. - ''' - return {v.get('path') or v.get('repo_id') : k for k, v in datasets.items()} + """ + return {v.get("path") or v.get("repo_id"): k for k, v in datasets.items()} + # ------------------------------------- def yes_or_no(prompt: str, default_yes=True): @@ -427,13 +446,12 @@ def yes_or_no(prompt: str, default_yes=True): else: return response[0] in ("y", "Y") + # --------------------------------------------- -def hf_download_from_pretrained( - model_class: object, model_name: str, destination: Path, **kwargs -): - logger = InvokeAILogger.getLogger('InvokeAI') - logger.addFilter(lambda x: 'fp16 is not a valid' not in x.getMessage()) - +def hf_download_from_pretrained(model_class: object, model_name: str, destination: Path, **kwargs): + logger = InvokeAILogger.getLogger("InvokeAI") + logger.addFilter(lambda x: "fp16 is not a valid" not in x.getMessage()) + model = model_class.from_pretrained( model_name, resume_download=True, @@ -442,13 +460,14 @@ def hf_download_from_pretrained( model.save_pretrained(destination, safe_serialization=True) return destination + # --------------------------------------------- def hf_download_with_resume( - repo_id: str, - model_dir: str, - model_name: str, - model_dest: Path = None, - access_token: str = None, + repo_id: str, + model_dir: str, + model_name: str, + model_dest: Path = None, + access_token: str = None, ) -> Path: model_dest = model_dest or Path(os.path.join(model_dir, model_name)) os.makedirs(model_dir, exist_ok=True) @@ -467,9 +486,7 @@ def hf_download_with_resume( resp = requests.get(url, headers=header, stream=True) total = int(resp.headers.get("content-length", 0)) - if ( - resp.status_code == 416 - ): # "range not satisfiable", which means nothing to return + if resp.status_code == 416: # "range not satisfiable", which means nothing to return logger.info(f"{model_name}: complete file found. Skipping.") return model_dest elif resp.status_code == 404: @@ -498,5 +515,3 @@ def hf_download_with_resume( logger.error(f"An error occurred while downloading {model_name}: {str(e)}") return None return model_dest - - diff --git a/invokeai/backend/model_management/__init__.py b/invokeai/backend/model_management/__init__.py index 91180d4474..a277ecb29c 100644 --- a/invokeai/backend/model_management/__init__.py +++ b/invokeai/backend/model_management/__init__.py @@ -3,6 +3,12 @@ Initialization file for invokeai.backend.model_management """ from .model_manager import ModelManager, ModelInfo, AddModelResult, SchedulerPredictionType from .model_cache import ModelCache -from .models import BaseModelType, ModelType, SubModelType, ModelVariantType, ModelNotFoundException, DuplicateModelException +from .models import ( + BaseModelType, + ModelType, + SubModelType, + ModelVariantType, + ModelNotFoundException, + DuplicateModelException, +) from .model_merge import ModelMerger, MergeInterpolationMethod - diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index 0124da7f56..2c62b8b192 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -56,9 +56,7 @@ from diffusers.schedulers import ( ) from diffusers.utils import is_accelerate_available, is_omegaconf_available, is_safetensors_available from diffusers.utils.import_utils import BACKENDS_MAPPING -from diffusers.pipelines.latent_diffusion.pipeline_latent_diffusion import ( - LDMBertConfig, LDMBertModel -) +from diffusers.pipelines.latent_diffusion.pipeline_latent_diffusion import LDMBertConfig, LDMBertModel from diffusers.pipelines.paint_by_example import PaintByExampleImageEncoder from diffusers.pipelines.pipeline_utils import DiffusionPipeline from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker @@ -85,6 +83,7 @@ if is_accelerate_available(): logger = InvokeAILogger.getLogger(__name__) CONVERT_MODEL_ROOT = InvokeAIAppConfig.get_config().root_path / MODEL_CORE / "convert" + def shave_segments(path, n_shave_prefix_segments=1): """ Removes segments. Positive values shave the first segments, negative shave the last segments. @@ -509,9 +508,7 @@ def convert_ldm_unet_checkpoint( paths = renew_resnet_paths(resnets) meta_path = {"old": f"input_blocks.{i}.0", "new": f"down_blocks.{block_id}.resnets.{layer_in_block_id}"} - assign_to_checkpoint( - paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config - ) + assign_to_checkpoint(paths, new_checkpoint, unet_state_dict, additional_replacements=[meta_path], config=config) if len(attentions): paths = renew_attention_paths(attentions) @@ -796,7 +793,7 @@ def convert_ldm_bert_checkpoint(checkpoint, config): def convert_ldm_clip_checkpoint(checkpoint, local_files_only=False, text_encoder=None): if text_encoder is None: - config = CLIPTextConfig.from_pretrained(CONVERT_MODEL_ROOT / 'clip-vit-large-patch14') + config = CLIPTextConfig.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") ctx = init_empty_weights if is_accelerate_available() else nullcontext with ctx(): @@ -1008,7 +1005,9 @@ def stable_unclip_image_encoder(original_config): elif sd_clip_image_embedder_class == "FrozenOpenCLIPImageEmbedder": feature_extractor = CLIPImageProcessor() # InvokeAI doesn't use CLIPVisionModelWithProjection so it isn't in the core - if this code is hit a download will occur - image_encoder = CLIPVisionModelWithProjection.from_pretrained(CONVERT_MODEL_ROOT / "CLIP-ViT-H-14-laion2B-s32B-b79K") + image_encoder = CLIPVisionModelWithProjection.from_pretrained( + CONVERT_MODEL_ROOT / "CLIP-ViT-H-14-laion2B-s32B-b79K" + ) else: raise NotImplementedError( f"Unknown CLIP image embedder class in stable diffusion checkpoint {sd_clip_image_embedder_class}" @@ -1071,17 +1070,17 @@ def convert_controlnet_checkpoint( extract_ema, use_linear_projection=None, cross_attention_dim=None, - precision: torch.dtype=torch.float32, + precision: torch.dtype = torch.float32, ): ctrlnet_config = create_unet_diffusers_config(original_config, image_size=image_size, controlnet=True) ctrlnet_config["upcast_attention"] = upcast_attention ctrlnet_config.pop("sample_size") original_config = ctrlnet_config.copy() - - ctrlnet_config.pop('addition_embed_type') - ctrlnet_config.pop('addition_time_embed_dim') - ctrlnet_config.pop('transformer_layers_per_block') + + ctrlnet_config.pop("addition_embed_type") + ctrlnet_config.pop("addition_time_embed_dim") + ctrlnet_config.pop("transformer_layers_per_block") if use_linear_projection is not None: ctrlnet_config["use_linear_projection"] = use_linear_projection @@ -1111,6 +1110,7 @@ def convert_controlnet_checkpoint( return controlnet.to(precision) + # TO DO - PASS PRECISION def download_from_original_stable_diffusion_ckpt( checkpoint_path: str, @@ -1249,8 +1249,8 @@ def download_from_original_stable_diffusion_ckpt( # "state_dict" key https://huggingface.co/thibaud/controlnet-canny-sd21 while "state_dict" in checkpoint: checkpoint = checkpoint["state_dict"] - - logger.debug(f'model_type = {model_type}; original_config_file = {original_config_file}') + + logger.debug(f"model_type = {model_type}; original_config_file = {original_config_file}") if original_config_file is None: key_name_v2_1 = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" @@ -1258,7 +1258,9 @@ def download_from_original_stable_diffusion_ckpt( key_name_sd_xl_refiner = "conditioner.embedders.0.model.transformer.resblocks.9.mlp.c_proj.bias" # model_type = "v1" - config_url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml" + config_url = ( + "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml" + ) if key_name_v2_1 in checkpoint and checkpoint[key_name_v2_1].shape[-1] == 1024: # model_type = "v2" @@ -1277,7 +1279,10 @@ def download_from_original_stable_diffusion_ckpt( original_config_file = BytesIO(requests.get(config_url).content) original_config = OmegaConf.load(original_config_file) - if model_version == BaseModelType.StableDiffusion2 and original_config["model"]["params"]["parameterization"] == "v": + if ( + model_version == BaseModelType.StableDiffusion2 + and original_config["model"]["params"]["parameterization"] == "v" + ): prediction_type = "v_prediction" upcast_attention = True image_size = 768 @@ -1436,7 +1441,7 @@ def download_from_original_stable_diffusion_ckpt( config_kwargs = {"subfolder": "text_encoder"} text_model = convert_open_clip_checkpoint(checkpoint, config_name, **config_kwargs) - tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / 'stable-diffusion-2-clip', subfolder="tokenizer") + tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-2-clip", subfolder="tokenizer") if stable_unclip is None: if controlnet: @@ -1491,7 +1496,9 @@ def download_from_original_stable_diffusion_ckpt( prior = PriorTransformer.from_pretrained(karlo_model, subfolder="prior") prior_tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") - prior_text_model = CLIPTextModelWithProjection.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + prior_text_model = CLIPTextModelWithProjection.from_pretrained( + CONVERT_MODEL_ROOT / "clip-vit-large-patch14" + ) prior_scheduler = UnCLIPScheduler.from_pretrained(karlo_model, subfolder="prior_scheduler") prior_scheduler = DDPMScheduler.from_config(prior_scheduler.config) @@ -1533,11 +1540,19 @@ def download_from_original_stable_diffusion_ckpt( text_model = convert_ldm_clip_checkpoint( checkpoint, local_files_only=local_files_only, text_encoder=text_encoder ) - tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") if tokenizer is None else tokenizer + tokenizer = ( + CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") + if tokenizer is None + else tokenizer + ) if load_safety_checker: - safety_checker = StableDiffusionSafetyChecker.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker") - feature_extractor = AutoFeatureExtractor.from_pretrained(CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker") + safety_checker = StableDiffusionSafetyChecker.from_pretrained( + CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker" + ) + feature_extractor = AutoFeatureExtractor.from_pretrained( + CONVERT_MODEL_ROOT / "stable-diffusion-safety-checker" + ) else: safety_checker = None feature_extractor = None @@ -1567,7 +1582,7 @@ def download_from_original_stable_diffusion_ckpt( if model_type == "SDXL": tokenizer = CLIPTokenizer.from_pretrained(CONVERT_MODEL_ROOT / "clip-vit-large-patch14") text_encoder = convert_ldm_clip_checkpoint(checkpoint, local_files_only=local_files_only) - + tokenizer_name = CONVERT_MODEL_ROOT / "CLIP-ViT-bigG-14-laion2B-39B-b160k" tokenizer_2 = CLIPTokenizer.from_pretrained(tokenizer_name, pad_token="!") @@ -1577,7 +1592,7 @@ def download_from_original_stable_diffusion_ckpt( checkpoint, config_name, prefix="conditioner.embedders.1.model.", has_projection=True, **config_kwargs ) - pipe = StableDiffusionXLPipeline ( + pipe = StableDiffusionXLPipeline( vae=vae.to(precision), text_encoder=text_encoder, tokenizer=tokenizer, @@ -1686,24 +1701,22 @@ def download_controlnet_from_original_ckpt( return controlnet -def convert_ldm_vae_to_diffusers(checkpoint, vae_config: DictConfig, image_size: int) -> AutoencoderKL: - vae_config = create_vae_diffusers_config( - vae_config, image_size=image_size - ) - converted_vae_checkpoint = convert_ldm_vae_checkpoint( - checkpoint, vae_config - ) +def convert_ldm_vae_to_diffusers(checkpoint, vae_config: DictConfig, image_size: int) -> AutoencoderKL: + vae_config = create_vae_diffusers_config(vae_config, image_size=image_size) + + converted_vae_checkpoint = convert_ldm_vae_checkpoint(checkpoint, vae_config) vae = AutoencoderKL(**vae_config) vae.load_state_dict(converted_vae_checkpoint) return vae + def convert_ckpt_to_diffusers( - checkpoint_path: Union[str, Path], - dump_path: Union[str, Path], - use_safetensors: bool=True, - **kwargs, + checkpoint_path: Union[str, Path], + dump_path: Union[str, Path], + use_safetensors: bool = True, + **kwargs, ): """ Takes all the arguments of download_from_original_stable_diffusion_ckpt(), @@ -1717,10 +1730,11 @@ def convert_ckpt_to_diffusers( safe_serialization=use_safetensors and is_safetensors_available(), ) + def convert_controlnet_to_diffusers( - checkpoint_path: Union[str, Path], - dump_path: Union[str, Path], - **kwargs, + checkpoint_path: Union[str, Path], + dump_path: Union[str, Path], + **kwargs, ): """ Takes all the arguments of download_controlnet_from_original_ckpt(), diff --git a/invokeai/backend/model_management/lora.py b/invokeai/backend/model_management/lora.py index 222169afbb..06770843ec 100644 --- a/invokeai/backend/model_management/lora.py +++ b/invokeai/backend/model_management/lora.py @@ -11,14 +11,15 @@ from diffusers.models import UNet2DConditionModel from safetensors.torch import load_file from transformers import CLIPTextModel, CLIPTokenizer -class LoRALayerBase: - #rank: Optional[int] - #alpha: Optional[float] - #bias: Optional[torch.Tensor] - #layer_key: str - #@property - #def scale(self): +class LoRALayerBase: + # rank: Optional[int] + # alpha: Optional[float] + # bias: Optional[torch.Tensor] + # layer_key: str + + # @property + # def scale(self): # return self.alpha / self.rank if (self.alpha and self.rank) else 1.0 def __init__( @@ -31,11 +32,7 @@ class LoRALayerBase: else: self.alpha = None - if ( - "bias_indices" in values - and "bias_values" in values - and "bias_size" in values - ): + if "bias_indices" in values and "bias_values" in values and "bias_size" in values: self.bias = torch.sparse_coo_tensor( values["bias_indices"], values["bias_values"], @@ -45,13 +42,13 @@ class LoRALayerBase: else: self.bias = None - self.rank = None # set in layer implementation + self.rank = None # set in layer implementation self.layer_key = layer_key def forward( self, module: torch.nn.Module, - input_h: Any, # for real looks like Tuple[torch.nn.Tensor] but not sure + input_h: Any, # for real looks like Tuple[torch.nn.Tensor] but not sure multiplier: float, ): if type(module) == torch.nn.Conv2d: @@ -71,12 +68,16 @@ class LoRALayerBase: bias = self.bias if self.bias is not None else 0 scale = self.alpha / self.rank if (self.alpha and self.rank) else 1.0 - return op( - *input_h, - (weight + bias).view(module.weight.shape), - None, - **extra_args, - ) * multiplier * scale + return ( + op( + *input_h, + (weight + bias).view(module.weight.shape), + None, + **extra_args, + ) + * multiplier + * scale + ) def get_weight(self): raise NotImplementedError() @@ -99,9 +100,9 @@ class LoRALayerBase: # TODO: find and debug lora/locon with bias class LoRALayer(LoRALayerBase): - #up: torch.Tensor - #mid: Optional[torch.Tensor] - #down: torch.Tensor + # up: torch.Tensor + # mid: Optional[torch.Tensor] + # down: torch.Tensor def __init__( self, @@ -151,12 +152,12 @@ class LoRALayer(LoRALayerBase): class LoHALayer(LoRALayerBase): - #w1_a: torch.Tensor - #w1_b: torch.Tensor - #w2_a: torch.Tensor - #w2_b: torch.Tensor - #t1: Optional[torch.Tensor] = None - #t2: Optional[torch.Tensor] = None + # w1_a: torch.Tensor + # w1_b: torch.Tensor + # w2_a: torch.Tensor + # w2_b: torch.Tensor + # t1: Optional[torch.Tensor] = None + # t2: Optional[torch.Tensor] = None def __init__( self, @@ -187,12 +188,8 @@ class LoHALayer(LoRALayerBase): weight = (self.w1_a @ self.w1_b) * (self.w2_a @ self.w2_b) else: - rebuild1 = torch.einsum( - "i j k l, j r, i p -> p r k l", self.t1, self.w1_b, self.w1_a - ) - rebuild2 = torch.einsum( - "i j k l, j r, i p -> p r k l", self.t2, self.w2_b, self.w2_a - ) + rebuild1 = torch.einsum("i j k l, j r, i p -> p r k l", self.t1, self.w1_b, self.w1_a) + rebuild2 = torch.einsum("i j k l, j r, i p -> p r k l", self.t2, self.w2_b, self.w2_a) weight = rebuild1 * rebuild2 return weight @@ -223,20 +220,20 @@ class LoHALayer(LoRALayerBase): class LoKRLayer(LoRALayerBase): - #w1: Optional[torch.Tensor] = None - #w1_a: Optional[torch.Tensor] = None - #w1_b: Optional[torch.Tensor] = None - #w2: Optional[torch.Tensor] = None - #w2_a: Optional[torch.Tensor] = None - #w2_b: Optional[torch.Tensor] = None - #t2: Optional[torch.Tensor] = None + # w1: Optional[torch.Tensor] = None + # w1_a: Optional[torch.Tensor] = None + # w1_b: Optional[torch.Tensor] = None + # w2: Optional[torch.Tensor] = None + # w2_a: Optional[torch.Tensor] = None + # w2_b: Optional[torch.Tensor] = None + # t2: Optional[torch.Tensor] = None def __init__( self, layer_key: str, values: dict, ): - super().__init__(layer_key, values) + super().__init__(layer_key, values) if "lokr_w1" in values: self.w1 = values["lokr_w1"] @@ -266,7 +263,7 @@ class LoKRLayer(LoRALayerBase): elif "lokr_w2_b" in values: self.rank = values["lokr_w2_b"].shape[0] else: - self.rank = None # unscaled + self.rank = None # unscaled def get_weight(self): w1 = self.w1 @@ -278,7 +275,7 @@ class LoKRLayer(LoRALayerBase): if self.t2 is None: w2 = self.w2_a @ self.w2_b else: - w2 = torch.einsum('i j k l, i p, j r -> p r k l', self.t2, self.w2_a, self.w2_b) + w2 = torch.einsum("i j k l, i p, j r -> p r k l", self.t2, self.w2_a, self.w2_b) if len(w2.shape) == 4: w1 = w1.unsqueeze(2).unsqueeze(2) @@ -317,7 +314,7 @@ class LoKRLayer(LoRALayerBase): self.t2 = self.t2.to(device=device, dtype=dtype) -class LoRAModel: #(torch.nn.Module): +class LoRAModel: # (torch.nn.Module): _name: str layers: Dict[str, LoRALayer] _device: torch.device @@ -345,7 +342,7 @@ class LoRAModel: #(torch.nn.Module): @property def dtype(self): - return self._dtype + return self._dtype def to( self, @@ -380,7 +377,7 @@ class LoRAModel: #(torch.nn.Module): model = cls( device=device, dtype=dtype, - name=file_path.stem, # TODO: + name=file_path.stem, # TODO: layers=dict(), ) @@ -392,7 +389,6 @@ class LoRAModel: #(torch.nn.Module): state_dict = cls._group_state(state_dict) for layer_key, values in state_dict.items(): - # lora and locon if "lora_down.weight" in values: layer = LoRALayer(layer_key, values) @@ -407,9 +403,7 @@ class LoRAModel: #(torch.nn.Module): else: # TODO: diff/ia3/... format - print( - f">> Encountered unknown lora layer module in {model.name}: {layer_key}" - ) + print(f">> Encountered unknown lora layer module in {model.name}: {layer_key}") return # lower memory consumption by removing already parsed layer values @@ -443,9 +437,10 @@ with LoRAHelper.apply_lora_unet(unet, loras): # unmodified unet """ + + # TODO: rename smth like ModelPatcher and add TI method? class ModelPatcher: - @staticmethod def _resolve_lora_key(model: torch.nn.Module, lora_key: str, prefix: str) -> Tuple[str, torch.nn.Module]: assert "." not in lora_key @@ -455,10 +450,10 @@ class ModelPatcher: module = model module_key = "" - key_parts = lora_key[len(prefix):].split('_') + key_parts = lora_key[len(prefix) :].split("_") submodule_name = key_parts.pop(0) - + while len(key_parts) > 0: try: module = module.get_submodule(submodule_name) @@ -477,7 +472,6 @@ class ModelPatcher: applied_loras: List[Tuple[LoRAModel, float]], layer_name: str, ): - def lora_forward(module, input_h, output): if len(applied_loras) == 0: return output @@ -491,7 +485,6 @@ class ModelPatcher: return lora_forward - @classmethod @contextmanager def apply_lora_unet( @@ -502,7 +495,6 @@ class ModelPatcher: with cls.apply_lora(unet, loras, "lora_unet_"): yield - @classmethod @contextmanager def apply_lora_text_encoder( @@ -513,7 +505,6 @@ class ModelPatcher: with cls.apply_lora(text_encoder, loras, "lora_te_"): yield - @classmethod @contextmanager def apply_lora( @@ -526,7 +517,7 @@ class ModelPatcher: try: with torch.no_grad(): for lora, lora_weight in loras: - #assert lora.device.type == "cpu" + # assert lora.device.type == "cpu" for layer_key, layer in lora.layers.items(): if not layer_key.startswith(prefix): continue @@ -536,7 +527,7 @@ class ModelPatcher: original_weights[module_key] = module.weight.detach().to(device="cpu", copy=True) # enable autocast to calc fp16 loras on cpu - #with torch.autocast(device_type="cpu"): + # with torch.autocast(device_type="cpu"): layer.to(dtype=torch.float32) layer_scale = layer.alpha / layer.rank if (layer.alpha and layer.rank) else 1.0 layer_weight = layer.get_weight() * lora_weight * layer_scale @@ -547,14 +538,13 @@ class ModelPatcher: module.weight += layer_weight.to(device=module.weight.device, dtype=module.weight.dtype) - yield # wait for context manager exit + yield # wait for context manager exit finally: with torch.no_grad(): for module_key, weight in original_weights.items(): model.get_submodule(module_key).weight.copy_(weight) - @classmethod @contextmanager def apply_ti( @@ -602,7 +592,9 @@ class ModelPatcher: f"Cannot load embedding for {trigger}. It was trained on a model with token dimension {embedding.shape[0]}, but the current model has token dimension {model_embeddings.weight.data[token_id].shape[0]}." ) - model_embeddings.weight.data[token_id] = embedding.to(device=text_encoder.device, dtype=text_encoder.dtype) + model_embeddings.weight.data[token_id] = embedding.to( + device=text_encoder.device, dtype=text_encoder.dtype + ) ti_tokens.append(token_id) if len(ti_tokens) > 1: @@ -614,7 +606,6 @@ class ModelPatcher: if init_tokens_count and new_tokens_added: text_encoder.resize_token_embeddings(init_tokens_count) - @classmethod @contextmanager def apply_clip_skip( @@ -633,9 +624,10 @@ class ModelPatcher: while len(skipped_layers) > 0: text_encoder.text_model.encoder.layers.append(skipped_layers.pop()) + class TextualInversionModel: name: str - embedding: torch.Tensor # [n, 768]|[n, 1280] + embedding: torch.Tensor # [n, 768]|[n, 1280] @classmethod def from_checkpoint( @@ -647,8 +639,8 @@ class TextualInversionModel: if not isinstance(file_path, Path): file_path = Path(file_path) - result = cls() # TODO: - result.name = file_path.stem # TODO: + result = cls() # TODO: + result.name = file_path.stem # TODO: if file_path.suffix == ".safetensors": state_dict = load_file(file_path.absolute().as_posix(), device="cpu") @@ -659,7 +651,9 @@ class TextualInversionModel: # difference mostly in metadata if "string_to_param" in state_dict: if len(state_dict["string_to_param"]) > 1: - print(f"Warn: Embedding \"{file_path.name}\" contains multiple tokens, which is not supported. The first token will be used.") + print( + f'Warn: Embedding "{file_path.name}" contains multiple tokens, which is not supported. The first token will be used.' + ) result.embedding = next(iter(state_dict["string_to_param"].values())) @@ -688,10 +682,7 @@ class TextualInversionManager(BaseTextualInversionManager): self.pad_tokens = dict() self.tokenizer = tokenizer - def expand_textual_inversion_token_ids_if_necessary( - self, token_ids: list[int] - ) -> list[int]: - + def expand_textual_inversion_token_ids_if_necessary(self, token_ids: list[int]) -> list[int]: if len(self.pad_tokens) == 0: return token_ids @@ -707,4 +698,3 @@ class TextualInversionManager(BaseTextualInversionManager): new_token_ids.extend(self.pad_tokens[token_id]) return new_token_ids - diff --git a/invokeai/backend/model_management/model_cache.py b/invokeai/backend/model_management/model_cache.py index 5ca17f00fc..a171c81e3c 100644 --- a/invokeai/backend/model_management/model_cache.py +++ b/invokeai/backend/model_management/model_cache.py @@ -37,19 +37,22 @@ from .models import BaseModelType, ModelType, SubModelType, ModelBase DEFAULT_MAX_CACHE_SIZE = 6.0 # amount of GPU memory to hold in reserve for use by generations (GB) -DEFAULT_MAX_VRAM_CACHE_SIZE= 2.75 +DEFAULT_MAX_VRAM_CACHE_SIZE = 2.75 # actual size of a gig GIG = 1073741824 + class ModelLocker(object): "Forward declaration" pass + class ModelCache(object): "Forward declaration" pass + class _CacheRecord: size: int model: Any @@ -79,22 +82,22 @@ class _CacheRecord: return self.model.device != self.cache.storage_device else: return False - + class ModelCache(object): def __init__( self, - max_cache_size: float=DEFAULT_MAX_CACHE_SIZE, - max_vram_cache_size: float=DEFAULT_MAX_VRAM_CACHE_SIZE, - execution_device: torch.device=torch.device('cuda'), - storage_device: torch.device=torch.device('cpu'), - precision: torch.dtype=torch.float16, - sequential_offload: bool=False, - lazy_offloading: bool=True, + max_cache_size: float = DEFAULT_MAX_CACHE_SIZE, + max_vram_cache_size: float = DEFAULT_MAX_VRAM_CACHE_SIZE, + execution_device: torch.device = torch.device("cuda"), + storage_device: torch.device = torch.device("cpu"), + precision: torch.dtype = torch.float16, + sequential_offload: bool = False, + lazy_offloading: bool = True, sha_chunksize: int = 16777216, - logger: types.ModuleType = logger + logger: types.ModuleType = logger, ): - ''' + """ :param max_cache_size: Maximum size of the RAM cache [6.0 GB] :param execution_device: Torch device to load active model into [torch.device('cuda')] :param storage_device: Torch device to save inactive model in [torch.device('cpu')] @@ -102,16 +105,16 @@ class ModelCache(object): :param lazy_offloading: Keep model in VRAM until another model needs to be loaded :param sequential_offload: Conserve VRAM by loading and unloading each stage of the pipeline sequentially :param sha_chunksize: Chunksize to use when calculating sha256 model hash - ''' + """ self.model_infos: Dict[str, ModelBase] = dict() # allow lazy offloading only when vram cache enabled self.lazy_offloading = lazy_offloading and max_vram_cache_size > 0 - self.precision: torch.dtype=precision - self.max_cache_size: float=max_cache_size - self.max_vram_cache_size: float=max_vram_cache_size - self.execution_device: torch.device=execution_device - self.storage_device: torch.device=storage_device - self.sha_chunksize=sha_chunksize + self.precision: torch.dtype = precision + self.max_cache_size: float = max_cache_size + self.max_vram_cache_size: float = max_vram_cache_size + self.execution_device: torch.device = execution_device + self.storage_device: torch.device = storage_device + self.sha_chunksize = sha_chunksize self.logger = logger self._cached_models = dict() @@ -124,7 +127,6 @@ class ModelCache(object): model_type: ModelType, submodel_type: Optional[SubModelType] = None, ): - key = f"{model_path}:{base_model}:{model_type}" if submodel_type: key += f":{submodel_type}" @@ -163,7 +165,6 @@ class ModelCache(object): submodel: Optional[SubModelType] = None, gpu_load: bool = True, ) -> Any: - if not isinstance(model_path, Path): model_path = Path(model_path) @@ -186,7 +187,7 @@ class ModelCache(object): # TODO: lock for no copies on simultaneous calls? cache_entry = self._cached_models.get(key, None) if cache_entry is None: - self.logger.info(f'Loading model {model_path}, type {base_model}:{model_type}:{submodel}') + self.logger.info(f"Loading model {model_path}, type {base_model}:{model_type}:{submodel}") # this will remove older cached models until # there is sufficient room to load the requested model @@ -196,7 +197,7 @@ class ModelCache(object): gc.collect() model = model_info.get_model(child_type=submodel, torch_dtype=self.precision) if mem_used := model_info.get_size(submodel): - self.logger.debug(f'CPU RAM used for load: {(mem_used/GIG):.2f} GB') + self.logger.debug(f"CPU RAM used for load: {(mem_used/GIG):.2f} GB") cache_entry = _CacheRecord(self, model, mem_used) self._cached_models[key] = cache_entry @@ -209,13 +210,13 @@ class ModelCache(object): class ModelLocker(object): def __init__(self, cache, key, model, gpu_load, size_needed): - ''' + """ :param cache: The model_cache object :param key: The key of the model to lock in GPU :param model: The model to lock :param gpu_load: True if load into gpu :param size_needed: Size of the model to load - ''' + """ self.gpu_load = gpu_load self.cache = cache self.key = key @@ -224,7 +225,7 @@ class ModelCache(object): self.cache_entry = self.cache._cached_models[self.key] def __enter__(self) -> Any: - if not hasattr(self.model, 'to'): + if not hasattr(self.model, "to"): return self.model # NOTE that the model has to have the to() method in order for this @@ -234,22 +235,21 @@ class ModelCache(object): try: if self.cache.lazy_offloading: - self.cache._offload_unlocked_models(self.size_needed) - + self.cache._offload_unlocked_models(self.size_needed) + if self.model.device != self.cache.execution_device: - self.cache.logger.debug(f'Moving {self.key} into {self.cache.execution_device}') + self.cache.logger.debug(f"Moving {self.key} into {self.cache.execution_device}") with VRAMUsage() as mem: self.model.to(self.cache.execution_device) # move into GPU - self.cache.logger.debug(f'GPU VRAM used for load: {(mem.vram_used/GIG):.2f} GB') - - self.cache.logger.debug(f'Locking {self.key} in {self.cache.execution_device}') + self.cache.logger.debug(f"GPU VRAM used for load: {(mem.vram_used/GIG):.2f} GB") + + self.cache.logger.debug(f"Locking {self.key} in {self.cache.execution_device}") self.cache._print_cuda_stats() except: self.cache_entry.unlock() raise - # TODO: not fully understand # in the event that the caller wants the model in RAM, we # move it into CPU if it is in GPU and not locked @@ -259,7 +259,7 @@ class ModelCache(object): return self.model def __exit__(self, type, value, traceback): - if not hasattr(self.model, 'to'): + if not hasattr(self.model, "to"): return self.cache_entry.unlock() @@ -277,11 +277,11 @@ class ModelCache(object): self, model_path: Union[str, Path], ) -> str: - ''' + """ Given the HF repo id or path to a model on disk, returns a unique hash. Works for legacy checkpoint files, HF models on disk, and HF repo IDs :param model_path: Path to model file/directory on disk. - ''' + """ return self._local_model_hash(model_path) def cache_size(self) -> float: @@ -290,7 +290,7 @@ class ModelCache(object): return current_cache_size / GIG def _has_cuda(self) -> bool: - return self.execution_device.type == 'cuda' + return self.execution_device.type == "cuda" def _print_cuda_stats(self): vram = "%4.2fG" % (torch.cuda.memory_allocated() / GIG) @@ -306,18 +306,21 @@ class ModelCache(object): if model_info.locked: locked_models += 1 - self.logger.debug(f"Current VRAM/RAM usage: {vram}/{ram}; cached_models/loaded_models/locked_models/ = {cached_models}/{loaded_models}/{locked_models}") - + self.logger.debug( + f"Current VRAM/RAM usage: {vram}/{ram}; cached_models/loaded_models/locked_models/ = {cached_models}/{loaded_models}/{locked_models}" + ) def _make_cache_room(self, model_size): # calculate how much memory this model will require - #multiplier = 2 if self.precision==torch.float32 else 1 + # multiplier = 2 if self.precision==torch.float32 else 1 bytes_needed = model_size maximum_size = self.max_cache_size * GIG # stored in GB, convert to bytes current_size = sum([m.size for m in self._cached_models.values()]) if current_size + bytes_needed > maximum_size: - self.logger.debug(f'Max cache size exceeded: {(current_size/GIG):.2f}/{self.max_cache_size:.2f} GB, need an additional {(bytes_needed/GIG):.2f} GB') + self.logger.debug( + f"Max cache size exceeded: {(current_size/GIG):.2f}/{self.max_cache_size:.2f} GB, need an additional {(bytes_needed/GIG):.2f} GB" + ) self.logger.debug(f"Before unloading: cached_models={len(self._cached_models)}") @@ -339,7 +342,7 @@ class ModelCache(object): with suppress(RuntimeError): referrer.clear() cleared = True - #break + # break # repeat if referrers changes(due to frame clear), else exit loop if cleared: @@ -348,13 +351,17 @@ class ModelCache(object): break device = cache_entry.model.device if hasattr(cache_entry.model, "device") else None - self.logger.debug(f"Model: {model_key}, locks: {cache_entry._locks}, device: {device}, loaded: {cache_entry.loaded}, refs: {refs}") + self.logger.debug( + f"Model: {model_key}, locks: {cache_entry._locks}, device: {device}, loaded: {cache_entry.loaded}, refs: {refs}" + ) # 2 refs: # 1 from cache_entry # 1 from getrefcount function if not cache_entry.locked and refs <= 2: - self.logger.debug(f'Unloading model {model_key} to free {(model_size/GIG):.2f} GB (-{(cache_entry.size/GIG):.2f} GB)') + self.logger.debug( + f"Unloading model {model_key} to free {(model_size/GIG):.2f} GB (-{(cache_entry.size/GIG):.2f} GB)" + ) current_size -= cache_entry.size del self._cache_stack[pos] del self._cached_models[model_key] @@ -368,38 +375,36 @@ class ModelCache(object): self.logger.debug(f"After unloading: cached_models={len(self._cached_models)}") - def _offload_unlocked_models(self, size_needed: int=0): + def _offload_unlocked_models(self, size_needed: int = 0): reserved = self.max_vram_cache_size * GIG vram_in_use = torch.cuda.memory_allocated() - self.logger.debug(f'{(vram_in_use/GIG):.2f}GB VRAM used for models; max allowed={(reserved/GIG):.2f}GB') - for model_key, cache_entry in sorted(self._cached_models.items(), key=lambda x:x[1].size): + self.logger.debug(f"{(vram_in_use/GIG):.2f}GB VRAM used for models; max allowed={(reserved/GIG):.2f}GB") + for model_key, cache_entry in sorted(self._cached_models.items(), key=lambda x: x[1].size): if vram_in_use <= reserved: break if not cache_entry.locked and cache_entry.loaded: - self.logger.debug(f'Offloading {model_key} from {self.execution_device} into {self.storage_device}') + self.logger.debug(f"Offloading {model_key} from {self.execution_device} into {self.storage_device}") with VRAMUsage() as mem: cache_entry.model.to(self.storage_device) - self.logger.debug(f'GPU VRAM freed: {(mem.vram_used/GIG):.2f} GB') + self.logger.debug(f"GPU VRAM freed: {(mem.vram_used/GIG):.2f} GB") vram_in_use += mem.vram_used # note vram_used is negative - self.logger.debug(f'{(vram_in_use/GIG):.2f}GB VRAM used for models; max allowed={(reserved/GIG):.2f}GB') + self.logger.debug(f"{(vram_in_use/GIG):.2f}GB VRAM used for models; max allowed={(reserved/GIG):.2f}GB") gc.collect() torch.cuda.empty_cache() - + def _local_model_hash(self, model_path: Union[str, Path]) -> str: sha = hashlib.sha256() path = Path(model_path) - + hashpath = path / "checksum.sha256" if hashpath.exists() and path.stat().st_mtime <= hashpath.stat().st_mtime: with open(hashpath) as f: hash = f.read() return hash - - self.logger.debug(f'computing hash of model {path.name}') - for file in list(path.rglob("*.ckpt")) \ - + list(path.rglob("*.safetensors")) \ - + list(path.rglob("*.pth")): + + self.logger.debug(f"computing hash of model {path.name}") + for file in list(path.rglob("*.ckpt")) + list(path.rglob("*.safetensors")) + list(path.rglob("*.pth")): with open(file, "rb") as f: while chunk := f.read(self.sha_chunksize): sha.update(chunk) @@ -408,11 +413,12 @@ class ModelCache(object): f.write(hash) return hash + class VRAMUsage(object): def __init__(self): self.vram = None self.vram_used = 0 - + def __enter__(self): self.vram = torch.cuda.memory_allocated() return self diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 184c95e5c1..4d41a7d0ac 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -249,20 +249,26 @@ from invokeai.backend.util import CUDA_DEVICE, Chdir from .model_cache import ModelCache, ModelLocker from .model_search import ModelSearch from .models import ( - BaseModelType, ModelType, SubModelType, - ModelError, SchedulerPredictionType, MODEL_CLASSES, + BaseModelType, + ModelType, + SubModelType, + ModelError, + SchedulerPredictionType, + MODEL_CLASSES, ModelConfigBase, - ModelNotFoundException, InvalidModelException, + ModelNotFoundException, + InvalidModelException, DuplicateModelException, ) # We are only starting to number the config file with release 3. # The config file version doesn't have to start at release version, but it will help # reduce confusion. -CONFIG_FILE_VERSION='3.0.0' +CONFIG_FILE_VERSION = "3.0.0" + @dataclass -class ModelInfo(): +class ModelInfo: context: ModelLocker name: str base_model: BaseModelType @@ -275,20 +281,24 @@ class ModelInfo(): def __enter__(self): return self.context.__enter__() - def __exit__(self,*args, **kwargs): + def __exit__(self, *args, **kwargs): self.context.__exit__(*args, **kwargs) + class AddModelResult(BaseModel): name: str = Field(description="The name of the model after installation") model_type: ModelType = Field(description="The type of model") base_model: BaseModelType = Field(description="The base model") config: ModelConfigBase = Field(description="The configuration of the model") + MAX_CACHE_SIZE = 6.0 # GB + class ConfigMeta(BaseModel): version: str + class ModelManager(object): """ High-level interface to model management. @@ -315,12 +325,12 @@ class ModelManager(object): if isinstance(config, (str, Path)): self.config_path = Path(config) if not self.config_path.exists(): - logger.warning(f'The file {self.config_path} was not found. Initializing a new file') + logger.warning(f"The file {self.config_path} was not found. Initializing a new file") self.initialize_model_config(self.config_path) config = OmegaConf.load(self.config_path) elif not isinstance(config, DictConfig): - raise ValueError('config argument must be an OmegaConf object, a Path or a string') + raise ValueError("config argument must be an OmegaConf object, a Path or a string") self.config_meta = ConfigMeta(**config.pop("__metadata__")) # TODO: metadata not found @@ -330,11 +340,11 @@ class ModelManager(object): self.logger = logger self.cache = ModelCache( max_cache_size=max_cache_size, - max_vram_cache_size = self.app_config.max_vram_cache_size, - execution_device = device_type, - precision = precision, - sequential_offload = sequential_offload, - logger = logger, + max_vram_cache_size=self.app_config.max_vram_cache_size, + execution_device=device_type, + precision=precision, + sequential_offload=sequential_offload, + logger=logger, ) self._read_models(config) @@ -348,7 +358,7 @@ class ModelManager(object): self.models = dict() for model_key, model_config in config.items(): - if model_key.startswith('_'): + if model_key.startswith("_"): continue model_name, base_model, model_type = self.parse_key(model_key) model_class = MODEL_CLASSES[base_model][model_type] @@ -395,7 +405,7 @@ class ModelManager(object): @classmethod def parse_key(cls, model_key: str) -> Tuple[str, BaseModelType, ModelType]: - base_model_str, model_type_str, model_name = model_key.split('/', 2) + base_model_str, model_type_str, model_name = model_key.split("/", 2) try: model_type = ModelType(model_type_str) except: @@ -414,20 +424,16 @@ class ModelManager(object): @classmethod def initialize_model_config(cls, config_path: Path): """Create empty config file""" - with open(config_path,'w') as yaml_file: - yaml_file.write(yaml.dump({'__metadata__': - {'version':'3.0.0'} - } - ) - ) + with open(config_path, "w") as yaml_file: + yaml_file.write(yaml.dump({"__metadata__": {"version": "3.0.0"}})) def get_model( self, model_name: str, base_model: BaseModelType, model_type: ModelType, - submodel_type: Optional[SubModelType] = None - )->ModelInfo: + submodel_type: Optional[SubModelType] = None, + ) -> ModelInfo: """Given a model named identified in models.yaml, return an ModelInfo object describing it. :param model_name: symbolic name of the model in models.yaml @@ -451,7 +457,7 @@ class ModelManager(object): if not model_path.exists(): if model_class.save_to_config: self.models[model_key].error = ModelError.NotFound - raise Exception(f"Files for model \"{model_key}\" not found") + raise Exception(f'Files for model "{model_key}" not found') else: self.models.pop(model_key, None) @@ -473,7 +479,7 @@ class ModelManager(object): model_path = model_class.convert_if_required( base_model=base_model, - model_path=str(model_path), # TODO: refactor str/Path types logic + model_path=str(model_path), # TODO: refactor str/Path types logic output_path=dst_convert_path, config=model_config, ) @@ -490,17 +496,17 @@ class ModelManager(object): self.cache_keys[model_key] = set() self.cache_keys[model_key].add(model_context.key) - model_hash = "" # TODO: + model_hash = "" # TODO: return ModelInfo( - context = model_context, - name = model_name, - base_model = base_model, - type = submodel_type or model_type, - hash = model_hash, - location = model_path, # TODO: - precision = self.cache.precision, - _cache = self.cache, + context=model_context, + name=model_name, + base_model=base_model, + type=submodel_type or model_type, + hash=model_hash, + location=model_path, # TODO: + precision=self.cache.precision, + _cache=self.cache, ) def model_info( @@ -516,7 +522,7 @@ class ModelManager(object): if model_key in self.models: return self.models[model_key].dict(exclude_defaults=True) else: - return None # TODO: None or empty dict on not found + return None # TODO: None or empty dict on not found def model_names(self) -> List[Tuple[str, BaseModelType, ModelType]]: """ @@ -526,16 +532,16 @@ class ModelManager(object): return [(self.parse_key(x)) for x in self.models.keys()] def list_model( - self, - model_name: str, - base_model: BaseModelType, - model_type: ModelType, + self, + model_name: str, + base_model: BaseModelType, + model_type: ModelType, ) -> dict: """ Returns a dict describing one installed model, using the combined format of the list_models() method. """ - models = self.list_models(base_model,model_type,model_name) + models = self.list_models(base_model, model_type, model_name) return models[0] if models else None def list_models( @@ -548,13 +554,17 @@ class ModelManager(object): Return a list of models. """ - model_keys = [self.create_key(model_name, base_model, model_type)] if model_name else sorted(self.models, key=str.casefold) + model_keys = ( + [self.create_key(model_name, base_model, model_type)] + if model_name + else sorted(self.models, key=str.casefold) + ) models = [] for model_key in model_keys: model_config = self.models.get(model_key) if not model_config: - self.logger.error(f'Unknown model {model_name}') - raise ModelNotFoundException(f'Unknown model {model_name}') + self.logger.error(f"Unknown model {model_name}") + raise ModelNotFoundException(f"Unknown model {model_name}") cur_model_name, cur_base_model, cur_model_type = self.parse_key(model_key) if base_model is not None and cur_base_model != base_model: @@ -571,8 +581,8 @@ class ModelManager(object): ) # expose paths as absolute to help web UI - if path := model_dict.get('path'): - model_dict['path'] = str(self.app_config.root_path / path) + if path := model_dict.get("path"): + model_dict["path"] = str(self.app_config.root_path / path) models.append(model_dict) return models @@ -641,15 +651,15 @@ class ModelManager(object): model_info(). """ # relativize paths as they go in - this makes it easier to move the root directory around - if path := model_attributes.get('path'): + if path := model_attributes.get("path"): if Path(path).is_relative_to(self.app_config.root_path): - model_attributes['path'] = str(Path(path).relative_to(self.app_config.root_path)) + model_attributes["path"] = str(Path(path).relative_to(self.app_config.root_path)) model_class = MODEL_CLASSES[base_model][model_type] model_config = model_class.create_config(**model_attributes) model_key = self.create_key(model_name, base_model, model_type) - if model_key in self.models and not clobber: + if model_key in self.models and not clobber: raise Exception(f'Attempt to overwrite existing model definition "{model_key}"') old_model = self.models.pop(model_key, None) @@ -675,23 +685,23 @@ class ModelManager(object): self.commit() return AddModelResult( - name = model_name, - model_type = model_type, - base_model = base_model, - config = model_config, + name=model_name, + model_type=model_type, + base_model=base_model, + config=model_config, ) def rename_model( - self, - model_name: str, - base_model: BaseModelType, - model_type: ModelType, - new_name: str = None, - new_base: BaseModelType = None, + self, + model_name: str, + base_model: BaseModelType, + model_type: ModelType, + new_name: str = None, + new_base: BaseModelType = None, ): - ''' + """ Rename or rebase a model. - ''' + """ if new_name is None and new_base is None: self.logger.error("rename_model() called with neither a new_name nor a new_base. {model_name} unchanged.") return @@ -710,7 +720,13 @@ class ModelManager(object): # if this is a model file/directory that we manage ourselves, we need to move it if old_path.is_relative_to(self.app_config.models_path): - new_path = self.app_config.root_path / 'models' / BaseModelType(new_base).value / ModelType(model_type).value / new_name + new_path = ( + self.app_config.root_path + / "models" + / BaseModelType(new_base).value + / ModelType(model_type).value + / new_name + ) move(old_path, new_path) model_cfg.path = str(new_path.relative_to(self.app_config.root_path)) @@ -726,18 +742,18 @@ class ModelManager(object): for cache_id in cache_ids: self.cache.uncache_model(cache_id) - self.models.pop(model_key, None) # delete + self.models.pop(model_key, None) # delete self.models[new_key] = model_cfg self.commit() - def convert_model ( - self, - model_name: str, - base_model: BaseModelType, - model_type: Union[ModelType.Main,ModelType.Vae], - dest_directory: Optional[Path]=None, + def convert_model( + self, + model_name: str, + base_model: BaseModelType, + model_type: Union[ModelType.Main, ModelType.Vae], + dest_directory: Optional[Path] = None, ) -> AddModelResult: - ''' + """ Convert a checkpoint file into a diffusers folder, deleting the cached version and deleting the original checkpoint file if it is in the models directory. @@ -746,7 +762,7 @@ class ModelManager(object): :param model_type: Type of model ['vae' or 'main'] This will raise a ValueError unless the model is a checkpoint. - ''' + """ info = self.model_info(model_name, base_model, model_type) if info["model_format"] != "checkpoint": raise ValueError(f"not a checkpoint format model: {model_name}") @@ -754,27 +770,32 @@ class ModelManager(object): # We are taking advantage of a side effect of get_model() that converts check points # into cached diffusers directories stored at `location`. It doesn't matter # what submodeltype we request here, so we get the smallest. - submodel = {"submodel_type": SubModelType.Scheduler} if model_type==ModelType.Main else {} - model = self.get_model(model_name, - base_model, - model_type, - **submodel, - ) + submodel = {"submodel_type": SubModelType.Scheduler} if model_type == ModelType.Main else {} + model = self.get_model( + model_name, + base_model, + model_type, + **submodel, + ) checkpoint_path = self.app_config.root_path / info["path"] old_diffusers_path = self.app_config.models_path / model.location - new_diffusers_path = (dest_directory or self.app_config.models_path / base_model.value / model_type.value) / model_name + new_diffusers_path = ( + dest_directory or self.app_config.models_path / base_model.value / model_type.value + ) / model_name if new_diffusers_path.exists(): raise ValueError(f"A diffusers model already exists at {new_diffusers_path}") try: - move(old_diffusers_path,new_diffusers_path) + move(old_diffusers_path, new_diffusers_path) info["model_format"] = "diffusers" - info["path"] = str(new_diffusers_path) if dest_directory else str(new_diffusers_path.relative_to(self.app_config.root_path)) - info.pop('config') + info["path"] = ( + str(new_diffusers_path) + if dest_directory + else str(new_diffusers_path.relative_to(self.app_config.root_path)) + ) + info.pop("config") - result = self.add_model(model_name, base_model, model_type, - model_attributes = info, - clobber=True) + result = self.add_model(model_name, base_model, model_type, model_attributes=info, clobber=True) except: # something went wrong, so don't leave dangling diffusers model in directory or it will cause a duplicate model error! rmtree(new_diffusers_path) @@ -798,15 +819,12 @@ class ModelManager(object): found_models = [] for file in files: location = str(file.resolve()).replace("\\", "/") - if ( - "model.safetensors" not in location - and "diffusion_pytorch_model.safetensors" not in location - ): + if "model.safetensors" not in location and "diffusion_pytorch_model.safetensors" not in location: found_models.append({"name": file.stem, "location": location}) return search_folder, found_models - def commit(self, conf_file: Path=None) -> None: + def commit(self, conf_file: Path = None) -> None: """ Write current configuration out to the indicated file. """ @@ -824,7 +842,7 @@ class ModelManager(object): yaml_str = OmegaConf.to_yaml(data_to_save) config_file_path = conf_file or self.config_path - assert config_file_path is not None,'no config file path to write to' + assert config_file_path is not None, "no config file path to write to" config_file_path = self.app_config.root_path / config_file_path tmpfile = os.path.join(os.path.dirname(config_file_path), "new_config.tmp") try: @@ -857,11 +875,10 @@ class ModelManager(object): base_model: Optional[BaseModelType] = None, model_type: Optional[ModelType] = None, ): - loaded_files = set() new_models_found = False - self.logger.info(f'Scanning {self.app_config.models_path} for new models') + self.logger.info(f"Scanning {self.app_config.models_path} for new models") with Chdir(self.app_config.root_path): for model_key, model_config in list(self.models.items()): model_name, cur_base_model, cur_model_type = self.parse_key(model_key) @@ -887,10 +904,10 @@ class ModelManager(object): models_dir = self.app_config.models_path / cur_base_model.value / cur_model_type.value if not models_dir.exists(): - continue # TODO: or create all folders? + continue # TODO: or create all folders? for model_path in models_dir.iterdir(): - if model_path not in loaded_files: # TODO: check + if model_path not in loaded_files: # TODO: check model_name = model_path.name if model_path.is_dir() else model_path.stem model_key = self.create_key(model_name, cur_base_model, cur_model_type) @@ -900,7 +917,7 @@ class ModelManager(object): if model_path.is_relative_to(self.app_config.root_path): model_path = model_path.relative_to(self.app_config.root_path) - + model_config: ModelConfigBase = model_class.probe_config(str(model_path)) self.models[model_key] = model_config new_models_found = True @@ -916,11 +933,10 @@ class ModelManager(object): if (new_models_found or imported_models) and self.config_path: self.commit() - - def autoimport(self)->Dict[str, AddModelResult]: - ''' + def autoimport(self) -> Dict[str, AddModelResult]: + """ Scan the autoimport directory (if defined) and import new models, delete defunct models. - ''' + """ # avoid circular import from invokeai.backend.install.model_install_backend import ModelInstall from invokeai.frontend.install.model_install import ask_user_for_prediction_type @@ -939,7 +955,9 @@ class ModelManager(object): self.new_models_found.update(self.installer.heuristic_import(model)) def on_search_completed(self): - self.logger.info(f'Scanned {self._items_scanned} files and directories, imported {len(self.new_models_found)} models') + self.logger.info( + f"Scanned {self._items_scanned} files and directories, imported {len(self.new_models_found)} models" + ) def models_found(self): return self.new_models_found @@ -949,31 +967,37 @@ class ModelManager(object): # LS: hacky # Patch in the SD VAE from core so that it is available for use by the UI try: - self.heuristic_import({config.root_path / 'models/core/convert/sd-vae-ft-mse'}) + self.heuristic_import({config.root_path / "models/core/convert/sd-vae-ft-mse"}) except: pass - installer = ModelInstall(config = self.app_config, - model_manager = self, - prediction_type_helper = ask_user_for_prediction_type, - ) - known_paths = {config.root_path / x['path'] for x in self.list_models()} - directories = {config.root_path / x for x in [config.autoimport_dir, - config.lora_dir, - config.embedding_dir, - config.controlnet_dir, - ] if x - } + installer = ModelInstall( + config=self.app_config, + model_manager=self, + prediction_type_helper=ask_user_for_prediction_type, + ) + known_paths = {config.root_path / x["path"] for x in self.list_models()} + directories = { + config.root_path / x + for x in [ + config.autoimport_dir, + config.lora_dir, + config.embedding_dir, + config.controlnet_dir, + ] + if x + } scanner = ScanAndImport(directories, self.logger, ignore=known_paths, installer=installer) scanner.search() - + return scanner.models_found() - def heuristic_import(self, - items_to_import: Set[str], - prediction_type_helper: Callable[[Path],SchedulerPredictionType]=None, - )->Dict[str, AddModelResult]: - '''Import a list of paths, repo_ids or URLs. Returns the set of + def heuristic_import( + self, + items_to_import: Set[str], + prediction_type_helper: Callable[[Path], SchedulerPredictionType] = None, + ) -> Dict[str, AddModelResult]: + """Import a list of paths, repo_ids or URLs. Returns the set of successfully imported items. :param items_to_import: Set of strings corresponding to models to be imported. :param prediction_type_helper: A callback that receives the Path of a Stable Diffusion 2 checkpoint model and returns a SchedulerPredictionType. @@ -992,14 +1016,15 @@ class ModelManager(object): May return the following exceptions: - ModelNotFoundException - one or more of the items to import is not a valid path, repo_id or URL - ValueError - a corresponding model already exists - ''' + """ # avoid circular import here from invokeai.backend.install.model_install_backend import ModelInstall + successfully_installed = dict() - installer = ModelInstall(config = self.app_config, - prediction_type_helper = prediction_type_helper, - model_manager = self) + installer = ModelInstall( + config=self.app_config, prediction_type_helper=prediction_type_helper, model_manager=self + ) for thing in items_to_import: installed = installer.heuristic_import(thing) successfully_installed.update(installed) diff --git a/invokeai/backend/model_management/model_merge.py b/invokeai/backend/model_management/model_merge.py index 6427b9e430..8cf3ce4ad0 100644 --- a/invokeai/backend/model_management/model_merge.py +++ b/invokeai/backend/model_management/model_merge.py @@ -17,23 +17,25 @@ import invokeai.backend.util.logging as logger from ...backend.model_management import ModelManager, ModelType, BaseModelType, ModelVariantType, AddModelResult + class MergeInterpolationMethod(str, Enum): WeightedSum = "weighted_sum" Sigmoid = "sigmoid" InvSigmoid = "inv_sigmoid" AddDifference = "add_difference" + class ModelMerger(object): def __init__(self, manager: ModelManager): self.manager = manager def merge_diffusion_models( - self, - model_paths: List[Path], - alpha: float = 0.5, - interp: MergeInterpolationMethod = None, - force: bool = False, - **kwargs, + self, + model_paths: List[Path], + alpha: float = 0.5, + interp: MergeInterpolationMethod = None, + force: bool = False, + **kwargs, ) -> DiffusionPipeline: """ :param model_paths: up to three models, designated by their local paths or HuggingFace repo_ids @@ -58,24 +60,23 @@ class ModelMerger(object): merged_pipe = pipe.merge( pretrained_model_name_or_path_list=model_paths, alpha=alpha, - interp=interp.value if interp else None, #diffusers API treats None as "weighted sum" + interp=interp.value if interp else None, # diffusers API treats None as "weighted sum" force=force, **kwargs, ) dlogging.set_verbosity(verbosity) return merged_pipe - - def merge_diffusion_models_and_save ( - self, - model_names: List[str], - base_model: Union[BaseModelType,str], - merged_model_name: str, - alpha: float = 0.5, - interp: MergeInterpolationMethod = None, - force: bool = False, - merge_dest_directory: Optional[Path] = None, - **kwargs, + def merge_diffusion_models_and_save( + self, + model_names: List[str], + base_model: Union[BaseModelType, str], + merged_model_name: str, + alpha: float = 0.5, + interp: MergeInterpolationMethod = None, + force: bool = False, + merge_dest_directory: Optional[Path] = None, + **kwargs, ) -> AddModelResult: """ :param models: up to three models, designated by their InvokeAI models.yaml model name @@ -94,39 +95,45 @@ class ModelMerger(object): config = self.manager.app_config base_model = BaseModelType(base_model) vae = None - + for mod in model_names: info = self.manager.list_model(mod, base_model=base_model, model_type=ModelType.Main) - assert info, f"model {mod}, base_model {base_model}, is unknown" - assert info["model_format"] == "diffusers", f"{mod} is not a diffusers model. It must be optimized before merging" - assert info["variant"] == "normal", f"{mod} is a {info['variant']} model, which cannot currently be merged" - assert len(model_names) <= 2 or \ - interp==MergeInterpolationMethod.AddDifference, "When merging three models, only the 'add_difference' merge method is supported" + assert info, f"model {mod}, base_model {base_model}, is unknown" + assert ( + info["model_format"] == "diffusers" + ), f"{mod} is not a diffusers model. It must be optimized before merging" + assert info["variant"] == "normal", f"{mod} is a {info['variant']} model, which cannot currently be merged" + assert ( + len(model_names) <= 2 or interp == MergeInterpolationMethod.AddDifference + ), "When merging three models, only the 'add_difference' merge method is supported" # pick up the first model's vae if mod == model_names[0]: vae = info.get("vae") model_paths.extend([config.root_path / info["path"]]) - merge_method = None if interp == 'weighted_sum' else MergeInterpolationMethod(interp) - logger.debug(f'interp = {interp}, merge_method={merge_method}') - merged_pipe = self.merge_diffusion_models( - model_paths, alpha, merge_method, force, **kwargs + merge_method = None if interp == "weighted_sum" else MergeInterpolationMethod(interp) + logger.debug(f"interp = {interp}, merge_method={merge_method}") + merged_pipe = self.merge_diffusion_models(model_paths, alpha, merge_method, force, **kwargs) + dump_path = ( + Path(merge_dest_directory) + if merge_dest_directory + else config.models_path / base_model.value / ModelType.Main.value ) - dump_path = Path(merge_dest_directory) if merge_dest_directory else config.models_path / base_model.value / ModelType.Main.value dump_path.mkdir(parents=True, exist_ok=True) dump_path = dump_path / merged_model_name merged_pipe.save_pretrained(dump_path, safe_serialization=1) attributes = dict( - path = str(dump_path), - description = f"Merge of models {', '.join(model_names)}", - model_format = "diffusers", - variant = ModelVariantType.Normal.value, - vae = vae, + path=str(dump_path), + description=f"Merge of models {', '.join(model_names)}", + model_format="diffusers", + variant=ModelVariantType.Normal.value, + vae=vae, + ) + return self.manager.add_model( + merged_model_name, + base_model=base_model, + model_type=ModelType.Main, + model_attributes=attributes, + clobber=True, ) - return self.manager.add_model(merged_model_name, - base_model = base_model, - model_type = ModelType.Main, - model_attributes = attributes, - clobber = True - ) diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index ff5464ee99..0e06f9b32d 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -10,12 +10,16 @@ from typing import Callable, Literal, Union, Dict, Optional from picklescan.scanner import scan_file_path from .models import ( - BaseModelType, ModelType, ModelVariantType, - SchedulerPredictionType, SilenceWarnings, - InvalidModelException + BaseModelType, + ModelType, + ModelVariantType, + SchedulerPredictionType, + SilenceWarnings, + InvalidModelException, ) from .models.base import read_checkpoint_meta + @dataclass class ModelProbeInfo(object): model_type: ModelType @@ -23,70 +27,74 @@ class ModelProbeInfo(object): variant_type: ModelVariantType prediction_type: SchedulerPredictionType upcast_attention: bool - format: Literal['diffusers','checkpoint', 'lycoris'] + format: Literal["diffusers", "checkpoint", "lycoris"] image_size: int + class ProbeBase(object): - '''forward declaration''' + """forward declaration""" + pass + class ModelProbe(object): - PROBES = { - 'diffusers': { }, - 'checkpoint': { }, + "diffusers": {}, + "checkpoint": {}, } CLASS2TYPE = { - 'StableDiffusionPipeline' : ModelType.Main, - 'StableDiffusionInpaintPipeline' : ModelType.Main, - 'StableDiffusionXLPipeline' : ModelType.Main, - 'StableDiffusionXLImg2ImgPipeline' : ModelType.Main, - 'AutoencoderKL' : ModelType.Vae, - 'ControlNetModel' : ModelType.ControlNet, + "StableDiffusionPipeline": ModelType.Main, + "StableDiffusionInpaintPipeline": ModelType.Main, + "StableDiffusionXLPipeline": ModelType.Main, + "StableDiffusionXLImg2ImgPipeline": ModelType.Main, + "AutoencoderKL": ModelType.Vae, + "ControlNetModel": ModelType.ControlNet, } - + @classmethod - def register_probe(cls, - format: Literal['diffusers','checkpoint'], - model_type: ModelType, - probe_class: ProbeBase): + def register_probe(cls, format: Literal["diffusers", "checkpoint"], model_type: ModelType, probe_class: ProbeBase): cls.PROBES[format][model_type] = probe_class @classmethod - def heuristic_probe(cls, - model: Union[Dict, ModelMixin, Path], - prediction_type_helper: Callable[[Path],SchedulerPredictionType]=None, - )->ModelProbeInfo: - if isinstance(model,Path): - return cls.probe(model_path=model,prediction_type_helper=prediction_type_helper) - elif isinstance(model,(dict,ModelMixin,ConfigMixin)): + def heuristic_probe( + cls, + model: Union[Dict, ModelMixin, Path], + prediction_type_helper: Callable[[Path], SchedulerPredictionType] = None, + ) -> ModelProbeInfo: + if isinstance(model, Path): + return cls.probe(model_path=model, prediction_type_helper=prediction_type_helper) + elif isinstance(model, (dict, ModelMixin, ConfigMixin)): return cls.probe(model_path=None, model=model, prediction_type_helper=prediction_type_helper) else: raise InvalidModelException("model parameter {model} is neither a Path, nor a model") @classmethod - def probe(cls, - model_path: Path, - model: Optional[Union[Dict, ModelMixin]] = None, - prediction_type_helper: Optional[Callable[[Path],SchedulerPredictionType]] = None)->ModelProbeInfo: - ''' + def probe( + cls, + model_path: Path, + model: Optional[Union[Dict, ModelMixin]] = None, + prediction_type_helper: Optional[Callable[[Path], SchedulerPredictionType]] = None, + ) -> ModelProbeInfo: + """ Probe the model at model_path and return sufficient information about it to place it somewhere in the models directory hierarchy. If the model is already loaded into memory, you may provide it as model in order to avoid opening it a second time. The prediction_type_helper callable is a function that receives the path to the model and returns the BaseModelType. It is called to distinguish between V2-Base and V2-768 SD models. - ''' + """ if model_path: - format_type = 'diffusers' if model_path.is_dir() else 'checkpoint' + format_type = "diffusers" if model_path.is_dir() else "checkpoint" else: - format_type = 'diffusers' if isinstance(model,(ConfigMixin,ModelMixin)) else 'checkpoint' + format_type = "diffusers" if isinstance(model, (ConfigMixin, ModelMixin)) else "checkpoint" model_info = None try: - model_type = cls.get_model_type_from_folder(model_path, model) \ - if format_type == 'diffusers' \ - else cls.get_model_type_from_checkpoint(model_path, model) + model_type = ( + cls.get_model_type_from_folder(model_path, model) + if format_type == "diffusers" + else cls.get_model_type_from_checkpoint(model_path, model) + ) probe_class = cls.PROBES[format_type].get(model_type) if not probe_class: return None @@ -96,17 +104,23 @@ class ModelProbe(object): prediction_type = probe.get_scheduler_prediction_type() format = probe.get_format() model_info = ModelProbeInfo( - model_type = model_type, - base_type = base_type, - variant_type = variant_type, - prediction_type = prediction_type, - upcast_attention = (base_type==BaseModelType.StableDiffusion2 \ - and prediction_type==SchedulerPredictionType.VPrediction), - format = format, - image_size = 1024 if (base_type in {BaseModelType.StableDiffusionXL,BaseModelType.StableDiffusionXLRefiner}) else \ - 768 if (base_type==BaseModelType.StableDiffusion2 \ - and prediction_type==SchedulerPredictionType.VPrediction ) else \ - 512 + model_type=model_type, + base_type=base_type, + variant_type=variant_type, + prediction_type=prediction_type, + upcast_attention=( + base_type == BaseModelType.StableDiffusion2 + and prediction_type == SchedulerPredictionType.VPrediction + ), + format=format, + image_size=1024 + if (base_type in {BaseModelType.StableDiffusionXL, BaseModelType.StableDiffusionXLRefiner}) + else 768 + if ( + base_type == BaseModelType.StableDiffusion2 + and prediction_type == SchedulerPredictionType.VPrediction + ) + else 512, ) except Exception: raise @@ -115,7 +129,7 @@ class ModelProbe(object): @classmethod def get_model_type_from_checkpoint(cls, model_path: Path, checkpoint: dict) -> ModelType: - if model_path.suffix not in ('.bin','.pt','.ckpt','.safetensors','.pth'): + if model_path.suffix not in (".bin", ".pt", ".ckpt", ".safetensors", ".pth"): return None if model_path.name == "learned_embeds.bin": @@ -142,32 +156,32 @@ class ModelProbe(object): # diffusers-ti if len(ckpt) < 10 and all(isinstance(v, torch.Tensor) for v in ckpt.values()): return ModelType.TextualInversion - + raise InvalidModelException(f"Unable to determine model type for {model_path}") @classmethod - def get_model_type_from_folder(cls, folder_path: Path, model: ModelMixin)->ModelType: - ''' + def get_model_type_from_folder(cls, folder_path: Path, model: ModelMixin) -> ModelType: + """ Get the model type of a hugging-face style folder. - ''' + """ class_name = None if model: class_name = model.__class__.__name__ else: - if (folder_path / 'learned_embeds.bin').exists(): + if (folder_path / "learned_embeds.bin").exists(): return ModelType.TextualInversion - if (folder_path / 'pytorch_lora_weights.bin').exists(): + if (folder_path / "pytorch_lora_weights.bin").exists(): return ModelType.Lora - i = folder_path / 'model_index.json' - c = folder_path / 'config.json' + i = folder_path / "model_index.json" + c = folder_path / "config.json" config_path = i if i.exists() else c if c.exists() else None if config_path: - with open(config_path,'r') as file: + with open(config_path, "r") as file: conf = json.load(file) - class_name = conf['_class_name'] + class_name = conf["_class_name"] if class_name and (type := cls.CLASS2TYPE.get(class_name)): return type @@ -176,7 +190,7 @@ class ModelProbe(object): raise InvalidModelException(f"Unable to determine model type for {folder_path}") @classmethod - def _scan_and_load_checkpoint(cls,model_path: Path)->dict: + def _scan_and_load_checkpoint(cls, model_path: Path) -> dict: with SilenceWarnings(): if model_path.suffix.endswith((".ckpt", ".pt", ".bin")): cls._scan_model(model_path, model_path) @@ -186,55 +200,53 @@ class ModelProbe(object): @classmethod def _scan_model(cls, model_name, checkpoint): - """ - Apply picklescanner to the indicated checkpoint and issue a warning - and option to exit if an infected file is identified. - """ - # scan model - scan_result = scan_file_path(checkpoint) - if scan_result.infected_files != 0: - raise "The model {model_name} is potentially infected by malware. Aborting import." + """ + Apply picklescanner to the indicated checkpoint and issue a warning + and option to exit if an infected file is identified. + """ + # scan model + scan_result = scan_file_path(checkpoint) + if scan_result.infected_files != 0: + raise "The model {model_name} is potentially infected by malware. Aborting import." + ###################################################3 # Checkpoint probing ###################################################3 class ProbeBase(object): - def get_base_type(self)->BaseModelType: + def get_base_type(self) -> BaseModelType: pass - def get_variant_type(self)->ModelVariantType: - pass - - def get_scheduler_prediction_type(self)->SchedulerPredictionType: + def get_variant_type(self) -> ModelVariantType: pass - def get_format(self)->str: + def get_scheduler_prediction_type(self) -> SchedulerPredictionType: pass + def get_format(self) -> str: + pass + + class CheckpointProbeBase(ProbeBase): - def __init__(self, - checkpoint_path: Path, - checkpoint: dict, - helper: Callable[[Path],SchedulerPredictionType] = None - )->BaseModelType: + def __init__( + self, checkpoint_path: Path, checkpoint: dict, helper: Callable[[Path], SchedulerPredictionType] = None + ) -> BaseModelType: self.checkpoint = checkpoint or ModelProbe._scan_and_load_checkpoint(checkpoint_path) self.checkpoint_path = checkpoint_path self.helper = helper - def get_base_type(self)->BaseModelType: + def get_base_type(self) -> BaseModelType: pass - def get_format(self)->str: - return 'checkpoint' + def get_format(self) -> str: + return "checkpoint" - def get_variant_type(self)-> ModelVariantType: - model_type = ModelProbe.get_model_type_from_checkpoint(self.checkpoint_path,self.checkpoint) + def get_variant_type(self) -> ModelVariantType: + model_type = ModelProbe.get_model_type_from_checkpoint(self.checkpoint_path, self.checkpoint) if model_type != ModelType.Main: return ModelVariantType.Normal - state_dict = self.checkpoint.get('state_dict') or self.checkpoint - in_channels = state_dict[ - "model.diffusion_model.input_blocks.0.0.weight" - ].shape[1] + state_dict = self.checkpoint.get("state_dict") or self.checkpoint + in_channels = state_dict["model.diffusion_model.input_blocks.0.0.weight"].shape[1] if in_channels == 9: return ModelVariantType.Inpaint elif in_channels == 5: @@ -242,18 +254,21 @@ class CheckpointProbeBase(ProbeBase): elif in_channels == 4: return ModelVariantType.Normal else: - raise InvalidModelException(f"Cannot determine variant type (in_channels={in_channels}) at {self.checkpoint_path}") + raise InvalidModelException( + f"Cannot determine variant type (in_channels={in_channels}) at {self.checkpoint_path}" + ) + class PipelineCheckpointProbe(CheckpointProbeBase): - def get_base_type(self)->BaseModelType: + def get_base_type(self) -> BaseModelType: checkpoint = self.checkpoint - state_dict = self.checkpoint.get('state_dict') or checkpoint + state_dict = self.checkpoint.get("state_dict") or checkpoint key_name = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" if key_name in state_dict and state_dict[key_name].shape[-1] == 768: return BaseModelType.StableDiffusion1 if key_name in state_dict and state_dict[key_name].shape[-1] == 1024: return BaseModelType.StableDiffusion2 - key_name = 'model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k.weight' + key_name = "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k.weight" if key_name in state_dict and state_dict[key_name].shape[-1] == 2048: return BaseModelType.StableDiffusionXL elif key_name in state_dict and state_dict[key_name].shape[-1] == 1280: @@ -261,35 +276,38 @@ class PipelineCheckpointProbe(CheckpointProbeBase): else: raise InvalidModelException("Cannot determine base type") - def get_scheduler_prediction_type(self)->SchedulerPredictionType: + def get_scheduler_prediction_type(self) -> SchedulerPredictionType: type = self.get_base_type() if type == BaseModelType.StableDiffusion1: return SchedulerPredictionType.Epsilon checkpoint = self.checkpoint - state_dict = self.checkpoint.get('state_dict') or checkpoint + state_dict = self.checkpoint.get("state_dict") or checkpoint key_name = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" if key_name in state_dict and state_dict[key_name].shape[-1] == 1024: - if 'global_step' in checkpoint: - if checkpoint['global_step'] == 220000: + if "global_step" in checkpoint: + if checkpoint["global_step"] == 220000: return SchedulerPredictionType.Epsilon elif checkpoint["global_step"] == 110000: return SchedulerPredictionType.VPrediction - if self.checkpoint_path and self.helper \ - and not self.checkpoint_path.with_suffix('.yaml').exists(): # if a .yaml config file exists, then this step not needed + if ( + self.checkpoint_path and self.helper and not self.checkpoint_path.with_suffix(".yaml").exists() + ): # if a .yaml config file exists, then this step not needed return self.helper(self.checkpoint_path) else: return None + class VaeCheckpointProbe(CheckpointProbeBase): - def get_base_type(self)->BaseModelType: + def get_base_type(self) -> BaseModelType: # I can't find any standalone 2.X VAEs to test with! return BaseModelType.StableDiffusion1 -class LoRACheckpointProbe(CheckpointProbeBase): - def get_format(self)->str: - return 'lycoris' - def get_base_type(self)->BaseModelType: +class LoRACheckpointProbe(CheckpointProbeBase): + def get_format(self) -> str: + return "lycoris" + + def get_base_type(self) -> BaseModelType: checkpoint = self.checkpoint key1 = "lora_te_text_model_encoder_layers_0_mlp_fc1.lora_down.weight" key2 = "lora_te_text_model_encoder_layers_0_self_attn_k_proj.hada_w1_a" @@ -307,16 +325,17 @@ class LoRACheckpointProbe(CheckpointProbeBase): else: return None + class TextualInversionCheckpointProbe(CheckpointProbeBase): - def get_format(self)->str: + def get_format(self) -> str: return None - def get_base_type(self)->BaseModelType: + def get_base_type(self) -> BaseModelType: checkpoint = self.checkpoint - if 'string_to_token' in checkpoint: - token_dim = list(checkpoint['string_to_param'].values())[0].shape[-1] - elif 'emb_params' in checkpoint: - token_dim = checkpoint['emb_params'].shape[-1] + if "string_to_token" in checkpoint: + token_dim = list(checkpoint["string_to_param"].values())[0].shape[-1] + elif "emb_params" in checkpoint: + token_dim = checkpoint["emb_params"].shape[-1] else: token_dim = list(checkpoint.values())[0].shape[0] if token_dim == 768: @@ -326,12 +345,14 @@ class TextualInversionCheckpointProbe(CheckpointProbeBase): else: return None + class ControlNetCheckpointProbe(CheckpointProbeBase): - def get_base_type(self)->BaseModelType: + def get_base_type(self) -> BaseModelType: checkpoint = self.checkpoint - for key_name in ('control_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight', - 'input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight' - ): + for key_name in ( + "control_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight", + "input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight", + ): if key_name not in checkpoint: continue if checkpoint[key_name].shape[-1] == 768: @@ -342,56 +363,54 @@ class ControlNetCheckpointProbe(CheckpointProbeBase): return self.helper(self.checkpoint_path) raise InvalidModelException("Unable to determine base type for {self.checkpoint_path}") + ######################################################## # classes for probing folders ####################################################### class FolderProbeBase(ProbeBase): - def __init__(self, - folder_path: Path, - model: ModelMixin = None, - helper: Callable=None # not used - ): + def __init__(self, folder_path: Path, model: ModelMixin = None, helper: Callable = None): # not used self.model = model self.folder_path = folder_path - def get_variant_type(self)->ModelVariantType: + def get_variant_type(self) -> ModelVariantType: return ModelVariantType.Normal - def get_format(self)->str: - return 'diffusers' - + def get_format(self) -> str: + return "diffusers" + + class PipelineFolderProbe(FolderProbeBase): - def get_base_type(self)->BaseModelType: + def get_base_type(self) -> BaseModelType: if self.model: unet_conf = self.model.unet.config else: - with open(self.folder_path / 'unet' / 'config.json','r') as file: + with open(self.folder_path / "unet" / "config.json", "r") as file: unet_conf = json.load(file) - if unet_conf['cross_attention_dim'] == 768: - return BaseModelType.StableDiffusion1 - elif unet_conf['cross_attention_dim'] == 1024: + if unet_conf["cross_attention_dim"] == 768: + return BaseModelType.StableDiffusion1 + elif unet_conf["cross_attention_dim"] == 1024: return BaseModelType.StableDiffusion2 - elif unet_conf['cross_attention_dim'] == 1280: + elif unet_conf["cross_attention_dim"] == 1280: return BaseModelType.StableDiffusionXLRefiner - elif unet_conf['cross_attention_dim'] == 2048: + elif unet_conf["cross_attention_dim"] == 2048: return BaseModelType.StableDiffusionXL else: - raise InvalidModelException(f'Unknown base model for {self.folder_path}') + raise InvalidModelException(f"Unknown base model for {self.folder_path}") - def get_scheduler_prediction_type(self)->SchedulerPredictionType: + def get_scheduler_prediction_type(self) -> SchedulerPredictionType: if self.model: scheduler_conf = self.model.scheduler.config else: - with open(self.folder_path / 'scheduler' / 'scheduler_config.json','r') as file: + with open(self.folder_path / "scheduler" / "scheduler_config.json", "r") as file: scheduler_conf = json.load(file) - if scheduler_conf['prediction_type'] == "v_prediction": + if scheduler_conf["prediction_type"] == "v_prediction": return SchedulerPredictionType.VPrediction - elif scheduler_conf['prediction_type'] == 'epsilon': + elif scheduler_conf["prediction_type"] == "epsilon": return SchedulerPredictionType.Epsilon else: return None - - def get_variant_type(self)->ModelVariantType: + + def get_variant_type(self) -> ModelVariantType: # This only works for pipelines! Any kind of # exception results in our returning the # "normal" variant type @@ -399,11 +418,11 @@ class PipelineFolderProbe(FolderProbeBase): if self.model: conf = self.model.unet.config else: - config_file = self.folder_path / 'unet' / 'config.json' - with open(config_file,'r') as file: + config_file = self.folder_path / "unet" / "config.json" + with open(config_file, "r") as file: conf = json.load(file) - - in_channels = conf['in_channels'] + + in_channels = conf["in_channels"] if in_channels == 9: return ModelVariantType.Inpaint elif in_channels == 5: @@ -414,60 +433,67 @@ class PipelineFolderProbe(FolderProbeBase): pass return ModelVariantType.Normal + class VaeFolderProbe(FolderProbeBase): - def get_base_type(self)->BaseModelType: - config_file = self.folder_path / 'config.json' + def get_base_type(self) -> BaseModelType: + config_file = self.folder_path / "config.json" if not config_file.exists(): raise InvalidModelException(f"Cannot determine base type for {self.folder_path}") - with open(config_file,'r') as file: + with open(config_file, "r") as file: config = json.load(file) - return BaseModelType.StableDiffusionXL \ - if config.get('scaling_factor',0)==0.13025 and config.get('sample_size') in [512, 1024] \ + return ( + BaseModelType.StableDiffusionXL + if config.get("scaling_factor", 0) == 0.13025 and config.get("sample_size") in [512, 1024] else BaseModelType.StableDiffusion1 + ) + class TextualInversionFolderProbe(FolderProbeBase): - def get_format(self)->str: + def get_format(self) -> str: return None - - def get_base_type(self)->BaseModelType: - path = self.folder_path / 'learned_embeds.bin' + + def get_base_type(self) -> BaseModelType: + path = self.folder_path / "learned_embeds.bin" if not path.exists(): return None checkpoint = ModelProbe._scan_and_load_checkpoint(path) - return TextualInversionCheckpointProbe(None,checkpoint=checkpoint).get_base_type() + return TextualInversionCheckpointProbe(None, checkpoint=checkpoint).get_base_type() + class ControlNetFolderProbe(FolderProbeBase): - def get_base_type(self)->BaseModelType: - config_file = self.folder_path / 'config.json' + def get_base_type(self) -> BaseModelType: + config_file = self.folder_path / "config.json" if not config_file.exists(): raise InvalidModelException(f"Cannot determine base type for {self.folder_path}") - with open(config_file,'r') as file: + with open(config_file, "r") as file: config = json.load(file) # no obvious way to distinguish between sd2-base and sd2-768 - return BaseModelType.StableDiffusion1 \ - if config['cross_attention_dim']==768 \ - else BaseModelType.StableDiffusion2 + return ( + BaseModelType.StableDiffusion1 if config["cross_attention_dim"] == 768 else BaseModelType.StableDiffusion2 + ) + class LoRAFolderProbe(FolderProbeBase): - def get_base_type(self)->BaseModelType: + def get_base_type(self) -> BaseModelType: model_file = None - for suffix in ['safetensors','bin']: - base_file = self.folder_path / f'pytorch_lora_weights.{suffix}' + for suffix in ["safetensors", "bin"]: + base_file = self.folder_path / f"pytorch_lora_weights.{suffix}" if base_file.exists(): model_file = base_file break if not model_file: - raise InvalidModelException('Unknown LoRA format encountered') - return LoRACheckpointProbe(model_file,None).get_base_type() + raise InvalidModelException("Unknown LoRA format encountered") + return LoRACheckpointProbe(model_file, None).get_base_type() + ############## register probe classes ###### -ModelProbe.register_probe('diffusers', ModelType.Main, PipelineFolderProbe) -ModelProbe.register_probe('diffusers', ModelType.Vae, VaeFolderProbe) -ModelProbe.register_probe('diffusers', ModelType.Lora, LoRAFolderProbe) -ModelProbe.register_probe('diffusers', ModelType.TextualInversion, TextualInversionFolderProbe) -ModelProbe.register_probe('diffusers', ModelType.ControlNet, ControlNetFolderProbe) -ModelProbe.register_probe('checkpoint', ModelType.Main, PipelineCheckpointProbe) -ModelProbe.register_probe('checkpoint', ModelType.Vae, VaeCheckpointProbe) -ModelProbe.register_probe('checkpoint', ModelType.Lora, LoRACheckpointProbe) -ModelProbe.register_probe('checkpoint', ModelType.TextualInversion, TextualInversionCheckpointProbe) -ModelProbe.register_probe('checkpoint', ModelType.ControlNet, ControlNetCheckpointProbe) +ModelProbe.register_probe("diffusers", ModelType.Main, PipelineFolderProbe) +ModelProbe.register_probe("diffusers", ModelType.Vae, VaeFolderProbe) +ModelProbe.register_probe("diffusers", ModelType.Lora, LoRAFolderProbe) +ModelProbe.register_probe("diffusers", ModelType.TextualInversion, TextualInversionFolderProbe) +ModelProbe.register_probe("diffusers", ModelType.ControlNet, ControlNetFolderProbe) +ModelProbe.register_probe("checkpoint", ModelType.Main, PipelineCheckpointProbe) +ModelProbe.register_probe("checkpoint", ModelType.Vae, VaeCheckpointProbe) +ModelProbe.register_probe("checkpoint", ModelType.Lora, LoRACheckpointProbe) +ModelProbe.register_probe("checkpoint", ModelType.TextualInversion, TextualInversionCheckpointProbe) +ModelProbe.register_probe("checkpoint", ModelType.ControlNet, ControlNetCheckpointProbe) diff --git a/invokeai/backend/model_management/model_search.py b/invokeai/backend/model_management/model_search.py index 5657bd9549..9c87d6c408 100644 --- a/invokeai/backend/model_management/model_search.py +++ b/invokeai/backend/model_management/model_search.py @@ -10,8 +10,9 @@ from pathlib import Path import invokeai.backend.util.logging as logger + class ModelSearch(ABC): - def __init__(self, directories: List[Path], logger: types.ModuleType=logger): + def __init__(self, directories: List[Path], logger: types.ModuleType = logger): """ Initialize a recursive model directory search. :param directories: List of directory Paths to recurse through @@ -56,18 +57,23 @@ class ModelSearch(ABC): def walk_directory(self, path: Path): for root, dirs, files in os.walk(path): - if str(Path(root).name).startswith('.'): + if str(Path(root).name).startswith("."): self._pruned_paths.add(root) if any([Path(root).is_relative_to(x) for x in self._pruned_paths]): continue - + self._items_scanned += len(dirs) + len(files) for d in dirs: path = Path(root) / d if path in self._scanned_paths or path.parent in self._scanned_dirs: self._scanned_dirs.add(path) continue - if any([(path/x).exists() for x in {'config.json','model_index.json','learned_embeds.bin','pytorch_lora_weights.bin'}]): + if any( + [ + (path / x).exists() + for x in {"config.json", "model_index.json", "learned_embeds.bin", "pytorch_lora_weights.bin"} + ] + ): try: self.on_model_found(path) self._models_found += 1 @@ -79,18 +85,19 @@ class ModelSearch(ABC): path = Path(root) / f if path.parent in self._scanned_dirs: continue - if path.suffix in {'.ckpt','.bin','.pth','.safetensors','.pt'}: + if path.suffix in {".ckpt", ".bin", ".pth", ".safetensors", ".pt"}: try: self.on_model_found(path) self._models_found += 1 except Exception as e: self.logger.warning(str(e)) + class FindModels(ModelSearch): def on_search_started(self): self.models_found: Set[Path] = set() - def on_model_found(self,model: Path): + def on_model_found(self, model: Path): self.models_found.add(model) def on_search_completed(self): @@ -99,5 +106,3 @@ class FindModels(ModelSearch): def list_models(self) -> List[Path]: self.search() return list(self.models_found) - - diff --git a/invokeai/backend/model_management/models/__init__.py b/invokeai/backend/model_management/models/__init__.py index 2eb9028d6e..b15e1d309a 100644 --- a/invokeai/backend/model_management/models/__init__.py +++ b/invokeai/backend/model_management/models/__init__.py @@ -3,15 +3,24 @@ from enum import Enum from pydantic import BaseModel from typing import Literal, get_origin from .base import ( - BaseModelType, ModelType, SubModelType, ModelBase, ModelConfigBase, - ModelVariantType, SchedulerPredictionType, ModelError, SilenceWarnings, - ModelNotFoundException, InvalidModelException, DuplicateModelException - ) + BaseModelType, + ModelType, + SubModelType, + ModelBase, + ModelConfigBase, + ModelVariantType, + SchedulerPredictionType, + ModelError, + SilenceWarnings, + ModelNotFoundException, + InvalidModelException, + DuplicateModelException, +) from .stable_diffusion import StableDiffusion1Model, StableDiffusion2Model from .sdxl import StableDiffusionXLModel from .vae import VaeModel from .lora import LoRAModel -from .controlnet import ControlNetModel # TODO: +from .controlnet import ControlNetModel # TODO: from .textual_inversion import TextualInversionModel MODEL_CLASSES = { @@ -45,18 +54,19 @@ MODEL_CLASSES = { ModelType.ControlNet: ControlNetModel, ModelType.TextualInversion: TextualInversionModel, }, - #BaseModelType.Kandinsky2_1: { + # BaseModelType.Kandinsky2_1: { # ModelType.Main: Kandinsky2_1Model, # ModelType.MoVQ: MoVQModel, # ModelType.Lora: LoRAModel, # ModelType.ControlNet: ControlNetModel, # ModelType.TextualInversion: TextualInversionModel, - #}, + # }, } MODEL_CONFIGS = list() OPENAPI_MODEL_CONFIGS = list() + class OpenAPIModelInfoBase(BaseModel): model_name: str base_model: BaseModelType @@ -72,27 +82,31 @@ for base_model, models in MODEL_CLASSES.items(): # LS: sort to get the checkpoint configs first, which makes # for a better template in the Swagger docs for cfg in sorted(model_configs, key=lambda x: str(x)): - model_name, cfg_name = cfg.__qualname__.split('.')[-2:] + model_name, cfg_name = cfg.__qualname__.split(".")[-2:] openapi_cfg_name = model_name + cfg_name if openapi_cfg_name in vars(): continue - api_wrapper = type(openapi_cfg_name, (cfg, OpenAPIModelInfoBase), dict( - __annotations__ = dict( - model_type=Literal[model_type.value], + api_wrapper = type( + openapi_cfg_name, + (cfg, OpenAPIModelInfoBase), + dict( + __annotations__=dict( + model_type=Literal[model_type.value], + ), ), - )) + ) - #globals()[openapi_cfg_name] = api_wrapper + # globals()[openapi_cfg_name] = api_wrapper vars()[openapi_cfg_name] = api_wrapper OPENAPI_MODEL_CONFIGS.append(api_wrapper) + def get_model_config_enums(): enums = list() for model_config in MODEL_CONFIGS: - - if hasattr(inspect,'get_annotations'): + if hasattr(inspect, "get_annotations"): fields = inspect.get_annotations(model_config) else: fields = model_config.__annotations__ @@ -109,7 +123,9 @@ def get_model_config_enums(): if isinstance(field, type) and issubclass(field, str) and issubclass(field, Enum): enums.append(field) - elif get_origin(field) is Literal and all(isinstance(arg, str) and isinstance(arg, Enum) for arg in field.__args__): + elif get_origin(field) is Literal and all( + isinstance(arg, str) and isinstance(arg, Enum) for arg in field.__args__ + ): enums.append(type(field.__args__[0])) elif field is None: @@ -119,4 +135,3 @@ def get_model_config_enums(): raise Exception(f"Unsupported format definition in {model_configs.__qualname__}") return enums - diff --git a/invokeai/backend/model_management/models/base.py b/invokeai/backend/model_management/models/base.py index 912c3270cd..f2142f772f 100644 --- a/invokeai/backend/model_management/models/base.py +++ b/invokeai/backend/model_management/models/base.py @@ -15,29 +15,35 @@ from contextlib import suppress from pydantic import BaseModel, Field from typing import List, Dict, Optional, Type, Literal, TypeVar, Generic, Callable, Any, Union + class DuplicateModelException(Exception): pass + class InvalidModelException(Exception): pass + class ModelNotFoundException(Exception): pass + class BaseModelType(str, Enum): StableDiffusion1 = "sd-1" StableDiffusion2 = "sd-2" StableDiffusionXL = "sdxl" StableDiffusionXLRefiner = "sdxl-refiner" - #Kandinsky2_1 = "kandinsky-2.1" + # Kandinsky2_1 = "kandinsky-2.1" + class ModelType(str, Enum): Main = "main" Vae = "vae" Lora = "lora" - ControlNet = "controlnet" # used by model_probe + ControlNet = "controlnet" # used by model_probe TextualInversion = "embedding" + class SubModelType(str, Enum): UNet = "unet" TextEncoder = "text_encoder" @@ -47,23 +53,27 @@ class SubModelType(str, Enum): Vae = "vae" Scheduler = "scheduler" SafetyChecker = "safety_checker" - #MoVQ = "movq" + # MoVQ = "movq" + class ModelVariantType(str, Enum): Normal = "normal" Inpaint = "inpaint" Depth = "depth" + class SchedulerPredictionType(str, Enum): Epsilon = "epsilon" VPrediction = "v_prediction" Sample = "sample" - + + class ModelError(str, Enum): NotFound = "not_found" + class ModelConfigBase(BaseModel): - path: str # or Path + path: str # or Path description: Optional[str] = Field(None) model_format: Optional[str] = Field(None) error: Optional[ModelError] = Field(None) @@ -71,13 +81,17 @@ class ModelConfigBase(BaseModel): class Config: use_enum_values = True + class EmptyConfigLoader(ConfigMixin): @classmethod def load_config(cls, *args, **kwargs): cls.config_name = kwargs.pop("config_name") return super().load_config(*args, **kwargs) -T_co = TypeVar('T_co', covariant=True) + +T_co = TypeVar("T_co", covariant=True) + + class classproperty(Generic[T_co]): def __init__(self, fget: Callable[[Any], T_co]) -> None: self.fget = fget @@ -86,12 +100,13 @@ class classproperty(Generic[T_co]): return self.fget(owner) def __set__(self, instance: Optional[Any], value: Any) -> None: - raise AttributeError('cannot set attribute') + raise AttributeError("cannot set attribute") + class ModelBase(metaclass=ABCMeta): - #model_path: str - #base_model: BaseModelType - #model_type: ModelType + # model_path: str + # base_model: BaseModelType + # model_type: ModelType def __init__( self, @@ -110,7 +125,7 @@ class ModelBase(metaclass=ABCMeta): return None elif any(t is None for t in subtypes): raise Exception(f"Unsupported definition: {subtypes}") - + if subtypes[0] in ["diffusers", "transformers"]: res_type = sys.modules[subtypes[0]] subtypes = subtypes[1:] @@ -119,7 +134,6 @@ class ModelBase(metaclass=ABCMeta): res_type = sys.modules["diffusers"] res_type = getattr(res_type, "pipelines") - for subtype in subtypes: res_type = getattr(res_type, subtype) return res_type @@ -128,7 +142,7 @@ class ModelBase(metaclass=ABCMeta): def _get_configs(cls): with suppress(Exception): return cls.__configs - + configs = dict() for name in dir(cls): if name.startswith("__"): @@ -138,7 +152,7 @@ class ModelBase(metaclass=ABCMeta): if not isinstance(value, type) or not issubclass(value, ModelConfigBase): continue - if hasattr(inspect,'get_annotations'): + if hasattr(inspect, "get_annotations"): fields = inspect.get_annotations(value) else: fields = value.__annotations__ @@ -151,7 +165,9 @@ class ModelBase(metaclass=ABCMeta): for model_format in field: configs[model_format.value] = value - elif typing.get_origin(field) is Literal and all(isinstance(arg, str) and isinstance(arg, Enum) for arg in field.__args__): + elif typing.get_origin(field) is Literal and all( + isinstance(arg, str) and isinstance(arg, Enum) for arg in field.__args__ + ): for model_format in field.__args__: configs[model_format.value] = value @@ -203,8 +219,8 @@ class ModelBase(metaclass=ABCMeta): class DiffusersModel(ModelBase): - #child_types: Dict[str, Type] - #child_sizes: Dict[str, int] + # child_types: Dict[str, Type] + # child_sizes: Dict[str, int] def __init__(self, model_path: str, base_model: BaseModelType, model_type: ModelType): super().__init__(model_path, base_model, model_type) @@ -214,7 +230,7 @@ class DiffusersModel(ModelBase): try: config_data = DiffusionPipeline.load_config(self.model_path) - #config_data = json.loads(os.path.join(self.model_path, "model_index.json")) + # config_data = json.loads(os.path.join(self.model_path, "model_index.json")) except: raise Exception("Invalid diffusers model! (model_index.json not found or invalid)") @@ -228,14 +244,12 @@ class DiffusersModel(ModelBase): self.child_types[child_name] = child_type self.child_sizes[child_name] = calc_model_size_by_fs(self.model_path, subfolder=child_name) - def get_size(self, child_type: Optional[SubModelType] = None): if child_type is None: return sum(self.child_sizes.values()) else: return self.child_sizes[child_type] - def get_model( self, torch_dtype: Optional[torch.dtype], @@ -245,7 +259,7 @@ class DiffusersModel(ModelBase): if child_type is None: raise Exception("Child model type can't be null on diffusers model") if child_type not in self.child_types: - return None # TODO: or raise + return None # TODO: or raise if torch_dtype == torch.float16: variants = ["fp16", None] @@ -265,8 +279,8 @@ class DiffusersModel(ModelBase): ) break except Exception as e: - #print("====ERR LOAD====") - #print(f"{variant}: {e}") + # print("====ERR LOAD====") + # print(f"{variant}: {e}") pass else: raise Exception(f"Failed to load {self.base_model}:{self.model_type}:{child_type} model") @@ -275,15 +289,10 @@ class DiffusersModel(ModelBase): self.child_sizes[child_type] = calc_model_size_by_data(model) return model - #def convert_if_required(model_path: str, cache_path: str, config: Optional[dict]) -> str: + # def convert_if_required(model_path: str, cache_path: str, config: Optional[dict]) -> str: - -def calc_model_size_by_fs( - model_path: str, - subfolder: Optional[str] = None, - variant: Optional[str] = None -): +def calc_model_size_by_fs(model_path: str, subfolder: Optional[str] = None, variant: Optional[str] = None): if subfolder is not None: model_path = os.path.join(model_path, subfolder) @@ -325,12 +334,12 @@ def calc_model_size_by_fs( # calculate files size if there is no index file formats = [ - (".safetensors",), # safetensors - (".bin",), # torch - (".onnx", ".pb"), # onnx - (".msgpack",), # flax - (".ckpt",), # tf - (".h5",), # tf2 + (".safetensors",), # safetensors + (".bin",), # torch + (".onnx", ".pb"), # onnx + (".msgpack",), # flax + (".ckpt",), # tf + (".h5",), # tf2 ] for file_format in formats: @@ -343,9 +352,9 @@ def calc_model_size_by_fs( file_stats = os.stat(os.path.join(model_path, model_file)) model_size += file_stats.st_size return model_size - - #raise NotImplementedError(f"Unknown model structure! Files: {all_files}") - return 0 # scheduler/feature_extractor/tokenizer - models without loading to gpu + + # raise NotImplementedError(f"Unknown model structure! Files: {all_files}") + return 0 # scheduler/feature_extractor/tokenizer - models without loading to gpu def calc_model_size_by_data(model) -> int: @@ -364,12 +373,12 @@ def _calc_pipeline_by_data(pipeline) -> int: if submodel is not None and isinstance(submodel, torch.nn.Module): res += _calc_model_by_data(submodel) return res - + def _calc_model_by_data(model) -> int: - mem_params = sum([param.nelement()*param.element_size() for param in model.parameters()]) - mem_bufs = sum([buf.nelement()*buf.element_size() for buf in model.buffers()]) - mem = mem_params + mem_bufs # in bytes + mem_params = sum([param.nelement() * param.element_size() for param in model.parameters()]) + mem_bufs = sum([buf.nelement() * buf.element_size() for buf in model.buffers()]) + mem = mem_params + mem_bufs # in bytes return mem @@ -377,11 +386,15 @@ def _fast_safetensors_reader(path: str): checkpoint = dict() device = torch.device("meta") with open(path, "rb") as f: - definition_len = int.from_bytes(f.read(8), 'little') + definition_len = int.from_bytes(f.read(8), "little") definition_json = f.read(definition_len) definition = json.loads(definition_json) - if "__metadata__" in definition and definition["__metadata__"].get("format", "pt") not in {"pt", "torch", "pytorch"}: + if "__metadata__" in definition and definition["__metadata__"].get("format", "pt") not in { + "pt", + "torch", + "pytorch", + }: raise Exception("Supported only pytorch safetensors files") definition.pop("__metadata__", None) @@ -400,6 +413,7 @@ def _fast_safetensors_reader(path: str): return checkpoint + def read_checkpoint_meta(path: Union[str, Path], scan: bool = False): if str(path).endswith(".safetensors"): try: @@ -411,25 +425,27 @@ def read_checkpoint_meta(path: Union[str, Path], scan: bool = False): if scan: scan_result = scan_file_path(path) if scan_result.infected_files != 0: - raise Exception(f"The model file \"{path}\" is potentially infected by malware. Aborting import.") + raise Exception(f'The model file "{path}" is potentially infected by malware. Aborting import.') checkpoint = torch.load(path, map_location=torch.device("meta")) return checkpoint + import warnings from diffusers import logging as diffusers_logging from transformers import logging as transformers_logging + class SilenceWarnings(object): def __init__(self): self.transformers_verbosity = transformers_logging.get_verbosity() self.diffusers_verbosity = diffusers_logging.get_verbosity() - + def __enter__(self): transformers_logging.set_verbosity_error() diffusers_logging.set_verbosity_error() - warnings.simplefilter('ignore') + warnings.simplefilter("ignore") def __exit__(self, type, value, traceback): transformers_logging.set_verbosity(self.transformers_verbosity) diffusers_logging.set_verbosity(self.diffusers_verbosity) - warnings.simplefilter('default') + warnings.simplefilter("default") diff --git a/invokeai/backend/model_management/models/controlnet.py b/invokeai/backend/model_management/models/controlnet.py index 41952af5d9..e075843a56 100644 --- a/invokeai/backend/model_management/models/controlnet.py +++ b/invokeai/backend/model_management/models/controlnet.py @@ -18,13 +18,15 @@ from .base import ( ) from invokeai.app.services.config import InvokeAIAppConfig + class ControlNetModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" + class ControlNetModel(ModelBase): - #model_class: Type - #model_size: int + # model_class: Type + # model_size: int class DiffusersConfig(ModelConfigBase): model_format: Literal[ControlNetModelFormat.Diffusers] @@ -39,7 +41,7 @@ class ControlNetModel(ModelBase): try: config = EmptyConfigLoader.load_config(self.model_path, config_name="config.json") - #config = json.loads(os.path.join(self.model_path, "config.json")) + # config = json.loads(os.path.join(self.model_path, "config.json")) except: raise Exception("Invalid controlnet model! (config.json not found or invalid)") @@ -67,7 +69,7 @@ class ControlNetModel(ModelBase): raise Exception("There is no child models in controlnet model") model = None - for variant in ['fp16',None]: + for variant in ["fp16", None]: try: model = self.model_class.from_pretrained( self.model_path, @@ -79,7 +81,7 @@ class ControlNetModel(ModelBase): pass if not model: raise ModelNotFoundException() - + # calc more accurate size self.model_size = calc_model_size_by_data(model) return model @@ -105,29 +107,30 @@ class ControlNetModel(ModelBase): @classmethod def convert_if_required( - cls, - model_path: str, - output_path: str, - config: ModelConfigBase, - base_model: BaseModelType, - ) -> str: - if cls.detect_format(model_path) == ControlNetModelFormat.Checkpoint: - return _convert_controlnet_ckpt_and_cache( - model_path = model_path, - model_config = config.config, - output_path = output_path, - base_model = base_model, - ) - else: - return model_path - -@classmethod -def _convert_controlnet_ckpt_and_cache( cls, model_path: str, output_path: str, + config: ModelConfigBase, base_model: BaseModelType, - model_config: ControlNetModel.CheckpointConfig, + ) -> str: + if cls.detect_format(model_path) == ControlNetModelFormat.Checkpoint: + return _convert_controlnet_ckpt_and_cache( + model_path=model_path, + model_config=config.config, + output_path=output_path, + base_model=base_model, + ) + else: + return model_path + + +@classmethod +def _convert_controlnet_ckpt_and_cache( + cls, + model_path: str, + output_path: str, + base_model: BaseModelType, + model_config: ControlNetModel.CheckpointConfig, ) -> str: """ Convert the controlnet from checkpoint format to diffusers format, @@ -144,12 +147,13 @@ def _convert_controlnet_ckpt_and_cache( # to avoid circular import errors from ..convert_ckpt_to_diffusers import convert_controlnet_to_diffusers + convert_controlnet_to_diffusers( weights, output_path, - original_config_file = app_config.root_path / model_config, - image_size = 512, - scan_needed = True, - from_safetensors = weights.suffix == ".safetensors" + original_config_file=app_config.root_path / model_config, + image_size=512, + scan_needed=True, + from_safetensors=weights.suffix == ".safetensors", ) return output_path diff --git a/invokeai/backend/model_management/models/lora.py b/invokeai/backend/model_management/models/lora.py index eb771841ec..7cf87d8fe7 100644 --- a/invokeai/backend/model_management/models/lora.py +++ b/invokeai/backend/model_management/models/lora.py @@ -12,18 +12,21 @@ from .base import ( InvalidModelException, ModelNotFoundException, ) + # TODO: naming from ..lora import LoRAModel as LoRAModelRaw + class LoRAModelFormat(str, Enum): LyCORIS = "lycoris" Diffusers = "diffusers" + class LoRAModel(ModelBase): - #model_size: int + # model_size: int class Config(ModelConfigBase): - model_format: LoRAModelFormat # TODO: + model_format: LoRAModelFormat # TODO: def __init__(self, model_path: str, base_model: BaseModelType, model_type: ModelType): assert model_type == ModelType.Lora diff --git a/invokeai/backend/model_management/models/sdxl.py b/invokeai/backend/model_management/models/sdxl.py index 9a0de4ea79..7fc3efb77c 100644 --- a/invokeai/backend/model_management/models/sdxl.py +++ b/invokeai/backend/model_management/models/sdxl.py @@ -15,12 +15,13 @@ from .base import ( ) from omegaconf import OmegaConf + class StableDiffusionXLModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" - -class StableDiffusionXLModel(DiffusersModel): + +class StableDiffusionXLModel(DiffusersModel): # TODO: check that configs overwriten properly class DiffusersConfig(ModelConfigBase): model_format: Literal[StableDiffusionXLModelFormat.Diffusers] @@ -53,7 +54,7 @@ class StableDiffusionXLModel(DiffusersModel): else: checkpoint = read_checkpoint_meta(path) - checkpoint = checkpoint.get('state_dict', checkpoint) + checkpoint = checkpoint.get("state_dict", checkpoint) in_channels = checkpoint["model.diffusion_model.input_blocks.0.0.weight"].shape[1] elif model_format == StableDiffusionXLModelFormat.Diffusers: @@ -61,7 +62,7 @@ class StableDiffusionXLModel(DiffusersModel): if os.path.exists(unet_config_path): with open(unet_config_path, "r") as f: unet_config = json.loads(f.read()) - in_channels = unet_config['in_channels'] + in_channels = unet_config["in_channels"] else: raise Exception("Not supported stable diffusion diffusers format(possibly onnx?)") @@ -81,11 +82,10 @@ class StableDiffusionXLModel(DiffusersModel): if ckpt_config_path is None: # TO DO: implement picking pass - + return cls.create_config( path=path, model_format=model_format, - config=ckpt_config_path, variant=variant, ) @@ -114,11 +114,12 @@ class StableDiffusionXLModel(DiffusersModel): # source code changes, we simply translate here if isinstance(config, cls.CheckpointConfig): from invokeai.backend.model_management.models.stable_diffusion import _convert_ckpt_and_cache + return _convert_ckpt_and_cache( version=base_model, model_config=config, output_path=output_path, - use_safetensors=False, # corrupts sdxl models for some reason + use_safetensors=False, # corrupts sdxl models for some reason ) else: return model_path diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index dd0b78ebf7..76b4833f9c 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -26,8 +26,8 @@ class StableDiffusion1ModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" -class StableDiffusion1Model(DiffusersModel): +class StableDiffusion1Model(DiffusersModel): class DiffusersConfig(ModelConfigBase): model_format: Literal[StableDiffusion1ModelFormat.Diffusers] vae: Optional[str] = Field(None) @@ -38,7 +38,7 @@ class StableDiffusion1Model(DiffusersModel): vae: Optional[str] = Field(None) config: str variant: ModelVariantType - + def __init__(self, model_path: str, base_model: BaseModelType, model_type: ModelType): assert base_model == BaseModelType.StableDiffusion1 assert model_type == ModelType.Main @@ -59,7 +59,7 @@ class StableDiffusion1Model(DiffusersModel): else: checkpoint = read_checkpoint_meta(path) - checkpoint = checkpoint.get('state_dict', checkpoint) + checkpoint = checkpoint.get("state_dict", checkpoint) in_channels = checkpoint["model.diffusion_model.input_blocks.0.0.weight"].shape[1] elif model_format == StableDiffusion1ModelFormat.Diffusers: @@ -67,7 +67,7 @@ class StableDiffusion1Model(DiffusersModel): if os.path.exists(unet_config_path): with open(unet_config_path, "r") as f: unet_config = json.loads(f.read()) - in_channels = unet_config['in_channels'] + in_channels = unet_config["in_channels"] else: raise NotImplementedError(f"{path} is not a supported stable diffusion diffusers format") @@ -88,7 +88,6 @@ class StableDiffusion1Model(DiffusersModel): return cls.create_config( path=path, model_format=model_format, - config=ckpt_config_path, variant=variant, ) @@ -125,16 +124,17 @@ class StableDiffusion1Model(DiffusersModel): version=BaseModelType.StableDiffusion1, model_config=config, output_path=output_path, - ) + ) else: return model_path + class StableDiffusion2ModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" -class StableDiffusion2Model(DiffusersModel): +class StableDiffusion2Model(DiffusersModel): # TODO: check that configs overwriten properly class DiffusersConfig(ModelConfigBase): model_format: Literal[StableDiffusion2ModelFormat.Diffusers] @@ -167,7 +167,7 @@ class StableDiffusion2Model(DiffusersModel): else: checkpoint = read_checkpoint_meta(path) - checkpoint = checkpoint.get('state_dict', checkpoint) + checkpoint = checkpoint.get("state_dict", checkpoint) in_channels = checkpoint["model.diffusion_model.input_blocks.0.0.weight"].shape[1] elif model_format == StableDiffusion2ModelFormat.Diffusers: @@ -175,7 +175,7 @@ class StableDiffusion2Model(DiffusersModel): if os.path.exists(unet_config_path): with open(unet_config_path, "r") as f: unet_config = json.loads(f.read()) - in_channels = unet_config['in_channels'] + in_channels = unet_config["in_channels"] else: raise Exception("Not supported stable diffusion diffusers format(possibly onnx?)") @@ -198,7 +198,6 @@ class StableDiffusion2Model(DiffusersModel): return cls.create_config( path=path, model_format=model_format, - config=ckpt_config_path, variant=variant, ) @@ -239,17 +238,19 @@ class StableDiffusion2Model(DiffusersModel): else: return model_path + # TODO: rework # pass precision - currently defaulting to fp16 def _convert_ckpt_and_cache( - version: BaseModelType, - model_config: Union[StableDiffusion1Model.CheckpointConfig, - StableDiffusion2Model.CheckpointConfig, - StableDiffusionXLModel.CheckpointConfig, - ], - output_path: str, - use_save_model: bool=False, - **kwargs, + version: BaseModelType, + model_config: Union[ + StableDiffusion1Model.CheckpointConfig, + StableDiffusion2Model.CheckpointConfig, + StableDiffusionXLModel.CheckpointConfig, + ], + output_path: str, + use_save_model: bool = False, + **kwargs, ) -> str: """ Convert the checkpoint model indicated in mconfig into a @@ -270,13 +271,14 @@ def _convert_ckpt_and_cache( from ..convert_ckpt_to_diffusers import convert_ckpt_to_diffusers from ...util.devices import choose_torch_device, torch_dtype - model_base_to_model_type = {BaseModelType.StableDiffusion1: 'FrozenCLIPEmbedder', - BaseModelType.StableDiffusion2: 'FrozenOpenCLIPEmbedder', - BaseModelType.StableDiffusionXL: 'SDXL', - BaseModelType.StableDiffusionXLRefiner: 'SDXL-Refiner', - } - logger.info(f'Converting {weights} to diffusers format') - with SilenceWarnings(): + model_base_to_model_type = { + BaseModelType.StableDiffusion1: "FrozenCLIPEmbedder", + BaseModelType.StableDiffusion2: "FrozenOpenCLIPEmbedder", + BaseModelType.StableDiffusionXL: "SDXL", + BaseModelType.StableDiffusionXLRefiner: "SDXL-Refiner", + } + logger.info(f"Converting {weights} to diffusers format") + with SilenceWarnings(): convert_ckpt_to_diffusers( weights, output_path, @@ -286,12 +288,13 @@ def _convert_ckpt_and_cache( original_config_file=config_file, extract_ema=True, scan_needed=True, - from_safetensors = weights.suffix == ".safetensors", - precision = torch_dtype(choose_torch_device()), + from_safetensors=weights.suffix == ".safetensors", + precision=torch_dtype(choose_torch_device()), **kwargs, ) return output_path + def _select_ckpt_config(version: BaseModelType, variant: ModelVariantType): ckpt_configs = { BaseModelType.StableDiffusion1: { @@ -299,7 +302,7 @@ def _select_ckpt_config(version: BaseModelType, variant: ModelVariantType): ModelVariantType.Inpaint: "v1-inpainting-inference.yaml", }, BaseModelType.StableDiffusion2: { - ModelVariantType.Normal: "v2-inference-v.yaml", # best guess, as we can't differentiate with base(512) + ModelVariantType.Normal: "v2-inference-v.yaml", # best guess, as we can't differentiate with base(512) ModelVariantType.Inpaint: "v2-inpainting-inference.yaml", ModelVariantType.Depth: "v2-midas-inference.yaml", }, @@ -321,8 +324,6 @@ def _select_ckpt_config(version: BaseModelType, variant: ModelVariantType): if config_path.is_relative_to(app_config.root_path): config_path = config_path.relative_to(app_config.root_path) return str(config_path) - + except: return None - - diff --git a/invokeai/backend/model_management/models/textual_inversion.py b/invokeai/backend/model_management/models/textual_inversion.py index eea0e85245..a949a15be1 100644 --- a/invokeai/backend/model_management/models/textual_inversion.py +++ b/invokeai/backend/model_management/models/textual_inversion.py @@ -11,11 +11,13 @@ from .base import ( ModelNotFoundException, InvalidModelException, ) + # TODO: naming from ..lora import TextualInversionModel as TextualInversionModelRaw + class TextualInversionModel(ModelBase): - #model_size: int + # model_size: int class Config(ModelConfigBase): model_format: None @@ -65,7 +67,7 @@ class TextualInversionModel(ModelBase): if os.path.isdir(path): if os.path.exists(os.path.join(path, "learned_embeds.bin")): - return None # diffusers-ti + return None # diffusers-ti if os.path.isfile(path): if any([path.endswith(f".{ext}") for ext in ["safetensors", "ckpt", "pt", "bin"]]): diff --git a/invokeai/backend/model_management/models/vae.py b/invokeai/backend/model_management/models/vae.py index f740615509..b15844bcf8 100644 --- a/invokeai/backend/model_management/models/vae.py +++ b/invokeai/backend/model_management/models/vae.py @@ -22,13 +22,15 @@ from invokeai.app.services.config import InvokeAIAppConfig from diffusers.utils import is_safetensors_available from omegaconf import OmegaConf + class VaeModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" + class VaeModel(ModelBase): - #vae_class: Type - #model_size: int + # vae_class: Type + # model_size: int class Config(ModelConfigBase): model_format: VaeModelFormat @@ -39,7 +41,7 @@ class VaeModel(ModelBase): try: config = EmptyConfigLoader.load_config(self.model_path, config_name="config.json") - #config = json.loads(os.path.join(self.model_path, "config.json")) + # config = json.loads(os.path.join(self.model_path, "config.json")) except: raise Exception("Invalid vae model! (config.json not found or invalid)") @@ -95,7 +97,7 @@ class VaeModel(ModelBase): cls, model_path: str, output_path: str, - config: ModelConfigBase, # empty config or config of parent model + config: ModelConfigBase, # empty config or config of parent model base_model: BaseModelType, ) -> str: if cls.detect_format(model_path) == VaeModelFormat.Checkpoint: @@ -108,6 +110,7 @@ class VaeModel(ModelBase): else: return model_path + # TODO: rework def _convert_vae_ckpt_and_cache( weights_path: str, @@ -138,13 +141,14 @@ def _convert_vae_ckpt_and_cache( 2.1 - 768 """ image_size = 512 - + # return cached version if it exists if output_path.exists(): return output_path if base_model in {BaseModelType.StableDiffusion1, BaseModelType.StableDiffusion2}: from .stable_diffusion import _select_ckpt_config + # all sd models use same vae settings config_file = _select_ckpt_config(base_model, ModelVariantType.Normal) else: @@ -152,7 +156,8 @@ def _convert_vae_ckpt_and_cache( # this avoids circular import error from ..convert_ckpt_to_diffusers import convert_ldm_vae_to_diffusers - if weights_path.suffix == '.safetensors': + + if weights_path.suffix == ".safetensors": checkpoint = safetensors.torch.load_file(weights_path, device="cpu") else: checkpoint = torch.load(weights_path, map_location="cpu") @@ -161,15 +166,12 @@ def _convert_vae_ckpt_and_cache( if "state_dict" in checkpoint: checkpoint = checkpoint["state_dict"] - config = OmegaConf.load(app_config.root_path/config_file) + config = OmegaConf.load(app_config.root_path / config_file) vae_model = convert_ldm_vae_to_diffusers( - checkpoint = checkpoint, - vae_config = config, - image_size = image_size, - ) - vae_model.save_pretrained( - output_path, - safe_serialization=is_safetensors_available() + checkpoint=checkpoint, + vae_config=config, + image_size=image_size, ) + vae_model.save_pretrained(output_path, safe_serialization=is_safetensors_available()) return output_path diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 8acfb100a6..624d47ff64 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -47,6 +47,7 @@ from .diffusion import ( ) from .offloading import FullyLoadedModelGroup, ModelGroup + @dataclass class PipelineIntermediateState: run_id: str @@ -72,7 +73,11 @@ class AddsMaskLatents: initial_image_latents: torch.Tensor def __call__( - self, latents: torch.Tensor, t: torch.Tensor, text_embeddings: torch.Tensor, **kwargs, + self, + latents: torch.Tensor, + t: torch.Tensor, + text_embeddings: torch.Tensor, + **kwargs, ) -> torch.Tensor: model_input = self.add_mask_channels(latents) return self.forward(model_input, t, text_embeddings, **kwargs) @@ -80,12 +85,8 @@ class AddsMaskLatents: def add_mask_channels(self, latents): batch_size = latents.size(0) # duplicate mask and latents for each batch - mask = einops.repeat( - self.mask, "b c h w -> (repeat b) c h w", repeat=batch_size - ) - image_latents = einops.repeat( - self.initial_image_latents, "b c h w -> (repeat b) c h w", repeat=batch_size - ) + mask = einops.repeat(self.mask, "b c h w -> (repeat b) c h w", repeat=batch_size) + image_latents = einops.repeat(self.initial_image_latents, "b c h w -> (repeat b) c h w", repeat=batch_size) # add mask and image as additional channels model_input, _ = einops.pack([latents, mask, image_latents], "b * h w") return model_input @@ -103,9 +104,7 @@ class AddsMaskGuidance: noise: torch.Tensor _debug: Optional[Callable] = None - def __call__( - self, step_output: Union[BaseOutput, SchedulerOutput], t: torch.Tensor, conditioning - ) -> BaseOutput: + def __call__(self, step_output: Union[BaseOutput, SchedulerOutput], t: torch.Tensor, conditioning) -> BaseOutput: output_class = step_output.__class__ # We'll create a new one with masked data. # The problem with taking SchedulerOutput instead of the model output is that we're less certain what's in it. @@ -116,11 +115,7 @@ class AddsMaskGuidance: # Mask anything that has the same shape as prev_sample, return others as-is. return output_class( { - k: ( - self.apply_mask(v, self._t_for_field(k, t)) - if are_like_tensors(prev_sample, v) - else v - ) + k: (self.apply_mask(v, self._t_for_field(k, t)) if are_like_tensors(prev_sample, v) else v) for k, v in step_output.items() } ) @@ -132,9 +127,7 @@ class AddsMaskGuidance: def apply_mask(self, latents: torch.Tensor, t) -> torch.Tensor: batch_size = latents.size(0) - mask = einops.repeat( - self.mask, "b c h w -> (repeat b) c h w", repeat=batch_size - ) + mask = einops.repeat(self.mask, "b c h w -> (repeat b) c h w", repeat=batch_size) if t.dim() == 0: # some schedulers expect t to be one-dimensional. # TODO: file diffusers bug about inconsistency? @@ -144,12 +137,8 @@ class AddsMaskGuidance: mask_latents = self.scheduler.add_noise(self.mask_latents, self.noise, t) # TODO: Do we need to also apply scheduler.scale_model_input? Or is add_noise appropriately scaled already? # mask_latents = self.scheduler.scale_model_input(mask_latents, t) - mask_latents = einops.repeat( - mask_latents, "b c h w -> (repeat b) c h w", repeat=batch_size - ) - masked_input = torch.lerp( - mask_latents.to(dtype=latents.dtype), latents, mask.to(dtype=latents.dtype) - ) + mask_latents = einops.repeat(mask_latents, "b c h w -> (repeat b) c h w", repeat=batch_size) + masked_input = torch.lerp(mask_latents.to(dtype=latents.dtype), latents, mask.to(dtype=latents.dtype)) if self._debug: self._debug(masked_input, f"t={t} lerped") return masked_input @@ -159,9 +148,7 @@ def trim_to_multiple_of(*args, multiple_of=8): return tuple((x - x % multiple_of) for x in args) -def image_resized_to_grid_as_tensor( - image: PIL.Image.Image, normalize: bool = True, multiple_of=8 -) -> torch.FloatTensor: +def image_resized_to_grid_as_tensor(image: PIL.Image.Image, normalize: bool = True, multiple_of=8) -> torch.FloatTensor: """ :param image: input image @@ -211,6 +198,7 @@ class GeneratorToCallbackinator(Generic[ParamType, ReturnType, CallbackType]): raise AssertionError("why was that an empty generator?") return result + @dataclass class ControlNetData: model: ControlNetModel = Field(default=None) @@ -341,9 +329,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # FIXME: can't currently register control module # control_model=control_model, ) - self.invokeai_diffuser = InvokeAIDiffuserComponent( - self.unet, self._unet_forward - ) + self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, self._unet_forward) self._model_group = FullyLoadedModelGroup(execution_device or self.unet.device) self._model_group.install(*self._submodels) @@ -354,11 +340,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): if xformers is available, use it, otherwise use sliced attention. """ config = InvokeAIAppConfig.get_config() - if ( - torch.cuda.is_available() - and is_xformers_available() - and not config.disable_xformers - ): + if torch.cuda.is_available() and is_xformers_available() and not config.disable_xformers: self.enable_xformers_memory_efficient_attention() else: if self.device.type == "cpu" or self.device.type == "mps": @@ -369,9 +351,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): raise ValueError(f"unrecognized device {self.device}") # input tensor of [1, 4, h/8, w/8] # output tensor of [16, (h/8 * w/8), (h/8 * w/8)] - bytes_per_element_needed_for_baddbmm_duplication = ( - latents.element_size() + 4 - ) + bytes_per_element_needed_for_baddbmm_duplication = latents.element_size() + 4 max_size_required_for_baddbmm = ( 16 * latents.size(dim=2) @@ -380,9 +360,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): * latents.size(dim=3) * bytes_per_element_needed_for_baddbmm_duplication ) - if max_size_required_for_baddbmm > ( - mem_free * 3.0 / 4.0 - ): # 3.3 / 4.0 is from old Invoke code + if max_size_required_for_baddbmm > (mem_free * 3.0 / 4.0): # 3.3 / 4.0 is from old Invoke code self.enable_attention_slicing(slice_size="max") elif torch.backends.mps.is_available(): # diffusers recommends always enabling for mps @@ -470,7 +448,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): control_data: List[ControlNetData] = None, ) -> tuple[torch.Tensor, Optional[AttentionMapSaver]]: if self.scheduler.config.get("cpu_only", False): - scheduler_device = torch.device('cpu') + scheduler_device = torch.device("cpu") else: scheduler_device = self._model_group.device_for(self.unet) @@ -488,7 +466,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): run_id=run_id, additional_guidance=additional_guidance, control_data=control_data, - callback=callback, ) return result.latents, result.attention_map_saver @@ -511,9 +488,9 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): additional_guidance = [] extra_conditioning_info = conditioning_data.extra with self.invokeai_diffuser.custom_attention_context( - self.invokeai_diffuser.model, - extra_conditioning_info=extra_conditioning_info, - step_count=len(self.scheduler.timesteps), + self.invokeai_diffuser.model, + extra_conditioning_info=extra_conditioning_info, + step_count=len(self.scheduler.timesteps), ): yield PipelineIntermediateState( run_id=run_id, @@ -607,16 +584,15 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # that are combined at higher level to make control_mode enum # soft_injection determines whether to do per-layer re-weighting adjustment (if True) # or default weighting (if False) - soft_injection = (control_mode == "more_prompt" or control_mode == "more_control") + soft_injection = control_mode == "more_prompt" or control_mode == "more_control" # cfg_injection = determines whether to apply ControlNet to only the conditional (if True) # or the default both conditional and unconditional (if False) - cfg_injection = (control_mode == "more_control" or control_mode == "unbalanced") + cfg_injection = control_mode == "more_control" or control_mode == "unbalanced" first_control_step = math.floor(control_datum.begin_step_percent * total_step_count) last_control_step = math.ceil(control_datum.end_step_percent * total_step_count) # only apply controlnet if current step is within the controlnet's begin/end step range if step_index >= first_control_step and step_index <= last_control_step: - if cfg_injection: control_latent_input = unet_latent_input else: @@ -629,7 +605,10 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): encoder_hidden_states = conditioning_data.text_embeddings encoder_attention_mask = None else: - encoder_hidden_states, encoder_attention_mask = self.invokeai_diffuser._concat_conditionings_for_batch( + ( + encoder_hidden_states, + encoder_attention_mask, + ) = self.invokeai_diffuser._concat_conditionings_for_batch( conditioning_data.unconditioned_embeddings, conditioning_data.text_embeddings, ) @@ -646,9 +625,9 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): timestep=timestep, encoder_hidden_states=encoder_hidden_states, controlnet_cond=control_datum.image_tensor, - conditioning_scale=controlnet_weight, # controlnet specific, NOT the guidance scale + conditioning_scale=controlnet_weight, # controlnet specific, NOT the guidance scale encoder_attention_mask=encoder_attention_mask, - guess_mode=soft_injection, # this is still called guess_mode in diffusers ControlNetModel + guess_mode=soft_injection, # this is still called guess_mode in diffusers ControlNetModel return_dict=False, ) if cfg_injection: @@ -678,13 +657,11 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): step_index=step_index, total_step_count=total_step_count, down_block_additional_residuals=down_block_res_samples, # from controlnet(s) - mid_block_additional_residual=mid_block_res_sample, # from controlnet(s) + mid_block_additional_residual=mid_block_res_sample, # from controlnet(s) ) # compute the previous noisy sample x_t -> x_t-1 - step_output = self.scheduler.step( - noise_pred, timestep, latents, **conditioning_data.scheduler_args - ) + step_output = self.scheduler.step(noise_pred, timestep, latents, **conditioning_data.scheduler_args) # TODO: this additional_guidance extension point feels redundant with InvokeAIDiffusionComponent. # But the way things are now, scheduler runs _after_ that, so there was @@ -710,17 +687,16 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # use of AddsMaskLatents. latents = AddsMaskLatents( self._unet_forward, - mask=torch.ones_like( - latents[:1, :1], device=latents.device, dtype=latents.dtype - ), - initial_image_latents=torch.zeros_like( - latents[:1], device=latents.device, dtype=latents.dtype - ), + mask=torch.ones_like(latents[:1, :1], device=latents.device, dtype=latents.dtype), + initial_image_latents=torch.zeros_like(latents[:1], device=latents.device, dtype=latents.dtype), ).add_mask_channels(latents) # First three args should be positional, not keywords, so torch hooks can see them. return self.unet( - latents, t, text_embeddings, cross_attention_kwargs=cross_attention_kwargs, + latents, + t, + text_embeddings, + cross_attention_kwargs=cross_attention_kwargs, **kwargs, ).sample @@ -774,9 +750,9 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): ) -> InvokeAIStableDiffusionPipelineOutput: timesteps, _ = self.get_img2img_timesteps(num_inference_steps, strength) result_latents, result_attention_maps = self.latents_from_embeddings( - latents=initial_latents if strength < 1.0 else torch.zeros_like( - initial_latents, device=initial_latents.device, dtype=initial_latents.dtype - ), + latents=initial_latents + if strength < 1.0 + else torch.zeros_like(initial_latents, device=initial_latents.device, dtype=initial_latents.dtype), num_inference_steps=num_inference_steps, conditioning_data=conditioning_data, timesteps=timesteps, @@ -797,14 +773,12 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): ) return self.check_for_safety(output, dtype=conditioning_data.dtype) - def get_img2img_timesteps( - self, num_inference_steps: int, strength: float, device=None - ) -> (torch.Tensor, int): + def get_img2img_timesteps(self, num_inference_steps: int, strength: float, device=None) -> (torch.Tensor, int): img2img_pipeline = StableDiffusionImg2ImgPipeline(**self.components) assert img2img_pipeline.scheduler is self.scheduler if self.scheduler.config.get("cpu_only", False): - scheduler_device = torch.device('cpu') + scheduler_device = torch.device("cpu") else: scheduler_device = self._model_group.device_for(self.unet) @@ -849,18 +823,16 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # 6. Prepare latent variables # can't quite use upstream StableDiffusionImg2ImgPipeline.prepare_latents # because we have our own noise function - init_image_latents = self.non_noised_latents_from_image( - init_image, device=device, dtype=latents_dtype - ) + init_image_latents = self.non_noised_latents_from_image(init_image, device=device, dtype=latents_dtype) if seed is not None: set_seed(seed) noise = noise_func(init_image_latents) if mask.dim() == 3: mask = mask.unsqueeze(0) - latent_mask = tv_resize( - mask, init_image_latents.shape[-2:], T.InterpolationMode.BILINEAR - ).to(device=device, dtype=latents_dtype) + latent_mask = tv_resize(mask, init_image_latents.shape[-2:], T.InterpolationMode.BILINEAR).to( + device=device, dtype=latents_dtype + ) guidance: List[Callable] = [] @@ -868,22 +840,20 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # You'd think the inpainting model wouldn't be paying attention to the area it is going to repaint # (that's why there's a mask!) but it seems to really want that blanked out. masked_init_image = init_image * torch.where(mask < 0.5, 1, 0) - masked_latents = self.non_noised_latents_from_image( - masked_init_image, device=device, dtype=latents_dtype - ) + masked_latents = self.non_noised_latents_from_image(masked_init_image, device=device, dtype=latents_dtype) # TODO: we should probably pass this in so we don't have to try/finally around setting it. self.invokeai_diffuser.model_forward_callback = AddsMaskLatents( self._unet_forward, latent_mask, masked_latents ) else: - guidance.append( - AddsMaskGuidance(latent_mask, init_image_latents, self.scheduler, noise) - ) + guidance.append(AddsMaskGuidance(latent_mask, init_image_latents, self.scheduler, noise)) try: result_latents, result_attention_maps = self.latents_from_embeddings( - latents=init_image_latents if strength < 1.0 else torch.zeros_like( + latents=init_image_latents + if strength < 1.0 + else torch.zeros_like( init_image_latents, device=init_image_latents.device, dtype=init_image_latents.dtype ), num_inference_steps=num_inference_steps, @@ -914,18 +884,14 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): with torch.inference_mode(): self._model_group.load(self.vae) init_latent_dist = self.vae.encode(init_image).latent_dist - init_latents = init_latent_dist.sample().to( - dtype=dtype - ) # FIXME: uses torch.randn. make reproducible! + init_latents = init_latent_dist.sample().to(dtype=dtype) # FIXME: uses torch.randn. make reproducible! init_latents = 0.18215 * init_latents return init_latents def check_for_safety(self, output, dtype): with torch.inference_mode(): - screened_images, has_nsfw_concept = self.run_safety_checker( - output.images, dtype=dtype - ) + screened_images, has_nsfw_concept = self.run_safety_checker(output.images, dtype=dtype) screened_attention_map_saver = None if has_nsfw_concept is None or not has_nsfw_concept: screened_attention_map_saver = output.attention_map_saver @@ -949,9 +915,8 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): def debug_latents(self, latents, msg): from invokeai.backend.image_util import debug_image + with torch.inference_mode(): decoded = self.numpy_to_pil(self.decode_latents(latents)) for i, img in enumerate(decoded): - debug_image( - img, f"latents {msg} {i+1}/{len(decoded)}", debug_status=True - ) + debug_image(img, f"latents {msg} {i+1}/{len(decoded)}", debug_status=True) diff --git a/invokeai/backend/stable_diffusion/diffusion/cross_attention_control.py b/invokeai/backend/stable_diffusion/diffusion/cross_attention_control.py index 79a0982cfe..38763ebbee 100644 --- a/invokeai/backend/stable_diffusion/diffusion/cross_attention_control.py +++ b/invokeai/backend/stable_diffusion/diffusion/cross_attention_control.py @@ -17,6 +17,7 @@ from torch import nn import invokeai.backend.util.logging as logger from ...util import torch_dtype + class CrossAttentionType(enum.Enum): SELF = 1 TOKENS = 2 @@ -55,9 +56,7 @@ class Context: if name in self.self_cross_attention_module_identifiers: assert False, f"name {name} cannot appear more than once" self.self_cross_attention_module_identifiers.append(name) - for name, module in get_cross_attention_modules( - model, CrossAttentionType.TOKENS - ): + for name, module in get_cross_attention_modules(model, CrossAttentionType.TOKENS): if name in self.tokens_cross_attention_module_identifiers: assert False, f"name {name} cannot appear more than once" self.tokens_cross_attention_module_identifiers.append(name) @@ -68,9 +67,7 @@ class Context: else: self.tokens_cross_attention_action = Context.Action.SAVE - def request_apply_saved_attention_maps( - self, cross_attention_type: CrossAttentionType - ): + def request_apply_saved_attention_maps(self, cross_attention_type: CrossAttentionType): if cross_attention_type == CrossAttentionType.SELF: self.self_cross_attention_action = Context.Action.APPLY else: @@ -139,9 +136,7 @@ class Context: saved_attention_dict = self.saved_cross_attention_maps[identifier] if requested_dim is None: if saved_attention_dict["dim"] is not None: - raise RuntimeError( - f"dim mismatch: expected dim=None, have {saved_attention_dict['dim']}" - ) + raise RuntimeError(f"dim mismatch: expected dim=None, have {saved_attention_dict['dim']}") return saved_attention_dict["slices"][0] if saved_attention_dict["dim"] == requested_dim: @@ -154,21 +149,13 @@ class Context: if saved_attention_dict["dim"] is None: whole_saved_attention = saved_attention_dict["slices"][0] if requested_dim == 0: - return whole_saved_attention[ - requested_offset : requested_offset + slice_size - ] + return whole_saved_attention[requested_offset : requested_offset + slice_size] elif requested_dim == 1: - return whole_saved_attention[ - :, requested_offset : requested_offset + slice_size - ] + return whole_saved_attention[:, requested_offset : requested_offset + slice_size] - raise RuntimeError( - f"Cannot convert dim {saved_attention_dict['dim']} to requested dim {requested_dim}" - ) + raise RuntimeError(f"Cannot convert dim {saved_attention_dict['dim']} to requested dim {requested_dim}") - def get_slicing_strategy( - self, identifier: str - ) -> tuple[Optional[int], Optional[int]]: + def get_slicing_strategy(self, identifier: str) -> tuple[Optional[int], Optional[int]]: saved_attention = self.saved_cross_attention_maps.get(identifier, None) if saved_attention is None: return None, None @@ -201,9 +188,7 @@ class InvokeAICrossAttentionMixin: def set_attention_slice_wrangler( self, - wrangler: Optional[ - Callable[[nn.Module, torch.Tensor, int, int, int], torch.Tensor] - ], + wrangler: Optional[Callable[[nn.Module, torch.Tensor, int, int, int], torch.Tensor]], ): """ Set custom attention calculator to be called when attention is calculated @@ -219,14 +204,10 @@ class InvokeAICrossAttentionMixin: """ self.attention_slice_wrangler = wrangler - def set_slicing_strategy_getter( - self, getter: Optional[Callable[[nn.Module], tuple[int, int]]] - ): + def set_slicing_strategy_getter(self, getter: Optional[Callable[[nn.Module], tuple[int, int]]]): self.slicing_strategy_getter = getter - def set_attention_slice_calculated_callback( - self, callback: Optional[Callable[[torch.Tensor], None]] - ): + def set_attention_slice_calculated_callback(self, callback: Optional[Callable[[torch.Tensor], None]]): self.attention_slice_calculated_callback = callback def einsum_lowest_level(self, query, key, value, dim, offset, slice_size): @@ -247,45 +228,31 @@ class InvokeAICrossAttentionMixin: ) # calculate attention slice by taking the best scores for each latent pixel - default_attention_slice = attention_scores.softmax( - dim=-1, dtype=attention_scores.dtype - ) + default_attention_slice = attention_scores.softmax(dim=-1, dtype=attention_scores.dtype) attention_slice_wrangler = self.attention_slice_wrangler if attention_slice_wrangler is not None: - attention_slice = attention_slice_wrangler( - self, default_attention_slice, dim, offset, slice_size - ) + attention_slice = attention_slice_wrangler(self, default_attention_slice, dim, offset, slice_size) else: attention_slice = default_attention_slice if self.attention_slice_calculated_callback is not None: - self.attention_slice_calculated_callback( - attention_slice, dim, offset, slice_size - ) + self.attention_slice_calculated_callback(attention_slice, dim, offset, slice_size) hidden_states = torch.bmm(attention_slice, value) return hidden_states def einsum_op_slice_dim0(self, q, k, v, slice_size): - r = torch.zeros( - q.shape[0], q.shape[1], v.shape[2], device=q.device, dtype=q.dtype - ) + r = torch.zeros(q.shape[0], q.shape[1], v.shape[2], device=q.device, dtype=q.dtype) for i in range(0, q.shape[0], slice_size): end = i + slice_size - r[i:end] = self.einsum_lowest_level( - q[i:end], k[i:end], v[i:end], dim=0, offset=i, slice_size=slice_size - ) + r[i:end] = self.einsum_lowest_level(q[i:end], k[i:end], v[i:end], dim=0, offset=i, slice_size=slice_size) return r def einsum_op_slice_dim1(self, q, k, v, slice_size): - r = torch.zeros( - q.shape[0], q.shape[1], v.shape[2], device=q.device, dtype=q.dtype - ) + r = torch.zeros(q.shape[0], q.shape[1], v.shape[2], device=q.device, dtype=q.dtype) for i in range(0, q.shape[1], slice_size): end = i + slice_size - r[:, i:end] = self.einsum_lowest_level( - q[:, i:end], k, v, dim=1, offset=i, slice_size=slice_size - ) + r[:, i:end] = self.einsum_lowest_level(q[:, i:end], k, v, dim=1, offset=i, slice_size=slice_size) return r def einsum_op_mps_v1(self, q, k, v): @@ -353,6 +320,7 @@ def restore_default_cross_attention( else: remove_attention_function(model) + def setup_cross_attention_control_attention_processors(unet: UNet2DConditionModel, context: Context): """ Inject attention parameters and functions into the passed in model to enable cross attention editing. @@ -372,7 +340,7 @@ def setup_cross_attention_control_attention_processors(unet: UNet2DConditionMode indices = torch.arange(max_length, dtype=torch.long) for name, a0, a1, b0, b1 in context.arguments.edit_opcodes: if b0 < max_length: - if name == "equal":# or (name == "replace" and a1 - a0 == b1 - b0): + if name == "equal": # or (name == "replace" and a1 - a0 == b1 - b0): # these tokens have not been edited indices[b0:b1] = indices_target[a0:a1] mask[b0:b1] = 1 @@ -386,16 +354,14 @@ def setup_cross_attention_control_attention_processors(unet: UNet2DConditionMode else: # try to re-use an existing slice size default_slice_size = 4 - slice_size = next((p.slice_size for p in old_attn_processors.values() if type(p) is SlicedAttnProcessor), default_slice_size) + slice_size = next( + (p.slice_size for p in old_attn_processors.values() if type(p) is SlicedAttnProcessor), default_slice_size + ) unet.set_attn_processor(SlicedSwapCrossAttnProcesser(slice_size=slice_size)) -def get_cross_attention_modules( - model, which: CrossAttentionType -) -> list[tuple[str, InvokeAICrossAttentionMixin]]: - cross_attention_class: type = ( - InvokeAIDiffusersCrossAttention - ) +def get_cross_attention_modules(model, which: CrossAttentionType) -> list[tuple[str, InvokeAICrossAttentionMixin]]: + cross_attention_class: type = InvokeAIDiffusersCrossAttention which_attn = "attn1" if which is CrossAttentionType.SELF else "attn2" attention_module_tuples = [ (name, module) @@ -420,9 +386,7 @@ def get_cross_attention_modules( def inject_attention_function(unet, context: Context): # ORIGINAL SOURCE CODE: https://github.com/huggingface/diffusers/blob/91ddd2a25b848df0fa1262d4f1cd98c7ccb87750/src/diffusers/models/attention.py#L276 - def attention_slice_wrangler( - module, suggested_attention_slice: torch.Tensor, dim, offset, slice_size - ): + def attention_slice_wrangler(module, suggested_attention_slice: torch.Tensor, dim, offset, slice_size): # memory_usage = suggested_attention_slice.element_size() * suggested_attention_slice.nelement() attention_slice = suggested_attention_slice @@ -430,9 +394,7 @@ def inject_attention_function(unet, context: Context): if context.get_should_save_maps(module.identifier): # print(module.identifier, "saving suggested_attention_slice of shape", # suggested_attention_slice.shape, "dim", dim, "offset", offset) - slice_to_save = ( - attention_slice.to("cpu") if dim is not None else attention_slice - ) + slice_to_save = attention_slice.to("cpu") if dim is not None else attention_slice context.save_slice( module.identifier, slice_to_save, @@ -442,31 +404,20 @@ def inject_attention_function(unet, context: Context): ) elif context.get_should_apply_saved_maps(module.identifier): # print(module.identifier, "applying saved attention slice for dim", dim, "offset", offset) - saved_attention_slice = context.get_slice( - module.identifier, dim, offset, slice_size - ) + saved_attention_slice = context.get_slice(module.identifier, dim, offset, slice_size) # slice may have been offloaded to CPU - saved_attention_slice = saved_attention_slice.to( - suggested_attention_slice.device - ) + saved_attention_slice = saved_attention_slice.to(suggested_attention_slice.device) if context.is_tokens_cross_attention(module.identifier): index_map = context.cross_attention_index_map - remapped_saved_attention_slice = torch.index_select( - saved_attention_slice, -1, index_map - ) + remapped_saved_attention_slice = torch.index_select(saved_attention_slice, -1, index_map) this_attention_slice = suggested_attention_slice - mask = context.cross_attention_mask.to( - torch_dtype(suggested_attention_slice.device) - ) + mask = context.cross_attention_mask.to(torch_dtype(suggested_attention_slice.device)) saved_mask = mask this_mask = 1 - mask - attention_slice = ( - remapped_saved_attention_slice * saved_mask - + this_attention_slice * this_mask - ) + attention_slice = remapped_saved_attention_slice * saved_mask + this_attention_slice * this_mask else: # just use everything attention_slice = saved_attention_slice @@ -480,14 +431,10 @@ def inject_attention_function(unet, context: Context): module.identifier = identifier try: module.set_attention_slice_wrangler(attention_slice_wrangler) - module.set_slicing_strategy_getter( - lambda module: context.get_slicing_strategy(identifier) - ) + module.set_slicing_strategy_getter(lambda module: context.get_slicing_strategy(identifier)) except AttributeError as e: if is_attribute_error_about(e, "set_attention_slice_wrangler"): - print( - f"TODO: implement set_attention_slice_wrangler for {type(module)}" - ) # TODO + print(f"TODO: implement set_attention_slice_wrangler for {type(module)}") # TODO else: raise @@ -503,9 +450,7 @@ def remove_attention_function(unet): module.set_slicing_strategy_getter(None) except AttributeError as e: if is_attribute_error_about(e, "set_attention_slice_wrangler"): - print( - f"TODO: implement set_attention_slice_wrangler for {type(module)}" - ) + print(f"TODO: implement set_attention_slice_wrangler for {type(module)}") else: raise @@ -530,9 +475,7 @@ def get_mem_free_total(device): return mem_free_total -class InvokeAIDiffusersCrossAttention( - diffusers.models.attention.Attention, InvokeAICrossAttentionMixin -): +class InvokeAIDiffusersCrossAttention(diffusers.models.attention.Attention, InvokeAICrossAttentionMixin): def __init__(self, **kwargs): super().__init__(**kwargs) InvokeAICrossAttentionMixin.__init__(self) @@ -641,11 +584,7 @@ class SlicedSwapCrossAttnProcesser(SlicedAttnProcessor): # kwargs swap_cross_attn_context: SwapCrossAttnContext = None, ): - attention_type = ( - CrossAttentionType.SELF - if encoder_hidden_states is None - else CrossAttentionType.TOKENS - ) + attention_type = CrossAttentionType.SELF if encoder_hidden_states is None else CrossAttentionType.TOKENS # if cross-attention control is not in play, just call through to the base implementation. if ( @@ -654,9 +593,7 @@ class SlicedSwapCrossAttnProcesser(SlicedAttnProcessor): or not swap_cross_attn_context.wants_cross_attention_control(attention_type) ): # print(f"SwapCrossAttnContext for {attention_type} not active - passing request to superclass") - return super().__call__( - attn, hidden_states, encoder_hidden_states, attention_mask - ) + return super().__call__(attn, hidden_states, encoder_hidden_states, attention_mask) # else: # print(f"SwapCrossAttnContext for {attention_type} active") @@ -699,18 +636,10 @@ class SlicedSwapCrossAttnProcesser(SlicedAttnProcessor): query_slice = query[start_idx:end_idx] original_key_slice = original_text_key[start_idx:end_idx] modified_key_slice = modified_text_key[start_idx:end_idx] - attn_mask_slice = ( - attention_mask[start_idx:end_idx] - if attention_mask is not None - else None - ) + attn_mask_slice = attention_mask[start_idx:end_idx] if attention_mask is not None else None - original_attn_slice = attn.get_attention_scores( - query_slice, original_key_slice, attn_mask_slice - ) - modified_attn_slice = attn.get_attention_scores( - query_slice, modified_key_slice, attn_mask_slice - ) + original_attn_slice = attn.get_attention_scores(query_slice, original_key_slice, attn_mask_slice) + modified_attn_slice = attn.get_attention_scores(query_slice, modified_key_slice, attn_mask_slice) # because the prompt modifications may result in token sequences shifted forwards or backwards, # the original attention probabilities must be remapped to account for token index changes in the @@ -722,9 +651,7 @@ class SlicedSwapCrossAttnProcesser(SlicedAttnProcessor): # only some tokens taken from the original attention probabilities. this is controlled by the mask. mask = swap_cross_attn_context.mask inverse_mask = 1 - mask - attn_slice = ( - remapped_original_attn_slice * mask + modified_attn_slice * inverse_mask - ) + attn_slice = remapped_original_attn_slice * mask + modified_attn_slice * inverse_mask del remapped_original_attn_slice, modified_attn_slice @@ -744,6 +671,4 @@ class SlicedSwapCrossAttnProcesser(SlicedAttnProcessor): class SwapCrossAttnProcessor(SlicedSwapCrossAttnProcesser): def __init__(self): - super(SwapCrossAttnProcessor, self).__init__( - slice_size=int(1e9) - ) # massive slice size = don't slice + super(SwapCrossAttnProcessor, self).__init__(slice_size=int(1e9)) # massive slice size = don't slice diff --git a/invokeai/backend/stable_diffusion/diffusion/cross_attention_map_saving.py b/invokeai/backend/stable_diffusion/diffusion/cross_attention_map_saving.py index c489c2f0a9..b0174a455e 100644 --- a/invokeai/backend/stable_diffusion/diffusion/cross_attention_map_saving.py +++ b/invokeai/backend/stable_diffusion/diffusion/cross_attention_map_saving.py @@ -59,9 +59,7 @@ class AttentionMapSaver: for key, maps in self.collated_maps.items(): # maps has shape [(H*W), N] for N tokens # but we want [N, H, W] - this_scale_factor = math.sqrt( - maps.shape[0] / (latents_width * latents_height) - ) + this_scale_factor = math.sqrt(maps.shape[0] / (latents_width * latents_height)) this_maps_height = int(float(latents_height) * this_scale_factor) this_maps_width = int(float(latents_width) * this_scale_factor) # and we need to do some dimension juggling @@ -72,9 +70,7 @@ class AttentionMapSaver: # scale to output size if necessary if this_scale_factor != 1: - maps = tv_resize( - maps, [latents_height, latents_width], InterpolationMode.BICUBIC - ) + maps = tv_resize(maps, [latents_height, latents_width], InterpolationMode.BICUBIC) # normalize maps_min = torch.min(maps) @@ -83,9 +79,7 @@ class AttentionMapSaver: maps_normalized = (maps - maps_min) / maps_range # expand to (-0.1, 1.1) and clamp maps_normalized_expanded = maps_normalized * 1.1 - 0.05 - maps_normalized_expanded_clamped = torch.clamp( - maps_normalized_expanded, 0, 1 - ) + maps_normalized_expanded_clamped = torch.clamp(maps_normalized_expanded, 0, 1) # merge together, producing a vertical stack maps_stacked = torch.reshape( diff --git a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py index f44578cd47..272518e928 100644 --- a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +++ b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py @@ -31,6 +31,7 @@ ModelForwardCallback: TypeAlias = Union[ Callable[[torch.Tensor, torch.Tensor, torch.Tensor], torch.Tensor], ] + @dataclass(frozen=True) class PostprocessingSettings: threshold: float @@ -81,14 +82,12 @@ class InvokeAIDiffuserComponent: @contextmanager def custom_attention_context( cls, - unet: UNet2DConditionModel, # note: also may futz with the text encoder depending on requested LoRAs + unet: UNet2DConditionModel, # note: also may futz with the text encoder depending on requested LoRAs extra_conditioning_info: Optional[ExtraConditioningInfo], - step_count: int + step_count: int, ): old_attn_processors = None - if extra_conditioning_info and ( - extra_conditioning_info.wants_cross_attention_control - ): + if extra_conditioning_info and (extra_conditioning_info.wants_cross_attention_control): old_attn_processors = unet.attn_processors # Load lora conditions into the model if extra_conditioning_info.wants_cross_attention_control: @@ -116,27 +115,15 @@ class InvokeAIDiffuserComponent: return saver.add_attention_maps(slice, key) - tokens_cross_attention_modules = get_cross_attention_modules( - self.model, CrossAttentionType.TOKENS - ) + tokens_cross_attention_modules = get_cross_attention_modules(self.model, CrossAttentionType.TOKENS) for identifier, module in tokens_cross_attention_modules: - key = ( - "down" - if identifier.startswith("down") - else "up" - if identifier.startswith("up") - else "mid" - ) + key = "down" if identifier.startswith("down") else "up" if identifier.startswith("up") else "mid" module.set_attention_slice_calculated_callback( - lambda slice, dim, offset, slice_size, key=key: callback( - slice, dim, offset, slice_size, key - ) + lambda slice, dim, offset, slice_size, key=key: callback(slice, dim, offset, slice_size, key) ) def remove_attention_map_saving(self): - tokens_cross_attention_modules = get_cross_attention_modules( - self.model, CrossAttentionType.TOKENS - ) + tokens_cross_attention_modules = get_cross_attention_modules(self.model, CrossAttentionType.TOKENS) for _, module in tokens_cross_attention_modules: module.set_attention_slice_calculated_callback(None) @@ -171,10 +158,8 @@ class InvokeAIDiffuserComponent: context: Context = self.cross_attention_control_context if self.cross_attention_control_context is not None: percent_through = step_index / total_step_count - cross_attention_control_types_to_do = ( - context.get_active_cross_attention_control_types_for_step( - percent_through - ) + cross_attention_control_types_to_do = context.get_active_cross_attention_control_types_for_step( + percent_through ) wants_cross_attention_control = len(cross_attention_control_types_to_do) > 0 @@ -182,7 +167,11 @@ class InvokeAIDiffuserComponent: if wants_hybrid_conditioning: unconditioned_next_x, conditioned_next_x = self._apply_hybrid_conditioning( - x, sigma, unconditioning, conditioning, **kwargs, + x, + sigma, + unconditioning, + conditioning, + **kwargs, ) elif wants_cross_attention_control: ( @@ -201,7 +190,11 @@ class InvokeAIDiffuserComponent: unconditioned_next_x, conditioned_next_x, ) = self._apply_standard_conditioning_sequentially( - x, sigma, unconditioning, conditioning, **kwargs, + x, + sigma, + unconditioning, + conditioning, + **kwargs, ) else: @@ -209,12 +202,18 @@ class InvokeAIDiffuserComponent: unconditioned_next_x, conditioned_next_x, ) = self._apply_standard_conditioning( - x, sigma, unconditioning, conditioning, **kwargs, + x, + sigma, + unconditioning, + conditioning, + **kwargs, ) combined_next_x = self._combine( # unconditioned_next_x, conditioned_next_x, unconditional_guidance_scale - unconditioned_next_x, conditioned_next_x, guidance_scale + unconditioned_next_x, + conditioned_next_x, + guidance_scale, ) return combined_next_x @@ -229,37 +228,47 @@ class InvokeAIDiffuserComponent: ) -> torch.Tensor: if postprocessing_settings is not None: percent_through = step_index / total_step_count - latents = self.apply_threshold( - postprocessing_settings, latents, percent_through - ) - latents = self.apply_symmetry( - postprocessing_settings, latents, percent_through - ) + latents = self.apply_threshold(postprocessing_settings, latents, percent_through) + latents = self.apply_symmetry(postprocessing_settings, latents, percent_through) return latents def _concat_conditionings_for_batch(self, unconditioning, conditioning): def _pad_conditioning(cond, target_len, encoder_attention_mask): - conditioning_attention_mask = torch.ones((cond.shape[0], cond.shape[1]), device=cond.device, dtype=cond.dtype) + conditioning_attention_mask = torch.ones( + (cond.shape[0], cond.shape[1]), device=cond.device, dtype=cond.dtype + ) if cond.shape[1] < max_len: - conditioning_attention_mask = torch.cat([ - conditioning_attention_mask, - torch.zeros((cond.shape[0], max_len - cond.shape[1]), device=cond.device, dtype=cond.dtype), - ], dim=1) + conditioning_attention_mask = torch.cat( + [ + conditioning_attention_mask, + torch.zeros((cond.shape[0], max_len - cond.shape[1]), device=cond.device, dtype=cond.dtype), + ], + dim=1, + ) - cond = torch.cat([ - cond, - torch.zeros((cond.shape[0], max_len - cond.shape[1], cond.shape[2]), device=cond.device, dtype=cond.dtype), - ], dim=1) + cond = torch.cat( + [ + cond, + torch.zeros( + (cond.shape[0], max_len - cond.shape[1], cond.shape[2]), + device=cond.device, + dtype=cond.dtype, + ), + ], + dim=1, + ) if encoder_attention_mask is None: encoder_attention_mask = conditioning_attention_mask else: - encoder_attention_mask = torch.cat([ - encoder_attention_mask, - conditioning_attention_mask, - ]) - + encoder_attention_mask = torch.cat( + [ + encoder_attention_mask, + conditioning_attention_mask, + ] + ) + return cond, encoder_attention_mask encoder_attention_mask = None @@ -277,11 +286,11 @@ class InvokeAIDiffuserComponent: x_twice = torch.cat([x] * 2) sigma_twice = torch.cat([sigma] * 2) - both_conditionings, encoder_attention_mask = self._concat_conditionings_for_batch( - unconditioning, conditioning - ) + both_conditionings, encoder_attention_mask = self._concat_conditionings_for_batch(unconditioning, conditioning) both_results = self.model_forward_callback( - x_twice, sigma_twice, both_conditionings, + x_twice, + sigma_twice, + both_conditionings, encoder_attention_mask=encoder_attention_mask, **kwargs, ) @@ -312,13 +321,17 @@ class InvokeAIDiffuserComponent: uncond_mid_block, cond_mid_block = mid_block_additional_residual.chunk(2) unconditioned_next_x = self.model_forward_callback( - x, sigma, unconditioning, + x, + sigma, + unconditioning, down_block_additional_residuals=uncond_down_block, mid_block_additional_residual=uncond_mid_block, **kwargs, ) conditioned_next_x = self.model_forward_callback( - x, sigma, conditioning, + x, + sigma, + conditioning, down_block_additional_residuals=cond_down_block, mid_block_additional_residual=cond_mid_block, **kwargs, @@ -335,13 +348,15 @@ class InvokeAIDiffuserComponent: for k in conditioning: if isinstance(conditioning[k], list): both_conditionings[k] = [ - torch.cat([unconditioning[k][i], conditioning[k][i]]) - for i in range(len(conditioning[k])) + torch.cat([unconditioning[k][i], conditioning[k][i]]) for i in range(len(conditioning[k])) ] else: both_conditionings[k] = torch.cat([unconditioning[k], conditioning[k]]) unconditioned_next_x, conditioned_next_x = self.model_forward_callback( - x_twice, sigma_twice, both_conditionings, **kwargs, + x_twice, + sigma_twice, + both_conditionings, + **kwargs, ).chunk(2) return unconditioned_next_x, conditioned_next_x @@ -388,9 +403,7 @@ class InvokeAIDiffuserComponent: ) # do requested cross attention types for conditioning (positive prompt) - cross_attn_processor_context.cross_attention_types_to_do = ( - cross_attention_control_types_to_do - ) + cross_attn_processor_context.cross_attention_types_to_do = cross_attention_control_types_to_do conditioned_next_x = self.model_forward_callback( x, sigma, @@ -414,19 +427,14 @@ class InvokeAIDiffuserComponent: latents: torch.Tensor, percent_through: float, ) -> torch.Tensor: - if ( - postprocessing_settings.threshold is None - or postprocessing_settings.threshold == 0.0 - ): + if postprocessing_settings.threshold is None or postprocessing_settings.threshold == 0.0: return latents threshold = postprocessing_settings.threshold warmup = postprocessing_settings.warmup if percent_through < warmup: - current_threshold = threshold + threshold * 5 * ( - 1 - (percent_through / warmup) - ) + current_threshold = threshold + threshold * 5 * (1 - (percent_through / warmup)) else: current_threshold = threshold @@ -440,18 +448,10 @@ class InvokeAIDiffuserComponent: if self.debug_thresholding: std, mean = [i.item() for i in torch.std_mean(latents)] - outside = torch.count_nonzero( - (latents < -current_threshold) | (latents > current_threshold) - ) - logger.info( - f"Threshold: %={percent_through} threshold={current_threshold:.3f} (of {threshold:.3f})" - ) - logger.debug( - f"min, mean, max = {minval:.3f}, {mean:.3f}, {maxval:.3f}\tstd={std}" - ) - logger.debug( - f"{outside / latents.numel() * 100:.2f}% values outside threshold" - ) + outside = torch.count_nonzero((latents < -current_threshold) | (latents > current_threshold)) + logger.info(f"Threshold: %={percent_through} threshold={current_threshold:.3f} (of {threshold:.3f})") + logger.debug(f"min, mean, max = {minval:.3f}, {mean:.3f}, {maxval:.3f}\tstd={std}") + logger.debug(f"{outside / latents.numel() * 100:.2f}% values outside threshold") if maxval < current_threshold and minval > -current_threshold: return latents @@ -464,25 +464,17 @@ class InvokeAIDiffuserComponent: latents = torch.clone(latents) maxval = np.clip(maxval * scale, 1, current_threshold) num_altered += torch.count_nonzero(latents > maxval) - latents[latents > maxval] = ( - torch.rand_like(latents[latents > maxval]) * maxval - ) + latents[latents > maxval] = torch.rand_like(latents[latents > maxval]) * maxval if minval < -current_threshold: latents = torch.clone(latents) minval = np.clip(minval * scale, -current_threshold, -1) num_altered += torch.count_nonzero(latents < minval) - latents[latents < minval] = ( - torch.rand_like(latents[latents < minval]) * minval - ) + latents[latents < minval] = torch.rand_like(latents[latents < minval]) * minval if self.debug_thresholding: - logger.debug( - f"min, , max = {minval:.3f}, , {maxval:.3f}\t(scaled by {scale})" - ) - logger.debug( - f"{num_altered / latents.numel() * 100:.2f}% values altered" - ) + logger.debug(f"min, , max = {minval:.3f}, , {maxval:.3f}\t(scaled by {scale})") + logger.debug(f"{num_altered / latents.numel() * 100:.2f}% values altered") return latents @@ -501,15 +493,11 @@ class InvokeAIDiffuserComponent: # Check for out of bounds h_symmetry_time_pct = postprocessing_settings.h_symmetry_time_pct - if h_symmetry_time_pct is not None and ( - h_symmetry_time_pct <= 0.0 or h_symmetry_time_pct > 1.0 - ): + if h_symmetry_time_pct is not None and (h_symmetry_time_pct <= 0.0 or h_symmetry_time_pct > 1.0): h_symmetry_time_pct = None v_symmetry_time_pct = postprocessing_settings.v_symmetry_time_pct - if v_symmetry_time_pct is not None and ( - v_symmetry_time_pct <= 0.0 or v_symmetry_time_pct > 1.0 - ): + if v_symmetry_time_pct is not None and (v_symmetry_time_pct <= 0.0 or v_symmetry_time_pct > 1.0): v_symmetry_time_pct = None dev = latents.device.type @@ -554,9 +542,7 @@ class InvokeAIDiffuserComponent: def estimate_percent_through(self, step_index, sigma): if step_index is not None and self.cross_attention_control_context is not None: # percent_through will never reach 1.0 (but this is intended) - return float(step_index) / float( - self.cross_attention_control_context.step_count - ) + return float(step_index) / float(self.cross_attention_control_context.step_count) # find the best possible index of the current sigma in the sigma sequence smaller_sigmas = torch.nonzero(self.model.sigmas <= sigma) sigma_index = smaller_sigmas[-1].item() if smaller_sigmas.shape[0] > 0 else 0 @@ -567,19 +553,13 @@ class InvokeAIDiffuserComponent: # todo: make this work @classmethod - def apply_conjunction( - cls, x, t, forward_func, uc, c_or_weighted_c_list, global_guidance_scale - ): + def apply_conjunction(cls, x, t, forward_func, uc, c_or_weighted_c_list, global_guidance_scale): x_in = torch.cat([x] * 2) t_in = torch.cat([t] * 2) # aka sigmas deltas = None uncond_latents = None - weighted_cond_list = ( - c_or_weighted_c_list - if type(c_or_weighted_c_list) is list - else [(c_or_weighted_c_list, 1)] - ) + weighted_cond_list = c_or_weighted_c_list if type(c_or_weighted_c_list) is list else [(c_or_weighted_c_list, 1)] # below is fugly omg conditionings = [uc] + [c for c, weight in weighted_cond_list] @@ -608,15 +588,11 @@ class InvokeAIDiffuserComponent: deltas = torch.cat((deltas, latents_b - uncond_latents)) # merge the weighted deltas together into a single merged delta - per_delta_weights = torch.tensor( - weights[1:], dtype=deltas.dtype, device=deltas.device - ) + per_delta_weights = torch.tensor(weights[1:], dtype=deltas.dtype, device=deltas.device) normalize = False if normalize: per_delta_weights /= torch.sum(per_delta_weights) - reshaped_weights = per_delta_weights.reshape( - per_delta_weights.shape + (1, 1, 1) - ) + reshaped_weights = per_delta_weights.reshape(per_delta_weights.shape + (1, 1, 1)) deltas_merged = torch.sum(deltas * reshaped_weights, dim=0, keepdim=True) # old_return_value = super().forward(x, sigma, uncond, cond, cond_scale) diff --git a/invokeai/backend/stable_diffusion/image_degradation/bsrgan.py b/invokeai/backend/stable_diffusion/image_degradation/bsrgan.py index 1760206073..493c8be781 100644 --- a/invokeai/backend/stable_diffusion/image_degradation/bsrgan.py +++ b/invokeai/backend/stable_diffusion/image_degradation/bsrgan.py @@ -261,9 +261,7 @@ def srmd_degradation(x, k, sf=3): year={2018} } """ - x = ndimage.filters.convolve( - x, np.expand_dims(k, axis=2), mode="wrap" - ) # 'nearest' | 'mirror' + x = ndimage.filters.convolve(x, np.expand_dims(k, axis=2), mode="wrap") # 'nearest' | 'mirror' x = bicubic_degradation(x, sf=sf) return x @@ -389,21 +387,15 @@ def add_Gaussian_noise(img, noise_level1=2, noise_level2=25): noise_level = random.randint(noise_level1, noise_level2) rnum = np.random.rand() if rnum > 0.6: # add color Gaussian noise - img = img + np.random.normal(0, noise_level / 255.0, img.shape).astype( - np.float32 - ) + img = img + np.random.normal(0, noise_level / 255.0, img.shape).astype(np.float32) elif rnum < 0.4: # add grayscale Gaussian noise - img = img + np.random.normal( - 0, noise_level / 255.0, (*img.shape[:2], 1) - ).astype(np.float32) + img = img + np.random.normal(0, noise_level / 255.0, (*img.shape[:2], 1)).astype(np.float32) else: # add noise L = noise_level2 / 255.0 D = np.diag(np.random.rand(3)) U = orth(np.random.rand(3, 3)) conv = np.dot(np.dot(np.transpose(U), D), U) - img = img + np.random.multivariate_normal( - [0, 0, 0], np.abs(L**2 * conv), img.shape[:2] - ).astype(np.float32) + img = img + np.random.multivariate_normal([0, 0, 0], np.abs(L**2 * conv), img.shape[:2]).astype(np.float32) img = np.clip(img, 0.0, 1.0) return img @@ -413,21 +405,15 @@ def add_speckle_noise(img, noise_level1=2, noise_level2=25): img = np.clip(img, 0.0, 1.0) rnum = random.random() if rnum > 0.6: - img += img * np.random.normal(0, noise_level / 255.0, img.shape).astype( - np.float32 - ) + img += img * np.random.normal(0, noise_level / 255.0, img.shape).astype(np.float32) elif rnum < 0.4: - img += img * np.random.normal( - 0, noise_level / 255.0, (*img.shape[:2], 1) - ).astype(np.float32) + img += img * np.random.normal(0, noise_level / 255.0, (*img.shape[:2], 1)).astype(np.float32) else: L = noise_level2 / 255.0 D = np.diag(np.random.rand(3)) U = orth(np.random.rand(3, 3)) conv = np.dot(np.dot(np.transpose(U), D), U) - img += img * np.random.multivariate_normal( - [0, 0, 0], np.abs(L**2 * conv), img.shape[:2] - ).astype(np.float32) + img += img * np.random.multivariate_normal([0, 0, 0], np.abs(L**2 * conv), img.shape[:2]).astype(np.float32) img = np.clip(img, 0.0, 1.0) return img @@ -440,9 +426,7 @@ def add_Poisson_noise(img): else: img_gray = np.dot(img[..., :3], [0.299, 0.587, 0.114]) img_gray = np.clip((img_gray * 255.0).round(), 0, 255) / 255.0 - noise_gray = ( - np.random.poisson(img_gray * vals).astype(np.float32) / vals - img_gray - ) + noise_gray = np.random.poisson(img_gray * vals).astype(np.float32) / vals - img_gray img += noise_gray[:, :, np.newaxis] img = np.clip(img, 0.0, 1.0) return img @@ -451,9 +435,7 @@ def add_Poisson_noise(img): def add_JPEG_noise(img): quality_factor = random.randint(30, 95) img = cv2.cvtColor(util.single2uint(img), cv2.COLOR_RGB2BGR) - result, encimg = cv2.imencode( - ".jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), quality_factor] - ) + result, encimg = cv2.imencode(".jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), quality_factor]) img = cv2.imdecode(encimg, 1) img = cv2.cvtColor(util.uint2single(img), cv2.COLOR_BGR2RGB) return img @@ -540,9 +522,7 @@ def degradation_bsrgan(img, sf=4, lq_patchsize=72, isp_model=None): k = fspecial("gaussian", 25, random.uniform(0.1, 0.6 * sf)) k_shifted = shift_pixel(k, sf) k_shifted = k_shifted / k_shifted.sum() # blur with shifted kernel - img = ndimage.filters.convolve( - img, np.expand_dims(k_shifted, axis=2), mode="mirror" - ) + img = ndimage.filters.convolve(img, np.expand_dims(k_shifted, axis=2), mode="mirror") img = img[0::sf, 0::sf, ...] # nearest downsampling img = np.clip(img, 0.0, 1.0) @@ -646,9 +626,7 @@ def degradation_bsrgan_variant(image, sf=4, isp_model=None): k = fspecial("gaussian", 25, random.uniform(0.1, 0.6 * sf)) k_shifted = shift_pixel(k, sf) k_shifted = k_shifted / k_shifted.sum() # blur with shifted kernel - image = ndimage.filters.convolve( - image, np.expand_dims(k_shifted, axis=2), mode="mirror" - ) + image = ndimage.filters.convolve(image, np.expand_dims(k_shifted, axis=2), mode="mirror") image = image[0::sf, 0::sf, ...] # nearest downsampling image = np.clip(image, 0.0, 1.0) @@ -796,9 +774,7 @@ if __name__ == "__main__": print(i) img_lq = deg_fn(img) print(img_lq) - img_lq_bicubic = albumentations.SmallestMaxSize( - max_size=h, interpolation=cv2.INTER_CUBIC - )(image=img)["image"] + img_lq_bicubic = albumentations.SmallestMaxSize(max_size=h, interpolation=cv2.INTER_CUBIC)(image=img)["image"] print(img_lq.shape) print("bicubic", img_lq_bicubic.shape) print(img_hq.shape) @@ -812,7 +788,5 @@ if __name__ == "__main__": (int(sf * img_lq.shape[1]), int(sf * img_lq.shape[0])), interpolation=0, ) - img_concat = np.concatenate( - [lq_bicubic_nearest, lq_nearest, util.single2uint(img_hq)], axis=1 - ) + img_concat = np.concatenate([lq_bicubic_nearest, lq_nearest, util.single2uint(img_hq)], axis=1) util.imsave(img_concat, str(i) + ".png") diff --git a/invokeai/backend/stable_diffusion/image_degradation/bsrgan_light.py b/invokeai/backend/stable_diffusion/image_degradation/bsrgan_light.py index 1e8eee82b5..d0e0abadbc 100644 --- a/invokeai/backend/stable_diffusion/image_degradation/bsrgan_light.py +++ b/invokeai/backend/stable_diffusion/image_degradation/bsrgan_light.py @@ -261,9 +261,7 @@ def srmd_degradation(x, k, sf=3): year={2018} } """ - x = ndimage.filters.convolve( - x, np.expand_dims(k, axis=2), mode="wrap" - ) # 'nearest' | 'mirror' + x = ndimage.filters.convolve(x, np.expand_dims(k, axis=2), mode="wrap") # 'nearest' | 'mirror' x = bicubic_degradation(x, sf=sf) return x @@ -393,21 +391,15 @@ def add_Gaussian_noise(img, noise_level1=2, noise_level2=25): noise_level = random.randint(noise_level1, noise_level2) rnum = np.random.rand() if rnum > 0.6: # add color Gaussian noise - img = img + np.random.normal(0, noise_level / 255.0, img.shape).astype( - np.float32 - ) + img = img + np.random.normal(0, noise_level / 255.0, img.shape).astype(np.float32) elif rnum < 0.4: # add grayscale Gaussian noise - img = img + np.random.normal( - 0, noise_level / 255.0, (*img.shape[:2], 1) - ).astype(np.float32) + img = img + np.random.normal(0, noise_level / 255.0, (*img.shape[:2], 1)).astype(np.float32) else: # add noise L = noise_level2 / 255.0 D = np.diag(np.random.rand(3)) U = orth(np.random.rand(3, 3)) conv = np.dot(np.dot(np.transpose(U), D), U) - img = img + np.random.multivariate_normal( - [0, 0, 0], np.abs(L**2 * conv), img.shape[:2] - ).astype(np.float32) + img = img + np.random.multivariate_normal([0, 0, 0], np.abs(L**2 * conv), img.shape[:2]).astype(np.float32) img = np.clip(img, 0.0, 1.0) return img @@ -417,21 +409,15 @@ def add_speckle_noise(img, noise_level1=2, noise_level2=25): img = np.clip(img, 0.0, 1.0) rnum = random.random() if rnum > 0.6: - img += img * np.random.normal(0, noise_level / 255.0, img.shape).astype( - np.float32 - ) + img += img * np.random.normal(0, noise_level / 255.0, img.shape).astype(np.float32) elif rnum < 0.4: - img += img * np.random.normal( - 0, noise_level / 255.0, (*img.shape[:2], 1) - ).astype(np.float32) + img += img * np.random.normal(0, noise_level / 255.0, (*img.shape[:2], 1)).astype(np.float32) else: L = noise_level2 / 255.0 D = np.diag(np.random.rand(3)) U = orth(np.random.rand(3, 3)) conv = np.dot(np.dot(np.transpose(U), D), U) - img += img * np.random.multivariate_normal( - [0, 0, 0], np.abs(L**2 * conv), img.shape[:2] - ).astype(np.float32) + img += img * np.random.multivariate_normal([0, 0, 0], np.abs(L**2 * conv), img.shape[:2]).astype(np.float32) img = np.clip(img, 0.0, 1.0) return img @@ -444,9 +430,7 @@ def add_Poisson_noise(img): else: img_gray = np.dot(img[..., :3], [0.299, 0.587, 0.114]) img_gray = np.clip((img_gray * 255.0).round(), 0, 255) / 255.0 - noise_gray = ( - np.random.poisson(img_gray * vals).astype(np.float32) / vals - img_gray - ) + noise_gray = np.random.poisson(img_gray * vals).astype(np.float32) / vals - img_gray img += noise_gray[:, :, np.newaxis] img = np.clip(img, 0.0, 1.0) return img @@ -455,9 +439,7 @@ def add_Poisson_noise(img): def add_JPEG_noise(img): quality_factor = random.randint(80, 95) img = cv2.cvtColor(util.single2uint(img), cv2.COLOR_RGB2BGR) - result, encimg = cv2.imencode( - ".jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), quality_factor] - ) + result, encimg = cv2.imencode(".jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), quality_factor]) img = cv2.imdecode(encimg, 1) img = cv2.cvtColor(util.uint2single(img), cv2.COLOR_BGR2RGB) return img @@ -544,9 +526,7 @@ def degradation_bsrgan(img, sf=4, lq_patchsize=72, isp_model=None): k = fspecial("gaussian", 25, random.uniform(0.1, 0.6 * sf)) k_shifted = shift_pixel(k, sf) k_shifted = k_shifted / k_shifted.sum() # blur with shifted kernel - img = ndimage.filters.convolve( - img, np.expand_dims(k_shifted, axis=2), mode="mirror" - ) + img = ndimage.filters.convolve(img, np.expand_dims(k_shifted, axis=2), mode="mirror") img = img[0::sf, 0::sf, ...] # nearest downsampling img = np.clip(img, 0.0, 1.0) @@ -653,9 +633,7 @@ def degradation_bsrgan_variant(image, sf=4, isp_model=None): k = fspecial("gaussian", 25, random.uniform(0.1, 0.6 * sf)) k_shifted = shift_pixel(k, sf) k_shifted = k_shifted / k_shifted.sum() # blur with shifted kernel - image = ndimage.filters.convolve( - image, np.expand_dims(k_shifted, axis=2), mode="mirror" - ) + image = ndimage.filters.convolve(image, np.expand_dims(k_shifted, axis=2), mode="mirror") image = image[0::sf, 0::sf, ...] # nearest downsampling image = np.clip(image, 0.0, 1.0) @@ -705,9 +683,9 @@ if __name__ == "__main__": img_lq = deg_fn(img)["image"] img_hq, img_lq = util.uint2single(img_hq), util.uint2single(img_lq) print(img_lq) - img_lq_bicubic = albumentations.SmallestMaxSize( - max_size=h, interpolation=cv2.INTER_CUBIC - )(image=img_hq)["image"] + img_lq_bicubic = albumentations.SmallestMaxSize(max_size=h, interpolation=cv2.INTER_CUBIC)(image=img_hq)[ + "image" + ] print(img_lq.shape) print("bicubic", img_lq_bicubic.shape) print(img_hq.shape) @@ -721,7 +699,5 @@ if __name__ == "__main__": (int(sf * img_lq.shape[1]), int(sf * img_lq.shape[0])), interpolation=0, ) - img_concat = np.concatenate( - [lq_bicubic_nearest, lq_nearest, util.single2uint(img_hq)], axis=1 - ) + img_concat = np.concatenate([lq_bicubic_nearest, lq_nearest, util.single2uint(img_hq)], axis=1) util.imsave(img_concat, str(i) + ".png") diff --git a/invokeai/backend/stable_diffusion/image_degradation/utils_image.py b/invokeai/backend/stable_diffusion/image_degradation/utils_image.py index c4d37a24bf..d45ca602e6 100644 --- a/invokeai/backend/stable_diffusion/image_degradation/utils_image.py +++ b/invokeai/backend/stable_diffusion/image_degradation/utils_image.py @@ -11,6 +11,7 @@ from torchvision.utils import make_grid # import matplotlib.pyplot as plt # TODO: check with Dominik, also bsrgan.py vs bsrgan_light.py import invokeai.backend.util.logging as logger + os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE" @@ -296,22 +297,14 @@ def single2uint16(img): def uint2tensor4(img): if img.ndim == 2: img = np.expand_dims(img, axis=2) - return ( - torch.from_numpy(np.ascontiguousarray(img)) - .permute(2, 0, 1) - .float() - .div(255.0) - .unsqueeze(0) - ) + return torch.from_numpy(np.ascontiguousarray(img)).permute(2, 0, 1).float().div(255.0).unsqueeze(0) # convert uint to 3-dimensional torch tensor def uint2tensor3(img): if img.ndim == 2: img = np.expand_dims(img, axis=2) - return ( - torch.from_numpy(np.ascontiguousarray(img)).permute(2, 0, 1).float().div(255.0) - ) + return torch.from_numpy(np.ascontiguousarray(img)).permute(2, 0, 1).float().div(255.0) # convert 2/3/4-dimensional torch tensor to uint @@ -334,12 +327,7 @@ def single2tensor3(img): # convert single (HxWxC) to 4-dimensional torch tensor def single2tensor4(img): - return ( - torch.from_numpy(np.ascontiguousarray(img)) - .permute(2, 0, 1) - .float() - .unsqueeze(0) - ) + return torch.from_numpy(np.ascontiguousarray(img)).permute(2, 0, 1).float().unsqueeze(0) # convert torch tensor to single @@ -362,12 +350,7 @@ def tensor2single3(img): def single2tensor5(img): - return ( - torch.from_numpy(np.ascontiguousarray(img)) - .permute(2, 0, 1, 3) - .float() - .unsqueeze(0) - ) + return torch.from_numpy(np.ascontiguousarray(img)).permute(2, 0, 1, 3).float().unsqueeze(0) def single32tensor5(img): @@ -385,9 +368,7 @@ def tensor2img(tensor, out_type=np.uint8, min_max=(0, 1)): Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default) """ - tensor = ( - tensor.squeeze().float().cpu().clamp_(*min_max) - ) # squeeze first, then clamp + tensor = tensor.squeeze().float().cpu().clamp_(*min_max) # squeeze first, then clamp tensor = (tensor - min_max[0]) / (min_max[1] - min_max[0]) # to range [0,1] n_dim = tensor.dim() if n_dim == 4: @@ -400,11 +381,7 @@ def tensor2img(tensor, out_type=np.uint8, min_max=(0, 1)): elif n_dim == 2: img_np = tensor.numpy() else: - raise TypeError( - "Only support 4D, 3D and 2D tensor. But received with dimension: {:d}".format( - n_dim - ) - ) + raise TypeError("Only support 4D, 3D and 2D tensor. But received with dimension: {:d}".format(n_dim)) if out_type == np.uint8: img_np = (img_np * 255.0).round() # Important. Unlike matlab, numpy.unit8() WILL NOT round by default. @@ -744,9 +721,7 @@ def ssim(img1, img2): sigma2_sq = cv2.filter2D(img2**2, -1, window)[5:-5, 5:-5] - mu2_sq sigma12 = cv2.filter2D(img1 * img2, -1, window)[5:-5, 5:-5] - mu1_mu2 - ssim_map = ((2 * mu1_mu2 + C1) * (2 * sigma12 + C2)) / ( - (mu1_sq + mu2_sq + C1) * (sigma1_sq + sigma2_sq + C2) - ) + ssim_map = ((2 * mu1_mu2 + C1) * (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * (sigma1_sq + sigma2_sq + C2)) return ssim_map.mean() @@ -767,9 +742,7 @@ def cubic(x): ) * (((absx > 1) * (absx <= 2)).type_as(absx)) -def calculate_weights_indices( - in_length, out_length, scale, kernel, kernel_width, antialiasing -): +def calculate_weights_indices(in_length, out_length, scale, kernel, kernel_width, antialiasing): if (scale < 1) and (antialiasing): # Use a modified kernel to simultaneously interpolate and antialias- larger kernel width kernel_width = kernel_width / scale @@ -793,9 +766,9 @@ def calculate_weights_indices( # The indices of the input pixels involved in computing the k-th output # pixel are in row k of the indices matrix. - indices = left.view(out_length, 1).expand(out_length, P) + torch.linspace( - 0, P - 1, P - ).view(1, P).expand(out_length, P) + indices = left.view(out_length, 1).expand(out_length, P) + torch.linspace(0, P - 1, P).view(1, P).expand( + out_length, P + ) # The weights used to compute the k-th output pixel are in row k of the # weights matrix. @@ -876,9 +849,7 @@ def imresize(img, scale, antialiasing=True): for i in range(out_H): idx = int(indices_H[i][0]) for j in range(out_C): - out_1[j, i, :] = ( - img_aug[j, idx : idx + kernel_width, :].transpose(0, 1).mv(weights_H[i]) - ) + out_1[j, i, :] = img_aug[j, idx : idx + kernel_width, :].transpose(0, 1).mv(weights_H[i]) # process W dimension # symmetric copying @@ -959,9 +930,7 @@ def imresize_np(img, scale, antialiasing=True): for i in range(out_H): idx = int(indices_H[i][0]) for j in range(out_C): - out_1[i, :, j] = ( - img_aug[idx : idx + kernel_width, :, j].transpose(0, 1).mv(weights_H[i]) - ) + out_1[i, :, j] = img_aug[idx : idx + kernel_width, :, j].transpose(0, 1).mv(weights_H[i]) # process W dimension # symmetric copying diff --git a/invokeai/backend/stable_diffusion/offloading.py b/invokeai/backend/stable_diffusion/offloading.py index d36b65872a..aa2426d514 100644 --- a/invokeai/backend/stable_diffusion/offloading.py +++ b/invokeai/backend/stable_diffusion/offloading.py @@ -95,10 +95,7 @@ class ModelGroup(metaclass=ABCMeta): pass def __repr__(self) -> str: - return ( - f"<{self.__class__.__name__} object at {id(self):x}: " - f"device={self.execution_device} >" - ) + return f"<{self.__class__.__name__} object at {id(self):x}: " f"device={self.execution_device} >" class LazilyLoadedModelGroup(ModelGroup): @@ -143,8 +140,7 @@ class LazilyLoadedModelGroup(ModelGroup): self.load(module) if len(forward_input) == 0: warnings.warn( - f"Hook for {module.__class__.__name__} got no input. " - f"Inputs must be positional, not keywords.", + f"Hook for {module.__class__.__name__} got no input. " f"Inputs must be positional, not keywords.", stacklevel=3, ) return send_to_device(forward_input, self.execution_device) @@ -161,9 +157,7 @@ class LazilyLoadedModelGroup(ModelGroup): self.clear_current_model() def _load(self, module: torch.nn.Module) -> torch.nn.Module: - assert ( - self.is_empty() - ), f"A model is already loaded: {self._current_model_ref()}" + assert self.is_empty(), f"A model is already loaded: {self._current_model_ref()}" module = module.to(self.execution_device) self.set_current_model(module) return module @@ -192,12 +186,8 @@ class LazilyLoadedModelGroup(ModelGroup): def device_for(self, model): if model not in self: - raise KeyError( - f"This does not manage this model {type(model).__name__}", model - ) - return ( - self.execution_device - ) # this implementation only dispatches to one device + raise KeyError(f"This does not manage this model {type(model).__name__}", model) + return self.execution_device # this implementation only dispatches to one device def ready(self): pass # always ready to load on-demand @@ -256,12 +246,8 @@ class FullyLoadedModelGroup(ModelGroup): def device_for(self, model): if model not in self: - raise KeyError( - "This does not manage this model f{type(model).__name__}", model - ) - return ( - self.execution_device - ) # this implementation only dispatches to one device + raise KeyError("This does not manage this model f{type(model).__name__}", model) + return self.execution_device # this implementation only dispatches to one device def __contains__(self, model): return model in self._models diff --git a/invokeai/backend/stable_diffusion/schedulers/__init__.py b/invokeai/backend/stable_diffusion/schedulers/__init__.py index b2df0df231..29a96eb3a5 100644 --- a/invokeai/backend/stable_diffusion/schedulers/__init__.py +++ b/invokeai/backend/stable_diffusion/schedulers/__init__.py @@ -1 +1 @@ -from .schedulers import SCHEDULER_MAP \ No newline at end of file +from .schedulers import SCHEDULER_MAP diff --git a/invokeai/backend/stable_diffusion/schedulers/schedulers.py b/invokeai/backend/stable_diffusion/schedulers/schedulers.py index 77c45d5eb8..2f62f8c477 100644 --- a/invokeai/backend/stable_diffusion/schedulers/schedulers.py +++ b/invokeai/backend/stable_diffusion/schedulers/schedulers.py @@ -1,7 +1,19 @@ -from diffusers import DDIMScheduler, DPMSolverMultistepScheduler, KDPM2DiscreteScheduler, \ - KDPM2AncestralDiscreteScheduler, EulerDiscreteScheduler, EulerAncestralDiscreteScheduler, \ - HeunDiscreteScheduler, LMSDiscreteScheduler, PNDMScheduler, UniPCMultistepScheduler, \ - DPMSolverSinglestepScheduler, DEISMultistepScheduler, DDPMScheduler, DPMSolverSDEScheduler +from diffusers import ( + DDIMScheduler, + DPMSolverMultistepScheduler, + KDPM2DiscreteScheduler, + KDPM2AncestralDiscreteScheduler, + EulerDiscreteScheduler, + EulerAncestralDiscreteScheduler, + HeunDiscreteScheduler, + LMSDiscreteScheduler, + PNDMScheduler, + UniPCMultistepScheduler, + DPMSolverSinglestepScheduler, + DEISMultistepScheduler, + DDPMScheduler, + DPMSolverSDEScheduler, +) SCHEDULER_MAP = dict( ddim=(DDIMScheduler, dict()), @@ -21,9 +33,9 @@ SCHEDULER_MAP = dict( dpmpp_2s_k=(DPMSolverSinglestepScheduler, dict(use_karras_sigmas=True)), dpmpp_2m=(DPMSolverMultistepScheduler, dict(use_karras_sigmas=False)), dpmpp_2m_k=(DPMSolverMultistepScheduler, dict(use_karras_sigmas=True)), - dpmpp_2m_sde=(DPMSolverMultistepScheduler, dict(use_karras_sigmas=False, algorithm_type='sde-dpmsolver++')), - dpmpp_2m_sde_k=(DPMSolverMultistepScheduler, dict(use_karras_sigmas=True, algorithm_type='sde-dpmsolver++')), + dpmpp_2m_sde=(DPMSolverMultistepScheduler, dict(use_karras_sigmas=False, algorithm_type="sde-dpmsolver++")), + dpmpp_2m_sde_k=(DPMSolverMultistepScheduler, dict(use_karras_sigmas=True, algorithm_type="sde-dpmsolver++")), dpmpp_sde=(DPMSolverSDEScheduler, dict(use_karras_sigmas=False, noise_sampler_seed=0)), dpmpp_sde_k=(DPMSolverSDEScheduler, dict(use_karras_sigmas=True, noise_sampler_seed=0)), - unipc=(UniPCMultistepScheduler, dict(cpu_only=True)) + unipc=(UniPCMultistepScheduler, dict(cpu_only=True)), ) diff --git a/invokeai/backend/training/textual_inversion_training.py b/invokeai/backend/training/textual_inversion_training.py index aadf8c76a3..d92aa80b38 100644 --- a/invokeai/backend/training/textual_inversion_training.py +++ b/invokeai/backend/training/textual_inversion_training.py @@ -45,7 +45,7 @@ from tqdm.auto import tqdm from transformers import CLIPTextModel, CLIPTokenizer # invokeai stuff -from invokeai.app.services.config import InvokeAIAppConfig,PagingArgumentParser +from invokeai.app.services.config import InvokeAIAppConfig, PagingArgumentParser from invokeai.app.services.model_manager_service import ModelManagerService from invokeai.backend.model_management.models import SubModelType @@ -75,24 +75,16 @@ check_min_version("0.10.0.dev0") logger = get_logger(__name__) -def save_progress( - text_encoder, placeholder_token_id, accelerator, placeholder_token, save_path -): +def save_progress(text_encoder, placeholder_token_id, accelerator, placeholder_token, save_path): logger.info("Saving embeddings") - learned_embeds = ( - accelerator.unwrap_model(text_encoder) - .get_input_embeddings() - .weight[placeholder_token_id] - ) + learned_embeds = accelerator.unwrap_model(text_encoder).get_input_embeddings().weight[placeholder_token_id] learned_embeds_dict = {placeholder_token: learned_embeds.detach().cpu()} torch.save(learned_embeds_dict, save_path) def parse_args(): config = InvokeAIAppConfig.get_config() - parser = PagingArgumentParser( - description="Textual inversion training" - ) + parser = PagingArgumentParser(description="Textual inversion training") general_group = parser.add_argument_group("General") model_group = parser.add_argument_group("Models and Paths") image_group = parser.add_argument_group("Training Image Location and Options") @@ -221,9 +213,7 @@ def parse_args(): default=100, help="How many times to repeat the training data.", ) - training_group.add_argument( - "--seed", type=int, default=None, help="A seed for reproducible training." - ) + training_group.add_argument("--seed", type=int, default=None, help="A seed for reproducible training.") training_group.add_argument( "--train_batch_size", type=int, @@ -287,9 +277,7 @@ def parse_args(): default=0.999, help="The beta2 parameter for the Adam optimizer.", ) - training_group.add_argument( - "--adam_weight_decay", type=float, default=1e-2, help="Weight decay to use." - ) + training_group.add_argument("--adam_weight_decay", type=float, default=1e-2, help="Weight decay to use.") training_group.add_argument( "--adam_epsilon", type=float, @@ -442,9 +430,7 @@ class TextualInversionDataset(Dataset): self.data_root / file_path for file_path in self.data_root.iterdir() if file_path.is_file() - and file_path.name.endswith( - (".png", ".PNG", ".jpg", ".JPG", ".jpeg", ".JPEG", ".gif", ".GIF") - ) + and file_path.name.endswith((".png", ".PNG", ".jpg", ".JPG", ".jpeg", ".JPEG", ".gif", ".GIF")) ] self.num_images = len(self.image_paths) @@ -460,11 +446,7 @@ class TextualInversionDataset(Dataset): "lanczos": PIL_INTERPOLATION["lanczos"], }[interpolation] - self.templates = ( - imagenet_style_templates_small - if learnable_property == "style" - else imagenet_templates_small - ) + self.templates = imagenet_style_templates_small if learnable_property == "style" else imagenet_templates_small self.flip_transform = transforms.RandomHorizontalFlip(p=self.flip_p) def __len__(self): @@ -500,9 +482,7 @@ class TextualInversionDataset(Dataset): img.shape[0], img.shape[1], ) - img = img[ - (h - crop) // 2 : (h + crop) // 2, (w - crop) // 2 : (w + crop) // 2 - ] + img = img[(h - crop) // 2 : (h + crop) // 2, (w - crop) // 2 : (w + crop) // 2] image = Image.fromarray(img) image = image.resize((self.size, self.size), resample=self.interpolation) @@ -515,9 +495,7 @@ class TextualInversionDataset(Dataset): return example -def get_full_repo_name( - model_id: str, organization: Optional[str] = None, token: Optional[str] = None -): +def get_full_repo_name(model_id: str, organization: Optional[str] = None, token: Optional[str] = None): if token is None: token = HfFolder.get_token() if organization is None: @@ -570,9 +548,7 @@ def do_textual_inversion_training( **kwargs, ): assert model, "Please specify a base model with --model" - assert ( - train_data_dir - ), "Please specify a directory containing the training images using --train_data_dir" + assert train_data_dir, "Please specify a directory containing the training images using --train_data_dir" assert placeholder_token, "Please specify a trigger term using --placeholder_token" env_local_rank = int(os.environ.get("LOCAL_RANK", -1)) if env_local_rank != -1 and env_local_rank != local_rank: @@ -593,7 +569,7 @@ def do_textual_inversion_training( project_config=accelerator_config, ) - model_manager = ModelManagerService(config,logger) + model_manager = ModelManagerService(config, logger) # Make one log on every process with the configuration for debugging. logging.basicConfig( @@ -633,13 +609,11 @@ def do_textual_inversion_training( os.makedirs(output_dir, exist_ok=True) known_models = model_manager.model_names() - model_name = model.split('/')[-1] + model_name = model.split("/")[-1] model_meta = next((mm for mm in known_models if mm[0].endswith(model_name)), None) assert model_meta is not None, f"Unknown model: {model}" model_info = model_manager.model_info(*model_meta) - assert ( - model_info['model_format'] == "diffusers" - ), "This script only works with models of type 'diffusers'" + assert model_info["model_format"] == "diffusers", "This script only works with models of type 'diffusers'" tokenizer_info = model_manager.get_model(*model_meta, submodel=SubModelType.Tokenizer) noise_scheduler_info = model_manager.get_model(*model_meta, submodel=SubModelType.Scheduler) text_encoder_info = model_manager.get_model(*model_meta, submodel=SubModelType.TextEncoder) @@ -650,9 +624,7 @@ def do_textual_inversion_training( if tokenizer_name: tokenizer = CLIPTokenizer.from_pretrained(tokenizer_name, **pipeline_args) else: - tokenizer = CLIPTokenizer.from_pretrained( - tokenizer_info.location, subfolder='tokenizer', **pipeline_args - ) + tokenizer = CLIPTokenizer.from_pretrained(tokenizer_info.location, subfolder="tokenizer", **pipeline_args) # Load scheduler and models noise_scheduler = DDPMScheduler.from_pretrained( @@ -722,9 +694,7 @@ def do_textual_inversion_training( if is_xformers_available(): unet.enable_xformers_memory_efficient_attention() else: - raise ValueError( - "xformers is not available. Make sure it is installed correctly" - ) + raise ValueError("xformers is not available. Make sure it is installed correctly") # Enable TF32 for faster training on Ampere GPUs, # cf https://pytorch.org/docs/stable/notes/cuda.html#tensorfloat-32-tf32-on-ampere-devices @@ -732,12 +702,7 @@ def do_textual_inversion_training( torch.backends.cuda.matmul.allow_tf32 = True if scale_lr: - learning_rate = ( - learning_rate - * gradient_accumulation_steps - * train_batch_size - * accelerator.num_processes - ) + learning_rate = learning_rate * gradient_accumulation_steps * train_batch_size * accelerator.num_processes # Initialize the optimizer optimizer = torch.optim.AdamW( @@ -759,15 +724,11 @@ def do_textual_inversion_training( center_crop=center_crop, set="train", ) - train_dataloader = torch.utils.data.DataLoader( - train_dataset, batch_size=train_batch_size, shuffle=True - ) + train_dataloader = torch.utils.data.DataLoader(train_dataset, batch_size=train_batch_size, shuffle=True) # Scheduler and math around the number of training steps. overrode_max_train_steps = False - num_update_steps_per_epoch = math.ceil( - len(train_dataloader) / gradient_accumulation_steps - ) + num_update_steps_per_epoch = math.ceil(len(train_dataloader) / gradient_accumulation_steps) if max_train_steps is None: max_train_steps = num_train_epochs * num_update_steps_per_epoch overrode_max_train_steps = True @@ -797,9 +758,7 @@ def do_textual_inversion_training( vae.to(accelerator.device, dtype=weight_dtype) # We need to recalculate our total training steps as the size of the training dataloader may have changed. - num_update_steps_per_epoch = math.ceil( - len(train_dataloader) / gradient_accumulation_steps - ) + num_update_steps_per_epoch = math.ceil(len(train_dataloader) / gradient_accumulation_steps) if overrode_max_train_steps: max_train_steps = num_train_epochs * num_update_steps_per_epoch # Afterwards we recalculate our number of training epochs @@ -814,17 +773,13 @@ def do_textual_inversion_training( accelerator.init_trackers("textual_inversion", config=params) # Train! - total_batch_size = ( - train_batch_size * accelerator.num_processes * gradient_accumulation_steps - ) + total_batch_size = train_batch_size * accelerator.num_processes * gradient_accumulation_steps logger.info("***** Running training *****") logger.info(f" Num examples = {len(train_dataset)}") logger.info(f" Num Epochs = {num_train_epochs}") logger.info(f" Instantaneous batch size per device = {train_batch_size}") - logger.info( - f" Total train batch size (w. parallel, distributed & accumulation) = {total_batch_size}" - ) + logger.info(f" Total train batch size (w. parallel, distributed & accumulation) = {total_batch_size}") logger.info(f" Gradient Accumulation steps = {gradient_accumulation_steps}") logger.info(f" Total optimization steps = {max_train_steps}") global_step = 0 @@ -843,9 +798,7 @@ def do_textual_inversion_training( path = dirs[-1] if len(dirs) > 0 else None if path is None: - accelerator.print( - f"Checkpoint '{resume_from_checkpoint}' does not exist. Starting a new training run." - ) + accelerator.print(f"Checkpoint '{resume_from_checkpoint}' does not exist. Starting a new training run.") resume_from_checkpoint = None else: accelerator.print(f"Resuming from checkpoint {path}") @@ -854,9 +807,7 @@ def do_textual_inversion_training( resume_global_step = global_step * gradient_accumulation_steps first_epoch = global_step // num_update_steps_per_epoch - resume_step = resume_global_step % ( - num_update_steps_per_epoch * gradient_accumulation_steps - ) + resume_step = resume_global_step % (num_update_steps_per_epoch * gradient_accumulation_steps) # Only show the progress bar once on each machine. progress_bar = tqdm( @@ -866,33 +817,20 @@ def do_textual_inversion_training( progress_bar.set_description("Steps") # keep original embeddings as reference - orig_embeds_params = ( - accelerator.unwrap_model(text_encoder) - .get_input_embeddings() - .weight.data.clone() - ) + orig_embeds_params = accelerator.unwrap_model(text_encoder).get_input_embeddings().weight.data.clone() for epoch in range(first_epoch, num_train_epochs): text_encoder.train() for step, batch in enumerate(train_dataloader): # Skip steps until we reach the resumed step - if ( - resume_step - and resume_from_checkpoint - and epoch == first_epoch - and step < resume_step - ): + if resume_step and resume_from_checkpoint and epoch == first_epoch and step < resume_step: if step % gradient_accumulation_steps == 0: progress_bar.update(1) continue with accelerator.accumulate(text_encoder): # Convert images to latent space - latents = ( - vae.encode(batch["pixel_values"].to(dtype=weight_dtype)) - .latent_dist.sample() - .detach() - ) + latents = vae.encode(batch["pixel_values"].to(dtype=weight_dtype)).latent_dist.sample().detach() latents = latents * 0.18215 # Sample noise that we'll add to the latents @@ -912,14 +850,10 @@ def do_textual_inversion_training( noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) # Get the text embedding for conditioning - encoder_hidden_states = text_encoder(batch["input_ids"])[0].to( - dtype=weight_dtype - ) + encoder_hidden_states = text_encoder(batch["input_ids"])[0].to(dtype=weight_dtype) # Predict the noise residual - model_pred = unet( - noisy_latents, timesteps, encoder_hidden_states - ).sample + model_pred = unet(noisy_latents, timesteps, encoder_hidden_states).sample # Get the target for loss depending on the prediction type if noise_scheduler.config.prediction_type == "epsilon": @@ -927,9 +861,7 @@ def do_textual_inversion_training( elif noise_scheduler.config.prediction_type == "v_prediction": target = noise_scheduler.get_velocity(latents, noise, timesteps) else: - raise ValueError( - f"Unknown prediction type {noise_scheduler.config.prediction_type}" - ) + raise ValueError(f"Unknown prediction type {noise_scheduler.config.prediction_type}") loss = F.mse_loss(model_pred.float(), target.float(), reduction="mean") @@ -942,22 +874,16 @@ def do_textual_inversion_training( # Let's make sure we don't update any embedding weights besides the newly added token index_no_updates = torch.arange(len(tokenizer)) != placeholder_token_id with torch.no_grad(): - accelerator.unwrap_model( - text_encoder - ).get_input_embeddings().weight[ + accelerator.unwrap_model(text_encoder).get_input_embeddings().weight[ index_no_updates - ] = orig_embeds_params[ - index_no_updates - ] + ] = orig_embeds_params[index_no_updates] # Checks if the accelerator has performed an optimization step behind the scenes if accelerator.sync_gradients: progress_bar.update(1) global_step += 1 if global_step % save_steps == 0: - save_path = os.path.join( - output_dir, f"learned_embeds-steps-{global_step}.bin" - ) + save_path = os.path.join(output_dir, f"learned_embeds-steps-{global_step}.bin") save_progress( text_encoder, placeholder_token_id, @@ -968,9 +894,7 @@ def do_textual_inversion_training( if global_step % checkpointing_steps == 0: if accelerator.is_main_process: - save_path = os.path.join( - output_dir, f"checkpoint-{global_step}" - ) + save_path = os.path.join(output_dir, f"checkpoint-{global_step}") accelerator.save_state(save_path) logger.info(f"Saved state to {save_path}") @@ -985,9 +909,7 @@ def do_textual_inversion_training( accelerator.wait_for_everyone() if accelerator.is_main_process: if push_to_hub and only_save_embeds: - logger.warn( - "Enabling full model saving because --push_to_hub=True was specified." - ) + logger.warn("Enabling full model saving because --push_to_hub=True was specified.") save_full_model = True else: save_full_model = not only_save_embeds @@ -1012,8 +934,6 @@ def do_textual_inversion_training( ) if push_to_hub: - repo.push_to_hub( - commit_message="End of training", blocking=False, auto_lfs_prune=True - ) + repo.push_to_hub(commit_message="End of training", blocking=False, auto_lfs_prune=True) accelerator.end_training() diff --git a/invokeai/backend/util/__init__.py b/invokeai/backend/util/__init__.py index fadeff4d75..2e69af5382 100644 --- a/invokeai/backend/util/__init__.py +++ b/invokeai/backend/util/__init__.py @@ -11,12 +11,4 @@ from .devices import ( torch_dtype, ) from .log import write_log -from .util import ( - ask_user, - download_with_resume, - instantiate_from_config, - url_attachment_name, - Chdir -) - - +from .util import ask_user, download_with_resume, instantiate_from_config, url_attachment_name, Chdir diff --git a/invokeai/backend/util/devices.py b/invokeai/backend/util/devices.py index 3fbdaba41a..eeabcc35db 100644 --- a/invokeai/backend/util/devices.py +++ b/invokeai/backend/util/devices.py @@ -12,6 +12,7 @@ CUDA_DEVICE = torch.device("cuda") MPS_DEVICE = torch.device("mps") config = InvokeAIAppConfig.get_config() + def choose_torch_device() -> torch.device: """Convenience routine for guessing which GPU device to run model on""" if config.always_use_cpu: diff --git a/invokeai/backend/util/hotfixes.py b/invokeai/backend/util/hotfixes.py index 67e46a426f..4710682ac1 100644 --- a/invokeai/backend/util/hotfixes.py +++ b/invokeai/backend/util/hotfixes.py @@ -20,6 +20,7 @@ from diffusers.models.controlnet import ControlNetConditioningEmbedding, Control # Modified ControlNetModel with encoder_attention_mask argument added + class ControlNetModel(ModelMixin, ConfigMixin): """ A ControlNet model. @@ -618,9 +619,7 @@ class ControlNetModel(ModelMixin, ConfigMixin): mid_block_res_sample = mid_block_res_sample * conditioning_scale if self.config.global_pool_conditions: - down_block_res_samples = [ - torch.mean(sample, dim=(2, 3), keepdim=True) for sample in down_block_res_samples - ] + down_block_res_samples = [torch.mean(sample, dim=(2, 3), keepdim=True) for sample in down_block_res_samples] mid_block_res_sample = torch.mean(mid_block_res_sample, dim=(2, 3), keepdim=True) if not return_dict: @@ -630,5 +629,6 @@ class ControlNetModel(ModelMixin, ConfigMixin): down_block_res_samples=down_block_res_samples, mid_block_res_sample=mid_block_res_sample ) + diffusers.ControlNetModel = ControlNetModel -diffusers.models.controlnet.ControlNetModel = ControlNetModel \ No newline at end of file +diffusers.models.controlnet.ControlNetModel = ControlNetModel diff --git a/invokeai/backend/util/logging.py b/invokeai/backend/util/logging.py index d06c036506..3a8d721aa5 100644 --- a/invokeai/backend/util/logging.py +++ b/invokeai/backend/util/logging.py @@ -186,89 +186,109 @@ from invokeai.app.services.config import InvokeAIAppConfig, get_invokeai_config try: import syslog + SYSLOG_AVAILABLE = True except: SYSLOG_AVAILABLE = False + # module level functions def debug(msg, *args, **kwargs): InvokeAILogger.getLogger().debug(msg, *args, **kwargs) + def info(msg, *args, **kwargs): InvokeAILogger.getLogger().info(msg, *args, **kwargs) + def warning(msg, *args, **kwargs): InvokeAILogger.getLogger().warning(msg, *args, **kwargs) + def error(msg, *args, **kwargs): InvokeAILogger.getLogger().error(msg, *args, **kwargs) + def critical(msg, *args, **kwargs): InvokeAILogger.getLogger().critical(msg, *args, **kwargs) + def log(level, msg, *args, **kwargs): InvokeAILogger.getLogger().log(level, msg, *args, **kwargs) + def disable(level=logging.CRITICAL): InvokeAILogger.getLogger().disable(level) + def basicConfig(**kwargs): InvokeAILogger.getLogger().basicConfig(**kwargs) + def getLogger(name: str = None) -> logging.Logger: return InvokeAILogger.getLogger(name) -_FACILITY_MAP = dict( - LOG_KERN = syslog.LOG_KERN, - LOG_USER = syslog.LOG_USER, - LOG_MAIL = syslog.LOG_MAIL, - LOG_DAEMON = syslog.LOG_DAEMON, - LOG_AUTH = syslog.LOG_AUTH, - LOG_LPR = syslog.LOG_LPR, - LOG_NEWS = syslog.LOG_NEWS, - LOG_UUCP = syslog.LOG_UUCP, - LOG_CRON = syslog.LOG_CRON, - LOG_SYSLOG = syslog.LOG_SYSLOG, - LOG_LOCAL0 = syslog.LOG_LOCAL0, - LOG_LOCAL1 = syslog.LOG_LOCAL1, - LOG_LOCAL2 = syslog.LOG_LOCAL2, - LOG_LOCAL3 = syslog.LOG_LOCAL3, - LOG_LOCAL4 = syslog.LOG_LOCAL4, - LOG_LOCAL5 = syslog.LOG_LOCAL5, - LOG_LOCAL6 = syslog.LOG_LOCAL6, - LOG_LOCAL7 = syslog.LOG_LOCAL7, -) if SYSLOG_AVAILABLE else dict() - -_SOCK_MAP = dict( - SOCK_STREAM = socket.SOCK_STREAM, - SOCK_DGRAM = socket.SOCK_DGRAM, +_FACILITY_MAP = ( + dict( + LOG_KERN=syslog.LOG_KERN, + LOG_USER=syslog.LOG_USER, + LOG_MAIL=syslog.LOG_MAIL, + LOG_DAEMON=syslog.LOG_DAEMON, + LOG_AUTH=syslog.LOG_AUTH, + LOG_LPR=syslog.LOG_LPR, + LOG_NEWS=syslog.LOG_NEWS, + LOG_UUCP=syslog.LOG_UUCP, + LOG_CRON=syslog.LOG_CRON, + LOG_SYSLOG=syslog.LOG_SYSLOG, + LOG_LOCAL0=syslog.LOG_LOCAL0, + LOG_LOCAL1=syslog.LOG_LOCAL1, + LOG_LOCAL2=syslog.LOG_LOCAL2, + LOG_LOCAL3=syslog.LOG_LOCAL3, + LOG_LOCAL4=syslog.LOG_LOCAL4, + LOG_LOCAL5=syslog.LOG_LOCAL5, + LOG_LOCAL6=syslog.LOG_LOCAL6, + LOG_LOCAL7=syslog.LOG_LOCAL7, + ) + if SYSLOG_AVAILABLE + else dict() ) +_SOCK_MAP = dict( + SOCK_STREAM=socket.SOCK_STREAM, + SOCK_DGRAM=socket.SOCK_DGRAM, +) + + class InvokeAIFormatter(logging.Formatter): - ''' + """ Base class for logging formatter - ''' + """ + def format(self, record): formatter = logging.Formatter(self.log_fmt(record.levelno)) return formatter.format(record) @abstractmethod - def log_fmt(self, levelno: int)->str: + def log_fmt(self, levelno: int) -> str: pass - + + class InvokeAISyslogFormatter(InvokeAIFormatter): - ''' + """ Formatting for syslog - ''' - def log_fmt(self, levelno: int)->str: - return '%(name)s [%(process)d] <%(levelname)s> %(message)s' + """ + + def log_fmt(self, levelno: int) -> str: + return "%(name)s [%(process)d] <%(levelname)s> %(message)s" + class InvokeAILegacyLogFormatter(InvokeAIFormatter): - ''' + """ Formatting for the InvokeAI Logger (legacy version) - ''' + """ + FORMATS = { logging.DEBUG: " | %(message)s", logging.INFO: ">> %(message)s", @@ -276,20 +296,25 @@ class InvokeAILegacyLogFormatter(InvokeAIFormatter): logging.ERROR: "*** %(message)s", logging.CRITICAL: "### %(message)s", } - def log_fmt(self,levelno:int)->str: + + def log_fmt(self, levelno: int) -> str: return self.FORMATS.get(levelno) + class InvokeAIPlainLogFormatter(InvokeAIFormatter): - ''' + """ Custom Formatting for the InvokeAI Logger (plain version) - ''' - def log_fmt(self, levelno: int)->str: + """ + + def log_fmt(self, levelno: int) -> str: return "[%(asctime)s]::[%(name)s]::%(levelname)s --> %(message)s" + class InvokeAIColorLogFormatter(InvokeAIFormatter): - ''' + """ Custom Formatting for the InvokeAI Logger - ''' + """ + # Color Codes grey = "\x1b[38;20m" yellow = "\x1b[33;20m" @@ -308,32 +333,34 @@ class InvokeAIColorLogFormatter(InvokeAIFormatter): logging.INFO: grey + log_format + reset, logging.WARNING: yellow + log_format + reset, logging.ERROR: red + log_format + reset, - logging.CRITICAL: bold_red + log_format + reset + logging.CRITICAL: bold_red + log_format + reset, } - def log_fmt(self, levelno: int)->str: + def log_fmt(self, levelno: int) -> str: return self.FORMATS.get(levelno) + LOG_FORMATTERS = { - 'plain': InvokeAIPlainLogFormatter, - 'color': InvokeAIColorLogFormatter, - 'syslog': InvokeAISyslogFormatter, - 'legacy': InvokeAILegacyLogFormatter, + "plain": InvokeAIPlainLogFormatter, + "color": InvokeAIColorLogFormatter, + "syslog": InvokeAISyslogFormatter, + "legacy": InvokeAILegacyLogFormatter, } + class InvokeAILogger(object): loggers = dict() @classmethod - def getLogger(cls, - name: str = 'InvokeAI', - config: InvokeAIAppConfig=InvokeAIAppConfig.get_config())->logging.Logger: + def getLogger( + cls, name: str = "InvokeAI", config: InvokeAIAppConfig = InvokeAIAppConfig.get_config() + ) -> logging.Logger: if name in cls.loggers: logger = cls.loggers[name] logger.handlers.clear() else: logger = logging.getLogger(name) - logger.setLevel(config.log_level.upper()) # yes, strings work here + logger.setLevel(config.log_level.upper()) # yes, strings work here for ch in cls.getLoggers(config): logger.addHandler(ch) cls.loggers[name] = logger @@ -344,82 +371,80 @@ class InvokeAILogger(object): handler_strs = config.log_handlers handlers = list() for handler in handler_strs: - handler_name,*args = handler.split('=',2) + handler_name, *args = handler.split("=", 2) args = args[0] if len(args) > 0 else None # console and file get the fancy formatter. # syslog gets a simple one # http gets no custom formatter formatter = LOG_FORMATTERS[config.log_format] - if handler_name=='console': + if handler_name == "console": ch = logging.StreamHandler() ch.setFormatter(formatter()) handlers.append(ch) - - elif handler_name=='syslog': + + elif handler_name == "syslog": ch = cls._parse_syslog_args(args) handlers.append(ch) - - elif handler_name=='file': + + elif handler_name == "file": ch = cls._parse_file_args(args) ch.setFormatter(formatter()) handlers.append(ch) - - elif handler_name=='http': + + elif handler_name == "http": ch = cls._parse_http_args(args) handlers.append(ch) return handlers @staticmethod - def _parse_syslog_args( - args: str=None - )-> logging.Handler: + def _parse_syslog_args(args: str = None) -> logging.Handler: if not SYSLOG_AVAILABLE: raise ValueError("syslog is not available on this system") if not args: - args='/dev/log' if Path('/dev/log').exists() else 'address:localhost:514' + args = "/dev/log" if Path("/dev/log").exists() else "address:localhost:514" syslog_args = dict() try: - for a in args.split(','): - arg_name,*arg_value = a.split(':',2) - if arg_name=='address': - host,*port = arg_value - port = 514 if len(port)==0 else int(port[0]) - syslog_args['address'] = (host,port) - elif arg_name=='facility': - syslog_args['facility'] = _FACILITY_MAP[arg_value[0]] - elif arg_name=='socktype': - syslog_args['socktype'] = _SOCK_MAP[arg_value[0]] + for a in args.split(","): + arg_name, *arg_value = a.split(":", 2) + if arg_name == "address": + host, *port = arg_value + port = 514 if len(port) == 0 else int(port[0]) + syslog_args["address"] = (host, port) + elif arg_name == "facility": + syslog_args["facility"] = _FACILITY_MAP[arg_value[0]] + elif arg_name == "socktype": + syslog_args["socktype"] = _SOCK_MAP[arg_value[0]] else: - syslog_args['address'] = arg_name + syslog_args["address"] = arg_name except: raise ValueError(f"{args} is not a value argument list for syslog logging") return logging.handlers.SysLogHandler(**syslog_args) - + @staticmethod - def _parse_file_args(args: str=None)-> logging.Handler: + def _parse_file_args(args: str = None) -> logging.Handler: if not args: raise ValueError("please provide filename for file logging using format 'file=/path/to/logfile.txt'") return logging.FileHandler(args) @staticmethod - def _parse_http_args(args: str=None)-> logging.Handler: + def _parse_http_args(args: str = None) -> logging.Handler: if not args: raise ValueError("please provide destination for http logging using format 'http=url'") - arg_list = args.split(',') + arg_list = args.split(",") url = urllib.parse.urlparse(arg_list.pop(0)) - if url.scheme != 'http': + if url.scheme != "http": raise ValueError(f"the http logging module can only log to HTTP URLs, but {url.scheme} was specified") host = url.hostname path = url.path port = url.port or 80 - + syslog_args = dict() for a in arg_list: - arg_name, *arg_value = a.split(':',2) - if arg_name=='method': - arg_value = arg_value[0] if len(arg_value)>0 else 'GET' + arg_name, *arg_value = a.split(":", 2) + if arg_name == "method": + arg_value = arg_value[0] if len(arg_value) > 0 else "GET" syslog_args[arg_name] = arg_value else: # TODO: Provide support for SSL context and credentials pass - return logging.handlers.HTTPHandler(f'{host}:{port}',path,**syslog_args) + return logging.handlers.HTTPHandler(f"{host}:{port}", path, **syslog_args) diff --git a/invokeai/backend/util/mps_fixes.py b/invokeai/backend/util/mps_fixes.py index e4d8da20a9..409eff1c8b 100644 --- a/invokeai/backend/util/mps_fixes.py +++ b/invokeai/backend/util/mps_fixes.py @@ -8,6 +8,8 @@ if torch.backends.mps.is_available(): _torch_layer_norm = torch.nn.functional.layer_norm + + def new_layer_norm(input, normalized_shape, weight=None, bias=None, eps=1e-05): if input.device.type == "mps" and input.dtype == torch.float16: input = input.float() @@ -19,20 +21,26 @@ def new_layer_norm(input, normalized_shape, weight=None, bias=None, eps=1e-05): else: return _torch_layer_norm(input, normalized_shape, weight, bias, eps) + torch.nn.functional.layer_norm = new_layer_norm _torch_tensor_permute = torch.Tensor.permute + + def new_torch_tensor_permute(input, *dims): result = _torch_tensor_permute(input, *dims) if input.device == "mps" and input.dtype == torch.float16: result = result.contiguous() return result + torch.Tensor.permute = new_torch_tensor_permute _torch_lerp = torch.lerp + + def new_torch_lerp(input, end, weight, *, out=None): if input.device.type == "mps" and input.dtype == torch.float16: input = input.float() @@ -52,20 +60,36 @@ def new_torch_lerp(input, end, weight, *, out=None): else: return _torch_lerp(input, end, weight, out=out) + torch.lerp = new_torch_lerp _torch_interpolate = torch.nn.functional.interpolate -def new_torch_interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None, recompute_scale_factor=None, antialias=False): + + +def new_torch_interpolate( + input, + size=None, + scale_factor=None, + mode="nearest", + align_corners=None, + recompute_scale_factor=None, + antialias=False, +): if input.device.type == "mps" and input.dtype == torch.float16: - return _torch_interpolate(input.float(), size, scale_factor, mode, align_corners, recompute_scale_factor, antialias).half() + return _torch_interpolate( + input.float(), size, scale_factor, mode, align_corners, recompute_scale_factor, antialias + ).half() else: return _torch_interpolate(input, size, scale_factor, mode, align_corners, recompute_scale_factor, antialias) + torch.nn.functional.interpolate = new_torch_interpolate # TODO: refactor it _SlicedAttnProcessor = diffusers.models.attention_processor.SlicedAttnProcessor + + class ChunkedSlicedAttnProcessor: r""" Processor for implementing sliced attention. @@ -78,7 +102,7 @@ class ChunkedSlicedAttnProcessor: def __init__(self, slice_size): assert isinstance(slice_size, int) - slice_size = 1 # TODO: maybe implement chunking in batches too when enough memory + slice_size = 1 # TODO: maybe implement chunking in batches too when enough memory self.slice_size = slice_size self._sliced_attn_processor = _SlicedAttnProcessor(slice_size) @@ -121,7 +145,9 @@ class ChunkedSlicedAttnProcessor: (batch_size_attention, query_tokens, dim // attn.heads), device=query.device, dtype=query.dtype ) - chunk_tmp_tensor = torch.empty(self.slice_size, query.shape[1], key.shape[1], dtype=query.dtype, device=query.device) + chunk_tmp_tensor = torch.empty( + self.slice_size, query.shape[1], key.shape[1], dtype=query.dtype, device=query.device + ) for i in range(batch_size_attention // self.slice_size): start_idx = i * self.slice_size @@ -131,7 +157,15 @@ class ChunkedSlicedAttnProcessor: key_slice = key[start_idx:end_idx] attn_mask_slice = attention_mask[start_idx:end_idx] if attention_mask is not None else None - self.get_attention_scores_chunked(attn, query_slice, key_slice, attn_mask_slice, hidden_states[start_idx:end_idx], value[start_idx:end_idx], chunk_tmp_tensor) + self.get_attention_scores_chunked( + attn, + query_slice, + key_slice, + attn_mask_slice, + hidden_states[start_idx:end_idx], + value[start_idx:end_idx], + chunk_tmp_tensor, + ) hidden_states = attn.batch_to_head_dim(hidden_states) @@ -150,7 +184,6 @@ class ChunkedSlicedAttnProcessor: return hidden_states - def get_attention_scores_chunked(self, attn, query, key, attention_mask, hidden_states, value, chunk): # batch size = 1 assert query.shape[0] == 1 @@ -163,14 +196,14 @@ class ChunkedSlicedAttnProcessor: query = query.float() key = key.float() - #out_item_size = query.dtype.itemsize - #if attn.upcast_attention: + # out_item_size = query.dtype.itemsize + # if attn.upcast_attention: # out_item_size = torch.float32.itemsize out_item_size = query.element_size() if attn.upcast_attention: out_item_size = 4 - chunk_size = 2 ** 29 + chunk_size = 2**29 out_size = query.shape[1] * key.shape[1] * out_item_size chunks_count = min(query.shape[1], math.ceil((out_size - 1) / chunk_size)) @@ -181,8 +214,8 @@ class ChunkedSlicedAttnProcessor: def _get_chunk_view(tensor, start, length): if start + length > tensor.shape[1]: length = tensor.shape[1] - start - #print(f"view: [{tensor.shape[0]},{tensor.shape[1]},{tensor.shape[2]}] - start: {start}, length: {length}") - return tensor[:,start:start+length] + # print(f"view: [{tensor.shape[0]},{tensor.shape[1]},{tensor.shape[2]}] - start: {start}, length: {length}") + return tensor[:, start : start + length] for chunk_pos in range(0, query.shape[1], chunk_step): if attention_mask is not None: @@ -196,7 +229,7 @@ class ChunkedSlicedAttnProcessor: ) else: torch.baddbmm( - torch.zeros((1,1,1), device=query.device, dtype=query.dtype), + torch.zeros((1, 1, 1), device=query.device, dtype=query.dtype), _get_chunk_view(query, chunk_pos, chunk_step), key, beta=0, @@ -206,7 +239,7 @@ class ChunkedSlicedAttnProcessor: chunk = chunk.softmax(dim=-1) torch.bmm(chunk, value, out=_get_chunk_view(hidden_states, chunk_pos, chunk_step)) - #del chunk + # del chunk diffusers.models.attention_processor.SlicedAttnProcessor = ChunkedSlicedAttnProcessor diff --git a/invokeai/backend/util/util.py b/invokeai/backend/util/util.py index 1cc632e483..f3c182c063 100644 --- a/invokeai/backend/util/util.py +++ b/invokeai/backend/util/util.py @@ -32,9 +32,7 @@ def log_txt_as_img(wh, xc, size=10): draw = ImageDraw.Draw(txt) font = ImageFont.load_default() nc = int(40 * (wh[0] / 256)) - lines = "\n".join( - xc[bi][start : start + nc] for start in range(0, len(xc[bi]), nc) - ) + lines = "\n".join(xc[bi][start : start + nc] for start in range(0, len(xc[bi]), nc)) try: draw.text((0, 0), lines, fill="black", font=font) @@ -81,9 +79,7 @@ def mean_flat(tensor): def count_params(model, verbose=False): total_params = sum(p.numel() for p in model.parameters()) if verbose: - logger.debug( - f"{model.__class__.__name__} has {total_params * 1.e-6:.2f} M params." - ) + logger.debug(f"{model.__class__.__name__} has {total_params * 1.e-6:.2f} M params.") return total_params @@ -154,21 +150,12 @@ def parallel_data_prefetch( proc = Thread # spawn processes if target_data_type == "ndarray": - arguments = [ - [func, Q, part, i, use_worker_id] - for i, part in enumerate(np.array_split(data, n_proc)) - ] + arguments = [[func, Q, part, i, use_worker_id] for i, part in enumerate(np.array_split(data, n_proc))] else: - step = ( - int(len(data) / n_proc + 1) - if len(data) % n_proc != 0 - else int(len(data) / n_proc) - ) + step = int(len(data) / n_proc + 1) if len(data) % n_proc != 0 else int(len(data) / n_proc) arguments = [ [func, Q, part, i, use_worker_id] - for i, part in enumerate( - [data[i : i + step] for i in range(0, len(data), step)] - ) + for i, part in enumerate([data[i : i + step] for i in range(0, len(data), step)]) ] processes = [] for i in range(n_proc): @@ -220,9 +207,7 @@ def parallel_data_prefetch( return gather_res -def rand_perlin_2d( - shape, res, device, fade=lambda t: 6 * t**5 - 15 * t**4 + 10 * t**3 -): +def rand_perlin_2d(shape, res, device, fade=lambda t: 6 * t**5 - 15 * t**4 + 10 * t**3): delta = (res[0] / shape[0], res[1] / shape[1]) d = (shape[0] // res[0], shape[1] // res[1]) @@ -265,9 +250,9 @@ def rand_perlin_2d( n01 = dot(tile_grads([0, -1], [1, None]), [0, -1]).to(device) n11 = dot(tile_grads([1, None], [1, None]), [-1, -1]).to(device) t = fade(grid[: shape[0], : shape[1]]) - noise = math.sqrt(2) * torch.lerp( - torch.lerp(n00, n10, t[..., 0]), torch.lerp(n01, n11, t[..., 0]), t[..., 1] - ).to(device) + noise = math.sqrt(2) * torch.lerp(torch.lerp(n00, n10, t[..., 0]), torch.lerp(n01, n11, t[..., 0]), t[..., 1]).to( + device + ) return noise.to(dtype=torch_dtype(device)) @@ -276,9 +261,7 @@ def ask_user(question: str, answers: list): user_prompt = f"\n>> {question} {answers}: " invalid_answer_msg = "Invalid answer. Please try again." - pose_question = chain( - [user_prompt], repeat("\n".join([invalid_answer_msg, user_prompt])) - ) + pose_question = chain([user_prompt], repeat("\n".join([invalid_answer_msg, user_prompt]))) user_answers = map(input, pose_question) valid_response = next(filter(answers.__contains__, user_answers)) return valid_response @@ -303,9 +286,7 @@ def download_with_resume(url: str, dest: Path, access_token: str = None) -> Path if dest.is_dir(): try: - file_name = re.search( - 'filename="(.+)"', resp.headers.get("Content-Disposition") - ).group(1) + file_name = re.search('filename="(.+)"', resp.headers.get("Content-Disposition")).group(1) except: file_name = os.path.basename(url) dest = dest / file_name @@ -322,7 +303,7 @@ def download_with_resume(url: str, dest: Path, access_token: str = None) -> Path logger.warning("corrupt existing file found. re-downloading") os.remove(dest) exist_size = 0 - + if resp.status_code == 416 or (content_length > 0 and exist_size == content_length): logger.warning(f"{dest}: complete file found. Skipping.") return dest @@ -377,16 +358,16 @@ def image_to_dataURL(image: Image.Image, image_format: str = "PNG") -> str: buffered = io.BytesIO() image.save(buffered, format=image_format) mime_type = Image.MIME.get(image_format.upper(), "image/" + image_format.lower()) - image_base64 = f"data:{mime_type};base64," + base64.b64encode( - buffered.getvalue() - ).decode("UTF-8") + image_base64 = f"data:{mime_type};base64," + base64.b64encode(buffered.getvalue()).decode("UTF-8") return image_base64 + class Chdir(object): - '''Context manager to chdir to desired directory and change back after context exits: + """Context manager to chdir to desired directory and change back after context exits: Args: path (Path): The path to the cwd - ''' + """ + def __init__(self, path: Path): self.path = path self.original = Path().absolute() @@ -394,5 +375,5 @@ class Chdir(object): def __enter__(self): os.chdir(self.path) - def __exit__(self,*args): + def __exit__(self, *args): os.chdir(self.original) diff --git a/invokeai/backend/web/invoke_ai_web_server.py b/invokeai/backend/web/invoke_ai_web_server.py index eec02cd9dc..88eb77551f 100644 --- a/invokeai/backend/web/invoke_ai_web_server.py +++ b/invokeai/backend/web/invoke_ai_web_server.py @@ -64,10 +64,7 @@ class InvokeAIWebServer: self.ALLOWED_EXTENSIONS = {"png", "jpg", "jpeg"} def allowed_file(self, filename: str) -> bool: - return ( - "." in filename - and filename.rsplit(".", 1)[1].lower() in self.ALLOWED_EXTENSIONS - ) + return "." in filename and filename.rsplit(".", 1)[1].lower() in self.ALLOWED_EXTENSIONS def run(self): self.setup_app() @@ -99,9 +96,7 @@ class InvokeAIWebServer: _cors = _cors.split(",") socketio_args["cors_allowed_origins"] = _cors - self.app = Flask( - __name__, static_url_path="", static_folder=frontend.__path__[0] - ) + self.app = Flask(__name__, static_url_path="", static_folder=frontend.__path__[0]) self.socketio = SocketIO(self.app, **socketio_args) @@ -192,9 +187,7 @@ class InvokeAIWebServer: (width, height) = pil_image.size - thumbnail_path = save_thumbnail( - pil_image, os.path.basename(file_path), self.thumbnail_image_path - ) + thumbnail_path = save_thumbnail(pil_image, os.path.basename(file_path), self.thumbnail_image_path) response = { "url": self.get_url_from_image_path(file_path), @@ -237,12 +230,8 @@ class InvokeAIWebServer: f"Point your browser at http{'s' if useSSL else ''}://localhost:{self.port} or use the host's DNS name or IP address." ) else: - logger.info( - "Default host address now 127.0.0.1 (localhost). Use --host 0.0.0.0 to bind any address." - ) - logger.info( - f"Point your browser at http{'s' if useSSL else ''}://{self.host}:{self.port}" - ) + logger.info("Default host address now 127.0.0.1 (localhost). Use --host 0.0.0.0 to bind any address.") + logger.info(f"Point your browser at http{'s' if useSSL else ''}://{self.host}:{self.port}") if not useSSL: self.socketio.run(app=self.app, host=self.host, port=self.port) else: @@ -392,22 +381,16 @@ class InvokeAIWebServer: @socketio.on("convertToDiffusers") def convert_to_diffusers(model_to_convert: dict): try: - if model_info := self.generate.model_manager.model_info( - model_name=model_to_convert["model_name"] - ): + if model_info := self.generate.model_manager.model_info(model_name=model_to_convert["model_name"]): if "weights" in model_info: ckpt_path = Path(model_info["weights"]) original_config_file = Path(model_info["config"]) model_name = model_to_convert["model_name"] model_description = model_info["description"] else: - self.socketio.emit( - "error", {"message": "Model is not a valid checkpoint file"} - ) + self.socketio.emit("error", {"message": "Model is not a valid checkpoint file"}) else: - self.socketio.emit( - "error", {"message": "Could not retrieve model info."} - ) + self.socketio.emit("error", {"message": "Could not retrieve model info."}) if not ckpt_path.is_absolute(): ckpt_path = Path(Globals.root, ckpt_path) @@ -415,22 +398,13 @@ class InvokeAIWebServer: if original_config_file and not original_config_file.is_absolute(): original_config_file = Path(Globals.root, original_config_file) - diffusers_path = Path( - ckpt_path.parent.absolute(), f"{model_name}_diffusers" - ) + diffusers_path = Path(ckpt_path.parent.absolute(), f"{model_name}_diffusers") if model_to_convert["save_location"] == "root": - diffusers_path = Path( - global_converted_ckpts_dir(), f"{model_name}_diffusers" - ) + diffusers_path = Path(global_converted_ckpts_dir(), f"{model_name}_diffusers") - if ( - model_to_convert["save_location"] == "custom" - and model_to_convert["custom_location"] is not None - ): - diffusers_path = Path( - model_to_convert["custom_location"], f"{model_name}_diffusers" - ) + if model_to_convert["save_location"] == "custom" and model_to_convert["custom_location"] is not None: + diffusers_path = Path(model_to_convert["custom_location"], f"{model_name}_diffusers") if diffusers_path.exists(): shutil.rmtree(diffusers_path) @@ -462,10 +436,7 @@ class InvokeAIWebServer: def merge_diffusers_models(model_merge_info: dict): try: models_to_merge = model_merge_info["models_to_merge"] - model_ids_or_paths = [ - self.generate.model_manager.model_name_or_path(x) - for x in models_to_merge - ] + model_ids_or_paths = [self.generate.model_manager.model_name_or_path(x) for x in models_to_merge] merged_pipe = merge_diffusion_models( model_ids_or_paths, model_merge_info["alpha"], @@ -487,15 +458,11 @@ class InvokeAIWebServer: commit_to_conf=opt.conf, ) - if vae := self.generate.model_manager.config[models_to_merge[0]].get( - "vae", None - ): + if vae := self.generate.model_manager.config[models_to_merge[0]].get("vae", None): logger.info(f"Using configured VAE assigned to {models_to_merge[0]}") merged_model_config.update(vae=vae) - self.generate.model_manager.import_diffuser_model( - dump_path, **merged_model_config - ) + self.generate.model_manager.import_diffuser_model(dump_path, **merged_model_config) new_model_list = self.generate.model_manager.list_models() socketio.emit( @@ -525,9 +492,7 @@ class InvokeAIWebServer: ) os.remove(thumbnail_path) except Exception as e: - socketio.emit( - "error", {"message": f"Unable to delete {f}: {str(e)}"} - ) + socketio.emit("error", {"message": f"Unable to delete {f}: {str(e)}"}) pass socketio.emit("tempFolderEmptied") @@ -550,9 +515,7 @@ class InvokeAIWebServer: (width, height) = pil_image.size - thumbnail_path = save_thumbnail( - pil_image, os.path.basename(new_path), self.thumbnail_image_path - ) + thumbnail_path = save_thumbnail(pil_image, os.path.basename(new_path), self.thumbnail_image_path) image_array = [ { @@ -577,18 +540,14 @@ class InvokeAIWebServer: @socketio.on("requestLatestImages") def handle_request_latest_images(category, latest_mtime): try: - base_path = ( - self.result_path if category == "result" else self.init_image_path - ) + base_path = self.result_path if category == "result" else self.init_image_path paths = [] for ext in ("*.png", "*.jpg", "*.jpeg"): paths.extend(glob.glob(os.path.join(base_path, ext))) - image_paths = sorted( - paths, key=lambda x: os.path.getmtime(x), reverse=True - ) + image_paths = sorted(paths, key=lambda x: os.path.getmtime(x), reverse=True) image_paths = list( filter( @@ -609,16 +568,12 @@ class InvokeAIWebServer: pil_image = Image.open(path) (width, height) = pil_image.size - thumbnail_path = save_thumbnail( - pil_image, os.path.basename(path), self.thumbnail_image_path - ) + thumbnail_path = save_thumbnail(pil_image, os.path.basename(path), self.thumbnail_image_path) image_array.append( { "url": self.get_url_from_image_path(path), - "thumbnail": self.get_url_from_image_path( - thumbnail_path - ), + "thumbnail": self.get_url_from_image_path(thumbnail_path), "mtime": os.path.getmtime(path), "metadata": metadata.get("sd-metadata"), "dreamPrompt": metadata.get("Dream"), @@ -628,9 +583,7 @@ class InvokeAIWebServer: } ) except Exception as e: - socketio.emit( - "error", {"message": f"Unable to load {path}: {str(e)}"} - ) + socketio.emit("error", {"message": f"Unable to load {path}: {str(e)}"}) pass socketio.emit( @@ -645,17 +598,13 @@ class InvokeAIWebServer: try: page_size = 50 - base_path = ( - self.result_path if category == "result" else self.init_image_path - ) + base_path = self.result_path if category == "result" else self.init_image_path paths = [] for ext in ("*.png", "*.jpg", "*.jpeg"): paths.extend(glob.glob(os.path.join(base_path, ext))) - image_paths = sorted( - paths, key=lambda x: os.path.getmtime(x), reverse=True - ) + image_paths = sorted(paths, key=lambda x: os.path.getmtime(x), reverse=True) if earliest_mtime: image_paths = list( @@ -679,16 +628,12 @@ class InvokeAIWebServer: pil_image = Image.open(path) (width, height) = pil_image.size - thumbnail_path = save_thumbnail( - pil_image, os.path.basename(path), self.thumbnail_image_path - ) + thumbnail_path = save_thumbnail(pil_image, os.path.basename(path), self.thumbnail_image_path) image_array.append( { "url": self.get_url_from_image_path(path), - "thumbnail": self.get_url_from_image_path( - thumbnail_path - ), + "thumbnail": self.get_url_from_image_path(thumbnail_path), "mtime": os.path.getmtime(path), "metadata": metadata.get("sd-metadata"), "dreamPrompt": metadata.get("Dream"), @@ -699,9 +644,7 @@ class InvokeAIWebServer: ) except Exception as e: logger.info(f"Unable to load {path}") - socketio.emit( - "error", {"message": f"Unable to load {path}: {str(e)}"} - ) + socketio.emit("error", {"message": f"Unable to load {path}: {str(e)}"}) pass socketio.emit( @@ -716,9 +659,7 @@ class InvokeAIWebServer: self.handle_exceptions(e) @socketio.on("generateImage") - def handle_generate_image_event( - generation_parameters, esrgan_parameters, facetool_parameters - ): + def handle_generate_image_event(generation_parameters, esrgan_parameters, facetool_parameters): try: # truncate long init_mask/init_img base64 if needed printable_parameters = { @@ -726,14 +667,10 @@ class InvokeAIWebServer: } if "init_img" in generation_parameters: - printable_parameters["init_img"] = ( - printable_parameters["init_img"][:64] + "..." - ) + printable_parameters["init_img"] = printable_parameters["init_img"][:64] + "..." if "init_mask" in generation_parameters: - printable_parameters["init_mask"] = ( - printable_parameters["init_mask"][:64] + "..." - ) + printable_parameters["init_mask"] = printable_parameters["init_mask"][:64] + "..." logger.info(f"Image Generation Parameters:\n\n{printable_parameters}\n") logger.info(f"ESRGAN Parameters: {esrgan_parameters}") @@ -750,18 +687,14 @@ class InvokeAIWebServer: @socketio.on("runPostprocessing") def handle_run_postprocessing(original_image, postprocessing_parameters): try: - logger.info( - f'Postprocessing requested for "{original_image["url"]}": {postprocessing_parameters}' - ) + logger.info(f'Postprocessing requested for "{original_image["url"]}": {postprocessing_parameters}') progress = Progress() socketio.emit("progressUpdate", progress.to_formatted_dict()) eventlet.sleep(0) - original_image_path = self.get_image_path_from_url( - original_image["url"] - ) + original_image_path = self.get_image_path_from_url(original_image["url"]) image = Image.open(original_image_path) @@ -801,14 +734,10 @@ class InvokeAIWebServer: strength=postprocessing_parameters["facetool_strength"], fidelity=postprocessing_parameters["codeformer_fidelity"], seed=seed, - device="cpu" - if str(self.generate.device) == "mps" - else self.generate.device, + device="cpu" if str(self.generate.device) == "mps" else self.generate.device, ) else: - raise TypeError( - f'{postprocessing_parameters["type"]} is not a valid postprocessing type' - ) + raise TypeError(f'{postprocessing_parameters["type"]} is not a valid postprocessing type') progress.set_current_status("common.statusSavingImage") socketio.emit("progressUpdate", progress.to_formatted_dict()) @@ -832,9 +761,7 @@ class InvokeAIWebServer: postprocessing=postprocessing_parameters["type"], ) - thumbnail_path = save_thumbnail( - image, os.path.basename(path), self.thumbnail_image_path - ) + thumbnail_path = save_thumbnail(image, os.path.basename(path), self.thumbnail_image_path) self.write_log_message( f'[Postprocessed] "{original_image_path}" > "{path}": {postprocessing_parameters}' @@ -901,17 +828,13 @@ class InvokeAIWebServer: "app_version": APP_VERSION, } - def generate_images( - self, generation_parameters, esrgan_parameters, facetool_parameters - ): + def generate_images(self, generation_parameters, esrgan_parameters, facetool_parameters): try: self.canceled.clear() step_index = 1 prior_variations = ( - generation_parameters["with_variations"] - if "with_variations" in generation_parameters - else [] + generation_parameters["with_variations"] if "with_variations" in generation_parameters else [] ) actual_generation_mode = generation_parameters["generation_mode"] @@ -943,9 +866,7 @@ class InvokeAIWebServer: original_bounding_box = generation_parameters["bounding_box"].copy() - initial_image = dataURL_to_image( - generation_parameters["init_img"] - ).convert("RGBA") + initial_image = dataURL_to_image(generation_parameters["init_img"]).convert("RGBA") """ The outpaint image and mask are pre-cropped by the UI, so the bounding box we pass @@ -962,13 +883,9 @@ class InvokeAIWebServer: generation_parameters["bounding_box"]["y"] = 0 # Convert mask dataURL to an image and convert to greyscale - mask_image = dataURL_to_image( - generation_parameters["init_mask"] - ).convert("L") + mask_image = dataURL_to_image(generation_parameters["init_mask"]).convert("L") - actual_generation_mode = get_canvas_generation_mode( - initial_image, mask_image - ) + actual_generation_mode = get_canvas_generation_mode(initial_image, mask_image) """ Apply the mask to the init image, creating a "mask" image with @@ -1018,9 +935,7 @@ class InvokeAIWebServer: elif generation_parameters["generation_mode"] == "img2img": init_img_url = generation_parameters["init_img"] init_img_path = self.get_image_path_from_url(init_img_url) - generation_parameters["init_img"] = Image.open(init_img_path).convert( - "RGB" - ) + generation_parameters["init_img"] = Image.open(init_img_path).convert("RGB") def image_progress(intermediate_state: PipelineIntermediateState): if self.canceled.is_set(): @@ -1046,9 +961,7 @@ class InvokeAIWebServer: } progress.set_current_step(step + 1) - progress.set_current_status( - f"{generation_messages[actual_generation_mode]}" - ) + progress.set_current_status(f"{generation_messages[actual_generation_mode]}") progress.set_current_status_has_steps(True) if ( @@ -1057,9 +970,7 @@ class InvokeAIWebServer: and step < generation_parameters["steps"] - 1 ): image = self.generate.sample_to_image(sample) - metadata = self.parameters_to_generated_image_metadata( - generation_parameters - ) + metadata = self.parameters_to_generated_image_metadata(generation_parameters) command = parameters_to_command(generation_parameters) (width, height) = image.size @@ -1140,15 +1051,10 @@ class InvokeAIWebServer: all_parameters = generation_parameters postprocessing = False - if ( - "variation_amount" in all_parameters - and all_parameters["variation_amount"] > 0 - ): + if "variation_amount" in all_parameters and all_parameters["variation_amount"] > 0: first_seed = first_seed or seed this_variation = [[seed, all_parameters["variation_amount"]]] - all_parameters["with_variations"] = ( - prior_variations + this_variation - ) + all_parameters["with_variations"] = prior_variations + this_variation all_parameters["seed"] = first_seed elif "with_variations" in all_parameters: all_parameters["seed"] = first_seed @@ -1186,9 +1092,7 @@ class InvokeAIWebServer: if facetool_parameters["type"] == "gfpgan": progress.set_current_status("common.statusRestoringFacesGFPGAN") elif facetool_parameters["type"] == "codeformer": - progress.set_current_status( - "common.statusRestoringFacesCodeFormer" - ) + progress.set_current_status("common.statusRestoringFacesCodeFormer") progress.set_current_status_has_steps(False) self.socketio.emit("progressUpdate", progress.to_formatted_dict()) @@ -1206,18 +1110,12 @@ class InvokeAIWebServer: strength=facetool_parameters["strength"], fidelity=facetool_parameters["codeformer_fidelity"], seed=seed, - device="cpu" - if str(self.generate.device) == "mps" - else self.generate.device, + device="cpu" if str(self.generate.device) == "mps" else self.generate.device, ) - all_parameters["codeformer_fidelity"] = facetool_parameters[ - "codeformer_fidelity" - ] + all_parameters["codeformer_fidelity"] = facetool_parameters["codeformer_fidelity"] postprocessing = True - all_parameters["facetool_strength"] = facetool_parameters[ - "strength" - ] + all_parameters["facetool_strength"] = facetool_parameters["strength"] all_parameters["facetool_type"] = facetool_parameters["type"] progress.set_current_status("common.statusSavingImage") @@ -1226,9 +1124,7 @@ class InvokeAIWebServer: # restore the stashed URLS and discard the paths, we are about to send the result to client all_parameters["init_img"] = ( - init_img_url - if generation_parameters["generation_mode"] == "img2img" - else "" + init_img_url if generation_parameters["generation_mode"] == "img2img" else "" ) if "init_mask" in all_parameters: @@ -1246,8 +1142,7 @@ class InvokeAIWebServer: generated_image_outdir = ( self.result_path - if generation_parameters["generation_mode"] - in ["txt2img", "img2img"] + if generation_parameters["generation_mode"] in ["txt2img", "img2img"] else self.temp_image_path ) @@ -1259,9 +1154,7 @@ class InvokeAIWebServer: postprocessing=postprocessing, ) - thumbnail_path = save_thumbnail( - image, os.path.basename(path), self.thumbnail_image_path - ) + thumbnail_path = save_thumbnail(image, os.path.basename(path), self.thumbnail_image_path) logger.info(f'Image generated: "{path}"\n') self.write_log_message(f'[Generated] "{path}": {command}') @@ -1281,14 +1174,10 @@ class InvokeAIWebServer: tokens = ( None if type(parsed_prompt) is Blend - else get_tokens_for_prompt_object( - model.tokenizer, parsed_prompt - ) + else get_tokens_for_prompt_object(model.tokenizer, parsed_prompt) ) attention_maps_image_base64_url = ( - None - if attention_maps_image is None - else image_to_dataURL(attention_maps_image) + None if attention_maps_image is None else image_to_dataURL(attention_maps_image) ) self.socketio.emit( @@ -1382,9 +1271,7 @@ class InvokeAIWebServer: } if parameters["facetool_type"] == "codeformer": - facetool_parameters["fidelity"] = float( - parameters["codeformer_fidelity"] - ) + facetool_parameters["fidelity"] = float(parameters["codeformer_fidelity"]) postprocessing.append(facetool_parameters) @@ -1398,9 +1285,7 @@ class InvokeAIWebServer: } ) - rfc_dict["postprocessing"] = ( - postprocessing if len(postprocessing) > 0 else None - ) + rfc_dict["postprocessing"] = postprocessing if len(postprocessing) > 0 else None # semantic drift rfc_dict["sampler"] = parameters["sampler_name"] @@ -1409,22 +1294,15 @@ class InvokeAIWebServer: variations = [] if "with_variations" in parameters: - variations = [ - {"seed": x[0], "weight": x[1]} - for x in parameters["with_variations"] - ] + variations = [{"seed": x[0], "weight": x[1]} for x in parameters["with_variations"]] rfc_dict["variations"] = variations if rfc_dict["type"] == "img2img": rfc_dict["strength"] = parameters["strength"] rfc_dict["fit"] = parameters["fit"] # TODO: Noncompliant - rfc_dict["orig_hash"] = calculate_init_img_hash( - self.get_image_path_from_url(parameters["init_img"]) - ) - rfc_dict["init_image_path"] = parameters[ - "init_img" - ] # TODO: Noncompliant + rfc_dict["orig_hash"] = calculate_init_img_hash(self.get_image_path_from_url(parameters["init_img"])) + rfc_dict["init_image_path"] = parameters["init_img"] # TODO: Noncompliant metadata["image"] = rfc_dict @@ -1433,9 +1311,7 @@ class InvokeAIWebServer: except Exception as e: self.handle_exceptions(e) - def parameters_to_post_processed_image_metadata( - self, parameters, original_image_path - ): + def parameters_to_post_processed_image_metadata(self, parameters, original_image_path): try: current_metadata = retrieve_metadata(original_image_path)["sd-metadata"] postprocessing_metadata = {} @@ -1447,9 +1323,7 @@ class InvokeAIWebServer: if "image" not in current_metadata: current_metadata["image"] = {} - orig_hash = calculate_init_img_hash( - self.get_image_path_from_url(original_image_path) - ) + orig_hash = calculate_init_img_hash(self.get_image_path_from_url(original_image_path)) postprocessing_metadata["orig_path"] = (original_image_path,) postprocessing_metadata["orig_hash"] = orig_hash @@ -1473,9 +1347,7 @@ class InvokeAIWebServer: if "postprocessing" in current_metadata["image"] and isinstance( current_metadata["image"]["postprocessing"], list ): - current_metadata["image"]["postprocessing"].append( - postprocessing_metadata - ) + current_metadata["image"]["postprocessing"].append(postprocessing_metadata) else: current_metadata["image"]["postprocessing"] = [postprocessing_metadata] @@ -1556,29 +1428,17 @@ class InvokeAIWebServer: """Given a url to an image used by the client, returns the absolute file path to that image""" try: if "init-images" in url: - return os.path.abspath( - os.path.join(self.init_image_path, os.path.basename(url)) - ) + return os.path.abspath(os.path.join(self.init_image_path, os.path.basename(url))) elif "mask-images" in url: - return os.path.abspath( - os.path.join(self.mask_image_path, os.path.basename(url)) - ) + return os.path.abspath(os.path.join(self.mask_image_path, os.path.basename(url))) elif "intermediates" in url: - return os.path.abspath( - os.path.join(self.intermediate_path, os.path.basename(url)) - ) + return os.path.abspath(os.path.join(self.intermediate_path, os.path.basename(url))) elif "temp-images" in url: - return os.path.abspath( - os.path.join(self.temp_image_path, os.path.basename(url)) - ) + return os.path.abspath(os.path.join(self.temp_image_path, os.path.basename(url))) elif "thumbnails" in url: - return os.path.abspath( - os.path.join(self.thumbnail_image_path, os.path.basename(url)) - ) + return os.path.abspath(os.path.join(self.thumbnail_image_path, os.path.basename(url))) else: - return os.path.abspath( - os.path.join(self.result_path, os.path.basename(url)) - ) + return os.path.abspath(os.path.join(self.result_path, os.path.basename(url))) except Exception as e: self.handle_exceptions(e) @@ -1632,18 +1492,14 @@ class Progress: self.total_steps = ( self._calculate_real_steps( steps=generation_parameters["steps"], - strength=generation_parameters["strength"] - if "strength" in generation_parameters - else None, + strength=generation_parameters["strength"] if "strength" in generation_parameters else None, has_init_image="init_img" in generation_parameters, ) if generation_parameters else 1 ) self.current_iteration = 1 - self.total_iterations = ( - generation_parameters["iterations"] if generation_parameters else 1 - ) + self.total_iterations = generation_parameters["iterations"] if generation_parameters else 1 self.current_status = "common.statusPreparing" self.is_processing = True self.current_status_has_steps = False @@ -1703,9 +1559,7 @@ class CanceledException(Exception): pass -def copy_image_from_bounding_box( - image: ImageType, x: int, y: int, width: int, height: int -) -> ImageType: +def copy_image_from_bounding_box(image: ImageType, x: int, y: int, width: int, height: int) -> ImageType: """ Returns a copy an image, cropped to a bounding box. """ @@ -1740,9 +1594,7 @@ def image_to_dataURL(image: ImageType, image_format: str = "PNG") -> str: buffered = io.BytesIO() image.save(buffered, format=image_format) mime_type = Image.MIME.get(image_format.upper(), "image/" + image_format.lower()) - image_base64 = f"data:{mime_type};base64," + base64.b64encode( - buffered.getvalue() - ).decode("UTF-8") + image_base64 = f"data:{mime_type};base64," + base64.b64encode(buffered.getvalue()).decode("UTF-8") return image_base64 diff --git a/invokeai/backend/web/modules/get_canvas_generation_mode.py b/invokeai/backend/web/modules/get_canvas_generation_mode.py index 55955cc33c..6d680016e7 100644 --- a/invokeai/backend/web/modules/get_canvas_generation_mode.py +++ b/invokeai/backend/web/modules/get_canvas_generation_mode.py @@ -40,9 +40,7 @@ def get_canvas_generation_mode( init_img_has_transparency = check_for_any_transparency(init_img) if init_img_has_transparency: - init_img_is_fully_transparent = ( - True if init_img_alpha_mask.getbbox() is None else False - ) + init_img_is_fully_transparent = True if init_img_alpha_mask.getbbox() is None else False """ Mask images are white in areas where no change should be made, black where changes diff --git a/invokeai/backend/web/modules/parameters.py b/invokeai/backend/web/modules/parameters.py index 440f21a947..8ab74adb92 100644 --- a/invokeai/backend/web/modules/parameters.py +++ b/invokeai/backend/web/modules/parameters.py @@ -10,7 +10,7 @@ SAMPLER_CHOICES = [ "lms_k", "pndm", "heun", - 'heun_k', + "heun_k", "euler", "euler_k", "euler_a", @@ -76,9 +76,7 @@ def parameters_to_command(params): if "variation_amount" in params and params["variation_amount"] > 0: switches.append(f'-v {params["variation_amount"]}') if "with_variations" in params: - seed_weight_pairs = ",".join( - f"{seed}:{weight}" for seed, weight in params["with_variations"] - ) + seed_weight_pairs = ",".join(f"{seed}:{weight}" for seed, weight in params["with_variations"]) switches.append(f"-V {seed_weight_pairs}") return " ".join(switches) diff --git a/invokeai/frontend/__init__.py b/invokeai/frontend/__init__.py index 98fdf870e9..19eafe46c4 100644 --- a/invokeai/frontend/__init__.py +++ b/invokeai/frontend/__init__.py @@ -1,3 +1,3 @@ -''' +""" Initialization file for invokeai.frontend -''' +""" diff --git a/invokeai/frontend/install/invokeai_update.py b/invokeai/frontend/install/invokeai_update.py index f73f670496..56d1a313c7 100644 --- a/invokeai/frontend/install/invokeai_update.py +++ b/invokeai/frontend/install/invokeai_update.py @@ -1,7 +1,7 @@ -''' +""" Minimalist updater script. Prompts user for the tag or branch to update to and runs pip install . -''' +""" import os import platform import pkg_resources @@ -15,10 +15,10 @@ from rich.style import Style from invokeai.version import __version__ -INVOKE_AI_SRC="https://github.com/invoke-ai/InvokeAI/archive" -INVOKE_AI_TAG="https://github.com/invoke-ai/InvokeAI/archive/refs/tags" -INVOKE_AI_BRANCH="https://github.com/invoke-ai/InvokeAI/archive/refs/heads" -INVOKE_AI_REL="https://api.github.com/repos/invoke-ai/InvokeAI/releases" +INVOKE_AI_SRC = "https://github.com/invoke-ai/InvokeAI/archive" +INVOKE_AI_TAG = "https://github.com/invoke-ai/InvokeAI/archive/refs/tags" +INVOKE_AI_BRANCH = "https://github.com/invoke-ai/InvokeAI/archive/refs/heads" +INVOKE_AI_REL = "https://api.github.com/repos/invoke-ai/InvokeAI/releases" OS = platform.uname().system ARCH = platform.uname().machine @@ -29,34 +29,38 @@ if OS == "Windows": else: console = Console(style=Style(color="grey74", bgcolor="grey19")) -def get_versions()->dict: + +def get_versions() -> dict: return requests.get(url=INVOKE_AI_REL).json() -def invokeai_is_running()->bool: + +def invokeai_is_running() -> bool: for p in psutil.process_iter(): try: cmdline = p.cmdline() - matches = [x for x in cmdline if x.endswith(('invokeai','invokeai.exe'))] + matches = [x for x in cmdline if x.endswith(("invokeai", "invokeai.exe"))] if matches: - print(f':exclamation: [bold red]An InvokeAI instance appears to be running as process {p.pid}[/red bold]') + print( + f":exclamation: [bold red]An InvokeAI instance appears to be running as process {p.pid}[/red bold]" + ) return True - except (psutil.AccessDenied,psutil.NoSuchProcess): + except (psutil.AccessDenied, psutil.NoSuchProcess): continue return False + def welcome(versions: dict): - @group() def text(): - yield f'InvokeAI Version: [bold yellow]{__version__}' - yield '' - yield 'This script will update InvokeAI to the latest release, or to a development version of your choice.' - yield '' - yield '[bold yellow]Options:' - yield f'''[1] Update to the latest official release ([italic]{versions[0]['tag_name']}[/italic]) + yield f"InvokeAI Version: [bold yellow]{__version__}" + yield "" + yield "This script will update InvokeAI to the latest release, or to a development version of your choice." + yield "" + yield "[bold yellow]Options:" + yield f"""[1] Update to the latest official release ([italic]{versions[0]['tag_name']}[/italic]) [2] Update to the bleeding-edge development version ([italic]main[/italic]) [3] Manually enter the [bold]tag name[/bold] for the version you wish to update to -[4] Manually enter the [bold]branch name[/bold] for the version you wish to update to''' +[4] Manually enter the [bold]branch name[/bold] for the version you wish to update to""" console.rule() print( @@ -72,20 +76,22 @@ def welcome(versions: dict): ) console.line() + def get_extras(): - extras = '' + extras = "" try: - dist = pkg_resources.get_distribution('xformers') - extras = '[xformers]' + dist = pkg_resources.get_distribution("xformers") + extras = "[xformers]" except pkg_resources.DistributionNotFound: pass return extras + def main(): versions = get_versions() if invokeai_is_running(): - print(f':exclamation: [bold red]Please terminate all running instances of InvokeAI before updating.[/red bold]') - input('Press any key to continue...') + print(f":exclamation: [bold red]Please terminate all running instances of InvokeAI before updating.[/red bold]") + input("Press any key to continue...") return welcome(versions) @@ -93,36 +99,36 @@ def main(): tag = None branch = None release = None - choice = Prompt.ask('Choice:',choices=['1','2','3','4'],default='1') - - if choice=='1': - release = versions[0]['tag_name'] - elif choice=='2': - release = 'main' - elif choice=='3': - tag = Prompt.ask('Enter an InvokeAI tag name') - elif choice=='4': - branch = Prompt.ask('Enter an InvokeAI branch name') + choice = Prompt.ask("Choice:", choices=["1", "2", "3", "4"], default="1") + + if choice == "1": + release = versions[0]["tag_name"] + elif choice == "2": + release = "main" + elif choice == "3": + tag = Prompt.ask("Enter an InvokeAI tag name") + elif choice == "4": + branch = Prompt.ask("Enter an InvokeAI branch name") extras = get_extras() - print(f':crossed_fingers: Upgrading to [yellow]{tag if tag else release}[/yellow]') + print(f":crossed_fingers: Upgrading to [yellow]{tag if tag else release}[/yellow]") if release: cmd = f'pip install "invokeai{extras} @ {INVOKE_AI_SRC}/{release}.zip" --use-pep517 --upgrade' elif tag: cmd = f'pip install "invokeai{extras} @ {INVOKE_AI_TAG}/{tag}.zip" --use-pep517 --upgrade' else: cmd = f'pip install "invokeai{extras} @ {INVOKE_AI_BRANCH}/{branch}.zip" --use-pep517 --upgrade' - print('') - print('') - if os.system(cmd)==0: - print(f':heavy_check_mark: Upgrade successful') + print("") + print("") + if os.system(cmd) == 0: + print(f":heavy_check_mark: Upgrade successful") else: - print(f':exclamation: [bold red]Upgrade failed[/red bold]') - + print(f":exclamation: [bold red]Upgrade failed[/red bold]") + + if __name__ == "__main__": try: main() except KeyboardInterrupt: pass - diff --git a/invokeai/frontend/install/model_install.py b/invokeai/frontend/install/model_install.py index 448ded6318..ea9efe1908 100644 --- a/invokeai/frontend/install/model_install.py +++ b/invokeai/frontend/install/model_install.py @@ -56,18 +56,18 @@ logger = InvokeAILogger.getLogger() # build a table mapping all non-printable characters to None # for stripping control characters # from https://stackoverflow.com/questions/92438/stripping-non-printable-characters-from-a-string-in-python -NOPRINT_TRANS_TABLE = { - i: None for i in range(0, sys.maxunicode + 1) if not chr(i).isprintable() -} +NOPRINT_TRANS_TABLE = {i: None for i in range(0, sys.maxunicode + 1) if not chr(i).isprintable()} -def make_printable(s:str)->str: - '''Replace non-printable characters in a string''' + +def make_printable(s: str) -> str: + """Replace non-printable characters in a string""" return s.translate(NOPRINT_TRANS_TABLE) + class addModelsForm(CyclingForm, npyscreen.FormMultiPage): # for responsive resizing set to False, but this seems to cause a crash! FIX_MINIMUM_SIZE_WHEN_CREATED = True - + # for persistence current_tab = 0 @@ -82,12 +82,12 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): self.subprocess_connection = None if not config.model_conf_path.exists(): - with open(config.model_conf_path,'w') as file: - print('# InvokeAI model configuration file',file=file) + with open(config.model_conf_path, "w") as file: + print("# InvokeAI model configuration file", file=file) self.installer = ModelInstall(config) self.all_models = self.installer.all_models() self.starter_models = self.installer.starter_models() - self.model_labels = self._get_model_labels() + self.model_labels = self._get_model_labels() window_width, window_height = get_terminal_size() self.nextrely -= 1 @@ -101,17 +101,17 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): self.tabs = self.add_widget_intelligent( SingleSelectColumns, values=[ - 'STARTER MODELS', - 'MORE MODELS', - 'CONTROLNETS', - 'LORA/LYCORIS', - 'TEXTUAL INVERSION', + "STARTER MODELS", + "MORE MODELS", + "CONTROLNETS", + "LORA/LYCORIS", + "TEXTUAL INVERSION", ], value=[self.current_tab], - columns = 5, - max_height = 2, + columns=5, + max_height=2, relx=8, - scroll_exit = True, + scroll_exit=True, ) self.tabs.on_changed = self._toggle_tables @@ -121,43 +121,41 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): self.nextrely = top_of_table self.pipeline_models = self.add_pipeline_widgets( - model_type=ModelType.Main, - window_width=window_width, - exclude = self.starter_models + model_type=ModelType.Main, window_width=window_width, exclude=self.starter_models ) # self.pipeline_models['autoload_pending'] = True - bottom_of_table = max(bottom_of_table,self.nextrely) + bottom_of_table = max(bottom_of_table, self.nextrely) self.nextrely = top_of_table self.controlnet_models = self.add_model_widgets( model_type=ModelType.ControlNet, window_width=window_width, ) - bottom_of_table = max(bottom_of_table,self.nextrely) + bottom_of_table = max(bottom_of_table, self.nextrely) self.nextrely = top_of_table self.lora_models = self.add_model_widgets( model_type=ModelType.Lora, window_width=window_width, ) - bottom_of_table = max(bottom_of_table,self.nextrely) + bottom_of_table = max(bottom_of_table, self.nextrely) self.nextrely = top_of_table self.ti_models = self.add_model_widgets( model_type=ModelType.TextualInversion, window_width=window_width, ) - bottom_of_table = max(bottom_of_table,self.nextrely) - - self.nextrely = bottom_of_table+1 + bottom_of_table = max(bottom_of_table, self.nextrely) + + self.nextrely = bottom_of_table + 1 self.monitor = self.add_widget_intelligent( BufferBox, - name='Log Messages', + name="Log Messages", editable=False, - max_height = 8, + max_height=8, ) - + self.nextrely += 1 done_label = "APPLY CHANGES" back_label = "BACK" @@ -172,16 +170,14 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): else: self.nextrely = current_position self.cancel_button = self.add_widget_intelligent( - npyscreen.ButtonPress, - name=cancel_label, - when_pressed_function=self.on_cancel + npyscreen.ButtonPress, name=cancel_label, when_pressed_function=self.on_cancel ) self.nextrely = current_position self.ok_button = self.add_widget_intelligent( npyscreen.ButtonPress, name=done_label, relx=(window_width - len(done_label)) // 2, - when_pressed_function=self.on_execute + when_pressed_function=self.on_execute, ) label = "APPLY CHANGES & EXIT" @@ -189,43 +185,41 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): self.done = self.add_widget_intelligent( npyscreen.ButtonPress, name=label, - relx=window_width-len(label)-15, + relx=window_width - len(label) - 15, when_pressed_function=self.on_done, ) # This restores the selected page on return from an installation - for i in range(1,self.current_tab+1): + for i in range(1, self.current_tab + 1): self.tabs.h_cursor_line_down(1) self._toggle_tables([self.current_tab]) - ############# diffusers tab ########## - def add_starter_pipelines(self)->dict[str, npyscreen.widget]: - '''Add widgets responsible for selecting diffusers models''' + ############# diffusers tab ########## + def add_starter_pipelines(self) -> dict[str, npyscreen.widget]: + """Add widgets responsible for selecting diffusers models""" widgets = dict() models = self.all_models starters = self.starter_models starter_model_labels = self.model_labels - - self.installed_models = sorted( - [x for x in starters if models[x].installed] - ) + + self.installed_models = sorted([x for x in starters if models[x].installed]) widgets.update( - label1 = self.add_widget_intelligent( + label1=self.add_widget_intelligent( CenteredTitleText, name="Select from a starter set of Stable Diffusion models from HuggingFace.", editable=False, labelColor="CAUTION", ) ) - + self.nextrely -= 1 # if user has already installed some initial models, then don't patronize them # by showing more recommendations - show_recommended = len(self.installed_models)==0 + show_recommended = len(self.installed_models) == 0 keys = [x for x in models.keys() if x in starters] widgets.update( - models_selected = self.add_widget_intelligent( + models_selected=self.add_widget_intelligent( MultiSelectColumns, columns=1, name="Install Starter Models", @@ -233,40 +227,43 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): value=[ keys.index(x) for x in keys - if (show_recommended and models[x].recommended) \ - or (x in self.installed_models) + if (show_recommended and models[x].recommended) or (x in self.installed_models) ], max_height=len(starters) + 1, relx=4, scroll_exit=True, ), - models = keys, + models=keys, ) self.nextrely += 1 return widgets ############# Add a set of model install widgets ######## - def add_model_widgets(self, - model_type: ModelType, - window_width: int=120, - install_prompt: str=None, - exclude: set=set(), - )->dict[str,npyscreen.widget]: - '''Generic code to create model selection widgets''' + def add_model_widgets( + self, + model_type: ModelType, + window_width: int = 120, + install_prompt: str = None, + exclude: set = set(), + ) -> dict[str, npyscreen.widget]: + """Generic code to create model selection widgets""" widgets = dict() - model_list = [x for x in self.all_models if self.all_models[x].model_type==model_type and not x in exclude] + model_list = [x for x in self.all_models if self.all_models[x].model_type == model_type and not x in exclude] model_labels = [self.model_labels[x] for x in model_list] - show_recommended = len(self.installed_models)==0 + show_recommended = len(self.installed_models) == 0 if len(model_list) > 0: max_width = max([len(x) for x in model_labels]) - columns = window_width // (max_width+8) # 8 characters for "[x] " and padding - columns = min(len(model_list),columns) or 1 - prompt = install_prompt or f"Select the desired {model_type.value.title()} models to install. Unchecked models will be purged from disk." + columns = window_width // (max_width + 8) # 8 characters for "[x] " and padding + columns = min(len(model_list), columns) or 1 + prompt = ( + install_prompt + or f"Select the desired {model_type.value.title()} models to install. Unchecked models will be purged from disk." + ) widgets.update( - label1 = self.add_widget_intelligent( + label1=self.add_widget_intelligent( CenteredTitleText, name=prompt, editable=False, @@ -275,7 +272,7 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): ) widgets.update( - models_selected = self.add_widget_intelligent( + models_selected=self.add_widget_intelligent( MultiSelectColumns, columns=columns, name=f"Install {model_type} Models", @@ -283,21 +280,20 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): value=[ model_list.index(x) for x in model_list - if (show_recommended and self.all_models[x].recommended) \ - or self.all_models[x].installed + if (show_recommended and self.all_models[x].recommended) or self.all_models[x].installed ], - max_height=len(model_list)//columns + 1, + max_height=len(model_list) // columns + 1, relx=4, scroll_exit=True, ), - models = model_list, + models=model_list, ) self.nextrely += 1 widgets.update( - download_ids = self.add_widget_intelligent( + download_ids=self.add_widget_intelligent( TextBox, - name = "Additional URLs, or HuggingFace repo_ids to install (Space separated. Use shift-control-V to paste):", + name="Additional URLs, or HuggingFace repo_ids to install (Space separated. Use shift-control-V to paste):", max_height=4, scroll_exit=True, editable=True, @@ -306,16 +302,17 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): return widgets ### Tab for arbitrary diffusers widgets ### - def add_pipeline_widgets(self, - model_type: ModelType=ModelType.Main, - window_width: int=120, - **kwargs, - )->dict[str,npyscreen.widget]: - '''Similar to add_model_widgets() but adds some additional widgets at the bottom - to support the autoload directory''' + def add_pipeline_widgets( + self, + model_type: ModelType = ModelType.Main, + window_width: int = 120, + **kwargs, + ) -> dict[str, npyscreen.widget]: + """Similar to add_model_widgets() but adds some additional widgets at the bottom + to support the autoload directory""" widgets = self.add_model_widgets( - model_type = model_type, - window_width = window_width, + model_type=model_type, + window_width=window_width, install_prompt=f"Additional {model_type.value.title()} models already installed.", **kwargs, ) @@ -324,7 +321,7 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): def resize(self): super().resize() - if (s := self.starter_pipelines.get("models_selected")): + if s := self.starter_pipelines.get("models_selected"): keys = [x for x in self.all_models.keys() if x in self.starter_models] s.values = [self.model_labels[x] for x in keys] @@ -339,27 +336,27 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): ] for group in widgets: - for k,v in group.items(): + for k, v in group.items(): try: v.hidden = True v.editable = False except: pass - for k,v in widgets[selected_tab].items(): + for k, v in widgets[selected_tab].items(): try: v.hidden = False - if not isinstance(v,(npyscreen.FixedText, npyscreen.TitleFixedText, CenteredTitleText)): + if not isinstance(v, (npyscreen.FixedText, npyscreen.TitleFixedText, CenteredTitleText)): v.editable = True except: pass self.__class__.current_tab = selected_tab # for persistence self.display() - def _get_model_labels(self) -> dict[str,str]: + def _get_model_labels(self) -> dict[str, str]: window_width, window_height = get_terminal_size() checkbox_width = 4 spacing_width = 2 - + models = self.all_models label_width = max([len(models[x].name) for x in models]) description_width = window_width - label_width - checkbox_width - spacing_width @@ -367,30 +364,28 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): result = dict() for x in models.keys(): description = models[x].description - description = description[0 : description_width - 3] + "..." \ - if description and len(description) > description_width \ - else description if description else '' - result[x] = f"%-{label_width}s %s" % (models[x].name, description) + description = ( + description[0 : description_width - 3] + "..." + if description and len(description) > description_width + else description + if description + else "" + ) + result[x] = f"%-{label_width}s %s" % (models[x].name, description) return result - + def _get_columns(self) -> int: window_width, window_height = get_terminal_size() - cols = ( - 4 - if window_width > 240 - else 3 - if window_width > 160 - else 2 - if window_width > 80 - else 1 - ) + cols = 4 if window_width > 240 else 3 if window_width > 160 else 2 if window_width > 80 else 1 return min(cols, len(self.installed_models)) - def confirm_deletions(self, selections: InstallSelections)->bool: + def confirm_deletions(self, selections: InstallSelections) -> bool: remove_models = selections.remove_models if len(remove_models) > 0: mods = "\n".join([ModelManager.parse_key(x)[0] for x in remove_models]) - return npyscreen.notify_ok_cancel(f"These unchecked models will be deleted from disk. Continue?\n---------\n{mods}") + return npyscreen.notify_ok_cancel( + f"These unchecked models will be deleted from disk. Continue?\n---------\n{mods}" + ) else: return True @@ -399,20 +394,20 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): app = self.parentApp if not self.confirm_deletions(app.install_selections): return - - self.monitor.entry_widget.buffer(['Processing...'],scroll_end=True) + + self.monitor.entry_widget.buffer(["Processing..."], scroll_end=True) self.ok_button.hidden = True self.display() - + # for communication with the subprocess parent_conn, child_conn = Pipe() p = Process( - target = process_and_execute, + target=process_and_execute, kwargs=dict( - opt = app.program_opts, - selections = app.install_selections, - conn_out = child_conn, - ) + opt=app.program_opts, + selections=app.install_selections, + conn_out=child_conn, + ), ) p.start() child_conn.close() @@ -429,7 +424,7 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): self.parentApp.setNextForm(None) self.parentApp.user_cancelled = True self.editing = False - + def on_done(self): self.marshall_arguments() if not self.confirm_deletions(self.parentApp.install_selections): @@ -437,75 +432,79 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): self.parentApp.setNextForm(None) self.parentApp.user_cancelled = False self.editing = False - + ########## This routine monitors the child process that is performing model installation and removal ##### def while_waiting(self): - '''Called during idle periods. Main task is to update the Log Messages box with messages - from the child process that does the actual installation/removal''' + """Called during idle periods. Main task is to update the Log Messages box with messages + from the child process that does the actual installation/removal""" c = self.subprocess_connection if not c: return - + monitor_widget = self.monitor.entry_widget while c.poll(): try: - data = c.recv_bytes().decode('utf-8') - data.strip('\n') + data = c.recv_bytes().decode("utf-8") + data.strip("\n") # processing child is requesting user input to select the # right configuration file - if data.startswith('*need v2 config'): - _,model_path,*_ = data.split(":",2) + if data.startswith("*need v2 config"): + _, model_path, *_ = data.split(":", 2) self._return_v2_config(model_path) # processing child is done - elif data=='*done*': + elif data == "*done*": self._close_subprocess_and_regenerate_form() break # update the log message box else: - data=make_printable(data) - data=data.replace('[A','') + data = make_printable(data) + data = data.replace("[A", "") monitor_widget.buffer( - textwrap.wrap(data, - width=monitor_widget.width, - subsequent_indent=' ', - ), - scroll_end=True + textwrap.wrap( + data, + width=monitor_widget.width, + subsequent_indent=" ", + ), + scroll_end=True, ) self.display() - except (EOFError,OSError): + except (EOFError, OSError): self.subprocess_connection = None - def _return_v2_config(self,model_path: str): + def _return_v2_config(self, model_path: str): c = self.subprocess_connection model_name = Path(model_path).name message = select_stable_diffusion_config_file(model_name=model_name) - c.send_bytes(message.encode('utf-8')) + c.send_bytes(message.encode("utf-8")) def _close_subprocess_and_regenerate_form(self): app = self.parentApp self.subprocess_connection.close() self.subprocess_connection = None - self.monitor.entry_widget.buffer(['** Action Complete **']) + self.monitor.entry_widget.buffer(["** Action Complete **"]) self.display() - + # rebuild the form, saving and restoring some of the fields that need to be preserved. saved_messages = self.monitor.entry_widget.values # autoload_dir = str(config.root_path / self.pipeline_models['autoload_directory'].value) # autoscan = self.pipeline_models['autoscan_on_startup'].value - + app.main_form = app.addForm( - "MAIN", addModelsForm, name="Install Stable Diffusion Models", multipage=self.multipage, + "MAIN", + addModelsForm, + name="Install Stable Diffusion Models", + multipage=self.multipage, ) app.switchForm("MAIN") - + app.main_form.monitor.entry_widget.values = saved_messages - app.main_form.monitor.entry_widget.buffer([''],scroll_end=True) + app.main_form.monitor.entry_widget.buffer([""], scroll_end=True) # app.main_form.pipeline_models['autoload_directory'].value = autoload_dir # app.main_form.pipeline_models['autoscan_on_startup'].value = autoscan - + def marshall_arguments(self): """ Assemble arguments and store as attributes of the application: @@ -520,21 +519,29 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): all_models = self.all_models # Defined models (in INITIAL_CONFIG.yaml or models.yaml) to add/remove - ui_sections = [self.starter_pipelines, self.pipeline_models, - self.controlnet_models, self.lora_models, self.ti_models] + ui_sections = [ + self.starter_pipelines, + self.pipeline_models, + self.controlnet_models, + self.lora_models, + self.ti_models, + ] for section in ui_sections: - if not 'models_selected' in section: + if not "models_selected" in section: continue - selected = set([section['models'][x] for x in section['models_selected'].value]) + selected = set([section["models"][x] for x in section["models_selected"].value]) models_to_install = [x for x in selected if not self.all_models[x].installed] - models_to_remove = [x for x in section['models'] if x not in selected and self.all_models[x].installed] + models_to_remove = [x for x in section["models"] if x not in selected and self.all_models[x].installed] selections.remove_models.extend(models_to_remove) - selections.install_models.extend(all_models[x].path or all_models[x].repo_id \ - for x in models_to_install if all_models[x].path or all_models[x].repo_id) + selections.install_models.extend( + all_models[x].path or all_models[x].repo_id + for x in models_to_install + if all_models[x].path or all_models[x].repo_id + ) # models located in the 'download_ids" section for section in ui_sections: - if downloads := section.get('download_ids'): + if downloads := section.get("download_ids"): selections.install_models.extend(downloads.value.split()) # load directory and whether to scan on startup @@ -543,8 +550,9 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): # self.parentApp.autoload_pending = False # selections.autoscan_on_startup = self.pipeline_models['autoscan_on_startup'].value + class AddModelApplication(npyscreen.NPSAppManaged): - def __init__(self,opt): + def __init__(self, opt): super().__init__() self.program_opts = opt self.user_cancelled = False @@ -554,76 +562,83 @@ class AddModelApplication(npyscreen.NPSAppManaged): def onStart(self): npyscreen.setTheme(npyscreen.Themes.DefaultTheme) self.main_form = self.addForm( - "MAIN", addModelsForm, name="Install Stable Diffusion Models", cycle_widgets=False, + "MAIN", + addModelsForm, + name="Install Stable Diffusion Models", + cycle_widgets=False, ) -class StderrToMessage(): + +class StderrToMessage: def __init__(self, connection: Connection): self.connection = connection - def write(self, data:str): - self.connection.send_bytes(data.encode('utf-8')) + def write(self, data: str): + self.connection.send_bytes(data.encode("utf-8")) def flush(self): pass + # -------------------------------------------------------- -def ask_user_for_prediction_type(model_path: Path, - tui_conn: Connection=None - )->SchedulerPredictionType: +def ask_user_for_prediction_type(model_path: Path, tui_conn: Connection = None) -> SchedulerPredictionType: if tui_conn: - logger.debug('Waiting for user response...') - return _ask_user_for_pt_tui(model_path, tui_conn) + logger.debug("Waiting for user response...") + return _ask_user_for_pt_tui(model_path, tui_conn) else: return _ask_user_for_pt_cmdline(model_path) -def _ask_user_for_pt_cmdline(model_path: Path)->SchedulerPredictionType: + +def _ask_user_for_pt_cmdline(model_path: Path) -> SchedulerPredictionType: choices = [SchedulerPredictionType.Epsilon, SchedulerPredictionType.VPrediction, None] print( -f""" + f""" Please select the type of the V2 checkpoint named {model_path.name}: [1] A model based on Stable Diffusion v2 trained on 512 pixel images (SD-2-base) [2] A model based on Stable Diffusion v2 trained on 768 pixel images (SD-2-768) [3] Skip this model and come back later. """ - ) + ) choice = None ok = False while not ok: try: - choice = input('select> ').strip() - choice = choices[int(choice)-1] + choice = input("select> ").strip() + choice = choices[int(choice) - 1] ok = True except (ValueError, IndexError): - print(f'{choice} is not a valid choice') + print(f"{choice} is not a valid choice") except EOFError: return return choice - -def _ask_user_for_pt_tui(model_path: Path, tui_conn: Connection)->SchedulerPredictionType: + + +def _ask_user_for_pt_tui(model_path: Path, tui_conn: Connection) -> SchedulerPredictionType: try: - tui_conn.send_bytes(f'*need v2 config for:{model_path}'.encode('utf-8')) + tui_conn.send_bytes(f"*need v2 config for:{model_path}".encode("utf-8")) # note that we don't do any status checking here - response = tui_conn.recv_bytes().decode('utf-8') + response = tui_conn.recv_bytes().decode("utf-8") if response is None: return None - elif response == 'epsilon': + elif response == "epsilon": return SchedulerPredictionType.epsilon - elif response == 'v': + elif response == "v": return SchedulerPredictionType.VPrediction - elif response == 'abort': - logger.info('Conversion aborted') + elif response == "abort": + logger.info("Conversion aborted") return None else: return response except: return None - + + # -------------------------------------------------------- -def process_and_execute(opt: Namespace, - selections: InstallSelections, - conn_out: Connection=None, - ): +def process_and_execute( + opt: Namespace, + selections: InstallSelections, + conn_out: Connection = None, +): # set up so that stderr is sent to conn_out if conn_out: translator = StderrToMessage(conn_out) @@ -633,66 +648,57 @@ def process_and_execute(opt: Namespace, logger.handlers.clear() logger.addHandler(logging.StreamHandler(translator)) - installer = ModelInstall(config, prediction_type_helper=lambda x: ask_user_for_prediction_type(x,conn_out)) + installer = ModelInstall(config, prediction_type_helper=lambda x: ask_user_for_prediction_type(x, conn_out)) installer.install(selections) if conn_out: - conn_out.send_bytes('*done*'.encode('utf-8')) + conn_out.send_bytes("*done*".encode("utf-8")) conn_out.close() -def do_listings(opt)->bool: + +def do_listings(opt) -> bool: """List installed models of various sorts, and return True if any were requested.""" model_manager = ModelManager(config.model_conf_path) - if opt.list_models == 'diffusers': + if opt.list_models == "diffusers": print("Diffuser models:") model_manager.print_models() - elif opt.list_models == 'controlnets': + elif opt.list_models == "controlnets": print("Installed Controlnet Models:") cnm = model_manager.list_controlnet_models() - print(textwrap.indent("\n".join([x for x in cnm if cnm[x]]),prefix=' ')) - elif opt.list_models == 'loras': + print(textwrap.indent("\n".join([x for x in cnm if cnm[x]]), prefix=" ")) + elif opt.list_models == "loras": print("Installed LoRA/LyCORIS Models:") cnm = model_manager.list_lora_models() - print(textwrap.indent("\n".join([x for x in cnm if cnm[x]]),prefix=' ')) - elif opt.list_models == 'tis': + print(textwrap.indent("\n".join([x for x in cnm if cnm[x]]), prefix=" ")) + elif opt.list_models == "tis": print("Installed Textual Inversion Embeddings:") cnm = model_manager.list_ti_models() - print(textwrap.indent("\n".join([x for x in cnm if cnm[x]]),prefix=' ')) + print(textwrap.indent("\n".join([x for x in cnm if cnm[x]]), prefix=" ")) else: return False return True + # -------------------------------------------------------- def select_and_download_models(opt: Namespace): - precision = ( - "float32" - if opt.full_precision - else choose_precision(torch.device(choose_torch_device())) - ) + precision = "float32" if opt.full_precision else choose_precision(torch.device(choose_torch_device())) config.precision = precision helper = lambda x: ask_user_for_prediction_type(x) # if do_listings(opt): # pass - + installer = ModelInstall(config, prediction_type_helper=helper) if opt.list_models: installer.list_models(opt.list_models) elif opt.add or opt.delete: - selections = InstallSelections( - install_models = opt.add or [], - remove_models = opt.delete or [] - ) + selections = InstallSelections(install_models=opt.add or [], remove_models=opt.delete or []) installer.install(selections) elif opt.default_only: - selections = InstallSelections( - install_models = installer.default_model() - ) + selections = InstallSelections(install_models=installer.default_model()) installer.install(selections) elif opt.yes_to_all: - selections = InstallSelections( - install_models = installer.recommended_models() - ) + selections = InstallSelections(install_models=installer.recommended_models()) installer.install(selections) # this is where the TUI is called @@ -707,15 +713,15 @@ def select_and_download_models(opt: Namespace): try: installApp.run() except KeyboardInterrupt as e: - if hasattr(installApp,'main_form'): - if installApp.main_form.subprocess \ - and installApp.main_form.subprocess.is_alive(): - logger.info('Terminating subprocesses') + if hasattr(installApp, "main_form"): + if installApp.main_form.subprocess and installApp.main_form.subprocess.is_alive(): + logger.info("Terminating subprocesses") installApp.main_form.subprocess.terminate() installApp.main_form.subprocess = None raise e process_and_execute(opt, installApp.install_selections) + # ------------------------------------- def main(): parser = argparse.ArgumentParser(description="InvokeAI model downloader") @@ -770,19 +776,17 @@ def main(): help="path to root of install directory", ) opt = parser.parse_args() - + invoke_args = [] if opt.root: - invoke_args.extend(['--root',opt.root]) + invoke_args.extend(["--root", opt.root]) if opt.full_precision: - invoke_args.extend(['--precision','float32']) + invoke_args.extend(["--precision", "float32"]) config.parse_args(invoke_args) logger = InvokeAILogger().getLogger(config=config) if not config.model_conf_path.exists(): - logger.info( - "Your InvokeAI root directory is not set up. Calling invokeai-configure." - ) + logger.info("Your InvokeAI root directory is not set up. Calling invokeai-configure.") from invokeai.frontend.install import invokeai_configure invokeai_configure() @@ -800,20 +804,18 @@ def main(): logger.info("Goodbye! Come back soon.") except widget.NotEnoughSpaceForWidget as e: if str(e).startswith("Height of 1 allocated"): - logger.error( - "Insufficient vertical space for the interface. Please make your window taller and try again" - ) - input('Press any key to continue...') + logger.error("Insufficient vertical space for the interface. Please make your window taller and try again") + input("Press any key to continue...") except Exception as e: if str(e).startswith("addwstr"): logger.error( "Insufficient horizontal space for the interface. Please make your window wider and try again." ) else: - print(f'An exception has occurred: {str(e)} Details:') + print(f"An exception has occurred: {str(e)} Details:") print(traceback.format_exc(), file=sys.stderr) - input('Press any key to continue...') - + input("Press any key to continue...") + # ------------------------------------- if __name__ == "__main__": diff --git a/invokeai/frontend/install/widgets.py b/invokeai/frontend/install/widgets.py index 65f1589589..10da15bf13 100644 --- a/invokeai/frontend/install/widgets.py +++ b/invokeai/frontend/install/widgets.py @@ -14,40 +14,42 @@ import textwrap import npyscreen.wgmultiline as wgmultiline from npyscreen import fmPopup from shutil import get_terminal_size -from curses import BUTTON2_CLICKED,BUTTON3_CLICKED +from curses import BUTTON2_CLICKED, BUTTON3_CLICKED # minimum size for UIs MIN_COLS = 130 MIN_LINES = 38 + # ------------------------------------- def set_terminal_size(columns: int, lines: int): ts = get_terminal_size() - width = max(columns,ts.columns) - height = max(lines,ts.lines) + width = max(columns, ts.columns) + height = max(lines, ts.lines) OS = platform.uname().system if OS == "Windows": pass # not working reliably - ask user to adjust the window - #_set_terminal_size_powershell(width,height) + # _set_terminal_size_powershell(width,height) elif OS in ["Darwin", "Linux"]: - _set_terminal_size_unix(width,height) + _set_terminal_size_unix(width, height) # check whether it worked.... ts = get_terminal_size() pause = False if ts.columns < columns: - print('\033[1mThis window is too narrow for the user interface.\033[0m') + print("\033[1mThis window is too narrow for the user interface.\033[0m") pause = True if ts.lines < lines: - print('\033[1mThis window is too short for the user interface.\033[0m') + print("\033[1mThis window is too short for the user interface.\033[0m") pause = True if pause: - input('Maximize the window then press any key to continue..') + input("Maximize the window then press any key to continue..") + def _set_terminal_size_powershell(width: int, height: int): - script=f''' + script = f""" $pshost = get-host $pswindow = $pshost.ui.rawui $newsize = $pswindow.buffersize @@ -58,8 +60,9 @@ $newsize = $pswindow.windowsize $newsize.height = {height} $newsize.width = {width} $pswindow.windowsize = $newsize -''' - subprocess.run(["powershell","-Command","-"],input=script,text=True) +""" + subprocess.run(["powershell", "-Command", "-"], input=script, text=True) + def _set_terminal_size_unix(width: int, height: int): import fcntl @@ -67,15 +70,16 @@ def _set_terminal_size_unix(width: int, height: int): # These terminals accept the size command and report that the # size changed, but they lie!!! - for bad_terminal in ['TERMINATOR_UUID', 'ALACRITTY_WINDOW_ID']: + for bad_terminal in ["TERMINATOR_UUID", "ALACRITTY_WINDOW_ID"]: if os.environ.get(bad_terminal): return - + winsize = struct.pack("HHHH", height, width, 0, 0) fcntl.ioctl(sys.stdout.fileno(), termios.TIOCSWINSZ, winsize) sys.stdout.write("\x1b[8;{height};{width}t".format(height=height, width=width)) sys.stdout.flush() + def set_min_terminal_size(min_cols: int, min_lines: int): # make sure there's enough room for the ui term_cols, term_lines = get_terminal_size() @@ -85,6 +89,7 @@ def set_min_terminal_size(min_cols: int, min_lines: int): lines = max(term_lines, min_lines) set_terminal_size(cols, lines) + class IntSlider(npyscreen.Slider): def translate_value(self): stri = "%2d / %2d" % (self.value, self.out_of) @@ -92,23 +97,25 @@ class IntSlider(npyscreen.Slider): stri = stri.rjust(l) return stri + # ------------------------------------- # fix npyscreen form so that cursor wraps both forward and backward class CyclingForm(object): def find_previous_editable(self, *args): done = False - n = self.editw-1 + n = self.editw - 1 while not done: if self._widgets__[n].editable and not self._widgets__[n].hidden: self.editw = n done = True n -= 1 - if n<0: + if n < 0: if self.cycle_widgets: - n = len(self._widgets__)-1 + n = len(self._widgets__) - 1 else: done = True - + + # ------------------------------------- class CenteredTitleText(npyscreen.TitleText): def __init__(self, *args, **keywords): @@ -159,7 +166,8 @@ class FloatSlider(npyscreen.Slider): class FloatTitleSlider(npyscreen.TitleText): _entry_type = FloatSlider -class SelectColumnBase(): + +class SelectColumnBase: def make_contained_widgets(self): self._my_widgets = [] column_width = self.width // self.columns @@ -217,11 +225,12 @@ class SelectColumnBase(): row_no = rel_y // self._contained_widget_height self.cursor_line = column_no * column_height + row_no if bstate & curses.BUTTON1_DOUBLE_CLICKED: - if hasattr(self,'on_mouse_double_click'): + if hasattr(self, "on_mouse_double_click"): self.on_mouse_double_click(self.cursor_line) self.display() -class MultiSelectColumns( SelectColumnBase, npyscreen.MultiSelect): + +class MultiSelectColumns(SelectColumnBase, npyscreen.MultiSelect): def __init__(self, screen, columns: int = 1, values: list = [], **keywords): self.columns = columns self.value_cnt = len(values) @@ -231,15 +240,17 @@ class MultiSelectColumns( SelectColumnBase, npyscreen.MultiSelect): def on_mouse_double_click(self, cursor_line): self.h_select_toggle(cursor_line) -class SingleSelectWithChanged(npyscreen.SelectOne): - def __init__(self,*args,**kwargs): - super().__init__(*args,**kwargs) - def h_select(self,ch): +class SingleSelectWithChanged(npyscreen.SelectOne): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def h_select(self, ch): super().h_select(ch) if self.on_changed: self.on_changed(self.value) + class SingleSelectColumns(SelectColumnBase, SingleSelectWithChanged): def __init__(self, screen, columns: int = 1, values: list = [], **keywords): self.columns = columns @@ -254,23 +265,25 @@ class SingleSelectColumns(SelectColumnBase, SingleSelectWithChanged): def when_cursor_moved(self): self.h_select(self.cursor_line) - def h_cursor_line_right(self,ch): - self.h_exit_down('bye bye') + def h_cursor_line_right(self, ch): + self.h_exit_down("bye bye") + class TextBoxInner(npyscreen.MultiLineEdit): - - def __init__(self,*args,**kwargs): - super().__init__(*args,**kwargs) + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) self.yank = None - self.handlers.update({ - "^A": self.h_cursor_to_start, - "^E": self.h_cursor_to_end, - "^K": self.h_kill, - "^F": self.h_cursor_right, - "^B": self.h_cursor_left, - "^Y": self.h_yank, - "^V": self.h_paste, - }) + self.handlers.update( + { + "^A": self.h_cursor_to_start, + "^E": self.h_cursor_to_end, + "^K": self.h_kill, + "^F": self.h_cursor_right, + "^B": self.h_cursor_left, + "^Y": self.h_yank, + "^V": self.h_paste, + } + ) def h_cursor_to_start(self, input): self.cursor_position = 0 @@ -279,27 +292,27 @@ class TextBoxInner(npyscreen.MultiLineEdit): self.cursor_position = len(self.value) def h_kill(self, input): - self.yank = self.value[self.cursor_position:] - self.value = self.value[:self.cursor_position] + self.yank = self.value[self.cursor_position :] + self.value = self.value[: self.cursor_position] def h_yank(self, input): if self.yank: self.paste(self.yank) def paste(self, text: str): - self.value = self.value[:self.cursor_position] + text + self.value[self.cursor_position:] + self.value = self.value[: self.cursor_position] + text + self.value[self.cursor_position :] self.cursor_position += len(text) - def h_paste(self, input: int=0): + def h_paste(self, input: int = 0): try: text = pyperclip.paste() except ModuleNotFoundError: text = "To paste with the mouse on Linux, please install the 'xclip' program." self.paste(text) - + def handle_mouse_event(self, mouse_event): mouse_id, rel_x, rel_y, z, bstate = self.interpret_mouse_event(mouse_event) - if bstate & (BUTTON2_CLICKED|BUTTON3_CLICKED): + if bstate & (BUTTON2_CLICKED | BUTTON3_CLICKED): self.h_paste() # def update(self, clear=True): @@ -320,77 +333,87 @@ class TextBoxInner(npyscreen.MultiLineEdit): # self.rely, self.relx + WIDTH, curses.ACS_VLINE, HEIGHT # ) - # # draw corners - # self.parent.curses_pad.addch( - # self.rely, - # self.relx, - # curses.ACS_ULCORNER, - # ) - # self.parent.curses_pad.addch( - # self.rely, - # self.relx + WIDTH, - # curses.ACS_URCORNER, - # ) - # self.parent.curses_pad.addch( - # self.rely + HEIGHT, - # self.relx, - # curses.ACS_LLCORNER, - # ) - # self.parent.curses_pad.addch( - # self.rely + HEIGHT, - # self.relx + WIDTH, - # curses.ACS_LRCORNER, - # ) + # # draw corners + # self.parent.curses_pad.addch( + # self.rely, + # self.relx, + # curses.ACS_ULCORNER, + # ) + # self.parent.curses_pad.addch( + # self.rely, + # self.relx + WIDTH, + # curses.ACS_URCORNER, + # ) + # self.parent.curses_pad.addch( + # self.rely + HEIGHT, + # self.relx, + # curses.ACS_LLCORNER, + # ) + # self.parent.curses_pad.addch( + # self.rely + HEIGHT, + # self.relx + WIDTH, + # curses.ACS_LRCORNER, + # ) + + # # fool our superclass into thinking drawing area is smaller - this is really hacky but it seems to work + # (relx, rely, height, width) = (self.relx, self.rely, self.height, self.width) + # self.relx += 1 + # self.rely += 1 + # self.height -= 1 + # self.width -= 1 + # super().update(clear=False) + # (self.relx, self.rely, self.height, self.width) = (relx, rely, height, width) - # # fool our superclass into thinking drawing area is smaller - this is really hacky but it seems to work - # (relx, rely, height, width) = (self.relx, self.rely, self.height, self.width) - # self.relx += 1 - # self.rely += 1 - # self.height -= 1 - # self.width -= 1 - # super().update(clear=False) - # (self.relx, self.rely, self.height, self.width) = (relx, rely, height, width) class TextBox(npyscreen.BoxTitle): _contained_widget = TextBoxInner + class BufferBox(npyscreen.BoxTitle): _contained_widget = npyscreen.BufferPager + class ConfirmCancelPopup(fmPopup.ActionPopup): DEFAULT_COLUMNS = 100 + def on_ok(self): self.value = True + def on_cancel(self): self.value = False - + + class FileBox(npyscreen.BoxTitle): _contained_widget = npyscreen.Filename - + + class PrettyTextBox(npyscreen.BoxTitle): _contained_widget = TextBox - + + def _wrap_message_lines(message, line_length): lines = [] - for line in message.split('\n'): + for line in message.split("\n"): lines.extend(textwrap.wrap(line.rstrip(), line_length)) return lines - + + def _prepare_message(message): if isinstance(message, list) or isinstance(message, tuple): - return "\n".join([ s.rstrip() for s in message]) - #return "\n".join(message) + return "\n".join([s.rstrip() for s in message]) + # return "\n".join(message) else: return message - + + def select_stable_diffusion_config_file( - form_color: str='DANGER', - wrap:bool =True, - model_name:str='Unknown', + form_color: str = "DANGER", + wrap: bool = True, + model_name: str = "Unknown", ): message = f"Please select the correct base model for the V2 checkpoint named '{model_name}'. Press to skip installation." title = "CONFIG FILE SELECTION" - options=[ + options = [ "An SD v2.x base model (512 pixels; no 'parameterization:' line in its yaml file)", "An SD v2.x v-predictive model (768 pixels; 'parameterization: \"v\"' line in its yaml file)", "Skip installation for now and come back later", @@ -403,22 +426,22 @@ def select_stable_diffusion_config_file( lines=16, ) F.preserve_selected_widget = True - + mlw = F.add( wgmultiline.Pager, max_height=4, editable=False, ) - mlw_width = mlw.width-1 + mlw_width = mlw.width - 1 if wrap: message = _wrap_message_lines(message, mlw_width) mlw.values = message choice = F.add( npyscreen.SelectOne, - values = options, - value = [0], - max_height = len(options)+1, + values=options, + value=[0], + max_height=len(options) + 1, scroll_exit=True, ) @@ -426,6 +449,6 @@ def select_stable_diffusion_config_file( F.edit() if not F.value: return None - assert choice.value[0] in range(0,3),'invalid choice' - choices = ['epsilon','v','abort'] + assert choice.value[0] in range(0, 3), "invalid choice" + choices = ["epsilon", "v", "abort"] return choices[choice.value[0]] diff --git a/invokeai/frontend/legacy_launch_invokeai.py b/invokeai/frontend/legacy_launch_invokeai.py index 349fa5b945..e4509db6e5 100644 --- a/invokeai/frontend/legacy_launch_invokeai.py +++ b/invokeai/frontend/legacy_launch_invokeai.py @@ -2,18 +2,22 @@ import os import sys import argparse + def main(): parser = argparse.ArgumentParser() - parser.add_argument('--web', action='store_true') - opts,_ = parser.parse_known_args() + parser.add_argument("--web", action="store_true") + opts, _ = parser.parse_known_args() if opts.web: - sys.argv.pop(sys.argv.index('--web')) + sys.argv.pop(sys.argv.index("--web")) from invokeai.app.api_app import invoke_api + invoke_api() else: from invokeai.app.cli_app import invoke_cli + invoke_cli() -if __name__ == '__main__': + +if __name__ == "__main__": main() diff --git a/invokeai/frontend/merge/__init__.py b/invokeai/frontend/merge/__init__.py index f1fc66c39e..3a2e4474a5 100644 --- a/invokeai/frontend/merge/__init__.py +++ b/invokeai/frontend/merge/__init__.py @@ -2,4 +2,3 @@ Initialization file for invokeai.frontend.merge """ from .merge_diffusers import main as invokeai_merge_diffusers - diff --git a/invokeai/frontend/merge/merge_diffusers.py b/invokeai/frontend/merge/merge_diffusers.py index c20d913883..81a7b3f6c8 100644 --- a/invokeai/frontend/merge/merge_diffusers.py +++ b/invokeai/frontend/merge/merge_diffusers.py @@ -20,13 +20,17 @@ from omegaconf import OmegaConf import invokeai.backend.util.logging as logger from invokeai.app.services.config import InvokeAIAppConfig from invokeai.backend.model_management import ( - ModelMerger, MergeInterpolationMethod, - ModelManager, ModelType, BaseModelType, + ModelMerger, + MergeInterpolationMethod, + ModelManager, + ModelType, + BaseModelType, ) from invokeai.frontend.install.widgets import FloatTitleSlider, TextBox, SingleSelectColumns config = InvokeAIAppConfig.get_config() + def _parse_args() -> Namespace: parser = argparse.ArgumentParser(description="InvokeAI model merging") parser.add_argument( @@ -134,14 +138,14 @@ class mergeModelsForm(npyscreen.FormMultiPageAction): self.base_select = self.add_widget_intelligent( SingleSelectColumns, values=[ - 'Models Built on SD-1.x', - 'Models Built on SD-2.x', + "Models Built on SD-1.x", + "Models Built on SD-2.x", ], value=[self.current_base], - columns = 4, - max_height = 2, + columns=4, + max_height=2, relx=8, - scroll_exit = True, + scroll_exit=True, ) self.base_select.on_changed = self._populate_models self.add_widget_intelligent( @@ -300,15 +304,11 @@ class mergeModelsForm(npyscreen.FormMultiPageAction): def validate_field_values(self) -> bool: bad_fields = [] model_names = self.model_names - selected_models = set( - (model_names[self.model1.value[0]], model_names[self.model2.value[0]]) - ) + selected_models = set((model_names[self.model1.value[0]], model_names[self.model2.value[0]])) if self.model3.value[0] > 0: selected_models.add(model_names[self.model3.value[0] - 1]) if len(selected_models) < 2: - bad_fields.append( - f"Please select two or three DIFFERENT models to compare. You selected {selected_models}" - ) + bad_fields.append(f"Please select two or three DIFFERENT models to compare. You selected {selected_models}") if len(bad_fields) > 0: message = "The following problems were detected and must be corrected:" for problem in bad_fields: @@ -318,7 +318,7 @@ class mergeModelsForm(npyscreen.FormMultiPageAction): else: return True - def get_model_names(self, base_model: BaseModelType=None) -> List[str]: + def get_model_names(self, base_model: BaseModelType = None) -> List[str]: model_names = [ info["name"] for info in self.model_manager.list_models(model_type=ModelType.Main, base_model=base_model) @@ -326,20 +326,21 @@ class mergeModelsForm(npyscreen.FormMultiPageAction): ] return sorted(model_names) - def _populate_models(self,value=None): + def _populate_models(self, value=None): base_model = tuple(BaseModelType)[value[0]] self.model_names = self.get_model_names(base_model) - + models_plus_none = self.model_names.copy() models_plus_none.insert(0, "None") self.model1.values = self.model_names self.model2.values = self.model_names self.model3.values = models_plus_none - + self.display() + class Mergeapp(npyscreen.NPSAppManaged): - def __init__(self, model_manager:ModelManager): + def __init__(self, model_manager: ModelManager): super().__init__() self.model_manager = model_manager @@ -367,9 +368,7 @@ def run_cli(args: Namespace): if not args.merged_model_name: args.merged_model_name = "+".join(args.model_names) - logger.info( - f'No --merged_model_name provided. Defaulting to "{args.merged_model_name}"' - ) + logger.info(f'No --merged_model_name provided. Defaulting to "{args.merged_model_name}"') model_manager = ModelManager(config.model_conf_path) assert ( @@ -383,7 +382,7 @@ def run_cli(args: Namespace): def main(): args = _parse_args() - config.parse_args(['--root',str(args.root_dir)]) + config.parse_args(["--root", str(args.root_dir)]) try: if args.front_end: @@ -392,13 +391,9 @@ def main(): run_cli(args) except widget.NotEnoughSpaceForWidget as e: if str(e).startswith("Height of 1 allocated"): - logger.error( - "You need to have at least two diffusers models defined in models.yaml in order to merge" - ) + logger.error("You need to have at least two diffusers models defined in models.yaml in order to merge") else: - logger.error( - "Not enough room for the user interface. Try making this window larger." - ) + logger.error("Not enough room for the user interface. Try making this window larger.") sys.exit(-1) except Exception as e: logger.error(e) diff --git a/invokeai/frontend/training/textual_inversion.py b/invokeai/frontend/training/textual_inversion.py index e1c7b3749f..25debf4bdc 100755 --- a/invokeai/frontend/training/textual_inversion.py +++ b/invokeai/frontend/training/textual_inversion.py @@ -23,16 +23,14 @@ from omegaconf import OmegaConf import invokeai.backend.util.logging as logger from invokeai.app.services.config import InvokeAIAppConfig -from ...backend.training import ( - do_textual_inversion_training, - parse_args -) +from ...backend.training import do_textual_inversion_training, parse_args TRAINING_DATA = "text-inversion-training-data" TRAINING_DIR = "text-inversion-output" CONF_FILE = "preferences.conf" config = None + class textualInversionForm(npyscreen.FormMultiPageAction): resolutions = [512, 768, 1024] lr_schedulers = [ @@ -111,9 +109,7 @@ class textualInversionForm(npyscreen.FormMultiPageAction): npyscreen.TitleSelectOne, name="Learnable property:", values=self.learnable_properties, - value=self.learnable_properties.index( - saved_args.get("learnable_property", "object") - ), + value=self.learnable_properties.index(saved_args.get("learnable_property", "object")), max_height=4, scroll_exit=True, ) @@ -243,9 +239,7 @@ class textualInversionForm(npyscreen.FormMultiPageAction): def initializer_changed(self): placeholder = self.placeholder_token.value self.prompt_token.value = f"(Trigger by using <{placeholder}> in your prompts)" - self.train_data_dir.value = str( - config.root_dir / TRAINING_DATA / placeholder - ) + self.train_data_dir.value = str(config.root_dir / TRAINING_DATA / placeholder) self.output_dir.value = str(config.root_dir / TRAINING_DIR / placeholder) self.resume_from_checkpoint.value = Path(self.output_dir.value).exists() @@ -254,9 +248,7 @@ class textualInversionForm(npyscreen.FormMultiPageAction): self.parentApp.setNextForm(None) self.editing = False self.parentApp.ti_arguments = self.marshall_arguments() - npyscreen.notify( - "Launching textual inversion training. This will take a while..." - ) + npyscreen.notify("Launching textual inversion training. This will take a while...") else: self.editing = True @@ -266,13 +258,9 @@ class textualInversionForm(npyscreen.FormMultiPageAction): def validate_field_values(self) -> bool: bad_fields = [] if self.model.value is None: - bad_fields.append( - "Model Name must correspond to a known model in models.yaml" - ) + bad_fields.append("Model Name must correspond to a known model in models.yaml") if not re.match("^[a-zA-Z0-9.-]+$", self.placeholder_token.value): - bad_fields.append( - "Trigger term must only contain alphanumeric characters, the dot and hyphen" - ) + bad_fields.append("Trigger term must only contain alphanumeric characters, the dot and hyphen") if self.train_data_dir.value is None: bad_fields.append("Data Training Directory cannot be empty") if self.output_dir.value is None: @@ -288,16 +276,8 @@ class textualInversionForm(npyscreen.FormMultiPageAction): def get_model_names(self) -> Tuple[List[str], int]: conf = OmegaConf.load(config.root_dir / "configs/models.yaml") - model_names = [ - idx - for idx in sorted(list(conf.keys())) - if conf[idx].get("format", None) == "diffusers" - ] - defaults = [ - idx - for idx in range(len(model_names)) - if "default" in conf[model_names[idx]] - ] + model_names = [idx for idx in sorted(list(conf.keys())) if conf[idx].get("format", None) == "diffusers"] + defaults = [idx for idx in range(len(model_names)) if "default" in conf[model_names[idx]]] default = defaults[0] if len(defaults) > 0 else 0 return (model_names, default) @@ -310,9 +290,7 @@ class textualInversionForm(npyscreen.FormMultiPageAction): resolution=self.resolutions[self.resolution.value[0]], lr_scheduler=self.lr_schedulers[self.lr_scheduler.value[0]], mixed_precision=self.precisions[self.mixed_precision.value[0]], - learnable_property=self.learnable_properties[ - self.learnable_property.value[0] - ], + learnable_property=self.learnable_properties[self.learnable_property.value[0]], ) # all the strings and booleans @@ -374,9 +352,7 @@ def copy_to_embeddings_folder(args: dict): os.makedirs(destination, exist_ok=True) logger.info(f"Training completed. Copying learned_embeds.bin into {str(destination)}") shutil.copy(source, destination) - if ( - input("Delete training logs and intermediate checkpoints? [y] ") or "y" - ).startswith(("y", "Y")): + if (input("Delete training logs and intermediate checkpoints? [y] ") or "y").startswith(("y", "Y")): shutil.rmtree(Path(args["output_dir"])) else: logger.info(f'Keeping {args["output_dir"]}') @@ -423,7 +399,7 @@ def do_front_end(args: Namespace): save_args(args) try: - do_textual_inversion_training(InvokeAIAppConfig.get_config(),**args) + do_textual_inversion_training(InvokeAIAppConfig.get_config(), **args) copy_to_embeddings_folder(args) except Exception as e: logger.error("An exception occurred during training. The exception was:") @@ -434,19 +410,19 @@ def do_front_end(args: Namespace): def main(): global config - + args = parse_args() config = InvokeAIAppConfig.get_config() # change root if needed if args.root_dir: config.root = args.root_dir - + try: if args.front_end: do_front_end(args) else: - do_textual_inversion_training(config,**vars(args)) + do_textual_inversion_training(config, **vars(args)) except AssertionError as e: logger.error(e) sys.exit(-1) @@ -454,13 +430,9 @@ def main(): pass except (widget.NotEnoughSpaceForWidget, Exception) as e: if str(e).startswith("Height of 1 allocated"): - logger.error( - "You need to have at least one diffusers models defined in models.yaml in order to train" - ) + logger.error("You need to have at least one diffusers models defined in models.yaml in order to train") elif str(e).startswith("addwstr"): - logger.error( - "Not enough window space for the interface. Please make your window larger and try again." - ) + logger.error("Not enough window space for the interface. Please make your window larger and try again.") else: logger.error(e) sys.exit(-1) diff --git a/invokeai/frontend/web/__init__.py b/invokeai/frontend/web/__init__.py index 010129ece2..e9758b27b6 100644 --- a/invokeai/frontend/web/__init__.py +++ b/invokeai/frontend/web/__init__.py @@ -1,3 +1,3 @@ -''' +""" Initialization file for invokeai.frontend.web -''' +""" diff --git a/invokeai/version/__init__.py b/invokeai/version/__init__.py index 01ef84ea4d..21dfcad3ca 100644 --- a/invokeai/version/__init__.py +++ b/invokeai/version/__init__.py @@ -6,6 +6,7 @@ from .invokeai_version import __version__ __app_id__ = "invoke-ai/InvokeAI" __app_name__ = "InvokeAI" + def _ignore_xformers_triton_message_on_windows(): import logging diff --git a/notebooks/notebook_helpers.py b/notebooks/notebook_helpers.py index 663b212ac5..b87f18ba18 100644 --- a/notebooks/notebook_helpers.py +++ b/notebooks/notebook_helpers.py @@ -2,6 +2,7 @@ from torchvision.datasets.utils import download_url from ldm.util import instantiate_from_config import torch import os + # todo ? from google.colab import files from IPython.display import Image as ipyimg @@ -16,21 +17,21 @@ import time from omegaconf import OmegaConf from ldm.invoke.devices import choose_torch_device -def download_models(mode): +def download_models(mode): if mode == "superresolution": # this is the small bsr light model - url_conf = 'https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1' - url_ckpt = 'https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1' + url_conf = "https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1" + url_ckpt = "https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1" - path_conf = 'logs/diffusion/superresolution_bsr/configs/project.yaml' - path_ckpt = 'logs/diffusion/superresolution_bsr/checkpoints/last.ckpt' + path_conf = "logs/diffusion/superresolution_bsr/configs/project.yaml" + path_ckpt = "logs/diffusion/superresolution_bsr/checkpoints/last.ckpt" download_url(url_conf, path_conf) download_url(url_ckpt, path_ckpt) - path_conf = path_conf + '/?dl=1' # fix it - path_ckpt = path_ckpt + '/?dl=1' # fix it + path_conf = path_conf + "/?dl=1" # fix it + path_ckpt = path_ckpt + "/?dl=1" # fix it return path_conf, path_ckpt else: @@ -62,20 +63,20 @@ def get_custom_cond(mode): if mode == "superresolution": uploaded_img = files.upload() filename = next(iter(uploaded_img)) - name, filetype = filename.split(".") # todo assumes just one dot in name ! + name, filetype = filename.split(".") # todo assumes just one dot in name ! os.rename(f"{filename}", f"{dest}/{mode}/custom_{name}.{filetype}") elif mode == "text_conditional": - w = widgets.Text(value='A cake with cream!', disabled=True) + w = widgets.Text(value="A cake with cream!", disabled=True) display(w) - with open(f"{dest}/{mode}/custom_{w.value[:20]}.txt", 'w') as f: + with open(f"{dest}/{mode}/custom_{w.value[:20]}.txt", "w") as f: f.write(w.value) elif mode == "class_conditional": w = widgets.IntSlider(min=0, max=1000) display(w) - with open(f"{dest}/{mode}/custom.txt", 'w') as f: + with open(f"{dest}/{mode}/custom.txt", "w") as f: f.write(w.value) else: @@ -94,11 +95,7 @@ def select_cond_path(mode): path = os.path.join(path, mode) onlyfiles = [f for f in sorted(os.listdir(path))] - selected = widgets.RadioButtons( - options=onlyfiles, - description='Select conditioning:', - disabled=False - ) + selected = widgets.RadioButtons(options=onlyfiles, description="Select conditioning:", disabled=False) display(selected) selected_path = os.path.join(path, selected.value) return selected_path @@ -113,9 +110,9 @@ def get_cond(mode, selected_path): c = Image.open(selected_path) c = torch.unsqueeze(torchvision.transforms.ToTensor()(c), 0) c_up = torchvision.transforms.functional.resize(c, size=[up_f * c.shape[2], up_f * c.shape[3]], antialias=True) - c_up = rearrange(c_up, '1 c h w -> 1 h w c') - c = rearrange(c, '1 c h w -> 1 h w c') - c = 2. * c - 1. + c_up = rearrange(c_up, "1 c h w -> 1 h w c") + c = rearrange(c, "1 c h w -> 1 h w c") + c = 2.0 * c - 1.0 device = choose_torch_device() c = c.to(device) @@ -130,7 +127,6 @@ def visualize_cond_img(path): def run(model, selected_path, task, custom_steps, resize_enabled=False, classifier_ckpt=None, global_step=None): - example = get_cond(task, selected_path) save_intermediate_vid = False @@ -138,10 +134,10 @@ def run(model, selected_path, task, custom_steps, resize_enabled=False, classifi masked = False guider = None ckwargs = None - mode = 'ddim' + mode = "ddim" ddim_use_x0_pred = False - temperature = 1. - eta = 1. + temperature = 1.0 + eta = 1.0 make_progrow = True custom_shape = None @@ -152,14 +148,17 @@ def run(model, selected_path, task, custom_steps, resize_enabled=False, classifi ks = 128 stride = 64 vqf = 4 # - model.split_input_params = {"ks": (ks, ks), "stride": (stride, stride), - "vqf": vqf, - "patch_distributed_vq": True, - "tie_braker": False, - "clip_max_weight": 0.5, - "clip_min_weight": 0.01, - "clip_max_tie_weight": 0.5, - "clip_min_tie_weight": 0.01} + model.split_input_params = { + "ks": (ks, ks), + "stride": (stride, stride), + "vqf": vqf, + "patch_distributed_vq": True, + "tie_braker": False, + "clip_max_weight": 0.5, + "clip_min_weight": 0.01, + "clip_max_tie_weight": 0.5, + "clip_min_tie_weight": 0.01, + } else: if hasattr(model, "split_input_params"): delattr(model, "split_input_params") @@ -170,53 +169,112 @@ def run(model, selected_path, task, custom_steps, resize_enabled=False, classifi for n in range(n_runs): if custom_shape is not None: x_T = torch.randn(1, custom_shape[1], custom_shape[2], custom_shape[3]).to(model.device) - x_T = repeat(x_T, '1 c h w -> b c h w', b=custom_shape[0]) + x_T = repeat(x_T, "1 c h w -> b c h w", b=custom_shape[0]) - logs = make_convolutional_sample(example, model, - mode=mode, custom_steps=custom_steps, - eta=eta, swap_mode=False , masked=masked, - invert_mask=invert_mask, quantize_x0=False, - custom_schedule=None, decode_interval=10, - resize_enabled=resize_enabled, custom_shape=custom_shape, - temperature=temperature, noise_dropout=0., - corrector=guider, corrector_kwargs=ckwargs, x_T=x_T, save_intermediate_vid=save_intermediate_vid, - make_progrow=make_progrow,ddim_use_x0_pred=ddim_use_x0_pred - ) + logs = make_convolutional_sample( + example, + model, + mode=mode, + custom_steps=custom_steps, + eta=eta, + swap_mode=False, + masked=masked, + invert_mask=invert_mask, + quantize_x0=False, + custom_schedule=None, + decode_interval=10, + resize_enabled=resize_enabled, + custom_shape=custom_shape, + temperature=temperature, + noise_dropout=0.0, + corrector=guider, + corrector_kwargs=ckwargs, + x_T=x_T, + save_intermediate_vid=save_intermediate_vid, + make_progrow=make_progrow, + ddim_use_x0_pred=ddim_use_x0_pred, + ) return logs @torch.no_grad() -def convsample_ddim(model, cond, steps, shape, eta=1.0, callback=None, normals_sequence=None, - mask=None, x0=None, quantize_x0=False, img_callback=None, - temperature=1., noise_dropout=0., score_corrector=None, - corrector_kwargs=None, x_T=None, log_every_t=None - ): - +def convsample_ddim( + model, + cond, + steps, + shape, + eta=1.0, + callback=None, + normals_sequence=None, + mask=None, + x0=None, + quantize_x0=False, + img_callback=None, + temperature=1.0, + noise_dropout=0.0, + score_corrector=None, + corrector_kwargs=None, + x_T=None, + log_every_t=None, +): ddim = DDIMSampler(model) bs = shape[0] # dont know where this comes from but wayne shape = shape[1:] # cut batch dim print(f"Sampling with eta = {eta}; steps: {steps}") - samples, intermediates = ddim.sample(steps, batch_size=bs, shape=shape, conditioning=cond, callback=callback, - normals_sequence=normals_sequence, quantize_x0=quantize_x0, eta=eta, - mask=mask, x0=x0, temperature=temperature, verbose=False, - score_corrector=score_corrector, - corrector_kwargs=corrector_kwargs, x_T=x_T) + samples, intermediates = ddim.sample( + steps, + batch_size=bs, + shape=shape, + conditioning=cond, + callback=callback, + normals_sequence=normals_sequence, + quantize_x0=quantize_x0, + eta=eta, + mask=mask, + x0=x0, + temperature=temperature, + verbose=False, + score_corrector=score_corrector, + corrector_kwargs=corrector_kwargs, + x_T=x_T, + ) return samples, intermediates @torch.no_grad() -def make_convolutional_sample(batch, model, mode="vanilla", custom_steps=None, eta=1.0, swap_mode=False, masked=False, - invert_mask=True, quantize_x0=False, custom_schedule=None, decode_interval=1000, - resize_enabled=False, custom_shape=None, temperature=1., noise_dropout=0., corrector=None, - corrector_kwargs=None, x_T=None, save_intermediate_vid=False, make_progrow=True,ddim_use_x0_pred=False): +def make_convolutional_sample( + batch, + model, + mode="vanilla", + custom_steps=None, + eta=1.0, + swap_mode=False, + masked=False, + invert_mask=True, + quantize_x0=False, + custom_schedule=None, + decode_interval=1000, + resize_enabled=False, + custom_shape=None, + temperature=1.0, + noise_dropout=0.0, + corrector=None, + corrector_kwargs=None, + x_T=None, + save_intermediate_vid=False, + make_progrow=True, + ddim_use_x0_pred=False, +): log = dict() - z, c, x, xrec, xc = model.get_input(batch, model.first_stage_key, - return_first_stage_outputs=True, - force_c_encode=not (hasattr(model, 'split_input_params') - and model.cond_stage_key == 'coordinates_bbox'), - return_original_cond=True) + z, c, x, xrec, xc = model.get_input( + batch, + model.first_stage_key, + return_first_stage_outputs=True, + force_c_encode=not (hasattr(model, "split_input_params") and model.cond_stage_key == "coordinates_bbox"), + return_original_cond=True, + ) log_every_t = 1 if save_intermediate_vid else None @@ -231,30 +289,41 @@ def make_convolutional_sample(batch, model, mode="vanilla", custom_steps=None, e if ismap(xc): log["original_conditioning"] = model.to_rgb(xc) - if hasattr(model, 'cond_stage_key'): + if hasattr(model, "cond_stage_key"): log[model.cond_stage_key] = model.to_rgb(xc) else: log["original_conditioning"] = xc if xc is not None else torch.zeros_like(x) if model.cond_stage_model: log[model.cond_stage_key] = xc if xc is not None else torch.zeros_like(x) - if model.cond_stage_key =='class_label': + if model.cond_stage_key == "class_label": log[model.cond_stage_key] = xc[model.cond_stage_key] with model.ema_scope("Plotting"): t0 = time.time() img_cb = None - sample, intermediates = convsample_ddim(model, c, steps=custom_steps, shape=z.shape, - eta=eta, - quantize_x0=quantize_x0, img_callback=img_cb, mask=None, x0=z0, - temperature=temperature, noise_dropout=noise_dropout, - score_corrector=corrector, corrector_kwargs=corrector_kwargs, - x_T=x_T, log_every_t=log_every_t) + sample, intermediates = convsample_ddim( + model, + c, + steps=custom_steps, + shape=z.shape, + eta=eta, + quantize_x0=quantize_x0, + img_callback=img_cb, + mask=None, + x0=z0, + temperature=temperature, + noise_dropout=noise_dropout, + score_corrector=corrector, + corrector_kwargs=corrector_kwargs, + x_T=x_T, + log_every_t=log_every_t, + ) t1 = time.time() if ddim_use_x0_pred: - sample = intermediates['pred_x0'][-1] + sample = intermediates["pred_x0"][-1] x_sample = model.decode_first_stage(sample) diff --git a/scripts/configure_invokeai.py b/scripts/configure_invokeai.py index 0226fa1c2a..61d32b6df5 100755 --- a/scripts/configure_invokeai.py +++ b/scripts/configure_invokeai.py @@ -4,6 +4,6 @@ import warnings from invokeai.frontend.install import invokeai_configure as configure -if __name__ == '__main__': +if __name__ == "__main__": warnings.warn("configure_invokeai.py is deprecated, running 'invokeai-configure'...", DeprecationWarning) configure() diff --git a/scripts/controlnet_legacy_txt2img_example.py b/scripts/controlnet_legacy_txt2img_example.py index eb299c9d47..8400cc0290 100644 --- a/scripts/controlnet_legacy_txt2img_example.py +++ b/scripts/controlnet_legacy_txt2img_example.py @@ -28,11 +28,12 @@ canny_image.show() print("loading base model stable-diffusion-1.5") model_config_path = os.getcwd() + "/../configs/models.yaml" model_manager = ModelManager(model_config_path) -model = model_manager.get_model('stable-diffusion-1.5') +model = model_manager.get_model("stable-diffusion-1.5") print("loading control model lllyasviel/sd-controlnet-canny") -canny_controlnet = ControlNetModel.from_pretrained("lllyasviel/sd-controlnet-canny", - torch_dtype=torch.float16).to("cuda") +canny_controlnet = ControlNetModel.from_pretrained("lllyasviel/sd-controlnet-canny", torch_dtype=torch.float16).to( + "cuda" +) print("testing Txt2Img() constructor with control_model arg") txt2img_canny = Txt2Img(model, control_model=canny_controlnet) @@ -49,6 +50,3 @@ outputs = txt2img_canny.generate( generate_output = next(outputs) out_image = generate_output.image out_image.show() - - - diff --git a/scripts/dream.py b/scripts/dream.py index 66c7600c6f..12176db41e 100755 --- a/scripts/dream.py +++ b/scripts/dream.py @@ -3,8 +3,9 @@ import warnings from invokeai.frontend.CLI import invokeai_command_line_interface as main -warnings.warn("dream.py is being deprecated, please run invoke.py for the " - "new UI/API or legacy_api.py for the old API", - DeprecationWarning) -main() +warnings.warn( + "dream.py is being deprecated, please run invoke.py for the " "new UI/API or legacy_api.py for the old API", + DeprecationWarning, +) +main() diff --git a/scripts/images2prompt.py b/scripts/images2prompt.py index 625be83482..058fc0da40 100755 --- a/scripts/images2prompt.py +++ b/scripts/images2prompt.py @@ -1,12 +1,14 @@ #!/usr/bin/env python -'''This script reads the "Invoke" Stable Diffusion prompt embedded in files generated by invoke.py''' +"""This script reads the "Invoke" Stable Diffusion prompt embedded in files generated by invoke.py""" import sys -from PIL import Image,PngImagePlugin +from PIL import Image, PngImagePlugin if len(sys.argv) < 2: print("Usage: file2prompt.py ...") - print("This script opens up the indicated invoke.py-generated PNG file(s) and prints out the prompt used to generate them.") + print( + "This script opens up the indicated invoke.py-generated PNG file(s) and prints out the prompt used to generate them." + ) exit(-1) filenames = sys.argv[1:] @@ -14,17 +16,13 @@ for f in filenames: try: im = Image.open(f) try: - prompt = im.text['Dream'] + prompt = im.text["Dream"] except KeyError: - prompt = '' - print(f'{f}: {prompt}') + prompt = "" + print(f"{f}: {prompt}") except FileNotFoundError: - sys.stderr.write(f'{f} not found\n') + sys.stderr.write(f"{f} not found\n") continue except PermissionError: - sys.stderr.write(f'{f} could not be opened due to inadequate permissions\n') + sys.stderr.write(f"{f} could not be opened due to inadequate permissions\n") continue - - - - diff --git a/scripts/invokeai-cli.py b/scripts/invokeai-cli.py index bb67d9d540..b32a892261 100755 --- a/scripts/invokeai-cli.py +++ b/scripts/invokeai-cli.py @@ -3,18 +3,22 @@ # Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) import logging -logging.getLogger("xformers").addFilter(lambda record: 'A matching Triton is not available' not in record.getMessage()) + +logging.getLogger("xformers").addFilter(lambda record: "A matching Triton is not available" not in record.getMessage()) import os import sys + def main(): # Change working directory to the repo root os.chdir(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) # TODO: Parse some top-level args here. from invokeai.app.cli_app import invoke_cli + invoke_cli() -if __name__ == '__main__': + +if __name__ == "__main__": main() diff --git a/scripts/invokeai-model-install.py b/scripts/invokeai-model-install.py index 97bb499812..b4b0dbc8ef 100644 --- a/scripts/invokeai-model-install.py +++ b/scripts/invokeai-model-install.py @@ -1,3 +1,3 @@ from invokeai.frontend.install.model_install import main -main() +main() diff --git a/scripts/invokeai-web.py b/scripts/invokeai-web.py index 9ac7ee5cb9..829cc4b911 100755 --- a/scripts/invokeai-web.py +++ b/scripts/invokeai-web.py @@ -3,18 +3,21 @@ # Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) import logging -logging.getLogger("xformers").addFilter(lambda record: 'A matching Triton is not available' not in record.getMessage()) + +logging.getLogger("xformers").addFilter(lambda record: "A matching Triton is not available" not in record.getMessage()) import os import sys + def main(): # Change working directory to the repo root os.chdir(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) from invokeai.app.api_app import invoke_api + invoke_api() -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/scripts/make_models_markdown_table.py b/scripts/make_models_markdown_table.py index 128ced371d..8e7c528a46 100755 --- a/scripts/make_models_markdown_table.py +++ b/scripts/make_models_markdown_table.py @@ -1,23 +1,24 @@ #!/usr/bin/env python -''' +""" This script is used at release time to generate a markdown table describing the starter models. This text is then manually copied into 050_INSTALL_MODELS.md. -''' +""" from omegaconf import OmegaConf from pathlib import Path def main(): - initial_models_file = Path(__file__).parent / '../invokeai/configs/INITIAL_MODELS.yaml' + initial_models_file = Path(__file__).parent / "../invokeai/configs/INITIAL_MODELS.yaml" models = OmegaConf.load(initial_models_file) - print('|Model Name | HuggingFace Repo ID | Description | URL |') - print('|---------- | ---------- | ----------- | --- |') + print("|Model Name | HuggingFace Repo ID | Description | URL |") + print("|---------- | ---------- | ----------- | --- |") for model in models: repo_id = models[model].repo_id - url = f'https://huggingface.co/{repo_id}' - print(f'|{model}|{repo_id}|{models[model].description}|{url} |') + url = f"https://huggingface.co/{repo_id}" + print(f"|{model}|{repo_id}|{models[model].description}|{url} |") -if __name__ == '__main__': + +if __name__ == "__main__": main() diff --git a/scripts/orig_scripts/img2img.py b/scripts/orig_scripts/img2img.py index 9f74f25bf2..2601bc2562 100644 --- a/scripts/orig_scripts/img2img.py +++ b/scripts/orig_scripts/img2img.py @@ -18,7 +18,7 @@ from pytorch_lightning import seed_everything from ldm.util import instantiate_from_config from ldm.models.diffusion.ddim import DDIMSampler from ldm.models.diffusion.plms import PLMSSampler -from ldm.invoke.devices import choose_torch_device +from ldm.invoke.devices import choose_torch_device def chunk(it, size): @@ -55,7 +55,7 @@ def load_img(path): image = np.array(image).astype(np.float32) / 255.0 image = image[None].transpose(0, 3, 1, 2) image = torch.from_numpy(image) - return 2.*image - 1. + return 2.0 * image - 1.0 def main(): @@ -66,33 +66,24 @@ def main(): type=str, nargs="?", default="a painting of a virus monster playing guitar", - help="the prompt to render" + help="the prompt to render", ) - parser.add_argument( - "--init-img", - type=str, - nargs="?", - help="path to the input image" - ) + parser.add_argument("--init-img", type=str, nargs="?", help="path to the input image") parser.add_argument( - "--outdir", - type=str, - nargs="?", - help="dir to write results to", - default="outputs/img2img-samples" + "--outdir", type=str, nargs="?", help="dir to write results to", default="outputs/img2img-samples" ) parser.add_argument( "--skip_grid", - action='store_true', + action="store_true", help="do not save a grid, only individual samples. Helpful when evaluating lots of samples", ) parser.add_argument( "--skip_save", - action='store_true', + action="store_true", help="do not save indiviual samples. For speed measurements.", ) @@ -105,12 +96,12 @@ def main(): parser.add_argument( "--plms", - action='store_true', + action="store_true", help="use plms sampling", ) parser.add_argument( "--fixed_code", - action='store_true', + action="store_true", help="if enabled, uses the same starting code across all samples ", ) @@ -187,11 +178,7 @@ def main(): help="the seed (for reproducible sampling)", ) parser.add_argument( - "--precision", - type=str, - help="evaluate at this precision", - choices=["full", "autocast"], - default="autocast" + "--precision", type=str, help="evaluate at this precision", choices=["full", "autocast"], default="autocast" ) opt = parser.parse_args() @@ -232,18 +219,18 @@ def main(): assert os.path.isfile(opt.init_img) init_image = load_img(opt.init_img).to(device) - init_image = repeat(init_image, '1 ... -> b ...', b=batch_size) + init_image = repeat(init_image, "1 ... -> b ...", b=batch_size) init_latent = model.get_first_stage_encoding(model.encode_first_stage(init_image)) # move to latent space sampler.make_schedule(ddim_num_steps=opt.ddim_steps, ddim_eta=opt.ddim_eta, verbose=False) - assert 0. <= opt.strength <= 1., 'can only work with strength in [0.0, 1.0]' + assert 0.0 <= opt.strength <= 1.0, "can only work with strength in [0.0, 1.0]" t_enc = int(opt.strength * opt.ddim_steps) print(f"target t_enc is {t_enc} steps") precision_scope = autocast if opt.precision == "autocast" else nullcontext - if device.type in ['mps', 'cpu']: - precision_scope = nullcontext # have to use f32 on mps + if device.type in ["mps", "cpu"]: + precision_scope = nullcontext # have to use f32 on mps with torch.no_grad(): with precision_scope(device.type): with model.ema_scope(): @@ -259,37 +246,42 @@ def main(): c = model.get_learned_conditioning(prompts) # encode (scaled latent) - z_enc = sampler.stochastic_encode(init_latent, torch.tensor([t_enc]*batch_size).to(device)) + z_enc = sampler.stochastic_encode(init_latent, torch.tensor([t_enc] * batch_size).to(device)) # decode it - samples = sampler.decode(z_enc, c, t_enc, unconditional_guidance_scale=opt.scale, - unconditional_conditioning=uc,) + samples = sampler.decode( + z_enc, + c, + t_enc, + unconditional_guidance_scale=opt.scale, + unconditional_conditioning=uc, + ) x_samples = model.decode_first_stage(samples) x_samples = torch.clamp((x_samples + 1.0) / 2.0, min=0.0, max=1.0) if not opt.skip_save: for x_sample in x_samples: - x_sample = 255. * rearrange(x_sample.cpu().numpy(), 'c h w -> h w c') + x_sample = 255.0 * rearrange(x_sample.cpu().numpy(), "c h w -> h w c") Image.fromarray(x_sample.astype(np.uint8)).save( - os.path.join(sample_path, f"{base_count:05}.png")) + os.path.join(sample_path, f"{base_count:05}.png") + ) base_count += 1 all_samples.append(x_samples) if not opt.skip_grid: # additionally, save as grid grid = torch.stack(all_samples, 0) - grid = rearrange(grid, 'n b c h w -> (n b) c h w') + grid = rearrange(grid, "n b c h w -> (n b) c h w") grid = make_grid(grid, nrow=n_rows) # to image - grid = 255. * rearrange(grid, 'c h w -> h w c').cpu().numpy() - Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f'grid-{grid_count:04}.png')) + grid = 255.0 * rearrange(grid, "c h w -> h w c").cpu().numpy() + Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f"grid-{grid_count:04}.png")) grid_count += 1 toc = time.time() - print(f"Your samples are ready and waiting for you here: \n{outpath} \n" - f" \nEnjoy.") + print(f"Your samples are ready and waiting for you here: \n{outpath} \n" f" \nEnjoy.") if __name__ == "__main__": diff --git a/scripts/orig_scripts/inpaint.py b/scripts/orig_scripts/inpaint.py index b8245db322..8dfbbfb045 100644 --- a/scripts/orig_scripts/inpaint.py +++ b/scripts/orig_scripts/inpaint.py @@ -8,25 +8,26 @@ from main import instantiate_from_config from ldm.models.diffusion.ddim import DDIMSampler from ldm.invoke.devices import choose_torch_device + def make_batch(image, mask, device): image = np.array(Image.open(image).convert("RGB")) - image = image.astype(np.float32)/255.0 - image = image[None].transpose(0,3,1,2) + image = image.astype(np.float32) / 255.0 + image = image[None].transpose(0, 3, 1, 2) image = torch.from_numpy(image) mask = np.array(Image.open(mask).convert("L")) - mask = mask.astype(np.float32)/255.0 - mask = mask[None,None] + mask = mask.astype(np.float32) / 255.0 + mask = mask[None, None] mask[mask < 0.5] = 0 mask[mask >= 0.5] = 1 mask = torch.from_numpy(mask) - masked_image = (1-mask)*image + masked_image = (1 - mask) * image batch = {"image": image, "mask": mask, "masked_image": masked_image} for k in batch: batch[k] = batch[k].to(device=device) - batch[k] = batch[k]*2.0-1.0 + batch[k] = batch[k] * 2.0 - 1.0 return batch @@ -58,11 +59,10 @@ if __name__ == "__main__": config = OmegaConf.load("models/ldm/inpainting_big/config.yaml") model = instantiate_from_config(config.model) - model.load_state_dict(torch.load("models/ldm/inpainting_big/last.ckpt")["state_dict"], - strict=False) + model.load_state_dict(torch.load("models/ldm/inpainting_big/last.ckpt")["state_dict"], strict=False) - device = choose_torch_device() - model = model.to(device) + device = choose_torch_device() + model = model.to(device) sampler = DDIMSampler(model) os.makedirs(opt.outdir, exist_ok=True) @@ -74,25 +74,19 @@ if __name__ == "__main__": # encode masked image and concat downsampled mask c = model.cond_stage_model.encode(batch["masked_image"]) - cc = torch.nn.functional.interpolate(batch["mask"], - size=c.shape[-2:]) + cc = torch.nn.functional.interpolate(batch["mask"], size=c.shape[-2:]) c = torch.cat((c, cc), dim=1) - shape = (c.shape[1]-1,)+c.shape[2:] - samples_ddim, _ = sampler.sample(S=opt.steps, - conditioning=c, - batch_size=c.shape[0], - shape=shape, - verbose=False) + shape = (c.shape[1] - 1,) + c.shape[2:] + samples_ddim, _ = sampler.sample( + S=opt.steps, conditioning=c, batch_size=c.shape[0], shape=shape, verbose=False + ) x_samples_ddim = model.decode_first_stage(samples_ddim) - image = torch.clamp((batch["image"]+1.0)/2.0, - min=0.0, max=1.0) - mask = torch.clamp((batch["mask"]+1.0)/2.0, - min=0.0, max=1.0) - predicted_image = torch.clamp((x_samples_ddim+1.0)/2.0, - min=0.0, max=1.0) + image = torch.clamp((batch["image"] + 1.0) / 2.0, min=0.0, max=1.0) + mask = torch.clamp((batch["mask"] + 1.0) / 2.0, min=0.0, max=1.0) + predicted_image = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0) - inpainted = (1-mask)*image+mask*predicted_image - inpainted = inpainted.cpu().numpy().transpose(0,2,3,1)[0]*255 + inpainted = (1 - mask) * image + mask * predicted_image + inpainted = inpainted.cpu().numpy().transpose(0, 2, 3, 1)[0] * 255 Image.fromarray(inpainted.astype(np.uint8)).save(outpath) diff --git a/scripts/orig_scripts/knn2img.py b/scripts/orig_scripts/knn2img.py index e6eaaecab5..845613479b 100644 --- a/scripts/orig_scripts/knn2img.py +++ b/scripts/orig_scripts/knn2img.py @@ -59,29 +59,24 @@ def load_model_from_config(config, ckpt, verbose=False): class Searcher(object): - def __init__(self, database, retriever_version='ViT-L/14'): + def __init__(self, database, retriever_version="ViT-L/14"): assert database in DATABASES # self.database = self.load_database(database) self.database_name = database - self.searcher_savedir = f'data/rdm/searchers/{self.database_name}' - self.database_path = f'data/rdm/retrieval_databases/{self.database_name}' + self.searcher_savedir = f"data/rdm/searchers/{self.database_name}" + self.database_path = f"data/rdm/retrieval_databases/{self.database_name}" self.retriever = self.load_retriever(version=retriever_version) - self.database = {'embedding': [], - 'img_id': [], - 'patch_coords': []} + self.database = {"embedding": [], "img_id": [], "patch_coords": []} self.load_database() self.load_searcher() - def train_searcher(self, k, - metric='dot_product', - searcher_savedir=None): - - print('Start training searcher') - searcher = scann.scann_ops_pybind.builder(self.database['embedding'] / - np.linalg.norm(self.database['embedding'], axis=1)[:, np.newaxis], - k, metric) + def train_searcher(self, k, metric="dot_product", searcher_savedir=None): + print("Start training searcher") + searcher = scann.scann_ops_pybind.builder( + self.database["embedding"] / np.linalg.norm(self.database["embedding"], axis=1)[:, np.newaxis], k, metric + ) self.searcher = searcher.score_brute_force().build() - print('Finish training searcher') + print("Finish training searcher") if searcher_savedir is not None: print(f'Save trained searcher under "{searcher_savedir}"') @@ -91,36 +86,40 @@ class Searcher(object): def load_single_file(self, saved_embeddings): compressed = np.load(saved_embeddings) self.database = {key: compressed[key] for key in compressed.files} - print('Finished loading of clip embeddings.') + print("Finished loading of clip embeddings.") def load_multi_files(self, data_archive): out_data = {key: [] for key in self.database} - for d in tqdm(data_archive, desc=f'Loading datapool from {len(data_archive)} individual files.'): + for d in tqdm(data_archive, desc=f"Loading datapool from {len(data_archive)} individual files."): for key in d.files: out_data[key].append(d[key]) return out_data def load_database(self): - print(f'Load saved patch embedding from "{self.database_path}"') - file_content = glob.glob(os.path.join(self.database_path, '*.npz')) + file_content = glob.glob(os.path.join(self.database_path, "*.npz")) if len(file_content) == 1: self.load_single_file(file_content[0]) elif len(file_content) > 1: data = [np.load(f) for f in file_content] - prefetched_data = parallel_data_prefetch(self.load_multi_files, data, - n_proc=min(len(data), cpu_count()), target_data_type='dict') + prefetched_data = parallel_data_prefetch( + self.load_multi_files, data, n_proc=min(len(data), cpu_count()), target_data_type="dict" + ) - self.database = {key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in - self.database} + self.database = { + key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in self.database + } else: raise ValueError(f'No npz-files in specified path "{self.database_path}" is this directory existing?') print(f'Finished loading of retrieval database of length {self.database["embedding"].shape[0]}.') - def load_retriever(self, version='ViT-L/14', ): + def load_retriever( + self, + version="ViT-L/14", + ): model = FrozenClipImageEmbedder(model=version) if torch.cuda.is_available(): model.cuda() @@ -128,14 +127,14 @@ class Searcher(object): return model def load_searcher(self): - print(f'load searcher for database {self.database_name} from {self.searcher_savedir}') + print(f"load searcher for database {self.database_name} from {self.searcher_savedir}") self.searcher = scann.scann_ops_pybind.load_searcher(self.searcher_savedir) - print('Finished loading searcher.') + print("Finished loading searcher.") def search(self, x, k): - if self.searcher is None and self.database['embedding'].shape[0] < 2e4: - self.train_searcher(k) # quickly fit searcher on the fly for small databases - assert self.searcher is not None, 'Cannot search with uninitialized searcher' + if self.searcher is None and self.database["embedding"].shape[0] < 2e4: + self.train_searcher(k) # quickly fit searcher on the fly for small databases + assert self.searcher is not None, "Cannot search with uninitialized searcher" if isinstance(x, torch.Tensor): x = x.detach().cpu().numpy() if len(x.shape) == 3: @@ -146,17 +145,19 @@ class Searcher(object): nns, distances = self.searcher.search_batched(query_embeddings, final_num_neighbors=k) end = time.time() - out_embeddings = self.database['embedding'][nns] - out_img_ids = self.database['img_id'][nns] - out_pc = self.database['patch_coords'][nns] + out_embeddings = self.database["embedding"][nns] + out_img_ids = self.database["img_id"][nns] + out_pc = self.database["patch_coords"][nns] - out = {'nn_embeddings': out_embeddings / np.linalg.norm(out_embeddings, axis=-1)[..., np.newaxis], - 'img_ids': out_img_ids, - 'patch_coords': out_pc, - 'queries': x, - 'exec_time': end - start, - 'nns': nns, - 'q_embeddings': query_embeddings} + out = { + "nn_embeddings": out_embeddings / np.linalg.norm(out_embeddings, axis=-1)[..., np.newaxis], + "img_ids": out_img_ids, + "patch_coords": out_pc, + "queries": x, + "exec_time": end - start, + "nns": nns, + "q_embeddings": query_embeddings, + } return out @@ -173,20 +174,16 @@ if __name__ == "__main__": type=str, nargs="?", default="a painting of a virus monster playing guitar", - help="the prompt to render" + help="the prompt to render", ) parser.add_argument( - "--outdir", - type=str, - nargs="?", - help="dir to write results to", - default="outputs/txt2img-samples" + "--outdir", type=str, nargs="?", help="dir to write results to", default="outputs/txt2img-samples" ) parser.add_argument( "--skip_grid", - action='store_true', + action="store_true", help="do not save a grid, only individual samples. Helpful when evaluating lots of samples", ) @@ -206,7 +203,7 @@ if __name__ == "__main__": parser.add_argument( "--plms", - action='store_true', + action="store_true", help="use plms sampling", ) @@ -287,14 +284,14 @@ if __name__ == "__main__": parser.add_argument( "--database", type=str, - default='artbench-surrealism', + default="artbench-surrealism", choices=DATABASES, help="The database used for the search, only applied when --use_neighbors=True", ) parser.add_argument( "--use_neighbors", default=False, - action='store_true', + action="store_true", help="Include neighbors in addition to text prompt for conditioning", ) parser.add_argument( @@ -358,41 +355,43 @@ if __name__ == "__main__": uc = None if searcher is not None: nn_dict = searcher(c, opt.knn) - c = torch.cat([c, torch.from_numpy(nn_dict['nn_embeddings']).cuda()], dim=1) + c = torch.cat([c, torch.from_numpy(nn_dict["nn_embeddings"]).cuda()], dim=1) if opt.scale != 1.0: uc = torch.zeros_like(c) if isinstance(prompts, tuple): prompts = list(prompts) shape = [16, opt.H // 16, opt.W // 16] # note: currently hardcoded for f16 model - samples_ddim, _ = sampler.sample(S=opt.ddim_steps, - conditioning=c, - batch_size=c.shape[0], - shape=shape, - verbose=False, - unconditional_guidance_scale=opt.scale, - unconditional_conditioning=uc, - eta=opt.ddim_eta, - ) + samples_ddim, _ = sampler.sample( + S=opt.ddim_steps, + conditioning=c, + batch_size=c.shape[0], + shape=shape, + verbose=False, + unconditional_guidance_scale=opt.scale, + unconditional_conditioning=uc, + eta=opt.ddim_eta, + ) x_samples_ddim = model.decode_first_stage(samples_ddim) x_samples_ddim = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0) for x_sample in x_samples_ddim: - x_sample = 255. * rearrange(x_sample.cpu().numpy(), 'c h w -> h w c') + x_sample = 255.0 * rearrange(x_sample.cpu().numpy(), "c h w -> h w c") Image.fromarray(x_sample.astype(np.uint8)).save( - os.path.join(sample_path, f"{base_count:05}.png")) + os.path.join(sample_path, f"{base_count:05}.png") + ) base_count += 1 all_samples.append(x_samples_ddim) if not opt.skip_grid: # additionally, save as grid grid = torch.stack(all_samples, 0) - grid = rearrange(grid, 'n b c h w -> (n b) c h w') + grid = rearrange(grid, "n b c h w -> (n b) c h w") grid = make_grid(grid, nrow=n_rows) # to image - grid = 255. * rearrange(grid, 'c h w -> h w c').cpu().numpy() - Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f'grid-{grid_count:04}.png')) + grid = 255.0 * rearrange(grid, "c h w -> h w c").cpu().numpy() + Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f"grid-{grid_count:04}.png")) grid_count += 1 print(f"Your samples are ready and waiting for you here: \n{outpath} \nEnjoy.") diff --git a/scripts/orig_scripts/main.py b/scripts/orig_scripts/main.py index 6a88f84380..8269809fbc 100644 --- a/scripts/orig_scripts/main.py +++ b/scripts/orig_scripts/main.py @@ -25,15 +25,19 @@ from pytorch_lightning.utilities import rank_zero_info from ldm.data.base import Txt2ImgIterableBaseDataset from ldm.util import instantiate_from_config + def fix_func(orig): - if hasattr(torch.backends, 'mps') and torch.backends.mps.is_available(): + if hasattr(torch.backends, "mps") and torch.backends.mps.is_available(): + def new_func(*args, **kw): device = kw.get("device", "mps") - kw["device"]="cpu" + kw["device"] = "cpu" return orig(*args, **kw).to(device) + return new_func return orig + torch.rand = fix_func(torch.rand) torch.rand_like = fix_func(torch.rand_like) torch.randn = fix_func(torch.randn) @@ -43,18 +47,19 @@ torch.randint_like = fix_func(torch.randint_like) torch.bernoulli = fix_func(torch.bernoulli) torch.multinomial = fix_func(torch.multinomial) + def load_model_from_config(config, ckpt, verbose=False): - print(f'Loading model from {ckpt}') - pl_sd = torch.load(ckpt, map_location='cpu') - sd = pl_sd['state_dict'] + print(f"Loading model from {ckpt}") + pl_sd = torch.load(ckpt, map_location="cpu") + sd = pl_sd["state_dict"] config.model.params.ckpt_path = ckpt model = instantiate_from_config(config.model) m, u = model.load_state_dict(sd, strict=False) if len(m) > 0 and verbose: - print('missing keys:') + print("missing keys:") print(m) if len(u) > 0 and verbose: - print('unexpected keys:') + print("unexpected keys:") print(u) if torch.cuda.is_available(): @@ -66,132 +71,130 @@ def get_parser(**parser_kwargs): def str2bool(v): if isinstance(v, bool): return v - if v.lower() in ('yes', 'true', 't', 'y', '1'): + if v.lower() in ("yes", "true", "t", "y", "1"): return True - elif v.lower() in ('no', 'false', 'f', 'n', '0'): + elif v.lower() in ("no", "false", "f", "n", "0"): return False else: - raise argparse.ArgumentTypeError('Boolean value expected.') + raise argparse.ArgumentTypeError("Boolean value expected.") parser = argparse.ArgumentParser(**parser_kwargs) parser.add_argument( - '-n', - '--name', + "-n", + "--name", type=str, const=True, - default='', - nargs='?', - help='postfix for logdir', + default="", + nargs="?", + help="postfix for logdir", ) parser.add_argument( - '-r', - '--resume', + "-r", + "--resume", type=str, const=True, - default='', - nargs='?', - help='resume from logdir or checkpoint in logdir', + default="", + nargs="?", + help="resume from logdir or checkpoint in logdir", ) parser.add_argument( - '-b', - '--base', - nargs='*', - metavar='base_config.yaml', - help='paths to base configs. Loaded from left-to-right. ' - 'Parameters can be overwritten or added with command-line options of the form `--key value`.', + "-b", + "--base", + nargs="*", + metavar="base_config.yaml", + help="paths to base configs. Loaded from left-to-right. " + "Parameters can be overwritten or added with command-line options of the form `--key value`.", default=list(), ) parser.add_argument( - '-t', - '--train', + "-t", + "--train", type=str2bool, const=True, default=False, - nargs='?', - help='train', + nargs="?", + help="train", ) parser.add_argument( - '--no-test', + "--no-test", type=str2bool, const=True, default=False, - nargs='?', - help='disable test', + nargs="?", + help="disable test", ) + parser.add_argument("-p", "--project", help="name of new or path to existing project") parser.add_argument( - '-p', '--project', help='name of new or path to existing project' - ) - parser.add_argument( - '-d', - '--debug', + "-d", + "--debug", type=str2bool, - nargs='?', + nargs="?", const=True, default=False, - help='enable post-mortem debugging', + help="enable post-mortem debugging", ) parser.add_argument( - '-s', - '--seed', + "-s", + "--seed", type=int, default=23, - help='seed for seed_everything', + help="seed for seed_everything", ) parser.add_argument( - '-f', - '--postfix', + "-f", + "--postfix", type=str, - default='', - help='post-postfix for default name', + default="", + help="post-postfix for default name", ) parser.add_argument( - '-l', - '--logdir', + "-l", + "--logdir", type=str, - default='logs', - help='directory for logging dat shit', + default="logs", + help="directory for logging dat shit", ) parser.add_argument( - '--scale_lr', + "--scale_lr", type=str2bool, - nargs='?', + nargs="?", const=True, default=True, - help='scale base-lr by ngpu * batch_size * n_accumulate', + help="scale base-lr by ngpu * batch_size * n_accumulate", ) parser.add_argument( - '--datadir_in_name', + "--datadir_in_name", type=str2bool, - nargs='?', + nargs="?", const=True, default=True, - help='Prepend the final directory in the data_root to the output directory name', + help="Prepend the final directory in the data_root to the output directory name", ) parser.add_argument( - '--actual_resume', + "--actual_resume", type=str, - default='', - help='Path to model to actually resume from', + default="", + help="Path to model to actually resume from", ) parser.add_argument( - '--data_root', + "--data_root", type=str, required=True, - help='Path to directory with training images', + help="Path to directory with training images", ) parser.add_argument( - '--embedding_manager_ckpt', + "--embedding_manager_ckpt", type=str, - default='', - help='Initialize embedding manager from a checkpoint', + default="", + help="Initialize embedding manager from a checkpoint", ) parser.add_argument( - '--init_word', + "--init_word", type=str, - help='Word to use as source for initial token embedding.', + help="Word to use as source for initial token embedding.", ) return parser @@ -226,9 +229,7 @@ def worker_init_fn(_): if isinstance(dataset, Txt2ImgIterableBaseDataset): split_size = dataset.num_records // worker_info.num_workers # reset num_records to the true number to retain reliable length information - dataset.sample_ids = dataset.valid_ids[ - worker_id * split_size : (worker_id + 1) * split_size - ] + dataset.sample_ids = dataset.valid_ids[worker_id * split_size : (worker_id + 1) * split_size] current_id = np.random.choice(len(np.random.get_state()[1]), 1) return np.random.seed(np.random.get_state()[1][current_id] + worker_id) else: @@ -252,25 +253,19 @@ class DataModuleFromConfig(pl.LightningDataModule): super().__init__() self.batch_size = batch_size self.dataset_configs = dict() - self.num_workers = ( - num_workers if num_workers is not None else batch_size * 2 - ) + self.num_workers = num_workers if num_workers is not None else batch_size * 2 self.use_worker_init_fn = use_worker_init_fn if train is not None: - self.dataset_configs['train'] = train + self.dataset_configs["train"] = train self.train_dataloader = self._train_dataloader if validation is not None: - self.dataset_configs['validation'] = validation - self.val_dataloader = partial( - self._val_dataloader, shuffle=shuffle_val_dataloader - ) + self.dataset_configs["validation"] = validation + self.val_dataloader = partial(self._val_dataloader, shuffle=shuffle_val_dataloader) if test is not None: - self.dataset_configs['test'] = test - self.test_dataloader = partial( - self._test_dataloader, shuffle=shuffle_test_loader - ) + self.dataset_configs["test"] = test + self.test_dataloader = partial(self._test_dataloader, shuffle=shuffle_test_loader) if predict is not None: - self.dataset_configs['predict'] = predict + self.dataset_configs["predict"] = predict self.predict_dataloader = self._predict_dataloader self.wrap = wrap @@ -279,24 +274,19 @@ class DataModuleFromConfig(pl.LightningDataModule): instantiate_from_config(data_cfg) def setup(self, stage=None): - self.datasets = dict( - (k, instantiate_from_config(self.dataset_configs[k])) - for k in self.dataset_configs - ) + self.datasets = dict((k, instantiate_from_config(self.dataset_configs[k])) for k in self.dataset_configs) if self.wrap: for k in self.datasets: self.datasets[k] = WrappedDataset(self.datasets[k]) def _train_dataloader(self): - is_iterable_dataset = isinstance( - self.datasets['train'], Txt2ImgIterableBaseDataset - ) + is_iterable_dataset = isinstance(self.datasets["train"], Txt2ImgIterableBaseDataset) if is_iterable_dataset or self.use_worker_init_fn: init_fn = worker_init_fn else: init_fn = None return DataLoader( - self.datasets['train'], + self.datasets["train"], batch_size=self.batch_size, num_workers=self.num_workers, shuffle=False if is_iterable_dataset else True, @@ -304,15 +294,12 @@ class DataModuleFromConfig(pl.LightningDataModule): ) def _val_dataloader(self, shuffle=False): - if ( - isinstance(self.datasets['validation'], Txt2ImgIterableBaseDataset) - or self.use_worker_init_fn - ): + if isinstance(self.datasets["validation"], Txt2ImgIterableBaseDataset) or self.use_worker_init_fn: init_fn = worker_init_fn else: init_fn = None return DataLoader( - self.datasets['validation'], + self.datasets["validation"], batch_size=self.batch_size, num_workers=self.num_workers, worker_init_fn=init_fn, @@ -320,9 +307,7 @@ class DataModuleFromConfig(pl.LightningDataModule): ) def _test_dataloader(self, shuffle=False): - is_iterable_dataset = isinstance( - self.datasets['train'], Txt2ImgIterableBaseDataset - ) + is_iterable_dataset = isinstance(self.datasets["train"], Txt2ImgIterableBaseDataset) if is_iterable_dataset or self.use_worker_init_fn: init_fn = worker_init_fn else: @@ -332,7 +317,7 @@ class DataModuleFromConfig(pl.LightningDataModule): shuffle = shuffle and (not is_iterable_dataset) return DataLoader( - self.datasets['test'], + self.datasets["test"], batch_size=self.batch_size, num_workers=self.num_workers, worker_init_fn=init_fn, @@ -340,15 +325,12 @@ class DataModuleFromConfig(pl.LightningDataModule): ) def _predict_dataloader(self, shuffle=False): - if ( - isinstance(self.datasets['predict'], Txt2ImgIterableBaseDataset) - or self.use_worker_init_fn - ): + if isinstance(self.datasets["predict"], Txt2ImgIterableBaseDataset) or self.use_worker_init_fn: init_fn = worker_init_fn else: init_fn = None return DataLoader( - self.datasets['predict'], + self.datasets["predict"], batch_size=self.batch_size, num_workers=self.num_workers, worker_init_fn=init_fn, @@ -356,9 +338,7 @@ class DataModuleFromConfig(pl.LightningDataModule): class SetupCallback(Callback): - def __init__( - self, resume, now, logdir, ckptdir, cfgdir, config, lightning_config - ): + def __init__(self, resume, now, logdir, ckptdir, cfgdir, config, lightning_config): super().__init__() self.resume = resume self.now = now @@ -370,8 +350,8 @@ class SetupCallback(Callback): def on_keyboard_interrupt(self, trainer, pl_module): if trainer.global_rank == 0: - print('Summoning checkpoint.') - ckpt_path = os.path.join(self.ckptdir, 'last.ckpt') + print("Summoning checkpoint.") + ckpt_path = os.path.join(self.ckptdir, "last.ckpt") trainer.save_checkpoint(ckpt_path) def on_pretrain_routine_start(self, trainer, pl_module): @@ -381,36 +361,31 @@ class SetupCallback(Callback): os.makedirs(self.ckptdir, exist_ok=True) os.makedirs(self.cfgdir, exist_ok=True) - if 'callbacks' in self.lightning_config: - if ( - 'metrics_over_trainsteps_checkpoint' - in self.lightning_config['callbacks'] - ): + if "callbacks" in self.lightning_config: + if "metrics_over_trainsteps_checkpoint" in self.lightning_config["callbacks"]: os.makedirs( - os.path.join(self.ckptdir, 'trainstep_checkpoints'), + os.path.join(self.ckptdir, "trainstep_checkpoints"), exist_ok=True, ) - print('Project config') + print("Project config") print(OmegaConf.to_yaml(self.config)) OmegaConf.save( self.config, - os.path.join(self.cfgdir, '{}-project.yaml'.format(self.now)), + os.path.join(self.cfgdir, "{}-project.yaml".format(self.now)), ) - print('Lightning config') + print("Lightning config") print(OmegaConf.to_yaml(self.lightning_config)) OmegaConf.save( - OmegaConf.create({'lightning': self.lightning_config}), - os.path.join( - self.cfgdir, '{}-lightning.yaml'.format(self.now) - ), + OmegaConf.create({"lightning": self.lightning_config}), + os.path.join(self.cfgdir, "{}-lightning.yaml".format(self.now)), ) else: # ModelCheckpoint callback created log directory --- remove it if not self.resume and os.path.exists(self.logdir): dst, name = os.path.split(self.logdir) - dst = os.path.join(dst, 'child_runs', name) + dst = os.path.join(dst, "child_runs", name) os.makedirs(os.path.split(dst)[0], exist_ok=True) try: os.rename(self.logdir, dst) @@ -435,10 +410,8 @@ class ImageLogger(Callback): self.rescale = rescale self.batch_freq = batch_frequency self.max_images = max_images - self.logger_log_images = { } - self.log_steps = [ - 2**n for n in range(int(np.log2(self.batch_freq)) + 1) - ] + self.logger_log_images = {} + self.log_steps = [2**n for n in range(int(np.log2(self.batch_freq)) + 1)] if not increase_log_steps: self.log_steps = [self.batch_freq] self.clamp = clamp @@ -448,10 +421,8 @@ class ImageLogger(Callback): self.log_first_step = log_first_step @rank_zero_only - def log_local( - self, save_dir, split, images, global_step, current_epoch, batch_idx - ): - root = os.path.join(save_dir, 'images', split) + def log_local(self, save_dir, split, images, global_step, current_epoch, batch_idx): + root = os.path.join(save_dir, "images", split) for k in images: grid = torchvision.utils.make_grid(images[k], nrow=4) if self.rescale: @@ -459,22 +430,16 @@ class ImageLogger(Callback): grid = grid.transpose(0, 1).transpose(1, 2).squeeze(-1) grid = grid.numpy() grid = (grid * 255).astype(np.uint8) - filename = '{}_gs-{:06}_e-{:06}_b-{:06}.png'.format( - k, global_step, current_epoch, batch_idx - ) + filename = "{}_gs-{:06}_e-{:06}_b-{:06}.png".format(k, global_step, current_epoch, batch_idx) path = os.path.join(root, filename) os.makedirs(os.path.split(path)[0], exist_ok=True) Image.fromarray(grid).save(path) - def log_img(self, pl_module, batch, batch_idx, split='train'): - check_idx = ( - batch_idx if self.log_on_batch_idx else pl_module.global_step - ) + def log_img(self, pl_module, batch, batch_idx, split="train"): + check_idx = batch_idx if self.log_on_batch_idx else pl_module.global_step if ( self.check_frequency(check_idx) - and hasattr( # batch_idx % self.batch_freq == 0 - pl_module, 'log_images' - ) + and hasattr(pl_module, "log_images") # batch_idx % self.batch_freq == 0 and callable(pl_module.log_images) and self.max_images > 0 ): @@ -485,9 +450,7 @@ class ImageLogger(Callback): pl_module.eval() with torch.no_grad(): - images = pl_module.log_images( - batch, split=split, **self.log_images_kwargs - ) + images = pl_module.log_images(batch, split=split, **self.log_images_kwargs) for k in images: N = min(images[k].shape[0], self.max_images) @@ -506,18 +469,16 @@ class ImageLogger(Callback): batch_idx, ) - logger_log_images = self.logger_log_images.get( - logger, lambda *args, **kwargs: None - ) + logger_log_images = self.logger_log_images.get(logger, lambda *args, **kwargs: None) logger_log_images(pl_module, images, pl_module.global_step, split) if is_train: pl_module.train() def check_frequency(self, check_idx): - if ( - (check_idx % self.batch_freq) == 0 or (check_idx in self.log_steps) - ) and (check_idx > 0 or self.log_first_step): + if ((check_idx % self.batch_freq) == 0 or (check_idx in self.log_steps)) and ( + check_idx > 0 or self.log_first_step + ): try: self.log_steps.pop(0) except IndexError as e: @@ -526,23 +487,15 @@ class ImageLogger(Callback): return True return False - def on_train_batch_end( - self, trainer, pl_module, outputs, batch, batch_idx, dataloader_idx=None - ): - if not self.disabled and ( - pl_module.global_step > 0 or self.log_first_step - ): - self.log_img(pl_module, batch, batch_idx, split='train') + def on_train_batch_end(self, trainer, pl_module, outputs, batch, batch_idx, dataloader_idx=None): + if not self.disabled and (pl_module.global_step > 0 or self.log_first_step): + self.log_img(pl_module, batch, batch_idx, split="train") - def on_validation_batch_end( - self, trainer, pl_module, outputs, batch, batch_idx, dataloader_idx=None - ): + def on_validation_batch_end(self, trainer, pl_module, outputs, batch, batch_idx, dataloader_idx=None): if not self.disabled and pl_module.global_step > 0: - self.log_img(pl_module, batch, batch_idx, split='val') - if hasattr(pl_module, 'calibrate_grad_norm'): - if ( - pl_module.calibrate_grad_norm and batch_idx % 25 == 0 - ) and batch_idx > 0: + self.log_img(pl_module, batch, batch_idx, split="val") + if hasattr(pl_module, "calibrate_grad_norm"): + if (pl_module.calibrate_grad_norm and batch_idx % 25 == 0) and batch_idx > 0: self.log_gradients(trainer, pl_module, batch_idx=batch_idx) @@ -562,19 +515,17 @@ class CUDACallback(Callback): try: epoch_time = trainer.training_type_plugin.reduce(epoch_time) - rank_zero_info(f'Average Epoch time: {epoch_time:.2f} seconds') + rank_zero_info(f"Average Epoch time: {epoch_time:.2f} seconds") if torch.cuda.is_available(): - max_memory = ( - torch.cuda.max_memory_allocated(trainer.root_gpu) / 2**20 - ) + max_memory = torch.cuda.max_memory_allocated(trainer.root_gpu) / 2**20 max_memory = trainer.training_type_plugin.reduce(max_memory) - rank_zero_info(f'Average Peak memory {max_memory:.2f}MiB') + rank_zero_info(f"Average Peak memory {max_memory:.2f}MiB") except AttributeError: pass -class ModeSwapCallback(Callback): +class ModeSwapCallback(Callback): def __init__(self, swap_step=2000): super().__init__() self.is_frozen = False @@ -589,7 +540,8 @@ class ModeSwapCallback(Callback): self.is_frozen = False trainer.optimizers = [pl_module.configure_opt_model()] -if __name__ == '__main__': + +if __name__ == "__main__": # custom parser to specify config files, train, test and debug mode, # postfix, resume. # `--key value` arguments are interpreted as arguments to the trainer. @@ -631,7 +583,7 @@ if __name__ == '__main__': # params: # key: value - now = datetime.datetime.now().strftime('%Y-%m-%dT%H-%M-%S') + now = datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S") # add cwd for convenience and to make classes in this file available when # running as `python main.py` @@ -644,50 +596,47 @@ if __name__ == '__main__': opt, unknown = parser.parse_known_args() if opt.name and opt.resume: raise ValueError( - '-n/--name and -r/--resume cannot be specified both.' - 'If you want to resume training in a new log folder, ' - 'use -n/--name in combination with --resume_from_checkpoint' + "-n/--name and -r/--resume cannot be specified both." + "If you want to resume training in a new log folder, " + "use -n/--name in combination with --resume_from_checkpoint" ) if opt.resume: if not os.path.exists(opt.resume): - raise ValueError('Cannot find {}'.format(opt.resume)) + raise ValueError("Cannot find {}".format(opt.resume)) if os.path.isfile(opt.resume): - paths = opt.resume.split('/') + paths = opt.resume.split("/") # idx = len(paths)-paths[::-1].index("logs")+1 # logdir = "/".join(paths[:idx]) - logdir = '/'.join(paths[:-2]) + logdir = "/".join(paths[:-2]) ckpt = opt.resume else: assert os.path.isdir(opt.resume), opt.resume - logdir = opt.resume.rstrip('/') - ckpt = os.path.join(logdir, 'checkpoints', 'last.ckpt') + logdir = opt.resume.rstrip("/") + ckpt = os.path.join(logdir, "checkpoints", "last.ckpt") opt.resume_from_checkpoint = ckpt - base_configs = sorted( - glob.glob(os.path.join(logdir, 'configs/*.yaml')) - ) + base_configs = sorted(glob.glob(os.path.join(logdir, "configs/*.yaml"))) opt.base = base_configs + opt.base - _tmp = logdir.split('/') + _tmp = logdir.split("/") nowname = _tmp[-1] else: if opt.name: - name = '_' + opt.name + name = "_" + opt.name elif opt.base: cfg_fname = os.path.split(opt.base[0])[-1] cfg_name = os.path.splitext(cfg_fname)[0] - name = '_' + cfg_name + name = "_" + cfg_name else: - name = '' + name = "" if opt.datadir_in_name: now = os.path.basename(os.path.normpath(opt.data_root)) + now - nowname = now + name + opt.postfix logdir = os.path.join(opt.logdir, nowname) - ckptdir = os.path.join(logdir, 'checkpoints') - cfgdir = os.path.join(logdir, 'configs') + ckptdir = os.path.join(logdir, "checkpoints") + cfgdir = os.path.join(logdir, "configs") seed_everything(opt.seed) try: @@ -695,19 +644,19 @@ if __name__ == '__main__': configs = [OmegaConf.load(cfg) for cfg in opt.base] cli = OmegaConf.from_dotlist(unknown) config = OmegaConf.merge(*configs, cli) - lightning_config = config.pop('lightning', OmegaConf.create()) + lightning_config = config.pop("lightning", OmegaConf.create()) # merge trainer cli with config - trainer_config = lightning_config.get('trainer', OmegaConf.create()) + trainer_config = lightning_config.get("trainer", OmegaConf.create()) # default to ddp - trainer_config['accelerator'] = 'auto' + trainer_config["accelerator"] = "auto" for k in nondefault_trainer_args(opt): trainer_config[k] = getattr(opt, k) - if not 'gpus' in trainer_config: - del trainer_config['accelerator'] + if not "gpus" in trainer_config: + del trainer_config["accelerator"] cpu = True else: - gpuinfo = trainer_config['gpus'] - print(f'Running on GPUs {gpuinfo}') + gpuinfo = trainer_config["gpus"] + print(f"Running on GPUs {gpuinfo}") cpu = False trainer_opt = argparse.Namespace(**trainer_config) lightning_config.trainer = trainer_config @@ -715,9 +664,7 @@ if __name__ == '__main__': # model # config.model.params.personalization_config.params.init_word = opt.init_word - config.model.params.personalization_config.params.embedding_manager_ckpt = ( - opt.embedding_manager_ckpt - ) + config.model.params.personalization_config.params.embedding_manager_ckpt = opt.embedding_manager_ckpt if opt.init_word: config.model.params.personalization_config.params.initializer_words = [opt.init_word] @@ -731,142 +678,128 @@ if __name__ == '__main__': trainer_kwargs = dict() # default logger configs - def_logger = 'csv' - def_logger_target = 'CSVLogger' + def_logger = "csv" + def_logger_target = "CSVLogger" default_logger_cfgs = { - 'wandb': { - 'target': 'pytorch_lightning.loggers.WandbLogger', - 'params': { - 'name': nowname, - 'save_dir': logdir, - 'offline': opt.debug, - 'id': nowname, + "wandb": { + "target": "pytorch_lightning.loggers.WandbLogger", + "params": { + "name": nowname, + "save_dir": logdir, + "offline": opt.debug, + "id": nowname, }, }, def_logger: { - 'target': 'pytorch_lightning.loggers.' + def_logger_target, - 'params': { - 'name': def_logger, - 'save_dir': logdir, + "target": "pytorch_lightning.loggers." + def_logger_target, + "params": { + "name": def_logger, + "save_dir": logdir, }, }, } default_logger_cfg = default_logger_cfgs[def_logger] - if 'logger' in lightning_config: + if "logger" in lightning_config: logger_cfg = lightning_config.logger else: logger_cfg = OmegaConf.create() logger_cfg = OmegaConf.merge(default_logger_cfg, logger_cfg) - trainer_kwargs['logger'] = instantiate_from_config(logger_cfg) + trainer_kwargs["logger"] = instantiate_from_config(logger_cfg) # modelcheckpoint - use TrainResult/EvalResult(checkpoint_on=metric) to # specify which metric is used to determine best models default_modelckpt_cfg = { - 'target': 'pytorch_lightning.callbacks.ModelCheckpoint', - 'params': { - 'dirpath': ckptdir, - 'filename': '{epoch:06}', - 'verbose': True, - 'save_last': True, + "target": "pytorch_lightning.callbacks.ModelCheckpoint", + "params": { + "dirpath": ckptdir, + "filename": "{epoch:06}", + "verbose": True, + "save_last": True, }, } - if hasattr(model, 'monitor'): - print(f'Monitoring {model.monitor} as checkpoint metric.') - default_modelckpt_cfg['params']['monitor'] = model.monitor - default_modelckpt_cfg['params']['save_top_k'] = 1 + if hasattr(model, "monitor"): + print(f"Monitoring {model.monitor} as checkpoint metric.") + default_modelckpt_cfg["params"]["monitor"] = model.monitor + default_modelckpt_cfg["params"]["save_top_k"] = 1 - if 'modelcheckpoint' in lightning_config: + if "modelcheckpoint" in lightning_config: modelckpt_cfg = lightning_config.modelcheckpoint else: modelckpt_cfg = OmegaConf.create() modelckpt_cfg = OmegaConf.merge(default_modelckpt_cfg, modelckpt_cfg) - print(f'Merged modelckpt-cfg: \n{modelckpt_cfg}') - if version.parse(pl.__version__) < version.parse('1.4.0'): - trainer_kwargs['checkpoint_callback'] = instantiate_from_config( - modelckpt_cfg - ) + print(f"Merged modelckpt-cfg: \n{modelckpt_cfg}") + if version.parse(pl.__version__) < version.parse("1.4.0"): + trainer_kwargs["checkpoint_callback"] = instantiate_from_config(modelckpt_cfg) # add callback which sets up log directory default_callbacks_cfg = { - 'setup_callback': { - 'target': 'main.SetupCallback', - 'params': { - 'resume': opt.resume, - 'now': now, - 'logdir': logdir, - 'ckptdir': ckptdir, - 'cfgdir': cfgdir, - 'config': config, - 'lightning_config': lightning_config, + "setup_callback": { + "target": "main.SetupCallback", + "params": { + "resume": opt.resume, + "now": now, + "logdir": logdir, + "ckptdir": ckptdir, + "cfgdir": cfgdir, + "config": config, + "lightning_config": lightning_config, }, }, - 'image_logger': { - 'target': 'main.ImageLogger', - 'params': { - 'batch_frequency': 750, - 'max_images': 4, - 'clamp': True, + "image_logger": { + "target": "main.ImageLogger", + "params": { + "batch_frequency": 750, + "max_images": 4, + "clamp": True, }, }, - 'learning_rate_logger': { - 'target': 'main.LearningRateMonitor', - 'params': { - 'logging_interval': 'step', + "learning_rate_logger": { + "target": "main.LearningRateMonitor", + "params": { + "logging_interval": "step", # "log_momentum": True }, }, - 'cuda_callback': {'target': 'main.CUDACallback'}, + "cuda_callback": {"target": "main.CUDACallback"}, } - if version.parse(pl.__version__) >= version.parse('1.4.0'): - default_callbacks_cfg.update( - {'checkpoint_callback': modelckpt_cfg} - ) + if version.parse(pl.__version__) >= version.parse("1.4.0"): + default_callbacks_cfg.update({"checkpoint_callback": modelckpt_cfg}) - if 'callbacks' in lightning_config: + if "callbacks" in lightning_config: callbacks_cfg = lightning_config.callbacks else: callbacks_cfg = OmegaConf.create() - if 'metrics_over_trainsteps_checkpoint' in callbacks_cfg: + if "metrics_over_trainsteps_checkpoint" in callbacks_cfg: print( - 'Caution: Saving checkpoints every n train steps without deleting. This might require some free space.' + "Caution: Saving checkpoints every n train steps without deleting. This might require some free space." ) default_metrics_over_trainsteps_ckpt_dict = { - 'metrics_over_trainsteps_checkpoint': { - 'target': 'pytorch_lightning.callbacks.ModelCheckpoint', - 'params': { - 'dirpath': os.path.join( - ckptdir, 'trainstep_checkpoints' - ), - 'filename': '{epoch:06}-{step:09}', - 'verbose': True, - 'save_top_k': -1, - 'every_n_train_steps': 10000, - 'save_weights_only': True, + "metrics_over_trainsteps_checkpoint": { + "target": "pytorch_lightning.callbacks.ModelCheckpoint", + "params": { + "dirpath": os.path.join(ckptdir, "trainstep_checkpoints"), + "filename": "{epoch:06}-{step:09}", + "verbose": True, + "save_top_k": -1, + "every_n_train_steps": 10000, + "save_weights_only": True, }, } } - default_callbacks_cfg.update( - default_metrics_over_trainsteps_ckpt_dict - ) + default_callbacks_cfg.update(default_metrics_over_trainsteps_ckpt_dict) callbacks_cfg = OmegaConf.merge(default_callbacks_cfg, callbacks_cfg) - if 'ignore_keys_callback' in callbacks_cfg and hasattr( - trainer_opt, 'resume_from_checkpoint' - ): - callbacks_cfg.ignore_keys_callback.params[ - 'ckpt_path' - ] = trainer_opt.resume_from_checkpoint - elif 'ignore_keys_callback' in callbacks_cfg: - del callbacks_cfg['ignore_keys_callback'] + if "ignore_keys_callback" in callbacks_cfg and hasattr(trainer_opt, "resume_from_checkpoint"): + callbacks_cfg.ignore_keys_callback.params["ckpt_path"] = trainer_opt.resume_from_checkpoint + elif "ignore_keys_callback" in callbacks_cfg: + del callbacks_cfg["ignore_keys_callback"] - trainer_kwargs['callbacks'] = [ - instantiate_from_config(callbacks_cfg[k]) for k in callbacks_cfg - ] - trainer_kwargs['max_steps'] = trainer_opt.max_steps + trainer_kwargs["callbacks"] = [instantiate_from_config(callbacks_cfg[k]) for k in callbacks_cfg] + trainer_kwargs["max_steps"] = trainer_opt.max_steps - if hasattr(torch.backends, 'mps') and torch.backends.mps.is_available(): - trainer_opt.accelerator = 'mps' + if hasattr(torch.backends, "mps") and torch.backends.mps.is_available(): + trainer_opt.accelerator = "mps" trainer_opt.detect_anomaly = False trainer = Trainer.from_argparse_args(trainer_opt, **trainer_kwargs) @@ -882,11 +815,9 @@ if __name__ == '__main__': # lightning still takes care of proper multiprocessing though data.prepare_data() data.setup() - print('#### Data #####') + print("#### Data #####") for k in data.datasets: - print( - f'{k}, {data.datasets[k].__class__.__name__}, {len(data.datasets[k])}' - ) + print(f"{k}, {data.datasets[k].__class__.__name__}, {len(data.datasets[k])}") # configure learning rate bs, base_lr = ( @@ -894,24 +825,20 @@ if __name__ == '__main__': config.model.base_learning_rate, ) if not cpu: - gpus = str(lightning_config.trainer.gpus).strip(', ').split(',') + gpus = str(lightning_config.trainer.gpus).strip(", ").split(",") ngpu = len(gpus) else: ngpu = 1 - if 'accumulate_grad_batches' in lightning_config.trainer: - accumulate_grad_batches = ( - lightning_config.trainer.accumulate_grad_batches - ) + if "accumulate_grad_batches" in lightning_config.trainer: + accumulate_grad_batches = lightning_config.trainer.accumulate_grad_batches else: accumulate_grad_batches = 1 - print(f'accumulate_grad_batches = {accumulate_grad_batches}') - lightning_config.trainer.accumulate_grad_batches = ( - accumulate_grad_batches - ) + print(f"accumulate_grad_batches = {accumulate_grad_batches}") + lightning_config.trainer.accumulate_grad_batches = accumulate_grad_batches if opt.scale_lr: model.learning_rate = accumulate_grad_batches * ngpu * bs * base_lr print( - 'Setting learning rate to {:.2e} = {} (accumulate_grad_batches) * {} (num_gpus) * {} (batchsize) * {:.2e} (base_lr)'.format( + "Setting learning rate to {:.2e} = {} (accumulate_grad_batches) * {} (num_gpus) * {} (batchsize) * {:.2e} (base_lr)".format( model.learning_rate, accumulate_grad_batches, ngpu, @@ -921,15 +848,15 @@ if __name__ == '__main__': ) else: model.learning_rate = base_lr - print('++++ NOT USING LR SCALING ++++') - print(f'Setting learning rate to {model.learning_rate:.2e}') + print("++++ NOT USING LR SCALING ++++") + print(f"Setting learning rate to {model.learning_rate:.2e}") # allow checkpointing via USR1 def melk(*args, **kwargs): # run all checkpoint hooks if trainer.global_rank == 0: - print('Summoning checkpoint.') - ckpt_path = os.path.join(ckptdir, 'last.ckpt') + print("Summoning checkpoint.") + ckpt_path = os.path.join(ckptdir, "last.ckpt") trainer.save_checkpoint(ckpt_path) def divein(*args, **kwargs): @@ -964,7 +891,7 @@ if __name__ == '__main__': # move newly created debug project to debug_runs if opt.debug and not opt.resume and trainer.global_rank == 0: dst, name = os.path.split(logdir) - dst = os.path.join(dst, 'debug_runs', name) + dst = os.path.join(dst, "debug_runs", name) os.makedirs(os.path.split(dst)[0], exist_ok=True) os.rename(logdir, dst) # if trainer.global_rank == 0: diff --git a/scripts/orig_scripts/merge_embeddings.py b/scripts/orig_scripts/merge_embeddings.py index 97e72f9128..c2cf1acb1a 100755 --- a/scripts/orig_scripts/merge_embeddings.py +++ b/scripts/orig_scripts/merge_embeddings.py @@ -7,21 +7,30 @@ from functools import partial import torch -def get_placeholder_loop(placeholder_string, embedder, use_bert): - new_placeholder = None +def get_placeholder_loop(placeholder_string, embedder, use_bert): + new_placeholder = None while True: if new_placeholder is None: - new_placeholder = input(f"Placeholder string {placeholder_string} was already used. Please enter a replacement string: ") + new_placeholder = input( + f"Placeholder string {placeholder_string} was already used. Please enter a replacement string: " + ) else: - new_placeholder = input(f"Placeholder string '{new_placeholder}' maps to more than a single token. Please enter another string: ") + new_placeholder = input( + f"Placeholder string '{new_placeholder}' maps to more than a single token. Please enter another string: " + ) - token = get_bert_token_for_string(embedder.tknz_fn, new_placeholder) if use_bert else get_clip_token_for_string(embedder.tokenizer, new_placeholder) + token = ( + get_bert_token_for_string(embedder.tknz_fn, new_placeholder) + if use_bert + else get_clip_token_for_string(embedder.tokenizer, new_placeholder) + ) if token is not None: return new_placeholder, token + def get_clip_token_for_string(tokenizer, string): batch_encoding = tokenizer( string, @@ -30,7 +39,7 @@ def get_clip_token_for_string(tokenizer, string): return_length=True, return_overflowing_tokens=False, padding="max_length", - return_tensors="pt" + return_tensors="pt", ) tokens = batch_encoding["input_ids"] @@ -40,6 +49,7 @@ def get_clip_token_for_string(tokenizer, string): return None + def get_bert_token_for_string(tokenizer, string): token = tokenizer(string) if torch.count_nonzero(token) == 3: @@ -49,22 +59,17 @@ def get_bert_token_for_string(tokenizer, string): if __name__ == "__main__": - parser = argparse.ArgumentParser() parser.add_argument( "--root_dir", type=str, - default='.', - help="Path to the InvokeAI install directory containing 'models', 'outputs' and 'configs'." + default=".", + help="Path to the InvokeAI install directory containing 'models', 'outputs' and 'configs'.", ) parser.add_argument( - "--manager_ckpts", - type=str, - nargs="+", - required=True, - help="Paths to a set of embedding managers to be merged." + "--manager_ckpts", type=str, nargs="+", required=True, help="Paths to a set of embedding managers to be merged." ) parser.add_argument( @@ -75,13 +80,14 @@ if __name__ == "__main__": ) parser.add_argument( - "-sd", "--use_bert", + "-sd", + "--use_bert", action="store_true", - help="Flag to denote that we are not merging stable diffusion embeddings" + help="Flag to denote that we are not merging stable diffusion embeddings", ) args = parser.parse_args() - Globals.root=args.root_dir + Globals.root = args.root_dir if args.use_bert: embedder = BERTEmbedder(n_embed=1280, n_layer=32).cuda() diff --git a/scripts/orig_scripts/sample_diffusion.py b/scripts/orig_scripts/sample_diffusion.py index 876fe3c364..9f08b6702a 100644 --- a/scripts/orig_scripts/sample_diffusion.py +++ b/scripts/orig_scripts/sample_diffusion.py @@ -10,12 +10,13 @@ from PIL import Image from ldm.models.diffusion.ddim import DDIMSampler from ldm.util import instantiate_from_config -rescale = lambda x: (x + 1.) / 2. +rescale = lambda x: (x + 1.0) / 2.0 + def custom_to_pil(x): x = x.detach().cpu() - x = torch.clamp(x, -1., 1.) - x = (x + 1.) / 2. + x = torch.clamp(x, -1.0, 1.0) + x = (x + 1.0) / 2.0 x = x.permute(1, 2, 0).numpy() x = (255 * x).astype(np.uint8) x = Image.fromarray(x) @@ -51,49 +52,51 @@ def logs2pil(logs, keys=["sample"]): @torch.no_grad() -def convsample(model, shape, return_intermediates=True, - verbose=True, - make_prog_row=False): - - +def convsample(model, shape, return_intermediates=True, verbose=True, make_prog_row=False): if not make_prog_row: - return model.p_sample_loop(None, shape, - return_intermediates=return_intermediates, verbose=verbose) + return model.p_sample_loop(None, shape, return_intermediates=return_intermediates, verbose=verbose) else: - return model.progressive_denoising( - None, shape, verbose=True - ) + return model.progressive_denoising(None, shape, verbose=True) @torch.no_grad() -def convsample_ddim(model, steps, shape, eta=1.0 - ): +def convsample_ddim(model, steps, shape, eta=1.0): ddim = DDIMSampler(model) bs = shape[0] shape = shape[1:] - samples, intermediates = ddim.sample(steps, batch_size=bs, shape=shape, eta=eta, verbose=False,) + samples, intermediates = ddim.sample( + steps, + batch_size=bs, + shape=shape, + eta=eta, + verbose=False, + ) return samples, intermediates @torch.no_grad() -def make_convolutional_sample(model, batch_size, vanilla=False, custom_steps=None, eta=1.0,): - - +def make_convolutional_sample( + model, + batch_size, + vanilla=False, + custom_steps=None, + eta=1.0, +): log = dict() - shape = [batch_size, - model.model.diffusion_model.in_channels, - model.model.diffusion_model.image_size, - model.model.diffusion_model.image_size] + shape = [ + batch_size, + model.model.diffusion_model.in_channels, + model.model.diffusion_model.image_size, + model.model.diffusion_model.image_size, + ] with model.ema_scope("Plotting"): t0 = time.time() if vanilla: - sample, progrow = convsample(model, shape, - make_prog_row=True) + sample, progrow = convsample(model, shape, make_prog_row=True) else: - sample, intermediates = convsample_ddim(model, steps=custom_steps, shape=shape, - eta=eta) + sample, intermediates = convsample_ddim(model, steps=custom_steps, shape=shape, eta=eta) t1 = time.time() @@ -101,32 +104,32 @@ def make_convolutional_sample(model, batch_size, vanilla=False, custom_steps=Non log["sample"] = x_sample log["time"] = t1 - t0 - log['throughput'] = sample.shape[0] / (t1 - t0) + log["throughput"] = sample.shape[0] / (t1 - t0) print(f'Throughput for this batch: {log["throughput"]}') return log + def run(model, logdir, batch_size=50, vanilla=False, custom_steps=None, eta=None, n_samples=50000, nplog=None): if vanilla: - print(f'Using Vanilla DDPM sampling with {model.num_timesteps} sampling steps.') + print(f"Using Vanilla DDPM sampling with {model.num_timesteps} sampling steps.") else: - print(f'Using DDIM sampling with {custom_steps} sampling steps and eta={eta}') - + print(f"Using DDIM sampling with {custom_steps} sampling steps and eta={eta}") tstart = time.time() - n_saved = len(glob.glob(os.path.join(logdir,'*.png')))-1 + n_saved = len(glob.glob(os.path.join(logdir, "*.png"))) - 1 # path = logdir if model.cond_stage_model is None: all_images = [] print(f"Running unconditional sampling for {n_samples} samples") for _ in trange(n_samples // batch_size, desc="Sampling Batches (unconditional)"): - logs = make_convolutional_sample(model, batch_size=batch_size, - vanilla=vanilla, custom_steps=custom_steps, - eta=eta) + logs = make_convolutional_sample( + model, batch_size=batch_size, vanilla=vanilla, custom_steps=custom_steps, eta=eta + ) n_saved = save_logs(logs, logdir, n_saved=n_saved, key="sample") all_images.extend([custom_to_np(logs["sample"])]) if n_saved >= n_samples: - print(f'Finish after generating {n_saved} samples') + print(f"Finish after generating {n_saved} samples") break all_img = np.concatenate(all_images, axis=0) all_img = all_img[:n_samples] @@ -135,7 +138,7 @@ def run(model, logdir, batch_size=50, vanilla=False, custom_steps=None, eta=None np.savez(nppath, all_img) else: - raise NotImplementedError('Currently only sampling for unconditional models supported.') + raise NotImplementedError("Currently only sampling for unconditional models supported.") print(f"sampling of {n_saved} images finished in {(time.time() - tstart) / 60.:.2f} minutes.") @@ -168,58 +171,33 @@ def get_parser(): nargs="?", help="load from logdir or checkpoint in logdir", ) - parser.add_argument( - "-n", - "--n_samples", - type=int, - nargs="?", - help="number of samples to draw", - default=50000 - ) + parser.add_argument("-n", "--n_samples", type=int, nargs="?", help="number of samples to draw", default=50000) parser.add_argument( "-e", "--eta", type=float, nargs="?", help="eta for ddim sampling (0.0 yields deterministic sampling)", - default=1.0 + default=1.0, ) parser.add_argument( "-v", "--vanilla_sample", default=False, - action='store_true', + action="store_true", help="vanilla sampling (default option is DDIM sampling)?", ) + parser.add_argument("-l", "--logdir", type=str, nargs="?", help="extra logdir", default="none") parser.add_argument( - "-l", - "--logdir", - type=str, - nargs="?", - help="extra logdir", - default="none" - ) - parser.add_argument( - "-c", - "--custom_steps", - type=int, - nargs="?", - help="number of steps for ddim and fastdpm sampling", - default=50 - ) - parser.add_argument( - "--batch_size", - type=int, - nargs="?", - help="the bs", - default=10 + "-c", "--custom_steps", type=int, nargs="?", help="number of steps for ddim and fastdpm sampling", default=50 ) + parser.add_argument("--batch_size", type=int, nargs="?", help="the bs", default=10) return parser def load_model_from_config(config, sd): model = instantiate_from_config(config) - model.load_state_dict(sd,strict=False) + model.load_state_dict(sd, strict=False) model.cuda() model.eval() return model @@ -233,8 +211,7 @@ def load_model(config, ckpt, gpu, eval_mode): else: pl_sd = {"state_dict": None} global_step = None - model = load_model_from_config(config.model, - pl_sd["state_dict"]) + model = load_model_from_config(config.model, pl_sd["state_dict"]) return model, global_step @@ -253,9 +230,9 @@ if __name__ == "__main__": if os.path.isfile(opt.resume): # paths = opt.resume.split("/") try: - logdir = '/'.join(opt.resume.split('/')[:-1]) + logdir = "/".join(opt.resume.split("/")[:-1]) # idx = len(paths)-paths[::-1].index("logs")+1 - print(f'Logdir is {logdir}') + print(f"Logdir is {logdir}") except ValueError: paths = opt.resume.split("/") idx = -2 # take a guess: path/to/logdir/checkpoints/model.ckpt @@ -278,7 +255,8 @@ if __name__ == "__main__": if opt.logdir != "none": locallog = logdir.split(os.sep)[-1] - if locallog == "": locallog = logdir.split(os.sep)[-2] + if locallog == "": + locallog = logdir.split(os.sep)[-2] print(f"Switching logdir from '{logdir}' to '{os.path.join(opt.logdir, locallog)}'") logdir = os.path.join(opt.logdir, locallog) @@ -301,13 +279,19 @@ if __name__ == "__main__": sampling_file = os.path.join(logdir, "sampling_config.yaml") sampling_conf = vars(opt) - with open(sampling_file, 'w') as f: + with open(sampling_file, "w") as f: yaml.dump(sampling_conf, f, default_flow_style=False) print(sampling_conf) - - run(model, imglogdir, eta=opt.eta, - vanilla=opt.vanilla_sample, n_samples=opt.n_samples, custom_steps=opt.custom_steps, - batch_size=opt.batch_size, nplog=numpylogdir) + run( + model, + imglogdir, + eta=opt.eta, + vanilla=opt.vanilla_sample, + n_samples=opt.n_samples, + custom_steps=opt.custom_steps, + batch_size=opt.batch_size, + nplog=numpylogdir, + ) print("done.") diff --git a/scripts/orig_scripts/train_searcher.py b/scripts/orig_scripts/train_searcher.py index 1e7904889c..7ba57f1165 100644 --- a/scripts/orig_scripts/train_searcher.py +++ b/scripts/orig_scripts/train_searcher.py @@ -13,21 +13,26 @@ def search_bruteforce(searcher): return searcher.score_brute_force().build() -def search_partioned_ah(searcher, dims_per_block, aiq_threshold, reorder_k, - partioning_trainsize, num_leaves, num_leaves_to_search): - return searcher.tree(num_leaves=num_leaves, - num_leaves_to_search=num_leaves_to_search, - training_sample_size=partioning_trainsize). \ - score_ah(dims_per_block, anisotropic_quantization_threshold=aiq_threshold).reorder(reorder_k).build() +def search_partioned_ah( + searcher, dims_per_block, aiq_threshold, reorder_k, partioning_trainsize, num_leaves, num_leaves_to_search +): + return ( + searcher.tree( + num_leaves=num_leaves, num_leaves_to_search=num_leaves_to_search, training_sample_size=partioning_trainsize + ) + .score_ah(dims_per_block, anisotropic_quantization_threshold=aiq_threshold) + .reorder(reorder_k) + .build() + ) def search_ah(searcher, dims_per_block, aiq_threshold, reorder_k): - return searcher.score_ah(dims_per_block, anisotropic_quantization_threshold=aiq_threshold).reorder( - reorder_k).build() + return ( + searcher.score_ah(dims_per_block, anisotropic_quantization_threshold=aiq_threshold).reorder(reorder_k).build() + ) + def load_datapool(dpath): - - def load_single_file(saved_embeddings): compressed = np.load(saved_embeddings) database = {key: compressed[key] for key in compressed.files} @@ -35,23 +40,26 @@ def load_datapool(dpath): def load_multi_files(data_archive): database = {key: [] for key in data_archive[0].files} - for d in tqdm(data_archive, desc=f'Loading datapool from {len(data_archive)} individual files.'): + for d in tqdm(data_archive, desc=f"Loading datapool from {len(data_archive)} individual files."): for key in d.files: database[key].append(d[key]) return database print(f'Load saved patch embedding from "{dpath}"') - file_content = glob.glob(os.path.join(dpath, '*.npz')) + file_content = glob.glob(os.path.join(dpath, "*.npz")) if len(file_content) == 1: data_pool = load_single_file(file_content[0]) elif len(file_content) > 1: data = [np.load(f) for f in file_content] - prefetched_data = parallel_data_prefetch(load_multi_files, data, - n_proc=min(len(data), cpu_count()), target_data_type='dict') + prefetched_data = parallel_data_prefetch( + load_multi_files, data, n_proc=min(len(data), cpu_count()), target_data_type="dict" + ) - data_pool = {key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in prefetched_data[0].keys()} + data_pool = { + key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in prefetched_data[0].keys() + } else: raise ValueError(f'No npz-files in specified path "{dpath}" is this directory existing?') @@ -59,16 +67,17 @@ def load_datapool(dpath): return data_pool -def train_searcher(opt, - metric='dot_product', - partioning_trainsize=None, - reorder_k=None, - # todo tune - aiq_thld=0.2, - dims_per_block=2, - num_leaves=None, - num_leaves_to_search=None,): - +def train_searcher( + opt, + metric="dot_product", + partioning_trainsize=None, + reorder_k=None, + # todo tune + aiq_thld=0.2, + dims_per_block=2, + num_leaves=None, + num_leaves_to_search=None, +): data_pool = load_datapool(opt.database) k = opt.knn @@ -77,71 +86,83 @@ def train_searcher(opt, # normalize # embeddings = - searcher = scann.scann_ops_pybind.builder(data_pool['embedding'] / np.linalg.norm(data_pool['embedding'], axis=1)[:, np.newaxis], k, metric) - pool_size = data_pool['embedding'].shape[0] + searcher = scann.scann_ops_pybind.builder( + data_pool["embedding"] / np.linalg.norm(data_pool["embedding"], axis=1)[:, np.newaxis], k, metric + ) + pool_size = data_pool["embedding"].shape[0] - print(*(['#'] * 100)) - print('Initializing scaNN searcher with the following values:') - print(f'k: {k}') - print(f'metric: {metric}') - print(f'reorder_k: {reorder_k}') - print(f'anisotropic_quantization_threshold: {aiq_thld}') - print(f'dims_per_block: {dims_per_block}') - print(*(['#'] * 100)) - print('Start training searcher....') - print(f'N samples in pool is {pool_size}') + print(*(["#"] * 100)) + print("Initializing scaNN searcher with the following values:") + print(f"k: {k}") + print(f"metric: {metric}") + print(f"reorder_k: {reorder_k}") + print(f"anisotropic_quantization_threshold: {aiq_thld}") + print(f"dims_per_block: {dims_per_block}") + print(*(["#"] * 100)) + print("Start training searcher....") + print(f"N samples in pool is {pool_size}") # this reflects the recommended design choices proposed at # https://github.com/google-research/google-research/blob/aca5f2e44e301af172590bb8e65711f0c9ee0cfd/scann/docs/algorithms.md if pool_size < 2e4: - print('Using brute force search.') + print("Using brute force search.") searcher = search_bruteforce(searcher) elif 2e4 <= pool_size and pool_size < 1e5: - print('Using asymmetric hashing search and reordering.') + print("Using asymmetric hashing search and reordering.") searcher = search_ah(searcher, dims_per_block, aiq_thld, reorder_k) else: - print('Using using partioning, asymmetric hashing search and reordering.') + print("Using using partioning, asymmetric hashing search and reordering.") if not partioning_trainsize: - partioning_trainsize = data_pool['embedding'].shape[0] // 10 + partioning_trainsize = data_pool["embedding"].shape[0] // 10 if not num_leaves: num_leaves = int(np.sqrt(pool_size)) if not num_leaves_to_search: num_leaves_to_search = max(num_leaves // 20, 1) - print('Partitioning params:') - print(f'num_leaves: {num_leaves}') - print(f'num_leaves_to_search: {num_leaves_to_search}') + print("Partitioning params:") + print(f"num_leaves: {num_leaves}") + print(f"num_leaves_to_search: {num_leaves_to_search}") # self.searcher = self.search_ah(searcher, dims_per_block, aiq_thld, reorder_k) - searcher = search_partioned_ah(searcher, dims_per_block, aiq_thld, reorder_k, - partioning_trainsize, num_leaves, num_leaves_to_search) + searcher = search_partioned_ah( + searcher, dims_per_block, aiq_thld, reorder_k, partioning_trainsize, num_leaves, num_leaves_to_search + ) - print('Finish training searcher') + print("Finish training searcher") searcher_savedir = opt.target_path os.makedirs(searcher_savedir, exist_ok=True) searcher.serialize(searcher_savedir) print(f'Saved trained searcher under "{searcher_savedir}"') -if __name__ == '__main__': + +if __name__ == "__main__": sys.path.append(os.getcwd()) parser = argparse.ArgumentParser() - parser.add_argument('--database', - '-d', - default='data/rdm/retrieval_databases/openimages', - type=str, - help='path to folder containing the clip feature of the database') - parser.add_argument('--target_path', - '-t', - default='data/rdm/searchers/openimages', - type=str, - help='path to the target folder where the searcher shall be stored.') - parser.add_argument('--knn', - '-k', - default=20, - type=int, - help='number of nearest neighbors, for which the searcher shall be optimized') + parser.add_argument( + "--database", + "-d", + default="data/rdm/retrieval_databases/openimages", + type=str, + help="path to folder containing the clip feature of the database", + ) + parser.add_argument( + "--target_path", + "-t", + default="data/rdm/searchers/openimages", + type=str, + help="path to the target folder where the searcher shall be stored.", + ) + parser.add_argument( + "--knn", + "-k", + default=20, + type=int, + help="number of nearest neighbors, for which the searcher shall be optimized", + ) - opt, _ = parser.parse_known_args() + opt, _ = parser.parse_known_args() - train_searcher(opt,) \ No newline at end of file + train_searcher( + opt, + ) diff --git a/scripts/orig_scripts/txt2img.py b/scripts/orig_scripts/txt2img.py index 0d350d2c73..58767c122d 100644 --- a/scripts/orig_scripts/txt2img.py +++ b/scripts/orig_scripts/txt2img.py @@ -15,10 +15,11 @@ from contextlib import contextmanager, nullcontext import k_diffusion as K import torch.nn as nn -from ldm.util import instantiate_from_config +from ldm.util import instantiate_from_config from ldm.models.diffusion.ddim import DDIMSampler from ldm.models.diffusion.plms import PLMSSampler -from ldm.invoke.devices import choose_torch_device +from ldm.invoke.devices import choose_torch_device + def chunk(it, size): it = iter(it) @@ -53,23 +54,19 @@ def main(): type=str, nargs="?", default="a painting of a virus monster playing guitar", - help="the prompt to render" + help="the prompt to render", ) parser.add_argument( - "--outdir", - type=str, - nargs="?", - help="dir to write results to", - default="outputs/txt2img-samples" + "--outdir", type=str, nargs="?", help="dir to write results to", default="outputs/txt2img-samples" ) parser.add_argument( "--skip_grid", - action='store_true', + action="store_true", help="do not save a grid, only individual samples. Helpful when evaluating lots of samples", ) parser.add_argument( "--skip_save", - action='store_true', + action="store_true", help="do not save individual samples. For speed measurements.", ) parser.add_argument( @@ -80,22 +77,22 @@ def main(): ) parser.add_argument( "--plms", - action='store_true', + action="store_true", help="use plms sampling", ) parser.add_argument( "--klms", - action='store_true', + action="store_true", help="use klms sampling", ) parser.add_argument( "--laion400m", - action='store_true', + action="store_true", help="uses the LAION400M model", ) parser.add_argument( "--fixed_code", - action='store_true', + action="store_true", help="if enabled, uses the same starting code across samples ", ) parser.add_argument( @@ -176,11 +173,7 @@ def main(): help="the seed (for reproducible sampling)", ) parser.add_argument( - "--precision", - type=str, - help="evaluate at this precision", - choices=["full", "autocast"], - default="autocast" + "--precision", type=str, help="evaluate at this precision", choices=["full", "autocast"], default="autocast" ) opt = parser.parse_args() @@ -190,17 +183,17 @@ def main(): opt.ckpt = "models/ldm/text2img-large/model.ckpt" opt.outdir = "outputs/txt2img-samples-laion400m" - config = OmegaConf.load(f"{opt.config}") model = load_model_from_config(config, f"{opt.ckpt}") seed_everything(opt.seed) device = torch.device(choose_torch_device()) - model = model.to(device) + model = model.to(device) - #for klms + # for klms model_wrap = K.external.CompVisDenoiser(model) + class CFGDenoiser(nn.Module): def __init__(self, model): super().__init__() @@ -232,10 +225,10 @@ def main(): print(f"reading prompts from {opt.from_file}") with open(opt.from_file, "r") as f: data = f.read().splitlines() - if (len(data) >= batch_size): + if len(data) >= batch_size: data = list(chunk(data, batch_size)) else: - while (len(data) < batch_size): + while len(data) < batch_size: data.append(data[-1]) data = [data] @@ -247,14 +240,14 @@ def main(): start_code = None if opt.fixed_code: shape = [opt.n_samples, opt.C, opt.H // opt.f, opt.W // opt.f] - if device.type == 'mps': - start_code = torch.randn(shape, device='cpu').to(device) + if device.type == "mps": + start_code = torch.randn(shape, device="cpu").to(device) else: torch.randn(shape, device=device) - precision_scope = autocast if opt.precision=="autocast" else nullcontext - if device.type in ['mps', 'cpu']: - precision_scope = nullcontext # have to use f32 on mps + precision_scope = autocast if opt.precision == "autocast" else nullcontext + if device.type in ["mps", "cpu"]: + precision_scope = nullcontext # have to use f32 on mps with torch.no_grad(): with precision_scope(device.type): with model.ema_scope(): @@ -271,23 +264,25 @@ def main(): shape = [opt.C, opt.H // opt.f, opt.W // opt.f] if not opt.klms: - samples_ddim, _ = sampler.sample(S=opt.ddim_steps, - conditioning=c, - batch_size=opt.n_samples, - shape=shape, - verbose=False, - unconditional_guidance_scale=opt.scale, - unconditional_conditioning=uc, - eta=opt.ddim_eta, - x_T=start_code) + samples_ddim, _ = sampler.sample( + S=opt.ddim_steps, + conditioning=c, + batch_size=opt.n_samples, + shape=shape, + verbose=False, + unconditional_guidance_scale=opt.scale, + unconditional_conditioning=uc, + eta=opt.ddim_eta, + x_T=start_code, + ) else: sigmas = model_wrap.get_sigmas(opt.ddim_steps) if start_code: x = start_code else: - x = torch.randn([opt.n_samples, *shape], device=device) * sigmas[0] # for GPU draw + x = torch.randn([opt.n_samples, *shape], device=device) * sigmas[0] # for GPU draw model_wrap_cfg = CFGDenoiser(model_wrap) - extra_args = {'cond': c, 'uncond': uc, 'cond_scale': opt.scale} + extra_args = {"cond": c, "uncond": uc, "cond_scale": opt.scale} samples_ddim = K.sampling.sample_lms(model_wrap_cfg, x, sigmas, extra_args=extra_args) x_samples_ddim = model.decode_first_stage(samples_ddim) @@ -295,9 +290,10 @@ def main(): if not opt.skip_save: for x_sample in x_samples_ddim: - x_sample = 255. * rearrange(x_sample.cpu().numpy(), 'c h w -> h w c') + x_sample = 255.0 * rearrange(x_sample.cpu().numpy(), "c h w -> h w c") Image.fromarray(x_sample.astype(np.uint8)).save( - os.path.join(sample_path, f"{base_count:05}.png")) + os.path.join(sample_path, f"{base_count:05}.png") + ) base_count += 1 if not opt.skip_grid: @@ -306,18 +302,17 @@ def main(): if not opt.skip_grid: # additionally, save as grid grid = torch.stack(all_samples, 0) - grid = rearrange(grid, 'n b c h w -> (n b) c h w') + grid = rearrange(grid, "n b c h w -> (n b) c h w") grid = make_grid(grid, nrow=n_rows) # to image - grid = 255. * rearrange(grid, 'c h w -> h w c').cpu().numpy() - Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f'grid-{grid_count:04}.png')) + grid = 255.0 * rearrange(grid, "c h w -> h w c").cpu().numpy() + Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f"grid-{grid_count:04}.png")) grid_count += 1 toc = time.time() - print(f"Your samples are ready and waiting for you here: \n{outpath} \n" - f" \nEnjoy.") + print(f"Your samples are ready and waiting for you here: \n{outpath} \n" f" \nEnjoy.") if __name__ == "__main__": diff --git a/scripts/probe-model.py b/scripts/probe-model.py index 46fd86984c..2c73ea0d79 100755 --- a/scripts/probe-model.py +++ b/scripts/probe-model.py @@ -6,6 +6,3 @@ from invokeai.backend.model_management.model_probe import ModelProbe info = ModelProbe().probe(Path(sys.argv[1])) print(info) - - - diff --git a/scripts/pypi_helper.py b/scripts/pypi_helper.py index 4dccd6383d..6c1f9b9033 100755 --- a/scripts/pypi_helper.py +++ b/scripts/pypi_helper.py @@ -5,7 +5,8 @@ import requests from invokeai.version import __version__ local_version = str(__version__).replace("-", "") -package_name = 'InvokeAI' +package_name = "InvokeAI" + def get_pypi_versions(package_name=package_name) -> list[str]: """Get the versions of the package from PyPI""" diff --git a/scripts/scan_models_directory.py b/scripts/scan_models_directory.py index 778a6c5ed5..de7278f5b7 100755 --- a/scripts/scan_models_directory.py +++ b/scripts/scan_models_directory.py @@ -1,8 +1,8 @@ #!/usr/bin/env python -''' +""" Scan the models directory and print out a new models.yaml -''' +""" import os import sys @@ -11,49 +11,51 @@ import argparse from pathlib import Path from omegaconf import OmegaConf + def main(): parser = argparse.ArgumentParser(description="Model directory scanner") - parser.add_argument('models_directory') - parser.add_argument('--all-models', - default=False, - action='store_true', - help='If true, then generates stanzas for all models; otherwise just diffusers' - ) - + parser.add_argument("models_directory") + parser.add_argument( + "--all-models", + default=False, + action="store_true", + help="If true, then generates stanzas for all models; otherwise just diffusers", + ) + args = parser.parse_args() directory = args.models_directory conf = OmegaConf.create() - conf['_version'] = '3.0.0' - + conf["_version"] = "3.0.0" + for root, dirs, files in os.walk(directory): - parents = root.split('/') - subpaths = parents[parents.index('models')+1:] + parents = root.split("/") + subpaths = parents[parents.index("models") + 1 :] if len(subpaths) < 2: continue base, model_type, *_ = subpaths - - if args.all_models or model_type=='diffusers': + + if args.all_models or model_type == "diffusers": for d in dirs: - conf[f'{base}/{model_type}/{d}'] = dict( - path = os.path.join(root,d), - description = f'{model_type} model {d}', - format = 'folder', - base = base, + conf[f"{base}/{model_type}/{d}"] = dict( + path=os.path.join(root, d), + description=f"{model_type} model {d}", + format="folder", + base=base, ) for f in files: basename = Path(f).stem format = Path(f).suffix[1:] - conf[f'{base}/{model_type}/{basename}'] = dict( - path = os.path.join(root,f), - description = f'{model_type} model {basename}', - format = format, - base = base, + conf[f"{base}/{model_type}/{basename}"] = dict( + path=os.path.join(root, f), + description=f"{model_type} model {basename}", + format=format, + base=base, ) - - OmegaConf.save(config=dict(sorted(conf.items())), f=sys.stdout) - -if __name__ == '__main__': + OmegaConf.save(config=dict(sorted(conf.items())), f=sys.stdout) + + +if __name__ == "__main__": main() diff --git a/scripts/sd-metadata.py b/scripts/sd-metadata.py index 6f9c73757d..1a27e73d95 100755 --- a/scripts/sd-metadata.py +++ b/scripts/sd-metadata.py @@ -13,10 +13,10 @@ filenames = sys.argv[1:] for f in filenames: try: metadata = retrieve_metadata(f) - print(f'{f}:\n',json.dumps(metadata['sd-metadata'], indent=4)) + print(f"{f}:\n", json.dumps(metadata["sd-metadata"], indent=4)) except FileNotFoundError: - sys.stderr.write(f'{f} not found\n') + sys.stderr.write(f"{f} not found\n") continue except PermissionError: - sys.stderr.write(f'{f} could not be opened due to inadequate permissions\n') + sys.stderr.write(f"{f} could not be opened due to inadequate permissions\n") continue diff --git a/tests/nodes/test_graph_execution_state.py b/tests/nodes/test_graph_execution_state.py index bc4a3f4176..e0ee120b54 100644 --- a/tests/nodes/test_graph_execution_state.py +++ b/tests/nodes/test_graph_execution_state.py @@ -42,26 +42,24 @@ def simple_graph(): def mock_services() -> InvocationServices: # NOTE: none of these are actually called by the test invocations return InvocationServices( - model_manager = None, # type: ignore - events = TestEventService(), - logger = None, # type: ignore - images = None, # type: ignore - latents = None, # type: ignore - boards = None, # type: ignore - board_images = None, # type: ignore - queue = MemoryInvocationQueue(), - graph_library=SqliteItemStorage[LibraryGraph]( - filename=sqlite_memory, table_name="graphs" + model_manager=None, # type: ignore + events=TestEventService(), + logger=None, # type: ignore + images=None, # type: ignore + latents=None, # type: ignore + boards=None, # type: ignore + board_images=None, # type: ignore + queue=MemoryInvocationQueue(), + graph_library=SqliteItemStorage[LibraryGraph](filename=sqlite_memory, table_name="graphs"), + graph_execution_manager=SqliteItemStorage[GraphExecutionState]( + filename=sqlite_memory, table_name="graph_executions" ), - graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = sqlite_memory, table_name = 'graph_executions'), - processor = DefaultInvocationProcessor(), - configuration = None, # type: ignore + processor=DefaultInvocationProcessor(), + configuration=None, # type: ignore ) -def invoke_next( - g: GraphExecutionState, services: InvocationServices -) -> tuple[BaseInvocation, BaseInvocationOutput]: +def invoke_next(g: GraphExecutionState, services: InvocationServices) -> tuple[BaseInvocation, BaseInvocationOutput]: n = g.next() if n is None: return (None, None) @@ -130,9 +128,7 @@ def test_graph_state_expands_iterator(mock_services): def test_graph_state_collects(mock_services): graph = Graph() test_prompts = ["Banana sushi", "Cat sushi"] - graph.add_node( - PromptCollectionTestInvocation(id="1", collection=list(test_prompts)) - ) + graph.add_node(PromptCollectionTestInvocation(id="1", collection=list(test_prompts))) graph.add_node(IterateInvocation(id="2")) graph.add_node(PromptTestInvocation(id="3")) graph.add_node(CollectInvocation(id="4")) @@ -158,16 +154,10 @@ def test_graph_state_prepares_eagerly(mock_services): graph = Graph() test_prompts = ["Banana sushi", "Cat sushi"] - graph.add_node( - PromptCollectionTestInvocation( - id="prompt_collection", collection=list(test_prompts) - ) - ) + graph.add_node(PromptCollectionTestInvocation(id="prompt_collection", collection=list(test_prompts))) graph.add_node(IterateInvocation(id="iterate")) graph.add_node(PromptTestInvocation(id="prompt_iterated")) - graph.add_edge( - create_edge("prompt_collection", "collection", "iterate", "collection") - ) + graph.add_edge(create_edge("prompt_collection", "collection", "iterate", "collection")) graph.add_edge(create_edge("iterate", "item", "prompt_iterated", "prompt")) # separated, fully-preparable chain of nodes @@ -193,21 +183,13 @@ def test_graph_executes_depth_first(mock_services): graph = Graph() test_prompts = ["Banana sushi", "Cat sushi"] - graph.add_node( - PromptCollectionTestInvocation( - id="prompt_collection", collection=list(test_prompts) - ) - ) + graph.add_node(PromptCollectionTestInvocation(id="prompt_collection", collection=list(test_prompts))) graph.add_node(IterateInvocation(id="iterate")) graph.add_node(PromptTestInvocation(id="prompt_iterated")) graph.add_node(PromptTestInvocation(id="prompt_successor")) - graph.add_edge( - create_edge("prompt_collection", "collection", "iterate", "collection") - ) + graph.add_edge(create_edge("prompt_collection", "collection", "iterate", "collection")) graph.add_edge(create_edge("iterate", "item", "prompt_iterated", "prompt")) - graph.add_edge( - create_edge("prompt_iterated", "prompt", "prompt_successor", "prompt") - ) + graph.add_edge(create_edge("prompt_iterated", "prompt", "prompt_successor", "prompt")) g = GraphExecutionState(graph=graph) n1 = invoke_next(g, mock_services) diff --git a/tests/nodes/test_invoker.py b/tests/nodes/test_invoker.py index 4741e7f58b..8eba6d468f 100644 --- a/tests/nodes/test_invoker.py +++ b/tests/nodes/test_invoker.py @@ -35,20 +35,20 @@ def simple_graph(): def mock_services() -> InvocationServices: # NOTE: none of these are actually called by the test invocations return InvocationServices( - model_manager = None, # type: ignore - events = TestEventService(), - logger = None, # type: ignore - images = None, # type: ignore - latents = None, # type: ignore - boards = None, # type: ignore - board_images = None, # type: ignore - queue = MemoryInvocationQueue(), - graph_library=SqliteItemStorage[LibraryGraph]( - filename=sqlite_memory, table_name="graphs" + model_manager=None, # type: ignore + events=TestEventService(), + logger=None, # type: ignore + images=None, # type: ignore + latents=None, # type: ignore + boards=None, # type: ignore + board_images=None, # type: ignore + queue=MemoryInvocationQueue(), + graph_library=SqliteItemStorage[LibraryGraph](filename=sqlite_memory, table_name="graphs"), + graph_execution_manager=SqliteItemStorage[GraphExecutionState]( + filename=sqlite_memory, table_name="graph_executions" ), - graph_execution_manager = SqliteItemStorage[GraphExecutionState](filename = sqlite_memory, table_name = 'graph_executions'), - processor = DefaultInvocationProcessor(), - configuration = None, # type: ignore + processor=DefaultInvocationProcessor(), + configuration=None, # type: ignore ) diff --git a/tests/nodes/test_node_graph.py b/tests/nodes/test_node_graph.py index e2a4c8b343..0f893cb14c 100644 --- a/tests/nodes/test_node_graph.py +++ b/tests/nodes/test_node_graph.py @@ -1,5 +1,21 @@ -from .test_nodes import ImageToImageTestInvocation, TextToImageTestInvocation, ListPassThroughInvocation, PromptTestInvocation -from invokeai.app.services.graph import Edge, Graph, GraphInvocation, InvalidEdgeError, NodeAlreadyInGraphError, NodeNotFoundError, are_connections_compatible, EdgeConnection, CollectInvocation, IterateInvocation +from .test_nodes import ( + ImageToImageTestInvocation, + TextToImageTestInvocation, + ListPassThroughInvocation, + PromptTestInvocation, +) +from invokeai.app.services.graph import ( + Edge, + Graph, + GraphInvocation, + InvalidEdgeError, + NodeAlreadyInGraphError, + NodeNotFoundError, + are_connections_compatible, + EdgeConnection, + CollectInvocation, + IterateInvocation, +) from invokeai.app.invocations.upscale import ESRGANInvocation from invokeai.app.invocations.image import * from invokeai.app.invocations.math import AddInvocation, SubtractInvocation @@ -11,35 +27,38 @@ import pytest # Helpers def create_edge(from_id: str, from_field: str, to_id: str, to_field: str) -> Edge: return Edge( - source=EdgeConnection(node_id = from_id, field = from_field), - destination=EdgeConnection(node_id = to_id, field = to_field) + source=EdgeConnection(node_id=from_id, field=from_field), + destination=EdgeConnection(node_id=to_id, field=to_field), ) + # Tests def test_connections_are_compatible(): - from_node = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + from_node = TextToImageTestInvocation(id="1", prompt="Banana sushi") from_field = "image" - to_node = ESRGANInvocation(id = "2") + to_node = ESRGANInvocation(id="2") to_field = "image" result = are_connections_compatible(from_node, from_field, to_node, to_field) assert result == True + def test_connections_are_incompatible(): - from_node = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + from_node = TextToImageTestInvocation(id="1", prompt="Banana sushi") from_field = "image" - to_node = ESRGANInvocation(id = "2") + to_node = ESRGANInvocation(id="2") to_field = "strength" result = are_connections_compatible(from_node, from_field, to_node, to_field) assert result == False + def test_connections_incompatible_with_invalid_fields(): - from_node = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + from_node = TextToImageTestInvocation(id="1", prompt="Banana sushi") from_field = "invalid_field" - to_node = ESRGANInvocation(id = "2") + to_node = ESRGANInvocation(id="2") to_field = "image" # From field is invalid @@ -53,138 +72,152 @@ def test_connections_incompatible_with_invalid_fields(): result = are_connections_compatible(from_node, from_field, to_node, to_field) assert result == False + def test_graph_can_add_node(): g = Graph() - n = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n = TextToImageTestInvocation(id="1", prompt="Banana sushi") g.add_node(n) assert n.id in g.nodes + def test_graph_fails_to_add_node_with_duplicate_id(): g = Graph() - n = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n = TextToImageTestInvocation(id="1", prompt="Banana sushi") g.add_node(n) - n2 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi the second") + n2 = TextToImageTestInvocation(id="1", prompt="Banana sushi the second") with pytest.raises(NodeAlreadyInGraphError): g.add_node(n2) + def test_graph_updates_node(): g = Graph() - n = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n = TextToImageTestInvocation(id="1", prompt="Banana sushi") g.add_node(n) - n2 = TextToImageTestInvocation(id = "2", prompt = "Banana sushi the second") + n2 = TextToImageTestInvocation(id="2", prompt="Banana sushi the second") g.add_node(n2) - nu = TextToImageTestInvocation(id = "1", prompt = "Banana sushi updated") + nu = TextToImageTestInvocation(id="1", prompt="Banana sushi updated") g.update_node("1", nu) assert g.nodes["1"].prompt == "Banana sushi updated" + def test_graph_fails_to_update_node_if_type_changes(): g = Graph() - n = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n = TextToImageTestInvocation(id="1", prompt="Banana sushi") g.add_node(n) - n2 = ESRGANInvocation(id = "2") + n2 = ESRGANInvocation(id="2") g.add_node(n2) - nu = ESRGANInvocation(id = "1") + nu = ESRGANInvocation(id="1") with pytest.raises(TypeError): g.update_node("1", nu) + def test_graph_allows_non_conflicting_id_change(): g = Graph() - n = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n = TextToImageTestInvocation(id="1", prompt="Banana sushi") g.add_node(n) - n2 = ESRGANInvocation(id = "2") + n2 = ESRGANInvocation(id="2") g.add_node(n2) - e1 = create_edge(n.id,"image",n2.id,"image") + e1 = create_edge(n.id, "image", n2.id, "image") g.add_edge(e1) - - nu = TextToImageTestInvocation(id = "3", prompt = "Banana sushi") + + nu = TextToImageTestInvocation(id="3", prompt="Banana sushi") g.update_node("1", nu) with pytest.raises(NodeNotFoundError): g.get_node("1") - + assert g.get_node("3").prompt == "Banana sushi" assert len(g.edges) == 1 - assert Edge(source=EdgeConnection(node_id = "3", field = "image"), destination=EdgeConnection(node_id = "2", field = "image")) in g.edges + assert ( + Edge(source=EdgeConnection(node_id="3", field="image"), destination=EdgeConnection(node_id="2", field="image")) + in g.edges + ) + def test_graph_fails_to_update_node_id_if_conflict(): g = Graph() - n = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n = TextToImageTestInvocation(id="1", prompt="Banana sushi") g.add_node(n) - n2 = TextToImageTestInvocation(id = "2", prompt = "Banana sushi the second") + n2 = TextToImageTestInvocation(id="2", prompt="Banana sushi the second") g.add_node(n2) - - nu = TextToImageTestInvocation(id = "2", prompt = "Banana sushi") + + nu = TextToImageTestInvocation(id="2", prompt="Banana sushi") with pytest.raises(NodeAlreadyInGraphError): g.update_node("1", nu) + def test_graph_adds_edge(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") g.add_node(n1) g.add_node(n2) - e = create_edge(n1.id,"image",n2.id,"image") + e = create_edge(n1.id, "image", n2.id, "image") g.add_edge(e) assert e in g.edges + def test_graph_fails_to_add_edge_with_cycle(): g = Graph() - n1 = ESRGANInvocation(id = "1") + n1 = ESRGANInvocation(id="1") g.add_node(n1) - e = create_edge(n1.id,"image",n1.id,"image") + e = create_edge(n1.id, "image", n1.id, "image") with pytest.raises(InvalidEdgeError): g.add_edge(e) + def test_graph_fails_to_add_edge_with_long_cycle(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") - n3 = ESRGANInvocation(id = "3") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") + n3 = ESRGANInvocation(id="3") g.add_node(n1) g.add_node(n2) g.add_node(n3) - e1 = create_edge(n1.id,"image",n2.id,"image") - e2 = create_edge(n2.id,"image",n3.id,"image") - e3 = create_edge(n3.id,"image",n2.id,"image") + e1 = create_edge(n1.id, "image", n2.id, "image") + e2 = create_edge(n2.id, "image", n3.id, "image") + e3 = create_edge(n3.id, "image", n2.id, "image") g.add_edge(e1) g.add_edge(e2) with pytest.raises(InvalidEdgeError): g.add_edge(e3) + def test_graph_fails_to_add_edge_with_missing_node_id(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") g.add_node(n1) g.add_node(n2) - e1 = create_edge("1","image","3","image") - e2 = create_edge("3","image","1","image") + e1 = create_edge("1", "image", "3", "image") + e2 = create_edge("3", "image", "1", "image") with pytest.raises(InvalidEdgeError): g.add_edge(e1) with pytest.raises(InvalidEdgeError): g.add_edge(e2) + def test_graph_fails_to_add_edge_when_destination_exists(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") - n3 = ESRGANInvocation(id = "3") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") + n3 = ESRGANInvocation(id="3") g.add_node(n1) g.add_node(n2) g.add_node(n3) - e1 = create_edge(n1.id,"image",n2.id,"image") - e2 = create_edge(n1.id,"image",n3.id,"image") - e3 = create_edge(n2.id,"image",n3.id,"image") + e1 = create_edge(n1.id, "image", n2.id, "image") + e2 = create_edge(n1.id, "image", n3.id, "image") + e3 = create_edge(n2.id, "image", n3.id, "image") g.add_edge(e1) g.add_edge(e2) with pytest.raises(InvalidEdgeError): @@ -193,208 +226,223 @@ def test_graph_fails_to_add_edge_when_destination_exists(): def test_graph_fails_to_add_edge_with_mismatched_types(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") g.add_node(n1) g.add_node(n2) - e1 = create_edge("1","image","2","strength") + e1 = create_edge("1", "image", "2", "strength") with pytest.raises(InvalidEdgeError): g.add_edge(e1) + def test_graph_connects_collector(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = TextToImageTestInvocation(id = "2", prompt = "Banana sushi 2") - n3 = CollectInvocation(id = "3") - n4 = ListPassThroughInvocation(id = "4") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = TextToImageTestInvocation(id="2", prompt="Banana sushi 2") + n3 = CollectInvocation(id="3") + n4 = ListPassThroughInvocation(id="4") g.add_node(n1) g.add_node(n2) g.add_node(n3) g.add_node(n4) - e1 = create_edge("1","image","3","item") - e2 = create_edge("2","image","3","item") - e3 = create_edge("3","collection","4","collection") + e1 = create_edge("1", "image", "3", "item") + e2 = create_edge("2", "image", "3", "item") + e3 = create_edge("3", "collection", "4", "collection") g.add_edge(e1) g.add_edge(e2) g.add_edge(e3) + # TODO: test that derived types mixed with base types are compatible + def test_graph_collector_invalid_with_varying_input_types(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = PromptTestInvocation(id = "2", prompt = "banana sushi 2") - n3 = CollectInvocation(id = "3") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = PromptTestInvocation(id="2", prompt="banana sushi 2") + n3 = CollectInvocation(id="3") g.add_node(n1) g.add_node(n2) g.add_node(n3) - e1 = create_edge("1","image","3","item") - e2 = create_edge("2","prompt","3","item") + e1 = create_edge("1", "image", "3", "item") + e2 = create_edge("2", "prompt", "3", "item") g.add_edge(e1) - + with pytest.raises(InvalidEdgeError): g.add_edge(e2) + def test_graph_collector_invalid_with_varying_input_output(): g = Graph() - n1 = PromptTestInvocation(id = "1", prompt = "Banana sushi") - n2 = PromptTestInvocation(id = "2", prompt = "Banana sushi 2") - n3 = CollectInvocation(id = "3") - n4 = ListPassThroughInvocation(id = "4") + n1 = PromptTestInvocation(id="1", prompt="Banana sushi") + n2 = PromptTestInvocation(id="2", prompt="Banana sushi 2") + n3 = CollectInvocation(id="3") + n4 = ListPassThroughInvocation(id="4") g.add_node(n1) g.add_node(n2) g.add_node(n3) g.add_node(n4) - e1 = create_edge("1","prompt","3","item") - e2 = create_edge("2","prompt","3","item") - e3 = create_edge("3","collection","4","collection") + e1 = create_edge("1", "prompt", "3", "item") + e2 = create_edge("2", "prompt", "3", "item") + e3 = create_edge("3", "collection", "4", "collection") g.add_edge(e1) g.add_edge(e2) with pytest.raises(InvalidEdgeError): g.add_edge(e3) + def test_graph_collector_invalid_with_non_list_output(): g = Graph() - n1 = PromptTestInvocation(id = "1", prompt = "Banana sushi") - n2 = PromptTestInvocation(id = "2", prompt = "Banana sushi 2") - n3 = CollectInvocation(id = "3") - n4 = PromptTestInvocation(id = "4") + n1 = PromptTestInvocation(id="1", prompt="Banana sushi") + n2 = PromptTestInvocation(id="2", prompt="Banana sushi 2") + n3 = CollectInvocation(id="3") + n4 = PromptTestInvocation(id="4") g.add_node(n1) g.add_node(n2) g.add_node(n3) g.add_node(n4) - e1 = create_edge("1","prompt","3","item") - e2 = create_edge("2","prompt","3","item") - e3 = create_edge("3","collection","4","prompt") + e1 = create_edge("1", "prompt", "3", "item") + e2 = create_edge("2", "prompt", "3", "item") + e3 = create_edge("3", "collection", "4", "prompt") g.add_edge(e1) g.add_edge(e2) with pytest.raises(InvalidEdgeError): g.add_edge(e3) + def test_graph_connects_iterator(): g = Graph() - n1 = ListPassThroughInvocation(id = "1") - n2 = IterateInvocation(id = "2") - n3 = ImageToImageTestInvocation(id = "3", prompt = "Banana sushi") + n1 = ListPassThroughInvocation(id="1") + n2 = IterateInvocation(id="2") + n3 = ImageToImageTestInvocation(id="3", prompt="Banana sushi") g.add_node(n1) g.add_node(n2) g.add_node(n3) - e1 = create_edge("1","collection","2","collection") - e2 = create_edge("2","item","3","image") + e1 = create_edge("1", "collection", "2", "collection") + e2 = create_edge("2", "item", "3", "image") g.add_edge(e1) g.add_edge(e2) + # TODO: TEST INVALID ITERATOR SCENARIOS + def test_graph_iterator_invalid_if_multiple_inputs(): g = Graph() - n1 = ListPassThroughInvocation(id = "1") - n2 = IterateInvocation(id = "2") - n3 = ImageToImageTestInvocation(id = "3", prompt = "Banana sushi") - n4 = ListPassThroughInvocation(id = "4") + n1 = ListPassThroughInvocation(id="1") + n2 = IterateInvocation(id="2") + n3 = ImageToImageTestInvocation(id="3", prompt="Banana sushi") + n4 = ListPassThroughInvocation(id="4") g.add_node(n1) g.add_node(n2) g.add_node(n3) g.add_node(n4) - e1 = create_edge("1","collection","2","collection") - e2 = create_edge("2","item","3","image") - e3 = create_edge("4","collection","2","collection") + e1 = create_edge("1", "collection", "2", "collection") + e2 = create_edge("2", "item", "3", "image") + e3 = create_edge("4", "collection", "2", "collection") g.add_edge(e1) g.add_edge(e2) with pytest.raises(InvalidEdgeError): g.add_edge(e3) + def test_graph_iterator_invalid_if_input_not_list(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = IterateInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = IterateInvocation(id="2") g.add_node(n1) g.add_node(n2) - e1 = create_edge("1","collection","2","collection") + e1 = create_edge("1", "collection", "2", "collection") with pytest.raises(InvalidEdgeError): g.add_edge(e1) + def test_graph_iterator_invalid_if_output_and_input_types_different(): g = Graph() - n1 = ListPassThroughInvocation(id = "1") - n2 = IterateInvocation(id = "2") - n3 = PromptTestInvocation(id = "3", prompt = "Banana sushi") + n1 = ListPassThroughInvocation(id="1") + n2 = IterateInvocation(id="2") + n3 = PromptTestInvocation(id="3", prompt="Banana sushi") g.add_node(n1) g.add_node(n2) g.add_node(n3) - e1 = create_edge("1","collection","2","collection") - e2 = create_edge("2","item","3","prompt") + e1 = create_edge("1", "collection", "2", "collection") + e2 = create_edge("2", "item", "3", "prompt") g.add_edge(e1) with pytest.raises(InvalidEdgeError): g.add_edge(e2) + def test_graph_validates(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") g.add_node(n1) g.add_node(n2) - e1 = create_edge("1","image","2","image") + e1 = create_edge("1", "image", "2", "image") g.add_edge(e1) assert g.is_valid() == True + def test_graph_invalid_if_edges_reference_missing_nodes(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") g.nodes[n1.id] = n1 - e1 = create_edge("1","image","2","image") + e1 = create_edge("1", "image", "2", "image") g.edges.append(e1) assert g.is_valid() == False + def test_graph_invalid_if_subgraph_invalid(): g = Graph() - n1 = GraphInvocation(id = "1") + n1 = GraphInvocation(id="1") n1.graph = Graph() - n1_1 = TextToImageTestInvocation(id = "2", prompt = "Banana sushi") + n1_1 = TextToImageTestInvocation(id="2", prompt="Banana sushi") n1.graph.nodes[n1_1.id] = n1_1 - e1 = create_edge("1","image","2","image") + e1 = create_edge("1", "image", "2", "image") n1.graph.edges.append(e1) g.nodes[n1.id] = n1 assert g.is_valid() == False + def test_graph_invalid_if_has_cycle(): g = Graph() - n1 = ESRGANInvocation(id = "1") - n2 = ESRGANInvocation(id = "2") + n1 = ESRGANInvocation(id="1") + n2 = ESRGANInvocation(id="2") g.nodes[n1.id] = n1 g.nodes[n2.id] = n2 - e1 = create_edge("1","image","2","image") - e2 = create_edge("2","image","1","image") + e1 = create_edge("1", "image", "2", "image") + e2 = create_edge("2", "image", "1", "image") g.edges.append(e1) g.edges.append(e2) assert g.is_valid() == False + def test_graph_invalid_with_invalid_connection(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") g.nodes[n1.id] = n1 g.nodes[n2.id] = n2 - e1 = create_edge("1","image","2","strength") + e1 = create_edge("1", "image", "2", "strength") g.edges.append(e1) assert g.is_valid() == False @@ -403,47 +451,47 @@ def test_graph_invalid_with_invalid_connection(): # TODO: Subgraph operations def test_graph_gets_subgraph_node(): g = Graph() - n1 = GraphInvocation(id = "1") + n1 = GraphInvocation(id="1") n1.graph = Graph() n1.graph.add_node - n1_1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n1_1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") n1.graph.add_node(n1_1) g.add_node(n1) - result = g.get_node('1.1') + result = g.get_node("1.1") assert result is not None - assert result.id == '1' + assert result.id == "1" assert result == n1_1 def test_graph_expands_subgraph(): g = Graph() - n1 = GraphInvocation(id = "1") + n1 = GraphInvocation(id="1") n1.graph = Graph() - n1_1 = AddInvocation(id = "1", a = 1, b = 2) - n1_2 = SubtractInvocation(id = "2", b = 3) + n1_1 = AddInvocation(id="1", a=1, b=2) + n1_2 = SubtractInvocation(id="2", b=3) n1.graph.add_node(n1_1) n1.graph.add_node(n1_2) - n1.graph.add_edge(create_edge("1","a","2","a")) + n1.graph.add_edge(create_edge("1", "a", "2", "a")) g.add_node(n1) - n2 = AddInvocation(id = "2", b = 5) + n2 = AddInvocation(id="2", b=5) g.add_node(n2) - g.add_edge(create_edge("1.2","a","2","a")) + g.add_edge(create_edge("1.2", "a", "2", "a")) dg = g.nx_graph_flat() - assert set(dg.nodes) == set(['1.1', '1.2', '2']) - assert set(dg.edges) == set([('1.1', '1.2'), ('1.2', '2')]) + assert set(dg.nodes) == set(["1.1", "1.2", "2"]) + assert set(dg.edges) == set([("1.1", "1.2"), ("1.2", "2")]) def test_graph_subgraph_t2i(): g = Graph() - n1 = GraphInvocation(id = "1") + n1 = GraphInvocation(id="1") # Get text to image default graph lg = create_text_to_image() @@ -451,28 +499,26 @@ def test_graph_subgraph_t2i(): g.add_node(n1) - n2 = ParamIntInvocation(id = "2", a = 512) - n3 = ParamIntInvocation(id = "3", a = 256) + n2 = ParamIntInvocation(id="2", a=512) + n3 = ParamIntInvocation(id="3", a=256) g.add_node(n2) g.add_node(n3) - g.add_edge(create_edge("2","a","1.width","a")) - g.add_edge(create_edge("3","a","1.height","a")) - - n4 = ShowImageInvocation(id = "4") + g.add_edge(create_edge("2", "a", "1.width", "a")) + g.add_edge(create_edge("3", "a", "1.height", "a")) + + n4 = ShowImageInvocation(id="4") g.add_node(n4) - g.add_edge(create_edge("1.8","image","4","image")) + g.add_edge(create_edge("1.8", "image", "4", "image")) # Validate dg = g.nx_graph_flat() - assert set(dg.nodes) == set(['1.width', '1.height', '1.seed', '1.3', '1.4', '1.5', '1.6', '1.7', '1.8', '2', '3', '4']) - expected_edges = [(f'1.{e.source.node_id}',f'1.{e.destination.node_id}') for e in lg.graph.edges] - expected_edges.extend([ - ('2','1.width'), - ('3','1.height'), - ('1.8','4') - ]) + assert set(dg.nodes) == set( + ["1.width", "1.height", "1.seed", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "2", "3", "4"] + ) + expected_edges = [(f"1.{e.source.node_id}", f"1.{e.destination.node_id}") for e in lg.graph.edges] + expected_edges.extend([("2", "1.width"), ("3", "1.height"), ("1.8", "4")]) print(expected_edges) print(list(dg.edges)) assert set(dg.edges) == set(expected_edges) @@ -480,86 +526,90 @@ def test_graph_subgraph_t2i(): def test_graph_fails_to_get_missing_subgraph_node(): g = Graph() - n1 = GraphInvocation(id = "1") + n1 = GraphInvocation(id="1") n1.graph = Graph() n1.graph.add_node - n1_1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n1_1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") n1.graph.add_node(n1_1) g.add_node(n1) with pytest.raises(NodeNotFoundError): - result = g.get_node('1.2') + result = g.get_node("1.2") + def test_graph_fails_to_enumerate_non_subgraph_node(): g = Graph() - n1 = GraphInvocation(id = "1") + n1 = GraphInvocation(id="1") n1.graph = Graph() n1.graph.add_node - n1_1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") + n1_1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") n1.graph.add_node(n1_1) g.add_node(n1) - - n2 = ESRGANInvocation(id = "2") + + n2 = ESRGANInvocation(id="2") g.add_node(n2) with pytest.raises(NodeNotFoundError): - result = g.get_node('2.1') + result = g.get_node("2.1") + def test_graph_gets_networkx_graph(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") g.add_node(n1) g.add_node(n2) - e = create_edge(n1.id,"image",n2.id,"image") + e = create_edge(n1.id, "image", n2.id, "image") g.add_edge(e) nxg = g.nx_graph() - assert '1' in nxg.nodes - assert '2' in nxg.nodes - assert ('1','2') in nxg.edges + assert "1" in nxg.nodes + assert "2" in nxg.nodes + assert ("1", "2") in nxg.edges # TODO: Graph serializes and deserializes def test_graph_can_serialize(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") g.add_node(n1) g.add_node(n2) - e = create_edge(n1.id,"image",n2.id,"image") + e = create_edge(n1.id, "image", n2.id, "image") g.add_edge(e) # Not throwing on this line is sufficient json = g.json() + def test_graph_can_deserialize(): g = Graph() - n1 = TextToImageTestInvocation(id = "1", prompt = "Banana sushi") - n2 = ESRGANInvocation(id = "2") + n1 = TextToImageTestInvocation(id="1", prompt="Banana sushi") + n2 = ESRGANInvocation(id="2") g.add_node(n1) g.add_node(n2) - e = create_edge(n1.id,"image",n2.id,"image") + e = create_edge(n1.id, "image", n2.id, "image") g.add_edge(e) json = g.json() g2 = Graph.parse_raw(json) assert g2 is not None - assert g2.nodes['1'] is not None - assert g2.nodes['2'] is not None + assert g2.nodes["1"] is not None + assert g2.nodes["2"] is not None assert len(g2.edges) == 1 - assert g2.edges[0].source.node_id == '1' - assert g2.edges[0].source.field == 'image' - assert g2.edges[0].destination.node_id == '2' - assert g2.edges[0].destination.field == 'image' + assert g2.edges[0].source.node_id == "1" + assert g2.edges[0].source.field == "image" + assert g2.edges[0].destination.node_id == "2" + assert g2.edges[0].destination.field == "image" + def test_graph_can_generate_schema(): # Not throwing on this line is sufficient # NOTE: if this test fails, it's PROBABLY because a new invocation type is breaking schema generation - schema = Graph.schema_json(indent = 2) + schema = Graph.schema_json(indent=2) diff --git a/tests/nodes/test_nodes.py b/tests/nodes/test_nodes.py index af011954c5..13338e9261 100644 --- a/tests/nodes/test_nodes.py +++ b/tests/nodes/test_nodes.py @@ -5,79 +5,92 @@ from invokeai.app.services.invocation_services import InvocationServices from pydantic import Field import pytest + # Define test invocations before importing anything that uses invocations class ListPassThroughInvocationOutput(BaseInvocationOutput): - type: Literal['test_list_output'] = 'test_list_output' + type: Literal["test_list_output"] = "test_list_output" collection: list[ImageField] = Field(default_factory=list) + class ListPassThroughInvocation(BaseInvocation): - type: Literal['test_list'] = 'test_list' + type: Literal["test_list"] = "test_list" collection: list[ImageField] = Field(default_factory=list) def invoke(self, context: InvocationContext) -> ListPassThroughInvocationOutput: - return ListPassThroughInvocationOutput(collection = self.collection) + return ListPassThroughInvocationOutput(collection=self.collection) + class PromptTestInvocationOutput(BaseInvocationOutput): - type: Literal['test_prompt_output'] = 'test_prompt_output' + type: Literal["test_prompt_output"] = "test_prompt_output" + + prompt: str = Field(default="") - prompt: str = Field(default = "") class PromptTestInvocation(BaseInvocation): - type: Literal['test_prompt'] = 'test_prompt' + type: Literal["test_prompt"] = "test_prompt" - prompt: str = Field(default = "") + prompt: str = Field(default="") def invoke(self, context: InvocationContext) -> PromptTestInvocationOutput: - return PromptTestInvocationOutput(prompt = self.prompt) + return PromptTestInvocationOutput(prompt=self.prompt) + class ErrorInvocation(BaseInvocation): - type: Literal['test_error'] = 'test_error' + type: Literal["test_error"] = "test_error" def invoke(self, context: InvocationContext) -> PromptTestInvocationOutput: raise Exception("This invocation is supposed to fail") + class ImageTestInvocationOutput(BaseInvocationOutput): - type: Literal['test_image_output'] = 'test_image_output' + type: Literal["test_image_output"] = "test_image_output" image: ImageField = Field() -class TextToImageTestInvocation(BaseInvocation): - type: Literal['test_text_to_image'] = 'test_text_to_image' - prompt: str = Field(default = "") +class TextToImageTestInvocation(BaseInvocation): + type: Literal["test_text_to_image"] = "test_text_to_image" + + prompt: str = Field(default="") def invoke(self, context: InvocationContext) -> ImageTestInvocationOutput: return ImageTestInvocationOutput(image=ImageField(image_name=self.id)) -class ImageToImageTestInvocation(BaseInvocation): - type: Literal['test_image_to_image'] = 'test_image_to_image' - prompt: str = Field(default = "") +class ImageToImageTestInvocation(BaseInvocation): + type: Literal["test_image_to_image"] = "test_image_to_image" + + prompt: str = Field(default="") image: Union[ImageField, None] = Field(default=None) def invoke(self, context: InvocationContext) -> ImageTestInvocationOutput: return ImageTestInvocationOutput(image=ImageField(image_name=self.id)) + class PromptCollectionTestInvocationOutput(BaseInvocationOutput): - type: Literal['test_prompt_collection_output'] = 'test_prompt_collection_output' + type: Literal["test_prompt_collection_output"] = "test_prompt_collection_output" collection: list[str] = Field(default_factory=list) + class PromptCollectionTestInvocation(BaseInvocation): - type: Literal['test_prompt_collection'] = 'test_prompt_collection' + type: Literal["test_prompt_collection"] = "test_prompt_collection" collection: list[str] = Field() def invoke(self, context: InvocationContext) -> PromptCollectionTestInvocationOutput: return PromptCollectionTestInvocationOutput(collection=self.collection.copy()) + from invokeai.app.services.events import EventServiceBase from invokeai.app.services.graph import Edge, EdgeConnection + def create_edge(from_id: str, from_field: str, to_id: str, to_field: str) -> Edge: return Edge( - source=EdgeConnection(node_id = from_id, field = from_field), - destination=EdgeConnection(node_id = to_id, field = to_field)) + source=EdgeConnection(node_id=from_id, field=from_field), + destination=EdgeConnection(node_id=to_id, field=to_field), + ) class TestEvent: @@ -88,6 +101,7 @@ class TestEvent: self.event_name = event_name self.payload = payload + class TestEventService(EventServiceBase): events: list @@ -98,8 +112,10 @@ class TestEventService(EventServiceBase): def dispatch(self, event_name: str, payload: Any) -> None: pass + def wait_until(condition: Callable[[], bool], timeout: int = 10, interval: float = 0.1) -> None: import time + start_time = time.time() while time.time() - start_time < timeout: if condition(): diff --git a/tests/nodes/test_sqlite.py b/tests/nodes/test_sqlite.py index a803af5635..a9eb542e44 100644 --- a/tests/nodes/test_sqlite.py +++ b/tests/nodes/test_sqlite.py @@ -3,110 +3,131 @@ from pydantic import BaseModel, Field class TestModel(BaseModel): - id: str = Field(description = "ID") - name: str = Field(description = "Name") + id: str = Field(description="ID") + name: str = Field(description="Name") def test_sqlite_service_can_create_and_get(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') - db.set(TestModel(id = '1', name = 'Test')) - assert db.get('1') == TestModel(id = '1', name = 'Test') + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") + db.set(TestModel(id="1", name="Test")) + assert db.get("1") == TestModel(id="1", name="Test") + def test_sqlite_service_can_list(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') - db.set(TestModel(id = '1', name = 'Test')) - db.set(TestModel(id = '2', name = 'Test')) - db.set(TestModel(id = '3', name = 'Test')) + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") + db.set(TestModel(id="1", name="Test")) + db.set(TestModel(id="2", name="Test")) + db.set(TestModel(id="3", name="Test")) results = db.list() assert results.page == 0 assert results.pages == 1 assert results.per_page == 10 assert results.total == 3 - assert results.items == [TestModel(id = '1', name = 'Test'), TestModel(id = '2', name = 'Test'), TestModel(id = '3', name = 'Test')] + assert results.items == [ + TestModel(id="1", name="Test"), + TestModel(id="2", name="Test"), + TestModel(id="3", name="Test"), + ] + def test_sqlite_service_can_delete(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') - db.set(TestModel(id = '1', name = 'Test')) - db.delete('1') - assert db.get('1') is None + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") + db.set(TestModel(id="1", name="Test")) + db.delete("1") + assert db.get("1") is None + def test_sqlite_service_calls_set_callback(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") called = False + def on_changed(item: TestModel): nonlocal called called = True + db.on_changed(on_changed) - db.set(TestModel(id = '1', name = 'Test')) + db.set(TestModel(id="1", name="Test")) assert called + def test_sqlite_service_calls_delete_callback(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") called = False + def on_deleted(item_id: str): nonlocal called called = True + db.on_deleted(on_deleted) - db.set(TestModel(id = '1', name = 'Test')) - db.delete('1') + db.set(TestModel(id="1", name="Test")) + db.delete("1") assert called + def test_sqlite_service_can_list_with_pagination(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') - db.set(TestModel(id = '1', name = 'Test')) - db.set(TestModel(id = '2', name = 'Test')) - db.set(TestModel(id = '3', name = 'Test')) - results = db.list(page = 0, per_page = 2) + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") + db.set(TestModel(id="1", name="Test")) + db.set(TestModel(id="2", name="Test")) + db.set(TestModel(id="3", name="Test")) + results = db.list(page=0, per_page=2) assert results.page == 0 assert results.pages == 2 assert results.per_page == 2 assert results.total == 3 - assert results.items == [TestModel(id = '1', name = 'Test'), TestModel(id = '2', name = 'Test')] + assert results.items == [TestModel(id="1", name="Test"), TestModel(id="2", name="Test")] + def test_sqlite_service_can_list_with_pagination_and_offset(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') - db.set(TestModel(id = '1', name = 'Test')) - db.set(TestModel(id = '2', name = 'Test')) - db.set(TestModel(id = '3', name = 'Test')) - results = db.list(page = 1, per_page = 2) + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") + db.set(TestModel(id="1", name="Test")) + db.set(TestModel(id="2", name="Test")) + db.set(TestModel(id="3", name="Test")) + results = db.list(page=1, per_page=2) assert results.page == 1 assert results.pages == 2 assert results.per_page == 2 assert results.total == 3 - assert results.items == [TestModel(id = '3', name = 'Test')] + assert results.items == [TestModel(id="3", name="Test")] + def test_sqlite_service_can_search(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') - db.set(TestModel(id = '1', name = 'Test')) - db.set(TestModel(id = '2', name = 'Test')) - db.set(TestModel(id = '3', name = 'Test')) - results = db.search(query = 'Test') + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") + db.set(TestModel(id="1", name="Test")) + db.set(TestModel(id="2", name="Test")) + db.set(TestModel(id="3", name="Test")) + results = db.search(query="Test") assert results.page == 0 assert results.pages == 1 assert results.per_page == 10 assert results.total == 3 - assert results.items == [TestModel(id = '1', name = 'Test'), TestModel(id = '2', name = 'Test'), TestModel(id = '3', name = 'Test')] + assert results.items == [ + TestModel(id="1", name="Test"), + TestModel(id="2", name="Test"), + TestModel(id="3", name="Test"), + ] + def test_sqlite_service_can_search_with_pagination(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') - db.set(TestModel(id = '1', name = 'Test')) - db.set(TestModel(id = '2', name = 'Test')) - db.set(TestModel(id = '3', name = 'Test')) - results = db.search(query = 'Test', page = 0, per_page = 2) + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") + db.set(TestModel(id="1", name="Test")) + db.set(TestModel(id="2", name="Test")) + db.set(TestModel(id="3", name="Test")) + results = db.search(query="Test", page=0, per_page=2) assert results.page == 0 assert results.pages == 2 assert results.per_page == 2 assert results.total == 3 - assert results.items == [TestModel(id = '1', name = 'Test'), TestModel(id = '2', name = 'Test')] + assert results.items == [TestModel(id="1", name="Test"), TestModel(id="2", name="Test")] + def test_sqlite_service_can_search_with_pagination_and_offset(): - db = SqliteItemStorage[TestModel](sqlite_memory, 'test', 'id') - db.set(TestModel(id = '1', name = 'Test')) - db.set(TestModel(id = '2', name = 'Test')) - db.set(TestModel(id = '3', name = 'Test')) - results = db.search(query = 'Test', page = 1, per_page = 2) + db = SqliteItemStorage[TestModel](sqlite_memory, "test", "id") + db.set(TestModel(id="1", name="Test")) + db.set(TestModel(id="2", name="Test")) + db.set(TestModel(id="3", name="Test")) + results = db.search(query="Test", page=1, per_page=2) assert results.page == 1 assert results.pages == 2 assert results.per_page == 2 assert results.total == 3 - assert results.items == [TestModel(id = '3', name = 'Test')] + assert results.items == [TestModel(id="3", name="Test")] diff --git a/tests/test_config.py b/tests/test_config.py index 498a47748e..5d3dc46aa4 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -5,87 +5,91 @@ import sys from omegaconf import OmegaConf from pathlib import Path -os.environ['INVOKEAI_ROOT']='/tmp' +os.environ["INVOKEAI_ROOT"] = "/tmp" from invokeai.app.services.config import InvokeAIAppConfig init1 = OmegaConf.create( -''' + """ InvokeAI: Features: always_use_cpu: false Memory/Performance: max_cache_size: 5 tiled_decode: false -''' +""" ) init2 = OmegaConf.create( -''' + """ InvokeAI: Features: always_use_cpu: true Memory/Performance: max_cache_size: 2 tiled_decode: true -''' +""" ) + def test_use_init(): # note that we explicitly set omegaconf dict and argv here # so that the values aren't read from ~invokeai/invokeai.yaml and # sys.argv respectively. conf1 = InvokeAIAppConfig.get_config() assert conf1 - conf1.parse_args(conf=init1,argv=[]) + conf1.parse_args(conf=init1, argv=[]) assert not conf1.tiled_decode - assert conf1.max_cache_size==5 + assert conf1.max_cache_size == 5 assert not conf1.always_use_cpu conf2 = InvokeAIAppConfig.get_config() assert conf2 - conf2.parse_args(conf=init2,argv=[]) + conf2.parse_args(conf=init2, argv=[]) assert conf2.tiled_decode - assert conf2.max_cache_size==2 - assert not hasattr(conf2,'invalid_attribute') - + assert conf2.max_cache_size == 2 + assert not hasattr(conf2, "invalid_attribute") + + def test_argv_override(): conf = InvokeAIAppConfig.get_config() - conf.parse_args(conf=init1,argv=['--always_use_cpu','--max_cache=10']) + conf.parse_args(conf=init1, argv=["--always_use_cpu", "--max_cache=10"]) assert conf.always_use_cpu - assert conf.max_cache_size==10 - assert conf.outdir==Path('outputs') # this is the default - + assert conf.max_cache_size == 10 + assert conf.outdir == Path("outputs") # this is the default + + def test_env_override(): - # argv overrides + # argv overrides conf = InvokeAIAppConfig() - conf.parse_args(conf=init1,argv=['--max_cache=10']) - assert conf.always_use_cpu==False - os.environ['INVOKEAI_always_use_cpu'] = 'True' - conf.parse_args(conf=init1,argv=['--max_cache=10']) - assert conf.always_use_cpu==True + conf.parse_args(conf=init1, argv=["--max_cache=10"]) + assert conf.always_use_cpu == False + os.environ["INVOKEAI_always_use_cpu"] = "True" + conf.parse_args(conf=init1, argv=["--max_cache=10"]) + assert conf.always_use_cpu == True # environment variables should be case insensitive - os.environ['InvokeAI_Max_Cache_Size'] = '15' + os.environ["InvokeAI_Max_Cache_Size"] = "15" conf = InvokeAIAppConfig() - conf.parse_args(conf=init1,argv=[]) + conf.parse_args(conf=init1, argv=[]) assert conf.max_cache_size == 15 conf = InvokeAIAppConfig() - conf.parse_args(conf=init1,argv=['--no-always_use_cpu','--max_cache=10']) - assert conf.always_use_cpu==False - assert conf.max_cache_size==10 + conf.parse_args(conf=init1, argv=["--no-always_use_cpu", "--max_cache=10"]) + assert conf.always_use_cpu == False + assert conf.max_cache_size == 10 conf = InvokeAIAppConfig.get_config(max_cache_size=20) - conf.parse_args(conf=init1,argv=[]) - assert conf.max_cache_size==20 + conf.parse_args(conf=init1, argv=[]) + assert conf.max_cache_size == 20 + def test_type_coercion(): conf = InvokeAIAppConfig().get_config() - conf.parse_args(argv=['--root=/tmp/foobar']) - assert conf.root==Path('/tmp/foobar') - assert isinstance(conf.root,Path) - conf = InvokeAIAppConfig.get_config(root='/tmp/different') - conf.parse_args(argv=['--root=/tmp/foobar']) - assert conf.root==Path('/tmp/different') - assert isinstance(conf.root,Path) + conf.parse_args(argv=["--root=/tmp/foobar"]) + assert conf.root == Path("/tmp/foobar") + assert isinstance(conf.root, Path) + conf = InvokeAIAppConfig.get_config(root="/tmp/different") + conf.parse_args(argv=["--root=/tmp/foobar"]) + assert conf.root == Path("/tmp/different") + assert isinstance(conf.root, Path) diff --git a/tests/test_path.py b/tests/test_path.py index 52936142c7..0da5f2f8dc 100644 --- a/tests/test_path.py +++ b/tests/test_path.py @@ -11,6 +11,7 @@ import invokeai.frontend.web.dist as frontend import invokeai.configs as configs import invokeai.app.assets.images as image_assets + class ConfigsTestCase(unittest.TestCase): """Test the configuration related imports and objects""" From f057d5c85b5a0e3434ae9ad27fb4ca68f50500d5 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 19:40:32 +1200 Subject: [PATCH 075/106] fix: Lint Errors --- .../components/parameters/ParamControlNetModel.tsx | 3 ++- .../fields/ControlNetModelInputFieldComponent.tsx | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx index 8392bdd2e3..9de9afbffb 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx @@ -12,6 +12,7 @@ import { selectIsBusy } from 'features/system/store/systemSelectors'; import { forEach } from 'lodash-es'; import { memo, useCallback, useMemo } from 'react'; import { useGetControlNetModelsQuery } from 'services/api/endpoints/models'; +import { BaseModelType } from 'services/api/types'; type ParamControlNetModelProps = { controlNetId: string; @@ -58,7 +59,7 @@ const ParamControlNetModel = (props: ParamControlNetModelProps) => { data.push({ value: id, label: model.model_name, - group: MODEL_TYPE_MAP[model.base_model], + group: MODEL_TYPE_MAP[model.base_model as BaseModelType], disabled, tooltip: disabled ? `Incompatible base model: ${model.base_model}` diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/ControlNetModelInputFieldComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/ControlNetModelInputFieldComponent.tsx index 7fe2373f66..7d45f1c1d0 100644 --- a/invokeai/frontend/web/src/features/nodes/components/fields/ControlNetModelInputFieldComponent.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/fields/ControlNetModelInputFieldComponent.tsx @@ -11,6 +11,7 @@ import { modelIdToControlNetModelParam } from 'features/parameters/util/modelIdT import { forEach } from 'lodash-es'; import { memo, useCallback, useMemo } from 'react'; import { useGetControlNetModelsQuery } from 'services/api/endpoints/models'; +import { BaseModelType } from 'services/api/types'; import { FieldComponentProps } from './types'; const ControlNetModelInputFieldComponent = ( @@ -53,7 +54,7 @@ const ControlNetModelInputFieldComponent = ( data.push({ value: id, label: model.model_name, - group: MODEL_TYPE_MAP[model.base_model], + group: MODEL_TYPE_MAP[model.base_model as BaseModelType], }); }); @@ -87,7 +88,8 @@ const ControlNetModelInputFieldComponent = ( Date: Thu, 27 Jul 2023 22:05:46 +1200 Subject: [PATCH 076/106] fix: TextArea Resizer styling when disabled --- .../web/src/theme/components/textarea.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/invokeai/frontend/web/src/theme/components/textarea.ts b/invokeai/frontend/web/src/theme/components/textarea.ts index b737cf5e57..8dd59c18e0 100644 --- a/invokeai/frontend/web/src/theme/components/textarea.ts +++ b/invokeai/frontend/web/src/theme/components/textarea.ts @@ -13,6 +13,15 @@ const invokeAI = defineStyle((props) => ({ var(--invokeai-colors-base-200) 70%, var(--invokeai-colors-base-200) 100%)`, }, + _disabled: { + '::-webkit-resizer': { + backgroundImage: `linear-gradient(135deg, + var(--invokeai-colors-base-50) 0%, + var(--invokeai-colors-base-50) 70%, + var(--invokeai-colors-base-200) 70%, + var(--invokeai-colors-base-200) 100%)`, + }, + }, _dark: { '::-webkit-resizer': { backgroundImage: `linear-gradient(135deg, @@ -21,6 +30,15 @@ const invokeAI = defineStyle((props) => ({ var(--invokeai-colors-base-800) 70%, var(--invokeai-colors-base-800) 100%)`, }, + _disabled: { + '::-webkit-resizer': { + backgroundImage: `linear-gradient(135deg, + var(--invokeai-colors-base-900) 0%, + var(--invokeai-colors-base-900) 70%, + var(--invokeai-colors-base-800) 70%, + var(--invokeai-colors-base-800) 100%)`, + }, + }, }, })); From b60adc31d0b3fb7df106c22ceb17d160f3513603 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 22:21:35 +1200 Subject: [PATCH 077/106] feat: Unify Prompt Area Design Between SDXL and Regular Models --- .../Parameters/Prompt/ParamPromptArea.tsx | 21 +++++++++++++++ .../sdxl/components/ParamSDXLPromptArea.tsx | 27 +++++++++++++++++++ .../SDXLImageToImageTabParameters.tsx | 24 ++--------------- .../SDXLTextToImageTabParameters.tsx | 24 ++--------------- .../ImageToImageTabParameters.tsx | 6 ++--- .../TextToImage/TextToImageTabParameters.tsx | 6 ++--- .../UnifiedCanvas/UnifiedCanvasParameters.tsx | 6 ++--- 7 files changed, 58 insertions(+), 56 deletions(-) create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Prompt/ParamPromptArea.tsx create mode 100644 invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Prompt/ParamPromptArea.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Prompt/ParamPromptArea.tsx new file mode 100644 index 0000000000..f7bc95528b --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Prompt/ParamPromptArea.tsx @@ -0,0 +1,21 @@ +import { Flex } from '@chakra-ui/react'; +import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; +import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; + +export default function ParamPromptArea() { + return ( + + + + + ); +} diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx new file mode 100644 index 0000000000..82d1122db4 --- /dev/null +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx @@ -0,0 +1,27 @@ +import { Flex } from '@chakra-ui/react'; +import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; +import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; +import ParamSDXLConcatPrompt from './ParamSDXLConcatPrompt'; +import ParamSDXLNegativeStyleConditioning from './ParamSDXLNegativeStyleConditioning'; +import ParamSDXLPositiveStyleConditioning from './ParamSDXLPositiveStyleConditioning'; + +export default function ParamSDXLPromptArea() { + return ( + + + + + + + + ); +} diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx index 05aca62b79..c0b143a557 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx @@ -1,34 +1,14 @@ -import { Flex } from '@chakra-ui/react'; import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/ParamDynamicPromptsCollapse'; -import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; -import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; -import ParamSDXLConcatPrompt from './ParamSDXLConcatPrompt'; -import ParamSDXLNegativeStyleConditioning from './ParamSDXLNegativeStyleConditioning'; -import ParamSDXLPositiveStyleConditioning from './ParamSDXLPositiveStyleConditioning'; +import ParamSDXLPromptArea from './ParamSDXLPromptArea'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; import SDXLImageToImageTabCoreParameters from './SDXLImageToImageTabCoreParameters'; const SDXLImageToImageTabParameters = () => { return ( <> - - - - - - - + diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx index eddc0b8891..35bc0b4284 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx @@ -1,34 +1,14 @@ -import { Flex } from '@chakra-ui/react'; import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/ParamDynamicPromptsCollapse'; -import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; -import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import TextToImageTabCoreParameters from 'features/ui/components/tabs/TextToImage/TextToImageTabCoreParameters'; -import ParamSDXLConcatPrompt from './ParamSDXLConcatPrompt'; -import ParamSDXLNegativeStyleConditioning from './ParamSDXLNegativeStyleConditioning'; -import ParamSDXLPositiveStyleConditioning from './ParamSDXLPositiveStyleConditioning'; +import ParamSDXLPromptArea from './ParamSDXLPromptArea'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; const SDXLTextToImageTabParameters = () => { return ( <> - - - - - - - + diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ImageToImage/ImageToImageTabParameters.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ImageToImage/ImageToImageTabParameters.tsx index 9de6a74ec0..b8de2f8308 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ImageToImage/ImageToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ImageToImage/ImageToImageTabParameters.tsx @@ -2,20 +2,18 @@ import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/Para import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; import ParamAdvancedCollapse from 'features/parameters/components/Parameters/Advanced/ParamAdvancedCollapse'; import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; -import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; -import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; import ParamSeamlessCollapse from 'features/parameters/components/Parameters/Seamless/ParamSeamlessCollapse'; import ParamSymmetryCollapse from 'features/parameters/components/Parameters/Symmetry/ParamSymmetryCollapse'; // import ParamVariationCollapse from 'features/parameters/components/Parameters/Variations/ParamVariationCollapse'; +import ParamPromptArea from 'features/parameters/components/Parameters/Prompt/ParamPromptArea'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import ImageToImageTabCoreParameters from './ImageToImageTabCoreParameters'; const ImageToImageTabParameters = () => { return ( <> - - + diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTabParameters.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTabParameters.tsx index 8b6fb6f46c..75fa063e17 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTabParameters.tsx @@ -2,20 +2,18 @@ import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/Para import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; import ParamAdvancedCollapse from 'features/parameters/components/Parameters/Advanced/ParamAdvancedCollapse'; import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; -import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; -import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; import ParamSeamlessCollapse from 'features/parameters/components/Parameters/Seamless/ParamSeamlessCollapse'; import ParamSymmetryCollapse from 'features/parameters/components/Parameters/Symmetry/ParamSymmetryCollapse'; // import ParamVariationCollapse from 'features/parameters/components/Parameters/Variations/ParamVariationCollapse'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; +import ParamPromptArea from '../../../../parameters/components/Parameters/Prompt/ParamPromptArea'; import TextToImageTabCoreParameters from './TextToImageTabCoreParameters'; const TextToImageTabParameters = () => { return ( <> - - + diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx index 95270c6bbc..de7ce3b084 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx @@ -4,18 +4,16 @@ import ParamAdvancedCollapse from 'features/parameters/components/Parameters/Adv import ParamInfillAndScalingCollapse from 'features/parameters/components/Parameters/Canvas/InfillAndScaling/ParamInfillAndScalingCollapse'; import ParamSeamCorrectionCollapse from 'features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamCorrectionCollapse'; import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; -import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; -import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; import ParamSymmetryCollapse from 'features/parameters/components/Parameters/Symmetry/ParamSymmetryCollapse'; // import ParamVariationCollapse from 'features/parameters/components/Parameters/Variations/ParamVariationCollapse'; +import ParamPromptArea from 'features/parameters/components/Parameters/Prompt/ParamPromptArea'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import UnifiedCanvasCoreParameters from './UnifiedCanvasCoreParameters'; const UnifiedCanvasParameters = () => { return ( <> - - + From 611f31c057cacfdb447e72aa77d957d9a155fc5f Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu, 27 Jul 2023 22:30:50 +1200 Subject: [PATCH 078/106] fix: Adjust embedding button on PositivePrompt for new changes --- .../components/Parameters/Core/ParamPositiveConditioning.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx index 5a52358670..da1588bd72 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx @@ -148,7 +148,7 @@ const ParamPositiveConditioning = () => { From c4a2808a4be56b4ba7f0732d46985e8fa351f438 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 27 Jul 2023 11:24:07 -0400 Subject: [PATCH 079/106] use same logging infrastructure for uvicorn and backend --- invokeai/app/api_app.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index 044271779c..626de33345 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -3,6 +3,7 @@ import asyncio import sys from inspect import signature +import logging import uvicorn import socket @@ -210,11 +211,23 @@ def invoke_api(): port = find_port(app_config.port) if port != app_config.port: logger.warn(f"Port {app_config.port} in use, using port {port}") + # Start our own event loop for eventing usage loop = asyncio.new_event_loop() - config = uvicorn.Config(app=app, host=app_config.host, port=port, loop=loop) - # Use access_log to turn off logging + config = uvicorn.Config( + app=app, + host=app_config.host, + port=port, + loop=loop, + log_level=app_config.log_level, + ) server = uvicorn.Server(config) + + # replace uvicorn's logger with InvokeAI's for consistent appearance + logging.getLogger("uvicorn").handlers.clear() + for ch in logger.handlers: + logging.getLogger("uvicorn").addHandler(ch) + loop.run_until_complete(server.serve()) if __name__ == "__main__": From 16d044336f7405c4911bbae3267c7bf65e452ef5 Mon Sep 17 00:00:00 2001 From: Eugene Brodsky Date: Thu, 27 Jul 2023 11:29:22 -0400 Subject: [PATCH 080/106] (meta) hide the 'black' formatting commit from git blame also remove lib/ from gitignore as it is hiding the installer code from 'black' --- .git-blame-ignore-revs | 1 + .gitignore | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 5afd17b417..c6b833cf58 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -1 +1,2 @@ b3dccfaeb636599c02effc377cdd8a87d658256c +218b6d0546b990fc449c876fb99f44b50c4daa35 diff --git a/.gitignore b/.gitignore index b7b5c1ae75..cc000de20e 100644 --- a/.gitignore +++ b/.gitignore @@ -38,7 +38,6 @@ develop-eggs/ downloads/ eggs/ .eggs/ -lib/ lib64/ parts/ sdist/ From e4c0102b3cccb2fc62f312b01f0846f0849c28ef Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 27 Jul 2023 11:59:29 -0400 Subject: [PATCH 081/106] unified uvicorn access log entries too --- invokeai/app/api_app.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index 626de33345..d4fbff9ede 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -223,11 +223,15 @@ def invoke_api(): ) server = uvicorn.Server(config) + all_loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict] + # replace uvicorn's logger with InvokeAI's for consistent appearance - logging.getLogger("uvicorn").handlers.clear() - for ch in logger.handlers: - logging.getLogger("uvicorn").addHandler(ch) - + for logname in ["uvicorn", "uvicorn.access", "uvicorn.error"]: + l = logging.getLogger(logname) + l.handlers.clear() + for ch in logger.handlers: + l.addHandler(ch) + loop.run_until_complete(server.serve()) if __name__ == "__main__": From 8023a23cecf3146a74c43dff6e10208976f9f63f Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 27 Jul 2023 12:05:17 -0400 Subject: [PATCH 082/106] beat uvicorn access log into submission --- invokeai/app/api_app.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index d4fbff9ede..1f18334c57 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -223,10 +223,8 @@ def invoke_api(): ) server = uvicorn.Server(config) - all_loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict] - - # replace uvicorn's logger with InvokeAI's for consistent appearance - for logname in ["uvicorn", "uvicorn.access", "uvicorn.error"]: + # replace uvicorn's loggers with InvokeAI's for consistent appearance + for logname in ["uvicorn.access", "uvicorn"]: l = logging.getLogger(logname) l.handlers.clear() for ch in logger.handlers: From 4d2b87ea01000728b0c3874105c7eac4cf3c6432 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 27 Jul 2023 15:46:50 +1000 Subject: [PATCH 083/106] fix(ui): fix types for controlnet models `ControlNetModelConfig` was split into `ControlNetModelCheckpointConfig` and `ControlNetModelDiffusersConfig`, need to update the UI types --- invokeai/frontend/web/src/services/api/types.d.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/services/api/types.d.ts b/invokeai/frontend/web/src/services/api/types.d.ts index 7d9040321c..17f20ca1ac 100644 --- a/invokeai/frontend/web/src/services/api/types.d.ts +++ b/invokeai/frontend/web/src/services/api/types.d.ts @@ -42,8 +42,13 @@ export type ControlField = components['schemas']['ControlField']; // Model Configs export type LoRAModelConfig = components['schemas']['LoRAModelConfig']; export type VaeModelConfig = components['schemas']['VaeModelConfig']; +export type ControlNetModelCheckpointConfig = + components['schemas']['ControlNetModelCheckpointConfig']; +export type ControlNetModelDiffusersConfig = + components['schemas']['ControlNetModelDiffusersConfig']; export type ControlNetModelConfig = - components['schemas']['ControlNetModelConfig']; + | ControlNetModelCheckpointConfig + | ControlNetModelDiffusersConfig; export type TextualInversionModelConfig = components['schemas']['TextualInversionModelConfig']; export type DiffusersModelConfig = From b8b46aec09c84b3f1450468563ed72ffe526c69f Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 28 Jul 2023 04:34:41 +1200 Subject: [PATCH 084/106] Revert "fix: Lint Errors" This reverts commit f057d5c85b5a0e3434ae9ad27fb4ca68f50500d5. --- .../components/parameters/ParamControlNetModel.tsx | 3 +-- .../fields/ControlNetModelInputFieldComponent.tsx | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx index 9de9afbffb..8392bdd2e3 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx @@ -12,7 +12,6 @@ import { selectIsBusy } from 'features/system/store/systemSelectors'; import { forEach } from 'lodash-es'; import { memo, useCallback, useMemo } from 'react'; import { useGetControlNetModelsQuery } from 'services/api/endpoints/models'; -import { BaseModelType } from 'services/api/types'; type ParamControlNetModelProps = { controlNetId: string; @@ -59,7 +58,7 @@ const ParamControlNetModel = (props: ParamControlNetModelProps) => { data.push({ value: id, label: model.model_name, - group: MODEL_TYPE_MAP[model.base_model as BaseModelType], + group: MODEL_TYPE_MAP[model.base_model], disabled, tooltip: disabled ? `Incompatible base model: ${model.base_model}` diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/ControlNetModelInputFieldComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/ControlNetModelInputFieldComponent.tsx index 7d45f1c1d0..7fe2373f66 100644 --- a/invokeai/frontend/web/src/features/nodes/components/fields/ControlNetModelInputFieldComponent.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/fields/ControlNetModelInputFieldComponent.tsx @@ -11,7 +11,6 @@ import { modelIdToControlNetModelParam } from 'features/parameters/util/modelIdT import { forEach } from 'lodash-es'; import { memo, useCallback, useMemo } from 'react'; import { useGetControlNetModelsQuery } from 'services/api/endpoints/models'; -import { BaseModelType } from 'services/api/types'; import { FieldComponentProps } from './types'; const ControlNetModelInputFieldComponent = ( @@ -54,7 +53,7 @@ const ControlNetModelInputFieldComponent = ( data.push({ value: id, label: model.model_name, - group: MODEL_TYPE_MAP[model.base_model as BaseModelType], + group: MODEL_TYPE_MAP[model.base_model], }); }); @@ -88,8 +87,7 @@ const ControlNetModelInputFieldComponent = ( Date: Thu, 27 Jul 2023 13:27:58 -0400 Subject: [PATCH 085/106] (installer) check that the found Python executable is actually operational when multiple python versions are installed with `pyenv`, the executable (shim) exists, but returns an error when trying to run it unless activated with `pyenv`. This commit ensures the python executable is usable. --- installer/install.sh.in | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/installer/install.sh.in b/installer/install.sh.in index 6757447416..1b8ba92ea6 100755 --- a/installer/install.sh.in +++ b/installer/install.sh.in @@ -13,12 +13,16 @@ MAXIMUM_PYTHON_VERSION=3.11.100 PYTHON="" for candidate in python3.11 python3.10 python3.9 python3 python ; do if ppath=`which $candidate`; then + # when using `pyenv`, the executable for an inactive Python version will exist but will not be operational + # we check that this found executable can actually run + if [ $($candidate --version &>/dev/null; echo ${PIPESTATUS}) -gt 0 ]; then continue; fi + python_version=$($ppath -V | awk '{ print $2 }') if [ $(version $python_version) -ge $(version "$MINIMUM_PYTHON_VERSION") ]; then - if [ $(version $python_version) -le $(version "$MAXIMUM_PYTHON_VERSION") ]; then - PYTHON=$ppath - break - fi + if [ $(version $python_version) -le $(version "$MAXIMUM_PYTHON_VERSION") ]; then + PYTHON=$ppath + break + fi fi fi done From e191f6d4b28ab2f3ed8fb17cf99c88c4cf3f7ddd Mon Sep 17 00:00:00 2001 From: Mary Hipp Rogers Date: Thu, 27 Jul 2023 13:30:31 -0400 Subject: [PATCH 086/106] prevent resize error (#4031) * add upper bound for minWidth to prevent crash with cypress * add fallback so UI doesnt crash when backend isnt running --------- Co-authored-by: Mary Hipp --- .../listenerMiddleware/listeners/appConfigReceived.ts | 7 +++++-- .../frontend/web/src/features/ui/components/InvokeTabs.tsx | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts index ef81377f99..2d0ece3595 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts @@ -10,8 +10,11 @@ export const addAppConfigReceivedListener = () => { startAppListening({ matcher: appInfoApi.endpoints.getAppConfig.matchFulfilled, effect: async (action, { getState, dispatch }) => { - const { infill_methods, nsfw_methods, watermarking_methods } = - action.payload; + const { + infill_methods = [], + nsfw_methods = [], + watermarking_methods = [], + } = action.payload; const infillMethod = getState().generation.infillMethod; if (!infill_methods.includes(infillMethod)) { diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx b/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx index 26d06adfb3..87ce801ead 100644 --- a/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx +++ b/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx @@ -227,7 +227,8 @@ const InvokeTabs = () => { id="gallery" order={3} defaultSize={ - galleryMinSizePct > DEFAULT_GALLERY_PCT + galleryMinSizePct > DEFAULT_GALLERY_PCT && + galleryMinSizePct < 100 // prevent this error https://github.com/bvaughn/react-resizable-panels/blob/main/packages/react-resizable-panels/src/Panel.ts#L96 ? galleryMinSizePct : DEFAULT_GALLERY_PCT } From fd75a1dd1058cc59dfa5247d9ca8c5efaa0d11e6 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 27 Jul 2023 15:01:00 -0400 Subject: [PATCH 087/106] reformat with black --- invokeai/app/api/routers/models.py | 295 +++++++++++++++-------------- invokeai/app/invocations/latent.py | 219 ++++++++++----------- scripts/probe-model.py | 7 +- 3 files changed, 249 insertions(+), 272 deletions(-) diff --git a/invokeai/app/api/routers/models.py b/invokeai/app/api/routers/models.py index a7e0616f5b..2f59f1dd0f 100644 --- a/invokeai/app/api/routers/models.py +++ b/invokeai/app/api/routers/models.py @@ -28,49 +28,52 @@ ConvertModelResponse = Union[tuple(OPENAPI_MODEL_CONFIGS)] MergeModelResponse = Union[tuple(OPENAPI_MODEL_CONFIGS)] ImportModelAttributes = Union[tuple(OPENAPI_MODEL_CONFIGS)] + class ModelsList(BaseModel): models: list[Union[tuple(OPENAPI_MODEL_CONFIGS)]] + @models_router.get( "/", operation_id="list_models", - responses={200: {"model": ModelsList }}, + responses={200: {"model": ModelsList}}, ) async def list_models( base_models: Optional[List[BaseModelType]] = Query(default=None, description="Base models to include"), model_type: Optional[ModelType] = Query(default=None, description="The type of model to get"), ) -> ModelsList: """Gets a list of models""" - if base_models and len(base_models)>0: + if base_models and len(base_models) > 0: models_raw = list() for base_model in base_models: models_raw.extend(ApiDependencies.invoker.services.model_manager.list_models(base_model, model_type)) else: models_raw = ApiDependencies.invoker.services.model_manager.list_models(None, model_type) - models = parse_obj_as(ModelsList, { "models": models_raw }) + models = parse_obj_as(ModelsList, {"models": models_raw}) return models + @models_router.patch( "/{base_model}/{model_type}/{model_name}", operation_id="update_model", - responses={200: {"description" : "The model was updated successfully"}, - 400: {"description" : "Bad request"}, - 404: {"description" : "The model could not be found"}, - 409: {"description" : "There is already a model corresponding to the new name"}, - }, - status_code = 200, - response_model = UpdateModelResponse, + responses={ + 200: {"description": "The model was updated successfully"}, + 400: {"description": "Bad request"}, + 404: {"description": "The model could not be found"}, + 409: {"description": "There is already a model corresponding to the new name"}, + }, + status_code=200, + response_model=UpdateModelResponse, ) async def update_model( - base_model: BaseModelType = Path(description="Base model"), - model_type: ModelType = Path(description="The type of model"), - model_name: str = Path(description="model name"), - info: Union[tuple(OPENAPI_MODEL_CONFIGS)] = Body(description="Model configuration"), + base_model: BaseModelType = Path(description="Base model"), + model_type: ModelType = Path(description="The type of model"), + model_name: str = Path(description="model name"), + info: Union[tuple(OPENAPI_MODEL_CONFIGS)] = Body(description="Model configuration"), ) -> UpdateModelResponse: - """ Update model contents with a new config. If the model name or base fields are changed, then the model is renamed. """ + """Update model contents with a new config. If the model name or base fields are changed, then the model is renamed.""" logger = ApiDependencies.invoker.services.logger - try: previous_info = ApiDependencies.invoker.services.model_manager.list_model( model_name=model_name, @@ -81,13 +84,13 @@ async def update_model( # rename operation requested if info.model_name != model_name or info.base_model != base_model: ApiDependencies.invoker.services.model_manager.rename_model( - base_model = base_model, - model_type = model_type, - model_name = model_name, - new_name = info.model_name, - new_base = info.base_model, + base_model=base_model, + model_type=model_type, + model_name=model_name, + new_name=info.model_name, + new_base=info.base_model, ) - logger.info(f'Successfully renamed {base_model.value}/{model_name}=>{info.base_model}/{info.model_name}') + logger.info(f"Successfully renamed {base_model.value}/{model_name}=>{info.base_model}/{info.model_name}") # update information to support an update of attributes model_name = info.model_name base_model = info.base_model @@ -96,16 +99,15 @@ async def update_model( base_model=base_model, model_type=model_type, ) - if new_info.get('path') != previous_info.get('path'): # model manager moved model path during rename - don't overwrite it - info.path = new_info.get('path') + if new_info.get("path") != previous_info.get( + "path" + ): # model manager moved model path during rename - don't overwrite it + info.path = new_info.get("path") ApiDependencies.invoker.services.model_manager.update_model( - model_name=model_name, - base_model=base_model, - model_type=model_type, - model_attributes=info.dict() + model_name=model_name, base_model=base_model, model_type=model_type, model_attributes=info.dict() ) - + model_raw = ApiDependencies.invoker.services.model_manager.list_model( model_name=model_name, base_model=base_model, @@ -123,49 +125,48 @@ async def update_model( return model_response + @models_router.post( "/import", operation_id="import_model", - responses= { - 201: {"description" : "The model imported successfully"}, - 404: {"description" : "The model could not be found"}, - 415: {"description" : "Unrecognized file/folder format"}, - 424: {"description" : "The model appeared to import successfully, but could not be found in the model manager"}, - 409: {"description" : "There is already a model corresponding to this path or repo_id"}, + responses={ + 201: {"description": "The model imported successfully"}, + 404: {"description": "The model could not be found"}, + 415: {"description": "Unrecognized file/folder format"}, + 424: {"description": "The model appeared to import successfully, but could not be found in the model manager"}, + 409: {"description": "There is already a model corresponding to this path or repo_id"}, }, status_code=201, - response_model=ImportModelResponse + response_model=ImportModelResponse, ) async def import_model( - location: str = Body(description="A model path, repo_id or URL to import"), - prediction_type: Optional[Literal['v_prediction','epsilon','sample']] = \ - Body(description='Prediction type for SDv2 checkpoint files', default="v_prediction"), + location: str = Body(description="A model path, repo_id or URL to import"), + prediction_type: Optional[Literal["v_prediction", "epsilon", "sample"]] = Body( + description="Prediction type for SDv2 checkpoint files", default="v_prediction" + ), ) -> ImportModelResponse: - """ Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically """ - + """Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically""" + items_to_import = {location} - prediction_types = { x.value: x for x in SchedulerPredictionType } + prediction_types = {x.value: x for x in SchedulerPredictionType} logger = ApiDependencies.invoker.services.logger try: installed_models = ApiDependencies.invoker.services.model_manager.heuristic_import( - items_to_import = items_to_import, - prediction_type_helper = lambda x: prediction_types.get(prediction_type) + items_to_import=items_to_import, prediction_type_helper=lambda x: prediction_types.get(prediction_type) ) info = installed_models.get(location) if not info: logger.error("Import failed") raise HTTPException(status_code=415) - - logger.info(f'Successfully imported {location}, got {info}') + + logger.info(f"Successfully imported {location}, got {info}") model_raw = ApiDependencies.invoker.services.model_manager.list_model( - model_name=info.name, - base_model=info.base_model, - model_type=info.model_type + model_name=info.name, base_model=info.base_model, model_type=info.model_type ) return parse_obj_as(ImportModelResponse, model_raw) - + except ModelNotFoundException as e: logger.error(str(e)) raise HTTPException(status_code=404, detail=str(e)) @@ -175,38 +176,34 @@ async def import_model( except ValueError as e: logger.error(str(e)) raise HTTPException(status_code=409, detail=str(e)) - + + @models_router.post( "/add", operation_id="add_model", - responses= { - 201: {"description" : "The model added successfully"}, - 404: {"description" : "The model could not be found"}, - 424: {"description" : "The model appeared to add successfully, but could not be found in the model manager"}, - 409: {"description" : "There is already a model corresponding to this path or repo_id"}, + responses={ + 201: {"description": "The model added successfully"}, + 404: {"description": "The model could not be found"}, + 424: {"description": "The model appeared to add successfully, but could not be found in the model manager"}, + 409: {"description": "There is already a model corresponding to this path or repo_id"}, }, status_code=201, - response_model=ImportModelResponse + response_model=ImportModelResponse, ) async def add_model( - info: Union[tuple(OPENAPI_MODEL_CONFIGS)] = Body(description="Model configuration"), + info: Union[tuple(OPENAPI_MODEL_CONFIGS)] = Body(description="Model configuration"), ) -> ImportModelResponse: - """ Add a model using the configuration information appropriate for its type. Only local models can be added by path""" - + """Add a model using the configuration information appropriate for its type. Only local models can be added by path""" + logger = ApiDependencies.invoker.services.logger try: ApiDependencies.invoker.services.model_manager.add_model( - info.model_name, - info.base_model, - info.model_type, - model_attributes = info.dict() + info.model_name, info.base_model, info.model_type, model_attributes=info.dict() ) - logger.info(f'Successfully added {info.model_name}') + logger.info(f"Successfully added {info.model_name}") model_raw = ApiDependencies.invoker.services.model_manager.list_model( - model_name=info.model_name, - base_model=info.base_model, - model_type=info.model_type + model_name=info.model_name, base_model=info.base_model, model_type=info.model_type ) return parse_obj_as(ImportModelResponse, model_raw) except ModelNotFoundException as e: @@ -216,66 +213,66 @@ async def add_model( logger.error(str(e)) raise HTTPException(status_code=409, detail=str(e)) - + @models_router.delete( "/{base_model}/{model_type}/{model_name}", operation_id="del_model", - responses={ - 204: { "description": "Model deleted successfully" }, - 404: { "description": "Model not found" } - }, - status_code = 204, - response_model = None, + responses={204: {"description": "Model deleted successfully"}, 404: {"description": "Model not found"}}, + status_code=204, + response_model=None, ) async def delete_model( - base_model: BaseModelType = Path(description="Base model"), - model_type: ModelType = Path(description="The type of model"), - model_name: str = Path(description="model name"), + base_model: BaseModelType = Path(description="Base model"), + model_type: ModelType = Path(description="The type of model"), + model_name: str = Path(description="model name"), ) -> Response: """Delete Model""" logger = ApiDependencies.invoker.services.logger - + try: - ApiDependencies.invoker.services.model_manager.del_model(model_name, - base_model = base_model, - model_type = model_type - ) + ApiDependencies.invoker.services.model_manager.del_model( + model_name, base_model=base_model, model_type=model_type + ) logger.info(f"Deleted model: {model_name}") return Response(status_code=204) except ModelNotFoundException as e: logger.error(str(e)) raise HTTPException(status_code=404, detail=str(e)) + @models_router.put( "/convert/{base_model}/{model_type}/{model_name}", operation_id="convert_model", responses={ - 200: { "description": "Model converted successfully" }, - 400: {"description" : "Bad request" }, - 404: { "description": "Model not found" }, + 200: {"description": "Model converted successfully"}, + 400: {"description": "Bad request"}, + 404: {"description": "Model not found"}, }, - status_code = 200, - response_model = ConvertModelResponse, + status_code=200, + response_model=ConvertModelResponse, ) async def convert_model( - base_model: BaseModelType = Path(description="Base model"), - model_type: ModelType = Path(description="The type of model"), - model_name: str = Path(description="model name"), - convert_dest_directory: Optional[str] = Query(default=None, description="Save the converted model to the designated directory"), + base_model: BaseModelType = Path(description="Base model"), + model_type: ModelType = Path(description="The type of model"), + model_name: str = Path(description="model name"), + convert_dest_directory: Optional[str] = Query( + default=None, description="Save the converted model to the designated directory" + ), ) -> ConvertModelResponse: """Convert a checkpoint model into a diffusers model, optionally saving to the indicated destination directory, or `models` if none.""" logger = ApiDependencies.invoker.services.logger try: logger.info(f"Converting model: {model_name}") dest = pathlib.Path(convert_dest_directory) if convert_dest_directory else None - ApiDependencies.invoker.services.model_manager.convert_model(model_name, - base_model = base_model, - model_type = model_type, - convert_dest_directory = dest, - ) - model_raw = ApiDependencies.invoker.services.model_manager.list_model(model_name, - base_model = base_model, - model_type = model_type) + ApiDependencies.invoker.services.model_manager.convert_model( + model_name, + base_model=base_model, + model_type=model_type, + convert_dest_directory=dest, + ) + model_raw = ApiDependencies.invoker.services.model_manager.list_model( + model_name, base_model=base_model, model_type=model_type + ) response = parse_obj_as(ConvertModelResponse, model_raw) except ModelNotFoundException as e: raise HTTPException(status_code=404, detail=f"Model '{model_name}' not found: {str(e)}") @@ -283,91 +280,101 @@ async def convert_model( raise HTTPException(status_code=400, detail=str(e)) return response + @models_router.get( "/search", operation_id="search_for_models", responses={ - 200: { "description": "Directory searched successfully" }, - 404: { "description": "Invalid directory path" }, + 200: {"description": "Directory searched successfully"}, + 404: {"description": "Invalid directory path"}, }, - status_code = 200, - response_model = List[pathlib.Path] + status_code=200, + response_model=List[pathlib.Path], ) async def search_for_models( - search_path: pathlib.Path = Query(description="Directory path to search for models") -)->List[pathlib.Path]: + search_path: pathlib.Path = Query(description="Directory path to search for models"), +) -> List[pathlib.Path]: if not search_path.is_dir(): - raise HTTPException(status_code=404, detail=f"The search path '{search_path}' does not exist or is not directory") + raise HTTPException( + status_code=404, detail=f"The search path '{search_path}' does not exist or is not directory" + ) return ApiDependencies.invoker.services.model_manager.search_for_models(search_path) + @models_router.get( "/ckpt_confs", operation_id="list_ckpt_configs", responses={ - 200: { "description" : "paths retrieved successfully" }, + 200: {"description": "paths retrieved successfully"}, }, - status_code = 200, - response_model = List[pathlib.Path] + status_code=200, + response_model=List[pathlib.Path], ) -async def list_ckpt_configs( -)->List[pathlib.Path]: +async def list_ckpt_configs() -> List[pathlib.Path]: """Return a list of the legacy checkpoint configuration files stored in `ROOT/configs/stable-diffusion`, relative to ROOT.""" return ApiDependencies.invoker.services.model_manager.list_checkpoint_configs() - - + + @models_router.post( "/sync", operation_id="sync_to_config", responses={ - 201: { "description": "synchronization successful" }, + 201: {"description": "synchronization successful"}, }, - status_code = 201, - response_model = bool + status_code=201, + response_model=bool, ) -async def sync_to_config( -)->bool: +async def sync_to_config() -> bool: """Call after making changes to models.yaml, autoimport directories or models directory to synchronize in-memory data structures with disk data structures.""" ApiDependencies.invoker.services.model_manager.sync_to_config() return True - + + @models_router.put( "/merge/{base_model}", operation_id="merge_models", responses={ - 200: { "description": "Model converted successfully" }, - 400: { "description": "Incompatible models" }, - 404: { "description": "One or more models not found" }, + 200: {"description": "Model converted successfully"}, + 400: {"description": "Incompatible models"}, + 404: {"description": "One or more models not found"}, }, - status_code = 200, - response_model = MergeModelResponse, + status_code=200, + response_model=MergeModelResponse, ) async def merge_models( - base_model: BaseModelType = Path(description="Base model"), - model_names: List[str] = Body(description="model name", min_items=2, max_items=3), - merged_model_name: Optional[str] = Body(description="Name of destination model"), - alpha: Optional[float] = Body(description="Alpha weighting strength to apply to 2d and 3d models", default=0.5), - interp: Optional[MergeInterpolationMethod] = Body(description="Interpolation method"), - force: Optional[bool] = Body(description="Force merging of models created with different versions of diffusers", default=False), - merge_dest_directory: Optional[str] = Body(description="Save the merged model to the designated directory (with 'merged_model_name' appended)", default=None) + base_model: BaseModelType = Path(description="Base model"), + model_names: List[str] = Body(description="model name", min_items=2, max_items=3), + merged_model_name: Optional[str] = Body(description="Name of destination model"), + alpha: Optional[float] = Body(description="Alpha weighting strength to apply to 2d and 3d models", default=0.5), + interp: Optional[MergeInterpolationMethod] = Body(description="Interpolation method"), + force: Optional[bool] = Body( + description="Force merging of models created with different versions of diffusers", default=False + ), + merge_dest_directory: Optional[str] = Body( + description="Save the merged model to the designated directory (with 'merged_model_name' appended)", + default=None, + ), ) -> MergeModelResponse: """Convert a checkpoint model into a diffusers model""" logger = ApiDependencies.invoker.services.logger try: logger.info(f"Merging models: {model_names} into {merge_dest_directory or ''}/{merged_model_name}") dest = pathlib.Path(merge_dest_directory) if merge_dest_directory else None - result = ApiDependencies.invoker.services.model_manager.merge_models(model_names, - base_model, - merged_model_name=merged_model_name or "+".join(model_names), - alpha=alpha, - interp=interp, - force=force, - merge_dest_directory = dest - ) - model_raw = ApiDependencies.invoker.services.model_manager.list_model(result.name, - base_model = base_model, - model_type = ModelType.Main, - ) + result = ApiDependencies.invoker.services.model_manager.merge_models( + model_names, + base_model, + merged_model_name=merged_model_name or "+".join(model_names), + alpha=alpha, + interp=interp, + force=force, + merge_dest_directory=dest, + ) + model_raw = ApiDependencies.invoker.services.model_manager.list_model( + result.name, + base_model=base_model, + model_type=ModelType.Main, + ) response = parse_obj_as(ConvertModelResponse, model_raw) except ModelNotFoundException: raise HTTPException(status_code=404, detail=f"One or more of the models '{model_names}' not found") diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 96c536dc94..f994e4a3d9 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -17,15 +17,16 @@ from invokeai.backend.model_management.models import ModelType, SilenceWarnings from ...backend.model_management.lora import ModelPatcher from ...backend.stable_diffusion import PipelineIntermediateState from ...backend.stable_diffusion.diffusers_pipeline import ( - ConditioningData, ControlNetData, StableDiffusionGeneratorPipeline, - image_resized_to_grid_as_tensor) -from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import \ - PostprocessingSettings + ConditioningData, + ControlNetData, + StableDiffusionGeneratorPipeline, + image_resized_to_grid_as_tensor, +) +from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import PostprocessingSettings from ...backend.stable_diffusion.schedulers import SCHEDULER_MAP from ...backend.util.devices import choose_torch_device, torch_dtype, choose_precision from ..models.image import ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import (BaseInvocation, BaseInvocationOutput, - InvocationConfig, InvocationContext) +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext from .compel import ConditioningField from .controlnet_image_processors import ControlField from .image import ImageOutput @@ -46,8 +47,7 @@ DEFAULT_PRECISION = choose_precision(choose_torch_device()) class LatentsField(BaseModel): """A latents field used for passing latents between invocations""" - latents_name: Optional[str] = Field( - default=None, description="The name of the latents") + latents_name: Optional[str] = Field(default=None, description="The name of the latents") class Config: schema_extra = {"required": ["latents_name"]} @@ -55,14 +55,15 @@ class LatentsField(BaseModel): class LatentsOutput(BaseInvocationOutput): """Base class for invocations that output latents""" - #fmt: off + + # fmt: off type: Literal["latents_output"] = "latents_output" # Inputs latents: LatentsField = Field(default=None, description="The output latents") width: int = Field(description="The width of the latents in pixels") height: int = Field(description="The height of the latents in pixels") - #fmt: on + # fmt: on def build_latents_output(latents_name: str, latents: torch.Tensor): @@ -73,9 +74,7 @@ def build_latents_output(latents_name: str, latents: torch.Tensor): ) -SAMPLER_NAME_VALUES = Literal[ - tuple(list(SCHEDULER_MAP.keys())) -] +SAMPLER_NAME_VALUES = Literal[tuple(list(SCHEDULER_MAP.keys()))] def get_scheduler( @@ -83,11 +82,10 @@ def get_scheduler( scheduler_info: ModelInfo, scheduler_name: str, ) -> Scheduler: - scheduler_class, scheduler_extra_config = SCHEDULER_MAP.get( - scheduler_name, SCHEDULER_MAP['ddim'] - ) + scheduler_class, scheduler_extra_config = SCHEDULER_MAP.get(scheduler_name, SCHEDULER_MAP["ddim"]) orig_scheduler_info = context.services.model_manager.get_model( - **scheduler_info.dict(), context=context, + **scheduler_info.dict(), + context=context, ) with orig_scheduler_info as orig_scheduler: scheduler_config = orig_scheduler.config @@ -102,7 +100,7 @@ def get_scheduler( scheduler = scheduler_class.from_config(scheduler_config) # hack copied over from generate.py - if not hasattr(scheduler, 'uses_inpainting_model'): + if not hasattr(scheduler, "uses_inpainting_model"): scheduler.uses_inpainting_model = lambda: False return scheduler @@ -123,8 +121,8 @@ class TextToLatentsInvocation(BaseInvocation): scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use" ) unet: UNetField = Field(default=None, description="UNet submodel") control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") - #seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) - #seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") + # seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) + # seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") # fmt: on @validator("cfg_scale") @@ -133,10 +131,10 @@ class TextToLatentsInvocation(BaseInvocation): if isinstance(v, list): for i in v: if i < 1: - raise ValueError('cfg_scale must be greater than 1') + raise ValueError("cfg_scale must be greater than 1") else: if v < 1: - raise ValueError('cfg_scale must be greater than 1') + raise ValueError("cfg_scale must be greater than 1") return v # Schema customisation @@ -149,8 +147,8 @@ class TextToLatentsInvocation(BaseInvocation): "model": "model", "control": "control", # "cfg_scale": "float", - "cfg_scale": "number" - } + "cfg_scale": "number", + }, }, } @@ -190,16 +188,14 @@ class TextToLatentsInvocation(BaseInvocation): threshold=0.0, # threshold, warmup=0.2, # warmup, h_symmetry_time_pct=None, # h_symmetry_time_pct, - v_symmetry_time_pct=None # v_symmetry_time_pct, + v_symmetry_time_pct=None, # v_symmetry_time_pct, ), ) conditioning_data = conditioning_data.add_scheduler_args_if_applicable( scheduler, - # for ddim scheduler eta=0.0, # ddim_eta - # for ancestral and sde schedulers generator=torch.Generator(device=unet.device).manual_seed(0), ) @@ -247,7 +243,6 @@ class TextToLatentsInvocation(BaseInvocation): exit_stack: ExitStack, do_classifier_free_guidance: bool = True, ) -> List[ControlNetData]: - # assuming fixed dimensional scaling of 8:1 for image:latents control_height_resize = latents_shape[2] * 8 control_width_resize = latents_shape[3] * 8 @@ -261,7 +256,7 @@ class TextToLatentsInvocation(BaseInvocation): control_list = control_input else: control_list = None - if (control_list is None): + if control_list is None: control_data = None # from above handling, any control that is not None should now be of type list[ControlField] else: @@ -281,9 +276,7 @@ class TextToLatentsInvocation(BaseInvocation): control_models.append(control_model) control_image_field = control_info.image - input_image = context.services.images.get_pil_image( - control_image_field.image_name - ) + input_image = context.services.images.get_pil_image(control_image_field.image_name) # self.image.image_type, self.image.image_name # FIXME: still need to test with different widths, heights, devices, dtypes # and add in batch_size, num_images_per_prompt? @@ -322,9 +315,7 @@ class TextToLatentsInvocation(BaseInvocation): noise = context.services.latents.get(self.noise.latents_name) # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) + graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) source_node_id = graph_execution_state.prepared_source_mapping[self.id] def step_callback(state: PipelineIntermediateState): @@ -333,19 +324,20 @@ class TextToLatentsInvocation(BaseInvocation): def _lora_loader(): for lora in self.unet.loras: lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context, + **lora.dict(exclude={"weight"}), + context=context, ) yield (lora_info.context.model, lora.weight) del lora_info return unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), context=context, + **self.unet.unet.dict(), + context=context, ) - with ExitStack() as exit_stack,\ - ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ - unet_info as unet: - + with ExitStack() as exit_stack, ModelPatcher.apply_lora_unet( + unet_info.context.model, _lora_loader() + ), unet_info as unet: noise = noise.to(device=unet.device, dtype=unet.dtype) scheduler = get_scheduler( @@ -358,7 +350,9 @@ class TextToLatentsInvocation(BaseInvocation): conditioning_data = self.get_conditioning_data(context, scheduler, unet) control_data = self.prep_control_data( - model=pipeline, context=context, control_input=self.control, + model=pipeline, + context=context, + control_input=self.control, latents_shape=noise.shape, # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) do_classifier_free_guidance=True, @@ -379,7 +373,7 @@ class TextToLatentsInvocation(BaseInvocation): result_latents = result_latents.to("cpu") torch.cuda.empty_cache() - name = f'{context.graph_execution_state_id}__{self.id}' + name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, result_latents) return build_latents_output(latents_name=name, latents=result_latents) @@ -390,11 +384,8 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): type: Literal["l2l"] = "l2l" # Inputs - latents: Optional[LatentsField] = Field( - description="The latents to use as a base image") - strength: float = Field( - default=0.7, ge=0, le=1, - description="The strength of the latents to use") + latents: Optional[LatentsField] = Field(description="The latents to use as a base image") + strength: float = Field(default=0.7, ge=0, le=1, description="The strength of the latents to use") # Schema customisation class Config(InvocationConfig): @@ -406,7 +397,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): "model": "model", "control": "control", "cfg_scale": "number", - } + }, }, } @@ -417,9 +408,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): latent = context.services.latents.get(self.latents.latents_name) # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get( - context.graph_execution_state_id - ) + graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) source_node_id = graph_execution_state.prepared_source_mapping[self.id] def step_callback(state: PipelineIntermediateState): @@ -428,19 +417,20 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): def _lora_loader(): for lora in self.unet.loras: lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), context=context, + **lora.dict(exclude={"weight"}), + context=context, ) yield (lora_info.context.model, lora.weight) del lora_info return unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), context=context, + **self.unet.unet.dict(), + context=context, ) - with ExitStack() as exit_stack,\ - ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ - unet_info as unet: - + with ExitStack() as exit_stack, ModelPatcher.apply_lora_unet( + unet_info.context.model, _lora_loader() + ), unet_info as unet: noise = noise.to(device=unet.device, dtype=unet.dtype) latent = latent.to(device=unet.device, dtype=unet.dtype) @@ -454,7 +444,9 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): conditioning_data = self.get_conditioning_data(context, scheduler, unet) control_data = self.prep_control_data( - model=pipeline, context=context, control_input=self.control, + model=pipeline, + context=context, + control_input=self.control, latents_shape=noise.shape, # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) do_classifier_free_guidance=True, @@ -462,8 +454,8 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): ) # TODO: Verify the noise is the right size - initial_latents = latent if self.strength < 1.0 else torch.zeros_like( - latent, device=unet.device, dtype=latent.dtype + initial_latents = ( + latent if self.strength < 1.0 else torch.zeros_like(latent, device=unet.device, dtype=latent.dtype) ) timesteps, _ = pipeline.get_img2img_timesteps( @@ -479,14 +471,14 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): num_inference_steps=self.steps, conditioning_data=conditioning_data, control_data=control_data, # list[ControlNetData] - callback=step_callback + callback=step_callback, ) # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 result_latents = result_latents.to("cpu") torch.cuda.empty_cache() - name = f'{context.graph_execution_state_id}__{self.id}' + name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, result_latents) return build_latents_output(latents_name=name, latents=result_latents) @@ -498,14 +490,13 @@ class LatentsToImageInvocation(BaseInvocation): type: Literal["l2i"] = "l2i" # Inputs - latents: Optional[LatentsField] = Field( - description="The latents to generate an image from") + latents: Optional[LatentsField] = Field(description="The latents to generate an image from") vae: VaeField = Field(default=None, description="Vae submodel") - tiled: bool = Field( - default=False, - description="Decode latents by overlaping tiles(less memory consumption)") - fp32: bool = Field(DEFAULT_PRECISION=='float32', description="Decode in full precision") - metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") + tiled: bool = Field(default=False, description="Decode latents by overlaping tiles(less memory consumption)") + fp32: bool = Field(DEFAULT_PRECISION == "float32", description="Decode in full precision") + metadata: Optional[CoreMetadata] = Field( + default=None, description="Optional core metadata to be written to the image" + ) # Schema customisation class Config(InvocationConfig): @@ -521,7 +512,8 @@ class LatentsToImageInvocation(BaseInvocation): latents = context.services.latents.get(self.latents.latents_name) vae_info = context.services.model_manager.get_model( - **self.vae.vae.dict(), context=context, + **self.vae.vae.dict(), + context=context, ) with vae_info as vae: @@ -588,8 +580,7 @@ class LatentsToImageInvocation(BaseInvocation): ) -LATENTS_INTERPOLATION_MODE = Literal["nearest", "linear", - "bilinear", "bicubic", "trilinear", "area", "nearest-exact"] +LATENTS_INTERPOLATION_MODE = Literal["nearest", "linear", "bilinear", "bicubic", "trilinear", "area", "nearest-exact"] class ResizeLatentsInvocation(BaseInvocation): @@ -598,36 +589,30 @@ class ResizeLatentsInvocation(BaseInvocation): type: Literal["lresize"] = "lresize" # Inputs - latents: Optional[LatentsField] = Field( - description="The latents to resize") - width: Union[int, None] = Field(default=512, - ge=64, multiple_of=8, description="The width to resize to (px)") - height: Union[int, None] = Field(default=512, - ge=64, multiple_of=8, description="The height to resize to (px)") - mode: LATENTS_INTERPOLATION_MODE = Field( - default="bilinear", description="The interpolation mode") + latents: Optional[LatentsField] = Field(description="The latents to resize") + width: Union[int, None] = Field(default=512, ge=64, multiple_of=8, description="The width to resize to (px)") + height: Union[int, None] = Field(default=512, ge=64, multiple_of=8, description="The height to resize to (px)") + mode: LATENTS_INTERPOLATION_MODE = Field(default="bilinear", description="The interpolation mode") antialias: bool = Field( - default=False, - description="Whether or not to antialias (applied in bilinear and bicubic modes only)") + default=False, description="Whether or not to antialias (applied in bilinear and bicubic modes only)" + ) class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Resize Latents", - "tags": ["latents", "resize"] - }, + "ui": {"title": "Resize Latents", "tags": ["latents", "resize"]}, } def invoke(self, context: InvocationContext) -> LatentsOutput: latents = context.services.latents.get(self.latents.latents_name) # TODO: - device=choose_torch_device() + device = choose_torch_device() resized_latents = torch.nn.functional.interpolate( - latents.to(device), size=(self.height // 8, self.width // 8), - mode=self.mode, antialias=self.antialias - if self.mode in ["bilinear", "bicubic"] else False, + latents.to(device), + size=(self.height // 8, self.width // 8), + mode=self.mode, + antialias=self.antialias if self.mode in ["bilinear", "bicubic"] else False, ) # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 @@ -646,35 +631,30 @@ class ScaleLatentsInvocation(BaseInvocation): type: Literal["lscale"] = "lscale" # Inputs - latents: Optional[LatentsField] = Field( - description="The latents to scale") - scale_factor: float = Field( - gt=0, description="The factor by which to scale the latents") - mode: LATENTS_INTERPOLATION_MODE = Field( - default="bilinear", description="The interpolation mode") + latents: Optional[LatentsField] = Field(description="The latents to scale") + scale_factor: float = Field(gt=0, description="The factor by which to scale the latents") + mode: LATENTS_INTERPOLATION_MODE = Field(default="bilinear", description="The interpolation mode") antialias: bool = Field( - default=False, - description="Whether or not to antialias (applied in bilinear and bicubic modes only)") + default=False, description="Whether or not to antialias (applied in bilinear and bicubic modes only)" + ) class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Scale Latents", - "tags": ["latents", "scale"] - }, + "ui": {"title": "Scale Latents", "tags": ["latents", "scale"]}, } def invoke(self, context: InvocationContext) -> LatentsOutput: latents = context.services.latents.get(self.latents.latents_name) # TODO: - device=choose_torch_device() + device = choose_torch_device() # resizing resized_latents = torch.nn.functional.interpolate( - latents.to(device), scale_factor=self.scale_factor, mode=self.mode, - antialias=self.antialias - if self.mode in ["bilinear", "bicubic"] else False, + latents.to(device), + scale_factor=self.scale_factor, + mode=self.mode, + antialias=self.antialias if self.mode in ["bilinear", "bicubic"] else False, ) # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 @@ -695,19 +675,13 @@ class ImageToLatentsInvocation(BaseInvocation): # Inputs image: Optional[ImageField] = Field(description="The image to encode") vae: VaeField = Field(default=None, description="Vae submodel") - tiled: bool = Field( - default=False, - description="Encode latents by overlaping tiles(less memory consumption)") - fp32: bool = Field(DEFAULT_PRECISION=='float32', description="Decode in full precision") - + tiled: bool = Field(default=False, description="Encode latents by overlaping tiles(less memory consumption)") + fp32: bool = Field(DEFAULT_PRECISION == "float32", description="Decode in full precision") # Schema customisation class Config(InvocationConfig): schema_extra = { - "ui": { - "title": "Image To Latents", - "tags": ["latents", "image"] - }, + "ui": {"title": "Image To Latents", "tags": ["latents", "image"]}, } @torch.no_grad() @@ -717,9 +691,10 @@ class ImageToLatentsInvocation(BaseInvocation): # ) image = context.services.images.get_pil_image(self.image.image_name) - #vae_info = context.services.model_manager.get_model(**self.vae.vae.dict()) + # vae_info = context.services.model_manager.get_model(**self.vae.vae.dict()) vae_info = context.services.model_manager.get_model( - **self.vae.vae.dict(), context=context, + **self.vae.vae.dict(), + context=context, ) image_tensor = image_resized_to_grid_as_tensor(image.convert("RGB")) @@ -746,12 +721,12 @@ class ImageToLatentsInvocation(BaseInvocation): vae.post_quant_conv.to(orig_dtype) vae.decoder.conv_in.to(orig_dtype) vae.decoder.mid_block.to(orig_dtype) - #else: + # else: # latents = latents.float() else: vae.to(dtype=torch.float16) - #latents = latents.half() + # latents = latents.half() if self.tiled: vae.enable_tiling() @@ -762,9 +737,7 @@ class ImageToLatentsInvocation(BaseInvocation): image_tensor = image_tensor.to(device=vae.device, dtype=vae.dtype) with torch.inference_mode(): image_tensor_dist = vae.encode(image_tensor).latent_dist - latents = image_tensor_dist.sample().to( - dtype=vae.dtype - ) # FIXME: uses torch.randn. make reproducible! + latents = image_tensor_dist.sample().to(dtype=vae.dtype) # FIXME: uses torch.randn. make reproducible! latents = vae.config.scaling_factor * latents latents = latents.to(dtype=orig_dtype) diff --git a/scripts/probe-model.py b/scripts/probe-model.py index eca2a0985a..7281dafc3f 100755 --- a/scripts/probe-model.py +++ b/scripts/probe-model.py @@ -7,13 +7,10 @@ from invokeai.backend.model_management.model_probe import ModelProbe parser = argparse.ArgumentParser(description="Probe model type") parser.add_argument( - 'model_path', + "model_path", type=Path, ) -args=parser.parse_args() +args = parser.parse_args() info = ModelProbe().probe(args.model_path) print(info) - - - From 6edeb4e07247b866a27703ebe729ef05032c2d51 Mon Sep 17 00:00:00 2001 From: ZachNagengast Date: Thu, 27 Jul 2023 12:48:49 -0700 Subject: [PATCH 088/106] Pass device to set_timestep to avoid float64 error --- invokeai/app/invocations/sdxl.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index 303a2fedd9..b9cd80e2f8 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -291,13 +291,14 @@ class SDXLTextToLatentsInvocation(BaseInvocation): scheduler_name=self.scheduler, ) + unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) + num_inference_steps = self.steps - scheduler.set_timesteps(num_inference_steps) + scheduler.set_timesteps(num_inference_steps, device=unet_info.device) timesteps = scheduler.timesteps latents = latents * scheduler.init_noise_sigma - unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) do_classifier_free_guidance = True cross_attention_kwargs = None with unet_info as unet: @@ -537,9 +538,14 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): scheduler_name=self.scheduler, ) + unet_info = context.services.model_manager.get_model( + **self.unet.unet.dict(), + context=context, + ) + # apply denoising_start num_inference_steps = self.steps - scheduler.set_timesteps(num_inference_steps) + scheduler.set_timesteps(num_inference_steps, device=unet_info.device) t_start = int(round(self.denoising_start * num_inference_steps)) timesteps = scheduler.timesteps[t_start * scheduler.order :] @@ -551,10 +557,6 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): latents = scheduler.add_noise(latents, noise, timesteps[:1]) del noise - unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), - context=context, - ) do_classifier_free_guidance = True cross_attention_kwargs = None with unet_info as unet: From aa1f82727121db5d52702579408f843ccec370d3 Mon Sep 17 00:00:00 2001 From: ZachNagengast Date: Thu, 27 Jul 2023 14:47:09 -0700 Subject: [PATCH 089/106] Fix unet_info location, can have no device prop --- invokeai/app/invocations/sdxl.py | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index b9cd80e2f8..1ea330fe56 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -291,17 +291,17 @@ class SDXLTextToLatentsInvocation(BaseInvocation): scheduler_name=self.scheduler, ) - unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) - num_inference_steps = self.steps - scheduler.set_timesteps(num_inference_steps, device=unet_info.device) - timesteps = scheduler.timesteps latents = latents * scheduler.init_noise_sigma + unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) do_classifier_free_guidance = True cross_attention_kwargs = None with unet_info as unet: + scheduler.set_timesteps(num_inference_steps, device=unet.device) + timesteps = scheduler.timesteps + extra_step_kwargs = dict() if "eta" in set(inspect.signature(scheduler.step).parameters.keys()): extra_step_kwargs.update( @@ -543,23 +543,23 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): context=context, ) - # apply denoising_start - num_inference_steps = self.steps - scheduler.set_timesteps(num_inference_steps, device=unet_info.device) - - t_start = int(round(self.denoising_start * num_inference_steps)) - timesteps = scheduler.timesteps[t_start * scheduler.order :] - num_inference_steps = num_inference_steps - t_start - - # apply noise(if provided) - if self.noise is not None and timesteps.shape[0] > 0: - noise = context.services.latents.get(self.noise.latents_name) - latents = scheduler.add_noise(latents, noise, timesteps[:1]) - del noise - do_classifier_free_guidance = True cross_attention_kwargs = None with unet_info as unet: + # apply denoising_start + num_inference_steps = self.steps + scheduler.set_timesteps(num_inference_steps, device=self.scheduler.device) + + t_start = int(round(self.denoising_start * num_inference_steps)) + timesteps = scheduler.timesteps[t_start * scheduler.order :] + num_inference_steps = num_inference_steps - t_start + + # apply noise(if provided) + if self.noise is not None and timesteps.shape[0] > 0: + noise = context.services.latents.get(self.noise.latents_name) + latents = scheduler.add_noise(latents, noise, timesteps[:1]) + del noise + # apply scheduler extra args extra_step_kwargs = dict() if "eta" in set(inspect.signature(scheduler.step).parameters.keys()): From 10e1d623c331ad25d3f165ccec5f99fa6501bfe1 Mon Sep 17 00:00:00 2001 From: Alexandre Macabies Date: Sat, 22 Jul 2023 21:40:14 +0200 Subject: [PATCH 090/106] Add LoRAs to the model manager. --- invokeai/frontend/web/public/locales/en.json | 1 + .../features/parameters/types/constants.ts | 18 ++++ .../subpanels/ModelManagerPanel.tsx | 28 ++++++- .../ModelManagerPanel/LoRAModelEdit.tsx | 82 +++++++++++++++++++ .../subpanels/ModelManagerPanel/ModelList.tsx | 68 +++++++++++++-- .../ModelManagerPanel/ModelListItem.tsx | 33 +++++--- .../web/src/services/api/endpoints/models.ts | 17 ++++ 7 files changed, 221 insertions(+), 26 deletions(-) create mode 100644 invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/LoRAModelEdit.tsx diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index b9f75ac30f..7c9f820729 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -340,6 +340,7 @@ "allModels": "All Models", "checkpointModels": "Checkpoints", "diffusersModels": "Diffusers", + "loraModels": "LoRAs", "safetensorModels": "SafeTensors", "modelAdded": "Model Added", "modelUpdated": "Model Updated", diff --git a/invokeai/frontend/web/src/features/parameters/types/constants.ts b/invokeai/frontend/web/src/features/parameters/types/constants.ts index ca52bfb95a..dd0e738eeb 100644 --- a/invokeai/frontend/web/src/features/parameters/types/constants.ts +++ b/invokeai/frontend/web/src/features/parameters/types/constants.ts @@ -1,3 +1,5 @@ +import { components } from 'services/api/schema'; + export const MODEL_TYPE_MAP = { 'sd-1': 'Stable Diffusion 1.x', 'sd-2': 'Stable Diffusion 2.x', @@ -5,6 +7,13 @@ export const MODEL_TYPE_MAP = { 'sdxl-refiner': 'Stable Diffusion XL Refiner', }; +export const MODEL_TYPE_SHORT_MAP = { + 'sd-1': 'SD1', + 'sd-2': 'SD2', + sdxl: 'SDXL', + 'sdxl-refiner': 'SDXLR', +}; + export const clipSkipMap = { 'sd-1': { maxClip: 12, @@ -23,3 +32,12 @@ export const clipSkipMap = { markers: [0, 1, 2, 3, 5, 10, 15, 20, 24], }, }; + +type LoRAModelFormatMap = { + [key in components['schemas']['LoRAModelFormat']]: string; +}; + +export const LORA_MODEL_FORMAT_MAP: LoRAModelFormatMap = { + lycoris: 'LyCORIS', + diffusers: 'Diffusers', +}; diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel.tsx index 87eb918564..754c8822d1 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel.tsx @@ -3,20 +3,31 @@ import { Flex, Text } from '@chakra-ui/react'; import { useState } from 'react'; import { MainModelConfigEntity, + DiffusersModelConfigEntity, + LoRAModelConfigEntity, useGetMainModelsQuery, + useGetLoRAModelsQuery, } from 'services/api/endpoints/models'; import CheckpointModelEdit from './ModelManagerPanel/CheckpointModelEdit'; import DiffusersModelEdit from './ModelManagerPanel/DiffusersModelEdit'; +import LoRAModelEdit from './ModelManagerPanel/LoRAModelEdit'; import ModelList from './ModelManagerPanel/ModelList'; import { ALL_BASE_MODELS } from 'services/api/constants'; export default function ModelManagerPanel() { const [selectedModelId, setSelectedModelId] = useState(); - const { model } = useGetMainModelsQuery(ALL_BASE_MODELS, { + const { mainModel } = useGetMainModelsQuery(ALL_BASE_MODELS, { selectFromResult: ({ data }) => ({ - model: selectedModelId ? data?.entities[selectedModelId] : undefined, + mainModel: selectedModelId ? data?.entities[selectedModelId] : undefined, }), }); + const { loraModel } = useGetLoRAModelsQuery(undefined, { + selectFromResult: ({ data }) => ({ + loraModel: selectedModelId ? data?.entities[selectedModelId] : undefined, + }), + }); + + const model = mainModel ? mainModel : loraModel; return ( @@ -30,7 +41,7 @@ export default function ModelManagerPanel() { } type ModelEditProps = { - model: MainModelConfigEntity | undefined; + model: MainModelConfigEntity | LoRAModelConfigEntity | undefined; }; const ModelEdit = (props: ModelEditProps) => { @@ -41,7 +52,16 @@ const ModelEdit = (props: ModelEditProps) => { } if (model?.model_format === 'diffusers') { - return ; + return ( + + ); + } + + if (model?.model_type === 'lora') { + return ; } return ( diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/LoRAModelEdit.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/LoRAModelEdit.tsx new file mode 100644 index 0000000000..b1c6900f74 --- /dev/null +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/LoRAModelEdit.tsx @@ -0,0 +1,82 @@ +import { Divider, Flex, Text } from '@chakra-ui/react'; +import { useForm } from '@mantine/form'; +import IAIMantineTextInput from 'common/components/IAIMantineInput'; +import { + LORA_MODEL_FORMAT_MAP, + MODEL_TYPE_MAP, +} from 'features/parameters/types/constants'; +import { useTranslation } from 'react-i18next'; +import { LoRAModelConfigEntity } from 'services/api/endpoints/models'; +import { LoRAModelConfig } from 'services/api/types'; +import BaseModelSelect from '../shared/BaseModelSelect'; + +type LoRAModelEditProps = { + model: LoRAModelConfigEntity; +}; + +export default function LoRAModelEdit(props: LoRAModelEditProps) { + const { model } = props; + + const { t } = useTranslation(); + + const loraEditForm = useForm({ + initialValues: { + model_name: model.model_name ? model.model_name : '', + base_model: model.base_model, + model_type: 'lora', + path: model.path ? model.path : '', + description: model.description ? model.description : '', + model_format: model.model_format, + }, + validate: { + path: (value) => + value.trim().length === 0 ? 'Must provide a path' : null, + }, + }); + + return ( + + + + {model.model_name} + + + {MODEL_TYPE_MAP[model.base_model]} Model ⋅{' '} + {LORA_MODEL_FORMAT_MAP[model.model_format]} format + + + + +

+ + + + + + + {t('Editing LoRA model metadata is not yet supported.')} + + +
+ + ); +} diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx index f3d0eae495..e4d8a7b15a 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx @@ -9,6 +9,8 @@ import { useTranslation } from 'react-i18next'; import { MainModelConfigEntity, useGetMainModelsQuery, + useGetLoRAModelsQuery, + LoRAModelConfigEntity, } from 'services/api/endpoints/models'; import ModelListItem from './ModelListItem'; import { ALL_BASE_MODELS } from 'services/api/constants'; @@ -20,22 +22,42 @@ type ModelListProps = { type ModelFormat = 'images' | 'checkpoint' | 'diffusers'; +type ModelType = 'main' | 'lora'; + +type CombinedModelFormat = ModelFormat | 'lora'; + const ModelList = (props: ModelListProps) => { const { selectedModelId, setSelectedModelId } = props; const { t } = useTranslation(); const [nameFilter, setNameFilter] = useState(''); const [modelFormatFilter, setModelFormatFilter] = - useState('images'); + useState('images'); const { filteredDiffusersModels } = useGetMainModelsQuery(ALL_BASE_MODELS, { selectFromResult: ({ data }) => ({ - filteredDiffusersModels: modelsFilter(data, 'diffusers', nameFilter), + filteredDiffusersModels: modelsFilter( + data, + 'main', + 'diffusers', + nameFilter + ), }), }); const { filteredCheckpointModels } = useGetMainModelsQuery(ALL_BASE_MODELS, { selectFromResult: ({ data }) => ({ - filteredCheckpointModels: modelsFilter(data, 'checkpoint', nameFilter), + filteredCheckpointModels: modelsFilter( + data, + 'main', + 'checkpoint', + nameFilter + ), + }), + }); + + const { filteredLoraModels } = useGetLoRAModelsQuery(undefined, { + selectFromResult: ({ data }) => ({ + filteredLoraModels: modelsFilter(data, 'lora', undefined, nameFilter), }), }); @@ -68,6 +90,13 @@ const ModelList = (props: ModelListProps) => { > {t('modelManager.checkpointModels')} + setModelFormatFilter('lora')} + isChecked={modelFormatFilter === 'lora'} + > + {t('modelManager.loraModels')} + { )} + {['images', 'lora'].includes(modelFormatFilter) && + filteredLoraModels.length > 0 && ( + + + + LoRAs + + {filteredLoraModels.map((model) => ( + + ))} + + + )} @@ -126,12 +173,13 @@ const ModelList = (props: ModelListProps) => { export default ModelList; -const modelsFilter = ( - data: EntityState | undefined, - model_format: ModelFormat, +const modelsFilter = ( + data: EntityState | undefined, + model_type: ModelType, + model_format: ModelFormat | undefined, nameFilter: string ) => { - const filteredModels: MainModelConfigEntity[] = []; + const filteredModels: T[] = []; forEach(data?.entities, (model) => { if (!model) { return; @@ -141,9 +189,11 @@ const modelsFilter = ( .toLowerCase() .includes(nameFilter.toLowerCase()); - const matchesFormat = model.model_format === model_format; + const matchesFormat = + model_format === undefined || model.model_format === model_format; + const matchesType = model.model_type === model_type; - if (matchesFilter && matchesFormat) { + if (matchesFilter && matchesFormat && matchesType) { filteredModels.push(model); } }); diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelListItem.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelListItem.tsx index 7f4fb0c736..9380eed688 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelListItem.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelListItem.tsx @@ -9,29 +9,26 @@ import { selectIsBusy } from 'features/system/store/systemSelectors'; import { addToast } from 'features/system/store/systemSlice'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; +import { MODEL_TYPE_SHORT_MAP } from 'features/parameters/types/constants'; import { MainModelConfigEntity, + LoRAModelConfigEntity, useDeleteMainModelsMutation, + useDeleteLoRAModelsMutation, } from 'services/api/endpoints/models'; type ModelListItemProps = { - model: MainModelConfigEntity; + model: MainModelConfigEntity | LoRAModelConfigEntity; isSelected: boolean; setSelectedModelId: (v: string | undefined) => void; }; -const modelBaseTypeMap = { - 'sd-1': 'SD1', - 'sd-2': 'SD2', - sdxl: 'SDXL', - 'sdxl-refiner': 'SDXLR', -}; - export default function ModelListItem(props: ModelListItemProps) { const isBusy = useAppSelector(selectIsBusy); const { t } = useTranslation(); const dispatch = useAppDispatch(); const [deleteMainModel] = useDeleteMainModelsMutation(); + const [deleteLoRAModel] = useDeleteLoRAModelsMutation(); const { model, isSelected, setSelectedModelId } = props; @@ -40,7 +37,10 @@ export default function ModelListItem(props: ModelListItemProps) { }, [model.id, setSelectedModelId]); const handleModelDelete = useCallback(() => { - deleteMainModel(model) + const method = { main: deleteMainModel, lora: deleteLoRAModel }[ + model.model_type + ]; + method(model) .unwrap() .then((_) => { dispatch( @@ -60,14 +60,21 @@ export default function ModelListItem(props: ModelListItemProps) { title: `${t('modelManager.modelDeleteFailed')}: ${ model.model_name }`, - status: 'success', + status: 'error', }) ) ); } }); setSelectedModelId(undefined); - }, [deleteMainModel, model, setSelectedModelId, dispatch, t]); + }, [ + deleteMainModel, + deleteLoRAModel, + model, + setSelectedModelId, + dispatch, + t, + ]); return ( @@ -100,8 +107,8 @@ export default function ModelListItem(props: ModelListItemProps) { { - modelBaseTypeMap[ - model.base_model as keyof typeof modelBaseTypeMap + MODEL_TYPE_SHORT_MAP[ + model.base_model as keyof typeof MODEL_TYPE_SHORT_MAP ] } diff --git a/invokeai/frontend/web/src/services/api/endpoints/models.ts b/invokeai/frontend/web/src/services/api/endpoints/models.ts index 3d0013a62c..aa93be62b5 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/models.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/models.ts @@ -62,6 +62,10 @@ type DeleteMainModelArg = { type DeleteMainModelResponse = void; +type DeleteLoRAModelArg = DeleteMainModelArg; + +type DeleteLoRAModelResponse = void; + type ConvertMainModelArg = { base_model: BaseModelType; model_name: string; @@ -320,6 +324,18 @@ export const modelsApi = api.injectEndpoints({ ); }, }), + deleteLoRAModels: build.mutation< + DeleteLoRAModelResponse, + DeleteLoRAModelArg + >({ + query: ({ base_model, model_name }) => { + return { + url: `models/${base_model}/lora/${model_name}`, + method: 'DELETE', + }; + }, + invalidatesTags: [{ type: 'LoRAModel', id: LIST_TAG }], + }), getControlNetModels: build.query< EntityState, void @@ -467,6 +483,7 @@ export const { useAddMainModelsMutation, useConvertMainModelsMutation, useMergeMainModelsMutation, + useDeleteLoRAModelsMutation, useSyncModelsMutation, useGetModelsInFolderQuery, useGetCheckpointConfigsQuery, From 4c79350300ab4350bb5aef9bf073d498c951290d Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 25 Jul 2023 22:42:23 -0400 Subject: [PATCH 091/106] persist LoRA model info in models.yaml --- invokeai/backend/model_management/models/lora.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/model_management/models/lora.py b/invokeai/backend/model_management/models/lora.py index 7cf87d8fe7..642f8bbeec 100644 --- a/invokeai/backend/model_management/models/lora.py +++ b/invokeai/backend/model_management/models/lora.py @@ -57,7 +57,7 @@ class LoRAModel(ModelBase): @classproperty def save_to_config(cls) -> bool: - return False + return True @classmethod def detect_format(cls, path: str): From aa2c94be9ec15324c57426195a9c754f91494b67 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 25 Jul 2023 23:20:14 -0400 Subject: [PATCH 092/106] make LoRAs editable --- .../ModelManagerPanel/LoRAModelEdit.tsx | 89 +++++++++++++++---- .../web/src/services/api/endpoints/models.ts | 23 +++++ 2 files changed, 95 insertions(+), 17 deletions(-) diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/LoRAModelEdit.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/LoRAModelEdit.tsx index b1c6900f74..c87550c7d1 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/LoRAModelEdit.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/LoRAModelEdit.tsx @@ -1,12 +1,21 @@ import { Divider, Flex, Text } from '@chakra-ui/react'; import { useForm } from '@mantine/form'; +import { makeToast } from 'features/system/util/makeToast'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import IAIButton from 'common/components/IAIButton'; import IAIMantineTextInput from 'common/components/IAIMantineInput'; +import { selectIsBusy } from 'features/system/store/systemSelectors'; +import { addToast } from 'features/system/store/systemSlice'; +import { useCallback } from 'react'; +import { useTranslation } from 'react-i18next'; import { LORA_MODEL_FORMAT_MAP, MODEL_TYPE_MAP, } from 'features/parameters/types/constants'; -import { useTranslation } from 'react-i18next'; -import { LoRAModelConfigEntity } from 'services/api/endpoints/models'; +import { + LoRAModelConfigEntity, + useUpdateLoRAModelsMutation, +} from 'services/api/endpoints/models'; import { LoRAModelConfig } from 'services/api/types'; import BaseModelSelect from '../shared/BaseModelSelect'; @@ -15,8 +24,13 @@ type LoRAModelEditProps = { }; export default function LoRAModelEdit(props: LoRAModelEditProps) { + const isBusy = useAppSelector(selectIsBusy); + const { model } = props; + const [updateLoRAModel, { isLoading }] = useUpdateLoRAModelsMutation(); + + const dispatch = useAppDispatch(); const { t } = useTranslation(); const loraEditForm = useForm({ @@ -34,6 +48,49 @@ export default function LoRAModelEdit(props: LoRAModelEditProps) { }, }); + const editModelFormSubmitHandler = useCallback( + (values: LoRAModelConfig) => { + const responseBody = { + base_model: model.base_model, + model_name: model.model_name, + body: values, + }; + + updateLoRAModel(responseBody) + .unwrap() + .then((payload) => { + loraEditForm.setValues(payload as LoRAModelConfig); + dispatch( + addToast( + makeToast({ + title: t('modelManager.modelUpdated'), + status: 'success', + }) + ) + ); + }) + .catch((_) => { + loraEditForm.reset(); + dispatch( + addToast( + makeToast({ + title: t('modelManager.modelUpdateFailed'), + status: 'error', + }) + ) + ); + }); + }, + [ + dispatch, + loraEditForm, + model.base_model, + model.model_name, + t, + updateLoRAModel, + ] + ); + return ( @@ -47,34 +104,32 @@ export default function LoRAModelEdit(props: LoRAModelEditProps) { -
+ + editModelFormSubmitHandler(values) + )} + > - + - - {t('Editing LoRA model metadata is not yet supported.')} - + + {t('modelManager.updateModel')} +
diff --git a/invokeai/frontend/web/src/services/api/endpoints/models.ts b/invokeai/frontend/web/src/services/api/endpoints/models.ts index aa93be62b5..6fa7f60d08 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/models.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/models.ts @@ -52,9 +52,18 @@ type UpdateMainModelArg = { body: MainModelConfig; }; +type UpdateLoRAModelArg = { + base_model: BaseModelType; + model_name: string; + body: LoRAModelConfig; +}; + type UpdateMainModelResponse = paths['/api/v1/models/{base_model}/{model_type}/{model_name}']['patch']['responses']['200']['content']['application/json']; +type UpdateLoRAModelResponse = + paths['/api/v1/models/{base_model}/{model_type}/{model_name}']['patch']['responses']['200']['content']['application/json']; + type DeleteMainModelArg = { base_model: BaseModelType; model_name: string; @@ -324,6 +333,19 @@ export const modelsApi = api.injectEndpoints({ ); }, }), + updateLoRAModels: build.mutation< + UpdateLoRAModelResponse, + UpdateLoRAModelArg + >({ + query: ({ base_model, model_name, body }) => { + return { + url: `models/${base_model}/lora/${model_name}`, + method: 'PATCH', + body: body, + }; + }, + invalidatesTags: [{ type: 'LoRAModel', id: LIST_TAG }], + }), deleteLoRAModels: build.mutation< DeleteLoRAModelResponse, DeleteLoRAModelArg @@ -484,6 +506,7 @@ export const { useConvertMainModelsMutation, useMergeMainModelsMutation, useDeleteLoRAModelsMutation, + useUpdateLoRAModelsMutation, useSyncModelsMutation, useGetModelsInFolderQuery, useGetCheckpointConfigsQuery, From 8d300bddd074053337628527662422293e936aa9 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 28 Jul 2023 10:34:30 +1000 Subject: [PATCH 093/106] feat(ui): alias existing type for `UpdateLoRAModelResponse` --- invokeai/frontend/web/src/services/api/endpoints/models.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/services/api/endpoints/models.ts b/invokeai/frontend/web/src/services/api/endpoints/models.ts index 6fa7f60d08..9cdded4f85 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/models.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/models.ts @@ -61,8 +61,7 @@ type UpdateLoRAModelArg = { type UpdateMainModelResponse = paths['/api/v1/models/{base_model}/{model_type}/{model_name}']['patch']['responses']['200']['content']['application/json']; -type UpdateLoRAModelResponse = - paths['/api/v1/models/{base_model}/{model_type}/{model_name}']['patch']['responses']['200']['content']['application/json']; +type UpdateLoRAModelResponse = UpdateMainModelResponse; type DeleteMainModelArg = { base_model: BaseModelType; From 9affdbbaad9fff58b2924ead2f32d7a61f17377e Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 28 Jul 2023 10:55:27 +1000 Subject: [PATCH 094/106] chore: black --- invokeai/app/api_app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index 191c0e783d..6b875d37ce 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -211,7 +211,7 @@ def invoke_api(): port = find_port(app_config.port) if port != app_config.port: logger.warn(f"Port {app_config.port} in use, using port {port}") - + # Start our own event loop for eventing usage loop = asyncio.new_event_loop() config = uvicorn.Config( @@ -229,7 +229,7 @@ def invoke_api(): l.handlers.clear() for ch in logger.handlers: l.addHandler(ch) - + loop.run_until_complete(server.serve()) From 6a49eec6062693c79b30e6060c1bbcec4a5e6ac8 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 28 Jul 2023 15:01:40 +1200 Subject: [PATCH 095/106] feat: Add Concat Link Animation Might remove the lines. Just pushing to save changes for now. --- .../Core/ParamPositiveConditioning.tsx | 2 +- .../Parameters/Prompt/ParamPromptArea.tsx | 4 -- .../sdxl/components/ParamSDXLConcatButton.tsx | 43 +++++++++++ .../sdxl/components/ParamSDXLConcatPrompt.tsx | 33 --------- .../sdxl/components/ParamSDXLPromptArea.tsx | 35 +++++++-- .../sdxl/components/SDXLConcatLink.tsx | 72 +++++++++++++++++++ 6 files changed, 144 insertions(+), 45 deletions(-) create mode 100644 invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatButton.tsx delete mode 100644 invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx create mode 100644 invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx index da1588bd72..59b5138e3e 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Core/ParamPositiveConditioning.tsx @@ -148,7 +148,7 @@ const ParamPositiveConditioning = () => { diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Prompt/ParamPromptArea.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Prompt/ParamPromptArea.tsx index f7bc95528b..3066490847 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Prompt/ParamPromptArea.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Prompt/ParamPromptArea.tsx @@ -8,10 +8,6 @@ export default function ParamPromptArea() { sx={{ flexDirection: 'column', gap: 2, - p: 2, - borderRadius: 4, - bg: 'base.100', - _dark: { bg: 'base.850' }, }} > diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatButton.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatButton.tsx new file mode 100644 index 0000000000..2787360b33 --- /dev/null +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatButton.tsx @@ -0,0 +1,43 @@ +import { RootState } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import IAIIconButton from 'common/components/IAIIconButton'; +import { FaLink } from 'react-icons/fa'; +import { setShouldConcatSDXLStylePrompt } from '../store/sdxlSlice'; + +export default function ParamSDXLConcatButton() { + const shouldConcatSDXLStylePrompt = useAppSelector( + (state: RootState) => state.sdxl.shouldConcatSDXLStylePrompt + ); + + const shouldPinParametersPanel = useAppSelector( + (state: RootState) => state.ui.shouldPinParametersPanel + ); + + const dispatch = useAppDispatch(); + + const handleShouldConcatPromptChange = () => { + dispatch(setShouldConcatSDXLStylePrompt(!shouldConcatSDXLStylePrompt)); + }; + + return ( + } + size="xs" + sx={{ + position: 'absolute', + insetInlineEnd: 1, + top: shouldPinParametersPanel ? 12 : 20, + border: 'none', + color: 'base.500', + _hover: { + bg: 'none', + }, + }} + > + ); +} diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx deleted file mode 100644 index 89e67be652..0000000000 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatPrompt.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { Box } from '@chakra-ui/react'; -import { RootState } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import IAISwitch from 'common/components/IAISwitch'; -import { ChangeEvent } from 'react'; -import { setShouldConcatSDXLStylePrompt } from '../store/sdxlSlice'; - -export default function ParamSDXLConcatPrompt() { - const shouldConcatSDXLStylePrompt = useAppSelector( - (state: RootState) => state.sdxl.shouldConcatSDXLStylePrompt - ); - - const dispatch = useAppDispatch(); - - const handleShouldConcatPromptChange = (e: ChangeEvent) => { - dispatch(setShouldConcatSDXLStylePrompt(e.target.checked)); - }; - - return ( - - - - ); -} diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx index 82d1122db4..a365f6067e 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx @@ -1,27 +1,48 @@ -import { Flex } from '@chakra-ui/react'; +import { Box, Flex } from '@chakra-ui/react'; +import { RootState } from 'app/store/store'; +import { useAppSelector } from 'app/store/storeHooks'; import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; -import ParamSDXLConcatPrompt from './ParamSDXLConcatPrompt'; +import ParamSDXLConcatButton from './ParamSDXLConcatButton'; import ParamSDXLNegativeStyleConditioning from './ParamSDXLNegativeStyleConditioning'; import ParamSDXLPositiveStyleConditioning from './ParamSDXLPositiveStyleConditioning'; +import SDXLConcatLink from './SDXLConcatLink'; export default function ParamSDXLPromptArea() { + const shouldPinParametersPanel = useAppSelector( + (state: RootState) => state.ui.shouldPinParametersPanel + ); + return ( + + + + + + + - ); } diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx new file mode 100644 index 0000000000..37930bdb24 --- /dev/null +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx @@ -0,0 +1,72 @@ +import { Box, Flex } from '@chakra-ui/react'; +import { RootState } from 'app/store/store'; +import { useAppSelector } from 'app/store/storeHooks'; +import { motion } from 'framer-motion'; +import { FaLink } from 'react-icons/fa'; + +export default function SDXLConcatLink() { + const shouldConcatSDXLStylePrompt = useAppSelector( + (state: RootState) => state.sdxl.shouldConcatSDXLStylePrompt + ); + return ( + shouldConcatSDXLStylePrompt && ( + + + + + + + + ) + ); +} From e6d14c708cc4a920e1f163a6ae1d69fdd43c1920 Mon Sep 17 00:00:00 2001 From: ZachNagengast Date: Thu, 27 Jul 2023 23:40:23 -0700 Subject: [PATCH 096/106] Fix variable name --- invokeai/app/invocations/sdxl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index 1ea330fe56..772f422c0f 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -548,7 +548,7 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): with unet_info as unet: # apply denoising_start num_inference_steps = self.steps - scheduler.set_timesteps(num_inference_steps, device=self.scheduler.device) + scheduler.set_timesteps(num_inference_steps, device=unet.device) t_start = int(round(self.denoising_start * num_inference_steps)) timesteps = scheduler.timesteps[t_start * scheduler.order :] From f155b03eeedbb5f8c68c6e9f71d0c21a7a5bd7c9 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 28 Jul 2023 18:55:59 +1200 Subject: [PATCH 097/106] feat: New animation for Concat Link --- .../sdxl/components/ParamSDXLPromptArea.tsx | 4 +- .../sdxl/components/SDXLConcatLink.tsx | 76 ++++++++++++++----- 2 files changed, 60 insertions(+), 20 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx index a365f6067e..233894e280 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx @@ -24,7 +24,7 @@ export default function ParamSDXLPromptArea() { sx={{ position: 'absolute', w: 'full', - top: shouldPinParametersPanel ? '131px' : '187px', + top: shouldPinParametersPanel ? '119px' : '175px', }} > @@ -33,7 +33,7 @@ export default function ParamSDXLPromptArea() { sx={{ position: 'absolute', w: 'full', - top: shouldPinParametersPanel ? '275px' : '331px', + top: shouldPinParametersPanel ? '263px' : '319px', }} > diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx index 37930bdb24..e9c3e0a6ab 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx @@ -15,23 +15,36 @@ export default function SDXLConcatLink() { h: 0.5, placeContent: 'center', gap: 2, - px: 2, + flexDirection: 'column', }} > @@ -39,30 +52,57 @@ export default function SDXLConcatLink() { as={motion.div} initial={{ opacity: 0, + scale: 0, + rotate: 0, }} animate={{ - opacity: 1, - transition: { duration: 0.3 }, + rotate: 360, + opacity: [0, 1, 1, 1], + scale: [0, 0.75, 1.5, 1], + transition: { duration: 0.6, times: [0, 0.25, 0.5, 1] }, + }} + sx={{ + zIndex: 3, + position: 'absolute', + left: '48%', + top: '3px', + p: 1, + borderRadius: 4, + bg: 'accent.200', + _dark: { + bg: 'accent.500', + }, }} - zIndex={2} - mt={-1.5} > - + From 14c465080182b4a385f95903543438d43327ee46 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 28 Jul 2023 19:03:29 +1200 Subject: [PATCH 098/106] fix: Lint Errors (returning possible null component) --- .../sdxl/components/ParamSDXLPromptArea.tsx | 44 ++-- .../sdxl/components/SDXLConcatLink.tsx | 195 +++++++++--------- 2 files changed, 120 insertions(+), 119 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx index 233894e280..61719cea3f 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx @@ -13,6 +13,10 @@ export default function ParamSDXLPromptArea() { (state: RootState) => state.ui.shouldPinParametersPanel ); + const shouldConcatSDXLStylePrompt = useAppSelector( + (state: RootState) => state.sdxl.shouldConcatSDXLStylePrompt + ); + return ( - - - - - - + {shouldConcatSDXLStylePrompt && ( + + + + )} + {shouldConcatSDXLStylePrompt && ( + + + + )} diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx index e9c3e0a6ab..c4a7caf1d5 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx @@ -1,112 +1,105 @@ import { Box, Flex } from '@chakra-ui/react'; -import { RootState } from 'app/store/store'; -import { useAppSelector } from 'app/store/storeHooks'; import { motion } from 'framer-motion'; import { FaLink } from 'react-icons/fa'; export default function SDXLConcatLink() { - const shouldConcatSDXLStylePrompt = useAppSelector( - (state: RootState) => state.sdxl.shouldConcatSDXLStylePrompt - ); return ( - shouldConcatSDXLStylePrompt && ( - + + - - - - - - - ) + + + +
); } From 1df30f72606551240ef2865e7923c223283a942c Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 28 Jul 2023 20:45:39 +1200 Subject: [PATCH 099/106] feat: Pulse Animate SDXL Concat Link --- .../sdxl/components/ParamSDXLPromptArea.tsx | 49 ++++++++++-------- .../sdxl/components/SDXLConcatLink.tsx | 51 ++++++++++--------- 2 files changed, 54 insertions(+), 46 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx index 61719cea3f..513b210a0a 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPromptArea.tsx @@ -3,6 +3,7 @@ import { RootState } from 'app/store/store'; import { useAppSelector } from 'app/store/storeHooks'; import ParamNegativeConditioning from 'features/parameters/components/Parameters/Core/ParamNegativeConditioning'; import ParamPositiveConditioning from 'features/parameters/components/Parameters/Core/ParamPositiveConditioning'; +import { AnimatePresence } from 'framer-motion'; import ParamSDXLConcatButton from './ParamSDXLConcatButton'; import ParamSDXLNegativeStyleConditioning from './ParamSDXLNegativeStyleConditioning'; import ParamSDXLPositiveStyleConditioning from './ParamSDXLPositiveStyleConditioning'; @@ -24,28 +25,32 @@ export default function ParamSDXLPromptArea() { gap: 2, }} > - {shouldConcatSDXLStylePrompt && ( - - - - )} - {shouldConcatSDXLStylePrompt && ( - - - - )} + + {shouldConcatSDXLStylePrompt && ( + + + + )} + + + {shouldConcatSDXLStylePrompt && ( + + + + )} + diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx index c4a7caf1d5..ac21ceebc8 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx @@ -1,7 +1,21 @@ import { Box, Flex } from '@chakra-ui/react'; +import { CSSObject } from '@emotion/react'; import { motion } from 'framer-motion'; import { FaLink } from 'react-icons/fa'; +const sharedConcatLinkStyle: CSSObject = { + position: 'absolute', + bg: 'none', + w: 'full', + minH: 2, + borderRadius: 0, + borderLeft: 'none', + borderRight: 'none', + zIndex: 2, + maskImage: + 'radial-gradient(circle at center, black, black 65%, black 30%, black 15%, transparent)', +}; + export default function SDXLConcatLink() { return ( @@ -47,13 +55,15 @@ export default function SDXLConcatLink() { initial={{ opacity: 0, scale: 0, - rotate: 0, }} animate={{ - rotate: 360, opacity: [0, 1, 1, 1], scale: [0, 0.75, 1.5, 1], - transition: { duration: 0.6, times: [0, 0.25, 0.5, 1] }, + transition: { duration: 0.42, times: [0, 0.25, 0.5, 1] }, + }} + exit={{ + opacity: 0, + scale: 0, }} sx={{ zIndex: 3, @@ -74,29 +84,22 @@ export default function SDXLConcatLink() { as={motion.div} initial={{ scaleX: 0, - borderRadius: 0, borderWidth: 0, display: 'none', }} animate={{ display: ['block', 'block', 'block', 'none'], scaleX: [0, 0.25, 0.5, 1], - borderRadius: [0, 0, 0, 3], borderWidth: [0, 3, 3, 0], - transition: { duration: 0.5, times: [0, 0.25, 0.5, 1] }, + transition: { duration: 0.37, times: [0, 0.25, 0.5, 1] }, }} sx={{ - position: 'absolute', top: '17px', - bg: 'none', - w: 'full', - minH: 2, borderBottom: 'none', - borderBottomRadius: 0, - borderColor: 'accent.300', - zIndex: 2, + borderColor: 'base.400', + ...sharedConcatLinkStyle, _dark: { - borderColor: 'accent.600', + borderColor: 'accent.500', }, }} /> From e4a2f56ad104367ba66a067df2ae973dec9522b9 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 28 Jul 2023 19:57:05 +1000 Subject: [PATCH 100/106] feat(ui): tweak link colors - make the `SDXLConcatLink` icon match existing colors in light mode - make the link toggle button accent color when active (its not super obvious but at least there is *some* visual difference for the button) --- .../web/src/features/sdxl/components/ParamSDXLConcatButton.tsx | 2 +- .../web/src/features/sdxl/components/SDXLConcatLink.tsx | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatButton.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatButton.tsx index 2787360b33..9393b245ef 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatButton.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLConcatButton.tsx @@ -33,7 +33,7 @@ export default function ParamSDXLConcatButton() { insetInlineEnd: 1, top: shouldPinParametersPanel ? 12 : 20, border: 'none', - color: 'base.500', + color: shouldConcatSDXLStylePrompt ? 'accent.500' : 'base.500', _hover: { bg: 'none', }, diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx index ac21ceebc8..d64daae70d 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx @@ -72,7 +72,8 @@ export default function SDXLConcatLink() { top: '3px', p: 1, borderRadius: 4, - bg: 'accent.200', + bg: 'accent.400', + color: 'base.50', _dark: { bg: 'accent.500', }, From e342ca872f33a70097f615dbd6d3b92df5851679 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 28 Jul 2023 10:27:49 -0400 Subject: [PATCH 101/106] fix to work on non-MPS systems --- invokeai/app/invocations/sdxl.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index 772f422c0f..0016960b37 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -293,14 +293,14 @@ class SDXLTextToLatentsInvocation(BaseInvocation): num_inference_steps = self.steps - latents = latents * scheduler.init_noise_sigma - unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) do_classifier_free_guidance = True cross_attention_kwargs = None with unet_info as unet: scheduler.set_timesteps(num_inference_steps, device=unet.device) timesteps = scheduler.timesteps + + latents = latents.to(device=unet.device, dtype=unet.dtype) * scheduler.init_noise_sigma extra_step_kwargs = dict() if "eta" in set(inspect.signature(scheduler.step).parameters.keys()): From 5ff4dd26bbf93f7484fa2249930fcc3412d0ebec Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 29 Jul 2023 02:30:10 +1200 Subject: [PATCH 102/106] fix: Concat Link Styling --- .../ParamSDXLNegativeStyleConditioning.tsx | 33 +++++++++++++-- .../ParamSDXLPositiveStyleConditioning.tsx | 33 +++++++++++++-- .../sdxl/components/ParamSDXLPromptArea.tsx | 40 +------------------ .../sdxl/components/SDXLConcatLink.tsx | 10 +---- 4 files changed, 62 insertions(+), 54 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx index e2d5c5b8e4..cd8e1605d0 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx @@ -13,15 +13,22 @@ import { useIsReadyToInvoke } from 'common/hooks/useIsReadyToInvoke'; import AddEmbeddingButton from 'features/embedding/components/AddEmbeddingButton'; import ParamEmbeddingPopover from 'features/embedding/components/ParamEmbeddingPopover'; import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus'; +import { AnimatePresence } from 'framer-motion'; import { isEqual } from 'lodash-es'; import { flushSync } from 'react-dom'; import { setNegativeStylePromptSDXL } from '../store/sdxlSlice'; +import SDXLConcatLink from './SDXLConcatLink'; const promptInputSelector = createSelector( [stateSelector, activeTabNameSelector], - ({ sdxl }, activeTabName) => { + ({ sdxl, ui }, activeTabName) => { + const { negativeStylePrompt, shouldConcatSDXLStylePrompt } = sdxl; + const { shouldPinParametersPanel } = ui; + return { - prompt: sdxl.negativeStylePrompt, + prompt: negativeStylePrompt, + shouldConcatSDXLStylePrompt, + shouldPinParametersPanel, activeTabName, }; }, @@ -37,11 +44,17 @@ const promptInputSelector = createSelector( */ const ParamSDXLNegativeStyleConditioning = () => { const dispatch = useAppDispatch(); - const { prompt, activeTabName } = useAppSelector(promptInputSelector); const isReady = useIsReadyToInvoke(); const promptRef = useRef(null); const { isOpen, onClose, onOpen } = useDisclosure(); + const { + prompt, + activeTabName, + shouldPinParametersPanel, + shouldConcatSDXLStylePrompt, + } = useAppSelector(promptInputSelector); + const handleChangePrompt = useCallback( (e: ChangeEvent) => { dispatch(setNegativeStylePromptSDXL(e.target.value)); @@ -111,6 +124,20 @@ const ParamSDXLNegativeStyleConditioning = () => { return ( + + {shouldConcatSDXLStylePrompt && ( + + + + )} + { + ({ sdxl, ui }, activeTabName) => { + const { positiveStylePrompt, shouldConcatSDXLStylePrompt } = sdxl; + const { shouldPinParametersPanel } = ui; + return { - prompt: sdxl.positiveStylePrompt, + prompt: positiveStylePrompt, + shouldPinParametersPanel, + shouldConcatSDXLStylePrompt, activeTabName, }; }, @@ -37,11 +44,17 @@ const promptInputSelector = createSelector( */ const ParamSDXLPositiveStyleConditioning = () => { const dispatch = useAppDispatch(); - const { prompt, activeTabName } = useAppSelector(promptInputSelector); const isReady = useIsReadyToInvoke(); const promptRef = useRef(null); const { isOpen, onClose, onOpen } = useDisclosure(); + const { + prompt, + activeTabName, + shouldPinParametersPanel, + shouldConcatSDXLStylePrompt, + } = useAppSelector(promptInputSelector); + const handleChangePrompt = useCallback( (e: ChangeEvent) => { dispatch(setPositiveStylePromptSDXL(e.target.value)); @@ -111,6 +124,20 @@ const ParamSDXLPositiveStyleConditioning = () => { return ( + + {shouldConcatSDXLStylePrompt && ( + + + + )} + state.ui.shouldPinParametersPanel - ); - - const shouldConcatSDXLStylePrompt = useAppSelector( - (state: RootState) => state.sdxl.shouldConcatSDXLStylePrompt - ); - return ( - - {shouldConcatSDXLStylePrompt && ( - - - - )} - - - {shouldConcatSDXLStylePrompt && ( - - - - )} - diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx index d64daae70d..e982598081 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLConcatLink.tsx @@ -18,14 +18,7 @@ const sharedConcatLinkStyle: CSSObject = { export default function SDXLConcatLink() { return ( - + Date: Sat, 29 Jul 2023 02:37:59 +1200 Subject: [PATCH 103/106] fix: Lint errors --- .../ParamSDXLNegativeStyleConditioning.tsx | 12 +++--------- .../ParamSDXLPositiveStyleConditioning.tsx | 12 +++--------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx index cd8e1605d0..e1533bc886 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLNegativeStyleConditioning.tsx @@ -21,14 +21,12 @@ import SDXLConcatLink from './SDXLConcatLink'; const promptInputSelector = createSelector( [stateSelector, activeTabNameSelector], - ({ sdxl, ui }, activeTabName) => { + ({ sdxl }, activeTabName) => { const { negativeStylePrompt, shouldConcatSDXLStylePrompt } = sdxl; - const { shouldPinParametersPanel } = ui; return { prompt: negativeStylePrompt, shouldConcatSDXLStylePrompt, - shouldPinParametersPanel, activeTabName, }; }, @@ -48,12 +46,8 @@ const ParamSDXLNegativeStyleConditioning = () => { const promptRef = useRef(null); const { isOpen, onClose, onOpen } = useDisclosure(); - const { - prompt, - activeTabName, - shouldPinParametersPanel, - shouldConcatSDXLStylePrompt, - } = useAppSelector(promptInputSelector); + const { prompt, activeTabName, shouldConcatSDXLStylePrompt } = + useAppSelector(promptInputSelector); const handleChangePrompt = useCallback( (e: ChangeEvent) => { diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPositiveStyleConditioning.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPositiveStyleConditioning.tsx index 7dcf94419e..fdd29eaeb7 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPositiveStyleConditioning.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLPositiveStyleConditioning.tsx @@ -21,13 +21,11 @@ import SDXLConcatLink from './SDXLConcatLink'; const promptInputSelector = createSelector( [stateSelector, activeTabNameSelector], - ({ sdxl, ui }, activeTabName) => { + ({ sdxl }, activeTabName) => { const { positiveStylePrompt, shouldConcatSDXLStylePrompt } = sdxl; - const { shouldPinParametersPanel } = ui; return { prompt: positiveStylePrompt, - shouldPinParametersPanel, shouldConcatSDXLStylePrompt, activeTabName, }; @@ -48,12 +46,8 @@ const ParamSDXLPositiveStyleConditioning = () => { const promptRef = useRef(null); const { isOpen, onClose, onOpen } = useDisclosure(); - const { - prompt, - activeTabName, - shouldPinParametersPanel, - shouldConcatSDXLStylePrompt, - } = useAppSelector(promptInputSelector); + const { prompt, activeTabName, shouldConcatSDXLStylePrompt } = + useAppSelector(promptInputSelector); const handleChangePrompt = useCallback( (e: ChangeEvent) => { From 2164674b0155027c486aea1566176c2a995f7878 Mon Sep 17 00:00:00 2001 From: ZachNagengast Date: Fri, 28 Jul 2023 07:49:29 -0700 Subject: [PATCH 104/106] Black format --- invokeai/app/invocations/sdxl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index 0016960b37..7dfceba853 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -299,7 +299,7 @@ class SDXLTextToLatentsInvocation(BaseInvocation): with unet_info as unet: scheduler.set_timesteps(num_inference_steps, device=unet.device) timesteps = scheduler.timesteps - + latents = latents.to(device=unet.device, dtype=unet.dtype) * scheduler.init_noise_sigma extra_step_kwargs = dict() From 3da0be7eb9935a0afc9cb472cf44a749cd8ea085 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 28 Jul 2023 16:42:57 -0400 Subject: [PATCH 105/106] update troubleshooting guide with ~ydantic and SDXL unet issue workarounds --- docs/index.md | 8 +-- docs/installation/010_INSTALL_AUTOMATED.md | 63 ++++++++++++++++++++++ 2 files changed, 68 insertions(+), 3 deletions(-) diff --git a/docs/index.md b/docs/index.md index 319df59bae..5e62445f89 100644 --- a/docs/index.md +++ b/docs/index.md @@ -80,11 +80,11 @@ Q&A] !!! note - This fork is rapidly evolving. Please use the [Issues tab](https://github.com/invoke-ai/InvokeAI/issues) to report bugs and make feature requests. Be sure to use the provided templates. They will help aid diagnose issues faster. + This software is rapidly evolving. Please use the [Issues tab](https://github.com/invoke-ai/InvokeAI/issues) to report bugs and make feature requests. Be sure to use the provided templates. They will help aid diagnose issues faster. ## :octicons-package-dependencies-24: Installation -This fork is supported across Linux, Windows and Macintosh. Linux users can use +This software is supported across Linux, Windows and Macintosh. Linux users can use either an Nvidia-based card (with CUDA support) or an AMD card (using the ROCm driver). @@ -95,6 +95,8 @@ driver). This method is recommended for experienced users and developers #### [Docker Installation](installation/040_INSTALL_DOCKER.md) This method is recommended for those familiar with running Docker containers +#### [Installation Troubleshooting](installation/010_INSTALL_AUTOMATED.md#troubleshooting) +Installation troubleshooting guide. ### Other Installation Guides - [PyPatchMatch](installation/060_INSTALL_PATCHMATCH.md) - [XFormers](installation/070_INSTALL_XFORMERS.md) @@ -230,7 +232,7 @@ encouraged to do so. ## :octicons-person-24: Contributors -This fork is a combined effort of various people from across the world. +This software is a combined effort of various people from across the world. [Check out the list of all these amazing people](other/CONTRIBUTORS.md). We thank them for their time, hard work and effort. diff --git a/docs/installation/010_INSTALL_AUTOMATED.md b/docs/installation/010_INSTALL_AUTOMATED.md index 6eee9799f8..79203f066c 100644 --- a/docs/installation/010_INSTALL_AUTOMATED.md +++ b/docs/installation/010_INSTALL_AUTOMATED.md @@ -372,8 +372,71 @@ experimental versions later. Once InvokeAI is installed, do not move or remove this directory." + ## Troubleshooting +### _OSErrors on Windows while installing dependencies_ + +During a zip file installation or an online update, installation stops +with an error like this: + +![broken-dependency-screenshot](../assets/troubleshooting/broken-dependency.png){:width="800px"} + +This seems to happen particularly often with the `pydantic` and +`numpy` packages. The most reliable solution requires several manual +steps to complete installation. + +Open up a Powershell window and navigate to the `invokeai` directory +created by the installer. Then give the following series of commands: + +```cmd +rm .\.venv -r -force +python -mvenv .venv +.\.venv\Scripts\activate +pip install invokeai +invokeai-configure --root . +``` + +If you see anything marked as an error during this process please stop +and seek help on the Discord [installation support +channel](https://discord.com/channels/1020123559063990373/1041391462190956654). A +few warning messages are OK. + +If you are updating from a previous version, this should restore your +system to a working state. If you are installing from scratch, there +is one additional command to give: + +```cmd +wget -O invoke.bat https://raw.githubusercontent.com/invoke-ai/InvokeAI/main/installer/templates/invoke.bat.in +``` + +This will create the `invoke.bat` script needed to launch InvokeAI and +its related programs. + + +### _Stable Diffusion XL Generation Fails after Trying to Load unet_ + +InvokeAI is working in other respects, but when trying to generate +images with Stable Diffusion XL you get a "Server Error". The text log +in the launch window contains this log line above several more lines of +error messages: + +```INFO --> Loading model:D:\LONG\PATH\TO\MODEL, type sdxl:main:unet``` + +This failure mode occurs when there is a network glitch during +downloading the very large SDXL model. + +To address this, first go to the Web Model Manager and delete the +Stable-Diffusion-XL-base-1.X model. Then navigate to HuggingFace and +manually download the .safetensors version of the model. The 1.0 +version is located at +https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main +and the file is named `sd_xl_base_1.0.safetensors`. + +Save this file to disk and then reenter the Model Manager. Navigate to +Import Models->Add Model, then type (or drag-and-drop) the path to the +.safetensors file. Press "Add Model". + ### _Package dependency conflicts_ If you have previously installed InvokeAI or another Stable Diffusion From ac22652686f92cab92daf1f67b89bea7d73b766c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 28 Jul 2023 18:21:05 -0400 Subject: [PATCH 106/106] rebuild front end --- .../troubleshooting/broken-dependency.png | Bin 0 -> 134439 bytes .../frontend/web/dist/assets/App-58b095d3.js | 169 ---------- .../frontend/web/dist/assets/App-d6f88f50.js | 169 ++++++++++ .../dist/assets/MantineProvider-c592f969.js | 1 + .../dist/assets/MantineProvider-ea42d3d1.js | 1 - .../assets/ThemeLocaleProvider-13e3db3d.js | 302 ----------------- .../assets/ThemeLocaleProvider-94e0a1e5.js | 310 ++++++++++++++++++ .../{index-5a784cdd.js => index-bad7ff83.js} | 68 ++-- invokeai/frontend/web/dist/index.html | 2 +- invokeai/frontend/web/dist/locales/en.json | 1 + invokeai/version/invokeai_version.py | 2 +- 11 files changed, 517 insertions(+), 508 deletions(-) create mode 100644 docs/assets/troubleshooting/broken-dependency.png delete mode 100644 invokeai/frontend/web/dist/assets/App-58b095d3.js create mode 100644 invokeai/frontend/web/dist/assets/App-d6f88f50.js create mode 100644 invokeai/frontend/web/dist/assets/MantineProvider-c592f969.js delete mode 100644 invokeai/frontend/web/dist/assets/MantineProvider-ea42d3d1.js delete mode 100644 invokeai/frontend/web/dist/assets/ThemeLocaleProvider-13e3db3d.js create mode 100644 invokeai/frontend/web/dist/assets/ThemeLocaleProvider-94e0a1e5.js rename invokeai/frontend/web/dist/assets/{index-5a784cdd.js => index-bad7ff83.js} (67%) diff --git a/docs/assets/troubleshooting/broken-dependency.png b/docs/assets/troubleshooting/broken-dependency.png new file mode 100644 index 0000000000000000000000000000000000000000..28415089204dac366c5fd6b0505e27ede624efcb GIT binary patch literal 134439 zcmb@tXHZjZ+ciuFrGqpHO%YJ(Jp@8iQL2j4oAllSp?7K0rAz1nA{_*zH|ZUu6G9KY z_xf$F?|EnL>v`{=?@VSg$s{{F=RS{Ptz)gVL*FXP5#N7!9|Hq}_|5AV?=dj&STHa! zT?z1jclh(P@-Q%%G2Xn8{@{w(LgL32zT6j?XZyzM>t{ZYoRO9B=oN3q503k6dpyj{ zS(oMilP-aN>nX)s?*tDMlQ1HmUht-!16bkAF98sE;{-kc^%-t0#O=)JRb>(x$ZIGHZ6 zu9`AknL*va-DYOy)QW3XzlEYEwCx(oZ*MLW>t3m#`gwGU-FVPKhNM242_GqIn#t%l* zZ+?0EbVBCJwrbF6CT+wboT#f+5vwL_IR@tsHJ8X;y#djsaK}Er&Nviso-0ka46n<} zN93Q6!L!;#8uugIZ+X1;!~7=N8ZURW)6V{|Cn)eV{HjMw?B;I=q|7d}t(fq5Xu7Qm zq-(Bw4oTz36Y|vCkC;872z~J=<~8eoJe9pI9r;;Me32_H2|a5eIk>P(cYD?;xdFo^xAof8o0lL~i_w)}$*YAw$NmiTcJ&T5qp3R|P?}mC=^A8beqZ_k8jH_FYk_X=I8u-5%vh#*e9K7vV8+H=ZqCK+t0B z;=#9X*i%0+Z2IHF<*duQ*~UV5p(sL80+Ora5+5$6vu1otUkuS%muZW<4g2cY`Hg~- zV(I%3Zk)$gUI*Rmi7K9pl*gK-{lYVGG>vqkKGTruuEwW;jFU87}f9n9jT8de-yO^-APqA;OINA##6FH+#X7e|6H(l_fhsk<-Hq1{$v*mdZ$xVEYS<69OpPbx0fiZTb$=Od_x>_ zfsE!CvFTUeb=+3skKLU{YzM=18SHmz(Br9ecRTBOgd_X^t|4GYP*buY@9{Yd-+%s> z^iMI?Exc(rEuO5Yy~*!{uB~|YbaqDwxp^t!QGOcksIorvN#iniw4+LQTgaa>wt@ZM zCHc>*z>paK|FXP5?W(qaIYj#Ymvf-#W#cFKFNbda-nO zZKv$ph%H<^|0(Kv$0ctz$iaW<%0k6Mix>|mx^xb8eXnCgy-Rk4 z@G}5-KAr=O`vdeiUnO4udP7~|>Si8a^0)Za0;&ENQ!|9at8?JklI%7hDy!le(<$4! z?VkZx%dsllK+msUt$U-|stnowub<>dTpt;H!OLc`x?LP^GaE(s_bQq^4VG!{x4B_U7lMY28(s#i`K0w@29?-+MBD*(--A4;{C8 zY$gp`=K}3`pl6ne{qZ?#V@ils7RxWehVXgW9{|0@cFclZRkzA<9lXu`d*0sym&F(& zdETv3JZQTQfNcS^0!2G_T1|`)5-Nt04!OfSlU}as!pI{Y&jmsl#pn51uaVfa z4~)k@)$j@`jh!fBj!82Gx1n{sYvI%79k`dZ6mA&If(C?;v;u((FO! z`|nEEIN=i{*zYrgR)_9n$@X1Z39 zer?@foBq`MyjOqxJ#S88zx7oRE(>?l)xia3q(kJN6}LjLVtg9~!J?DI=`1X<_7yKT zmg8y7pqJ&z=@03Ukpcj_C`~CrogF6t6Y=5dbOHdTf8#Pi{R&uFPW{`92`h|=q@F8% z4zdTLiy@CUBJ&iuYrf+tu(bhSxYY^@g;F3MSktRDcF#)Vb%h&LepRZ0asR7049{DK zm~rGR*Hf|WkA~$`jE|lzw0s)K?C(yXB^AB+8+qGr=dC(uMJtE#hz~j$zgWR3#dcwl zmnw|v*I3Q`5M!_?^XHDMUC`mKV&%lGvE?Mb0!y~m@bBH>3m%#u<6pn`sO;*KIoTtU z$&atTbEURm=6r}Qv_ap;`MUoG}lj6+~kYG0RHMzFIG|e z7OlU|Zbsu;#Xu_wusF+%Y!3on(d7@s-cwbUC$Rb6wQFEAt2drhmT-N1#47(r;-oB! z%c`US&c)aI<_C{u-YKjQe03HR~_-->35?3kl z<4jKS;vIM;PPONwx^Cs)x<^)eDHq2g%x#mI-_2&sZb=0AbdR%vZJx%Hs~=vPus|!fMv!N-g%gIS}#B2 zQoqFDEFxtP%mC-OBc3*cq3mfIHy0C4%2!pLj2?f>?EG?>fR?|hG4KGgTMv_{*U)6W z!ZrUstJ!?ENVj5bisgA5ZYFM&zbgssop^ykaajItL?R43E{)>zU+(0?xZwG$1t`MdFIt*2P30a7A?-V8!yG?2U@mvRB+s!78z zcW9`iDX<2Ue@-u6RN+ePVbYnSS)^kCHdwebG9qGB5Mgi{$X6av5@_};wrV{$MNLA9 zRMZY%awNHkdyLJ7aGo8OSn+9(2HKhJq;#r7QHv6~c^ND!iOnRc+Nmk*^zL6k|ED}M zQ<^|om_$Q4@p|ML`s6S<|9l~wf4)F@{dg1rstv!yz z9E2b#I~4W>J8Cp!DY@<3#kMCjj3WLSu{@BQddCer7O4{mU!=7oW=zBBT%DL!wk{Wrkf_}y3+N+aJ{Ff0 zM`!4(K&f_Zr^hv${e!_2!g)fQai8ENvAx>O&%(kT5lhATWR_xNQq3Z+!@nP@L|O~- zra43gH7D%iDCkT?K9UObUw%5 zRP?jU;+f0i0o7c~E3_ZO(ep;vD<7z&WFA8@84sd^<77!CenkqoKlHh>AzBM>BbD@A z)SL?*Ks0su%0hirQY9Y0%~!hEbT?WA_uPU!w#sA&xi}=iG@oI1o6E!!O9m$556km! z&+rHDMz^Olx=!z|xeTt3JDrEwZXIvx^yYu2EDY8lSLm)ng_p22DHH{`(~5XVQiR#$ zSC0eWzc7V<$#`7U_MYmV={Ds#3M;KKwaj`Ilbeb>K~EF zjYDdGey*X7u@Z0RRMlC^tL5|6@TEvdvFAZ-I>H>E?gfug6nw6PX_Z`1j&f-pw%39` z(bk|F)`?4V-0O^Vdk;~OygrICPx==GluZH%;INUOH%@d2L7fkn05ipNbgGMeqL#Vm_j39%KfG*4;BrM zI0qi56Uf+SObab|YZicBAyU&e8SW?;vE#3S%%bYKS~2Fzu!`YgBD4^WXs+=&o@oBB zFoCzLJZNsT=H}-`UrUC)G^Tk3SA+HTiH9;D$(X~ir?5f&UNDlIf2y*HScX8Hj>pIt zl&Z={A}Wq#8NlKP`68AO;fOCCszJAkJrd+-o+>RG@wti3OB>Pfprky4B;F7 zY;ahst(tmij8CCU@%v~*fgOttapF2ti4}`w;P1tMrrp&Xb(2}rnA!e&UK6x%lY@%; zAfqa+D%d7_ol(Sh9G3YM?yi7mojEk`n_tC(HEp_MN;K zG1hr*bvND|ud*wbf0$FnuJ)wvGSoe;Z()XjGg%;9l95m|`w(}$tHA>oe>=Rau2sli z9*#^(?~8%U(_(v?5``0MQZL_Q_?(soo*Ib$_pD)ZPd0!I#9!VG{%Fhx)9QY>+PrY~ z{vFw4j2~U0R`D*QgIX=Yhx(p~09`U-Eal!=_ zGcp;n7a6Kjf0YYGS;gQ&^+!28x|Zx(>)UFU=RdXie-i$R(xpOdcDyji8dI7pIQqs% zHEHQXNrZJBb;u&s+?qMr;a0n6eNClNrpo4Y%{))+86>w~&aXR->3<)-7>#ce!TkB; zJo>y-e3eg#fMsY8kQ(eBF>{hV+OuJlh57yDD9BUlp%`$ARQ%WQsL@CJ@bg<9UA2<% zcgjg!e-os+U>|DYlmF%?QuV}iN_V-PwDWj7gnoSvdX=_YOTce0-abWyhy%&nbU)V2 zO>5hyoXP{K?d&t;*=hHtw#8+?(Fad!{Yj<(De_0@cCI5Ou(MDSpupQxpIdc?I7H@l zWGFSL5cyRelu$JKwarRr#mAK1EY(?Ug=#>)ooXXhY|g0^{k?Zvc$BBXjL>S zz{s9WI^@r7IdWUrVucfQ{4STHInxfG{DM&YCD|kS2Xus}K%?;i0!;F9`C^cvj=LY} zfWh&h1fir7p0uLo#=DVwQI!yuEX5?3u4p?Kb~m%QG3ZoJs=dy@SMS0c)6 zNIz6UnxqBdw=eC*r?*213c+~s3%_KNON0)2G{~I_m;3hB$A9?61xF3g+d zH}wmoz<;rg_s$2o3;%+H^H2|%fYkBD**Wp^k&K8W z6_4rBja!q!R|#->*L!*SK6%}VnHaq$j=yge#tMt zXWD2{RoFr+cTdC*lb@Zygfs4`m#5-;CPTp=%pQ%cfGU=c7 zgUNHyadU=YTs>iWM_HjTd>naj6u5l93ZvH(s{!XshAEPM`&=Y5WymnvR_6Akn&60b zX??9iRJ?&HJV2_*09%5SSz6?IAnRM(ytz-o3~B*XTt{u9Cxm*IP0j7bwD87o^r%nT zV|%VOsyg1Q=dQa(Gz-j(O8;&{3A{PXF9@fq`Ln?u;AJ^K-ni8P3v&+lnfC8A}wj7ytd*_G_#Gy=NIfmg5o> z;K&QbdV)~#r+Am!fwIX@a*#<`r9{~Gq;@f)tt%e;V}Ff}K2!l0Ontt2-tV6m-pi4b zw3=e7%b75u9gy+)YoT4evR)T9e%XGtKyJJQCMJZri%*V=ju2fvBATg>xBcg>x16sp zwp#$Pa1uv1t5JhQfwYJGVA+nZjeAB)sIugXbKU{FavS_WPH*(j4{+MHQxfi0a7299fk`natF^6*TfHTv4ACOGN^8CLqs8dmY8OL(55flkiM z-WQk2F*frYn}Mj(x))NBwtaw1_n*6R1ygo3^3J>1Slg8elEi0`E8#>-#jVb}sz*NY zC%Lh`Md_7%4kk5A$NmU5W5Y(L1Z08Tj2jw(`IJ#hMs~FlNxxHB;78d7!Nrei8bNL<~ZLWf^@+UqWqT!A_#MO}FB;P`Wfr zkN4~4<49?ANSFMpJW&s$D&`R2Pd4%35Z|Kg1=TC{|LbjZp{R=oZ+&rFQZ zVRm6i`a<-y#TE+!Ox^p{x_HR>6pZ+3a38*PDjj*l{!$=WrU-rm^$Wfn=z6-;9`3;$ST-%f{B(5r@UB6 z?)kgGbCJloyi@S6_3kAEGF2x2>q31``JtkBEVWK?Wdi8&gQ|BRSH} zg*yQ;RRY0{Xan&flt7;cq@!6Z<#6%8f0e*u#KMuM0&}RnD)#_?HI^@U&In-ykvtpK zth!!JvC~s{Qq$>-2$P36$oK$C0)nH?;cCBgqISWbglxRZ=i^j3zXTH74;xS_W%?;P)qCpcNXx&+MeP4c$0CaLt4QR|QpaIF>b_+7!GKm0 zWydP99Ayaxy>}CXL!*6Kg6`(ToAhDNE$^0h~qI92uBRj zRaB}LFzq4ETWGhMZg1izmN2XxE%o;J(#+D_OdF_qvMc#Q8J;<1IPh~{ELw+9|6?~9 z^a_;#qxOdDr7vHrm4A{SgUf6g9!K{Z#G6I&(2?gzv#V(&Uru#_jdZ zu-IjacUIWH_4ovQ#fP7xi@K%T`2JY5CHI{7)U?I)#SD}UPJ!m5_ZiHh!^h<$Hr|b~ zto9K!Ij}l>&8Hdk8=U&{Zg9Oj`Huzn>y|gP1N^(O3)4G{dwtna(Aug1)u`;K3Q@S0 zYt>0LiO7IZq}&Rxxc;kp1DSP`A}f4$82#sYgT(eZ#xK27>(_|4{w$VXtLKU2cp_JQ zp}+AZ804QRc(O^64tyketz2@)VkuW7AHg)}_4fQ}KFGm=uRmB4jB3*XH-Py}7PHNo zh;&h~a@hSWe0H~WT)`p2qM0^(a4Ogp%x`iGYqSWyB`wH@-VgWNKj2iJ7hR(!jyrTT z5M_5IBr!31!c1o7WUojl`e%n+e3J;Ho-3sJ-oWq-DPk5g^4OM4X8uc?;70Qd@q2ea zvHH=R-FEQ{@?JYA{m_0%<_n2(jQPYwk1Fk|D45P#{=D}@I;LhyjWTXY+&E4f1E-avc9Gi(*Z$h+x zztMuUjl1Ei;;#Edoh8}q2me#v|C0rPMQA@a+7U{8VbJ30?6TTEdH<0GOoYHMea%3u zoff~V1Wg!zzqazpum829ObSb4~K)Z2O-nVFNeZmh5ZA&t{+#AFawp?q+|I%03{+urz1>3mT7!HxW&Bpwm4Lm#GK$NO^1Rw zL2$r-+2C9TIn!EAScovtTKyV<8%5$*qDW#0n2!RsHZtfkl96<0k+S^r1}4(6lMH-B zSlj^vwewpq1Z=n^zD>Q%5?7G?R-+uP$ouGwYWKRMu;U-Ky zEseL7;pRRKhAh+HE({72ymN0ctq-!Rh16nor0RSPC8+&oc7zoDib+=Z@B`e63^jV~ zZ+;3}iiT34)$@(7YDBH6l zO6K}DH1EHBJmsH{li9zmL)H*(e7_4h6k~>zcx_u%s(JmFli^uTCJQZV{q&o}-PyNL zR*zwBdUtQ-za04T&MN&+4)#Bk>fh~LJ%D|2c;`AQdY%Fylj^H= z6`yA!bFM}xkAGail)0l^1^x>JPVZcPKYoP9tOk&2=)JRvk9p5?J!t6Fbe+czGVmpSoGjeMbIvbO zw@{RlJSTJM8#TbAecJDL?b|f2?{oc3fJV=CVbW=l%g(LWu_6U&-O`JCR#5nU$EE3V ztY-JC0=MRnjV?z<$_`-rt221)x6`O!=Hq@V52&jezstRpn8-$94f@&n<(Usg9=bDQg(@IH-nlZ9~zU^?D&y-8dN&u8m2EvFbR@2jquWklJ-cf zs-7lEHt-w|UA2hL-Z`o1yI#8H>lf7pT`iY1pK6MQn9rRM>GWG z7P?FKb{8;hdhUp0&WhdYh07on4m0$6U1g$4|8jaF;c!sWr!gfi371y`4xI17WGA!= z;kKH*Qe@|~S^rDcAWA$@Z>V>c@BUgfAf?sUAHEBky*{CV^##`{2 zbQpecH69n)jn(Ym{ox_AB)dC3pnOyrGKL<$+=_5$7Dzvc%Zn2j5Y4XNwy~o>huSPQ zpX^!>`cZ$qiw(H}W`w%U>_752;Eg9$o^r7&s*BuHv#DLrHMwI(@Ke4{kSg>bCW_O6 zI2fvZ7dW}5K&1nzrj{O`cXo+SpRj?+^0+TV8?fPil5n(huHU8x2!RrFLl~#D3To9x!Nl&q~3e=#Zkd6pzEPv z=&uXyDRlbPGJ9`~93vRjFCR_^$iN8j-CoAO;kJzAyCW42)i$gEL5s?l*QJgX*7zMs z2xq=plau@zi)$3WxNhp=%<|}&Rl(7t$(`h9Kp0?V%tOJB!qUZ%^(Oc(3PjmK7hpr1 zs@vOQ8>8heShc6~dMNi!)Gl15h$=oPFKqc~ z%0KQ#0?8RiKwDD(##K@mWJiG^Dn6`b2YCtX(%{@w#CbNzviR^5hcU@)<^GiE8Px$jVc56I00*%o_f;!EJZxV z+)vJUz8%z+$u=)Ur7`sENyY>0yjdV$CZtfrz)*fDGHc(qv1aJgZ%XE`+uo8*L{+z= zpnow^*kG0E*LMAh)I-Dh2M|Efrv(%EnI`JOHCN~%16!=yt;&Dzy877o;;f<7Q!WuI z4I>0>09=`R=d^D?@G*CLHYx%p-A$fJ6GSqQd=#EgZ#;+(tyDIg!fVJ!+}F*XO)OJU zjN~AHGrmShvPC2l&SVYsbOYj|CasCQ+5}#(r4zd8h25)| z@~^=ioWXn^QY}6OAPPW<0AK&~qY-x6Ap-p&)99DOnilA7NUx=hbL6IIR11!Td~SFu z8FXGJc%9ZlUi)dMaVx(xSFRQehIwRO@kMS5FIa9S5N=8VXlQ{17fQ_TfO%H{+co6! zh)$AFG$YwMB~tdzdBv*58RZEd`=}m&7vuUkP>y$FKTikox{KTrf2W&yW?jS)FZR(s zQq$>~^ZagpoW{5NqW*D^mALU86KAeiz%bMuLjRQD82k#GHLt1I{IEOInY!{pWs$r?NNGC(ejW2G$*#ip@0*3$zd(A(G(Z0sW?z$@#KqZC zUpCyF@Tn_*c)2*Snz3Q(El|>3IXF3uvv{x{%vA{$*)iAoRB$ld(@X zDDEYP{U@E-yMz_zv3MBQN@dpScL%4UMihXm`A4!94nwUFL_1k9(v8jiE|`^0@YiW3 z_rW{smM^kj!P=`c(*7bg_!U218Bszux=ABgMLTqIhiAtU(_sTU&ZG~kOR<%khMJw{=<2DYHt*m< zp-g8U4)LwD#anZtwY{!u4;(I3TDHMA5qzhH6bn)G$f-v6z(vEWiv!DxR|U~ zycZSaAcW_gy@_*_@xVf@fAibU5T2=LO}GV+OOe9 zkkNZ8i%L$X_0m=SGFWcw>b3dEtP`K%EtbDsgIy5QD ze>F$M&Q))Q{Ya*oyUR#Y+qO0ubCxUg^Tbd?icLsWM^FQ8?MH}qUH(xy^$e_aOLV(h zARsb=VeZ;scCzA(ZhMdaMld&EOSQILoIW^=L~FE9sOuY8w(i#(ZLOKim+I-+l~ASJ zLG0ojtE+BxU|T$xTV(ERthi-ow#Y6GjdXob z;-1TQq&@jPO*V4cIm_)c(NRF7$E(73N3yq<;Cpo^ZiN#UzSWt{1)GK@NsyP9`0YBc{P&iOdv*L6=oGBm+%aJ4r@C z11uUUFyJb36u4=aM${0L*bqFhRxDB33-LEIoC|k&lnrYjR7jc1*Bw&57&?A;G>Tqu z*~}X}9y=VaOy~MSauf|F@84duInLW{^CporfS5&oNmB35LqfS~FJ@_7qpGxAoVR_h z+woaW7a+sC#W$qUWjk&qIW*Bpq`EOlxic~nC0Bigw5s;4b{>A7SlDUY%8#8|w zJay)``(%g$hOUhlisyeGl^i{Y3jdKEDfW~5fvC;)1M`JC0!18x=4S5?^&B9HI6p_|Ms#(Ueb4$` zhN4Ks0!x_9d};3q;h3%qvNC~(9I(8J_GMNhdF2o5s%Q%KMP?Ms2mG;MSaoSyVJ_V`}J ze%9m|JtYtp< zV-E8E(UQyaXh9CZePs!NJwq;+O#Xl#(!XEO)Mm$G9WPi^`{5F zNt-e%3aK3jrns@Ii63l)l`TB@(k}8iqMqZ>RI!ePBBzTHxXVPH5vH=)%s15p+znB< zyM-^Vg#I?W?V6p^iCMo}s{Ttx!AVM8%(wB$>Dd`D+2*@PaKnb4Hhdzgg#|Qj1NVlE zWe9MSe{ODaqPw}@NwyTk81=APHzU7qm!rT8(}ak#G44rA3ReVO6Oc`k(;ezISgeP= z28q?tY=g+;?C?O=6T}-0TP8f(i?`uV>3(l}U3{wkL_>1I@WFCuF=+0)6|EilpEi+Y z1!2B(x@CmW-C z@;!8UB?kzTzrPmWDsB52?jk+6&IA+jD*3}!)5c^?;na-Y_J2RKwhBz$>y)+K*IOFy zZkOBDC8xtL1^mD`x}f6OgwaJ~mo)8l1{qqDqOIcl4CHGg{zUG2y@VZuh&fz0aUe!% z`Zt*RE-;(ucogj-R!U#Wr(SNRedcq?(6}>zPDANRV(7Y^Ed-w`&G81AOVK3v_U&&G zU6sU1a?q}^so!8gp^6B+_890`n++r2Zd(Q;=c$TCrO!Km4gu2lKNVjWRNKK5m zK{E&YQ;*yxK1t_oN?xnzt)Y`>x+N~}H5kbyo~Q1Zp<}d{df&;zhZ1z923pl#syp5r z=hnsl?NOPs)G^@Y^@o03o(uG0Yt+ACWqz1@@{u|ELL=K;(xXv3p?!Bt3MP;eq8uVb zJSEdR4i_XX^BZ1U%Z@5`7ublXU>fe775pgy;pRA;*jN~;*!R*}BZcs1Ad6Wi z>GB6xH7BZ#OdDj)@P=Zo8`fU({Pe@}41qVw?%Mx+b^ho?m6a_c6Wr|C#~Al!F14;Z zYrlnbZHv){(2H@v^~xxX4?0e1ZR%CA)0U{>J`%fe+udRXXbMjd*IUFe_BoQga`@89 zQj}!l^s}-mQjgrgnq01RYuy3TEXkZGk`E`8c3_|8Z*Q4~6*bwt?jwWPhbsw%EyU{x zg%7iVu)2Ga%jCB$qfHiA?f${dc&4KA5aIS(GXYt=9&gZYtH!{SaDmhpjp2llcPZ;s z@Wl)P(FmiagXwV%>n&+sJcpg=<1LOVQF<|ooS^PHFs04<{J1yYZE4%O9z5vSNGiQM z1>C$F!%DrUd{LqsM(0!i%Jk8CCn%&TT%s`)%)50+aI&Or<$YkMJWskOf))ZBkOpzR zPAH;#JW1uL=I)K@B`DeFOypuEbi%RV8ba7Bmj)g8k8WDG>V{LzlL2IyL6|18=UU>t8c(U@qe`_j zUc|+}Q>-z9-cJd@69|6KZ^26-6QX$Vjz|APWLa-?RQL_X!p^H`x+gJiFG3V^2k=6= zQZ7ml%eJ`?6**={+H2vC_WXfu`BHCGPt{8{Sz$}Uo)k?-qL`4Pg?KMpFO@BhZEuX`MjCkvbjZm`q4G@Ta{r@h3J zYW~efz!f5%xNj|v+@zx>VIxpZ$w(4d{>8jm*u7Z9 z{_-y?;(LT&LvH9j>a+TdRd4Cu+3=Fs%?n^EqOzZ~jYE)TtuNFGhq}u>% z$vXV3Eh<7MJ%%~?6KH+5H8fvqOqw_CM&x+Vk=k@v5N@{%xc0QB#eUGP5B6NFpk4B9 zrkWFkyHZ?h$%e#C+KGH<)|dyEOHQ?O52+k>QB;_ zmwd>VJ9K(SFXDJDX1+Hd8R%C_lCb*{&kB$d!+}<`o78U8W_-SOL*pJ`izDJxa47nr zYii5SRP$V2;IZ76R84rY?jJij>r3q#a;5QIBgBKL#_AZhj@#1};jl;$Vl5~BQq87P zSZ_J4(J(u@%~tol=aSw<4lxIp@%;6?fF~v0Z~$|~6(C3G#hYDx_Ig!v;jLka0TtYp z8?SDE-XLo#I+kS})&6zg;(X4tlu3f2-eFCc-2fpd+ z4DfI%jUn=qXgW`+bf*cyidrZf#BH3eCD#k$AN97^cj}qZxoB5axNF~P&=2C z1>#MLazF1mS(5DAvjNdlg^Mhnp}zu?KXyb0%UdEU!P5<^I*y$&=G&9RGSMna2K7sb z=y{`)in2rQL0-A4!?p~8_m3zOkc;luW@xRt=pq7+b*5`0k^_>9U|ljRW;nUMvh#%C z8RPa4T{<15qi^D5?rLp~VuCD_U|U65!N=R<${bCX3A#E@Ac6kFD5GK3;9!XkRD0n( z?}x8^gxlZ14j-tA(mVC>Y*u?*uxez5d7{=QJ1)Iy?(|CFV2!RL$i}9BaB8Y2#p5w8 zN+lh3%ZJKd$x|>C6`-0 z!tXK3ujAf(LX#o;L5DXTf6#T+b89Pev+GGZwm#{@CBmaHhOukjkC*jK^=3a;Dm%9i zGg5FaaXzgb+261B<`JKm*1HG`W>v``mypK~F8ro?q!9gp^m5+pfO3p^k032dKxj5N z2n(@g3Bz{F5zyJBo0En5o34U(Q==$W*2tGsXv}@;2rbBD(km*py#}aRqdW!Q#k3y| zXQ142%;lP*pZHB?VAcie4;~s;^Lj05L9s4^b%Jh^iHrkwGU@9ed^mBeMk7MgHjR(l zE*|j)CdMgSqS@*d8ut*S*AE~u$8s1YDWCatFU8A5`K+V~zJS_#L)t%lPRKNPw1lXd zCp9Bw;rqnL`x0!zMV?DWd-`4{Gn`BL<%9vCeB~?lpHo1dV8v;v`}M-Zemu)$7Uie2 z>C8!@BMazB>|-+y`g|Bs_T;g795c?hchsOFB3`fZ%K*%+$JqXl@lLM@PvC6%=l)PBMuO9v=Adl0G)5kE^qQ=$tvK7~SQtBpk-YUv32TGQXlwrNSMySm#;Pt0$!pT4_34~)ZkV+( zk!>PQc`vnrTTZC9omDs+r_st)8bUYJPs2Y8|K{V4w%ScBq7P#d=YRz(@(Hf9F-@7R z;(Ag1y{8B0YNmut*I{MGeY~D~50<`Ik63lgJqmv}PI?sGH}AX2^`48mUplSyp2o~%9Ro8D}m*mmu`7aI|Vi{c?U94J3iEP@-_FrJ%1paO4?-3_pccwzcx4Z zGawm(3g*OiQ>6wpb^V$zI~Sz3TE(~!>=EQlXj?ZvcT7s0YsK0ny)UD|5iL+fK(DYU zC3?vz&qd3QEtb-|wanttL7+bhSsfP*Twwh_S%9I+Rjez+EB{@vUv03-DQr5ZsGDsW zBrv|5&I$V*lOrtkLisU=9NdI3vb-xZY%*=yQu<5D|1d z3^_1^Fag2`{%Huc`XJ1~Xr@15GXb*b8+MF6*&?6`D8}*=vE=RvN}I{%a(F}JJWFMh zN-X(@5-cJI_E&l~atYMaTv88g1**iRr88a3~@N8pyl zvtMya04nX*Vt*Z1we<)NOObo*`Z}>9pwG>zxDuP4qmD?joW2!P&0SfbHo{A4P|n{s zTvt4+3C>W;7m>n%=1M2(Q4?0Ne>luEZ5N3)&lzN$T!?bDC#Hz>^nMJPXj5^?leg>EsG8CGP_z=cKURi z9Z|+AQZ~TSJ7-eZ|J)kqfHiDJU@uP53sx)CgqrkAlk~@oAo$*>Jk&n?+r&!usYgAr%AdYrz^uCzzFqUoNSix)qWnZQHHNv%uD~B1kjflsVA)(7GFPs=81Uu2|GUPYNAPD=o1#k_Y3r?5mN%!K7r`op^q;vJ zQlDXZhIe*7a8JhWhI;4p_W2#r>GtU5R^w`1M=HDG>sLHBZjKcZri5VKe%9|1TBX=M zA(^NSZGUHK1EmOD-!G*P&rfa3#$m}4=b(Rb1WrlWD)1(|nAIZQUIX1=AF6AoHrL`@ zuh$4mHRHEb&oi9)EAu8?-Mb=Q3*GITiXB#})9KAyyn*M{qRwpByf?WH`XUb`z$iC# zYJm-E<8VX)$8KWAJhO;`yPLUjZRfM0?2CA^Uvy(o6;9K$yjuQifK{8qt&lu}<0*_S`MLgpau`iz4oC z+x1G>w~{#xhH}BlU%s@OsE!nt8BE$q!1+c}Ke!k`A#f9(TGd#6FWlck;31uMTp8bA zVZRVsqgxS+lsMetRepj@UAC7&iQd0viYohs#R+*{>2M;HYUB9DG=BWf?dLG~qp>H4 z+#f;I87@Zb?p+(#TbJ+YEpgjVm|pU&f-8rg!+)Dct<}P_nr>dyDLPS`o*5xZX{9P? zt*-a=u0A<_a!Tga{>Hz!PX6<$lV~5jjS*}(@+Ct04uZQna%&zEiS@u}#zm7aa^yJu}#@!@ZS z2y6LcF$vIxp+N)Hhs6*5VJuj?g25O?2bXO%WP1>|_NRW2d*h z*oC@Mp^hin{OJ_v1_6|CYbbM^k61)zU14lLeyegEcBkIQYv+v@e#AY?9kyBY0@(HY zOn3!Y9z!PN5~h6A@yj)prw{WGD%K-(SWOX9F_^jaJ{p-f#OelTg6-Sbl2gfI&+gMM zXK;9oXmSQd#j1-#b2;dvE)}vC2Sy8Lp_a_`aq*_j7$NcV0x)m@d#L@qeZ-_nk##Ib zTirWHy2OX{nQBuYt(6K@b2YH;^2{>v1YrxU%yZ<&yTm=>Lhwy6Zx2F1J*0M{qg-nG zUU+s8JY17$TtF*065%lYYz{s)h^wJA@nlT^YU}es5>C$D%1U=pUgfC5jm6M6Yg+gx zO$#1gHdGYz<&i6mfuiWI2h=sQEpjFpOy+9l1oBSsk>vokqZz;bk%t#WjA8DlMipA! zyvK{>nFR0cs#a%BNcOtGYmakqZAOEqIQABu4SIc<4JD>DwIYVa7hcLvRDZ%E$MyjMUqqde==g2v4T+~-%b29Zvkezvs6n*3q04{Mw)aKJhOT%9LQ4O262&u6GA+0#T|-_KH| zU|Rt~S`=bP%L5OY+3(g zLS@?g{5Ch&s>BkbA)VHltIM?y?$$E<@U#q=uAVa(QY+nyR;m7Qlar3@wSbpn=5JEV zrD2fE!^5@aqz12$!y#SyFPl}rAUnNeSEtgf@`PWEtT-R@ZZWNX39OcF@*}qdH?bvR z(C}D|sbFa&T{465#e7WLMtn0+tWcyxKH&E`ALgr^}=z?MW1Qj?aLNbkLQ<0OlOy}a!C^Q z!Eb2|@VBS(Y_t%HB#h=qs}K)@x9)V36Q9p5G2M(sj+@tu`iCn8J#D}gn-;a=B-VIZ z5w?`0gMNxj4YL-7o6mN1Lmu8=wGq@_qWeP#4MhaRR-QXHO(DM+-iTU!A&_^4t~@@C zp@U7)S>zc{;EN4;3zJ~exw5-CfSck8Gr4gDzDq$&CMclfr#v)2GgUWNmQoL~^SG=n zXw)#7W-v_gKKUZnFiZs!F?4G#I5g8QNoSVXPmByJ8*HoOjTXEplb|ZVQCukw5cl&#-2ajM zTfSi@!yuP-5#FeY1X+JqE4l{_Vv~pUWxdmC zW9NApX)3cFjg`*I$v~x)={O<8PK8nbI_8levHTlcs^FMz=M>9YecT%T$T1A*uSF}2 zVFiAA7dw7k%;Uuj2AkMy;-z1@L`)yP`kBYjbgtUnX-XnQF;B&^S`>ci(coYxKhxwe z_|A7mYx}%{f%32uF){FQnR1jc(Me=BDb|jnJ)2L@wB#H2<5jzdg^40hSKE@848=6w zjQk#CJlc*dKMl>Zx$(AO0pnYQ3;d;Gfl;k%BYB879xX6hWH3#HboP)GACe#8^P6|_ zo6Q(h*2dg_6^Pcw!lZ5De~WL(rUmo0xUcPuyq?(*r`uBTG|ix-y9LH6Zvx_=cnZx7 z%mptZi0K$hQq@1=ilkr%BG|0*5y`r_)2|(PgdN)-xSRdyNS7a|57^ovU3K)NwyuUL zU4+~WThmU!(_5K3L{nVVkBTnhRwc4!a>15Eyek$KQCn=oQ>e=)3-C=sTVcw?D5ZO zZcTjRRyea%md@v|U;702;Yhugb-frj^)u=IBw6(E#738^$yLmkf}QEQvsThvkaq(6ic4&4-xe zX^@+bdz!WA5z_{FujbN_7<@=M)gbO#W3%t*k$He^8C<7+5pX0iA3?>F)Ku0FGyMR| z6%S=%UK?bdE4$OOujze_jvdO_q&BN5NTwt5hyz_tdtQE4;a9AA?WE`NeWUP3E1$=S z9yjtV<4Tn>ukyV2;m{ftTAG#zy1M`sUkdw?Y1MqPgq`WD4}wBGx2ld?zj^Ph%mw*9 zymE~(e4L;h@fWG@)Szv;1$u$Z6J6x;=b&aGG)w4~Ns<$FIKp77VwXx7PS_4dn?^(E z6ldJYD7h0`KK+6C@xA$_Qk~5@?D&^eYY+JeuUX!P6jFm-TUu%t3sjpC+@)Vpb`|@_ zYP|Sx@1tquS6?v`Vs1MEjb}KU-VO0DKhI3jL_Qr1=%j&Dsm=Ai92F&0fi^VxC`tQU z9d|RWNyX%FVm`KR|Jpjovmi)V8~57Lm9Ep=klvk`6 zPR!?#TYegU-1!k|1>4U7ab(lA!tTvQRbMGy6pJT0lGrqqyfWMryCU<55F&4#!#X-% z|FN}62Yr>+{;97;L$UTcQ!e^cP7@+1-OOKH7YA{Od9Pu-Q2Hx;nK)zKAgj`OF0KXt7;}0=r@=iv(yE9WLfx3 z6C3iuq#pQhaoZAbcG7Pzmjcu38i)1&(jbS``K6H*IrY}xlCz<3y;KH6X&fo`63b7Y z63Zddd4-!?y{s=r7sg2KRSvsA(7AG{)5R%iu5B6({R})>Wmed@(FnGOhaGbjV+b)? zNLMh8(6UIOyfNL1Mb}o!HB|x>t1b%M-LPb#@k2E?Oiitu_`67^kKTn(b0zKh^EUn~ zHE5!Pb_Sk2kD|KF2ymWWHo9OT7rCvCSzM0GN=RoOhR-#q;L;cmnta$hB^2k67cW9K zac>yu7^B(b@Y;)Vg??4AA1xkxY@iGGUjO&iy#-dPvJ9i52O71rU;37k3zm(xgrVY% zMV!K{Nr(-t?Lp0G7Sz7PUKL8KYy)ME-XFXQq}>d5%X6@K9@p(sVL~259A{1yV(}>O zeX3H9S}wfUgurN)`k-N}hXsyR5t~le8Ab9sUt2Y*K6UQysR|om$Y}tcwb;tlYJ3I! zxkS#;*@Tj5Ds5bes-{Xcsb^d1ob%K`91cj-1s$I|U{0->3h)*RWD_yixl3-(q z5YmNH@JmGWhn)V(-BoY5h{Nu8G!(ViOTJR{(>dE1tT&xrG~kE=1@zFkZfmAwDeA{E zTrrcQ1a5&1BU>Vj+KD5eqi5_|mm)uZyVHfbm3T*&lfayFcDJ*_H7kTSY8+!{)4C2= zW>w(9+!BigPg6sO<%JDr4Gbm?&2GoiqLkL65PRy2=)0;0OOcF{*$$*tTnrsk z4Ca1b|Cvfs_a62sM6!Q_)JwbXw~_4KtcT5k{=%ns+A7! zZ#;VU_JbBt3gw5Z@}*_-J?Pc84v<+#+e>}EtB*_Xmjz~sv+108e~>VWlwuwn^3Km|Th6M7 zZ$t-h*j7We(%H0_4zdBdgk4VdPBE-cMQA&b>=ikbUxdn#n<$$(cn-~LQ?Wk zesyw4`E=lF*K8Yb%>IoOn6T6OfQc`0^6do_k%t(4Alce|xwK>e>2NVW&+FOcl zt7{*gBP@cyIn>V3Ls}d9jk7+{%PDtNf%GWb`e|McYD57C6uR!pGHQM!7(;{F|5AQch2;(1Cn7a=tPcV28vk&347xI#0*Mx-{( zcZ<#LCb&cI2-3$+ZKigp4^Mf~qy>W@b-m(8R=cB+4To5_vjTLOZzg6Ckwk_2;<(G) zAYm@w5JSK;$Du%9gHU-vYj7%;L{4mQpT7i1a+~c`Ky0jLj#G>AVcXfK#{5aDHEzPv zSUQ;LP4CS-U9GW=3hi515wy-F$YJOrUun3)%Vd6aFT%w#k;c%~ZhKY_9^yC_D7bvs z-?oQ+IiBJbUjF#X0pYbJ_If7Z40NMRUg29>g_Y&LF?&Yi?|9b-{_{1OQDk6B>=fF#bFg-DvxP zL=oMTNflS${g|vm1TSC4DlBJ>)V1`!uUz*sVafTKkH?nRGnV$UvM4KK8V@lfZO$j6 zfDb4bk`Nlxh%nROK`~+`p^6-rfkYoibXw6z61p%j#jzo64g1)bGu0A{j0k@9+z*p$|2V1ILyUpgZ?@a&=%23pi5m{(OR#Tu^~S|7KYQ zS+U@KD1~OR>upUwE+BAM2#K^)N=nS%JPxq+5WInGg|*-8Kae-~t57qgNQE5RuvToZ zGHycdCb4}m_~3aLU`#6eK^LGl?$s?mMlD(P#@gUvT5G2#S+pxW%zx~Vmd&-vMTTWP zV)nJg$2djszF-Q$sxnglRY-26XpE6w1#li)D}AmR1~FzhiSdMimP{D;l<#nwBuQgu zLu`s9_guun{r5aQ>n>sys-IR=Dd&?hxmr*};9~9qsT<5_-5F zr_f=vK^W}K$hUyBBN!ft46{=+cHaP_E38jzHK1$oiN&i`N)ASskB`>(ARs)&Iu>;R7*+xR6jsyyEn_yug#~d2)o2?qc&QPF1LjK8E~fTBvyLzLs`UM^nXFep+Vu z#5bZBqUnB5&{u7Zp8U*prA%3Uu--fSbHMf$q_F{y1isDzKrwOqm@VDrY>Ovxqq(&UF#UYW^fgCy$}+wIMNVtK*_of$>r46Hbjw z9WG zQ)PwV!eE>!vW`6R15wqgHum;84;ZMJ+sP*^K0$%WcBbd#JC*2+u?;-8_>`brWpc?a z0zptSPgj*32NfuWdnvEo*V6QQWDQn-g&H%<;(tL2LO%5x4R<+LS0_ZUf)DJk@%idy za2y0T*jG|v-6HQLHy_edVH`TsQKiOyf)sAw4(vJjhU2WaS6|7Z{Bgjq=5$0{*B}B6gL+W}%()^Yck8^Yf1R=; zgIR`JUJ&tPZO7pdQ*wwg(~f&VFBd#>en12>g0ep}bzPZc8NXL&@QKKMJo{!b1lk)1 zoMo3rPVwOcBZgMp!mk~qLW$kb8pm`cV(F2@;)AmBPtyvMn~u|PVd#tIc%y1I&zF{& z-p{Cg&u!kuJ%!b$as0MU07E;|rBWV(*gQJP$ z5Hvr^x_8@S%OHgBbo1hy>*#$;b!Nzh)l#^BICi%b74}wu*fe;X&B0;wc}#v922;PX zz5TY_j6t48aN_1iIl?p@9i9MwqTD*~Ovgv*dEkIJ%yZRF$F6R#PxLT4LU?a;EYD)W z(tsMRjz*3hOXDa0E?bg%NUO{xCgMktO3kPm)G@Alyrvg5(8uN$d*Pg0P=;C9*x^O3 z(qb#oJxeUC%IHyVM?|C6?l)uZKpa9_?K;$r?2I7d_;Trd0W7rJ`L?8@0BQdhO3g(6 zNqgWs`01BK_3!(TqRfi6_ylwHozRu?T4^Amki7T&EBH6BkGv_ID|)h2+g z$V@{=!4`8%E`#F%OPEXMANRn4@jrLynZ8=Su(eXpxFqUZ{Eb^>Cvbjrg zZfkvsIHNi=L)O^U)K_VCIK*ZzCHri@avF$8fHC4m?+PAeQi8GJPqMn~*tXNm4F7g$H) zX3k`fdrxD6r;TR;f7+Cby_zYoDFx3`29>RP&pkFYS-3>a^v30Frpd>4;&Nna5`+fG z;2aY3cWlCgJIQC46O`>;W~o=#mQq*xX0pHgYmF$=aFjrX8>6I+G$MzwFfwWrN91$# z9@rR4qlb(bbjL_HkXI~UGV?2FdoRJ@ z0L^1FCyzw_+6fw{AL`40jKCMOw-t-pTN<#5sNZ)Yr`XVSC_=!{7T4cJp&P64bqi-w zA~)#%tjTiSU&hV6nY~-=x+I_6vLg9IAIt?8YuqYE=jqwziKy|ok`AEJF+($_{rhb z_Mp1eDMa?Ec$QP#GvSTU(e3O>tQ$kanhX-lzoRq+b4yzjj`szb#`ckQx1R0R=Unq! zZ2|Skm@Mfozs7`Y;D7q31S#UUa7eImevYSn4BE&f-Oy-~tUes86G!217V}Z-FJdw3)obL~ zo_Hk-HCH424qti{?UKPajUmQ2e82}k3x_*)_s1q_LgyzK~JJ6`6ZHtdjst9Rc zFXTR(olN{}mQ4t2bvahG7x=qE7t*yMZ?9ZSYXyOcVXIpeQsS-cO_0&|=Q(6Z#oK?}Zuxzvhc*vEy|AwSVF|0ZL zxsQ7E_^jxmH zPPc3b2^GX9hX0YsIKLwu6c%|aQc6i!ok4n!-ff@bfAK92pU@5M%RoH~pN{igJ1`jk z73*90pVu{yDXAZd2%2$|eTuZg4ymu+6Pd6i;v?$NCAXrrKuW*iPqy6A3v>DMLXZ;c z^jmNFgUEN+)emC~Jmk*Qq&Ef8odrTxtx!|`BX43SeZZo%;P2qINosG6XWYqw$vd4jOqHMaqs5V|`ZgdH2z`v9=6o~kMw6PZ$)ML^zeXF=b|30GqWY}VR_xfZ+ z=bdGKlQr@T-CJq*VtJ_->!jahM3j2-O%+8yl-4hnJd_a6h`w{=6+J<#-xk<4$e6{Z zh*jm+xjL)CsQ6Ecq_@{a_y;@$f`zZcbLqW-^HI_I;xMcC+1+Ls;!o{n@jh+_XGQno zUnnG%+o|xglZHOOR63HHeiq%c@*ImPndPfS#U56%O^^V>``t}7dZ6{{=#adbcSvs~ zPhP@jEuZ%~K9Pfgd*%!@zFC{SkD8RCNiE4%mUYDCGbfgf($@3vd;M}3a1$(Pklk@? z)>@o@!ub3}F!x8a#J$Lr;=^n4c@XJ)e#znZ)>53YC%Y#h+4&aLE+OqJ>RjI_3uXbj zWpE@PZ^bMy)ICBePwP&bvIa9<>u5Yca~z}=LErm2ey>H#N!Xts_&3H=WZP;tcdzHZ zBf7gYTsozAft~PMugQL%Z|FNT7z5oG#Q?hR88ELJlMv4tMMtC}l+u=f8T3aU-{@Aokbh4RIfompQ?t?X zW`9_Siq!v$_4q#+Y5^`imo}P@|HY*KACQjOtUL-D^#5~ph93RDE{Fg70hB6boff4a z(g%1PfUYFw5ek!!@*aVghF`F5U=r4IpqG?Z|MY{f{Wq0ScDlkH!Ly}OCiqnNJ`rYaF<@)sia`8RD zxbulV2O4Lo@HhWD=fv7kaXz z+un5NzZwgfYOesqPr=hm0FR#=rOX&a8K2(wKGyx^%ijGD1_&VNq@b)#lO$Jw(!fGX zd~6E1wDB9gNywLa6KmatrLt*0Qf>N$LtG6EXTJlSX0hS-NpeG} zgex%25A)-@{R_aG+TwP9a#a}hxxLOpK??q3t>{TrE&mj7aYhmQh4605JzMQ>?=3#M z-$p=M@~oioub7o^6aFazpC%Pc6av;Q2$lKnCOyhOG>8&&dHizM$6h;52}Yv8{p+PQBj4k! z0&@WW46r^iiNqC?avG64CHBOdD0&mHoOOaB>SEhpkPSnZTC`J{zoZIvM{EI62_Fhb zV%=H>uq$%MQ5uz|)%E-s-tSE;|NX=yq~hZ}#mOs$p=(&C<^UL+y1%g}Y{YpS9ub3=%CVoSihiO3-^qV#-gKjLHX z{=4~$Cf(MZH|I`hk7iJ=AfO1-BJceX2y%Vbfu4aA58X*^v1FM9iW%uXYk8dfcDp!I zVvR|KHW@(TY$gL-A+u~$vFI85b$+U6N7iJYm!g0s1yV}i3i<%; zN}aUePt+QoK2b(JV}mGN1#iny7m_=&rENo~;+umwN-!Zr2Wp4bukXS||(#sDd>{H;de(6>P>=BdQ zZU|tN_&D~U!0A4O;g`7;-R_?`?QA*i-0tC9U`*`XrLui!(T?uOJ@xr!gbP44n zStkm-k`q1ZK(~L+wp{5DsRTU6OBI%3D-df@VAPecu6^q-V9om~rKHSTXbBj{_>urt z&_9Mf{T1V%Q!{xJU3&dEp1krD*)h5(QJq0H&S73?78y#SGzesWm9Nv7&EttOC-T&6 ze$yYoA_2?CkC(0;yZ;#5fB{1E< zID8rExU`Axp&@a9ji?}W!Y*1}bqSK7Qdw1lXA#IvG533K7p6>AMF$lN=YOBD%(DDBT&2f(y;E|HERZyu}&Cco@{LZalEpcOocnh8H|keLB&IVHbS-fr{x z?Gigz7h~vMY96APG&_9n!xaX{ zihA@Rq~kFw$G|6f))%BCBnl)Lm;#%btB>z?wcE?D4=0K_GSjlbt|Q)U_QPVT8kdW8 zC5zvuHoy6ptdJ#Kls6wd1ss8HkB6JtF*@Ij{T}B^p1(6Ti)Py(uKT+vFFk!p)!r~Y z=iZdFT|pwF`Ww*wd}oraWg|qkkb!$dWf}6Cab3dH1I?Yiu% zI9`}KxGFQYE@4diX%562p~;5SCQHRMVGio4+adTV1~ci(j<^KkT6#7H)S zZU5rIf%>IAJvom7n>kNwf}|I!+;|*pR+o@HHA1QMxBli5xLsxa&uZkLC1n7QEAp3h z&Ni9&oSf0LH7vn2jTi~{Gh0M)vV=SgnS4(xhHFr3Egfs;3x8=#d1`GsrE#|wH$OoS zS!f>BbGS25X|6b4ryAlD*#1IMVE)Xnyf@87u)UOS12nNVB7T_3!du3+BI`h7&Uf&4 zfz~qDOKP83r4R%z)AQQyRfUwdEHZ!{vTOn`m!yhgLscJ7PgoBTIE-SK5%4HbfK{cr zV3IVj3SwCtrm%nh;P)S*28GzD5VJk1Us#uKnAA0CedK^q;Xw)z53Xbu8i@i;0H9up zsVM|9R%xo_3c_0FyY%kLGd{tPX+DiESBv6qB~viQ8Iae)ddSjai^fdD1c+aBfkiW^ zy+uK>A0@SsYQE#T4={nxJ(~}sTQi{5%8xN_-NJ3mAb-Z5;D&HieSFsdr?&qk{2S1! z3Hg88v_oiMoO|YPqh2ba<(t`a3+r8YeB9G-eI0HOtpO#b`{kKlbB&6I7b`s}eipfN zb(rZFr>Oe5<)%W84pgJRE+;k-#Dh#a8m?u!77dk;d zR5-3eRfK@c!M4EDg1liiU8P=@r6jYx_HwGEd9h0XrchfW%Wd@&@m`PYDym4$9(88| zI0AMCuv{km;}Mq>iS=@e<#*$tu~@t+qs(n|m$h2BYL^W-zAjMgQ4x6MEaT48K+%te z=6EmZvo^Q7yq@@wcZihvQIfWLT6Y+K+Ys03SbAYAyl1mFdTF71B=FMN;neF{=2IK9 z_G62;qRN(KBn&Vd4(293mZ2xb-wiSrB3<$p?wSiV-uqkOO!SC-xm5@2S<~Q$-lZO2 z)-USSWI9)?$3}S9c4E=|lB&Dox5->Hz1ZPHSlrn*2#K)E|LdzK?&=yY6=0$yz<}nz zQ4y8Pt>((GvBLJ|!YJjhbfag?P0s$qDD>$}F!UpN9}(Io937ts^n|MY@%_jr@35Z< zX!(2sX-K&AtO0sBnw=%wxUk&-P)O8%arE>nW)d&lD|4o@7_w)>5~j}lcu_?jJAr`G zs8rU%H=sE?+PAzU5a-^!^MwsDZIgbBF55f~r$Zjif1RR}>TyHS^R7L5Th&QxBLHm`xHJEA zZD_z@f97?JP@TfYC;gVi3pnu-yo=gP53_qu316<0{qF-xOwMZ+jypC^L$Zf!%M*+5 z5`U$Tn-xuW7G~S*lf_vX+OqG)+xmMOhAF#klW#_mvwr|(AP8X`Ym;GRnFW>#-JsQSsO-%b0$>@eaNzvIblgEf;ZX;SNfz7;i=GGw2aso_kWALc1&k3v;)SKNjmQYm#ek=}VvJk?t+AfT=)bSyQ&Pj#!x z5q5p>?VE648ZnO$u&ub*sF{VmjO`H-R5uGtv$(tQ1;-9)SgAKFd6qY2CkhnwwhJNr zaj(ivGkai-8$Ca5tn#$M8#*yydu_1J%__7>An=T#Ms`U+rTJ8qHpc#TS`9+}AGhW$ zaBF0K)E8t2DO^b}2caw8vA>BUV^c?ap$(SC^b)^_whWsE-qxPKE=gP?6+i{e#HTNd z@48i=OYEhy6m)(WQ{>QIJ3VZNLrLfhmC_xfDnJ6+xk0rHryeb!hQfO-vX(4-vC|>& z?snq0RFW{$Z*ISci6`K)G|hFawWeA@+rJoMcphi8*|?LILgZa-lQNs$H+6`-_|~iX zj#LnqK6+3y%>7QpO`rmMnCbF;8KiYv&HZ|@yn6$_B!0{B_1`b2nf}>>yjVjWl(W!>_64@l{d%&Ad8{y4R;od?@GKYQNAzJ z8A5js?@TP`hsp$K&9@YfDKUqt%l}N9d~E#l?2+8?lW3H}FrD}nwE*;sl${V1X_~8! zQA|(v)5`5fwwoS?-)@|XZjZN2v@KlSkRxkni@cTa|Grs(%ZOnIJEH#oRG(Cg%aH)D z+&9j+RbA#ElxHyk*&8~7kmZ&S=jD>gFN#v1c23=VnbZR11#*ayxYnkVCd!D>7b)t} zIuyZbxeKybkM?RzDVl4AJ;Xqab8!|@%KG;Dn|y+baL{q#c{>7jw|9*jc@%ogQq z{O89R#w&ycr0#MDad7H30U?o@Uut?{jl38ByfBCy+{PBadVFq0+sKaI#e0H6s3*30 zP#{#dlDKka=CeH;*ON;gx?VOGed@9cIMd(W?{bnZ-<;k1;3*q&yheqUrn({%22MTkuGeE7awmw>G%x^(evoQzzrkemD1xoa5Qtk9uLE9dq+v~QjVvylwJ-%s6emW{R}3;)%x0^j6R~SS2=aetjKLAsx~J=;IM5`J=rS) zNL`AB-Zm@++$5a0`o>?}{rj=0JOZzBFzpSokIc&W0!4?R&vL&H0*i_Fur6Ftw#O>p zYXCf4=6w)-04D}Kx3O2kd2abyGOQGf!fO}axzKHmWdm%3vZdd zc3lq*fzs8E(fCprl!HYINS#suq;5MkmAc**NB|ls$z(ER(t{q54dv3YHbKsDYXrNE0giIe_0;r$aT4hgKuA9|+YkL~Q3 z1HsdA(sx(Nm%BDm-ExGYUoLVsEoE&e&{qJRcskd4`sD&pvO(FN`AW*_4d`ghE$`d~ z)ba5+*h{H4a=f7Djz*DbbK&n0P{HZRZd0gUJ0)a_au;-J1}GiAyRd&wc2i62z5P{U z10N(&q7^Xn*hV+^7+2<)yi9KZcvXG<*24nuM=+98UFeUZ2_bwO#8z#rP_Ja>0e{?- z>7hFjyv$u4Km6ZoDm;S7y>apozN(j9C>DB>=v5J2Ml4RkMq*YzyPuNp( zkQr_^h7mJ&XIpzJ7s(z#zvV(%CLWVT=V6SG4_cSMbD-#&?UTBwdV16(tW{q4+BCu@ z#&}Je1hbhqaQ&dcH#PeC$K>%XfQ(kQf1uQkQvba<;@|`cO1i3mCd&k5g4hL#LTu(n zi?wBzNQ&K>t%oCc_VW;scTh3pJds zV|gUZOY(74v)LG>aMV$lBm1Y#CV<x7dFfB-Cb{%^c(bwcIg^fn07`;~(Vm9hiepr+ze37I1wDme~Se4L!{Va&V z#da}jSO$o#ILrOpGInfI`Cp$=E3-yD0Jo6&=ndW$wE z`{2OuefP@CIFLWGc3@^3yQ1Nl))WIrU@5w`zSEiUclEM=odqZXS#RW3xv8Dj-j><3 zZ)c3Hm}J)JokGVaKQE>`&`lJhILyX;z3$?9YlpDUGUrbJ-ln^{`pf{S>zX9UYpGV| z9g7Y~Fgi0-UJ@Qk#v||DoN$Brqh36P({9sQ1y6R5wd*3MoU`@eD8{pgMuUYKNt1+) zD>qd%3pZ4RJfHCeVn?l%0#ue{ZCGkaJ)?i{#F8b<9m*?8^Gt#Y!XA9(6mW6vqw_4C zK9`t#0jpI>ljt11X8egVN93)azk!n8VMV-LX(^Us#iZ1hlPL91x4wCg)eY?O#k3H8LD>?r1Kg+%4x`f8 zpjtK4GpG6Ymu|%e1S4UBDYyb#J>4OMEV56(0&BhS(fZ9{`+Y~&Et4w6Eqf1RjSIIy zEMQWa$$hkis#-@H5V8MHs{GGp5S~D#(MLuuwU_K9UXn)S;UQkesMOLfNS>lqX1H=7hjw*wtIhx_D zc6oULb!J_2U3`@^R-yDJl2=cZm;NK%m8Hx`B{tpa59QHkc5+{9@`Xdw8FpAv?$x@BNNS>g2V+cO$I5C^`ayJ4kA{#bdKJ!xA+U#|k6xv` zb+HV$x#fJP+Okg`Mra!F=XG4|yA6Pm2ym%aR?S;YWE^_aZ=;L_X#agPWmAEx`;Wf@ zIVC?2x6}l||0b9J{9{*_vTD@7uOIc3D&GJ9!QZ<8M)|M}yb#52M1N5k`58qDw;W(g z;YQUL?OnDoqX8;;X$w$KGIAX@@Vf!5J8yV?wC27C zKGu$EYpg5q`Dk5tGu&z7@$n6z&fs&#dk>laWT8KfN?>r6XS$Mcl{ei%C70`3@jkz3 zbH<#cT!DlE(eDb2Sh+w+z#T48>j2YnkoEv9XHb{RR6h+wGbezaxAHIG zT2vnT-(_NI@Z(Yy@-EXe^KK(prrMcB5P=8yo};S8KIPm$&{ z0FK|2x#_n0zW}(OE0W&Frt#z_SL9UrHEw}55ae;)?A2&^cc9a2j!57CMM{99y={%6 znpG1}cTcYM4q#+z4VUo(rE_c1t=!O`D7t#%qDHDeaPv&)0n#qw_@7|pW+w$`2x-m( zo$%wMy;HNcG%f&at}B!Tyf(^DP%O~jz+i@)lgZWnKYgY}pzHHXL=>Rp45H)#RJMI` z49L-c6b$K68^iL$0{a2;^NTt<`j($hVod(#`vDD8E>v%$xV6=s>0%hNfvN_#H;pU; z;S=f|JE(bRo_)RaFy3#CWe|w14v~KW+r;YE!-ls$hv4jEnAr5+@(PriDhUO6lLNC# zo~{D*a1=VrXRX;2I46CdONK_Mk zg3^U6`V$HK0s0OGxoT0EbSsohO=s%#Frl}Jod@^sQ~Jdp>QI)X>+_00$vlKDwrP~! zL3_ql4Wq0)ixFw-ODCl>)dD9#*m?R-mjETZIJZtMCP;OWZypEj-wcNbq-qc0nz1As z*nPA6s74XP*XAYk1La52Io${6T&qeBJR^Y>+;O#DuX1oxi=YU79fqfmVP!y^_iv zMu2bV*l4M5m1b!ty$yz60Zpj4>QdKh?}2xe>UM4RVNy!V8r%7%KEg-GKfv`0Se*{n zKrK*YG^{e9qJGY9{d0w%rDVcHTRbI1s*kKD0)Kvp;9uJedpEPC?6at6K#!*Z>n`@= z5z1xI*6`%-JrF!gKS6c%9v7gxlejTc7QoK0Y-&MRiZ3Oa)2y{H*5q1^28N+^Si)Gl@%khfo=Ww;;5vMAz8; zjnG=ppeprY7|?+-Y0q90Si;#HW~5`+2t-Z{T4gxsXs3v>F=j1#ox-$gfXYz{Maweg zxkVRG!|zun)-OscyB?jNMSujfm94FRQ?7EA)xH8|3gE#~KEw8JwS^blCg!BRb);%$ zM>72p-vJyb#<$r`S1U0b3+4aX9!>SQKLO?S^#x$J`5KtRbB;~^21oK0|7U$+@-W|g zNtXPf>Uy;Z6aw3F$^YI&ITiC(pFL!ulOW`e7XsSSTx`*^4(*Wxic-M23&%+~pI=_OKcDaH;Ln5R!?&@ZjW5@b$CN}c2dj{J(Lx9{GRC&2_T600`=3wT zCHYztHOKk?8N?};GICAb#+Uoo>tLYrMLMx1Jtl=XXrCL}n~nRxgE9bU_LeYPUK)6S zK|Fh^wdU0skVT;{?u=pmr@zC{@`KNarMTF_7DmVAXXtDp^*8;J3-Rsqv$odlZq(!a zUVOn8sXwxxk&o+o1+=Tg%bYO={RK8jdhZIOc~qyyKF1cXyLi&5vgR{C^Lf1WG`8Bz zxoGpt8?78UhnR!^L)Lr8Q~CdYz$F!B91dBPRg@LkS&@wF5waaw35kwPaqJ^W*?Y_0 zag68~S;ro zf5*@D5Rk?E!-YTXyEmg)9700)X9fzxsY*l$=xGxB0px%q|G>xo0%5A$%ip&&Dd9dZ-d!y`#!A zLdwHdVZ(M+UJ9fT=X-JATvZjCJW_fQdn&&Ax_|8HY8^LsRE#m8z~^`+v1NP{)OuXfVv}c8F(;r=Rp5gtEjU{f9lFbr9ok8~ zzw2#VR`GDWYRA~9yhGJvIbr>rQ&ZW3RC0go3vz)@rRA54UPa}5O1SnTp6J7H*5l4AA%IGlsMUb1d=OWjW(uyY5BZ zdt!?JEAnPp&z`FU1c~`&;#|cxiE{$)nm4SVwBDg&X zF{`Xi=QQMNE;sdngIY%jEQ;VjP`C%_UQr%h9H|T6r;PmlfnDY>u}4vym5mH8vkoK) z0$V3Z5eKsB<=gtFM{KVtHZp2T#CAAM4xfn51hIZmcaD9^Amoh^#i$d(3|9l12a3kZ#_NC zT6Eaopvks)kArvOol870Qz%*it9-cZA^6?jTTTY%3l0kQY#20l0lO0SeM0~_(>K4< z@J5|^+)_sGLS{9hjZ}trTd(cWnFaKfRlaM8vR#_( ztk8;=&}?R&n%u=t@S2}_r^s!HgfT$rY{a90E}zuymX3=G5iTdWCMJ|{6-={&Pixp6 zS=qXLX4m6}guSL?FVTs?n~x@?ZuU3U4#{swbZ(R&m(%T6UKH)N?X&jx=&6+lC`sY7 z3)y^y!YohAH?K*hH(UQx7I~$DiTTK|{(n*7Y!1ivH7|_8D$(s16wfC?Ss}|jU~LRP z-{|>@k$`zRS!4*gS9uJJr`o)oQI!~uA`$x>_{?-*m-ZH+(mt~_MMUB^Yq3z`7b@Ci z+ff^5P-jL@L2|t%M2I48m%XIFu(#0kQRfT6Ye9o+VmcJ2S$^Y_SZ(}c-sj)SwP;ZM z1S;^bld(dzxBcESw>64vU%9?NEf-6wCa!5|i$PzW4tzCVuS}cFEO&fTMJ2 zyK-V{rYe#4zR!;0aiUF%3L$?opX6Gv;Kt~24Xv(#CqCFrZ07bKFcA;p$sJ)g{$gSI&Mi( z{E&bMKnhx$OL;{}v-(GqPO;GimLHb+ISLw4MmU=ZUb!KkEG(0swn6^1WDz;K!JGH2 z`8(v&DIO_y`y=*EkWRHlQA(_N5Ycobd(HuHwMJ8(e8Z#kMC^?<4d35{SuGZ%7fM|l zN=-zL=C%a64qWcMQnb9U(>iU=csyb_*Y5jX@4oR-PfSR-MYK_6p_#6sfbL@$X~Q@a&cfk*}VTN1uPt(pj;Ke*PfN$eV&aelo z+BZ8;Or3DbI^E4Bh=*{h3v8P}+0S@jPN5aC9JMx~*QX|oP9|^y?isZLCUP>Aw8TpOSos%f0Q_KyEzE(LWGoKRmirc2`lIZDV0w6$ zkr(?ErvL6lKZzeA#b8V>A8jQw(u)%jOqK%DsezHIn-4U8VR5fJxOKaNP7#&d7a7d6 zGp7&&hiJi8uVXcvPsT53FMS>nCdYR3_7)v=)jDdnUPnyY1NF+ARm4oJ8v16odV)G- z(OiPJmFlNSL(`R-sCtK@j$Ae8p*5i_bOqAA>w!ocidXkY?b6pM!AQsSa0C2%p0)K` z@fDSH(gtp>061S{MVE@%~zgBEr$;7 z-LRS1x{-V5NL%ZEmt1}$$z^k{04xrGmIkdq#09S*-V^sG&%DSoMT=^%2gH`+E$#n( zPa`3!S{sR~B-iaxLc4C$q$KvIF)#={8y7Fb0qSc00rJw!OTXW4MOzOe$ zY}S;Ey9|wGoO%>!qDC|&rp%z*^^Ed_$P1}J?zdK^oRQ2h*|B1i_7z9*EEYC8S?~y9 zSlf{Ja^pI}z1*m;Km|YhYk#w)Wr|J{xecF++i1Cd3x=ag3Vdj9KO$kbrqADL(ZrTo zdpx;!dOFOubpp>!%zv>RnX|Nwd>ubU=uz@xRfXC#^;eknFT{#s>_?7IGJm;J(fIwpI%h*j(biYdK{I1+m+LkX!#c_4Oojd9w+yc z=@X2nXx)~z3h<-iQl|H^ZWUv;EobT9_BGl=$s=xRM2xHorhSN{K`kI3JkRR6Jb@@p zmmcYBMRlDL{7wqq5bdOmCqa}Ngqv{@nRN2Y3=^@)hzUmL{c(cn#2(GCDk!L2{&^bM)nz?D^ zKFxFb@GhsU>6an@61bs4;Le)OX9L_CjoMeZFq_oM7913wcvyP|TJ-E>+cqv4NoiKur%GWx zpMq!tB=04+gVo6>A@sLpZC^NJOIR<0ocP%X6-iTFlE&2INn zKO|o+l)0r#Hk6E?DTC0dPlkihDNY^t!ESC-8GZKL`cm$C{Kd?!@2FUd@d9DhhrE@E zulgBVw9mVna}9aY;HV0OLXMsasfjG!dNaaHa`x}EOAAfAWvQ9dv{x}B#NSb@EQAzU z!7fO8A!*07GkFtt*5vq{7(sd?EmY5A+QpEN@1quW*#g_&w(mCm?7BE<@u4Kefv87z zCW_y{?gBwY;+B@6s%L#B=STNud`1K_7i9w-W1r?oo$WlH2|fQ3Hl*(k7t31hSxcg1 zdVxd5NK#|jwu6c01V}c=$R@yM&iZTHpRWY!W!-GHo||;VDW7PWqkd+n`cpl(yV>rv ze#C#i>@hciSX<^`L`Y8N5VOuvos`#4CUJ1y>WQtIp6dIJ5@!n~cd3{OD}}+kum6)ug-l%E?>=lL2Ec+bcVNSqldU_6|;dQ zcMiy zzlA^ivUyQo{JwE{MGR+$B%Wg5z!(iN%x^B0xX{A5CtA1Nk&E&J?}|OX9``qRd|hqV zrj2n+x6a>DP$szeDlk?*hwlE7>{2k~a7_T}*IkFTiLSaS>t;vd=)UyMati4MRwQK& z_Gu_x$;{3-Hl5(M?Aw^*92V)v7yxTDyvFfxQ11-VmpP$W| zXNtG7=bqf#O%N=Y_r!aDo#Lr;& z*#JE)f7o8|dB?1?z`@I^!a-LZIo})9Q4Lp}f9MkgJddUV<`Xri?Yi})amH{XTQ*-S zOJr{KZ|#^8L~)|$){jSGj;Nv! zfFeRLHadbX?8c9a4%ys}DB3^UAwuxovBGw@#@!4mGa+92Ngz-kh`h0;@`*O9=M5xr zy)mEU1I4yylVzkct+|n13Yz#nf#@-wdLF5=v^@#bc5j5mHv?$RFPD0YE@ni^O{!rv zeq(@6M~BF^Z>(JVG4>I`)e@C8TinZR(RVTGvcLas36)anu}ib35&J~!C;KG(c6mp| zMD)fz2T!E}vxE%z3))sBK>*QDLMx2vs%sKSizXK=iB1^%q`@}1cFRtFU)$zlEv7+O z1Ksuo`Dihd$&6k_DD1O45#a-|&iEXqug{3k(VAa z02~?5vR(=!o$mc{HLYfz-xBML5ObUm9C)?37PKE%ofDpDX#F_2`7^1@P}d&$wot95AATnyOZ9ue)YvcitfwZKXRD@h5yet39oV(Gi{=1sejLW8l<>z0VUc$o4q zv;y@_!4%MmE;)(3vk;FzH{tVI_NCH~Ti3j3^osJ$5haO2C3CbFR^wmLGxD(nbX~OD zxpAAUKx@tAr$uyF=byE>r|u6vN^JCXtTg6^TF_c{(6EXdDmlHQ18y`C`giLl= zW-P2fT8e-(zTiA4+%!I8_+}U=YB@p0f8;9gSIuF3P$&hketF5MW|3IjP=23imo>?5 zXhqGA7cNMe-L})i7R~2GZmCE!H9Qpic#%-)pC0n3ymF8u6Uzg;hfKxs5$gT242ZDA zz=`oaLN*!Zl7Lq-%FF?<#b81#I}0=O2U;i+qsu8ih#2cdz>*qzE<0?kzzDRSGCzUF zI&kYmR>Kb3j%sqzwb?E>Xl+pTxZ_@fCm9?8G#J+vKhJ9W`Vjl5%DUS7xJr)mLvcU0sfG)0z3Ww@i~3*&s~ug5#@wRkFeL z=t-xL%|5t!e2OI9ij3|DeG|cVLv=)Gte}?%q(}KY+JPr>M#xLS)@n-RdhFOxo7*l; zDT&`uCs8aaAv{i<+mzoDn_kIe#TN#?V-i9)+?Yhe_j_Bw{$cYJ7>=uyGhw66)bv`A zXfiW;iND0&-aY)Q<7ywgeIohcOCu&%N*Z#>gI^D5o;a*-0Gfw^Iq_$1@+h%yA#rN> zSoca_yu4ikort77lLUa$1`}B1JTA>n&Y?w34T++@%aG_@*wx^CF7-11a+29{ zK~>@AP@jt1MBzphS>CiL9e-bv4Sc)Vqxq4~v_*h#&HcFt%*H;Lze$~3_8(j!DlgCon|FX%CDy^+mA}fDyuusS$YfX#51<+ z&c!=OYMRUrXsO-cW6pT6otV~5?9`dSKUJ%2cQXEu7C`qTK7MIixfxabKJ=&M2WK_d zQMdJS{*DfS)Mgv++}~@lE{}xG7}w;pZ3*{IiM$z>TULj!NC3ma>q$#rNL8u24dLkE&_azsMj?(%l{F6 zP0FPTu`t<(Y4*bNr>?NgmC4&|l&(ZKurxB2XHHW{4&k8lgcdTKsSyjNG?gbC*gJ^V zO4GfvdTHT_nW!{x0FNjge3Hp9Q1Z=5Iaq(NoUe6J2@z)Wfsh?>_g&(K$l%EumQjXI zqot0h6D7<-+^C8P(p;6j?AZ0*#BNAxbVgKy=KSZ8$Ap8D>wIiS`BGlk6lcnov|x>+ zkF@6EaUTW%u(}#BI46xU3maw*ysp_SIQyjhHrB0ZesL{e5A0B1obz9=FEU$ces*@3 zW}o_M62@nr-%-&pgihwu>7WY<1tvbwOy;Z4Ss6$;x%4PE^V;TAXRhy;3?uph&Hv&r?8E;wyMRju)q7%`0y*gx2&Wc-&&zcitV*<~EnBT=(M= z_lGWG)(vXXrPESI26-HR)fJE%Ot13Hl>3Mun|Ieq*q-esinHX5imuV+TVau6T^Rh} zm3E9=!^3r_neno4o%t4gb7e`nf#;XqSC^PiS9sZn?o*A4+`kal*dMN^Ip3nEA6_t< zWTCE18B52nY|U0G$$TWn%w&(XcIo;MplHJ9R@>kqHJdXvrh0;GxF)X|z1x~MJSx8Y z-r~Eb81TpB-EA@DWyGc-LjvuuA4@KV$DV2_PEOT@Tk!=Tz6YOcauLojbjQUPJFwQo^j5CQ^Y})|50<3 z-c(urWuSHl{vk4o7x$@>7#jAjae9@O+m9X6w&nd-xTIxKay#1a{@Je&@AhuPDt z0!T;S9|x1U3(|IsBuHmuW38?DJo)1nDDMz#x5S1ea{H~P!_aZ+w{o5t~zZVm8?OO8UrGMG{zrV$7 z`qqDx^MAiD%OCu?|DW%QxrUJGyu1c5v}j0Cusg-;B@P6U+~FWB1@P91?#rPp5V_p0 zm9+I~>+NN6)2#Uas7GZMC@PR~&t8@^|8?;}%eX(~71n%#TIxSVKKNy2VcStXAN+0y zr}1WpDEck=hop70|69Cs>1OmM$JS25Nx#7vj+mkEkN-)Sr2>vW@UT^czvq@ zqs62{AP#X5WWEX7sqmxNzka#oS4AEZdERs2E-SkIy1*!s>ajHZC(57@P}lcz_YFZe zXD-vpsu~e=b?!UZZYj!Y_e!&k_OF!`=pk(n_o^C!`zr8jg|L3nH}Fp+XW>`e!xc6uS+rU;A$VE#}wmOC#4;R&Z^nrsdd<*2Z zxfSAKwuj#B4jB}+Os6yA7mgmlx4;fU{py9Z&~|9a<7*&FQOmXa-veiMTGkc=!`jF& znZ+xNkWXvUN1J7DF=tHyTiH{tTQaABp{p@h*MqyDJbSB@|M;#Bo43}4&f}+ z8%whrGF;|_XE0i}1A(ai#7M++8n18@-%x?e8}SC#w(op>doDoSY1pJ14@HkevXn@VaAYajS@6K768mU{)*7|zfEb`dMR-En80c4qJ;MF_ z$vfXcCeA;=gr!ayr zx%&zp8*)VoCNnw`R9Il&5vPLG9r$@oST5N%g8pHmndQAmHxD%n!Bc; zV}{GeQ|nR@qtv9o2JO+yXjF+Z(PAtu%jgzZV454p#C@A85@jGmd$Ij5XL<)+lJId*KN{IPRHjZt4^zgV9!=-E6rouM6}#S2fatk z0&jrCT#jU@SuPw->>L66a+VjV@U;**Iv|Qfj7gmRWd^_rr+uWQe|J|VDCKCJ%q1;X zp9a|2ZM&YGHIjQ5pGrQH1Sr3D>Y(eQTJ`2C+prG1_3wj*)ylD@sTEo&aOy9UA#u=a z?OwVQp(Cu8$y}S`OT$`0&-uGm;fw%$UDV7`3rynrbm1|HJ z?UI@q`BWDr;PHZl8QP;@7;Fy{p42n%QAH9|l|Ne&&uQHPawD(bPDexAl-~_r*2p!y z@&ZKiAi+E-`}rU|euQuRjpJ0fM~?0<*|*webEIYlQerAjhkv4@A%a-ziH4=O0=eMC zcGFS18oR#mqwydYTzj!?c4@iRIKzc(W~zN58aDR{@10{B@VQ3JJM0?EeLv1m9n!q? zXurNCwK+@M0MRo#gu80I;TuQrgB5Rfho00E+ zZ@)hE0jUXJ%*FHzkKGyt{~nOQtcYoepYIityAT9&R`eiL}NT)%4PkVjDam1%8>(|;sZ&AdV-f5E{^p^Z(Oe;#sS*LX}!(W4M}E;%Z8 z%WDf_Ud;mAqfiFeanTOSa&{p$R?@q+p~3q}10T~|&32~*KIr`LQY&q>aEboPQ6g+z z5)pW}^+XK7GwqO`PLY9P8$qJ%?tA+rIO%L!6pARwxy2tc(aK#2LFt}lGLtj3u zA*f&iQHU*tEYPRI8l9@IW+q)>YO6I;hrc6jBP<9uq5ZfVca$Pt1G4mKDh#VVBVdkw z@6;sfSV9~*s;u{tr66&mKn2+(M*U0BMz@BYpQs-%b`)G%5F>1M%opyaEJ4wPhMJkY z9trrxs#QV<9G14&W75Wd(>kCB=oAbtda)b>je|+6D|mv7nk$HlC)sh5tU-FK0wFuX zM^UEuzUX@A9NZ%+wvkYNbB=EDaQJ!b45{#VaZ(7cByzXBHkggX52l(T(q^i;aF$7oj7LN7Oq|_`Ss_}GZM6G0pUZA)Ki66wxxNwM zzNG@K`TFqusnE?)OER+2Oeup`z8&sZYbu7$J91Hx4B5%v?qQB4jcsP7szWGRwifA? z_^Svv0rNI}cG6F7cJBlJ0m_+CKOZRv5vQqhHYQms=CHc|bhFj{YP4kpZ(1a{YxD$% zVj57RLfmsK54J;o9!pfAx^*f9_kE?xg@v3XT0&tL-*u}kQfG5ZPz=AH-V8Z-B0S*F ztB~?3L}4tbg5OMr*JG5&r%6cqO&aW1W`d1aUZU$OmbdC1Bb%Om&*{wP-j>T~vQ*4} z3Y=052__oY_Fbm;$$f{7E!S;Hq~#fk(LQZKGi{7bbidxPQ;>#L z1V5l-M(*(|psV*h!rcCNadU?a$693S?x)8JZx~`d**TATX}UI8eksxYK@n-_G3-Pj zNqrapXv+)Vru8c%aqCv5@@nPflPb?^Xt~0Q%}pAbM9w^~Mc{ZXwQ^bcq^$WY>O;t9 z%~$B`Tl`0)3}7y*Z$(8}?PCJ)a(XnY!fOAm)#i;_;Z{Ux$0v8b0Zz3Id6DxQmp|I* z1Z6EYQ#JY`k7MZPV{g!_tK~i{G-~cs$n|+RVqbk^RFv3sN22kSv^fiY#Vx+EZ;3{L zsK$J?FPRHF;LR7Wuwr~vy<0Jrna+|h_M;o6+4{DJCldx0^$4M(>(fBXCbYw#?U&@Q zk)j&lj6j4QK8)F)ZHSNHjUyJ+Pdba0S^5(7-dez~P)xU0o}<*?Kg#&W_~)Z15AHYB z3CeI$;CI#dX|1j}{*i5G0IlE)v_d!%XvI61wAlXh`8tEX&-d+P@zs!$tM_GPFx3uV zyog&)K2ZKz#&1GlK2u_J(hBl*6zH?un!DYyxni!%y4t(|kj2!~)FE3icfFuar@5FR zyOeY@h6hkZ>9$uC7zNrEdT+AdKu1y;0BEVO@?xq{GBY-gWuC~JN$FIOz^emm2T z6yj%*gHuU3aEbt3VQVZsa^45bP`PjT;$9WR*yVAT6!*QJU)E~MnE)Gq3w^7<%i+)O zFApuMUzS1NPpZK*R&?21cH54XxuTrc%VhC!7}LZ(+otNu=D*L8Hm=F~**JCEd(%r>4DOVv@#iI(4d*>HV?< zL%u4jrGa-9p_{kuqG)woo~zeI{I9$f|0;&&7&*5wpbkFd$ZvOWh%QKMBosN^Ag;S| zqWbyt`XO>ZD(R=RA-9A^Oq;~dPm;15$SbKv-vtMS)b*+-Tt0j_1`_{b$*OXRK5m;p zT&1(rlF9)F2ah*uSWVe;5#6GO*^AC)x@^+Xt0ueJH-7{!scv`1;hlP&^|Y&I z;~qrKA;wD7{i8Gb+~EyVm~7ti)Xd9$-9ndS2cu+O7&EtUyjB|d%bfUB^}|SLA4dgt z0l(e&sBXcXG7m@^{bv4wUw*>^4|sl%VGgyMExXmb`=E&vX+7TYt0Bj__@`2DeV)6d z+8slVU%*AZP&7Dk$z$)~uH>0KQD7DP{K-NRx6miIJy81+&%I_CA2hij%%N|9=e&sx z#nGPWgf}I)*om#yd4p58E26ZWJUuOVJMx`PI+3%jf!Lc~bdy}@t~b>qA1F|<%lA8( z*vpJUd8wmXTb9bh$uJ+>&>Y&0hbR9{h~^aFIG+A;0Sb_qvLl!L(JKyK%LcY5hTudN zykV%cIq>+*<5Y-o%ss=-4$oPqe~a5F+Sx(X2!I9mzHBEd&ixJ><(!b*ChA!go(3)m@y?a z(@7AO^<_iBPz<09tz4B4uF1~dK#rtd@z%U0m^$fHexr+USUQ_2WAT|o-R_rfbz}CJ zrxfw$lxuIjc##gjW<0El-%Z-D&5k3&J{DUvN{*F2aUvzy2jjX>D_%Sv=jshw5Hw2n z(gmkR!D9`9pHt(0ckWWdN=6i^*(Lv~kR;zs1t6>7JfNcaedAAXU&_7E+_(9PUfP6C z*!Lh1WGTH+Ua<1Yc7W77QXq;Ze(C)ynXkuO6$6@shOa5pJ!H}Nh^e>L; zSl3+T8?_}N#r$e+*tC(m%>SJq>8RE`vbzjYZS=xI`}nyN2$-#lK&xy4EJrzfuK^vP za@UTm#E@Z7SYyM`=M1RkbM2^Hk|0azdfPGNm^yM#50jGi0C+%AGQV&)xUU@fnA64V zWMltV>p!9CrqF|LxvrDIX&a&4@c`%-y)ZUU zrJiTQ++r^CpRxAlwYzZN6!(+OR^4|!ch8Bv57r@c$yE$mZ~?{e)7rGVky-Iovq5rN zrimTN$amID?u5;k&WDRW)Ml$EyU$D%8PZn>^t(@8?ePymOlZyOuTwBm8$6b(J|hlA zc@47*Ea&YdkWl!hORh}fDj@p=hd!kwu|E^Z*t@Qsg(*kXfm;L)Aeu+;c4#Gqd}cqw z6ZQ;m+q!LySB5z(`s<$_|3I_~Z)%&|{iw7s;Ensz5MU=WlGqJnxuulZ{FW~XJDpcl z?>-=O-z|nX)9N=`XpMw!{kHS6!K`8so9fu~q(5=vC#NrOts8(MduWp-A@6pNYMsL7 z?|EQ&i2q33cuw6#mLZk_5*xXbo-5CF2F9F^1V59GRgF%Ld!^q26}0&)fr=n9#X6a+xQ^(!4o4v69rd z{~SVl#UlVhbHfo%R`onItuh~3+hQZ2bPpa!ef3U_e5Fbf#TGz2{sDn{tM;nQV2tb# z=_S_J`beJwvqQ%;D*cN+3a*H$K3ZjAI|t9IYslnf;h|)%NY9kGTlYx_xCMgR(tDRo zVON6vxF^DJV~OKOjmJc*gxcApL{Vr08G%%-DWIF97F#x0isn(KT(`A+yYISI+2Peg z%NIN<5j>F;EV5ib`V-Z?$@Ga*Rf5KGB&Is6|H8z82B9aWXrlEPBf7a;V)aT5-#dCQ z69;S~PhGmsaAzlKb*;}up=2$^2)L?9>XnmGgki$V4H9KeK7M*lkyU^;R3t-Q?bp4J zX}YL8GF=cTM~m@hBY4X0a%l&TL90fB;Jcspp6l#G9u2lf@vb!SDl0q^k!mkvOpde| z??0tKDx~h-lO*tPA)!aJCezH?y$^wxOi}+yjIqw`mirz9>pXT@i9Z|dRk6w7PEs*Z z&g3n#>~#?2I)+iZwTuJDphvW3KK#`|X#lt*Mfeg|a+GH$9B8 zck1K@mHAx3VIJPRcP7($ZpxLmL;B)OY|2q**<#rmJ^lZxvSrlcZh-02!oWBwaK$5`)Of;0Ms}ChO+j@Q1j?uha0Xu;H(wTDc*W+{rD?2hb0d>P(Y)AyEDS9 z^7j9V777;d`2TNf48=KL_|MM{&gLn{8-S(qGvspH9uM$8k1tvJk{1P;?EZkN!wH4-S=A`^2he)9 z@F!`kc}yL5Z`N2rnsIILrL)f6Sb6aoia$TpytfQ}x1k?NZ@cXWxTI39x}843p$aVz z8g23Kkx4rlqeZ~L=+FV#2V?E~#LZWMukUI5g_|31p~Oe7p4or=7oeuV5phf?DJV0K zUNPPJjjspsAa2xr4Q>b+r+=lG-%~nP!b#-H#%+KuxKnKHd6A8uCbwK17&Q7m~ zxgBc%EkLqF;pQ2jQt}{!EdMB*dD(!b(&uIxlUgWbG5M3UAibJv6Z|j#a&tFFzH9Ty zpT<}Z!h&_Q@{=LgmjyU0ILY1G9?iMp0ea7!o#ejMGb(g#v~E7hBMQK~(|>Z(-*Z5G z$6SY3w%=um1?fK!a3@$#bO7nAtuk&POcJCMg7LxM(1?f7ZjL`->@YFv$QR}(HlK&U zY{8Kjv3eXx+;jK@d=_Jm>d5)go5!72l4afwaras_pbsP`d9$8c*RZ5pbS@dEw-4H) zA>#c*S3OS8Xj|R*F%XU6Q4L0rOZ7egQ_fr8zR?sjR0tVr2bH%(&%{hW1mF1QdF9H- zqGB!)%|Hq?x4}H)rxzIr$QqBpU+Y1w^*0Iv=e6eaG>Awm@K+gN1)?CL;))M49PYjW zELZg*Qjycp%nw|r248sPXm80-*tGu5BB(x`i_ddaxX!vp`IzQukjqh1!;!j4w*X3e zTMGk)Lu`Sr!OD906wpUHAS1)!X}^*o{TZ8Vcnjm{Mj*XaCxxv)ZiJZe+RK=pc)QAH z)GOgYG5#75QYs5hGXd5Usx3P|%FaFdM+*?IwavixGY>rJ9N+j|yUeC6h6X_p+mPL* zEeP*dA=>AoiL;T4Bi;mwm^E<;P-rIPgv?^;p9cd$-c*^EAWPC-dG=>03JppSWE8cT zKR$u75_8zF9mad5e@(YZZG6!cO4kom9q$J+i}t$y`~F_LgpeVjBj|%n;Lt=E_c8Dn z6E%6n9|#zpxKRyaxjsSu)<3>id14mlc&K0nM3P5I8_wOL^XQC|>f<#`9+Hd{mZ3>4UT2$@->9@UNlnuo>)J_DvfrD{MZ<$dG1@!46KKWr1mugtRj zI_3oAe{usiL8~0S^R6Nm#lT-VSn(-$Of{Ai?$jqiD@^EZ+w6lM_6a+r^LjDi(tbr%QpD!l^XI?o zpy=$mX5cO4&(ylC90PeM>4^(lf79maw1yh*q?LkgE76dPc~?8&5DzY+)O+6+Qd#L9 zZ#A49H!L^&({D7TJyZ^2ex&f}V=Ip>OW)b)`q}%HnOo1t3e-+^s(7!jJh*+}4W8km zTrr}??nSxlZqp~|pa{8Tm7uYEIW#^IlfwY*M zR^>ZyxW$0k*|LU?y5&2Bc{cAr-R~cW^6F8!zx^A$z-D+yM)u&0iwswN>no=AbIUFI zqCXoyVV6s3C@N{8-+kVvy|l@z2@QDeiBL>0eaAh|>8tWyQrmICzdyCmStV#dhOME) zuCF6NY1a;!QXy+^R5mb!i<16R56vQ&*{}jV$hs%Q1KdqYouYp}X)UR0E^^U#27^zx zYAvo76zv!8QI|@ZRF!SKS4tT_MfozZmNQt!3WTM{{Z>S!q{(>T85h#+HNto&-Yj-9OfH|u zLcO#R%@FM)$CoG06|$4IT7Ru{W?b`ux}Fj-od@JNg_HhDP;wa4jjdu9d~6gl0N&$= zb$=WR`O|f@P+uSC#FNPK**wN(d@`LlBAjXDd5+H}<+jg+Kl48Pv+U6Ty!!*lk!jnP zL>@>+^7~#Zs(Z>thJHb!3NQhlq-~%8$-AqBt#jSzEL?Z~k>Y*@F-gqI_v_P>s-UlF z*uKmWfAlaoGoKbaGve3iGGZYI^PF|Mqz+Y$neZ{xjLoa?(-|5Vw6;H$lG-4_DmxWq zu9kF*JY&9Bf4bcFdaUYH@N(z089n37ODLbPiBoF>oG8ZN&?4x(-(1|7~k_e(35|4(i&YH8=?xO?xZI(f{t%6B)w3f}>C*N^A-oozrb=zZr zI;*dz*Uhw9c?CS2cr0-RXHmB)%BM(D^2pc0<$(S9OuawSLw0v0G#Ow0H z;lZ#hpGOlh`@lMnc}i51-hv7HZET$A7$EQHy?vmZq1N_&oVGI26h=8FcrSfVq3XHB zQsH1yM-5`7+4+A>NGK&AbJjbyGztgeD#8wF9|xE%H9uPv$KFptGFlR-Bcc}nGqo0y zMCd&e#mK@noqX;w7t7K}MQ+gR{Zm4PiwVK?gcX)#Fufp0+3$dDvm-N?w!11O!npsn zb#O;;Z5l6I2m-t?^z25P-GX3=hVbxwv=nAg+uHRKZd8ytNOA0CnMxN%CB-J-iJ#sq z-cLCwO0$)p{Js%A3hdg=fQ-gsfxu{BDXVbfdF%4YedZko$39xhP6;cY+P}O#-@{_6 z%aQ)p^M|{vW(Ax}44iK$i8hS3l}A}@RIvH9k*C-gN~hS1GrL&0T7J{(=)Vd7fu1x3 ze2$(UnA(EOKET{}gZF54(|kge#1b)%Y^qqg&C2Fjq#%}d`%5e=Dc$F?uyjpB*yykz zGg0kP*oad8Fbzr-pP>?Y*Ikk;BY2a9a6yP1&FMHkeg^0T0r>=e!%DzeJ}4x#^?~cQ zc;!>^Z~Ka{VxuQ%ZOrq+%qM!PkU?-{SP`EY>{&xlrSdl(<$G>t!ABDlo3h5U2;o{Q zhsD>lI!66vp$8kWz}7gA&J@u=8}#m+%KRBpvg>J8Cdi7m+I+Sgaj>5B5*|4r!d2(E zgdo$G0!GVp3y}JqnAbJqA^>l4=h-#kM*tK~V>!sp3FLdLn%KW+8s&ka&f-Wy!!Yg%u=UZ{A8k}c+6eTOY#Qne(Ylqk^W?YPU-i`+Rom~mVg|^ zZ~OdkS|7PESLTHKw_?}{O*dtud?`MTz^f%w#e4*hefZe1O`akx1QzoO|go zp6O9y7BATzia0 z2m5-61;_MLe;h7SmF2y8(&0*Jjt4SMmP)wa*f{ST3J_01FdTG2U)UTSDhHvv<&{Ovb$n)9&MH!TlMXo{ zt01>1<5c*O3VP{#ujvMfK5n;6(t5di*o)oGC|_CjL?}92zsK!?nasj*ALoj_IJRQG zQuSbM!z=Zyc4)3enN>2(Z#}cHm+s%*Zv~5@y^nei5-7f2u_6>9AbQu)y>azkZE?uK z_YqN*=eNH7Jik(dB&u?zFfLn;S9t7dhp3+@MM?U8zCPL+%r;8tOyq|ujiLPFP8V_Dpfd+Qbi)~R2`PEQ8WaGTT{Itey62h ze&jc+uC)PGfX^x)IUoZv=n5?{r950@S=$FK{R2zYC$OY>_PMt)pd1W=#9q(m zMtqDQG%IMZeHu}1-1l_iGZbS(ERFGU&>*`~JbO1|mB;G39`3}bCJp3-r^U&y0pXCXj*~MC@ugvi zpv)8!?K_$!-h3_-q+PA)|Z&x$?vxK~qX4h0>P`BPueYm>EQgQAoWtG|tIAYcn#*IW zSD=u|d0BMqAj4zsyV3e}VU3=h@TS}Eh^M@^Vy3}PD(9*$RMWvSqghaTs@k{Cy|F=* zCk_(IV!~E6Z{`_4I!0UdSrJ;;L>_6uKPNFMs86X>UP!uNJkn?GPs4&)hSpYy7ECN}u{U!3LIZSWz$Wv?Ud^YyIB&-fYTAsxmf zj-k1598QofjlS(oS)akThzkrmEf+x1H5n-xHPtR;H*DN{*Fp9iqndej>E5*`zXk$8 z9`7B64QDC#`{Q}k=t1L_hr$wY3Qd#hn`Ls{dwX=8U)=a})>@f}#x;E@W-~Jv zTVfq)_z|WYL0;?xLcuKi-JI+AQ=ivBJ)MX%v89ehY6OBX(1pwBSOFI?mL zzE{@S%e1bTjh|1vh?cLru(gMtw8h#-A~_auf4O>{#cRr>D2*}gRQrl3jyzw!D@TAl zvq}>^y3g{xmJVKavBc5~2zRPz1OIvCo6=;JgKS#JjC{$a-+j0jh?yyVU91LbVtIPx ztKkkTn|DWa+UnY>E_a=EjNSgYQ~G}B{`LX!97>?~FNBQ1 z=ooh8i0Rw~df~Cr(JzCZ+z}o2);ZR^$3b z`J_f>h7DDS?-Ox1&85FWyCjU~qj7vx`M5b6M^~ZXp;@!>u?Ld9yM|m`3hdWgWKJsk z@2MgWj6Wdr=}>c4AW=`djkh1&b#*Rb2LU-pmTGRj_X;N+75NvV{Y^t0lsOa6E){$Z{vQqZa)cSA-zg55*~RADZ|g1?f|gByWQDXNAg#+t(|7EBc$E`v{9xl{lbKLdkp0%S(lbT4JrMSDSz8**M3L zTxl2!zPFdjxqMAqH!$stu<4}99g!5wP{N$p$CO&ZiA472^F6Jxl@r?(c$x5WA?~5< zPvmGyLp`yU;`!IvarqR;wPlmlsG|Z8_wQB(j|p9uZG;=@=QqUhyqvL5`_vSJ*>68x zhRfp}y|lm_0P`qG6XB1w@o}{$=Cs#QX5axy>J4 z$K00-@^aU(-H@1Aw2%H@O-Se!{wjYLX8&KZC*{kPjEnq4aKdu?FC+xS(p~Sn3u%>u zsxTmGW5XD6hdJb11ISM6)VOK}BQ!|+e0=|5P~Hn6^u_)rRi}OSo$>*8TPi58MfXgo#F?Yq>Vss?aV-kL^3(Ty;+8VU;bwC};;P@0 zAn#`9iQCU|6fWD?A25XvjvwUr$K<)?sc(Ux(BMl?}EmCIAl0(toGd`u;-tysi1vw zFZ0tbuIAVCr+H4M1^2W3R0CqRC-13dNZC5IdzM`y!4zJQ9*?u>qPh3~F!s*fk$!#j zX4tW9+qP|0Y}>ZkvCWQc+g8W6S?QqDNhaS}^ZaK1oEK2F?p3Gmv(EYKy{|pYPWptW zHrAo!CQv|=`#TBjCkwZMKuq-ETWJyN{482|5$>Tvu=7!6!rx_8jwdYOq;I7CPz+Ti z^nal-AA72&|I|b5|KkP6)OJBNnLw_%sh~hcorBH@qaLcy`+z_zme#~~gAL+Vs_{C) z+tZqbGRfW<7;zXPIoL)t9>PS412Oe%c#?#$T~ohrEu|xUM%IlcvZrEAQmym5X*kMc zrnKyS?kM0yea`i<0wX{Z*1>zb|1baLgAncrQ#!&S8c({tlS=JkXj{M5vew$G$xAuE zUf`OmCEoBL*zNr%@{AJErrN{$$ZYwN{W|DbjDPnVYg1Jun(D?o%+2APFI)}n@RIdZ zD(IOVI%(!v&9Xf2k&c%6HxBH^9P^@^V^ym}u>F0jRi2vf8@h7l)i3C5ctoG3zU5w@ zH!NKs){y%AjjQ}VJiB`e83Sw@Jp4}+&tBdOi}%q)wmp>odVNw3ppuU2U#!4k&kx}K z{0~wQb8j;C8bx$e^c5TJ%~jDC_R8Tgrt_E1`SgX;@t6F66GfX?JhY)sZwtRsw&k(O z+&17gFq#Bdk5?l2J=Dz+#9*7{CXOoj=G3^BnxnYR3}J$A-eqr2OmKhmb|iPJy_&V2 z46Gw&6bkI;jU8g9Jw%7BVP2NGavb}-Imo`VX)PGFgdUr?uDg0{o-?kHBLcp1LaRcS znc)A;8{-Q8!@bqv{f*^W8~xLB>aW;+u6A^3NLBu$v=VqdVrxrrkTqCknAc|XilgLD zPZ^5`+Wpls)?*assT48s{R)4_SY~PF&Fk8;IZSGFrMK|yLj;z~@)nTGXDAxY^_c_x z;wOZx1hDvQp5#YIT0T7$bZ<-+WSD--lh3<<|HBae{rfKC`OAAdCgsBptS0)=+**`p zWPMuTo~*KPI{9CCFlmz;!hbB=+l1l1x01kQC{t%RQ>SF5o%z&c+2^|Xk{w~l$D*!f z7GyTeBGJBK@W&sHtAs8|1e$F>#hIV#M;45))~}4n;6ImO(*L)G|785{f(ROxDA7W4 z%ZXB58bI=hLU&!`zlvY9jCc1NE05k|1=XNA@Qmx~)ht~OO;6wc_gTP1R`4xev(@PAtU)+#}Xx5(Fj z8WUMRo|H+kFN)k2TY>W!jv6aTY7| zQGE;-E=pcKf6GgHYtbd~yf*Pqxdm3sI|OM80e0N9{mIN!XOm zxFQc0BE4~+|J>Cpf2MHRtOV9PcmDXXb_g|BFT$f-)MBHTa?O=wA<&!^K}niJP$Zt)2G@*%NzsNfvHg=;LYT6!^*2?WOzhQdA=R;${eOjx z-#D8Q%WNyTU%w+9cAyG6zY%@a%+#&02VDXwwrDCh^tUnYVH`tBTmsN2Gr+B0pKpaL z_W0J}}xWSzYzTZRpH)~*rGk3LF6T(3JEhvKF=Oj}e}lXy8$|EXP287ink z9`GA#EOfnM?|nJIi_!F4XJnAl4W%YF^!-m@1T&p`THd9{xsQiGGklajRe_(&PLf@F zhyM6q`M;#3yug|RafOTMp-pz`@jjNdyOEZk#Z@@pPl9gIgXp(LA)f0E0M#7wU)(Z-Frmi1;9?QA1`AK=yNH$8({wsLjJBC58R(s=%LS?yIs)R5Y|Kw!ck(By{Hmmc`eAlSaF7Yi*6IyKQ~h z^{2zcGrB7EceYw7^d_gJ1u*FMd?N3&Z=#Dc?yq)N7-3O1UCuzScb9^V=3A zV`C`=)Qd(P1dNN=|4nDUV|5`4-*a9IguEQh6?> zFzZoks4_e<#ScUdlHbaS^WW~i&up6i-Ht?|jR(oTMRK-S(Gjj4H#H2SJiq^{Q>0>$ zA{z>e66<*>VO5lV-PeKjDt<8IqkCyEd-ae4|Gyt639tPBJks~W{r@HfSN=a{bxi4e zz^ytV05j+6PhhHQfa<5(r%JLr`#&KtyyUfe0imWeABw81x`Fq@*nGK+>c!D{^qeb`g?peX?c5T_xvm0RtwO-W%QiSNM~H9 zSHYx1y85$GZ{wISA3AMfKH20&kh1qHqdZP3b#(e;%H*W}n%$@Ou&A%|b`-4D&T_+19RvXuoL2_kit>&Ay*( zzu(m#EWeX}^O1f#%pW~ojqj;(n7StWdxCB+1=BBbW9;-D$bq-5>n37`z@cl?l+g_8 z1iBa6j6LAI%dEf`?HAYFmnQj>L+dN*$)Ndz%c(#h(_YWn-dkYCk?`@Z&jZwN1;p|l z;LBqz%+tmZX1C^sOC!aU|Fp?TgYTzKKw2j^<5T=sLhoHr(^XXy|4Uy19rbiF!(_56 zh@~;U6XN=hP?kY#=7nKo+-!%k;P`6GuE;D71ckXl1on*|cBb%SJeJyRC%I05HVoQ- zes?wgyPbyZ2E9a8mzrrqTej9RReuk9-){xpu3dwtnlWA|_{8fspJl?=D%kUCU0TB7 z{fFTxAR$u1(A?7F%h(0vIl4yB`D90W)z7SPAl*`G7u?&nH8?5OITkr#k|;6M3^`HL z=~rIw68C5@fQWSUp<2-~=|NwyHv)({pVXa-Uw=N+H6I0dpM4Ma*a)1~Dtp|y>{pGN zoO-4f-e{Esk~l)u0yAo3-+)H=fx=iFHV+wX((SQFY-Mn=pX)U1WUu*3R|dRVr5B32 zMFlye_W7suUuL^s*0geGRrs0-udfjVCS*K_Sm*qC;u|P`Vs$4MzH4(nys=nbKeb;L zQDM(9b;}Ai58Vvs5aYamU6AS*eo&9jZ6LJq?_~UDDO2UVp+Eoa5Y-z_Vs*;T;gX6mu>#LoDE6tKS(3 zKzsiknf5OCJj40x1b-a#O8qFM4WYpjtI9qdd^aaqElW`I!UvexggwWs~YWy z>YGN3n~(+xTbgq8dLRv_SpTo*Pn_>=k&zMI0K3SGXPTI_fr!5qmj@poaB9Ea%a!>M zwB-b37fEOps5WRn(%-do!JU(KQp><;Bs{C9GEHSaciT{HZ7uNHn%FAj+OmFza|&4= zaJ-($Py6a<<4c;f96=^qL7nr@Hf3v6!PaGuC;ZO~Ag~l{uwixOmXBD%i?l`SN!}jH zB$qwtCgN~gb8kP-y|rdc`z&8>l@r!Mn#mCF>Dps-^`y==q21&Ph!-sKmF)e&1x&78 z)CZK(DO4`jF8gn5zo^rdpL+Rn7LsfcYe&@0yt z*=6}9H}294UiGqB0sy2uC88<~Z`e{x1pJOIoxXj&oM{5hs5);jAb&sgRQEb5_gaDB z9oE;4j%MoC=-q}?i#nLAMV1oR+a%~9l>8!|Iwu}ry_uo<#J_S8psP?}xe1~kuY^A`=Il$O8lYS0mLH+zvu;TAlJhk9xAI-=q*64wL4kB0s=N2=ybW$e1 z*G47;=X0u@R%TASUmkbaFy3vJh z)?}zu(|5I*?&F~Jra2?aLvWog`*<(YYLe!E*O3u;)OZ3cG53E z(u$ki;_Iq1tO{q@EQBK=TAadej%IQTLm zw|DOW&J}p)-+>0Y1ZrFm6_bL~kOeet7yN<+gCBMoa)>=WDHd;aMXy!Ee=zNge~kg(IyOY- z$0ulW(-JNT%h+rqy6waJtbXv7?cp-<7Ml(+49GZABCjSFS?y52!f{O|9EP_3c zOFc0g9<|84ZBIj?MbQksBSZKtU$u6+KTSSeonli@UxS@HZC<_q zQ)F|cH|1P-0rYU1O8sXFC?U!;#_aCszVO6T6-j#Awo4GF^eCci7PbrCov1TW|r72NDv6dc5g!W{Wsi_!2(S$2B}z@T1B zb0;s=z&V<20OXR98G?v`eD3+X#V&R-1G_=BVB=Q`sis-){%rgqWgs$rNR?m&<*fg7 z&>;&|t@B~e5zw7L_EB|@In9aO>i{*b10;y`$ugVc<;eKl$_Mfw=zcw@N2ra;t8d(?_g9jI+@QfROv;*)-ix(>Pels7hg5KSoC(-# zI&?$(#;w=7HA=q&n69vSw^Mc3Fl6H$T0P&PCxBCPPoVXxSO%@-si?@M+Gf|?~jM)RzSJP z2AgedR0O;<7m`bR^ivGa&$?tepH}K4G?w=rN5q8^&0+S@0Fqs6n=Q@sEuEL z^%7poaS>DQB>vI`>h1=)^@NQ`0Nh%46+gF{MT>5Z4GrswAz z7I|0v)}z}(o{UVfkC496k#*(;A$ydv$i$?cRlKa`>&*GvRNHI{r?lr||pps5BiV0SXSO!GIX>oJYDf5^!+|+_8Dqbtlc+8;8I7i&Nq@4;u z>wL|no|9B1HyWFxQo|km>%lF_c=)uf6!pyVDzCsa<)X;sw@Ye8#BI?j0S)D6nzEFe zX%0>orP}|2#w(-bmURm;H+%y)knP~^5Xpd%1QUUH1$BO6V^VT9zqM%6t2_(3Tzyf_ zH>h5^jxw~JileKd&EftH(*-6C>1OT78oIslwyr2T+9FVr=I9ZH?m(jTR#UsE-Zm0? z_YnW4v3x;0J$M?8jv?w%xbTROTDDe!zQuA=p<1|hpFgY~Q=RQuzNEO;yI>y_4f0$3 zoZW|@^ulFn26h3~wx$T9OxE`z$a+Z_16}iVzhQ3GI*&h60)0WI+o%V!5u|2AHP0mH zom1C%vq58ELv-=m#*TvJX9X{je6Axt&U$i&+K@)i1o)8)eDBRXge(EA!sfp{or3 zGtiYUjuT%yq}0`~u*L=J^pz5kC5i$0T{~Y44pRVx(k+fbFgGv(9|z~8Jbq`>8_7NW zGDHd?wSsphi192jNE z8B}(VKjLo9gTqzV1F$Wv|I@@_ylPAjqDUPabI-TE z0JF3)Z%c=7K2x zJM>IEknW-c_8kTF(;jz8%ves-s87|G1r^#^$)0KpgBn$OV1Ao=nSs+Y%w~u&AT)(D zeyMQIW!ue+OX4MZ>q^D@s9tR0*v|b?Z@d`%NHD=U1tG6?%M9FH z_0#=HS7Mk}PXPjuPnw|0VSyGqT1Ir|n=L>_z=L!n7|43;of~J)x6o=T()_Nu+i7pH zCSl*)arI#DikAd+>#Dnfq2k-8h6fIcn}KbAmI9$LSD|~RcoWg#&q=s(+|OlW>!D+a z-afYss(0tjOGHUrp}5y>>{-h9qVxbCi3`PFV4cjaY@ZJ~d1vIyUu4t5XP%Y+S7j@E zWK3EZC9O_cC-)Z{zo%2v{#}Nm{a?lT4e@7fIw9`Agnp-?fYLvl(`^TMZXSR$TXg85 zT}cd!M&W%-(7_x^=T*IO+f(LU>{%`UY{er4a$Aq)8XS{=LYb~w1xqoB^QMK$SRDMd z${>57hp;BQRfw>NdwcB?sM!S|t+bcAaJ+(dD0zV6Z`#+ieYT^8)?w~44tn4U6F?%- zz%EYFq-{~)2>C@mDM}3A#gKNPl2?xF_cTL_Kzik0+oy`EMbab%x-EG3Nc)c(em?#T zlFoYO2Ei`qt-WFQyFHa|KE=6MDoM5tk74m3#?Lp}{lf=7^2)XZSgXFJZHjB~tBaVL z2s>el4K^#>OdGte5_0kOAcQvDpGE&j7Hf%y3juJqM+m;TrR?)T1O4@!r6~GvS{eX6 zVyA>D5cp2()xiVhjL~r;{QDU$JX+7>sijD_U>eLm^T=+_MC4i@wh^tjPKNlyeHR8< zl|ug?F*kl`CH~a=#%5M0Qmrd10OO-Ep+}NWA=i~X00i}1rFdqplin2=?stZo!(=Lu!} zRoN(O5dse$X-5zk1_=iS=do{SX`K?2H<;AF=FfLg?#7#W8L(wOT$>q|12c=-hO2Zy z$1dkXv`YfwFQXlEic~PTyetf1Eu2JebuFUaB$bqLF4eQsMi~GH#Jbz>2IZ{yv7td= zRK;ju9RYrO3E{K|qBqk%V^J?;bRWaedn{Ga{boP#Tn#{KwrG|r*=NrB=FX6BygzXr z?}CyZ6S@-ON|-W5cr{OWq@&#h)5&MihkWe*|yXT%-7N$b*^UF{D7d8r*$$M%)N~<>I;BJ!Q z8mB%FHPF10rl%iM4JO0D5pU4I)4+3_p1nSYh;z`p%F~nFUJ3IH5ZOjM+?EK!!Uj@1 zb#cz57UB{}tcYXOEcb(0i1XlSg(Sv5Ap=Juie}3>;+&-$Ahq`&BaO<3mYR^R++I&< z(0f#|1~Wn-x(_^T19^UkRzFAIc;H^dtS>dQ5vU=cm4gHCAkL-=!M+N@-xm+W(@N3E znqc(u6BGL4zx`^qL5#x^wEG}@@IuPDgP>ZrS7@B^&l)s;HFw5cW?^qoo;L*Arh4jC zI**TeR^Q=Jygy?mfI=e^z($ZCxK1=)!Ms4rTPBZTPT913cki+Ql{idG zG6~R~%r$UD%>_ih%Yqj4|Vp! zUtR+m=X@62ZA(aN2|RG>wikG)u~~>6HuEhrgdy~=d^^(^Zdz+!?8B+*@w-&`Ha8%< z`zgOCnjzo*Bv=qX2ke#t-9YUak{DiJR1XNgQ?yv6aF(PVn6wXqWxlvBR~ouyMA@W) zT*u(~Y}b+#x-)#k0biMyMXv634>M5Ayy@s`lO5FUc(Vus)A5pq7@ zO11_YSC^0G@Y7I(%>`<%_N2A5H@I)UwQT zndTq1oh0|?>9O*n=Oy+L_Z}n!LhYs3vu&vgp^&$^vm*x_bWOQ;`&lR$-G=={bANt4 zb=+|v*()qwH003?d!TDzJR(v)LG~I3N>K=yp}4)2kiKjBSS}sZyEFBw#FdeK@HM9qMkOg&H?r;3Kh~5#$ZMn& z?PZc)Nv^Z+BSZbE?_YD8FK;Bsv=D&pNBkYufVbG&KelDrK{!zs>*bdiT=*sCq?mu*N~<7Xs6Hs=EiD-clFWUl@Sl1*?kdW8Kp62zYp$>C#F5d zzh%(@wbQ$A2)_a0&3~x|6ELpUYu&W-0JlS4hnQJoY$n-+G+uk8uSR816X+>$RKW-! z-1%YUuFMf%wN3G>)9Lpp2=ZA_y|;Rpi)G_=^AWW|_s^Y&keMI7tErN12_d)_CA;vd zxvfN5r1}*=y8=^3Au8T`oyA~sR^+~GmZizA#51Na&4{$nJS5+NyW&v%zKE$OWA%NG zZUyztxriWr|6Ybg-HmuTptqf5E4Kl4V}a5M$FviN(DAfd+guZ{4ciyb=Mg@yRPF5# zO*)MiftyP+Hp1MRNWRjy;EzU{qcQTz9%V~VzVzgiX0FYr^zHPaMaq@S(hYD8WR2A5=5oDi?8M|GFL(yZzBKg% z&H2RdRK2swMz`0|h!zC?1)eL+G-)5@t@UT%I3JHz5Z;>r7OTS;L;L?=PH|emgv4Wb zpxq+8W3V1+8k~VX|7A@xNyl?j7AaS!aE9zYz+Dc|kS_-@Rn)0Cy5Ej($H^{NeZrMp zMo5t*7GjaNMg^OQXMwGKJxG9n&*U+IA2+v0M)y)#x!_1G9wl(OECm2D{h{#5TO5py z=7X`N*Gq?6+Nn3ym6Zv8usabeE@}HDOaVC#{GH$j93#J5s<+Vn3nJc>72M-7wU-hq z7I-3z`&L%97fX&x`sIed@GX*yJuC6?R;*6I!m(Hbv6S<{YR^^G?67aN*z~r#)$`*> zxECt`quGP!QWqaf_K@b_;N`A?!_>1OxU$AlHXvioK_Q{RO~E|fV!W6O9pA�INtTfY@(_ zR1xlGFkjRuOPW&d23Rs2#nwA{6Gzg8FGYPT{+u(rxKI*iE(j9ugfNt5a;AZuYA8UALu))bqq-BFy&_?2ZdS=TO zr)PD|NkQ%to-`8KsIUb{7la-ToN~V8wD*Q|FqlsLyW|mfUd-o{l-SE!LNjtc6r?$; z63M1s`F9y4q0n_=7PuI^ELfFbH>Ti!IT3(o@(>#E+GqST>YxneLGfYBP&;N3CUO53 zANk?sd*qJaDDwG<=#ckwR)!n~1nM>15qsV}z+rKP-y(#!-%`tUD~HnVcTx>=PP`AV zO>2pncI9~piKES^l8F|I?tbw@!8v_gnHwJD6Bm#e4sOI$bz^l-vDWlWJ0)8OouJK~ z;_ymgRp4J8YDz%OsgqFrS`JQ#K@3xaanPPXfS@OtW(hq;pq-uv{R{s0M{sG})Pg6O z7@Z8Q8>aHWZ?;HfpUq_C_#^ai%EZadh<5~DN0RViY&B9L60VQt=-$`ZYn&d>d@OnE z@K73wZn{}SKGY$vHmA&n@~<6u`H2Yp#IrrR+&Zt_^9l(TFxr9$@jH`wQHPSvJ9TfQ zd;v4UfGP`ah;M$5ZM=fp}PWAU!0t!Rg#ftU^4p(VA*wT+iZ7wgYq4fmi~3VE}A?%INkbi zTjSTU*|}nk4f2TXKY_c)(JnI6K&A}L&_MSD;}1_|5%TBiYy$7_i~8WOATjfI)|(l?Q|Btp*FWrl`0 zb*-u9=I_A!Xix(ZbKDyzg#*8TW2?Xwv7hz>Fau3zXZ`x8#VGGl?u;Elv4ellMkybY zl1)(0aUlY@yai`T^6k1tf!0Qj{bFa_f=MU_Usyd};8Vd)3eLWWeTy)vi4m;^D;BfF zDJWjyy}mJ13oBLPcy>TfYQ;qBw%Npevn)mTUAA|bAa6@WQQ_wR**{H6D(TIggK!I$ zCUcZ9qw8W-Q6^(^HHVVdM$UbZz}o@ z>1os0mc9CXBx4lAwFzK-8cEWRe}qx65*Ghw&`v|PKhda9^X{<+vTo20NP&yiG12oX zs~;9dg%sW269_*YsP*{wpK-wOm>nG*DP!R88yBWBhj2Gwa<*89mwe-hEix(pXbqz&!I%LY|Cc{DjqT$DIm9a z2UVjCbLg6Z*8z0KY|{_+slwoYFbAqXKl7D#A&(JuL`L@bbDcxpj{g*4CG!eXfpqne zcUMEl>HLx#{E||a)t0a<(UCFVpw>QYr98wbR0Xqy0^Q%+V7;@%S|4Q-(@meAse7oq zFv}|i0^$iU&3w4LEeX%;nVZG~>|_4ffnbL)KhLRa^GcWU$owGlmdbVy_7z!!e%|;A zFfG5qo^o2jN8i@3lC58NIf_?yKdL%Cz&4pDxk8kPI0MqJNV;*6B%<+d#bCU1w2g?U z^k4s$w-)!S-T{JUD-amAGsy+OTVP$fJQ9i@{g_e6z6xYgphL*|?FDiqfiZx3cr&lFll$1g28XnBrY$_x1ib z84biI?ja@`BTNy_I|!%!-r*b`)F+2MINvj+bt6;9tsQm_a&9Gp1OQ6Z+|Rr2t6hwU zO@)YsBM@mP?ClveW5@>Bw`|HXNB+^~Isytl7SlU@AuVs%renF|TRd28JIBsR^JmOM^!i08m%=Mv;F$?x z@e&>|553NBEY86_UC>QAQHeJbuK@<4^fN7ZMMfXdMLhXk`5n1OwHq1MB*9pdX2hmAG5<_6TZ>Pmnrh6LiLb>{%=JGT?Q`Cv4&H*+6tw zM#+OuB2ozHyL!Sx_HTihD}w1y41qnq>? zK5#4J3#=L%q^h?3iB$qZW*5$8_dCqT0AO91p?1d0JI2#JXAO){o9s{%DkOo$vkiJ~ zpruFd>E>Kdyr<73gORQg^FGahX94x1lJ0sburc31E(R{!u>35mMq{%)KQc`sELDjd}G>l>!060mSf+=#LQKldhT> zAAHvv`eLASko^xL?7KmFu?dz5Pjd9dPFUYlMRjY4-1d7Jcxt*W+?C9ZdBUQQ&>cu& zO{AX;0tw(1Jc5?e*u`k(KgkP~%ILovKPBeh2hjokyL8_St%)*$?9|^R6>(r;I~`V& z_dNcx*BfXw(>tlo+}f5MQ-lG0w_hkSs$yq_WLI8krCaLZ;B_DouXW90_{Uw+Cp=Ek zbBJzK14@H}uVI%5y}`$y`fXD#E0Y4`6wEa^gDTt08>ka@kk@#CvO^wYN2On;Z5YIR z_qm3H$n%tZY|p~~^8)MzoB7A2$fGw2#eyTLrQMxS=-To%gN8GD-seWLYmP8VN}1-o z*d@LccEH{Z_jk+CxuTbLf`bWCc4-;IVF`4@vHe>WU;Xh20R!zutYN%N<88VFatqn_S(vMU4t~$Cj)6%o?66%# z+oM7LS@e@3DDTi_hNv~-gYy*x60s@1N06L%Zc$rsoNlCCghjOemECemUTwXU$@c+s zo9P4#xcQTazy0|+5zi-!AZBIP=q&2Ehe+ePAQE7uTf5GbM@N864ELWm%EW zBVN97Fy0p_a)w{9!t#<(^N)lV1F^p;8;XyIzPv#VdhR4pyMA*qLiWU1&9tOK|B#Z5 zU7DHQ_M=d9)kCCUjPdrFzg)B6EXbPvJ%TD8@vP*ioxIN;(GI^ z>h~4Uv>$Q_RrA~gA>D*Ha|uBVDPAO=&ME4)RJO#w*O^9tosOB&BZW4f&Mpc3UXfF~ zC^vHtaswjtyO`_;%zmBA`~d1z;|Z_b^tRZAbNc|2*SvG{L`;KgwfoYWyXbPrRgj;@ zUIO`~DuHw|=`1=Jnh1+Wfx30NiaY_>Q7ewntpJMmE*WSQp$us(Ry?>H+Nh@bN+}p4 z?8FLDCJF9B1OZW0m-hs~ znXtUN*^8R$Mbt+)sQ284t|Cs~CI2#E#AF`t6}=plX<52#V}RH_)ES~;(D!IE){tD{ zxsj%=Us)kyE(Y|#$Q>ioyp!r0p8SwNig6CTt~#>2?Fsr;FBxJwrEF~O%+2LYXCtFQ z#FrdqP@fb~9?p45Q-sVK+2d`(n3T4yp&!UA@~T>-Onjzo1pjl zE5s1bxV4hloS;Rvf{q2}U{Ud0XJsEPGAl}ZjF4qo-zVRQ4U zmR~ISB+Zk~yAXDM+X#^Rf87Z?9ed;pJUuof{<35YKUUy!yxO4s*oVYLX|5AmzkZ8*xtw^R)~S(M)KX_S3TEdCM$5>ySF zpGLBNOo|%BIB=Z{M2#2sJ@KXRa{0Ox&ic>!2qB%0YCL7Ht};;yxv}g$QnsRBE>!BB z_rv~sWL0A#M{nB%s2=NoT>jX^1(^P%N2@{Co7oq)xdP+VTh6!)U6QfmBUI$ms43_D zkdOH7U=Ji1i!VS$d`BBJg@EFNAs)>4FGq-6BDEq~8Fua%OXb0S)~U2eSZY*+Xa;o5 z-_zd~$%d*{XDJ}X^dAAz=P8dj(sm671#=vSHnOBux2eu%E(Ww~z!|;}HoK~O{69LX zV8XLce~IhF)JOR@;f^B}yK3tQGzn#)=GC$F>|uEz*ASk*(=^-1kpt^1)>p_!@P0Me zU?2%G0S$urhd(2Cpt3@L)ys(zPayWf2@%3%Mp6{Lrk=-^+PG;sp@7XDF8}+D-Z_wJ zJS_XNb_I_$W)f$Z?yq@&%!f)wSNsrxDaTCBF4#bqwEqFwS`K|yvr_!gI|ItXs4>T3|s%DKd3DyY8d+^9P zT8H9|%FhqG{r$(JnU4-ahUUl}R}uxQM3nW#5I{sVQq;`Fab4_W#dElU{pz2xjf+$ITX;|V)Ek7 zv%iN(GVdd8|IjgRXd6a^A~`q1=qaX0WUUm>Cg{2ZcEasJ^!!XzkCWCpiyAL{hhD!S z9vtJlhs`L$?BqcqDj~ruPYmj*khC@|-)gnSu;^zPsZw9h_P$MP* zKoj%x+G0S*1+EVkT89o5Z)uUZTSR<7!V2S45LO(@xX*-?lT*18Up z*UxHDq-jx^|3eqjtWl+`6H%$%r0X^C<9!WT4CQmx7!w2VP_(4>7Gh zTzogEwm%?|~T4l>l0|!80n)m0xYWm%V9fQ!Y zWOC}|)7mb7W)F8JPZq|$=H5WClmtUEvKQxK6$uo@*az=j{(axoPjH-Avux#vN;kRQD@XTVblGM$bsXM&BQZ4Zvnk{?XSbB*d2 z{h&)odyn<JCraHW0HTgQQjU4JGI}AwCI4;)C9f2`9B^9 z2lVjwO{v16U!Q(=XFtPMe*_Ghq7XzCp7>nA$C5I6hyn8FkHX4qaERllT>Gy^WwLU~ z??52}{ob@rFQ;Lt#;IV}^QnUd`wTA-h+2Cn-FHhC-StRC9zib(x9A>yJxLdwj~TZp zFr5ONIN9f)DuF)czj%|#h53kML40LgKv=7oOt>KIgd!)qEt)#fW&m4V%(rDpO(FiA z>PJ%wM1^|UH1wbg&T?cgNWeN;AbvJUs=^7%-irjAwBav%fZg1xpT<9wz16VoVErvv z4ZG_&g4&T+6|CM}8FTo2U*3q_GBkMBWwA3>xU)-G+U40>JKfmT(Ru@qp3~~7L8fq(@4SFAHM;POlT>M~F&7K!8x3^c7_I-Yt#M6(f zLHfr$rny6`oQC#dFjEEZRqV&NL;iT}r&-6*%8s={rUG$yak7WwgZ09!Mq&sf(fy5O zQ|@*dpK{`Th%$f3=M4aFDQrhcy^V-V4vZ5q;%0_dv$+HfOl&uB(_+@?L)wjyF84#) zKyQnjMNn5u+u%4}b1Tyw0*AYXUhPqMUNM!@(iifdtsC>u-e*Q(M#=>>yI-PBT=Ry! zMVj}VLO7g1intW3gLzIE!t>b)psc@)kXO<2+&~RyafJ`Zioz9KCYJ2hxdE#L7m)r3 z;gFOJ_Bh-C$@iJWu`eIRAHly>O5A|qXde1RVq^2iO`n*y*hX(Qbl?BV;jO7ZVq)htkyacV9vLi5;IWTKb|mW4Vs+9ps(x-ia!cyHB#;&`FQYiMJ_Fg3k0(HCc|Th|G4@ zWIr!~CC!`=CTQu4nqnLz72XWqR>Dw_Y(sa*k#k#}MObJ8fgxF;90C>rHiW~c1g3$s zj%#UK5RVhEP6Kuj7%>b2i4o--%XT&2k-2$q>xp~<$0;wy@%Yp^SJggUs5DVr43Tf) zCD!@x{VoO85i1CnPI>f6$c>3g03QL(>}~~R85{Jq{TyF2`j)a@jKW~7nmM7Z$C5la zh&Hs5muejL1AyN^^lvP%g|4{diu?e3d{?BDp8MYTxCD}$_n%XZbT#v<9y;&9VX<;;S|VitlaM9@ac^S!B9rem+hElpC;vW*A6}^$QA1G#_=os zpPLAXPCCL#ZY8up0|7Nu)cGphj}bg+Nz#{Z%iC0EWAWU|jA_bHMPWc^_%WipQPd+u zI#F=k#o=Z?bWO&;EGE$5Chpb3=yl!XRPwZ*Wf6SH&L|t>mY4)6(;Mmm94n06wftJ` z{GeJGZ@#3WM^ngKI1!4Onu#c(g%~yet|XLfLflCI7=d>Zb*t>6(V42TmncMh!cc$2 ztPjqlGhogH&;!78Q{c-=67oO%m9-hCX_>a7|2pgxfUG%MfuRK&{%k5Y-?%-MN`B)UII z>$;4e1CZ!Tti>g_UD&5EuhE5xW%j}lXQm#vlm&Za${JUEfr=qIu{$XtK-Hz zHa8Xg-J$Y_R)fGoZm&p33=fH^^6^N@rA}e!`rB;_A0k{J~34zFGBa zuuQVS7pNGUCxxIfDHL-|;q(FRv`+YOzrb-kSgEO#YA#NZPi|n&175>v9<##yL|v}E zE}q5yLFK`5=gcOH7mg2IA*SQNN*lCZ-HH^0eZqtsR(u9lPP19@O31F0?vm*5<&9K` zb_ZA3RW7=((-eLQmH3(lTAJ0ZiGvXN62Y9@Q8f}r?wARpqY|^#?lRIWP}wtc!1oa4 zkhV7tTZw9pct0)}&x{I4x11NEfd+#?uPL1y5Jq`MwRm?y;-fkk0{##Wqn*fwHL~}! zSQ;PS6#^D;|3OVA938fgIjDUL0qY6PhTR>(TvquzAiR1sa~v*lfgx>wv; zdBACF{^`lXPI0fdr4pp?0+!6-+$VCONRrS3(x(QFLo=b6rWKc8uAOudmn?*x-fM?4 zVCn|CD~8nb)UCsX5+XzHGPMiApz7Kt87Q=^h}gnhaU>CWLF-c9nSO?V6TNOr!&+pf zR2`hn5{z%oq}Bbb@=HH@iq$Y0Hu8#`Vhe|~;48$nLZc#y+A2)2SFw(|9E>H2mb_JQAN3ll7vaXvRGF@c#!UB;a8jS zt#7sy@3P@ARMsk|Z*bTon-l9)%xm)W-BpKan88uyp?eZDIwogk+rdkR=WXfIk)46J zaJqgUVpIk$dQxNX_g#N8Es~EsM|6?zOH+q?aA3=fq;TgXT1yc2*n8EB63sdA2eO@b z>_0=Z4XwuB5oa^*_Yh7zWygf#E*5r`tS>C5KH9DY-{+kF=Xp0X{i3FST~*!H zbzR?Ujf{X!DJih$u0vEM6$b2I-1okwx)g#93{wHfoZ{O z``U9i2x5@RPUZJv2ew}+V&}#2=k=yR!f07P4oX9iYlfUJ3`7L5`G>%m|6%HwZqe@H@?gIf7#M5Gd`I|M@pimPN&@{TKc&F-IwEXU^?yok*$}D7 zQ(FeHMywbJbHai?YpLZdd-ryn>s1w0tFS(aIv3K^B4H_|-RP)TRJw3csrs&%vzlyM zX-(8V@vzp>ADI>+7^J~v?`<+gOS$B5(NJc|_>o%sg4?bm@$|bwsw)ZvxQ<0OsfJMX zVqgJRm^iF~JMA1xKeWSU;ccy4?v8WEK=5OBJqQ35Z;OyMRfg+WTT$&a^vMAtQsIZB z??IA|-W@e2EqLnFOD0@tbs_LGPJ-QIqEjV}LTtVKP-XB^8ru$?kNd?nPJqPFHc z1?NCeGTGEz1E#5&bGHxEM+B_e#0khX7pftmx^8z#Z3nJP^=*4pPsX${QPX7N70mr? zj>RSz?=c+d)>|g^`Lw5%xl(~7Obi^O#74PPpiAMRXrk#&XAi%#yb_ZV*@d=Qe`16V{>q}~1#)aO$&b)zo~AwnNF6@Q~2 zP<7YSstc6;ZL`OQ5#l+7U6$HM3xJ>!>$5j2v3asq9mK|2gyVLGgPh|%uU;9>U%MObI1n*)&)|6d#|UI972&fcJQX4+bjElkqe&`Y>`+hg}4l!`%qSxW42e zW+FipWg2kR!?EfnAY^i6iXIEfqXMcj|p4W#3pD~K>QD+_MKfo86cY+8a zf)I<*tdTZxvMD@?luPq(3F^s*MI<>@J2m2Zu12xnfQtCWf0l5*=`<^rax$g9tCe$- zazVCU9(rG5z~Jn>9FA`*O=L&9Aga?02`N(M(z5WK7lVK4h3cnUwN2M!GjTFuAify{ z=!T~uC)7;iOU=dknK`E*w71Fgf;iezYz!)OSjMnNwB!d2qINiRDDPr5!I~CfRZMbF zSZHnY#sb>`3L|XPkhU#{gcZ2%*k(Al6H;pa0Hu3}6bJQ=!>jR)AYn@PCAqQk0^|!! zdd#!+68q6LmE*)33|%vL93PJ9ZD}Ua^* z`KqGF?}zp&BH=dvzoo<4={!3$4pPg%+YgtalP|}d4Y+Rp5JTK^n>5OqRBVJ>G70p8 z3flEUNa(JC;m?J|&lT^;)j;+C%l-xSjB4bK#cxz`6f^@GYmUNqVvbTLg+D}5;YBE` z2NsiyJ(Ob=Xj%c>t)wGi>oH@M=^2Y`1d-g#2)ee;Q;!}Jot}twzw?~oW|J{#^2-`S zf){(io)i)$)k1#g4nO3xfFHH#K(9FEkxkgzPE!Tjy3*d!+mJ)FA;!Z3!1f*?^}`Dr z)xtk;fbzTsB33b4X>7Gu~7Nrz-Ej-=biGECbPkS7v!>W%{en@7~xvfIXrEt`Ko zQLh%Z69GjS{>d%T@5ac4AN&a+OtNw{P--7$<+FF_z!hi}P8Pt@9WHQvlB2YZeHa_f zmYAW4Fa!)DR#M6V3${dw4mnMn-GYvBmL)<1Fu z_MdM-$So31^s%6Ae%G^IZ;ynr8{IU9X#y1y`F|KYdrnIii%8Q|AtoieQqiDt&wh#i z>6iVFS|I599MBK@p3oMucC+EtvOS$i2?8&GUyx?(0y3Ml&8t3Z80nki%el%zCGM^0 z%jH#Jhe7R4-i=5u{D>cpjVl%A5Hz@R|YZ_Iuf0LuXc{U*e3V7mcIN-fx09* zvu~MVJw|Z<@?wS=+2vH#*x#y^hiJvV9(*`D5U%$O*=}>i$uJ(r6#V45>9Tfk4Z3Pq zyQkd0S)m<2BCHnBcx28Vy(s1}mVx|}V{o<0dqr0-t~dvqmDP7@Nq&08x^w;4NjLn7}b zA#bTEKE8!4qVRW>%>lt|q!9W3h=AWQhK7^|!F7NCM;6O>&4!{+aBVF{{wkja(|+?u znc)>zp`8Y=7S91igDJs8=?UV6%q)XE?>aM3*e*FH_BDjSE_sTbHqa}vh#1*7%XfR{ za+BZDr7(v*on-4`yqL?zcwUD&1FDGv+)tKc2bbxsLx%&+`xB`x#+zUwAL*SPhlDY<$Vn{kVZoTeU-Bw8Nn-)Ev|`s>as5}f#@W-OUt$8%!ALHy5pG|DbkxCb?B-d#V-U%ANBZY3VyKNhDVAR9O3g`g z-p?cWrFXHUy{BIAw7ugimhQh6#m(J33w{=9NJoz;SI}3Kj}AO?fbMRk!^NHV*sKd) zne{Uw>o8}`U@9_~1?v!1vYTYS^Z~8wwzUImf85i*Us5lC*$Mu*bLH8FZXUfUo@&q# z7E2GZl|LfqFVD8kR30JbZ|KUg3^~et+Q^s>77i#Y%E&oWF&x`CrY2b%=?$7zZy&DG zStiSRJmrJwT!JCQevrSfu#*TW=8=k7_3+}wW=c32K5}?8hEdl7Uc-5nv!nQzGR6Zc zZuVHvPFh$M)qVFV9^WB1xdJ91z>TT|N|Ktr15J{XOZ@prDzU1%F1fC9^)qLRKbE z#VQKqxn0;lA_xwUoqZ$T_SLP%9wB1Rcy?xph~-kFw#fY^ui{7h1AFHz7178Y6=hoT z7B-+NTD(15_C`}!a`)wHDWis}mgTz-yNQ%{ht(!Xwc;MILZi^})q5jhW99bjJZB{3k@_Q;!91zJN6>ciLwMV>XwTOLgGsKxtswRLRt$_rGG0qYCTacMaLDu& zfgY@3d;3Yk0Hxf*A*AMK;9UBzm-}NX*#Z&rjlfPY?roiP2;q`Q1kk;3sNn(&k(`~B zd;~h<&C+M_6u^P`{*kbKLB|AHpP_vV1rgZ`8{OHka``3 zcfKryy_{P>9G=%(@bK3Tyr(wk+I@p5SVIX7vW$}cKt(s_Le;VWIDgccz_1aABo>%P49Fpy-}!^@XzE$VEgQm+3S zXbZNPYM+l9?oH}067&jbo%o}vVtu*?;r%Ri(HX+H_Rvu!+NR{)sa(j0ORId>c9;Dt z%P`;Y#D*F99|m%dn16rx*>fk|4T}xr2;PXP9i|aoNx{o#9%+(Wd)WK|cRQ3DXI_4} zGW9DDsu^UKIwIfhUqd$H>Ig-cP3y^Fa9%a#somCrUOh)nkr|SA)LgLG9>fs%CH3ZC zWk&oYFFrudiREG2X+e;l|LJ^aq>c^3Mj>s7X-FBomn^jPa4i51M=BUJA?CKlTviNt ztON7#5LZgaJo62pjD2@?KAF%nji@w2J|6Vi?y6emo-t`@8Xw})Gb+Ccy)Nu88_Zcc zMIWamAAdoQoOJ+M8d-GrJQ73f2A>xnr37s@&TKAevc#Z5OE_HwUuYU!S4V;sz5{RA~>*F&HZ z4o12XaGoApPA2M8;=V$EY~tQz*ZngZMn~6Td_4;M6|3n7?A+qt4aAyTep-HHNkJGh zBpB!k?q&17CB!-%To-v@$`WT~O74_34Dx%xvW%=N*|DG1XWRyR?gJwXIk%mlR5k@{ z#T4pF;L-gLE#oaHFw3u3H^@NC^RUFH)McL6L2^=g6puiedf5=VKvMXW89E8OCo)sV ze*OUMU-shFR2g43+M1|H(7Ra6t{3kpSOTpNw9^!d;V?sD^owFfbOtNdc%cTcH~Wn) zso2>CW$F~HX=3mPwdPw+d5$hJZN0ArYoG5{%H&Kaacw_S;?7n;mwB3uvvfb(1jew+ zV|QN3tmwTH^aip7cxSSr6GYJoE=FW(n!l6_FW%E6RvB+rE=wg9S8O%wm65#Z>)E^5 zm(@l&Il;yjsl+5l=yQ8z6TLR$!+f0Abz8rQ#{u8bT>)4i9`AL3jkBrU zE*HihAOr7(&*8XRFT~LOl}h*hecSsnpuaw#^GP~`EugX^ftGjq@%z}!gYr(x?;nDT zea(Goe3@nb<+YB8+WVUuG$e_yZPuG##@qv>bXK}LedioH1f^+PzmSALFO zA@YV?`Z|{hpdO$Q^tq`?E6<}FGs4<5^sYe-&!L3>-jxbbC-RMjJmZ^AOfu{TpCJVf z%u~Yh7HCyMAPVovT7p$;`jqXmfjrGJsE$3)t!;8F*&b!;<%8j(LZW+PIC1B$ z8C>5#958*0zVJlIp9}XhV0024?IjyY(i6(;SW3%~k6)LUWE$!yxIM^;v&0||USUYL zHOWYMZE8h$#6%{ta;%{G|B3A2_Z z*C!BzSWfrWP+87{iFSOD*qJ-K&$cRwcJPtbP+8rTyx5M;qg1!pI*UZIF^bp9&IugW zUU?>q>?9PZ^CTNhSRZ4igyKa@S-e2g@>>=1XN1B4O5=uskbzuQS*VevMxI{41z^?g z*meNMCB>Ov#YFv65v|*i`9HF>aHDF>q)!HQnI$L2Q&fx$5DbVoGL=WUh>nWFKRG5G zEF82!7LGVX9!!W}IW85UW!-Z}r&5YM0g}S_!=oQ(uQOa)6Mj#gRkSt4NpC(FbS+Z! zcBccZ{8DTJaPtdjM1~cEIR=I5aD+E^xqZ4{RjmuHWYWS{=h6~wlu`a9Rf3%7M0bgl zHkFG<#K^Ocz@+R=Z`E86*dZsL0XI8%P(+CosFo5YznU%VIe}xH zRY)|o%n3r>f9s^HSE$ubFa2TXrIx{rFq(crukk|HC+^cpea1Q4w7Pg~h?~!$7)|4- zPfmj}pdJvmxZXn(%I!nGAmaFsJ^L1q@=3rC2 z#Ko=ZMDZo3og5ucAlHB!4gf<_$ncLegT2;zRZQOZ{n>~| z`iy4$7Uu}=kPvkfdp|sR_5p3*W$5Fzk#6n=T@k#HdJ+tevo$7^Ufhb>sh3itz6?Bj z#V5@G_h0aj{Ob-9BKEI6W<;X^qkVGX{mm+LRWUl_@>nO4OM?xfV(y%sBqq=|gjyOHDUEjM$XeGn;6X~(*4?S}3YxY?`BzJB* zpmP3;FIrpb79gawli&Z`Llmc6V~rh~dBu((E7ti5L|H4qF`B#KoyM>|AC-H?)CPqJ z?e1b<&qf5-FmrQ0Tj;%@clS;ad)g0a89-SNiHNpwfc)133X;d(zN-!*f_8Nd2OSYd zbnwj=0);r`%0SCQD@D(#6LZ9aR(Nui&ThLO-ag31JS9ld=NQ{;e$bi5CdQWlum~6QJ_$rFw_kkC|OP zho9PyOLpAAS$vAGtgux`!mWExx#*U6l+(MI$soz#aA#I&;WXCzjrolQf@gl0;TfIY z`NXLgXIRjA*?fG!mULzQy54gv$&KlDW#^k5yY+1s^fYviebbZRHQ!<=;kaaq7NV!tfYCcVgCA`5VD=2#MLwg8t5D4aJ?ZZ&5g8rC zqK;L*`{e!!%V=Lj1++=oRcmxy`X`cVw5h-6<6w_OW0aoK--9D5`I=9jn}wWzAoT@n(Otr zN0iMxa}R^Qe{P>*OO;dSGEBz`BWk~Tx!fo8%JtMEZGB=(V(v{-(gfb@(bbUIv&T{M zC-!lDcTQu2P4jLfNQ>;(=`9K9>OD)biwiZ;@D8Gz6L*>}1g_8QuUEvWq%9qVz{WfOuwdgsPU9Kn6#hQwN5;UjRux|RV@?7ZZ+QZx+#1Sc?8}5 z1|@r&BJRXNn(A#n03>VG4XJW*iiG9Xj{|9+3YQ?NLZMew9p|cl_uc~(ON~4A2wh;H zoK|qQgwJScg_*Yl6G+rs9Vm!t0(?wVx_Yu&^-;gZ$&^0rb)+|+p)ipCtKy|}k zvAe!mwVpSYX7cL+oxN*JMK%jHr$%J zM^lj!2))odi;G_9Kb1EIBBGUtR=(Kd+P1EWSl{`{;09^7?CjD?yPV0}UAGQc#JZhs z6tKl;l?Od~b!#hSh3IOrLw!nuYRTT6S$-i6D9=paPert6lv5RKY}~uu_CYVUNaRVM zB`ck*_Bx`h1imjaXs>%a$0vg(;vdRJ_y-ow4`+#?lm>-_hXF_Da8E!|mob7nQt2S7%xVGjey6tGA!p-qpf) zvh};WvO+FIE&d3*ghQSLqd^jT=?j=|_A{ZpkrO^lXWs`p8?;GhUC)`e4FEC4XdR0X zs6QB|ee$swy9nc-GMg3YkkTa1ly>EKWAw5__yiMcS7_AB#l%iW}<@rk?sm-J7Skp!a@RSVxN5% z7eDsWk0GQ%M>uXcXLnX24*TgDGe1~$$4hHv3PWU8)hsL2JEF=EdL`$meJlnGs!*iu%F%rILM!X3t%Tgg={zFb?+?1xck1w@;bg zF>=03LWan`OX*$n8VRjcK0k6c6_8*f?s!gg?&b@Q_iw=j7j$*O@_YRNif0CrC+-&= zYn%*)+okr;jCGIR4rCas$lKWg!)4`!r3w6Vp6Fnseyh>XoG@(=1CfK9dIG8!W`DbshI@8$6V_Tu!&XrAj^}Y$DPJHE$ zbb{Soypd{1RDgv^$Tl1G&|rECy)f1v3#b7W?GDJcFMd_b<8iJX@}QqYmu=Yb$jT<} zQl}$k5@2fSj|mrI_?zn%qnaVb$;b)~+mz{17frl(&OZaQ*-s{b4Nrk&TiI+f^P?Nf(_<^oxLX*_?m74Ci`(VDdNS{;x0l+1QdJN4jX|~zM?c*lIxrkx=O;Oq z3CLQ7KxH+u3n))B$)JB;mv^<%_CZ++ydrF}c1XYDB!6Uuv*{4Cht!L_h&DH@X4!im z8Ry!dk_!1lz__S9Nrr+JI0h-HTt#~%gyp{>p3%a$A!Jw!LzCh8@ zI(8dE^W=X>*I0c6D~NE)yYboDcyCz2y1}%$7Yau{PZ72^%!dV_bFsXFQqw)7l(&1&V;Z`|U3=_e?I}9FJ-}rC2t3_(BW-z0 z%FW@~?J@{yspEn{ZiMpB){A9(ts^izEqAdBrrrM{_abh72CSq%B@t{>!?>tb=1r&i zDX?nUf1`V9cghZ^{xpYLrKE3zgz)_QGb8t#TS7RHb-bToWBL(x#@CNQ7AP zO;ZwxDN`lGp>D4SIDP9BHv5JvGeIgcNC^wOEfFx~%#DiNsa=c3O8rgVCRA$hK=`vx zp_Gg&-B<8nTN+Q5dG`a3msN!+3xf7U2>@$a{eZWCQvS zKB+zk9{Mh`kSC4y%R-lPgxvkta-3bqW=ZZ#*EhzceQ=EPFA4O|?j~3^M;@3UmPa<0 z5sbOg0a<3g3$W9S>I@;^`IJ-L2s4jMCsRiZ$sW7htZ)I;C#q7RHgxsIE&|Dxf_)Ip z?0fkbDDD94;Nt4YkY{2r>o{8|(}0<~upNf{$n38RS}^A{R%cir%xP) z{VyP5#xh%VFj8S$OXXYr2J+A8-+T_>ANKpbxAMY#YUOXIF-Ah>)NpTLlBVZrx%_(2gy2DglVOxy;@GBty1__;RNdc-GC$ z3PrT9M!srYCaii+NfFS;F&6vuS~>d5%}N3l=6gT_ds0B7^B99Ea(3J zjQamvpC+`@5q$WNlf@GyXPvdPcR37~hgZ4(IX2|~>yIpAylm)yPQ={*SMPb-Xv+Vd zlv&@S<-GKQvrRQfKxKL1O5ndkh8!CXwUdj>T%e8bf4={3EB~p(f1CSnLGUHwk^fto z|M%1X|AVAZ?5OdFTD=}&0kcz~l#(h9q3(j@kFhk`-_T{O3+S_lfg?sCLtV6@f8=pi zbs+Ca7kJ!1#7kK_Wlc);Xf)S$vR4-D6Q$-IlJW?P%ymMnT>M0A&h+9}+IX{UP&+>*y;KWIh!$L0j{ExxWsO#;chi5AQM zt3dC4!GUzB32iQ@41B|?qG557Yk3J#yc9kwm)R+aZZ^ioE5$JyC7n~og>MSgyc-82<9b^am=MvvcM|Autos-D1rU09L}G6dtX>Ji)&>r z1MP9BpOpWFy0&dFdC4Zot_$1(hdm}w%8OLI|8jC5q|&K?U5L^k7H^vTAn-a2;+7LJ zKA|u=Zbf`t$)?SXQ1(-;wPtQ`37=Y#M*J}SVzD}P(#^w-eq6#nD$=ZGfcM$9t|XVd zIuxTzoMsiWI3X9&n4#;~M%cJIcF#FQPtB5k>3LWLU0v;_nxO9!@RMl;r_gJ>bZ{J>BQrR0duw=r~nnNmBbqpi!e`^)a(VJRb&c%ZCG*Dd+>&RG3m&$K9XiV^(QxWQ@JE^gnwR zmuankVj)^*Rad!><`E#y1*$xrxAfSR&;s>}6`hjF`7Mo4LW(68umjHYlMc-iY-*>b zS8;Xz{CN8iw~qR-wz7UBym` zeARqFvD9xTL9>c;#DqZgT=18g%RJxEE`wn1IvPsAU6QE>fcYB3ihEI!MPfdvyhlg9 zLM4kGyZ_cIzhx--#7Qpuk0seO$?sSQuPUion8Z8*MT-;};oJms;GFdWF$tf>8KcfE zepvgRN;YU6X#yGRuQa;tq_1;Aiz&G)D=`bP*=D6<fKlu-Z;&|M<0+uK*5(={q^C?W)ju>Hp4p;^O1v5XVloCA3*W8i+sn&8-?5qugHL z{mGids+BB?9fgtGvuFTEh`lMTbYjZ9!YXaksuoHa)2kSMJr`Qa(VtNzj?LwB0Ze`< z*mY(V+T+I4Hp+P!Trfgk`3W1QKcvz8w!hP^uW|L1s(;||ra9neYK+zyz&@raqK`aFt{onI7i?rjb>NKn zdj09n26Imy3TAvkTRxjpHYLe+yt=mP6p%Z9%wInDwcP>^MxIJ^BFyNi)|-}Cgyx)l zS%cB`50eKNKM?0Cru3z$*5$Z1{FN;*E0!%X$7gD_E(8Al=AKpbV*-d%7@%{ftC9;& z^MZ@uto)OSF!v5Z@-4(V$-6CJ+;Id49oF~s5RY|WkP4<4D}pB1^$QHHT4Vu*#YNr3 zda8JBA5%3WCvE>ryhpM2M1dMmSuFp5S^(Av^oQ6(oiH`l-@-lKJVGWX;8`Ub5_h0& zK9R9o{wGWX*MCvmt@4GuT0dAO)#}Noxs537|&lxFbpOk|VRblxMoWxUI1!6mxg zL|@Ol>)SIlZOrFm72a`4KK*3){4CSNo8NaOt1K3mSA;%uMl-K4bKvf+8k~R(U6YZK zO8~4lk-g5FBgEjnSgaIIu5b~AbbvBR<+iHp-Le?NZ)opJK3=8AJ(uvbA@2uUAfw)x z-Ox7s(P8?1^`gjMa?6a9?uT^H7sOmJOPmfOx)kdP*@3NCD{zIYByU=E!a_XB3OCRh5^sV(^kcH(zZNMuXMv$E;mY7y1jwu ztACuv{hO*B{(z$Q3GOi@e0^c&clwk(mwUiebSeH?isDzUKpn4$>y#jL5O!(&XDaQr zuGrGW^dzH>$#~}dFYtY(HnUX|81C9X9443EPg!)cMDg2pO6HQW-m(w#ZW2Gse4YEM znuOKTQP(gPi0z{gcUO*?Ys2&qc)J5!z5n+)g$GsBMHpF4d+AtLYX=qvyFK^V!sKv~ zg42J@8e&*(5$C1Kf}m2%?93?$`&;SU)^Kr4+l6F#eF2d;T_Q0Ac&7PQaGo23%8ApM z!#0u4#^6YspWG9T#h#8B7=iJ8L&n^j=O0@|wxHZ`w&Gtz3w)W%f+-?A;bjktGjvVD zU+E+S)pgoM{MqHNIxu!naUK1cA!sdUrQD~_&pkMvbE+o>S_i~$G~B-h*eA>U+JY98 zONeCqK-RUvKsJhEcVUXBtfskSz!Qa5LA!NQ`L4^1xCx;s}8s^F;|QV0XZD znFSR0-TgvV|AjT^+`i14^tHBx5=<_bfjyv#S)tw7Tk-Kyojr0AAjnl*Cqbc<>EFs* zhHiQ+Am!oD_gE&h4w|PHVM#RA+a7lbEz6!+cxV}$^O=WS%}{h={c@V8r9)*sDH+UP z9xuxkJ-7B^1#Te_`0n2aV|uTW&ROde^!&61t^q>_L}dQwk+K-kCIPv0Ld&26ADv6q zN;(=t>K6W<+dS3*Vl>YYprX-5BfewH&Y6F7~*lQV} z$R5C1!zo#pwq;J(pV}WK;F((IbV21Alw}^+C|)VfunY$a(+w&`C5AwamtAxA0zG%1 z>AY5UPT7`N!}NZFc!iHMbrxS1)wXVZig=HL8fr*}4G0w3U4t;VMh{p~5%HXiAu5wC z6J&W|U$cxe?s6Ka9h$!6Vd?0`VQ{PfBNgFQa1&M}I~*?Mx)%@6({cVp@xpSb=M(Fl zDHq6(JMtx`1hf zqaPuqO#g-ih4x8Vv%RS0Bz3aPEHt9~8@nWB4`K*e0kaO{-!+d!G?L;o`dmpfz~nFo z@8{~IW`2q5K=N9ld&Zd5>+^O`^AmlAOFL2|F`q%~hiq^6vXS~ z8&LBr+ZNuIMb~gaXaw%M@~usldn>@hJ{T5&^38HgSfo!mro8Ui}0mn5hk| zpGH52R;*$YGfkU}vl1rx6R8S|5eHglF1pCEXSzbDxvK0*6iz={K)3$?jFYNI%}-YZ z|GYR=tN<>K=`?xya9ObRvVgECuE#uZ6!BlKCA2hKxrW(hTgagkF4f%IwVl87*n`uc z`Yw%IUEPE>-XG3MkUyJS>kjD2hN)JuQPDwboWhidq>Mz87W8Dy=y3tiQmUA(g5{f5 zc=`zDYMJm{cz~n&%pvQC>wf?MMP5#(ay?69DYBJ)LZ>%-AmyGE(M;-0Mpw z*Di8a#CE`j%|};bkRRRy9C9Y|xDT(<9*Gf3v-oPdM&ov%ETw~aVn0~Kl_*|k9^_HM z$ESM)AN0_e1u)m>c(tbR3?bjcajHxS%fr_goqDmFrP5_CkDdLdLjVJwb#O&^>c~{j zHho1Nnv#GZayu-;OY|(Y0iaMOo{uC^IIVM|t1J4MlKwbLe)9YlPI!3tum~Mj7TV-X zR*}(9)C=(x;DzwQ^oVIkFCtc-w1@W&>qz`^WOR5x-2dGu8T9-p{I@zrmEWC7%+*PCZxq>{ za>OW%H6&$zE)r~}eqj5H-bK`{Uq*Kv(~70?BKEIPuhXyJWUo|JXgMrg2_ip{p*-j& z+M!px@!r8#62AWw)JHiKJRhH3jD3_|TCfXa*Rr%}8a3+p=Zs*@R)SR(-IpCdtH}Te zvk%`6UOU%4^vBR_{z3KIntyl`1?69AbHW#p-9~qSWr!acmFovG{(j~q7EwxhrOf04 z=kK=+qNN;)E7Tm^D?O@v*Mx2_X@dN!VVfV}?n5JIo}S$~nM5~w=LK?K41poYTiKMH zS~T#gnA{?c%8OYu#;aYN9Ul8GO=`b4OUB&0wMK*1TCARq+BuoYllGw$r^q4=i&w`9 z6wujv;{3x#<4VpndIMhJGNxAWYG{?rw1iAI)kcgxlpr4esntt+f2Hk;W!cFyq6g_j z1V|kr8atAz;}LoEw99(n)M}koeBB5%X%tkns*TzS0biS(HE@u@lMIf!7Msu|3IMnCYDzg$( z&9YjnoNUA8_)p4RUH@^LtWktN!Xrx?*W{>25wSq*R9sK3(1X)_$^h7YF<11=niexI zTQmSR^70BUyxi|ZdhOm^Zvnx}^QlJ+GK3WWaFcu4+09#e0ujAbBgTuS;Ip{>H`(U zZ#kV@CKH20_#wV$wF|QMeAqbxCr}6aDRDvxDy3Z2SK^d?NPS_H1#=%R-}R{2=rI2# zKd>;KcHr+g-d1~8?)(!L=;zyGV`zIp@81wQHUpMUgEj}mcv$zaB3F+~TAKg3Sg>@w z3YCrFbOE732|BXC6A|*C@bYG9H}r0uuI*DAOq|HMayhu@|I`DiSa&8h?x*q&Tg#@zi))GX};!w@;KuWrxc?dG;N|G_>Ydb<4s0> z9b-1N`0W{x@hR-igmgEi7drGFIY>(MQp%)VKl`mpUmnR8;G#ou^ibohqOM3L&(rT- zooO1Z`AaQ-x`**wzuu&b)XBRQ=ccjr+HdAtAvNm>FO#DO5M!Gs8GgoYC<@Qw$_G2- zgBn{kKxKVMi=Ys0tggbip}Kqb)N(n@4;~Jl(hgDItEV%NK3q4*@4zRdK*{nzfAc92 zPq|=0UU*BZGKY^?MMtffGV)uC3wHNSq<&$K2hpYCk%4kO39SP){9t^-nod#CTc30f zcXZ3k%{r*VyT?<~}CLN89@ZBnVNi`O|>Gcc`v9B zk<6{y)%?x!Pc3K5F^x#RRV7R6%yXU=Xzb0q#c8R<>6z{ip`mpAmET$uN5`)1MK2Rx zinA_qQyJ|YRkT@&&!48d*-b4FzHBfhlG4}K|YrTBAs=b(cYW;g|LgbUD*4Ddj+O%l5 zzSXP`?2&158W|X9Ho?x|gAP0U61bNvhw4IFMv(}|n{KERBr!paz?Jq5-&&CMMhdzU zAMJAEf;C?N%l4dI2gym@#OeBuA^;1=7;DuVO*C2W2J$&hy0o6kg3-3ItD5x$zmf^5 z!gz~3>v5;bSHvyP5!d|Ma}37c8O;bEF_*6r>G5=3V%OT*P{)h1vO?s^Keu#`o^kjY z98b;eV`GOl>Kzk)^6F3RQlD;3lD2GzfViHh3uvY6{W*@G>ho~8c*0^H((6WTL(mAJ zbTzY9vO^n1)?84^fu3jJF)~C_hQNZeIv+T!&{dum{lxL|ps1(nCg6$r@^3{*=!o*( zXF~3Y5MsFTM`~mvoCoB6#Sdk|n$?9WUl2T3$#hqeqYqHflyE8!u4Dcg^=LEyf^GJ5 z2J@4AkNHsK!fe@$EEMkj(hVW_Mu{KkY*9zEnNbt##_b3S(&mg}(RA6UOB|NF=|7Y7 z?O|bwJ{bOf&9#w;pUm8(L6K2;NvaUW&~t>2afhFMEs?_NRSmT|cB9?jbuAWhhc*KZ zynp+3jPZ{Cd8iq-)_q$ibq)zBL#BjyY5h8d6*1orpizUt@W1izK(V5lWNj*`kU1D! z3yJmn*azI^|H8Yl)kg~!vGLrF5(;FB^klr>mA7xMwtVgV>z0V|1cV~hLmEzp4d|~4 z`)7f#9jh7jI?zaDgwnY(z&91Fu6M7a%If$@7-{sUREQ<~bfEXbLCtbZIt?L@+iuLE ze0>}=0?On(?n zh|sSG!vHuD0BH(h1Bkd{M^Y^*=Otbj3lWU-+K|Po!T11?h9kQ-S2T|V^^@s$jvV;j zK$fNaL^;V}39xdgTsD`e7pJBfek2W8%Er5yx)%Tm-%x7+CFX(+J2#Z0y1gCUBx8DYw;{bXZzh~`#(^Oy+xfYrLl8OCxp?XG=paD<5;xYE zinlQLBzdYU(-h;lK-mhyS+1@8FM&q$w2BQnblx^c%Y z;9XxH?gn=wTNW3$zOP^euZ0F0c7LetV8`|AS8Jl2`EgO-jQ09%6Om>WZ$RsNTfIyCCx&H_O>bclA5LCB!j07%N(w))}hp1 zemXqP=Mp<>DX5%O0Fk3OZw?Xu{yz46p-$z1Xmb6X5T*FBeU*`#GNCtz|3So<7uUpxpX_ zkYLoYi@z8Z=C1js^J8lnbPg(%9%a5`atUPu8(WBex#n1EFz3XBZTuOImN}0Rz=J&2G}!vTz=A1RE&D&a?_CM9r{`(~ATTHVxcmA8C(Qj-UA2$J9R6>I;4nd0dG1 zl>@mM{fSIxpYZ(sA4m6>`#0~MXpS5CPJXAmd6aX(&n_(mJp?DPLV2Nj6up!G5I^H* zsXjvlH_krB-rFRAFfge?{FaUL(%Wv6)yDO+B9Rt;Yb3sxO<#7Xjq_gs8vH9Y#N9Tm zUc5Y<$uRT;1;6~Bo%Z+tkE*v0Y9s91g^NRR5AM?9?(Qzd-5rWUaR~0x;_eiRyF-xR zuEpIc8l1y(-tYb9IsarPJK5yU?(EO*OMJ=Pq|E((Vfmw*3zPQ5IM%EvbaC)Hy4?qi zLlDx7DHemv3^Y&W#}96U>t1(5Q4WPO|70ZzQ72BpNwDKRrCvwr40q$jpR~SBn8;GS z^%#)Nyw31dmtV^KHOuWkG|daP4s}BsB4Hm!>*Fhu+Q*w9Os+a(CLp1+FQM%rLa{d{ z=0w1{pX1HyOb0J-E@T&)V{uzX-of~xAKWqR?9(}uKdC~#q;oiXhPV-Uh)jEtQ+X7> zF_&4lHbuE4wfK|gf~fFNwizqWfli{3iBlRq4!ez0uk1yMrmX1$fkxw=5(A`<{J}1# zqKsGrr(5Z&thyv|JCdBj(BWY8kJQ0#YC@98sW^ROAp#5wKz2%wmj1l^iE}FlC&ZL1 zm8!np1ao&ev9C5FZd{laf+b^S-r$=k`K8mVB-9^c1{jB9^sFiJVSRm6mb>@)TA!VM z45RMohHzmXiTK5&F$4-eJi`L^&WZ3Yed)AkKB014$q!ZLq3UI7+^-8?l3661*M!0s zCZe5bqcT{Tk$+B~n()HyoY<1Q(;|GvjqAF6dI4#Bf;<68SD2+L_&Ce#$VpOLA$>4R z;RBxFA=y)QS2Hyyelu?T)6#H6-ARhT3}__$(qlAFA0oj_jKCwtPToWzHPxj&>Z$~g z+F`m4eofuenOnP+~OpY$c$FBs+i-(SYIxqI~O9JKP}nXSj|U4r-Ro^I0qJ zsT@y1E3S{bkS3iT3VIKRrlAv-Z1E+zbs%7^j7K zd&{`a^1jJs{wAz2Wqj4c=gHKjgCb5$V&+F9Js+Y(V|RJp+#b8WbMB;zq5^R5oQ4+Q zsdbM11%zR^K>Wvsz&4WJ$~mp{7VFF>B1M>;a6)G_YB>ip;REO!5#uC)ew7A20<)pC zgtp*nIBL^}r{|B5qX8%+?IDckV*iQvT#r{QIdDCb*`{SHOWiy2WX29E7A{DJX6?ST zMe8}l?vWYb8=^+r;(ei#=jUE7K+paj#yK|w{1Ze06E0$aM4dc4b!t5l%T3lqQ~!O- zq5ru$MIFTInaEF6pClR1QlSQgFdgD$2Y#|)W!-;vL9a_f-h`w2b~e4TDWi*fge)Vg z<-}$U4w8f8(}(HV9`@k|Zl|aL55eT@%kKuzziN(QFShYbb?=ej8)>Kis5=o*#5A3> ztOp6RSffz@z)qh>UH`CD+?eQ4>SncS3ss|0g9mW;oYNKc@Q0y}ldI@*jiwQM?o`6DsW8M!R(M@1{?}_eED|})rBQ~#^T3|On_zmGG>PP> zlil_M{a?R;u8Bj16U)b%zS;|W6N`?;>|8l=o_j-)f+32Ri!@WsfGN}pDunZYvS#qT zok5Q%OK-oN6;WMu$>c&_!-=N54qb%lwEwmk*iONs34jCm@F%{kM~8_pHytd^OZ`1h z0Ggi9MWpW)7a!at=n3?R&5ZeVYp|Dgh-3_=e5lR|v8}=k@r-MNXJ5N5U8L--#Dp*4 z1vb9b7+5*N^R*Yz(DBiI{j&HqOKJQ|V1mY;kZ_F~-74MVs#m*BZUl+}!!Yi>Wa}{5 z6PSS5<~%r)&v?VP(GBOb&&YX8PCYP#a;*bN3bi;A>yU z-*-5>gr{vD*kYcdGpv)=9uy_Zy3?ms!nUz1#)2Ia`IESQgrv~SQVboiS5U=sni